zhengyiming
2025-11-28 a60b00f8055adde2a372f1626e3e495801c22f47
src/views/FlexJobManage/components/StaffInfoDialog.vue
@@ -25,7 +25,11 @@
            prop="identity"
            :check-rules="[{ message: '请输入身份证号', type: 'idCard' }]"
          >
            <ProFormText placeholder="请输入身份证号" v-model.trim="form.identity"></ProFormText>
            <ProFormText
              placeholder="请输入身份证号"
              v-model.trim="_identity"
              @blur="handleCalculateAge"
            ></ProFormText>
          </ProFormItemV2>
        </ProFormColItem>
        <ProFormColItem :span="12">
@@ -148,8 +152,9 @@
  ProFormUpload,
  ProFormInputNumber,
} from '@bole-core/components';
import { deepClone, format } from '@/utils';
import { calculateAge, deepClone, format, hiddenIDNumberForEnd4 } from '@/utils';
import { EnumUserGender, EnumUserGenderTextForPerson } from '@/constants';
import { BoleRegExp } from '@bole-core/core';
defineOptions({
  name: 'StaffInfoDialog',
@@ -176,6 +181,14 @@
const form = defineModel<Form>('form');
let defaultForm: Form = null;
const _identity = computed({
  get: () =>
    form.value.isDetail ? hiddenIDNumberForEnd4(form.value.identity) : form.value.identity,
  set(val) {
    form.value.identity = val;
  },
});
watch(
  visible,
@@ -215,4 +228,8 @@
function handleReset() {
  form.value = { ...defaultForm };
}
function handleCalculateAge() {
  form.value.age = calculateAge(form.value.identity);
}
</script>