From 1777479d224819e835d3e05ec356c84e8b0f45c9 Mon Sep 17 00:00:00 2001 From: yangan <yangan0921@163.com> Date: 星期一, 24 六月 2024 17:34:25 +0800 Subject: [PATCH] feat:称重自动重连 --- pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue | 209 +++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 166 insertions(+), 43 deletions(-) diff --git a/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue b/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue index 01e8c2a..8754275 100644 --- a/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue +++ b/pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue @@ -52,7 +52,7 @@ @input='v=>discountInputHandle(v,i,item.clean)'></u--input> </view> <view v-else-if='flag' - class="count">{{ item.cinderWeight }} + class="count">{{ item.cinderWeight ? item.cinderWeight + '鍚�' :"" }} </view> </view> <!-- 鍑�閲峝iv --> @@ -60,13 +60,14 @@ <view class="weigh-qualified"> <view v-if="!unqualifiedArr(i).length"> - <view> 鎵f福鍚庡噣閲嶏細<text class="count"> {{ cleanWeight(item) }}</text></view> + <view> 鎵f福鍚庡噣閲嶏細<text class="count"> {{ cleanWeight(item) ? cleanWeight(item) + '鍚�' : ''}}</text></view> </view> - <view v-else class='weigh-qualified-no'> - - <view > 鍚堟牸鍑�閲嶏細 <text class="count">{{ item.clean }}</text></view> - - <view > 鎵f福鍚庡噣閲嶏細<text class="count">{{ cleanWeight(item) }}</text></view> + <view v-else-if ='unqualifiedArr(i).length && item.clean' class='weigh-qualified-no'> + <view > 鎵f福鍚庡噣閲嶏細<text class="count">{{ cleanWeight(item) ? cleanWeight(item) + '鍚�' : '' }}</text></view> + <view > 鍚堟牸鍑�閲嶏細 <text class="count">{{ qualifiedWeight(item,i) ? qualifiedWeight(item,i) + '鍚�' : '' }}</text></view> + </view> + <view v-else-if ='unqualifiedArr(i).length && !item.clean' class='weigh-qualified-no'> + </view> </view> @@ -74,7 +75,7 @@ <view> 涓嶅悎鏍煎噣閲嶏細 </view> - <view class="count"> {{el.unqualifiedWeight || ''}}</view> + <view class="count"> {{el.unqualifiedWeight ? el.unqualifiedWeight + '鍚�' : ''}}</view> </view> </view> @@ -91,7 +92,7 @@ <view style="font-size: 35rpx;">{{ coalDetailsData.customerName || '' }}</view> </view> <!-- 鐗╄祫鏄庣粏 --> - <view class="level"> + <view class="level" v-if="!flag"> <view style="width: 180rpx;"> <u--text text="鐗╄祫鏄庣粏" size='32'></u--text> @@ -123,6 +124,19 @@ </view> <view class="tag-select" @click="productNamePopoverShow(i)"> + <!-- !flag?(globalShowWeigh[i].modifyProductName?globalShowWeigh[i].modifyProductName:item.modifygoodsName):(item.breed+'/'+item.spec) --> + <text> + {{item.spec}} + </text> + </view> + + </view> + <view class="level" v-if="flag"> + <view style="width: 180rpx;"> + <u--text text="瑙勬牸" + size='32'></u--text> + </view> + <view class="tag-select"> <!-- !flag?(globalShowWeigh[i].modifyProductName?globalShowWeigh[i].modifyProductName:item.modifygoodsName):(item.breed+'/'+item.spec) --> <text> {{item.spec}} @@ -259,6 +273,7 @@ <!-- 瓒呭昂鎵g綒閲戦 --> <view class="notice-num koufaBox-item"> <view class="num-text" + v-if="(roleType===4&&!flag) || (flag && item.oveForfeit)" style="margin-left: 10rpx;"> <u--text text=" 瓒呭昂鎵g綒" size='29'></u--text> @@ -278,13 +293,14 @@ </u-input> </view> <view class="num-show" - v-else-if="flag" > - {{item.oveForfeit ? item.oveForfeit + '鍏�' :""}} + v-else-if="flag && item.oveForfeit" > + {{ item.oveForfeit + '鍏�'}} </view> </view> <view class="notice-num koufaBox-item" > <view class="num-text" + v-if="(roleType===4&&!flag) || (flag && item.thiForfeit)" style="margin-left: 10rpx;"> <u--text text="鍘氬害鎵g綒" size='29'></u--text> @@ -302,13 +318,14 @@ </u-input> </view> <view class="num-show" - v-else-if="flag"> - {{item.thiForfeit ? item.thiForfeit+ '鍏�' :"" }} + v-else-if="flag && item.thiForfeit"> + {{ item.thiForfeit+ '鍏�' }} </view> </view> <view class="notice-num koufaBox-item" > <view class="num-text" + v-if="(roleType===4&&!flag) || (flag && item.obtForfeit)" style="margin-left: 10rpx;"> <u--text text="瀵嗛棴鍣�" size='29'></u--text> @@ -325,13 +342,14 @@ </template></u-input> </view> <view class="num-show" - v-else-if="flag"> - {{item.obtForfeit ? item.obtForfeit+ '鍏�' :"" }} + v-else-if="flag && item.obtForfeit"> + {{ item.obtForfeit+ '鍏�' }} </view> </view> <view class="notice-num koufaBox-item"> <view class="num-text" + v-if="(roleType===4&&!flag) || (flag && item.othForfeit)" style="margin-left: 10rpx;"> <u--text text="鍏朵粬鎵g綒" size='29'></u--text> @@ -348,8 +366,8 @@ </template></u-input> </view> <view class="num-show" - v-else-if="flag"> - {{item.othForfeit ? item.othForfeit+ '鍏�' :"" }} + v-else-if="flag && item.othForfeit"> + {{ item.othForfeit+ '鍏�'}} </view> </view> </view> @@ -403,7 +421,9 @@ <u--image :showLoading="true" :src="`${BaseUrl}${val}`" width="80px" - height="80px"> + height="80px" + @click="imageClick(val)" + > <view slot="error" style="font-size: 24rpx;">鍔犺浇澶辫触</view> </u--image> @@ -422,7 +442,7 @@ height="150" :previewFullImage="true"> </u-upload> - </view> + </view> <u--list :height="0" style=" margin-left: 50rpx;margin-top: 30rpx;" @@ -451,7 +471,19 @@ <view class="tag-select"> <text> <!-- {{!flag?(globalShowWeigh[i].unqualifiedBreed?globalShowWeigh[i].unqualifiedBreed:item.unqualifiedBreed):(item.unqualifiedBreed||"璇烽�夋嫨")}} --> - {{ el.unqualifiedBreed }} + {{ el.unsecondClass }} + </text> + </view> + </view> + <view class="unqualifiedBreed"> + <view style="width: 180rpx;"> + <u--text text="涓嶅悎鏍艰鏍�" + size='32'></u--text> + </view> + <view class="tag-select"> + <text> + <!-- {{!flag?(globalShowWeigh[i].unqualifiedBreed?globalShowWeigh[i].unqualifiedBreed:item.unqualifiedBreed):(item.unqualifiedBreed||"璇烽�夋嫨")}} --> + {{ el.unSpecifications }} </text> </view> </view> @@ -551,6 +583,19 @@ :closeOnClickOverlay='true' @close='unqualifiedClose' @select="selectUnqualifiedClick"></u-action-sheet> + </view> + </view> + <!-- 鍘熷彂鍑哄満鏃堕棿 --> + <view v-if="roleType!==3"> + <view> + <text>璐х墿鍙戣揣鍦板嚭鍦烘椂闂存垨鍙戣揣纾呭崟鏃堕棿锛�</text> + </view> + <view> + <uni-datetime-picker + v-model="outDate" + type="datetime" + @change="datechange" + /> </view> </view> <!-- 鏂板 楠岃川澶囨敞銆傞獙璐ㄨ鏄� --> @@ -693,22 +738,40 @@ @close='unqualifiedClose' @select="selectUnqualifiedClick"></u-action-sheet> </view> + + </view> </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> + </view> </view> </template> <script> import BigNumber from "bignumber.js" + import formatDate from '@/utils/date' import { BaseUrl } from '@/api/publicInterface.js'; import { onlineurl } from '@/api/request.js' import { mapState, mapMutations } from "vuex" export default { data() { return { + dateInpShow:false, + outDate:'', + dateValue:'', + previewImageShow:false, qualityInstructions:"", + previewImageSrc: '', penaltyType:[], indexFlag:0, // 涓嬫爣鏍囧織浣� remarks:'', @@ -862,7 +925,11 @@ // } let result = arr.length && arr.map((el,index)=>{ - let obj = {unqualifiedBreed:el,unqualifiedWeight:temp[index],unqualifiedType:noPin[index],penaltyUnitPrice:noPrice[index]} + const pinming = el.split("/")[0]; + const guige = el.split("/")[1]; + let obj = {unqualifiedBreed:el,unqualifiedWeight:temp[index],unqualifiedType:noPin[index],penaltyUnitPrice:noPrice[index], + unsecondClass:pinming,unSpecifications:guige + } return obj }) console.log(result,temp,'arr') @@ -878,17 +945,44 @@ }, cleanWeight(){ return function(item){ - if(!item.weight){ - return '' - }else if(item.weight && !item.unqualifiedWeight){ + // if(!item.weight){ + // return '' + // }else if(item.weight && !item.unqualifiedWeight){ + // return item.weight + // }else if(item.weight && item.unqualifiedWeight){ + // return item.weight + // } + if(item.weight){ return item.weight - }else if(item.weight && item.unqualifiedWeight){ - return (item.weight - (item.unqualifiedWeight - 0)).toFixed(2) - }else{ + }else if(!item.clean){ return '' + + } else if(item.clean && !item.unqualifiedWeight){ + return item.clean + }else if(item.clean && item.cinderWeight){ + return new BigNumber(item.clean - 0).minus(item.cinderWeight - 0); } + console.log(item,'clearnWeight') + } + }, + //鍚堟牸鍑�閲� + qualifiedWeight(){ + return function(item,i){ + console.log(item,'itemnsssajdakdj'); + let znums; + if(this.globalShowWeigh[i].unqualifiedWeights){ + znums = this.globalShowWeigh[i].unqualifiedWeights.split(',') + }else{ + znums = [] + } + let z = new BigNumber(znums.reduce((p,n)=>{ + return (p - 0) + (n - 0) + },0)) + let y = new BigNumber(item.cinderWeight) + return new BigNumber(item.clean - 0).minus(z).minus(y); } } + }, @@ -934,20 +1028,20 @@ // let y = new BigNumber(value - 0) // 鍥犱负value 鏄� 0 鎵�浠ラ渶瑕佸惊鐜� 鍙栧噺 let z = new BigNumber(this.showWeigh[index].cinderWeight - 0); let y; - if(value.filter(Boolean) .length){ - y = value.reduce((p,n)=>{ - return (p - 0) + (n - 0); - },0); + // if(value.filter(Boolean) .length){ + // y = value.reduce((p,n)=>{ + // return (p - 0) + (n - 0); + // },0); - }else{ - y = 0; - } + // }else{ + // y = 0; + // } if(clean){ if(x.minus(y).minus(z).toFixed(2) <= 0){ this.showWeigh[index].weight = '0'; this.$u.toast('褰撳墠鍑�閲嶄笉鍚堟牸锛岃妫�鏌ョ毊閲嶏紝姣涢噸鏄惁鍑嗙‘') }else{ - this.showWeigh[index].weight = x.minus(y).minus(z).toFixed(2) ; + this.showWeigh[index].weight = x.minus(z).toFixed(4); } } @@ -978,6 +1072,8 @@ uni.hideLoading() this.coalDetailsData = res.data; this.remarks = res.data.remarks; + this.dateValue = res.data.startTime; + this.outDate = res.data.startTime; this.qualityInstructions = res.data.qualityInstructions this.orderCode = res.data.orderCode this.showWeigh = this.coalDetailsData.tmTaskCoalItems ? this.coalDetailsData @@ -1032,6 +1128,13 @@ }) }) }, + previewImageClose() { + this.previewImageShow = false; + }, + previewImageOpen() { + this.previewImageShow = true; + console.log('preview open'); + }, GetOrderPlan() { uni.showLoading({ title: '鍔犺浇涓�...' }); this.$reqGet('GetOrderPlan').then(res => { @@ -1059,19 +1162,30 @@ } }) }, + imageClick(imgStr){ + console.log(imgStr,'瑙﹀彂') + this.previewImageSrc = imgStr; + + this.$nextTick(() => { + this.previewImageShow = true; + }); + + + }, // 鐐瑰嚮纭 confirmInput() { let flag = true; let params = {},unqualifiedWeightAll; params.qualityInstructions = this.qualityInstructions; params.remarks = this.remarks; + params.startTime = this.dateValue; console.log( this.showWeigh,' this.showWeigh') this.showWeigh = this.showWeigh.map((v, i) => { console.log(this.penaltyType,this.$refs.checkbox,'123') // let tempArr = v.penaltyType.split(','); v.unqualifiedType = ''; if(this.globalShowWeigh[i].unqualifiedWeights){ - unqualifiedWeightAll = this.globalShowWeigh[i].unqualifiedWeights.split(",").reduce((p,n)=>{return (p - 0) + (n - 0)},0).toFixed(2) || '' + unqualifiedWeightAll = this.globalShowWeigh[i].unqualifiedWeights.split(",").reduce((p,n)=>{return (p - 0) + (n - 0)},0).toFixed(4) || '' }else{ unqualifiedWeightAll = 0; } @@ -1187,7 +1301,7 @@ value = parseFloat(value); value = value + ""; // 鍙樺洖涓哄瓧绗︿覆 }else{ - value = value.replace(/^(-)*(\d+)\.(\d\d).*$/,"$1$2.$3"); + value = value.replace(/^(-)*(\d+)\.(\d\d\d\d).*$/,"$1$2.$3"); this.$nextTick(()=>{ this.showWeigh[index].cinderWeight = value.replace(/[^\d.]/g, ""); }); @@ -1206,7 +1320,8 @@ this.showWeigh[index].weight = '0'; this.$u.toast('褰撳墠鍑�閲嶄笉鍚堟牸锛岃妫�鏌ョ毊閲嶏紝姣涢噸鏄惁鍑嗙‘') }else{ - this.showWeigh[index].weight = x.minus(y).minus(z); + console.log(znums.length) + this.showWeigh[index].weight = x.minus(y); } }else{ this.$u.toast('褰撳墠鏃犲噣閲�') @@ -1242,7 +1357,7 @@ this.showWeigh[index].weight = '0'; this.$u.toast('褰撳墠鍑�閲嶄笉鍚堟牸锛岃妫�鏌ョ毊閲嶏紝姣涢噸鏄惁鍑嗙‘') }else{ - this.showWeigh[index].weight = x.minus(y).minus(z).toFixed(2) ; + this.showWeigh[index].weight = x.minus(y).minus(z).toFixed(4) ; } @@ -1408,6 +1523,16 @@ // } console.log(event,'event') + }, + dateInpFoucs(){ + console.log('鑱氱劍'); + this.dateInpShow = true; + }, + datechange(value){ + console.log('dateChange',value,formatDate.formatDate(new Date(value)) ); + this.dateValue = (formatDate.formatDate(new Date(value)) + ':' + '00'); + + } }, } @@ -1422,15 +1547,13 @@ } .weigh-qualified{ display: flex; - width: 300rpx; + width: 340rpx; flex-direction: row; - justify-content: space-around; height:auto; } .weight-box{ display: flex; - height: 160rpx; margin-bottom: 20rpx; flex-direction: column; overflow-y: scroll; -- Gitblit v1.9.1