<template>
|
<view class="driver-my">
|
<view class=""
|
style="height: 540rpx;width: 100%;">
|
<view class="driver-banner">
|
<view class="navgation">我的</view>
|
<view class="avatar">
|
<view class="avatar-imgage"
|
style="background: url('https://wrzs.czjlchem.com:9090/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>
|
</view>
|
</view>
|
<view class="process-state"
|
v-if="userInfo.isRegister!==2">
|
<view class="state-text">
|
审核状态
|
</view>
|
<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="information-block">
|
<view class="personal-information">
|
<view class="personal-information-block">
|
<view class="block-main">
|
<view class="information-line"
|
@click="">
|
<view class="line-label">
|
<image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/personalicon.png"
|
mode="widthFix"></image>
|
<view class="label-text">身份证号</view>
|
</view>
|
<view class="information-value">
|
{{ idCard || '' }}
|
</view>
|
</view>
|
<view class="information-line">
|
<view class="line-label">
|
<image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/phonenum.png"
|
mode="widthFix"></image>
|
<view class="label-text">手机号</view>
|
</view>
|
<view class="information-value">
|
{{ userInfo.phone || '' }}
|
</view>
|
</view>
|
<view class="information-line">
|
<view class="line-label">
|
<image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/carnum.png"
|
mode="widthFix"></image>
|
<view class="label-text">车牌号</view>
|
</view>
|
<view class="information-value">
|
{{ userInfo.carNo || '' }}
|
</view>
|
</view>
|
<view class="information-line">
|
<view class="line-label">
|
<image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/axisnum.png"
|
mode="widthFix"></image>
|
<view class="label-text">车轴数</view>
|
</view>
|
<view class="information-value">
|
{{ userInfo.axleNum || '' }}
|
</view>
|
</view>
|
<view class="information-line">
|
<view class="line-label">
|
<image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/weighnum.png"
|
mode="widthFix"></image>
|
<view class="label-text">体重</view>
|
</view>
|
<view class="information-value">
|
{{ userInfo.weight || '' }}
|
</view>
|
</view>
|
<!-- 由于是自定义icon 非设计图icon 所以要加上这个style="margin-left: 1.5%;"
|
icon 下载格式为18x18-->
|
<!-- <view class="information-line"
|
@click="modifyPrint">
|
|
<view class="line-label"
|
style="margin-left: 1.5%;">
|
<image src="https://wrzs.czjlchem.com:9090/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://wrzs.czjlchem.com:9090/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"
|
@click="scoreDetail">
|
<view class="line-label"
|
style="margin-left: 1.5%;">
|
<image src="https://wrzs.czjlchem.com:9090/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 class="information-line last"
|
@click="scoreCert">
|
<view class="line-label"
|
style="margin-left: 1.5%;">
|
<image src="https://wrzs.czjlchem.com:9090/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>
|
</view>
|
</view>
|
<view class="car-information">
|
<view class="information-main">
|
<view class="information-body">
|
<view class="car-img">
|
<view class="label-title">
|
<image src="https://wrzs.czjlchem.com:9090/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>
|
</view>
|
</view>
|
<view class="car-img">
|
<view class="label-title">
|
<image src="https://wrzs.czjlchem.com:9090/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>
|
</view>
|
</view>
|
<view class="car-img">
|
<view class="label-title">
|
<image src="https://wrzs.czjlchem.com:9090/appimg/image/banner/cardimg.png"
|
mode="widthFix"></image>
|
<view class="label-text">驾驶证</view>
|
</view>
|
<view class="img-container">
|
<u--image :showLoading="true"
|
:src="userInfo.driverImg != 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="logout"
|
shape="circle"
|
plain></u-button></view>
|
<view class="loginout-main"><u-button text="联系我们"
|
type="primary"
|
@click="contactUs"
|
shape="circle"
|
plain></u-button></view>
|
</view>
|
<!-- 引导页 -->
|
<noob-tour isPersonCenter></noob-tour>
|
<!-- 图片预览弹出框 -->
|
<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>
|
</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>
|
<view class="editDriverPopup-container-box">
|
<u--form labelPosition="left"
|
:model="editUserInfo"
|
ref="editUserInfo">
|
<u-form-item labelWidth="35%"
|
label="姓名"
|
prop="name"
|
required>
|
<u--input v-model="editUserInfo.name"
|
border="none"
|
inputAlign="left"></u--input>
|
</u-form-item>
|
<!-- <u-form-item labelWidth="35%"
|
label="密码"
|
prop="password"
|
required>
|
<u--input v-model="editUserInfo.password"
|
border="none"
|
inputAlign="left"></u--input>
|
</u-form-item> -->
|
<!-- <u-form-item labelWidth="35%"
|
label="身份证号"
|
prop="idCard"
|
required>
|
<u--input v-model="editUserInfo.idCard"
|
border="none"
|
inputAlign="left"></u--input>
|
</u-form-item> -->
|
<u-form-item labelWidth="35%"
|
label="手机号"
|
prop="phone"
|
required>
|
<u--input v-model="editUserInfo.phone"
|
border="none"
|
disabled
|
inputAlign="left"></u--input>
|
</u-form-item>
|
<!-- <u-form-item labelWidth="35%"
|
label="车牌号"
|
prop="carNo"
|
required>
|
<u--input v-model="editUserInfo.carNo"
|
border="none"
|
inputAlign="left"></u--input>
|
</u-form-item> -->
|
<u-form-item labelWidth="35%"
|
label="体重"
|
prop="weight"
|
>
|
<u--input v-model="editUserInfo.weight"
|
border="none"
|
inputAlign="left"
|
placeholder="体重以kg作为单位"></u--input>
|
</u-form-item>
|
<u-form-item labelWidth="35%"
|
label="车轴数"
|
prop="axleNum"
|
>
|
<u--input v-model="editUserInfo.axleNum"
|
border="none"
|
inputAlign="left"></u--input>
|
</u-form-item>
|
<u-form-item labelWidth="35%"
|
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="35%"
|
label="车辆类型"
|
borderBottom
|
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-item prop="idCard"
|
label="身份证"
|
labelWidth="35%"
|
borderBottom
|
required
|
>
|
<u--input v-model="editUserInfo.idCard"
|
placeholder="请输入内容"
|
disabled
|
clearable></u--input>
|
</u-form-item>
|
<view style="margin:5vh 30vw" >
|
<u-button text="增加"
|
type="primary"
|
@click="addData"
|
></u-button>
|
</view>
|
<uni-table
|
border
|
id="table-box"
|
emptyText="暂无更多数据"
|
>
|
<uni-tr>
|
<uni-th align="center" >身份证号</uni-th>
|
<uni-th align="center">操作</uni-th>
|
</uni-tr>
|
<uni-tr v-for="(subItem, index) in tablist" :key="index">
|
<uni-td align="center">
|
<u--input
|
placeholder="请输入身份证号"
|
v-model="subItem.idCard"
|
></u--input>
|
</uni-td>
|
<uni-td align="right">
|
<view>
|
<u-button text="删除"
|
type="primary"
|
@click="delData(index)"></u-button>
|
</view></uni-td>
|
</uni-tr>
|
</uni-table>
|
<u-form-item>
|
<view class="person-utils">
|
<u-button text="修改密码"
|
@click="modifyPassword"
|
type="primary"></u-button>
|
<u-button text="提交"
|
@click="updateUser"
|
type="primary"></u-button>
|
</view>
|
</u-form-item>
|
</u--form>
|
|
</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"
|
>
|
<u-form-item prop="carImg"
|
label="车辆照片"
|
labelWidth="35%"
|
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="drivingImg"
|
label="行驶证"
|
labelWidth="35%"
|
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="35%"
|
borderBottom>
|
<uni-datetime-picker v-model="registerFormModel.expirationTimeDriving" type="datetime" :start="minDate" />
|
</u-form-item>
|
<u-form-item prop="driverImg"
|
label="驾驶证"
|
labelWidth="35%"
|
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="35%"
|
borderBottom>
|
<uni-datetime-picker v-model="registerFormModel.expirationTimeDriver" type="datetime" :start="minDate" />
|
</u-form-item>
|
<u-form-item prop="roadTransportImg"
|
label="道路运输证"
|
labelWidth="35%"
|
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="expirationTimeRoadtransport"
|
label="证件过期时间"
|
labelWidth="35%"
|
borderBottom
|
>
|
<uni-datetime-picker v-model="registerFormModel.expirationTimeRoadtransport" type="datetime" :start="minDate" />
|
</u-form-item>
|
<u-form-item prop="tradeQualificationImg"
|
label="从业资格证"
|
labelWidth="35%"
|
borderBottom
|
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="35%"
|
borderBottom
|
>
|
<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>
|
</u-popup>
|
</view>
|
<view class="logoutModel">
|
<u-modal :show="logoutShow"
|
:title="logoutTitle"
|
showCancelButton
|
:content="logoutContent"
|
@confirm="logoutConfirm"
|
@cancel="logoutCancel"></u-modal>
|
</view>
|
<!-- <printerStyle ref="printerStyleRef"
|
v-if="printerVisible"
|
@selectedPrintStyle='selectedPrintStyleHandle' /> -->
|
</view>
|
</template>
|
|
<script>
|
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 '@/subPages/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,qianTree },
|
data() {
|
return {
|
tablist:[],
|
minDate: this.getToday(),
|
customerName:"",
|
printerVisible:false,
|
// 获取的司机详情
|
userInfo: {},
|
productName:"",
|
// 修改司机详情
|
editUserInfo: {
|
phone: '',
|
name: '',
|
username: '',
|
type: 3,
|
idCard: '',
|
carNo: '',
|
carImg: '',
|
drivingImg: '',
|
axleNum: '',
|
weight: '',
|
userId: '',
|
password: "",
|
isRegister: 0,
|
tradeQualificationImg: '',
|
roadTransportImg: '',
|
inventoryImg: '',
|
countryNumberCar: 0
|
},
|
registerFormModel:{},
|
radiolist2: [{
|
text: '普通运输车',
|
value:1
|
},
|
{
|
text: '集装箱平板车',
|
value:2
|
},
|
{
|
text: '槽车',
|
value:3
|
}
|
],
|
countryNumberCarList: [{
|
name: 1,
|
label: '国五',
|
},
|
{
|
name: 2,
|
label: '国六',
|
},
|
{
|
name: 3,
|
label: '新能源',
|
}
|
],
|
rules: {
|
name: [{
|
type: 'string',
|
required: true,
|
message: '请填写姓名',
|
trigger: ['blur', 'change']
|
},
|
{
|
pattern: /^[\u4e00-\u9fa5\s]+$/,
|
message: '姓名只能是中文',
|
trigger: ['blur', 'change']
|
}],
|
idCard: [{
|
type: 'string',
|
required: true,
|
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和change事件触发检验
|
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,
|
trigger: ['blur', 'change'],
|
transform(value) {
|
return Number(value);
|
},
|
validator: (rule, value, callback) => {
|
if (!value) {
|
callback(new Error('请填写体重'))
|
} else if (value > 200) {
|
callback(new Error('请填写合理体重'))
|
} else {
|
callback()
|
}
|
}
|
},
|
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']
|
}
|
],
|
axleNum: [{
|
transform(value) {
|
return Number(value);
|
},
|
validator: (rule, value, callback) => {
|
return value <= 10 && value > 0;
|
},
|
message: '请输入正确的车轴数',
|
trigger: ['change', 'blur'],
|
required: true,
|
}],
|
carImg: {
|
type: 'string',
|
required: true,
|
message: '请上传车辆图片',
|
trigger: ['blur', 'change']
|
},
|
drivingImg: {
|
type: 'string',
|
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: [],
|
fileList6: [],
|
fileList7: [],
|
fileList8: [],
|
// 修改信息弹出框
|
editDriverPopupShow: false,
|
editDocShow:false,
|
// previewImage
|
previewImageShow: false,
|
previewImageSrc: '',
|
// 退出模态框
|
logoutShow: false,
|
logoutTitle: '提示',
|
logoutContent: '是否确认退出',
|
BaseUrl,
|
selectedPrintStyle: null,
|
phoneList:[]
|
};
|
},
|
computed: {
|
currentSelectedPrintStyle() {
|
return this.selectedPrintStyle ? this.selectedPrintStyle : uni.getStorageSync('selectedPrintStyle')
|
},
|
idCard() {
|
return this.userInfo.idCard.slice(0, 6) + '********' + this.userInfo.idCard.slice(-4)
|
}
|
},
|
watch: {
|
editDriverPopupShow(newVal) {
|
console.log(newVal,'newval')
|
let reg=RegExp(/,/)
|
if(this.editUserInfo.otherIdCard){
|
this.tablist= this.editUserInfo.otherIdCard.split(",").map(item=>{
|
return {idCard:item}
|
})
|
}
|
if(newVal)
|
this.$nextTick(() => {
|
// if(this.$refs.editUserInfo) this.$refs['editUserInfo'].setRules(this.rules);
|
});
|
}
|
},
|
onShow() {
|
// this.init();
|
},
|
onReady() {
|
// this.$refs.editUserInfo.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();
|
uni.request({
|
url: `${BaseUrl}/admin/dict/page`,
|
method: 'GET',
|
data: {
|
dictType:'Setings'
|
},
|
header: {
|
Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'),
|
clientToc: 'Y',
|
'CLIENT_TOC': 'Y',
|
},
|
success: res => {
|
let dictId=res.data.data?.records[0].id
|
uni.request({
|
url: `${BaseUrl}/admin/dict/item/page`,
|
method: 'GET',
|
data: {
|
dictId:dictId
|
},
|
header: {
|
Authorization: 'Bearer' + ' ' + uni.getStorageSync('token'),
|
clientToc: 'Y',
|
'CLIENT_TOC': 'Y',
|
},
|
success: res => {
|
res.data.data.records.forEach(item=>{
|
if(item.description.includes('联系')){
|
this.phoneList=item.value.split(',');
|
}
|
})
|
},
|
fail: err => {
|
}
|
})
|
},
|
fail: err => {
|
}
|
})
|
},
|
contactUs(){
|
uni.showActionSheet({
|
itemList: this.phoneList,
|
success: (res) => {
|
uni.makePhoneCall({
|
phoneNumber:this.phoneList[res.tapIndex].split(":")[1]
|
})
|
},
|
fail: (err) => {
|
console.log('弹窗取消');
|
}
|
});
|
},
|
getUserEntity() {
|
uni.showLoading({
|
title: '加载中...'
|
});
|
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)
|
uni.setStorageSync('carImg', this.userInfo.carImg);
|
uni.setStorageSync('drivingImg', this.userInfo.drivingImg);
|
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 && this.userInfo.drivingImg) {
|
this.fileList2.push({
|
url: `${BaseUrl}${this.userInfo.drivingImg}`
|
});
|
}
|
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}`
|
});
|
}
|
Object.assign(this.editUserInfo, res.data)
|
this.registerFormModel={
|
customerid:res.data.userId,
|
carImg:res.data.carImg,
|
drivingImg:res.data.drivingImg,
|
expirationTimeDriving:res.data.expirationTimeDriving,
|
driverImg:res.data.driverImg,
|
expirationTimeDriver:res.data.expirationTimeDriver,
|
tradeQualificationImg:res.data.tradeQualificationImg,
|
roadTransportImg:res.data.roadTransportImg,
|
expirationTimeRoadtransport:res.data.expirationTimeRoadtransport,
|
expirationTimeTradequalification:res.data.expirationTimeTradequalification,
|
type:res.data.carType
|
}
|
if(this.registerFormModel.carImg){
|
if (this.fileList6.length == 0 && this.registerFormModel.carImg.split(",")[0]) {
|
this.fileList6.push({
|
url: `${BaseUrl}${this.registerFormModel.carImg}`
|
});
|
}
|
if (this.fileList8.length == 0 && this.userInfo.driverImg) {
|
this.fileList8.push({
|
url: `${BaseUrl}${this.userInfo.driverImg}`
|
});
|
}
|
}
|
if(this.registerFormModel.roadTransportImg){
|
if (this.fileList7.length == 0 && this.userInfo.roadTransportImg) {
|
this.fileList7.push({
|
url: `${BaseUrl}${this.userInfo.roadTransportImg}`
|
});
|
}
|
}
|
this.editUserInfo.password = ''
|
});
|
},
|
// 修改按钮点击
|
editBtnClick() {
|
this.editDriverPopupShow = true;
|
},
|
editDocClick(){
|
this.editDocShow = true;
|
},
|
imageClick(index) {
|
if (index == 1) {
|
this.previewImageSrc = this.userInfo.carImg;
|
} else if (index == 2) {
|
this.previewImageSrc = this.userInfo.drivingImg;
|
} else {
|
this.previewImageSrc = this.userInfo.driverImg;
|
}
|
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;
|
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;
|
this.registerFormModel.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.carImg = JSON.parse(res.data)
|
.data.url;
|
resolve(`${BaseUrl}${JSON.parse(res.data).data.url}`);
|
}else if(num==7){
|
this.registerFormModel.roadTransportImg = 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}`);
|
}
|
|
}
|
});
|
});
|
},
|
/**
|
* @preview 预览图片
|
*/
|
previewImageClose() {
|
this.previewImageShow = false;
|
},
|
previewImageOpen() {},
|
/**
|
* @editPopup 修改弹出框事件
|
*/
|
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(){
|
this.$reqPost('saveDriverDocs', {
|
userId:this.registerFormModel.customerid,
|
carImg:this.registerFormModel.carImg,
|
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,
|
roadTransportImg:this.registerFormModel.roadTransportImg,
|
expirationTimeRoadtransport:this.registerFormModel.expirationTimeRoadtransport.slice(0,16),
|
expirationTimeTradequalification:this.registerFormModel.expirationTimeTradequalification.slice(0,16),
|
}, 'json').then(res => {
|
if (res.code == 0) {
|
this.$u.toast('修改成功');
|
this.init();
|
this.editDocShow = false;
|
} else {
|
uni.showToast({
|
title: res.msg,
|
icon: 'none',
|
duration: 2000
|
});
|
}
|
})
|
},
|
addData(){
|
this.tablist.push({idCard:""})
|
},
|
delData(e){
|
this.tablist.splice(e,1)
|
},
|
// 修改用户信息
|
updateUser() {
|
this.editUserInfo = {
|
...this.editUserInfo,
|
carImg: uni.getStorageSync('carImg'),
|
drivingImg: uni.getStorageSync('drivingImg'),
|
tradeQualificationImg: uni.getStorageSync('tradeQualificationImg')
|
};
|
this.editUserInfo.otherIdCard=''
|
let errorList = ['name','phone','countryNumberCar','carType']
|
for(let item in this.editUserInfo){
|
if(item ==='bunkerList'){
|
console.log(item);
|
if(!this.editUserInfo[item]){
|
this.editUserInfo[item] = [];
|
}
|
}
|
if(errorList.includes(item)){
|
if(!this.editUserInfo[item]){
|
this.$u.tos('请检查输入!!')
|
return
|
}
|
}
|
}
|
if(this.tablist.length>0){
|
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]$/
|
this.tablist.map(item=>{
|
if(!item.idCard){
|
uni.showToast({
|
title: `请填写身份证!`,
|
icon: 'error',
|
duration: 2000
|
});
|
submit=false
|
}else if(!idcardtext.test(item.idCard)){
|
uni.showToast({
|
title: `请检验身份证!`,
|
icon: 'error',
|
duration: 2000
|
});
|
submit=false
|
}
|
})
|
const uniqueSampleTypeIds = new Set(this.tablist.map(item => item.idCard));
|
const hasDuplicateSampleTypeId = this.tablist.length !== uniqueSampleTypeIds.size;
|
if(hasDuplicateSampleTypeId){
|
uni.showToast({
|
title: `身份证不能重复!`,
|
icon: 'error',
|
duration: 2000
|
});
|
submit=false
|
}
|
this.editUserInfo.otherIdCard=this.tablist.map(item=>{
|
return item.idCard
|
}).join(',')
|
}
|
let data={
|
name:this.editUserInfo.name,
|
phone:this.editUserInfo.phone,
|
countryNumberCar:this.editUserInfo.countryNumberCar,
|
carType:this.editUserInfo.carType,
|
weight:this.editUserInfo.weight,
|
axleNum:this.editUserInfo.axleNum,
|
idCard:this.editUserInfo.idCard,
|
userId:this.editUserInfo.userId,
|
type:this.editUserInfo.type,
|
username:this.editUserInfo.username,
|
otherIdCard:this.editUserInfo.otherIdCard,
|
}
|
this.$reqPost('updateUser', data, 'json').then(res => {
|
this.editDriverPopupShow = false;
|
if (res.code == 0) {
|
this.$u.toast('修改成功');
|
this.init();
|
} else {
|
uni.showToast({
|
title: res.msg,
|
icon: 'none',
|
duration: 2000
|
});
|
}
|
});
|
|
|
},
|
logout() {
|
this.logoutShow = true;
|
},
|
logoutConfirm() {
|
redirectLogin();
|
this.$store.commit('changeisLogin', false)
|
this.$store.dispatch('websocketOnClose')
|
},
|
logoutCancel() {
|
this.logoutShow = false;
|
},
|
//修改磅单打印样式
|
modifyPrint() {
|
this.printerVisible = true;
|
console.log(printerStyle,'123')
|
this.$nextTick(() => {
|
this.$refs.printerStyleRef.init()
|
})
|
},
|
// 积分详情
|
scoreDetail() {
|
uni.navigateTo({
|
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'
|
})
|
},
|
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>
|
|
<style lang="scss"
|
scoped>
|
@mixin flex {
|
display: flex;
|
justify-content: space-between;
|
align-items: center;
|
}
|
|
|
::v-deep.driver-my {
|
width: 100%;
|
margin: 0 auto;
|
padding-bottom: vww(100);
|
|
.driver-banner {
|
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 {
|
width: 100%;
|
height: 430rpx;
|
display: flex;
|
align-items: center;
|
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;
|
color: #ffffff;
|
margin-left: vww(17);
|
}
|
|
.edit-button {
|
position: relative;
|
left: vww(73);
|
top: vww(4);
|
}
|
}
|
}
|
|
.process-state {
|
width: 300rpx;
|
height: 50rpx;
|
margin: 0 auto;
|
position: fixed;
|
top: 284rpx;
|
left: 37rpx;
|
display: flex;
|
align-items: center;
|
|
.state-text {
|
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%;
|
|
.personal-information {
|
width: 100%;
|
display: flex;
|
justify-content: center;
|
position: relative;
|
top: vww(-30);
|
|
&-block {
|
width: 690rpx;
|
height: 700rpx;
|
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: 50%;
|
height: 90rpx;
|
@include flex;
|
|
image {
|
width: 50rpx;
|
height: 50rpx;
|
}
|
|
.label-text {
|
flex: 0.8;
|
font-size: 30rpx;
|
font-weight: 400;
|
color: #000000;
|
line-height: 32rpx;
|
text-align: left;
|
}
|
}
|
|
.information-value {
|
min-width: vww(125);
|
@include flex;
|
font-size: 30rpx;
|
font-weight: 400;
|
color: #000000;
|
line-height: 85rpx;
|
}
|
}
|
|
.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: 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;
|
|
.information-body {
|
width: 636rpx;
|
margin: vww(15) vww(14);
|
@include flex flex-direction: column;
|
.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;
|
}
|
}
|
}
|
}
|
}
|
}
|
|
.loginout {
|
width: 100%;
|
height: 240rpx;
|
@include flex;
|
justify-content: space-evenly;
|
flex-direction: column;
|
align-items: center;
|
position: relative;
|
top: vww(20);
|
|
.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);
|
}
|
}
|
|
// 表单
|
.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 {}
|
|
// 修改弹出框
|
.editDriverPopup-container {
|
.u-popup {
|
.u-transition {
|
height: 75%;
|
|
.u-popup__content {
|
overflow: scroll !important;
|
|
.editDriverPopup-container-box {
|
width: 90%;
|
margin: vww(10) auto;
|
}
|
|
//closeIcon
|
.u-popup__content__close--top-right {
|
top: vww(20) !important;
|
|
.u-icon {
|
.u-icon__icon {
|
font-size: vww(20) !important;
|
}
|
}
|
}
|
}
|
}
|
}
|
}
|
.superList{
|
margin: 10rpx;
|
padding: 10rpx;
|
border: 1px solid #f0f1f6;
|
}
|
.adddelete{
|
display: flex;
|
justify-content: space-around;
|
margin: 10rpx;
|
}
|
}
|
</style>
|