| src/views/productionManagement/productStructure/Detail/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
| src/views/productionManagement/productStructure/StructureEdit.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/views/productionManagement/productStructure/Detail/index.vue
@@ -101,13 +101,15 @@ <el-form-item :prop="`dataList.${$index}.unitQuantity`" :rules="[{ required: true, message: '请输入单位产出所需数量', trigger: ['blur','change'] }]" style="margin: 0"> <el-input-number v-model="row.unitQuantity" <el-input-number v-if="dataValue.isEdit" v-model="row.unitQuantity" :min="0" :precision="2" :precision="3" :step="1" controls-position="right" style="width: 100%" :disabled="!dataValue.isEdit" /> <span v-else>{{ formatDecimalValue(row.unitQuantity) }}</span> </el-form-item> </template> </el-table-column> @@ -232,15 +234,31 @@ dataValue.showProductDialog = true; }; const formatDecimalValue = ( value: number | string | null | undefined ) => { const numericValue = Number(value); if (Number.isNaN(numericValue)) { return value; } return Number(numericValue.toFixed(3)); }; const normalizeProductStructureList = (list: any[] = []) => list.map((item: any) => ({ ...item, unitQuantity: formatDecimalValue(item.unitQuantity ?? 0), })); const fetchData = async () => { if (isOrderPage.value) { // 订单情况:使用订单的产品结构接口 const { data } = await listProcessBom({ orderId: routeOrderId.value }); dataValue.dataList = data || []; dataValue.dataList = normalizeProductStructureList(data) as typeof dataValue.dataList; } else { // 非订单情况:使用原来的接口 const { data } = await queryList(routeId.value); dataValue.dataList = data || []; dataValue.dataList = normalizeProductStructureList(data) as typeof dataValue.dataList; } }; @@ -268,8 +286,8 @@ if (valid) { add({ bomId: routeId.value, productStructureList: dataValue.dataList || [], }).then(res => { productStructureList: normalizeProductStructureList(dataValue.dataList as any[]), }).then(() => { router.push({ path: '/productionManagement/productionManagement/productStructure/index', }) @@ -316,4 +334,4 @@ fetchData(); fetchProcessOptions(); }); </script> </script> src/views/productionManagement/productStructure/StructureEdit.vue
@@ -84,13 +84,15 @@ <el-form-item :prop="`dataList.${$index}.unitQuantity`" :rules="[{ required: true, message: '请输入单位产出所需数量', trigger: ['blur','change'] }]" style="margin: 0"> <el-input-number v-model="row.unitQuantity" <el-input-number v-if="dataValue.isEdit" v-model="row.unitQuantity" :min="0" :precision="2" :precision="3" :step="1" controls-position="right" style="width: 100%" :disabled="!dataValue.isEdit" /> <span v-else>{{ formatDecimalValue(row.unitQuantity) }}</span> </el-form-item> </template> </el-table-column> @@ -244,9 +246,25 @@ dataValue.showProductDialog = true; }; const formatDecimalValue = ( value: number | string | null | undefined ) => { const numericValue = Number(value); if (Number.isNaN(numericValue)) { return value; } return Number(numericValue.toFixed(3)); }; const normalizeProductStructureList = (list: any[] = []) => list.map((item: any) => ({ ...item, unitQuantity: formatDecimalValue(item.unitQuantity ?? 0), })); const fetchData = async () => { const { data } = await queryList(props.record.id); dataValue.dataList = data; dataValue.dataList = normalizeProductStructureList(data) as typeof dataValue.dataList; }; const fetchProcessOptions = async () => { @@ -272,8 +290,8 @@ if (valid) { add({ parentId: props.record.id, productStructureList: dataValue.dataList || [], }).then(res => { productStructureList: normalizeProductStructureList(dataValue.dataList as any[]), }).then(() => { ElMessage.success("保存成功"); visible.value = false; dataValue.loading = false; @@ -308,4 +326,4 @@ fetchData(); fetchProcessOptions(); }); </script> </script>