From 983619ef25f84e095bcbf6f4996b0cb58210c73b Mon Sep 17 00:00:00 2001
From: 819527061@qq.com <123456>
Date: 星期四, 08 八月 2024 18:25:24 +0800
Subject: [PATCH] 质检页面

---
 pages/register/register.vue |  207 +++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 166 insertions(+), 41 deletions(-)

diff --git a/pages/register/register.vue b/pages/register/register.vue
index 829450a..2648e14 100644
--- a/pages/register/register.vue
+++ b/pages/register/register.vue
@@ -24,8 +24,29 @@
 							@change="radioChange"></u-radio>
 					</u-radio-group>
 				</u-form-item>
+				<u-form-item labelWidth="20%"
+					label="澶氳韩浠借瘉"
+					borderBottom
+					ref="roleRef"
+					required
+					v-if="radiovalue1 == '鍙告満'">
+					<u-radio-group v-model="radiovalue2"
+						placement="row"
+						@change="groupChange"
+						size="30"
+						shape="circle"
+						iconSize="20">
+						<u-radio labelSize="14px"
+							size="20px"
+							v-for="(item, index) in radiolist3"
+							:key="index"
+							:label="item.name"
+							:name="item.value"
+							@change="radioChange2"></u-radio>
+					</u-radio-group>
+				</u-form-item>
 				<u-form-item prop="name"
-					label="濮撳悕"
+					:label="radiovalue1 == '鍙告満'?'濮撳悕':'鎵胯繍鍟嗗悕绉�'"
 					labelWidth="20%"
 					borderBottom
 					required>
@@ -33,21 +54,52 @@
 						placeholder="璇疯緭鍏ュ唴瀹�"
 						clearable></u--input>
 				</u-form-item>
+				<view style="margin:0 30vw" v-if="radiovalue2 == 1"> 
+					<u-button text="澧炲姞"
+							type="primary"
+							@click="addData"
+							></u-button>
+				</view>
+					<uni-table
+					 border 
+						id="table-box"
+						emptyText="鏆傛棤鏇村鏁版嵁" v-if="radiovalue2 == 1">
+						<uni-tr>
+							<uni-th align="center" >韬唤璇佸彿</uni-th>
+							<uni-th align="center">鎿嶄綔</uni-th>			
+						</uni-tr>
+						<uni-tr v-for="(subItem, index) in tablist" :key="index">
+							<uni-td align="center">
+								<u--input
+									placeholder="璇疯緭鍏ヨ韩浠借瘉鍙�"
+									v-model="subItem.idCard"
+									></u--input>
+								</uni-td>
+					   <uni-td align="right">
+						<view>
+							<u-button text="鍒犻櫎"
+									type="primary"
+									@click="delData(index)"></u-button>
+						</view></uni-td>
+					</uni-tr>
+					</uni-table>
 				<u-form-item prop="idCard"
 					label="韬唤璇�"
 					labelWidth="20%"
 					borderBottom
-					required>
+					required
+					v-if="radiovalue2 == 0">
 					<u--input v-model="registerFormModel.idCard"
 						placeholder="璇疯緭鍏ュ唴瀹�"
 						clearable></u--input>
 				</u-form-item>
 				<u-form-item prop="cardImg1"
-					label="韬唤璇佹闈�"
+					:label="radiovalue1 == '鍙告満'?'韬唤璇佹闈�':'韬唤璇佹垨钀ヤ笟鎵х収鐓х墖'"
 					labelWidth="20%"
 					borderBottom
 					required
-					@click="beforeRead">
+					@click="beforeRead"
+					v-if="radiovalue2 == 0">
 					<u-upload :fileList="fileList5"
 						deletable
 						@afterRead="afterRead"
@@ -61,11 +113,12 @@
 					</u-upload>
 				</u-form-item>
 				<u-form-item prop="cardImg2"
-					label="韬唤璇佸弽闈�"
+					:label="radiovalue1 == '鍙告満'?'韬唤璇佸弽闈�':'韬唤璇佹垨钀ヤ笟鎵х収鐓х墖'"
 					labelWidth="20%"
 					borderBottom
 					required
-					@click="beforeRead">
+					@click="beforeRead"
+					v-if="radiovalue2 == 0">
 					<u-upload :fileList="fileList6"
 						deletable
 						@afterRead="afterRead"
@@ -81,8 +134,9 @@
 				<u-form-item prop="expirationTimeIdcard"
 					label="韬唤璇佽繃鏈熸椂闂�"
 					labelWidth="20%"
-					borderBottom>
-					<uni-datetime-picker v-model="registerFormModel.expirationTimeIdcard" type="datetime" :start="minDate" />
+					borderBottom
+					v-if="radiovalue2 == 0">
+					<uni-datetime-picker v-model="registerFormModel.expirationTimeIdcard" type="date" :start="minDate" />
 				</u-form-item>
 				<u-form-item prop="phone"
 					label="鎵嬫満鍙�"
@@ -143,6 +197,7 @@
 					label="杞﹁締绫诲瀷"
 					borderBottom
 					ref="roleRef"
