feat:项目管理-取证单-附件优化
This commit is contained in:
@@ -309,6 +309,25 @@
|
|||||||
|
|
||||||
const form = reactive(defaultForm());
|
const form = reactive(defaultForm());
|
||||||
|
|
||||||
|
const formatAttachmentText = (caseIndex: string, raw: string) => {
|
||||||
|
const safeCaseIndex = (caseIndex || '').trim();
|
||||||
|
const items = (raw || '')
|
||||||
|
.split(/[\n,,]/)
|
||||||
|
.map((s) => s.trim())
|
||||||
|
.filter(Boolean);
|
||||||
|
if (!safeCaseIndex || items.length === 0) return raw || '';
|
||||||
|
|
||||||
|
const escaped = safeCaseIndex.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
||||||
|
const prefixRe = new RegExp(`^${escaped}-\\d{3}-`);
|
||||||
|
return items
|
||||||
|
.map((name, idx) => {
|
||||||
|
const no = String(idx + 1).padStart(3, '0');
|
||||||
|
const baseName = name.replace(prefixRe, '');
|
||||||
|
return `${safeCaseIndex}-${no}-${baseName}`;
|
||||||
|
})
|
||||||
|
.join('\n');
|
||||||
|
};
|
||||||
|
|
||||||
const applyBaseInfo = () => {
|
const applyBaseInfo = () => {
|
||||||
console.log('applyBaseInfo called, selectedRows:', props.selectedRows);
|
console.log('applyBaseInfo called, selectedRows:', props.selectedRows);
|
||||||
console.log('baseInfo:', props.baseInfo);
|
console.log('baseInfo:', props.baseInfo);
|
||||||
@@ -322,7 +341,8 @@
|
|||||||
console.log('Evidence data from selectedRows:', evidenceData);
|
console.log('Evidence data from selectedRows:', evidenceData);
|
||||||
|
|
||||||
// 直接将后端返回的数据映射到表单字段
|
// 直接将后端返回的数据映射到表单字段
|
||||||
form.caseIndex = evidenceData.caseIndex || form.caseIndex || '';
|
form.caseIndex =
|
||||||
|
props.baseInfo?.caseIndex || props.project?.caseIndex || form.caseIndex || '';
|
||||||
form.projectName = evidenceData.projectName || form.projectName || '';
|
form.projectName = evidenceData.projectName || form.projectName || '';
|
||||||
form.auditedTarget =
|
form.auditedTarget =
|
||||||
evidenceData.auditedTarget || form.auditedTarget || '';
|
evidenceData.auditedTarget || form.auditedTarget || '';
|
||||||
@@ -353,9 +373,10 @@
|
|||||||
form.feedbackDeadline = 'XX年XX月XX日';
|
form.feedbackDeadline = 'XX年XX月XX日';
|
||||||
// 处理attachment字段(数组转字符串)
|
// 处理attachment字段(数组转字符串)
|
||||||
if (evidenceData.attachment) {
|
if (evidenceData.attachment) {
|
||||||
form.attachment = Array.isArray(evidenceData.attachment)
|
const rawAttachment = Array.isArray(evidenceData.attachment)
|
||||||
? evidenceData.attachment.join('\n')
|
? evidenceData.attachment.join('\n')
|
||||||
: evidenceData.attachment;
|
: evidenceData.attachment;
|
||||||
|
form.attachment = formatAttachmentText(form.caseIndex, rawAttachment);
|
||||||
}
|
}
|
||||||
|
|
||||||
// 特殊处理:如果evidenceData中有title字段,也填充到summaryTitle
|
// 特殊处理:如果evidenceData中有title字段,也填充到summaryTitle
|
||||||
|
|||||||
@@ -768,7 +768,7 @@
|
|||||||
const section: any = navigationItems.value[sectionIndex];
|
const section: any = navigationItems.value[sectionIndex];
|
||||||
const tableInfo = getTableInfo(sectionIndex);
|
const tableInfo = getTableInfo(sectionIndex);
|
||||||
|
|
||||||
evidenceBaseInfo.caseIndex = (form as any).code || props.data?.code || '';
|
evidenceBaseInfo.caseIndex = (form as any).caseIndex || props.data?.caseIndex || '';
|
||||||
evidenceBaseInfo.projectName = form.name || props.data?.name || '';
|
evidenceBaseInfo.projectName = form.name || props.data?.name || '';
|
||||||
evidenceBaseInfo.auditedTarget =
|
evidenceBaseInfo.auditedTarget =
|
||||||
(form as any).nickname || (props.data as any)?.nickname || '';
|
(form as any).nickname || (props.data as any)?.nickname || '';
|
||||||
@@ -975,9 +975,10 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 调用generateAuditEvidence API
|
// 调用generateAuditEvidence API
|
||||||
|
const projectCaseIndex = (form as any).caseIndex || props.data?.caseIndex || '';
|
||||||
const requestData = {
|
const requestData = {
|
||||||
// 基础信息
|
// 基础信息
|
||||||
caseIndex: (form as any).code || props.data?.code || '',
|
caseIndex: projectCaseIndex,
|
||||||
projectName: form.name || props.data?.name || '',
|
projectName: form.name || props.data?.name || '',
|
||||||
auditedTarget: (form as any).nickname || (props.data as any)?.nickname || '',
|
auditedTarget: (form as any).nickname || (props.data as any)?.nickname || '',
|
||||||
auditMatter: currentTable.title || section?.title || section?.name || '',
|
auditMatter: currentTable.title || section?.title || section?.name || '',
|
||||||
@@ -1031,7 +1032,7 @@
|
|||||||
console.log('生成的取证单数据:', apiResult.data);
|
console.log('生成的取证单数据:', apiResult.data);
|
||||||
|
|
||||||
// 自动打开取证单预览弹窗并填充数据
|
// 自动打开取证单预览弹窗并填充数据
|
||||||
evidenceBaseInfo.caseIndex = apiResult.data.caseIndex || (form as any).code || props.data?.code || '';
|
evidenceBaseInfo.caseIndex = projectCaseIndex;
|
||||||
evidenceBaseInfo.projectName = apiResult.data.projectName || form.name || props.data?.name || '';
|
evidenceBaseInfo.projectName = apiResult.data.projectName || form.name || props.data?.name || '';
|
||||||
evidenceBaseInfo.auditedTarget = apiResult.data.auditedTarget || (form as any).nickname || (props.data as any)?.nickname || '';
|
evidenceBaseInfo.auditedTarget = apiResult.data.auditedTarget || (form as any).nickname || (props.data as any)?.nickname || '';
|
||||||
evidenceBaseInfo.auditMatter = apiResult.data.auditMatter || currentTable.title || section?.title || section?.name || '';
|
evidenceBaseInfo.auditMatter = apiResult.data.auditMatter || currentTable.title || section?.title || section?.name || '';
|
||||||
@@ -1039,7 +1040,7 @@
|
|||||||
// 将生成的取证单数据作为选中的行数据传入,包含所有字段
|
// 将生成的取证单数据作为选中的行数据传入,包含所有字段
|
||||||
const evidenceData = {
|
const evidenceData = {
|
||||||
// 基础信息字段
|
// 基础信息字段
|
||||||
caseIndex: apiResult.data.caseIndex || '',
|
caseIndex: projectCaseIndex,
|
||||||
projectName: apiResult.data.projectName || '',
|
projectName: apiResult.data.projectName || '',
|
||||||
auditedTarget: apiResult.data.auditedTarget || '',
|
auditedTarget: apiResult.data.auditedTarget || '',
|
||||||
auditMatter: apiResult.data.auditMatter || '',
|
auditMatter: apiResult.data.auditMatter || '',
|
||||||
|
|||||||
Reference in New Issue
Block a user