From d2e176fbee4edcca177301374baee508c67b9b45 Mon Sep 17 00:00:00 2001
From: DESKTOP-LMJ82IJ\Eno <creaycat@gmail.com>
Date: 星期六, 19 四月 2025 15:04:50 +0800
Subject: [PATCH] 新增入库上架功能
---
pages/listing/disc.vue | 175 +++++++++++++++++++++++++++++++++++++--------------------
1 files changed, 113 insertions(+), 62 deletions(-)
diff --git a/pages/listing/disc.vue b/pages/listing/disc.vue
index 394051a..bbd4641 100644
--- a/pages/listing/disc.vue
+++ b/pages/listing/disc.vue
@@ -4,6 +4,7 @@
<view class="cu-form-group margin-top">
<view class="title">瀹瑰櫒鍙�</view>
<input placeholder="璇锋壂鎻忓鍣ㄥ彿" v-model="container" focus></input>
+ <text class='cuIcon-search text-blue' @click="getList"></text>
</view>
<view class="cu-form-group ">
@@ -15,85 +16,98 @@
<view class="flex solid-bottom padding-sm justify-between">
<view class="text-blue">鐗╂枡鎬荤被:{{list.length}}</view>
- <view class="text-blue">鐗╂枡鎬绘暟:{{allCount}}</view>
+ <view class="text-blue">缁勭洏鎬绘暟:{{allCount}}</view>
</view>
- <view class="cu-list det menu sm-border padding">
+ <view class="padding-lr margin-top-sm">
<block v-for="(item, index) in list" :key="index">
- <view class="cu-bar bg-white solid-bottom margin-top-sm">
- <view class="action">
- <view class="index">
- {{index+1}}
+ <view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.trackCode===barcode&&'act']"
+ :ref="item.trackCode+'ref'">
+ <view class="cu-bar bg-white solid-bottom ">
+ <view class="action">
+ <view class="index">
+ {{index+1}}
+ </view>
+ <view class="text-blue">
+ {{`${item.maktx}`}}
+ </view>
</view>
- <view class="text-blue">
- {{`${item.maktx}`}}
+ <view class="action" v-if="!isconfirm">
+ <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
</view>
</view>
- <view class="action" v-if="!isconfirm">
- <text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <text class="text-black">ASN:</text>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-black">ASN:</text>
+ </view>
+ <view class="action">
+ <text class="text-grey ">{{item.asnCode}}</text>
+ </view>
</view>
- <view class="action">
- <text class="text-grey ">{{item.asnCode}}</text>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <text class="text-black">渚涘簲鍟嗘壒娆�:</text>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-black">鐗╂枡鏉$爜:</text>
+ </view>
+ <view class="action">
+ <text class="text-grey ">{{item.trackCode}}</text>
+ </view>
</view>
- <view class="action">
- <text class="text-grey ">{{item.splrBatch}}</text>
- </view>
- </view>
- <view class="cu-item">
- <view class="content">
- <text class="text-black">搴撳瓨鎵规:</text>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-black">渚涘簲鍟嗘壒娆�:</text>
+ </view>
+ <view class="action">
+ <text class="text-grey ">{{item.splrBatch}}</text>
+ </view>
</view>
- <view class="action">
- <text class="text-grey ">{{item.batch}}</text>
+
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-black">搴撳瓨鎵规:</text>
+ </view>
+ <view class="action">
+ <text class="text-grey ">{{item.batch}}</text>
+ </view>
</view>
- </view>
- <view class="cu-item">
- <view class="content">
- <text class="text-black">骞冲彴琛屽彿: <text class="text-grey ">{{item.platformId}}</text></text>
- </view>
- <view class="content">
- <text class="text-black">璐ㄦ缁撴灉: <text class="text-grey ">{{item.inspect}}</text></text>
- </view>
- </view>
-
- <view class="cu-item">
- <view class="content">
- <text class="text-black">搴撳瓨鍗曚綅: <text class="text-grey ">{{item.stockUnit}}</text></text>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-black">骞冲彴琛屽彿: <text class="text-grey ">{{item.platformId}}</text></text>
+ </view>
+ <view class="content">
+ <text class="text-black">璐ㄦ缁撴灉: <text class="text-grey ">{{item.inspect}}</text></text>
+ </view>
</view>
- <!-- <view class="content">
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-black">搴撳瓨鍗曚綅: <text class="text-grey ">{{item.stockUnit}}</text></text>
+ </view>
+
+ <!-- <view class="content">
<text class="text-black">璁″垝鏀惰揣鏁�: <text class="text-grey ">{{item.anfme}}</text></text>
</view> -->
- </view>
+ </view>
- <view class="cu-item">
- <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 class="cu-item">
+ <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>
+ <input type="number" placeholder="璇疯緭鍏ョ粍鐩樻暟閲�" v-model="item.anfme"></input>
</view>
- <input type="number" placeholder="璇疯緭鍏ョ粍鐩樻暟閲�" v-model="item.receiptQty"></input>
</view>
</view>
+
</view>
-
-
</block>
+
</view>
@@ -128,20 +142,24 @@
computed: {
...mapState('user', ['dynamicFields']),
allCount() {
- return this.list.reduce((acc, row) => +row.receiptQty + acc, 0) || 0
+ return this.list.reduce((acc, row) => +row.anfme + acc, 0) || 0
}
},
mounted() {},
methods: {
async search() {
+ const find = this.list.find(el => el.trackCode === this.barcode);
+ find ? this.scrollTo() : this.getDet();
+
+ },
+ async getDet() {
const {
code,
data,
msg
} = await request('/asnOrderItem/trackCode/' + this.barcode, {}, "get")
if (code === 200) {
- const find = this.list.find(el => el.id === data.id);
- !find && this.list.push(data)
+ data && this.list.push(data);
} else {
uni.showToast({
title: msg,
@@ -149,8 +167,31 @@
position: 'top'
})
}
-
-
+ },
+ async getList() {
+ const {
+ code,
+ data,
+ msg
+ } = await request('/asnOrderItem/container', {
+ barcode: this.container
+ })
+ if (code === 200) {
+ this.list = data
+ } else {
+ uni.showToast({
+ title: msg,
+ icon: "none",
+ position: 'top'
+ })
+ }
+ },
+ scrollTo() {
+ const ref = this.$refs[`${this.barcode}ref`][0];
+ uni.pageScrollTo({
+ scrollTop: ref.$el.offsetTop,
+ duration: 300
+ })
},
remove(index) {
this.list.splice(index, 1);
@@ -173,12 +214,20 @@
this.isconfirm = false
},
async confirm() {
+ const newArr = this.list.map(item => {
+ return {
+ ...item,
+ anfme: item.anfme === null ? 0 : + item.anfme,
+ receiptQty: item.anfme === null ? 0 : + item.anfme
+ };
+ });
+
const {
code,
data,
msg
} = await request('/waitPakin/merge', {
- items: this.list,
+ items: newArr,
barcode: this.container
})
if (code === 200) {
@@ -187,6 +236,7 @@
})
this.list = []
this.barcode = ''
+ this.container = ''
this.isconfirm = false
} else {
uni.showToast({
@@ -195,10 +245,7 @@
position: 'top'
})
}
-
-
},
-
}
}
</script>
@@ -222,6 +269,10 @@
}
+ .act {
+ border: 1px solid #e54d42;
+ }
+
.item {
position: relative;
display: flex;
--
Gitblit v1.9.1