优化流水账号入库和明细筛选
This commit is contained in:
@@ -35,11 +35,11 @@
|
||||
/>
|
||||
</el-select>
|
||||
</el-form-item>
|
||||
<el-form-item label="可疑规则">
|
||||
<el-form-item label="预警类型">
|
||||
<el-select
|
||||
v-model="currentSuspiciousType"
|
||||
class="suspicious-filter-select suspicious-type-select"
|
||||
placeholder="全部可疑规则"
|
||||
placeholder="全部预警类型"
|
||||
@change="handleSuspiciousTypeSelectChange"
|
||||
>
|
||||
<el-option
|
||||
@@ -369,7 +369,7 @@ import { getBankStatementDetail } from "@/api/ccdiProjectBankStatement";
|
||||
import { buildFlowEvidenceFingerprint, buildFlowEvidenceSnapshot } from "@/utils/ccdiEvidence";
|
||||
|
||||
const SUSPICIOUS_TYPE_OPTIONS = [
|
||||
{ value: "ALL", label: "全部可疑规则" },
|
||||
{ value: "ALL", label: "全部预警类型" },
|
||||
{ value: "MODEL_RULE", label: "员工规则命中" },
|
||||
{ value: "EXTERNAL_PERSON", label: "外部人员预警" },
|
||||
];
|
||||
@@ -404,6 +404,23 @@ const normalizeRiskModelOptions = (rows) => {
|
||||
});
|
||||
};
|
||||
|
||||
const mergeRiskModelOptions = (...optionGroups) => {
|
||||
const seen = new Set();
|
||||
return optionGroups
|
||||
.flat()
|
||||
.filter((item) => {
|
||||
if (!item || !item.value || seen.has(item.value)) {
|
||||
return false;
|
||||
}
|
||||
seen.add(item.value);
|
||||
return true;
|
||||
});
|
||||
};
|
||||
|
||||
const isExternalModelCode = (value) => (
|
||||
typeof value === "string" && value.indexOf("EXTERNAL_") === 0
|
||||
);
|
||||
|
||||
const ABNORMAL_CUSTOMER_TRANSACTION_RULE_CODE = "ABNORMAL_CUSTOMER_TRANSACTION";
|
||||
const ABNORMAL_CUSTOMER_TRANSACTION_RULE_NAME = "与客户之间非正常资金往来";
|
||||
|
||||
@@ -542,7 +559,13 @@ export default {
|
||||
return this.currentSuspiciousType === "EXTERNAL_PERSON";
|
||||
},
|
||||
displayRiskModelOptions() {
|
||||
return this.isExternalSuspiciousType ? EXTERNAL_RISK_MODEL_OPTIONS : this.riskModelOptions;
|
||||
if (this.isExternalSuspiciousType) {
|
||||
return EXTERNAL_RISK_MODEL_OPTIONS;
|
||||
}
|
||||
if (this.currentSuspiciousType === "ALL") {
|
||||
return mergeRiskModelOptions(this.riskModelOptions, EXTERNAL_RISK_MODEL_OPTIONS);
|
||||
}
|
||||
return this.riskModelOptions;
|
||||
},
|
||||
allModelOptionLabel() {
|
||||
return this.isExternalSuspiciousType ? "全部外部模型" : "全部模型";
|
||||
@@ -589,7 +612,7 @@ export default {
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (this.selectedModelCode && this.selectedModelCode.indexOf("EXTERNAL_") === 0) {
|
||||
if (value === "MODEL_RULE" && isExternalModelCode(this.selectedModelCode)) {
|
||||
this.selectedModelCode = "";
|
||||
}
|
||||
},
|
||||
|
||||
@@ -0,0 +1,29 @@
|
||||
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"
|
||||
);
|
||||
|
||||
[
|
||||
'const mergeRiskModelOptions = (...optionGroups) => {',
|
||||
'const isExternalModelCode = (value) => (',
|
||||
'if (this.currentSuspiciousType === "ALL") {',
|
||||
'return mergeRiskModelOptions(this.riskModelOptions, EXTERNAL_RISK_MODEL_OPTIONS);',
|
||||
'if (value === "MODEL_RULE" && isExternalModelCode(this.selectedModelCode)) {',
|
||||
'this.selectedModelCode = "";',
|
||||
].forEach((token) => assert(source.includes(token), token));
|
||||
|
||||
[
|
||||
'@change="handleModelSelectChange"',
|
||||
'handleModelSelectChange(value) {',
|
||||
'this.currentSuspiciousType = "EXTERNAL_PERSON";',
|
||||
'label="可疑规则"',
|
||||
'placeholder="全部可疑规则"',
|
||||
'{ value: "ALL", label: "全部可疑规则" }',
|
||||
].forEach((token) => assert(!source.includes(token), token));
|
||||
@@ -12,9 +12,10 @@ const source = fs.readFileSync(
|
||||
|
||||
[
|
||||
"涉疑交易明细",
|
||||
"全部可疑人员类型",
|
||||
"名单库命中",
|
||||
"模型规则命中",
|
||||
"预警类型",
|
||||
"全部预警类型",
|
||||
"员工规则命中",
|
||||
"外部人员预警",
|
||||
"本方账户",
|
||||
"对方账户",
|
||||
"关联员工",
|
||||
@@ -29,6 +30,7 @@ const source = fs.readFileSync(
|
||||
].forEach((token) => assert(source.includes(token), token));
|
||||
|
||||
[
|
||||
"label=\"可疑规则\"",
|
||||
"label=\"可疑人员\"",
|
||||
"prop=\"suspiciousPersonName\"",
|
||||
"label=\"关联人\"",
|
||||
|
||||
Reference in New Issue
Block a user