rename(testReport): 统一将报告相关术语更新为任务术语

- 将界面中的"报告编号"统一更改为"任务编号"
- 将界面中的"报告状态"统一更改为"任务状态"
- 将界面中的"子报告"统一更改为"子任务"
- 更新弹窗标题中的"报告任务"为"普测报告任务"
- 修正表单验证提示信息中的术语一致性
- 更新批量报告页面的相关术语显示
- 修正审批模块中的报告类型显示名称
This commit is contained in:
dk
2026-07-22 13:45:10 +08:00
parent 5b0088ee7b
commit ecbb40d4a0
12 changed files with 49 additions and 49 deletions

View File

@@ -14,7 +14,7 @@ const REPORT_APPROVAL_STATE_MAP: Record<string, { text: string; tagType: TagType
const REPORT_APPROVAL_TYPE_MAP: Record<string, string> = {
REPORT_MODEL: '报告模板',
TEST_REPORT: '普测报告'
TEST_REPORT: '普测报告任务'
}
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 }> = [
{ label: '报告模板', value: 'REPORT_MODEL' },
{ label: '普测报告', value: 'TEST_REPORT' }
{ label: '普测报告任务', value: 'TEST_REPORT' }
]
export const resolveReportApprovalText = (value: unknown) => {

View File

@@ -3,8 +3,8 @@
<el-form ref="formRef" :model="localFormModel" :rules="formRules" label-width="108px" class="report-task-form">
<el-row :gutter="16">
<el-col :xs="24" :sm="12">
<el-form-item label="报告编号" prop="no">
<el-input v-model="localFormModel.no" maxlength="32" clearable placeholder="请输入报告编号" />
<el-form-item label="任务编号" prop="no">
<el-input v-model="localFormModel.no" maxlength="32" clearable placeholder="请输入任务编号" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12">
@@ -43,7 +43,7 @@ const formRef = ref<FormInstance>()
const localFormModel = ref<ReportTaskFormModel>({ ...props.formModel })
const formRules: FormRules = {
no: [{ required: true, message: '请输入报告编号', trigger: 'blur' }],
no: [{ required: true, message: '请输入任务编号', trigger: 'blur' }],
reportModelId: [{ required: true, message: '请选择报告模板', trigger: 'change' }]
}

View File

@@ -2,12 +2,12 @@
<div class="complete-panel">
<el-result
icon="success"
:title="mode === 'create' ? '报告任务新增完成' : '报告任务编辑完成'"
:title="mode === 'create' ? '普测报告任务新增完成' : '普测报告任务编辑完成'"
sub-title="文件导入与任务基础信息保存均已完成"
/>
<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="监测点数">{{ importSummary.pointCount }}</el-descriptions-item>
<el-descriptions-item label="分组数">{{ importSummary.groupCount }}</el-descriptions-item>

View File

@@ -1,8 +1,8 @@
<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">
<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?.templateDirName) }}</el-descriptions-item>-->
<!-- <el-descriptions-item label="导入汇总快照数据" :span="2">{{ resolveReportTaskText(detail?.data) }}</el-descriptions-item>-->

View File

