luoyb
2021-04-27 1cab74c1a81df1160f11745b9a53142a21b99d73
src/views/yunpan/fujian.vue
@@ -1,666 +1,986 @@
<template>
  <div>
    <el-container>
      <el-header :height="headerHeight">
        <el-row>
          <el-col :span="16">
            <h3 class="bu-tian-jia-title">离职员工</h3>
          </el-col>
          <el-col :span="8">
            <el-input v-model="input" placeholder="请输入内容" style="width:200px" />
            <el-button type="primary">查询</el-button>
            <el-button type="danger" @click="advancedQueryShowMethods">高级查询</el-button>
          </el-col>
        </el-row>
        <el-row>
          <el-col :span="24">
            <el-button type="danger">新建标签</el-button>
            <el-button type="primary">删除标签</el-button>
            <el-button type="danger">删除附件</el-button>
            <el-button type="danger">下载</el-button>
          </el-col>
        </el-row>
        <div v-show="advancedQueryShow">
          <form>
            <el-row>
              <el-col :span="3">员工编号:
                <el-input v-model="input" placeholder="请输入内容" style="width:80px" />
              </el-col>
              <el-col :span="3">姓名:
                <el-input v-model="input" placeholder="请输入内容" style="width:80px" />
              </el-col>
              <el-col :span="3">身份证号:
                <el-input v-model="input" placeholder="请输入内容" style="width:80px" />
              </el-col>
              <el-col :span="3">所属部门:
                <el-input v-model="input" placeholder="请输入内容" style="width:80px" />
              </el-col>
              <el-col :span="4">入职日期:从 :
                <el-input v-model="input" placeholder="请输入内容" style="width:80px" />
              </el-col>
              <el-col :span="3">到:
                <el-input v-model="input" placeholder="请输入内容" style="width:80px" />
              </el-col>
              <el-col :span="4">
                <el-button type="primary">查询</el-button>
                <el-button type="danger">重置</el-button>
              </el-col>
            </el-row>
            <el-row>
              <el-col :span="24">
                <table id="searchTable">
                  <tr>
                    <td>性别:</td>
                    <td>
                      <el-radio-group v-model="radio">
                        <el-radio :label="3">全部</el-radio>
                        <el-radio :label="6">男性</el-radio>
                        <el-radio :label="9">女性</el-radio>
                      </el-radio-group>
                    </td>
                  </tr>
                  <tr>
                    <td>最高学历:</td>
                    <td>
                      <el-radio-group v-model="radio">
                        <el-radio :label="3">全部</el-radio>
                        <el-radio :label="6">初中</el-radio>
                        <el-radio :label="9">高中</el-radio>
                        <el-radio :label="9">大专</el-radio>
                        <el-radio :label="9">本科</el-radio>
                        <el-radio :label="9">硕士</el-radio>
                        <el-radio :label="9">博士</el-radio>
                      </el-radio-group>
                    </td>
                  </tr>
                  <tr>
                    <td>政治面貌:</td>
                    <td>
                      <el-radio-group v-model="radio">
                        <el-radio :label="3">全部</el-radio>
                        <el-radio :label="6">党员</el-radio>
                        <el-radio :label="9">团员</el-radio>
                        <el-radio :label="9">群众</el-radio>
                      </el-radio-group>
                    </td>
                  </tr>
                  <tr>
                    <td>入职日期:</td>
                    <td>
                      <el-radio-group v-model="radio">
                        <el-radio :label="3">全部</el-radio>
                      </el-radio-group>
                    </td>
                  </tr>
                  <tr>
                    <td>年龄:</td>
                    <td>
                      <el-radio-group v-model="radio">
                        <el-radio :label="3">全部</el-radio>
                        <el-radio :label="6">18-29</el-radio>
                        <el-radio :label="9">30-39</el-radio>
                        <el-radio :label="9">40-49</el-radio>
                        <el-radio :label="9">50-59</el-radio>
                        <el-radio :label="9">60-69</el-radio>
                        <el-radio :label="9">69及以上</el-radio>
                      </el-radio-group>
                    </td>
                  </tr>
                  <tr>
                    <td>档案情况:</td>
                    <td>
                      <el-radio-group v-model="radio">
                        <el-radio :label="3">全部</el-radio>
                        <el-radio :label="6">已移交</el-radio>
                        <el-radio :label="9">未移交</el-radio>
                      </el-radio-group>
                    </td>
                  </tr>
                  <tr>
                    <td>保险类型:</td>
                    <td>
                      <el-radio-group v-model="radio">
                        <el-radio :label="3">全部</el-radio>
                        <el-radio :label="6">深户(五险一档)</el-radio>
                      </el-radio-group>
                    </td>
                  </tr>
                </table>
              </el-col>
            </el-row>
          </form>
        </div>
      </el-header>
      <el-container>
        <el-main>
          <el-table :data="tableData" style="width: 100%">
            <el-table-column prop="prop0" label="" width="180" />
            <el-table-column prop="prop1" label="操作" width="180" />
            <el-table-column prop="prop2" label="姓名" width="180" />
            <el-table-column prop="prop3" label="身份证号" width="180" />
            <el-table-column prop="prop4" label="所属部门" width="180" />
            <el-table-column prop="prop5" label="岗位" width="180" />
            <el-table-column prop="prop6" label="记录截图" width="180" />
            <el-table-column prop="prop7" label="照片" width="180" />
            <el-table-column prop="prop8" label="劳动合同" width="180" />
            <el-table-column prop="prop9" label="身份证" width="180" />
            <el-table-column prop="prop10" label="入职表" width="180" />
            <el-table-column prop="prop11" label="体检表" width="180" />
            <el-table-column prop="prop12" label="回执" width="180" />
            <el-table-column prop="prop13" label="银行卡" width="180" />
            <el-table-column prop="prop14" label="证件" width="180" />
            <el-table-column prop="prop15" label="合同相关" width="180" />
            <el-table-column prop="prop16" label="请假" width="180" />
            <el-table-column prop="prop17" label="处罚" width="180" />
            <el-table-column prop="prop18" label="辞职申请" width="180" />
            <el-table-column prop="prop19" label="离职手续" width="180" />
            <el-table-column prop="prop20" label="自离" width="180" />
            <el-table-column prop="prop21" label="社保" width="180" />
            <el-table-column prop="prop22" label="失业金" width="180" />
            <el-table-column prop="prop23" label="意外险" width="180" />
            <el-table-column prop="prop24" label="工伤" width="180" />
            <el-table-column prop="prop25" label="劳资" width="180" />
          </el-table>
        </el-main>
      </el-container>
    </el-container>
  </div>
