From c4ffba3cd84fdf632c4d813eb65f30d7abe08737 Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Thu, 17 Sep 2026 08:57:53 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8C=BB=E7=94=9F=E8=8D=AF=E6=88=BF=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E8=BF=81=E7=A7=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/basic/pharmacy.js | 25 ++ .../components/pharmacyTransferDrawer.vue | 407 ++++++++++++++++++ src/views/basic/pharmacy/index.vue | 119 ++++- 3 files changed, 530 insertions(+), 21 deletions(-) create mode 100644 src/views/basic/pharmacy/components/pharmacyTransferDrawer.vue diff --git a/src/api/basic/pharmacy.js b/src/api/basic/pharmacy.js index 24be1b6..df2283a 100644 --- a/src/api/basic/pharmacy.js +++ b/src/api/basic/pharmacy.js @@ -133,3 +133,28 @@ export function exportPharmacyDoctor(data) { data, }); } + +/** + * 获取药房下线受影响医生列表(预检接口) + * @param {String|Number} pharmacy_id - 药房 ID + * @returns {Promise} + */ +export function getAffectedDoctors(pharmacy_id) { + return request({ + url: `/admin/pharmacy/affected-doctors/${pharmacy_id}`, + method: 'get', + }); +} + +/** + * 批量迁移默认药房并执行下线操作 + * @param {Object} data - { source_pharmacy_id, action: 'disable'|'delete', unbind_source: 1|0, transfers: Array<{ doctor_id, target_pharmacy_id }> } + * @returns {Promise} + */ +export function batchTransferAndAction(data) { + return request({ + url: '/admin/pharmacy/batch-transfer-and-action', + method: 'post', + data, + }); +} diff --git a/src/views/basic/pharmacy/components/pharmacyTransferDrawer.vue b/src/views/basic/pharmacy/components/pharmacyTransferDrawer.vue new file mode 100644 index 0000000..e685aeb --- /dev/null +++ b/src/views/basic/pharmacy/components/pharmacyTransferDrawer.vue @@ -0,0 +1,407 @@ + + + + + + 当前【{{ sourcePharmacy?.pharmacy_name }}】共有 + {{ affectedDoctorCount }} + 位医生的首选默认药房受到影响。 + 为保障处方业务正常运转,请为他们指定新的默认药房;确认后系统将自动完成迁移并执行{{ actionText }}。 + + + + + + 批量操作: + + + {{ item.pharmacy_name }} + + + + 应用到已选医生 ({{ selectedRowKeys.length }}) + + + 应用到全部医生 ({{ doctorList.length }}) + + + + + + + + + + {{ record.user_name || '-' }} + {{ record.doctor_title_name || '医生' }} + {{ record.mobile || '-' }} + + + + + + {{ record.hospital_name || '-' }} + {{ record.department_custom_name || '-' }} + + + + + + + + + {{ item.pharmacy_name }} + + + + 无其他绑定药房 + + + + + + + {{ item.pharmacy_name }} + + + + + + + + + + + + + diff --git a/src/views/basic/pharmacy/index.vue b/src/views/basic/pharmacy/index.vue index c9880f5..e2ba592 100644 --- a/src/views/basic/pharmacy/index.vue +++ b/src/views/basic/pharmacy/index.vue @@ -228,17 +228,16 @@ 关联医生 - + + 删除 + --> @@ -248,17 +247,26 @@ + + +