From 6042333b76aaf8097271348ec56fad019a685c84 Mon Sep 17 00:00:00 2001
From: yangan <yangan0921@163.com>
Date: 星期三, 25 九月 2024 15:56:11 +0800
Subject: [PATCH] feat:线上端口号更改

---
 pages/register/register.vue |  343 +++++++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 259 insertions(+), 84 deletions(-)

diff --git a/pages/register/register.vue b/pages/register/register.vue
index bf29a95..80eb369 100644
--- a/pages/register/register.vue
+++ b/pages/register/register.vue
@@ -5,7 +5,7 @@
 				:model="registerFormModel"
 				ref="regesterFormRef"
 				:labelStyle="labelStyle">
-				<u-form-item labelWidth="30%"
+				<u-form-item labelWidth="160"
 					label="閫夋嫨韬唤"
 					borderBottom
 					ref="roleRef"
@@ -26,11 +26,32 @@
 							@change="radioChange"></u-radio>
 					</u-radio-group>
 				</u-form-item>
+        <u-form-item
+            v-if="radiovalue1 == '鍙告満'"
+            labelWidth="200"
+                     label="鏄惁鏈夎溅杈�"
+                     borderBottom
+                     required>
+          <u-radio-group v-model="isHaveCar"
+                         placement="row"
+                         size="30"
+                         shape="circle"
+                         iconSize="20">
+            <u-radio labelSize="14px"
+                     size="20px"
+                     :customStyle="{ marginBottom: '8px' }"
+                     v-for="(item, index) in isHaveCarList"
+                     :key="index"
+                     :label="item.label"
+                     :name="item.value"
+                     @change="radioChange"></u-radio>
+          </u-radio-group>
+        </u-form-item>
 				<u-form-item prop="name"
-					label="濮撳悕"
-					labelWidth="20%"
-					borderBottom
-					required>
+					 label="濮撳悕"
+           labelWidth="160"
+					 borderBottom
+					 required>
 					<u--input v-model="registerFormModel.name"
 						placeholder="璇疯緭鍏ュ唴瀹�"
 						fontSize='40'
@@ -38,7 +59,7 @@
 				</u-form-item>
 				<u-form-item prop="idCard"
 					label="韬唤璇�"
-					labelWidth="20%"
+					labelWidth="160"
 					borderBottom
 					required>
 					<u--input v-model="registerFormModel.idCard"
@@ -48,7 +69,7 @@
 				</u-form-item>
 				<u-form-item prop="phone"
 					label="鎵嬫満鍙�"
-					labelWidth="20%"
+					labelWidth="160"
 					borderBottom
 					required>
 					<u--input v-model="registerFormModel.phone"
@@ -58,7 +79,7 @@
 				</u-form-item>
 				<u-form-item prop="password"
 					label="瀵嗙爜"
-					labelWidth="20%"
+					labelWidth="160"
 					borderBottom
 					required>
 					<u--input v-model="registerFormModel.password"
@@ -67,9 +88,24 @@
 						password
 						clearable></u--input>
 				</u-form-item>
+        <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="30%"
+					labelWidth="160"
 					borderBottom
 					required>
 					<u--input v-model="registerFormModel.confirmPassword"
@@ -81,19 +117,19 @@
 				</u-form-item>
 				<u-form-item prop="carNo"
 					label="杞︾墝鍙�"
-					labelWidth="20%"
+					labelWidth="160"
 					borderBottom
-					v-if="radiovalue1 == '鍙告満'"
+					v-if="radiovalue1 == '鍙告満' && isHaveCar == '1'"
 					required>
 					<u--input v-model="registerFormModel.carNo"
 						placeholder="璇疯緭鍏ュ唴瀹�"
 						fontSize='40'
 						clearable></u--input>
 				</u-form-item>
-				<u-form-item labelWidth="30%"
+				<u-form-item labelWidth="160"
 					label="杞︾墝棰滆壊"
 					borderBottom