@@ -1,7 +1,7 @@
<template>
<el-dialog
v-model="visibleProxy"
:title="mode === 'create' ? '新增报告任务' : '编辑报告任务'"
:title="mode === 'create' ? '新增普测报告任务' : '编辑普测报告任务'"
width="1080px"
append-to-body
destroy-on-close
@@ -50,8 +50,8 @@
>
<el-row :gutter="16">
<el-col :xs="24" :sm="12">
<el-form-item label="报告编号" prop="no">
<el-input v-model="formModel.no" maxlength="32" clearable placeholder="请输入报告编号" />
<el-form-item label="任务编号" prop="no">
<el-input v-model="formModel.no" maxlength="32" clearable placeholder="请输入任务编号" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12">
@@ -101,12 +101,12 @@
<div class="complete-panel">
<el-result
icon="success"
:title="mode === 'create' ? '报告任务新增完成' : '报告任务编辑完成'"
:title="mode === 'create' ? '普测报告任务新增完成' : '普测报告任务编辑完成'"
sub-title="台账校验与任务基础信息保存均已完成"
/>
<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(reportModelSelectOptions, formModel.reportModelId) }}
</el-descriptions-item>
@@ -232,7 +232,7 @@ const formModel = reactive({
})
const formRules: FormRules = {
no: [{ required: true, message: '请输入报告编号', trigger: 'blur' }],
no: [{ required: true, message: '请输入任务编号', trigger: 'blur' }],
reportModelId: [{ required: true, message: '请选择报告模板', trigger: 'change' }]
}
@@ -372,7 +372,7 @@ const fillForm = async () => {
pushLog('info', `已加载最近一次导入快照:${snapshot.summaryFileName || '未命名汇总文件'}`)
}
} catch (error) {
const message = getReportTaskErrorMessage(error, '报告任务台账快照加载失败')
const message = getReportTaskErrorMessage(error, '普测报告任务台账快照加载失败')
ElMessage.error(message)
pushLog('error', message)
}
@@ -442,7 +442,7 @@ watch(
if (!props.visible || !value || value === lastHandledSaveSuccessVersion.value) return
lastHandledSaveSuccessVersion.value = value
currentStep.value = 'done'
pushLog('success', props.mode === 'create' ? '报告任务新增成功,流程已完成' : '报告任务编辑成功,流程已完成')
pushLog('success', props.mode === 'create' ? '普测报告任务新增成功,流程已完成' : '普测报告任务编辑成功,流程已完成')
}
)

View File

@@ -2,7 +2,7 @@
<el-dialog v-model="visibleProxy" title="监测点分组" width="1380px" append-to-body destroy-on-close>
<div v-loading="loading" class="report-task-group-dialog">
<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="已分组点位">{{ groupedPointCount }}</el-descriptions-item>
<el-descriptions-item label="分组数量">{{ groupedPayload.groups.length || 0 }}</el-descriptions-item>

View File

