diff --git a/openhis-ui-vue3/src/views/catalog/medicine/components/medicineDialog.vue b/openhis-ui-vue3/src/views/catalog/medicine/components/medicineDialog.vue index d57b48ea..3c6dbf4a 100644 --- a/openhis-ui-vue3/src/views/catalog/medicine/components/medicineDialog.vue +++ b/openhis-ui-vue3/src/views/catalog/medicine/components/medicineDialog.vue @@ -582,6 +582,7 @@ const { antibiotic_type_code, ddd_code, dose_from_code, + rx_flag, chrgitm_lv, } = proxy.useDict( 'med_category_code', @@ -596,6 +597,7 @@ const { 'antibiotic_type_code', 'ddd_code', 'dose_from_code', + 'rx_flag', 'chrgitm_lv' ); @@ -922,6 +924,7 @@ function reset() { tradeName: '', spec: '', manufacturer: '', + rxFlag: '0', // 默认设置为非处方 dose: undefined, rateCode: undefined, approvalNumber: undefined, @@ -971,7 +974,6 @@ function reset() { thoPartAttributeEnum: undefined, usageLimit: undefined, basicFlag: undefined, - rxFlag: '0', // 默认非处方药品 chrgitmLv: undefined, }; antibioticForm.value = { @@ -1002,7 +1004,20 @@ function submitForm() { form.value.selfFlag == true ? (form.value.selfFlag = 1) : (form.value.selfFlag = 0); //自制标志 form.value.status == true ? (form.value.status = 1) : (form.value.status = 0); //启用状态 - // rxFlag处理已在setFlag函数中完成 + // 强化处方标志rxFlag的处理,确保其为字符串类型并支持"是"和"双跨"值 + console.log('rxFlag before processing:', form.value.rxFlag); + // 确保rxFlag始终是字符串类型,支持"0"(非处方)、"1"(处方)、"2"(双跨) + if (form.value.rxFlag === undefined || form.value.rxFlag === null || form.value.rxFlag === '') { + form.value.rxFlag = '0'; // 默认设置为非处方药品 + } else { + // 确保rxFlag始终是字符串类型 + form.value.rxFlag = String(form.value.rxFlag); + // 验证rxFlag值是否有效,确保只接受'0'、'1'或'2' + if (!['0', '1', '2'].includes(form.value.rxFlag)) { + form.value.rxFlag = '0'; // 如果值无效,设置为默认值 + } + } + console.log('rxFlag after processing:', form.value.rxFlag); proxy.$refs['medicationRef'].validate((valid) => { if (valid) { @@ -1016,7 +1031,13 @@ function submitForm() { form.value.dddCode = antibioticForm.value.dddCode; } - + // 最终确认rxFlag值,确保提交时绝对不为空且为字符串类型 + if (!form.value.rxFlag) { + form.value.rxFlag = '0'; + } else { + form.value.rxFlag = String(form.value.rxFlag); + } + console.log('Final rxFlag before submit:', form.value.rxFlag, 'Type:', typeof form.value.rxFlag); // 将表单数据发送给父组件 emits('submit', form.value);