-					v-if="radiovalue1 == '鍙告満'"
+					v-if="radiovalue1 == '鍙告満'  && isHaveCar == '1'"
 					required
 					prop="vehicleColour">
 					<u-radio-group v-model="registerFormModel.vehicleColour"
@@ -112,9 +148,9 @@
 				</u-form-item>
 				<u-form-item prop="carImg"
 					label="杞﹁締鐓х墖"
-					labelWidth="20%"
+					labelWidth="160"
 					borderBottom
-					v-if="radiovalue1 == '鍙告満'"
+					v-if="radiovalue1 == '鍙告満'  && isHaveCar == '1'"
 					required
 					@click="beforeRead">
 					<u-upload :fileList="fileList1"
@@ -129,30 +165,34 @@
 						:previewFullImage="true">
 					</u-upload>
 				</u-form-item>
-				<u-form-item prop="bodyofcarJpg"
-					label="杞﹀ご杞﹀熬杞﹁韩鐓х墖"
-					labelWidth="20%"
-					borderBottom
-					v-if="radiovalue1 == '鍙告満'"
-					required
-					@click="beforeRead">
-					<u-upload :fileList="fileList3"
-						deletable
-						@afterRead="afterRead"
-						@delete="deletePic"
-						name="3"
-						multiple
-						:maxCount="3"
-						width="250"
-						height="150"
-						:previewFullImage="true">
-					</u-upload>
-				</u-form-item>
+        <div class="column-box">
+          <u-form-item
+              prop="bodyofcarJpg"
+              label="杞﹀ご銆佽溅灏俱�佽溅韬収鐗�"
+              labelWidth="auto"
+              borderBottom
+              v-if="radiovalue1 == '鍙告満'  && isHaveCar == '1'"
+              required
+              @click="beforeRead">
+            <u-upload :fileList="fileList3"
+                      deletable
+                      @afterRead="afterRead"
+                      @delete="deletePic"
+                      name="3"
+                      multiple
+                      :maxCount="3"
+                      width="250"
+                      height="150"
+                      :previewFullImage="true">
+            </u-upload>
+          </u-form-item>
+        </div>
+
 				<u-form-item prop="drivingImg"
 					label="琛岄┒璇�"
-					labelWidth="20%"
+					labelWidth="160"
 					borderBottom
-					v-if="radiovalue1 == '鍙告満'"
+					v-if="radiovalue1 == '鍙告満'  && isHaveCar == '1'"
 					required
 					@click="beforeRead">
 					<u-upload :fileList="fileList2"
@@ -168,7 +208,7 @@
 					</u-upload>
 				</u-form-item>
 				<u-form-item label="鎺ㄨ崘浜鸿处鍙�"
-					labelWidth="30%"
+					labelWidth="200"
 					borderBottom>
 					<u--input v-model="registerFormModel.tuiJianMa"
 						placeholder="璇疯緭鍏ュ唴瀹�"
@@ -187,7 +227,8 @@
 		</view>
 		<view class="registerBtn"><u-button text="娉ㄥ唽"
 				type="primary"
-				@click="registerClick"></u-button></view>
+				@click="registerClick"
+        :loading="registerClickloading"></u-button></view>
 		<!-- 鍥剧墖棰勮寮瑰嚭妗� -->
 		<!-- <view class="previewImage-container">
 			<u-popup :show="previewImageShow" mode="center" @close="previewImageClose" @open="previewImageOpen">
