From ce819919d8da7d6de95f653df1d5a89087a771c8 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Tue, 30 Dec 2025 11:50:11 +0800 Subject: [PATCH 1/9] =?UTF-8?q?12.30=E4=B8=8A=E5=8D=88=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/prescription/transfer-list.js | 32 ++ src/components/prescriptionModal.vue | 169 ++++++- src/views/doctor/doctor-list/index.vue | 17 + src/views/order/medince-list/index.vue | 83 +++- .../transferPrescription-list/index.vue | 463 ++++++++++++++++++ 5 files changed, 754 insertions(+), 10 deletions(-) create mode 100644 src/api/prescription/transfer-list.js create mode 100644 src/views/prescription/transferPrescription-list/index.vue diff --git a/src/api/prescription/transfer-list.js b/src/api/prescription/transfer-list.js new file mode 100644 index 0000000..f591dd5 --- /dev/null +++ b/src/api/prescription/transfer-list.js @@ -0,0 +1,32 @@ +import request from '../../utils/request' + +const url = '/admin/prescription'; + + +export function getPrescriptionList(params){ + return request({ + url:'/admin/prescription/transfer', + method: 'get', + params + }) +} +export function getPrescriptionDetail(id){ + return request({ + url:'/admin/prescription/'+id, + method: 'get' + }) + } + export function getCase(id){ + return request({ + url:'/admin/case/inquiry/'+id, + method: 'get' + }) + } + export function exportPrescription(data){//导出 + return request({ + url:'/admin/export/prescription', + method: 'post', + data + }) + } + \ No newline at end of file diff --git a/src/components/prescriptionModal.vue b/src/components/prescriptionModal.vue index 421b8e5..b216205 100644 --- a/src/components/prescriptionModal.vue +++ b/src/components/prescriptionModal.vue @@ -75,6 +75,122 @@ +
+
+
医生信息
+ + 查看医生完整信息 + +
+ + + +
+ + + + + + +
+
+ {{ modalForm.inquiry_doctor.user_name }}  {{ + formatDoctorTitle(modalForm.inquiry_doctor.doctor_title) + }} +
+
+ {{ + modalForm.inquiry_doctor.hospital.hospital_name + }}  {{ + modalForm.inquiry_doctor.department_custom_name + }} +
+
+
+
暂未分配到医生
+
+
+
+ +
+
+
抄方医生信息
+ + 查看抄方医生完整信息 + +
+ + + +
+ + + + + + +
+
+ {{ modalForm.transfer_prescription_doctor.user_name }}  {{ + formatDoctorTitle(modalForm.transfer_prescription_doctor.doctor_title) + }} +
+
+ {{ + modalForm.transfer_prescription_doctor.hospital.hospital_name + }}  {{ + modalForm.transfer_prescription_doctor.department_custom_name + }} +
+
+
+
暂未分配到医生
+
+
+
+
药品信息
@@ -157,7 +273,7 @@ @@ -182,6 +298,17 @@ + + { + doctor_id.value = modalForm.value.inquiry_doctor.doctor_id; + doctorVisible.value = true; +}; +const openDcotorTransfer = () => { + doctor_id.value = modalForm.value.transfer_prescription_doctor.doctor_id; + doctorVisible.value = true; +}; watch(modalForm.value,()=>{ let data_arr = [{}]; chufang_columns.forEach((item) => { @@ -302,7 +444,7 @@ const chufang_columns = reactive([ order_product_refund: {}, order_product_item: [], order_product_logistics: null, - user_doctor: null, + inquiry_doctor: null, express:[], order_prescription: null, order_product_id:'', @@ -368,6 +510,25 @@ const chufang_columns = reactive([ .cardNum { width: 150px; } + .doctorInfo { + display: flex; + align-items: center; +} + +.infobox { + display: flex; + flex-direction: column; + justify-content: space-between; +} +.headImg { + margin-right: 20px; + border-radius: 50%; + width: 80px; + height: 80px; +} +.arco-timeline-item-content-wrapper { + width: 80%; +} .arco-form-item-layout-horizontal:first-child, .arco-form-item-layout-horizontal:nth-child(2) { align-items: center; diff --git a/src/views/doctor/doctor-list/index.vue b/src/views/doctor/doctor-list/index.vue index a6c89aa..62a5d4c 100644 --- a/src/views/doctor/doctor-list/index.vue +++ b/src/views/doctor/doctor-list/index.vue @@ -362,6 +362,23 @@
理由:平台合作
+ + +
+
+
是否接受抄方
+
+ + + + + + + + + +
diff --git a/src/views/order/medince-list/index.vue b/src/views/order/medince-list/index.vue index 9cc1908..a6f8682 100644 --- a/src/views/order/medince-list/index.vue +++ b/src/views/order/medince-list/index.vue @@ -630,7 +630,7 @@ formatDoctorTitle(modalForm.user_doctor.doctor_title) }}
-
+
{{ modalForm.user_doctor.hospital.hospital_name }}  {{ @@ -644,6 +644,64 @@ +
+
+
抄方医生信息
+ + 查看抄方医生完整信息 + +
+ + + +
+ + + + + + +
+
+ {{ modalForm.transfer_prescription_doctor.user_name }}  {{ + formatDoctorTitle(modalForm.transfer_prescription_doctor.doctor_title) + }} +
+
+ {{ + modalForm.transfer_prescription_doctor.hospital.hospital_name + }}  {{ + modalForm.transfer_prescription_doctor.department_custom_name + }} +
+
+
+
暂未分配到医生
+
+
+
+
就诊人信息
@@ -895,11 +953,14 @@ const pager = { // form const queryForm = reactive({}); const modalForm = reactive({ - order_product_refund: {}, + order_product_refund:{ + product_refund_no:'', + + }, order_product_item: [], - order_product_logistics: null, - user_doctor: null, - order_prescription: null, + order_product_logistics: {}, + user_doctor: {}, + order_prescription: {}, }); watch( @@ -1054,6 +1115,12 @@ const getDetail = async (order_product_id) => { if (code == 200) { Object.assign(modalForm, data); let result = data.order_prescription; + if(!data.order_product_refund){ + modalForm.order_product_refund={} + } + if(!data.user_doctor){ + modalForm.user_doctor = {} + } express = data.order_product_logistics ? JSON.parse(data.order_product_logistics.logistics_content) : []; @@ -1179,7 +1246,11 @@ const handleResetQuery = () => { handleQuery(); }; const openDcotor = () => { - doctor_id.value = modalForm.doctor_id; + doctor_id.value = modalForm.user_doctor.doctor_id; + doctorVisible.value = true; +}; +const openDcotorTransfer = () => { + doctor_id.value = modalForm.transfer_prescription_doctor.doctor_id; doctorVisible.value = true; }; const openPatient = () => { diff --git a/src/views/prescription/transferPrescription-list/index.vue b/src/views/prescription/transferPrescription-list/index.vue new file mode 100644 index 0000000..2ed5e13 --- /dev/null +++ b/src/views/prescription/transferPrescription-list/index.vue @@ -0,0 +1,463 @@ + + + + + \ No newline at end of file From 0042f3e7151e0b04630390f1023a1f30888daa05 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Wed, 31 Dec 2025 10:25:26 +0800 Subject: [PATCH 2/9] =?UTF-8?q?12.31=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- components.d.ts | 2 + src/api/prescription/transfer-list.js | 4 +- src/components/prescriptionModalTransfer.vue | 557 ++++++++++++++++++ .../transferPrescription-list/index.vue | 14 +- 4 files changed, 568 insertions(+), 9 deletions(-) create mode 100644 src/components/prescriptionModalTransfer.vue diff --git a/components.d.ts b/components.d.ts index c98fb64..dbdd6fe 100644 --- a/components.d.ts +++ b/components.d.ts @@ -20,6 +20,7 @@ declare module '@vue/runtime-core' { ChatRecord: typeof import('./src/components/chatRecord.vue')['default'] ClassifyModal: typeof import('./src/components/classifyModal.vue')['default'] ConfirmModal: typeof import('./src/components/confirmModal.vue')['default'] + copy: typeof import('./src/components/prescriptionModal copy.vue')['default'] CouponDetail: typeof import('./src/components/couponDetail.vue')['default'] DeleteModal: typeof import('./src/components/DeleteModal.vue')['default'] DoctorModal: typeof import('./src/components/doctorModal.vue')['default'] @@ -38,6 +39,7 @@ declare module '@vue/runtime-core' { PatientModal: typeof import('./src/components/patientModal.vue')['default'] Prescription: typeof import('./src/components/prescription.vue')['default'] PrescriptionModal: typeof import('./src/components/prescriptionModal.vue')['default'] + PrescriptionModalTransfer: typeof import('./src/components/prescriptionModalTransfer.vue')['default'] RouterLink: typeof import('vue-router')['RouterLink'] RouterView: typeof import('vue-router')['RouterView'] SysmedinceDetailModal: typeof import('./src/components/sysmedinceDetailModal.vue')['default'] diff --git a/src/api/prescription/transfer-list.js b/src/api/prescription/transfer-list.js index f591dd5..008283e 100644 --- a/src/api/prescription/transfer-list.js +++ b/src/api/prescription/transfer-list.js @@ -12,7 +12,7 @@ export function getPrescriptionList(params){ } export function getPrescriptionDetail(id){ return request({ - url:'/admin/prescription/'+id, + url:'/admin/prescription/transfer/'+id, method: 'get' }) } @@ -24,7 +24,7 @@ export function getPrescriptionDetail(id){ } export function exportPrescription(data){//导出 return request({ - url:'/admin/export/prescription', + url:'/admin/export/prescription/transfer', method: 'post', data }) diff --git a/src/components/prescriptionModalTransfer.vue b/src/components/prescriptionModalTransfer.vue new file mode 100644 index 0000000..3c17ca3 --- /dev/null +++ b/src/components/prescriptionModalTransfer.vue @@ -0,0 +1,557 @@ + + + \ No newline at end of file diff --git a/src/views/prescription/transferPrescription-list/index.vue b/src/views/prescription/transferPrescription-list/index.vue index 2ed5e13..710d51a 100644 --- a/src/views/prescription/transferPrescription-list/index.vue +++ b/src/views/prescription/transferPrescription-list/index.vue @@ -78,9 +78,9 @@
- 选择数据导出 - 当前搜索全部导出 - 全部导出 + 选择数据导出 + 当前搜索全部导出 + 全部导出
@@ -118,16 +118,16 @@ - + + + + + +
+
执业证书编码:
+ +
+
+
+
@@ -501,14 +514,7 @@ @change="onChangeFile" accept="image/*" :file-list="qualification_cert_list" @before-upload="beforeUpload" action="/" image-preview /> --> - -
-
资格证编号:
- -
-
+
@@ -722,6 +728,7 @@ const oldFrontImg = ref(''), oldBackImg = ref(''), oldSignImg = ref(''); const { proxy } = getCurrentInstance(); const currentPage = ref(1); const loading = ref(false); +const showTransferDoctor = ref(false); // Pager const pager = { @@ -1752,6 +1759,12 @@ const handlExport = async (type) => { } //ca证书 onMounted(() => { + //showTransferDoctor + let userInfo=localStorage.getItem('manage-userInfo')?JSON.parse(localStorage.getItem('manage-userInfo')):{}; + showTransferDoctor.value=userInfo.role_name!='处方流转平台'; + + + getDoctorInfo(pager); handleHospitalList(); getDepartmentList(); diff --git a/src/views/login/index.vue b/src/views/login/index.vue index 4f66ad3..2d73893 100644 --- a/src/views/login/index.vue +++ b/src/views/login/index.vue @@ -130,11 +130,12 @@ const handleLogin = () => { try { const { code, data, message } = await login(loginForm); if ( code == 200 ) { - const {avatar,nick_name,token,user_id}=data; + const {avatar,nick_name,token,user_id,role_name}=data; const userInfo={ nick_name, avatar, - user_id + user_id, + role_name } await store.setInfo(token,userInfo); proxy.$message.success({ diff --git a/src/views/order/medince-list/index.vue b/src/views/order/medince-list/index.vue index a6f8682..2e646f8 100644 --- a/src/views/order/medince-list/index.vue +++ b/src/views/order/medince-list/index.vue @@ -286,6 +286,9 @@ + @@ -586,7 +589,7 @@ -
+
医生信息
- + -
+
- {{ modalForm.user_doctor.user_name }}  {{ - formatDoctorTitle(modalForm.user_doctor.doctor_title) + {{ modalForm.inquiry_doctor.user_name }}  {{ + formatDoctorTitle(modalForm.inquiry_doctor.doctor_title) }}
-
+
{{ - modalForm.user_doctor.hospital.hospital_name + modalForm.inquiry_doctor.hospital.hospital_name }}  {{ - modalForm.user_doctor.department_custom_name + modalForm.inquiry_doctor.department_custom_name }}
@@ -643,8 +646,8 @@ - -
+ +
抄方医生信息
- +
@@ -701,7 +704,7 @@ - +
就诊人信息
@@ -897,6 +900,7 @@ const doctor_id = ref(''); const isVisible = ref(false); const order_product_id = ref(''); let express = []; //物流信息; +const showTransferDoctor = ref(false); const cur_express = ref([]); const isExpand = ref(false); const patientVisible = ref(false); @@ -1030,7 +1034,7 @@ const columns = [ { title: '排序', dataIndex: 'post_id', slotName: 'post_id', width: 90 }, { title: '订单编号', dataIndex: 'order_product_no', width: 200 }, { title: '处方编号', dataIndex: 'prescription_code', slotName: 'prescription_code', width: 200 }, - { title: '医生姓名', dataIndex: 'doctor_name', width: 100 }, + { title: '医生姓名', dataIndex: 'doctor_name', slotName: 'doctor_name', width: 100 }, { title: '就诊人', dataIndex: 'patient_name_mask', @@ -1295,6 +1299,8 @@ const handlExport=async(type)=>{ proxy.$loading.hide(); } onMounted(() => { + let userInfo=localStorage.getItem('manage-userInfo')?JSON.parse(localStorage.getItem('manage-userInfo')):{}; + showTransferDoctor.value=userInfo.role_name!='处方流转平台'; getProductInfo(pager); }); diff --git a/src/views/prescription/transferPrescription-list/index.vue b/src/views/prescription/transferPrescription-list/index.vue index 710d51a..e854735 100644 --- a/src/views/prescription/transferPrescription-list/index.vue +++ b/src/views/prescription/transferPrescription-list/index.vue @@ -103,7 +103,7 @@