From 1446994d504819c367e1ff667360eadb314f9ac6 Mon Sep 17 00:00:00 2001
From: yxh <172933527@qq.com>
Date: 星期日, 18 十月 2026 16:52:18 +0800
Subject: [PATCH] 修改了诊室工号
---
src/views/ecg/queue/index.vue | 194 ++++++++++++++++++++++++++++--------------------
1 files changed, 112 insertions(+), 82 deletions(-)
diff --git a/src/views/ecg/queue/index.vue b/src/views/ecg/queue/index.vue
index 6e071dd..a4152ac 100644
--- a/src/views/ecg/queue/index.vue
+++ b/src/views/ecg/queue/index.vue
@@ -36,7 +36,7 @@
<el-input v-model="queryParams.roomId" placeholder="璇疯緭鍏ヨ瘖瀹ょ紪鍙�" clearable @keyup.enter="handleQuery"
class="!w-240px" />
</el-form-item>
- <el-form-item label="璇婄枟搴婂彿" prop="bedNo">
+ <el-form-item label="璇婂宸ヤ綅" prop="bedNo">
<el-input v-model="queryParams.bedNo" placeholder="璇疯緭鍏ヨ瘖鐤楀簥鍙�" clearable @keyup.enter="handleQuery"
class="!w-240px" />
</el-form-item>
@@ -74,58 +74,31 @@
<!-- 鍒楄〃 -->
<ContentWrap>
- <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true">
- <el-table-column label="鎿嶄綔" align="center" min-width="120px">
- <template #default="scope">
- <!-- <el-button
- link
- type="primary"
- @click="openAppointmentForm('preview', scope.row.patId, scope.row.bookCheckType)"
- v-hasPermi="['ecg:appointment:preview']"
- >
- 鏌ョ湅
- </el-button>-->
- <!--
- <el-button
- link
- type="danger"
- @click="handleDelete(scope.row.id)"
- v-hasPermi="['ecg:queue:delete']"
- >
- 鍒犻櫎
- </el-button>
- -->
- <el-button link type="danger" @click="handleJump(scope.row)" v-if="scope.row.status === 10"
- v-hasPermi="['ecg:queue:jump']">
- {{ scope.row.jumpFlag === 0 ? "鍔犳��" : "鍙栨秷鍔犳��" }}
- </el-button>
- <el-button link type="danger" @click="recall(scope.row)"
- v-if="scope.row.status === 3 || scope.row.status === 5 || scope.row.status === 7"
- v-hasPermi="['ecg:queue:recall']">
- 鍙洖
- </el-button>
- <el-button link type="danger" @click="passWaitingPatient(scope.row)" v-if="scope.row.status === 10"
- v-hasPermi="['ecg:queue:pass']">
- 杩囧彿
- </el-button>
- </template>
- </el-table-column>
+ <el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true"
+ :row-class-name="queueRowClass">
<!-- <el-table-column label="id" align="center" prop="id" />-->
- <el-table-column label="鐢宠鍗曞彿" align="center" prop="applyNo" min-width="110px" />
- <el-table-column label="鎺掗槦搴忓彿" align="center" prop="seqNum" />
- <el-table-column label="棰勭害鍙�" align="center" prop="bookSeqNum" />
- <el-table-column label="杩囧彿鏍囪" align="center" prop="passed" />
- <el-table-column label="鎮h�呯紪鍙�" align="center" prop="patId" />
- <el-table-column label="鎮h�呭鍚�" align="center" prop="patName" min-width="90px" /><el-table-column label="妫�鏌ラ」鐩�"
- align="center" prop="bookCheckType" min-width="100px">
+ <el-table-column label="鐢宠鍗曞彿" align="center" prop="applyNo" min-width="110px" />
+ <el-table-column label="妫�鏌ラ」鐩�" align="center" prop="bookCheckType" min-width="150px">
<template #default="scope">
{{ getCheckTypeName(scope.row.bookCheckType) }}
</template>
</el-table-column>
- <el-table-column label="鏉ユ簮" align="center" width="90px">
+ <!--
+ 鎺掗槦鍙凤紙鏈渶姹傦級锛氬彧淇濈暀 seq_num 涓�涓彿锛屾樉绀轰负銆屾鏌ラ」鐩墠缂� + 鍙枫�嶃��
+ 鍘熸潵鐨勩�屾帓闃熷簭鍙�(bookSeqNum)銆嶅垪宸插垹闄� 鈥斺�� 瀹冨拰銆屾鏌ュ簭鍙�(seqNum)銆嶅苟瀛樻鏄彿娣蜂贡鐨勬潵婧愩��
+ 鍙锋寜妫�鏌ラ」鐩悇鑷紪鍙凤紝涓嶅悓妫�鏌ラ」鐩細鍑虹幇鐩稿悓鏁板瓧锛屾晠鐢ㄥ墠缂�鍖哄垎銆�
+ -->
+ <el-table-column label="鎺掗槦搴忓彿" align="center" prop="seqNum">
<template #default="scope">
- <!-- 浼樺厛鐢ㄩ绾﹀崟骞抽摵鍊硷紝鍥為��鍒� patDetails 蹇収 -->
- <dict-tag :type="DICT_TYPE.ECG_PAT_SOURCE" :value="scope.row.patSrc ?? scope.row.patDetails?.source ?? 0" />
+ {{ getCheckTypeSeqPrefix(scope.row.bookCheckType) }}{{ scope.row.seqNum ?? '-' }}
+ </template>
+ </el-table-column>
+ <!-- <el-table-column label="杩囧彿鏍囪" align="center" prop="passed" /> -->
+ <el-table-column label="鎮h�呯紪鍙�" align="center" prop="patId" />
+ <el-table-column label="濮撳悕" align="center" min-width="200px">
+ <template #default="scope">
+ {{ scope.row.patName }} <dict-tag :type="DICT_TYPE.SYSTEM_USER_SEX" :value="scope.row.patGender" />{{ formatAge(scope.row.patBirthday) }}
+ <dict-tag :type="DICT_TYPE.ECG_PAT_SOURCE" :value="scope.row.patSrc" />
</template>
</el-table-column>
<el-table-column label="棰勭害鏃舵" align="center" prop="bookTimeslot" min-width="100px">
@@ -133,12 +106,36 @@
<dict-tag :type="DICT_TYPE.ECG_BOOK_TIMESLOT" :value="scope.row.bookTimeslot" />
</template>
</el-table-column>
- <el-table-column label="鐘舵��" align="center" prop="status">
+ <el-table-column label="鐘舵��" align="center" prop="status" width="90px">
<template #default="scope">
<dict-tag :type="DICT_TYPE.ECG_QUEUE_STATUS" :value="scope.row.status" />
</template>
+ </el-table-column>
+ <el-table-column label="澶氳�愯嵂" align="center" prop="tolerance">
+ <template #default="scope">
+ <!-- 闇�姹�6锛氬鑰愯蛋瀛楀吀锛汵ULL 鎸�"鏃�"鏄剧ず锛圦12锛� -->
+ <dict-tag :type="DICT_TYPE.ECG_TOLERANCE" :value="scope.row.tolerance ?? 0" />
+ </template>
</el-table-column>
- <el-table-column label="VIP" align="center" prop="isVip" />
+ <!-- VIP锛氭樉绀恒�屾槸/鍚︺�嶄腑鏂囷紙鍘熷厛鐩存帴鏄剧ず 0/1锛夈�傚瓧鍏� infra_boolean_string = true/鏄�乫alse/鍚� -->
+ <el-table-column label="VIP" align="center" width="80px">
+ <template #default="scope">
+ <dict-tag :type="DICT_TYPE.INFRA_BOOLEAN_STRING" :value="Number(scope.row.isVip) === 1" />
+ </template>
+ </el-table-column>
+ <el-table-column label="寮�鍗曞尰甯�" align="center" prop="doctor" min-width="100px">
+ <template #default="scope">{{ scope.row.doctor || '-' }}</template>
+ </el-table-column>
+ <!-- 闇�姹�1锛氬尰鍢卞彿锛圚IS observationRequest.id.item[root=2.16.156.10011.1.28]锛夈��
+ 璇ヨ妭鐐瑰湪瑙勮寖涓潪蹇呴』椤癸紝鍘嗗彶鏁版嵁锛堟柊澧炲垪涔嬪墠閲囬泦鐨勶級涓虹┖锛屾樉绀� '-'銆� -->
+ <el-table-column label="鍖诲槺鍙�" align="center" prop="doctorAdviceNo" min-width="110px">
+ <template #default="scope">
+ {{ scope.row.doctorAdviceNo || '-' }}
+ </template>
+ </el-table-column>
+ <el-table-column label="璇婂缂栧彿" align="center" prop="roomId" />
+ <el-table-column label="璇婂鍚嶇О" align="center" prop="roomName" />
+ <el-table-column label="璇婂宸ヤ綅" align="center" prop="bedNo" />
<el-table-column label="灏辫瘖鍙�" align="center" prop="episodeId" min-width="110px" />
<!-- 鏈垪鏍囩鐢便�屽氨璇婂崱鍙枫�嶆敼涓恒�岄棬璇婂彿銆嶏紙缁忕‘璁わ級銆傚師鍥狅紙璇﹁銆婇儴缃叉竻鍗曘��5.1锛夛細
HIS 鍦ㄥ崱鍙锋Ы浣嶄紶绌猴紝medical_card 鍏ㄥ簱 159,116 琛�**鏃犱竴闈炵┖**锛�
@@ -152,23 +149,6 @@
</el-tag>
</template>
</el-table-column>
- <!-- 闇�姹�1锛氬尰鍢卞彿锛圚IS observationRequest.id.item[root=2.16.156.10011.1.28]锛夈��
- 璇ヨ妭鐐瑰湪瑙勮寖涓潪蹇呴』椤癸紝鍘嗗彶鏁版嵁锛堟柊澧炲垪涔嬪墠閲囬泦鐨勶級涓虹┖锛屾樉绀� '-'銆� -->
- <el-table-column label="鍖诲槺鍙�" align="center" prop="doctorAdviceNo" min-width="110px">
- <template #default="scope">
- {{ scope.row.doctorAdviceNo || '-' }}
- </template>
- </el-table-column>
- <el-table-column label="鎬у埆" align="center" prop="patGender" width="70px">
- <template #default="scope">{{ genderFormat(scope.row.patGender) }}</template>
- </el-table-column>
- <el-table-column label="鍑虹敓鏃ユ湡" align="center" min-width="110px">
- <template #default="scope">{{ formatDateOnly(scope.row.patBirthday) }}</template>
- </el-table-column>
- <el-table-column label="骞撮緞" align="center" width="80px">
- <template #default="scope">{{ formatAge(scope.row.patBirthday) }}</template>
- </el-table-column>
-
<el-table-column label="鐥呭尯" align="center" min-width="110px">
<template #default="scope">{{ scope.row.patWardDesc || scope.row.patDetails?.wardDesc || '-' }}</template>
</el-table-column>
@@ -179,35 +159,47 @@
{{ scope.row.patBedNo || scope.row.patDetails?.bedNo || '-' }}
</template>
</el-table-column>
+
+ <el-table-column label="鍑虹敓鏃ユ湡" align="center" min-width="110px">
+ <template #default="scope">{{ formatDateOnly(scope.row.patBirthday) }}</template>
+ </el-table-column>
<el-table-column label="鎮h�呯數璇�" align="center" min-width="120px">
<template #default="scope">
{{ scope.row.patMobile || scope.row.patPhone || scope.row.patDetails?.mobile || '-' }}
</template>
- </el-table-column>
- <el-table-column label="鐧昏鏃堕棿" align="center" min-width="150px">
- <template #default="scope">{{ formatDateTime(scope.row.registerDate) }}</template>
- </el-table-column>
+ </el-table-column>
<el-table-column label="寮�鍗曟棩鏈�" align="center" min-width="150px">
<template #default="scope">{{ formatDateTime(scope.row.doctorTime) }}</template>
</el-table-column>
<el-table-column label="璺濅粖澶╂暟" align="center" width="90px">
<template #default="scope">{{ formatDaysFromOrder(scope.row.doctorTime) }}</template>
</el-table-column>
- <el-table-column label="寮�鍗曞尰甯�" align="center" prop="doctor" min-width="100px">
- <template #default="scope">{{ scope.row.doctor || '-' }}</template>
+ <el-table-column label="杩囨湡鏍囪" align="center" prop="expired" />
+ <el-table-column label="鐧昏鏃堕棿" align="center" min-width="150px">
+ <template #default="scope">{{ formatDateTime(scope.row.registerDate) }}</template>
</el-table-column>
-
- <el-table-column label="澶氳�愯嵂" width="150" align="center" prop="tolerance">
+ <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" :formatter="dateFormatter" width="180px" />
+ <!-- 鎿嶄綔鍒楋細鍥哄畾鍦ㄥ垪琛ㄦ渶鍚庝綅缃紙fixed="right" 淇濊瘉濮嬬粓璐村湪鏈�鍙充晶锛�
+ 鎸夐挳閰嶈壊涓庛�岄绾﹁褰曘�嶆ā鍧楃殑鎿嶄綔鍒椾繚鎸佷竴鑷达細
+ 鍔犳�� / 杩囧彿 鈫� 鍚岃妯″潡銆岀紪杈戙�嶆寜閽紙type=primary plain锛�
+ 鍙洖 鈫� 鍚岃妯″潡銆屽垹闄ゃ�嶆寜閽紙type=danger plain锛� -->
+ <el-table-column label="鎿嶄綔" fixed="right" align="center" width="180px">
<template #default="scope">
- <!-- 闇�姹�6锛氬鑰愯蛋瀛楀吀锛汵ULL 鎸�"鏃�"鏄剧ず锛圦12锛� -->
- <dict-tag :type="DICT_TYPE.ECG_TOLERANCE" :value="scope.row.tolerance ?? 0" />
+ <el-button type="primary" plain size="small" @click="handleJump(scope.row)" v-if="scope.row.status === 10"
+ v-hasPermi="['ecg:queue:jump']">
+ {{ scope.row.jumpFlag === 0 ? "鍔犳��" : "鍙栨秷鍔犳��" }}
+ </el-button>
+ <el-button type="primary" plain size="small" @click="passWaitingPatient(scope.row)"
+ v-if="scope.row.status === 10" v-hasPermi="['ecg:queue:pass']">
+ 杩囧彿
+ </el-button>
+ <el-button type="danger" plain size="small" @click="recall(scope.row)"
+ v-if="scope.row.status === 3 || scope.row.status === 5 || scope.row.status === 7"
+ v-hasPermi="['ecg:queue:recall']">
+ 鍙洖
+ </el-button>
</template>
</el-table-column>
- <el-table-column label="杩囨湡鏍囪" align="center" prop="expired" />
- <el-table-column label="璇婂缂栧彿" align="center" prop="roomId" />
- <el-table-column label="璇婂鍚嶇О" align="center" prop="roomName" />
- <el-table-column label="璇婄枟搴婂彿" align="center" prop="bedNo" />
- <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" :formatter="dateFormatter" width="180px" />
</el-table>
<!-- 鍒嗛〉 -->
<Pagination :total="total" v-model:page="queryParams.pageNo" v-model:limit="queryParams.pageSize"
@@ -230,7 +222,7 @@
import { useCheckTypeStore } from "@/store/modules/checkType";
import AppointmentForm from "@/views/ecg/appointment/AppointmentForm.vue";
import { genderFormat } from "@/utils/stringUtil";
-import { getCheckTypeName } from "../../../utils/checkTypeFormatter";
+import { getCheckTypeName, getCheckTypeSeqPrefix } from "../../../utils/checkTypeFormatter";
// 闇�姹�1锛氭偅鑰呬俊鎭� 18 椤圭殑鍏叡鏍煎紡鍖栵紙骞撮緞銆佽窛浠婂ぉ鏁扮瓑锛�
import { formatAge, formatDaysFromOrder, formatDateTime, formatDateOnly, resolveCardNo } from '@/utils/patientInfo'
@@ -385,4 +377,42 @@
console.info("queue onActivated...")
handleQuery()
})
+
+/**
+ * 闃熷垪琛屾牱寮忥細鎶娿�屽凡杩囧彿銆嶇殑璁板綍鏁磋鏍囩孩锛屾柟渚垮尰鐢熶竴鐪艰瘑鍒��
+ *
+ * 涓轰粈涔堟寜琛岄珮浜�屼笉鏄彧缁欑姸鎬佹爣绛句笂鑹诧細
+ * 路 瀛楀吀 ecg_queue_status 閲� 13 涓姸鎬�**閮芥病鏈夐厤 color_type**锛�
+ * 鎵�浠� dict-tag 娓叉煋鍑烘潵鍏ㄦ槸榛樿鐏拌壊鏍囩锛屽郊姝ゆ病鏈夊尯鍒嗗害锛�
+ * 路 杩囧彿鏄渶闇�瑕佽娉ㄦ剰鐨勭姸鎬侊紙鎮h�呴敊杩囦簡鍙彿锛夛紝鏁磋鏍囪壊姣斿皬鏍囩鏇撮啋鐩��
+ *
+ * 宸茶繃鍙风姸鎬佸�硷紙瀛楀吀 ecg_queue_status锛夛細
+ * 3 = 宸茶繃鍙�-鎺掗槦銆�5 = 宸茶繃鍙枫��7 = 宸茶繃鍙�-瀹夎
+ */
+const PASSED_STATUSES = [3, 5, 7]
+const queueRowClass = ({ row }: { row: QueueVO }) => {
+ return PASSED_STATUSES.includes(Number(row.status)) ? 'queue-row-passed' : ''
+}
</script>
+
+<style scoped lang="scss">
+/* 宸茶繃鍙凤細鏁磋娴呯孩搴� + 宸︿晶绾㈣壊绔栨潯锛屾壂涓�鐪煎氨鑳藉畾浣� */
+:deep(.el-table .queue-row-passed) {
+ /* el-table 鐨勮鑳屾櫙鍙栬嚜璇ュ彉閲忥紝瑕嗗啓瀹冨彲璁╄搴曡壊鏁翠綋鍙樼孩 */
+ --el-table-tr-bg-color: var(--el-color-danger-light-9);
+
+ td.el-table__cell {
+ background-color: var(--el-color-danger-light-9);
+ }
+
+ /* 宸︿晶绔栨潯鐢� border-left 鑰岄潪 box-shadow锛氫笌 el-table 鐨勫崟鍏冩牸杈规妯″瀷鏇村吋瀹� */
+ td.el-table__cell:first-child {
+ border-left: 4px solid var(--el-color-danger);
+ }
+
+ /* 榧犳爣鎮仠鏃朵繚鎸佺孩鑹插熀璋冿紝閬垮厤琚� el-table 鐨� hover 鑳屾櫙瑕嗙洊 */
+ &:hover>td.el-table__cell {
+ background-color: var(--el-color-danger-light-8) !important;
+ }
+}
+</style>
--
Gitblit v1.9.3