From e0567bbd8a4d8766ceaa382a15ffabd3647df306 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期五, 16 一月 2026 16:34:29 +0800
Subject: [PATCH] fix: BOM不看需求总量
---
src/views/productionManagement/productStructure/Detail/index.vue | 41 ++++++++++++++++++++++++++++++++---------
1 files changed, 32 insertions(+), 9 deletions(-)
diff --git a/src/views/productionManagement/productStructure/Detail/index.vue b/src/views/productionManagement/productStructure/Detail/index.vue
index dda0834..20a472b 100644
--- a/src/views/productionManagement/productStructure/Detail/index.vue
+++ b/src/views/productionManagement/productStructure/Detail/index.vue
@@ -2,19 +2,20 @@
<div class="app-container">
<PageHeader content="浜у搧缁撴瀯璇︽儏">
<template #right-button>
- <el-button v-if="dataValue.isEdit"
+ <el-button v-if="dataValue.isEdit && !isOrderPage"
type="primary"
@click="addItem">娣诲姞
</el-button>
- <el-button v-if="!dataValue.isEdit"
+ <el-button v-if="!dataValue.isEdit && !isOrderPage"
type="primary"
@click="dataValue.isEdit = true">缂栬緫
</el-button>
- <el-button v-if="dataValue.isEdit"
+ <el-button v-if="dataValue.isEdit && !isOrderPage"
type="primary"
@click="cancelEdit">鍙栨秷
</el-button>
- <el-button type="primary"
+ <el-button v-if="!isOrderPage"
+ type="primary"
:loading="dataValue.loading"
@click="submit"
:disabled="!dataValue.isEdit">纭
@@ -92,7 +93,8 @@
</el-form-item>
</template>
</el-table-column>
- <el-table-column prop="demandedQuantity"
+ <el-table-column v-if="isOrderPage"
+ prop="demandedQuantity"
label="闇�姹傛�婚噺">
<template #default="{ row, $index }">
<el-form-item :prop="`dataList.${$index}.demandedQuantity`"
@@ -123,7 +125,8 @@
</el-table-column>
<el-table-column label="鎿嶄綔" fixed="right" width="100">
<template #default="{ row, $index }">
- <el-button type="danger"
+ <el-button v-if="dataValue.isEdit"
+ type="danger"
text
@click="dataValue.dataList.splice($index, 1)">鍒犻櫎
</el-button>
@@ -154,6 +157,7 @@
ref,
} from "vue";
import { queryList, add } from "@/api/productionManagement/productStructure.js";
+import { listProcessBom } from "@/api/productionManagement/productionOrder.js";
import { list } from "@/api/productionManagement/productionProcess";
import { ElMessage } from "element-plus";
import {useRoute, useRouter} from "vue-router";
@@ -183,6 +187,9 @@
const routeBomNo = computed(() => route.query.bomNo || '');
const routeProductName = computed(() => route.query.productName || '');
const routeProductModelName = computed(() => route.query.productModelName || '');
+const routeOrderId = computed(() => route.query.orderId);
+const pageType = computed(() => route.query.type);
+const isOrderPage = computed(() => pageType.value === 'order' && routeOrderId.value);
const dataValue = reactive({
dataList: [],
@@ -208,9 +215,15 @@
};
const fetchData = async () => {
- const { data } = await queryList(routeId.value);
- // 浜у搧淇℃伅浠庤矾鐢卞弬鏁拌幏鍙栵紝浼樺厛浣跨敤璺敱鍙傛暟
- dataValue.dataList = data || [];
+ if (isOrderPage.value) {
+ // 璁㈠崟鎯呭喌锛氫娇鐢ㄨ鍗曠殑浜у搧缁撴瀯鎺ュ彛
+ const { data } = await listProcessBom({ orderId: routeOrderId.value });
+ dataValue.dataList = data || [];
+ } else {
+ // 闈炶鍗曟儏鍐碉細浣跨敤鍘熸潵鐨勬帴鍙�
+ const { data } = await queryList(routeId.value);
+ dataValue.dataList = data || [];
+ }
};
const fetchProcessOptions = async () => {
@@ -271,6 +284,16 @@
};
onMounted(() => {
+ // 浠庤矾鐢卞弬鏁板洖鏄炬暟鎹�
+ tableData[0].productName = routeProductName.value;
+ tableData[0].model = routeProductModelName.value;
+ tableData[0].bomNo = routeBomNo.value;
+
+ // 璁㈠崟鎯呭喌涓嬬鐢ㄧ紪杈�
+ if (isOrderPage.value) {
+ dataValue.isEdit = false;
+ }
+
fetchData();
fetchProcessOptions();
});
--
Gitblit v1.9.3