From 7f594b32345b5547d73d92ab6995eb5c69f357b9 Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期一, 17 三月 2025 17:40:17 +0800
Subject: [PATCH] feat:注册车牌号校验修改

---
 pages/register/register.vue | 1250 +++++++++++++++++++++++++++++++++++++++++++----------------
 1 files changed, 914 insertions(+), 336 deletions(-)

diff --git a/pages/register/register.vue b/pages/register/register.vue
index 0f1fb88..31ea002 100644
--- a/pages/register/register.vue
+++ b/pages/register/register.vue
@@ -1,385 +1,963 @@
 <template>
 	<view class="register">
-		<!-- <home-species title="娉ㄥ唽"></home-species> -->
 		<view class="registerForm">
-			<u--form :rules="rules" :model="registerFormModel" ref="regesterFormRef">
-				<u-form-item labelWidth="20%" label="閫夋嫨韬唤" borderBottom ref="roleRef" required>
-					<u-radio-group v-model="radiovalue1" placement="row" @change="groupChange" size="30" shape="circle" iconSize="20">
-						<u-radio
-							labelSize="14px"
+			<u--form :rules="rules"
+				:model="registerFormModel"
+				ref="regesterFormRef">
+				<u-form-item labelWidth="22%"
+					label="閫夋嫨韬唤"
+					borderBottom
+					ref="roleRef"
+					required>
+					<u-radio-group v-model="radiovalue1"
+						placement="row"
+						@change="groupChange"
+						size="30"
+						shape="circle"
+						iconSize="20">
+						<u-radio labelSize="14px"
 							size="20px"
-							:customStyle="{ marginBottom: '8px' }"
 							v-for="(item, index) in radiolist1"
 							:key="index"
 							:label="item.name"
 							:name="item.name"
-							@change="radioChange"
-						></u-radio>
+							@change="radioChange"></u-radio>
 					</u-radio-group>
 				</u-form-item>
-				<u-form-item prop="name" label="濮撳悕" labelWidth="20%" borderBottom required>
-					<u--input v-model="registerFormModel.name" placeholder="璇疯緭鍏ュ唴瀹�"></u--input>
+				<u-form-item prop="name"
+					label="濮撳悕"
+					labelWidth="22%"
+					borderBottom
+					required>
+					<u--input v-model="registerFormModel.name"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						clearable></u--input>
 				</u-form-item>
-				<u-form-item prop="idCard" label="韬唤璇�" labelWidth="20%" borderBottom required>
-					<u--input v-model="registerFormModel.idCard" placeholder="璇疯緭鍏ュ唴瀹�"></u--input>
+				<u-form-item prop="idCard"
+					label="韬唤璇�"
+					labelWidth="22%"
+					borderBottom
+					required>
+					<u--input v-model="registerFormModel.idCard"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						clearable></u--input>
 				</u-form-item>
-				<u-form-item prop="phone" label="鎵嬫満鍙�" labelWidth="20%" borderBottom required>
-					<u--input v-model="registerFormModel.phone" placeholder="璇疯緭鍏ュ唴瀹�"></u--input>
+				<u-form-item prop="phone"
+					label="鎵嬫満鍙�"
+					labelWidth="22%"
+					borderBottom
+					required>
+					<u--input v-model="registerFormModel.phone"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						clearable></u--input>
 				</u-form-item>
-				<u-form-item prop="password" label="瀵嗙爜" labelWidth="20%" borderBottom required>
-					<u--input v-model="registerFormModel.password" placeholder="璇疯緭鍏ュ唴瀹�"></u--input>
+				<u-form-item prop="password" 
+					label="瀵嗙爜"
+					labelWidth="22%"
+					borderBottom
+					required>
+					<u--input v-model="registerFormModel.password"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						password
+						clearable></u--input>
 				</u-form-item>
-				<u-form-item prop="carNo" label="杞︾墝鍙�" labelWidth="20%" borderBottom v-if="radiovalue1 == '鍙告満'" required>
-					<u--input v-model="registerFormModel.carNo" placeholder="璇疯緭鍏ュ唴瀹�"></u--input>
+        <view class="intensity">
+          <view class="psdText">瀵嗙爜寮哄害</view>
+          <view
+              class="line"
+              :class="[level.includes('low') ? 'low' : '']"></view>
+          <view
+              class="line"
+              :class="[level.includes('middle') ? 'middle' : '']"></view>
+          <view
+              class="line"
+              :class="[level.includes('high') ? 'high' : '']"></view>
+          <div class="warningtext">
+            瀵嗙爜搴旂敱8-16浣嶆暟瀛椼�佸瓧姣嶃�佺鍙风粍鎴愩�傝涓嶈浣跨敤瀹规槗琚寽鍒扮殑瀵嗙爜
+          </div>
+        </view>
+				<u-form-item prop="confirmPassword"
+					label="纭瀵嗙爜"
+					labelWidth="22%"
+					borderBottom
+					required>
+					<u--input v-model="registerFormModel.confirmPassword"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						password
+						clearable></u--input>
 				</u-form-item>
