src/views/user/inemployees.vue
@@ -124,7 +124,7 @@
                  </td>
                </tr>
                <tr>
                  <td class="td">保险类型:</td>
                  <td class="td">社保档位:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryParams.insuranceType" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllInsuranceType">全部</el-checkbox>
@@ -189,7 +189,7 @@
                    <el-checkbox-group v-model="queryParams.entryType" class="fj-checkbox">
                      <el-checkbox label="" @change="selectAllEntryType">全部</el-checkbox>
                      <el-checkbox :label="20">新入职</el-checkbox>
                      <el-checkbox :label="21">重新新入职</el-checkbox>
                      <el-checkbox :label="21">重新入职</el-checkbox>
                      <el-checkbox :label="22">返聘入职</el-checkbox>
                      <!--                      <el-checkbox-->
                      <!--                        v-for="data in dimissionTypeOptions"-->
@@ -198,6 +198,21 @@
                      <!--                      >-->
                      <!--                        {{ data.dicItemName }}-->
                      <!--                      </el-checkbox>-->
                    </el-checkbox-group>
                  </td>
                </tr>
                <tr>
                  <td class="td">相关证件:</td>
                  <td class="td-group">
                    <el-checkbox-group v-model="queryParams.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>
@@ -248,24 +263,28 @@
              >编辑</span>
            </template>
          </el-table-column>
          <el-table-column show-overflow-tooltip="true" prop="empNumb" label="编号" width="80" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip="true" prop="allDeptName" label="部门(护卫点)" width="300" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip="true" prop="jobName" label="岗位" width="80" />
          <el-table-column show-overflow-tooltip="true" prop="empName" label="姓名" width="100" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip="true" prop="certificateNumb" label="身份证号码" width="160" />
          <el-table-column show-overflow-tooltip="true" prop="sex" label="性别" width="60" :formatter="sexFormat" />
          <el-table-column show-overflow-tooltip="true" prop="age" label="年龄" width="60" />
          <el-table-column show-overflow-tooltip="true" prop="education" label="学历" width="60" :formatter="educationFormat" />
          <el-table-column show-overflow-tooltip="true" prop="nativePlace" label="籍贯" width="70" :formatter="nativePlaceFormat" />
          <el-table-column show-overflow-tooltip="true" prop="telePhone" label="联系电话" width="110" />
          <el-table-column show-overflow-tooltip="true" prop="empTypeName" label="员工类型" width="80" />
          <el-table-column show-overflow-tooltip="true" prop="entryDate" label="入职日期" width="110" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip="true" prop="empStatus" label="员工状态" width="80">
          <el-table-column show-overflow-tooltip prop="empNumb" label="编号" width="80" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="allDeptName" label="部门(护卫点)" width="300" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="jobName" label="岗位" width="80" />
          <el-table-column show-overflow-tooltip prop="empName" label="姓名" width="100" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="certificateNumb" label="身份证号码" width="160" />
          <el-table-column show-overflow-tooltip prop="sex" label="性别" width="60" :formatter="sexFormat" />
          <el-table-column show-overflow-tooltip prop="age" label="年龄" width="80" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="education" label="学历" width="80" :formatter="educationFormat" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="nativePlace" label="籍贯" width="70" :formatter="nativePlaceFormat" />
          <el-table-column show-overflow-tooltip prop="telePhone" label="联系电话" width="110" />
          <el-table-column show-overflow-tooltip prop="empTypeName" label="员工类型" width="80" />
          <el-table-column show-overflow-tooltip prop="entryDate" label="入职日期" width="110" sortable="custom" :sort-orders="['ascending', 'descending']" />
          <el-table-column show-overflow-tooltip prop="empStatus" label="员工状态" width="80">
            <template slot-scope="{row}">
              {{ transEmpStatus(row.empStatus) }}
            </template>
          </el-table-column>
          <el-table-column prop="entryTypeName" label="入职类型" width="80" />
          <el-table-column prop="entryType" label="入职类型" width="120" sortable="custom" :sort-orders="['ascending', 'descending']">
            <template slot-scope="{row}">
              {{ transEntryType(row.entryType) }}
            </template>
          </el-table-column>
        </el-table>
        <pagination
          v-show="total>0"
@@ -385,11 +404,11 @@
                <el-form-item label="招聘介绍人" prop="introducer">
                  <el-input v-model="empBaseInfoForm.introducer" />
                </el-form-item>
                <el-form-item label="银行名称" prop="bankName">
                <el-form-item label="银行名称">
                  <el-input v-model="empBaseInfoForm.bankName" />
                </el-form-item>
                <el-form-item label="保险类型" prop="insuranceType">
                  <el-select v-model="empBaseInfoForm.insuranceType" placeholder="请选择保险类型">
                <el-form-item label="社保档位" prop="insuranceType">
                  <el-select v-model="empBaseInfoForm.insuranceType" placeholder="请选择社保档位">
                    <el-option
                      v-for="dict in insuranceTypeOptions"
                      :key="dict.dicItemCode"
