wupengfei
4 天以前 16593e60e5fc2dedddf838536046e7a6946a2b8c
fix: bug
2个文件已修改
37 ■■■■■ 已修改文件
src/utils/common/common.ts 24 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/FlexJobManage/components/StaffInfoDialog.vue 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/common/common.ts
@@ -106,3 +106,27 @@
export function filterNumbersFromString(str: string) {
  return str.replace(/\D/g, '');
}
export function calculateAge(idCardNumber) {
  if (BoleRegExp.RegIDCard.test(idCardNumber)) {
    const birthDateStr = idCardNumber.match(/(\d{6})(\d{8})/)[2];
    const birthDate = new Date(
      birthDateStr.substring(0, 4),
      birthDateStr.substring(4, 6) - 1,
      birthDateStr.substring(6, 8)
    );
    // Calculate age
    const today = new Date();
    const age =
      today.getFullYear() -
      birthDate.getFullYear() -
      (today.getMonth() < birthDate.getMonth() ||
      (today.getMonth() === birthDate.getMonth() && today.getDate() < birthDate.getDate())
        ? 1
        : 0);
    return age;
  }
  return null;
}
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="form.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 } from '@/utils';
import { EnumUserGender, EnumUserGenderTextForPerson } from '@/constants';
import { BoleRegExp } from '@bole-core/core';
defineOptions({
  name: 'StaffInfoDialog',
@@ -215,4 +220,8 @@
function handleReset() {
  form.value = { ...defaultForm };
}
function handleCalculateAge() {
  form.value.age = calculateAge(form.value.identity);
}
</script>