diff --git a/pc/src/components/CommonAside.vue b/pc/src/components/CommonAside.vue index 3128a70..10ebd09 100644 --- a/pc/src/components/CommonAside.vue +++ b/pc/src/components/CommonAside.vue @@ -46,194 +46,202 @@ - diff --git a/pc/src/views/apps/knowledge/category/edit.vue b/pc/src/views/apps/knowledge/category/edit.vue new file mode 100644 index 0000000..e69de29 diff --git a/pc/src/views/apps/knowledge/category/index.vue b/pc/src/views/apps/knowledge/category/index.vue new file mode 100644 index 0000000..65d7a47 --- /dev/null +++ b/pc/src/views/apps/knowledge/category/index.vue @@ -0,0 +1,13 @@ + + + + + \ No newline at end of file diff --git a/pc/src/views/apps/knowledge/index.vue b/pc/src/views/apps/knowledge/index.vue index 325b7b8..bb36c1d 100644 --- a/pc/src/views/apps/knowledge/index.vue +++ b/pc/src/views/apps/knowledge/index.vue @@ -67,10 +67,20 @@

知识库列表

- - - 新建知识库 - +
+ + + 新建知识库 + + + + 分类管理 + + + + 标签管理 + +
@@ -286,7 +296,7 @@ async function fetchRepoList() { repoList.value = result.list || result.data?.list || []; total.value = result.total || result.data?.total || 0; } - + // 更新统计数据(避免重复调用 API) updateStats(); } catch (error: any) { @@ -314,6 +324,16 @@ function handleEdit(repo: Knowledge) { router.push(`/apps/knowledge/edit/${repo.id}`); } +function handleCategory() { + // 跳转到分类管理页面,使用路径跳转 + router.push(`/apps/knowledge/category`); +} + +function handleTags() { + // 跳转到标签管理页面,使用路径跳转 + router.push(`/apps/knowledge/tags`); +} + function handleDelete(repo: Knowledge) { ElMessageBox.confirm(`确认删除知识「${repo.title}」?`, "提示", { confirmButtonText: "确定", @@ -457,7 +477,7 @@ onMounted(() => { .search-input { flex: 1; - :deep(.el-input__wrapper){ + :deep(.el-input__wrapper) { border: none !important; } @@ -706,7 +726,8 @@ onMounted(() => { color: var(--primary-color); border-color: var(--border-color); font-weight: 500; - transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease; + transition: background-color 0.3s ease, color 0.3s ease, + border-color 0.3s ease; } .repo-owner { @@ -744,7 +765,8 @@ onMounted(() => { border-color: var(--border-color-lighter); font-size: 12px; padding: 4px 12px; - transition: background-color 0.3s ease, color 0.3s ease, border-color 0.3s ease; + transition: background-color 0.3s ease, color 0.3s ease, + border-color 0.3s ease; } } diff --git a/pc/src/views/apps/knowledge/tag/edit.vue b/pc/src/views/apps/knowledge/tag/edit.vue new file mode 100644 index 0000000..e69de29 diff --git a/pc/src/views/apps/knowledge/tag/index.vue b/pc/src/views/apps/knowledge/tag/index.vue new file mode 100644 index 0000000..e69de29 diff --git a/pc/src/views/system/menus/manager.vue b/pc/src/views/system/menus/manager.vue index 71c44af..31d20f6 100644 --- a/pc/src/views/system/menus/manager.vue +++ b/pc/src/views/system/menus/manager.vue @@ -145,7 +145,7 @@ > @@ -440,10 +440,15 @@ const saveMenu = async () => { const valid = await menuFormRef.value.validate(); if (!valid) return; + // 解决后端时间字段问题:过滤掉 CreateTime/UpdateTime + const payload = { ...currentMenu.value }; + delete payload.CreateTime; + delete payload.UpdateTime; + try { if (currentMenu.value.Id === 0) { // 新增菜单 - const result = await createMenu(currentMenu.value as Menu); + const result = await createMenu(payload as Menu); if (result.success) { ElMessage.success("菜单添加成功"); dialogVisible.value = false; @@ -455,7 +460,7 @@ const saveMenu = async () => { // 编辑菜单 const result = await updateMenu( currentMenu.value.Id!, - currentMenu.value as Menu + payload as Menu ); if (result.success) { ElMessage.success("更新成功"); diff --git a/server/controllers/knowledge.go b/server/controllers/knowledge.go index 1158d18..d58a834 100644 --- a/server/controllers/knowledge.go +++ b/server/controllers/knowledge.go @@ -167,7 +167,7 @@ func (c *KnowledgeController) Update() { c.Data["json"] = map[string]interface{}{ "code": 0, "message": "更新成功", - "data": nil, + // "data": nil, } c.ServeJSON() } diff --git a/server/controllers/menu.go b/server/controllers/menu.go index f1975a3..f80e57a 100644 --- a/server/controllers/menu.go +++ b/server/controllers/menu.go @@ -105,7 +105,7 @@ func (c *MenuController) UpdateMenu() { c.Data["json"] = map[string]interface{}{ "success": true, "message": "更新菜单成功", - "data": menu, + // "data": menu, } } diff --git a/server/models/knowledge.go b/server/models/knowledge.go index 4006959..bb2390f 100644 --- a/server/models/knowledge.go +++ b/server/models/knowledge.go @@ -248,7 +248,7 @@ func UpdateKnowledge(id int, k *Knowledge) error { return err } - // 更新字段(不包含category_name,因为它是从联查获取的) + // 更新字段 knowledge.Title = k.Title knowledge.CategoryId = k.CategoryId knowledge.Tags = k.Tags