From 1378fc4cd7abc24ed3a982e09437c2c8a74e9f2f Mon Sep 17 00:00:00 2001
From: 647556386 <647556386@qq.com>
Date: 星期二, 27 一月 2026 19:06:32 +0800
Subject: [PATCH] 代码优化
---
项目代码/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue | 231 ++++++++++++++++++++++++++++++++++++++++++---------------
1 files changed, 169 insertions(+), 62 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue"
index 462d5bd..59d95f2 100644
--- "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue"
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue"
@@ -1,6 +1,12 @@
<template>
<div>
- <vol-box v-model="showDetialBox" :lazy="true" width="75%" :padding="15" title="鍗曟嵁鏄庣粏淇℃伅">
+ <vol-box
+ v-model="showDetialBox"
+ :lazy="true"
+ width="75%"
+ :padding="15"
+ title="鍗曟嵁鏄庣粏淇℃伅"
+ >
<div class="box-head">
<el-alert :closable="false" style="width: 100%">
<el-row>
@@ -8,33 +14,97 @@
<span>宸查�変腑 {{ selection.length }} 椤�</span>
</el-col>
<el-col :span="8">
- <el-link type="primary" size="small" v-if="isBatch === 0" style="float: right; height: 20px"
- @click="handleOpenPicking">鎷i��</el-link>
- <el-link type="primary" size="small" style="float: right; height: 20px; margin-right: 10px"
- v-if="isBatch === 1" @click="handleOpenBatchPicking">鍒嗘壒鎷i��</el-link>
- <el-link type="primary" size="small" v-if="isBatch === 0"
- style="float: right; height: 20px; margin-right: 10px" @click="outbound">鐩存帴鍑哄簱</el-link>
- <el-link type="primary" size="small" v-if="isBatch === 1"
- style="float: right; height: 20px; margin-right: 10px" @click="outboundbatch">鍒嗘壒鍑哄簱</el-link>
- <el-link type="primary" size="small" style="float: right; height: 20px; margin-right: 10px"
- @click="getData">鍒锋柊</el-link>
+ <el-link
+ type="primary"
+ size="small"
+ v-if="isBatch === 0 && mainBusinessType != '30'"
+ style="float: right; height: 20px"
+ @click="handleOpenPicking"
+ >鎷i��</el-link
+ >
+ <el-link
+ type="primary"
+ size="small"
+ v-if="mainBusinessType === '30'"
+ style="float: right; height: 20px"
+ @click="handleOpenRecheckPicking"
+ >閲嶆鎷i��</el-link
+ >
+ <el-link
+ type="primary"
+ size="small"
+ style="float: right; height: 20px; margin-right: 10px"
+ v-if="isBatch === 1"
+ @click="handleOpenBatchPicking"
+ >鍒嗘壒鎷i��</el-link
+ >
+ <el-link
+ type="primary"
+ size="small"
+ v-if="isBatch === 0 && mainBusinessType != '30'"
+ style="float: right; height: 20px; margin-right: 10px"
+ @click="outbound"
+ >鐩存帴鍑哄簱</el-link
+ >
+ <el-link
+ type="primary"
+ size="small"
+ v-if="isBatch === 1"
+ style="float: right; height: 20px; margin-right: 10px"
+ @click="outboundbatch"
+ >鍒嗘壒鍑哄簱</el-link
+ >
+ <el-link
+ type="primary"
+ size="small"
+ style="float: right; height: 20px; margin-right: 10px"
+ @click="getData"
+ >鍒锋柊</el-link
+ >
</el-col>
</el-row>
</el-alert>
</div>
<div class="box-table" style="margin-top: 1%">
- <el-table ref="singleTable" :data="tableData" style="width: 100%; height: 100%" highlight-current-row
- @current-change="handleCurrentChange" height="500px" @row-click="handleRowClick"
- @selection-change="handleSelectionChange">
+ <el-table
+ ref="singleTable"
+ :data="tableData"
+ style="width: 100%; height: 100%"
+ highlight-current-row
+ @current-change="handleCurrentChange"
+ height="500px"
+ @row-click="handleRowClick"
+ @selection-change="handleSelectionChange"
+ >
<el-table-column type="selection" width="55"> </el-table-column>
- <el-table-column label="搴忓彿" type="index" fixed="left" width="55" align="center"></el-table-column>
- <el-table-column v-for="(item, index) in tableColumns.filter((x) => !x.hidden)" :key="index" :prop="item.prop"
- :label="item.title" :width="item.width" align="center">
+ <el-table-column
+ label="搴忓彿"
+ type="index"
+ fixed="left"
+ width="55"
+ align="center"
+ ></el-table-column>
+ <el-table-column
+ v-for="(item, index) in tableColumns.filter((x) => !x.hidden)"
+ :key="index"
+ :prop="item.prop"
+ :label="item.title"
+ :width="item.width"
+ align="center"
+ >
<template #default="scoped">
<div v-if="item.type == 'icon'">
- <el-tooltip class="item" effect="dark" :content="item.title" placement="bottom">
- <el-link type="primary" :disabled="getButtonEnable(item.prop, scoped.row)"
- @click="tableButtonClick(scoped.row, item)">
+ <el-tooltip
+ class="item"
+ effect="dark"
+ :content="item.title"
+ placement="bottom"
+ >
+ <el-link
+ type="primary"
+ :disabled="getButtonEnable(item.prop, scoped.row)"
+ @click="tableButtonClick(scoped.row, item)"
+ >
<i :class="item.icon" style="font-size: 22px"></i>
</el-link>
</el-tooltip>
@@ -53,9 +123,15 @@
</div>
</vol-box>
<stock-select ref="child" @parentCall="parentCall"></stock-select>
- <selected-stock ref="selectedStock" @parentCall="parentCall"></selected-stock>
+ <selected-stock
+ ref="selectedStock"
+ @parentCall="parentCall"
+ ></selected-stock>
<NoStockOut ref="NoStockOut" @parentCall="parentCall"></NoStockOut>
- <DirectOutbound ref="DirectOutbound" @parentCall="parentCall"></DirectOutbound>
+ <DirectOutbound
+ ref="DirectOutbound"
+ @parentCall="parentCall"
+ ></DirectOutbound>
</div>
</template>
@@ -79,7 +155,14 @@
} from "element-plus";
export default {
- components: { VolBox, VolForm, StockSelect, SelectedStock, NoStockOut, DirectOutbound },
+ components: {
+ VolBox,
+ VolForm,
+ StockSelect,
+ SelectedStock,
+ NoStockOut,
+ DirectOutbound,
+ },
data() {
return {
row: null,
@@ -150,6 +233,12 @@
{
prop: "moveQty",
title: "鎸枡鏁伴噺",
+ type: "string",
+ width: 90,
+ },
+ {
+ prop: "warehouseCode",
+ title: "浠撳簱缂栧彿",
type: "string",
width: 90,
},
@@ -290,14 +379,16 @@
});
},
tableButtonClick(row, column) {
- if (column.prop == "assignStock") {
- this.$refs.child.open(row);
- } else if (column.prop == "NoStockOut") {
- this.$refs.NoStockOut.open(row);
- } else {
- this.$refs.selectedStock.open(row);
- }
- },
+ if (column.prop == "assignStock") {
+ this.$refs.child.open(row,this.row.orderNo);
+ } else if (column.prop == "NoStockOut") {
+ this.$refs.NoStockOut.open(row);
+ } else {
+ this.$refs.selectedStock.open(row);
+
+ }
+},
+
lockstocks() {
if (this.selection.length === 0) {
return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
@@ -326,39 +417,55 @@
query: { orderId: this.row.id, orderNo: this.row.orderNo },
});
},
+ handleOpenRecheckPicking() {
+ this.$router.push({
+ path: "/outbound/recheckOutPicking",
+ query: { orderId: this.row.id, orderNo: this.row.orderNo },
+ });
+ },
outbound() {
- if (this.selection.length === 0) {
- return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
- }
+ if (this.selection.length === 0) {
+ return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
+ }
- const keys = this.selection.map((item) => item.id);
- const requestParams = {
- detailIds: keys,
- outboundQuantity: 1,
- operator: "",
- orderNo: this.row.orderNo,
- isBatch: this.isBatch
- };
- console.log(requestParams);
- this.$refs.DirectOutbound.open(requestParams);
- },
- outboundbatch() {
- if (this.selection.length === 0) {
- return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
- }
+ const keys = this.selection.map((item) => item.id);
+ const requestParams = {
+ detailIds: keys,
+ outboundQuantity: 1,
+ operator: "",
+ orderNo: this.row.orderNo,
+ isBatch: this.isBatch,
+ };
+ console.log(requestParams);
+ this.$refs.DirectOutbound.open(requestParams);
+ },
+
+ outboundbatch() {
+ if (this.selection.length === 0) {
+ return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
+ }
- const keys = this.selection.map((item) => item.id);
- const requestParams = {
- detailIds: keys,
- outboundQuantity: this.selection.length > 1 ? 1 : this.selection[0].orderQuantity - this.selection[0].lockQuantity,
- operator: "",
- orderNo: this.row.orderNo,
- isBatch: this.isBatch
- };
- console.log(requestParams);
- this.$refs.DirectOutbound.open(requestParams);
+ const keys = this.selection.map((item) => item.id);
+
+ // 璁$畻鎵�鏈夐�変腑鏄庣粏鐨勫彲鍑哄簱鏁伴噺鎬诲拰
+ let totalOutboundQuantity = 0;
+ this.selection.forEach(item => {
+ // 绫诲瀷杞崲+瀹归敊锛岄伩鍏嶉潪鏁板瓧鍊煎鑷磋绠楅敊璇�
+ const orderQty = Number(item.orderQuantity) || 0;
+ const lockQty = Number(item.lockQuantity) || 0;
+ totalOutboundQuantity += (orderQty - lockQty);
+ });
- },
+ const requestParams = {
+ detailIds: keys,
+ outboundQuantity: totalOutboundQuantity,
+ operator: "",
+ orderNo: this.row.orderNo,
+ isBatch: this.isBatch,
+ };
+ console.log("鍒嗘壒鍑哄簱鍙傛暟锛�", requestParams);
+ this.$refs.DirectOutbound.open(requestParams);
+ },
setCurrent(row) {
this.$refs.singleTable.setCurrentRow(row);
},
@@ -445,11 +552,11 @@
background: oldlace;
}
-.box-table .el-table tbody tr:hover>td {
+.box-table .el-table tbody tr:hover > td {
background-color: #d8e0d4 !important;
}
-.box-table .el-table tbody tr.current-row>td {
+.box-table .el-table tbody tr.current-row > td {
background-color: #f0f9eb !important;
}
--
Gitblit v1.9.3