From ce4dc48d644343a35f31565c295ea88d8faa67c3 Mon Sep 17 00:00:00 2001
From: luoyb <412940104@qq.com>
Date: 星期二, 09 三月 2021 08:41:47 +0800
Subject: [PATCH] fix(bug修复): 在职员工和离职员工功能按钮调整

---
 src/views/user/inemployees.vue  |   57 +--------
 src/views/user/outemployess.vue |  297 +++++++++++++++++++++++++++++++++++++++++++++----
 2 files changed, 278 insertions(+), 76 deletions(-)

diff --git a/src/views/user/inemployees.vue b/src/views/user/inemployees.vue
index 654667d..835ae0e 100644
--- a/src/views/user/inemployees.vue
+++ b/src/views/user/inemployees.vue
@@ -213,7 +213,7 @@
             <el-button type="primary" style="background-color: #409EFF" @click="delEmp">删除员工</el-button>
             <el-button type="danger" class="hr-but-all" @click="showYgdg(0)">员工调岗</el-button>
             <!-- <el-button type="danger" class="hr-but-all" @click="showDryg(0)">导入员工</el-button> -->
-            <el-button type="danger" class="hr-but-all" @click="exportExcel()">导出员工</el-button>
+            <el-button type="danger" class="hr-but-all" @click="showDcyg(0)">导出EXCEL</el-button>
             <el-button type="primary" style="background-color: #409EFF" @click="showGbda(0)">关闭档案</el-button>
           </el-col>
         </el-row>
@@ -799,15 +799,15 @@
           <tr>
             <td>员工类型</td>
             <td>
-              <el-checkbox label=""><span /></el-checkbox>
+              <el-checkbox label="empTypeName"><span /></el-checkbox>
             </td>
             <td>员工状态</td>
             <td>
-              <el-checkbox label=""><span /></el-checkbox>
+              <el-checkbox label="empStatusName"><span /></el-checkbox>
             </td>
             <td>离职日期</td>
             <td>
-              <el-checkbox label=""><span /></el-checkbox>
+              <el-checkbox label="dimissionDate"><span /></el-checkbox>
             </td>
           </tr>
           <tr>
@@ -919,7 +919,7 @@
       }, // 查询参数
       sort: {}, // 排序
       pagination: { // 分页参数
-        size: 15,
+        size: 12,
         num: 1
       },
       baseicInformationForm: {},
@@ -1113,7 +1113,7 @@
       exportUrl: '',
       checkAll: false,
       isIndeterminate: false,
-      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'],
+      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', 'empTypeName', 'empStatusName', 'dimissionDate'],
       checkedCities: [],
       tableData: [],
       selectDimissionType: 1,
