feat: align frontend document and rule management flows
This commit is contained in:
@@ -349,6 +349,8 @@ export default function RulesIndex() {
|
||||
const [filteredTotalCount, setFilteredTotalCount] = useState<number>(initialTotalCount);
|
||||
const [ruleTypes, setRuleTypes] = useState<ApiRuleType[]>(initialRuleTypes);
|
||||
const [attributeTypes, setAttributeTypes] = useState<Array<{ code: string; label: string }>>([]);
|
||||
const [selectedModuleName, setSelectedModuleName] = useState('');
|
||||
const [moduleScopeReady, setModuleScopeReady] = useState(false);
|
||||
|
||||
// 添加一个状态来跟踪是否执行了删除操作
|
||||
const [isDeleting, setIsDeleting] = useState(false);
|
||||
@@ -398,7 +400,7 @@ export default function RulesIndex() {
|
||||
// 🔑 从 sessionStorage 获取 documentTypeIds
|
||||
const typeIdsStr = typeof window !== 'undefined' ? sessionStorage.getItem('documentTypeIds') : null;
|
||||
const documentTypeIds = typeIdsStr ? JSON.parse(typeIdsStr) : null;
|
||||
const selectedModuleName = typeof window !== 'undefined'
|
||||
const currentModuleName = typeof window !== 'undefined'
|
||||
? sessionStorage.getItem('selectedModuleName') || ''
|
||||
: '';
|
||||
|
||||
@@ -456,7 +458,7 @@ export default function RulesIndex() {
|
||||
let effectiveAttributeType = searchParams.get('documentAttributeType') || undefined;
|
||||
const presetScopedAttributeTypes = resolveScopedSubtypeOptions({
|
||||
documentTypeIds,
|
||||
selectedModuleName,
|
||||
selectedModuleName: currentModuleName,
|
||||
ruleTypeName: ruleTypeNameParam,
|
||||
apiOptions: apiAttributeTypes,
|
||||
ruleOptions: []
|
||||
@@ -497,7 +499,7 @@ export default function RulesIndex() {
|
||||
).map(value => ({ code: value, label: value }));
|
||||
const scopedAttributeTypes = resolveScopedSubtypeOptions({
|
||||
documentTypeIds,
|
||||
selectedModuleName,
|
||||
selectedModuleName: currentModuleName,
|
||||
ruleTypeName: ruleTypeNameParam,
|
||||
apiOptions: apiAttributeTypes,
|
||||
ruleOptions: ruleAttributeTypes
|
||||
@@ -656,6 +658,8 @@ export default function RulesIndex() {
|
||||
const typeIdsStr = sessionStorage.getItem('documentTypeIds');
|
||||
const documentTypeIds = typeIdsStr ? JSON.parse(typeIdsStr) : null;
|
||||
console.log("📋 组件挂载,从 sessionStorage 获取 documentTypeIds:", documentTypeIds);
|
||||
setSelectedModuleName(sessionStorage.getItem('selectedModuleName') || '');
|
||||
setModuleScopeReady(true);
|
||||
|
||||
// 如果有 documentTypeIds,加载数据
|
||||
if (documentTypeIds && documentTypeIds.length > 0) {
|
||||
@@ -667,6 +671,7 @@ export default function RulesIndex() {
|
||||
}
|
||||
} catch (error) {
|
||||
console.error('获取 sessionStorage 中的 documentTypeIds 失败:', error);
|
||||
setModuleScopeReady(true);
|
||||
}
|
||||
}, [initialLoad, fetchData]);
|
||||
|
||||
@@ -1118,7 +1123,14 @@ export default function RulesIndex() {
|
||||
{/* 页面头部 */}
|
||||
<div className="flex justify-between items-center mb-4">
|
||||
<div className="flex items-center">
|
||||
<h2 className="text-xl font-medium">评查点管理</h2>
|
||||
<div>
|
||||
<h2 className="text-xl font-medium">评查点管理</h2>
|
||||
<p className="mt-1 text-sm text-gray-500">
|
||||
{selectedModuleName
|
||||
? `当前仅展示“${selectedModuleName}”入口关联文档类型的规则点。`
|
||||
: '请先从首页进入具体入口模块,再查看该入口对应的规则点。'}
|
||||
</p>
|
||||
</div>
|
||||
{loading ? (
|
||||
<div className="flex items-center ml-4 bg-white px-3 py-1 rounded-md">
|
||||
<NumberSkeleton className="ml-1" />
|
||||
@@ -1171,6 +1183,20 @@ export default function RulesIndex() {
|
||||
)}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
{moduleScopeReady && !selectedModuleName && (
|
||||
<Card className="ant-card mb-4 border-amber-200 bg-amber-50">
|
||||
<div className="flex items-start gap-3 text-amber-900">
|
||||
<i className="ri-information-line text-lg mt-0.5"></i>
|
||||
<div>
|
||||
<div className="font-medium">当前未绑定业务入口上下文</div>
|
||||
<div className="text-sm mt-1">
|
||||
评查点列表按入口模块显示对应文档类型规则。请先从首页进入具体入口,再查看这里。
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</Card>
|
||||
)}
|
||||
|
||||
{/* 筛选区域 */}
|
||||
<FilterPanel className="px-3 py-3" noActionDivider={true}
|
||||
|
||||
Reference in New Issue
Block a user