From 29014207a8882df16d4372ef20e0d79e6e5df6d1 Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期四, 30 五月 2024 08:44:28 +0800 Subject: [PATCH] Merge branch 'jlhg' of http://39.96.92.240:10000/r/~fyy/unattended-app into jlhg --- pages/driver-page/drvier-my/drvier-my.vue | 1220 +++++++++++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 1,088 insertions(+), 132 deletions(-) diff --git a/pages/driver-page/drvier-my/drvier-my.vue b/pages/driver-page/drvier-my/drvier-my.vue index 6bcc8d1..8705be9 100644 --- a/pages/driver-page/drvier-my/drvier-my.vue +++ b/pages/driver-page/drvier-my/drvier-my.vue @@ -1,12 +1,12 @@ <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"> <view class="avatar-imgage" - style="background: url('https://mx.jzeg.cn:9095/appimg/image/banner/driverava.png')no-repeat;background-size: cover;"> + style="background: url('https://mx.jzeg.cn:9096/appimg/image/banner/driverava.png')no-repeat;background-size: cover;"> </view> <view class="avatar-name">{{ userInfo.name || '' }}</view> <view class="edit-button"><u-button type="primary" @@ -16,13 +16,29 @@ </view> </view> </view> - <view class="process-state"> + <view class="process-state" + v-if="userInfo.isRegister!==2"> <view class="state-text"> 瀹℃牳鐘舵�� </view> - <u--text :type="userInfo.isRegister===0?'primary':userInfo.isRegister===1?'error':'success'" - :text="userInfo.isRegister===0?'寰呭鏍�':userInfo.isRegister===1?'鏈�氳繃':'宸插鏍�'" + <u--text :type="userInfo.isRegister===0?'primary':'error'" + :text="userInfo.isRegister===0?'寰呭鏍�':'鏈�氳繃'" size="32"></u--text> + </view> + <view class="car-type"> + <view ><u-button type="primary" + @click="editDocClick" + shape="circle" + plain>缂栬緫璇佷欢淇℃伅</u-button></view> + </view> + <view class="process-tran" + > + </view> + <view class="tran-type"> + <view ><u-button type="primary" + @click="editTranClick" + shape="circle" + plain>娣诲姞杩愯緭璇�</u-button></view> </view> <view class="information-block"> <view class="personal-information"> @@ -31,17 +47,17 @@ <view class="information-line" @click=""> <view class="line-label"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/personalicon.png" + <image src="https://mx.jzeg.cn:9096/appimg/image/banner/personalicon.png" mode="widthFix"></image> <view class="label-text">韬唤璇佸彿</view> </view> <view class="information-value"> - {{ userInfo.idCard || '' }} + {{ idCard || '' }} </view> </view> <view class="information-line"> <view class="line-label"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/phonenum.png" + <image src="https://mx.jzeg.cn:9096/appimg/image/banner/phonenum.png" mode="widthFix"></image> <view class="label-text">鎵嬫満鍙�</view> </view> @@ -51,7 +67,7 @@ </view> <view class="information-line"> <view class="line-label"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/carnum.png" + <image src="https://mx.jzeg.cn:9096/appimg/image/banner/carnum.png" mode="widthFix"></image> <view class="label-text">杞︾墝鍙�</view> </view> @@ -61,7 +77,7 @@ </view> <view class="information-line"> <view class="line-label"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/axisnum.png" + <image src="https://mx.jzeg.cn:9096/appimg/image/banner/axisnum.png" mode="widthFix"></image> <view class="label-text">杞﹁酱鏁�</view> </view> @@ -69,9 +85,9 @@ {{ userInfo.axleNum || '' }} </view> </view> - <view class="information-line last"> + <view class="information-line"> <view class="line-label"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/weighnum.png" + <image src="https://mx.jzeg.cn:9096/appimg/image/banner/weighnum.png" mode="widthFix"></image> <view class="label-text">浣撻噸</view> </view> @@ -79,7 +95,76 @@ {{ userInfo.weight || '' }} </view> </view> + <view class="information-line" + @click="modifyPrint"> + <!-- 鐢变簬鏄嚜瀹氫箟icon 闈炶璁″浘icon 鎵�浠ヨ鍔犱笂杩欎釜style="margin-left: 1.5%;" + icon 涓嬭浇鏍煎紡涓�18x18--> + <view class="line-label" + style="margin-left: 1.5%;"> + <image src="https://mx.jzeg.cn:9096/appimg/image/banner/printer.png" + mode="widthFix" + style="width: 18px;"></image> + <view class="label-text">纾呭崟鏍峰紡</view> + </view> + <view class="information-value"> + <view class=""> + {{ currentSelectedPrintStyle===1?'涓�椤典袱鑱�':'涓�椤靛洓鑱�'}} + </view> + <u-icon name="arrow-right" + size="36"></u-icon> + </view> + </view> + <!-- <view class="information-line" + @click="addressManageHandle"> + <view class="line-label" + style="margin-left: 1.5%;"> + <image src="https://mx.jzeg.cn:9096/appimg/image/banner/address.png" + mode="widthFix" + style="width: 18px;"></image> + <view class="label-text" + style="width:220rpx ;">閫佽揣瀹㈡埛绠$悊</view> + </view> + <view class=""> + <u-icon name="arrow-right" + size="36"></u-icon> + </view> + </view> --> + <view class="information-line last" + @click="scoreDetail"> + <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=""> + {{ userInfo.integral || '' }} + </view> + <view class=""> + <u-icon name="arrow-right" + size="36"></u-icon> + </view> + </view> + + </view> </view> + </view> + </view> + </view> + <view class="car-information" v-if="certificateData.length>0"> + <view class="roadTransportCertificate"> + <view class="information-body"> + <view class="certificate" v-for="item in certificateData" :key="item.id"> + <view class="certificate-left"> + 浜у搧锛歿{item.productName}} + </view> + <view class="certificate-right"> + {{item.status==0?'鏈鏍�':item.status==1?'閫氳繃':item.status==2?'杩囨湡':item.status==-1?"鏈�氳繃":null}} + </view> + </view> + {{}} </view> </view> </view> @@ -88,7 +173,7 @@ <view class="information-body"> <view class="car-img"> <view class="label-title"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/carimg.png" + <image src="https://mx.jzeg.cn:9096/appimg/image/banner/carimg.png" mode="widthFix"></image> <view class="label-text">杞﹁締鐓х墖</view> </view> @@ -105,7 +190,7 @@ </view> <view class="car-img"> <view class="label-title"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/cardimg.png" + <image src="https://mx.jzeg.cn:9096/appimg/image/banner/cardimg.png" mode="widthFix"></image> <view class="label-text">琛岄┒璇佺収鐗�</view> </view> @@ -120,15 +205,27 @@ </u--image> </view> </view> + <view class="car-img"> + <view class="label-title"> + <image src="https://mx.jzeg.cn:9096/appimg/image/banner/cardimg.png" + mode="widthFix"></image> + <view class="label-text">杞﹁締绫诲瀷鐓х墖</view> + </view> + <view class="img-container"> + <u--image :showLoading="true" + :src="userInfo.inventoryImg != null ? BaseUrl + userInfo.drivingImg : ''" + width="80px" + height="80px" + @click="imageClick(3)"> + <view slot="error" + style="font-size: 24rpx;">鍔犺浇澶辫触</view> + </u--image> + </view> + </view> </view> </view> </view> <view class="loginout"> - <view class="loginout-main"><u-button text="閲嶇疆瀵嗙爜" - type="primary" - @click="initPwd" - shape="circle" - plain></u-button></view> <view class="loginout-main"><u-button text="閫�鍑虹櫥褰�" type="primary" @click="logout" @@ -136,24 +233,7 @@ plain></u-button></view> </view> <!-- 寮曞椤� --> - <view class="noob-tour" - style="margin-top: 80rpx;"> - <combined-title title="鎿嶄綔鎸囧紩"></combined-title> - <u-cell-group> - <u-cell title="鏂版墜鎸囧紩" - name='1' - :clickable="true" - @click="noobTour"> - <u-badge type="primary" - value="01" - slot='icon'></u-badge> - <u-icon slot="value" - name="arrow-right" - size="30" - color="#b8b8b8"></u-icon> - </u-cell> - </u-cell-group> - </view> + <noob-tour isPersonCenter></noob-tour> <!-- 鍥剧墖棰勮寮瑰嚭妗� --> <view class="previewImage-container"> <u-popup :show="previewImageShow" @@ -164,12 +244,6 @@ width="400px" height="400px"></u--image> </u-popup> - </view> - <!-- 寮曞鍥剧墖寮瑰嚭 --> - <view class="previewImage-container"> - <previewImage ref="previewImage" - :imgs="driverTourImgList" - :saveBtn='false'></previewImage> </view> <!-- 淇敼寮瑰嚭妗� --> <view class="editDriverPopup-container"> @@ -192,22 +266,22 @@ border="none" inputAlign="left"></u--input> </u-form-item> - <u-form-item labelWidth="20%" + <!-- <u-form-item labelWidth="20%" label="瀵嗙爜" prop="password" required> <u--input v-model="editUserInfo.password" border="none" inputAlign="left"></u--input> - </u-form-item> - <u-form-item labelWidth="20%" + </u-form-item> --> + <!-- <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" @@ -241,6 +315,24 @@ border="none" inputAlign="left"></u--input> </u-form-item> + <u-form-item labelWidth="20%" + label="杞﹁締绫诲瀷" + borderBottom + required + prop="countryNumberCar"> + <u-radio-group v-model="editUserInfo.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 labelWidth="25%" label="杞﹁締鐓х墖" @click="beforeRead" @@ -272,10 +364,396 @@ 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%" + 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> + </u-form-item> </u--form> - <u-button text="鎻愪氦" - @click="updateUser" - type="primary"></u-button> + <view class="person-utils"> + <u-button text="淇敼瀵嗙爜" + @click="modifyPassword" + 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" /> + </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" /> + </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" /> + </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" /> + </u-form-item> + </u--form> + <view class="person-utils"> + <u-button text="鎻愪氦璇佷欢淇敼" + @click="updateDoc" + type="primary"></u-button> + </view> + </view> + </u-popup> + </view> + <!-- 娣诲姞閬撹矾杩愯緭璇� --> + <view class="editDriverPopup-container"> + <u-popup :show="editTranShow" + mode="bottom" + @close="editTranClose" + @open="editTranOpen" + :closeable="true"> + <combined-title title="杩愯緭璇�" + style="margin-left:20rpx"></combined-title> + <view class="editDriverPopup-container-box"> + <u--form labelPosition="left" + :model="tranSportForm" + :rule="sportRules" + ref="sportRef"> + <u-form-item labelWidth="20%" + label="杩愯緭璇佸彿" + prop="certificateNo" + required> + <u--input v-model="tranSportForm.certificateNo" + border="none" + inputAlign="left"></u--input> + </u-form-item> + <u-form-item labelWidth="20%" + label="杞︾墝鍙�" + prop="carNo" + required> + <u--input v-model="tranSportForm.carNo" + border="none" + inputAlign="left"></u--input> + </u-form-item> + <u-form-item labelWidth="20%" + label="浜у搧" + ref="item1" + @click="treeOpen" + prop='productId'> + <u--input placeholder="璇烽�夋嫨浜у搧" + v-model="productName" + class="input" + type="text"></u--input> + <qian-tree ref="tkitree" + :range="productData" + rangeKey='productName' + confirmColor="#4e8af7" + :selectParent="true" + title="閫夋嫨閮ㄩ棬" + @confirm="treeChooseValue" /> + </u-form-item> + <view class="customer-name"> + <view class="customer-name_label"> + 閫夋嫨瀹㈡埛 + </view> + <view class="customer-name_block" + @click="selfDeliver"> + <input class="customer-name_block-input" + type="text" + placeholder="璇烽�夋嫨瀹㈡埛" + v-model="customerName" + @focus="selfDeliver" + ref="selectCustomer" /> + </view> + </view> + <u-form-item prop="certificateImg" + label="杩愯緭璇�" + labelWidth="20%" + borderBottom + required + @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="expirationTime" + label="杩愯緭璇佽繃鏈熸椂闂�" + labelWidth="20%" + borderBottom> + <uni-datetime-picker v-model="tranSportForm.expirationTime" type="datetime" /> + </u-form-item> + <view class="adddelete"> + <u-button text="娣诲姞椹鹃┒鍛�" + @click="addDriver" + type="primary"></u-button> + <u-button text="鍒犻櫎椹鹃┒鍛�" + @click="deleteDriver" + type="error"></u-button> + </view> + <view class="superList" v-for="(item,index) in driverList" :key="index"> + <u-form-item labelWidth="20%" + label="濮撳悕" + prop="driverName" + required> + <u--input v-model="item.driverName" + border="none" + inputAlign="left"></u--input> + </u-form-item> + <u-form-item labelWidth="20%" + label="韬唤璇�" + prop="driverIdcard" + required> + <u--input v-model="item.driverIdcard" + border="none" + inputAlign="left"></u--input> + </u-form-item> + </view> + <view class="adddelete"> + <u-button text="娣诲姞鎶艰繍鍛�" + @click="addSupercar" + type="primary"></u-button> + <u-button text="鍒犻櫎鎶艰繍鍛�" + @click="deleteSupercar" + type="error"></u-button> + </view> + <view class="superList" v-for="(item,index) in supercargoList" :key="index"> + <u-form-item labelWidth="20%" + label="濮撳悕" + prop="driverName" + required> + <u--input v-model="item.driverName" + border="none" + inputAlign="left"></u--input> + </u-form-item> + <u-form-item labelWidth="20%" + label="韬唤璇�" + prop="driverIdcard" + required> + <u--input v-model="item.driverIdcard" + border="none" + inputAlign="left"></u--input> + </u-form-item> + <u-form-item labelWidth="20%" + label="鎵嬫満鍙�" + prop="driverPhone" + required> + <u--input v-model="item.driverPhone" + border="none" + inputAlign="left"></u--input> + </u-form-item> + </view> + + <u-form-item labelWidth="20%" + label="澶囨敞" + prop="remarks"> + <u--input v-model="tranSportForm.remarks" + border="none" + inputAlign="left"></u--input> + </u-form-item> + </u--form> + <view class="person-utils"> + <u-button text="鎻愪氦閬撹矾杩愯緭璇�" + @click="updateRoad" + type="primary"></u-button> + </view> + </view> + </u-popup> + <u-popup :closeable='true' + :round="30" + mode='bottom' + :show="selfDeliverShow" + @close="selfDeliverClose" + @open="selfDeliverOpen"> + <view class="name-list-section"> + <view class="name-list_title"> + 閫夋嫨瀹㈡埛 + </view> + <view class="name-list_container"> + <u-empty mode="data" + icon="http://cdn.uviewui.com/uview/empty/data.png" + text="鏆傛棤鏁版嵁" + textSize="30" + iconSize="1000" + v-if="customerNameList.length===0"></u-empty> + <view class="name-list_container_item" + v-for="(item,index) in customerNameList" :key="index" + @click="selectCustomer(item)"> + <view class="item-image"> + <image src="https://mx.jzeg.cn:9096/appimg/image/banner/address.png" + mode="widthFix" + style="width: 18px;"></image> + </view> + <view class="item-customerName"> + {{item.customerName}} + </view> + </view> + </view> </view> </u-popup> </view> @@ -287,14 +765,8 @@ @confirm="logoutConfirm" @cancel="logoutCancel"></u-modal> </view> - <view class="initPwdModal"> - <u-modal :show="initPwdShow" - title="閲嶇疆瀵嗙爜" - showCancelButton - content="鍒濆瀵嗙爜灏嗗彉鏇翠负123456,鏄惁纭閲嶇疆" - @confirm="initPwdConfirm" - @cancel="initPwdCancel"></u-modal> - </view> + <printerStyle ref="printerStyleRef" + @selectedPrintStyle='selectedPrintStyleHandle' /> </view> </template> @@ -302,19 +774,20 @@ import { redirectLogin } from '@/utils/status'; import { BaseUrl } from '@/api/publicInterface.js'; import previewImage from '@/components/kxj-previewImage/kxj-previewImage.vue'; + 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 }, - computed: { - ...mapState(['driverTourImgList']), - roleType() { - return uni.getStorageSync('roleType'); - }, - }, + components: { previewImage, noobTour, printerStyle,qianTree }, data() { return { + selfDeliverShow: false, + customerNameList:[], + customerName:"", // 鑾峰彇鐨勫徃鏈鸿鎯� userInfo: {}, + productName:"", // 淇敼鍙告満璇︽儏 editUserInfo: { phone: '', @@ -329,7 +802,57 @@ weight: '', userId: '', password: "", - isRegister: '' + isRegister: 0, + tradeQualificationImg: '', + roadTransportImg: '', + inventoryImg: '', + countryNumberCar: 0 + }, + registerFormModel:{}, + tranSportForm:{ + carNo:"", + productId:"", + customerId:"" + }, + countryNumberCarList: [{ + name: 1, + label: '鍥戒簲', + }, + { + name: 2, + label: '鍥藉叚', + } + ], + sportRules:{ + certificateNo: { + type: 'string', + required: true, + message: '璇峰~鍐欒繍杈撹瘉鍙�', + trigger: ['blur', 'change'] + }, + expirationTime: { + type: 'string', + required: true, + message: '璇烽�夋嫨杩愯緭璇佽繃鏈熸椂闂�', + trigger: ['blur', 'change'] + }, + 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'] + } + ], }, rules: { name: { @@ -407,10 +930,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', @@ -423,13 +947,47 @@ required: true, message: '璇蜂笂浼犺椹惰瘉鐓х墖', trigger: ['blur', 'change'] - } + }, + countryNumberCar: { + type: 'number', + required: true, + 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: [], + fileList9: [], + productData:[], + certificateData:[], + driverList:[{ + driverName:"", + driverIdcard:"" + }], + supercargoList:[], // 淇敼淇℃伅寮瑰嚭妗� editDriverPopupShow: false, + editDocShow:false, + editTranShow:false, // previewImage previewImageShow: false, previewImageSrc: '', @@ -438,19 +996,30 @@ logoutTitle: '鎻愮ず', logoutContent: '鏄惁纭閫�鍑�', BaseUrl, - initPwdShow: false - + selectedPrintStyle: null }; + }, + computed: { + currentSelectedPrintStyle() { + return this.selectedPrintStyle ? this.selectedPrintStyle : uni.getStorageSync('selectedPrintStyle') + }, + idCard() { + return this.userInfo.idCard.slice(0, 6) + '********' + this.userInfo.idCard.slice(-4) + } }, onShow() { // this.init(); }, onReady() { this.$refs.editRef.setRules(this.rules); + this.$refs.sportRef.setRules(this.sportRules); }, methods: { ...mapMutations(['changeisUploadimg']), init() { + this.$reqGet('getProductTree').then(res => { + this.productData = res.data; + }); this.getUserEntity(); }, getUserEntity() { @@ -460,23 +1029,73 @@ this.$reqGet('getUserEntity').then(res => { uni.hideLoading(); this.userInfo = res.data; + this.$reqGetId('getDriverListById', this.userInfo.userId).then(res => { + this.certificateData = res.data; + console.log(this.certificateData) + }); + // 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); - if (this.fileList1.length == 0) { + uni.setStorageSync('roadTransportImg', this.userInfo.roadTransportImg); + uni.setStorageSync('tradeQualificationImg', this.userInfo.tradeQualificationImg); + if (this.fileList1.length == 0 && this.userInfo.carImg) { this.fileList1.push({ url: `${BaseUrl}${this.userInfo.carImg}` }); } - if (this.fileList2.length == 0) { + if (this.fileList2.length == 0 && this.userInfo.drivingImg) { this.fileList2.push({ url: `${BaseUrl}${this.userInfo.drivingImg}` }); } - Object.keys(this.editUserInfo).map(item => { - if (res.data[item]) { - this.editUserInfo[item] = res.data[item]; + if (this.fileList3.length == 0 && this.userInfo.roadTransportImg) { + this.fileList3.push({ + url: `${BaseUrl}${this.userInfo.roadTransportImg}` + }); + } + if (this.fileList4.length == 0 && this.userInfo.tradeQualificationImg) { + this.fileList4.push({ + 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 + } + 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 = '' }); }, @@ -484,13 +1103,20 @@ editBtnClick() { this.editDriverPopupShow = true; }, + editDocClick(){ + this.editDocShow = true; + }, + editTranClick(){ + this.getShipToList() + this.editTranShow = true; + }, imageClick(index) { - // 閫氳繃index鍒囨崲鍥剧墖 - console.log('鍒囨崲鍥剧墖', index); if (index == 1) { this.previewImageSrc = this.userInfo.carImg; - } else { + } else if (index == 2) { this.previewImageSrc = this.userInfo.drivingImg; + } else { + this.previewImageSrc = this.userInfo.inventoryImg; } this.$nextTick(() => { this.previewImageShow = true; @@ -543,13 +1169,46 @@ 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}`); + } else if (num == 3) { + this.editUserInfo.roadTransportImg = JSON.parse(res.data).data.url; + uni.setStorageSync('roadTransportImg', JSON.parse(res.data).data.url); + resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); + } else if (num == 4) { + this.editUserInfo.tradeQualificationImg = JSON.parse(res.data).data + .url; + uni.setStorageSync('tradeQualificationImg', JSON.parse(res.data).data + .url); + resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); + } else if (num == 5) { + 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}`); + }else if(num==9){ + this.tranSportForm.certificateImg = JSON.parse(res.data) + .data.url; + resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); } + } }); }); @@ -560,17 +1219,169 @@ previewImageClose() { this.previewImageShow = false; }, - previewImageOpen() { - console.log('preview open'); - }, + previewImageOpen() {}, /** * @editPopup 淇敼寮瑰嚭妗嗕簨浠� */ editDriverPopupClose() { this.editDriverPopupShow = false; }, - editDriverPopupOpen() { - console.log('鎵撳紑浜�'); + editDocClose(){ + this.editDocShow = false; + }, + editTranClose(){ + this.editTranShow = false; + }, + editDriverPopupOpen() {}, + editDocOpen(){}, + editTranOpen(){}, + modifyPassword() { + this.$store.commit('changeisLogin', false) + this.$store.dispatch('websocketOnClose') + uni.reLaunch({ + url: '/pages/login/forgetPassword/forgetPassword' + }) + }, + updateRoad(){ + this.$refs.sportRef + .validate() + .then(res => { + if (this.tranSportForm.productId == '' ) { + uni.showToast({ + title: '璇烽�夋嫨浜у搧锛�', + icon: 'error', + duration: 2000 + }); + }else if(this.tranSportForm.customerId == ''){ + uni.showToast({ + title: '璇烽�夋嫨瀹㈡埛锛�', + icon: 'error', + duration: 2000 + }); + } + let idcardtext=/^([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]$/ + if(this.driverList.length>0){ + this.driverList.forEach((item,index)=>{ + if(!item.driverName){ + uni.showToast({ + title: `璇峰~鍐欓┚椹跺鍚嶏紒`, + icon: 'error', + duration: 2000 + }); + } + if(!item.driverIdcard){ + uni.showToast({ + title: `璇峰~鍐欓┚椹惰韩浠借瘉锛乣, + icon: 'error', + duration: 2000 + }); + }else if(!idcardtext.test(item.driverIdcard)){ + uni.showToast({ + title: `璇锋楠岄┚椹跺憳韬唤璇侊紒`, + icon: 'error', + duration: 2000 + }); + } + }) + } + if(this.supercargoList.length>0){ + this.supercargoList.forEach((item,index)=>{ + if(!item.driverName){ + uni.showToast({ + title: `璇峰~鍐欐娂杩愬鍚嶏紒`, + icon: 'error', + duration: 2000 + }); + } + if(!item.driverIdcard){ + uni.showToast({ + title: `璇峰~鍐欐娂杩愯韩浠借瘉锛乣, + icon: 'error', + duration: 2000 + }); + }else if(!idcardtext.test(item.driverIdcard)){ + uni.showToast({ + title: `璇锋楠屾娂杩愯韩浠借瘉锛乣, + icon: 'error', + duration: 2000 + }); + } + if(!item.driverPhone){ + uni.showToast({ + title: `璇峰~鍐欐娂杩愭墜鏈哄彿锛乣, + icon: 'error', + duration: 2000 + }); + }else if( !/^1[23456789]\d{9}$/.test(item.driverPhone)){ + uni.showToast({ + title: `璇锋楠屾娂杩愭墜鏈哄彿锛乣, + icon: 'error', + duration: 2000 + }); + } + }) + } + let driverName="" + let driverIdcard="" + let supercargoInfo='' + driverName = this.driverList.map((item, index) => { + return item.driverName; + }).join(","); + driverIdcard = this.driverList.map((item, index) => { + return item.driverIdcard; + }).join(","); + supercargoInfo = this.supercargoList.map((item, index) => { + return item.driverName+ '|'+item.driverIdcard+"|"+item.driverPhone + }).join(","); + if(this.tranSportForm.expirationTime){ + this.tranSportForm.expirationTime=this.tranSportForm.expirationTime.slice(0,16) + } + this.$reqPost('addJcroadtransport', { + userId:this.registerFormModel.customerid, + ...this.tranSportForm, + driverName:driverName, + driverIdcard:driverIdcard, + supercargoInfo:supercargoInfo + }, 'json').then(res => { + this.editTranShow = false; + if (res.code == 0) { + this.$u.toast('淇敼鎴愬姛'); + this.init(); + } else { + uni.showToast({ + title: res.msg, + icon: 'none', + duration: 2000 + }); + } + }) + }) + }, + // 淇敼璇佷欢淇℃伅 + updateDoc(){ + 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, + }, '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() { @@ -578,13 +1389,12 @@ ...this.editUserInfo, carImg: uni.getStorageSync('carImg'), drivingImg: uni.getStorageSync('drivingImg'), - isRegister: 0 + isRegister: '0' }; this.$refs.editRef .validate() .then(res => { this.$reqPost('updateUser', this.editUserInfo, 'json').then(res => { - console.log('鏇存柊鏁版嵁', res); this.editDriverPopupShow = false; if (res.code == 0) { this.$u.toast('淇敼鎴愬姛'); @@ -602,35 +1412,6 @@ this.$u.toast('淇敼澶辫触'); }); }, - initPwd() { - this.initPwdShow = true - }, - initPwdConfirm() { - this.initPwdShow = false - uni.showLoading({ - title: '鍔犺浇涓�...' - }); - this.editUserInfo.password = '123456'; - this.editUserInfo.carImg = uni.getStorageSync('carImg'); - this.editUserInfo.drivingImg = uni.getStorageSync('drivingImg') - this.$reqPost('updateUser', this.editUserInfo, 'json').then(res => { - uni.hideLoading() - if (res.code == 0) { - uni.showToast({ - title: '閲嶇疆鎴愬姛', - duration: 2000, - icon: 'success' - }) - } else { - this.$u.toast(res.msg ? res.msg : '淇敼澶辫触'); - } - }).catch(err => { - this.$u.toast('淇敼澶辫触'); - }); - }, - initPwdCancel() { - this.initPwdShow = false - }, logout() { this.logoutShow = true; }, @@ -642,14 +1423,100 @@ logoutCancel() { this.logoutShow = false; }, - // 璺宠浆鍙戣繍缁熻椤甸潰 - statistics() { - uni.navigateTo({ - url: '/pages/customer-page/customer-my/faYunstatistics/faYunstatistics' - }); + //淇敼纾呭崟鎵撳嵃鏍峰紡 + modifyPrint() { + this.$nextTick(() => { + this.$refs.printerStyleRef.init() + }) }, - noobTour() { - this.$refs.previewImage.open('https://mx.jzeg.cn:9096/appimg/image/tour/driver/sj1.png') + // 绉垎璇︽儏 + scoreDetail() { + uni.navigateTo({ + url: '/pages/driver-page/drvier-my/scoreDetail/scoreDetail' + }) + }, + addressManageHandle() { + uni.navigateTo({ + url: '/pages/driver-page/drvier-my/addressMange/addressMange' + }) + }, + 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(); + }, + treeChooseValue(v) { + this.$refs.tkitree._hide(); + let data=this.findNameById(this.productData, v)[0] + this.tranSportForm.productId = data.id; + this.productName=data.name + }, + // 鑾峰彇瀹㈡埛 + getShipToList() { + this.$reqGet('getShipToList', { deptId: this.editUserInfo.deptId, productName: this.editUserInfo.productName }) + .then(res => { + if (res.code == 0) { + this.customerNameList = res.data + }else { + this.$u.toast('鍔犺浇澶辫触') + } + }) + }, + selfDeliver() { + this.selfDeliverShow = true + }, + selfDeliverClose() { + this.selfDeliverShow = false + }, + selfDeliverOpen() { + this.selfDeliverShow = true + }, + selectCustomer(value) { + this.tranSportForm.customerId = value.customerId + this.customerName = value.customerName + this.selfDeliverShow = false + }, + addSupercar(){ + this.supercargoList.push({ + driverName:"", + driverIdcard:"", + driverPhone:"" + }) + }, + addDriver(){ + this.driverList.push({ + driverName:"", + driverIdcard:"" + }) + }, + deleteSupercar(){ + this.supercargoList.splice(this.supercargoList.length - 1, 1) + }, + deleteDriver(){ + this.driverList.splice(this.driverList.length - 1, 1); }, } }; @@ -736,6 +1603,41 @@ 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: 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; + align-items: center; + justify-content: flex-end; + } .information-block { width: 100%; @@ -749,7 +1651,7 @@ &-block { width: 690rpx; - height: 478rpx; + height: 680rpx; 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; @@ -763,25 +1665,28 @@ } .information-line { - @include flex width: 636rpx; + @include flex; + width: 636rpx; height: vww(45); border-bottom: 1rpx solid #f0f1f6; .line-label { - width: 188rpx; + width: 50%; height: 90rpx; + @include flex; - @include flex image { + image { width: 50rpx; height: 50rpx; } .label-text { - width: 120rpx; + flex: 0.8; font-size: 30rpx; font-weight: 400; color: #000000; line-height: 85rpx; + text-align: left; } } @@ -797,19 +1702,49 @@ .last { border-bottom: 0; + + .information-value { + justify-content: space-between; + } } } } } .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; - height: 552rpx; + height: 800rpx; 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; @@ -818,7 +1753,6 @@ width: 636rpx; margin: vww(15) vww(14); @include flex flex-direction: column; - .car-img { height: 246rpx; width: 100%; @@ -828,7 +1762,7 @@ .label-title { @include flex; - width: 220rpx; + width: 300rpx; height: 100rpx; .label-text { @@ -858,6 +1792,18 @@ .loginout-main { width: 84%; + } + } + + .person-utils { + width: 98%; + margin: vww(10) auto; + display: flex; + justify-content: space-between; + + .u-button { + width: 45%; + letter-spacing: vww(4); } } @@ -892,7 +1838,7 @@ .editDriverPopup-container-box { width: 90%; - margin: 0 auto; + margin: vww(10) auto; } //closeIcon @@ -909,5 +1855,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