Parcourir la source

Merge remote-tracking branch 'origin/master'

user5 il y a 1 an
Parent
commit
b346b2f4d4
2 fichiers modifiés avec 38 ajouts et 8 suppressions
  1. 7 0
      src/api/sys/userService.js
  2. 31 8
      src/views/sys/user/UserForm.vue

+ 7 - 0
src/api/sys/userService.js

@@ -2,6 +2,13 @@ import request from "@/utils/httpRequest";
 import { SYS_PATH as prefix } from "../AppPath";
 
 export default {
+	findIdCardOnly(param) {
+		return request({
+			url: prefix + '/sys/user/findIdCardOnly',
+			method: 'get',
+			params: { certificatesType: param.certificatesType,idCard: param.idCard },
+		})
+	},
 	saveCertList (inputForm) {
 		return request({
 			url: prefix + `/sys/user/saveCertList`,

+ 31 - 8
src/views/sys/user/UserForm.vue

@@ -232,7 +232,6 @@
 				<el-col :span="12">
 					<el-form-item label="证件号" prop="otherInfoDto.idCard" :rules="[
                     {required: true, message: '证件号不能为空', trigger: 'blur'},
-                    {validator: checkIdCardRule, trigger: 'change'},
                     {validator: checkIdCardRule, trigger: 'blur'}
                   ]">
 						<el-input v-model="inputForm.otherInfoDto.idCard" placeholder="请填写证件号"  clearable></el-input>
@@ -248,6 +247,7 @@
 								   :auto-upload="true"
 									:on-success="(response, file, fileList) => handleUploadSuccess(response, file, fileList,'front')"
 								   v-model:file-list="fileList"
+									:before-upload="checkIsPic"
 						>
 							<el-icon><Plus /></el-icon>
 
@@ -294,6 +294,7 @@
 								   :auto-upload="true"
 								   :on-success="(response, file, fileList) => handleUploadSuccess(response, file, fileList,'back')"
 								   v-model:file-list="fileList2"
+								   :before-upload="checkIsPic"
 						>
 							<el-icon><Plus /></el-icon>
 
@@ -872,6 +873,7 @@
 									   :auto-upload="true"
 									   :on-success="(response, file, fileList) => handleUploadSuccess(response, file, fileList,'bankCards',index_bank)"
 									   v-model:file-list="fileList3[index_bank]"
+									   :before-upload="checkIsPic"
 							>
 								<el-icon><Plus /></el-icon>
 
@@ -909,13 +911,21 @@
 						</el-form-item>
 					</el-col>
 					<el-col :span="12">
-						<el-form-item label="是否为默认" :prop="'rosterBankCardsDTOList[' + index_bank + '].isDefault'"
-									  :rules="[
-               ]">
-							<!--              <el-input v-model="inputForm.rosterBankCardsDTOList[index_bank].isDefault" placeholder="请填写试用期(月)" clearable></el-input>-->
+<!--						<el-form-item label="是否为默认" :prop="'rosterBankCardsDTOList[' + index_bank + '].isDefault'"-->
+<!--									  :rules="[-->
+<!--               ]">-->
+<!--							&lt;!&ndash;              <el-input v-model="inputForm.rosterBankCardsDTOList[index_bank].isDefault" placeholder="请填写试用期(月)" clearable></el-input>&ndash;&gt;-->
 
-							<el-radio @change="checkBankDefault(index_bank)" v-model="inputForm.rosterBankCardsDTOList[index_bank].isDefault" label="1" size="mini" style="margin-right: 0px" border>是</el-radio>
-							<el-radio @change="checkBankDefault(index_bank)" v-model="inputForm.rosterBankCardsDTOList[index_bank].isDefault" label="2" size="mini" border>否</el-radio>
+<!--							<el-radio @change="checkBankDefault(index_bank)" v-model="inputForm.rosterBankCardsDTOList[index_bank].isDefault" label="1" size="mini" style="margin-right: 0px" border>是</el-radio>-->
+<!--							<el-radio @change="checkBankDefault(index_bank)" v-model="inputForm.rosterBankCardsDTOList[index_bank].isDefault" label="2" size="mini" border>否</el-radio>-->
+<!--						</el-form-item>-->
+<!--						-->
+						<el-form-item label="是否为默认" :prop="'rosterBankCardsDTOList[' + index_bank + '].isDefault'"
+									  :rules="[]">
+							<el-radio-group v-model="inputForm.rosterBankCardsDTOList[index_bank].isDefault" size="mini">
+								<el-radio @change="checkBankDefault(index_bank)" v-model="inputForm.rosterBankCardsDTOList[index_bank].isDefault" label="1" size="mini"  >是</el-radio>-->
+								<el-radio @change="checkBankDefault(index_bank)" v-model="inputForm.rosterBankCardsDTOList[index_bank].isDefault" label="2" size="mini" >否</el-radio>
+							</el-radio-group>
 						</el-form-item>
 					</el-col>
 					<el-col :span="24" style="text-align: center">
@@ -1045,6 +1055,7 @@
 									   :auto-upload="true"
 									   :on-success="(response, file, fileList) => handleUploadSuccess(response, file, fileList,'certDTO',index_certDto)"
 									   v-model:file-list="fileList4[index_certDto]"
+									   :before-upload="checkIsPic"
 							>
 								<el-icon><Plus /></el-icon>
 
@@ -1630,7 +1641,16 @@ export default {
 		},
 		// 身份证号rule验证
 		checkIdCardRule (rule, value, callback) {
-			this.blurIdCard(value, callback)
+			//将证件类型与证件号传入到后台进行唯一性判断
+			let param = {certificatesType: this.inputForm.otherInfoDto.certificatesType, idCard: this.inputForm.otherInfoDto.idCard}
+			userService.findIdCardOnly(param).then((data) => {
+				if (data !== 0) {
+					callback(new Error('身份证号已存在,请重新确认!'))
+					this.inputForm.otherInfoDto.idCard = ''
+				} else {
+					this.blurIdCard(value, callback)
+				}
+			})
 		},
 		blurIdCard (value, callback) {
 			if (!this.commonJS.isEmpty(this.inputForm.otherInfoDto.certificatesType)) {
@@ -1876,6 +1896,9 @@ export default {
 				this.inputForm.certDTOList[index].professionList = this.$dictUtils.getDictList('sys_cert_profession_accounting')
 			}
 		},
+		checkIsPic (file) {
+			return this.commonJS.isPic(file)
+		},
 	},
 };
 </script>