优化外部人员风险明细模型筛选
This commit is contained in:
@@ -0,0 +1,21 @@
|
||||
# 外部人员风险明细模型筛选实施记录
|
||||
|
||||
## 修改内容
|
||||
|
||||
- 风险明细的“可疑规则”选择“外部人员预警”时,命中模型下拉改为展示三个实际外部人员模型:
|
||||
- 外部人员大额交易
|
||||
- 外部人员可疑赌博
|
||||
- 外部人员可疑关系
|
||||
- 外部人员预警不再禁用命中模型筛选,查询时继续向后端传递 `modelCode`。
|
||||
- 切换可疑规则类型时,仅清理不属于当前类型的模型编码,避免外部模型编码串到员工规则筛选。
|
||||
|
||||
## 影响范围
|
||||
|
||||
- 前端文件:`ruoyi-ui/src/views/ccdiProject/components/detail/RiskDetailSection.vue`
|
||||
- 后端 `getOverviewSuspiciousTransactions` 查询链路已支持 `suspiciousType = EXTERNAL_PERSON` 且按 `modelCode` 二次过滤,本次未修改后端 SQL。
|
||||
|
||||
## 验证情况
|
||||
|
||||
- 已使用 Node `v22.22.3` / npm `10.9.8` 执行 `npm run build:prod`,构建通过。
|
||||
- 本机 `62318` 后端未监听,无法完成真实业务数据接口联调;浏览器验证尝试受本地调试实例占用影响未继续扩大范围。
|
||||
- 从代码链路确认:前端选择外部人员模型后仍通过 `getOverviewSuspiciousTransactions` 传递 `modelCode`,后端 `suspiciousTransactionFilterSql` 已按 `query.modelCode` 过滤 `ccdi_bank_statement_tag_result.model_code`。
|
||||
@@ -23,13 +23,12 @@
|
||||
<el-select
|
||||
v-model="selectedModelCode"
|
||||
class="suspicious-filter-select"
|
||||
placeholder="全部模型"
|
||||
:placeholder="allModelOptionLabel"
|
||||
filterable
|
||||
:disabled="isExternalSuspiciousType"
|
||||
>
|
||||
<el-option label="全部模型" value="" />
|
||||
<el-option :label="allModelOptionLabel" value="" />
|
||||
<el-option
|
||||
v-for="item in riskModelOptions"
|
||||
v-for="item in displayRiskModelOptions"
|
||||
:key="item.value"
|
||||
:label="item.label"
|
||||
:value="item.value"
|
||||
@@ -374,6 +373,11 @@ const SUSPICIOUS_TYPE_OPTIONS = [
|
||||
{ value: "MODEL_RULE", label: "员工规则命中" },
|
||||
{ value: "EXTERNAL_PERSON", label: "外部人员预警" },
|
||||
];
|
||||
const EXTERNAL_RISK_MODEL_OPTIONS = [
|
||||
{ value: "EXTERNAL_LARGE_TRANSACTION", label: "外部人员大额交易" },
|
||||
{ value: "EXTERNAL_SUSPICIOUS_GAMBLING", label: "外部人员可疑赌博" },
|
||||
{ value: "EXTERNAL_SUSPICIOUS_RELATION", label: "外部人员可疑关系" },
|
||||
];
|
||||
const DEFAULT_RISK_DETAIL_PAGE_SIZE = 5;
|
||||
const RISK_DETAIL_PAGE_SIZE_OPTIONS = [5, 10, 20, 50];
|
||||
|
||||
@@ -537,6 +541,12 @@ export default {
|
||||
isExternalSuspiciousType() {
|
||||
return this.currentSuspiciousType === "EXTERNAL_PERSON";
|
||||
},
|
||||
displayRiskModelOptions() {
|
||||
return this.isExternalSuspiciousType ? EXTERNAL_RISK_MODEL_OPTIONS : this.riskModelOptions;
|
||||
},
|
||||
allModelOptionLabel() {
|
||||
return this.isExternalSuspiciousType ? "全部外部模型" : "全部模型";
|
||||
},
|
||||
},
|
||||
watch: {
|
||||
sectionData: {
|
||||
@@ -572,6 +582,14 @@ export default {
|
||||
buildFlowEvidenceFingerprint,
|
||||
handleSuspiciousTypeSelectChange(value) {
|
||||
if (value === "EXTERNAL_PERSON") {
|
||||
const hasExternalModel = EXTERNAL_RISK_MODEL_OPTIONS
|
||||
.some((item) => item.value === this.selectedModelCode);
|
||||
if (!hasExternalModel) {
|
||||
this.selectedModelCode = "";
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (this.selectedModelCode && this.selectedModelCode.indexOf("EXTERNAL_") === 0) {
|
||||
this.selectedModelCode = "";
|
||||
}
|
||||
},
|
||||
|
||||
Reference in New Issue
Block a user