@@ -226,7 +267,84 @@
 			}
 		},
 		data() {
+      const validatePass = (rule, value, callback) => {
+        if (this.registerFormModel.confirmPassword !== "") {
+          if (value !== this.registerFormModel.password) {
+            callback(new Error("涓ゆ杈撳叆瀵嗙爜涓嶄竴鑷�!"));
+          } else {
+            callback();
+          }
+        } else {
+          callback();
+        }
+      };
+      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 {
+        isHaveCar:'1', //鏄惁鏈夎溅杈�
+        level:[],  //瀵嗙爜寮哄害鏁扮粍
 				labelStyle: {
 					fontSize: '36rpx'
 				},
@@ -292,24 +410,18 @@
 					],
 					password: [{
 							required: true,
-							message: '璇疯缃垵濮嬪瘑鐮�',
+							message: '璇疯缃瘑鐮�',
 							trigger: ['blur', 'change']
 						},
-						{
-							min: 6,
-							max: 12,
-							message: '闀垮害鍦�6-12涓瓧绗︿箣闂�'
-						}
+            {
+              validator: checkPassword,
+              trigger: 'change'
+            }
 					],
 					confirmPassword: [{
 							required: true,
-							message: '璇疯缃垵濮嬪瘑鐮�',
+              validator: validatePass,
 							trigger: ['blur', 'change']
-						},
-						{
-							min: 6,
-							max: 12,
-							message: '闀垮害鍦�6-12涓瓧绗︿箣闂�'
 						}
 					],
 					carNo: [{
@@ -363,6 +475,13 @@
 						disabled: false
 					}
 				],
+        isHaveCarList: [{
+          value: '1',
+          label: '鏄�',
+        },{
+          value: '2',
+          label: '鍚�'
+        }],
 				radiovalue1: '璐т唬',
 				radiolist2: [{
 						name: '榛勮壊',
@@ -383,7 +502,8 @@
 				title: '鎻愮ず',
 				content: '褰撳墠濉叆淇℃伅锛屽垏鎹㈣鑹插悗锛屽嵆娓呴櫎锛屾槸鍚﹀垏鎹紵',
 				wxcode: '',
-				openid: ''
+				openid: '',
+        registerClickloading: false,
 			};
 		},
 		watch: {
@@ -412,38 +532,44 @@
 		methods: {
 			...mapMutations(['changeisUploadimg']),
 			registerClick() {
-				if (this.registerFormModel.password == this.registerFormModel.confirmPassword) {
-					this.$refs.regesterFormRef
-						.validate()
-						.then(res => {
-							console.log(this.registerFormModel);
-							this.registerFormModel.username = this.registerFormModel.phone;
-							apiRegister(this.registerFormModel)
-								.then(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 ? res.data.msg : '娣诲姞澶辫触');
-									}
-								})
-								.catch(err => {
-									console.log('閿欒', err);
-								});
-						})
-						.catch(err => {
-							console.log('err', err);
-							this.$u.toast('璇疯鑼冭緭鍏ュ唴瀹�');
-						});
-				} else {
-					this.$u.toast('涓ゆ瀵嗙爜涓嶄竴鑷�');
-				}
+        if(this.fileList3 && this.fileList3.length > 0) {  //杞﹀ご杞﹀熬杞﹁韩闇�瑕�3寮犲浘鐗囦篃鍙互涓�寮犱篃涓嶄紶
+          if(this.fileList3.length !== 3) {
+            this.$u.toast('杞﹀ご杞﹀熬杞﹁韩闇�瑕�3寮犲浘鐗�');
+            return
+          }
+        }
+        this.$refs.regesterFormRef
+            .validate()
+            .then(res => {
+              console.log(this.registerFormModel);
+              this.registerClickloading = true;
+              this.registerFormModel.username = this.registerFormModel.phone;
+              apiRegister(this.registerFormModel)
+                  .then(res => {
+                    if (res.data.code == 0) {
+                      this.registerClickloading = false;
+                      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('璇疯鑼冭緭鍏ュ唴瀹�');
+            }).finally(() => {
+              this.registerClickloading = false;
+        });
 			},
 			// 鍗曢�夋浜嬩欢
 			groupChange(e) {},
@@ -583,4 +709,53 @@
 			}
 		}
 	}
-</style>
\ No newline at end of file
+  .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;
+    }
+  }
+  .column-box{
+    ::v-deep{
+      .u-form-item__body{
+        flex-direction: column!important;
+      }
+      .u-form-item__body__right{
+        margin-top: 20rpx;
+      }
+    }
+  }
+</style>

--
Gitblit v1.9.1