+					prop='carType'
 					v-if="radiovalue1 == '鍙告満'">
 					<niceui-data-select-input v-model="registerFormModel.carType"
 						:localdata="radiolist2"
@@ -194,7 +249,7 @@
 					labelWidth="20%"
 					borderBottom
 					v-if="radiovalue1 == '鍙告満'">
-					<uni-datetime-picker v-model="registerFormModel.expirationTimeDriving" type="datetime"  :start="minDate" />
+					<uni-datetime-picker v-model="registerFormModel.expirationTimeDriving" type="date"  :start="minDate" />
 				</u-form-item>
 				<u-form-item prop="driverImg"
 					label="椹鹃┒璇�"
@@ -220,7 +275,7 @@
 					labelWidth="20%"
 					borderBottom
 					v-if="radiovalue1 == '鍙告満'">
-					<uni-datetime-picker v-model="registerFormModel.expirationTimeDriver" type="datetime"  :start="minDate" />
+					<uni-datetime-picker v-model="registerFormModel.expirationTimeDriver" type="date"  :start="minDate" />
 				</u-form-item>
 				<u-form-item prop="tradeQualificationImg"
 					label="浠庝笟璧勬牸璇�"
@@ -248,7 +303,7 @@
 					labelWidth="20%"
 					borderBottom
 					v-if="radiovalue1 == '鍙告満'">
-					<uni-datetime-picker v-model="registerFormModel.expirationTimeTradequalification" type="datetime"  :start="minDate" />
+					<uni-datetime-picker v-model="registerFormModel.expirationTimeTradequalification" type="date"  :start="minDate" />
 				</u-form-item>
 				<u-form-item labelWidth="20%"
 					v-if="radiovalue1 == '鍙告満'"
@@ -335,7 +390,7 @@
         const regex2 = /^[A-Za-z]+$/
         // 鏍¢獙绗﹀彿
         const regex3 =
-            /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]路~锛丂#锟�%鈥︹��&*锛堬級鈥斺�擻-+={}|銆娿�嬶紵锛氣�溾�濄�愩�戙�侊紱鈥�'锛屻�傘�乚+$/
+            /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]路~锛丂#锟�%鈥︹��&*锛堬級鈥斺�擻-+={}|銆娿�嬶紵锛氣�溾�濄�愩�戙�侊紱鈥�'锛屻�傘�乚+$/;
         if(regex1.test(value)) {
           this.level.push('low')
           return callback('瀵嗙爜寮哄害杩囦綆')
@@ -377,6 +432,7 @@
         return callback()
       };
 			return {
+				tablist:[{idCard:""},{idCard:""}],
         level:[],  //瀵嗙爜寮哄害鏁扮粍
 				minDate: this.getToday(),
 				// 杞︾墝鍙烽敭鐩樻帶鍒�
@@ -398,7 +454,7 @@
 					tradeQualificationImg: '',
 					driverImg: '',
 					countryNumberCar: 2, //鐜繚绫诲瀷;鍥戒簲 1锛屽浗鍏� 2
-					carType:0,
+					carType:null,
 				},
 				fileList1: [],
 				fileList2: [],
@@ -428,8 +484,14 @@
 						message: '璇峰~鍐欏鍚�',
 						trigger: ['blur', 'change']
 					},{
-							pattern: /^[\u4e00-\u9fa5\s]+$/,
-							message: '濮撳悕鍙兘鏄腑鏂�',
+							pattern: /^[\u4e00-\u9fa5]{1,6}$/, //闄愬埗闀垮害鏈�澶氫负 6 浣�
+							message: '濮撳悕鍙兘鏄腑鏂�', 
+							trigger: ['blur', 'change']
+						}],
+						carType:[{
+							type: 'number',
+							required: true,
+							message: '璇烽�夋嫨杞﹁締绫诲瀷',
 							trigger: ['blur', 'change']
 						}],
 					idCard: [{
@@ -551,6 +613,17 @@
 						value:4
 					}
 				],
+				radiolist3: [{
+						name: '鍚�',
+						disabled: false,
+						value:0
+					},
+					{
+						name: '鏄�',
+						disabled: false,
+						value:1
+					}
+				],
 				countryNumberCarList: [{
 						name: 1,
 						label: '鍥戒簲',
@@ -565,6 +638,7 @@
 					}
 				],
 				radiovalue1: '鍙告満',
+				radiovalue2:0,
 				beforeChangeValue: '',
 				// 鏇存崲瑙掕壊寮规
 				editRoleModelShow: false,
@@ -587,6 +661,7 @@
 				}
 				switch (newV) {
 					case '璐т唬':
+						this.radiovalue2 = 0;
 						this.registerFormModel.type = 2;
 						break;
 					case '鍙告満':
@@ -597,6 +672,9 @@
 				}
 				return;
 			},
