eight
2024-12-03 4be1c5f30a0662383d01c185d3183ed9518fb4a5
预约序号前缀
已修改7个文件
57 ■■■■ 文件已修改
src/api/ecg/checktype/index.ts 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/store/modules/checkType.ts 7 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/callingscreen/bigscreen.vue 8 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/callingscreen/roomscreen.vue 25 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/checktype/CheckTypeForm.vue 11 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/checktype/index.vue 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/ecg/doctor/components/QueuePanel.vue 4 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/ecg/checktype/index.ts
@@ -14,6 +14,7 @@
  timeslotReservedNum: number // 每时段预留人数
  affinityCheckTypes: number[] | null// 亲和的检查类型
  notes: string  // 预约注意事项
  seqPrefix: string // 序号前缀
}
// 检查类型 API
src/store/modules/checkType.ts
@@ -10,6 +10,7 @@
  name: string
  displayBarcode: []
  notes: string
  seqPrefix: string // 序号前缀
}
export interface CheckTypeState {
  checkTypeMap: Map<number, CheckTypeSimpleVO>
@@ -84,6 +85,12 @@
      }
      return this.checkTypeMap[type].notes
    },
    getCheckTypeSeqPrefix(type: number) {
      if (!this.isSetCheckType) {
        this.setCheckTypeMap()
      }
      return this.checkTypeMap[type].seqPrefix
    },
    async resetCheckTypeInfo() {
      wsCache.delete(CACHE_KEY.CHECKTYPE_CACHE)
      const res = await CheckTypeApi.getSimpleCheckTypeList()
src/views/ecg/callingscreen/bigscreen.vue
@@ -3,8 +3,11 @@
import {ScreenApi, ScreenQueueVO} from "@/api/ecg/screen";
import {CallApi, CallVO} from "@/api/ecg/call";
import {queueStatusConvert} from "@/utils/statusFormatter";
import {useCheckTypeStore} from "@/store/modules/checkType";
defineOptions({ name: 'bigscreen' })
const checkTypeStore = useCheckTypeStore()
const displayColInfo = ref({})
@@ -112,7 +115,10 @@
      <div v-for="[disColId2, mapSlot] of Object.entries(list)" :key="disColId2" style="width: 300px; height: 100%; border-left: solid 2px var(--el-color-primary-light-7) ">
        <div v-for="[slotId, slotQueue] of Object.entries(mapSlot)" :key="slotId">
          <div v-for="(item, index) in slotQueue" :key="index" :class="getItemCssClass(item)">
            {{item.bookSeqNum}} &nbsp; {{ nameDesensitize(item.patName) }} {{queueStatusConvert(item.status)}} {{item.roomName}}
            <span style="display:inline-block; width:60px;">{{checkTypeStore.getCheckTypeSeqPrefix(item.bookCheckType)}}{{item.bookSeqNum}}</span>
            <span style="display:inline-block; width:80px;">{{ nameDesensitize(item.patName) }} </span>
            <span style="display:inline-block; width:80px;">{{queueStatusConvert(item.status)}} </span>
            {{item.roomName}}
          </div>
        </div>
      </div>
src/views/ecg/callingscreen/roomscreen.vue
@@ -115,14 +115,29 @@
      >
        <el-table-column
            prop="patName"
            label="患者姓名"
            width="220">
            label="预约序号"
            width="60px">
          <template #default="scope">
            {{scope.row.bookSeqNum}} &nbsp; {{ nameDesensitize(scope.row.patName) }}
            {{scope.row.bookCheckType && checkTypeStore.getCheckTypeName(scope.row.bookCheckType)}}
            <span style="display:inline-block; width:60px;">{{checkTypeStore.getCheckTypeSeqPrefix(scope.row.bookCheckType)}}{{scope.row.bookSeqNum}} </span>
          </template>
        </el-table-column>
        <el-table-column label="状态" align="center" width="100">
        <el-table-column
            prop="patName"
            label="患者姓名"
            width="80px">
          <template #default="scope">
            <span style="display:inline-block; width:80px;">{{ nameDesensitize(scope.row.patName) }} </span>
          </template>
        </el-table-column>
        <el-table-column
            prop="patName"
            label="检查项目"
            width="80px">
          <template #default="scope">
            <span style="display:inline-block; width:80px;">{{scope.row.bookCheckType && checkTypeStore.getCheckTypeName(scope.row.bookCheckType)}} </span>
          </template>
        </el-table-column>
        <el-table-column label="状态" align="center" width="100px">
          <template #default="scope">
<!--            <dict-tag :type="DICT_TYPE.ECG_QUEUE_STATUS" :value="scope.row.status" />-->
            {{queueStatusConvert(scope.row.status)}}
src/views/ecg/checktype/CheckTypeForm.vue
@@ -46,7 +46,10 @@
        <el-input v-model="formData.timeslotReservedNum" placeholder="请输入每时段预留人数" />
      </el-form-item>
      <el-form-item label="预约注意事项" prop="notes">
        <el-input v-model="formData.notes" placeholder="请预约注意事项" />
        <el-input v-model="formData.notes" placeholder="请输入预约注意事项" />
      </el-form-item>
      <el-form-item label="序号前缀" prop="notes">
        <el-input v-model="formData.seqPrefix" placeholder="请输入序号前缀" />
      </el-form-item>
      <el-form-item label="亲和的检查类型" prop="affinityCheckTypes">
        <el-checkbox-group v-model="formData.affinityCheckTypes">
@@ -89,7 +92,8 @@
  timeslotBookNum: undefined,
  timeslotReservedNum: undefined,
  affinityCheckTypes: [],
  notes: undefined
  notes: undefined,
  seqPrefix: undefined
})
const formRules = reactive({
})
@@ -151,7 +155,8 @@
    timeslotBookNum: undefined,
    timeslotReservedNum: undefined,
    affinityCheckTypes: [],
    notes: undefined
    notes: undefined,
    seqPrefix: undefined
  }
  formRef.value?.resetFields()
}
src/views/ecg/checktype/index.vue
@@ -143,6 +143,7 @@
      <el-table-column label="时段预约规定人数" align="center" prop="timeslotBookNum" />
      <el-table-column label="每时段预留人数" align="center" prop="timeslotReservedNum" />
      <el-table-column label="预约注意事项" align="center" prop="notes" />
      <el-table-column label="序号前缀" align="center" prop="seqPrefix" />
      <el-table-column label="亲和的检查类型" align="center" prop="affinityCheckTypes" >
        <template #default="scope">
          <div v-for="(checkType, subIndex) in scope.row.affinityCheckTypes" :key="subIndex">
src/views/ecg/doctor/components/QueuePanel.vue
@@ -51,7 +51,9 @@
<template>
<div v-for="(item, index) in queue" :key="index">
  <span style="display:inline-block; width:120px;"> {{item.seqNum}} &nbsp; {{item.bookSeqNum}} &nbsp; {{item.patName}}{{item.passed === 0 ? "":"*"}} </span>
  <span style="display:inline-block; width:30px;"> {{item.seqNum}} </span>
  <span style="display:inline-block; width:40px;"> {{checkTypeStore.getCheckTypeSeqPrefix(item.bookCheckType)}}{{item.bookSeqNum}} </span>
  <span style="display:inline-block; width:70px;"> &nbsp; {{item.patName}}{{item.passed === 0 ? "":"*"}} </span>
  <dict-tag :type="DICT_TYPE.SYSTEM_USER_SEX" :value="item.patGender" />
<!--  {{item.roomName}} {{item.bedNo}}-->
  {{checkTypeStore.getCheckTypeName(item.bookCheckType)}}