@@ -1539,51 +1539,6 @@
       this.$refs[formName].validate((valid) => {
         if (valid) {
           this.submitEmpInfo()
-          // if (this.isAdd) {
-          //   this.$post('hr/empBaseInfo/addInEmp', { ...this.empBaseInfoForm }).then((r) => {
-          //     if (r.data != null) {
-          //       if (r.data.data.empStatus === '0') {
-          //         this.$confirm('该员工已存在,是否修改?', '提示', {
-          //           confirmButtonText: '确定',
-          //           cancelButtonText: '取消',
-          //           type: 'warning'
-          //         }).then(() => {
-          //           this.editEmpBase(r.data.data)
-          //         })
-          //       } else {
-          //         this.$confirm('该员工已离职,是否重新打开档案?', '提示', {
-          //           confirmButtonText: '确定',
-          //           cancelButtonText: '取消',
-          //           type: 'warning'
-          //         }).then(() => {
-          //           this.openArchivesForm = {
-          //             empId: r.data.data.empId,
-          //             empName: r.data.data.empName,
-          //             certificateNumb: r.data.data.certificateNumb,
-          //             openType: 2,
-          //             openDate: this.getDateString(),
-          //             remark: ''
-          //           }
-          //           this.$post('hr/empOpenArchives', { ...this.openArchivesForm }).then(() => {
-          //             this.$message({
-          //               message: this.$t('员工档案打开成功'),
-          //               type: 'success'
-          //             })
-          //           })
-          //         })
-          //       }
-          //     }
-          //   })
-          // } else {
-          //   this.$put('hr/empBaseInfo', { ...this.empBaseInfoForm }).then(() => {
-          //     this.$message({
-          //       message: this.$t('tips.updateSuccess'),
-          //       type: 'success'
-          //     })
-          //     this.$emit('success')
-          //     this.cleanEmpBase()
-          //   })
-          // }
           this.fetch({
             ...this.queryParams,
             ...this.sort
diff --git a/src/views/user/outemployess.vue b/src/views/user/outemployess.vue
index c5d1fa4..4df8f2e 100644
--- a/src/views/user/outemployess.vue
+++ b/src/views/user/outemployess.vue
@@ -212,9 +212,10 @@
           <el-col :span="24">
             <el-button type="primary" @click="delEmp">删除员工</el-button>
             <el-button type="danger" class="hr-but-all" @click="showDkda(0)">打开档案</el-button>
-            <!--            <el-button type="danger" class="hr-but-all" @click="doDcbb">导出报表</el-button>-->
-            <el-button type="danger" class="hr-but-all" @click="exportExcel()">导出员工</el-button>
-            <el-button type="danger" class="hr-but-all" @click="doDcda">导出档案</el-button>
+            <el-button type="danger" class="hr-but-all" @click.native="showDcyg(0)">导出EXCEL
+            </el-button>
+            <!--            <el-button type="danger" class="hr-but-all" @click="exportExcel()">导出员工</el-button>-->
+            <!--            <el-button type="danger" class="hr-but-all" @click="doDcda">导出档案</el-button>-->
           </el-col>
         </el-row>
         <el-table
@@ -255,9 +256,21 @@
           <el-table-column show-overflow-tooltip="true" prop="certificateNumb" label="身份证号码" />
           <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="education"
+            label="学历"
+            width="60"
+            :formatter="educationFormat"
+          />
           <el-table-column show-overflow-tooltip="true" prop="nativePlaceName" label="籍贯" width="70" />
-          <el-table-column show-overflow-tooltip="true" prop="empType" label="员工类型" width="80" :formatter="empTypeFormat" />
+          <el-table-column
+            show-overflow-tooltip="true"
+            prop="empType"
+            label="员工类型"
+            width="80"
+            :formatter="empTypeFormat"
+          />
           <el-table-column show-overflow-tooltip="true" prop="telePhone" label="联系电话" width="120" />
           <el-table-column show-overflow-tooltip="true" prop="entryDate" label="入职日期" width="130" />
           <el-table-column show-overflow-tooltip="true" prop="dimissionDate" label="离职日期" width="130" />
@@ -995,8 +1008,203 @@
     <el-dialog title="选择员工" :visible.sync="dialogShowXzyg">
       <Selectuser @selectedUser="selectedUser" @cancleChooseUser="cancleChooseUser" />
     </el-dialog>
-    <el-dialog title="选择员工" :visible.sync="dialogShowXzbm">
+    <el-dialog title="选择部门" :visible.sync="dialogShowXzbm">
       <Selectdept @selectedDept="selectedDept" @cancleChooseDept="cancleChooseDept" />
+    </el-dialog>
+    <el-dialog title="导出员工" :visible.sync="dialogShowDcyg" width="40%">
+      <div style="font-size: 16px;font-weight: 400;height: 35px;margin-top: -30px;color: #409EFF;">请勾选需要导出的字段</div>
+      <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="empTypeName"><span /></el-checkbox>
+            </td>
+            <td>员工状态</td>
+            <td>
+              <el-checkbox label="empStatusName"><span /></el-checkbox>
+            </td>
+            <td>离职日期</td>
+            <td>
+              <el-checkbox label="dimissionDate"><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>
     <archives-change
       ref="article"
@@ -1010,6 +1218,7 @@
 <script>
 import Pagination from '@/components/Pagination'
 import ArchivesChange from './archivesChange'
+
 export default {
   components: {
     ArchivesChange,
@@ -1039,7 +1248,7 @@
       }, // 查询参数
       sort: {}, // 排序
       pagination: { // 分页参数
-        size: 15,
+        size: 12,
         num: 1
       },
       headerHeight: '30px',
@@ -1048,6 +1257,7 @@
       dialogShowDkda: false,
       dialogShowXzyg: false,
       dialogShowXzbm: false,
+      dialogShowDcyg: false,
       openArchivesRules: {
         openType: [{ required: true, message: '请选择打开类型', trigger: 'change' }],
         openDate: [{ required: true, message: '请选择打开日期', trigger: 'change' }],
@@ -1063,7 +1273,9 @@
       insuranceTypeOptions: [],
       archivesStatusOptions: [],
       sexOptions: [],
-      empTypeOptions: []
+      empTypeOptions: [],
+      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', 'empTypeName', 'empStatusName', 'dimissionDate'],
+      checkedCities: []
     }
   },
   mounted() {
@@ -1392,24 +1604,36 @@
         this.queryParams.dimissionType = []
       }
     },
-    doDcbb() {
-      this.$confirm('是否确定要导出报表?', '提示', {
-        confirmButtonText: '确定',
-        cancelButtonText: '取消',
-        type: 'warning'
-      }).then(() => {
-        this.$message({
-          type: 'success',
-          message: '导出成功!'
-        })
-      }).catch(() => {
-        this.$message({
-          type: 'info',
-          message: '已取消'
-        })
-      })
+    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.empStatus = '1,2,3'
+          params.exportField = this.checkedCities.join(',')
+          this.$download('hr/empBaseInfo/exportWithField', { ...params }, '员工列表.xls').then(() => {
+            this.$message({
+              message: '下载成功!',
+              type: 'success'
+            })
+          })
+          break
+      }
     }
-
   }
 }
 </script>
@@ -1492,6 +1716,28 @@
   background: #F5FAFA;
 }
 
+#dcygTable {
+  border-collapse: collapse;
+  tr {
+    width: 100%;
+    border-bottom: 1px dashed #ccc;
+    >td:nth-child(even) {
+      width: 100px;
+      text-align: left;
+    }
+  }
+
+}
+
+#dcygTable td {
+  width: 160px;
+  text-align: center;
+  height: 35px;
+  line-height: 35px;
+  font-size: 15px;
+  font-weight: 400;
+}
+
 .tdTitle {
   font-size: 14px;
   font-weight: 700;
@@ -1535,6 +1781,7 @@
   cursor: pointer;
   vertical-align: middle;
 }
+
 .el-dialog.is-fullscreen {
   overflow: hidden;
 }

--
Gitblit v1.8.0