wupengfei
6 天以前 4e95e2a134e3446e5f8d01193c9ad41839df34d7
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">
@@ -97,18 +101,28 @@
      </ProFormCol>
      <ProFormItemV2
        label="身份证正面:"
        prop="idFrontUrl"
        prop="identityImg"
        :check-rules="[{ message: '请上传身份证正面', type: 'upload' }]"
      >
        <ProFormImageUpload v-model:file-url="form.idFrontUrl" :limitFileSize="10" :showTip="false">
        <ProFormImageUpload
          v-model:file-url="form.identityImg"
          :limitFileSize="10"
          :showTip="false"
          imgBlur
        >
        </ProFormImageUpload>
      </ProFormItemV2>
      <ProFormItemV2
        label="身份证反面:"
        prop="idBackUrl"
        prop="identityBackImg"
        :check-rules="[{ message: '请上传身份证反面', type: 'upload' }]"
      >
        <ProFormImageUpload v-model:file-url="form.idBackUrl" :limitFileSize="10" :showTip="false">
        <ProFormImageUpload
          v-model:file-url="form.identityBackImg"
          :limitFileSize="10"
          :showTip="false"
          imgBlur
        >
        </ProFormImageUpload>
      </ProFormItemV2>
    </ProForm>
@@ -140,8 +154,9 @@
  ProFormUpload,
  ProFormInputNumber,
} from '@bole-core/components';
import { format } from '@/utils';
import { calculateAge, deepClone, format, hiddenIDNumberForEnd4 } from '@/utils';
import { EnumUserGender, EnumUserGenderTextForPerson } from '@/constants';
import { BoleRegExp } from '@bole-core/core';
defineOptions({
  name: 'StaffInfoDialog',
@@ -155,8 +170,8 @@
  contactPhoneNumber: string;
  gender: EnumUserGender;
  age: number;
  idFrontUrl: UploadUserFile[];
  idBackUrl: UploadUserFile[];
  identityImg: UploadUserFile[];
  identityBackImg: UploadUserFile[];
  contractUrl: UploadUserFile[];
  regiterTime: string;
  userRealTime: string;
@@ -169,11 +184,19 @@
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,
  (visible) => {
    if (visible) {
      defaultForm = { ...unref(form) };
      defaultForm = deepClone(unref(form));
    }
  },
  {
@@ -207,4 +230,8 @@
function handleReset() {
  form.value = { ...defaultForm };
}
function handleCalculateAge() {
  form.value.age = calculateAge(form.value.identity);
}
</script>