</template>
<script>
  export default {
    data() {
      return {
        headerHeight: '70px',
        advancedQueryShow: false,
        dialogTableVisible: false,
        tableData: [{
          "prop0": "",
          "prop1": "上传",
          "prop2": "赵建国",
          "prop3": "510304197402225813",
          "prop4": "一分公司",
          "prop5": "保安员",
          "prop6": "1",
          "prop7": "1",
          "prop8": "5",
          "prop9": "1",
          "prop10": "5",
          "prop11": "1",
          "prop12": "1",
          "prop13": "1",
          "prop14": "5",
          "prop15": "1",
          "prop16": "5",
          "prop17": "1",
          "prop18": "5",
          "prop19": "5",
          "prop20": "1",
          "prop21": "5",
          "prop22": "1",
          "prop23": "5",
          "prop24": "1",
          "prop25": "5"
        }, {
          "prop0": "",
          "prop1": "上传",
          "prop2": "罗启艳",
          "prop3": "41272619740120543X",
          "prop4": "一分公司",
          "prop5": "保安员",
          "prop6": "1",
          "prop7": "1",
          "prop8": "4",
          "prop9": "1",
          "prop10": "4",
          "prop11": "1",
          "prop12": "1",
          "prop13": "1",
          "prop14": "4",
          "prop15": "1",
          "prop16": "4",
          "prop17": "1",
          "prop18": "4",
          "prop19": "4",
          "prop20": "1",
          "prop21": "4",
          "prop22": "1",
          "prop23": "4",
          "prop24": "1",
          "prop25": "4"
        }, {
          "prop0": "",
          "prop1": "上传",
          "prop2": "毛玉平",
          "prop3": "522528198202071629",
          "prop4": "一分公司",
          "prop5": "保安员",
          "prop6": "1",
          "prop7": "1",
          "prop8": "3",
          "prop9": "1",
          "prop10": "3",
          "prop11": "1",
          "prop12": "1",
          "prop13": "1",
          "prop14": "3",
          "prop15": "1",
          "prop16": "3",
          "prop17": "1",
          "prop18": "3",
          "prop19": "3",
          "prop20": "1",
          "prop21": "3",
          "prop22": "1",
          "prop23": "3",
          "prop24": "1",
          "prop25": "3"
        }, {
          "prop0": "",
          "prop1": "上传",
          "prop2": "梅均均",
          "prop3": "510504198704260927",
          "prop4": "一分公司",
          "prop5": "保安员",
          "prop6": "1",
          "prop7": "1",
          "prop8": "3",
          "prop9": "1",
          "prop10": "3",
          "prop11": "1",
          "prop12": "1",
          "prop13": "1",
          "prop14": "3",
          "prop15": "1",
          "prop16": "3",
          "prop17": "1",
          "prop18": "3",
          "prop19": "3",
          "prop20": "1",
          "prop21": "3",
          "prop22": "1",
          "prop23": "3",
          "prop24": "1",
          "prop25": "3"
        }, {
          "prop0": "",
          "prop1": "上传",
          "prop2": "王香妮",
          "prop3": "433122199508091511",
          "prop4": "一分公司",
          "prop5": "保安员",
          "prop6": "1",
          "prop7": "2",
          "prop8": "3",
          "prop9": "1",
          "prop10": "3",
          "prop11": "1",
          "prop12": "1",
          "prop13": "2",
          "prop14": "3",
          "prop15": "1",
          "prop16": "3",
          "prop17": "1",
          "prop18": "3",
          "prop19": "3",
          "prop20": "1",
          "prop21": "3",
          "prop22": "1",
          "prop23": "3",
          "prop24": "1",
          "prop25": "3"
        }, {
          "prop0": "",
          "prop1": "上传",
          "prop2": "易金洪",
          "prop3": "610424198306152860",
          "prop4": "一分公司",
          "prop5": "保安员",
          "prop6": "1",
          "prop7": "1",
          "prop8": "4",
          "prop9": "1",
          "prop10": "4",
          "prop11": "1",
          "prop12": "1",
          "prop13": "1",
          "prop14": "4",
          "prop15": "1",
          "prop16": "4",
          "prop17": "1",
          "prop18": "4",
          "prop19": "4",
          "prop20": "1",
          "prop21": "4",
          "prop22": "1",
          "prop23": "4",
          "prop24": "1",
          "prop25": "4"
        }, {
          "prop0": "",
          "prop1": "上传",
          "prop2": "李忠敏",
          "prop3": "511123198602016016",
          "prop4": "一分公司",
          "prop5": "保安员",
          "prop6": "1",
          "prop7": "1",
          "prop8": "5",
          "prop9": "1",
          "prop10": "5",
          "prop11": "1",
          "prop12": "1",
          "prop13": "1",
          "prop14": "5",
          "prop15": "1",
          "prop16": "5",
          "prop17": "1",
          "prop18": "5",
          "prop19": "5",
          "prop20": "1",
          "prop21": "5",
          "prop22": "1",
          "prop23": "5",
          "prop24": "1",
          "prop25": "5"
        }, {
          "prop0": "",
          "prop1": "上传",
          "prop2": "徐健",
          "prop3": "512927197202166053",
          "prop4": "一分公司",
          "prop5": "保安员",
          "prop6": "1",
          "prop7": "1",
          "prop8": "6",
          "prop9": "1",
          "prop10": "6",
          "prop11": "1",
          "prop12": "1",
          "prop13": "1",
          "prop14": "6",
          "prop15": "1",
          "prop16": "6",
          "prop17": "1",
          "prop18": "6",
          "prop19": "6",
          "prop20": "1",
          "prop21": "6",
          "prop22": "1",
          "prop23": "6",
          "prop24": "1",
          "prop25": "6"
        }, {
          "prop0": "",
          "prop1": "上传",
          "prop2": "曾昌玖",
          "prop3": "510322197606103351",
          "prop4": "一分公司",
          "prop5": "经理",
          "prop6": "1",
          "prop7": "1",
          "prop8": "3",
          "prop9": "1",
          "prop10": "3",
          "prop11": "1",
          "prop12": "1",
          "prop13": "1",
          "prop14": "3",
          "prop15": "1",
          "prop16": "3",
          "prop17": "1",
          "prop18": "3",
          "prop19": "3",
          "prop20": "1",
          "prop21": "3",
          "prop22": "1",
          "prop23": "3",
          "prop24": "1",
          "prop25": "3"
        }, {
          "prop0": "",
          "prop1": "上传",
          "prop2": "赵高",
          "prop3": "511123197510263074",
          "prop4": "一分公司",
          "prop5": "保安员",
          "prop6": "1",
          "prop7": "1",
          "prop8": "2",
          "prop9": "1",
          "prop10": "2",
          "prop11": "1",
          "prop12": "1",
          "prop13": "1",
          "prop14": "2",
          "prop15": "1",
          "prop16": "2",
          "prop17": "1",
          "prop18": "2",
          "prop19": "2",
          "prop20": "1",
          "prop21": "2",
          "prop22": "1",
          "prop23": "2",
          "prop24": "1",
          "prop25": "2"
        }, {
          "prop0": "",
          "prop1": "上传",
          "prop2": "王忠山",
          "prop3": "522426199904290419",
          "prop4": "一分公司",
          "prop5": "主管",
          "prop6": "1",
          "prop7": "1",
          "prop8": "1",
          "prop9": "1",
          "prop10": "1",
          "prop11": "1",
          "prop12": "1",
          "prop13": "1",
          "prop14": "1",
          "prop15": "1",
          "prop16": "1",
          "prop17": "1",
          "prop18": "1",
          "prop19": "1",
          "prop20": "1",
          "prop21": "1",
          "prop22": "1",
          "prop23": "1",
          "prop24": "1",
          "prop25": "1"
        }, {
          "prop0": "",
          "prop1": "上传",
          "prop2": "严福林",
          "prop3": "433130197205180710",
          "prop4": "一分公司",
          "prop5": "经理",
          "prop6": "1",
          "prop7": "1",
          "prop8": "2",
          "prop9": "1",
          "prop10": "2",
          "prop11": "1",
          "prop12": "1",
          "prop13": "1",
          "prop14": "2",
          "prop15": "1",
          "prop16": "2",
          "prop17": "1",
          "prop18": "2",
          "prop19": "2",
          "prop20": "1",
          "prop21": "2",
          "prop22": "1",
          "prop23": "2",
          "prop24": "1",
          "prop25": "2"
        }, {
          "prop0": "",
          "prop1": "上传",
          "prop2": "叶金云",
          "prop3": "512923197703020639",
          "prop4": "一分公司",
          "prop5": "保安员",
          "prop6": "1",
          "prop7": "1",
          "prop8": "2",
          "prop9": "1",
          "prop10": "2",
          "prop11": "1",
          "prop12": "1",
          "prop13": "1",
          "prop14": "2",
          "prop15": "1",
          "prop16": "2",
          "prop17": "1",
          "prop18": "2",
          "prop19": "2",
          "prop20": "1",
          "prop21": "2",
          "prop22": "1",
          "prop23": "2",
          "prop24": "1",
          "prop25": "2"
        }],
        data: [{
            label: '一级 1',
            children: [{
              label: '二级 1-1',
              children: [{
                label: '三级 1-1-1'
              }]
            }]
          },
          {
            label: '一级 2',
            children: [{
                label: '二级 2-1',
                children: [{
                  label: '三级 2-1-1'
                }]
              },
              {
                label: '二级 2-2',
                children: [{
                  label: '三级 2-2-1'
                }]
              }
            ]
          },
          {
            label: '一级 3',
            children: [{
                label: '二级 3-1',
                children: [{
                  label: '三级 3-1-1'
                }]
              },
              {
                label: '二级 3-2',
                children: [{
                  label: '三级 3-2-1'
                }]
              }
            ]
          }
        ],
        defaultProps: {
          children: 'children',
          label: 'label'
        }
      }
    },
    methods: {
      handleNodeClick(data) {
        console.log(data)
      },
      advancedQueryShowMethods() {
        if (this.advancedQueryShow) {
          this.headerHeight = '70px'
          this.advancedQueryShow = false
        } else {
          this.headerHeight = '300px'
          this.advancedQueryShow = true
        }
      },
      showEmpInfo() {
        this.dialogTableVisible = true
      }
    }
  }
