From 30d94f7d9627247f265b9566987a2514a6886ff7 Mon Sep 17 00:00:00 2001 From: zjj <3272660260@qq.com> Date: 星期二, 06 五月 2025 13:13:02 +0800 Subject: [PATCH] # --- pages/listing/matnrPalletising.vue | 291 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 291 insertions(+), 0 deletions(-) diff --git a/pages/listing/matnrPalletising.vue b/pages/listing/matnrPalletising.vue new file mode 100644 index 0000000..e7e0fa9 --- /dev/null +++ b/pages/listing/matnrPalletising.vue @@ -0,0 +1,291 @@ +<template> + <view class="has-foot"> + <form> + <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"> + <view class="title">鐗╂枡缂栫爜</view> + <input placeholder="璇锋壂鎻忕墿鏂欑紪鐮�" v-model="matnrCode"></input> + <text class='cuIcon-search text-blue' @click="search"></text> + </view> + </form> + + <view class="flex solid-bottom padding-sm justify-between"> + <view class="text-blue">鐗╂枡鎬荤被:{{list.length}}</view> + <view class="text-blue">缁勭洏鎬绘暟:{{allCount}}</view> + </view> + + <view class="padding-lr margin-top-sm"> + <block v-for="(item, index) in list" :key="index"> + <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.matnrCode}`}} + </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="megreQty" + :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" :disabled="repeatClick" @click="confirm">缁勭洏</button> + </view> + </view> +</template> + +<script> + import { + request + } from '../../common/request.js' + import { + mapState, + mapMutations, + mapActions, + mapGetters + } from 'vuex'; + export default { + data() { + return { + barcode: '', + container: '', + megreQty: '', + list: [], + range: [], + batch: '', + repeatClick: false, + isconfirm: false, + batch:'', + matnrCode:'', + max: 99999999, + } + }, + computed: { + ...mapState('user', ['dynamicFields']), + allCount() { + 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', { + matnrCode: this.matnrCode + }, "post") + if (code === 200) { + data && this.list.push(data); + } else { + uni.showToast({ + title: msg, + icon: "none", + 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); + }, + clear() { + this.list = [] + this.barcode = '' + }, + next() { + if (this.list.length) { + this.isconfirm = true + } else { + uni.showToast({ + icon: "none", + title: '鏈�夌墿鏂欐爣绛�' + }) + } + }, + prev() { + this.isconfirm = false + }, + async confirm() { + this.repeatClick = true + const newArr = this.list.map(item => { + return { + ...item, + anfme: item.anfme === null ? 0 : +item.anfme, + receiptQty: this.megreQty, + }; + }); + + const { + code, + data, + msg + } = await request('/waitPakin/merge', { + items: newArr, + barcode: this.container, + batch: this.batch, + }) + if (code === 200) { + uni.showToast({ + title: '缁勭洏鎴愬姛' + }) + this.list = [] + this.barcode = '' + this.container = '' + this.isconfirm = false + } else { + uni.showToast({ + title: msg, + icon: "none", + position: 'top' + }) + } + this.repeatClick = false + }, + } + } +</script> + +<style> + .index { + border: 1px solid #e54d42; + color: #e54d42; + border-radius: 50%; + display: block; + width: 50rpx; + height: 50rpx; + line-height: 48rpx; + text-align: center; + margin-right: 20rpx; + font-size: 30rpx; + } + + .text-blue { + color: #0081ff !important; + + } + + .act { + border: 1px solid #e54d42; + } + + .item { + position: relative; + display: flex; + min-height: 80upx; + align-items: center; + } +</style> \ No newline at end of file -- Gitblit v1.9.1