| | |
| | | <view class="line detail-value"> |
| | | 司机:{{item.driverName}} |
| | | </view> |
| | | <view class="line detail-value"> |
| | | 押运员:{{item.supercargoInfo?getUserName(item.supercargoInfo):'无'}} |
| | | </view> |
| | | <view class="line detail-value"> |
| | | {{item.startTime?item.startTime.slice(0,10):""}}-{{item.expirationTime?item.expirationTime.slice(0,10):""}} |
| | | </view> |
| | | </view> |
| | | </view> |
| | | </view> |
| | |
| | | height="400px"></u--image> |
| | | </u-popup> |
| | | </view> |
| | | <!-- 添加道路运输证 --> |
| | | <!-- 添加剧毒运输证 --> |
| | | <view class="editDriverPopup-container"> |
| | | <u-popup :show="editTranShow" |
| | | mode="bottom" |
| | |
| | | <u-form-item labelWidth="20%" |
| | | label="产品" |
| | | ref="item1" |
| | | prop='productId'> |
| | | prop='productName' |
| | | required> |
| | | <u--input placeholder="请输入产品" |
| | | v-model="tranSportForm.productName" |
| | | class="input" |
| | |
| | | <u-form-item labelWidth="20%" |
| | | label="客户" |
| | | ref="item1" |
| | | prop='productId'> |
| | | prop='customerName' |
| | | required> |
| | | <u--input placeholder="请输入客户" |
| | | v-model="tranSportForm.customerName" |
| | | class="input" |
| | |
| | | height="150" |
| | | :previewFullImage="true"> |
| | | </u-upload> |
| | | </u-form-item> |
| | | <u-form-item prop="startTime" |
| | | label="运输证开始时间" |
| | | labelWidth="20%" |
| | | borderBottom> |
| | | <uni-datetime-picker v-model="tranSportForm.startTime" type="datetime" /> |
| | | </u-form-item> |
| | | <u-form-item prop="expirationTime" |
| | | label="运输证过期时间" |
| | |
| | | </u-form-item> |
| | | </u--form> |
| | | <view class="person-utils"> |
| | | <u-button text="提交道路运输证" |
| | | <u-button text="提交剧毒运输证" |
| | | @click="updateRoad" |
| | | :disabled="upload" |
| | | 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> |
| | |
| | | return { |
| | | minDate: this.getToday(), |
| | | previewImageShow: false, |
| | | supercargoList:[], |
| | | supercargoList:[{ |
| | | driverName:"", |
| | | driverIdcard:"", |
| | | driverPhone:"" |
| | | }], |
| | | userInfo: {}, |
| | | scoreDetailList: [], |
| | | editTranShow:false, |
| | | upload:false, |
| | |
| | | BaseUrl, |
| | | previewImageSrc: '', |
| | | certificateData:[], |
| | | userInfo: {}, |
| | | customerNameList:[], |
| | | driverList:[{ |
| | | driverName:"", |
| | | driverIdcard:"" |
| | |
| | | customerId:"" |
| | | }, |
| | | sportRules:{ |
| | | productName:{ |
| | | type: 'string', |
| | | required: true, |
| | | message: '请填写产品名称', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | customerName:{ |
| | | type: 'string', |
| | | required: true, |
| | | message: '请填写客户名称', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | certificateNo: { |
| | | type: 'string', |
| | | required: true, |
| | | message: '请填写运输证号', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | expirationTime: { |
| | | expirationTime: [{ |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择运输证过期时间', |
| | | trigger: ['blur', 'change'] |
| | | }, |
| | | },{ |
| | | pattern: /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/, |
| | | message: '请选择开始时间' |
| | | }], |
| | | startTime:[{ |
| | | type: 'string', |
| | | required: true, |
| | | message: '请选择运输证开始时间', |
| | | trigger: ['blur', 'change'] |
| | | },{ |
| | | pattern: /^\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}$/, |
| | | message: '请选择开始时间' |
| | | }], |
| | | carNo: [{ |
| | | type: 'string', |
| | | required: true, |
| | |
| | | }, |
| | | onLoad() { |
| | | this.getScoreDetail() |
| | | this.$reqGet('getUserEntity').then(res => { |
| | | this.userInfo = res.data; |
| | | this.$reqGetId('getDriverListById', this.userInfo.userId).then(res => { |
| | | this.certificateData = res.data; |
| | | }); |
| | | }); |
| | | this.getData() |
| | | }, |
| | | methods: { |
| | | ...mapMutations(['changeisUploadimg']), |
| | | beforeRead() { |
| | | this.changeisUploadimg(true); |
| | | }, |
| | | getData(){ |
| | | this.$reqGet('getUserEntity').then(res => { |
| | | this.userInfo = res.data; |
| | | this.tranSportForm.carNo=this.userInfo.carNo |
| | | this.driverList[0]={ |
| | | driverName:this.userInfo.name, |
| | | driverIdcard:this.userInfo.idCard |
| | | } |
| | | this.$reqGetId('getDriverListById', this.userInfo.userId).then(res => { |
| | | this.certificateData = res.data; |
| | | }); |
| | | }); |
| | | }, |
| | | imageClick(data) { |
| | | this.previewImageSrc = data; |
| | |
| | | }); |
| | | }, |
| | | editTranClick(){ |
| | | this.getShipToList() |
| | | this.editTranShow = true; |
| | | }, |
| | | editTranClose(){ |
| | |
| | | this.$refs.sportRef |
| | | .validate() |
| | | .then(res => { |
| | | if (this.tranSportForm.productName == '' ) { |
| | | uni.showToast({ |
| | | title: '请选择产品!', |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | }else if(this.tranSportForm.customerName == ''){ |
| | | uni.showToast({ |
| | | title: '请选择客户!', |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | let submit=true |
| | | 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){ |
| | | if (this.fileList9.length==0) { |
| | | uni.showToast({ |
| | | title: '请选择运输证!', |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | submit=false |
| | | }else if(this.driverList.length>0){ |
| | | this.driverList.forEach((item,index)=>{ |
| | | if(!item.driverName){ |
| | | uni.showToast({ |
| | |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | if(!item.driverIdcard){ |
| | | submit=false |
| | | }else if(!item.driverIdcard){ |
| | | uni.showToast({ |
| | | title: `请填写驾驶身份证!`, |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | submit=false |
| | | }else if(!idcardtext.test(item.driverIdcard)){ |
| | | uni.showToast({ |
| | | title: `请检验驾驶员身份证!`, |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | submit=false |
| | | } |
| | | }) |
| | | } |
| | |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | if(!item.driverIdcard){ |
| | | submit=false |
| | | }else if(!item.driverIdcard){ |
| | | uni.showToast({ |
| | | title: `请填写押运身份证!`, |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | submit=false |
| | | }else if(!idcardtext.test(item.driverIdcard)){ |
| | | uni.showToast({ |
| | | title: `请检验押运身份证!`, |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | if(!item.driverPhone){ |
| | | submit=false |
| | | }else if(!item.driverPhone){ |
| | | uni.showToast({ |
| | | title: `请填写押运手机号!`, |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | submit=false |
| | | }else if( !/^1[23456789]\d{9}$/.test(item.driverPhone)){ |
| | | uni.showToast({ |
| | | title: `请检验押运手机号!`, |
| | | icon: 'error', |
| | | duration: 2000 |
| | | }); |
| | | submit=false |
| | | } |
| | | }) |
| | | } |
| | | 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) |
| | | if(submit){ |
| | | 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(","); |
| | | this.$reqPost('addJcroadtransport', { |
| | | userId:this.userInfo.userId, |
| | | ...this.tranSportForm, |
| | | driverName:driverName, |
| | | driverIdcard:driverIdcard, |
| | | supercargoInfo:supercargoInfo |
| | | }, 'json').then(res => { |
| | | if (res.code == 0) { |
| | | this.editTranShow = false; |
| | | this.$u.toast('提交成功'); |
| | | this.tranSportForm={ |
| | | carNo:"", |
| | | productId:"", |
| | | customerId:"" |
| | | } |
| | | this.driverList=[{ |
| | | driverName:"", |
| | | driverIdcard:"" |
| | | }] |
| | | this.supercargoList=[{ |
| | | driverName:"", |
| | | driverIdcard:"", |
| | | driverPhone:"" |
| | | }] |
| | | this.fileList9=[] |
| | | this.getData(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.msg, |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | }) |
| | | } |
| | | this.$reqPost('addJcroadtransport', { |
| | | userId:this.userInfo.userId, |
| | | ...this.tranSportForm, |
| | | driverName:driverName, |
| | | driverIdcard:driverIdcard, |
| | | supercargoInfo:supercargoInfo |
| | | }, 'json').then(res => { |
| | | if (res.code == 0) { |
| | | this.editTranShow = false; |
| | | this.$u.toast('修改成功'); |
| | | this.init(); |
| | | } else { |
| | | uni.showToast({ |
| | | title: res.msg, |
| | | icon: 'none', |
| | | duration: 2000 |
| | | }); |
| | | } |
| | | }) |
| | | }) |
| | | }, |
| | | async afterRead(event) { |
| | |
| | | }); |
| | | }); |
| | | }, |
| | | // 获取客户 |
| | | getShipToList() { |
| | | this.$reqGet('getShipToList') |
| | | .then(res => { |
| | | if (res.code == 0) { |
| | | this.customerNameList = res.data |
| | | }else { |
| | | this.$u.toast('加载失败') |
| | | } |
| | | }) |
| | | }, |
| | | getScoreDetail() { |
| | | uni.showLoading({ |
| | | title: '加载中’' |
| | |
| | | }) |
| | | }, |
| | | deleteSupercar(){ |
| | | this.supercargoList.splice(this.supercargoList.length - 1, 1) |
| | | if(this.supercargoList.length>1){ |
| | | this.supercargoList.splice(this.supercargoList.length - 1, 1) |
| | | } |
| | | }, |
| | | deleteDriver(){ |
| | | this.driverList.splice(this.driverList.length - 1, 1); |
| | | if(this.driverList.length>1){ |
| | | this.driverList.splice(this.driverList.length - 1, 1); |
| | | } |
| | | }, |
| | | getUserName(e){ |
| | | let data= e.split(',').map(item=>{ |
| | | return item.split("|")[0] |
| | | }).join(',') |
| | | return data |
| | | } |
| | | } |
| | | } |