From d619a7a34c0b6686711746c76e3f32b2f86407ee Mon Sep 17 00:00:00 2001
From: wkc <978997012@qq.com>
Date: Sun, 22 Mar 2026 12:06:42 +0800
Subject: [PATCH] =?UTF-8?q?=E8=A1=A5=E5=85=85=E7=BB=93=E6=9E=9C=E6=80=BB?=
=?UTF-8?q?=E8=A7=88=E5=89=8D=E7=AB=AF=E5=B1=95=E7=A4=BA=E5=9B=9E=E5=BD=92?=
=?UTF-8?q?=E4=BF=9D=E6=8A=A4?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../preliminary-check-model-and-detail.test.js | 6 ++++++
.../preliminary-check-model-linkage-flow.test.js | 3 +++
...preliminary-check-risk-people-binding.test.js | 4 ++++
.../preliminary-check-summary-and-people.test.js | 16 ++++++++++++++++
4 files changed, 29 insertions(+)
diff --git a/ruoyi-ui/tests/unit/preliminary-check-model-and-detail.test.js b/ruoyi-ui/tests/unit/preliminary-check-model-and-detail.test.js
index 65b60790..c218e5ad 100644
--- a/ruoyi-ui/tests/unit/preliminary-check-model-and-detail.test.js
+++ b/ruoyi-ui/tests/unit/preliminary-check-model-and-detail.test.js
@@ -20,6 +20,12 @@ const detail = fs.readFileSync(
["模型预警次数统计", "命中模型涉及人员", "员工姓名或工号", "异常标签"].forEach((token) =>
assert(model.includes(token), token)
);
+["任意触发", "同时触发"].forEach(
+ (token) => assert(model.includes(token), token)
+);
+["部门", "请选择部门", "查询", "重置", "selectedModelText"].forEach((token) =>
+ assert(model.includes(token), token)
+);
["涉险交易明细", "异常账户人员信息", "查看详情"].forEach((token) =>
assert(detail.includes(token), token)
);
diff --git a/ruoyi-ui/tests/unit/preliminary-check-model-linkage-flow.test.js b/ruoyi-ui/tests/unit/preliminary-check-model-linkage-flow.test.js
index e06397f3..0ef4d37a 100644
--- a/ruoyi-ui/tests/unit/preliminary-check-model-linkage-flow.test.js
+++ b/ruoyi-ui/tests/unit/preliminary-check-model-linkage-flow.test.js
@@ -14,12 +14,15 @@ const source = fs.readFileSync(
'return "全部模型"',
"this.selectedModelCodes = [...this.selectedModelCodes, modelCode]",
"this.selectedModelCodes = this.selectedModelCodes.filter((item) => item !== modelCode)",
+ "buildPeopleParams()",
"modelCodes: this.selectedModelCodes",
"matchMode: this.matchMode",
'this.matchMode = "ANY"',
+ 'this.selectedModelCodes = []',
'this.keyword = ""',
"this.deptId = undefined",
"this.pageNum = 1",
+ "this.fetchPeopleList({ syncCardLoading: true })",
"keyword: this.keyword",
"deptId: this.deptId",
].forEach((token) => assert(source.includes(token), token));
diff --git a/ruoyi-ui/tests/unit/preliminary-check-risk-people-binding.test.js b/ruoyi-ui/tests/unit/preliminary-check-risk-people-binding.test.js
index 2349afdd..9e27dc47 100644
--- a/ruoyi-ui/tests/unit/preliminary-check-risk-people-binding.test.js
+++ b/ruoyi-ui/tests/unit/preliminary-check-risk-people-binding.test.js
@@ -9,6 +9,8 @@ const source = fs.readFileSync(
[
"sectionData.overviewList",
+ "normalizeOverviewRows",
+ "normalizeRiskPointTags",
"riskCount",
"riskPoint",
"modelCount",
@@ -19,3 +21,5 @@ assert(!source.includes("sectionData.topRiskList"), "不应再绑定TOP10列表"
assert(!source.includes("scope.row.riskLevelType || 'danger'"), "riskLevelType fallback");
assert(source.includes('scope.row.actionLabel || "查看详情"'), "actionLabel fallback");
+assert(source.includes("return [];"), "overviewList 缺省时应回落为空数组");
+assert(source.includes(".split(/[、,,;;]/)"), "核心异常点字符串应支持拆分为标签");
diff --git a/ruoyi-ui/tests/unit/preliminary-check-summary-and-people.test.js b/ruoyi-ui/tests/unit/preliminary-check-summary-and-people.test.js
index 46eeb7c5..e53839af 100644
--- a/ruoyi-ui/tests/unit/preliminary-check-summary-and-people.test.js
+++ b/ruoyi-ui/tests/unit/preliminary-check-summary-and-people.test.js
@@ -23,10 +23,26 @@ const people = fs.readFileSync(
),
"utf8"
);
+const mockSource = fs.readFileSync(
+ path.resolve(
+ __dirname,
+ "../../src/views/ccdiProject/components/detail/preliminaryCheck.mock.js"
+ ),
+ "utf8"
+);
["风险仪表盘", "overview-stats"].forEach((token) => assert(stats.includes(token), token));
+["总人数", "高风险", "中风险", "低风险", "无风险人员"].forEach((token) =>
+ assert(mockSource.includes(`label: "${token}"`), token)
+);
+["currentData.summary", "currentData.riskPeople"].forEach((token) =>
+ assert(entry.includes(token), token)
+);
["风险人员总览", "风险等级", "命中模型数", "查看详情"].forEach((token) =>
assert(people.includes(token), token)
);
+["姓名", "身份证号", "所属部门", "核心异常点", "riskPointTagList"].forEach((token) =>
+ assert(people.includes(token), token)
+);
assert(!people.includes("中高风险人员TOP10"), "不应保留TOP10区块");
assert(entry.includes("risk-people-section"), "入口应挂载风险人员区");