diff --git a/src/option/business/contract-manage.js b/src/option/business/contract-manage.js index 9efc345..e16d95f 100644 --- a/src/option/business/contract-manage.js +++ b/src/option/business/contract-manage.js @@ -621,6 +621,14 @@ export const option = createCrudOption([ addDisplay: false, editDisplay: false, }, + { + label: '客商风险', + prop: 'customerRisk', + slot: true, + minWidth: 150, + addDisplay: false, + editDisplay: false, + }, { label: '金蝶合同ID', prop: 'kingdeeId', diff --git a/src/utils/risk-display.js b/src/utils/risk-display.js new file mode 100644 index 0000000..224e92f --- /dev/null +++ b/src/utils/risk-display.js @@ -0,0 +1,28 @@ +/** + * 客商/合同风险标签公共展示逻辑(黑名单=金蝶黑名单 A801-5 命中,与后端 HcsCreditCheckSupport 口径一致): + * 等级与黑名单组合展示、等级在前;内部组织客商默认无风险 + */ + +/** 金蝶黑名单命中判定(客商档案行:失信类别/列入事由任一非空) */ +export function isKingdeeBlack(category, reason) { + return !!(category || reason); +} + +/** 合同行黑名单判定(推送链路按金蝶命中口径落库 kingdeeBlackStatus=yes) */ +export function isContractBlack(blackStatus) { + return String(blackStatus || '').toLowerCase() === 'yes'; +} + +/** 风险标签文案:riskLevel=C101-1 等级(0/1/2);isBlack=金蝶黑名单命中;customerKind=internal 显示"无风险" */ +export function resolveRiskTagName(riskLevel, isBlack, customerKind) { + const levelName = { 2: '高风险', 1: '中风险', 0: '低风险' }[riskLevel] || ''; + if (isBlack) return levelName ? `${levelName}、黑名单` : '黑名单'; + if (levelName) return levelName; + if (customerKind === 'internal') return '无风险'; + return ''; +} + +/** 是否红色风险标签(黑名单命中或高风险) */ +export function isRiskyTag(riskLevel, isBlack) { + return isBlack || riskLevel === '2'; +} diff --git a/src/views/business/contract-manage.vue b/src/views/business/contract-manage.vue index 61454ec..a4a898e 100644 --- a/src/views/business/contract-manage.vue +++ b/src/views/business/contract-manage.vue @@ -92,6 +92,18 @@ - + + +