feat: show usable rule counts
This commit is contained in:
@@ -43,6 +43,7 @@ export interface RuleSetOption {
|
|||||||
currentVersionId?: number | null;
|
currentVersionId?: number | null;
|
||||||
fallbackVersionId?: number | null;
|
fallbackVersionId?: number | null;
|
||||||
hasUsableVersion?: boolean;
|
hasUsableVersion?: boolean;
|
||||||
|
usableRuleCount?: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface EntryModuleOption {
|
export interface EntryModuleOption {
|
||||||
@@ -264,6 +265,7 @@ export async function getRuleSets(
|
|||||||
currentVersionId: r.currentVersionId ?? null,
|
currentVersionId: r.currentVersionId ?? null,
|
||||||
fallbackVersionId: r.fallbackVersionId ?? null,
|
fallbackVersionId: r.fallbackVersionId ?? null,
|
||||||
hasUsableVersion: !!r.hasUsableVersion,
|
hasUsableVersion: !!r.hasUsableVersion,
|
||||||
|
usableRuleCount: Number(r.usableRuleCount || 0),
|
||||||
})),
|
})),
|
||||||
};
|
};
|
||||||
} catch (error) {
|
} catch (error) {
|
||||||
|
|||||||
@@ -360,20 +360,20 @@ export function buildUploadErrorDetails(
|
|||||||
if (ruleSetDisplayName || payloadRuleSetId) {
|
if (ruleSetDisplayName || payloadRuleSetId) {
|
||||||
detailLines.push(`疑似异常规则集:${ruleSetDisplayName || `规则集 ID ${payloadRuleSetId}`}`);
|
detailLines.push(`疑似异常规则集:${ruleSetDisplayName || `规则集 ID ${payloadRuleSetId}`}`);
|
||||||
} else if (documentType?.ruleSetIds && documentType.ruleSetIds.length > 1) {
|
} else if (documentType?.ruleSetIds && documentType.ruleSetIds.length > 1) {
|
||||||
detailLines.push('该文档类型绑定了多个规则集,需要逐个确认是否都已发布可用版本。');
|
detailLines.push('该文档类型绑定了多个规则集,需要逐个确认可用规则数是否正常。');
|
||||||
} else {
|
} else {
|
||||||
detailLines.push('后端没有返回具体规则集名称,建议优先检查该文档类型绑定的规则集是否已发布版本。');
|
detailLines.push('后端没有返回具体规则集名称,建议优先检查该文档类型绑定的规则集是否存在可用规则。');
|
||||||
}
|
}
|
||||||
|
|
||||||
detailLines.push(`后端返回:${message}`);
|
detailLines.push(`后端返回:${message}`);
|
||||||
|
|
||||||
return {
|
return {
|
||||||
title: '审核规则未配置完整',
|
title: '审核规则未配置完整',
|
||||||
summary: `${documentTypeDisplayName} 目前没有可用的审核规则版本,所以系统无法接收本次上传。`,
|
summary: `${documentTypeDisplayName} 目前没有可用的审核规则,所以系统无法接收本次上传。`,
|
||||||
detailLines,
|
detailLines,
|
||||||
actionLines: [
|
actionLines: [
|
||||||
'到“系统设置 / 文档类型管理”检查该文档类型是否绑定了正确的规则集。',
|
'到“系统设置 / 文档类型管理”检查该文档类型是否绑定了正确的规则集。',
|
||||||
'到“规则管理 / 规则集管理”确认对应规则集至少有一个已发布、可用的版本。',
|
'到“规则管理 / 规则集管理”确认对应规则集的可用规则数是否正常。',
|
||||||
'如果首页入口也异常,请同时到“系统设置 / 入口模块管理”检查入口模块绑定。',
|
'如果首页入口也异常,请同时到“系统设置 / 入口模块管理”检查入口模块绑定。',
|
||||||
],
|
],
|
||||||
rawMessage: message,
|
rawMessage: message,
|
||||||
@@ -391,11 +391,11 @@ export function buildUploadErrorDetails(
|
|||||||
];
|
];
|
||||||
|
|
||||||
return {
|
return {
|
||||||
title: '规则集版本不可用',
|
title: '规则集不可用',
|
||||||
summary: '当前上传入口关联的规则集或规则版本不可用,文件无法开始审核。',
|
summary: '当前上传入口关联的规则集不可用,文件无法开始审核。',
|
||||||
detailLines,
|
detailLines,
|
||||||
actionLines: [
|
actionLines: [
|
||||||
'到“规则管理 / 规则集管理”检查对应规则集是否存在、是否已发布版本。',
|
'到“规则管理 / 规则集管理”检查对应规则集是否存在、可用规则数是否正常。',
|
||||||
'如文档类型绑定了错误的规则集,请到“系统设置 / 文档类型管理”修正绑定关系。',
|
'如文档类型绑定了错误的规则集,请到“系统设置 / 文档类型管理”修正绑定关系。',
|
||||||
],
|
],
|
||||||
rawMessage: message,
|
rawMessage: message,
|
||||||
|
|||||||
@@ -79,6 +79,7 @@ export default function DocumentTypeNew() {
|
|||||||
rs.ruleType,
|
rs.ruleType,
|
||||||
rs.status,
|
rs.status,
|
||||||
String(rs.id),
|
String(rs.id),
|
||||||
|
String(rs.usableRuleCount || 0),
|
||||||
rs.currentVersionId ? String(rs.currentVersionId) : "",
|
rs.currentVersionId ? String(rs.currentVersionId) : "",
|
||||||
rs.fallbackVersionId ? String(rs.fallbackVersionId) : "",
|
rs.fallbackVersionId ? String(rs.fallbackVersionId) : "",
|
||||||
].some((value) => value.toLowerCase().includes(normalizedRuleSetKeyword));
|
].some((value) => value.toLowerCase().includes(normalizedRuleSetKeyword));
|
||||||
@@ -102,7 +103,7 @@ export default function DocumentTypeNew() {
|
|||||||
else if (!/^[a-zA-Z][a-zA-Z0-9_.]*$/.test(code.trim())) errs.code = "编码格式:字母开头,可含字母数字._";
|
else if (!/^[a-zA-Z][a-zA-Z0-9_.]*$/.test(code.trim())) errs.code = "编码格式:字母开头,可含字母数字._";
|
||||||
if (!name.trim()) errs.name = "名称不能为空";
|
if (!name.trim()) errs.name = "名称不能为空";
|
||||||
if (selectedUnavailableRuleSets.length > 0) {
|
if (selectedUnavailableRuleSets.length > 0) {
|
||||||
errs.ruleSetIds = "已选择的规则集中包含不可用于上传评查的项,请先发布/回滚可用版本";
|
errs.ruleSetIds = "已选择的规则集中包含不可用于上传评查的项,请先确认可用规则数是否正常";
|
||||||
}
|
}
|
||||||
setErrors(errs);
|
setErrors(errs);
|
||||||
return Object.keys(errs).length === 0;
|
return Object.keys(errs).length === 0;
|
||||||
@@ -334,7 +335,7 @@ export default function DocumentTypeNew() {
|
|||||||
<strong>当前选择里存在不可执行的规则集</strong>
|
<strong>当前选择里存在不可执行的规则集</strong>
|
||||||
<span>
|
<span>
|
||||||
{selectedUnavailableRuleSets.map((item) => item.ruleName).join("、")}
|
{selectedUnavailableRuleSets.map((item) => item.ruleName).join("、")}
|
||||||
{" "}尚未绑定可用版本;若直接上传,后端会拒绝发起评查。
|
{" "}当前不可用于评查;若直接上传,后端会拒绝发起评查。
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -376,20 +377,20 @@ export default function DocumentTypeNew() {
|
|||||||
<span className="rule-set-id">规则集 ID #{rs.id}</span>
|
<span className="rule-set-id">规则集 ID #{rs.id}</span>
|
||||||
<span className={`rule-set-version-badge ${rs.hasUsableVersion ? "ok" : "missing"}`}>
|
<span className={`rule-set-version-badge ${rs.hasUsableVersion ? "ok" : "missing"}`}>
|
||||||
{rs.hasUsableVersion
|
{rs.hasUsableVersion
|
||||||
? `可用版本 ${rs.currentVersionId || rs.fallbackVersionId}`
|
? `可用规则数:${rs.usableRuleCount || 0}`
|
||||||
: "无可用版本"}
|
: "可用规则数:0"}
|
||||||
</span>
|
</span>
|
||||||
</div>
|
</div>
|
||||||
{!rs.hasUsableVersion && (
|
{!rs.hasUsableVersion && (
|
||||||
<div className="rule-set-inline-warning">
|
<div className="rule-set-inline-warning">
|
||||||
<i className="ri-alarm-warning-line"></i>
|
<i className="ri-alarm-warning-line"></i>
|
||||||
<span>该规则集当前没有已发布/可回退版本,绑定后仍无法执行上传评查。</span>
|
<span>该规则集当前没有可用规则,绑定后仍无法执行上传评查。</span>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
{rs.hasUsableVersion && !rs.currentVersionId && rs.fallbackVersionId && (
|
{rs.hasUsableVersion && !rs.currentVersionId && rs.fallbackVersionId && (
|
||||||
<div className="rule-set-inline-warning soft">
|
<div className="rule-set-inline-warning soft">
|
||||||
<i className="ri-information-line"></i>
|
<i className="ri-information-line"></i>
|
||||||
<span>当前会回退使用最近可用版本 #{rs.fallbackVersionId},建议在规则管理中补齐当前版本指针。</span>
|
<span>当前规则可用,但数据来源仍是回退链路,建议在规则管理中补齐正式配置。</span>
|
||||||
</div>
|
</div>
|
||||||
)}
|
)}
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
Reference in New Issue
Block a user