From fe28e1fe081c83b703d5c10b3ebe017a69da9b3d Mon Sep 17 00:00:00 2001
From: eight <641137800@qq.com>
Date: 星期五, 11 四月 2025 16:52:29 +0800
Subject: [PATCH] 大屏 增加 运行 指示圆点

---
 src/views/ecg/queue/index.vue |  127 ++++++++++++++++++++++++++----------------
 1 files changed, 79 insertions(+), 48 deletions(-)

diff --git a/src/views/ecg/queue/index.vue b/src/views/ecg/queue/index.vue
index a218a4a..e8c0f84 100644
--- a/src/views/ecg/queue/index.vue
+++ b/src/views/ecg/queue/index.vue
@@ -130,17 +130,68 @@
   <!-- 鍒楄〃 -->
   <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-column label="id" align="center" prop="id" />-->
-      <el-table-column label="灏辫瘖娴佹按鍙�" align="center" prop="episodeId"/>
+      <el-table-column label="灏辫瘖娴佹按鍙�" align="center" prop="episodeId" min-width="110px"/>
+      <el-table-column label="鐢宠鍙�" align="center" prop="applyNo" min-width="110px"/>
       <el-table-column label="鎮h�呯紪鍙�" align="center" prop="patId" />
-      <el-table-column label="鎮h�呭鍚�" align="center" min-width="120px">
+      <el-table-column label="鎮h�呭鍚�" align="center" min-width="160px">
         <template #default="scope">
           {{scope.row.patName}} ({{genderFormat(scope.row.patGender)}})
+          <dict-tag :type="DICT_TYPE.ECG_PAT_SOURCE" :value="scope.row.patDetails?.source" />
         </template>
       </el-table-column>
       <el-table-column label="妫�鏌ョ被鍨�" align="center" prop="bookCheckType" min-width="100px">
         <template #default="scope">
-          {{checkTypeStore.getCheckTypeName(scope.row.bookCheckType)}}
+          {{getCheckTypeName(scope.row.bookCheckType)}}
         </template>
       </el-table-column>
       <el-table-column label="鎮h�呰鎯�" align="center" prop="patDetails" min-width="300px">
@@ -148,19 +199,19 @@
           <span>{{scope.row.patDetails?.mobile}} {{scope.row.patDetails?.wardDesc}} {{scope.row.patDetails?.bedNo}}</span>
         </template>
       </el-table-column>
-      <el-table-column label="棰勭害鏃舵" align="center" prop="bookTimeslot" >
+      <el-table-column label="棰勭害鏃舵" align="center" prop="bookTimeslot" min-width="100px">
         <template #default="scope">
           <dict-tag :type="DICT_TYPE.ECG_BOOK_TIMESLOT" :value="scope.row.bookTimeslot" />
         </template>
       </el-table-column>
-      <el-table-column label="棰勭害鍙�" align="center" prop="bookSeqNum" />
-      <el-table-column label="鎺掗槦鍙�" align="center" prop="seqNum" />
-      <el-table-column label="VIP" align="center" prop="isVip" />
       <el-table-column label="鐘舵��" align="center" prop="status" >
         <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="bookSeqNum" />
+      <el-table-column label="鎺掗槦鍙�" align="center" prop="seqNum" />
+      <el-table-column label="VIP" align="center" prop="isVip" />
       <el-table-column label="杩囧彿鏍囪" align="center" prop="passed" />
       <el-table-column label="杩囨湡鏍囪" align="center" prop="expired" />
       <el-table-column label="璇婂缂栧彿" align="center" prop="roomId" />
@@ -173,46 +224,6 @@
         :formatter="dateFormatter"
         width="180px"
       />
-      <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 === 5 || scope.row.status === 7"
-            v-hasPermi="['ecg:queue:recall']"
-          >
-            鍙洖
-          </el-button>
-        </template>
-      </el-table-column>
     </el-table>
     <!-- 鍒嗛〉 -->
     <Pagination
@@ -239,6 +250,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";
 
 /** 鎺掗槦 鍒楄〃 */
 defineOptions({ name: 'queue' })
@@ -331,6 +343,18 @@
   } catch {}
 }
 
+const passWaitingPatient = async (item: QueueVO) => {
+  const patientVO: PatientVO = {
+    patId: item.patId,
+    checkType: item.bookCheckType,
+  }
+
+  const data = await DoctorApi.passWaitingPatient(patientVO);
+  message.info(data)
+  // 鍒锋柊鍒楄〃
+  await getList()
+}
+
 const recall = async (item: QueueVO) => {
   const patientVO: PatientVO = {
     roomId: item.roomId,
@@ -343,7 +367,9 @@
   }
 
   let data = ""
-  if (item.status === 5) // 甯歌銆侀鐢� 杩囧彿
+  if (item.status === 3) // 鎺掗槦涓� 鎮h�� 杩囧彿
+    data = await DoctorApi.recallPassWaitingPatient(patientVO);
+  else if (item.status === 5) // 甯歌銆侀鐢� 杩囧彿
     data = await DoctorApi.recallPatient(patientVO);
   else if (item.status === 7)
     data = await DoctorApi.recallInstallPatient(patientVO);
@@ -372,4 +398,9 @@
 onMounted(() => {
   getList()
 })
+
+onActivated(() => {
+  console.info("queue onActivated...")
+  handleQuery()
+})
 </script>

--
Gitblit v1.9.3