From 2490d3321f6d6f9b5bacf29225387f7c3f89a2b4 Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期四, 20 六月 2024 15:47:15 +0800 Subject: [PATCH] feat:司机填写集装箱号 --- pages/driver-page/drvier-my/drvier-my.vue | 554 ++++++++++++++++++++++++++++++++++++++++++++----------- 1 files changed, 443 insertions(+), 111 deletions(-) diff --git a/pages/driver-page/drvier-my/drvier-my.vue b/pages/driver-page/drvier-my/drvier-my.vue index aa4be44..84dc166 100644 --- a/pages/driver-page/drvier-my/drvier-my.vue +++ b/pages/driver-page/drvier-my/drvier-my.vue @@ -1,7 +1,7 @@ <template> <view class="driver-my"> <view class="" - style="height: 446rpx;width: 100%;"> + style="height: 540rpx;width: 100%;"> <view class="driver-banner"> <view class="navgation">鎴戠殑</view> <view class="avatar"> @@ -26,8 +26,15 @@ size="32"></u--text> </view> <view class="car-type"> - <text>{{userInfo.countryNumberCar===1?'鍥戒簲杞﹁締':'鍥藉叚杞﹁締'}}</text> + <view ><u-button type="primary" + @click="editDocClick" + shape="circle" + plain>缂栬緫璇佷欢淇℃伅</u-button></view> </view> + <view class="process-tran" + > + </view> + <view class="information-block"> <view class="personal-information"> <view class="personal-information-block"> @@ -40,7 +47,7 @@ <view class="label-text">韬唤璇佸彿</view> </view> <view class="information-value"> - {{ userInfo.idCard || '' }} + {{ idCard || '' }} </view> </view> <view class="information-line"> @@ -117,7 +124,7 @@ size="36"></u-icon> </view> </view> --> - <view class="information-line last" + <view class="information-line" @click="scoreDetail"> <view class="line-label" style="margin-left: 1.5%;"> @@ -135,7 +142,25 @@ size="36"></u-icon> </view> </view> - + </view> + <view class="information-line last" + @click="scoreCert"> + <view class="line-label" + style="margin-left: 1.5%;"> + <image src="https://mx.jzeg.cn:9096/appimg/image/banner/score.png" + mode="widthFix" + style="width: 36rpx;position: relative;left: 8rpx;"></image> + <view class="label-text">閬撹矾杩愯緭璇�</view> + </view> + <view class="information-value"> + <view class=""> + {{ '' }} + </view> + <view class=""> + <u-icon name="arrow-right" + size="36"></u-icon> + </view> + </view> </view> </view> </view> @@ -247,14 +272,14 @@ border="none" inputAlign="left"></u--input> </u-form-item> --> - <u-form-item labelWidth="20%" + <!-- <u-form-item labelWidth="20%" label="韬唤璇佸彿" prop="idCard" required> <u--input v-model="editUserInfo.idCard" border="none" inputAlign="left"></u--input> - </u-form-item> + </u-form-item> --> <u-form-item labelWidth="20%" label="鎵嬫満鍙�" prop="phone" @@ -289,9 +314,9 @@ inputAlign="left"></u--input> </u-form-item> <u-form-item labelWidth="20%" - label="杞﹁締绫诲瀷" + label="鐜繚鏍囧噯" borderBottom - required="" + required prop="countryNumberCar"> <u-radio-group v-model="editUserInfo.countryNumberCar" placement="row" @@ -306,85 +331,17 @@ :name="item.name"></u-radio> </u-radio-group> </u-form-item> - <u-form-item labelWidth="25%" - label="杞﹁締鐓х墖" - @click="beforeRead" - prop="carImg" - required> - <u-upload :fileList="fileList1" - @afterRead="afterRead" - @delete="deletePic" - name="1" - multiple - :maxCount="1" - width="250" - height="150" - :previewFullImage="true"></u-upload> - </u-form-item> - <u-form-item labelWidth="25%" - label="琛岄┒璇佺収鐗�" - ref="item1" - @click="beforeRead" - prop="drivingImg" - required> - <u-upload :fileList="fileList2" - @afterRead="afterRead" - @delete="deletePic" - name="2" - multiple - :maxCount="1" - width="250" - height="150" - :previewFullImage="true"></u-upload> - </u-form-item> - <u-form-item labelWidth="25%" - label="閬撹矾杩愯緭璇�" - ref="item1" - @click="beforeRead" - prop="roadTransportImg" - required> - <u-upload :fileList="fileList3" - @afterRead="afterRead" - @delete="deletePic" - name="3" - multiple - :maxCount="1" - width="250" - height="150" - :previewFullImage="true"></u-upload> - </u-form-item> - <u-form-item labelWidth="25%" - label="浠庝笟璧勬牸璇�" - ref="item1" - @click="beforeRead" - prop="tradeQualificationImg" - required> - <u-upload :fileList="fileList4" - @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%" + <u-form-item labelWidth="20%" + label="杞﹁締绫诲瀷" borderBottom - @click="beforeRead"> - <u-upload :fileList="fileList5" - deletable - @afterRead="afterRead" - @delete="deletePic" - name="5" - multiple - :maxCount="3" - width="250" - height="150" - :previewFullImage="true"> - </u-upload> + ref="roleRef" + required> + <niceui-data-select-input v-model="editUserInfo.carType" + :localdata="radiolist2" + label="杞﹁締绫诲瀷閫夋嫨" + placeholder="璇烽�夋嫨杞﹁締绫诲瀷" + @change="productcarTypeChange" + ></niceui-data-select-input> </u-form-item> </u--form> <view class="person-utils"> @@ -393,6 +350,144 @@ type="primary"></u-button> <u-button text="鎻愪氦" @click="updateUser" + type="primary"></u-button> + </view> + </view> + </u-popup> + </view> + <!-- 淇敼璇佷欢寮瑰嚭 --> + <view class="editDriverPopup-container"> + <u-popup :show="editDocShow" + mode="bottom" + @close="editDocClose" + @open="editDocOpen" + :closeable="true"> + <combined-title title="淇敼璇佷欢淇℃伅" + style="margin-left:20rpx"></combined-title> + <view class="editDriverPopup-container-box"> + <u--form labelPosition="left" + :model="registerFormModel" + ref="editRef"> + <u-form-item prop="cardImg1" + 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="cardImg2" + label="韬唤璇佸弽闈�" + labelWidth="20%" + borderBottom + 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="expirationTimeIdcard" + label="韬唤璇佽繃鏈熸椂闂�" + labelWidth="20%" + borderBottom> + <uni-datetime-picker v-model="registerFormModel.expirationTimeIdcard" type="datetime" :start="minDate" /> + </u-form-item> + <u-form-item prop="drivingImg" + label="琛岄┒璇�" + labelWidth="20%" + borderBottom + 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="expirationTimeDriving" + label="琛岄┒璇佽繃鏈熸椂闂�" + labelWidth="20%" + borderBottom> + <uni-datetime-picker v-model="registerFormModel.expirationTimeDriving" type="datetime" :start="minDate" /> + </u-form-item> + <u-form-item prop="driverImg" + label="椹鹃┒璇�" + labelWidth="24%" + borderBottom + 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="expirationTimeDriver" + label="椹鹃┒璇佽繃鏈熸椂闂�" + labelWidth="20%" + borderBottom> + <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="registerFormModel.type == 3||registerFormModel.type == 4" + 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="expirationTimeTradequalification" + label="浠庝笟璧勬牸杩囨湡鏃堕棿" + labelWidth="20%" + borderBottom + v-if="registerFormModel.type == 3||registerFormModel.type == 4"> + <uni-datetime-picker v-model="registerFormModel.expirationTimeTradequalification" type="datetime" :start="minDate" /> + </u-form-item> + </u--form> + <view class="person-utils"> + <u-button text="鎻愪氦璇佷欢淇敼" + @click="updateDoc" type="primary"></u-button> </view> </view> @@ -418,12 +513,16 @@ import noobTour from '@/components/noobTour/noobTour.vue' import printerStyle from '@/pages/driver-page/driver-index/bill-of-lading-details/printerStyle/printerStyle.vue' import { mapMutations, mapState } from 'vuex'; + import qianTree from '@/components/qian-tree/qian-tree.vue'; export default { - components: { previewImage, noobTour, printerStyle }, + components: { previewImage, noobTour, printerStyle,qianTree }, data() { return { + minDate: this.getToday(), + customerName:"", // 鑾峰彇鐨勫徃鏈鸿鎯� userInfo: {}, + productName:"", // 淇敼鍙告満璇︽儏 editUserInfo: { phone: '', @@ -444,6 +543,24 @@ inventoryImg: '', countryNumberCar: 0 }, + registerFormModel:{}, + radiolist2: [{ + text: '鏅�氳繍杈撹溅', + value:1 + }, + { + text: '闆嗚绠卞钩鏉胯溅', + value:2 + }, + { + text: '娑叉隘妲借溅', + value:3 + }, + { + text: '娑茬⒈妲借溅', + value:4 + } + ], countryNumberCarList: [{ name: 1, label: '鍥戒簲', @@ -529,10 +646,11 @@ return Number(value); }, validator: (rule, value, callback) => { - return value <= 10; + return value <= 10 && value > 0; }, message: '璇疯緭鍏ユ纭殑杞﹁酱鏁�', - trigger: ['change', 'blur'] + trigger: ['change', 'blur'], + required: true, }], carImg: { type: 'string', @@ -549,18 +667,33 @@ countryNumberCar: { type: 'number', required: true, - message: '璇烽�夋嫨杞﹁締绫诲瀷', + message: '璇烽�夋嫨鐜繚鏍囧噯', trigger: ['blur', 'change'] - } + }, + roadTransportImg: { + type: 'string', + required: true, + message: '璇蜂笂浼犻亾璺繍杈撹瘉鐓х墖', + trigger: ['blur', 'change'] + }, + tradeQualificationImg: { + type: 'string', + required: true, + message: '璇蜂笂浼犱粠涓氳祫鏍艰瘉鐓х墖', + trigger: ['blur', 'change'] + }, }, src: '', fileList1: [], fileList2: [], fileList3: [], fileList4: [], - fileList5: [], + fileList6: [], + fileList7: [], + fileList8: [], // 淇敼淇℃伅寮瑰嚭妗� editDriverPopupShow: false, + editDocShow:false, // previewImage previewImageShow: false, previewImageSrc: '', @@ -575,6 +708,9 @@ computed: { currentSelectedPrintStyle() { return this.selectedPrintStyle ? this.selectedPrintStyle : uni.getStorageSync('selectedPrintStyle') + }, + idCard() { + return this.userInfo.idCard.slice(0, 6) + '********' + this.userInfo.idCard.slice(-4) } }, onShow() { @@ -584,7 +720,23 @@ this.$refs.editRef.setRules(this.rules); }, methods: { + productcarTypeChange(e){ + this.registerFormModel.carType = this.radiolist2.find(v => v.value === e).value + }, ...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()); + return `${year}-${month}-${day} ${hour}:${minute}:${second}`; + }, + padStart(value) { + return value.toString().padStart(2, '0'); + }, init() { this.getUserEntity(); }, @@ -595,8 +747,8 @@ this.$reqGet('getUserEntity').then(res => { uni.hideLoading(); this.userInfo = res.data; - this.userInfo.idCard = this.userInfo.idCard.slice(0, 6) + '********' + this.userInfo.idCard - .slice(-4) + // this.userInfo.idCard = this.userInfo.idCard.slice(0, 6) + '********' + this.userInfo.idCard + // .slice(-4) uni.setStorageSync('carImg', this.userInfo.carImg); uni.setStorageSync('drivingImg', this.userInfo.drivingImg); uni.setStorageSync('roadTransportImg', this.userInfo.roadTransportImg); @@ -621,25 +773,47 @@ url: `${BaseUrl}${this.userInfo.tradeQualificationImg}` }); } - if (this.fileList5.length == 0 && this.userInfo.inventoryImg) { - this.fileList5.push({ - url: `${BaseUrl}${this.userInfo.inventoryImg}` - }); + Object.assign(this.editUserInfo, res.data) + this.registerFormModel={ + customerid:res.data.userId, + idCardImg:res.data.idCardImg, + expirationTimeIdcard:res.data.expirationTimeIdcard, + drivingImg:res.data.drivingImg, + expirationTimeDriving:res.data.expirationTimeDriving, + driverImg:res.data.driverImg, + expirationTimeDriver:res.data.expirationTimeDriver, + tradeQualificationImg:res.data.tradeQualificationImg, + expirationTimeTradequalification:res.data.expirationTimeTradequalification, + type:res.data.carType } - Object.keys(this.editUserInfo).map(item => { - if (res.data[item]) { - this.editUserInfo[item] = res.data[item]; - this.editUserInfo.idCard = this.userInfo.idCard.slice(0, 6) + '********' + this - .editUserInfo.idCard - .slice(-4) + if(this.registerFormModel.idCardImg){ + if (this.fileList6.length == 0 && this.registerFormModel.idCardImg.split(",")[0]) { + this.fileList6.push({ + url: `${BaseUrl}${this.registerFormModel.idCardImg.split(",")[0]}` + }); } - }); + if (this.fileList7.length == 0 && this.registerFormModel.idCardImg.split(",")[1]) { + this.fileList7.push({ + url: `${BaseUrl}${this.registerFormModel.idCardImg.split(",")[1]}` + }); + } + if (this.fileList8.length == 0 && this.userInfo.driverImg) { + this.fileList8.push({ + url: `${BaseUrl}${this.userInfo.driverImg}` + }); + } + this.registerFormModel.cardImg1=this.registerFormModel.idCardImg.split(",")[1] + this.registerFormModel.cardImg2=this.registerFormModel.idCardImg.split(",")[1] + } this.editUserInfo.password = '' }); }, // 淇敼鎸夐挳鐐瑰嚮 editBtnClick() { this.editDriverPopupShow = true; + }, + editDocClick(){ + this.editDocShow = true; }, imageClick(index) { if (index == 1) { @@ -700,9 +874,11 @@ success: res => { if (num == 1) { this.editUserInfo.carImg = JSON.parse(res.data).data.url; + this.registerFormModel.carImg = JSON.parse(res.data).data.url; uni.setStorageSync('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; this.editUserInfo.drivingImg = JSON.parse(res.data).data.url; uni.setStorageSync('drivingImg', JSON.parse(res.data).data.url); resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); @@ -720,7 +896,20 @@ this.editUserInfo.inventoryImg = JSON.parse(res.data).data .url; resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); + }else if(num==6){ + this.registerFormModel.cardImg1 = JSON.parse(res.data) + .data.url; + resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); + }else if(num==7){ + this.registerFormModel.cardImg2 = JSON.parse(res.data) + .data.url; + resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); + }else if(num==8){ + this.registerFormModel.driverImg = JSON.parse(res.data) + .data.url; + resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); } + } }); }); @@ -738,13 +927,67 @@ editDriverPopupClose() { this.editDriverPopupShow = false; }, + editDocClose(){ + this.editDocShow = false; + }, editDriverPopupOpen() {}, + editDocOpen(){}, modifyPassword() { this.$store.commit('changeisLogin', false) this.$store.dispatch('websocketOnClose') uni.reLaunch({ url: '/pages/login/forgetPassword/forgetPassword' }) + }, + // 淇敼璇佷欢淇℃伅 + updateDoc(){ + if(this.registerFormModel.type == 3||this.registerFormModel.type == 4){ + this.$reqPost('saveDriverDocs', { + userId:this.registerFormModel.customerid, + idCardImg:this.registerFormModel.cardImg1+","+this.registerFormModel.cardImg2, + expirationTimeIdcard:this.registerFormModel.expirationTimeIdcard.slice(0,16), + drivingImg:this.registerFormModel.drivingImg, + expirationTimeDriving:this.registerFormModel.expirationTimeDriving.slice(0,16), + driverImg:this.registerFormModel.driverImg, + expirationTimeDriver:this.registerFormModel.expirationTimeDriver.slice(0,16), + tradeQualificationImg:this.registerFormModel.tradeQualificationImg, + expirationTimeTradequalification:this.registerFormModel.expirationTimeTradequalification.slice(0,16), + }, 'json').then(res => { + this.editDocShow = false; + if (res.code == 0) { + this.$u.toast('淇敼鎴愬姛'); + this.init(); + } else { + uni.showToast({ + title: res.msg, + icon: 'none', + duration: 2000 + }); + } + }) + }else{ + this.$reqPost('saveDriverDocs', { + userId:this.registerFormModel.customerid, + idCardImg:this.registerFormModel.cardImg1+","+this.registerFormModel.cardImg2, + expirationTimeIdcard:this.registerFormModel.expirationTimeIdcard.slice(0,16), + drivingImg:this.registerFormModel.drivingImg, + expirationTimeDriving:this.registerFormModel.expirationTimeDriving.slice(0,16), + driverImg:this.registerFormModel.driverImg, + expirationTimeDriver:this.registerFormModel.expirationTimeDriver.slice(0,16), + }, 'json').then(res => { + this.editDocShow = false; + if (res.code == 0) { + this.$u.toast('淇敼鎴愬姛'); + this.init(); + } else { + uni.showToast({ + title: res.msg, + icon: 'none', + duration: 2000 + }); + } + }) + } }, // 淇敼鐢ㄦ埛淇℃伅 updateUser() { @@ -758,7 +1001,6 @@ .validate() .then(res => { this.$reqPost('updateUser', this.editUserInfo, 'json').then(res => { - console.log('鏇存柊鏁版嵁', res); this.editDriverPopupShow = false; if (res.code == 0) { this.$u.toast('淇敼鎴愬姛'); @@ -799,6 +1041,11 @@ url: '/pages/driver-page/drvier-my/scoreDetail/scoreDetail' }) }, + scoreCert(){ + uni.navigateTo({ + url: '/pages/driver-page/drvier-my/certifiCate/certifiCate' + }) + }, addressManageHandle() { uni.navigateTo({ url: '/pages/driver-page/drvier-my/addressMange/addressMange' @@ -806,7 +1053,33 @@ }, selectedPrintStyleHandle(val) { this.selectedPrintStyle = val - } + }, + findNameById(tree, idArr) { + let result = []; + function traverse(node, idArr) { + if (!node) return; + if (idArr.includes(node.id)) { + result.push({name:node.productName,id:node.id}); + } + if (node.children && node.children.length > 0) { + node.children.forEach(child => { + traverse(child, idArr); + }); + } + } + tree.forEach(node => { + traverse(node, idArr); + }); + return result; + }, + // 鎵撳紑浜у搧琛� + treeOpen() { + this.$refs.tkitree._show(); + }, + treeClose() { + this.$refs.tkitree._hide(); + }, + } }; </script> @@ -892,11 +1165,35 @@ margin-right: vww(6); } } + .process-tran{ + width: 300rpx; + height: 50rpx; + margin: 0 auto; + position: fixed; + top: 390rpx; + left: 37rpx; + display: flex; + align-items: center; + + .state-text { + margin-right: vww(6); + } + } .car-type { position: fixed; top: 284rpx; - right: 70rpx; + right: 20rpx; + width: 100%; + height: 50rpx; + display: flex; + align-items: center; + justify-content: flex-end; + } + .tran-type{ + position: fixed; + top: 390rpx; + right: 20rpx; width: 100%; height: 50rpx; display: flex; @@ -916,7 +1213,7 @@ &-block { width: 690rpx; - height: 680rpx; + height: 760rpx; background: #ffffff; box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); border-radius: 20rpx; @@ -977,9 +1274,35 @@ } .car-information { + margin-top: 30rpx; width: 100%; position: relative; @include flex justify-content: center; + .roadTransportCertificate{ + width: 690rpx; + background: #ffffff; + box-shadow: 0rpx 0rpx 14rpx 0rpx rgba(73, 120, 240, 0.14), 0rpx 7rpx 45rpx 0rpx rgba(73, 120, 240, 0.12); + border-radius: 20rpx; + .information-body { + width: 636rpx; + margin: vww(15) vww(14); + @include flex flex-direction: column; + .certificate { + display: flex; + justify-content: space-between; + align-items: center; + width: 636rpx; + height: 90rpx; + border-bottom: 1rpx solid #f0f1f6; + .certificate-left{ + margin-left: 20rpx; + } + .certificate-right{ + margin-right: 20rpx; + } + } + } + } .information-main { width: 690rpx; @@ -992,7 +1315,6 @@ width: 636rpx; margin: vww(15) vww(14); @include flex flex-direction: column; - .car-img { height: 246rpx; width: 100%; @@ -1095,5 +1417,15 @@ } } } + .superList{ + margin: 10rpx; + padding: 10rpx; + border: 1px solid #f0f1f6; + } + .adddelete{ + display: flex; + justify-content: space-around; + margin: 10rpx; + } } </style> \ No newline at end of file -- Gitblit v1.9.1