feat:项目管理-审计内容9-福利费超范围支出明细清单
This commit is contained in:
@@ -352,6 +352,31 @@ export function createDataMapper(type: string) {
|
||||
workPaperIndex: parseWorkPaperIndex(item.workPaperIndex),
|
||||
...item
|
||||
})),
|
||||
personnel: (data) => {
|
||||
const mainData = data.map((item, index) => {
|
||||
const { ext, ...rest } = item;
|
||||
return {
|
||||
key: index,
|
||||
index: item.index || index + 1,
|
||||
...rest,
|
||||
workPaperIndex: parseWorkPaperIndex(item.workPaperIndex)
|
||||
};
|
||||
});
|
||||
const extraData = data.reduce((acc, item) => {
|
||||
if (item.ext && Array.isArray(item.ext)) {
|
||||
return [...acc, ...item.ext];
|
||||
}
|
||||
return acc;
|
||||
}, []);
|
||||
return {
|
||||
mainData: mainData,
|
||||
extraData: extraData.map((item, idx) => ({
|
||||
key: idx,
|
||||
...item,
|
||||
index: item.index || idx + 1
|
||||
}))
|
||||
};
|
||||
},
|
||||
// 其他类型的映射...
|
||||
default: (data) =>
|
||||
data.map((item, index) => ({
|
||||
|
||||
@@ -863,8 +863,28 @@
|
||||
const dataMapper = createDataMapper(currentTable.value);
|
||||
const mappedData = dataMapper(result.data.data);
|
||||
|
||||
// 保存数据
|
||||
// 处理不同类型的表格数据
|
||||
if (currentTable.value === 'personnel') {
|
||||
// 对于人员编制管理审计,需要分别处理主表格和额外表格数据
|
||||
tableData[tableKey] = mappedData.mainData;
|
||||
section.data = mappedData.mainData;
|
||||
section.extraData = mappedData.extraData || []; // 设置额外表格数据
|
||||
|
||||
// 如果有额外数据,确保extraColumns存在
|
||||
if (mappedData.extraData && mappedData.extraData.length > 0) {
|
||||
if (!section.extraColumns) {
|
||||
// 从配置中获取extraColumns
|
||||
const tableConfig = getTableConfig(sectionIndex);
|
||||
if (tableConfig && tableConfig.extraColumns) {
|
||||
section.extraColumns = tableConfig.extraColumns;
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {
|
||||
// 其他表格的正常处理
|
||||
tableData[tableKey] = mappedData;
|
||||
section.data = mappedData;
|
||||
}
|
||||
|
||||
// 特殊处理数据存储
|
||||
if (currentTable.value === 'tripleOne') {
|
||||
@@ -874,10 +894,15 @@
|
||||
stateAssetsData.value = result.data.data;
|
||||
}
|
||||
|
||||
section.data = mappedData;
|
||||
section.suggestion = '';
|
||||
const recordCount = currentTable.value === 'personnel'
|
||||
? mappedData.mainData.length
|
||||
: mappedData.length;
|
||||
message.success(
|
||||
`成功生成 ${mappedData.length} 条${currentTable.title}记录`
|
||||
`成功生成 ${recordCount} 条${currentTable.title}记录` +
|
||||
(currentTable.value === 'personnel' && mappedData.extraData?.length > 0
|
||||
? `,以及 ${mappedData.extraData.length} 条福利费明细记录`
|
||||
: '')
|
||||
);
|
||||
} else {
|
||||
throw new Error(result.data?.error || result.message || '生成失败');
|
||||
@@ -1113,15 +1138,31 @@
|
||||
const mappedData = dataMapper(data);
|
||||
|
||||
// 保存数据
|
||||
if (tableValue === 'personnel') {
|
||||
tableData[tableKey] = mappedData.mainData;
|
||||
section.extraData = mappedData.extraData || []; // 设置额外表格数据
|
||||
|
||||
// 如果有额外数据,确保extraColumns存在
|
||||
if (mappedData.extraData && mappedData.extraData.length > 0) {
|
||||
if (!section.extraColumns) {
|
||||
section.extraColumns = tableConfig.extraColumns || [];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
tableData[tableKey] = mappedData;
|
||||
}
|
||||
|
||||
// 切换表格(如果当前不是这个表格)
|
||||
if (section.currentTableIndex !== tableOptionIndex) {
|
||||
await handleTableChange(sectionIndex, tableOptionIndex);
|
||||
} else {
|
||||
// 如果已经是当前表格,直接更新数据
|
||||
if (tableValue === 'personnel') {
|
||||
section.data = mappedData.mainData;
|
||||
} else {
|
||||
section.data = mappedData;
|
||||
}
|
||||
}
|
||||
|
||||
// 特殊处理数据存储
|
||||
if (tableValue === 'tripleOne') {
|
||||
@@ -1130,6 +1171,10 @@
|
||||
// 存储国资管理数据,供预算管理审计表使用
|
||||
stateAssetsData.value = data;
|
||||
}
|
||||
|
||||
// 清空选中行
|
||||
selectedRowsMap[sectionIndex] = [];
|
||||
selectedRowKeysMap[sectionIndex] = [];
|
||||
};
|
||||
|
||||
/* 编辑行 */
|
||||
|
||||
Reference in New Issue
Block a user