yubo
2026-04-07 5a2eea76d731bca3490aa6c6bfb3abcade5d11f7
src/views/dashboard/onTheJobUser.vue
@@ -23,23 +23,26 @@
        :data="list"
        row-key="prop1"
        stripe
        :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6'}"
        border
        :cell-style="{padding:'7px 0','text-align':'center'}"
        :header-cell-style="{'height':'5.3vh','background-color':'#e6e6e6','text-align':'center'}"
        style="width: 100%;"
      >
        <el-table-column type="selection" :reserve-selection="false" width="55" />
        <el-table-column show-overflow-tooltip="true" prop="empNumb" label="员工编号" width="100" />
        <el-table-column show-overflow-tooltip="true" prop="deptName" label="护卫点" width="100" />
        <el-table-column show-overflow-tooltip="true" prop="jobName" label="岗位" width="100" />
        <el-table-column show-overflow-tooltip="true" prop="empName" label="姓名" width="100" />
        <el-table-column show-overflow-tooltip="true" prop="certificateNumb" label="身份证号码" />
        <el-table-column show-overflow-tooltip="true" prop="sexName" label="性别" width="100" />
        <el-table-column show-overflow-tooltip="true" prop="age" label="年龄" width="100" />
        <el-table-column show-overflow-tooltip="true" prop="educationName" label="最高学历" width="100" />
        <el-table-column show-overflow-tooltip="true" prop="empTypeName" label="员工类别" width="100" />
        <el-table-column show-overflow-tooltip="true" prop="nativePlaceName" label="籍贯" width="100" />
        <el-table-column show-overflow-tooltip="true" prop="telePhone" label="联系电话" />
        <el-table-column show-overflow-tooltip="true" prop="entryDate" label="入职日期" />
        <el-table-column show-overflow-tooltip="true" prop="empStatus" label="员工状态" width="100">
        <el-table-column show-overflow-tooltip type="index" width="55" label="序号" />
        <el-table-column show-overflow-tooltip prop="empNumb" label="编号" width="80" />
        <el-table-column show-overflow-tooltip prop="allDeptName" label="部门(护卫点)" width="300" />
        <el-table-column show-overflow-tooltip prop="jobName" label="岗位" width="80" />
        <el-table-column show-overflow-tooltip prop="empName" label="姓名" width="100" />
        <el-table-column show-overflow-tooltip prop="certificateNumb" label="身份证号码" min-width="120" />
        <el-table-column show-overflow-tooltip prop="sex" :formatter="sexFormat" label="性别" width="60" />
        <el-table-column show-overflow-tooltip prop="age" label="年龄" width="60" />
        <el-table-column show-overflow-tooltip prop="education" :formatter="educationFormat" label="最高学历" width="80" />
        <el-table-column show-overflow-tooltip prop="empType" :formatter="empTypeFormat" label="员工类别" width="80" />
        <el-table-column show-overflow-tooltip prop="nativePlace" :formatter="nativePlaceFormat" label="籍贯" width="80" />
        <el-table-column show-overflow-tooltip prop="telePhone" label="联系电话" width="110" />
        <el-table-column show-overflow-tooltip prop="entryDate" label="入职日期" width="110" />
        <el-table-column show-overflow-tooltip prop="insuranceTypeName" label="社保档位" min-width="120" />
        <el-table-column show-overflow-tooltip prop="empStatus" label="员工状态" width="80">
          <template slot-scope="scope">
            <span>{{ gzdStateList[scope.row.empStatus] }}&nbsp;</span>
          </template>
@@ -59,10 +62,12 @@
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
import dictMixin from '../../utils/dictMixin'
export default {
  components: {
    Pagination
  },
  mixins: [dictMixin],
  props: {
    dialogVisible: {
      type: Boolean,
@@ -99,7 +104,7 @@
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        size: 15,
        num: 1
      },
      list: [], // 给table显示的数据
@@ -107,6 +112,12 @@
        children: 'children',
        label: 'label'
      }
      // educationOptions: [],
      // nativePlaceOptions: [],
      // insuranceOptions: [],
      // sexOptions: [],
      // empTypeOptions: [],
      // nationOptions: []
    }
  },
  computed: {
@@ -114,9 +125,60 @@
      get() {
        return this.dialogVisible
      }
    }
    },
    // 字典选项计算属性
    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') },
    nationOptions() { return this.getDictOptions('NATION') }
  },
  mounted() {
    this.initDictTypes([
      'sex', 'NATION', 'EMPTYPE',
      'EDUCATION', 'NATIVEPLACE',
      'INSURANCETYPE'
    ])
    // this.getDicts('EDUCATION').then(response => {
    //   this.educationOptions = response.data
    // })
    // this.getDicts('NATIVEPLACE').then(response => {
    //   this.nativePlaceOptions = response.data
    // })
    // this.getDicts('sex').then(response => {
    //   this.sexOptions = response.data
    // })
    // this.getDicts('empType').then(response => {
    //   this.empTypeOptions = response.data
    // })
    // this.getDicts('NATION').then(response => {
    //   this.nationOptions = response.data
    // })
    // this.getDicts('INSURANCETYPE').then(response => {
    //   this.insuranceTypeOptions = response.data
    // })
  },
  methods: {
    educationFormat(row, column) {
      return this.selectDictLabel(this.educationOptions, row.education)
    },
    nativePlaceFormat(row, column) {
      return this.selectDictLabel(this.nativePlaceOptions, row.nativePlace)
    },
    insuranceTypeFormat(row, colum) {
      return this.selectDictLabel(this.insuranceTypeOptions, row.insuranceType)
    },
    empTypeFormat(row, column) {
      return this.selectDictLabel(this.empTypeOptions, row.empType)
    },
    sexFormat(row, column) {
      return this.selectDictLabel(this.sexOptions, row.sex)
    },
    nationFormat(row, column) {
      return this.selectDictLabel(this.nationOptions, row.nation)
    },
    beforeClose(done) {
      this.$emit('cancleChooseUser')
    },