新增手机号验证,身份证验证,修复bug,优化选择逻辑

This commit is contained in:
weipengfei 2023-07-28 09:47:00 +08:00
parent 7461e66fd7
commit fbd6636387

View File

@ -34,49 +34,53 @@
</u-form-item> -->
<view class="title">地区信息</view>
<u-form-item label="省" required prop="province" @click="changeCity('province')" borderBottom>
<u--input :value="formDataText.province" placeholder="请选择省"></u--input>
<u--input :value="formDataText.province" disabled disabledColor="#fff" placeholder="请选择省"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<u-form-item label="市" required prop="city" @click="changeCity('city')" borderBottom>
<u--input :value="formDataText.city" placeholder="请选择市"></u--input>
<u--input :value="formDataText.city" disabled disabledColor="#fff" placeholder="请选择市"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<u-form-item label="区县" required prop="area" @click="changeCity('area')" borderBottom>
<u--input :value="formDataText.area" placeholder="请选择区县"></u--input>
<u--input :value="formDataText.area" disabled disabledColor="#fff" placeholder="请选择区县"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<u-form-item label="镇" required prop="street" @click="changeCity('street')" borderBottom>
<u--input :value="formDataText.street" placeholder="请选择镇"></u--input>
<u--input :value="formDataText.street" disabled disabledColor="#fff" placeholder="请选择镇"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<u-form-item label="村" required prop="village" @click="changeCity('village')" borderBottom>
<u--input :value="formDataText.village" placeholder="请选择村"></u--input>
<u--input :value="formDataText.village" disabled disabledColor="#fff" placeholder="请选择村"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<u-form-item label="小队" required prop="brigade" @click="changeCity('brigade')" borderBottom>
<u--input :value="formDataText.brigade" placeholder="请选择小队"></u--input>
<u--input :value="formDataText.brigade" disabled disabledColor="#fff" placeholder="请选择小队"></u--input>
<u-icon slot="right" name="arrow-right"></u-icon>
</u-form-item>
<view class="title">资质信息</view>
<u-form-item label="身份证正面" required labelPosition="top" labelWidth="200rpx" prop="qualification.id_card" borderBottom>
<u-form-item label="身份证正面" required labelPosition="top" labelWidth="200rpx" prop="qualification.id_card"
borderBottom>
<u-upload :fileList="formData.qualification.id_card?[{url:formData.qualification.id_card}]:[]"
@afterRead="afterRead" @delete="formData.qualification.id_card=''" name="id_card" :maxCount="1"
width="638rpx" height="300rpx" style="margin-top: 10rpx;">
</u-upload>
</u-form-item>
<u-form-item label="身份证反面" required labelPosition="top" labelWidth="200rpx" prop="qualification.id_card_b" borderBottom>
<u-form-item label="身份证反面" required labelPosition="top" labelWidth="200rpx" prop="qualification.id_card_b"
borderBottom>
<u-upload :fileList="formData.qualification.id_card_b?[{url:formData.qualification.id_card_b}]:[]"
@afterRead="afterRead" @delete="formData.qualification.id_card_b=''" name="id_card_b" :maxCount="1"
width="638rpx" height="300rpx" style="margin-top: 10rpx;">
</u-upload>
</u-form-item>
<u-form-item label="驾驶证正面" required labelPosition="top" labelWidth="200rpx" prop="qualification.car_card" borderBottom>
<u-form-item label="驾驶证正面" required labelPosition="top" labelWidth="200rpx" prop="qualification.car_card"
borderBottom>
<u-upload :fileList="formData.qualification.car_card?[{url:formData.qualification.car_card}]:[]"
@afterRead="afterRead" @delete="formData.qualification.car_card=''" name="car_card" :maxCount="1"
width="638rpx" height="300rpx" style="margin-top: 10rpx;">
</u-upload>
</u-form-item>
<u-form-item label="驾驶证反面" required labelPosition="top" labelWidth="200rpx" prop="qualification.car_card_b" borderBottom>
<u-form-item label="驾驶证反面" required labelPosition="top" labelWidth="200rpx" prop="qualification.car_card_b"
borderBottom>
<u-upload :fileList="formData.qualification.car_card_b?[{url:formData.qualification.car_card_b}]:[]"
@afterRead="afterRead" @delete="formData.qualification.car_card_b=''" name="car_card_b" :maxCount="1"
width="638rpx" height="300rpx" style="margin-top: 10rpx;">
@ -148,107 +152,102 @@
},
rules: {
account: {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
pattern: /^(1[3456789]\d{9})$/,
message: '请输入正确的手机号码',
trigger: ['change', 'blur']
},
id_card: {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
pattern: /^\d{17}[\dX]$|^\d{15}[\dX]$/,
message: '请输入正确的身份证号',
trigger: ['change', 'blur']
},
sex: {
type: 'string',
type: 'number',
max: 1,
required: true,
message: '请选择男或女',
trigger: ['blur','change']
trigger: ['blur', 'change']
},
avatar: {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
message: '头像不能为空',
trigger: ['change', 'blur']
},
name: {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
message: '姓名不能为空',
trigger: ['change', 'blur']
},
province: {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
trigger: ['change', 'blur']
},
city: {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
trigger: ['change', 'blur']
},
area: {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
trigger: ['change', 'blur']
},
street: {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
trigger: ['change', 'blur']
},
village: {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
trigger: ['change', 'blur']
},
brigade: {
type: 'string',
type: 'any',
required: true,
message: '不能为空',
trigger: ['blur']
trigger: ['change', 'blur']
},
'qualification.id_card': {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
trigger: ['change', 'blur']
},
'qualification.id_card_b': {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
trigger: ['change', 'blur']
},
'qualification.car_card': {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
trigger: ['change', 'blur']
},
'qualification.car_card_b': {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
trigger: ['change', 'blur']
},
'qualification.bank_account': {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
trigger: ['change', 'blur']
},
'qualification.bank_account_b': {
type: 'string',
required: true,
message: '不能为空',
trigger: ['blur']
trigger: ['change', 'blur']
},
},
provinceList: [],
@ -263,6 +262,10 @@
onLoad() {
this.initProvinceAndCity()
},
onReady() {
//setRules
this.$refs.uForm.setRules(this.rules)
},
onShow() {},
methods: {
async initProvinceAndCity() {
@ -294,6 +297,7 @@
},
//
changeCity(type) {
if (this[type + 'List'].length == 0) return Toast('请先选择上一级地区');
this.changeType = type;
this.showProvince = true;
},
@ -304,13 +308,14 @@
//
confirm(e) {
if (this.changeType == 'brigade') {
this.formData[this.changeType] = e.value[0].id;
this.formDataText[this.changeType] = e.value[0].brigade_name;
this.formData.brigade = e.value[0].id;
this.formDataText.brigade = e.value[0].brigade_name;
this.showProvince = false;
return;
return ;
}
this.formData[this.changeType] = e.value[0][this.changeType + '_code'];
this.formDataText[this.changeType] = e.value[0][this.changeType + '_name'];
//
switch (this.changeType) {
case 'province':
this.loadCity(this.formData['province']);
@ -328,6 +333,24 @@
this.loadBrigade(this.formData['village']);
break;
}
//
switch (this.changeType) {
case 'province':
this.formData.city = '';
this.formDataText.city = ''
case 'city':
this.formData.area = '';
this.formDataText.area = ''
case 'area':
this.formData.street = '';
this.formDataText.street = ''
case 'street':
this.formData.village = '';
this.formDataText.village = ''
case 'village':
this.formData.brigade = '';
this.formDataText.brigade = ''
}
this.showProvince = false;
},
loadCity(code) {
@ -390,9 +413,16 @@
//
addAcountNum() {
this.$refs.uForm.validate().then(async (e) => {
console.log(e);
// let res = await loginAdd(this.formData);
// Toast('')
if(e){
let res = await loginAdd(this.formData);
uni.showToast({
icon:"none",
title:"添加成功",
success: () => {
uni.navigateBack()
}
})
}
})
},
@ -454,11 +484,16 @@
}
}
.card_img {
width: 600rpx;
height: 300rpx;
background-color: #efefef;
border-radius: 14rpx;
.btn{
margin-top: 32rpx;
// margin-bottom: 40rpx;
width: 100%;
height: 84rpx;
background: $theme-oa-color;
border-radius: 42rpx 42rpx 42rpx 42rpx;
color: #fff;
line-height: 80rpx;
text-align: center;
}
}
</style>