@@ -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 : '';