import{Z as W,r as f,T as F,d as X,o as ee,b as c,c as k,e as d,f as l,w as o,q as te,U as D,V as E,k as z,i as N,j as u,n as g,t as v,E as h,Y as le}from"./index-BYp6OBwf.js";import{F as oe,G as ae,H as ne,I as se}from"./admin-QG1MRyaa.js";import{_ as re}from"./_plugin-vue_export-helper-DlAUqK2U.js";import"./index-CMW9Tl_L.js";const ue=W("knowledge",()=>{const y=f([]),s=f("全部"),b=f(""),w=f(!1),$=F(()=>s.value==="全部"?y.value:y.value.filter(r=>r.category===s.value)),q=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:q,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 q(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"),P=u("el-tag"),H=u("View"),L=u("Document"),Q=u("el-card"),Y=u("el-empty"),Z=u("el-option"),J=u("el-select"),U=u("el-form-item"),O=u("el-form"),R=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=>q(t)},{default:o(()=>[g(v(t)+" ("+v(V(t))+") ",1)]),_:2},1032,["type","onClick"])),64))]),l(C,{type:"primary",onClick:r},{default:o(()=>[l(B,null,{default:o(()=>[l(A)]),_:1}),e[7]||(e[7]=g(" 新增知识 ",-1))]),_:1})]),z(s).loading?(c(),k("div",ge,[l(G,{rows:5,animated:""})])):z(s).filteredItems.length>0?(c(),k("div",fe,[(c(!0),k(D,null,E(z(s).filteredItems,t=>(c(),N(Q,{key:t.id,class:"knowledge-card"},{header:o(()=>[d("div",pe,[d("div",ve,[l(P,{size:"small",type:"info"},{default:o(()=>[g(v(t.category),1)]),_:2},1024),d("span",_e,v(t.title),1)]),d("div",me,[l(C,{size:"small",onClick:x=>i(t)},{default:o(()=>[...e[8]||(e[8]=[g("编辑",-1)])]),_:1},8,["onClick"]),l(C,{size:"small",type:"danger",onClick:x=>T(t)},{default:o(()=>[...e[9]||(e[9]=[g("删除",-1)])]),_:1},8,["onClick"])])])]),footer:o(()=>[d("div",we,[(c(!0),k(D,null,E(t.tags,x=>(c(),N(P,{key:x,size:"small",class:"tag-item"},{default:o(()=>[g(v(x),1)]),_:2},1024))),128)),d("span",ke,[l(B,null,{default:o(()=>[l(H)]),_:1}),g(" "+v(t.view_count)+" ",1),l(B,null,{default:o(()=>[l(L)]),_:1}),g(" "+v(t.use_count),1)])])]),default:o(()=>[d("div",ye,[d("p",null,v(t.content),1)])]),_:2},1024))),128))])):(c(),N(Y,{key:2,description:"暂无知识库条目"})),l(R,{modelValue:_.value,"onUpdate:modelValue":e[6]||(e[6]=t=>_.value=t),title:p.value?"编辑知识":"新增知识",width:"600px","destroy-on-close":""},{footer:o(()=>[l(C,{onClick:e[5]||(e[5]=t=>_.value=!1)},{default:o(()=>[...e[10]||(e[10]=[g("取消",-1)])]),_:1}),l(C,{type:"primary",loading:K.value,onClick:M},{default:o(()=>[g(v(p.value?"保存":"创建"),1)]),_:1},8,["loading"])]),default:o(()=>[l(O,{model:a.value,"label-position":"top"},{default:o(()=>[l(U,{label:"分类",required:""},{default:o(()=>[l(J,{modelValue:a.value.category,"onUpdate:modelValue":e[1]||(e[1]=t=>a.value.category=t),placeholder:"请选择分类",style:{width:"100%"}},{default:o(()=>[(c(!0),k(D,null,E(b.slice(1),t=>(c(),N(Z,{key:t,label:t,value:t},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(U,{label:"问题标题",required:""},{default:o(()=>[l(S,{modelValue:a.value.title,"onUpdate:modelValue":e[2]||(e[2]=t=>a.value.title=t),placeholder:"请输入问题标题,如:VPN连接失败怎么办?",maxlength:"256","show-word-limit":""},null,8,["modelValue"])]),_:1}),l(U,{label:"答案内容",required:""},{default:o(()=>[l(S,{modelValue:a.value.content,"onUpdate:modelValue":e[3]||(e[3]=t=>a.value.content=t),type:"textarea",rows:6,placeholder:"请输入答案内容"},null,8,["modelValue"])]),_:1}),l(U,{label:"标签(用逗号分隔)"},{default:o(()=>[l(S,{modelValue:a.value.tagsInput,"onUpdate:modelValue":e[4]||(e[4]=t=>a.value.tagsInput=t),placeholder:"如:VPN, 网络, 连接(用逗号分隔)",onBlur:m},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])])}}}),Ie=re(Ve,[["__scopeId","data-v-8f2a47d4"]]);export{Ie as default};