新增结果总览一键导出报告
This commit is contained in:
@@ -91,3 +91,12 @@ export function getOverviewAbnormalAccountPeople(params) {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
export function exportOverviewReport(projectId) {
|
||||
return request({
|
||||
url: '/ccdi/project/overview/report/export',
|
||||
method: 'post',
|
||||
responseType: 'blob',
|
||||
params: { projectId }
|
||||
})
|
||||
}
|
||||
|
||||
@@ -19,6 +19,16 @@
|
||||
<div class="section-title">风险总览</div>
|
||||
<div class="section-subtitle">集中展示项目风险统计与命中人员总览</div>
|
||||
</div>
|
||||
<el-button
|
||||
size="mini"
|
||||
type="primary"
|
||||
plain
|
||||
icon="el-icon-download"
|
||||
:disabled="!projectId"
|
||||
@click="handleOverviewReportExport"
|
||||
>
|
||||
一键导出
|
||||
</el-button>
|
||||
</div>
|
||||
<overview-stats :summary="currentData.summary" />
|
||||
<risk-people-section
|
||||
@@ -191,6 +201,18 @@ export default {
|
||||
riskTags,
|
||||
};
|
||||
},
|
||||
handleOverviewReportExport() {
|
||||
if (!this.projectId) {
|
||||
return;
|
||||
}
|
||||
this.download(
|
||||
"ccdi/project/overview/report/export",
|
||||
{
|
||||
projectId: this.projectId,
|
||||
},
|
||||
`初核结果报告_${this.projectId}_${new Date().getTime()}.pdf`
|
||||
);
|
||||
},
|
||||
async loadOverviewData() {
|
||||
if (!this.projectId) {
|
||||
this.realData = this.stateDataMap.empty;
|
||||
@@ -294,6 +316,10 @@ export default {
|
||||
}
|
||||
|
||||
.section-header {
|
||||
display: flex;
|
||||
align-items: flex-start;
|
||||
justify-content: space-between;
|
||||
gap: 16px;
|
||||
margin-bottom: 18px;
|
||||
padding-left: 12px;
|
||||
border-left: 4px solid var(--ccdi-primary);
|
||||
|
||||
@@ -16,7 +16,21 @@ const mockSource = fs.readFileSync(
|
||||
),
|
||||
"utf8"
|
||||
);
|
||||
const preliminaryCheckSource = fs.readFileSync(
|
||||
path.resolve(
|
||||
__dirname,
|
||||
"../../src/views/ccdiProject/components/detail/PreliminaryCheck.vue"
|
||||
),
|
||||
"utf8"
|
||||
);
|
||||
|
||||
assert(!overviewSource.includes("section-actions"), "统计区不应继续保留旧操作区壳层");
|
||||
assert(!mockSource.includes('label: "批量导出"'), "风险总览不应保留批量导出按钮");
|
||||
assert(!mockSource.includes('label: "切换视图"'), "风险总览不应保留切换视图按钮");
|
||||
|
||||
[
|
||||
"handleOverviewReportExport",
|
||||
"ccdi/project/overview/report/export",
|
||||
"初核结果报告_",
|
||||
"一键导出",
|
||||
].forEach((token) => assert(preliminaryCheckSource.includes(token), token));
|
||||
|
||||
@@ -14,12 +14,14 @@ const source = fs.readFileSync(
|
||||
"getOverviewRiskModelPeople",
|
||||
"getOverviewSuspiciousTransactions",
|
||||
"getOverviewEmployeeCreditNegative",
|
||||
"exportOverviewReport",
|
||||
"/ccdi/project/overview/dashboard",
|
||||
"/ccdi/project/overview/risk-people",
|
||||
"/ccdi/project/overview/risk-models/cards",
|
||||
"/ccdi/project/overview/risk-models/people",
|
||||
"/ccdi/project/overview/suspicious-transactions",
|
||||
"/ccdi/project/overview/employee-credit-negative",
|
||||
"/ccdi/project/overview/report/export",
|
||||
].forEach((token) => assert(source.includes(token), token));
|
||||
|
||||
[
|
||||
@@ -76,6 +78,18 @@ assert(employeeCreditNegativeFn, "应新增员工负面征信接口参数透传
|
||||
"pageSize: params.pageSize",
|
||||
].forEach((token) => assert(employeeCreditNegativeFn[0].includes(token), token));
|
||||
|
||||
const overviewReportExportFn = source.match(
|
||||
/export function exportOverviewReport\(projectId\) \{[\s\S]*?params:\s*\{([\s\S]*?)\}\s*\}\s*\)/m
|
||||
);
|
||||
|
||||
assert(overviewReportExportFn, "应新增结果总览PDF导出接口");
|
||||
|
||||
[
|
||||
"method: 'post'",
|
||||
"responseType: 'blob'",
|
||||
"projectId",
|
||||
].forEach((token) => assert(overviewReportExportFn[0].includes(token), token));
|
||||
|
||||
["employeeResult", "resultTable", "overview/result"].forEach((token) =>
|
||||
assert(!source.includes(token), `前端 API 契约不应感知结果表实现:${token}`)
|
||||
);
|
||||
|
||||
Reference in New Issue
Block a user