-				<u-form-item prop="carPhoto" label="杞﹁締鐓х墖" labelWidth="20%" borderBottom v-if="radiovalue1 == '鍙告満'" required>
-					<u-upload :fileList="fileList6" @afterRead="afterRead" @delete="deletePic" name="6" multiple :maxCount="1" width="250" height="150">
-						<!-- <image src="https://cdn.uviewui.com/uview/demo/upload/positive.png"
-						mode="widthFix" style="width: 250px;height: 150px;"></image> -->
+				<u-form-item prop="carNo"
+					label="杞︾墝鍙�"
+					labelWidth="22%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					required>
+					<u--input v-model="registerFormModel.carNo"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						clearable></u--input>
+				</u-form-item>
+				<u-form-item prop="truckLength"
+					label="杞﹂暱"
+					labelWidth="22%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					required>
+					<u--input v-model="registerFormModel.truckLength"
+						@change="inputchange($event,1)"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						clearable></u--input>
+				</u-form-item>
+				<u-form-item prop="truckWidth"
+					label="杞﹀"
+					labelWidth="22%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					required>
+					<u--input v-model="registerFormModel.truckWidth"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						@change="inputchange($event,2)"
+						clearable></u--input>
+				</u-form-item>
+				<u-form-item prop="truckHeight"
+					label="杞﹂珮"
+					labelWidth="22%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					required>
+					<u--input v-model="registerFormModel.truckHeight"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						@change="inputchange($event,3)"
+						clearable></u--input>
+				</u-form-item>
+				<u-form-item prop="totalLoad"
+					label="杞﹁揣鎬婚噸"
+					labelWidth="22%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					required>
+					<u--input v-model="registerFormModel.totalLoad"
+						@change="inputchange($event,5)"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						clearable></u--input><span style="position: absolute;right: 120rpx;line-height: 40px">鍚�</span>
+				</u-form-item>
+				<u-form-item prop="maximumPayload"
+					label="鏈�澶ц浇閲�"
+					labelWidth="22%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					required>
+					<u--input v-model="registerFormModel.maximumPayload"
+						@change="inputchange($event,4)"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						clearable></u--input><span style="position: absolute;right: 120rpx;line-height: 40px">鍚�</span>
+				</u-form-item>
+
+				<u-form-item prop="axleNum"
+					label="杞﹁酱鏁�"
+					labelWidth="22%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					required>
+					<u--input v-model="registerFormModel.axleNum"
+						@change="inputchange($event,6)"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						clearable></u--input>
+				</u-form-item>
+
+				<u-form-item prop="certification"
+					label="浠庝笟璧勬牸璇佸彿"
+					labelWidth="22%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					required>
+					<u--input v-model="registerFormModel.certification"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						clearable></u--input>
+				</u-form-item>
+
+				<u-form-item prop="freightCompany"
+					label="鎵胯繍鍗曚綅"
+					labelWidth="22%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					>
+					<u--input v-model="registerFormModel.freightCompany"
+						placeholder="璇疯緭鍏ュ唴瀹�"
+						clearable></u--input>
+				</u-form-item>
+				
+				<u-form-item prop="carImg"
+					label="杞﹁締鐓х墖"
+					labelWidth="22%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					required
+					@click="beforeRead">
+					<u-upload :fileList="fileList1"
+						deletable
+						@afterRead="afterRead"
+						@delete="deletePic"
+						name="1"
+						multiple
+						:maxCount="1"
+						width="250"
+						height="150"
+						:previewFullImage="true">
 					</u-upload>
 				</u-form-item>
-				<u-form-item prop="drivingLicense" label="琛岄┒璇�" labelWidth="20%" borderBottom v-if="radiovalue1 == '鍙告満'" required>
-					<u-upload :fileList="fileList5" @afterRead="afterRead" @delete="deletePic" name="5" multiple :maxCount="1" width="250" height="150">
-						<!-- <image src="https://cdn.uviewui.com/uview/demo/upload/positive.png"
-						mode="widthFix" style="width: 250px;height: 150px;"></image> -->
+				<u-form-item prop="drivingImg"
+					label="琛岄┒璇�"
+					labelWidth="22%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					required
+					@click="beforeRead">
+					<u-upload :fileList="fileList2"
+						deletable
+						@afterRead="afterRead"
+						@delete="deletePic"
+						name="2"
+						multiple
+						:maxCount="1"
+						width="250"
+						height="150"
+						:previewFullImage="true">
 					</u-upload>
 				</u-form-item>
-				<u-form-item label="鎺ㄨ崘浜鸿处鍙�" labelWidth="25%" borderBottom ><u--input v-model="registerFormModel.tuiJianMa" placeholder="璇疯緭鍏ュ唴瀹�"></u--input></u-form-item>
+				<u-form-item prop="roadTransportImg"
+					label="閬撹矾杩愯緭璇�"
+					labelWidth="24%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					required
+					@click="beforeRead">
+					<u-upload :fileList="fileList3"
+						deletable
+						@afterRead="afterRead"
+						@delete="deletePic"
+						name="3"
+						multiple
+						:maxCount="1"
+						width="250"
+						height="150"
+						:previewFullImage="true">
+					</u-upload>
+				</u-form-item>
+				<u-form-item prop="tradeQualificationImg"
+					label="浠庝笟璧勬牸璇�"
+					labelWidth="24%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					required
+					@click="beforeRead">
+					<u-upload :fileList="fileList4"
+						deletable
+						@afterRead="afterRead"
+						@delete="deletePic"
+						name="4"
+						multiple
+						:maxCount="1"
+						width="250"
+						height="150"
+						:previewFullImage="true">
+					</u-upload>
+				</u-form-item>
+				<u-form-item prop="inventoryImg"
+					label="鐜繚娓呭崟"
+					labelWidth="24%"
+					borderBottom
+					v-if="radiovalue1 == '鍙告満'"
+					@click="beforeRead">
+					<u-upload :fileList="fileList5"
+						deletable
+						@afterRead="afterRead"
+						@delete="deletePic"
+						name="5"
+						multiple
+						:maxCount="3"
+						width="250"
+						height="150"
+						:previewFullImage="true">
+					</u-upload>
+				</u-form-item>
+				<u-form-item label="鏄惁闈炵叅杞﹁締"
+					v-if="radiovalue1 == '鍙告満'"
+					labelWidth="30%"
+					borderBottom
+					prop="isNonCoal">
+					<u-checkbox-group v-model="registerFormModel.isNonCoal"
+						placement="row"
+						size="40"
+						@change="isNonCoalChange">
+						<u-checkbox name="鏄�"
+							label-size="30">
+						</u-checkbox>
+					</u-checkbox-group>
+				</u-form-item>
+				<u-form-item labelWidth="22%"
+					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>
 		<view class="roleModel">
