From 1276dc4adbe58c1cf8f79ff8c99558af6a0bcf24 Mon Sep 17 00:00:00 2001 From: "Zhang.WH" Date: Thu, 25 Sep 2025 10:36:07 +0800 Subject: [PATCH 1/3] =?UTF-8?q?=E5=89=8D=E7=AB=AF=E6=9C=80=E6=96=B0?= =?UTF-8?q?=E7=89=88=E6=9C=AC=E5=90=8C=E6=AD=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- openhis-ui-vue3/src/api/public.js | 11 +- .../OpenHis/TraceNoDialog/index.vue | 6 +- .../patientBar/inPatientBarDoctorFold.vue | 2 - openhis-ui-vue3/src/main.js | 8 +- openhis-ui-vue3/src/plugins/download.js | 37 +- openhis-ui-vue3/src/store/modules/user.js | 5 +- openhis-ui-vue3/src/template/index.js | 17 + .../src/template/surgicalPatientHandover.vue | 695 +++++++++++ openhis-ui-vue3/src/template/template1.vue | 44 + openhis-ui-vue3/src/template/template2.vue | 44 + openhis-ui-vue3/src/template/template3.vue | 210 ++++ openhis-ui-vue3/src/utils/request.js | 26 + .../views/basicmanage/caseTemplates/api.js | 59 + .../caseTemplates/components/editTemplate.vue | 250 ++++ .../views/basicmanage/caseTemplates/index.vue | 436 ++++++- .../components/consumablesList.vue | 45 +- .../basicmanage/implementDepartment/index.vue | 10 + .../components/adviceBaseList.vue | 161 +++ .../medicalOrderSet/components/api.js | 129 ++ .../basicmanage/medicalOrderSet/index.vue | 686 +++++++++++ .../components/registrationfee.js | 4 +- .../basicservices/registrationfee/index.vue | 2 +- .../src/views/catalog/device/index.vue | 538 +++------ .../src/views/catalog/disease/index.vue | 2 +- .../src/views/catalog/medicine/index.vue | 18 + .../charge/cliniccharge/components/api.js | 2 +- .../cliniccharge/components/chargeDialog.vue | 114 +- .../cliniccharge/components/template.json | 451 +++++++ .../src/views/charge/cliniccharge/index.vue | 129 +- .../dayEnd/component/template.json | 101 +- .../views/clinicmanagement/dayEnd/index.vue | 2 +- .../clinicmanagement/dayEnd/indexccu.vue | 28 +- .../disposal/components/api.js | 16 + .../disposal/components/bloodTemplate.json | 159 +++ .../disposal/components/disposalTemplate.json | 334 ++++++ .../components/prescriptionTemplate.json | 640 ++++++++++ .../disposal/components/template.json | 293 +++++ .../views/clinicmanagement/disposal/index.vue | 246 +++- .../component/prescription.vue | 2 +- .../clinicmanagement/returnDrug/index.vue | 133 +-- .../components/adviceBaseList.vue | 13 +- .../src/views/doctorstation/components/api.js | 21 + .../components/eprescriptionlist.vue | 4 +- .../prescription/orderGroupDrawer.vue | 48 +- .../prescription/prescriptionInfo.vue | 2 +- .../prescription/prescriptionlist.vue | 142 ++- .../components/reservationRecord.vue | 53 +- .../src/views/doctorstation/index.vue | 11 +- openhis-ui-vue3/src/views/drug/123 | 0 .../inHospitalDispensing/components/api.js | 59 + .../components/templateJson.json | 617 ++++++++++ .../views/drug/inHospitalDispensing/index.vue | 275 +++++ .../inpatientRecord/index.vue | 261 +++- .../bloodTtransfusionAapplication.vue | 5 - .../applicationForm/examineApplication.vue | 5 - .../applicationForm/surgeryApplication.vue | 5 - .../applicationForm/testApplication.vue | 5 - .../home/components/applicationShow/api.js | 53 + .../bloodTtransfusionAapplication.vue | 87 ++ .../applicationShow/examineApplication.vue | 45 + .../applicationShow/surgeryApplication.vue | 36 + .../applicationShow/testApplication.vue | 37 + .../components/order/applicationForm/api.js | 99 ++ .../applicationFormBottomBtn.vue | 143 +++ .../applicationForm/bloodTransfusion.vue | 170 +++ .../order/applicationForm/laboratoryTests.vue | 169 +++ .../applicationForm/medicalExaminations.vue | 180 +++ .../order/applicationForm/surgery.vue | 175 +++ .../home/components/order/index.vue | 1056 +++++++---------- .../home/components/patientList.vue | 48 +- .../src/views/inpatientDoctor/home/emr/api.js | 24 + .../home/emr/components/history.vue | 104 ++ .../views/inpatientDoctor/home/emr/index.vue | 265 +++++ .../src/views/inpatientDoctor/home/index.js | 8 +- .../src/views/inpatientDoctor/home/index.vue | 5 +- .../drugDistribution/drugDistributionList.vue | 10 +- .../inpatientNurse/inOut/components/api.js | 8 + .../inOut/components/bedAllocation.vue | 15 +- .../components/prescriptionList.vue | 1 + .../inpatientNurse/medicineCollect/index.vue | 344 ++++++ .../inpatientNurse/medicineReturn/index.vue | 32 + openhis-ui-vue3/src/views/login.vue | 28 +- .../chkstock/chkstockBatch/index.vue | 8 +- .../chkstock/chkstockPart/index.vue | 12 +- .../lossReporting/index.vue | 6 +- .../pharmacyReconciliation/index.vue | 120 +- .../components/medicineList.vue | 5 + .../components/templateJson.json | 339 ++++++ .../purchaseDocument/index.vue | 177 ++- .../requisitionManagement/index.vue | 1 + .../returningInventory/index.vue | 1 + .../chkstockPartDetails.vue | 111 +- .../statisticalManagement/index.vue | 31 +- .../inventoryProductDetails.vue | 37 + .../liquidationRecords.vue | 632 +++++----- .../lossReportingDetails.vue | 92 +- .../medicationDetails.vue | 27 +- .../pharmacyMonthlybalance.vue | 27 +- .../purchaseDocumentDetsils.vue | 57 +- .../purchaseReturnDetsils.vue | 57 +- .../requisitionDetails.vue | 51 +- .../returnOrutboundDetails.vue | 46 + .../statisticalManagent.js | 498 ++++---- .../transferManagentDetails.vue | 60 +- .../transferManagent/batchTransfer/index.vue | 75 +- .../transferManagent/index.vue | 42 +- .../profitLossOrder/components/orderTable.vue | 7 +- .../returnOrder/components/orderTable.vue | 7 +- .../components/orderTable.vue | 7 +- .../stockInOrder/components/orderTable.vue | 7 +- .../stockOutOrder/components/orderTable.vue | 7 +- .../components/orderTable.vue | 7 +- .../westernmedicine/components/api.js | 44 +- .../components/templateJson.json | 313 +++-- .../westernmedicine/index.vue | 482 +++++--- .../src/views/system/tenant/setUser.vue | 8 +- .../src/views/system/user/index.vue | 258 +++- 117 files changed, 11960 insertions(+), 2462 deletions(-) create mode 100644 openhis-ui-vue3/src/template/index.js create mode 100644 openhis-ui-vue3/src/template/surgicalPatientHandover.vue create mode 100644 openhis-ui-vue3/src/template/template1.vue create mode 100644 openhis-ui-vue3/src/template/template2.vue create mode 100644 openhis-ui-vue3/src/template/template3.vue create mode 100644 openhis-ui-vue3/src/views/basicmanage/caseTemplates/api.js create mode 100644 openhis-ui-vue3/src/views/basicmanage/caseTemplates/components/editTemplate.vue create mode 100644 openhis-ui-vue3/src/views/basicmanage/medicalOrderSet/components/adviceBaseList.vue create mode 100644 openhis-ui-vue3/src/views/basicmanage/medicalOrderSet/components/api.js create mode 100644 openhis-ui-vue3/src/views/basicmanage/medicalOrderSet/index.vue create mode 100644 openhis-ui-vue3/src/views/charge/cliniccharge/components/template.json create mode 100644 openhis-ui-vue3/src/views/clinicmanagement/disposal/components/bloodTemplate.json create mode 100644 openhis-ui-vue3/src/views/clinicmanagement/disposal/components/disposalTemplate.json create mode 100644 openhis-ui-vue3/src/views/clinicmanagement/disposal/components/prescriptionTemplate.json create mode 100644 openhis-ui-vue3/src/views/clinicmanagement/disposal/components/template.json create mode 100644 openhis-ui-vue3/src/views/drug/123 create mode 100644 openhis-ui-vue3/src/views/drug/inHospitalDispensing/components/api.js create mode 100644 openhis-ui-vue3/src/views/drug/inHospitalDispensing/components/templateJson.json create mode 100644 openhis-ui-vue3/src/views/drug/inHospitalDispensing/index.vue delete mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/bloodTtransfusionAapplication.vue delete mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/examineApplication.vue delete mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/surgeryApplication.vue delete mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/testApplication.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/api.js create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/bloodTtransfusionAapplication.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/surgeryApplication.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/testApplication.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/api.js create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/bloodTransfusion.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/medicalExaminations.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/surgery.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/emr/api.js create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/emr/components/history.vue create mode 100644 openhis-ui-vue3/src/views/inpatientDoctor/home/emr/index.vue create mode 100644 openhis-ui-vue3/src/views/inpatientNurse/medicineCollect/index.vue create mode 100644 openhis-ui-vue3/src/views/inpatientNurse/medicineReturn/index.vue create mode 100644 openhis-ui-vue3/src/views/medicationmanagement/purchaseDocument/components/templateJson.json diff --git a/openhis-ui-vue3/src/api/public.js b/openhis-ui-vue3/src/api/public.js index 7d259399..1c35f3d7 100644 --- a/openhis-ui-vue3/src/api/public.js +++ b/openhis-ui-vue3/src/api/public.js @@ -9,6 +9,15 @@ export function searchTraceNo(data) { }) } +// 获取处方打印数据 +export function advicePrint(data) { + return request({ + url:'/app-common/advice-print', + method: 'get', + params: data, + }) +} + import axios from 'axios'; const env = import.meta.env.MODE; @@ -18,7 +27,7 @@ if(env == 'development'){ return axios.create( { // axios中请求配置有baseURL选项,表示请求URL公共部分 - baseURL: '/ybplugin', + baseURL: '',//ybplugin // 超时 timeout: 60000 } diff --git a/openhis-ui-vue3/src/components/OpenHis/TraceNoDialog/index.vue b/openhis-ui-vue3/src/components/OpenHis/TraceNoDialog/index.vue index d1cb76b5..e5defc33 100644 --- a/openhis-ui-vue3/src/components/OpenHis/TraceNoDialog/index.vue +++ b/openhis-ui-vue3/src/components/OpenHis/TraceNoDialog/index.vue @@ -94,7 +94,7 @@
- 追溯码:{{ existenceTraceNoList[rowData.itemId] }} + 追溯码:{{ existenceTraceNoList[rowData ? rowData.itemId : 0] }}
+ + + diff --git a/openhis-ui-vue3/src/views/basicmanage/consumablesBinding/components/consumablesList.vue b/openhis-ui-vue3/src/views/basicmanage/consumablesBinding/components/consumablesList.vue index 094234eb..6d8cf95b 100644 --- a/openhis-ui-vue3/src/views/basicmanage/consumablesBinding/components/consumablesList.vue +++ b/openhis-ui-vue3/src/views/basicmanage/consumablesBinding/components/consumablesList.vue @@ -32,7 +32,7 @@ + + + - + - \ No newline at end of file + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/component/template.json b/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/component/template.json index 29b40e5c..128854aa 100644 --- a/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/component/template.json +++ b/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/component/template.json @@ -72,7 +72,8 @@ "coordinateSync": false, "widthHeightSync": false, "fontSize": 9, - "qrCodeLevel": 0 + "qrCodeLevel": 0, + "field": "timeRange" }, "printElementType": { "title": "文本", @@ -85,7 +86,7 @@ "top": 58.5, "height": 13.5, "width": 145.5, - "title": "机构名称:长春大学医院", + "title": "机构名称:医院", "coordinateSync": false, "widthHeightSync": false, "fontSize": 9, @@ -1369,10 +1370,90 @@ "type": "text" } }, + { + "options": { + "left": 19, + "top": 368.5, + "height": 13.5, + "width": 76.5, + "title": "省医保总额", + "coordinateSync": false, + "widthHeightSync": false, + "fontSize": 9, + "qrCodeLevel": 0, + "field": "1" + }, + "printElementType": { + "title": "文本", + "type": "text" + } + }, + { + "options": { + "left": 81.5, + "top": 369.5, + "height": 13.5, + "width": 75, + "title": "文本", + "coordinateSync": false, + "widthHeightSync": false, + "fontSize": 9, + "qrCodeLevel": 0, + "field": "provinceYbTotal", + "textAlign": "right", + "testData": "20000.00", + "hideTitle": true, + "formatter": "function(title,value,options,templateData,target,paperNo){\n return value ? value.toFixed(2) + ' 元' : '0.00' + ' 元'\n}" + }, + "printElementType": { + "title": "文本", + "type": "text" + } + }, + { + "options": { + "left": 164, + "top": 369.5, + "height": 13.5, + "width": 64.5, + "title": "市医保总额", + "coordinateSync": false, + "widthHeightSync": false, + "fontSize": 9, + "qrCodeLevel": 0, + "field": "1" + }, + "printElementType": { + "title": "文本", + "type": "text" + } + }, + { + "options": { + "left": 220.5, + "top": 370.5, + "height": 13.5, + "width": 75, + "title": "文本", + "coordinateSync": false, + "widthHeightSync": false, + "fontSize": 9, + "qrCodeLevel": 0, + "field": "municipalYbTotal", + "textAlign": "right", + "testData": "20000.00", + "hideTitle": true, + "formatter": "function(title,value,options,templateData,target,paperNo){\n return value ? value.toFixed(2) + ' 元' : '0.00' + ' 元'\n}" + }, + "printElementType": { + "title": "文本", + "type": "text" + } + }, { "options": { "left": 15, - "top": 369, + "top": 397.5, "height": 9, "width": 567, "borderWidth": "1.5", @@ -1387,7 +1468,7 @@ { "options": { "left": 162, - "top": 382.5, + "top": 411, "height": 13.5, "width": 76.5, "title": "制表人", @@ -1405,7 +1486,7 @@ { "options": { "left": 216, - "top": 382.5, + "top": 411, "height": 13.5, "width": 75, "title": "文本", @@ -1425,8 +1506,8 @@ }, { "options": { - "left": 298.5, - "top": 382.5, + "left": 333, + "top": 411, "height": 13.5, "width": 76.5, "title": "制表时间", @@ -1443,10 +1524,10 @@ }, { "options": { - "left": 370.5, - "top": 382.5, + "left": 390, + "top": 411, "height": 13.5, - "width": 148.5, + "width": 129, "title": "文本", "coordinateSync": false, "widthHeightSync": false, diff --git a/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/index.vue b/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/index.vue index 2a0df0c3..9a51a192 100644 --- a/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/index.vue +++ b/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/index.vue @@ -357,7 +357,7 @@ async function print() { ...reportValue.value, // 将 reportValue.value 中的所有属性展开到 result 中 nickName: userStore.nickName, orgName: userStore.orgName, - fixmedinsName: '长春大学医院', + fixmedinsName: '医院', queryTime: queryTime.value[0] + '~' + queryTime.value[1], zfAmount: new Decimal(reportValue.value.zhSum || 0).add(reportValue.value.fundSum || 0), feeAmount: new Decimal(reportValue.value.DIAGNOSTIC_FEE || 0) diff --git a/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/indexccu.vue b/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/indexccu.vue index ca236452..c5ce414f 100644 --- a/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/indexccu.vue +++ b/openhis-ui-vue3/src/views/clinicmanagement/dayEnd/indexccu.vue @@ -92,7 +92,7 @@ 机构: - {{ '长春大学医院' }} + {{ '医院' }} 时间: @@ -155,15 +155,15 @@ --> 微信: - {{ formatValue(reportValue.vxCashSum) }} + {{ formatValue(reportValue['0000cash']) }} 支付宝: - {{ formatValue(reportValue.aliCashSum) }} + {{ '0.00 元' }} 网银: - {{ formatValue(reportValue.aliCashSum) }} + {{ '0.00 元' }} @@ -91,32 +52,16 @@ - + 确认退药 扫码 - + - + @@ -130,31 +75,26 @@ - + 个人 科室 全院 @@ -32,21 +32,26 @@ + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inHospitalManagement/inpatientRecord/index.vue b/openhis-ui-vue3/src/views/inHospitalManagement/inpatientRecord/index.vue index ba534139..eb836a9a 100644 --- a/openhis-ui-vue3/src/views/inHospitalManagement/inpatientRecord/index.vue +++ b/openhis-ui-vue3/src/views/inHospitalManagement/inpatientRecord/index.vue @@ -1,2 +1,261 @@ \ No newline at end of file +
+ +
+
演示医院
+
入院记录
+
+ 姓名: [] + 性别: [] + 年龄: [] + 床号: [] + 科室: [] + 住院号: [] +
+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
姓名: []
户口地址: []
性别: []家庭地址: []
年龄: []工作单位: []
身份证号: []入院日期: []
婚姻: []病历书写时间: []
民族: []病史陈述者: []
职业: []联系人: [] 关系: []
电话: []可靠程度: []
+
+
主诉:
+
+
+
+
现病史:
+
+
+
+
既往史:
+
+
+
+
个人史:
+
+
+
+
婚育史:
+
+
+
+
家族史:
+
+
+
+
体格检查
+
+ 体温: ℃, 脉搏: 次/分, 呼吸: 次/分, 血压: mmHg
+ 神志清,精神尚可,发育正常、营养中等,自主体位,步入病区,查体合作,全身皮肤、粘膜无黄染及出血点,全身浅表淋巴结未触及肿大。头颅发育正常,五官端正,颜面无浮肿,眼睑无苍白,巩膜无黄染,双瞳孔等大等圆,直径约3mm,对光反应灵敏。耳廓对称无畸形,外耳道无分泌物。鼻通气畅,各鼻窦区无压痛。口唇无紫绀,咽无充血,扁桃体不大。颈对称,未见颈静脉怒张,颈软,气管居中,甲状腺稍大。胸廓对称无畸形,两侧胸廓呼吸动度一致,语颤一致。
+ 两肺叩呈清音,双肺呼吸音清,未闻及干湿性啰音。心前区无隆起,心尖搏动不明显,心界正常,心率80次/分,律齐,心音正常,各瓣膜听诊区未闻及病理性杂音。腹平坦,未见腹型及蠕动波,无腹壁静脉曲张,腹软,全腹无压痛,肝脾肋下未触及,未扪及包块,移动性浊音未叩出,双肾区无隆起,双侧肾脏未触及,双肾区无叩击痛,双侧输尿管走行区无压痛,肠鸣音正常。肛门、外生殖器未查。脊柱四肢无畸形, 活动自如,双下肢无水肿。生理反射存在,病理反射未引出。 +
+
+
+
专科检查:
+
+
+
+
辅助检查:
+
+
+ +
+
+
+ + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/bloodTtransfusionAapplication.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/bloodTtransfusionAapplication.vue deleted file mode 100644 index 158d72f7..00000000 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/bloodTtransfusionAapplication.vue +++ /dev/null @@ -1,5 +0,0 @@ - - \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/examineApplication.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/examineApplication.vue deleted file mode 100644 index 158d72f7..00000000 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/examineApplication.vue +++ /dev/null @@ -1,5 +0,0 @@ - - \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/surgeryApplication.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/surgeryApplication.vue deleted file mode 100644 index 158d72f7..00000000 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/surgeryApplication.vue +++ /dev/null @@ -1,5 +0,0 @@ - - \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/testApplication.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/testApplication.vue deleted file mode 100644 index 158d72f7..00000000 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationForm/testApplication.vue +++ /dev/null @@ -1,5 +0,0 @@ - - \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/api.js b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/api.js new file mode 100644 index 00000000..24449bdc --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/api.js @@ -0,0 +1,53 @@ +/* + * @Author: sjjh + * @Date: 2025-09-07 12:09:26 + * @Description: + */ +import request from '@/utils/request' +// 申请单相关接口 + +/** + * 查询检查申请单 + */ +export function getCheck(queryParams) { + return request({ + url: '/reg-doctorstation/request-form/get-check', + method: 'get', + params: queryParams + }) +} +/** + * 查询检验申请单 + */ +export function getInspection(queryParams) { + return request({ + url: '/reg-doctorstation/request-form/get-inspection', + method: 'get', + params: queryParams + }) +} +/** + * 查询输血申请单 + */ +export function getBloodTransfusion(queryParams) { + return request({ + url: '/reg-doctorstation/request-form/get-blood-transfusion', + method: 'get', + params: queryParams + }) +} +/** + * 查询手术申请单 + */ +export function getSurgery(queryParams) { + return request({ + url: '/reg-doctorstation/request-form/get-surgery', + method: 'get', + params: queryParams + }) +} + + + + + diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/bloodTtransfusionAapplication.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/bloodTtransfusionAapplication.vue new file mode 100644 index 00000000..a09cf715 --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/bloodTtransfusionAapplication.vue @@ -0,0 +1,87 @@ + + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue new file mode 100644 index 00000000..ea343667 --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/examineApplication.vue @@ -0,0 +1,45 @@ + + + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/surgeryApplication.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/surgeryApplication.vue new file mode 100644 index 00000000..458042db --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/surgeryApplication.vue @@ -0,0 +1,36 @@ + + + + diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/testApplication.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/testApplication.vue new file mode 100644 index 00000000..2dc410cb --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/applicationShow/testApplication.vue @@ -0,0 +1,37 @@ + + + + diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/api.js b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/api.js new file mode 100644 index 00000000..b525369b --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/api.js @@ -0,0 +1,99 @@ +import request from '@/utils/request' +// 申请单相关接口 + +//医嘱大下拉 +export function getApplicationList(queryParams) { + return request({ + url: '/doctor-station/advice/advice-base-info', + method: 'get', + params: queryParams + }) +} +/** + * 保存检查申请单 + */ +export function saveCheckd(data) { + return request({ + url: '/reg-doctorstation/request-form/save-check', + method: 'post', + data: data + }) +} +/** + * 保存检验申请单 + */ +export function saveInspection(data) { + return request({ + url: '/reg-doctorstation/request-form/save-inspection', + method: 'post', + data: data + }) +} +/** + * 保存输血申请单 + */ +export function saveBloodTransfusio(data) { + return request({ + url: '/reg-doctorstation/request-form/save-blood-transfusio', + method: 'post', + data: data + }) +} +/** + * 保存手术申请单 + */ +export function saveSurgery(data) { + return request({ + url: '/reg-doctorstation/request-form/save-surgery', + method: 'post', + data: data + }) +} + +// ===== + +/** + * 查询检查申请单 + */ +export function getCheck(data) { + return request({ + url: '/reg-doctorstation/request-form/get-check', + method: 'get', + params: data + }) +} +/** + * 查询检验申请单 + */ +export function getInspection(data) { + return request({ + url: '/reg-doctorstation/request-form/get-inspection', + method: 'get', + params: data + }) +} +/** + * 查询输血申请单 + */ +export function getBloodTransfusion(data) { + return request({ + url: '/reg-doctorstation/request-form/get-blood-transfusion', + method: 'get', + params: data + }) +} +/** + * 查询手术申请单 + */ +export function geturger(data) { + return request({ + url: '/reg-doctorstation/request-form/get-surgery', + method: 'get', + params: data + }) +} + + + + + diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue new file mode 100644 index 00000000..21373f8c --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/applicationFormBottomBtn.vue @@ -0,0 +1,143 @@ + + + + diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/bloodTransfusion.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/bloodTransfusion.vue new file mode 100644 index 00000000..fae0e62b --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/bloodTransfusion.vue @@ -0,0 +1,170 @@ + + + + diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue new file mode 100644 index 00000000..6385e5af --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/laboratoryTests.vue @@ -0,0 +1,169 @@ + + + + diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/medicalExaminations.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/medicalExaminations.vue new file mode 100644 index 00000000..98d82c24 --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/medicalExaminations.vue @@ -0,0 +1,180 @@ + + + + diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/surgery.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/surgery.vue new file mode 100644 index 00000000..9cd74949 --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/applicationForm/surgery.vue @@ -0,0 +1,175 @@ + + + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/index.vue b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/index.vue index 4c59b68f..b12a1f0d 100644 --- a/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/index.vue +++ b/openhis-ui-vue3/src/views/inpatientDoctor/home/components/order/index.vue @@ -1,6 +1,6 @@ - + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/inpatientNurse/medicineReturn/index.vue b/openhis-ui-vue3/src/views/inpatientNurse/medicineReturn/index.vue new file mode 100644 index 00000000..c7cde4b8 --- /dev/null +++ b/openhis-ui-vue3/src/views/inpatientNurse/medicineReturn/index.vue @@ -0,0 +1,32 @@ + + + + \ No newline at end of file diff --git a/openhis-ui-vue3/src/views/login.vue b/openhis-ui-vue3/src/views/login.vue index 8fd96171..476be277 100644 --- a/openhis-ui-vue3/src/views/login.vue +++ b/openhis-ui-vue3/src/views/login.vue @@ -51,6 +51,10 @@ /> + + 连接医保 + + - - + > + +
@@ -445,7 +456,7 @@ placeholder="选择日期" format="YYYY-MM-DD" value-format="YYYY-MM-DD" - :disabled ="viewStatus=='view'" + :disabled="viewStatus == 'view'" @change="changeValStart($event, scope.$index)" /> @@ -464,7 +475,7 @@ :rules="tableRules.endTime" > - +
@@ -498,7 +513,11 @@ :prop="`purchaseinventoryList.${scope.$index}.remake`" :rules="tableRules.remake" > - +
@@ -520,7 +539,7 @@ placeholder="请选择货位" :class="{ 'error-border': scope.row.error }" clearable - :disabled ="viewStatus=='view'" + :disabled="viewStatus == 'view'" > @@ -591,7 +610,13 @@ - + @@ -612,7 +637,7 @@ import { const route = useRoute(); import PopoverList from '@/components/OpenHis/popoverList/index.vue'; import MedicineList from './components/medicineList.vue'; -import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue' +import TraceNoDialog from '@/components/OpenHis/TraceNoDialog/index.vue'; import { formatDate, formatDateymd } from '@/utils/index'; import { useStore } from '@/store/store'; import useUserStore from '@/store/modules/user'; @@ -620,11 +645,14 @@ import { nextTick, ref, watch } from 'vue'; import useTagsViewStore from '@/store/modules/tagsView'; import _, { isEqual } from 'lodash'; import { debounce } from 'lodash-es'; +import templateJson from './components/templateJson.json'; +import { hiprint } from 'vue-plugin-hiprint'; + const router = useRouter(); const tagsViewStore = useTagsViewStore(); const userUserStore = useUserStore(); const store = useStore(); -const rowData = ref({}) +const rowData = ref({}); const { proxy } = getCurrentInstance(); const { warehous_type, category_code, service_type_code, specialty_code, purchase_type } = @@ -649,8 +677,8 @@ const total = ref(0); const title = ref(''); const visible = ref(false); const row = ref({}); -const openTraceNoDialog = ref(false) -const ypName = ref(""); +const openTraceNoDialog = ref(false); +const ypName = ref(''); const rowIndex = ref(-1); const totalAmount = ref(0); const editData = ref({}); @@ -781,6 +809,7 @@ function addNewRow() { // return; // } const newRow = { + rowKey: Date.now(), id: '', itemTable: '', itemQuantity: '', @@ -940,30 +969,35 @@ function saveRow(row, index) { }); } -function handleScan(row,index){ - if(row.purposeLocationId && row.lotNumber) { - rowData.value = row - rowData.value.locationId = row.purposeLocationId - rowData.value.itemType = receiptHeaderForm.medicationType - ypName.value = row.name +function handleScan(row, index) { + if (row.purposeLocationId && row.lotNumber) { + rowData.value = row; + rowData.value.locationId = row.purposeLocationId; + rowData.value.itemType = receiptHeaderForm.medicationType; + ypName.value = row.name; openTraceNoDialog.value = true; - currentIndex.value = index - }else { - proxy.$message.warning('请先选择仓库和产品批号!') + currentIndex.value = index; + } else { + proxy.$message.warning('请先选择仓库和产品批号!'); } } -function submit(value){ - form.purchaseinventoryList[currentIndex.value].traceNo = value; +function submit(value) { + if (form.purchaseinventoryList[currentIndex.value].traceNo) { + form.purchaseinventoryList[currentIndex.value].traceNo = + form.purchaseinventoryList[currentIndex.value].traceNo + ',' + value; + } else { + form.purchaseinventoryList[currentIndex.value].traceNo = value; + } openTraceNoDialog.value = false; } -function formatContent(value){ - let content = '' - if(value){ +function formatContent(value) { + let content = ''; + if (value) { value.split(',').forEach((item, index) => { - content += `[${(index + 1)}] ${item}\n` - }) - return content + content += `[${index + 1}] ${item}\n`; + }); + return content; } } // 药品列表搜索 @@ -977,6 +1011,7 @@ function selectRow(rowValue, index) { form.purchaseinventoryList[index] = { id: form.purchaseinventoryList[index].id }; price.value = 0; rowIndex.value = index; + form.purchaseinventoryList[index].rowKey = Date.now(); form.purchaseinventoryList[index].itemId = rowValue.definitionId; form.purchaseinventoryList[index].name = rowValue.name; form.purchaseinventoryList[index].volume = rowValue.volume; @@ -1265,6 +1300,29 @@ function handleSelectionChange(selection) { multiple.value = !selection.length; } +function handlePrint() { + const result = []; + let supplierName = supplierListOptions.value.filter((item) => { + return item.value == receiptHeaderForm.supplierId; + })[0].label; + const totalAmount = form.purchaseinventoryList.reduce((accumulator, currentRow) => { + return accumulator + (Number(currentRow.totalPrice) || 0); + }, 0); + result.push({ + supplierName: supplierName, + totalAmount: totalAmount, + ...receiptHeaderForm, + purchaseinventoryList: form.purchaseinventoryList, + }); + console.log(result, '345678987654'); + const printElements = templateJson; + var hiprintTemplate = new hiprint.PrintTemplate({ template: printElements }); // 定义模板 + hiprintTemplate.print2(result, { + printer: 'EPSON LQ-80KFII', + title: '打印标题', + }); //开始打印 +} + function deleteSelectedRows() { let length = selectedRows.value.length; let ids = []; @@ -1372,9 +1430,10 @@ function edit() { receiptHeaderForm.supplierId = editData.value.editRow.supplierId; receiptHeaderForm.practitionerId = editData.value.editRow.practitionerId; console.log(editData.value.editRow, editData.value, 'editData.value.editRow'); - receiptHeaderForm.occurrenceTime = editData.value.editRow.occurrenceTime - ? formatDate(editData.value.editRow.occurrenceTime) + receiptHeaderForm.occurrenceTime = editData.value.item[0].occurrenceTime + ? formatDate(editData.value.item[0].occurrenceTime) : formatDate(new Date()); + console.log(editData.value.item[0].occurrenceTime); console.log( editData.value.editRow.purposeTypeEnum, editData.value, diff --git a/openhis-ui-vue3/src/views/medicationmanagement/requisitionManagement/requisitionManagement/index.vue b/openhis-ui-vue3/src/views/medicationmanagement/requisitionManagement/requisitionManagement/index.vue index af4ba933..d91c65b4 100644 --- a/openhis-ui-vue3/src/views/medicationmanagement/requisitionManagement/requisitionManagement/index.vue +++ b/openhis-ui-vue3/src/views/medicationmanagement/requisitionManagement/requisitionManagement/index.vue @@ -790,6 +790,7 @@ function getTransferProductDetails() { data.isEdit = true; getTransferProductDetail(receiptHeaderForm.busNo).then((res) => { form.purchaseinventoryList = res.data; + receiptHeaderForm.occurrenceTime = formatDate(res.data[0].occurrenceTime) form.purchaseinventoryList.map((e, index) => { form.purchaseinventoryList[index].statusMaxvalue = false; e.volume = e.totalVolume; diff --git a/openhis-ui-vue3/src/views/medicationmanagement/requisitionManagement/returningInventory/index.vue b/openhis-ui-vue3/src/views/medicationmanagement/requisitionManagement/returningInventory/index.vue index 9c61d3a4..de0a001d 100644 --- a/openhis-ui-vue3/src/views/medicationmanagement/requisitionManagement/returningInventory/index.vue +++ b/openhis-ui-vue3/src/views/medicationmanagement/requisitionManagement/returningInventory/index.vue @@ -826,6 +826,7 @@ function getTransferProductDetails() { if (route.query.supplyBusNo) { getTHTransferProductDetail(receiptHeaderForm.busNo).then((res) => { form.purchaseinventoryList = res.data; + receiptHeaderForm.occurrenceTime = formatDate(res.data[0].occurrenceTime) form.purchaseinventoryList.map((e, index) => { e.isSave = true; form.purchaseinventoryList[index].statusMaxvalue = false; diff --git a/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/chkstockPartDetails.vue b/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/chkstockPartDetails.vue index f6801d38..d58de29e 100644 --- a/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/chkstockPartDetails.vue +++ b/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/chkstockPartDetails.vue @@ -83,6 +83,14 @@ >重置
+ + 导出 + + + + + + + + route.query, + (newQuery) => { + // 如果路由中包含指定参数,则使用这些参数进行查询 + if (newQuery.purposeLocationId || newQuery.occurrenceTimeSTime || newQuery.occurrenceTimeETime) { + // 设置查询参数 + if (newQuery.purposeLocationId) { + queryParams.value.purposeLocationId = newQuery.purposeLocationId; + } + if (newQuery.occurrenceTimeSTime) { + queryParams.value.occurrenceTimeSTime = newQuery.occurrenceTimeSTime + ' 00:00:00'; + } + if (newQuery.occurrenceTimeETime) { + queryParams.value.occurrenceTimeETime = newQuery.occurrenceTimeETime + ' 23:59:59'; + } + + // 执行查询 + getList(); + }else { + queryParams.value.purposeLocationId = newQuery.sourceLocationId; + queryParams.value.time = newQuery.time + ' 00:00:00'; + getReportStocktakingPageAuto(queryParams.value).then((res) => { + loading.value = false; + purchaseinventoryList.value = res.data.records + total.value = res.data.total; + }); + } + }, + { immediate: true } +); + function getPharmacyCabinetLists() { getPharmacyCabinetList().then((response) => { locationIdList.value = response.data @@ -245,11 +336,13 @@ function getPharmacyCabinetLists() { /** 查询调拨管理项目列表 */ function getList() { loading.value = true; - getReportStocktakingPage(queryParams.value).then((res) => { - loading.value = false; - purchaseinventoryList.value = res.data.records - total.value = res.data.total; - }); + if(!route.query.sourceLocationId) { + getReportStocktakingPage(queryParams.value).then((res) => { + loading.value = false; + purchaseinventoryList.value = res.data.records + total.value = res.data.total; + }); + } } /** 搜索按钮操作 */ @@ -283,6 +376,12 @@ function handleSelectionChange(selection) { multiple.value = !selection.length; } +/** 导出按钮操作 */ +function handleExport() { + proxy.$download.downloadGet("report-manage/stocktaking/excel-out", { + ...queryParams.value + }, `dict_${new Date().getTime()}.xlsx`); +} getList(); getPharmacyCabinetLists() diff --git a/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/index.vue b/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/index.vue index 38d1f4a3..e52bbcc5 100644 --- a/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/index.vue +++ b/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/index.vue @@ -44,6 +44,17 @@ /> + + + + + + + + + - - - diff --git a/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/medicationDetails.vue b/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/medicationDetails.vue index 9c2e1aa5..9c6c53ad 100644 --- a/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/medicationDetails.vue +++ b/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/medicationDetails.vue @@ -466,7 +466,7 @@ import { watch } from "vue"; import { endsWith } from "lodash"; const userStore = useUserStore(); -const router = useRouter(); +const route = useRoute(); const { proxy } = getCurrentInstance(); const totalAmount = ref(0); const { @@ -526,6 +526,29 @@ watch( }, { immediate: true } ); +// 监听路由变化 +watch( + () => route.query, + (newQuery) => { + // 如果路由中包含指定参数,则使用这些参数进行查询 + if (newQuery.purposeLocationId || newQuery.occurrenceTimeSTime || newQuery.occurrenceTimeETime) { + // 设置查询参数 + if (newQuery.purposeLocationId) { + queryParams.value.locationId = newQuery.purposeLocationId; + } + if (newQuery.occurrenceTimeSTime) { + queryParams.value.dispenseTimeSTime = newQuery.occurrenceTimeSTime + ' 00:00:00'; + } + if (newQuery.occurrenceTimeETime) { + queryParams.value.dispenseTimeETime = newQuery.occurrenceTimeETime + ' 23:59:59'; + } + queryParams.value.flag = 1 + // 执行查询 + getList(); + } + }, + { immediate: true } +); /**计算合计金额 */ function handleTotalAmount() { totalAmount.value = purchaseinventoryList.value.reduce( @@ -668,6 +691,7 @@ function getList(type) { getAmbPractitionerDetail(queryParams.value).then((res) => { purchaseinventoryList.value = res.data.records total.value = res.data.total; + loading.value = false; if(purchaseinventoryList.value.length==0){ return } @@ -690,7 +714,6 @@ function getList(type) { purchaseinventoryList.value.push({practitionerName:'合计',dispensePrice:dispensePrice,refundPrice:refundPrice}) } } - loading.value = false; // 带分页数据 if(total.value&&total.value>queryParams.value.pageSize){ let queryParamsValue = { diff --git a/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/pharmacyMonthlybalance.vue b/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/pharmacyMonthlybalance.vue index 32508c6d..70188c32 100644 --- a/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/pharmacyMonthlybalance.vue +++ b/openhis-ui-vue3/src/views/medicationmanagement/statisticalManagement/pharmacyMonthlybalance.vue @@ -1,11 +1,3 @@ -