diff --git a/components.d.ts b/components.d.ts index c98fb64..3cfefa8 100644 --- a/components.d.ts +++ b/components.d.ts @@ -38,6 +38,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 new file mode 100644 index 0000000..008283e --- /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/transfer/'+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/transfer', + method: 'post', + data + }) + } + \ No newline at end of file diff --git a/src/components/doctorModal.vue b/src/components/doctorModal.vue index 0959e12..dea9b33 100644 --- a/src/components/doctorModal.vue +++ b/src/components/doctorModal.vue @@ -270,6 +270,16 @@ + + + +
+
执业证书编码:
+ +
+
+
+
@@ -289,12 +299,7 @@ @change="onChangeFile" accept="image/*" :file-list="qualification_cert_list" @before-upload="beforeUpload" action="/" image-preview /> --> - -
-
资格证编号:
- -
-
+
diff --git a/src/components/prescriptionModal.vue b/src/components/prescriptionModal.vue index 421b8e5..65903ed 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/components/prescriptionModalTransfer.vue b/src/components/prescriptionModalTransfer.vue new file mode 100644 index 0000000..d1286a4 --- /dev/null +++ b/src/components/prescriptionModalTransfer.vue @@ -0,0 +1,562 @@ + + + \ No newline at end of file diff --git a/src/views/doctor/doctor-examine/index.vue b/src/views/doctor/doctor-examine/index.vue index 620f018..7ca816f 100644 --- a/src/views/doctor/doctor-examine/index.vue +++ b/src/views/doctor/doctor-examine/index.vue @@ -254,6 +254,23 @@ +
+
+
是否接受抄方
+
+ + + + + + + + + + + +
医师证件
@@ -274,6 +291,16 @@ + + +
+
执业证书编码:
+ +
+
+
@@ -288,11 +315,11 @@ -
+ + + + + +
+
执业证书编码:
+ +
+
+
+
@@ -484,14 +514,7 @@ @change="onChangeFile" accept="image/*" :file-list="qualification_cert_list" @before-upload="beforeUpload" action="/" image-preview /> --> - -
-
资格证编号:
- -
-
+
@@ -705,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 = { @@ -1735,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 9cc1908..792b9ea 100644 --- a/src/views/order/medince-list/index.vue +++ b/src/views/order/medince-list/index.vue @@ -69,14 +69,14 @@ /> - + {{ record.amount_total }}元 + @@ -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,7 +646,65 @@ - + +
+
+
抄方医生信息
+ + 查看抄方医生完整信息 + +
+ + + +
+ + + + + + +
+
+ {{ 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 + }} +
+
+
+
暂未分配到医生
+
+
+
+
就诊人信息
@@ -839,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); @@ -895,11 +957,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( @@ -969,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', @@ -1054,6 +1119,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 +1250,11 @@ const handleResetQuery = () => { handleQuery(); }; const openDcotor = () => { - doctor_id.value = modalForm.doctor_id; + doctor_id.value = modalForm.inquiry_doctor.doctor_id; + doctorVisible.value = true; +}; +const openDcotorTransfer = () => { + doctor_id.value = modalForm.transfer_prescription_doctor.doctor_id; doctorVisible.value = true; }; const openPatient = () => { @@ -1224,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/prescription-list/index.vue b/src/views/prescription/prescription-list/index.vue index ef64d34..aa2602b 100644 --- a/src/views/prescription/prescription-list/index.vue +++ b/src/views/prescription/prescription-list/index.vue @@ -240,7 +240,7 @@ watch(() => queryForm.expired_range_time, // Table Columns const columns = [ { title: '编号', dataIndex: 'doctor_id', slotName: 'doctor_id', width: '90' }, - { title: '处方编号', dataIndex: 'order_prescription_id',width:180 }, + { title: '处方编号', dataIndex: 'prescription_code',width:180 }, { title: '医生姓名', dataIndex: 'doctor_name',slotName: 'doctor_name', width: 150 }, { title: '药师姓名', dataIndex: 'pharmacist_name',slotName:'pharmacist_name' }, { title: '就诊人', dataIndex: 'patient_name', slotName: 'patient_name',width:180 }, diff --git a/src/views/prescription/transferPrescription-list/index.vue b/src/views/prescription/transferPrescription-list/index.vue new file mode 100644 index 0000000..a6570d9 --- /dev/null +++ b/src/views/prescription/transferPrescription-list/index.vue @@ -0,0 +1,467 @@ + + + + + \ No newline at end of file