From 629c4afb413904f4b6e83ea4d8224fb981da7113 Mon Sep 17 00:00:00 2001
From: zhou zhou <3272660260@qq.com>
Date: 星期二, 10 三月 2026 10:34:14 +0800
Subject: [PATCH] #
---
pages/outbound/container_rebinding/container_rebinding.vue | 195 +++++++++++++++++++++++++-------------
pages/outbound/orderOut/orderDetlList.vue | 60 +++++++++++
2 files changed, 188 insertions(+), 67 deletions(-)
diff --git a/pages/outbound/container_rebinding/container_rebinding.vue b/pages/outbound/container_rebinding/container_rebinding.vue
index e87d1e3..57146ed 100644
--- a/pages/outbound/container_rebinding/container_rebinding.vue
+++ b/pages/outbound/container_rebinding/container_rebinding.vue
@@ -6,6 +6,7 @@
<input
placeholder="璇锋壂瀹瑰櫒鏉$爜"
v-model="container"
+ @input="search"
/>
<!-- <text class='cuIcon-search text-blue' @click="search"></text> -->
</view>
@@ -18,49 +19,125 @@
</view>
</form>
- <view class="cu-list det menu sm-border padding">
+ <view
+ class="padding-lr margin-top-sm"
+ style="padding-bottom: 120upx"
+ >
<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.matnrCode}` }}
+ </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" >
- <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">鐗╂枡鍚嶇О:</text>
+ <text class="text-grey">{{ item.maktx }}</text>
+ </view>
</view>
- <view class="action">
- <text class="text-grey">{{ item.asnCode }}</text>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-black">鍗曟嵁缂栫爜:</text>
+ </view>
+ <view class="action">
+ <text class="text-grey">
+ {{ item.platOrderCode }}
+ </text>
+ </view>
</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.platWorkCode }}
+ </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.splrBatch }}</text>
+ </view>
</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 class="text-grey">
+ {{ item.unit }}
+ </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="action">
- <text class="text-grey">{{ item.anfme }}</text>
+ <view class="cu-item">
+ <view class="content">
+ <text class="text-black">
+ 鍙敤鏁伴噺:
+ <text class="text-grey">
+ {{ item.ableQty }}
+ </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%"
+ :min="0"
+ :max="item.ableQty"
+ :decimal="2"
+ :step="0.01"
+ v-model="item.inputQty"
+ ></uni-number-box>
+ </view>
+ </view>
</view>
</view>
</block>
@@ -144,7 +221,8 @@
curCode: '',
agvStationInput: '', // AGV绔欑偣杈撳叆鍊�
agvStationName: '',
- buttonPermissions: [] // 鎸夐挳鏉冮檺鍒楄〃
+ buttonPermissions: [], // 鎸夐挳鏉冮檺鍒楄〃,
+ isconfirm: false
}
},
computed: {
@@ -156,41 +234,14 @@
console.log('褰撳墠椤甸潰鎸夐挳鏉冮檺:', this.buttonPermissions)
},
methods: {
- async checkAgvStation() {
- const that = this
- if (this.container === '' || this.container === null) {
- uni.showToast({
- title: '瀹瑰櫒鐮佷负绌�',
- icon: 'none',
- position: 'top'
- })
- return
- }
- const { code, data, msg } = await request('/check/agvStation', {
- transferStationNo: this.agvStationInput
- })
- if (code === 200) {
- this.agvStationName = data.stationName
- } else {
- uni.showToast({
- title: msg,
- icon: 'none',
- position: 'top'
- })
- setTimeout(function () {
- that.agvStationName = ''
- that.agvStationInput = ''
- }, 200)
- }
- },
async search() {
- const { code, data, msg } = await request('/stock/operate/list', {
- barcode: this.container,
- sta: this.barcode
- })
+ const { code, data, msg } = await request(
+ '/orderOut/taskItemList',
+ {
+ containerNo: this.container
+ }
+ )
if (code === 200) {
- // const find = this.list.find(el => el.id === data.id);
- // !find &&
this.list = data
} else {
uni.showToast({
@@ -245,11 +296,23 @@
})
return
}
+ if (
+ this.list === '' ||
+ this.list === null ||
+ this.list.length === 0
+ ) {
+ uni.showToast({
+ title: '鏄庣粏涓嶈兘涓虹┖',
+ icon: 'none'
+ })
+ return
+ }
const { code, data, msg } = await request(
'/orderOut/containerRebinding',
{
containerNo: this.container,
- newContainerNo: this.newContainer
+ newContainerNo: this.newContainer,
+ taskItemList: this.list
}
)
if (code === 200) {
diff --git a/pages/outbound/orderOut/orderDetlList.vue b/pages/outbound/orderOut/orderDetlList.vue
index 178fb73..5e6d40f 100644
--- a/pages/outbound/orderOut/orderDetlList.vue
+++ b/pages/outbound/orderOut/orderDetlList.vue
@@ -15,6 +15,15 @@
<text class="header-value">{{ order.wkType$ || '-' }}</text>
</view>
</view>
+ <view class="header-actions">
+ <button
+ class="cu-btn bg-white text-blue round header-btn"
+ :disabled="waveLoading"
+ @click="generateWave"
+ >
+ {{ waveLoading ? '鐢熸垚涓�...' : '鐢熸垚娉㈡' }}
+ </button>
+ </view>
</view>
<!-- 鎼滅储妗� -->
@@ -140,7 +149,8 @@
condition: '',
menuList: [],
order: '',
- loading: false
+ loading: false,
+ waveLoading: false
}
},
computed: {
@@ -290,6 +300,44 @@
this.loading = false
}
},
+ // 鐢熸垚娉㈡
+ async generateWave() {
+ if (!this.order || !this.order.code || this.waveLoading) return
+ this.waveLoading = true
+ try {
+ const res = await request('/orderOut/all/in', {
+ orderNo: this.order.code
+ })
+
+ if (res.code === 200) {
+ uni.showToast({
+ title: res.msg || '娉㈡鐢熸垚鎴愬姛',
+ icon: 'none',
+ position: 'top'
+ })
+ this.getOrderNoList(this.order)
+ } else if (res.code === 403) {
+ uni.showToast({
+ title: res.msg,
+ icon: 'none',
+ position: 'top'
+ })
+ setTimeout(() => {
+ uni.reLaunch({ url: '../login/login' })
+ }, 1000)
+ } else {
+ uni.showToast({
+ title: res.msg || '娉㈡鐢熸垚澶辫触',
+ icon: 'none',
+ position: 'top'
+ })
+ }
+ } catch (err) {
+ // request.js 宸茬粡澶勭悊浜嗛敊璇彁绀�
+ } finally {
+ this.waveLoading = false
+ }
+ },
// 閫夋嫨鏄庣粏杩涜鍑哄簱
chose(item) {
if (item.ableQty <= 0) {
@@ -339,6 +387,16 @@
padding: 12rpx 16rpx;
}
+.header-actions {
+ display: flex;
+ justify-content: flex-end;
+ margin-top: 16rpx;
+}
+
+.header-btn {
+ min-width: 180rpx;
+}
+
.header-row {
display: flex;
justify-content: space-between;
--
Gitblit v1.9.1