门诊挂号-》新增患者:监护人信息录入控制,当患者的年龄小于等于维护的监护人规定年龄时,则需要登记患者监护人的相关信息,反之无需填写。

This commit is contained in:
2025-12-08 10:20:26 +08:00
parent 46c9787216
commit 00e1c62de0
2 changed files with 27 additions and 7 deletions

View File

@@ -350,7 +350,7 @@
</template>
<script setup name="PatientAddDialog">
import { watch } from "vue";
import { watch, defineProps } from "vue";
import pcas from 'china-division/dist/pcas-code.json';
import { addPatient, patientlLists, getOutpatientRegistrationList } from './outpatientregistration';
import { fromPairs } from 'lodash';
@@ -587,19 +587,19 @@ const validateIdCard = (rule, value, callback) => {
// 监护人信息条件验证函数
const validateGuardianInfo = (rule, value, callback) => {
// 只有当年龄小于18岁时才验证监护人信息
// 只有当年龄小于规定年龄时才验证监护人信息
if (form.value.age) {
// 提取年龄数字部分
const ageMatch = form.value.age.toString().match(/\d+/);
if (ageMatch) {
const age = parseInt(ageMatch[0]);
// 如果年龄小于18岁监护人信息必须填写
if (age < 18 && !value) {
return callback(new Error('年龄小于18岁的患者必须填写监护人信息'));
const guardianAgeValue = parseInt(props.guardianAge) || 16;
// 如果年龄小于规定年龄,监护人信息必须填写
if (age < guardianAgeValue && !value) {
return callback(new Error(`年龄小于${guardianAgeValue}岁的患者必须填写监护人信息`));
}
}
}
// 18岁及以上患者或年龄未填写时跳过验证
callback();
}
@@ -658,6 +658,10 @@ const props = defineProps({
type: Object,
required: false,
},
guardianAge: {
type: String,
default: '18'
}
});
// 处理出生日期变化,自动计算年龄