@@ -289,7 +289,7 @@ const handleImportFiles = async () => {
if (importing.value) return
if (!props.draftId) {
const message = '报告任务 ID 缺失,无法执行台账校验'
const message = '普测报告任务 ID 缺失,无法执行台账校验'
ElMessage.error(message)
pushLog('error', message)
return

View File

@@ -345,7 +345,7 @@ const handleValidateFiles = async () => {
if (validating.value) return
if (!props.draftId) {
const message = '报告任务 ID 缺失,无法执行文件校验'
const message = '普测报告任务 ID 缺失,无法执行文件校验'
ElMessage.error(message)
pushLog('error', message)
return

View File

@@ -185,7 +185,7 @@ const columns = reactive<ColumnProps<ReportTask.ReportTaskRecord>[]>([
el: 'input',
order: 1,
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: 'state',
label: '报告状态',
label: '任务状态',
minWidth: 120,
render: ({ row }) => <ElTag type={getReportTaskStateTagType(row.state)}>{getReportTaskStateText(row.state)}</ElTag>
},
@@ -561,7 +561,7 @@ const handleBatchDelete = async (ids: string[]) => {
const handleExport = async () => {
try {
await useDownloadWithServerFileName(exportReportTasksApi, '普测报告列表', currentSearchParams.value, false, '.xlsx')
await useDownloadWithServerFileName(exportReportTasksApi, '普测报告任务列表', currentSearchParams.value, false, '.xlsx')
} catch (error) {
ElMessage.error(getReportTaskErrorMessage(error, '报告任务导出失败'))
}

View File

@@ -37,7 +37,7 @@
<el-button type="primary" :loading="zipValidating" @click="handleValidateZip">校验压缩包</el-button>
<div v-if="validateResult" class="validate-summary">
<span>模板目录{{ validateResult.dirCount || 0 }}</span>
<span>报告{{ validateResult.childReportCount || 0 }}</span>
<span>任务{{ validateResult.childReportCount || 0 }}</span>
<span>监测点{{ validateResult.pointCount || 0 }}</span>
<span>Excel{{ validateResult.excelAttachmentCount || 0 }}</span>
<span>Word{{ validateResult.wordAttachmentCount || 0 }}</span>
@@ -49,7 +49,7 @@
type="success"
show-icon
:closable="false"
title="压缩包校验通过,可继续填写各模板目录对应的子报告信息。"
title="压缩包校验通过,可继续填写各模板目录对应的子任务信息。"
/>
<el-alert
v-else-if="validateResult"
@@ -74,7 +74,7 @@
</el-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 v-for="item in createForm.childReports" :key="item.templateDirPath" class="dir-config-item">
<div class="dir-config-head">
@@ -92,8 +92,8 @@
<el-form label-width="96px">
<el-row :gutter="16">
<el-col :xs="24" :sm="12" :md="8">
<el-form-item label="报告编号" required>
<el-input v-model="item.no" maxlength="32" clearable placeholder="请输入报告编号" />
<el-form-item label="任务编号" required>
<el-input v-model="item.no" maxlength="32" clearable placeholder="请输入任务编号" />
</el-form-item>
</el-col>
<el-col :xs="24" :sm="12" :md="8">
@@ -248,10 +248,10 @@ const handleValidateZip = () => {
const validateCreateForm = () => {
if (!createForm.no.trim()) return '请输入批任务编号'
if (!createForm.sessionId) return '请先校验通过压缩包'
if (!createForm.childReports.length) return '当前没有可创建的子报告配置'
if (!createForm.childReports.length) return '当前没有可创建的子任务配置'
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} 缺少报告模板`
}

View File

@@ -106,7 +106,7 @@ const columns: ColumnProps[] = [
{ prop: 'zipFileName', label: '压缩包文件', minWidth: 200, render: ({ row }) => resolveReportTaskText(row.zipFileName) },
{ prop: 'summaryFileName', label: '台账汇总文件', minWidth: 200, render: ({ row }) => resolveReportTaskText(row.summaryFileName) },
{ prop: 'dirCount', label: '模板目录数', minWidth: 110 },
{ prop: 'childReportCount', label: '子报告数', minWidth: 100 },
{ prop: 'childReportCount', label: '子任务数', minWidth: 100 },
{ prop: 'pointCount', label: '监测点总数', minWidth: 110 },
{
prop: 'generateState',

View File

@@ -35,13 +35,13 @@
</el-tag>
</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="创建时间">{{ resolveReportTaskText(detailRecord.createTime) }}</el-descriptions-item>
</el-descriptions>
<div class="detail-toolbar">
<div class="section-title">报告列表</div>
<div class="section-title">任务列表</div>
<el-button
:loading="downloadingMultiId === detailRecord?.id"
:disabled="!detailRecord?.id"
@@ -61,9 +61,9 @@
<el-table :data="detailChildReports" border class="child-report-table">
<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="state" label="报告状态" min-width="120">
<el-table-column prop="state" label="任务状态" min-width="120">
<template #default="{ row }">
<el-tag :type="getReportTaskStateTagType(row.state)">{{ getReportTaskStateText(row.state) }}</el-tag>
</template>
@@ -387,7 +387,7 @@ const handleGenerateMulti = async (row: ReportTaskMulti.ReportTaskMultiRecord |
return
}
try {
await ElMessageBox.confirm('将依次执行当前批任务下全部子报告的按分组生成,是否继续?', '执行整批生成', {
await ElMessageBox.confirm('将依次执行当前批任务下全部子任务的按分组生成,是否继续?', '执行整批生成', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
@@ -413,7 +413,7 @@ const handleGenerateMulti = async (row: ReportTaskMulti.ReportTaskMultiRecord |
const openChildDetailDialog = async (row: ReportTask.ReportTaskRecord) => {
const reportId = String(row.id || '').trim()
if (!reportId) {
ElMessage.warning('当前子报告缺少 ID无法查看详情')
ElMessage.warning('当前子任务缺少 ID无法查看详情')
return
}
childDetailDialogVisible.value = true
@@ -430,7 +430,7 @@ const openChildDetailDialog = async (row: ReportTask.ReportTaskRecord) => {
childDetailGroupReports.value = normalizeReportTaskGroupReportList(groupReportsResponse)
} catch (error) {
childDetailDialogVisible.value = false
ElMessage.error(getReportTaskErrorMessage(error, '子报告详情查询失败'))
ElMessage.error(getReportTaskErrorMessage(error, '子任务详情查询失败'))
} finally {
childDetailLoading.value = false
}
@@ -439,7 +439,7 @@ const openChildDetailDialog = async (row: ReportTask.ReportTaskRecord) => {
const openChildGroupDialog = async (row: ReportTask.ReportTaskRecord) => {
const reportId = String(row.id || '').trim()
if (!reportId) {
ElMessage.warning('当前子报告缺少 ID无法维护分组')
ElMessage.warning('当前子任务缺少 ID无法维护分组')
return
}
currentChildGroupRecord.value = row
@@ -457,7 +457,7 @@ const openChildGroupDialog = async (row: ReportTask.ReportTaskRecord) => {
childGroupReports.value = normalizeReportTaskGroupReportList(groupReportResponse)
} catch (error) {
childGroupDialogVisible.value = false
ElMessage.error(getReportTaskErrorMessage(error, '子报告分组数据查询失败'))
ElMessage.error(getReportTaskErrorMessage(error, '子任务分组数据查询失败'))
} finally {
childGroupLoading.value = false
}
@@ -466,18 +466,18 @@ const openChildGroupDialog = async (row: ReportTask.ReportTaskRecord) => {
const handleSaveChildGroups = async (params: ReportTask.ReportTaskGroupSaveRequest) => {
const reportId = String(currentChildGroupRecord.value?.id || '').trim()
if (!reportId) {
ElMessage.warning('当前子报告缺少 ID无法保存分组')
ElMessage.warning('当前子任务缺少 ID无法保存分组')
return
}
childGroupSaving.value = true
try {
await saveReportTaskGroupsApi(reportId, params)
ElMessage.success('子报告分组保存成功')
ElMessage.success('子任务分组保存成功')
childGroupDialogVisible.value = false
refreshTable()
await refreshDetailIfMatched(String(detailRecord.value?.id || ''))
} catch (error) {
ElMessage.error(getReportTaskErrorMessage(error, '子报告分组保存失败'))
ElMessage.error(getReportTaskErrorMessage(error, '子任务分组保存失败'))
} finally {
childGroupSaving.value = false
}
@@ -486,11 +486,11 @@ const handleSaveChildGroups = async (params: ReportTask.ReportTaskGroupSaveReque
const handleGenerateChildReport = async (row: ReportTask.ReportTaskRecord) => {
const reportId = String(row.id || '').trim()
if (!reportId) {
ElMessage.warning('当前子报告缺少 ID无法生成报告')
ElMessage.warning('当前子任务缺少 ID无法生成报告')
return
}
try {
await ElMessageBox.confirm('将按当前子报告的分组生成全部报告,是否继续?', '生成子报告', {
await ElMessageBox.confirm('将按当前子任务的分组生成全部报告,是否继续?', '生成子任务', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'
@@ -500,14 +500,14 @@ const handleGenerateChildReport = async (row: ReportTask.ReportTaskRecord) => {
}
try {
await generateReportTaskGroupReportsApi(reportId)
ElMessage.success('子报告生成完成')
ElMessage.success('子任务生成完成')
refreshTable()
await refreshDetailIfMatched(String(detailRecord.value?.id || ''))
if (childDetailDialogVisible.value && String(childDetailRecord.value?.id || '') === reportId) {
await openChildDetailDialog(row)
}
} catch (error) {
ElMessage.error(getReportTaskErrorMessage(error, '子报告生成失败'))
ElMessage.error(getReportTaskErrorMessage(error, '子任务生成失败'))
}
}
@@ -539,7 +539,7 @@ const deleteRows = async (ids: string[], successMessage: string) => {
return
}
try {
await ElMessageBox.confirm('删除后该批任务及其下全部子报告都会被删除,是否继续?', '删除批任务', {
await ElMessageBox.confirm('删除后该批任务及其下全部子任务都会被删除,是否继续?', '删除批任务', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: 'warning'