diff --git a/know_sub_business/src/main/java/com/supervision/knowsub/controller/FileController.java b/know_sub_business/src/main/java/com/supervision/knowsub/controller/FileController.java
index 09b6c91..ff25e68 100644
--- a/know_sub_business/src/main/java/com/supervision/knowsub/controller/FileController.java
+++ b/know_sub_business/src/main/java/com/supervision/knowsub/controller/FileController.java
@@ -1,5 +1,6 @@
 package com.supervision.knowsub.controller;
 
+import com.supervision.knowsub.exception.BusinessException;
 import com.supervision.knowsub.service.FileService;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.tags.Tag;
@@ -24,6 +25,9 @@ public class FileController {
     @PostMapping("upload")
     public String fileUpload(@RequestParam(name = "file") MultipartFile file) throws IOException {
         byte[] bytes = file.getBytes();
+        if (bytes.length > 20 * 1024 * 1024){
+            throw new BusinessException("文件过大,文件大小请不要超过20MB");
+        }
         return fileService.uploadFile(file.getOriginalFilename(), bytes);
     }
 
diff --git a/know_sub_business/src/main/java/com/supervision/knowsub/controller/knowledge/KnowledgeManageController.java b/know_sub_business/src/main/java/com/supervision/knowsub/controller/knowledge/KnowledgeManageController.java
index 5c4fca0..f4e1d2f 100644
--- a/know_sub_business/src/main/java/com/supervision/knowsub/controller/knowledge/KnowledgeManageController.java
+++ b/know_sub_business/src/main/java/com/supervision/knowsub/controller/knowledge/KnowledgeManageController.java
@@ -7,6 +7,7 @@ import com.supervision.knowsub.entity.vo.knowledge.ModifyKnowledgeReqVO;
 import com.supervision.knowsub.entity.vo.knowledge.SaveKnowledgeReqVO;
 import com.supervision.knowsub.service.KnowledgeManageService;
 import com.supervision.knowsub.model.Knowledge;
+import com.supervision.knowsub.vo.knowledge.KnowledgePageResVO;
 import io.swagger.v3.oas.annotations.Operation;
 import io.swagger.v3.oas.annotations.Parameter;
 import io.swagger.v3.oas.annotations.Parameters;
@@ -40,14 +41,14 @@ public class KnowledgeManageController {
             @Parameter(name = "pageSize", description = "分页", in = ParameterIn.QUERY)
     })
     @GetMapping("queryKnowledgePage")
