From 3a770819f22efdc0ecb0ba57de0ac64f08421c55 Mon Sep 17 00:00:00 2001
From: skyouc
Date: 星期四, 13 十一月 2025 16:54:20 +0800
Subject: [PATCH] 波次拣货功能优化
---
pages/outbound/wavePickItem.vue | 203 ++++++++++++++++++++++----------------------------
1 files changed, 88 insertions(+), 115 deletions(-)
diff --git a/pages/outbound/wavePickItem.vue b/pages/outbound/wavePickItem.vue
index 452fa27..be72aea 100644
--- a/pages/outbound/wavePickItem.vue
+++ b/pages/outbound/wavePickItem.vue
@@ -7,98 +7,52 @@
</view> -->
<view class="cu-form-group" v-show="!isconfirm">
<view class="title">瀹瑰櫒鍙�</view>
- <input placeholder="璇锋壂鎻忓鍣ㄥ彿" v-model="barcode" focus></input>
+ <input placeholder="璇锋壂鎻忓鍣ㄥ彿" v-model="barcode" focus></input>
<text class='cuIcon-close text-gray margin-right-xs' v-show="barcode!==''" @click="clearCode"></text>
<text class='cuIcon-search text-blue' @click="search"></text>
</view>
-
</form>
-
-
-
- <view class="cu-list det menu sm-border padding">
- <block v-for="(item, index) in list">
- <view class="cu-list det menu ">
-
- <view class="cu-bar bg-white solid-bottom margin-top-sm">
- <view class="action">
- <view class="index">
- {{index+1}}
- </view>
- </view>
- <view class="content2">
- <text class="text-gray"><text class="text-black ">{{item.exceStatus$}}</text></text>
- </view>
- </view>
-
+ <view class="cu-list det menu sm-border">
+ <view class="cu-list det menu noMargin cyan" v-for="(item2,index2) in list" @click="clickTaskItem(index2)">
<view class="cu-item">
<view class="content">
- <text class="text-gray">鐗╂枡缂栫爜:<text class="text-black ">{{item.taskItem.matnrCode}}</text></text>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <text class="text-gray">鐗╂枡鍚嶇О:<text class="text-black ">{{item.taskItem.maktx}}</text></text>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <text class="text-gray">鎬绘暟閲�:<text class="text-black ">{{item.taskItem.anfme}}</text></text>
- </view>
- </view>
-
- </view>
- <view class="cu-list det menu noMargin " v-for="(item2,index2) in item.wkOrderItems">
- <view class="cu-item">
- <view class="content">
- <text class="text-gray">{{index2+1}}.</text>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <text class="text-gray">璁㈠崟鍙�:<text class="text-black ">{{item2.asnCode}}</text></text>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <text class="text-gray">闇�姹傛暟閲�:<text class="text-black ">{{item2.anfme}}</text></text>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <text class="text-gray">宸叉嫞鏁伴噺:<text class="text-black ">{{item2.qty}}</text></text>
- </view>
- </view>
- <view class="cu-item" v-show="item2.anfme !== item2.qty">
- <view class="content">
- <view class="cu-form-group padding-lr-0">
- <view class="title text-blue"><text
- class="text-red text-xl vertical-middle">*</text>鎷�:</view>
- <uni-number-box style="width: 70%;" :max="max" v-model="item2.demandQty"
- :step='1' ></uni-number-box>
- </view>
- </view>
+ <text class="text-gray">{{index2+1}}.</text>
</view>
</view>
<view class="cu-item">
<view class="content">
- <text class="text-gray">鏈鎷h揣鏁伴噺:<text class="text-black ">{{item.wkOrderItems.reduce((total, item) => total + (Number(item.demandQty) ||0 ) , 0)}}</text></text>
- </view>
+ <text class="text-gray">鍑哄簱鍗曞彿锛�<text class="text-black ">{{item2.orderCode}}</text></text>
+ </view>
</view>
-
- </block>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-gray">DO鍗曞彿锛�<text class="text-black ">{{item2.poCode}}</text></text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-gray">鍝佺鍙风爜锛�<text class="text-black ">{{item2.matnrCode}}</text></text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-gray">鍝佺鍚嶇О锛�<text class="text-black ">{{item2.maktx}}</text></text>
+ </view>
+ </view>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-gray">闇�姹傛暟閲忥細<text class="text-black ">{{item2.anfme}}</text></text>
+ </view>
+ <view class="content">
+ <text class="text-gray">宸叉嫞鏁伴噺锛�<text class="text-black ">{{item2.qty}}</text></text>
+ </view>
+ </view>
+ </view>
</view>
-
-
-
-
<view class="cu-bar btn-group foot" v-show="!isconfirm">
- <button class="cu-btn text-blue line-blue shadow" @click="clear">娓呯┖</button>
- <button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="complete">鎷h揣瀹屾垚</button>
+ <!-- <button class="cu-btn text-blue line-blue shadow" @click="clear">娓呯┖</button> -->
+ <button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="complete">瀹屾垚</button>
</view>
-
-
-
</view>
</template>
@@ -115,43 +69,61 @@
export default {
data() {
return {
- wave:'',
- list: [],
+ wave: '',
+ list: [],
isconfirm: false,
- barcode:'',
+ barcode: '',
max: 99999999,
- repeatClick:false
-
+ repeatClick: false,
}
},
- computed: {
- allCount() {
- return this.list.reduce((acc, row) => +row.receiptQty + acc, 0)
- },
-
+ computed: {
+ ...mapState('user', ['dynamicFields']),
+ ...mapState('user', {
+ dynFields: state => state.dynamicFields
+ }),
+ // allCount() {
+ // return this.list.reduce((acc, row) => +row.receiptQty + acc, 0)
+ // },
},
mounted() {
-
+
},
onLoad() {
let that = this
const eventChannel = this.getOpenerEventChannel();
-
eventChannel.on('waveItem', function(data) {
that.wave = data.data
-
})
-
+
},
methods: {
+ //鐐瑰嚮浜嬩欢
+ clickTaskItem(index) {
+ let that = this
+ uni.navigateTo({
+ url: "./PickItemDetl",
+ // 閫氳繃eventChannel鍚戣鎵撳紑椤甸潰浼犻�佹暟鎹�
+ success: function(res) {
+ res.eventChannel.emit('pickItemDetl', {
+ data: {
+ ...that.list[index],
+ barcode: that.barcode,
+ }
+ })
+ }
+ });
+ },
+
clear() {
this.barcode = ''
this.list = []
},
clearCode() {
- this.barcode = ''
+ this.barcode = ''
},
async search() {
+ let that = this;
this.list = []
// if(this.barcode === '' || this.barcode ===null){
// return ;
@@ -160,62 +132,61 @@
code,
data,
msg
- } = await request('/getContainerWaveList',{
- barcode:this.barcode
- }
- )
- if (code === 200) {
- if (Object.keys(data).length === 0){
+ } = await request('/getContainerWaveList', {
+ barcode: this.barcode
+ })
+ if (code === 200) {
+ if (Object.keys(data).length === 0) {
uni.showToast({
title: "璇ユ爣绛炬湭鏌ヨ鍒版暟鎹�",
icon: "none",
position: 'top'
})
}
- this.list.push(...data)
-
- }else if(code == 401){
+ that.list.push(...data)
+ console.log(that.list);
+
+ } else if (code == 401) {
setTimeout(() => {
uni.removeStorageSync('token');
uni.reLaunch({
url: "/pages/login/login"
});
}, 1000);
- }else {
+ } else {
uni.showToast({
title: msg,
icon: "none",
position: 'top'
})
}
-
-
+
+
},
async complete() {
-
let that = this
- if(that.barcode === '' || that.barcode === null){
+ if (that.barcode === '' || that.barcode === null) {
uni.showToast({
title: "瀹瑰櫒鍙蜂负绌�",
icon: "error",
})
- return ;
+ return;
}
- if(that.list === [] || that.list.length === 0){
+ if (that.list === [] || that.list.length === 0) {
uni.showToast({
title: "鎷h揣鏄庣粏涓虹┖",
icon: "error",
})
- return ;
+ return;
}
this.repeatClick = true
const {
code,
data,
msg
- } = await request('/saveWavePick',{
- container:that.barcode,
- containerWaveDtos:that.list
+ } = await request('/saveWavePick', {
+ container: that.barcode,
+ containerWaveDtos: that.list
})
if (code === 200) {
uni.showToast({
@@ -260,7 +231,8 @@
min-height: 80upx;
align-items: center;
}
- .content2 {
+
+ .content2 {
/* background-color: coral; */
width: 100%;
display: flex;
@@ -270,7 +242,8 @@
margin-right: 10px;
color: #0081ff;
}
- .noMargin{
+
+ .noMargin {
margin-top: 0px;
padding: 5px;
}
--
Gitblit v1.9.1