From 837c21ced9ed0aafe17a7c0c16975a1b6731eb9d Mon Sep 17 00:00:00 2001 From: qingyiay <2386314947@qq.com> Date: 星期五, 07 七月 2023 11:30:37 +0800 Subject: [PATCH] 验质功能修改,websocket优化 --- pages/driver-page/driver-index/bill-of-lading-details/weighDetail/weighDetail.vue | 182 +++++++++++++++++++++++++++++++-------------- 1 files changed, 125 insertions(+), 57 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 281c1c3..dcb00fb 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 @@ -8,7 +8,7 @@ v-if="showWeigh.length===0"></u-empty> <view class="main-block" v-for="(item,i) in showWeigh" - :key="i"> + :key="item.id"> <view class="weigh-item"> <view class="item"> <view class="concrete" @@ -35,43 +35,59 @@ <view class="discount"> <view class="rate"> <view class="label-text"> - 鎶樻墸鐜� + 鎵f福 </view> <view v-if='roleType===4&&!flag' class="count-input"> - <u--input placeholder="璇疯緭鍏ユ姌鎵g巼" + <u--input placeholder="璇疯緭鍏ユ墸娓�" border="bottom" clearable - v-model="item.discount" + v-model="item.cinderWeight" @input='v=>discountInputHandle(v,i,item.clean)'></u--input> </view> <view v-else-if='flag' - class="count">{{ item.discount }}% + class="count">{{ item.cinderWeight }} </view> </view> <view class="weigh"> <view class="label-text"> - 鎶樻墸鍚庨噸閲� + 鎵f福鍚庡噣閲� </view> - <view class="count">{{ item.discountWeight }}</view> + <view class="count">{{ item.weight }}</view> </view> </view> - <view class="level"> - <u-tag :text="item.level||'璇烽�夋嫨'" + <view class="level" + v-if='!flag'> + <view class="" + style="width: 140rpx;"> + <u--text text="鐗╄祫鏄庣粏" + size='32'></u--text> + </view> + <u-tag :text="item.breed+item.spec||item.modifygoodsName||'鏆傛棤'" plain - @click="popoverShow(i)" - v-if='item.level||roleType===4'></u-tag> - <u-tag :text="item.productName||'璇烽�夋嫨'" - plain - @click="productNamePopoverShow(i)" - v-if='item.level||roleType===4'></u-tag> + @click="goodsPopoverShow(i)" + v-if='item.breed&&item.spec||roleType===4'></u-tag> </view> - <view v-if='roleType===4'> - <u-picker :show="show" - :columns="columns" - @cancel='cancel' - @confirm='confirm'></u-picker> + <view class="level" + v-if='item.modifygoodsName||flag'> + <view style="width: 140rpx;"> + <u--text text="浜у搧鍚嶇О" + size='32'></u--text> + </view> + <view v-if="showWeighCopy[i].modifyProductName||item.breed&&item.spec"> + <u-tag :text="!flag?showWeighCopy[i].modifyProductName:item.breed+item.spec" + plain + @click="productNamePopoverShow(i)"></u-tag> + </view> </view> + <!-- 鐗╄祫鏄庣粏 --> + <u-action-sheet :actions="goodsList" + :show="goodsShow" + cancelText='鍙栨秷' + :closeOnClickOverlay='true' + @close='goodsNameClose' + @select="goodsselectClick"></u-action-sheet> + <!-- 浜у搧鍒楄〃 --> <view class=""> <u-action-sheet :actions="actionsList" :show="actionShow" @@ -101,21 +117,27 @@ orderPlanId: "", coalDetailsData: {}, showWeigh: [], + showWeighCopy: [], discountrate: "", loading: false, show: false, - columns: [ - ['杞昏川', '涓川', '閲嶈川'] - ], - level: '璇烽�夋嫨', selectIndex: null, + // 鐗╄祫鏄庣粏 + goodsList: [], + goodsShow: false, + goodsIndex: null, // 浜у搧鍒楄〃 actionsList: [], actionShow: false, actionIndex: null, onlineurl, havedInput: false, - flag: false + flag: false, + orderCode: null, + + modifyProductName: null, + // 鏄惁淇敼 + isModify: false }; }, computed: { @@ -129,6 +151,9 @@ }, onShow() { this.roleType === 1 ? this.GetOrderPlan() : this.getTakeCoal() + if (this.orderCode) { + this.getMaterialDetailByOrderCode() + } this.getJcProductList() }, methods: { @@ -139,16 +164,33 @@ this.$reqGet('getTakeCoal', { takeCoalId: this.orderPlanId }).then(res => { if (res.code == 0) { this.coalDetailsData = res.data; + this.orderCode = res.data.orderCode this.showWeigh = this.coalDetailsData.tmTaskCoalItems ? this.coalDetailsData - .tmTaskCoalItems : [], - this.showWeigh.forEach(v => { - v.discount = null - }) + .tmTaskCoalItems : []; + this.showWeigh = this.showWeigh.map(v => { + return { + ...v, + modifyProductName: '', + modifygoodsName: '' + + } + }) + this.showWeighCopy = JSON.parse(JSON.stringify(this.showWeigh)) uni.hideLoading() } else { this.$u.toast('鍔犺浇澶辫触') uni.hideLoading() } + }).then(() => { + this.$reqGet('getMaterialDetailByOrderCode', { orderCode: this.orderCode }).then(r => { + this.goodsList = r.data.map(v => { + return { + ...v, + name: v.breed + v.spec + } + }) + uni.hideLoading() + }) }) }, GetOrderPlan() { @@ -156,6 +198,7 @@ this.$reqGet('GetOrderPlan').then(res => { if (res.data) { this.coalDetailsData = res.data; + this.orderCode = res.data.orderCode this.showWeigh = this.coalDetailsData[this.index].tmTaskCoals ? this.coalDetailsData[ this.index].tmTaskCoals : [], uni.hideLoading(); @@ -171,7 +214,7 @@ this.actionsList = res.data.map(v => { return { ...v, - name: v.productName + name: v.secondCategoryName + v.spec } }) } @@ -180,6 +223,13 @@ // 杈撳叆鎶樻墸鐜囧悗鐐瑰嚮纭 confirmInput() { this.loading = true + this.showWeigh = this.showWeigh.map((v, i) => { + return { + ...v, + breed: this.showWeighCopy[i].modifyProductName ? this.showWeighCopy[i].breed : v.breed, + spec: this.showWeighCopy[i].modifyProductName ? this.showWeighCopy[i].spec : v.spec + } + }) this.$reqPost('updateTmTaskCoalItem', this.showWeigh, 'json').then( res => { if (res.code == 0) { @@ -196,38 +246,42 @@ } }) }, - // 閫夋嫨璐ㄩ噺 - popoverShow(i) { - console.log(); - if (this.roleType === 4 && !this.flag) { - this.show = true - this.selectIndex = i - } + // 鐗╄祫鏄庣粏 + goodsPopoverShow(index) { + this.goodsShow = true + this.goodsIndex = index }, - // 閫夋嫨浜у搧 - productNamePopoverShow(i) { + goodsNameClose() { + this.goodsShow = false + }, + goodsselectClick(val) { + this.showWeigh[this.goodsIndex].modifygoodsName = val.name + this.showWeigh[this.goodsIndex].itemId = val.itemId + this.showWeigh[this.goodsIndex].num = val.num + this.showWeigh[this.goodsIndex].numUnit = val.numUnit + this.showWeigh[this.goodsIndex].remark = val.remark + this.showWeigh[this.goodsIndex].breed = val.breed + this.showWeigh[this.goodsIndex].spec = val.spec + }, + // 浜у搧鍒楄〃 + productNamePopoverShow(index) { if (this.roleType === 4 && !this.flag) { this.actionShow = true - this.actionIndex = i + this.actionIndex = index } - }, - confirm(e) { - this.show = false - this.showWeigh[this.selectIndex].level = e.value[0] - }, - cancel() { - this.show = false }, productNameClose() { this.actionShow = false }, selectClick(val) { - this.showWeigh[this.actionIndex].productName = val.productName - this.showWeigh[this.actionIndex].productId = val.id + this.showWeighCopy[this.actionIndex].modifyProductName = val.name + this.showWeighCopy[this.actionIndex].breed = val.secondCategoryName + this.showWeighCopy[this.actionIndex].spec = val.spec }, // 鎶樻墸鐜囪緭鍏� discountInputHandle(value, index, clean) { - this.showWeigh[index].discountWeight = ((Number(value) * clean) / 100).toFixed(2) + this.showWeigh[index].cinderWeight = Number(value) + this.showWeigh[index].weight = (clean - (Number(value)).toFixed(2)); } }, } @@ -256,7 +310,7 @@ .main-block { width: 690rpx; - height: 360rpx; + min-height: 360rpx; margin: vww(20) auto; padding: vww(5); background: #ffffff; @@ -304,6 +358,7 @@ .rate, .weigh { width: 50%; + height: vww(80); display: flex; align-items: center; justify-content: space-around; @@ -312,8 +367,11 @@ .count-input { width: 70%; border-bottom: 1px solid rgb(218, 219, 222); - } + } + + .weigh { + justify-content: space-between; } .count { @@ -324,11 +382,25 @@ } .level { - width: 40%; + width: 60%; margin-top: 30rpx; margin-left: 80rpx; display: flex; justify-content: space-between; + } + + .select-button { + width: 100%; + @include flex; + justify-content: flex-end; + margin-bottom: 40rpx; + position: absolute; + right: vww(-120); + bottom: vww(-10); + + /deep/ .u-button { + width: 180rpx !important; + } } } @@ -338,10 +410,6 @@ @include flex; justify-content: center; margin-bottom: 40rpx; - - /deep/ .u-button { - width: 180 rpx !important; - } } } </style> \ No newline at end of file -- Gitblit v1.9.1