2 lines
6.8 KiB
JavaScript
2 lines
6.8 KiB
JavaScript
|
|
import{Z as R,r as f,S as F,d as X,o as ee,b as c,c as k,e as d,f as l,w as o,W as te,T as D,U as E,j as z,n as N,i as u,g,t as v,E as h,Y as le}from"./index-CcYCuTIa.js";import{F as oe,G as ae,H as ne,I as se}from"./admin-i6XhhI1Z.js";import{_ as re}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CPDTx6RU.js";const ue=R("knowledge",()=>{const y=f([]),s=f("全部"),b=f(""),w=f(!1),$=F(()=>s.value==="全部"?y.value:y.value.filter(r=>r.category===s.value)),P=F(()=>{const r={全部:y.value.length};for(const i of y.value)r[i.category]=(r[i.category]||0)+1;return r});async function V(r,i){w.value=!0;try{const m=await oe(r,i);y.value=m.data.data.items}catch(m){console.error("加载知识库列表失败:",m)}finally{w.value=!1}}function _(r){s.value=r}function p(r){b.value=r}async function K(r){try{return await ae(r),await V(),!0}catch(i){return console.error("创建知识库条目失败:",i),!1}}async function I(r,i){try{return await ne(r,i),await V(),!0}catch(m){return console.error("更新知识库条目失败:",m),!1}}async function a(r){try{return await se(r),await V(),!0}catch(i){return console.error("删除知识库条目失败:",i),!1}}return{items:y,activeCategory:s,keyword:b,loading:w,filteredItems:$,categoryCounts:P,loadKnowledge:V,setCategory:_,setKeyword:p,create:K,update:I,remove:a}}),ie={class:"knowledge-page"},de={class:"knowledge-toolbar"},ce={class:"category-tabs"},ge={key:0,class:"loading-state"},fe={key:1,class:"knowledge-list"},pe={class:"card-header"},ve={class:"card-title"},_e={class:"title-text"},me={class:"card-actions"},ye={class:"card-content"},we={class:"card-footer"},ke={class:"stats"},Ve=X({__name:"Knowledge",setup(y){const s=ue(),b=["全部","电脑","软件","外设","网络","安全","资产","其他"],w=f("");function $(){s.loadKnowledge(s.activeCategory==="全部"?void 0:s.activeCategory,w.value||void 0)}function P(n){s.setCategory(n)}function V(n){return n==="全部"?s.items.length:s.items.filter(e=>e.category===n).length}const _=f(!1),p=f(!1),K=f(!1),I=f(""),a=f({category:"其他",title:"",content:"",tagsInput:"",tags:[]});function r(){p.value=!1,I.value="",a.value={category:"其他",title:"",content:"",tagsInput:"",tags:[]},_.value=!0}function i(n){p.value=!0,I.value=n.id,a.value={category:n.category,title:n.title,content:n.content,tagsInput:n.tags.join(", "),tags:n.tags},_.value=!0}function m(){a.value.tagsInput.trim()&&(a.value.tags=a.value.tagsInput.split(",").map(n=>n.trim()).filter(n=>n))}async function M(){if(!a.value.title.trim()){h.warning("请输入问题标题");return}if(!a.value.content.trim()){h.warning("请输入答案内容");return}m(),K.value=!0;try{const n={category:a.value.category,title:a.value.title,content:a.value.content,tags:a.value.tags};let e;p.value?e=await s.update(I.value,n):e=await s.create(n),e?(h.success(p.value?"更新成功":"创建成功"),_.value=!1):h.error(p.value?"更新失败":"创建失败")}finally{K.value=!1}}async function T(n){try{await le.confirm(`确定要删除知识 "${n.title}" 吗?`,"删除确认",{type:"warning"}),await s.remove(n.id)?h.success("删除成功"):h.error("删除失败")}catch{}}return ee(()=>{s.loadKnowledge()}),(n,e)=>{const j=u("Search"),B=u("el-icon"),S=u("el-input"),C=u("el-button"),A=u("Plus"),G=u("el-skeleton"),q=u("el-tag"),H=u("View"),L=u("Document"),Q=u("el-card"),W=u("el-empty"),Y=u("el-option"),Z=u("el-select"),U=u("el-form-item"),J=u("el-form"),O=u("el-dialog");return c(),k("div",ie,[e[11]||(e[11]=d("div",{class:"page-title"},"知识库管理",-1)),e[12]||(e[12]=d("div",{class:"page-desc"},"FAQ手动维护 + 命中统计。分类管理、标签管理、搜索功能。",-1)),d("div",de,[l(S,{modelValue:w.value,"onUpdate:modelValue":e[0]||(e[0]=t=>w.value=t),placeholder:"搜索问题标题或答案内容...",clearable:"",style:{width:"300px"},onKeyup:te($,["enter"])},{prefix:o(()=>[l(B,null,{default:o(()=>[l(j)]),_:1})]),_:1},8,["modelValue"]),d("div",ce,[(c(),k(D,null,E(b,t=>l(C,{key:t,type:z(s).activeCategory===t?"primary":"default",size:"small",onClick:x=>P(t)},{default:o(()=>[g(v(t)+" ("+v(V(t))
|