| | |
| | | type: Number, |
| | | default: 120 |
| | | }, |
| | | /** 本次生产数量(成型工序用于计算投入重量) */ |
| | | /** 本次生产数量(成型工序用于计算投入重量/数量) */ |
| | | quantity: { |
| | | type: Number, |
| | | default: null |
| | |
| | | type: Boolean, |
| | | default: false |
| | | }, |
| | | /** 工单 BOM 投入重量,非成型工序回显到「投入重量」 */ |
| | | /** 工单 BOM 投入重量,非成型工序回显到「投入重量/数量」 */ |
| | | bomInputQty: { |
| | | type: Number, |
| | | default: null |
| | |
| | | list: [] as any[], |
| | | }); |
| | | |
| | | const INPUT_WEIGHT_PARAM_ITEM = "投入重量/数量"; |
| | | |
| | | /** 参数项展示名(兼容库内旧名「投入重量」) */ |
| | | const displayParameterItem = (name) => { |
| | | const trimmed = String(name ?? "").trim(); |
| | | if (trimmed === "投入重量") return INPUT_WEIGHT_PARAM_ITEM; |
| | | return trimmed; |
| | | }; |
| | | |
| | | const fieldLabel = (item: any) => { |
| | | const parameterItem = displayParameterItem(item.parameterItem); |
| | | if (!item.unit || item.unit === "/") { |
| | | return item.parameterItem; |
| | | return parameterItem; |
| | | } |
| | | return `${item.parameterItem}(${item.unit})`; |
| | | return `${parameterItem}(${item.unit})`; |
| | | }; |
| | | |
| | | const getType = (item: any) => item.type || "文本格式"; |
| | |
| | | const result: Record<string, any[]> = {}; |
| | | formData.list.forEach((item, index) => { |
| | | if (String(item.isRequired) === "1") { |
| | | result[`list.${index}.value`] = [{required: true, message: `请输入${item.parameterItem}`, trigger: "blur"}]; |
| | | result[`list.${index}.value`] = [{ |
| | | required: true, |
| | | message: `请输入${displayParameterItem(item.parameterItem)}`, |
| | | trigger: "blur" |
| | | }]; |
| | | } |
| | | }); |
| | | return result; |
| | |
| | | |
| | | const normalizeUnit = (unit) => String(unit ?? "").trim().toLowerCase(); |
| | | |
| | | const isInputWeightItem = (item) => |
| | | String(item?.parameterItem ?? "").includes("投入重量") && |
| | | normalizeUnit(item?.unit) === "kg"; |
| | | const isInputWeightItem = (item) => { |
| | | const name = String(item?.parameterItem ?? "").trim(); |
| | | return (name === "投入重量" || name.includes(INPUT_WEIGHT_PARAM_ITEM)) && |
| | | normalizeUnit(item?.unit) === "kg"; |
| | | }; |
| | | |
| | | const isBlankCoeffItem = (item) => |
| | | String(item?.parameterItem ?? "").includes("生坯系数") && |
| | | normalizeUnit(item?.unit) === "g"; |
| | | |
| | | /** 投入重量(KG) = 本次生产数量 × 生坯系数(g) / 1000 */ |
| | | /** 投入重量/数量(KG) = 本次生产数量 × 生坯系数(g) / 1000 */ |
| | | const syncFormingInputWeight = () => { |
| | | if (!props.isFormingProcess) return; |
| | | const weightItem = formData.list.find(isInputWeightItem); |
| | |
| | | weightItem.value = Number(((qty * coeff) / 1000).toFixed(4)); |
| | | }; |
| | | |
| | | /** 非成型:投入重量取工单 bomInputQty(仅回显,不覆盖用户已编辑的值) */ |
| | | /** 非成型:投入重量/数量取工单 bomInputQty(仅回显,不覆盖用户已编辑的值) */ |
| | | const syncBomInputWeight = (force = false) => { |
| | | if (props.isFormingProcess) return; |
| | | const weightItem = formData.list.find(isInputWeightItem); |