-    public IPage<Knowledge> queryKnowledgePage(@RequestParam(required = false) Integer status,
-                                               @RequestParam(required = false) String title,
-                                               @RequestParam(required = false) String publishDeptId,
-                                               @RequestParam(required = false) String baseId,
-                                               @RequestParam(required = false) String submittedDeptId,
-                                               @RequestParam(required = false)LocalDateTime publishDateBegin,
-                                               @RequestParam(required = false)LocalDateTime publishDateEnd,
-                                               Integer pageNum, Integer pageSize) {
+    public IPage<KnowledgePageResVO> queryKnowledgePage(@RequestParam(required = false) Integer status,
+                                                        @RequestParam(required = false) String title,
+                                                        @RequestParam(required = false) String publishDeptId,
+                                                        @RequestParam(required = false) String baseId,
+                                                        @RequestParam(required = false) String submittedDeptId,
+                                                        @RequestParam(required = false)LocalDateTime publishDateBegin,
+                                                        @RequestParam(required = false)LocalDateTime publishDateEnd,
+                                                        Integer pageNum, Integer pageSize) {
         return knowledgeManageService.queryKnowledgePage(status, title, publishDeptId, baseId, submittedDeptId, publishDateBegin, publishDateEnd, pageNum, pageSize);
     }
 
@@ -57,7 +58,7 @@ public class KnowledgeManageController {
         knowledgeManageService.saveKnowledge(reqVO);
     }
 
-    @Operation(summary = "修改知识库(已撤回才能编辑)")
+    @Operation(summary = "修改知识库(已撤回和草稿状态才能编辑)")
     @PostMapping("updateKnowledge")
     public void updateKnowledge(@RequestBody ModifyKnowledgeReqVO reqVO) {
         Assert.notBlank(reqVO.getKnowledgeId(), "知识ID不能为空");
diff --git a/know_sub_business/src/main/java/com/supervision/knowsub/service/KnowledgeManageService.java b/know_sub_business/src/main/java/com/supervision/knowsub/service/KnowledgeManageService.java
index 072c37c..fc4ed74 100644
--- a/know_sub_business/src/main/java/com/supervision/knowsub/service/KnowledgeManageService.java
+++ b/know_sub_business/src/main/java/com/supervision/knowsub/service/KnowledgeManageService.java
@@ -5,6 +5,7 @@ import com.supervision.knowsub.entity.vo.knowledge.KnowledgeDetailResVO;
 import com.supervision.knowsub.entity.vo.knowledge.ModifyKnowledgeReqVO;
 import com.supervision.knowsub.entity.vo.knowledge.SaveKnowledgeReqVO;
 import com.supervision.knowsub.model.Knowledge;
+import com.supervision.knowsub.vo.knowledge.KnowledgePageResVO;
 import org.springframework.web.bind.annotation.RequestBody;
 import org.springframework.web.bind.annotation.RequestParam;
 
@@ -12,14 +13,14 @@ import java.time.LocalDateTime;
 
 public interface KnowledgeManageService {
 
-    IPage<Knowledge> queryKnowledgePage(Integer status,
-                                        String title,
-                                        String publishDeptId,
-                                        String baseId,
-                                        String submittedDeptId,
-                                        LocalDateTime publishDateBegin,
-                                        LocalDateTime publishDateEnd,
-                                        Integer pageNum, Integer pageSize);
+    IPage<KnowledgePageResVO> queryKnowledgePage(Integer status,
+                                                 String title,
+                                                 String publishDeptId,
+                                                 String baseId,
+                                                 String submittedDeptId,
+                                                 LocalDateTime publishDateBegin,
+                                                 LocalDateTime publishDateEnd,
+                                                 Integer pageNum, Integer pageSize);
 
     void saveKnowledge(SaveKnowledgeReqVO reqVO);
 
diff --git a/know_sub_business/src/main/java/com/supervision/knowsub/service/impl/KnowledgeManageServiceImpl.java b/know_sub_business/src/main/java/com/supervision/knowsub/service/impl/KnowledgeManageServiceImpl.java
index 73b6adf..74cbb72 100644
--- a/know_sub_business/src/main/java/com/supervision/knowsub/service/impl/KnowledgeManageServiceImpl.java
+++ b/know_sub_business/src/main/java/com/supervision/knowsub/service/impl/KnowledgeManageServiceImpl.java
@@ -1,30 +1,26 @@
 package com.supervision.knowsub.service.impl;
 
+import cn.hutool.core.bean.BeanUtil;
 import cn.hutool.core.collection.CollUtil;
 import cn.hutool.core.lang.Assert;
-import cn.hutool.core.util.StrUtil;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.supervision.knowsub.domain.UserInfo;
-import com.supervision.knowsub.entity.vo.knowledge.KnowledgeDetailResVO;
-import com.supervision.knowsub.entity.vo.knowledge.KnowledgeLinkVO;
-import com.supervision.knowsub.entity.vo.knowledge.ModifyKnowledgeReqVO;
-import com.supervision.knowsub.entity.vo.knowledge.SaveKnowledgeReqVO;
+import com.supervision.knowsub.entity.vo.knowledge.*;
 import com.supervision.knowsub.enums.FlowTypeEnum;
 import com.supervision.knowsub.enums.StatusEnum;
 import com.supervision.knowsub.exception.BusinessException;
 import com.supervision.knowsub.model.*;
 import com.supervision.knowsub.service.*;
 import com.supervision.knowsub.util.UserUtil;
+import com.supervision.knowsub.vo.knowledge.KnowledgePageResVO;
 import lombok.RequiredArgsConstructor;
 import lombok.extern.slf4j.Slf4j;
 import org.springframework.stereotype.Service;
 import org.springframework.transaction.annotation.Transactional;
 
-import java.time.Instant;
 import java.time.LocalDateTime;
-import java.util.List;
-import java.util.Objects;
-import java.util.Set;
+import java.util.*;
+import java.util.stream.Collectors;
 
 @Slf4j
 @Service
@@ -47,9 +43,13 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
 
     private final KnowledgeFlowService knowledgeFlowService;
 
+    private final SystemDeptService systemDeptService;
+
+    private final SystemBaseService systemBaseService;
+
 
     @Override
-    public IPage<Knowledge> queryKnowledgePage(Integer status,
+    public IPage<KnowledgePageResVO> queryKnowledgePage(Integer status,
                                                String title,
                                                String publishDeptId,
                                                String baseId,
@@ -57,7 +57,28 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
                                                LocalDateTime publishDateBegin,
                                                LocalDateTime publishDateEnd, Integer pageNum, Integer pageSize) {
         String userId = UserUtil.getUser().getId();
-        return knowledgeService.queryKnowledgePage(status, title, publishDeptId, baseId, submittedDeptId, publishDateBegin, publishDateEnd, userId, pageNum, pageSize);
+        IPage<KnowledgePageResVO> knowledgeIPage = knowledgeService.queryKnowledgePage(status, title, publishDeptId, baseId, submittedDeptId, publishDateBegin, publishDateEnd, userId, pageNum, pageSize);
+        List<KnowledgePageResVO> records = knowledgeIPage.getRecords();
+        if (CollUtil.isEmpty(records)){
+            return knowledgeIPage;
+        }
+        // 获取所有部门
+        Set<String> submitDeptSet = records.stream().map(Knowledge::getSubmittedDeptId).collect(Collectors.toSet());
+        Set<String> publishDeptSet = records.stream().map(Knowledge::getPublishDeptId).collect(Collectors.toSet());
+        Collection<String> deptIdSet = CollUtil.union(submitDeptSet, publishDeptSet);
+        Map<String, String> deptMap = systemDeptService.listByIds(deptIdSet).stream().collect(Collectors.toMap(SystemDept::getId, SystemDept::getDeptName));
+        // 获取所有子库
+        Set<String> baseIdSet = records.stream().map(Knowledge::getBaseId).collect(Collectors.toSet());
+        Map<String, String> baseMap = systemBaseService.listByIds(baseIdSet).stream().collect(Collectors.toMap(SystemBase::getId, SystemBase::getBaseName));
+        List<KnowledgePageResVO> list = records.stream().map(knowledge -> {
+            KnowledgePageResVO node = BeanUtil.copyProperties(knowledge, KnowledgePageResVO.class);
+            node.setBaseName(baseMap.getOrDefault(knowledge.getBaseId(), "全部"));
+            node.setSubmitDeptName(deptMap.getOrDefault(knowledge.getSubmittedDeptId(), "未知部门"));
+            node.setPublishDeptName(deptMap.getOrDefault(knowledge.getPublishDeptId(), "未知部门"));
+            return node;
+        }).toList();
+        knowledgeIPage.setRecords(list);
+        return knowledgeIPage;
     }
 
     @Override
@@ -74,8 +95,8 @@ public class KnowledgeManageServiceImpl implements KnowledgeManageService {
         var context = new KnowledgeContext();
         context.setContext(reqVO.getContent());
         knowledgeContextService.save(context);
-
-        KnowledgeInfo baseInfo = reqVO.getKnowledgeInfo();
+        // 保存基本信息
+        KnowledgeInfo baseInfo = Optional.ofNullable(reqVO.getKnowledgeInfo()).orElse(new KnowledgeInfo());
         baseInfo.setContextId(context.getId());
         knowledgeInfoService.save(baseInfo);
 
diff --git a/know_sub_model/src/main/java/com/supervision/knowsub/mapper/KnowledgeMapper.java b/know_sub_model/src/main/java/com/supervision/knowsub/mapper/KnowledgeMapper.java
index 8367028..185987a 100644
--- a/know_sub_model/src/main/java/com/supervision/knowsub/mapper/KnowledgeMapper.java
+++ b/know_sub_model/src/main/java/com/supervision/knowsub/mapper/KnowledgeMapper.java
@@ -4,6 +4,7 @@ import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
 import com.supervision.knowsub.model.Knowledge;
 import com.baomidou.mybatisplus.core.mapper.BaseMapper;
+import com.supervision.knowsub.vo.knowledge.KnowledgePageResVO;
 import org.apache.ibatis.annotations.Param;
 
 import java.time.LocalDateTime;
@@ -16,14 +17,14 @@ import java.time.LocalDateTime;
 */
 public interface KnowledgeMapper extends BaseMapper<Knowledge> {
 
-    IPage<Knowledge> queryKnowledgePage(@Param("status") Integer status,
-                                        @Param("title") String title,
-                                        @Param("publishDeptId") String publishDeptId,
-                                        @Param("baseId") String baseId,
-                                        @Param("submittedDeptId") String submittedDeptId,
-                                        @Param("publishDateBegin") LocalDateTime publishDateBegin,
-                                        @Param("publishDateEnd") LocalDateTime publishDateEnd,
-                                        @Param("userId") String userId, Page<Knowledge> page);
+    IPage<KnowledgePageResVO> queryKnowledgePage(@Param("status") Integer status,
+                                                 @Param("title") String title,
+                                                 @Param("publishDeptId") String publishDeptId,
+                                                 @Param("baseId") String baseId,
+                                                 @Param("submittedDeptId") String submittedDeptId,
+                                                 @Param("publishDateBegin") LocalDateTime publishDateBegin,
+                                                 @Param("publishDateEnd") LocalDateTime publishDateEnd,
+                                                 @Param("userId") String userId, Page<Knowledge> page);
 
 }
 
diff --git a/know_sub_model/src/main/java/com/supervision/knowsub/service/KnowledgeService.java b/know_sub_model/src/main/java/com/supervision/knowsub/service/KnowledgeService.java
index ea98e8f..09d2499 100644
--- a/know_sub_model/src/main/java/com/supervision/knowsub/service/KnowledgeService.java
+++ b/know_sub_model/src/main/java/com/supervision/knowsub/service/KnowledgeService.java
@@ -3,6 +3,7 @@ package com.supervision.knowsub.service;
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.supervision.knowsub.model.Knowledge;
 import com.baomidou.mybatisplus.extension.service.IService;
+import com.supervision.knowsub.vo.knowledge.KnowledgePageResVO;
 
 import java.time.LocalDateTime;
 
@@ -19,12 +20,12 @@ public interface KnowledgeService extends IService<Knowledge> {
      * @param pageSize pageSize
      * @return IPage<Knowledge>
      */
-    IPage<Knowledge> queryKnowledgePage(Integer status,
-                                        String title,
-                                        String publishDeptId,
-                                        String baseId,
-                                        String submittedDeptId,
-                                        LocalDateTime publishDateBegin,
-                                        LocalDateTime publishDateEnd,String userId, Integer pageNum, Integer pageSize);
+    IPage<KnowledgePageResVO> queryKnowledgePage(Integer status,
+                                                 String title,
+                                                 String publishDeptId,
+                                                 String baseId,
+                                                 String submittedDeptId,
+                                                 LocalDateTime publishDateBegin,
+                                                 LocalDateTime publishDateEnd, String userId, Integer pageNum, Integer pageSize);
 
 }
diff --git a/know_sub_model/src/main/java/com/supervision/knowsub/service/impl/KnowledgeServiceImpl.java b/know_sub_model/src/main/java/com/supervision/knowsub/service/impl/KnowledgeServiceImpl.java
index 6079c84..9a8849b 100644
--- a/know_sub_model/src/main/java/com/supervision/knowsub/service/impl/KnowledgeServiceImpl.java
+++ b/know_sub_model/src/main/java/com/supervision/knowsub/service/impl/KnowledgeServiceImpl.java
@@ -6,6 +6,7 @@ import com.baomidou.mybatisplus.extension.service.impl.ServiceImpl;
 import com.supervision.knowsub.model.Knowledge;
 import com.supervision.knowsub.service.KnowledgeService;
 import com.supervision.knowsub.mapper.KnowledgeMapper;
+import com.supervision.knowsub.vo.knowledge.KnowledgePageResVO;
 import org.springframework.stereotype.Service;
 
 import java.time.LocalDateTime;
@@ -20,13 +21,13 @@ public class KnowledgeServiceImpl extends ServiceImpl<KnowledgeMapper, Knowledge
         implements KnowledgeService {
 
     @Override
-    public IPage<Knowledge> queryKnowledgePage(Integer status,
-                                               String title,
-                                               String publishDeptId,
-                                               String baseId,
-                                               String submittedDeptId,
-                                               LocalDateTime publishDateBegin,
-                                               LocalDateTime publishDateEnd, String userId, Integer pageNum, Integer pageSize) {
+    public IPage<KnowledgePageResVO> queryKnowledgePage(Integer status,
+                                                        String title,
+                                                        String publishDeptId,
+                                                        String baseId,
+                                                        String submittedDeptId,
+                                                        LocalDateTime publishDateBegin,
+                                                        LocalDateTime publishDateEnd, String userId, Integer pageNum, Integer pageSize) {
         return this.baseMapper.queryKnowledgePage(status, title, publishDeptId, baseId, submittedDeptId, publishDateBegin, publishDateEnd, userId, new Page<>(pageNum, pageSize));
     }
 }
diff --git a/know_sub_model/src/main/java/com/supervision/knowsub/vo/knowledge/KnowledgePageResVO.java b/know_sub_model/src/main/java/com/supervision/knowsub/vo/knowledge/KnowledgePageResVO.java
new file mode 100644
index 0000000..b424b97
--- /dev/null
+++ b/know_sub_model/src/main/java/com/supervision/knowsub/vo/knowledge/KnowledgePageResVO.java
@@ -0,0 +1,18 @@
+package com.supervision.knowsub.vo.knowledge;
+
+import com.supervision.knowsub.model.Knowledge;
+import io.swagger.v3.oas.annotations.media.Schema;
+import lombok.Data;
+import lombok.EqualsAndHashCode;
+
+@EqualsAndHashCode(callSuper = true)
+@Data
+public class KnowledgePageResVO extends Knowledge {
+
+    @Schema(description = "应用子库名称")
+    private String baseName;
+    @Schema(description = "报送部门名称")
+    private String submitDeptName;
+    @Schema(description = "发文部门名称")
+    private String publishDeptName;
+}
diff --git a/know_sub_model/src/main/resources/mapper/KnowledgeMapper.xml b/know_sub_model/src/main/resources/mapper/KnowledgeMapper.xml
index e0bf68c..da671a7 100644
--- a/know_sub_model/src/main/resources/mapper/KnowledgeMapper.xml
+++ b/know_sub_model/src/main/resources/mapper/KnowledgeMapper.xml
@@ -28,7 +28,7 @@
         status,submitted_dept_id,create_user_id,
         create_time,update_user_id,update_time
     </sql>
-    <select id="queryKnowledgePage" resultType="com.supervision.knowsub.model.Knowledge">
+    <select id="queryKnowledgePage" resultType="com.supervision.knowsub.vo.knowledge.KnowledgePageResVO">
         select
         t1.*
         from ks_knowledge t1 left join ks_knowledge_info t2 on t1.info_id = t2.id