feat(testReport): 新增台账导入功能并重构报告任务表单
- 新增台账导入面板组件,支持Excel模板下载和批量导入 - 在报告任务表单中集成三步式流程(导入→填写→完成) - 添加导入结果预览和分组报告状态展示功能 - 扩展API接口支持台账导入和分组报告查询 - 优化表单验证逻辑,移除送资数据必填限制 - 集成日志面板实时显示导入过程状态 - 更新测试报告页面契约验证规则 - 添加监测点数和分组数统计展示 - 实现台账准备状态检查和快照功能
This commit is contained in:
@@ -8,7 +8,7 @@ export const listReportTasksApi = (params: ReportTask.ReportTaskListParams) => {
|
||||
return http.post(`${REPORT_TASK_BASE_URL}/list`, params)
|
||||
}
|
||||
|
||||
export const createReportTaskApi = (params: ReportTask.ReportTaskSaveRequest) => {
|
||||
export const createReportTaskApi = (params: ReportTask.ReportTaskAddParam) => {
|
||||
return http.post<boolean>(`${REPORT_TASK_BASE_URL}/add`, params)
|
||||
}
|
||||
|
||||
@@ -30,3 +30,18 @@ export const exportReportTasksApi = (params: ReportTask.ReportTaskListParams): P
|
||||
export const submitReportTaskAuditApi = (params: ReportTask.ReportTaskAuditRequest) => {
|
||||
return http.post<boolean>(`${REPORT_TASK_BASE_URL}/submit-audit`, params)
|
||||
}
|
||||
|
||||
export const downloadReportTaskLedgerTemplateApi = (): Promise<AxiosResponse<Blob>> =>
|
||||
http.get(`${REPORT_TASK_BASE_URL}/ledger/template`, undefined, {
|
||||
responseType: 'blob'
|
||||
}) as unknown as Promise<AxiosResponse<Blob>>
|
||||
|
||||
export const importReportTaskLedgerApi = (id: string, formData: FormData) => {
|
||||
return http.post<ReportTask.ReportTaskLedgerImportResult>(`${REPORT_TASK_BASE_URL}/${id}/ledger/import`, formData, {
|
||||
headers: { 'Content-Type': 'multipart/form-data' }
|
||||
})
|
||||
}
|
||||
|
||||
export const listReportTaskGroupReportsApi = (id: string) => {
|
||||
return http.get<ReportTask.ReportTaskGroupReportRecord[]>(`${REPORT_TASK_BASE_URL}/${id}/group-report/list`)
|
||||
}
|
||||
|
||||
@@ -1,4 +1,12 @@
|
||||
export namespace ReportTask {
|
||||
export type ReportTaskGroupReportGenerateState = 0 | 1 | 2 | 3
|
||||
export type ReportTaskLedgerImportStage =
|
||||
| '选择文件'
|
||||
| '校验文件'
|
||||
| '文件上传'
|
||||
| '基础资料维护'
|
||||
| '完成'
|
||||
|
||||
export interface ReportTaskRecord {
|
||||
id?: string
|
||||
no?: string | null
|
||||
@@ -16,12 +24,16 @@ export namespace ReportTask {
|
||||
checkTime?: string | null
|
||||
checkResult?: string | null
|
||||
status?: number
|
||||
pointCount?: number | null
|
||||
groupCount?: number | null
|
||||
reportGenerateState?: number | null
|
||||
createBy?: string | null
|
||||
createByName?: string | null
|
||||
createTime?: string | null
|
||||
updateBy?: string | null
|
||||
updateByName?: string | null
|
||||
updateTime?: string | null
|
||||
groupReports?: ReportTaskGroupReportRecord[] | null
|
||||
}
|
||||
|
||||
export interface ReportTaskListParams {
|
||||
@@ -33,7 +45,7 @@ export namespace ReportTask {
|
||||
pageSize?: number
|
||||
}
|
||||
|
||||
export interface ReportTaskSaveRequest {
|
||||
export interface ReportTaskAddParam {
|
||||
id?: string
|
||||
no: string
|
||||
clientUnitId: string
|
||||
@@ -45,8 +57,102 @@ export namespace ReportTask {
|
||||
phonenumber?: string
|
||||
}
|
||||
|
||||
export interface ReportTaskSaveRequest extends ReportTaskAddParam {}
|
||||
|
||||
export interface ReportTaskAuditRequest {
|
||||
id: string
|
||||
checkResult?: string
|
||||
}
|
||||
|
||||
export interface ReportTaskLedgerImportStageRecord {
|
||||
stage?: ReportTaskLedgerImportStage | string | null
|
||||
success?: boolean | null
|
||||
message?: string | null
|
||||
}
|
||||
|
||||
export interface ReportTaskLedgerImportSnapshotGroupRecord {
|
||||
groupNo?: number | null
|
||||
count?: number | null
|
||||
}
|
||||
|
||||
export interface ReportTaskLedgerImportSnapshot {
|
||||
version?: string | null
|
||||
importMode?: string | null
|
||||
summaryFileName?: string | null
|
||||
sheetSummary?: {
|
||||
pointSheet?: string | null
|
||||
deviceSheetPresent?: boolean | null
|
||||
clientSheetPresent?: boolean | null
|
||||
} | null
|
||||
rowCount?: number | null
|
||||
groupSummary?: ReportTaskLedgerImportSnapshotGroupRecord[] | null
|
||||
baseDataSummary?: {
|
||||
deviceAddedCount?: number | null
|
||||
deviceReuseCount?: number | null
|
||||
clientAddedCount?: number | null
|
||||
clientReuseCount?: number | null
|
||||
} | null
|
||||
}
|
||||
|
||||
export interface ReportTaskLedgerImportResult {
|
||||
currentStage?: ReportTaskLedgerImportStage | string | null
|
||||
success?: boolean | null
|
||||
summaryFileName?: string | null
|
||||
totalFileCount?: number
|
||||
pointCount?: number
|
||||
excelAttachmentCount?: number
|
||||
wordAttachmentCount?: number
|
||||
deviceAddedCount?: number
|
||||
deviceReuseCount?: number
|
||||
clientAddedCount?: number
|
||||
clientReuseCount?: number
|
||||
groupCount?: number
|
||||
failReasons?: string[] | null
|
||||
stages?: ReportTaskLedgerImportStageRecord[] | null
|
||||
}
|
||||
|
||||
export interface ReportTaskPointRecord {
|
||||
id?: string
|
||||
groupNo?: number | null
|
||||
substationName?: string | null
|
||||
pointName?: string | null
|
||||
monitorTime?: string | null
|
||||
voltageLevel?: string | null
|
||||
ptRatio?: string | null
|
||||
ctRatio?: string | null
|
||||
baseShortCircuitCapacity?: string | null
|
||||
minShortCircuitCapacity?: string | null
|
||||
protocolCapacity?: string | null
|
||||
powerSupplyCapacity?: string | null
|
||||
excelAttachmentName?: string | null
|
||||
}
|
||||
|
||||
export interface ReportTaskPointGroupItem {
|
||||
groupNo: number
|
||||
pointIds: string[]
|
||||
}
|
||||
|
||||
export interface ReportTaskGroupSaveRequest {
|
||||
groups: ReportTaskPointGroupItem[]
|
||||
}
|
||||
|
||||
export interface ReportTaskGroupReportRecord {
|
||||
id?: string
|
||||
groupNo?: number | null
|
||||
reportName?: string | null
|
||||
reportFileName?: string | null
|
||||
reportStoragePath?: string | null
|
||||
generateState?: ReportTaskGroupReportGenerateState | null
|
||||
generateMessage?: string | null
|
||||
generateTime?: string | null
|
||||
sortNo?: number | null
|
||||
}
|
||||
|
||||
export interface ReportTaskLedgerPreparedState {
|
||||
draftId: string
|
||||
latestImportResult: ReportTaskLedgerImportResult | null
|
||||
snapshot: ReportTaskLedgerImportSnapshot | null
|
||||
hasImported: boolean
|
||||
pendingReimport: boolean
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user