优化种类生成逻辑
This commit is contained in:
@@ -70,6 +70,9 @@
|
||||
import MesXslMixerMaterialKindCfgEditModal from './components/MesXslMixerMaterialKindCfgEditModal.vue';
|
||||
import { columns, searchFormSchema, superQuerySchema } from './MesXslMixerMaterialKindCfg.data';
|
||||
import { batchDelete, deleteOne, getExportUrl, getImportUrl, list } from './MesXslMixerMaterialKindCfg.api';
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】种类配置变更后清除前端 lookup 缓存-----------
|
||||
import { clearMixingMaterialKindLookupCache } from '../mesXslMixingSpec/MesXslMixingSpec.data';
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】种类配置变更后清除前端 lookup 缓存-----------
|
||||
|
||||
const queryParam = reactive<any>({});
|
||||
const [registerBatchModal, { openModal: openBatchModal }] = useModal();
|
||||
@@ -138,6 +141,9 @@
|
||||
}
|
||||
|
||||
function handleSuccess() {
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】种类配置变更后清除前端 lookup 缓存-----------
|
||||
clearMixingMaterialKindLookupCache();
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】种类配置变更后清除前端 lookup 缓存-----------
|
||||
selectedRowKeys.value = [];
|
||||
reload();
|
||||
}
|
||||
|
||||
@@ -1040,12 +1040,12 @@ function matchKindFromLookup(lookup: MixerMaterialKindLookup | null | undefined,
|
||||
return '';
|
||||
}
|
||||
|
||||
/** 解析混炼示方明细种类:称量方式优先,其次物料小类 ID,最后小类名称兜底 */
|
||||
/** 解析混炼示方明细种类:称量方式优先,其次物料小类 ID(未命中返回空,由配置表维护) */
|
||||
export function resolveMixingMaterialKindFromLookup(
|
||||
lookup: MixerMaterialKindLookup | null | undefined,
|
||||
weighMode?: string,
|
||||
minorCategoryId?: string,
|
||||
minorCategoryName?: string,
|
||||
_minorCategoryName?: string,
|
||||
) {
|
||||
const fromWeighMode = matchKindFromLookup(lookup, weighMode);
|
||||
if (fromWeighMode) {
|
||||
@@ -1055,9 +1055,6 @@ export function resolveMixingMaterialKindFromLookup(
|
||||
if (fromMinorId) {
|
||||
return fromMinorId;
|
||||
}
|
||||
if (minorCategoryName != null && String(minorCategoryName).trim() !== '') {
|
||||
return String(minorCategoryName).trim();
|
||||
}
|
||||
return '';
|
||||
}
|
||||
|
||||
@@ -1107,6 +1104,8 @@ export function applyMixingMaterialFromSelection(row: Recordable, material: Reco
|
||||
row.mixerMaterialDesc = material.materialDesc || material.materialName || material.materialCode || '';
|
||||
row.materialMajor = material.majorCategoryId_dictText || '';
|
||||
row.materialMinor = material.minorCategoryId_dictText || '';
|
||||
row.materialKind = materialKind || row.materialMinor || '';
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】种类仅读配置表,移除小类名兜底-----------
|
||||
row.materialKind = materialKind != null && String(materialKind).trim() !== '' ? String(materialKind).trim() : '';
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】种类仅读配置表,移除小类名兜底-----------
|
||||
}
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A50】混炼示方密炼物料选料弹窗与种类解析-----------
|
||||
|
||||
@@ -393,6 +393,12 @@
|
||||
const weighMode = getPickerWeighMode(row.id);
|
||||
const payload: Recordable = { ...row, pickerWeighMode: weighMode };
|
||||
const materialKind = resolveKindForMaterial(row, weighMode);
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】选料未匹配种类时提示检查配置-----------
|
||||
if (!materialKind) {
|
||||
createMessage.warning('未匹配到种类,请检查密炼物料种类配置');
|
||||
return;
|
||||
}
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】选料未匹配种类时提示检查配置-----------
|
||||
applyMixingMaterialFromSelection(payload, row, materialKind);
|
||||
emit('select', payload);
|
||||
closeModal();
|
||||
|
||||
@@ -944,11 +944,9 @@ function onMixingMaterialSelect(payload: Recordable | null) {
|
||||
if (!payload || !materialPickerRow.value) {
|
||||
return;
|
||||
}
|
||||
applyMixingMaterialFromSelection(
|
||||
materialPickerRow.value,
|
||||
payload,
|
||||
payload.materialKind || payload.materialMinor || '',
|
||||
);
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】选料回填种类仅使用配置解析结果-----------
|
||||
applyMixingMaterialFromSelection(materialPickerRow.value, payload, payload.materialKind || '');
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】选料回填种类仅使用配置解析结果-----------
|
||||
recalcMaterialAccumWeight();
|
||||
materialPickerRow.value = null;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user