yubo
2026-04-06 6448ec15bfe0b65fb822a662105bceddc23b58d8
src/views/dashboard/tjUser.vue
@@ -24,23 +24,24 @@
        row-key="prop1"
        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 show-overflow-tooltip type="selection" :reserve-selection="false" width="55" />
        <el-table-column show-overflow-tooltip prop="empNumb" label="员工编号" width="100" />
        <el-table-column show-overflow-tooltip prop="deptName" label="护卫点" width="100" />
        <el-table-column show-overflow-tooltip prop="empName" label="员工姓名" width="100" />
        <el-table-column show-overflow-tooltip prop="certificateNumb" label="身份证号码" />
        <el-table-column show-overflow-tooltip type="index" width="55" label="序号" />
        <el-table-column show-overflow-tooltip prop="empNumb" label="编号" width="100" />
        <el-table-column show-overflow-tooltip prop="allDeptName" label="部门(护卫点)" width="300" />
        <el-table-column show-overflow-tooltip prop="empName" label="姓名" width="80" />
        <el-table-column show-overflow-tooltip prop="certificateNumb" label="身份证号码" width="120" />
        <el-table-column show-overflow-tooltip prop="jobName" label="岗位" width="80" />
        <el-table-column show-overflow-tooltip prop="hospital" label="体检医院" width="100" />
        <el-table-column show-overflow-tooltip prop="physicalExamDate" label="体检日期" width="100" />
        <el-table-column show-overflow-tooltip prop="physicalExamType" :formatter="typeFormat" label="体检类型" />
        <el-table-column show-overflow-tooltip prop="bloodPressure" label="血压" width="80" />
        <el-table-column show-overflow-tooltip prop="transaminase" label="转氨酶" width="80" />
        <el-table-column show-overflow-tooltip prop="ecg" label="心电图" width="80" />
        <el-table-column show-overflow-tooltip prop="conclusion" label="体检结论" />
        <el-table-column show-overflow-tooltip prop="reviewRecord" label="复查记录" />
        <el-table-column show-overflow-tooltip prop="physicalExamType" :formatter="typeFormat" label="体检类型" width="80" />
        <el-table-column show-overflow-tooltip prop="bloodPressure" label="血压" width="60" />
        <el-table-column show-overflow-tooltip prop="transaminase" label="转氨酶" width="70" />
        <el-table-column show-overflow-tooltip prop="ecg" label="心电图" width="70" />
        <el-table-column show-overflow-tooltip prop="conclusion" label="体检结论" min-width="100" />
        <el-table-column show-overflow-tooltip prop="reviewRecord" label="复查记录" min-width="100" />
        <el-table-column show-overflow-tooltip prop="remark" label="备注" />
      </el-table>
      <pagination
@@ -57,10 +58,12 @@
<script>
// 引用翻页组件
import Pagination from '@/components/Pagination'
import dictMixin from '../../utils/dictMixin'
export default {
  components: {
    Pagination
  },
  mixins: [dictMixin],
  props: {
    dialogVisible: {
      type: Boolean,
@@ -92,16 +95,16 @@
      }, // 查询参数
      sort: {}, // 排序
      pagination: { // 分页参数
        size: 5,
        size: 15,
        num: 1
      },
      list: [], // 给table显示的数据
      defaultProps: {
        children: 'children',
        label: 'label'
      },
      ecgOptions: [],
      physicalExamTypeOptions: []
      }
      // ecgOptions: [],
      // physicalExamTypeOptions: []
    }
  },
  computed: {
@@ -109,15 +112,14 @@
      get() {
        return this.dialogVisible
      }
    }
    },
    // 字典选项计算属性
    physicalExamTypeOptions() { return this.getDictOptions('PHYSICALEXAMTYPE') },
    ecgOptions() { return this.getDictOptions('ECG') }
  },
  mounted() {
    this.getDicts('PHYSICALEXAMTYPE').then(response => {
      this.physicalExamTypeOptions = response.data
    })
    this.getDicts('ECG').then(response => {
      this.ecgOptions = response.data
    })
    // 字典数据已在登录时预加载,直接从 Vuex 获取
    this.initDictTypes(['PHYSICALEXAMTYPE', 'ECG'])
  },
  methods: {
    typeFormat(row, column) {