feat(mmsMapping): 添加映射确认对话框的诊断日志和键值优化

- 实现 logConfirmDataDiagnostics 函数用于诊断间谐波相关数据
- 添加控制台日志输出用于调试构建索引确认数据的结果
- 为标签项目和目标项目添加唯一键值以优化列表渲染性能
- 在准备确认对话框草稿数据时生成默认实例编号
- 修复确认对话框中的默认状态映射逻辑
- 为间谐波相关的 lnInst 缺失情况添加警告日志
This commit is contained in:
2026-05-06 11:41:20 +08:00
parent 483b3d7ae4
commit bf9f3719a4
2 changed files with 66 additions and 9 deletions

View File

@@ -26,7 +26,7 @@
</div>
<div class="label-list">
<article v-for="item in group.labelItems" :key="`${group.groupKey}-${item.label}`" class="label-card">
<article v-for="item in group.labelItems" :key="item.itemKey" class="label-card">
<div class="label-main">
<div class="label-meta">
<div class="label-title-row">
@@ -86,7 +86,7 @@
/>
<div class="target-list">
<div v-for="target in item.targets" :key="`${target.reportName}-${target.dataSetName}`" class="target-item">
<div v-for="target in item.targets" :key="target.targetKey" class="target-item">
<div class="target-name-row">
<span class="target-name">{{ target.reportDesc || target.reportName || '--' }}</span>
<span class="target-code">{{ target.reportName || '--' }} / {{ target.dataSetName || '--' }}</span>
@@ -135,6 +135,7 @@ defineOptions({
})
interface ConfirmDialogDraftTarget {
targetKey: string
reportName: string
dataSetName: string
reportDesc: string
@@ -142,6 +143,7 @@ interface ConfirmDialogDraftTarget {
}
interface ConfirmDialogDraftLabelItem {
itemKey: string
label: string
required: boolean
configurableOnce: boolean
@@ -158,9 +160,11 @@ interface ConfirmDialogDraftGroup {
}
interface PreparedConfirmDialogDraftLabelItem {
itemKey: string
label: string
required: boolean
configurableOnce: boolean
defaultLnInst: string
commonLnInstValues: string[]
targets: ConfirmDialogDraftTarget[]
}
@@ -222,15 +226,20 @@ const buildInitialDraftGroups = (groups: MmsMapping.IndexConfirmGroup[]): Confir
groups
.map(group => {
const preparedItems = (group.labelItems || [])
.map<PreparedConfirmDialogDraftLabelItem | null>(item => {
.map<PreparedConfirmDialogDraftLabelItem | null>((item, itemIndex) => {
const commonLnInstValues = sortLnInstValues(normalizeStringArray(item.commonLnInstValues))
const defaultLnInst = resolveDefaultLnInst(commonLnInstValues, item.defaultLnInst?.trim() || '')
const itemKey = `${group.groupKey?.trim() || 'group'}-${itemIndex}-${item.label?.trim() || 'label'}`
return {
itemKey,
label: item.label?.trim() || '',
required: Boolean(item.required),
configurableOnce: Boolean(item.configurableOnce),
defaultLnInst,
commonLnInstValues,
targets: (item.targets || []).map(target => ({
targets: (item.targets || []).map((target, targetIndex) => ({
targetKey: `${itemKey}-target-${targetIndex}-${target.reportName?.trim() || ''}-${target.dataSetName?.trim() || ''}`,
reportName: target.reportName?.trim() || '',
dataSetName: target.dataSetName?.trim() || '',
reportDesc: target.reportDesc?.trim() || '',
@@ -256,10 +265,10 @@ const buildInitialDraftGroups = (groups: MmsMapping.IndexConfirmGroup[]): Confir
cluster.forEach((item, index) => {
const expectedLnInst = index < clusterValues.length ? clusterValues[index] : ''
const defaultLnInst = resolveDefaultLnInst(item.commonLnInstValues, expectedLnInst)
const enabled = Boolean(defaultLnInst)
const defaultLnInst = item.defaultLnInst || resolveDefaultLnInst(item.commonLnInstValues, expectedLnInst)
const enabled = item.required || Boolean(defaultLnInst)
defaultStateMap.set(item.label, {
defaultStateMap.set(item.itemKey, {
enabled,
lnInst: defaultLnInst
})
@@ -270,12 +279,13 @@ const buildInitialDraftGroups = (groups: MmsMapping.IndexConfirmGroup[]): Confir
groupKey: group.groupKey?.trim() || '',
groupDesc: group.groupDesc?.trim() || '',
labelItems: preparedItems.map(item => {
const defaultState = defaultStateMap.get(item.label) || {
enabled: false,
const defaultState = defaultStateMap.get(item.itemKey) || {
enabled: item.required,
lnInst: ''
}
return {
itemKey: item.itemKey,
label: item.label,
required: item.required,
configurableOnce: item.configurableOnce,