From 920e530b68c0f4dba434281ce94c9814e9937db3 Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期二, 22 七月 2025 16:36:18 +0800
Subject: [PATCH] 11

---
 vite.config.ts                      |    4 
 src/api/ecg/appointment/index.ts    |    4 
 src/views/ecg/jobrecord/index.vue   |    2 
 public/ConsultationRoom.html        |  107 +++++++++++++++-----------
 src/views/ecg/appointment/alter.vue |   92 ++++++++++++++--------
 5 files changed, 124 insertions(+), 85 deletions(-)

diff --git a/public/ConsultationRoom.html b/public/ConsultationRoom.html
index d01ec88..55fc719 100644
--- a/public/ConsultationRoom.html
+++ b/public/ConsultationRoom.html
@@ -400,12 +400,12 @@
 
 <body>
   <div id="app">
-    <div class="search-bar">
+    <div class="search-bar" style="display: none;">
       <input class="search-input" type="text" placeholder="璇疯緭鍏ユ埧闂村彿鏌ヨ" id="searchRoomInput">
       <button class="search-btn" id="searchRoomBtn">鏌ヨ</button>
     </div>
 
-    <div class="header">
+    <div class="header" style="display: none;">
       <div class="clinic-title">蹇冪數鍥捐瘖闂村彨鍙风郴缁�</div>
       <div class="clinic-info">
         <div class="room-name" id="roomName">璇婇棿鍔犺浇涓�...</div>
@@ -415,7 +415,7 @@
 
     <div class="main-content">
       <div class="panel">
-        <div class="panel-header">妫�鏌ラ槦鍒�</div>
+        <div class="panel-header">绛夊緟闃熷垪</div>
         <div class="patient-list" id="checkPatientList">
           <div class="empty-state">
             鏆傛棤绛夊緟妫�鏌ョ殑鎮h��
@@ -424,7 +424,7 @@
       </div>
     </div>
 
-    <div class="footer">
+    <div class="footer" style="display: none;">
       <div class="announcement" id="announcementText">
         绯荤粺杩愯涓�...
       </div>
