From befe56903ca496dfa9bd176a5daa3669e8965ce9 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期一, 16 六月 2025 12:39:23 +0800 Subject: [PATCH] # --- pages/listing/disc.vue | 250 ++++++++++++++++++++++++++++++++------------------ 1 files changed, 160 insertions(+), 90 deletions(-) diff --git a/pages/listing/disc.vue b/pages/listing/disc.vue index 394051a..1eb779b 100644 --- a/pages/listing/disc.vue +++ b/pages/listing/disc.vue @@ -4,9 +4,9 @@ <view class="cu-form-group margin-top"> <view class="title">瀹瑰櫒鍙�</view> <input placeholder="璇锋壂鎻忓鍣ㄥ彿" v-model="container" focus></input> - </view> - - <view class="cu-form-group "> + <text class='cuIcon-search text-blue' @click="getList"></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> @@ -15,93 +15,103 @@ <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> - <view class="text-blue"> - {{`${item.maktx}`}} - </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> - <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.splrBatch}}</text> - </view> - </view> - - <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 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> - - <!-- <view class="content"> - <text class="text-black">璁″垝鏀惰揣鏁�: <text class="text-grey ">{{item.anfme}}</text></text> - </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-list det menu sm-border margin-bottom-sm " + :ref="item.trackCode+'ref'"> + <view class="cu-bar bg-white solid-bottom "> + <view class="action"> + <view class="index"> + {{index+1}} </view> - <input type="number" placeholder="璇疯緭鍏ョ粍鐩樻暟閲�" v-model="item.receiptQty"></input> + <view class="text-blue"> + {{`${item.maktx}`}} + </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> + <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.trackCode}}</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> + </view> + <view class="action"> + <text class="text-grey ">{{item.batch}}</text> + </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> + <view class="content"> + <text class="text-black">鏀惰揣鏁伴噺: <text class="text-grey ">{{item.anfme}}</text></text> + </view> + <view class="content"> + <text class="text-black">宸蹭笂鏋舵暟閲�: <text + class="text-grey ">{{item.workQty + item.qty}}</text></text> + </view> + </view> + <view class="cu-item"> + <view class="content"> + <text class="text-black">鍙粍鐩樻暟閲�: <text + class="text-grey ">{{item.anfme - item.workQty}}</text></text> + </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> + <uni-number-box style="width: 70%;" :max="max" v-model="item.receiptQty" + :step='1'></uni-number-box> + </view> </view> </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> + <button class="cu-btn bg-blue shadow-blur" :disabled="repeatClick" @click="confirm">缁勭洏</button> </view> - </view> </template> @@ -120,28 +130,47 @@ return { barcode: '', container: '', + megreQty: '', list: [], range: [], - isconfirm: false + repeatClick: false, + isconfirm: false, + max: 99999999, + } }, 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() { + if (this.barcode == undefined || this.barcode == '') { + uni.showToast({ + icon: "none", + title: '鐗╂枡鏍囩涓嶈兘涓虹┖锛侊紒' + }) + return + } + this.getDet(); + }, + async getDet() { const { code, data, msg - } = await request('/asnOrderItem/trackCode/' + this.barcode, {}, "get") + } = await request('/asnOrderItem/trackCode', { + code: this.barcode, + }, "post") if (code === 200) { - const find = this.list.find(el => el.id === data.id); - !find && this.list.push(data) + for (var i = 0; i < data.length; i++) { + data[i].receiptQty =1; + data[i].selected = false; + } + this.list = data } else { uni.showToast({ title: msg, @@ -149,8 +178,38 @@ position: 'top' }) } - - + }, + async getList() { + if (this.container == undefined || this.container == '') { + uni.showToast({ + icon: "none", + title: '瀹瑰櫒鍙蜂笉鑳戒负绌猴紒锛�' + }) + return + } + 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,13 +232,21 @@ this.isconfirm = false }, async confirm() { + this.repeatClick = true + const newArr = this.list.map(item => { + return { + ...item, + anfme: item.anfme === null ? 0 : +item.anfme, + }; + }); + const { code, data, msg } = await request('/waitPakin/merge', { - items: this.list, - barcode: this.container + items: newArr, + barcode: this.container, }) if (code === 200) { uni.showToast({ @@ -187,6 +254,7 @@ }) this.list = [] this.barcode = '' + this.container = '' this.isconfirm = false } else { uni.showToast({ @@ -195,10 +263,8 @@ position: 'top' }) } - - + this.repeatClick = false }, - } } </script> @@ -222,6 +288,10 @@ } + .act { + border: 1px solid #e54d42; + } + .item { position: relative; display: flex; -- Gitblit v1.9.1