| | |
| | | @change="handleProductChange" |
| | | style="width: 100%" /> |
| | | </el-form-item> |
| | | |
| | | <el-form-item label="产品规格" |
| | | prop="productMaterialSkuId"> |
| | | <el-select v-model="form.productMaterialSkuId" |
| | |
| | | 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(); |
| | | |
| | |
| | | clickFun: row => { |
| | | // 单独下发操作 |
| | | // 设置表单数据 |
| | | mergeForm.ids = [row.id]; |
| | | mergeForm.materialCode = row.materialCode; |
| | | mergeForm.productName = row.productName || ""; |
| | | mergeForm.specification = row.specification || ""; |
| | |
| | | // 新增/编辑相关 |
| | | 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, |
| | |
| | | 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, |
| | |
| | | |
| | | 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 => { |
| | |
| | | mergeForm.height = firstRow.height || 0; |
| | | mergeForm.totalAssignedQuantity = totalAssignedQuantity; |
| | | mergeForm.planCompleteTime = firstRow.planCompleteTime || ""; |
| | | mergeForm.ids = selectedRows.value.map(row => row.id); |
| | | |
| | | // 打开弹窗 |
| | | isShowNewModal.value = true; |
| | |
| | | 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 => { |