From 3fef62b03c16aa69c109c355150cdb698b777feb Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期五, 28 六月 2024 17:39:20 +0800 Subject: [PATCH] Merge branch 'develop/steels' into feature/steels/yangan --- pages/driver-page/drvier-my/drvier-my.vue | 1352 ++++++++++++++++++++++++++++++++++++---------------------- 1 files changed, 830 insertions(+), 522 deletions(-) diff --git a/pages/driver-page/drvier-my/drvier-my.vue b/pages/driver-page/drvier-my/drvier-my.vue index bf10fb2..06e17c3 100644 --- a/pages/driver-page/drvier-my/drvier-my.vue +++ b/pages/driver-page/drvier-my/drvier-my.vue @@ -1,18 +1,30 @@ <template> <view class="driver-my"> - <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;"></view> - <view class="avatar-name">{{ userInfo.name || '' }}</view> - <view class="edit-button"><u-button type="primary" @click="editBtnClick" shape="circle" plain>缂栬緫涓汉璧勬枡</u-button></view> + <view class="" + style="height: 446rpx;width: 100%;"> + <view class="driver-banner"> + <view class="navgation">鎴戠殑</view> + <view class="avatar"> + <view class="avatar-imgage" + :style="{ backgroundImage: `url(${onlineurl}/appimg/image/banner/driverava.png)`, backgroundSize: 'cover', backgroundRepeat: 'no-repeat' }"> + </view> + <view class="avatar-name">{{ userInfo.name || '' }}</view> + <view class="edit-button"><u-button type="primary" + @click="editBtnClick" + shape="circle" + plain>缂栬緫涓汉璧勬枡</u-button></view> + </view> </view> + </view> + <view class="information-block"> <view class="personal-information"> <view class="personal-information-block"> <view class="block-main"> - <view class="information-line" @click=""> + <view class="information-line" + @click=""> <view class="line-label"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/personalicon.png" mode="widthFix"></image> + <image :src="`${onlineurl}/appimg/image/banner/personalicon.png`" + mode="widthFix"></image> <view class="label-text">韬唤璇佸彿</view> </view> <view class="information-value"> @@ -22,7 +34,8 @@ </view> <view class="information-line"> <view class="line-label"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/phonenum.png" mode="widthFix"></image> + <image :src="`${onlineurl}/appimg/image/banner/phonenum.png`" + mode="widthFix"></image> <view class="label-text">鎵嬫満鍙�</view> </view> <view class="information-value"> @@ -32,7 +45,8 @@ </view> <view class="information-line"> <view class="line-label"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/carnum.png" mode="widthFix"></image> + <image :src="`${onlineurl}/appimg/image/banner/carnum.png`" + mode="widthFix"></image> <view class="label-text">杞︾墝鍙�</view> </view> <view class="information-value"> @@ -42,7 +56,8 @@ </view> <view class="information-line"> <view class="line-label"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/axisnum.png" mode="widthFix"></image> + <image :src="`${onlineurl}/appimg/image/banner/axisnum.png`" + mode="widthFix"></image> <view class="label-text">杞﹁酱鏁�</view> </view> <view class="information-value"> @@ -50,14 +65,25 @@ <!-- <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.axleNum"></u-icon> --> </view> </view> + <view class="information-line"> + <view class="line-label"> + <image :src="`${onlineurl}/appimg/image/banner/axisnum.png`" + mode="widthFix"></image> + <view class="label-text">杞︾墝棰滆壊</view> + </view> + <view class="information-value"> + {{ userInfo.vehicleColour || '' }} + <!-- <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.axleNum"></u-icon> --> + </view> + </view> <view class="information-line last"> <view class="line-label"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/weighnum.png" mode="widthFix"></image> + <image :src="`${onlineurl}/appimg/image/banner/weighnum.png`" + mode="widthFix"></image> <view class="label-text">浣撻噸</view> </view> <view class="information-value"> {{ userInfo.weight || '' }} - <!-- <u-icon name="arrow-right" color="#999999" size="30" v-if="userInfo.weight"></u-icon> --> </view> </view> </view> @@ -69,23 +95,59 @@ <view class="information-body"> <view class="car-img"> <view class="label-title"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/carimg.png" mode="widthFix"></image> + <image :src="`${onlineurl}/appimg/image/banner/carimg.png`" + mode="widthFix"></image> <view class="label-text">杞﹁締鐓х墖</view> </view> <view class="img-container"> - <u--image :showLoading="true" :src="userInfo.carImg != null ? BaseUrl + userInfo.carImg : ''" width="80px" height="80px" @click="imageClick(1)"> - <view slot="error" style="font-size: 24rpx;">鍔犺浇澶辫触</view> + <u--image :showLoading="true" + :src="userInfo.carImg != null ? BaseUrl + userInfo.carImg : ''" + width="80px" + height="80px" + @click="imageClick(1)"> + <view slot="error" + style="font-size: 24rpx;">鍔犺浇澶辫触</view> </u--image> </view> </view> <view class="car-img"> <view class="label-title"> - <image src="https://mx.jzeg.cn:9095/appimg/image/banner/cardimg.png" mode="widthFix"></image> + <image :src="`${onlineurl}/appimg/image/banner/cardimg.png`" + mode="widthFix"></image> + <view class="label-text">杞﹀ご杞﹀熬杞﹁韩鐓х墖</view> + </view> + <view class="img-container special"> + <view class="img-container_item" + v-for="item in userInfo.bodyCarImg"> + <u--image :showLoading="true" + :src="BaseUrl+item" + width="80px" + height="80px" + @click="imageClickCarBody(item)"> + <view slot="error" + style="font-size: 24rpx;">鍔犺浇澶辫触</view> + </u--image> + </view> + </view> + <view style="display: flex;align-items: center;height: 100%; width: 150rpx;" + v-if='userInfo.bodyCarImg?(userInfo.bodyCarImg.length===0?true:false):true'> + 鏆傛棤鍥剧墖 + </view> + </view> + <view class="car-img"> + <view class="label-title"> + <image :src="`${onlineurl}/appimg/image/banner/cardimg.png`" + mode="widthFix"></image> <view class="label-text">琛岄┒璇佺収鐗�</view> </view> <view class="img-container"> - <u--image :showLoading="true" :src="userInfo.drivingImg != null ? BaseUrl + userInfo.drivingImg : ''" width="80px" height="80px" @click="imageClick(2)"> - <view slot="error" style="font-size: 24rpx;">鍔犺浇澶辫触</view> + <u--image :showLoading="true" + :src="userInfo.drivingImg != null ? BaseUrl + userInfo.drivingImg : ''" + width="80px" + height="80px" + @click="imageClick(2)"> + <view slot="error" + style="font-size: 24rpx;">鍔犺浇澶辫触</view> </u--image> </view> </view> @@ -93,80 +155,148 @@ </view> </view> <view class="loginout"> - <view class="loginout-main"><u-button text="閫�鍑虹櫥褰�" type="primary" @click="logout" shape="circle" plain></u-button></view> + <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" + shape="circle" + plain></u-button></view> </view> - <!-- <view class="personal-information-form"> - <u--form labelPosition="left" :model="userInfo" ref="form1"> - <u-form-item labelWidth="20%" label="濮撳悕" ref="item1"> - <u--input v-model="userInfo.name" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> - </u-form-item> - <u-form-item labelWidth="20%" label="韬唤璇佸彿" ref="item1"> - <u--input v-model="userInfo.idCard" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> - </u-form-item> - <u-form-item labelWidth="20%" label="鎵嬫満鍙�" ref="item1"> - <u--input v-model="userInfo.phone" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> - </u-form-item> - <u-form-item labelWidth="20%" label="杞︾墝鍙�" ref="item1"> - <u--input v-model="userInfo.carNo" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> - </u-form-item> - <u-form-item labelWidth="20%" label="浣撻噸" ref="item1"> - <u--input v-model="userInfo.weight" border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> - </u-form-item> - <u-form-item v-model="userInfo.axleNum" labelWidth="20%" label="杞﹁酱鏁�" ref="item1"> - <u--input border="none" inputAlign="right" disabled disabledColor="#fff"></u--input> - </u-form-item> - <u-form-item labelWidth="20%" label="杞﹁締鐓х墖" ref="item1"> - <u--image :showLoading="true" :src="userInfo.carImg != null ? BaseUrl + userInfo.carImg : ''" width="80px" height="80px" @click="imageClick(1)"> - <view slot="error" style="font-size: 24rpx;">鍔犺浇澶辫触</view> - </u--image> - </u-form-item> - <u-form-item labelWidth="25%" label="琛岄┒璇佺収鐗�" ref="item1"> - <u--image :showLoading="true" :src="userInfo.drivingImg != null ? BaseUrl + userInfo.drivingImg : ''" width="80px" height="80px" @click="imageClick(2)"> - <view slot="error" style="font-size: 24rpx;">鍔犺浇澶辫触</view> - </u--image> - </u-form-item> - </u--form> - <view class="push-information-button"> - <u-button text="淇敼涓汉璧勬枡" type="primary" @click="editBtnClick"></u-button> - <u-button text="閫�鍑虹櫥褰�" type="primary" @click="logout"></u-button> - </view> --> - <!-- <view class="statistics"><u-button text="鍙戣繍缁熻" type="primary" @click="statistics"></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> + <!-- 鍥剧墖棰勮寮瑰嚭妗� --> + <view class="previewImage-container"> + <previewImage ref="previewImage" + :imgs="driverTourImgList" + :saveBtn='false'></previewImage> + </view> <!-- 鍥剧墖棰勮寮瑰嚭妗� --> <view class="previewImage-container"> - <u-popup :show="previewImageShow" mode="center" @close="previewImageClose" @open="previewImageOpen"> - <u--image :src="previewImageSrc != null ? BaseUrl + previewImageSrc : ''" width="400px" height="400px"></u--image> + <u-popup :show="previewImageShow" + mode="center" + @close="previewImageClose" + @open="previewImageOpen"> + <u--image :src="previewImageSrc != null ? BaseUrl + previewImageSrc : ''" + width="400px" + height="400px"></u--image> </u-popup> </view> <!-- 淇敼寮瑰嚭妗� --> <view class="editDriverPopup-container"> - <u-popup :show="editDriverPopupShow" mode="bottom" @close="editDriverPopupClose" @open="editDriverPopupOpen" :closeable="true"> - <combined-title title="淇敼涓汉淇℃伅" style="margin-left:20rpx"></combined-title> + <u-popup :show="editDriverPopupShow" + mode="bottom" + @close="editDriverPopupClose" + @open="editDriverPopupOpen" + :closeable="true"> + <combined-title title="淇敼涓汉淇℃伅" + style="margin-left:20rpx"></combined-title> <view class="editDriverPopup-container-box"> - <u--form labelPosition="left" :model="editUserInfo" ref="editRef"> - <u-form-item labelWidth="20%" label="濮撳悕" prop="name" required> - <u--input v-model="editUserInfo.name" border="none" inputAlign="left"></u--input> + <u--form labelPosition="left" + :model="editUserInfo" + ref="editRef"> + <u-form-item labelWidth="20%" + label="濮撳悕" + prop="name" + required> + <u--input v-model="editUserInfo.name" + border="none" + inputAlign="left"></u--input> </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 labelWidth="20%" + label="韬唤璇佸彿" + prop="idCard" + required> + <u--input v-model="editUserInfo.idCard" + border="none" + inputAlign="left"></u--input> </u-form-item> - <u-form-item labelWidth="20%" label="鎵嬫満鍙�" prop="phone" required> - <u--input v-model="editUserInfo.phone" border="none" inputAlign="left"></u--input> + <u-form-item labelWidth="20%" + label="鎵嬫満鍙�" + prop="phone" + required> + <u--input v-model="editUserInfo.phone" + border="none" + inputAlign="left"></u--input> </u-form-item> - <u-form-item labelWidth="20%" label="杞︾墝鍙�" prop="carNo" required> - <u--input v-model="editUserInfo.carNo" border="none" inputAlign="left"></u--input> + <u-form-item labelWidth="20%" + label="淇敼瀵嗙爜" + prop="password"> + <u--input v-model="editUserInfo.password" + border="none" + inputAlign="left"></u--input> </u-form-item> - <u-form-item labelWidth="20%" label="浣撻噸" prop="weight" required> - <u--input v-model="editUserInfo.weight" border="none" inputAlign="left" placeholder="浣撻噸浠g浣滀负鍗曚綅"></u--input> + <u-form-item labelWidth="20%" + label="杞︾墝鍙�" + prop="carNo" + required> + <u--input v-model="editUserInfo.carNo" + border="none" + inputAlign="left"></u--input> </u-form-item> - <u-form-item labelWidth="20%" label="杞﹁酱鏁�" prop="axleNum" required> - <u--input v-model="editUserInfo.axleNum" border="none" inputAlign="left"></u--input> + <u-form-item labelWidth="20%" + label="杞︾墝棰滆壊" + required + prop="vehicleColour"> + <u-radio-group v-model="editUserInfo.vehicleColour" + placement="row" + size="30" + shape="circle" + iconSize="20"> + <u-radio labelSize="14px" + size="20px" + :customStyle="{ marginBottom: '8px' }" + v-for="(item, index) in radiolist2" + :key="index" + :label="item.name" + :name="item.value"></u-radio> + </u-radio-group> </u-form-item> - <u-form-item labelWidth="25%" label="杞﹁締鐓х墖" @click="beforeRead" prop="carImg" required> - <u-upload - :fileList="fileList1" + <u-form-item labelWidth="20%" + label="浣撻噸" + prop="weight" + required> + <u--input v-model="editUserInfo.weight" + border="none" + inputAlign="left" + placeholder="浣撻噸浠g浣滀负鍗曚綅"></u--input> + </u-form-item> + <u-form-item labelWidth="20%" + label="杞﹁酱鏁�" + prop="axleNum" + required> + <u--input v-model="editUserInfo.axleNum" + border="none" + inputAlign="left"></u--input> + </u-form-item> + <u-form-item labelWidth="25%" + label="杞﹁締鐓х墖" + @click="beforeRead" + prop="carImg" + required> + <u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" @@ -174,12 +304,32 @@ :maxCount="1" width="250" height="150" - :previewFullImage="true" - ></u-upload> + :previewFullImage="true"></u-upload> </u-form-item> - <u-form-item labelWidth="25%" label="琛岄┒璇佺収鐗�" ref="item1" @click="beforeRead" prop="drivingImg" required> - <u-upload - :fileList="fileList2" + <u-form-item prop="bodyofcarJpg" + label="杞﹀ご杞﹀熬杞﹁韩鐓х墖" + labelWidth="20%" + 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> + <u-form-item labelWidth="25%" + label="琛岄┒璇佺収鐗�" + ref="item1" + @click="beforeRead" + prop="drivingImg" + required> + <u-upload :fileList="fileList2" @afterRead="afterRead" @delete="deletePic" name="2" @@ -187,108 +337,151 @@ :maxCount="1" width="250" height="150" - :previewFullImage="true" - ></u-upload> + :previewFullImage="true"></u-upload> </u-form-item> </u--form> - <u-button text="鎻愪氦" @click="updateUser" type="primary"></u-button> + <u-button text="鎻愪氦" + @click="updateUser" + type="primary"></u-button> </view> </u-popup> </view> <view class="logoutModel"> - <u-modal :show="logoutShow" :title="logoutTitle" showCancelButton :content="logoutContent" @confirm="logoutConfirm" @cancel="logoutCancel"></u-modal> + <u-modal :show="logoutShow" + :title="logoutTitle" + showCancelButton + :content="logoutContent" + @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> </view> </template> <script> -import { customerId, userInfo, redirectLogin } from '@/utils/status'; -import { BaseUrl } from '@/api/publicInterface.js'; -import { mapMutations } from 'vuex'; -export default { - data() { - return { - // 鑾峰彇鐨勫徃鏈鸿鎯� - userInfo: {}, - // 淇敼鍙告満璇︽儏 - editUserInfo: { - phone: '', - name: '', - username: '', - type: 3, - idCard: '', - carNo: '', - carImg: '', - drivingImg: '', - axleNum: '', - weight: '', - userId: '' - }, - rules: { - name: { - type: 'string', - required: true, - message: '璇峰~鍐欏鍚�', - trigger: ['blur', 'change'] + import { customerId, userInfo, redirectLogin } from '@/utils/status'; + import { BaseUrl } from '@/api/publicInterface.js'; + import { mapMutations, mapState } from 'vuex'; + import { onlineurl } from '@/api/request.js' + import combinedTitle from '@/components/combined-title/combined-title.vue'; + import previewImage from '@/components/kxj-previewImage/kxj-previewImage.vue'; + export default { + components: { + combinedTitle, + previewImage + }, + computed: { + ...mapState(['driverTourImgList']), + }, + data() { + return { + // 鑾峰彇鐨勫徃鏈鸿鎯� + userInfo: {}, + // 淇敼鍙告満璇︽儏 + editUserInfo: { + phone: '', + name: '', + username: '', + type: 3, + idCard: '', + carNo: '', + carImg: '', + drivingImg: '', + axleNum: '', + weight: '', + userId: '', + vehicleColour: '', + bodyofcarJpg: '', + password: '' }, - idCard: [ - { + rules: { + name: { type: 'string', required: true, - message: '璇疯緭鍏ヨ韩浠借瘉鍙�', + message: '璇峰~鍐欏鍚�', trigger: ['blur', 'change'] }, - { - pattern: /^([1-6][1-9]|50)\d{4}(18|19|20)\d{2}((0[1-9])|10|11|12)(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/, - message: '韬唤璇佸彿鏍煎紡涓嶆纭�' - } - ], - phone: [ - { - required: true, - message: '姝ら」涓哄繀濉」', - // blur鍜宑hange浜嬩欢瑙﹀彂妫�楠� - trigger: ['blur', 'change'] - }, - { - min: 11, - max: 11, - message: '璇疯緭鍏ュ悎娉曟墜鏈哄彿' - }, - { - validator: (rule, value, callback) => { - return uni.$u.test.mobile(value); + idCard: [{ + type: 'string', + required: true, + message: '璇疯緭鍏ヨ韩浠借瘉鍙�', + trigger: ['blur', 'change'] }, - message: '鎵嬫満鍙风爜鏍煎紡涓嶆纭�', - trigger: ['change', 'blur'] - } - ], - weight: { - type: 'number', - required: true, - message: '璇峰~鍐欎綋閲�', - trigger: ['blur', 'change'] - }, - carNo: [ - { - type: 'string', + { + 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: '韬唤璇佸彿鏍煎紡涓嶆纭�' + } + ], + 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'] + } + ], + weight: { + type: 'number', required: true, - message: '璇疯緭鍏ヨ溅鐗屽彿', - trigger: ['blur', 'change'] - }, - { + trigger: ['blur', 'change'], transform(value) { - return String(value); + return Number(value); }, validator: (rule, value, callback) => { - return uni.$u.test.carNo(value); + if (!value) { + callback(new Error('璇峰~鍐欎綋閲�')) + } else if (value > 200) { + callback(new Error('璇峰~鍐欏悎鐞嗕綋閲�')) + } else { + callback() + } + } + }, + password: { + required: false, + }, + carNo: [{ + type: 'string', + required: true, + message: '璇疯緭鍏ヨ溅鐗屽彿', + trigger: ['blur', 'change'] }, - message: '璇疯緭鍏ユ纭殑杞︾墝鍙�', - trigger: ['change', 'blur'] - } - ], - axleNum: [ - { + { + transform(value) { + return String(value); + }, + validator: (rule, value, callback) => { + return uni.$u.test.carNo(value); + }, + message: '璇疯緭鍏ユ纭殑杞︾墝鍙�', + trigger: ['change', 'blur'] + } + ], + vehicleColour: { + type: 'string', + required: true, + message: '璇烽�夋嫨杞︾墝棰滆壊', + trigger: ['blur', 'change'] + }, + axleNum: [{ transform(value) { return Number(value); }, @@ -297,412 +490,528 @@ }, message: '璇疯緭鍏ユ纭殑杞﹁酱鏁�', trigger: ['change', 'blur'] + }], + carImg: { + type: 'string', + required: true, + message: '璇蜂笂浼犺溅杈嗗浘鐗�', + trigger: ['blur', 'change'] + }, + bodyofcarJpg: { + type: 'string', + required: true, + message: '璇蜂笂浼犺溅杈嗗浘鐗�', + trigger: ['blur', 'change'] + }, + drivingImg: { + type: 'string', + required: true, + message: '璇蜂笂浼犺椹惰瘉鐓х墖', + trigger: ['blur', 'change'] + } + }, + src: '', + fileList1: [], + fileList2: [], + // 杞﹀ご杞﹁韩杞﹀熬鐓х墖 + fileList3: [], + carBody: [], + // 淇敼淇℃伅寮瑰嚭妗� + editDriverPopupShow: false, + // previewImage + previewImageShow: false, + previewImageSrc: '', + // 閫�鍑烘ā鎬佹 + logoutShow: false, + logoutTitle: '鎻愮ず', + logoutContent: '鏄惁纭閫�鍑�', + BaseUrl, + onlineurl, + radiolist2: [{ + name: '榛勮壊', + value: '榛勮壊' + }, + { + name: '榛勭豢鑹�', + value: '榛勭豢鑹�' + }, + { + name: '钃濊壊', + value: '钃濊壊' } ], - carImg: { - type: 'string', - required: true, - message: '璇蜂笂浼犺溅杈嗗浘鐗�', - trigger: ['blur', 'change'] - }, - drivingImg: { - type: 'string', - required: true, - message: '璇蜂笂浼犺椹惰瘉鐓х墖', - trigger: ['blur', 'change'] - } - }, - src: '', - fileList1: [], - fileList2: [], - // 淇敼淇℃伅寮瑰嚭妗� - editDriverPopupShow: false, - // previewImage - previewImageShow: false, - previewImageSrc: '', - // 閫�鍑烘ā鎬佹 - logoutShow: false, - logoutTitle: '鎻愮ず', - logoutContent: '鏄惁纭閫�鍑�', - BaseUrl - }; - }, - onShow() { - // this.init(); - }, - onReady() { - this.$refs.editRef.setRules(this.rules); - }, - methods: { - ...mapMutations(['changeisUploadimg']), - init() { - this.getUserEntity(); - }, - getUserEntity() { - uni.showLoading({ - title: '鍔犺浇涓�...' - }); - this.$reqGet('getUserEntity').then(res => { - uni.hideLoading(); - this.userInfo = res.data; - uni.setStorageSync('carImg', this.userInfo.carImg); - uni.setStorageSync('drivingImg', this.userInfo.drivingImg); - if (this.fileList1.length == 0) { - this.fileList1.push({ - url: `${BaseUrl}${this.userInfo.carImg}` - }); - } - if (this.fileList2.length == 0) { - this.fileList2.push({ - url: `${BaseUrl}${this.userInfo.drivingImg}` - }); - } - Object.keys(this.editUserInfo).map(item => { - if (res.data[item]) { - this.editUserInfo[item] = res.data[item]; - } - }); - }); - }, - // 淇敼鎸夐挳鐐瑰嚮 - editBtnClick() { - this.editDriverPopupShow = true; - }, - imageClick(index) { - // 閫氳繃index鍒囨崲鍥剧墖 - console.log('鍒囨崲鍥剧墖', index); - if (index == 1) { - this.previewImageSrc = this.userInfo.carImg; - } else { - this.previewImageSrc = this.userInfo.drivingImg; - } - this.$nextTick(() => { - this.previewImageShow = true; - }); - }, - 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 => { - if (num == 1) { - this.editUserInfo.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.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}`); - } - } - }); - }); - }, - /** - * @preview 棰勮鍥剧墖 - */ - previewImageClose() { - this.previewImageShow = false; - }, - previewImageOpen() { - console.log('preview open'); - }, - /** - * @editPopup 淇敼寮瑰嚭妗嗕簨浠� - */ - editDriverPopupClose() { - this.editDriverPopupShow = false; - }, - editDriverPopupOpen() { - console.log('鎵撳紑浜�'); - }, - // 淇敼鐢ㄦ埛淇℃伅 - updateUser() { - this.editUserInfo = { - ...this.editUserInfo, - carImg: uni.getStorageSync('carImg'), - drivingImg: uni.getStorageSync('drivingImg') + initPwdShow: false }; - 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('淇敼鎴愬姛'); - this.init(); + }, + onShow() { + // this.init(); + }, + onReady() { + this.$refs.editRef.setRules(this.rules); + }, + methods: { + ...mapMutations(['changeisUploadimg', 'changeisLogin']), + init() { + this.getUserEntity(); + }, + getUserEntity() { + uni.showLoading({ + title: '鍔犺浇涓�...' + }); + this.$reqGet('getUserEntity').then(res => { + uni.hideLoading(); + this.editUserInfo = this.userInfo = res.data; + this.userInfo.bodyCarImg = this.userInfo.bodyofcarJpg ? this.userInfo.bodyofcarJpg.split(',') : + []; + console.log(this.userInfo.bodyCarImg); + this.editUserInfo.password = "" + uni.setStorageSync('carImg', this.userInfo.carImg); + uni.setStorageSync('drivingImg', this.userInfo.drivingImg); + uni.setStorageSync('bodyofcarJpg', this.userInfo.bodyofcarJpg) + if (this.fileList1.length == 0) { + + this.fileList1.push({ + url: `${BaseUrl}${this.userInfo.carImg}` + }) + } + if (this.fileList2.length == 0) { + if (!this.userInfo.drivingImg) return + this.fileList2.push({ + url: `${BaseUrl}${this.userInfo.drivingImg}` + }); + } + if (this.fileList3.length == 0) { + if (!this.userInfo.bodyofcarJpg) return + if (this.userInfo.bodyofcarJpg.indexOf(',') !== -1) { + let bodyofcarJpg = this.userInfo.bodyofcarJpg.split(',') + bodyofcarJpg.forEach(v => { + this.fileList3.push({ + url: `${BaseUrl}${v}` + }); + }) } else { - uni.showToast({ - title: res.msg, - icon: 'none', - duration: 2000 + this.fileList3.push({ + url: `${BaseUrl}${this.userInfo.bodyofcarJpg}` }); } + } + }); + }, + // 淇敼鎸夐挳鐐瑰嚮 + editBtnClick() { + this.editDriverPopupShow = true; + }, + imageClick(index) { + if (index == 1) { + this.previewImageSrc = this.userInfo.carImg; + } else { + this.previewImageSrc = this.userInfo.drivingImg; + } + this.$nextTick(() => { + this.previewImageShow = true; + }); + }, + imageClickCarBody(url) { + this.previewImageSrc = url; + this.$nextTick(() => { + this.previewImageShow = true; + }); + }, + 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: '涓婁紶涓�' }); - }) - .catch(err => { + }); + 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.editUserInfo.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.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) { + let imageUrl = JSON.parse(res.data).data.url + this.carBody.push(imageUrl) + uni.setStorageSync('bodyofcarJpg', this.carBody.join(',')); + this.editUserInfo.bodyofcarJpg = this.carBody.join(',') + resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`); + } + } + }); + }); + }, + /** + * @preview 棰勮鍥剧墖 + */ + previewImageClose() { + this.previewImageShow = false; + }, + previewImageOpen() { + console.log('preview open'); + }, + /** + * @editPopup 淇敼寮瑰嚭妗嗕簨浠� + */ + editDriverPopupClose() { + this.editDriverPopupShow = false; + }, + editDriverPopupOpen() { + console.log('鎵撳紑浜�'); + }, + // 淇敼鐢ㄦ埛淇℃伅 + updateUser() { + this.editUserInfo = { + ...this.editUserInfo, + carImg: uni.getStorageSync('carImg'), + drivingImg: uni.getStorageSync('drivingImg'), + bodyofcarJpg: uni.getStorageSync('bodyofcarJpg') + }; + 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('淇敼鎴愬姛'); + this.init(); + } else { + uni.showToast({ + title: res.msg, + icon: 'none', + duration: 2000 + }); + } + }); + }) + .catch(err => { + this.$u.toast('淇敼澶辫触'); + }); + }, + initPwd() { + uni.navigateTo({ + url: `/pages/login/resetPassword/resetPassword` + }) + }, + 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('淇敼澶辫触'); }); - }, - logout() { - this.logoutShow = true; - }, - logoutConfirm() { - redirectLogin(); - }, - logoutCancel() { - this.logoutShow = false; - }, - // 璺宠浆鍙戣繍缁熻椤甸潰 - statistics() { - uni.navigateTo({ - url: '/pages/customer-page/customer-my/faYunstatistics/faYunstatistics' - }); + }, + initPwdCancel() { + this.initPwdShow = false + }, + logout() { + this.logoutShow = true; + }, + logoutConfirm() { + redirectLogin(); + this.changeisLogin(false) + this.$store.dispatch('websocketOnClose') + }, + logoutCancel() { + this.logoutShow = false; + }, + noobTour() { + this.$refs.previewImage.open('https://mx.jzeg.cn:9095/appimg/image/tour/driver/sj1.jpg') + } } - } -}; + }; </script> -<style lang="scss" scoped> -@mixin flex { - display: flex; - justify-content: space-between; - align-items: center; -} -.statistics { - margin-top: vww(10); - margin-bottom: vww(10); -} -::v-deep.driver-my { - width: 100%; - margin: 0 auto; - padding-bottom: vww(60); - .driver-banner { +<style lang="scss" + scoped> + @mixin flex { + display: flex; + justify-content: space-between; + align-items: center; + } + + ::v-deep.driver-my { width: 100%; - height: 430rpx; - background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); - background-size: contain; - position: fixed; - top: 0; - .navgation { - width: 80rpx; - height: 37rpx; - font-size: 40rpx; - font-weight: normal; - color: #ffffff; - line-height: 69rpx; - margin: vww(60) auto; - } - .avatar { + margin: 0 auto; + padding-bottom: vww(100); + + .driver-banner { width: 100%; height: 430rpx; - display: flex; - align-items: center; + background: linear-gradient(0deg, #ffffff 0%, #0055fe 100%); + background-size: contain; position: fixed; top: 0; - .avatar-imgage { - width: 98rpx; - height: 98rpx; - margin-left: vww(18); - @include flex; - justify-content: center; - } - .avatar-name { - width: 200rpx; - display: flex; - flex-wrap: wrap; - height: 32rpx; - font-size: 34rpx; - font-weight: bold; + + .navgation { + width: 80rpx; + height: 37rpx; + font-size: 40rpx; + font-weight: normal; color: #ffffff; - margin-left: vww(17); + line-height: 69rpx; + margin: vww(60) auto; } - .edit-button { - position: relative; - left: vww(73); - top: vww(4); - } - } - .personal-information { - width: 100%; - display: flex; - justify-content: center; - position: relative; - top: vww(20); - &-block { - width: 690rpx; - height: 478rpx; - 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; + + .avatar { + width: 100%; + height: 430rpx; display: flex; - flex-direction: column; - justify-content: space-between; - .block-main { - width: 636rpx; - margin: vww(10) vww(14); + align-items: center; + position: fixed; + top: 0; + + .avatar-imgage { + width: 98rpx; + height: 98rpx; + margin-left: vww(18); + @include flex; + justify-content: center; } - .information-line { - @include flex width: 636rpx; - height: vww(45); - border-bottom: 1rpx solid #f0f1f6; - .line-label { - width: 188rpx; - height: 90rpx; - @include flex image { - width: 50rpx; - height: 50rpx; + .avatar-name { + width: 200rpx; + display: flex; + flex-wrap: wrap; + height: 32rpx; + font-size: 34rpx; + font-weight: bold; + color: #ffffff; + margin-left: vww(17); + } + + .edit-button { + position: relative; + left: vww(73); + top: vww(4); + } + } + } + + .information-block { + width: 100%; + + .personal-information { + width: 100%; + display: flex; + justify-content: center; + position: relative; + top: vww(-20); + + &-block { + width: 690rpx; + height: 550rpx; + 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; + display: flex; + flex-direction: column; + justify-content: space-between; + + .block-main { + width: 636rpx; + margin: vww(10) vww(14); + } + + .information-line { + @include flex width: 636rpx; + height: vww(45); + border-bottom: 1rpx solid #f0f1f6; + + .line-label { + width: 188rpx; + height: 90rpx; + + @include flex image { + width: 50rpx; + height: 50rpx; + } + + .label-text { + width: 120rpx; + font-size: 30rpx; + font-weight: 400; + color: #000000; + line-height: 85rpx; + } } - .label-text { - width: 120rpx; + + .information-value { + min-width: vww(125); + @include flex; font-size: 30rpx; font-weight: 400; color: #000000; line-height: 85rpx; } } - .information-value { - min-width: vww(125); - @include flex; - font-size: 30rpx; - font-weight: 400; - color: #000000; - line-height: 85rpx; + + .last { + border-bottom: 0; } - } - .last { - border-bottom: 0; } } } - } - .car-information { - width: 100%; - position: relative; - top: vww(410); - @include flex justify-content: center; - .information-main { - width: 690rpx; - height: 552rpx; - 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; - .car-img { - height: 246rpx; - width: 100%; + + .car-information { + width: 100%; + position: relative; + @include flex justify-content: center; + + .information-main { + width: 690rpx; + height: 828rpx; + 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; - align-items: flex-start; - .label-title { - @include flex width: 200rpx; - height: 100rpx; - .label-text { - width: 200rpx; - height: 50rpx; + + .car-img { + height: 246rpx; + width: 100%; + @include flex; + flex-direction: column; + align-items: flex-start; + + .label-title { + @include flex; + width: 300rpx; + height: 100rpx; + + .label-text { + width: 100%; + height: 50rpx; + } + + image { + width: 50rpx; + height: 50rpx; + } } - image { - width: 50rpx; - height: 50rpx; + + .special { + width: 100%; + flex-wrap: wrap; + height: 100%; + @include flex; } } } } } - } - .loginout { - width: 100%; - height: 74rpx; - @include flex; - justify-content: center; - position: relative; - bottom: vww(-430); - .loginout-main { - width: 84%; - } - } - // 琛ㄥ崟 - .personal-information-form { - margin-top: vww(200); - .push-information-button { - display: flex; - margin: vww(20) auto 0; - width: 80%; - .u-button { - &:nth-of-type(2) { - margin-left: vww(10); + .loginout { + width: 100%; + height: 74rpx; + @include flex; + justify-content: center; + position: relative; + top: vww(20); + + .loginout-main { + width: 84%; + } + } + + // 琛ㄥ崟 + .personal-information-form { + margin-top: vww(200); + + .push-information-button { + display: flex; + margin: vww(20) auto 0; + width: 80%; + + .u-button { + &:nth-of-type(2) { + margin-left: vww(10); + } } } } - } - // 棰勮鍥剧墖 - .previewImage-container { - } + // 棰勮鍥剧墖 + .previewImage-container {} - // 淇敼寮瑰嚭妗� - .editDriverPopup-container { - .u-popup { - .u-transition { - height: 75%; - .u-popup__content { - overflow: scroll !important; - .editDriverPopup-container-box { - width: 90%; - margin: 0 auto; - } + // 淇敼寮瑰嚭妗� + .editDriverPopup-container { + .u-popup { + .u-transition { + height: 80%; - //closeIcon - .u-popup__content__close--top-right { - top: vww(20) !important; - .u-icon { - .u-icon__icon { - font-size: vww(20) !important; + .u-popup__content { + overflow: scroll !important; + + .editDriverPopup-container-box { + width: 90%; + margin: 0 auto; + } + + //closeIcon + .u-popup__content__close--top-right { + top: vww(20) !important; + + .u-icon { + .u-icon__icon { + font-size: vww(20) !important; + } } } } @@ -710,5 +1019,4 @@ } } } -} </style> -- Gitblit v1.9.1