Browse Source

no message

Ryuiso 1 month ago
parent
commit
fd531c1f1f

BIN
jk-rag-platform/1e.png


BIN
jk-rag-platform/2e.png


BIN
jk-rag-platform/e1.png


+ 13 - 38
jk-rag-platform/src/components/common/AppCard/index.scss

@@ -14,7 +14,7 @@
     transition: $transition-base;
     transition: $transition-base;
     position: relative;
     position: relative;
     overflow: hidden;
     overflow: hidden;
-    min-height: 280px;
+    min-height: 284px;
     display: flex;
     display: flex;
     flex-direction: column;
     flex-direction: column;
     container-type: inline-size; // 启用容器查询,让按钮根据卡片宽度自适应
     container-type: inline-size; // 启用容器查询,让按钮根据卡片宽度自适应
@@ -94,7 +94,7 @@
         gap: $spacing-1;  // 行间距 4px
         gap: $spacing-1;  // 行间距 4px
         line-height: $line-height-tight;
         line-height: $line-height-tight;
 
 
-        
+
         .card-creator-label {
         .card-creator-label {
             font-size: $font-xs;  // 9px
             font-size: $font-xs;  // 9px
             color: $text-hint;
             color: $text-hint;
@@ -216,6 +216,14 @@
     }
     }
 }
 }
 
 
+// 字段 ID - 次要颜色浅色
+.card-field-id {
+    font-size: $font-sm;  // 与应用描述相同
+    color: $text-secondary;
+    margin-bottom: $spacing-2;
+    line-height: $line-height-base;
+}
+
 // 应用描述
 // 应用描述
 .card-description {
 .card-description {
     font-size: $font-sm;
     font-size: $font-sm;
@@ -286,13 +294,13 @@
     }
     }
 }
 }
 
 
-// 底部信息
+// 底部信息 - 使用 margin-top: auto 推到卡片底部(flex 布局),悬停按钮层用更高 z-index 覆盖
 .card-footer-info {
 .card-footer-info {
     display: flex;
     display: flex;
     align-items: center;
     align-items: center;
     gap: $spacing-2;
     gap: $spacing-2;
     flex-wrap: wrap;
     flex-wrap: wrap;
-    margin-top: $spacing-2;
+    margin-top: auto;  // flex 布局中自动推到最底部
 }
 }
 
 
 .card-certification {
 .card-certification {
@@ -351,6 +359,7 @@
     transition: $transition-base;
     transition: $transition-base;
     pointer-events: none;
     pointer-events: none;
     gap: $spacing-3;
     gap: $spacing-3;
+    z-index: 10;
 
 
     .app-card:hover & {
     .app-card:hover & {
         opacity: 1;
         opacity: 1;
@@ -412,40 +421,6 @@
         }
         }
     }
     }
 
 
