| | |
| | | </el-form-item> |
| | | </el-col> |
| | | <el-col :span="12"> |
| | | <el-form-item label="工序" prop="processName"> |
| | | <el-form-item label="工序" prop="productProcessId"> |
| | | <el-select |
| | | v-model="form.processName" |
| | | v-model="form.productProcessId" |
| | | placeholder="请选择工序" |
| | | clearable |
| | | filterable |
| | |
| | | > |
| | | <el-option |
| | | v-for="item in processOptions" |
| | | :key="item" |
| | | :label="item" |
| | | :value="item" |
| | | :key="item.value" |
| | | :label="item.label" |
| | | :value="item.value" |
| | | /> |
| | | </el-select> |
| | | </el-form-item> |
| | |
| | | deviceName: [{ required: true, trigger: "blur", message: "请输入" }], |
| | | deviceModel: [{ required: true, trigger: "blur", message: "请输入" }], |
| | | type: [{ required: true, trigger: "change", message: "请选择或输入设备类型" }], |
| | | processName: [{ required: true, trigger: "change", message: "请选择工序" }], |
| | | productProcessId: [{ required: true, trigger: "change", message: "请选择工序" }], |
| | | supplierName: [{ required: true, trigger: "blur", message: "请输入" }], |
| | | unit: [{ required: true, trigger: "blur", message: "请输入" }], |
| | | number: [{ required: true, trigger: "blur", message: "请输入" }], |
| | |
| | | deviceModel: undefined, // 规格型号 |
| | | deviceBrand: undefined, // 设备品牌 |
| | | type: undefined, // 设备类型 |
| | | processName: undefined, // 工序 |
| | | productProcessId: undefined, // 工序ID |
| | | supplierName: undefined, // 供应商 |
| | | storageLocation: undefined, // 存放位置 |
| | | isDepr: 2, // 是否启用折旧 1-是 2-否 |
| | |
| | | form.deviceModel = data.deviceModel; |
| | | form.deviceBrand = data.deviceBrand; |
| | | form.type = data.type; |
| | | form.processName = data.processName || data.process; |
| | | ensureProcessOptionExists(form.processName); |
| | | const processName = data.productProcessName || data.processName || data.process; |
| | | form.productProcessId = data.productProcessId; |
| | | if (!form.productProcessId && processName) { |
| | | const matched = processOptions.value.find(item => item.label === processName); |
| | | form.productProcessId = matched?.value; |
| | | } |
| | | ensureProcessOptionExists(form.productProcessId, processName); |
| | | form.supplierName = data.supplierName; |
| | | form.storageLocation = data.storageLocation; |
| | | form.isDepr = data.isDepr; |
| | |
| | | } |
| | | }; |
| | | |
| | | const ensureProcessOptionExists = (value) => { |
| | | if (!value) return; |
| | | if (!processOptions.value.includes(value)) { |
| | | processOptions.value.push(value); |
| | | const ensureProcessOptionExists = (id, name) => { |
| | | if (!id) return; |
| | | if (!processOptions.value.some(item => item.value === id)) { |
| | | processOptions.value.push({ |
| | | value: id, |
| | | label: name || `${id}`, |
| | | }); |
| | | } |
| | | }; |
| | | |
| | |
| | | const { code, data } = await processList({}); |
| | | if (code === 200 && Array.isArray(data)) { |
| | | processOptions.value = data |
| | | .map(item => item?.name) |
| | | .filter(Boolean); |
| | | ensureProcessOptionExists(form.processName); |
| | | .filter(item => item?.id !== undefined && item?.id !== null) |
| | | .map(item => ({ |
| | | value: item.id, |
| | | label: item?.name || `${item.id}`, |
| | | })); |
| | | ensureProcessOptionExists(form.productProcessId); |
| | | } |
| | | } catch (error) { |
| | | processOptions.value = []; |