</script>
<style lang="scss">
  .el-aside {
    padding: 20px;
    background: #f3f5f8;
    height: 600px;
    .el-tree {
      height: 100%;
    }
  }
  .el-main {
    height: 600px;
  }
  #searchTable {
    margin-top: 10px;
    border-collapse: collapse;
    width: 100%;
  }
  #searchTable td,
  #searchTable th {
    border: 1px solid #cad9ea;
    color: #666;
    height: 30px;
  }
  #ygxq table {
    border-collapse: collapse;
    margin: 0 auto;
    text-align: center;
    width: 100%;
    margin-top: 20px;
  }
  #ygxq table td,
  #ygxq table th {
    border: 1px solid #DDDCDC;
    color: #666;
    height: 30px;
  }
  #ygxq table thead th {
    background-color: #CCE8EB;
    width: 100px;
  }
  #ygxq table tr:nth-child(odd) {
    background: #fff;
  }
  #ygxq table tr:nth-child(even) {
    background: #F5FAFA;
  }
  .tdTitle {
    font-size: 14px;
    font-weight: 700;
    text-align: left;
  }
  .link_button {
    color: #169BD5;
  }
  .del_button {
    color: #D9001B;
  }
<template>
  <div style="background-color: #fff;height: 100%;">
    <el-container>
      <el-header :height="headerHeight">
        <el-row class="search-title">
          <el-col :span="16" class="title">
            <div class="zs-title">附件管理</div>
          </el-col>
          <el-col :span="8" class="search">
            <el-input v-model="basic" class="input-empName" maxlength="18" size="medium" style="width:220px" />
            <span class="search-btn" @click="findEmpAccessory">查询</span>
            <span class="sup-search-btn" @click="advancedQueryShowMethods">高级查询</span>
          </el-col>
        </el-row>
        <el-form v-show="advancedQueryShow" ref="queryform" :model="queryform">
          <el-row style="margin: 10px 0px;">
            <el-col :span="4">员工编号:
              <el-input v-model="queryform.empNumb" size="small" maxlength="20" style="width:140px" />
            </el-col>
            <el-col :span="4">姓名:
              <el-input v-model="queryform.empName" size="small" maxlength="10" style="width:140px" />
            </el-col>
            <el-col :span="4">身份证号:
              <el-input v-model="queryform.certificateNumb" size="small" maxlength="18" style="width:140px" />
            </el-col>
            <el-col :span="4">护卫点:
              <el-input v-model="queryform.deptName" size="small" maxlength="20" style="width:140px" />
            </el-col>
            <el-col :span="8">入职日期:
              <el-date-picker
                v-model="queryform.entryDate"
                size="small"
                type="daterange"
                align="right"
                unlink-panels
                range-separator="至"
                value-format="yyyy-MM-dd"
                start-placeholder="开始日期"
                end-placeholder="结束日期"
                :picker-options="pickerOptions"
              />
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="20">
              文件名:
              <el-input v-model="queryform.fileName" size="small" maxlength="20" style="width:140px" />
            </el-col>
            <el-col :span="4">
              <el-button size="mini" class="hr-but-all" type="primary" @click="findEmpAccessoryAll()">查询</el-button>
              <el-button size="mini" class="hr-but" type="danger" @click="resetQueryform()">重置</el-button>
            </el-col>
          </el-row>
          <el-row>
            <el-col :span="24">
              <table id="searchTable" class="searchTable">
                <tr>
                  <td class="td">性别:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryform.sex" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllSex">全部</el-checkbox>
                      <el-checkbox
                        v-for="data in sexOptions"
                        :key="data.dicItemName"
                        :label="data.dicItemCode"
                      >
                        {{ data.dicItemName }}
                      </el-checkbox>
                    </el-checkbox-group>
                  </td>
                </tr>
                <tr>
                  <td class="td">最高学历:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryform.education" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllEducation">全部</el-checkbox>
                      <el-checkbox
                        v-for="data in educationOptions"
                        :key="data.dicItemName"
                        :label="data.dicItemCode"
                      >
                        {{ data.dicItemName }}
                      </el-checkbox>
                    </el-checkbox-group>
                  </td>
                </tr>
                <tr>
                  <td class="td">政治面貌:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryform.politics" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllPolitics">全部</el-checkbox>
                      <el-checkbox
                        v-for="data in statusOptions"
                        :key="data.dicItemName"
                        :label="data.dicItemCode"
                      >
                        {{ data.dicItemName }}
                      </el-checkbox>
                    </el-checkbox-group>
                  </td>
                </tr>
                <tr>
                  <td class="td">年龄:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryform.age" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllAgeStr">全部</el-checkbox>
                      <el-checkbox
                        v-for="data in ageStrOptions"
                        :key="data.dicItemName"
                        :label="data.dicItemCode"
                      >
                        {{ data.dicItemName }}
                      </el-checkbox>
                    </el-checkbox-group>
                  </td>
                </tr>
                <tr>
                  <td class="td">档案情况:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryform.archivesStatus" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllArchivesStatus">全部</el-checkbox>
                      <el-checkbox
                        v-for="data in archivesStatusOptions"
                        :key="data.dicItemName"
                        :label="data.dicItemCode"
                      >
                        {{ data.dicItemName }}
                      </el-checkbox>
                    </el-checkbox-group>
                  </td>
                </tr>
                <tr>
                  <td class="td">社保档位:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryform.insuranceType" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllInsuranceType">全部</el-checkbox>
                      <el-checkbox
                        v-for="data in insuranceTypeOptions"
                        :key="data.dicItemName"
                        :label="data.dicItemCode"
                      >
                        {{ data.dicItemName }}
                      </el-checkbox>
                    </el-checkbox-group>
                  </td>
                </tr>
                <tr>
                  <td class="td">员工状态:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryform.empStatus" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllEmpStatus">全部</el-checkbox>
                      <el-checkbox label="0">在职</el-checkbox>
                      <el-checkbox label="1">离职</el-checkbox>
                      <el-checkbox label="2">退休</el-checkbox>
                    </el-checkbox-group>
                  </td>
                </tr>
                <tr>
                  <td class="td">工作证:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryform.empCardStatus" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllEmpCardStatus">全部</el-checkbox>
                      <el-checkbox
                        v-for="data in empCardStatusOptions"
                        :key="data.dicItemName"
                        :label="data.dicItemCode"
                      >
                        {{ data.dicItemName }}
                      </el-checkbox>
                    </el-checkbox-group>
                  </td>
                </tr>
                <tr>
                  <td class="td">员工手册:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryform.handbookStatus" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllHandbookStatus">全部</el-checkbox>
                      <el-checkbox
                        v-for="data in handbookStatusOptions"
                        :key="data.dicItemName"
                        :label="data.dicItemCode"
                      >
                        {{ data.dicItemName }}
                      </el-checkbox>
                    </el-checkbox-group>
                  </td>
                </tr>
                <tr>
                  <td class="td">员工类型:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryform.empType" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllEmpType">全部</el-checkbox>
                      <el-checkbox
                        v-for="data in empTypeOptions"
                        :key="data.dicItemName"
                        :label="data.dicItemCode"
                      >
                        {{ data.dicItemName }}
                      </el-checkbox>
                    </el-checkbox-group>
                  </td>
                </tr>
                <tr>
                  <td class="td">入职类型:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryform.entryType" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllEntryType">全部</el-checkbox>
                      <el-checkbox :label="4">新入职</el-checkbox>
                      <el-checkbox :label="5">最新入职</el-checkbox>
                      <el-checkbox :label="6">返聘入职</el-checkbox>
                    </el-checkbox-group>
                  </td>
                </tr>
                <tr>
                  <td class="td">相关证件:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryform.certificateList" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllCertificateList">全部</el-checkbox>
                      <el-checkbox
                        v-for="data in certificateListOptions"
                        :key="data.dicItemName"
                        :label="data.dicItemCode"
                      >
                        {{ data.dicItemName }}
                      </el-checkbox>
                    </el-checkbox-group>
                  </td>
                </tr>
              </table>
            </el-col>
          </el-row>
        </el-form>
      </el-header>
      <el-main style="height: 85vh;">
        <el-row style="margin-bottom: 10px;height: 40px;">
          <el-col :span="24">
            <el-button class="hr-but-all" type="danger" @click="dialogFormVisible = true">新建标签</el-button>
            <el-button type="primary" @click="deldialogFormVisible = true">删除标签</el-button>
            <el-button class="hr-but-all" type="danger" @click="downloaddialogFormVisible = true">下载附件</el-button>
            <el-dialog
              title="新建标签"
              :visible.sync="dialogFormVisible"
              width="25%"
              class="add-label"
            >
              <el-form ref="labelform" :model="labelform" :rules="rules">
                <el-form-item
                  label="标签名称:"
                  :label-width="formLabelWidth"
                  prop="labelname"
                >
                  <el-input v-model="labelform.labelname" autocomplete="off" />
                </el-form-item>
                <el-form-item
                  label="标签code:"
                  :label-width="formLabelWidth"
                  prop="labelcode"
                >
                  <el-input v-model="labelform.labelcode" autocomplete="off" />
                </el-form-item>
                <el-form-item label="标签排序:" :label-width="formLabelWidth" prop="sort">
                  <el-input-number
                    v-model="labelform.sort"
                    :min="0"
                    :max="100"
                    label="排序"
                  />
                </el-form-item></el-form>
              <div slot="footer" class="dialog-footer">
                <el-button @click="dialogFormVisible = false">取 消</el-button>
                <el-button
                  type="primary"
                  @click="addlabel('labelform')"
                >确 定</el-button>
              </div>
            </el-dialog>
            <el-dialog
              title="删除标签"
              :visible.sync="deldialogFormVisible"
              width="25%"
              class="add-label"
            >
              <el-form ref="dellabelform" :model="labelform" :rules="delrules">
                <el-form-item
                  label="标签名称:"
                  :label-width="formLabelWidth"
                  prop="labelid"
                >
                  <el-select v-model="labelform.labelid" placeholder="请选择标签名称">
                    <el-option
                      v-for="item in labelData"
                      :key="item.labelid"
                      :value="item.labelid"
                      :label="item.labelname"
                    />
                  </el-select>
                </el-form-item>
              </el-form>
              <div slot="footer" class="dialog-footer">
                <el-button @click="deldialogFormVisible = false">取 消</el-button>
                <el-button
                  type="primary"
                  @click="dellabel('dellabelform')"
                >确 定</el-button>
              </div>
            </el-dialog>
            <el-dialog
              title="下载附件"
              :visible.sync="downloaddialogFormVisible"
              width="25%"
              class="add-label"
            >
              <el-form ref="dellabelform" :model="labelform" :rules="delrules">
                <el-form-item
                  label="标签名称:"
                  :label-width="formLabelWidth"
                  prop="labelid"
                >
                  <el-select v-model="labelform.labelid" placeholder="请选择标签名称">
                    <el-option
                      key="-1"
                      value="-1"
                      label="全部"
                    />
                    <el-option
                      v-for="item in labelData"
                      :key="item.labelid"
                      :value="item.labelid"
                      :label="item.labelname"
                    />
                  </el-select>
                </el-form-item>
              </el-form>
              <div slot="footer" class="dialog-footer">
                <el-button @click="downloaddialogFormVisible = false">取 消</el-button>
                <el-button
                  type="primary"
                  @click="downloadlabel('dellabelform')"
                >确 定</el-button>
              </div>
            </el-dialog>
          </el-col>
        </el-row>
        <el-dialog title="附件管理" :visible.sync="dialogShowUploadfj" height="100vh" fullscreen class="fjgl-class" @close="closeDialog()">
          <uploadfj v-if="dialogShowUploadfj" :rowitem="rowitem" :tableindex="tableindex" />
        </el-dialog>
        <el-row>
          <el-col :span="21" style="line-height: 50px;">
            已为您搜索出<span style="color:red">{{ total }}</span>条符合条件的记录
          </el-col>
        </el-row>
        <el-table
          ref="empAccessoryTable"
          :data="tableData"
          stripe
          border
          :cell-style="{padding:'4.8px 0','text-align':'center'}"
          :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}"
          style="width: 100%;color: #000;"
          @sort-change="changeSort"
        >
          <el-table-column
            type="selection"
            width="55"
          />
          <el-table-column label="操作" width="80">
            <template slot-scope="scope">
              <span
                style="color: #a00515;display: inline-block;width: 50%;cursor: pointer"
                @click="dialogShow(scope.$index, scope.row)"
              >上传</span>
            </template>
          </el-table-column>
          <el-table-column show-overflow-tooltip prop="empNumb" label="编号" width="90px" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="deptName" label="护卫点(部门)" width="140px" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="jobName" label="岗位" width="90px" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="certificateNumb" label="身份证号码" width="180px" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="empName" label="姓名" width="90px" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <template v-for="(col) in labelData">
            <el-table-column :key="col.labelid" show-overflow-tooltip :prop="col.labelcode" :label="col.labelname">
              <template slot-scope="scope">
                <el-link type="primary" :class="{ number: scope.row[col.labelcode] !== 0}" @click.native="dialogShow(scope.$index, scope.row, scope.column.property)"> {{ scope.row[col.labelcode] }}</el-link>
              </template>
            </el-table-column>
          </template>
        </el-table>
        <pagination
          v-show="total>0"
          style="text-align: right;width: 98%;"
          :total="total"
          :page.sync="pagination.num"
          :limit.sync="pagination.size"
          @pagination="search"
        />
      </el-main>
    </el-container>
  </div>
