From 8617472aec44f0d92eeaec2703160a0b1f6fa676 Mon Sep 17 00:00:00 2001 From: huxuejian Date: Fri, 31 Jul 2026 16:21:49 +0800 Subject: [PATCH] Update hlw-rule-set.vue --- src/views/hlw-rule-set/hlw-rule-set.vue | 122 ++++++++++++++++++++++++ 1 file changed, 122 insertions(+) diff --git a/src/views/hlw-rule-set/hlw-rule-set.vue b/src/views/hlw-rule-set/hlw-rule-set.vue index 74a8890..cefe3e9 100644 --- a/src/views/hlw-rule-set/hlw-rule-set.vue +++ b/src/views/hlw-rule-set/hlw-rule-set.vue @@ -74,6 +74,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
@@ -97,6 +190,15 @@ const data = ref({ acceptDuration: 0, consultationDuration: 0, medicinePurchaseRxDuration: 0, + autoAcceptOrder: false, + autoOpenRx: false, + autoPassRx: false, + autoAcceptDelayMinSeconds: 2, + autoAcceptDelayMaxSeconds: 5, + autoOpenRxDelayMinSeconds: 20, + autoOpenRxDelayMaxSeconds: 40, + autoPassRxDelayMinSeconds: 10, + autoPassRxDelayMaxSeconds: 30, emsExpressDiscountFee: '', emsExpressFee: '', fengNiaoExpressDiscountFee: '', @@ -163,6 +265,17 @@ async function confirm(params) { ElMessage.error('配药处方持续时长不能小于10分钟'); return; } + const delayPairs = [ + ['autoAcceptDelayMinSeconds', 'autoAcceptDelayMaxSeconds', '自动接诊'], + ['autoOpenRxDelayMinSeconds', 'autoOpenRxDelayMaxSeconds', '自动开方'], + ['autoPassRxDelayMinSeconds', 'autoPassRxDelayMaxSeconds', '自动审方'], + ]; + for (const [minKey, maxKey, label] of delayPairs) { + if (form.value[minKey] > form.value[maxKey]) { + ElMessage.error(`${label}最小延时不能大于最大延时`); + return; + } + } if ('emsExpressFee' in editForm.value && typeof emsFee.value === 'string') { ElMessage.error('邮政配送费用配置不正确'); @@ -200,6 +313,15 @@ async function getData() { data.value.acceptDuration = typeof config.acceptDuration === 'number' ? config.acceptDuration : 0; data.value.consultationDuration = typeof config.consultationDuration === 'number' ? config.consultationDuration : 0; data.value.medicinePurchaseRxDuration = typeof config.medicinePurchaseRxDuration === 'number' ? config.medicinePurchaseRxDuration : 0; + data.value.autoAcceptOrder = config.autoAcceptOrder === true; + data.value.autoOpenRx = config.autoOpenRx === true; + data.value.autoPassRx = config.autoPassRx === true; + data.value.autoAcceptDelayMinSeconds = Number.isInteger(config.autoAcceptDelayMinSeconds) ? config.autoAcceptDelayMinSeconds : 2; + data.value.autoAcceptDelayMaxSeconds = Number.isInteger(config.autoAcceptDelayMaxSeconds) ? config.autoAcceptDelayMaxSeconds : 5; + data.value.autoOpenRxDelayMinSeconds = Number.isInteger(config.autoOpenRxDelayMinSeconds) ? config.autoOpenRxDelayMinSeconds : 20; + data.value.autoOpenRxDelayMaxSeconds = Number.isInteger(config.autoOpenRxDelayMaxSeconds) ? config.autoOpenRxDelayMaxSeconds : 40; + data.value.autoPassRxDelayMinSeconds = Number.isInteger(config.autoPassRxDelayMinSeconds) ? config.autoPassRxDelayMinSeconds : 10; + data.value.autoPassRxDelayMaxSeconds = Number.isInteger(config.autoPassRxDelayMaxSeconds) ? config.autoPassRxDelayMaxSeconds : 30; data.value.presOpen = typeof config.presOpen === 'boolean' ? config.presOpen : false; data.value.emsExpressFee = typeof config.emsExpressFee === 'number' ? config.emsExpressFee : ''; data.value.emsExpressDiscountFee = typeof config.emsExpressDiscountFee === 'number' ? config.emsExpressDiscountFee : '';