@@ -398,10 +417,10 @@
                    />
                  </el-select>
                </el-form-item>
                <el-form-item label="家庭成员及关系" prop="family">
                <el-form-item label="家庭成员及关系1" prop="family">
                  <el-input v-model="empBaseInfoForm.family" />
                </el-form-item>
                <el-form-item label="紧急联系电话" prop="urgencyPhone">
                <el-form-item label="家庭成员及关系2" prop="urgencyPhone">
                  <el-input v-model="empBaseInfoForm.urgencyPhone" />
                </el-form-item>
              </el-col>
@@ -489,7 +508,7 @@
                    />
                  </el-select>
                </el-form-item>
                <el-form-item label="银行账号" prop="bankNumb">
                <el-form-item label="银行账号">
                  <el-input v-model="empBaseInfoForm.bankNumb" />
                </el-form-item>
                <el-form-item label="社保电脑号" prop="socialNumb">
@@ -607,7 +626,7 @@
              <el-upload
                ref="upload"
                class="upload-demo"
                action="http://120.24.23.155:8301/hr/empBaseInfo/importEmp"
                action="http://127.0.0.1:8301/hr/empBaseInfo/importEmp"
                accept=".xls, .xlsx, .excel"
                :headers="headers()"
                :file-list="fileList"
@@ -639,12 +658,12 @@
              </el-radio-group>
            </el-form-item>
          </el-col>
          <el-col v-if="selectDimissionType === 2" span="12">
          <el-col v-if="selectDimissionType === 4" span="12">
            <el-form-item label="自离天数" prop="selfLeaveDay">
              <el-input v-model="gbdaForm.selfLeaveDay" onkeyup="value=value.replace(/[^0-9.]/g,'')" />
            </el-form-item>
          </el-col>
          <el-col v-if="selectDimissionType === 2" span="12">
          <el-col v-if="selectDimissionType === 4" span="12">
            <el-form-item label="报告人" prop="reporter">
              <el-input v-model="gbdaForm.reporter" />
            </el-form-item>
@@ -800,7 +819,7 @@
            </td>
          </tr>
          <tr>
            <td>家庭成员及关系</td>
            <td>家庭成员及关系1</td>
            <td>
              <el-checkbox label="family"><span /></el-checkbox>
            </td>
@@ -818,7 +837,7 @@
            <td>
              <el-checkbox label="entryDate"><span /></el-checkbox>
            </td>
            <td>保险类型</td>
            <td>社保档位</td>
            <td>
              <el-checkbox label="insuranceTypeName"><span /></el-checkbox>
            </td>
@@ -844,9 +863,9 @@
          <tr>
            <td>相关证件</td>
            <td>
              <el-checkbox label="certificateList"><span /></el-checkbox>
              <el-checkbox label="certificateListName"><span /></el-checkbox>
            </td>
            <td>紧急联系电话</td>
            <td>家庭成员及关系2</td>
            <td>
              <el-checkbox label="urgencyPhone"><span /></el-checkbox>
            </td>
@@ -863,6 +882,10 @@
            <td>离职类型</td>
            <td>
              <el-checkbox label="dimissionTypeName"><span /></el-checkbox>
            </td>
            <td>编号</td>
            <td>
              <el-checkbox label="empNumb"><span /></el-checkbox>
            </td>
          </tr>
          <!--          <tr>-->
@@ -887,6 +910,7 @@
      :dialog-visible="dialog.isVisible"
      :title="dialog.title"
      :type="dialog.type"
      @success="editSuccess"
      @close="editClose"
    />
    <el-dialog title="打开档案" :visible.sync="dialogShowDkda" width="50%">
@@ -901,8 +925,8 @@
          <el-col span="24">
            <el-form-item label="打开类型" prop="region">
              <el-radio-group v-model="openArchivesForm.openType">
                <el-radio :label="20">重新入职</el-radio>
                <el-radio :label="21">返聘</el-radio>
                <el-radio :label="21">重新入职</el-radio>
                <el-radio :label="22">返聘</el-radio>
              </el-radio-group>
              (主要对已退休员工返聘)
            </el-form-item>
@@ -964,7 +988,8 @@
        empCardStatus: [],
        handbookStatus: [],
        entryType: [],
        empType: []
        empType: [],
        certificateList: []
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
@@ -1070,7 +1095,7 @@
          message: '长度不超过36个字符',
          trigger: 'blur'
        }],
        insuranceType: [{ required: true, message: '请选择保险类型', trigger: 'change' }],
        insuranceType: [{ required: true, message: '请选择社保档位', trigger: 'change' }],
        entryDate: [{ required: true, message: '请选择入职日期', trigger: 'change' }],
        seniority: [{ required: true, message: '请输入入司工龄', trigger: 'blur' }],
        archivesStatus: [{ required: true, message: '请选择档案情况', trigger: 'change' }],