@@ -466,6 +466,12 @@
     // 椤甸潰鍔犺浇瀹屾垚鍚庡垵濮嬪寲
     // 椤甸潰鍔犺浇瀹屾垚鍚庡垵濮嬪寲
     document.addEventListener('DOMContentLoaded', function () {
+       // 浠嶶RL鑾峰彇roomId鍙傛暟
+  const urlParams = new URLSearchParams(window.location.search);
+  const roomId = urlParams.get('roomId') || '1'; // 榛樿鍊�1
+  
+  // 璁剧疆鍒版悳绱㈡锛堝彲閫夛級
+  document.getElementById('searchRoomInput').value = roomId;
       // 鍒濆鍖栦簨浠剁洃鍚�
       document.getElementById('searchRoomBtn').addEventListener('click', searchRoom);
       document.getElementById('callBtn').addEventListener('click', initiateSpeak);
@@ -475,7 +481,7 @@
       document.getElementById('changeRoomBtn').addEventListener('click', changeRoom);
 
       // 鍒濆鍖栨暟鎹�
-      getRoomByIp();
+      getRoomByIp(roomId);
       startScrolling();
 
       // 鍒濆鍖栬闊冲悎鎴�
@@ -518,46 +524,51 @@
       xhr.send();
     }
 
-    function getRoomByIp() {
-      var searchInput = document.getElementById('searchRoomInput').value.trim();
+    function getRoomByIp(roomId) {
+  // 濡傛灉鏈紶閫抮oomId锛屽皾璇曚粠杈撳叆妗嗚幏鍙�
+  if (!roomId) {
+    roomId = document.getElementById('searchRoomInput').value.trim() || '1';
+  }
 
-      var xhr = new XMLHttpRequest();
-      xhr.open('GET', appState.apiBaseUrl + '/ecg/screen/room-screen-data?roomId=' + encodeURIComponent(searchInput), true);
-      xhr.onreadystatechange = function () {
-        if (xhr.readyState === 4) {
-          if (xhr.status === 200) {
-            try {
-              var response = JSON.parse(xhr.responseText);
-              appState.roomProfile = response.data || response;
-              updateRoomInfo();
+  var xhr = new XMLHttpRequest();
+  xhr.open('GET', appState.apiBaseUrl + '/ecg/screen/room-screen-data?roomId=' + encodeURIComponent(roomId), true);
+  xhr.onreadystatechange = function() {
+    if (xhr.readyState === 4) {
+      if (xhr.status === 200) {
+        try {
+          var response = JSON.parse(xhr.responseText);
+          appState.roomProfile = response.data || response;
+          updateRoomInfo();
 
-              // 妫�鏌ユ槸鍚︽湁闇�瑕佸彨鍙风殑鎮h��
-              if (response.data && response.data.called === 0) {
-                appState.curSpeakPat = response.data;
-                speak('璇�' + response.data.patName + '鍒�' + appState.roomProfile.roomName + '瑁呮満');
-              }
-            } catch (e) {
-              console.error('瑙f瀽鍝嶅簲澶辫触:', e);
-              // 浣跨敤妯℃嫙鏁版嵁浣滀负鍚庡
-              appState.roomProfile = {
-                roomName: '蹇冪數鍥捐瘖瀹� ' + (appState.roomId + 1),
-                callingScreenType: [40, 10, 30][appState.roomId % 3]
-              };
-              updateRoomInfo();
-            }
-          } else {
-            console.error('鑾峰彇鎴块棿淇℃伅澶辫触:', xhr.status);
-            // 浣跨敤妯℃嫙鏁版嵁浣滀负鍚庡
-            appState.roomProfile = {
-              roomName: '蹇冪數鍥捐瘖瀹� ' + (appState.roomId + 1),
-              callingScreenType: [40, 10, 30][appState.roomId % 3]
-            };
-            updateRoomInfo();
+          // 鏇存柊褰撳墠roomId鐘舵��
+          appState.roomId = roomId;
+
+          // 妫�鏌ユ槸鍚﹂渶瑕佸彨鍙�
+          if (response.data && response.data.called === 0) {
+            appState.curSpeakPat = response.data;
+            speak('璇�' + response.data.patName + '鍒�' + appState.roomProfile.roomName + '瑁呮満');
           }
+        } catch (e) {
+          console.error('瑙f瀽鍝嶅簲澶辫触:', e);
+          fallbackRoomData(roomId);
         }
-      };
-      xhr.send();
+      } else {
+        console.error('鑾峰彇鎴块棿淇℃伅澶辫触:', xhr.status);
+        fallbackRoomData(roomId);
+      }
     }
+  };
+  xhr.send();
+}
+
+// 鍚庡鏁版嵁鍑芥暟
+function fallbackRoomData(roomId) {
+  appState.roomProfile = {
+    roomName: '蹇冪數鍥捐瘖瀹� ' + roomId,
+    callingScreenType: [40, 10, 30][roomId % 3]
+  };
+  updateRoomInfo();
+}
 
     // 鏇存柊鎴块棿淇℃伅鏄剧ず
     function updateRoomInfo() {
@@ -773,11 +784,17 @@
     }
 
     // 鍒囨崲鎴块棿
-    function changeRoom() {
-      appState.roomId = (appState.roomId + 1) % 3;
-      getRoomByIp();
-      updateAnnouncement('姝e湪鍒囨崲璇婇棿...');
-    }
+  function changeRoom() {
+  // 杞崲roomId锛堢ず渚嬶細1鈫�2鈫�3鈫�1锛�
+  const newRoomId = (parseInt(appState.roomId) % 3) + 1;
+  
+  // 鏇存柊URL浣嗕笉鍒锋柊椤甸潰
+  window.history.pushState({}, '', `?roomId=${newRoomId}`);
+  
+  // 閲嶆柊鍔犺浇鏁版嵁
+  getRoomByIp(newRoomId.toString());
+  updateAnnouncement('姝e湪鍒囨崲鍒拌瘖闂� ' + newRoomId);
+}
   </script>
 </body>
 
diff --git a/src/api/ecg/appointment/index.ts b/src/api/ecg/appointment/index.ts
index 181c91d..51975ee 100644
--- a/src/api/ecg/appointment/index.ts
+++ b/src/api/ecg/appointment/index.ts
@@ -31,8 +31,8 @@
 // 棰勭害 API
 export const AppointmentApi = {
   // 鏌ヨ棰勭害鍒嗛〉
-  getAppointmentPage: async (params: any) => {
-    return await request.get({ url: `/ecg/appointment/page`, params })
+  getAppointmentPage: async (data: any) => {
+    return await request.post({ url: `/ecg/appointment/page`, data })
   },
 
   // 鏌ヨ棰勭害璇︽儏
diff --git a/src/views/ecg/appointment/alter.vue b/src/views/ecg/appointment/alter.vue
index 3e43c9c..fc83be2 100644
--- a/src/views/ecg/appointment/alter.vue
+++ b/src/views/ecg/appointment/alter.vue
@@ -80,12 +80,7 @@
         </el-select>
       </el-form-item>
       <el-form-item label-width="90" label="鐢宠鍗曠姸鎬�" prop="bookCheckType">
-        <el-select
-          v-model="queryParams.status"
-          placeholder="璇烽�夋嫨"
-          clearable
-          class="!w-240px"
-        >
+        <el-select v-model="queryParams.status" placeholder="璇烽�夋嫨" clearable class="!w-240px">
           <el-option label="鐢宠鍗曞紑绔�" disabled :value="'1'" />
           <el-option label="鐢宠鍗曟挙閿�" disabled :value="'2'" />
           <el-option label="妫�鏌ョ櫥璁�" :value="'3'" />
@@ -96,16 +91,27 @@
           <el-option label="鎶ュ憡鐢熸垚" disabled :value="'8'" />
         </el-select>
       </el-form-item>
-      <el-form-item label="鐧昏鏃堕棿" prop="bookCheckType">
-        <el-select
-          v-model="queryParams.registerTime"
-          placeholder="璇烽�夋嫨"
-          clearable
-          class="!w-240px"
-        >
-          <el-option label="涓婂崍" value="涓婂崍" />
-          <el-option label="涓嬪崍" value="涓嬪崍" />
-        </el-select>
+      <el-form-item label="鐧昏鏃堕棿" prop="registerTime">
+        <el-date-picker
+          v-model="djTime"
+          value-format="YYYY-MM-DD HH:mm:ss"
+          type="daterange"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+          :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
+          class="!w-220px"
+        />
+      </el-form-item>
+      <el-form-item label="寮�鍗曟椂闂�" prop="createTime">
+        <el-date-picker
+          v-model="kdTime"
+          value-format="YYYY-MM-DD HH:mm:ss"
+          type="daterange"
+          start-placeholder="寮�濮嬫棩鏈�"
+          end-placeholder="缁撴潫鏃ユ湡"
+          :default-time="[new Date('1 00:00:00'), new Date('1 23:59:59')]"
+          class="!w-220px"
+        />
       </el-form-item>
       <!--
       <el-form-item label="棰勭害鏉ユ簮" prop="bookSrc">
@@ -152,6 +158,23 @@
     >
       <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="濮撳悕" align="center" min-width="160px">
+        <template #default="scope">
+          {{ scope.row.patName }}
+          <dict-tag :type="DICT_TYPE.SYSTEM_USER_SEX" :value="scope.row.patGender" />
+          <dict-tag :type="DICT_TYPE.ECG_PAT_SOURCE" :value="scope.row.patSrc" />
+        </template>
+      </el-table-column>
+      <el-table-column
+        label="鐢熸棩"
+        align="center"
+        prop="patBirthday"
+        :formatter="dateFormatter2"
+        width="110px"
+      />
+      <el-table-column label="鐥呭尯鍚嶇О" align="center" prop="patWardDesc" />
+      <el-table-column label="搴婂彿" align="center" prop="patBedNo" />
+
       <el-table-column label="缂栧彿" align="center" prop="patId" />
       <!--
       <el-table-column label="缂磋垂" align="center" prop="paid">
@@ -160,13 +183,7 @@
         </template>
       </el-table-column>
 -->
-      <el-table-column label="濮撳悕" align="center" min-width="160px">
-        <template #default="scope">
-          {{ scope.row.patName }}
-          <dict-tag :type="DICT_TYPE.SYSTEM_USER_SEX" :value="scope.row.patGender" />
-          <dict-tag :type="DICT_TYPE.ECG_PAT_SOURCE" :value="scope.row.patSrc" />
-        </template>
-      </el-table-column>
+
       <el-table-column
         label="棰勭害鏃ユ湡"
         align="center"
@@ -184,13 +201,7 @@
           {{ getCheckTypeName(scope.row.bookCheckType) }}
         </template>
       </el-table-column>
-      <el-table-column
-        label="鐢熸棩"
-        align="center"
-        prop="patBirthday"
-        :formatter="dateFormatter2"
-        width="110px"
-      />
+
       <el-table-column
         label="寮�鍗曟椂闂�"
         align="center"
@@ -198,16 +209,16 @@
         :formatter="dateFormatter2"
         width="110px"
       />
+      <el-table-column label="寮�鍗曞尰鐢�" align="center" prop="doctor" width="110px" />
       <el-table-column label="鎵嬫満" align="center" prop="patMobile" />
       <!--      <el-table-column label="鐢佃瘽" align="center" prop="patPhone" />-->
       <!--      <el-table-column label="韬唤璇佸彿" align="center" prop="patIdentityId" />-->
-      <el-table-column label="鍦板潃" align="center" prop="patAddr" />
       <!-- <el-table-column label="绉戝浠g爜" align="center" prop="patDeptCode" /> -->
       <el-table-column label="绉戝鍚嶇О" align="center" prop="patDeptDesc" />
       <el-table-column label="绉戝鍚嶇О" align="center" prop="patDeptDesc" />
+      <el-table-column label="鍦板潃" align="center" prop="patAddr" />
+
       <!-- <el-table-column label="鐥呭尯浠g爜" align="center" prop="patWardCode" /> -->
-      <el-table-column label="鐥呭尯鍚嶇О" align="center" prop="patWardDesc" />
-      <el-table-column label="搴婂彿" align="center" prop="patBedNo" />
       <el-table-column label="鎿嶄綔" fixed="right" align="center" min-width="220px">
         <template #default="scope">
           <el-button
@@ -303,10 +314,17 @@
 const form = ref({
   status: ''
 }) // 淇敼鐘舵�佹暟鎹�
+const djTime = ref('') 
+
+const kdTime = ref('') 
+
 const queryParams = reactive({
   pageNo: 1,
-  status:undefined,
-  registerTime:undefined,
+  status: undefined,
+  registerDateStart: '',
+  registerDateEnd: '',
+  createTimestart: '',
+  createTimeEnd: '',
   pageSize: 10,
   applyNo: undefined,
   patId: undefined,
@@ -349,6 +367,10 @@
 /** 鎼滅储鎸夐挳鎿嶄綔 */
 const handleQuery = () => {
   queryParams.pageNo = 1
+  queryParams.registerDateStart = djTime.value[0]
+  queryParams.registerDateEnd = djTime.value[1]
+  queryParams.createTimestart = kdTime.value[0]
+  queryParams.createTimeEnd = kdTime.value[1]
   getList()
 }
 
diff --git a/src/views/ecg/jobrecord/index.vue b/src/views/ecg/jobrecord/index.vue
index 74882f9..9805791 100644
--- a/src/views/ecg/jobrecord/index.vue
+++ b/src/views/ecg/jobrecord/index.vue
@@ -281,4 +281,4 @@
 onMounted(() => {
   getList()
 })
-</script>
\ No newline at end of file
+</script>
diff --git a/vite.config.ts b/vite.config.ts
index e64a8ba..0968f04 100644
--- a/vite.config.ts
+++ b/vite.config.ts
@@ -32,8 +32,8 @@
       proxy: {
         ['/admin-api']: {
           // target: 'http://192.168.100.120:48080',
-          target: 'http://localhost:8095',
-          // target: 'http://192.168.100.194:48080',
+          // target: 'http://localhost:8095',
+          target: 'http://192.168.100.194:48080',
           ws: false,
           changeOrigin: true,
           // rewrite: (path) => path.replace(new RegExp(`^/admin-api`), ''),

--
Gitblit v1.9.3