yz_08
2021-03-03 2fba03784ea493f1d52e75aa9a6b023c7d12d510
src/views/user/search.vue
@@ -220,7 +220,7 @@
              已为您搜索出<span style="color:red">{{ total }}</span>条符合条件的记录
            </el-col>
            <el-col :span="3">
              <el-button size="mini" class="hr-but" type="success" @click.native="exportExcel">
              <el-button size="mini" class="hr-but" type="success" @click.native="showDcyg(0)">
                {{ $t('table.export') }}
              </el-button>
            </el-col>
@@ -245,6 +245,186 @@
            <el-table-column prop="entryDate" label="入职日期" />
            <el-table-column prop="dimissionDate" label="离职日期" />
          </el-table>
          <el-dialog title="导出员工    请勾选需要导出的字段" :visible.sync="dialogShowDcyg" width="40%">
            <table id="dcygTable" width="100%">
              <tr>
                <td colspan="6" style="text-align: left;">
                  <el-checkbox v-model="checkAll" :indeterminate="isIndeterminate" @change="handleCheckAllChange" />
                  全部字段
                </td>
              </tr>
              <el-checkbox-group v-model="checkedCities" @change="handleCheckedCitiesChange">
                <tr>
                  <td>档案号</td>
                  <td>
                    <el-checkbox label="archivesNumb"><span /></el-checkbox>
                  </td>
                  <td>姓名</td>
                  <td>
                    <el-checkbox label="empName"><span /></el-checkbox>
                  </td>
                  <td>性别</td>
                  <td>
                    <el-checkbox label="sexName"><span /></el-checkbox>
                  </td>
                </tr>
                <tr>
                  <td>部门(护卫点)</td>
                  <td>
                    <el-checkbox label="deptName"><span /></el-checkbox>
                  </td>
                  <td>所属岗位</td>
                  <td>
                    <el-checkbox label="jobName"><span /></el-checkbox>
                  </td>
                  <td>员工类别</td>
                  <td>
                    <el-checkbox label="empTypeName"><span /></el-checkbox>
                  </td>
                </tr>
                <tr>
                  <td>民族</td>
                  <td>
                    <el-checkbox label="nationName"><span /></el-checkbox>
                  </td>
                  <td>身份证号码</td>
                  <td>
                    <el-checkbox label="certificateNumb"><span /></el-checkbox>
                  </td>
                  <td>年龄</td>
                  <td>
                    <el-checkbox label="age"><span /></el-checkbox>
                  </td>
                </tr>
                <tr>
                  <td>婚姻状况</td>
                  <td>
                    <el-checkbox label="marriageName"><span /></el-checkbox>
                  </td>
                  <td>身份证有效期</td>
                  <td>
                    <el-checkbox label="certificateValidity"><span /></el-checkbox>
                  </td>
                  <td>身高</td>
                  <td>
                    <el-checkbox label="stature"><span /></el-checkbox>
                  </td>
                </tr>
                <tr>
                  <td>政治面貌</td>
                  <td>
                    <el-checkbox label="politicsName"><span /></el-checkbox>
                  </td>
                  <td>出生日期</td>
                  <td>
                    <el-checkbox label="birthdate"><span /></el-checkbox>
                  </td>
                  <td>最高学历</td>
                  <td>
                    <el-checkbox label="educationName"><span /></el-checkbox>
                  </td>
                </tr>
                <tr>
                  <td>籍贯</td>
                  <td>
                    <el-checkbox label="nativePlaceName"><span /></el-checkbox>
                  </td>
                  <td>户籍地址</td>
                  <td>
                    <el-checkbox label="censusAddress"><span /></el-checkbox>
                  </td>
                  <td>现住址</td>
                  <td>
                    <el-checkbox label="currentAddress"><span /></el-checkbox>
                  </td>
                </tr>
                <tr>
                  <td>保安员证号</td>
                  <td>
                    <el-checkbox label="guardNumb"><span /></el-checkbox>
                  </td>
                  <td>保安员回执</td>
                  <td>
                    <el-checkbox label="returnReceipt"><span /></el-checkbox>
                  </td>
                  <td>档案情况</td>
                  <td>
                    <el-checkbox label="archivesStatusName"><span /></el-checkbox>
                  </td>
                </tr>
                <tr>
                  <td>银行名称</td>
                  <td>
                    <el-checkbox label="bankName"><span /></el-checkbox>
                  </td>
                  <td>银行账号</td>
                  <td>
                    <el-checkbox label="bankNumb"><span /></el-checkbox>
                  </td>
                  <td>电话号码</td>
                  <td>
                    <el-checkbox label="telePhone"><span /></el-checkbox>
                  </td>
                </tr>
                <tr>
                  <td>入职日期</td>
                  <td>
                    <el-checkbox label="entryDate"><span /></el-checkbox>
                  </td>
                  <td>保险类型</td>
                  <td>
                    <el-checkbox label="InsuranceTypeName"><span /></el-checkbox>
                  </td>
                  <td>社保电脑号</td>
                  <td>
                    <el-checkbox label="socialNumb"><span /></el-checkbox>
                  </td>
                </tr>
                <tr>
                  <td>招聘介绍人</td>
                  <td>
                    <el-checkbox label="introducer"><span /></el-checkbox>
                  </td>
                  <td>入司工龄</td>
                  <td>
                    <el-checkbox label="seniority"><span /></el-checkbox>
                  </td>
                  <td>工作证</td>
                  <td>
                    <el-checkbox label="empCardStatus"><span /></el-checkbox>
                  </td>
                </tr>
                <tr>
                  <td>相关证件</td>
                  <td>
                    <el-checkbox label="certificateList"><span /></el-checkbox>
                  </td>
                  <td>紧急联系电话</td>
                  <td>
                    <el-checkbox label="urgencyPhone"><span /></el-checkbox>
                  </td>
                  <td>员工手册</td>
                  <td>
                    <el-checkbox label="handbookStatusName"><span /></el-checkbox>
                  </td>
                </tr>
                <tr>
                  <td>家庭成员及关系</td>
                  <td>
                    <el-checkbox label="family"><span /></el-checkbox>
                  </td>
                  <td />
                  <td />
                  <td />
                  <td />
                </tr>
              </el-checkbox-group>
            </table>
            <div slot="footer" class="dialog-footer">
              <el-button @click="showDcyg(1)">取 消</el-button>
              <el-button type="primary" @click="showDcyg(2)">确 定</el-button>
            </div>
          </el-dialog>
        </div>
        <div v-show="showArr[1].show">
