From 07c0f76a80262cf48da3438dffd3ad3c04f9cf44 Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期五, 21 六月 2024 17:13:28 +0800
Subject: [PATCH] fix:库管首页点击装卸 弹窗问题

---
 pages/register/register.vue |  329 ++++++++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 266 insertions(+), 63 deletions(-)

diff --git a/pages/register/register.vue b/pages/register/register.vue
index 63160fd..9212e1e 100644
--- a/pages/register/register.vue
+++ b/pages/register/register.vue
@@ -17,7 +17,6 @@
 						iconSize="20">
 						<u-radio labelSize="14px"
 							size="20px"
-							:customStyle="{ marginBottom: '8px' }"
 							v-for="(item, index) in radiolist1"
 							:key="index"
 							:label="item.name"
@@ -43,6 +42,48 @@
 						placeholder="璇疯緭鍏ュ唴瀹�"
 						clearable></u--input>
 				</u-form-item>
+				<u-form-item prop="cardImg1"
+					label="韬唤璇佹闈�"
+					labelWidth="20%"
+					borderBottom
+					required
+					@click="beforeRead">
+					<u-upload :fileList="fileList5"
+						deletable
+						@afterRead="afterRead"
+						@delete="deletePic"
+						name="5"
+						multiple
+						:maxCount="1"
+						width="250"
+						height="150"
+						:previewFullImage="true">
+					</u-upload>
+				</u-form-item>
+				<u-form-item prop="cardImg2"
+					label="韬唤璇佸弽闈�"
+					labelWidth="20%"
+					borderBottom
+					required
+					@click="beforeRead">
+					<u-upload :fileList="fileList6"
+						deletable
+						@afterRead="afterRead"
+						@delete="deletePic"
+						name="6"
+						multiple
+						:maxCount="1"
+						width="250"
+						height="150"
+						:previewFullImage="true">
+					</u-upload>
+				</u-form-item>
+				<u-form-item prop="expirationTimeIdcard"
+					label="韬唤璇佽繃鏈熸椂闂�"
+					labelWidth="20%"
+					borderBottom>
+					<uni-datetime-picker v-model="registerFormModel.expirationTimeIdcard" type="datetime" :start="minDate" />
+				</u-form-item>
 				<u-form-item prop="phone"
 					label="鎵嬫満鍙�"
 					labelWidth="20%"
@@ -61,6 +102,7 @@
 						placeholder="璇疯緭鍏ュ唴瀹�"
 						password
 						clearable></u--input>
+					<span> 瀵嗙爜搴旂敱8-16浣嶆暟瀛椼�佸瓧姣嶃�佺鍙风粍鎴愩�傝涓嶈浣跨敤瀹规槗琚寽鍒扮殑瀵嗙爜</span>
 				</u-form-item>
 				<u-form-item prop="confirmPassword"
 					label="纭瀵嗙爜"
@@ -82,6 +124,18 @@
 					<u--input v-model="registerFormModel.carNo"
 						placeholder="璇疯緭鍏ュ唴瀹�"
 						clearable></u--input>
+				</u-form-item>
+				<u-form-item labelWidth="20%"
+					label="杞﹁締绫诲瀷"
+					borderBottom
+					ref="roleRef"
+					v-if="radiovalue1 == '鍙告満'">
+					<niceui-data-select-input v-model="registerFormModel.carType"
+						:localdata="radiolist2"
+						label="杞﹁締绫诲瀷閫夋嫨"
+						placeholder="璇烽�夋嫨杞﹁締绫诲瀷"
+						@change="productcarTypeChange"
+						></niceui-data-select-input>
 				</u-form-item>
 				<u-form-item prop="carImg"
 					label="杞﹁締鐓х墖"
@@ -121,8 +175,15 @@
 						:previewFullImage="true">
 					</u-upload>
 				</u-form-item>
