<!--授权日志-->
<template>
  <div class="application">
    <div class="application-page" v-if="pageType == 1">
      <div class="title-box">
        <div @click="titleClick(1)">
          <p>门禁授权</p>
          <p></p>
        </div>
        <div @click="titleClick(2)">
          <p>授权日志</p>
          <p class="bottom-p-color"></p>
        </div>
      </div>
      <div class="application-min">
        <el-form :model="queryParamsData" ref="queryForm" :inline="true">
          <el-form-item label="关键字" prop="searchValue" label-width="68px">
            <el-input
              maxlength="20"
              v-model="queryParamsData.searchValue"
              placeholder="姓名/实验室"
              clearable
              size="small"/>
          </el-form-item>
<!--          <el-form-item label="状态" prop="status" label-width="50px">-->
<!--            <el-select v-model="queryParamsData.operate" clearable placeholder="请选择状态">-->
<!--              <el-option-->
<!--                v-for="item in optionsListTwo"-->
<!--                :key="item.code"-->
<!--                :label="item.name"-->
<!--                :value="item.code">-->
<!--              </el-option>-->
<!--            </el-select>-->
<!--          </el-form-item>-->
          <el-form-item>
            <p class="inquire-button-one" @click="handleQuery" style="margin-right:10px;">查询</p>
            <p class="reset-button-one" @click="resetQuery">重置</p>
          </el-form-item>
        </el-form>
        <el-table v-loading="loading" border :data="tableList">
          <el-table-column label="名称" align="center" prop="nickName" show-overflow-tooltip/>
          <el-table-column label="类别" align="center" prop="userType" show-overflow-tooltip/>
          <el-table-column label="门禁" align="center" prop="hardName" show-overflow-tooltip/>
          <el-table-column label="实验室" align="center" prop="subName" show-overflow-tooltip/>
          <el-table-column label="实验室所属学院" align="center" prop="deptName" show-overflow-tooltip/>
          <el-table-column label="实验室位置" align="center" prop="posi"  width="160px" show-overflow-tooltip/>
          <el-table-column label="操作内容" align="center" prop="remark"  width="160px" show-overflow-tooltip/>
          <el-table-column label="操作时间" align="center" prop="createTime"  width="160px" show-overflow-tooltip/>
          <el-table-column label="操作人" align="center" prop="createBy"  width="160px" show-overflow-tooltip/>
        </el-table>
        <pagination :page-sizes="[20, 30, 40, 50]"
                    v-show="total>0"
                    :total="total"
                    :page.sync="queryParamsData.pageNum"
                    :limit.sync="queryParamsData.pageSize"
                    @pagination="getList"/>
      </div>
    </div>
    <addPage v-if="pageType == 2"></addPage>
  </div>
</template>

<script>
import { applyList, entranceUserLogList } from '@/api/laboratory/subject'
  import addPage from "./addPage.vue";
  export default {
    name: "application",
    components: {
      addPage
    },
    data(){
      return{
        pageType:1,
        // table操作按钮校验
        tableButtonType:this.hasPermiDom(['system:user_student:query','system:user_student:query']),
        loading:false,
        // 搜索数据
        queryParamsData:{
          pageNum:1,
          pageSize:20,
          searchValue:'',
          operate:'',
        },
        // 搜索实际发送数据
        queryParams:{
          pageNum:1,
          pageSize:20,
        },
        dateRange:[],
        //数据数量
        total:10,
        tableList:[],
        //审批状态
        optionsListTwo:[{code:null,name:'全部'},{code:0,name:'离线'},{code:2,name:'在线'}],
      }
    },
    created() {

    },
    mounted(){
      this.getList();
    },
    methods:{
      titleClick(type){
        this.$parent.titleClick(type);
      },
      //页面状态切换
      goPageButton(type){
        if(type == 1){
          this.pageType = 1;
        }else if(type == 2){
          this.pageType = 2;
        }else if(type == 3){
          this.resetQuery();
          this.pageType = 1;
        }
      },
      /** 搜索按钮操作 */
      handleQuery() {
        this.queryParamsData.pageNum = 1;
        this.queryParamsData.pageSize = 20;
        this.getList();
      },
      /** 重置按钮操作 */
      resetQuery() {
        this.$set(this,'queryParamsData',{});
        this.$set(this,'dateRange',[]);
        this.handleQuery();
      },
      //获取数据列表
      getList(){
        if(this.dateRange&&this.dateRange.length>0) {
          this.queryParamsData.startTime = this.dateRange[0];
          this.queryParamsData.endTime = this.dateRange[1];
        } else {
          this.queryParamsData.startTime = null;
          this.queryParamsData.endTime = null;
        }
        entranceUserLogList(this.queryParamsData).then(response => {
          this.tableList = response.rows;
          this.total = response.total
        });
      },
    }
  }
</script>

<style scoped lang="scss">
  .application{
    flex:1;
    display: flex;
    flex-direction: column;
    .application-page{
      flex:1;
      display: flex;
      flex-direction: column;
      overflow: hidden;
      .title-box{
        display: flex;
        border-bottom:1px solid #E0E0E0;
        margin-bottom:20px;
        div{
          height:80px;
          margin-right:20px;
          cursor: pointer;
          p:nth-child(1){
            font-size:18px;
            text-align: center;
            padding:0 20px;
            margin-top:26px;
          }
          p:nth-child(2){
            width:40px;
            height:4px;
            border-radius:40px;
            margin:12px auto;
          }
          .top-p-color{
            color: #0045AF;
          }
          .bottom-p-color{
            background: #0045AF;
          }
        }
        .buttonTitleColorA{
          color:#0045AF;
        }
        .buttonTitleColorB{
          color:#999999;
        }
      }
      .application-min{
        flex:1;
        display: flex;
        flex-direction: column;
        overflow: hidden;
        margin:0 20px!important;
        .button-box{
          display: flex;
        }
      }
    }
  }

</style>