@@ -1412,6 +1592,11 @@
  },
  data() {
    return {
      cityOptions: ['archivesNumb', 'deptName', 'jobName', 'empName', 'certificateNumb', 'certificateValidity', 'sexName', 'nationName', 'age', 'marriageName', 'stature', 'birthdate', 'politicsName', 'empTypeName', 'educationName', 'nativePlaceName', 'censusAddress', 'currentAddress', 'guardNumb', 'returnReceipt', 'archivesStatusName', 'bankName', 'bankNumb', 'telePhone', 'entryDate', 'InsuranceTypeName', 'socialNumb', 'introducer', 'seniority', 'empCardStatus', 'certificateList', 'urgencyPhone', 'handbookStatusName', 'family'],
      dialogShowDcyg: false,
      isIndeterminate: false,
      checkedCities: [],
      checkAll: false,
      total: 0, // 总数量
      queryParams: {
        vague: '',
@@ -1699,6 +1884,35 @@
    this.isShow(false, 0)
  },
  methods: {
    handleCheckedCitiesChange(value) {
      const checkedCount = value.length
      this.checkAll = checkedCount === this.cityOptions.length
      this.isIndeterminate = checkedCount > 0 && checkedCount < this.cityOptions.length
    },
    handleCheckAllChange(val) {
      this.checkedCities = val ? this.cityOptions : []
      this.isIndeterminate = false
    },
    showDcyg(operate) {
      switch (operate) {
        case 0:
          this.dialogShowDcyg = true
          break
        case 1:
          this.dialogShowDcyg = false
          break
        case 2:
          var params = this.queryParams
          params.exportField = this.checkedCities.join(',')
          this.$download('hr/empBaseInfo/exportWithField', { ...params }, '在职员工列表.xls').then(() => {
            this.$message({
              message: '下载成功!',
              type: 'success'
            })
          })
          break
      }
    },
    resetSearch() {
      this.queryParams = {
        delFlag: 0,
@@ -2161,6 +2375,17 @@
}
</style>
<style lang="scss" scoped>
#dcygTable {
  border-collapse: collapse;
}
#dcygTable td {
  width: 130px;
  text-align: center;
  border: 1px solid darkgray;
  height: 30px;
  font-size: 15px;
}
  .el-container {
    height: 100%;
    background-color: white;