From f673cacb46e1d8dc7fdc44dadf0a859a60a4bc17 Mon Sep 17 00:00:00 2001
From: verou <857149855@qq.com>
Date: 星期四, 10 四月 2025 11:06:37 +0800
Subject: [PATCH] fix:组盘重写

---
 pages/inspect/check.vue  |  213 +++++++++++++++---------------
 pages/listing/upper.vue  |    1 
 pages/listing/disc.vue   |  172 +++++++++++++++--------
 pages/home/index.vue     |    8 
 pages/listing/labour.vue |    4 
 pages/listing/untie.vue  |   10 +
 6 files changed, 233 insertions(+), 175 deletions(-)

diff --git a/pages/home/index.vue b/pages/home/index.vue
index 0c6f3d2..475cebb 100644
--- a/pages/home/index.vue
+++ b/pages/home/index.vue
@@ -43,13 +43,13 @@
 				</navigator>
 			</view>
 
-			<view class="cu-item">
+			<!-- 			<view class="cu-item">
 				<navigator hover-class='none' url="/pages/listing/untie" navigateTo>
 					<view class="cuIcon-cardboardforbid text-blue">
 					</view>
 					<text>瑙g粦</text>
 				</navigator>
-			</view>
+			</view> -->
 
 			<view class="cu-item">
 				<navigator hover-class='none' url="/pages/inspect/report" navigateTo>
@@ -67,13 +67,13 @@
 				</navigator>
 			</view>
 
-			<!-- 	<view class="cu-item">
+			<view class="cu-item">
 				<navigator hover-class='none' url="/pages/inspect/bad" navigateTo>
 					<view class="cuIcon-appreciate text-blue">
 					</view>
 					<text>璐х墿鏍囪</text>
 				</navigator>
-			</view> -->
+			</view>
 
 
 			<view class="cu-item">
diff --git a/pages/inspect/check.vue b/pages/inspect/check.vue
index db45236..f3f1bbb 100644
--- a/pages/inspect/check.vue
+++ b/pages/inspect/check.vue
@@ -4,116 +4,115 @@
 			<view class="cu-form-group margin-top">
 				<view class="title">璐ㄦ鍗�</view>
 				<input placeholder="璇锋壂鎻忚川妫�鍗�" v-model="isptCode" focus></input>
+				<text class='cuIcon-search text-blue' @click="search"></text>
 			</view>
 
 			<view class="cu-form-group ">
 				<view class="title">鐗╂枡鐮�</view>
 				<input placeholder="璇锋壂鎻忕墿鏂欑爜" v-model="barcode"></input>
-				<text class='cuIcon-search text-blue' @click="search"></text>
+				<text class='cuIcon-search text-blue' @click="scrollTo"></text>
 			</view>
 		</form>
 
-
-
-		<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> -->
-						<view class="text-blue">
-							{{`${item.maktx}`}}
+				<view class="cu-list det menu sm-border margin-bottom-sm " :class="[item.matnrCode===barcode&&'act']"
+					:ref="item.matnrCode+'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="action">
+							<text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
 						</view>
 					</view>
-					<!-- 	<view class="action" >
-						<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>
-					<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>
-					<view class="action">
-						<text class="text-grey ">{{item.splrName}}</text>
-					</view>
-				</view>
-
-				<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="cu-item">
-					<view class="content">
-						<text class="text-black">鏀惰揣鏁伴噺: <text class="text-grey ">{{item.rcptQty}}</text></text>
-					</view>
-
-					<view class="content">
-						<text class="text-black">閫佽揣鏁伴噺: <text class="text-grey ">{{item.dlyQty}}</text></text>
-					</view>
-				</view>
-
-
-
-
-				<view class="cu-item">
-					<view class="content">
-						<view class="cu-form-group padding-lr-0">
-							<view class="title text-blue">鍚堟牸鏁伴噺:</view>
-							<input type="number" placeholder="璇疯緭鍏ュ悎鏍兼暟閲�" v-model="item.safeQty"></input>
+					<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>
 
