实现风险明细员工负面征信功能

This commit is contained in:
wkc
2026-03-28 16:13:24 +08:00
parent 559572da8c
commit 2cb4481c3b
23 changed files with 672 additions and 5 deletions

View File

@@ -15,6 +15,7 @@ const apiSource = fs.readFileSync(
"getOverviewDashboard",
"getOverviewRiskPeople",
"getOverviewRiskModelCards",
"getOverviewEmployeeCreditNegative",
"loadOverviewData",
"Promise.all",
].forEach((token) => assert(source.includes(token), token));
@@ -24,14 +25,16 @@ assert(!source.includes("topRiskPeopleRes"), "页面不应再处理TOP10响应")
assert(!source.includes("topRiskPeopleData"), "页面不应再处理TOP10数据");
const loadOverviewDataBlock = source.match(
/const \[dashboardRes, riskPeopleRes, riskModelCardsRes\] = await Promise\.all\(\[([\s\S]*?)\]\);/m
/const \[dashboardRes, riskPeopleRes, riskModelCardsRes, suspiciousRes, creditNegativeRes\] = await Promise\.all\(\[([\s\S]*?)\]\);/m
);
assert(loadOverviewDataBlock, "入口页应继续并发请求仪表盘、风险人员模型卡片");
assert(loadOverviewDataBlock, "入口页应继续并发请求仪表盘、风险人员模型卡片、涉疑交易和员工负面征信");
[
"getOverviewDashboard(this.projectId)",
"getOverviewRiskPeople(this.projectId)",
"getOverviewRiskModelCards(this.projectId)",
"getOverviewSuspiciousTransactions({",
"getOverviewEmployeeCreditNegative({",
].forEach((token) => assert(loadOverviewDataBlock[0].includes(token), token));
[
@@ -39,6 +42,7 @@ assert(loadOverviewDataBlock, "入口页应继续并发请求仪表盘、风险
"dashboardData",
"riskPeopleData",
"riskModelCardsData",
"creditNegativeData",
].forEach((token) => assert(source.includes(token), token));
["employeeResult", "resultTable", "topRiskList"].forEach((token) =>

View File

@@ -0,0 +1,24 @@
const assert = require("assert");
const fs = require("fs");
const path = require("path");
const source = fs.readFileSync(
path.resolve(__dirname, "../../src/views/ccdiProject/components/detail/PreliminaryCheck.vue"),
"utf8"
);
const mockSource = fs.readFileSync(
path.resolve(__dirname, "../../src/views/ccdiProject/components/detail/preliminaryCheck.mock.js"),
"utf8"
);
[
"getOverviewEmployeeCreditNegative",
"creditNegativeRes",
"creditNegativeData",
].forEach((token) => assert(source.includes(token), token));
[
"normalizeEmployeeCreditNegativeRows",
"employeeCreditNegativeList",
"employeeCreditNegativeTotal",
].forEach((token) => assert(mockSource.includes(token), token));

View File

@@ -13,11 +13,13 @@ const source = fs.readFileSync(
"getOverviewRiskModelCards",
"getOverviewRiskModelPeople",
"getOverviewSuspiciousTransactions",
"getOverviewEmployeeCreditNegative",
"/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",
].forEach((token) => assert(source.includes(token), token));
[
@@ -54,6 +56,18 @@ assert(suspiciousTransactionsFn, "应新增涉疑交易接口参数透传逻辑"
"pageSize: params.pageSize",
].forEach((token) => assert(suspiciousTransactionsFn[0].includes(token), token));
const employeeCreditNegativeFn = source.match(
/export function getOverviewEmployeeCreditNegative\(params\) \{[\s\S]*?params:\s*\{([\s\S]*?)\}\s*\}\s*\)/m
);
assert(employeeCreditNegativeFn, "应新增员工负面征信接口参数透传逻辑");
[
"projectId: params.projectId",
"pageNum: params.pageNum",
"pageSize: params.pageSize",
].forEach((token) => assert(employeeCreditNegativeFn[0].includes(token), token));
["employeeResult", "resultTable", "overview/result"].forEach((token) =>
assert(!source.includes(token), `前端 API 契约不应感知结果表实现:${token}`)
);

View File

@@ -0,0 +1,26 @@
const assert = require("assert");
const fs = require("fs");
const path = require("path");
const source = fs.readFileSync(
path.resolve(
__dirname,
"../../src/views/ccdiProject/components/detail/RiskDetailSection.vue"
),
"utf8"
);
[
"员工负面征信信息",
"展示当前项目员工的负面征信信息",
"员工姓名",
"身份证号",
"最近征信查询日期",
"民事案件笔数",
"民事案件金额",
"强制执行笔数",
"强制执行金额",
"行政处罚笔数",
"行政处罚金额",
"当前项目暂无员工负面征信信息",
].forEach((token) => assert(source.includes(token), token));

View File

@@ -0,0 +1,22 @@
const assert = require("assert");
const fs = require("fs");
const path = require("path");
const source = fs.readFileSync(
path.resolve(
__dirname,
"../../src/views/ccdiProject/components/detail/RiskDetailSection.vue"
),
"utf8"
);
[
"employeeCreditNegativeList",
"employeeCreditNegativeTotal",
"employeeCreditNegativePageNum",
"employeeCreditNegativePageSize",
"employeeCreditNegativeLoading",
"loadEmployeeCreditNegative",
"handleEmployeeCreditNegativePageChange",
"getOverviewEmployeeCreditNegative",
].forEach((token) => assert(source.includes(token), token));