</template>
<script>
import Pagination from '@/components/Pagination'
import { Loading } from 'element-ui'
export default {
  components: {
    Pagination
  },
  data() {
    return {
      sort: {}, // 排序
      queryCheckAll: {
        sexcheckAll: false,
        sexisIndeterminate: true
      },
      downloaddialogFormVisible: false,
      deldialogFormVisible: false,
      formLabelWidth: '100px',
      dialogFormVisible: false,
      labelform: {
        labelname: '',
        labelid: '',
        labelcode: '',
        empIds: '',
        sort: 0
      },
      rules: {
        labelname: [
          { required: true, message: '请输入标签名称', trigger: 'blur' },
          { min: 2, max: 10, message: '长度在 2 到 10 个字符', trigger: 'blur' }
        ],
        labelcode: [
          { required: true, message: '请输入标签code', trigger: 'blur' },
          { min: 3, max: 10, message: '长度在 3 到 20 个字符', trigger: 'blur' }
        ],
        sort: [{ required: true, message: '请输入排序', type: 'number', trigger: 'blur' }]
      },
      delrules: {
        labelid: [{ required: true, message: '请选择标签', trigger: 'change' }]
      },
      dialogShowUploadfj: false,
      basic: '',
      queryform: {
        basic: '',
        empNumb: '',
        empName: '',
        certificateNumb: '',
        deptName: '',
        entryDate: '',
        sex: [],
        education: [],
        politics: [],
        age: [],
        archivesStatus: [],
        insuranceType: [],
        empStatus: [],
        empCardStatus: [],
        handbookStatus: [],
        empType: [],
        entryType: [],
        certificateList: []
      },
      total: 0, // 总数量
      pagination: { // 分页参数
        size: 15,
        num: 1
      },
      headerHeight: '20px',
      advancedQueryShow: false,
      dialogTableVisible: false,
      pickerOptions: {
        shortcuts: [
          {
            text: '最近一周',
            onClick(picker) {
              const end = new Date()
              const start = new Date()
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 7)
              picker.$emit('pick', [start, end])
            }
          },
          {
            text: '最近一个月',
            onClick(picker) {
              const end = new Date()
              const start = new Date()
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 30)
              picker.$emit('pick', [start, end])
            }
          },
          {
            text: '最近三个月',
            onClick(picker) {
              const end = new Date()
              const start = new Date()
              start.setTime(start.getTime() - 3600 * 1000 * 24 * 90)
              picker.$emit('pick', [start, end])
            }
          }
        ]
      },
      tableData: [],
      labelData: [],
      defaultProps: {
        children: 'children',
        label: 'label'
      },
      tableindex: 0,
      rowitem: {},
      sexOptions: [],
      insuranceTypeOptions: [],
      educationOptions: [],
      statusOptions: [],
      ageStrOptions: [],
      archivesStatusOptions: [],
      empCardStatusOptions: [],
      handbookStatusOptions: [],
      empTypeOptions: []
    }
  },
  mounted() {
    this.initLabel()
    this.fetch()
    this.getDicts('empType').then(response => {
      this.empTypeOptions = response.data
    })
    this.getDicts('empCardStatus').then(response => {
      this.empCardStatusOptions = response.data
    })
    this.getDicts('handbookStatus').then(response => {
      this.handbookStatusOptions = response.data
    })
    this.getDicts('sex').then(response => {
      this.sexOptions = response.data
    })
    this.getDicts('EDUCATION').then(response => {
      this.educationOptions = response.data
    })
    this.getDicts('PLITICAL').then(response => {
      this.statusOptions = response.data
    })
    this.getDicts('ageStr').then(response => {
      this.ageStrOptions = response.data
    })
    this.getDicts('archivesStatus').then(response => {
      this.archivesStatusOptions = response.data
    })
    this.getDicts('INSURANCETYPE').then(response => {
      this.insuranceTypeOptions = response.data
    })
    this.getDicts('certificateList').then(response => {
      this.certificateListOptions = response.data
    })
  },
  methods: {
    changeSort(val) {
      this.sort.field = val.prop
      this.sort.order = val.order
      this.search()
    },
    closeDialog() {
      this.search()
    },
    handleCheckAllChange(val) {
      this.queryCheckAll.sexisIndeterminate = false
    },
    downloadlabel(formName) {
      this.$refs[formName].validate(valid => {
        if (valid) {
          var selected = this.$refs.empAccessoryTable.selection
          if (selected.length < 1) {
            this.$message({
              message: '请选择数据!',
              type: 'warning'
            })
            return
          }
          const empIds = []
          selected.forEach((j) => {
            empIds.push(j.empId)
          })
          this.labelform.empIds = empIds
          const loadingInstance = Loading.service({ fullscreen: true })
          this.$download('hr/empAccessory/singledownload', { ...this.labelform }, '附件_' + new Date().getTime() + '.zip').then(() => {
            this.downloaddialogFormVisible = false
            loadingInstance.close()
            this.$message({
              message: this.$t('下载成功'),
              type: 'success'
            })
          })
        }
      })
    },
    dellabel(formName) {
      this.$refs[formName].validate(valid => {
        if (valid) {
          this.$get('hr/empAccessory/' + this.labelform.labelid).then((r) => {
            if (r.data.data > 0) {
              this.$message({
                message: this.$t('标签内还有' + r.data.data + '个附件,若要删除请先转存附件!'),
                type: 'warning'
              })
            } else {
              this.$delete('hr/label', { ...this.labelform }).then(() => {
                this.dialogFormVisible = false
                this.$message({
                  message: this.$t('tips.deleteSuccess'),
                  type: 'success'
                })
                this.deldialogFormVisible = false
                // 初始加载
                this.initLabel()
                this.fetch()
              })
            }
          })
        }
      })
    },
    addlabel(formName) {
      this.$refs[formName].validate(valid => {
        if (valid) {
          this.$post('hr/label', { ...this.labelform }).then(() => {
            this.dialogFormVisible = false
            this.$message({
              message: this.$t('tips.createSuccess'),
              type: 'success'
            })
            this.labelform.labelname = ''
            this.labelform.sort = 0
            this.labelform.labelcode = ''
            // 初始加载
            this.initLabel()
            this.fetch()
          })
        }
      })
    },
    dialogShow(index, tableData, property) {
      var this_ = this
      this_.rowitem = tableData
      this_.labelData.forEach((j) => {
        if (j.labelcode === property) {
          this_.tableindex = this_.labelData.indexOf(j)
        }
      })
      this.dialogShowUploadfj = true
    },
    skipuploadfj() {
      this.resolvePath('/uploadfj')
    },
    resetQueryform() {
      this.basic = ''
      this.queryform = {
        empNumb: '',
        empName: '',
        certificateNumb: '',
        deptName: '',
        entryDate: '',
        fileName: '',
        sex: [],
        education: [],
        politics: [],
        age: [],
        archivesStatus: [],
        insuranceType: []
      }
    },
    findEmpAccessoryAll() {
      this.fetch({
        ...this.queryform
      })
    },
    findEmpAccessory() {
      var params = { basic: this.basic }
      this.fetch({
        ...params
      })
    },
    // 刷新方法
    search() {
      if (this.basic === '') {
        this.fetch({
          ...this.queryform,
          ...this.sort
        })
      } else {
        var params = { basic: this.basic }
        this.fetch({
          ...params,
          ...this.sort
        })
      }
    },
    handleNodeClick(data) {
      console.log(data)
    },
    fetch(params = {}) {
      params.pageSize = this.pagination.size
      params.pageNum = this.pagination.num
      this.$get('hr/empAccessory/list', {
        ...params
      }).then((r) => {
        const data = r.data.data
        this.total = data.total
        this.tableData = data.rows
      })
    },
    initLabel() {
      this.$get('hr/label').then((r) => {
        this.labelData = r.data.data
      })
    },
    advancedQueryShowMethods() {
      if (this.advancedQueryShow) {
        this.headerHeight = '20px'
        this.advancedQueryShow = false
      } else {
        this.headerHeight = 'auto'
        this.advancedQueryShow = true
      }
    },
    selectAllSex(val) {
      if (val) {
        this.queryform.sex = this.dicListToArr(this.sexOptions)
      } else {
        this.queryform.sex = []
      }
    },
    selectAllEducation(val) {
      if (val) {
        this.queryform.education = this.dicListToArr(this.educationOptions)
      } else {
        this.queryform.education = []
      }
    },
    selectAllPolitics(val) {
      if (val) {
        this.queryform.politics = this.dicListToArr(this.statusOptions)
      } else {
        this.queryform.politics = []
      }
    },
    selectAllAgeStr(val) {
      if (val) {
        this.queryform.ageStr = this.dicListToArr(this.ageStrOptions)
      } else {
        this.queryform.ageStr = []
      }
    },
    selectAllArchivesStatus(val) {
      if (val) {
        this.queryform.archivesStatus = this.dicListToArr(this.archivesStatusOptions)
      } else {
        this.queryform.archivesStatus = []
      }
    },
    selectAllInsuranceType(val) {
      if (val) {
        this.queryform.insuranceType = this.dicListToArr(this.insuranceTypeOptions)
      } else {
        this.queryform.insuranceType = []
      }
    },
    selectAllEmpType(val) {
      if (val) {
        this.queryform.empType = this.dicListToArr(this.empTypeOptions)
      } else {
        this.queryform.empType = []
      }
    },
    selectAllHandbookStatus(val) {
      if (val) {
        this.queryform.handbookStatus = this.dicListToArr(this.handbookStatusOptions)
      } else {
        this.queryform.handbookStatus = []
      }
    },
    selectAllEmpStatus(val) {
      if (val) {
        this.queryform.empStatus = ['0', '1', '2', '3']
      } else {
        this.queryform.empStatus = []
      }
    },
    selectAllEntryType(val) {
      if (val) {
        this.queryParams.entryType = [20, 21, 22]
      } else {
        this.queryParams.entryType = []
      }
    },
    selectAllEmpCardStatus(val) {
      if (val) {
        this.queryform.empCardStatus = this.dicListToArr(this.empCardStatusOptions)
      } else {
        this.queryform.empCardStatus = []
      }
    },
    selectAllDimissionType(val) {
      if (val) {
        this.queryform.inOutType = this.dicListToArr(this.dimissionTypeOptions)
      } else {
        this.queryform.inOutType = []
      }
    },
    selectAllCertificateList(val) {
      if (val) {
        this.queryform.certificateList = this.dicListToArr(this.certificateListOptions)
      } else {
        this.queryform.certificateList = []
      }
    },
    // dic列表转为数组
    dicListToArr(dicList) {
      var arr = []
      for (var i = 0; i < dicList.length; i++) {
        var dic = dicList[i]
        arr.push(dic.dicItemCode)
      }
      return arr
    }
  }
}
</script>
<style lang="scss" scoped>
.number{
  color: #5CB87A;
  font-size: 16px;
  font-weight: 600;
}
.el-main {
   margin-top: 10px;
}
.el-input-number {
   width: 100%;
}
.searchTable {
  margin-top: 10px;
  border-collapse: collapse;
  width: 100%;
  tr {
    border-bottom: 1px dashed #d9dadb;
  }
  .td {
    width: 90px;
    text-align: right;
  }
  .td-group {
    padding-left: 20px;
  }
}
</style>
<style lang="scss">
.el-image-viewer__btn{
 color: #a00515;
}
.fj-checkbox{
  .el-checkbox__input.is-checked .el-checkbox__inner {
      border-color: #a32c30;;
      background: #a32c30;;
  }
  .el-checkbox__label {
    color: #000 !important;
  }
}
.fjgl-class{
     overflow: auto;
  .el-dialog__body {
    padding: 0 20px;
  }
  button.el-dialog__headerbtn {
    height: 30px;
    width: 30px;
    background-color: #a00515;
    opacity: 0.8;
    line-height: 30px;
    border-radius: 50%;
    i {
      color: #fff !important;
    }
    &:hover {
      opacity: 0.5;
    }
  }
}
.add-lable {
   text-align: initial;
}
.input-empName .el-input-group__append{
      padding: 0 15px 0 0;
}
.fj-table thead {
    color: #000;
}
.td-group {
   padding-left: 20px;
}
.search-title {
   height: 50px;
   .search {
      position: relative;
      top: 50%;
      transform: translateY(-50%);
   }
   .title {
      position: relative;
      top: 40%;
      transform: translateY(-50%);
   }
   .zs-title {
      border-left: 4px solid #a32c30;
      padding-left: 10px;
      font-size: 16px;
   }
}
#searchTable {
   margin-top: 10px;
   border-collapse: collapse;
   width: 100%;
}
#searchTable td,
#searchTable th {
  border: 0;
  color: #000;
  height: 50px;
  background-color: #fff;
}
#ygxq table {
   color: #000;
   border-collapse: collapse;
   margin: 0 auto;
   text-align: center;
   width: 100%;
   margin-top: 20px;
}
#ygxq table thead th {
   background-color: #fff;
   width: 100px;
}
#ygxq table tr:nth-child(odd) {
   background: #fff;
}
#ygxq table tr:nth-child(even) {
   background: #f5fafa;
}
.search-btn {
  display: inline-block;
  width: 3.64vw;
  height: 3.2vh;
  line-height: 3.2vh;
  text-align: center;
  background-color: #a00515;
  color: #fff;
  margin-left: 1vw;
  box-sizing: border-box;
  cursor: pointer;
  vertical-align: middle;
}
.sup-search-btn {
  display: inline-block;
  width: 5.2vw;
  height: 3.2vh;
  line-height: 3.2vh;
  text-align: center;
  margin-left: 1vw;
  color: #a00515;
  border: 1px solid #a00515;
  box-sizing: border-box;
  cursor: pointer;
  vertical-align: middle;
}
</style>