Merge branch 'dev_河南_鹤壁天沐玻璃厂' of http://114.132.189.42:9002/r/product-inventory-management into dev_河南_鹤壁天沐玻璃厂
| | |
| | | </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 = []; |
| | |
| | | prop: "type", |
| | | }, |
| | | { |
| | | label: "工序", |
| | | prop: "productProcessName", |
| | | formatData: (v) => { |
| | | return v || ""; |
| | | }, |
| | | }, |
| | | { |
| | | label: "供应商", |
| | | prop: "supplierName", |
| | | }, |
| | |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="保养项目" prop="maintenanceLocation"> |
| | | <el-input v-model="form.maintenanceLocation" placeholder="请输入保养项目" /> |
| | | </el-form-item> |
| | | </el-col> |
| | | </el-row> |
| | | <el-row> |
| | | <el-col :span="12"> |
| | | <el-form-item label="备注" prop="remarks"> |
| | | <el-input v-model="form.remarks" placeholder="请输入备注" type="textarea" /> |
| | | </el-form-item> |
| | |
| | | taskName: undefined, |
| | | // 录入人:单选一个用户 id |
| | | inspector: undefined, |
| | | maintenanceLocation: '', |
| | | remarks: '', |
| | | frequencyType: '', |
| | | frequencyDetail: '', |
| | |
| | | rules: { |
| | | taskId: [{ required: true, message: "请选择设备", trigger: "change" },], |
| | | inspector: [{ required: true, message: "请选择录入人", trigger: "blur" },], |
| | | registrationDate: [{ required: true, message: "请选择登记时间", trigger: "change" }] |
| | | registrationDate: [{ required: true, message: "请选择登记时间", trigger: "change" }], |
| | | frequencyDetail: [{ |
| | | validator: (rule, value, callback) => { |
| | | if (!form.value.frequencyType) { |
| | | callback(); |
| | | return; |
| | | } |
| | | if (form.value.frequencyType === 'WEEKLY') { |
| | | if (!form.value.week || !form.value.time) { |
| | | callback(new Error("请选择日期")); |
| | | return; |
| | | } |
| | | callback(); |
| | | return; |
| | | } |
| | | if (!value) { |
| | | callback(new Error("请选择日期")); |
| | | return; |
| | | } |
| | | callback(); |
| | | }, |
| | | trigger: "change" |
| | | }] |
| | | } |
| | | }) |
| | | const { form, rules } = toRefs(data) |
| | |
| | | taskName: undefined, |
| | | inspector: undefined, |
| | | inspector: undefined, |
| | | maintenanceLocation: '', |
| | | remarks: '', |
| | | frequencyType: '', |
| | | frequencyDetail: '', |
| | |
| | | prop: "deviceModel", |
| | | }, |
| | | { |
| | | label: "保养项目", |
| | | prop: "maintenanceLocation", |
| | | }, |
| | | { |
| | | prop: "frequencyType", |
| | | label: "频次", |
| | | minWidth: 150, |