-				<view class="cu-item">
-					<view class="content">
-						<view class="cu-form-group padding-lr-0">
-							<view class="title text-blue">涓嶅悎鏍兼暟閲�:</view>
-							<input type="number" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺" v-model="item.disQty"></input>
+					<view class="cu-item">
+						<view class="content">
+							<text class="text-black">渚涘簲鍟�:</text>
+						</view>
+						<view class="action">
+							<text class="text-grey ">{{item.splrName}}</text>
 						</view>
 					</view>
-				</view>
 
-				<view class="cu-item">
-					<view class="content">
-						<view class="cu-form-group padding-lr-0">
-							<view class="title text-blue">璐ㄦ缁撹:</view>
-
-							<uni-data-select placement='top' v-model="item.isptResult" :localdata="range"
-								placeholder="璇疯緭鍏ヨ川妫�缁撹"></uni-data-select>
+					<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>
 
-				<view class="cu-form-group align-start">
-					<view class="title text-blue">澶囨敞</view>
-					<textarea v-model="item.memo" placeholder="璇疯緭鍏ュ娉�"></textarea>
-				</view>
 
-				<!-- 	<view class="cu-form-group">
+					<view class="cu-item">
+						<view class="content">
+							<text class="text-black">鏀惰揣鏁伴噺: <text class="text-grey ">{{item.rcptQty}}</text></text>
+						</view>
+
+						<view class="content">
+							<text class="text-black">閫佽揣鏁伴噺: <text class="text-grey ">{{item.dlyQty}}</text></text>
+						</view>
+					</view>
+
+					<view class="cu-item">
+						<view class="content">
+							<view class="cu-form-group padding-lr-0">
+								<view class="title text-blue">鍚堟牸鏁伴噺:</view>
+								<input type="number" placeholder="璇疯緭鍏ュ悎鏍兼暟閲�" v-model="item.safeQty"></input>
+							</view>
+						</view>
+					</view>
+
+					<view class="cu-item">
+						<view class="content">
+							<view class="cu-form-group padding-lr-0">
+								<view class="title text-blue">涓嶅悎鏍兼暟閲�:</view>
+								<input type="number" placeholder="璇疯緭鍏ヤ笉鍚堟牸鏁伴噺" v-model="item.disQty"></input>
+							</view>
+						</view>
+					</view>
+
+					<view class="cu-item">
+						<view class="content">
+							<view class="cu-form-group padding-lr-0">
+								<view class="title text-blue">璐ㄦ缁撹:</view>
+
+								<uni-data-select placement='top' v-model="item.isptResult" :localdata="range"
+									placeholder="璇疯緭鍏ヨ川妫�缁撹"></uni-data-select>
+							</view>
+						</view>
+					</view>
+
+					<view class="cu-form-group align-start">
+						<view class="title text-blue">澶囨敞</view>
+						<textarea v-model="item.memo" placeholder="璇疯緭鍏ュ娉�"></textarea>
+					</view>
+
+					<!-- 	<view class="cu-form-group">
 					<uni-file-picker limit="9" title="鐓х墖"></uni-file-picker>
 				</view> -->
 
+
+				</view>
 			</block>
 		</view>
-
-
 		<view class="cu-bar btn-group foot">
 			<button class="cu-btn text-blue line-blue shadow" @click="clear">娓呯┖</button>
 			<button class="cu-btn bg-blue shadow-blur" @click="confirm">鎻愪氦</button>
