From 6448ec15bfe0b65fb822a662105bceddc23b58d8 Mon Sep 17 00:00:00 2001
From: yubo <autumnal_wind@yeah.net>
Date: 星期一, 06 四月 2026 21:34:44 +0800
Subject: [PATCH] feat(user): 新增员工档案管理视图组件

---
 src/views/remind/insurance5.vue |  110 +++++++++++++++---------------------------------------
 1 files changed, 31 insertions(+), 79 deletions(-)

diff --git a/src/views/remind/insurance5.vue b/src/views/remind/insurance5.vue
index cc656e9..46d95c8 100644
--- a/src/views/remind/insurance5.vue
+++ b/src/views/remind/insurance5.vue
@@ -105,9 +105,10 @@
           <el-table-column show-overflow-tooltip prop="telePhone" label="联系电话" width="110" />
           <el-table-column show-overflow-tooltip prop="empType" label="员工类型" width="80" :formatter="empTypeFormat" />
           <el-table-column
-            prop="insuranceTypeName"
+            prop="insuranceType"
             label="社保档位"
             width="240"
+            :formatter="insuranceTypeFormat"
             sortable="custom"
             :sort-orders="['ascending', 'descending']"
           />
@@ -137,12 +138,14 @@
 import '@riophae/vue-treeselect/dist/vue-treeselect.css'
 import { calculateSeniority, toCardGetUserInfo } from '@/utils/myUtil'
 import ExportDialog from '@/components/ExportEmpBase.vue'
+import dictMixin from '../../utils/dictMixin'
 
 export default {
   components: {
     Pagination,
     ExportDialog
   },
+  mixins: [dictMixin],
   data() {
     return {
       dialog: {
@@ -185,96 +188,44 @@
         fileName: '社保四险员工列表.xls'
       },
       tableData: [],
-      sexOptions: [],
-      empStatusOptions: [],
-      insuranceTypeOptions: [],
+      // sexOptions: [],
+      // empStatusOptions: [],
+      // insuranceTypeOptions: [],
       searchInsuranceOptions: [{
         'dicItemName': '(非深户)四险一档',
         'dicItemCode': '7'
       }, {
         'dicItemName': '(非深户)四险二档',
         'dicItemCode': '6'
+      }, {
+        'dicItemName': '外参',
+        'dicItemCode': '10'
+      }, {
+        'dicItemName': '临时工意外险',
+        'dicItemCode': '13'
+      }, {
+        'dicItemName': '甲方购买',
+        'dicItemCode': '14'
       }]
     }
+  },
+  computed: {
+    // 字典选项计算属性
+    sexOptions() { return this.getDictOptions('sex') },
+    empStatusOptions() { return this.getDictOptions('empStatus') },
+    empTypeOptions() { return this.getDictOptions('EMPTYPE') },
+    educationOptions() { return this.getDictOptions('EDUCATION') },
+    nativePlaceOptions() { return this.getDictOptions('NATIVEPLACE') },
+    insuranceTypeOptions() { return this.getDictOptions('INSURANCETYPE') }
   },
   mounted() {
     this.fetch()
     this.initDept()
-    this.getDicts('ageStr').then(response => {
-      this.ageStrOptions = response.data
-    })
-    this.getDicts('PLITICAL').then(response => {
-      this.statusOptions = response.data
-    })
-    this.getDicts('sex').then(response => {
-      this.sexOptions = response.data
-    })
-    this.getDicts('empStatus').then(response => {
-      this.empStatusOptions = response.data
-    })
-    this.getDicts('empType').then(response => {
-      this.empTypeOptions = response.data
-    })
-    this.getDicts('NATION').then(response => {
-      this.nationOptions = response.data
-    })
-    this.getDicts('MARRIAGE').then(response => {
-      this.marriageOptions = response.data
-    })
-    this.getDicts('EDUCATION').then(response => {
-      this.educationOptions = response.data
-    })
-    this.getDicts('NATIVEPLACE').then(response => {
-      this.nativePlaceOptions = response.data
-    })
-    this.getDicts('archivesStatus').then(response => {
-      this.archivesStatusOptions = response.data
-    })
-    this.getDicts('INSURANCETYPE').then(response => {
-      this.insuranceTypeOptions = response.data
-    })
-    this.getDicts('empCardStatus').then(response => {
-      this.empCardStatusOptions = response.data
-    })
-    this.getDicts('handbookStatus').then(response => {
-      this.handbookStatusOptions = response.data
-    })
-    this.getDicts('certificateList').then(response => {
-      this.certificateListOptions = response.data
-    })
-    this.getDicts('PHYSICALEXAMTYPE').then(response => {
-      this.physicalExamTypeOptions = response.data
-    })
-    this.getDicts('ECG').then(response => {
-      this.ecgOptions = response.data
-    })
-    this.getDicts('CONTRACTSTATUS').then(response => {
-      this.contractStatusOptions = response.data
-    })
-    this.getDicts('LEAVETYPE').then(response => {
-      this.leaveTypeOptions = response.data
-    })
-    this.getDicts('applayStatus').then(response => {
-      this.applayStatusOptions = response.data
-    })
-    this.getDicts('reportStatus').then(response => {
-      this.reportStatusOptions = response.data
-    })
-    this.getDicts('hospitalizatioFlag').then(response => {
-      this.hospitalizatioFlagOptions = response.data
-    })
-    this.getDicts('settleStatus').then(response => {
-      this.settleStatusOptions = response.data
-    })
-    this.getDicts('ZCTYPE').then(response => {
-      this.arbitrationTypeOptions = response.data
-    })
-    this.getDicts('changeType').then(response => {
-      this.changeTypeOptions = response.data
-    })
-    this.getDicts('LZTYPE').then(response => {
-      this.dimissionTypeOptions = response.data
-    })
+    this.initDictTypes([
+      'sex', 'empStatus', 'EMPTYPE',
+      'EDUCATION', 'NATIVEPLACE',
+      'INSURANCETYPE'
+    ])
     // this.initJob()
   },
   methods: {
@@ -315,6 +266,7 @@
       return this.selectDictLabel(this.physicalExamTypeOptions, row.physicalExamType)
     },
     empTypeFormat(row, column) {
+      console.log(this.empTypeOptions)
       return this.selectDictLabel(this.empTypeOptions, row.empType)
     },
     sexFormat(row, column) {

--
Gitblit v1.8.0