From f58e0464b4ec59d78babbb5760dac9f718df3a5b Mon Sep 17 00:00:00 2001 From: whycq <10027870+whycq@user.noreply.gitee.com> Date: 星期二, 03 九月 2024 07:55:02 +0800 Subject: [PATCH] # --- pages/phyz/checkLocDetl/locDetlList.vue | 281 +++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 files changed, 265 insertions(+), 16 deletions(-) diff --git a/pages/phyz/checkLocDetl/locDetlList.vue b/pages/phyz/checkLocDetl/locDetlList.vue index 2388b43..a07e427 100644 --- a/pages/phyz/checkLocDetl/locDetlList.vue +++ b/pages/phyz/checkLocDetl/locDetlList.vue @@ -1,20 +1,58 @@ <template> <view> - <view class="list list-font-color" :class="locMast.color" v-for="(locMast,index) in dataList" :key="index"> + <view style="padding: 16rpx 32rpx;font-size: 20px;font-weight: bold;"> + <view>褰撳墠搴撲綅鍙凤細{{locNo}}</view> + <view>褰撳墠璐ф灦鐮侊細{{barcode}}</view> + </view> + <view class="list list-font-color" :class="locDetl.color" v-for="(locDetl,index) in dataList" :key="index"> <view class="list-left"> - <view class="detl-threeCode">{{locMast.locNo}}</view> - <view>搴撲綅鐘舵�侊細{{locMast.locSts$}}</view> - <view>搴撲綅绫诲瀷锛歿{locMast.locType1$}}</view> - <view>璐ф灦鐮侊細{{locMast.barcode}}</view> - <view style="display: flex;"> - <view style="flex:1">鎺掞細<text style="font-size: 22px;font-weight: bold;">{{locMast.row1}}</text></view> - <view style="flex:1">鍒楋細<text style="font-size: 22px;font-weight: bold;">{{locMast.bay1}}</text></view> - <view style="flex:1">灞傦細<text style="font-size: 22px;font-weight: bold;">{{locMast.lev1}}</text></view> + <view>閿�鍞鍗曞彿锛歿{locDetl.threeCode}}</view> + <view>涓昏鍗曞彿锛歿{locDetl.orderNo}}</view> + <view>鍟嗗搧缂栫爜锛歿{locDetl.matnr}}</view> + <view>鍟嗗搧鍚嶇О锛歿{locDetl.maktx}}</view> + <view>宸ュ簭锛歿{locDetl.processSts$}}</view> + <view>搴撳瓨锛歿{locDetl.count}}</view> + </view> + <view class="list-right" @click="chageDetl(index)"> + <uni-icons type="settings" size="25" color="#fff"></uni-icons> + </view> + </view> + <view style="height: 100rpx;display: flex;align-items: center;justify-content: center;" @click="add()"> + <uni-icons type="folder-add" size="25" color="#000" style="padding-right: 20rpx;"></uni-icons> 娣诲姞鐗╂枡 + </view> + + + <!-- 寮圭獥 --> + <view> + <uni-popup ref="chageDetl" type="dialog"> + <view class="popup"> + <!-- 鏍囬 --> + <view class="title">鍟嗗搧淇℃伅</view> + <view class="popup-item"> + <view style="width: 70px;">璁㈠崟鍙�</view> + <view style="margin-left: 20rpx;border-bottom: 1px solid #d8d8d8;"> <input type="text" v-model="orderNo"> </view> + </view> + <view class="popup-item"> + <view style="width: 70px;">閿�鍞崟鍙�</view> + <view style="margin-left: 20rpx;border-bottom: 1px solid #d8d8d8;"> <input type="text" v-model="threeCode"> </view> + </view> + <view class="popup-item"> + <view style="width: 70px;">宸ュ簭</view> + <uni-combox style="height: 20px;" :candidates="processSts$List" placeholder="璇烽�夋嫨宸ュ簭" v-model="processSts$"></uni-combox> + </view> + <view class="popup-item"> + <uni-number-box :value="count" :step='1' :max="9999999" color="#747474" @change="changeValue" /> + </view> + <view class="btn"> + <view class="btn-left" @click="remove()">绉婚櫎</view> + <view class="btn-right" @click="changeCount()">淇敼</view> + </view> </view> - </view> - <view class="list-right" @click="goToLocDetl(locMast)"> - <uni-icons type="right" size="25" color="#fff"></uni-icons> - </view> + </uni-popup> + </view> + <!-- 搴曢儴鎿嶄綔鎸夐挳 --> + <view class="buttom"> + <button size="mini" type="primary" @click="adjust('warn')">璋冩暣搴撳瓨</button> </view> </view> </template> @@ -25,8 +63,15 @@ return { baseUrl: '', token: '', - dataList: [] - + dataList: [], + count: '', + index: 0, + locNo: '', + barcode: '', + orderNo: '', + threeCode: '', + processSts$: '', + processSts$List: ['寰呭姞宸�','宸插姞宸�','鏃犻渶鍔犲伐'] } }, onShow() { @@ -38,15 +83,219 @@ // 鐩戝惉acceptDataFromOpenerPage浜嬩欢锛岃幏鍙栦笂涓�椤甸潰閫氳繃eventChannel浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� eventChannel.on('item', function(data) { console.log(data); + _this.locNo = data.item.locNo + _this.barcode = data.item.barcode + for (let k of data.item.data) { + k['count'] = k.anfme + } _this.dataList = data.item.data }) }, methods: { - + add() { + let _this = this + uni.navigateTo({ + url: "../mat/mat", + events: { + // 涓烘寚瀹氫簨浠舵坊鍔犱竴涓洃鍚櫒锛岃幏鍙栬鎵撳紑椤甸潰浼犻�佸埌褰撳墠椤甸潰鐨勬暟鎹� 鍙﹀涓�涓〉闈紶杩囨潵鐨� + acceptDataFromOpenedPage: function(data) { + console.log(data.data); + setTimeout(()=> { + _this.findMat(data.data) + },100) + } + }, + }); + }, + findMat(mat) { + let _this = this + uni.navigateTo({ + url: "../mat/matSelected", + success: function(res) { + // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹� 鍚戝彟澶栦竴涓〉闈紶閫掑�肩殑 + res.eventChannel.emit('item', { + item: mat + }) + }, + events: { + matList: function(data) { + data.data.suppCode = _this.barcode + _this.checkMat(data.data) + }, + }, + }); + }, + checkMat(mat) { + var len = this.dataList.length + var add = true ,sameItem = false + for (var i = 0; i < len; i++) { + if (mat.matnr == this.dataList[i].matnr) { + for (var j = 0; j < len; j++) { + if (mat.threeCode == this.dataList[j].threeCode) { + sameItem = true + } + } + // 鐩稿悓鐗╂枡 涓嶅悓鎵瑰彿 鏂板姞鍒楄〃 + if (mat.threeCode != this.dataList[i].threeCode) { + this.$forceUpdate() // 寮哄埗鍒锋柊 + if (sameItem) { + add = false + } else { + add = true + } + + } else { + // 鐩稿悓鐗╂枡鐩稿悓鎵瑰彿 鏁伴噺绱姞 + this.dataList[i].count += mat.count + this.$forceUpdate() // 寮哄埗鍒锋柊 + add = false + } + } + } + if (add) { + this.dataList.unshift(mat) + } + }, + chageDetl(index) { + this.index = index + this.count = this.dataList[index].count + this.threeCode = this.dataList[index].threeCode + this.orderNo = this.dataList[index].orderNo + this.processSts$ = this.dataList[index].processSts$ + this.$refs.chageDetl.open() + }, + // 淇敼鏁伴噺 + changeCount() { + this.dataList[this.index].count = this.count + this.dataList[this.index].threeCode = this.threeCode + this.dataList[this.index].orderNo = this.orderNo + this.dataList[this.index].processSts$ = this.processSts$ + switch(this.processSts$) { + case '寰呭姞宸�': + this.dataList[this.index].processSts = 1 + break; + case '宸插姞宸�': + this.dataList[this.index].processSts = 2 + break; + case '鏃犻渶鍔犲伐': + this.dataList[this.index].processSts = 3 + break; + } + this.$forceUpdate() // 寮哄埗鍒锋柊 + this.$refs.chageDetl.close() + }, + // 绉婚櫎鐗╂枡 + remove() { + this.dataList.splice(this.index, 1) + this.$refs.chageDetl.close() + }, + adjust() { + let _this = this + let param = { + locNo: _this.locNo, + list: _this.dataList + } + uni.request({ + url: `${_this.baseUrl}/agv/locDdetl/adjust/start`, + header: {'token': uni.getStorageSync('token')}, + data: param, + method: 'POST', + success(res) { + res = res.data + if (res.code == 200) { + uni.showToast({ title: res.msg, icon: "success", position: 'top' }) + _this.$refs.chageDetl.close() + _this.getOpenerEventChannel().emit('acceptDataFromOpenedPage', {data: this.mat}); + setTimeout(()=> { + uni.navigateBack() + },1000) + } else if (res.code == 403) { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + setTimeout(() => { uni.reLaunch({ url: '../../login/login' }); }, 1000); + } else { + uni.showToast({ title: res.msg, icon: "error", position: 'top' }) + } + } + }) + }, + changeValue(value) { + this.count = value + }, } } </script> <style> @import url('../../../static/css/common/order.css'); + .list-font-color { + color: #fff; + background-color: #2299ff; + } + .order-sts-start { + background-color: #3eb689; + } + .popup { + width: 80vw; + min-height: 100rpx; + background-color: #FFF; + border-radius: 25rpx; + position: relative; + } + .title { + height: 100rpx; + line-height: 100rpx; + width: 100%; + color: #606266; + text-align: center; + font-size: 16px; + } + .popup-item { + height: 80rpx; + line-height: 80rpx; + display: flex; + align-items: center; + justify-content: center; + } + .popup-item-left { + width: 16vw; + padding-right: 20rpx; + text-align: right; + color: #606266; + } + .popup-item-right { + display: flex; + align-items: center; + width: 50vw; + height: 50rpx; + padding: 2px 5px; + border: 1px solid #E4E7ED; + border-radius: 5rpx; + } + .popup-item-right input{ + color: #606266; + } + .btn { + display: flex; + height: 90rpx; + margin-top: 20rpx; + border-top: 1px solid #DCDFE6; + justify-content: center; + align-items: center; + } + .btn-left { + display: flex; + flex: 1; + height: 100%; + justify-content: center; + align-items: center; + color: #e2231a; + border-right: 1px solid #DCDFE6; + } + .btn-right { + display: flex; + flex: 1; + justify-content: center; + align-items: center; + color: #409EFF; + } </style> -- Gitblit v1.9.1