|
@@ -1,73 +1,73 @@
|
|
|
<template>
|
|
<template>
|
|
|
<div class="report-parse-status admin-page">
|
|
<div class="report-parse-status admin-page">
|
|
|
- <div class="header admin-page-header">
|
|
|
|
|
- <h2 class="admin-page-title">解析进度</h2>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <el-card>
|
|
|
|
|
+ <PageHeader slot="header" title="解析进度" />
|
|
|
|
|
|
|
|
- <div class="filter-bar">
|
|
|
|
|
- <el-select v-model="query.parseStatus" placeholder="解析状态" clearable style="width: 140px">
|
|
|
|
|
- <el-option label="全部" value="" />
|
|
|
|
|
- <el-option label="采集中" value="collecting" />
|
|
|
|
|
- <el-option label="成功" value="completed" />
|
|
|
|
|
- <el-option label="失败" value="failed" />
|
|
|
|
|
- </el-select>
|
|
|
|
|
- <el-input
|
|
|
|
|
- v-model="query.keyword"
|
|
|
|
|
- placeholder="关键词(文件名或用户ID)"
|
|
|
|
|
- style="width: 220px"
|
|
|
|
|
- clearable
|
|
|
|
|
- @keyup.enter.native="handleSearch"
|
|
|
|
|
- />
|
|
|
|
|
- <el-button type="primary" @click="handleSearch">查询</el-button>
|
|
|
|
|
- <el-button @click="handleReset">重置</el-button>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="filter-bar">
|
|
|
|
|
+ <el-select v-model="query.parseStatus" placeholder="解析状态" clearable style="width: 140px">
|
|
|
|
|
+ <el-option label="全部" value="" />
|
|
|
|
|
+ <el-option label="采集中" value="collecting" />
|
|
|
|
|
+ <el-option label="成功" value="completed" />
|
|
|
|
|
+ <el-option label="失败" value="failed" />
|
|
|
|
|
+ </el-select>
|
|
|
|
|
+ <el-input
|
|
|
|
|
+ v-model="query.keyword"
|
|
|
|
|
+ placeholder="关键词(文件名或用户ID)"
|
|
|
|
|
+ style="width: 220px"
|
|
|
|
|
+ clearable
|
|
|
|
|
+ @keyup.enter.native="handleSearch"
|
|
|
|
|
+ />
|
|
|
|
|
+ <el-button type="primary" @click="handleSearch">查询</el-button>
|
|
|
|
|
+ <el-button @click="handleReset">重置</el-button>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <div class="adm-table-wrap">
|
|
|
|
|
- <el-table :data="list" v-loading="loading" border stripe height="100%">
|
|
|
|
|
- <el-table-column prop="draftId" label="草稿ID" width="90" />
|
|
|
|
|
- <el-table-column prop="userId" label="用户ID" width="90" />
|
|
|
|
|
- <el-table-column prop="reportType" label="报告类型" width="130" />
|
|
|
|
|
- <el-table-column prop="originalFilename" label="文件名" min-width="200" show-overflow-tooltip />
|
|
|
|
|
- <el-table-column label="解析状态" width="100">
|
|
|
|
|
- <template slot-scope="{ row }">
|
|
|
|
|
- <StatusTag v-if="row.parseStatus === 'collecting'" type="info" size="small" text="采集中" />
|
|
|
|
|
- <StatusTag v-else-if="row.parseStatus === 'completed'" type="success" size="small" text="成功" />
|
|
|
|
|
- <StatusTag v-else-if="row.parseStatus === 'failed'" type="danger" size="small" text="失败" />
|
|
|
|
|
- <el-tag v-else size="small">未触发</el-tag>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="parseMethod" label="解析方式" width="110" />
|
|
|
|
|
- <el-table-column prop="parseAttempt" label="尝试次数" width="90" />
|
|
|
|
|
- <el-table-column label="下次重试" width="160">
|
|
|
|
|
- <template slot-scope="{ row }">{{ formatTime(row.nextRetryAt) }}</template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column prop="parseError" label="错误信息" min-width="180" show-overflow-tooltip />
|
|
|
|
|
- <el-table-column prop="confirmedReportId" label="入库报告ID" width="110" />
|
|
|
|
|
- <el-table-column label="更新时间" width="160">
|
|
|
|
|
- <template slot-scope="{ row }">{{ formatTime(row.updatedAt) }}</template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- <el-table-column label="操作" width="100" fixed="right">
|
|
|
|
|
- <template slot-scope="{ row }">
|
|
|
|
|
- <el-button
|
|
|
|
|
- size="mini"
|
|
|
|
|
- type="primary"
|
|
|
|
|
- :disabled="row.parseStatus === 'completed'"
|
|
|
|
|
- @click="handleRetry(row)"
|
|
|
|
|
- >重试</el-button>
|
|
|
|
|
- </template>
|
|
|
|
|
- </el-table-column>
|
|
|
|
|
- </el-table>
|
|
|
|
|
- </div>
|
|
|
|
|
|
|
+ <div class="adm-table-wrap">
|
|
|
|
|
+ <el-table :data="list" v-loading="loading" border stripe height="100%">
|
|
|
|
|
+ <el-table-column prop="draftId" label="草稿ID" width="90" />
|
|
|
|
|
+ <el-table-column prop="userId" label="用户ID" width="90" />
|
|
|
|
|
+ <el-table-column prop="reportType" label="报告类型" width="130" />
|
|
|
|
|
+ <el-table-column prop="originalFilename" label="文件名" min-width="200" show-overflow-tooltip />
|
|
|
|
|
+ <el-table-column label="解析状态" width="100">
|
|
|
|
|
+ <template slot-scope="{ row }">
|
|
|
|
|
+ <StatusTag v-if="row.parseStatus === 'collecting'" type="info" size="small" text="采集中" />
|
|
|
|
|
+ <StatusTag v-else-if="row.parseStatus === 'completed'" type="success" size="small" text="成功" />
|
|
|
|
|
+ <StatusTag v-else-if="row.parseStatus === 'failed'" type="danger" size="small" text="失败" />
|
|
|
|
|
+ <StatusTag v-else size="small" text="未触发" />
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column prop="parseMethod" label="解析方式" width="110" />
|
|
|
|
|
+ <el-table-column prop="parseAttempt" label="尝试次数" width="90" />
|
|
|
|
|
+ <el-table-column label="下次重试" width="160">
|
|
|
|
|
+ <template slot-scope="{ row }">{{ formatTime(row.nextRetryAt) }}</template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column prop="parseError" label="错误信息" min-width="180" show-overflow-tooltip />
|
|
|
|
|
+ <el-table-column prop="confirmedReportId" label="入库报告ID" width="110" />
|
|
|
|
|
+ <el-table-column label="更新时间" width="160">
|
|
|
|
|
+ <template slot-scope="{ row }">{{ formatTime(row.updatedAt) }}</template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ <el-table-column label="操作" width="100" fixed="right">
|
|
|
|
|
+ <template slot-scope="{ row }">
|
|
|
|
|
+ <el-button
|
|
|
|
|
+ size="mini"
|
|
|
|
|
+ type="primary"
|
|
|
|
|
+ :disabled="row.parseStatus === 'completed'"
|
|
|
|
|
+ @click="handleRetry(row)"
|
|
|
|
|
+ >重试</el-button>
|
|
|
|
|
+ </template>
|
|
|
|
|
+ </el-table-column>
|
|
|
|
|
+ </el-table>
|
|
|
|
|
+ </div>
|
|
|
|
|
|
|
|
- <el-pagination
|
|
|
|
|
- v-if="total > size"
|
|
|
|
|
- @current-change="onPageChange"
|
|
|
|
|
- :current-page="page"
|
|
|
|
|
- :page-size="size"
|
|
|
|
|
- :total="total"
|
|
|
|
|
- layout="total, prev, pager, next"
|
|
|
|
|
- class="pagination-wrap"
|
|
|
|
|
- />
|
|
|
|
|
|
|
+ <el-pagination
|
|
|
|
|
+ v-if="total > size"
|
|
|
|
|
+ @current-change="onPageChange"
|
|
|
|
|
+ :current-page="page"
|
|
|
|
|
+ :page-size="size"
|
|
|
|
|
+ :total="total"
|
|
|
|
|
+ layout="total, prev, pager, next"
|
|
|
|
|
+ class="pagination-wrap"
|
|
|
|
|
+ />
|
|
|
|
|
+ </el-card>
|
|
|
</div>
|
|
</div>
|
|
|
</template>
|
|
</template>
|
|
|
|
|
|
|
@@ -153,4 +153,4 @@ export default {
|
|
|
margin-top: 16px;
|
|
margin-top: 16px;
|
|
|
text-align: right;
|
|
text-align: right;
|
|
|
}
|
|
}
|
|
|
-</style>
|
|
|
|
|
|
|
+</style>
|