| | |
| | | id: newRecord.id, |
| | | name: newRecord.name || '', |
| | | productId: newRecord.productId, |
| | | productModelId: newRecord.productModelId, |
| | | productModelId: getRecordProductModelId(newRecord), |
| | | no: newRecord.no || '', |
| | | type: newRecord.type, |
| | | remark: newRecord.remark || '', |
| | |
| | | id: props.record.id, |
| | | name: props.record.name || '', |
| | | productId: props.record.productId, |
| | | productModelId: props.record.productModelId, |
| | | productModelId: getRecordProductModelId(props.record), |
| | | no: props.record.no || '', |
| | | type: props.record.type, |
| | | remark: props.record.remark || '', |
| | |
| | | plannerName: props.record.plannerName || '', |
| | | isQuality: props.record.isQuality, |
| | | }; |
| | | getModelOptions(formState.value.productId); |
| | | } |
| | | }); |
| | | |
| | |
| | | return undefined; |
| | | }; |
| | | |
| | | function findModelIdByName(models, modelName) { |
| | | if (!modelName) { |
| | | return undefined; |
| | | } |
| | | const matched = (models || []).find(item => String(item.model) === String(modelName)); |
| | | return matched?.id; |
| | | } |
| | | |
| | | function getRecordProductModelId(record) { |
| | | if (!record) { |
| | | return undefined; |
| | | } |
| | | return record.productModelId ?? record.modelId ?? record.specificationModelId ?? undefined; |
| | | } |
| | | |
| | | function syncProductModelIdFromModelName() { |
| | | if (formState.value.productModelId || modelOptions.value.length === 0) { |
| | | return; |
| | | } |
| | | const modelName = props.record?.productModel || props.record?.model || props.record?.specificationModel || ""; |
| | | const matchedId = findModelIdByName(modelOptions.value, modelName); |
| | | if (matchedId !== undefined) { |
| | | formState.value.productModelId = matchedId; |
| | | } |
| | | } |
| | | |
| | | const getProductCategoryOptions = async () => { |
| | | try { |
| | | const res = await productTreeList(); |
| | |
| | | formState.value.productId = findNodeIdByLabel(productCategoryOptions.value, formState.value.name); |
| | | } |
| | | await getModelOptions(formState.value.productId); |
| | | syncProductModelIdFromModelName(); |
| | | } catch (e) { |
| | | productCategoryOptions.value = []; |
| | | } |
| | |
| | | }); |
| | | const records = res?.records || res?.data?.records || []; |
| | | modelOptions.value = records; |
| | | syncProductModelIdFromModelName(); |
| | | } catch (e) { |
| | | modelOptions.value = []; |
| | | } |