From 6c20f43ff1cb24758b11fbe29488804e418c4e42 Mon Sep 17 00:00:00 2001 From: wk Date: 星期一, 04 十一月 2024 15:26:08 +0800 Subject: [PATCH] feat:注册更改 --- pages/register/register.vue | 1281 ++++++++++++++++++++++++++++++++++++++++++--------------- 1 files changed, 932 insertions(+), 349 deletions(-) diff --git a/pages/register/register.vue b/pages/register/register.vue index b27729d..b316fbe 100644 --- a/pages/register/register.vue +++ b/pages/register/register.vue @@ -1,398 +1,981 @@ <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="35%" + 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="radiovalue1 == '鍙告満'?'濮撳悕':'鎵胯繍鍟嗗悕绉�'" + labelWidth="35%" + borderBottom + required> + <u--input v-model="registerFormModel.name" + placeholder="璇疯緭鍏ュ唴瀹�" + clearable></u--input> + </u-form-item> + <u-form-item prop="idCard" + :label="radiovalue1 == '鍙告満'?'韬唤璇�':'璇佷欢鍙�'" + labelWidth="35%" + borderBottom + required> + <u--input v-model="registerFormModel.idCard" + placeholder="璇疯緭鍏ュ唴瀹�" + clearable></u--input> + </u-form-item> + <u-form-item prop="cardImg1" + :label="radiovalue1 == '鍙告満'?'韬唤璇佹闈�':'韬唤璇佹垨钀ヤ笟鎵х収鐓х墖'" + labelWidth="35%" + borderBottom + required + @click="beforeRead" + v-if="radiovalue1 == '鎵胯繍鍟�'"> + <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="phone" + label="鎵嬫満鍙�" + labelWidth="35%" + borderBottom + required> + <u--input v-model="registerFormModel.phone" + placeholder="璇疯緭鍏ュ唴瀹�" + clearable></u--input> + </u-form-item> + <u-form-item prop="password" + label="瀵嗙爜" + labelWidth="35%" + borderBottom + required> + <u--input v-model="registerFormModel.password" + placeholder="璇疯緭鍏ュ唴瀹�" + 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="35%" + borderBottom + required> + <u--input v-model="registerFormModel.confirmPassword" + placeholder="璇疯緭鍏ュ唴瀹�" + password + clearable + @blur="jiaoYanPassword"></u--input> + </u-form-item> + <u-form-item prop="carNo" + label="杞︾墝鍙�" + labelWidth="35%" + borderBottom + v-if="radiovalue1 == '鍙告満'" + required> + <xm-cell special label="杞︾墝鍙�" :value="registerFormModel.carNo" @show="showKeyboard('xmKeyboard')"></xm-cell> + <xm-keyboard-v2 ref="xmKeyboard" @confirm="(v) => registerFormModel.carNo = v"></xm-keyboard-v2> + </u-form-item> + <u-form-item labelWidth="35%" + label="杞﹁締绫诲瀷" + borderBottom + ref="roleRef" + prop='carType' + 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="杞﹁締鐓х墖" + labelWidth="35%" + 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="drivingImg" + label="琛岄┒璇佽溅澶�" + labelWidth="35%" + 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 prop="driverImgCw" + label="琛岄┒璇佽溅灏�" + labelWidth="35%" + borderBottom + v-if="radiovalue1 == '鍙告満'" + required + @click="beforeRead"> + <u-upload :fileList="fileList7" + deletable + @afterRead="afterRead" + @delete="deletePic" + name="7" + multiple + :maxCount="1" + width="250" + height="150" + :previewFullImage="true"> + </u-upload> + </u-form-item> + <u-form-item prop="expirationTimeDriving" + label="璇佷欢杩囨湡鏃堕棿" + labelWidth="35%" + borderBottom + v-if="radiovalue1 == '鍙告満'"> + <uni-datetime-picker v-model="registerFormModel.expirationTimeDriving" type="date" :start="minDate" /> + </u-form-item> + <u-form-item prop="driverImg" + label="椹鹃┒璇�" + labelWidth="35%" + 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="expirationTimeDriver" + label="璇佷欢杩囨湡鏃堕棿" + labelWidth="35%" + borderBottom + v-if="radiovalue1 == '鍙告満'"> + <uni-datetime-picker v-model="registerFormModel.expirationTimeDriver" type="date" :start="minDate" /> + </u-form-item> + <u-form-item prop="roadTransportImg" + label="閬撹矾杩愯緭璇佽溅澶�" + labelWidth="35%" + borderBottom + v-if="radiovalue1 == '鍙告満'" + 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="roadTransportImgCw" + label="閬撹矾杩愯緭璇佽溅灏�" + labelWidth="35%" + borderBottom + v-if="radiovalue1 == '鍙告満'" + required + @click="beforeRead"> + <u-upload :fileList="fileList8" + deletable + @afterRead="afterRead" + @delete="deletePic" + name="8" + multiple + :maxCount="1" + width="250" + height="150" + :previewFullImage="true"> + </u-upload> + </u-form-item> + <u-form-item prop="expirationTimeRoadtransport" + label="璇佷欢杩囨湡鏃堕棿" + labelWidth="35%" + borderBottom + v-if="radiovalue1 == '鍙告満'"> + <uni-datetime-picker v-model="registerFormModel.expirationTimeRoadtransport" type="date" :start="minDate" /> + </u-form-item> + <u-form-item prop="tradeQualificationImg" + label="浠庝笟璧勬牸璇�" + labelWidth="35%" + borderBottom + v-if="radiovalue1 == '鍙告満'" + @click="beforeRead"> + <u-upload :fileList="fileList4" + deletable + @afterRead="afterRead" + @delete="deletePic" + name="4" + multiple + :maxCount="1" + width="250" + height="150" + :previewFullImage="true"> + </u-upload> + <span style="color:red"> + 鍑℃槸杩愯緭鏈夋瘨鍖栧鐗╁搧鐨勮溅杈嗗繀椤讳笂浼犱粠涓氳祫鏍艰瘉骞跺~鍐欎粠涓氳祫鏍艰瘉鏈夋晥鏃堕棿 + </span> + </u-form-item> + <u-form-item prop="tradeQualificationImgYyy" + label="浠庝笟璧勬牸璇佹娂杩愬憳" + labelWidth="35%" + borderBottom + v-if="radiovalue1 == '鍙告満'" + @click="beforeRead"> + <u-upload :fileList="fileList9" + deletable + @afterRead="afterRead" + @delete="deletePic" + name="9" + multiple + :maxCount="1" + width="250" + height="150" + :previewFullImage="true"> + </u-upload> + </u-form-item> + <u-form-item prop="expirationTimeTradequalification" + label="璇佷欢杩囨湡鏃堕棿" + labelWidth="35%" + borderBottom + v-if="radiovalue1 == '鍙告満'"> + <uni-datetime-picker v-model="registerFormModel.expirationTimeTradequalification" type="date" :start="minDate" /> + </u-form-item> + <u-form-item labelWidth="35%" + 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-item prop="name" label="濮撳悕" labelWidth="20%" 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="璇疯緭鍏ュ唴瀹�" clearable></u--input> - </u-form-item> - <u-form-item prop="phone" label="鎵嬫満鍙�" labelWidth="20%" 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="璇疯緭鍏ュ唴瀹�" password clearable></u--input> - </u-form-item> - <u-form-item prop="confirmPassword" label="纭瀵嗙爜" labelWidth="20%" borderBottom required> - <u--input v-model="registerFormModel.confirmPassword" placeholder="璇疯緭鍏ュ唴瀹�" password clearable @blur="jiaoYanPassword"></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="璇疯緭鍏ュ唴瀹�" clearable></u--input> - </u-form-item> - <u-form-item prop="carImg" label="杞﹁締鐓х墖" labelWidth="20%" borderBottom v-if="radiovalue1 == '鍙告満'" required> - <u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" 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-upload> - </u-form-item> - <u-form-item prop="drivingImg" label="琛岄┒璇�" labelWidth="20%" borderBottom v-if="radiovalue1 == '鍙告満'" required> - <u-upload :fileList="fileList2" @afterRead="afterRead" @delete="deletePic" name="2" 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-upload> - </u-form-item> - <u-form-item label="鎺ㄨ崘浜鸿处鍙�" labelWidth="25%" borderBottom><u--input v-model="registerFormModel.tuiJianMa" placeholder="璇疯緭鍏ュ唴瀹�" clearable></u--input></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="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'; -import { BaseUrl } 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); - } - }, - data() { - return { - registerFormModel: { - phone: '', - password: '', - name: '', - username: '', - openId: '', - type: 2, - idCard: '', - carNo: '', - carImg: '', - drivingImg: '', - tuiJianMa: '', - confirmPassword: '' - }, - fileList1: [], - fileList2: [], - rules: { - name: { - type: 'string', - required: true, - message: '璇峰~鍐欏鍚�', - trigger: ['blur', 'change'] + 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 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 { + radiovalue1: '鍙告満', + beforeChangeValue: '', + tablist:[{idCard:""},{idCard:""}], + level:[], //瀵嗙爜寮哄害鏁扮粍 + minDate: this.getToday(), + // 杞︾墝鍙烽敭鐩樻帶鍒� + carNumShow: false, + keyValue: '', + registerFormModel: { + phone: '', + password: '', + name: '', + username: '', + openId: '', + type: 3, + idCard: '', + carNo: '', + carImg: '', + drivingImg: '', + tuiJianMa: '', + confirmPassword: '', + tradeQualificationImg: '', + roadTransportImg:"", + driverImgCw:'', + roadTransportImgCw:"", + tradeQualificationImgYyy:"", + expirationTimeRoadtransport:"", + driverImg: '', + countryNumberCar: 2, //鎺掓斁绫诲瀷;鍥戒簲 1锛屽浗鍏� 2 + carType:null, }, - idCard: { - type: 'string', - required: true, - message: '璇疯緭鍏ヨ韩浠借瘉鍙�', - trigger: ['blur', 'change'] - }, - phone: [ - { - required: true, - message: '姝や负蹇呭~瀛楁', - // blur鍜宑hange浜嬩欢瑙﹀彂妫�楠� - trigger: ['blur', 'change'] + fileList1: [], + fileList2: [], + fileList3: [], + fileList4: [], + fileList5: [], + fileList6: [], + fileList7: [], + fileList8: [], + fileList9: [], + rules: { + countryNumberCar: { + required: false, }, - { - min: 11, - max: 11, - message: '璇疯緭鍏ュ悎娉曟墜鏈哄彿' - } - ], - password: [ - { - required: true, - message: '璇疯缃垵濮嬪瘑鐮�', - trigger: ['blur', 'change'] + expirationTimeDriving: { + required: false, }, - { - min: 6, - max: 12, - message: '闀垮害鍦�6-12涓瓧绗︿箣闂�' - } - ], - confirmPassword: [ - { - required: true, - message: '璇疯缃垵濮嬪瘑鐮�', - trigger: ['blur', 'change'] + expirationTimeDriver: { + required: false, }, - { - min: 6, - max: 12, - message: '闀垮害鍦�6-12涓瓧绗︿箣闂�' - } - ], - carNo: [ - { + expirationTimeTradequalification: { + required: false, + }, + name:[{ type: 'string', required: true, - message: '璇疯緭鍏ヨ溅鐗屽彿', + message: this.getname, + trigger: ['blur', 'change'] + },{ + pattern: /^[\u4e00-\u9fa5]+$/, //闄愬埗闀垮害鏈�澶氫负 6 浣� + message: this.getnames, + trigger: ['blur', 'change'] + }], + carType:[{ + type: 'number', + required: true, + message: '璇烽�夋嫨杞﹁締绫诲瀷', + trigger: ['blur', 'change'] + }], + idCard: [{ + type: 'string', + required: true, + message: this.getidcard, + 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: this.getidcards, + 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) => { + return uni.$u.test.carNo(value); + }, + message: '璇疯緭鍏ユ纭殑杞︾墝鍙�', + trigger: ['change', 'blur'] + } + ], + cardImg1:{ + type: 'string', + required: true, + message: '璇蜂笂浼犺瘉浠�', + trigger: ['blur', 'change'] + }, + carImg: { + type: 'string', + required: true, + message: '璇蜂笂浼犺溅杈嗗浘鐗�', + trigger: ['blur', 'change'] + }, + drivingImg: { + type: 'string', + required: true, + message: '璇蜂笂浼犺椹惰瘉杞﹀ご鐓х墖', + trigger: ['blur', 'change'] + }, + driverImgCw:{ + type: 'string', + required: true, + message: '璇蜂笂浼犺椹惰瘉杞﹀熬鐓х墖', + trigger: ['blur', 'change'] + }, + driverImg: { + type: 'string', + required: true, + message: '璇蜂笂浼犻┚椹惰瘉鐓х墖', trigger: ['blur', 'change'] } - ], - carImg: { - type: 'string', - required: true, - message: '璇蜂笂浼犺溅杈嗗浘鐗�', - trigger: ['blur', 'change'] }, - drivingImg: { - type: 'string', - required: true, - message: '璇蜂笂浼犺椹惰瘉鐓х墖', - trigger: ['blur', 'change'] + radiolist1: [{ + name: '鍙告満', + disabled: false + }, + { + name: '鎵胯繍鍟�', + disabled: false + } + ], + radiolist2: [{ + text: '鏅�氳繍杈撹溅', + value:1 + }, + { + text: '闆嗚绠卞钩鏉胯溅', + value:2 + }, + { + text: '妲借溅', + value:3 + } + ], + countryNumberCarList: [{ + name: 1, + label: '鍥戒簲', + }, + { + name: 2, + label: '鍥藉叚', + }, + { + name: 3, + label: '鏂拌兘婧�', + } + ], + + // 鏇存崲瑙掕壊寮规 + 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) { + 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']), + showKeyboard(ref){ + this.$refs[ref].toShow(this.registerFormModel.carNo) + }, + getToday() { + let now = new Date(); + let year = now.getFullYear(); + let month = this.padStart(now.getMonth() + 1); // 鏈堜唤鏄粠0寮�濮嬬殑 + let day = this.padStart(now.getDate()); + return `${year}-${month}-${day}`; + }, + getname(){ + let that=this + if(that.radiovalue1=='鍙告満'){ + return '濮撳悕涓嶈兘涓虹┖' + }else{ + return '鎵胯繍鍟嗗悕绉颁笉鑳戒负绌�' } }, - // 鍩烘湰妗堝垪鏁版嵁 - radiolist1: [ - { - name: '璐т唬', - disabled: false - }, - { - name: '鍙告満', - disabled: false + getnames(){ + let that=this + if(that.radiovalue1=='鍙告満'){ + return '濮撳悕鍙兘鏄腑鏂�' + }else{ + return '鎵胯繍鍟嗗悕绉板彧鑳芥槸涓枃' } - ], - // u-radio-group鐨剉-model缁戝畾鐨勫�煎鏋滆缃负鏌愪釜radio鐨刵ame锛屽氨浼氳榛樿閫変腑 - radiovalue1: '璐т唬', - beforeChangeValue: '', - // 鏇存崲瑙掕壊寮规 - 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; + }, + getidcard(){ + let that=this + if(that.radiovalue1=='鍙告満'){ + return '璇疯緭鍏ヨ韩浠借瘉鍙�' + }else{ + return '璇疯緭鍏ヨ瘉浠跺彿' } - } - switch (newV) { - case '璐т唬': - this.registerFormModel.type = 2; - break; - case '鍙告満': - this.registerFormModel.type = 3; - break; - default: - break; - } - return; - } - }, - methods: { - registerClick() { - if (this.registerFormModel.password == this.registerFormModel.confirmPassword) { - this.$refs.regesterFormRef - .validate() + }, + getidcards(){ + let that=this + if(that.radiovalue1=='鍙告満'){ + return '韬唤璇佸彿鏍煎紡涓嶆纭�' + }else{ + return '璇佷欢鍙锋牸寮忎笉姝g‘' + } + }, + padStart(value) { + return value.toString().padStart(2, '0'); + }, + productcarTypeChange(e){ + this.registerFormModel.carType = this.radiolist2.find(v => v.value === e).value + }, + registerClick() { + if(this.registerFormModel.carType==3&&!this.registerFormModel.tradeQualificationImg){ + uni.showToast({ + title: '璇蜂笂浼犱粠涓氳祫鏍艰瘉锛�', + icon: 'error', + duration: 2000 + }); + }else if(this.registerFormModel.carType==3&&!this.registerFormModel.tradeQualificationImgYyy){ + uni.showToast({ + title: '璇蜂笂浼犱粠涓氳祫鏍艰瘉鎶艰繍鍛橈紒', + icon: 'error', + duration: 2000 + }); + }else{ + this.$refs.regesterFormRef + .validate() + .then(res => { + this.registerClickloading = true; + this.registerFormModel.username = this.registerFormModel.phone; + if(this.radiovalue1 == '鎵胯繍鍟�'){ + this.registerFormModel.idCardImg = this.registerFormModel.cardImg1 + } + 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.expirationTimeTradequalification){ + this.registerFormModel.expirationTimeTradequalification=this.registerFormModel.expirationTimeTradequalification.slice(0,16) + } + this.$reqPost('registerDriver', this.registerFormModel, 'json') .then(res => { - console.log(this.registerFormModel); - this.registerFormModel.username = this.registerFormModel.phone; - 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); - }); + 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', err); - uni.$u.toast('璇疯鑼冭緭鍏ュ唴瀹�'); + console.log('閿欒', err); }); - } else { - this.$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; - } - }, - jiaoYanPassword() { - if (this.registerFormModel.password != this.registerFormModel.confirmPassword) { - this.$u.toast('涓ゆ瀵嗙爜涓嶄竴鑷�'); - } - }, - // 涓婁紶鍥剧墖鏂规硶 - // 鍒犻櫎鍥剧墖 - 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: '涓婁紶涓�' + }) + .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.$refs.regesterFormRef.clearValidate(); + this.beforeChangeValue = 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('涓ゆ瀵嗙爜涓嶄竴鑷�'); + } + }, + // 涓婁紶鍥剧墖鏂规硶 + 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', - // formData: { - // user: 'test' - // }, - success: res => { - resolve(JSON.parse(res.data).data.url); - if (num == 1) { - this.registerFormModel.carImg = JSON.parse(res.data).data.url; - } else if (num == 2) { - this.registerFormModel.drivingImg = JSON.parse(res.data).data.url; + 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.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.roadTransportImg = JSON.parse(res.data) + .data.url; + resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); + }else if(num==7){ + this.registerFormModel.driverImgCw = JSON.parse(res.data) + .data.url; + resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); + }else if(num==8){ + this.registerFormModel.roadTransportImgCw = JSON.parse(res.data) + .data.url; + resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); + }else if(num==9){ + this.registerFormModel.tradeQualificationImgYyy = 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; - }); + }, + roleCancel() { + this.radiovalue1 = this.beforeChangeValue; + this.$nextTick(() => { + this.editRoleModelShow = false; + }); + } } - } -}; + }; </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: 35%; + } + } + } + + .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