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