feat: 1. 完善文档列表的显示效果,数据对接后端接口返回。

2. 对评查点分组和文档类型的编辑删除新增操作进行限制。
This commit is contained in:
2025-11-20 15:26:11 +08:00
parent 2edde8a8ab
commit 6dc9b4e468
11 changed files with 549 additions and 575 deletions
+28 -2
View File
@@ -17,6 +17,7 @@ export function Sidebar({ onToggle, collapsed, userRole, frontendJWT = '' }: Sid
const [isLoadingRoutes, setIsLoadingRoutes] = useState<boolean>(true); // 路由加载状态
const [isMobile, setIsMobile] = useState<boolean>(false); // 移动端检测
const [selectedModuleName, setSelectedModuleName] = useState<string>(''); // 当前选中的模块名称
const [selectedModulePicPath, setSelectedModulePicPath] = useState<string>(''); // 当前选中的模块图片路径
const navigate = useNavigate();
// 移动端检测
@@ -89,17 +90,24 @@ export function Sidebar({ onToggle, collapsed, userRole, frontendJWT = '' }: Sid
fetchUserRoutes();
}, [userRole, frontendJWT, navigate]);
// 从 sessionStorage 读取当前选中的模块名称
// 从 sessionStorage 读取当前选中的模块名称和图片路径
useEffect(() => {
if (typeof window !== 'undefined') {
try {
const moduleName = sessionStorage.getItem('selectedModuleName');
const modulePicPath = sessionStorage.getItem('selectedModulePicPath');
if (moduleName) {
setSelectedModuleName(moduleName);
console.log('📌 [Sidebar] 当前选中模块:', moduleName);
}
if (modulePicPath) {
setSelectedModulePicPath(modulePicPath);
console.log('🖼️ [Sidebar] 模块图片路径:', modulePicPath);
}
} catch (error) {
console.error('❌ [Sidebar] 读取 selectedModuleName 失败:', error);
console.error('❌ [Sidebar] 读取 sessionStorage 失败:', error);
}
}
}, [location.pathname]); // 路由变化时重新读取
@@ -260,6 +268,24 @@ export function Sidebar({ onToggle, collapsed, userRole, frontendJWT = '' }: Sid
</button>
</div>
{/* 显示入口模块的名称 */}
{selectedModuleName && (
<div className="py-3 px-4 border-b border-gray-100">
<div className={`flex items-center ${collapsed ? 'justify-center' : ''}`}>
{selectedModulePicPath && (
<img
src={selectedModulePicPath}
alt={selectedModuleName}
className={`${collapsed ? 'w-8 h-8' : 'w-6 h-6 mr-3'}`}
/>
)}
{!collapsed && (
<span className="text-base font-medium text-green-700">{selectedModuleName}</span>
)}
</div>
</div>
)}
<div className="py-4 px-[10px] flex-1 overflow-y-auto sidebar-scroll-area">
{isLoadingRoutes ? (
// 加载中状态显示,保留菜单布局结构