瀏覽代碼

身份证验证

ZaiZai 2 年之前
父節點
當前提交
e57a23082e
共有 1 個文件被更改,包括 33 次插入4 次删除
  1. 33 4
      src/views/people/archive/info.vue

+ 33 - 4
src/views/people/archive/info.vue

@@ -37,8 +37,8 @@
                     </el-form-item>
                 </el-col>
                 <el-col :span="8">
-                    <el-form-item label="身份证号码:">
-                        <el-input v-model="formModel.idNumber" oninput="value=value.replace(/[^\d]/g,'')" />
+                    <el-form-item label="身份证号码:" prop="idNumber">
+                        <el-input v-model="formModel.idNumber" oninput="value = value.replace(/[^\d]/g,'')" @change="idNumberChange" />
                     </el-form-item>
                 </el-col>
                 <el-col :span="8">
@@ -224,7 +224,7 @@
 import { onActivated, ref } from 'vue'
 import mainApi from '~api/people/archive'
 import { getTokenHeader } from '~src/api/request/header'
-import { getArrValue, getObjValue } from 'js-fast-way'
+import { getArrValue, getObjValue, isIdCard, isString } from 'js-fast-way'
 import { useRoute, useRouter } from 'vue-router'
 import { getDictInfo } from '~api/other'
 import { getFileName } from '~uti/tools'
@@ -258,13 +258,42 @@ const getUserInfo = async () => {
     const { data } = await mainApi.detail({
         id: dataId.value,
     })
+    const resData = getObjValue(data)
+    const { carAimgUrl, carBimgUrl, userImgUrl } = resData
+    resData.carAimgUrl = isString(carAimgUrl) ? carAimgUrl : ''
+    resData.carBimgUrl = isString(carBimgUrl) ? carBimgUrl : ''
+    resData.userImgUrl = isString(userImgUrl) ? userImgUrl : ''
     formModel.value = getObjValue(data)
 }
 
 //表单信息
 const formRef = ref(null)
 const formModel = ref({})
-const formRules = {}
+const formRules = {
+    idNumber: [{
+        validator: (rule, value, callback) => {
+            if (value) {
+                if (!isIdCard(value)) {
+                    callback(new Error('身份证号码格式错误'))
+                } else {
+                    callback()
+                }
+            } else {
+                callback()
+            }
+        },
+        trigger: 'blur',
+    }],
+}
+
+//身份证号码变化
+const idNumberChange = (str) => {
+    if (isIdCard(str)) {
+        formModel.value.birthday = `${str.slice(6, 10)}-${str.slice(10, 12)}-${str.slice(12, 14)}`
+    } else {
+        formModel.value.birthday = null
+    }
+}
 
 //上传配置
 const uploadFileRef = ref(null)