优化种类生成逻辑
This commit is contained in:
@@ -11,11 +11,21 @@
|
||||
import { list as mixerList, queryById as queryMixerById } from '../MesMixerMaterial.api';
|
||||
import { columns as mixerColumns, searchFormSchema as mixerSearch } from '../MesMixerMaterial.data';
|
||||
import { useMessage } from '/@/hooks/web/useMessage';
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】通用密炼物料选料弹窗种类改读配置表-----------
|
||||
import {
|
||||
loadMixingMaterialKindLookup,
|
||||
resolveMixingMaterialKindFromLookup,
|
||||
type MixerMaterialKindLookup,
|
||||
} from '/@/views/xslmes/mesXslMixingSpec/MesXslMixingSpec.data';
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】通用密炼物料选料弹窗种类改读配置表-----------
|
||||
|
||||
const emit = defineEmits(['register', 'select']);
|
||||
const { createMessage } = useMessage();
|
||||
|
||||
const selectedRow = ref<Recordable | null>(null);
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】通用密炼物料选料弹窗种类改读配置表-----------
|
||||
const kindLookup = ref<MixerMaterialKindLookup | null>(null);
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】通用密炼物料选料弹窗种类改读配置表-----------
|
||||
|
||||
const [registerTable, { reload, getSelectRowKeys, getSelectRows, setSelectedRowKeys, clearSelectedRowKeys }] = useTable({
|
||||
api: mixerList,
|
||||
@@ -44,6 +54,9 @@
|
||||
selectedRow.value = null;
|
||||
clearSelectedRowKeys?.();
|
||||
setModalProps({ confirmLoading: false });
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】通用密炼物料选料弹窗种类改读配置表-----------
|
||||
kindLookup.value = await loadMixingMaterialKindLookup();
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】通用密炼物料选料弹窗种类改读配置表-----------
|
||||
const mid = data?.mixerMaterialId as string | undefined;
|
||||
if (mid) {
|
||||
setSelectedRowKeys?.([mid]);
|
||||
@@ -60,12 +73,13 @@
|
||||
reload();
|
||||
});
|
||||
|
||||
function buildKind(row: Recordable) {
|
||||
const a = row.majorCategoryId_dictText || '';
|
||||
const b = row.minorCategoryId_dictText || '';
|
||||
if (a && b) return `${a} / ${b}`;
|
||||
return a || b || '';
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】通用密炼物料选料弹窗种类改读配置表-----------
|
||||
function resolveMaterialKind(row: Recordable) {
|
||||
const minorId = row?.minorCategoryId ? String(row.minorCategoryId) : '';
|
||||
const minorName = row?.minorCategoryId_dictText || '';
|
||||
return resolveMixingMaterialKindFromLookup(kindLookup.value, undefined, minorId, minorName);
|
||||
}
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】通用密炼物料选料弹窗种类改读配置表-----------
|
||||
|
||||
async function handleOk() {
|
||||
const keys = (getSelectRowKeys?.() || []) as string[];
|
||||
@@ -82,12 +96,19 @@
|
||||
createMessage.warning('请选择一条密炼物料');
|
||||
return;
|
||||
}
|
||||
//update-begin---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】通用密炼物料选料弹窗种类改读配置表-----------
|
||||
const materialKind = resolveMaterialKind(row);
|
||||
if (!materialKind) {
|
||||
createMessage.warning('未匹配到种类,请检查密炼物料种类配置');
|
||||
return;
|
||||
}
|
||||
//update-end---author:cursor ---date:20260525 for:【XSLMES-20260525-A53】通用密炼物料选料弹窗种类改读配置表-----------
|
||||
emit('select', {
|
||||
mixerMaterialId: row.id,
|
||||
materialName: row.materialName || '',
|
||||
materialCode: row.materialCode || '',
|
||||
materialDesc: row.materialDesc || '',
|
||||
materialKind: buildKind(row),
|
||||
materialKind,
|
||||
minorCategoryId: row.minorCategoryId || '',
|
||||
majorCategoryText: row.majorCategoryId_dictText || '',
|
||||
minorCategoryText: row.minorCategoryId_dictText || '',
|
||||
|
||||
Reference in New Issue
Block a user