-			<u-modal :show="editRoleModelShow" :title="title" :content="content" :showCancelButton="true" @confirm="roleConfirm" @cancel="roleCancel"></u-modal>
+			<u-modal :show="editRoleModelShow"
+				:title="title"
+				:content="content"
+				:showCancelButton="true"
+				@confirm="roleConfirm"
+				@cancel="roleCancel"></u-modal>
 		</view>
-		<view class="registerBtn"><u-button text="娉ㄥ唽" type="primary" @click="registerClick"></u-button></view>
-
-		<!-- <view class="utils">
-			<text @click="callingIn">鎵撶數璇�</text>
-		</view> -->
+		<view class="registerBtn"><u-button text="娉ㄥ唽"
+				type="primary"
+				@click="registerClick"
+				:loading="registerClickloading"></u-button></view>
 	</view>
 </template>
 
 <script>
-// import HomeSpecies from '@/components/home-species/HomeSpecies.vue';
-import { apiRegister } from '@/api/publicInterface.js';
-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)
-	//           }
-	//         })
-	//       }
-	//     }
-	//   })
-	// },
-	components: {
-		// HomeSpecies
-	},
-	// 鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚銆傛敞鎰忓鏋滄覆鏌撻�熷害蹇紝浼氬湪椤甸潰杩涘叆鍔ㄧ敾瀹屾垚鍓嶈Е鍙�
-	onReady() {
-		// this.$refs.regesterFormRef.setRules(this.rules);
-		// this.$refs.regesterFormRef.validate().then(res => {}).catch(err => {
-		//   console.log(err);
-		// })
-	},
-	onLoad(params) {
-		if (params) {
-			this.registerFormModel.openId = params.code;
-			console.log('椤甸潰鍔犺浇', this.registerFormModel.openId);
+	import { apiRegister } from '@/api/publicInterface.js';
+	import { BaseUrl } from '@/api/publicInterface.js';
+	import { mapMutations } from 'vuex';
+	export default {
+		// 鐩戝惉椤甸潰鍒濇娓叉煋瀹屾垚銆傛敞鎰忓鏋滄覆鏌撻�熷害蹇紝浼氬湪椤甸潰杩涘叆鍔ㄧ敾瀹屾垚鍓嶈Е鍙�
+		onReady() {
+			this.$refs.regesterFormRef.setRules(this.rules);
+		},
+		onLoad(params) {
+			if (params) {
+				this.registerFormModel.openId = params.code;
+				console.log('椤甸潰鍔犺浇', this.registerFormModel.openId);
+			}
+		},
+		data() {
+      const validatePass = (rule, value, callback) => {
+        if (this.registerFormModel.confirmPassword !== "") {
+          if (value !== this.registerFormModel.password) {
+            callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
+          } else {
+            callback();
+          }
+        } else {
+          callback();
+        }
+      };
+	  //楠岃瘉鏈�澶ф�婚噸涓嶈兘瓒呰繃杞﹁揣杞介噸
+	  const maxVstotalFun1 = (rule, value, callback) =>{
+		console.log('瑙﹀彂',this.registerFormModel.maximumPayload  ,this.registerFormModel.totalLoad,this.registerFormModel.maximumPayload  <= this.registerFormModel.totalLoad)
+		if(!value || !this.registerFormModel.maximumPayload)callback()
+		if(Number(value)   >= Number(this.registerFormModel.maximumPayload)){
+			callback()
+		}else{
+			callback(new Error("杞﹁揣鎬婚噸涓嶈兘灏忎簬鏈�澶ц浇閲�"))
 		}
-	},
-	data() {
-		return {
-			registerFormModel: {
-				phone: '',
-				password: '',
-				name: '',
-				username:'',
-				openId: '',
-				type: 2,
-				idCard: '',
-				carNo: '',
-				carImg: '',
-				drivingImg: '',
-				tuiJianMa: ''
-			},
-			rules: {
-				name: {
-					type: 'string',
-					required: true,
-					message: '璇峰~鍐欏鍚�',
-					trigger: ['blur', 'change']
+
+	  }
+
+	  const maxVstotalFun2 = (rule, value, callback) =>{
+		console.log('瑙﹀彂',this.registerFormModel.maximumPayload  ,this.registerFormModel.totalLoad,this.registerFormModel.maximumPayload  <= this.registerFormModel.totalLoad)
+		if(!value || !this.registerFormModel.totalLoad)callback()
+		if(Number(value)   <= Number(this.registerFormModel.totalLoad)){
+			callback()
+		}else{
+			callback(new Error("鏈�澶ц浇閲嶄笉鑳借秴杩囪溅璐ф�婚噸"))
+		}
+
+	  }
+      const checkPassword = (rule, value, callback) => {
+        // let roles = this.$store.getters.roles;//褰撳墠鐢ㄦ埛瑙掕壊id
+        // let passL = 8;
+        // if (roles.concat(1)){
+        //   passL = 10
+        // }
+        let passL = 8;
+        this.level = []
+        if(!value) {
+          return callback('瀵嗙爜涓嶈兘涓虹┖')
+        }
+        if(value.length < passL) {
+          return callback(`瀵嗙爜涓嶈兘灏戜簬${passL}浣峘)
+        }
+        if(value.length > 16) {
+          return callback('瀵嗙爜涓嶈兘澶т簬16浣�')
+        }
+        //鏍¢獙鏄暟瀛�
+        const regex1 = /^\d+$/
+        // 鏍¢獙瀛楁瘝
+        const regex2 = /^[A-Za-z]+$/
+        // 鏍¢獙绗﹀彿
+        const regex3 =
+            /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]路~锛丂#锟�%鈥︹��&*锛堬級鈥斺�擻-+={}|銆娿�嬶紵锛氣�溾�濄�愩�戙�侊紱鈥�'锛屻�傘�乚+$/;
+        if(regex1.test(value)) {
+          this.level.push('low')
+          return callback('瀵嗙爜寮哄害杩囦綆')
+        }else if(regex2.test(value)) {
+          this.level.push('low')
+          return callback('瀵嗙爜寮哄害杩囦綆')
+        }else if(regex3.test(value)) {
+          this.level.push('low')
+          return callback('瀵嗙爜寮哄害杩囦綆')
+        }else if(/^[A-Za-z\d]+$/.test(value)) {
+          this.level.push('low')
+          this.level.push('middle')
+          return callback('瀵嗙爜寮哄害杩囦綆')
+        }else if(
+            /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]路~锛丂#锟�%鈥︹��&*锛堬級鈥斺�擻-+={}|銆娿�嬶紵锛氣�溾�濄�愩�戙�侊紱鈥�'锛屻�傘�乗d]+$/.test(
+                value
+            )
+        ) {
+          this.level.push('low')
+          this.level.push('middle')
+          return callback('瀵嗙爜寮哄害杩囦綆')
+        }else if(
+            /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]路~锛丂#锟�%鈥︹��&*锛堬級鈥斺�擻-+={}|銆娿�嬶紵锛氣�溾�濄�愩�戙�侊紱鈥�'锛屻�傘�丄-Za-z]+$/.test(
+                value
+            )
+        ) {
+          this.level.push('low')
+          this.level.push('middle')
+          return callback('瀵嗙爜寮哄害杩囦綆')
+        } else if (
+            /^[`~!@#$%^&*()_\-+=<>?:"{}|,.\/;'\\[\]路~锛丂#锟�%鈥︹��&*锛堬級鈥斺�擻-+={}|銆娿�嬶紵锛氣�溾�濄�愩�戙�侊紱鈥�'锛屻�傘�丄-Za-z\d]+$/.test(
+                value
+            )
+        ) {
+          this.level.push('low')
+          this.level.push('middle')
+          this.level.push('high')
+        }
+        return callback()
+      };
+			return {
+        level:[],  //瀵嗙爜寮哄害鏁扮粍
+				// 杞︾墝鍙烽敭鐩樻帶鍒�
+				carNumShow: false,
+				keyValue: '',
+				registerFormModel: {
+					phone: '',
+					password: '',
+					name: '',
+					username: '',
+					openId: '',
+					type: 3,
+					idCard: '',
+					carNo: '',
+					truckLength:null,
+					truckWidth:null,
+					truckHeight:null,
+					maximumPayload:null,
+					totalLoad:null,
+					carImg: '',
+					drivingImg: '',
+					tuiJianMa: '',
+					confirmPassword: '',
+					tradeQualificationImg: '',
+					roadTransportImg: '',
+					isNonCoal: [],
+					isCoalCar: 1, //鏄惁涓虹叅鐐溅杈�(鍙告満浣跨敤瀛楁) 1 鏄� 2 涓嶆槸
+					inventoryImg: '',
+					countryNumberCar: 0, //杞﹁締绫诲瀷;鍥戒簲 1锛屽浗鍏� 2,
+					certification:'',
+					freightCompany:'',
+					axleNum:"",
+					
 				},
-				idCard: {
-					type: 'string',
-					required: true,
-					message: '璇疯緭鍏ヨ韩浠借瘉鍙�',
-					trigger: ['blur', 'change']
-				},
-				phone: [
-					{
-						required: true,
-						message: '姝や负蹇呭~瀛楁',
-						// blur鍜宑hange浜嬩欢瑙﹀彂妫�楠�
-						trigger: ['blur', 'change']
+				fileList1: [],
+				fileList2: [],
+				fileList3: [],
+				fileList4: [],
+				fileList5: [],
+				fileList6: [],
+				rules: {
+					inventoryImg: {
+						required: false,
 					},
-					{
-						min: 11,
-						max: 11,
-						message: '璇疯緭鍏ュ悎娉曟墜鏈哄彿'
-					}
-				],
-				password: [
-					{
-						required: true,
-						message: '璇疯缃垵濮嬪瘑鐮�',
-						trigger: ['blur', 'change']
+					countryNumberCar: {
+						required: false,
 					},
-					{
-						min: 6,
-						max: 8,
-						message: '闀垮害鍦�6-8涓瓧绗︿箣闂�'
-					}
-				],
-				carNo: [
-					{
+					name: {
 						type: 'string',
 						required: true,
-						message: '璇疯緭鍏ヨ溅鐗屽彿',
+						message: '璇峰~鍐欏鍚�',
 						trigger: ['blur', 'change']
+					},
+					idCard: [{
+							type: 'string',
+							required: true,
+							message: '璇疯緭鍏ヨ韩浠借瘉鍙�',
+							trigger: ['blur', 'change']
+						},
+						{
+							pattern: /^([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]$/,
+							message: '韬唤璇佸彿鏍煎紡涓嶆纭�',
+							trigger: ['blur', 'change']
+						}
+					],
+					phone: [{
+							required: true,
+							message: '璇疯緭鍏ユ墜鏈哄彿',
+							// blur鍜宑hange浜嬩欢瑙﹀彂妫�楠�
+							trigger: ['blur', 'change']
+						},
+						{
+							min: 11,
+							max: 11,
+							message: '璇疯緭鍏ュ悎娉曟墜鏈哄彿'
+						},
+						{
+							validator: (rule, value, callback) => {
+								return uni.$u.test.mobile(value);
+							},
+							message: '鎵嬫満鍙风爜鏍煎紡涓嶆纭�',
+							trigger: ['change', 'blur']
+						}
+					],
+					password: [{
+							required: true,
+							message: '璇疯缃垵濮嬪瘑鐮�',
+							trigger: ['blur', 'change']
+						},
+            {
+              validator: checkPassword,
+              trigger: 'change'
+            }
+					],
+					confirmPassword: [{
+            required: true,
+            validator: validatePass,
+            trigger: "blur"
+          }],
+					carNo: [{
+							type: 'string',
+							required: true,
+							message: '璇疯緭鍏ヨ溅鐗屽彿',
+							trigger: ['blur', 'change']
+						},
+						{
+							transform(value) {
+								return String(value);
+							},
+							validator: (rule, value, callback) => {
+								 // 鏂拌兘婧愯溅鐗�
+							const xreg = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}(([0-9]{5,6}[A-Z]$)|([A-Z][A-HJ-NP-Z0-9][0-9]{4,5}$))/
+							// 鏃ц溅鐗�
+							const creg = /^[浜触娌笣鍐�璞簯杈介粦婀樼殩椴佹柊鑻忔禉璧i剛妗傜敇鏅嬭挋闄曞悏闂借吹绮ら潚钘忓窛瀹佺惣浣块A-Z]{1}[A-Z]{1}[A-HJ-NP-Z0-9]{4}[A-HJ-NP-Z0-9鎸傚璀︽腐婢砞{1}$/
+							if (value.length === 7) {
+								return creg.test(value)
+							} if (value.length === 8) {
+								return xreg.test(value)
+							}
+							return false
+							},
+							message: '璇疯緭鍏ユ纭殑杞︾墝鍙�',
+							trigger: ['change', 'blur']
+						}
+					],
+					carImg: {
+						type: 'string',
+						required: true,
+						message: '璇蜂笂浼犺溅杈嗗浘鐗�',
+						trigger: ['blur', 'change']
+					},
+					drivingImg: {
+						type: 'string',
+						required: true,
+						message: '璇蜂笂浼犺椹惰瘉鐓х墖',
+						trigger: ['blur', 'change']
+					},
+					roadTransportImg: {
+						type: 'string',
+						required: true,
+						message: '璇蜂笂浼犻亾璺繍杈撹瘉鐓х墖',
+						trigger: ['blur', 'change']
+					},
+					tradeQualificationImg: {
+						type: 'string',
+						required: true,
+						message: '璇蜂笂浼犱粠涓氳祫鏍艰瘉鐓х墖',
+						trigger: ['blur', 'change']
+					},
+					truckLength: {
+						type: 'number',
+						required: true,
+						message: '璇疯緭鍏ヨ溅闀�',
+						trigger: ['blur', 'change']
+					},
+					truckWidth: {
+						type: 'number',
+						required: true,
+						message: '璇疯緭鍏ヨ溅瀹�',
+						trigger: ['blur', 'change']
+					},
+					truckHeight: {
+						type: 'number',
+						required: true,
+						message: '璇疯緭鍏ヨ溅楂�',
+						trigger: ['blur', 'change']
+					},
+					maximumPayload: {
+						type: 'number',
+						required: true,
+						// message: '璇疯緭鍏ユ渶澶ц浇閲�',
+						validator: maxVstotalFun2,
+						trigger: ['blur', 'change']
+					},
+					totalLoad:{
+						type: 'number',
+						required: true,
+						// message: '璇疯緭鍏ヨ溅璐ф�婚噸',
+						validator: maxVstotalFun1,
+						trigger: ['blur', 'change']
+					},
+					axleNum:{
+						type: 'number',
+						required: false,
+						message: '璇疯緭鍏ヨ溅杞存暟',
+						trigger: ['blur', 'change']
+					},
+					freightCompany:{
+						type: 'string',
+						required: false,
+						message: '璇疯緭鍏ユ壙杩愬崟浣�',
+						trigger: ['blur', 'change']
+					},
+					certification:{
+						type: 'string',
+						required: false,
+						message: '璇疯緭鍏ヤ粠涓氳祫鏍艰瘉鍙�',
+						trigger: ['blur', 'change']
+					},
+				},
+				radiolist1: [{
+						name: '鍙告満',
+						disabled: false
+					},
+					{
+						name: '璐т唬',
+						disabled: false
 					}
 				],
-				// carPhoto: {
-				// 	type: 'string',
-				// 	required: true,
-				// 	message: '璇蜂笂浼犺溅杈嗗浘鐗�',
-				// 	trigger: ['blur', 'change']
-				// },
-				// drivingLicense: {
-				// 	type: 'string',
-				// 	required: true,
-				// 	message: '璇蜂笂浼犺椹惰瘉鐓х墖',
-				// 	trigger: ['blur', 'change']
-				// }
-			},
-			// 鍩烘湰妗堝垪鏁版嵁
-			radiolist1: [
-				{
-					name: '璐т唬',
-					disabled: false
-				},
-				{
-					name: '鍙告満',
-					disabled: false
-				}
-			],
-			// u-radio-group鐨剉-model缁戝畾鐨勫�煎鏋滆缃负鏌愪釜radio鐨刵ame锛屽氨浼氳榛樿閫変腑
-			radiovalue1: '璐т唬',
-			beforeChangeValue: '',
-			fileList5: [],
-			fileList6: [],
-			// 鏇存崲瑙掕壊寮规
-			editRoleModelShow: false,
-			title: '鎻愮ず',
-			content: '褰撳墠濉叆淇℃伅锛屽垏鎹㈣鑹插悗锛屽嵆娓呴櫎锛屾槸鍚﹀垏鎹紵',
-			wxcode: '',
-			openid: ''
-		};
-	},
-	watch: {
-		radiovalue1(newV) {
-			if (this.registerFormModel.name || this.registerFormModel.idCard || this.registerFormModel.phone || this.registerFormModel.carNo || this.registerFormModel.password) {
-				if (this.editRoleModelShow == true) {
-					this.editRoleModelShow = false;
-				} else {
-					this.editRoleModelShow = true;
-				}
-			}
-			switch (newV) {
-				case '璐т唬':
-					this.registerFormModel.type = 2;
-					break;
-				case '鍙告満':
-					this.registerFormModel.type = 3;
-					break;
-				default:
-					break;
-			}
-			return;
-		}
-	},
-	methods: {
-		registerClick() {
-			this.$refs.regesterFormRef
-				.validate()
-				.then(res => {
-					console.log(this.registerFormModel);
-					this.registerFormModel.username = this.registerFormModel.name
-					apiRegister(this.registerFormModel)
-						.then(res => {
-							console.log(res);
-							if (res.data.code == 0) {
-								uni.showToast({
-									title: '娉ㄥ唽鎴愬姛,鍗冲皢杩涘叆鐧诲綍锛�',
-									icon: 'none',
-									duration: 1000
-								});
-								setTimeout(() => {
-									uni.redirectTo({ url: '/pages/login/login' });
-								}, 1000);
-							} else {
-								this.$u.toast(res.data.msg)
-							}
-						})
-						.catch(err => {
-							console.log('閿欒', err);
-						});
-				})
-				.catch(err => {
-					console.log('err', err);
-					uni.$u.toast('鏁堥獙澶辫触');
-				});
-		},
-		// 闊宠棰戦�氳瘽
-		// callingIn() {
-		// 	uni.navigateTo({
-		// 		url: '/pages/calling-index/calling-index'
-		// 	});
-		// },
-		// 鍗曢�夋浜嬩欢
-		groupChange(e) {
-			console.log('鍗曢�夋灏忕粍', e);
-		},
-		radioChange(e) {
-			console.log('鍗曢�夋', e);
-			if (
-				this.registerFormModel.name == '' &&
-				this.registerFormModel.idCard == '' &&
-				this.registerFormModel.phone == '' &&
-				this.registerFormModel.carNo == '' &&
-				this.registerFormModel.password == ''
-			) {
-				console.log('鍙樹簡');
-				this.$refs.regesterFormRef.clearValidate();
-				this.beforeChangeValue = e;
-			}
-		},
-		// 涓婁紶鍥剧墖鏂规硶
-		// 鍒犻櫎鍥剧墖
-		deletePic(event) {
-			this[`fileList${event.name}`].splice(event.index, 1);
-		},
-		// 鏂板鍥剧墖
-		async afterRead(event) {
-			console.log('event', event);
-			// 褰撹缃� mutiple 涓� true 鏃�, file 涓烘暟缁勬牸寮忥紝鍚﹀垯涓哄璞℃牸寮�
-			let lists = [].concat(event.file);
-			let fileListLen = this[`fileList${event.name}`].length;
-			lists.map(item => {
-				this[`fileList${event.name}`].push({
-					...item,
-					status: 'uploading',
-					message: '涓婁紶涓�'
-				});
-			});
-			for (let i = 0; i < lists.length; i++) {
-				const result = await this.uploadFilePromise(lists[i].url);
-				let item = this[`fileList${event.name}`][fileListLen];
-				this[`fileList${event.name}`].splice(
-					fileListLen,
-					1,
-					Object.assign(item, {
-						status: 'success',
-						message: '',
-						url: result
-					})
-				);
-				fileListLen++;
-			}
-		},
-		uploadFilePromise(url) {
-			return new Promise((resolve, reject) => {
-				let a = uni.uploadFile({
-					url: 'http://192.168.2.21:7001/upload', // 浠呬负绀轰緥锛岄潪鐪熷疄鐨勬帴鍙e湴鍧�
-					filePath: url,
-					name: 'file',
-					formData: {
-						user: 'test'
+				countryNumberCarList: [{
+						name: 1,
+						label: '鍥戒簲',
 					},
-					success: res => {
-						setTimeout(() => {
-							resolve(res.data.data);
-						}, 1000);
+					{
+						name: 2,
+						label: '鍥藉叚',
+					},
+					{
+						name: 3,
+						label: '鏂拌兘婧�',
+					}
+				],
+				radiovalue1: '鍙告満',
+				beforeChangeValue: '',
+				// 鏇存崲瑙掕壊寮规
+				editRoleModelShow: false,
+				title: '鎻愮ず',
+				content: '褰撳墠濉叆淇℃伅锛屽垏鎹㈣鑹插悗锛屽嵆娓呴櫎锛屾槸鍚﹀垏鎹紵',
+				wxcode: '',
+				openid: '',
+				registerClickloading: false,
+			};
+		},
+		watch: {
+			radiovalue1(newV) {
+				if (this.registerFormModel.name || this.registerFormModel.idCard || this.registerFormModel.phone || this
+					.registerFormModel.carNo || this.registerFormModel.password || this.registerFormModel.truckLength
+					 || this.registerFormModel.truckWidth || this.registerFormModel.truckHeight || this.registerFormModel.maximumPayload
+					 ||this.registerFormModel.totalLoad ) {
+					if (this.editRoleModelShow == true) {
+						this.editRoleModelShow = false;
+					} else {
+						this.editRoleModelShow = true;
+					}
+				}
+				switch (newV) {
+					case '璐т唬':
+						this.registerFormModel.type = 2;
+						break;
+					case '鍙告満':
+						this.registerFormModel.type = 3;
+						break;
+					default:
+						break;
+				}
+				return;
+			}
+		},
+		methods: {
+			...mapMutations(['changeisUploadimg']),
+			inputchange(e, num) {
+				const inputType =/[^\d.]/g
+				switch (num) {
+					case 1:
+						this.$nextTick(() => {
+							this.registerFormModel.truckLength = e.replace(inputType, '');
+						})
+						break;
+					case 2:
+						this.$nextTick(() => {
+							this.registerFormModel.truckWidth = e.replace(inputType, '');
+						})
+						break;
+					case 3:
+						this.$nextTick(() => {
+							this.registerFormModel.truckHeight = e.replace(inputType, '');
+						})
+						break;
+					case 4:
+						this.$nextTick(() => {
+							this.registerFormModel.maximumPayload = e.replace(inputType, '');
+						})
+						break;
+					case 5:
+						this.$nextTick(() => {
+							this.registerFormModel.totalLoad = e.replace(inputType, '');
+						})
+						
+						break;
+						case 6:
+						this.$nextTick(() => {
+							this.registerFormModel.axleNum = e.replace(inputType, '');
+						})
+				}
+				},
+			registerClick() {
+        this.$refs.regesterFormRef
+            .validate()
+            .then(res => {
+			  if(this.radiovalue1 === '鍙告満' &&  this.registerFormModel.totalLoad<=this.registerFormModel.maximumPayload){
+					uni.showToast({
+                        title: '杞﹁揣鎬婚噸闇�瑕佸ぇ浜庢渶澶ц浇閲�',
+                        icon: 'none',
+                        duration: 2000
+                      });
+				}else{
+				 this.registerClickloading = true;
+              	this.registerFormModel.username = this.registerFormModel.phone;
+				 apiRegister(this.registerFormModel)
+                  .then(res => {
+                    this.registerClickloading = false;
+                    if (res.data.code == 0) {
+                      uni.showToast({
+                        title: '娉ㄥ唽鎴愬姛,鍗冲皢杩斿洖鐧诲綍椤�',
+                        icon: 'none',
+                        duration: 1000
+                      });
+                      setTimeout(() => {
+                        uni.redirectTo({ url: '/pages/login/login' });
+                      }, 1000);
+                    } else {
+                      this.$u.toast(res.data.msg ? res.data.msg : '娣诲姞澶辫触');
+                    }
+                  })
+                  .catch(err => {
+                    console.log('閿欒', err);
+                  });
+			  }
+            })
+            .catch(err => {
+              console.log('err', err);
+              this.$u.toast('璇疯鑼冭緭鍏ュ唴瀹�');
+            });
+			},
+			// 鍗曢�夋浜嬩欢
+			groupChange(e) {},
+			radioChange(e) {
+				if (
+					this.registerFormModel.name == '' &&
+					this.registerFormModel.idCard == '' &&
+					this.registerFormModel.phone == '' &&
+					this.registerFormModel.carNo == '' &&
+					this.registerFormModel.password == '' &&
+					this.registerFormModel.truckLength == '' &&
+					this.registerFormModel.truckWidth == '' &&
+					this.registerFormModel.truckHeight == '' &&
+					this.registerFormModel.maximumPayload == '' &&
+					this.registerFormModel.totalLoad == ''
+				) {
+					this.$refs.regesterFormRef.clearValidate();
+					this.beforeChangeValue = e;
+				}
+			},
+			// 涓婁紶鍥剧墖鏂规硶
+			beforeRead() {
+				this.changeisUploadimg(true);
+			},
+			// 鍒犻櫎鍥剧墖
+			deletePic(event) {
+				this.changeisUploadimg(true);
+				this[`fileList${event.name}`].splice(event.index, 1);
+			},
+			// 鏂板鍥剧墖
+			async afterRead(event) {
+				// 褰撹缃� mutiple 涓� true 鏃�, file 涓烘暟缁勬牸寮忥紝鍚﹀垯涓哄璞℃牸寮�
+				let lists = [].concat(event.file);
+				let fileListLen = this[`fileList${event.name}`].length;
+				lists.map(item => {
+					this[`fileList${event.name}`].push({
+						...item,
+						status: 'uploading',
+						message: '涓婁紶涓�'
+					});
+				});
+				for (let i = 0; i < lists.length; i++) {
+					const result = await this.uploadFilePromise(lists[i].url, event.name);
+					let item = this[`fileList${event.name}`][fileListLen];
+					this[`fileList${event.name}`].splice(
+						fileListLen,
+						1,
+						Object.assign(item, {
+							status: 'success',
+							message: '涓婁紶鎴愬姛',
+							url: result
+						})
+					);
+					fileListLen++;
+				}
+			},
+			uploadFilePromise(url, num) {
+				return new Promise((resolve, reject) => {
+					let a = uni.uploadFile({
+						url: BaseUrl + '/admin/sys-file/uploadUnToken',
+						filePath: url,
+						name: 'file',
+						success: res => {
+							if (num == 1) {
+								this.registerFormModel.carImg = JSON.parse(res.data).data.url;
+								resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
+							} else if (num == 2) {
+								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
+									.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.inventoryImg = JSON.parse(res.data)
+									.data.url;
+								resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
+							}
+						}
+					});
+				});
+			},
+			// 鏇存崲瑙掕壊寮瑰嚭妗�
+			roleConfirm() {
+				console.log('閬嶅巻瀵硅薄', Object.keys(this.registerFormModel));
+				Object.keys(this.registerFormModel).forEach(item => {
+					if (item !== 'type') {
+						if (this.registerFormModel[item]) this.registerFormModel[item] = '';
 					}
 				});
-			});
-		},
-		// 鏇存崲瑙掕壊寮瑰嚭妗�
-		roleConfirm() {
-			console.log('閬嶅巻瀵硅薄', Object.keys(this.registerFormModel));
-			Object.keys(this.registerFormModel).forEach(item => {
-				if (item !== 'type') {
-					if (this.registerFormModel[item]) this.registerFormModel[item] = '';
-				}
-			});
-			/**
-			 * @resetFields 涓嶇鐢ㄦ椂鍊欑敤涓婅竟鐨勪唬鏇�
-			 */
-			this.$refs.regesterFormRef.resetFields();
-
-			this.editRoleModelShow = false;
-		},
-		roleCancel() {
-			this.radiovalue1 = this.beforeChangeValue;
-			this.$nextTick(() => {
+				/**
+				 * @resetFields 涓嶇鐢ㄦ椂鍊欑敤涓婅竟鐨勪唬鏇�
+				 */
+				this.$refs.regesterFormRef.resetFields();
 				this.editRoleModelShow = false;
-			});
-			// switch (this.radiovalue1) {
-			// 	case '瀹㈡埛':
-			// 		this.radiovalue1 = '';
-			// 		break;
-			// 	case '璐т唬':
-			// 		this.radiovalue1 = '鍙告満';
-			// 		break;
-			// 	case '鍙告満':
-			// 		this.radiovalue1 = '璐т唬';
-			// 		break;
-			// }
+			},
+			roleCancel() {
+				this.radiovalue1 = this.beforeChangeValue;
+				this.$nextTick(() => {
+					this.editRoleModelShow = false;
+				});
+			},
+			isNonCoalChange() {
+				this.registerFormModel.isCoalCar = this.registerFormModel.isNonCoal.length !== 0 ? 1 : 2
+			}
 		}
-	}
-};
+	};
 </script>
 
-<style lang="scss" scoped>
-::v-deep.register {
-	width: 94%;
-	padding: 0 0 vww(20) 0;
-	margin: 0 auto;
-	.registerForm {
+<style lang="scss"
+	scoped>
+	::v-deep.register {
 		width: 94%;
+		padding: 0 0 vww(20) 0;
 		margin: 0 auto;
-		font-size: 16px !important;
-		.u-form {
-			.u-radio {
-				width: 33%;
+
+		.registerForm {
+			width: 94%;
+			margin: 0 auto;
+			font-size: 16px !important;
+
+			.u-form {
+				.u-radio {
+					width: 33%;
+				}
+			}
+		}
+
+		.registerBtn {
+			width: 94%;
+			margin: vww(50) auto 0;
+		}
+
+		.utils {
+			line-height: vww(30);
+			text-align: center;
+
+			text:nth-of-type(1) {
+				margin-right: vww(10);
 			}
 		}
 	}
-	.registerBtn {
-		width: 94%;
-		margin: vww(50) auto 0;
-	}
-	.utils {
-		line-height: vww(30);
-		text-align: center;
-		text:nth-of-type(1) {
-			margin-right: vww(10);
-		}
-	}
-}
+  .intensity {
+    width: 100%;
+    margin-top: 10rpx;
+    .psdText {
+      font-size: 14px;
+      margin-right: 10px;
+    }
+
+    .line {
+      display: inline-block;
+      width: 70rpx;
+      height: 8rpx;
+      background: #d8d8d8;
+      border-radius: 6rpx;
+      margin-right: 16rpx;
+
+      &.low {
+        background: #f4664a;
+      }
+
+      &.middle {
+        background: #ffb700;
+      }
+
+      &.high {
+        background: #2cbb79;
+      }
+    }
+
+    .level {
+      margin: 0 32rpx 0 16rpx;
+    }
+
+    .warningtext {
+      color: #5a5a5a;
+      font-size: 24rpx;
+      margin-top: 10rpx;
+    }
+  }
 </style>

--
Gitblit v1.9.1