@@ -165,10 +164,9 @@
 					msg
 				} = await request('/inspect/query', {
 					isptCode: this.isptCode,
-					matnrCode: this.barcode
 				})
 				if (code === 200) {
-					this.list = [data]
+					this.list = data
 				} else {
 					uni.showToast({
 						title: msg,
@@ -186,33 +184,32 @@
 				this.list = []
 				this.barcode = ''
 			},
-
+			scrollTo() {
+				const ref = this.$refs[`${this.barcode}ref`][0];
+				uni.pageScrollTo({
+					scrollTop: ref.$el.offsetTop,
+					duration: 300
+				})
+			},
 			async confirm() {
-				const row = this.list[0]
-				if (row.safeQty > 0 || row.disQty > 0) {
-					const {
-						code,
-						data,
-						msg
-					} = await request('/inspect/check/update', row)
-					if (code === 200) {
-						uni.showToast({
-							title: '璐ㄦ鎴愬姛'
-						})
-						this.list = []
-						this.barcode = ''
-					} else {
-						uni.showToast({
-							title: msg,
-							icon: "none",
-						})
-					}
+				const {
+					code,
+					data,
+					msg
+				} = await request('/inspect/check/update', this.list)
+				if (code === 200) {
+					uni.showToast({
+						title: '璐ㄦ鎴愬姛'
+					})
+					this.list = []
+					this.barcode = ''
 				} else {
 					uni.showToast({
-						title: '璇峰~鍐欐暟閲�',
+						title: msg,
 						icon: "none",
 					})
 				}
+
 
 
 			},
@@ -240,6 +237,10 @@
 
 	}
 
+	.act {
+		border: 1px solid #e54d42;
+	}
+
 	.item {
 		position: relative;
 		display: flex;
diff --git a/pages/listing/disc.vue b/pages/listing/disc.vue
index 394051a..94af0d2 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.receiptQty"></input>
 							</view>
-							<input type="number" placeholder="璇疯緭鍏ョ粍鐩樻暟閲�" v-model="item.receiptQty"></input>
 						</view>
 					</view>
+
 				</view>
-
-
 			</block>
+
 		</view>
 
 
@@ -134,14 +148,18 @@
 		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,19 @@
 				this.isconfirm = false
 			},
 			async confirm() {
+				const newArr = this.list.map(item => {
+					return {
+						...item,
+						receiptQty: item.receiptQty === null ? 0 : +item.receiptQty
+					};
+				});
+
 				const {
 					code,
 					data,
 					msg
 				} = await request('/waitPakin/merge', {
-					items: this.list,
+					items: newArr,
 					barcode: this.container
 				})
 				if (code === 200) {
@@ -187,6 +235,7 @@
 					})
 					this.list = []
 					this.barcode = ''
+					this.container = ''
 					this.isconfirm = false
 				} else {
 					uni.showToast({
@@ -195,10 +244,7 @@
 						position: 'top'
 					})
 				}
-
-
 			},
-
 		}
 	}
 </script>
@@ -222,6 +268,10 @@
 
 	}
 
+	.act {
+		border: 1px solid #e54d42;
+	}
+
 	.item {
 		position: relative;
 		display: flex;
diff --git a/pages/listing/labour.vue b/pages/listing/labour.vue
index c22cac1..4e17f7f 100644
--- a/pages/listing/labour.vue
+++ b/pages/listing/labour.vue
@@ -31,9 +31,9 @@
 							{{`${item.maktx}`}}
 						</view>
 					</view>
-					<!-- 	<view class="action" >
+					<view class="action">
 						<text @click="remove(index)" class="cuIcon-close text-red" style="font-size: 24px;"></text>
-					</view> -->
+					</view>
 				</view>
 
 				<view class="cu-item">
diff --git a/pages/listing/untie.vue b/pages/listing/untie.vue
index 9645a1a..b00f8ad 100644
--- a/pages/listing/untie.vue
+++ b/pages/listing/untie.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' </text>
 			</view>
 
 			<view class="cu-form-group ">
@@ -142,8 +143,13 @@
 						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);
diff --git a/pages/listing/upper.vue b/pages/listing/upper.vue
index 41b88e6..8e1804c 100644
--- a/pages/listing/upper.vue
+++ b/pages/listing/upper.vue
@@ -153,6 +153,7 @@
 					})
 				}
 			},
+
 			remove(index) {
 				this.list.splice(index, 1);
 			},

--
Gitblit v1.9.1