@@ -1178,7 +1203,7 @@
      exportUrl: '',
      checkAll: false,
      isIndeterminate: false,
      cityOptions: ['archivesNumb', 'allDeptName', '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', 'empCardStatusName', 'certificateList', 'urgencyPhone', 'handbookStatusName', 'family', 'empStatusName', 'dimissionDate', 'entryTypeName', 'dimissionTypeName'],
      cityOptions: ['archivesNumb', 'allDeptName', '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', 'empCardStatusName', 'certificateListName', 'urgencyPhone', 'handbookStatusName', 'family', 'empStatusName', 'dimissionDate', 'entryTypeName', 'dimissionTypeName', 'empNumb'],
      checkedCities: [],
      tableData: [],
      selectDimissionType: 1,
@@ -1265,7 +1290,7 @@
    this.getDicts('LEAVETYPE').then(response => {
      this.leaveTypeOptions = response.data
    })
    this.getDicts('insuranceGaers').then(response => {
    this.getDicts('INSURANCETYPE').then(response => {
      this.insuranceGaersOptions = response.data
    })
    this.getDicts('applayStatus').then(response => {
@@ -1327,7 +1352,8 @@
        handbookStatus: [],
        baseKey: '',
        empType: [],
        entryType: []
        entryType: [],
        certificateList: []
      }
      this.search()
    },
@@ -1371,6 +1397,16 @@
          return '离职'
        case '2':
          return '退休'
      }
    },
    transEntryType(entryType) {
      switch (entryType) {
        case '20':
          return '新入职'
        case '21':
          return '重新入职'
        case '22':
          return '返聘入职'
      }
    },
    typeFormat(row, column) {
@@ -1562,18 +1598,27 @@
      this.empBaseInfoForm.deptName = row.deptName
      this.empBaseInfoForm.empNumb = row.empNumb
      this.empBaseInfoForm.empName = row.empName
      this.empBaseInfoForm.sex = row.sex
      this.empBaseInfoForm.JobId = row.JobId
      this.empBaseInfoForm.jobName = row.jobName
      this.empBaseInfoForm.empType = row.empType
      this.empBaseInfoForm.certificateType = row.certificateType
      this.empBaseInfoForm.certificateNumb = row.certificateNumb
      this.empBaseInfoForm.nation = row.nation
      this.empBaseInfoForm.certificateValidity = row.certificateValidity
      this.empBaseInfoForm.marriage = row.marriage
      this.empBaseInfoForm.age = row.age
      this.empBaseInfoForm.certificateNumb = row.certificateNumb
      if (!row.birthdate) {
        var userinfo = toCardGetUserInfo(this.empBaseInfoForm.certificateNumb)
        if (userinfo !== null) {
          this.empBaseInfoForm.age = userinfo.age
          this.empBaseInfoForm.birthdate = userinfo.birth
          this.empBaseInfoForm.sex = userinfo.sex
        }
      } else {
        this.empBaseInfoForm.age = row.age
        this.empBaseInfoForm.birthdate = row.birthdate
        this.empBaseInfoForm.sex = row.sex
      }
      this.empBaseInfoForm.stature = row.stature
      this.empBaseInfoForm.birthdate = row.birthdate
      this.empBaseInfoForm.politics = row.politics
      this.empBaseInfoForm.entryDate = row.entryDate
      this.empBaseInfoForm.education = row.education
@@ -1715,6 +1760,9 @@
          break
      }
    },
    editSuccess() {
      this.search()
    },
    showYgdg(operate, formName) {
      switch (operate) {
        case 0:
@@ -1828,7 +1876,6 @@
    },
    changeDimissionType(value) {
      this.selectDimissionType = value
      console.log('值:' + value)
    },
    validSelfLeaveDay(rule, value, callback) {
      const type = this.gbdaForm.dimissionType
@@ -1872,12 +1919,14 @@
            var names = []
            var dates = []
            var numbers = []
            var deptNames = []
            for (var i = 0; i < selection.length; i++) {
              var data = selection[i]
              ids.push(data.empId)
              names.push(data.empName)
              dates.push(data.entryDate)
              numbers.push(data.certificateNumb)
              deptNames.push(data.allDeptName)
            }
            const nowDate = new Date()
            const year = nowDate.getFullYear()
@@ -1891,7 +1940,8 @@
              dimissionDate: year + '-' + month + '-' + day,
              remark: '',
              afterOperation: ['1'],
              certificateNumb: numbers.join(',')
              certificateNumb: numbers.join(','),
              deptNames: deptNames.join(',')
            }
            this.dialogShowGbda = true
          }
@@ -2021,6 +2071,13 @@
        this.queryParams.entryType = []
      }
    },
    selectAllCertificateList(val) {
      if (val) {
        this.queryParams.certificateList = this.dicListToArr(this.certificateListOptions)
      } else {
        this.queryParams.certificateList = []
      }
    },
    headers() {
      const token = getToken()
      if (token) {
@@ -2080,7 +2137,7 @@
                  empId: r.data.data.empId,
                  empName: r.data.data.empName,
                  certificateNumb: r.data.data.certificateNumb,
                  openType: 20,
                  openType: 21,
                  openDate: this.getDateString(),
                  remark: ''
                }