-				<u-form-item prop="roadTransportImg"
-					label="閬撹矾杩愯緭璇�"
+				<u-form-item prop="expirationTimeDriving"
+					label="琛岄┒璇佽繃鏈熸椂闂�"
+					labelWidth="20%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'">
+					<uni-datetime-picker v-model="registerFormModel.expirationTimeDriving" type="datetime"  :start="minDate" />
+				</u-form-item>
+				<u-form-item prop="driverImg"
+					label="椹鹃┒璇�"
 					labelWidth="24%"
 					borderBottom
 					v-if="radiovalue1 == '鍙告満'"
@@ -140,12 +201,18 @@
 						:previewFullImage="true">
 					</u-upload>
 				</u-form-item>
+				<u-form-item prop="expirationTimeDriver"
+					label="椹鹃┒璇佽繃鏈熸椂闂�"
+					labelWidth="20%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'">
+					<uni-datetime-picker v-model="registerFormModel.expirationTimeDriver" type="datetime"  :start="minDate" />
+				</u-form-item>
 				<u-form-item prop="tradeQualificationImg"
 					label="浠庝笟璧勬牸璇�"
 					labelWidth="24%"
 					borderBottom
 					v-if="radiovalue1 == '鍙告満'"
-					required
 					@click="beforeRead">
 					<u-upload :fileList="fileList4"
 						deletable
@@ -158,13 +225,34 @@
 						height="150"
 						:previewFullImage="true">
 					</u-upload>
+					<span style="color:red">
+						鍑℃槸杩愯緭鏈夋瘨鍖栧鐗╁搧鐨勮溅杈嗗繀椤讳笂浼犱粠涓氳祫鏍艰瘉骞跺~鍐欎粠涓氳祫鏍艰瘉鏈夋晥鏃堕棿
+					</span>
 				</u-form-item>
-				<u-form-item label="鎺ㄨ崘浜鸿处鍙�"
-					labelWidth="25%"
-					borderBottom>
-					<u--input v-model="registerFormModel.tuiJianMa"
-						placeholder="璇疯緭鍏ュ唴瀹�"
-						clearable></u--input>
+				<u-form-item prop="expirationTimeTradequalification"
+					label="浠庝笟璧勬牸杩囨湡鏃堕棿"
+					labelWidth="20%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'">
+					<uni-datetime-picker v-model="registerFormModel.expirationTimeTradequalification" type="datetime"  :start="minDate" />
+				</u-form-item>
+				<u-form-item labelWidth="20%"
+					v-if="radiovalue1 == '鍙告満'"
+					label="鐜繚绫诲瀷"
+					borderBottom
+					prop="countryNumberCar">
+					<u-radio-group v-model="registerFormModel.countryNumberCar"
+						placement="row"
+						size="30"
+						shape="circle"
+						iconSize="20">
+						<u-radio labelSize="14px"
+							size="20px"
+							v-for="(item, index) in countryNumberCarList"
+							:key="index"
+							:label="item.label"
+							:name="item.name"></u-radio>
+					</u-radio-group>
 				</u-form-item>
 			</u--form>
 		</view>
@@ -180,12 +268,6 @@
 				type="primary"
 				@click="registerClick"
 				:loading="registerClickloading"></u-button></view>
-		<!-- 鍥剧墖棰勮寮瑰嚭妗� -->
-		<!-- <view class="previewImage-container">
-			<u-popup :show="previewImageShow" mode="center" @close="previewImageClose" @open="previewImageOpen">
-				<u--image :src="previewImageSrc != null ? BaseUrl + previewImageSrc : ''" width="400px" height="400px"></u--image>
-			</u-popup>
-		</view> -->
 	</view>
 </template>
 
