From 08a7cd64ef63ff7b0718ed0b27a746075b9e6222 Mon Sep 17 00:00:00 2001
From: chen.lin <1442464845@qq.com>
Date: 星期五, 06 二月 2026 13:01:45 +0800
Subject: [PATCH] 组托优化
---
pages/listing/matnrPalletising.vue | 67 +++++++++++++++++++++++++++++++--
pages/login/index.vue | 2
2 files changed, 63 insertions(+), 6 deletions(-)
diff --git a/pages/listing/matnrPalletising.vue b/pages/listing/matnrPalletising.vue
index 7148980..0a72781 100644
--- a/pages/listing/matnrPalletising.vue
+++ b/pages/listing/matnrPalletising.vue
@@ -256,8 +256,9 @@
data[i].selected = true;
}
that.showBackData(data)
- // 鍔犺浇鐗╂枡鎴愬姛鍚庯紝娓呯┖鐗╂枡缂栫爜杈撳叆妗�
- that.matnrCode = '';
+ // 鍔犺浇鐗╂枡鎴愬姛鍚庯紝涓嶆竻绌虹墿鏂欑紪鐮佽緭鍏ユ锛屾柟渚胯繛缁壂鎻忎笉鍚岀墿鏂�
+ // 鐢ㄦ埛鍙互閫氳繃鎵嬪姩娓呯┖鎴栫偣鍑绘竻绌烘寜閽潵娓呯┖杈撳叆妗�
+ // 閲嶅鎵弿鍚屼竴鐗╂枡浼氶�氳繃showBackData涓殑鍘婚噸閫昏緫鑷姩杩囨护
} else {
uni.showToast({
title: msg || "鏌ヨ澶辫触",
@@ -303,14 +304,70 @@
}
},
showBackData(data) {
- // 杩藉姞鏂扮墿鏂欏埌鍒楄〃锛屽彧鏍规嵁id鍘婚噸锛屼笉闄愬埗璐ㄦ缁撴灉
+ // 杩藉姞鏂扮墿鏂欏埌鍒楄〃锛屾牴鎹墿鏂欑紪鐮佸拰璺熻釜鐮佺粍鍚堝幓閲�
+ let addedCount = 0;
+ let skippedCount = 0;
data.forEach(item => {
- // 妫�鏌ユ槸鍚﹀凡瀛樺湪鐩稿悓id鐨勭墿鏂欙紝濡傛灉涓嶅瓨鍦ㄥ垯杩藉姞
- const exists = this.list.some(existingItem => existingItem.id === item.id);
+ // 妫�鏌ユ槸鍚﹀凡瀛樺湪鐩稿悓鐨勭墿鏂�
+ const exists = this.list.some(existingItem => {
+ // 浼樺厛妫�鏌ョ墿鏂欑紪鐮侊紝濡傛灉鐗╂枡缂栫爜涓嶅悓锛岃涓烘槸涓嶅悓鐗╂枡锛屽厑璁告坊鍔�
+ if (existingItem.matnrCode && item.matnrCode) {
+ // 涓や釜閮芥湁鐗╂枡缂栫爜锛屽鏋滀笉鍚屽垯鍏佽娣诲姞
+ if (existingItem.matnrCode !== item.matnrCode) {
+ return false; // 鐗╂枡缂栫爜涓嶅悓锛屼笉瀛樺湪锛屽厑璁告坊鍔�
+ }
+ // 鐗╂枡缂栫爜鐩稿悓锛岀户缁鏌ュ叾浠栧瓧娈�
+ } else if (existingItem.matnrCode || item.matnrCode) {
+ // 涓�涓湁涓�涓病鏈夌墿鏂欑紪鐮侊紝璁や负鏄笉鍚岀墿鏂欙紝鍏佽娣诲姞
+ return false;
+ }
+ // 涓や釜閮芥病鏈夌墿鏂欑紪鐮侊紝缁х画妫�鏌ュ叾浠栧瓧娈�
+ // 濡傛灉涓や釜閮芥湁id涓旂浉鍚岋紝璁や负鏄悓涓�鐗╂枡
+ if (existingItem.id && item.id && existingItem.id === item.id) {
+ return true;
+ }
+ // 鐗╂枡缂栫爜鐩稿悓锛堟垨閮戒负绌猴級锛屾鏌ヨ窡韪爜锛堝鏋滄湁璺熻釜鐮侊紝璺熻釜鐮佷笉鍚屽垯鍏佽娣诲姞锛�
+ if (existingItem.trackCode && item.trackCode) {
+ // 閮芥湁璺熻釜鐮侊紝璺熻釜鐮佺浉鍚屽垯璁や负鏄悓涓�鐗╂枡
+ return existingItem.trackCode === item.trackCode;
+ }
+ // 鐗╂枡缂栫爜鐩稿悓锛屾鏌SN鍗曞彿锛堝鏋滄湁ASN鍗曞彿锛孉SN鍗曞彿涓嶅悓鍒欏厑璁告坊鍔狅級
+ if (existingItem.asnCode && item.asnCode) {
+ // 閮芥湁ASN鍗曞彿锛孉SN鍗曞彿鐩稿悓鍒欒涓烘槸鍚屼竴鐗╂枡
+ return existingItem.asnCode === item.asnCode;
+ }
+ // 鐗╂枡缂栫爜鐩稿悓锛屼絾閮芥病鏈夎窡韪爜鍜孉SN鍗曞彿锛堥兘鏄粠鐗╂枡淇℃伅琛ㄨ幏鍙栫殑锛夛紝璁や负鏄悓涓�鐗╂枡
+ if (existingItem.matnrCode === item.matnrCode &&
+ !existingItem.trackCode && !item.trackCode &&
+ !existingItem.asnCode && !item.asnCode) {
+ return true;
+ }
+ // 鐗╂枡缂栫爜鐩稿悓锛屼絾涓�涓病鏈夎窡韪爜/ASN锛屽彟涓�涓湁锛岃涓烘槸涓嶅悓鐗╂枡锛屽厑璁告坊鍔�
+ // 鎴栬�呬袱涓兘娌℃湁鐗╂枡缂栫爜涓旀病鏈夊叾浠栧敮涓�鏍囪瘑锛屼篃鍏佽娣诲姞锛堝彲鑳芥槸涓嶅悓鐗╂枡锛�
+ return false;
+ });
if (!exists) {
this.list.push(item);
+ addedCount++;
+ } else {
+ skippedCount++;
}
});
+ // 濡傛灉鎵�鏈夌墿鏂欓兘宸插瓨鍦紝鎻愮ず鐢ㄦ埛
+ if (addedCount === 0 && skippedCount > 0) {
+ uni.showToast({
+ title: "璇ョ墿鏂欏凡娣诲姞锛岃鎵弿鍏朵粬鐗╂枡",
+ icon: "none",
+ position: 'top',
+ duration: 1500
+ });
+ } else if (addedCount > 0) {
+ // 鎴愬姛娣诲姞鐗╂枡鍚庯紝寤惰繜娓呯┖鐗╂枡缂栫爜杈撳叆妗嗭紝鏂逛究杩炵画鎵弿涓嶅悓鐗╂枡
+ // 寤惰繜300ms娓呯┖锛岃鐢ㄦ埛鍙互蹇�熻繛缁壂鎻忎笉鍚岀殑鐗╂枡
+ setTimeout(() => {
+ this.matnrCode = '';
+ }, 300);
+ }
},
showMsg(msg) {
setTimeout(function() {
diff --git a/pages/login/index.vue b/pages/login/index.vue
index 2929bb8..95fe23c 100644
--- a/pages/login/index.vue
+++ b/pages/login/index.vue
@@ -12,7 +12,7 @@
</view>
<view class="logoView">
<image src="/static/img/newLogo.png" mode="aspectFit">
- </image>
+ </image>
</view>
<view class="bottomView">
<view class="itemView" style="margin-bottom: 40px;">
--
Gitblit v1.9.1