From 130a94e76d3c9c3cb016e9c5d2cd53f0239fdae6 Mon Sep 17 00:00:00 2001
From: z8018 <1282578289@qq.com>
Date: 星期四, 18 十二月 2025 15:05:35 +0800
Subject: [PATCH] Merge branch 'htq20251215' of http://115.159.85.185:8098/r/ZhongRui/ALDbanyunxiangmu into htq20251215
---
项目代码/WIDESEA_WMSClient/src/extension/outbound/extend/DirectOutbound.vue | 89 +++++++++++
项目代码/WIDESEA_WMSClient/src/extension/outbound/extend/outOrderDetail.vue | 357 +++----------------------------------------
2 files changed, 119 insertions(+), 327 deletions(-)
diff --git "a/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/DirectOutbound.vue" "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/DirectOutbound.vue"
new file mode 100644
index 0000000..c7dbe91
--- /dev/null
+++ "b/\351\241\271\347\233\256\344\273\243\347\240\201/WIDESEA_WMSClient/src/extension/outbound/extend/DirectOutbound.vue"
@@ -0,0 +1,89 @@
+<template>
+ <vol-box v-model="show" title="鐩存帴鍑哄簱" :width="800" :height="1200">
+ <template #content>
+ <el-form ref="form" :model="form" label-width="90px">
+ <el-form-item label="鍑哄簱鍖哄煙:">
+ <el-select v-model="station" placeholder="璇烽�夋嫨鍑哄簱鍖哄煙">
+ <el-option v-for="item in stations" :key="item.key" :label="item.label" :value="item.value">
+ </el-option>
+ </el-select>
+ </el-form-item>
+ </el-form>
+ <el-form ref="form" :model="form" label-width="90px" v-if="isBatch === 1">
+ <el-form-item label="鍑哄簱鏁伴噺:">
+ <el-input-number v-model="outboundQuantity" :controls="true" placeholder="璇烽�夋嫨鍑哄簱鏁伴噺"
+ style="width: 100%;"></el-input-number>
+ </el-form-item>
+ </el-form>
+ </template>
+ <template #footer>
+ <div>
+ <el-button type="danger" size="small" plain @click="submit">
+ <i class="el-icon-check">纭</i>
+ </el-button>
+ <el-button size="small" type="primary" plain @click="() => { this.show = false }">
+ <i class="el-icon-close">鍏抽棴</i>
+ </el-button>
+ </div>
+ </template>
+ </vol-box>
+</template>
+
+<script>
+import VolBox from '@/components/basic/VolBox.vue'
+import { stationManager, STATION_STORAGE_KEY } from "@/../src/uitils/stationManager";
+export default {
+ components: {
+ 'vol-box': VolBox
+ },
+ data() {
+ return {
+ outboundQuantity: 0,
+ show: false,
+ stations: [
+ { label: "绔欏彴2", value: "2-1" },
+ { label: "绔欏彴3", value: "3-1" },
+ ],
+ station: stationManager.getStation(),
+ orderNo: "",
+ keys: [],
+ isBatch: "",
+ }
+ },
+ methods: {
+ open(params) {
+ this.show = true,
+ this.orderNo = params.orderNo,
+ this.keys = params.detailIds,
+ this.isBatch = params.isBatch
+ if (params.isBatch == 1) {
+ this.outboundQuantity = params.outboundQuantity
+ }
+
+ },
+ submit() {
+ this.$emit('parentCall', ($vue) => {
+ const requestParams = {
+ detailIds: this.keys,
+ OutboundTargetLocation: this.station,
+ outboundQuantity: this.outboundQuantity,
+ operator: "",
+ orderNo: this.orderNo,
+ };
+ console.log(requestParams);
+ this.http.post("api/Outbound/ProcessPickingOutbound", requestParams, '鏁版嵁澶勭悊涓�...')
+ .then((x) => {
+ if (!x.status) {
+ this.$message.error(x.message)
+ } else {
+ this.show = false
+ this.$Message.success(x.message)
+ $vue.refresh();
+ }
+ })
+ })
+ },
+ }
+}
+</script>
+
\ No newline at end of file
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 7ee6b4a..f404b7b 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"
@@ -55,6 +55,7 @@
<stock-select ref="child" @parentCall="parentCall"></stock-select>
<selected-stock ref="selectedStock" @parentCall="parentCall"></selected-stock>
<NoStockOut ref="NoStockOut" @parentCall="parentCall"></NoStockOut>
+ <DirectOutbound ref="DirectOutbound" @parentCall="parentCall"></DirectOutbound>
</div>
</template>
@@ -64,6 +65,7 @@
import StockSelect from "./StockSelect.vue";
import SelectedStock from "./SelectedStock.vue";
import NoStockOut from "./NoStockOut.vue";
+import DirectOutbound from "./DirectOutbound.vue";
import { h, createVNode, render, reactive } from "vue";
import {
ElDialog,
@@ -77,7 +79,7 @@
} from "element-plus";
export default {
- components: { VolBox, VolForm, StockSelect, SelectedStock, NoStockOut },
+ components: { VolBox, VolForm, StockSelect, SelectedStock, NoStockOut, DirectOutbound },
data() {
return {
row: null,
@@ -164,14 +166,14 @@
width: 90,
bindKey: "orderDetailStatusEnum",
},
- {
- prop: "assignStock",
- title: "鎸囧畾搴撳瓨",
- type: "icon",
- width: 90,
- hidden: true, // 榛樿闅愯棌
- icon: "el-icon-s-grid",
- },
+ // {
+ // prop: "assignStock",
+ // title: "鎸囧畾搴撳瓨",
+ // type: "icon",
+ // width: 90,
+ // hidden: true, // 榛樿闅愯棌
+ // icon: "el-icon-s-grid",
+ // },
{
prop: "viewDetail",
title: "鍑哄簱璇︾粏",
@@ -328,146 +330,16 @@
if (this.selection.length === 0) {
return this.$message.error("璇烽�夋嫨鍗曟嵁鏄庣粏");
}
- const platformOptions = [
- { label: "绔欏彴2", value: "2-1" },
- { label: "绔欏彴3", value: "3-1" },
- ];
- const mountNode = document.createElement("div");
- document.body.appendChild(mountNode);
- const formData = reactive({
- selectedPlatform: platformOptions[0].value,
- });
-
- const vnode = createVNode(
- ElDialog,
- {
- title: "鍑哄簱鎿嶄綔 - 閫夋嫨鍑哄簱绔欏彴",
- width: "500px",
- modelValue: true,
- appendToBody: true,
- "onUpdate:modelValue": (isVisible) => {
- if (!isVisible) {
- render(null, mountNode);
- document.body.removeChild(mountNode);
- }
- },
- style: {
- padding: "20px 0",
- borderRadius: "8px",
- },
- },
- {
- default: () =>
- h(
- ElForm,
- {
- model: formData,
- rules: {
- selectedPlatform: [
- { required: true, message: "璇烽�夋嫨鍑哄簱绔欏彴", trigger: "change" },
- ],
- },
- ref: "outboundForm",
- labelWidth: "100px",
- style: {
- padding: "0 30px",
- },
- },
- [
- h(ElFormItem, {
- label: "鍑哄簱绔欏彴",
- prop: "selectedPlatform",
- style: {
- marginBottom: "24px",
- },
- }, [
- h(ElSelect, {
- placeholder: "璇烽�夋嫨鍑哄簱绔欏彴锛�3-12锛�",
- modelValue: formData.selectedPlatform,
- "onUpdate:modelValue": (val) => {
- formData.selectedPlatform = val;
- },
- style: {
- width: "100%",
- height: "40px",
- borderRadius: "4px",
- borderColor: "#dcdfe6",
- },
- }, platformOptions.map((platform) =>
- h(ElOption, { label: platform.label, value: platform.value })
- )),
- ]),
- h("div", {
- style: {
- textAlign: "right",
- marginTop: "8px",
- paddingRight: "4px",
- },
- }, [
- h(ElButton, {
- type: "text",
- onClick: () => {
- render(null, mountNode);
- document.body.removeChild(mountNode);
- ElMessage.info("鍙栨秷鍑哄簱鎿嶄綔");
- },
- style: {
- marginRight: "8px",
- color: "#606266",
- },
- }, "鍙栨秷"),
- h(ElButton, {
- type: "primary",
- onClick: async () => {
- const formRef = vnode.component.refs.outboundForm;
- try {
- await formRef.validate();
- } catch (err) {
- return;
- }
-
- const keys = this.selection.map((item) => item.id);
- const requestParams = {
- detailIds: keys,
- outboundTargetLocation: formData.selectedPlatform,
- outboundQuantity: 1,
- operator: "",
- orderNo: this.row.orderNo,
- };
-
- this.http
- .post(
- "api/Outbound/ProcessPickingOutbound",
- requestParams,
- "鏁版嵁澶勭悊涓�"
- )
- .then((x) => {
- if (!x.status) return ElMessage.error(x.message);
- ElMessage.success("鎿嶄綔鎴愬姛");
- this.showDetialBox = false;
- this.$emit("parentCall", ($vue) => {
- $vue.getData();
- });
- render(null, mountNode);
- document.body.removeChild(mountNode);
- })
- // .catch(() => {
- // ElMessage.error("璇锋眰澶辫触锛岃绋嶅悗閲嶈瘯");
- // });
- },
- style: {
- borderRadius: "4px",
- padding: "8px 20px",
- },
- }, "纭畾鍑哄簱"),
- ]),
- ]),
- }
- );
-
- vnode.appContext = this.$.appContext;
- render(vnode, mountNode);
+ const keys = this.selection.map((item) => item.id);
+ const requestParams = {
+ detailIds: keys,
+ operator: "",
+ orderNo: this.row.orderNo,
+ isBatch: this.isBatch
+ };
+ console.log(requestParams);
+ this.$refs.DirectOutbound.open(requestParams);
},
outboundbatch() {
if (this.selection.length === 0) {
@@ -476,186 +348,17 @@
if (this.selection.length > 1) {
return this.$message.error("鍙兘閫夋嫨涓�鏉″崟鎹槑缁嗚繘琛屽垎鎵瑰嚭搴�");
}
- const platformOptions = [
- { label: "绔欏彴2", value: "2-1" },
- { label: "绔欏彴3", value: "3-1" },
- ];
- const mountNode = document.createElement("div");
- document.body.appendChild(mountNode);
+ const keys = this.selection.map((item) => item.id);
+ const requestParams = {
+ detailIds: keys,
+ outboundQuantity: this.selection[0].orderQuantity,
+ operator: "",
+ orderNo: this.row.orderNo,
+ isBatch: this.isBatch
+ };
+ console.log(requestParams);
+ this.$refs.DirectOutbound.open(requestParams);
- const formData = reactive({
- selectedPlatform: platformOptions[0].value,
- outboundDecimal: "",
- });
-
- const vnode = createVNode(
- ElDialog,
- {
- title: "鍑哄簱鎿嶄綔 - 閫夋嫨鍑哄簱绔欏彴",
- width: "500px",
- modelValue: true,
- appendToBody: true,
- "onUpdate:modelValue": (isVisible) => {
- if (!isVisible) {
- render(null, mountNode);
- document.body.removeChild(mountNode);
- }
- },
- style: {
- padding: "20px 0",
- borderRadius: "8px",
- },
- },
- {
- default: () =>
- h(
- ElForm,
- {
- model: formData,
- rules: {
- selectedPlatform: [
- { required: true, message: "璇烽�夋嫨鍑哄簱绔欏彴", trigger: "change" },
- ],
- outboundDecimal: [
- { required: true, message: "璇疯緭鍏ュ皬鏁版暟鍊�", trigger: "blur" },
- {
- validator: (rule, value, callback) => {
- const decimalReg = /^(([1-9]\d*)|0)(\.\d{1,2})?$/;
- if (value && !decimalReg.test(value)) {
- callback(new Error("璇疯緭鍏ユ湁鏁堢殑灏忔暟锛堟鏁帮紝鏈�澶�2浣嶅皬鏁帮級"));
- } else {
- callback();
- }
- },
- trigger: "blur",
- },
- ],
- },
- ref: "outboundForm",
- labelWidth: "100px",
- style: {
- padding: "0 30px",
- },
- },
- [
- h(ElFormItem, {
- label: "鍑哄簱绔欏彴",
- prop: "selectedPlatform",
- style: {
- marginBottom: "24px",
- },
- }, [
- h(ElSelect, {
- placeholder: "璇烽�夋嫨鍑哄簱绔欏彴锛�3-12锛�",
- modelValue: formData.selectedPlatform,
- "onUpdate:modelValue": (val) => {
- formData.selectedPlatform = val;
- },
- style: {
- width: "100%",
- height: "40px",
- borderRadius: "4px",
- borderColor: "#dcdfe6",
- },
- }, platformOptions.map((platform) =>
- h(ElOption, { label: platform.label, value: platform.value })
- )),
- ]),
- h(ElFormItem, {
- label: "鍑哄簱鏁�",
- prop: "outboundDecimal",
- style: {
- marginBottom: "24px",
- },
- }, [
- h(ElInput, {
- type: "number",
- placeholder: "璇疯緭鍏ュ皬鏁版暟鍊硷紙鏈�澶�2浣嶅皬鏁帮級",
- modelValue: formData.outboundDecimal,
- "onUpdate:modelValue": (val) => {
- formData.outboundDecimal = val;
- },
- style: {
- width: "100%",
- height: "40px",
- borderRadius: "4px",
- borderColor: "#dcdfe6",
- },
- step: "0.01",
- precision: 2,
- min: 0.01,
- }),
- ]),
- h("div", {
- style: {
- textAlign: "right",
- marginTop: "8px",
- paddingRight: "4px",
- },
- }, [
- h(ElButton, {
- type: "text",
- onClick: () => {
- render(null, mountNode);
- document.body.removeChild(mountNode);
- ElMessage.info("鍙栨秷鍒嗘壒鍑哄簱鎿嶄綔");
- },
- style: {
- marginRight: "8px",
- color: "#606266",
- },
- }, "鍙栨秷"),
- h(ElButton, {
- type: "primary",
- onClick: async () => {
- const formRef = vnode.component.refs.outboundForm;
- try {
- await formRef.validate();
- } catch (err) {
- return;
- }
-
- const keys = this.selection.map((item) => item.id);
- const requestParams = {
- detailIds: keys,
- outboundTargetLocation: formData.selectedPlatform,
- outboundQuantity: formData.outboundDecimal,
- operator: "",
- orderNo: this.row.orderNo,
- };
-
- this.http
- .post(
- "api/Outbound/ProcessPickingOutbound",
- requestParams,
- "鏁版嵁澶勭悊涓�"
- )
- .then((x) => {
- if (!x.status) return ElMessage.error(x.message);
- ElMessage.success("鎿嶄綔鎴愬姛");
- this.showDetialBox = false;
- this.$emit("parentCall", ($vue) => {
- $vue.getData();
- });
- render(null, mountNode);
- document.body.removeChild(mountNode);
- })
- .catch(() => {
- ElMessage.error("璇锋眰澶辫触锛岃绋嶅悗閲嶈瘯");
- });
- },
- style: {
- borderRadius: "4px",
- padding: "8px 20px",
- },
- }, "纭畾鍒嗘壒鍑哄簱"),
- ]),
- ]),
- }
- );
-
- vnode.appContext = this.$.appContext;
- render(vnode, mountNode);
},
setCurrent(row) {
this.$refs.singleTable.setCurrentRow(row);
--
Gitblit v1.9.3