+			radiovalue2(newV){
+				
+			}
 		},
 		methods: {
 			...mapMutations(['changeisUploadimg']),
@@ -605,17 +683,12 @@
 			  let year = now.getFullYear();
 			  let month = this.padStart(now.getMonth() + 1); // 鏈堜唤鏄粠0寮�濮嬬殑
 			  let day = this.padStart(now.getDate());
-			  let hour = this.padStart(now.getHours());
-			  let minute = this.padStart(now.getMinutes());
-			  let second = this.padStart(now.getSeconds());
-			  console.log(`${year}-${month}-${day} ${hour}:${minute}:${second}`)
-			  return `${year}-${month}-${day} ${hour}:${minute}:${second}`;
+			  return `${year}-${month}-${day}`;
 			},
 			padStart(value) {
 			  return value.toString().padStart(2, '0');
 			},
 			productcarTypeChange(e){
-				console.log(this.registerFormModel.carType,this.radiolist2.find(v => v.value === e).value)
 				this.registerFormModel.carType = this.radiolist2.find(v => v.value === e).value
 			},
 			registerClick() {
@@ -631,7 +704,11 @@
               .then(res => {
                 this.registerClickloading = true;
                 this.registerFormModel.username = this.registerFormModel.phone;
-                this.registerFormModel.idCardImg = this.registerFormModel.cardImg1+","+this.registerFormModel.cardImg2;
+				if(this.radiovalue2 == 0){
+					this.registerFormModel.idCardImg = this.registerFormModel.cardImg1+","+this.registerFormModel.cardImg2;
+				}else{
+					this.registerFormModel.expirationTimeIdcard=null
+				}
                 if(this.registerFormModel.expirationTimeDriver){
                   this.registerFormModel.expirationTimeDriver=this.registerFormModel.expirationTimeDriver.slice(0,16)
                 }
@@ -644,25 +721,63 @@
                 if(this.registerFormModel.expirationTimeTradequalification){
                   this.registerFormModel.expirationTimeTradequalification=this.registerFormModel.expirationTimeTradequalification.slice(0,16)
                 }
-                this.$reqPost('registerDriver', this.registerFormModel, 'json')
-                    .then(res => {
-                      this.registerClickloading = false;
-                      if (res.code == 0) {
-                        uni.showToast({
-                          title: '娉ㄥ唽鎴愬姛,鍗冲皢杩斿洖鐧诲綍椤�',
-                          icon: 'none',
-                          duration: 1000
-                        });
-                        setTimeout(() => {
-                          uni.redirectTo({ url: '/pages/login/login' });
-                        }, 1000);
-                      } else {
-                        this.$u.toast(res.msg ? res.msg : '娣诲姞澶辫触');
-                      }
-                    })
-                    .catch(err => {
-                      console.log('閿欒', err);
-                    });
+				let idcardtext=/^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/
+				let submit=true
+				if(this.radiovalue2 == 1){
+					const uniqueSampleTypeIds = new Set(this.tablist.map(item => item.idCard));
+					const hasDuplicateSampleTypeId = this.tablist.length !== uniqueSampleTypeIds.size;
+					this.tablist.map(item=>{
+						if(!item.idCard){
+							uni.showToast({
+								title: `璇峰~鍐欒韩浠借瘉锛乣,
+								icon: 'error',
+								duration: 2000
+							});
+							submit=false
+						}else if(!idcardtext.test(item.idCard)){
+							uni.showToast({
+								title: `璇锋楠岃韩浠借瘉锛乣,
+								icon: 'error',
+								duration: 2000
+							});
+							submit=false
+						}
+					})
+					if(hasDuplicateSampleTypeId){
+						uni.showToast({
+							title: `韬唤璇佷笉鑳介噸澶嶏紒`,
+							icon: 'error',
+							duration: 2000
+						});
+						submit=false
+					}
+					if(submit){
+						this.registerFormModel.idCard=this.tablist.map(item=>{
+							return item.idCard
+						}).join(',')
+					}
+				}
+				if(submit){
+					this.$reqPost('registerDriver', this.registerFormModel, 'json')
+					    .then(res => {
+					      this.registerClickloading = false;
+					      if (res.code == 0) {
+					        uni.showToast({
+					          title: '娉ㄥ唽鎴愬姛,鍗冲皢杩斿洖鐧诲綍椤�',
+					          icon: 'none',
+					          duration: 1000
+					        });
+					        setTimeout(() => {
+					          uni.redirectTo({ url: '/pages/login/login' });
+					        }, 1000);
+					      } else {
+					        this.$u.toast(res.msg ? res.msg : '娣诲姞澶辫触');
+					      }
+					    })
+					    .catch(err => {
+					      console.log('閿欒', err);
+					    });
+				}
               })
               .catch(err => {
                 console.log('err', err);
@@ -684,6 +799,16 @@
 					this.beforeChangeValue = e;
 				}
 			},
+			radioChange2(e) {
+			},
+			addData(){
+				this.tablist.push({idCard:""})
+			},
+			delData(e){
+				if(this.tablist.length>2){
+					this.tablist.splice(e,1)
+				}
+			},
 			jiaoYanPassword() {
 				if (this.registerFormModel.password != this.registerFormModel.confirmPassword) {
 					this.$u.toast('涓ゆ瀵嗙爜涓嶄竴鑷�');

--
Gitblit v1.9.1