-    // 当卡片宽度小于 220px 时 - 只显示图标
-    @container (max-width: 219px) {
-        padding: $spacing-2;
-        gap: $spacing-2;
-
-        .card-operation-btn {
-            font-size: 0;
-            min-width: 36px;
-            width: 36px;
-            height: 36px;
-            padding: 0;
-
-            svg {
-                width: 16px;
-                height: 16px;
-                margin: 0;
-            }
-        }
-
-        .card-use-btn {
-            font-size: 0;
-            min-width: 36px;
-            width: 36px;
-            height: 36px;
-            padding: 0;
-
-            svg {
-                width: 16px;
-                height: 16px;
-                margin: 0;
-            }
-        }
-    }
-
     // 响应式:窄屏时调整(基于视口宽度)
     // 响应式:窄屏时调整(基于视口宽度)
     @media (max-width: $screen-md) {
     @media (max-width: $screen-md) {
         padding: $spacing-2 $spacing-3;
         padding: $spacing-2 $spacing-3;

+ 11 - 2
jk-rag-platform/src/components/common/AppCard/index.tsx

@@ -38,6 +38,7 @@ export interface AppCardProps {
     department?: string;
     department?: string;
     visible?: 'public' | 'private' | 'vip';
     visible?: 'public' | 'private' | 'vip';
     appId?: string;
     appId?: string;
+    fieldId?: string;  // 字段 ID
     isCollect?: boolean;
     isCollect?: boolean;
     isCreator?: boolean;
     isCreator?: boolean;
     isMaintainer?: boolean;  // 是否为维护者(非创建者)
     isMaintainer?: boolean;  // 是否为维护者(非创建者)
@@ -54,6 +55,7 @@ export interface AppCardProps {
     showStatus?: boolean;
     showStatus?: boolean;
     showDepartment?: boolean;
     showDepartment?: boolean;
     showVisible?: boolean;
     showVisible?: boolean;
+    showFieldId?: boolean;  // 是否显示字段 ID
     showOperations?: boolean;
     showOperations?: boolean;
 
 
     // 回调函数
     // 回调函数
@@ -98,6 +100,7 @@ const AppCard: React.FC<AppCardProps> = (props) => {
         department,
         department,
         visible,
         visible,
         appId,
         appId,
+        fieldId,
         isCollect = false,
         isCollect = false,
         isCreator = false,
         isCreator = false,
         isMaintainer = false,
         isMaintainer = false,
@@ -114,6 +117,7 @@ const AppCard: React.FC<AppCardProps> = (props) => {
         showStatus = false,
         showStatus = false,
         showDepartment = false,
         showDepartment = false,
         showVisible = false,
         showVisible = false,
+        showFieldId = false,
         showOperations = false,
         showOperations = false,
 
 
         // 回调函数
         // 回调函数
@@ -272,6 +276,11 @@ const AppCard: React.FC<AppCardProps> = (props) => {
             {/* 应用名称 */}
             {/* 应用名称 */}
             <h5 className='card-title'>{name}</h5>
             <h5 className='card-title'>{name}</h5>
 
 
+            {/* 字段 ID */}
+            {showFieldId && fieldId && (
+                <div className='card-field-id'>ID: {fieldId}</div>
+            )}
+
             {/* 应用描述 */}
             {/* 应用描述 */}
             <p className='card-description'>{description}</p>
             <p className='card-description'>{description}</p>
 
 
@@ -314,8 +323,8 @@ const AppCard: React.FC<AppCardProps> = (props) => {
                 </div>
                 </div>
             )}
             )}
 
 
-            {/* 底部信息:认证/部门/可见性 */}
-            {showCertification && (
+            {/* 底部信息:认证/部门/可见性 - 至少有一个字段才渲染 */}
+            {showCertification && (certification || department || visible) && (
                 <div className='card-footer-info'>
                 <div className='card-footer-info'>
                     {certification && (
                     {certification && (
                         <div className='card-certification'>
                         <div className='card-certification'>

+ 10 - 0
jk-rag-platform/src/mock/applicationApi.ts

@@ -21,6 +21,7 @@ const appStatuses = [
 const mockApplicationsData = [
 const mockApplicationsData = [
     {
     {
         id: 'app_001',
         id: 'app_001',
+        fieldId: '234888368881',
         name: '合同审查助手',
         name: '合同审查助手',
         description: '基于 RAG 技术的智能合同审查与风险提示工具',
         description: '基于 RAG 技术的智能合同审查与风险提示工具',
         category: 'professional',
         category: 'professional',
@@ -38,6 +39,7 @@ const mockApplicationsData = [
     },
     },
     {
     {
         id: 'app_002',
         id: 'app_002',
+        fieldId: '234888368882',
         name: '人力资源问答机器人',
         name: '人力资源问答机器人',
         description: '员工自助服务平台,解答人事、考勤、福利等问题',
         description: '员工自助服务平台,解答人事、考勤、福利等问题',
         category: 'functional',
         category: 'functional',
@@ -55,6 +57,7 @@ const mockApplicationsData = [
     },
     },
     {
     {
         id: 'app_003',
         id: 'app_003',
+        fieldId: '234888368883',
         name: '项目管理智能助手',
         name: '项目管理智能助手',
         description: '项目进度跟踪、风险预警、资源调配建议',
         description: '项目进度跟踪、风险预警、资源调配建议',
         category: 'project',
         category: 'project',
@@ -72,6 +75,7 @@ const mockApplicationsData = [
     },
     },
     {
     {
         id: 'app_004',
         id: 'app_004',
+        fieldId: '234888368884',
         name: '财务报销助手',
         name: '财务报销助手',
         description: '智能解答财务报销流程、发票规范、费用标准等问题',
         description: '智能解答财务报销流程、发票规范、费用标准等问题',
         category: 'functional',
         category: 'functional',
@@ -89,6 +93,7 @@ const mockApplicationsData = [
     },
     },
     {
     {
         id: 'app_005',
         id: 'app_005',
+        fieldId: '234888368885',
         name: '技术培训知识库',
         name: '技术培训知识库',
         description: '技术人员在线学习平台,提供技术文档、培训资料查询',
         description: '技术人员在线学习平台,提供技术文档、培训资料查询',
         category: 'professional',
         category: 'professional',
@@ -106,6 +111,7 @@ const mockApplicationsData = [
     },
     },
     {
     {
         id: 'app_006',
         id: 'app_006',
+        fieldId: '234888368886',
         name: '安全生产管理系统',
         name: '安全生产管理系统',
         description: '安全生产规范、应急预案、事故案例分析',
         description: '安全生产规范、应急预案、事故案例分析',
         category: 'project',
         category: 'project',
@@ -123,6 +129,7 @@ const mockApplicationsData = [
     },
     },
     {
     {
         id: 'app_007',
         id: 'app_007',
+        fieldId: '234888368887',
         name: '市场营销支持平台',
         name: '市场营销支持平台',
         description: '市场数据分析、竞品调研、营销策略建议',
         description: '市场数据分析、竞品调研、营销策略建议',
         category: 'functional',
         category: 'functional',
@@ -140,6 +147,7 @@ const mockApplicationsData = [
     },
     },
     {
     {
         id: 'app_008',
         id: 'app_008',
+        fieldId: '234888368888',
         name: 'IT 运维智能助手',
         name: 'IT 运维智能助手',
         description: 'IT 故障排查、系统维护、常见问题解答',
         description: 'IT 故障排查、系统维护、常见问题解答',
         category: 'professional',
         category: 'professional',
@@ -157,6 +165,7 @@ const mockApplicationsData = [
     },
     },
     {
     {
         id: 'app_009',
         id: 'app_009',
+        fieldId: '234888368889',
         name: '合规管理助手',
         name: '合规管理助手',
         description: '企业合规政策、流程指引、风险预警',
         description: '企业合规政策、流程指引、风险预警',
         category: 'functional',
         category: 'functional',
@@ -174,6 +183,7 @@ const mockApplicationsData = [
     },
     },
     {
     {
         id: 'app_010',
         id: 'app_010',
+        fieldId: '234888368890',
         name: '客户服务知识库',
         name: '客户服务知识库',
         description: '客服常见问题解答、产品使用说明、售后服务流程',
         description: '客服常见问题解答、产品使用说明、售后服务流程',
         category: 'professional',
         category: 'professional',

+ 18 - 0
jk-rag-platform/src/mock/index.ts

@@ -63,6 +63,7 @@ export interface PageConfig {
     showStatus?: boolean;       // 是否显示状态
     showStatus?: boolean;       // 是否显示状态
     showDepartment?: boolean;   // 是否显示部门
     showDepartment?: boolean;   // 是否显示部门
     showVisible?: boolean;      // 是否显示可见性
     showVisible?: boolean;      // 是否显示可见性
+    showFieldId?: boolean;      // 是否显示字段 ID
     filterByCurrentUser?: boolean; // 是否只显示当前用户的数据
     filterByCurrentUser?: boolean; // 是否只显示当前用户的数据
     title?: string;             // 页面标题
     title?: string;             // 页面标题
     description?: string;       // 页面描述
     description?: string;       // 页面描述
@@ -238,6 +239,7 @@ export const allAppsData: AppCardData[] = [
     // 张三创建的应用
     // 张三创建的应用
     {
     {
         id: 'app001',
         id: 'app001',
+        fieldId: '234888368881',
         name: '智审助手 Pro',
         name: '智审助手 Pro',
         description: '自动化公文审查、错别字纠正及语义合规性实时预警系统。',
         description: '自动化公文审查、错别字纠正及语义合规性实时预警系统。',
         icon: 'solar:document-text-bold-duotone',
         icon: 'solar:document-text-bold-duotone',
@@ -261,6 +263,7 @@ export const allAppsData: AppCardData[] = [
     },
     },
     {
     {
         id: 'app002',
         id: 'app002',
+        fieldId: '234888368882',
         name: '视觉政务预警',
         name: '视觉政务预警',
         description: '针对政务服务中心的窗口行为分析与人流密度实时监测。',
         description: '针对政务服务中心的窗口行为分析与人流密度实时监测。',
         icon: 'solar:mask-happly-bold-duotone',
         icon: 'solar:mask-happly-bold-duotone',
@@ -286,6 +289,7 @@ export const allAppsData: AppCardData[] = [
     // 李四创建的应用
     // 李四创建的应用
     {
     {
         id: 'app003',
         id: 'app003',
+        fieldId: '234888368883',
         name: '经济态势分析仪',
         name: '经济态势分析仪',
         description: '多部门数据聚合,通过 AI 预测宏观经济指标走势。',
         description: '多部门数据聚合,通过 AI 预测宏观经济指标走势。',
         icon: 'solar:chart-line-up-bold-duotone',
         icon: 'solar:chart-line-up-bold-duotone',
@@ -307,6 +311,7 @@ export const allAppsData: AppCardData[] = [
     },
     },
     {
     {
         id: 'app004',
         id: 'app004',
+        fieldId: '234888368884',
         name: '政策语义智译',
         name: '政策语义智译',
         description: '将晦涩的政策公文转化为通俗易懂的惠民说明。',
         description: '将晦涩的政策公文转化为通俗易懂的惠民说明。',
         icon: 'solar:translation-2-bold-duotone',
         icon: 'solar:translation-2-bold-duotone',
@@ -329,6 +334,7 @@ export const allAppsData: AppCardData[] = [
     // 王五(当前用户)创建的应用
     // 王五(当前用户)创建的应用
     {
     {
         id: 'app005',
         id: 'app005',
+        fieldId: '234888368885',
         name: '权限行为内审',
         name: '权限行为内审',
         description: 'AI 行为审计,自动识别并拦截异常访问行为。',
         description: 'AI 行为审计,自动识别并拦截异常访问行为。',
         icon: 'solar:key-minimalistic-square-bold-duotone',
         icon: 'solar:key-minimalistic-square-bold-duotone',
@@ -352,6 +358,7 @@ export const allAppsData: AppCardData[] = [
     },
     },
     {
     {
         id: 'app006',
         id: 'app006',
+        fieldId: '234888368886',
         name: '12345 智播报',
         name: '12345 智播报',
         description: '语音政务热线智能分类与工单自动派发系统。',
         description: '语音政务热线智能分类与工单自动派发系统。',
         icon: 'solar:user-speak-bold-duotone',
         icon: 'solar:user-speak-bold-duotone',
@@ -375,6 +382,7 @@ export const allAppsData: AppCardData[] = [
     // 赵六创建的应用
     // 赵六创建的应用
     {
     {
         id: 'app007',
         id: 'app007',
+        fieldId: '234888368887',
         name: '法条案例检索云',
         name: '法条案例检索云',
         description: '法律条文智能解析,同类案例精准定位与推荐。',
         description: '法律条文智能解析,同类案例精准定位与推荐。',
         icon: 'solar:square-academic-cap-bold-duotone',
         icon: 'solar:square-academic-cap-bold-duotone',
@@ -396,6 +404,7 @@ export const allAppsData: AppCardData[] = [
     },
     },
     {
     {
         id: 'app008',
         id: 'app008',
+        fieldId: '234888368888',
         name: '智能客服助手',
         name: '智能客服助手',
         description: '24/7 智能客服问答服务,自动处理常见政务咨询。',
         description: '24/7 智能客服问答服务,自动处理常见政务咨询。',
         icon: 'solar:headphones-square-bold-duotone',
         icon: 'solar:headphones-square-bold-duotone',
@@ -418,6 +427,7 @@ export const allAppsData: AppCardData[] = [
     // 钱七创建的应用
     // 钱七创建的应用
     {
     {
         id: 'app009',
         id: 'app009',
+        fieldId: '234888368889',
         name: '财税政策智询',
         name: '财税政策智询',
         description: '财税政策智能问答与税收筹划建议系统。',
         description: '财税政策智能问答与税收筹划建议系统。',
         icon: 'solar:calculator-bold-duotone',
         icon: 'solar:calculator-bold-duotone',
@@ -440,6 +450,7 @@ export const allAppsData: AppCardData[] = [
     // 孙八创建的应用
     // 孙八创建的应用
     {
     {
         id: 'app010',
         id: 'app010',
+        fieldId: '234888368890',
         name: '社保医保智办',
         name: '社保医保智办',
         description: '社保医保政策咨询与业务办理指引助手。',
         description: '社保医保政策咨询与业务办理指引助手。',
         icon: 'solar:heart-hand-shake-bold-duotone',
         icon: 'solar:heart-hand-shake-bold-duotone',
@@ -608,6 +619,7 @@ export const pageConfigs: Record<PageType, PageConfig> = {
         showStatus: false,
         showStatus: false,
         showDepartment: false,
         showDepartment: false,
         showVisible: false,
         showVisible: false,
+        showFieldId: true,
         filterByCurrentUser: false,
         filterByCurrentUser: false,
         title: '全部 RAG 应用',
         title: '全部 RAG 应用',
         description: '根据您的常用部门与岗位职责为您推荐',
         description: '根据您的常用部门与岗位职责为您推荐',
@@ -624,6 +636,7 @@ export const pageConfigs: Record<PageType, PageConfig> = {
         showStatus: false,
         showStatus: false,
         showDepartment: false,
         showDepartment: false,
         showVisible: false,
         showVisible: false,
+        showFieldId: true,
         filterByCurrentUser: false,
         filterByCurrentUser: false,
         title: '专业知识',
         title: '专业知识',
         description: '专业知识类 RAG 应用',
         description: '专业知识类 RAG 应用',
@@ -640,6 +653,7 @@ export const pageConfigs: Record<PageType, PageConfig> = {
         showStatus: false,
         showStatus: false,
         showDepartment: false,
         showDepartment: false,
         showVisible: false,
         showVisible: false,
+        showFieldId: true,
         filterByCurrentUser: false,
         filterByCurrentUser: false,
         title: '职能管理',
         title: '职能管理',
         description: '职能管理类 RAG 应用',
         description: '职能管理类 RAG 应用',
@@ -656,6 +670,7 @@ export const pageConfigs: Record<PageType, PageConfig> = {
         showStatus: false,
         showStatus: false,
         showDepartment: false,
         showDepartment: false,
         showVisible: false,
         showVisible: false,
+        showFieldId: true,
         filterByCurrentUser: false,
         filterByCurrentUser: false,
         title: '项目级应用',
         title: '项目级应用',
         description: '项目级 RAG 应用',
         description: '项目级 RAG 应用',
@@ -838,6 +853,9 @@ export const processAppData = (
     if (!config.showVisible) {
     if (!config.showVisible) {
         delete processed.visible;
         delete processed.visible;
     }
     }
+    if (!config.showFieldId) {
+        delete processed.fieldId;
+    }
 
 
     return processed as AppCardData;
     return processed as AppCardData;
 };
 };

+ 1 - 0
jk-rag-platform/src/pages/appCenter/appPlazaList/index.tsx

@@ -157,6 +157,7 @@ const AppPlazaList: React.FC = () => {
                             showCertification={pageConfig.showCertification}
                             showCertification={pageConfig.showCertification}
                             showTags={pageConfig.showTags}
                             showTags={pageConfig.showTags}
                             showHot={pageConfig.showHot}
                             showHot={pageConfig.showHot}
+                            showFieldId={pageConfig.showFieldId}
                             showViewCount={true}  // 所有页面常态显示查看数
                             showViewCount={true}  // 所有页面常态显示查看数
                             showFavoriteCount={true}  // 所有页面常态显示收藏数
                             showFavoriteCount={true}  // 所有页面常态显示收藏数
                             showCreateTime={true}  // 所有页面常态显示创建时间
                             showCreateTime={true}  // 所有页面常态显示创建时间

+ 1 - 0
jk-rag-platform/src/pages/appCenter/categoryApps/index.tsx

@@ -181,6 +181,7 @@ const CategoryAppsList: React.FC = () => {
                             showCertification={pageConfig.showCertification}
                             showCertification={pageConfig.showCertification}
                             showTags={pageConfig.showTags}
                             showTags={pageConfig.showTags}
                             showHot={pageConfig.showHot}
                             showHot={pageConfig.showHot}
+                            showFieldId={pageConfig.showFieldId}
                             showViewCount={true}  // 所有页面常态显示查看数
                             showViewCount={true}  // 所有页面常态显示查看数
                             showFavoriteCount={true}  // 所有页面常态显示收藏数
                             showFavoriteCount={true}  // 所有页面常态显示收藏数
                             showCreateTime={true}  // 所有页面常态显示创建时间
                             showCreateTime={true}  // 所有页面常态显示创建时间

+ 1 - 1
jk-rag-platform/src/pages/appCenter/mobile/MobileH5.scss

@@ -28,7 +28,7 @@
         
         
         // 隐藏"开放平台"返回按钮(H5 不显示)
         // 隐藏"开放平台"返回按钮(H5 不显示)
         .back-btn {
         .back-btn {
-            display: none !important;
+            display: none;
         }
         }
         
         
         // 汉堡菜单按钮
         // 汉堡菜单按钮

+ 1 - 1
jk-rag-platform/src/pages/knowledgeLib/detail/components/style.scss

@@ -9,6 +9,6 @@
 
 
 .md_center {
 .md_center {
     .ant-tabs-tab {
     .ant-tabs-tab {
-        padding: 0 !important;  // 使用 !important 覆盖 Ant Design 默认
+        padding: 0;  // 覆盖 Ant Design 默认
     }
     }
 }
 }

+ 1 - 1
jk-rag-platform/src/pages/knowledgeLib/list/style.scss

@@ -15,7 +15,7 @@
     justify-content: center;
     justify-content: center;
     color: $text-secondary;
     color: $text-secondary;
     transition: all 0.2s ease;
     transition: all 0.2s ease;
-    border-radius: $radius-md;  // 8px 圆角
+    border-radius: $radius-md;  // 6px 圆角
 
 
     // iconify 图标样式
     // iconify 图标样式
     .iconify {
     .iconify {

+ 5 - 5
jk-rag-platform/src/pages/knowledgeLib/revisionTool/components/reviseDrawer.scss

@@ -2,20 +2,20 @@
 // 导入全局样式变量
 // 导入全局样式变量
 
 
 // ===== 修订工具 Drawer 样式 =====
 // ===== 修订工具 Drawer 样式 =====
-// 说明:只定义页面特定的样式
+// 说明:只定义页面特定的样式,不使用 !important
 
 
 // 加载容器
 // 加载容器
 .ant-spin-nested-loading {
 .ant-spin-nested-loading {
-    height: 100% !important;
+    height: 100%;
 }
 }
 
 
 // PDF 页面样式
 // PDF 页面样式
 .pdf-page {
 .pdf-page {
-    width: 100% !important;
+    width: 100%;
 
 
     canvas {
     canvas {
-        width: 100% !important;
-        height: auto !important;
+        width: 100%;
+        height: auto;
     }
     }
 }
 }
 
 

+ 0 - 187
jk-rag-platform/src/pages/layout/components/Breadcrumb.tsx

@@ -1,187 +0,0 @@
-import * as React from 'react';
-import { Link, useLocation, useNavigate } from 'react-router-dom';
-import { Breadcrumb as AntdBreadcrumb, Button, Progress } from 'antd';
-import { PlusOutlined, QuestionCircleOutlined, LayoutOutlined } from '@ant-design/icons';
-import { State } from '../types';
-import router from '@/router';
-import LocalStorage from '@/LocalStorage';
-import { apis } from '@/apis';
-
-interface Props {
-    routerMatchList: State['routerMatchList'],
-    onKnowledgeLibCreate?: () => void; // 知识库创建回调
-    ref2?: React.RefObject<any>;
-    ref4?: React.RefObject<any>;
-};
-
-const Breadcrumb: React.FC<Props> = (props: Props) => {
-    const { routerMatchList, onKnowledgeLibCreate, ref2, ref4 } = props;
-    const [ragCreateFlag, setRagCreateFlag] = React.useState<boolean>(false);
-    const [knowledgeLibCreate, setKnowledgeLibCreate] = React.useState<boolean>(false);
-    const [evaluationTaskCreate, setEvaluationTaskCreate] = React.useState<boolean>(false);
-    const [datasetManagementCreate, setDatasetManagementCreate] = React.useState<boolean>(false);
-    const navigate = useNavigate()
-    const [tenantDetail, setTenantDetail] = React.useState<any>({})
-    const [percent, setPercent] = React.useState<any>(0)
-
-    const onGetTenantSize = async () => {
-        const res: any = await apis.getTenantSize()
-        if (res.code === 200) {
-            setTenantDetail(res.data)
-            const num = (res.data.ossSize / res.data.tenantSize) * 100
-            setPercent(num)
-        }
-    }
-
-
-
-    React.useEffect(() => {
-        setRagCreateFlag(LocalStorage.getStatusFlag('appCenter:questionAnswer:add'));
-        setKnowledgeLibCreate(LocalStorage.getStatusFlag('knowledge:knowledgeLib:add'));
-        setEvaluationTaskCreate(LocalStorage.getStatusFlag('evaluationTool:evaluationTask:add'));
-        setDatasetManagementCreate(LocalStorage.getStatusFlag('evaluationTool:datasetManagement:add'));
-        if (LocalStorage.getToken()) {
-            onGetTenantSize()
-        }
-    }, [])
-    const userGuide = () => {
-        return (
-            <>
-                <div className='flex items-center mr-[15px]'>
-                    <p className='w-auto'>知识库空间已用:</p>
-                    <Progress style={{ width: '150px', marginRight: '8px' }} percent={percent?.toFixed(2)} />
-                    <p>空间总量:{tenantDetail.tenantSize}G</p>
-                </div>
-                <p className='flex items-center cursor-pointer'><QuestionCircleOutlined className='mr-[5px]' />使用指南</p>
-            </>
-        )
-    }
-    // 根据当前路由生成动态按钮
-    const getDynamicButton = () => {
-        const path = location.pathname;
-        // 问答应用列表页面
-        if (path === '/appCenter/questionAnswer/list') {
-            return (
-                <div className='flex items-center'>
-                    {userGuide()}
-                    {ragCreateFlag && <Button
-                        ref={ref4}
-                        className='ml-[10px]'
-                        type="primary"
-                        icon={<PlusOutlined />}
-                        onClick={() => {
-                            navigate(`/appCenter/questionAnswer/create`);
-                        }}
-                    >
-                        创建RAG应用
-                    </Button>}
-                </div>
-            );
-        }
-
-        // 知识库列表页面
-        if (path.includes('/knowledge/knowledgeLib')) {
-            return (
-                <div className='flex items-center'>
-                    {userGuide()}
-                    {knowledgeLibCreate && path === '/knowledge/knowledgeLib' && <Button
-                        ref={ref2}
-                        className='ml-[10px]'
-                        type="primary"
-                        icon={<PlusOutlined />}
-                        onClick={() => {
-                            // 触发自定义事件,让页面组件监听并处理
-                            const event = new CustomEvent('knowledgeLibCreate', {
-                                detail: { platform: 'deepseek' }
-                            });
-                            window.dispatchEvent(event);
-                        }}
-                    >
-                        创建知识库
-                    </Button>}
-                </div>
-            );
-        }
-        // 评测任务列表页面
-        if (path === '/evaluationTool/evaluationTask' && evaluationTaskCreate) {
-            return (
-                <>
-                    <Button
-                        type="primary"
-                        icon={<PlusOutlined />}
-                        onClick={() => {
-                            // 触发自定义事件,让页面组件监听并处理
-                            const event = new CustomEvent('evaluationTask', {
-                                detail: { platform: 'Task' }
-                            });
-                            window.dispatchEvent(event);
-                        }}
-                    >
-                        创建评测任务
-                    </Button>
-                </>
-            );
-        }
-        // 创建数据集页面
-        if (path === '/evaluationTool/datasetManagement' && datasetManagementCreate) {
-            return (
-                <Button
-                    type="primary"
-                    icon={<PlusOutlined />}
-                    onClick={() => {
-                        // 触发自定义事件,让页面组件监听并处理
-                        const event = new CustomEvent('datasetManagement', {
-                            detail: { platform: 'Management' }
-                        });
-                        window.dispatchEvent(event);
-                    }}
-                >
-                    创建数据集
-                </Button>
-            );
-        }
-        if (path === '/deepseek/audit') {
-            return (
-                <Button
-                    type="primary"
-                    icon={<LayoutOutlined />}
-                    onClick={() => {
-                        // 触发自定义事件,让页面组件监听并处理
-                        const event = new CustomEvent('auditHistory', {
-                            detail: { platform: 'auditHistory' }
-                        });
-                        window.dispatchEvent(event);
-                    }}
-                >
-                    审核历史
-                </Button>
-            );
-        }
-
-        // 其他页面不显示按钮
-        return null;
-    };
-
-    const items = routerMatchList.map((item, index) => {
-        const color = (index === 0 || index < routerMatchList.length - 1) ? '#595959' : '#1a1a1a';
-        return {
-            key: index,
-            title: (item.path !== '/knowledge/knowledgeLib' && item.path.includes('/knowledge/knowledgeLib')) ? item.breadcrumbName : <Link
-                style={{ color: color }}
-                to={item.path}>
-                {item.breadcrumbName}
-            </Link>,
-        }
-    });
-
-    return (
-        <div className='breadcrumb-container'>
-            <AntdBreadcrumb className='breadcrumb' items={items} />
-            <div className='breadcrumb-actions'>
-                {getDynamicButton()}
-            </div>
-        </div>
-    );
-};
-
-export default Breadcrumb;

+ 1 - 1
jk-rag-platform/src/pages/layout/components/header.scss

@@ -306,7 +306,7 @@
         align-items: center;
         align-items: center;
         gap: $spacing-2;
         gap: $spacing-2;
         padding: $spacing-2 $spacing-3;
         padding: $spacing-2 $spacing-3;
-        border-radius: 8px;
+        border-radius: $radius-lg;
         cursor: pointer;
         cursor: pointer;
         transition: all 0.2s ease;
         transition: all 0.2s ease;
         background: transparent;
         background: transparent;

+ 5 - 37
jk-rag-platform/src/pages/layout/style.scss

@@ -54,38 +54,6 @@
     flex-direction: column;
     flex-direction: column;
     flex: 1;
     flex: 1;
 
 
-    .breadcrumb-container {
-        width: 100%;
-        height: 44px;
-        padding: $spacing-3 $spacing-6;
-        display: flex;
-        justify-content: space-between;
-        align-items: center;
-        border-bottom: 1px solid $border-base;
-        background: $bg-secondary;
-        position: sticky;
-        top: 0;
-        z-index: $z-index-sticky;
-    }
-
-    .breadcrumb {
-        flex: 1;
-        font-weight: $font-weight-medium;
-
-        .ant-breadcrumb-link a {
-            &:hover {
-                color: $primary-color;
-                font-weight: $font-weight-medium;
-            }
-        }
-    }
-
-    .breadcrumb-actions {
-        display: flex;
-        align-items: center;
-        gap: $spacing-2;
-    }
-
     /* 内容区域滚动 - 隐藏式滚动条 */
     /* 内容区域滚动 - 隐藏式滚动条 */
     .content-scroll-area {
     .content-scroll-area {
         flex: 1;
         flex: 1;
@@ -104,9 +72,9 @@
 }
 }
 
 
 .nav {
 .nav {
-    width: 200px !important;
-    height: calc(100vh - $header-height) !important;
-    background: $sidebar-bg !important;
+    width: 200px;
+    height: calc(100vh - $header-height);
+    background: $sidebar-bg;
     border-right: 1px solid $border-base;
     border-right: 1px solid $border-base;
     position: fixed;
     position: fixed;
     top: $header-height;
     top: $header-height;
@@ -114,7 +82,7 @@
     z-index: $z-index-fixed;
     z-index: $z-index-fixed;
 
 
     .ant-menu {
     .ant-menu {
-        background-color: transparent !important;
+        background-color: transparent;
         overflow-x: hidden;
         overflow-x: hidden;
         overflow-y: auto;
         overflow-y: auto;
 
 
@@ -122,7 +90,7 @@
             transition: font-weight 0.2s ease;
             transition: font-weight 0.2s ease;
 
 
             &-selected, &-active {
             &-selected, &-active {
-                font-weight: 600 !important;
+                font-weight: 600;
             }
             }
         }
         }
     }
     }

+ 1 - 1
jk-rag-platform/src/pages/questionAnswer/form/VipSelector.scss

@@ -56,7 +56,7 @@
         }
         }
 
 
         .ant-tree-node-selected {
         .ant-tree-node-selected {
-            background: rgba($primary-color, 0.1) !important;
+            background: rgba($primary-color, 0.1);
             color: $primary-color;
             color: $primary-color;
             font-weight: $font-weight-medium;
             font-weight: $font-weight-medium;
         }
         }

+ 1 - 0
jk-rag-platform/src/pages/questionAnswer/list/index.tsx

@@ -214,6 +214,7 @@ const QuestionAnswerList: React.FC = () => {
                             showCertification={pageConfig.showCertification}
                             showCertification={pageConfig.showCertification}
                             showTags={pageConfig.showTags}
                             showTags={pageConfig.showTags}
                             showHot={pageConfig.showHot}
                             showHot={pageConfig.showHot}
+                            showFieldId={pageConfig.showFieldId}
                             showViewCount={true}
                             showViewCount={true}
                             showFavoriteCount={true}
                             showFavoriteCount={true}
                             showCreateTime={true}
                             showCreateTime={true}

+ 7 - 7
jk-rag-platform/src/pages/universalChat/styles/index.scss

@@ -73,7 +73,7 @@
     padding: 10px 16px;
     padding: 10px 16px;
     background: var(--chat-btn-bg);
     background: var(--chat-btn-bg);
     border: none;
     border: none;
-    border-radius: 8px;
+    border-radius: $radius-lg;
     color: var(--chat-btn-text);
     color: var(--chat-btn-text);
     font-size: 14px;
     font-size: 14px;
     font-weight: 500;
     font-weight: 500;
@@ -104,7 +104,7 @@
         justify-content: space-between;
         justify-content: space-between;
         padding: 10px 12px;
         padding: 10px 12px;
         cursor: pointer;
         cursor: pointer;
-        border-radius: 8px;
+        border-radius: $radius-lg;
         transition: var(--chat-transition);
         transition: var(--chat-transition);
 
 
         &:hover {
         &:hover {
@@ -157,7 +157,7 @@
     gap: 10px;
     gap: 10px;
     padding: 8px 12px 8px 36px;
     padding: 8px 12px 8px 36px;
     cursor: pointer;
     cursor: pointer;
-    border-radius: 6px;
+    border-radius: $radius-md;
     transition: var(--chat-transition);
     transition: var(--chat-transition);
 
 
     &:hover {
     &:hover {
@@ -221,7 +221,7 @@
         justify-content: space-between;
         justify-content: space-between;
         padding: 8px 12px 8px 24px;
         padding: 8px 12px 8px 24px;
         cursor: pointer;
         cursor: pointer;
-        border-radius: 6px;
+        border-radius: $radius-md;
         transition: var(--chat-transition);
         transition: var(--chat-transition);
 
 
         &:hover {
         &:hover {
@@ -363,13 +363,13 @@
             pre {
             pre {
                 background: var(--chat-bg-secondary);
                 background: var(--chat-bg-secondary);
                 padding: 16px;
                 padding: 16px;
-                border-radius: 8px;
+                border-radius: $radius-md;
                 overflow-x: auto;
                 overflow-x: auto;
             }
             }
             code {
             code {
                 background: var(--chat-bg-secondary);
                 background: var(--chat-bg-secondary);
                 padding: 2px 6px;
                 padding: 2px 6px;
-                border-radius: 4px;
+                border-radius: $radius-sm;
                 font-family: monospace;
                 font-family: monospace;
             }
             }
         }
         }
@@ -671,7 +671,7 @@
     padding: 8px 16px;
     padding: 8px 16px;
     background: var(--chat-bg-secondary);
     background: var(--chat-bg-secondary);
     border: 1px solid var(--chat-border-color);
     border: 1px solid var(--chat-border-color);
-    border-radius: 8px;
+    border-radius: $radius-lg;
     cursor: pointer;
     cursor: pointer;
     font-size: 13px;
     font-size: 13px;
     color: var(--chat-text-secondary);
     color: var(--chat-text-secondary);