From 65c6a24024ad223ba2bdffee2c4c3d47b2d3f456 Mon Sep 17 00:00:00 2001
From: zhangwencui <1064582902@qq.com>
Date: 星期四, 12 三月 2026 17:36:23 +0800
Subject: [PATCH] 下发流程修改、产品维护增加拉取数据
---
src/api/basicData/newProduct.js | 7 +++
src/views/basicData/product/index.vue | 22 ++++++++++-
src/views/productionPlan/productionPlan/index.vue | 51 +++++++++++++------------
3 files changed, 54 insertions(+), 26 deletions(-)
diff --git a/src/api/basicData/newProduct.js b/src/api/basicData/newProduct.js
index 186f343..6ee80b3 100644
--- a/src/api/basicData/newProduct.js
+++ b/src/api/basicData/newProduct.js
@@ -123,4 +123,11 @@
method: 'get',
params: query
})
+}
+// 鎷夊彇鏁版嵁
+export function loadData() {
+ return request({
+ url: '/productMaterial/loadData',
+ method: 'get',
+ })
}
\ No newline at end of file
diff --git a/src/views/basicData/product/index.vue b/src/views/basicData/product/index.vue
index c4c8f06..c6a9795 100644
--- a/src/views/basicData/product/index.vue
+++ b/src/views/basicData/product/index.vue
@@ -12,6 +12,9 @@
<el-button type="primary"
@click="openProDia1('addOne')"
style="margin-left: 10px">鏂板浜у搧澶х被</el-button>
+ <el-button type="primary"
+ @click="getloadData"
+ style="margin-left: 10px">鎷夊彇鏁版嵁</el-button>
</div>
<div ref="containerRef">
<el-tree ref="tree"
@@ -280,6 +283,7 @@
addOrEditProductConfig,
updateOrEditProductConfig,
delProductConfig,
+ loadData,
} from "@/api/basicData/newProduct.js";
import ImportExcel from "./ImportExcel/index.vue";
@@ -301,6 +305,20 @@
const expandedKeys = ref([]);
const inventoryCategoryList = ref([]);
const materialTypeList = ref([]);
+
+ const getloadData = () => {
+ loadData()
+ .then(res => {
+ getInventoryCategoryList();
+ getMaterialTypeList();
+ getProductTreeList();
+ tableData.value = [];
+ isShowButton.value = false;
+ })
+ .catch(err => {
+ console.error("鎷夊彇澶辫触:", err);
+ });
+ };
// 鑾峰彇瀛樿揣绫诲埆鍒楄〃
const getInventoryCategoryList = () => {
@@ -772,8 +790,8 @@
gap: 20px;
}
.left {
- width: 450px;
- min-width: 450px;
+ width: 465px;
+ min-width: 465px;
background: #ffffff;
border-radius: 8px;
box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
diff --git a/src/views/productionPlan/productionPlan/index.vue b/src/views/productionPlan/productionPlan/index.vue
index 79925a4..4e0220a 100644
--- a/src/views/productionPlan/productionPlan/index.vue
+++ b/src/views/productionPlan/productionPlan/index.vue
@@ -244,7 +244,6 @@
@change="handleProductChange"
style="width: 100%" />
</el-form-item>
-
<el-form-item label="浜у搧瑙勬牸"
prop="productMaterialSkuId">
<el-select v-model="form.productMaterialSkuId"
@@ -343,7 +342,7 @@
productionPlanCombine,
} from "@/api/productionPlan/productionPlan.js";
import PIMTable from "./components/PIMTable.vue";
- import {modelListPage, productTreeList} from "@/api/basicData/newProduct.js";
+ import { modelListPage, productTreeList } from "@/api/basicData/newProduct.js";
const { proxy } = getCurrentInstance();
@@ -491,6 +490,7 @@
clickFun: row => {
// 鍗曠嫭涓嬪彂鎿嶄綔
// 璁剧疆琛ㄥ崟鏁版嵁
+ mergeForm.ids = [row.id];
mergeForm.materialCode = row.materialCode;
mergeForm.productName = row.productName || "";
mergeForm.specification = row.specification || "";
@@ -566,8 +566,8 @@
// 鏂板/缂栬緫鐩稿叧
const dialogVisible = ref(false);
const operationType = ref("add"); // add | edit
- const productOptions = ref([])
- const specificationOptions = ref([])
+ const productOptions = ref([]);
+ const specificationOptions = ref([]);
const formRef = ref(null);
const form = reactive({
id: undefined,
@@ -630,10 +630,10 @@
productOptions.value = convertIdToValue(res.data);
return res;
});
- }
+ };
- const convertIdToValue = (data) => {
- return data.map((item) => {
+ const convertIdToValue = data => {
+ return data.map(item => {
const newItem = {
value: `config_${item.configId}`, // 浣跨敤config_鍓嶇紑纭繚鍞竴鎬�
label: item.configName,
@@ -648,29 +648,31 @@
return newItem;
});
- }
+ };
- const handleProductChange = (value) => {
- form.productMaterialSkuId = undefined
- fetchSpecificationOptions(value)
- }
+ const handleProductChange = value => {
+ form.productMaterialSkuId = undefined;
+ fetchSpecificationOptions(value);
+ };
- const fetchSpecificationOptions = (materialId) => {
- specificationOptions.value = []
+ const fetchSpecificationOptions = materialId => {
+ specificationOptions.value = [];
if (materialId) {
- modelListPage({ materialId: materialId}).then(res => {
+ modelListPage({ materialId: materialId }).then(res => {
specificationOptions.value = res.data;
});
}
- }
+ };
- const handleChangeSpecification = (value) => {
- form.materialCode = undefined
- const selectedModel = specificationOptions.value.find((item) => item.id === value)
+ const handleChangeSpecification = value => {
+ form.materialCode = undefined;
+ const selectedModel = specificationOptions.value.find(
+ item => item.id === value
+ );
if (selectedModel) {
- form.materialCode = selectedModel.materialCode
+ form.materialCode = selectedModel.materialCode;
}
- }
+ };
// 鐢熸垚妯℃嫙杩涘害璇︽儏鏁版嵁
const generateProgressDetails = status => {
@@ -887,6 +889,7 @@
mergeForm.height = firstRow.height || 0;
mergeForm.totalAssignedQuantity = totalAssignedQuantity;
mergeForm.planCompleteTime = firstRow.planCompleteTime || "";
+ mergeForm.ids = selectedRows.value.map(row => row.id);
// 鎵撳紑寮圭獥
isShowNewModal.value = true;
@@ -906,16 +909,16 @@
return;
}
- mergeForm.ids = selectedRows.value.map(row => row.id);
console.log(mergeForm, "mergeForm");
productionPlanCombine(mergeForm)
.then(res => {
if (res.code === 200) {
- ElMessage.success("鍚堝苟涓嬪彂鎴愬姛");
+ ElMessage.success("涓嬪彂鎴愬姛");
+ getList();
isShowNewModal.value = false;
// 鍙互閫夋嫨鍒锋柊鍒楄〃鎴栧叾浠栨搷浣�
} else {
- ElMessage.error(res.message || "鍚堝苟涓嬪彂澶辫触");
+ ElMessage.error(res.message || "涓嬪彂澶辫触");
}
})
.catch(err => {
--
Gitblit v1.9.3