@@ -194,27 +276,9 @@
 	import { BaseUrl } from '@/api/publicInterface.js';
 	import { mapMutations } from 'vuex';
 	export default {
-		// onLoad: function() {
-		//   // 鏌ョ湅鏄惁鎺堟潈
-		//   wx.getSetting({
-		//     success (res){
-		//       if (res.authSetting['scope.userInfo']) {
-		//         // 宸茬粡鎺堟潈锛屽彲浠ョ洿鎺ヨ皟鐢� getUserInfo 鑾峰彇澶村儚鏄电О
-		//         wx.getUserInfo({
-		//           success: function(res) {
-		//             console.log('res.userInfo',res.userInfo)
-		//           }
-		//         })
-		//       }
-		//     }
-		//   })
-		// },
 		// 鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚銆傛敞鎰忓鏋滄覆鏌撻�熷害蹇紝浼氬湪椤甸潰杩涘叆鍔ㄧ敾瀹屾垚鍓嶈Е鍙�
 		onReady() {
 			this.$refs.regesterFormRef.setRules(this.rules);
-			// this.$refs.regesterFormRef.validate().then(res => {}).catch(err => {
-			//   console.log(err);
-			// })
 		},
 		onLoad(params) {
 			if (params) {
@@ -223,7 +287,49 @@
 			}
 		},
 		data() {
+			const checkPassword = (rule, value, callback) => {
+			      let passL = 8;
+			      if(!value) {   //涓嶅繀濉�
+			        return callback()
+			      }
+			      if(value && value.length < passL) {
+			        return callback(`瀵嗙爜涓嶈兘灏戜簬${passL}浣峘)
+			      }
+			      if(value && value.length > 16) {
+			        return callback('瀵嗙爜涓嶈兘澶т簬16浣�')
+			      }
+			      //鏍¢獙鏄暟瀛�
+			      const regex1 = /^\d+$/
+			      // 鏍¢獙瀛楁瘝
+			      const regex2 = /^[A-Za-z]+$/
+			      // 鏍¢獙绗﹀彿
+			      const regex3 =
+			        /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]路~锛丂#锟�%鈥︹��&*锛堬級鈥斺�擻-+={}|銆娿�嬶紵锛氣�溾�濄�愩�戙�侊紱鈥�'锛屻�傘�乚+$/
+			      if(regex1.test(value)) {
+			        return callback('瀵嗙爜寮哄害杩囦綆')
+			      }else if(regex2.test(value)) {
+			        return callback('瀵嗙爜寮哄害杩囦綆')
+			      }else if(regex3.test(value)) {
+			        return callback('瀵嗙爜寮哄害杩囦綆')
+			      }else if(/^[A-Za-z\d]+$/.test(value)) {
+			        return callback('瀵嗙爜寮哄害杩囦綆')
+			      }else if(
+			        /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]路~锛丂#锟�%鈥︹��&*锛堬級鈥斺�擻-+={}|銆娿�嬶紵锛氣�溾�濄�愩�戙�侊紱鈥�'锛屻�傘�乗d]+$/.test(
+			          value
+			        )
+			      ) {
+			        return callback('瀵嗙爜寮哄害杩囦綆')
+			      }else if(
+			        /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]路~锛丂#锟�%鈥︹��&*锛堬級鈥斺�擻-+={}|銆娿�嬶紵锛氣�溾�濄�愩�戙�侊紱鈥�'锛屻�傘�丄-Za-z]+$/.test(
+			          value
+			        )
+			      ) {
+			        return callback('瀵嗙爜寮哄害杩囦綆')
+			      } 
+			      return callback()
+			    }
 			return {
+				minDate: this.getToday(),
 				// 杞︾墝鍙烽敭鐩樻帶鍒�
 				carNumShow: false,
 				keyValue: '',
@@ -233,7 +339,7 @@
 					name: '',
 					username: '',
 					openId: '',
-					type: 2,
+					type: 3,
 					idCard: '',
 					carNo: '',
 					carImg: '',
@@ -241,13 +347,32 @@
 					tuiJianMa: '',
 					confirmPassword: '',
 					tradeQualificationImg: '',
-					roadTransportImg: ''
+					driverImg: '',
+					countryNumberCar: 2, //鐜繚绫诲瀷;鍥戒簲 1锛屽浗鍏� 2
+					carType:0,
 				},
 				fileList1: [],
 				fileList2: [],
 				fileList3: [],
 				fileList4: [],
+				fileList5: [],
+				fileList6: [],
 				rules: {
+					countryNumberCar: {
+						required: false,
+					},
+					expirationTimeIdcard: {
+						required: false,
+					},
+					expirationTimeDriving: {
+						required: false,
+					},
+					expirationTimeDriver: {
+						required: false,
+					},
+					expirationTimeTradequalification: {
+						required: false,
+					},
 					name: {
 						type: 'string',
 						required: true,
@@ -291,10 +416,11 @@
 							trigger: ['blur', 'change']
 						},
 						{
-							min: 6,
-							max: 12,
-							message: '闀垮害鍦�6-12涓瓧绗︿箣闂�'
-						}
+							min: 8,
+							max: 16,
+							message: '闀垮害鍦�8-16涓瓧绗︿箣闂�'
+						},
+						 {validator: checkPassword, trigger: 'change'}
 					],
 					confirmPassword: [{
 							required: true,
@@ -324,6 +450,18 @@
 							trigger: ['change', 'blur']
 						}
 					],
+					cardImg1:{
+						type: 'string',
+						required: true,
+						message: '璇蜂笂浼犺韩浠借瘉姝i潰',
+						trigger: ['blur', 'change']
+					},
+					cardImg2:{
+						type: 'string',
+						required: true,
+						message: '璇蜂笂浼犺韩浠借瘉鍙嶉潰',
+						trigger: ['blur', 'change']
+					},
 					carImg: {
 						type: 'string',
 						required: true,
@@ -336,31 +474,53 @@
 						message: '璇蜂笂浼犺椹惰瘉鐓х墖',
 						trigger: ['blur', 'change']
 					},
-					roadTransportImg: {
+					driverImg: {
 						type: 'string',
 						required: true,
-						message: '璇蜂笂浼犻亾璺繍杈撹瘉鐓х墖',
-						trigger: ['blur', 'change']
-					},
-					tradeQualificationImg: {
-						type: 'string',
-						required: true,
-						message: '璇蜂笂浼犱粠涓氳祫鏍艰瘉鐓х墖',
+						message: '璇蜂笂浼犻┚椹惰瘉鐓х墖',
 						trigger: ['blur', 'change']
 					}
 				},
-				// 鍩烘湰妗堝垪鏁版嵁
 				radiolist1: [{
-						name: '璐т唬',
+						name: '鍙告満',
 						disabled: false
 					},
 					{
-						name: '鍙告満',
+						name: '璐т唬',
 						disabled: false
 					}
 				],
-				// u-radio-group鐨剉-model缁戝畾鐨勫�煎鏋滆缃负鏌愪釜radio鐨刵ame锛屽氨浼氳榛樿閫変腑
-				radiovalue1: '璐т唬',
+				radiolist2: [{
+						text: '鏅�氳繍杈撹溅',
+						value:1
+					},
+					{
+						text: '闆嗚绠卞钩鏉胯溅',
+						value:2
+					},
+					{
+						text: '娑叉隘妲借溅',
+						value:3
+					},
+					{
+						text: '娑茬⒈妲借溅',
+						value:4
+					}
+				],
+				countryNumberCarList: [{
+						name: 1,
+						label: '鍥戒簲',
+					},
+					{
+						name: 2,
+						label: '鍥藉叚',
+					},
+					{
+						name: 3,
+						label: '鏂拌兘婧�',
+					}
+				],
+				radiovalue1: '鍙告満',
 				beforeChangeValue: '',
 				// 鏇存崲瑙掕壊寮规
 				editRoleModelShow: false,
@@ -368,7 +528,7 @@
 				content: '褰撳墠濉叆淇℃伅锛屽垏鎹㈣鑹插悗锛屽嵆娓呴櫎锛屾槸鍚﹀垏鎹紵',
 				wxcode: '',
 				openid: '',
-				registerClickloading: false
+				registerClickloading: false,
 			};
 		},
 		watch: {
@@ -392,22 +552,59 @@
 						break;
 				}
 				return;
-			}
+			},
 		},
 		methods: {
 			...mapMutations(['changeisUploadimg']),
+			getToday() {
+			  let now = new Date();
+			  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}`;
+			},
+			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() {
 				if (this.registerFormModel.password == this.registerFormModel.confirmPassword) {
+					if(this.registerFormModel.carType==3&&!this.registerFormModel.tradeQualificationImg||this.registerFormModel.carType==4&&!this.registerFormModel.tradeQualificationImg){
+						uni.showToast({
+							title: '璇蜂笂浼犱粠涓氳祫鏍艰瘉锛�',
+							icon: 'error',
+							duration: 2000
+						});
+					}else{
 					this.$refs.regesterFormRef
 						.validate()
 						.then(res => {
-							console.log(this.registerFormModel);
 							this.registerClickloading = true;
 							this.registerFormModel.username = this.registerFormModel.phone;
-							apiRegister(this.registerFormModel)
+							this.registerFormModel.idCardImg = this.registerFormModel.cardImg1+","+this.registerFormModel.cardImg2;
+							if(this.registerFormModel.expirationTimeDriver){
+								this.registerFormModel.expirationTimeDriver=this.registerFormModel.expirationTimeDriver.slice(0,16)
+							}
+							if(this.registerFormModel.expirationTimeDriving){
+								this.registerFormModel.expirationTimeDriving=this.registerFormModel.expirationTimeDriving.slice(0,16)
+							}
+							if(this.registerFormModel.expirationTimeIdcard){
+								this.registerFormModel.expirationTimeIdcard=this.registerFormModel.expirationTimeIdcard.slice(0,16)
+							}
+							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.data.code == 0) {
+									if (res.code == 0) {
 										uni.showToast({
 											title: '娉ㄥ唽鎴愬姛,鍗冲皢杩斿洖鐧诲綍椤�',
 											icon: 'none',
@@ -417,7 +614,7 @@
 											uni.redirectTo({ url: '/pages/login/login' });
 										}, 1000);
 									} else {
-										this.$u.toast(res.data.msg ? res.data.msg : '娣诲姞澶辫触');
+										this.$u.toast(res.msg ? res.msg : '娣诲姞澶辫触');
 									}
 								})
 								.catch(err => {
@@ -428,6 +625,7 @@
 							console.log('err', err);
 							this.$u.toast('璇疯鑼冭緭鍏ュ唴瀹�');
 						});
+						}
 				} else {
 					this.$u.toast('涓ゆ瀵嗙爜涓嶄竴鑷�');
 				}
@@ -493,9 +691,6 @@
 						url: BaseUrl + '/admin/sys-file/uploadUnToken',
 						filePath: url,
 						name: 'file',
-						formData: {
-							// user: ''
-						},
 						success: res => {
 							if (num == 1) {
 								this.registerFormModel.carImg = JSON.parse(res.data).data.url;
@@ -504,13 +699,21 @@
 								this.registerFormModel.drivingImg = JSON.parse(res.data).data.url;
 								resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
 							} else if (num == 3) {
-								this.registerFormModel.roadTransportImg = JSON.parse(res.data).data
+								this.registerFormModel.driverImg = JSON.parse(res.data).data
 									.url;
 								resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
 							} else if (num == 4) {
 								this.registerFormModel.tradeQualificationImg = JSON.parse(res.data)
 									.data.url;
 								resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
+							}else if(num==5){
+								this.registerFormModel.cardImg1 = JSON.parse(res.data)
+									.data.url;
+								resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
+							}else if(num==6){
+								this.registerFormModel.cardImg2 = JSON.parse(res.data)
+									.data.url;
+								resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
 							}
 						}
 					});

--
Gitblit v1.9.1