yubo
2026-04-06 6448ec15bfe0b65fb822a662105bceddc23b58d8
src/views/dashboard/sbUser.vue
@@ -2,9 +2,11 @@
  <el-dialog
    :title="title"
    top="50px"
    width="80%"
    :close-on-click-modal="false"
    :close-on-press-escape="false"
    :visible.sync="isVisible"
    :before-close="beforeClose"
  >
    <div class="app-container">
      <div class="filter-container" style="margin-left: -340px;">
@@ -20,21 +22,25 @@
        ref="multipleTable"
        :data="list"
        row-key="prop1"
        width="50%"
        stripe
        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 prop="empNumb" label="员工编号" width="180" />
        <el-table-column prop="deptName" label="护卫点" width="180" />
        <el-table-column prop="jobName" label="岗位名称" width="180" />
        <el-table-column prop="empName" label="姓名" width="180" />
        <el-table-column prop="certificateNumb" label="身份证号码" width="180" />
        <el-table-column prop="applayDate" label="社保申请日期" width="180" />
        <el-table-column prop="proposer" label="申请人" width="180" />
        <el-table-column prop="insuranceGaers" label="社保档位" width="180" />
        <el-table-column prop="reportStatus " label="是否已报告" width="180" />
        <el-table-column prop="applayStatus" label="状态" width="180" />
        <el-table-column prop="auditor" label="审核人" width="180" />
        <el-table-column prop="remark" label="备注" width="280" />
        <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="80" />
        <el-table-column show-overflow-tooltip prop="certificateNumb" label="身份证号码" width="140" />
        <el-table-column show-overflow-tooltip prop="applayDate" label="社保申请日期" min-width="120" />
        <el-table-column show-overflow-tooltip prop="proposer" label="申请人" width="80" />
        <el-table-column show-overflow-tooltip prop="insuranceGaers" :formatter="insuranceGaersFormat" label="社保档位" width="100" />
        <el-table-column show-overflow-tooltip prop="reportStatus" :formatter="reportStatusFormat" label="是否已报告" width="100" />
        <el-table-column show-overflow-tooltip prop="applayStatus" :formatter="applayStatusFormat" label="状态" width="80" />
        <el-table-column show-overflow-tooltip prop="auditor" label="审核人" width="80" />
        <el-table-column show-overflow-tooltip prop="remark" label="备注" />
      </el-table>
      <pagination
        v-show="total>0"
@@ -50,10 +56,12 @@
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
import dictMixin from '../../utils/dictMixin'
export default {
  components: {
    Pagination
  },
  mixins: [dictMixin],
  props: {
    dialogVisible: {
      type: Boolean,
@@ -85,7 +93,7 @@
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        size: 15,
        num: 1
      },
      list: [], // 给table显示的数据
@@ -93,6 +101,9 @@
        children: 'children',
        label: 'label'
      }
      // insuranceGaersOptions: [],
      // applayStatusOptions: [],
      // reportStatusOptions: []
    }
  },
  computed: {
@@ -100,9 +111,29 @@
      get() {
        return this.dialogVisible
      }
    }
    },
    // 字典选项计算属性
    insuranceGaersOptions() { return this.getDictOptions('INSURANCETYPE') },
    applayStatusOptions() { return this.getDictOptions('applayStatus') },
    reportStatusOptions() { return this.getDictOptions('reportStatus') }
  },
  mounted() {
    // 字典数据已在登录时预加载,直接从 Vuex 获取
    this.initDictTypes(['INSURANCETYPE', 'applayStatus', 'reportStatus'])
  },
  methods: {
    insuranceGaersFormat(row, column) {
      return this.selectDictLabel(this.insuranceGaersOptions, row.insuranceGaers)
    },
    reportStatusFormat(row, column) {
      return this.selectDictLabel(this.reportStatusOptions, row.reportStatus)
    },
    applayStatusFormat(row, column) {
      return this.selectDictLabel(this.applayStatusOptions, row.applayStatus)
    },
    beforeClose(done) {
      this.$emit('cancleChooseUser')
    },
    search() {
      this.fetch({
        ...this.queryParams