rename(testReport): 统一将报告相关术语更新为任务术语
- 将界面中的"报告编号"统一更改为"任务编号" - 将界面中的"报告状态"统一更改为"任务状态" - 将界面中的"子报告"统一更改为"子任务" - 更新弹窗标题中的"报告任务"为"普测报告任务" - 修正表单验证提示信息中的术语一致性 - 更新批量报告页面的相关术语显示 - 修正审批模块中的报告类型显示名称
This commit is contained in:
@@ -14,7 +14,7 @@ const REPORT_APPROVAL_STATE_MAP: Record<string, { text: string; tagType: TagType
|
|||||||
|
|
||||||
const REPORT_APPROVAL_TYPE_MAP: Record<string, string> = {
|
const REPORT_APPROVAL_TYPE_MAP: Record<string, string> = {
|
||||||
REPORT_MODEL: '报告模板',
|
REPORT_MODEL: '报告模板',
|
||||||
TEST_REPORT: '普测报告'
|
TEST_REPORT: '普测报告任务'
|
||||||
}
|
}
|
||||||
|
|
||||||
const REPORT_APPROVAL_RESULT_MAP: Record<string, string> = {
|
const REPORT_APPROVAL_RESULT_MAP: Record<string, string> = {
|
||||||
@@ -26,7 +26,7 @@ export const REPORT_APPROVAL_REASON_MAX_LENGTH = 128
|
|||||||
|
|
||||||
export const REPORT_APPROVAL_TYPE_OPTIONS: Array<{ label: string; value: ReportApproval.ReportType }> = [
|
export const REPORT_APPROVAL_TYPE_OPTIONS: Array<{ label: string; value: ReportApproval.ReportType }> = [
|
||||||
{ label: '报告模板', value: 'REPORT_MODEL' },
|
{ label: '报告模板', value: 'REPORT_MODEL' },
|
||||||
{ label: '普测报告', value: 'TEST_REPORT' }
|
{ label: '普测报告任务', value: 'TEST_REPORT' }
|
||||||
]
|
]
|
||||||
|
|
||||||
export const resolveReportApprovalText = (value: unknown) => {
|
export const resolveReportApprovalText = (value: unknown) => {
|
||||||
|
|||||||
@@ -3,8 +3,8 @@
|
|||||||
<el-form ref="formRef" :model="localFormModel" :rules="formRules" label-width="108px" class="report-task-form">
|
<el-form ref="formRef" :model="localFormModel" :rules="formRules" label-width="108px" class="report-task-form">
|
||||||
<el-row :gutter="16">
|
<el-row :gutter="16">
|
||||||
<el-col :xs="24" :sm="12">
|
<el-col :xs="24" :sm="12">
|
||||||
<el-form-item label="报告编号" prop="no">
|
<el-form-item label="任务编号" prop="no">
|
||||||
<el-input v-model="localFormModel.no" maxlength="32" clearable placeholder="请输入报告编号" />
|
<el-input v-model="localFormModel.no" maxlength="32" clearable placeholder="请输入任务编号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="12">
|
<el-col :xs="24" :sm="12">
|
||||||
@@ -43,7 +43,7 @@ const formRef = ref<FormInstance>()
|
|||||||
const localFormModel = ref<ReportTaskFormModel>({ ...props.formModel })
|
const localFormModel = ref<ReportTaskFormModel>({ ...props.formModel })
|
||||||
|
|
||||||
const formRules: FormRules = {
|
const formRules: FormRules = {
|
||||||
no: [{ required: true, message: '请输入报告编号', trigger: 'blur' }],
|
no: [{ required: true, message: '请输入任务编号', trigger: 'blur' }],
|
||||||
reportModelId: [{ required: true, message: '请选择报告模板', trigger: 'change' }]
|
reportModelId: [{ required: true, message: '请选择报告模板', trigger: 'change' }]
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -2,12 +2,12 @@
|
|||||||
<div class="complete-panel">
|
<div class="complete-panel">
|
||||||
<el-result
|
<el-result
|
||||||
icon="success"
|
icon="success"
|
||||||
:title="mode === 'create' ? '报告任务新增完成' : '报告任务编辑完成'"
|
:title="mode === 'create' ? '普测报告任务新增完成' : '普测报告任务编辑完成'"
|
||||||
sub-title="文件导入与任务基础信息保存均已完成。"
|
sub-title="文件导入与任务基础信息保存均已完成。"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<el-descriptions :column="2" border>
|
<el-descriptions :column="2" border>
|
||||||
<el-descriptions-item label="报告编号">{{ formModel.no || '-' }}</el-descriptions-item>
|
<el-descriptions-item label="任务编号">{{ formModel.no || '-' }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="报告模板">{{ resolveCurrentOptionLabel(reportModelOptions, formModel.reportModelId) }}</el-descriptions-item>
|
<el-descriptions-item label="报告模板">{{ resolveCurrentOptionLabel(reportModelOptions, formModel.reportModelId) }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="监测点数">{{ importSummary.pointCount }}</el-descriptions-item>
|
<el-descriptions-item label="监测点数">{{ importSummary.pointCount }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="分组数">{{ importSummary.groupCount }}</el-descriptions-item>
|
<el-descriptions-item label="分组数">{{ importSummary.groupCount }}</el-descriptions-item>
|
||||||
|
|||||||
@@ -1,8 +1,8 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog v-model="visibleProxy" title="报告任务详情" width="1200px" append-to-body destroy-on-close>
|
<el-dialog v-model="visibleProxy" title="普测报告任务详情" width="1200px" append-to-body destroy-on-close>
|
||||||
<div v-loading="loading" class="report-task-detail-dialog">
|
<div v-loading="loading" class="report-task-detail-dialog">
|
||||||
<el-descriptions class="detail-descriptions" :column="2" border>
|
<el-descriptions class="detail-descriptions" :column="2" border>
|
||||||
<el-descriptions-item label="报告编号">{{ resolveReportTaskText(detail?.no) }}</el-descriptions-item>
|
<el-descriptions-item label="任务编号">{{ resolveReportTaskText(detail?.no) }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="报告模板">{{ resolveReportTaskText(detail?.reportModelName) }}</el-descriptions-item>
|
<el-descriptions-item label="报告模板">{{ resolveReportTaskText(detail?.reportModelName) }}</el-descriptions-item>
|
||||||
<!-- <el-descriptions-item label="模板目录">{{ resolveReportTaskText(detail?.templateDirName) }}</el-descriptions-item>-->
|
<!-- <el-descriptions-item label="模板目录">{{ resolveReportTaskText(detail?.templateDirName) }}</el-descriptions-item>-->
|
||||||
<!-- <el-descriptions-item label="导入汇总快照数据" :span="2">{{ resolveReportTaskText(detail?.data) }}</el-descriptions-item>-->
|
<!-- <el-descriptions-item label="导入汇总快照数据" :span="2">{{ resolveReportTaskText(detail?.data) }}</el-descriptions-item>-->
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<template>
|
<template>
|
||||||
<el-dialog
|
<el-dialog
|
||||||
v-model="visibleProxy"
|
v-model="visibleProxy"
|
||||||
:title="mode === 'create' ? '新增报告任务' : '编辑报告任务'"
|
:title="mode === 'create' ? '新增普测报告任务' : '编辑普测报告任务'"
|
||||||
width="1080px"
|
width="1080px"
|
||||||
append-to-body
|
append-to-body
|
||||||
destroy-on-close
|
destroy-on-close
|
||||||
@@ -50,8 +50,8 @@
|
|||||||
>
|
>
|
||||||
<el-row :gutter="16">
|
<el-row :gutter="16">
|
||||||
<el-col :xs="24" :sm="12">
|
<el-col :xs="24" :sm="12">
|
||||||
<el-form-item label="报告编号" prop="no">
|
<el-form-item label="任务编号" prop="no">
|
||||||
<el-input v-model="formModel.no" maxlength="32" clearable placeholder="请输入报告编号" />
|
<el-input v-model="formModel.no" maxlength="32" clearable placeholder="请输入任务编号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="12">
|
<el-col :xs="24" :sm="12">
|
||||||
@@ -101,12 +101,12 @@
|
|||||||
<div class="complete-panel">
|
<div class="complete-panel">
|
||||||
<el-result
|
<el-result
|
||||||
icon="success"
|
icon="success"
|
||||||
:title="mode === 'create' ? '报告任务新增完成' : '报告任务编辑完成'"
|
:title="mode === 'create' ? '普测报告任务新增完成' : '普测报告任务编辑完成'"
|
||||||
sub-title="台账校验与任务基础信息保存均已完成。"
|
sub-title="台账校验与任务基础信息保存均已完成。"
|
||||||
/>
|
/>
|
||||||
|
|
||||||
<el-descriptions :column="2" border>
|
<el-descriptions :column="2" border>
|
||||||
<el-descriptions-item label="报告编号">{{ formModel.no || '-' }}</el-descriptions-item>
|
<el-descriptions-item label="任务编号">{{ formModel.no || '-' }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="报告模板">
|
<el-descriptions-item label="报告模板">
|
||||||
{{ resolveCurrentOptionLabel(reportModelSelectOptions, formModel.reportModelId) }}
|
{{ resolveCurrentOptionLabel(reportModelSelectOptions, formModel.reportModelId) }}
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
@@ -232,7 +232,7 @@ const formModel = reactive({
|
|||||||
})
|
})
|
||||||
|
|
||||||
const formRules: FormRules = {
|
const formRules: FormRules = {
|
||||||
no: [{ required: true, message: '请输入报告编号', trigger: 'blur' }],
|
no: [{ required: true, message: '请输入任务编号', trigger: 'blur' }],
|
||||||
reportModelId: [{ required: true, message: '请选择报告模板', trigger: 'change' }]
|
reportModelId: [{ required: true, message: '请选择报告模板', trigger: 'change' }]
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -372,7 +372,7 @@ const fillForm = async () => {
|
|||||||
pushLog('info', `已加载最近一次导入快照:${snapshot.summaryFileName || '未命名汇总文件'}`)
|
pushLog('info', `已加载最近一次导入快照:${snapshot.summaryFileName || '未命名汇总文件'}`)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
const message = getReportTaskErrorMessage(error, '报告任务台账快照加载失败')
|
const message = getReportTaskErrorMessage(error, '普测报告任务台账快照加载失败')
|
||||||
ElMessage.error(message)
|
ElMessage.error(message)
|
||||||
pushLog('error', message)
|
pushLog('error', message)
|
||||||
}
|
}
|
||||||
@@ -442,7 +442,7 @@ watch(
|
|||||||
if (!props.visible || !value || value === lastHandledSaveSuccessVersion.value) return
|
if (!props.visible || !value || value === lastHandledSaveSuccessVersion.value) return
|
||||||
lastHandledSaveSuccessVersion.value = value
|
lastHandledSaveSuccessVersion.value = value
|
||||||
currentStep.value = 'done'
|
currentStep.value = 'done'
|
||||||
pushLog('success', props.mode === 'create' ? '报告任务新增成功,流程已完成' : '报告任务编辑成功,流程已完成')
|
pushLog('success', props.mode === 'create' ? '普测报告任务新增成功,流程已完成' : '普测报告任务编辑成功,流程已完成')
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
<el-dialog v-model="visibleProxy" title="监测点分组" width="1380px" append-to-body destroy-on-close>
|
<el-dialog v-model="visibleProxy" title="监测点分组" width="1380px" append-to-body destroy-on-close>
|
||||||
<div v-loading="loading" class="report-task-group-dialog">
|
<div v-loading="loading" class="report-task-group-dialog">
|
||||||
<el-descriptions :column="4" border class="summary-descriptions">
|
<el-descriptions :column="4" border class="summary-descriptions">
|
||||||
<el-descriptions-item label="报告编号">{{ resolveReportTaskText(record?.no) }}</el-descriptions-item>
|
<el-descriptions-item label="任务编号">{{ resolveReportTaskText(record?.no) }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="监测点数">{{ pointList.length || 0 }}</el-descriptions-item>
|
<el-descriptions-item label="监测点数">{{ pointList.length || 0 }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="已分组点位">{{ groupedPointCount }}</el-descriptions-item>
|
<el-descriptions-item label="已分组点位">{{ groupedPointCount }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="分组数量">{{ groupedPayload.groups.length || 0 }}</el-descriptions-item>
|
<el-descriptions-item label="分组数量">{{ groupedPayload.groups.length || 0 }}</el-descriptions-item>
|
||||||
|
|||||||
@@ -289,7 +289,7 @@ const handleImportFiles = async () => {
|
|||||||
if (importing.value) return
|
if (importing.value) return
|
||||||
|
|
||||||
if (!props.draftId) {
|
if (!props.draftId) {
|
||||||
const message = '报告任务 ID 缺失,无法执行台账校验'
|
const message = '普测报告任务 ID 缺失,无法执行台账校验'
|
||||||
ElMessage.error(message)
|
ElMessage.error(message)
|
||||||
pushLog('error', message)
|
pushLog('error', message)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -345,7 +345,7 @@ const handleValidateFiles = async () => {
|
|||||||
if (validating.value) return
|
if (validating.value) return
|
||||||
|
|
||||||
if (!props.draftId) {
|
if (!props.draftId) {
|
||||||
const message = '报告任务 ID 缺失,无法执行文件校验'
|
const message = '普测报告任务 ID 缺失,无法执行文件校验'
|
||||||
ElMessage.error(message)
|
ElMessage.error(message)
|
||||||
pushLog('error', message)
|
pushLog('error', message)
|
||||||
return
|
return
|
||||||
|
|||||||
@@ -185,7 +185,7 @@ const columns = reactive<ColumnProps<ReportTask.ReportTaskRecord>[]>([
|
|||||||
el: 'input',
|
el: 'input',
|
||||||
order: 1,
|
order: 1,
|
||||||
props: {
|
props: {
|
||||||
placeholder: '请输入报告编号或模板'
|
placeholder: '请输入任务编号或模板'
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
@@ -206,11 +206,11 @@ const columns = reactive<ColumnProps<ReportTask.ReportTaskRecord>[]>([
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
{ prop: 'no', label: '报告编号', minWidth: 180, fixed: 'left', render: ({ row }) => resolveReportTaskText(row.no) },
|
{ prop: 'no', label: '任务编号', minWidth: 180, fixed: 'left', render: ({ row }) => resolveReportTaskText(row.no) },
|
||||||
{ prop: 'reportModelName', label: '报告模板', minWidth: 160, render: ({ row }) => resolveReportTaskText(row.reportModelName) },
|
{ prop: 'reportModelName', label: '报告模板', minWidth: 160, render: ({ row }) => resolveReportTaskText(row.reportModelName) },
|
||||||
{
|
{
|
||||||
prop: 'state',
|
prop: 'state',
|
||||||
label: '报告状态',
|
label: '任务状态',
|
||||||
minWidth: 120,
|
minWidth: 120,
|
||||||
render: ({ row }) => <ElTag type={getReportTaskStateTagType(row.state)}>{getReportTaskStateText(row.state)}</ElTag>
|
render: ({ row }) => <ElTag type={getReportTaskStateTagType(row.state)}>{getReportTaskStateText(row.state)}</ElTag>
|
||||||
},
|
},
|
||||||
@@ -561,7 +561,7 @@ const handleBatchDelete = async (ids: string[]) => {
|
|||||||
|
|
||||||
const handleExport = async () => {
|
const handleExport = async () => {
|
||||||
try {
|
try {
|
||||||
await useDownloadWithServerFileName(exportReportTasksApi, '普测报告列表', currentSearchParams.value, false, '.xlsx')
|
await useDownloadWithServerFileName(exportReportTasksApi, '普测报告任务列表', currentSearchParams.value, false, '.xlsx')
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
ElMessage.error(getReportTaskErrorMessage(error, '报告任务导出失败'))
|
ElMessage.error(getReportTaskErrorMessage(error, '报告任务导出失败'))
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -37,7 +37,7 @@
|
|||||||
<el-button type="primary" :loading="zipValidating" @click="handleValidateZip">校验压缩包</el-button>
|
<el-button type="primary" :loading="zipValidating" @click="handleValidateZip">校验压缩包</el-button>
|
||||||
<div v-if="validateResult" class="validate-summary">
|
<div v-if="validateResult" class="validate-summary">
|
||||||
<span>模板目录:{{ validateResult.dirCount || 0 }}</span>
|
<span>模板目录:{{ validateResult.dirCount || 0 }}</span>
|
||||||
<span>子报告:{{ validateResult.childReportCount || 0 }}</span>
|
<span>子任务:{{ validateResult.childReportCount || 0 }}</span>
|
||||||
<span>监测点:{{ validateResult.pointCount || 0 }}</span>
|
<span>监测点:{{ validateResult.pointCount || 0 }}</span>
|
||||||
<span>Excel:{{ validateResult.excelAttachmentCount || 0 }}</span>
|
<span>Excel:{{ validateResult.excelAttachmentCount || 0 }}</span>
|
||||||
<span>Word:{{ validateResult.wordAttachmentCount || 0 }}</span>
|
<span>Word:{{ validateResult.wordAttachmentCount || 0 }}</span>
|
||||||
@@ -49,7 +49,7 @@
|
|||||||
type="success"
|
type="success"
|
||||||
show-icon
|
show-icon
|
||||||
:closable="false"
|
:closable="false"
|
||||||
title="压缩包校验通过,可继续填写各模板目录对应的子报告信息。"
|
title="压缩包校验通过,可继续填写各模板目录对应的子任务信息。"
|
||||||
/>
|
/>
|
||||||
<el-alert
|
<el-alert
|
||||||
v-else-if="validateResult"
|
v-else-if="validateResult"
|
||||||
@@ -74,7 +74,7 @@
|
|||||||
</el-card>
|
</el-card>
|
||||||
|
|
||||||
<el-card v-if="createForm.childReports.length" shadow="never" class="result-card">
|
<el-card v-if="createForm.childReports.length" shadow="never" class="result-card">
|
||||||
<template #header>模板目录与子报告配置</template>
|
<template #header>模板目录与子任务配置</template>
|
||||||
<div class="dir-config-list">
|
<div class="dir-config-list">
|
||||||
<div v-for="item in createForm.childReports" :key="item.templateDirPath" class="dir-config-item">
|
<div v-for="item in createForm.childReports" :key="item.templateDirPath" class="dir-config-item">
|
||||||
<div class="dir-config-head">
|
<div class="dir-config-head">
|
||||||
@@ -92,8 +92,8 @@
|
|||||||
<el-form label-width="96px">
|
<el-form label-width="96px">
|
||||||
<el-row :gutter="16">
|
<el-row :gutter="16">
|
||||||
<el-col :xs="24" :sm="12" :md="8">
|
<el-col :xs="24" :sm="12" :md="8">
|
||||||
<el-form-item label="报告编号" required>
|
<el-form-item label="任务编号" required>
|
||||||
<el-input v-model="item.no" maxlength="32" clearable placeholder="请输入报告编号" />
|
<el-input v-model="item.no" maxlength="32" clearable placeholder="请输入任务编号" />
|
||||||
</el-form-item>
|
</el-form-item>
|
||||||
</el-col>
|
</el-col>
|
||||||
<el-col :xs="24" :sm="12" :md="8">
|
<el-col :xs="24" :sm="12" :md="8">
|
||||||
@@ -248,10 +248,10 @@ const handleValidateZip = () => {
|
|||||||
const validateCreateForm = () => {
|
const validateCreateForm = () => {
|
||||||
if (!createForm.no.trim()) return '请输入批任务编号'
|
if (!createForm.no.trim()) return '请输入批任务编号'
|
||||||
if (!createForm.sessionId) return '请先校验通过压缩包'
|
if (!createForm.sessionId) return '请先校验通过压缩包'
|
||||||
if (!createForm.childReports.length) return '当前没有可创建的子报告配置'
|
if (!createForm.childReports.length) return '当前没有可创建的子任务配置'
|
||||||
|
|
||||||
for (const item of createForm.childReports) {
|
for (const item of createForm.childReports) {
|
||||||
if (!item.no.trim()) return `模板目录 ${item.templateDirName} 缺少报告编号`
|
if (!item.no.trim()) return `模板目录 ${item.templateDirName} 缺少任务编号`
|
||||||
if (!item.reportModelId) return `模板目录 ${item.templateDirName} 缺少报告模板`
|
if (!item.reportModelId) return `模板目录 ${item.templateDirName} 缺少报告模板`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -106,7 +106,7 @@ const columns: ColumnProps[] = [
|
|||||||
{ prop: 'zipFileName', label: '压缩包文件', minWidth: 200, render: ({ row }) => resolveReportTaskText(row.zipFileName) },
|
{ prop: 'zipFileName', label: '压缩包文件', minWidth: 200, render: ({ row }) => resolveReportTaskText(row.zipFileName) },
|
||||||
{ prop: 'summaryFileName', label: '台账汇总文件', minWidth: 200, render: ({ row }) => resolveReportTaskText(row.summaryFileName) },
|
{ prop: 'summaryFileName', label: '台账汇总文件', minWidth: 200, render: ({ row }) => resolveReportTaskText(row.summaryFileName) },
|
||||||
{ prop: 'dirCount', label: '模板目录数', minWidth: 110 },
|
{ prop: 'dirCount', label: '模板目录数', minWidth: 110 },
|
||||||
{ prop: 'childReportCount', label: '子报告数', minWidth: 100 },
|
{ prop: 'childReportCount', label: '子任务数', minWidth: 100 },
|
||||||
{ prop: 'pointCount', label: '监测点总数', minWidth: 110 },
|
{ prop: 'pointCount', label: '监测点总数', minWidth: 110 },
|
||||||
{
|
{
|
||||||
prop: 'generateState',
|
prop: 'generateState',
|
||||||
|
|||||||
@@ -35,13 +35,13 @@
|
|||||||
</el-tag>
|
</el-tag>
|
||||||
</el-descriptions-item>
|
</el-descriptions-item>
|
||||||
<el-descriptions-item label="模板目录数">{{ detailRecord.dirCount ?? '-' }}</el-descriptions-item>
|
<el-descriptions-item label="模板目录数">{{ detailRecord.dirCount ?? '-' }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="子报告数">{{ detailRecord.childReportCount ?? '-' }}</el-descriptions-item>
|
<el-descriptions-item label="子任务数">{{ detailRecord.childReportCount ?? '-' }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="监测点总数">{{ detailRecord.pointCount ?? '-' }}</el-descriptions-item>
|
<el-descriptions-item label="监测点总数">{{ detailRecord.pointCount ?? '-' }}</el-descriptions-item>
|
||||||
<el-descriptions-item label="创建时间">{{ resolveReportTaskText(detailRecord.createTime) }}</el-descriptions-item>
|
<el-descriptions-item label="创建时间">{{ resolveReportTaskText(detailRecord.createTime) }}</el-descriptions-item>
|
||||||
</el-descriptions>
|
</el-descriptions>
|
||||||
|
|
||||||
<div class="detail-toolbar">
|
<div class="detail-toolbar">
|
||||||
<div class="section-title">子报告列表</div>
|
<div class="section-title">子任务列表</div>
|
||||||
<el-button
|
<el-button
|
||||||
:loading="downloadingMultiId === detailRecord?.id"
|
:loading="downloadingMultiId === detailRecord?.id"
|
||||||
:disabled="!detailRecord?.id"
|
:disabled="!detailRecord?.id"
|
||||||
@@ -61,9 +61,9 @@
|
|||||||
|
|
||||||
<el-table :data="detailChildReports" border class="child-report-table">
|
<el-table :data="detailChildReports" border class="child-report-table">
|
||||||
<el-table-column prop="templateDirName" label="模板目录" min-width="150" />
|
<el-table-column prop="templateDirName" label="模板目录" min-width="150" />
|
||||||
<el-table-column prop="no" label="报告编号" min-width="160" />
|
<el-table-column prop="no" label="任务编号" min-width="160" />
|
||||||
<el-table-column prop="reportModelName" label="报告模板" min-width="140" />
|
<el-table-column prop="reportModelName" label="报告模板" min-width="140" />
|
||||||
<el-table-column prop="state" label="报告状态" min-width="120">
|
<el-table-column prop="state" label="任务状态" min-width="120">
|
||||||
<template #default="{ row }">
|
<template #default="{ row }">
|
||||||
<el-tag :type="getReportTaskStateTagType(row.state)">{{ getReportTaskStateText(row.state) }}</el-tag>
|
<el-tag :type="getReportTaskStateTagType(row.state)">{{ getReportTaskStateText(row.state) }}</el-tag>
|
||||||
</template>
|
</template>
|
||||||
@@ -387,7 +387,7 @@ const handleGenerateMulti = async (row: ReportTaskMulti.ReportTaskMultiRecord |
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
await ElMessageBox.confirm('将依次执行当前批任务下全部子报告的按分组生成,是否继续?', '执行整批生成', {
|
await ElMessageBox.confirm('将依次执行当前批任务下全部子任务的按分组生成,是否继续?', '执行整批生成', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -413,7 +413,7 @@ const handleGenerateMulti = async (row: ReportTaskMulti.ReportTaskMultiRecord |
|
|||||||
const openChildDetailDialog = async (row: ReportTask.ReportTaskRecord) => {
|
const openChildDetailDialog = async (row: ReportTask.ReportTaskRecord) => {
|
||||||
const reportId = String(row.id || '').trim()
|
const reportId = String(row.id || '').trim()
|
||||||
if (!reportId) {
|
if (!reportId) {
|
||||||
ElMessage.warning('当前子报告缺少 ID,无法查看详情')
|
ElMessage.warning('当前子任务缺少 ID,无法查看详情')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
childDetailDialogVisible.value = true
|
childDetailDialogVisible.value = true
|
||||||
@@ -430,7 +430,7 @@ const openChildDetailDialog = async (row: ReportTask.ReportTaskRecord) => {
|
|||||||
childDetailGroupReports.value = normalizeReportTaskGroupReportList(groupReportsResponse)
|
childDetailGroupReports.value = normalizeReportTaskGroupReportList(groupReportsResponse)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
childDetailDialogVisible.value = false
|
childDetailDialogVisible.value = false
|
||||||
ElMessage.error(getReportTaskErrorMessage(error, '子报告详情查询失败'))
|
ElMessage.error(getReportTaskErrorMessage(error, '子任务详情查询失败'))
|
||||||
} finally {
|
} finally {
|
||||||
childDetailLoading.value = false
|
childDetailLoading.value = false
|
||||||
}
|
}
|
||||||
@@ -439,7 +439,7 @@ const openChildDetailDialog = async (row: ReportTask.ReportTaskRecord) => {
|
|||||||
const openChildGroupDialog = async (row: ReportTask.ReportTaskRecord) => {
|
const openChildGroupDialog = async (row: ReportTask.ReportTaskRecord) => {
|
||||||
const reportId = String(row.id || '').trim()
|
const reportId = String(row.id || '').trim()
|
||||||
if (!reportId) {
|
if (!reportId) {
|
||||||
ElMessage.warning('当前子报告缺少 ID,无法维护分组')
|
ElMessage.warning('当前子任务缺少 ID,无法维护分组')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
currentChildGroupRecord.value = row
|
currentChildGroupRecord.value = row
|
||||||
@@ -457,7 +457,7 @@ const openChildGroupDialog = async (row: ReportTask.ReportTaskRecord) => {
|
|||||||
childGroupReports.value = normalizeReportTaskGroupReportList(groupReportResponse)
|
childGroupReports.value = normalizeReportTaskGroupReportList(groupReportResponse)
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
childGroupDialogVisible.value = false
|
childGroupDialogVisible.value = false
|
||||||
ElMessage.error(getReportTaskErrorMessage(error, '子报告分组数据查询失败'))
|
ElMessage.error(getReportTaskErrorMessage(error, '子任务分组数据查询失败'))
|
||||||
} finally {
|
} finally {
|
||||||
childGroupLoading.value = false
|
childGroupLoading.value = false
|
||||||
}
|
}
|
||||||
@@ -466,18 +466,18 @@ const openChildGroupDialog = async (row: ReportTask.ReportTaskRecord) => {
|
|||||||
const handleSaveChildGroups = async (params: ReportTask.ReportTaskGroupSaveRequest) => {
|
const handleSaveChildGroups = async (params: ReportTask.ReportTaskGroupSaveRequest) => {
|
||||||
const reportId = String(currentChildGroupRecord.value?.id || '').trim()
|
const reportId = String(currentChildGroupRecord.value?.id || '').trim()
|
||||||
if (!reportId) {
|
if (!reportId) {
|
||||||
ElMessage.warning('当前子报告缺少 ID,无法保存分组')
|
ElMessage.warning('当前子任务缺少 ID,无法保存分组')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
childGroupSaving.value = true
|
childGroupSaving.value = true
|
||||||
try {
|
try {
|
||||||
await saveReportTaskGroupsApi(reportId, params)
|
await saveReportTaskGroupsApi(reportId, params)
|
||||||
ElMessage.success('子报告分组保存成功')
|
ElMessage.success('子任务分组保存成功')
|
||||||
childGroupDialogVisible.value = false
|
childGroupDialogVisible.value = false
|
||||||
refreshTable()
|
refreshTable()
|
||||||
await refreshDetailIfMatched(String(detailRecord.value?.id || ''))
|
await refreshDetailIfMatched(String(detailRecord.value?.id || ''))
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
ElMessage.error(getReportTaskErrorMessage(error, '子报告分组保存失败'))
|
ElMessage.error(getReportTaskErrorMessage(error, '子任务分组保存失败'))
|
||||||
} finally {
|
} finally {
|
||||||
childGroupSaving.value = false
|
childGroupSaving.value = false
|
||||||
}
|
}
|
||||||
@@ -486,11 +486,11 @@ const handleSaveChildGroups = async (params: ReportTask.ReportTaskGroupSaveReque
|
|||||||
const handleGenerateChildReport = async (row: ReportTask.ReportTaskRecord) => {
|
const handleGenerateChildReport = async (row: ReportTask.ReportTaskRecord) => {
|
||||||
const reportId = String(row.id || '').trim()
|
const reportId = String(row.id || '').trim()
|
||||||
if (!reportId) {
|
if (!reportId) {
|
||||||
ElMessage.warning('当前子报告缺少 ID,无法生成报告')
|
ElMessage.warning('当前子任务缺少 ID,无法生成报告')
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
await ElMessageBox.confirm('将按当前子报告的分组生成全部报告,是否继续?', '生成子报告', {
|
await ElMessageBox.confirm('将按当前子任务的分组生成全部报告,是否继续?', '生成子任务', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
@@ -500,14 +500,14 @@ const handleGenerateChildReport = async (row: ReportTask.ReportTaskRecord) => {
|
|||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
await generateReportTaskGroupReportsApi(reportId)
|
await generateReportTaskGroupReportsApi(reportId)
|
||||||
ElMessage.success('子报告生成完成')
|
ElMessage.success('子任务生成完成')
|
||||||
refreshTable()
|
refreshTable()
|
||||||
await refreshDetailIfMatched(String(detailRecord.value?.id || ''))
|
await refreshDetailIfMatched(String(detailRecord.value?.id || ''))
|
||||||
if (childDetailDialogVisible.value && String(childDetailRecord.value?.id || '') === reportId) {
|
if (childDetailDialogVisible.value && String(childDetailRecord.value?.id || '') === reportId) {
|
||||||
await openChildDetailDialog(row)
|
await openChildDetailDialog(row)
|
||||||
}
|
}
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
ElMessage.error(getReportTaskErrorMessage(error, '子报告生成失败'))
|
ElMessage.error(getReportTaskErrorMessage(error, '子任务生成失败'))
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -539,7 +539,7 @@ const deleteRows = async (ids: string[], successMessage: string) => {
|
|||||||
return
|
return
|
||||||
}
|
}
|
||||||
try {
|
try {
|
||||||
await ElMessageBox.confirm('删除后该批任务及其下全部子报告都会被删除,是否继续?', '删除批任务', {
|
await ElMessageBox.confirm('删除后该批任务及其下全部子任务都会被删除,是否继续?', '删除批任务', {
|
||||||
confirmButtonText: '确定',
|
confirmButtonText: '确定',
|
||||||
cancelButtonText: '取消',
|
cancelButtonText: '取消',
|
||||||
type: 'warning'
|
type: 'warning'
|
||||||
|
|||||||
Reference in New Issue
Block a user