import{A as e,Bt as t,D as n,F as r,I as i,O as a,P as o,Q as s,S as c,Tt as l,Y as u,_t as d,et as f,j as p,k as m,lt as h,n as g,r as _,t as v,tt as y,vt as b}from"./client-Bk7n1O1W.js";import{a as x}from"./config-provider-CxhqvDI_.js";import{t as S}from"./auth-D6Tj4g1X.js";import{n as C,t as ee}from"./DeleteOutlined-CRNedxr9.js";import{t as te}from"./PlusOutlined-CosM7zFe.js";import{t as w}from"./EditOutlined-BIUW-zYI.js";import{t as T}from"./BookOutlined-Canuw-q-.js";import{t as E}from"./HistoryOutlined-ABEqcIfz.js";var D={class:`page-shell`},O={class:`page-heading`},k={key:0,class:`knowledge-grid`},A={class:`card-icon`},ne={class:`standard-copy`},j={key:0,class:`copy-note forbidden`},M={key:1,class:`copy-note risk`},N={class:`card-actions`},P={class:`version-list`},F={class:`version-head`},I={key:0,class:`history-note`},L={key:1,class:`history-note`},R=_(i({__name:`KnowledgeView`,setup(i){let _=b(!1),R=b(!1),z=b(!1),B=b(!1),V=b(null),H=b(null),U=b([]),W=b([]),G=b([]),K=S(),q=d({scenario_id:void 0,title:``,content:``,forbidden:``,risk_note:``}),J=n(()=>G.value.map(e=>({value:e.id,label:e.name}))),Y=n(()=>V.value?`编辑知识卡`:`新建知识卡`);async function X(){_.value=!0;try{let[e,t]=await Promise.all([v.get(`/knowledge-cards`),v.get(`/scenarios`)]);U.value=e.items||[],G.value=t.items||[]}catch(e){x.error(g(e))}finally{_.value=!1}}function Z(){V.value=null,Object.assign(q,{scenario_id:void 0,title:``,content:``,forbidden:``,risk_note:``})}function re(){Z(),z.value=!0}function ie(e){V.value=e.id,Object.assign(q,{scenario_id:e.scenario_id,title:e.title,content:Q(e,`standard_copy`),forbidden:Q(e,`forbidden_copy`),risk_note:Q(e,`risk_note`)}),z.value=!0}async function ae(){R.value=!0;let e={standard_copy:q.content,forbidden_copy:q.forbidden,risk_note:q.risk_note};try{V.value?await v.put(`/knowledge-cards/${V.value}`,{title:q.title,content:e}):await v.post(`/knowledge-cards`,{scenario_id:q.scenario_id,title:q.title,content:e}),x.success(V.value?`知识卡新版本已发布`:`知识卡已发布`),z.value=!1,Z(),await X()}catch(e){x.error(g(e))}finally{R.value=!1}}async function oe(e){H.value=e;try{let t=await v.get(`/knowledge-cards/${e.id}/versions`);W.value=t.items||[],B.value=!0}catch(e){x.error(g(e))}}function se(e){C.confirm({title:`归档“${e.title}”?`,content:`已发布或历史 SOP 版本引用的知识卡不能归档。`,okText:`归档知识卡`,okType:`danger`,async onOk(){try{await v.delete(`/knowledge-cards/${e.id}`),x.success(`知识卡已归档`),await X()}catch(e){x.error(g(e))}}})}function Q(e,t){return String(e.content?.[t]||``)}return u(X),(n,i)=>{let u=y(`a-button`),d=y(`a-tag`),g=y(`a-tooltip`),v=y(`a-empty`),b=y(`a-spin`),x=y(`a-select`),S=y(`a-form-item`),C=y(`a-input`),X=y(`a-textarea`),ce=y(`a-form`),$=y(`a-drawer`);return s(),p(`div`,D,[a(`div`,O,[i[8]||=a(`div`,null,[a(`h1`,null,`知识卡`),a(`p`,null,`沉淀经过审核的标准表达、禁用语和风险提醒。`)],-1),l(K).can(`knowledge.edit`)?(s(),m(u,{key:0,type:`primary`,onClick:re},{default:h(()=>[r(l(te)),i[7]||=o(`新建知识卡`,-1)]),_:1})):e(``,!0)]),r(b,{spinning:_.value},{default:h(()=>[U.value.length?(s(),p(`div`,k,[(s(!0),p(c,null,f(U.value,n=>(s(),p(`article`,{key:n.id,class:`knowledge-card surface`},[a(`header`,null,[a(`span`,A,[r(l(T))]),a(`div`,null,[r(d,{color:`green`},{default:h(()=>[...i[9]||=[o(`已发布`,-1)]]),_:1}),r(d,null,{default:h(()=>[o(`V`+t(n.version||1),1)]),_:2},1024)])]),a(`h2`,null,t(n.title),1),a(`p`,ne,t(Q(n,`standard_copy`)||`暂无标准话术`),1),Q(n,`forbidden_copy`)?(s(),p(`div`,j,[i[10]||=a(`b`,null,`禁用表达`,-1),a(`span`,null,t(Q(n,`forbidden_copy`)),1)])):e(``,!0),Q(n,`risk_note`)?(s(),p(`div`,M,[i[11]||=a(`b`,null,`风险提醒`,-1),a(`span`,null,t(Q(n,`risk_note`)),1)])):e(``,!0),a(`footer`,null,[a(`span`,null,t(G.value.find(e=>e.id===n.scenario_id)?.name||`未分类场景`),1),a(`div`,N,[r(g,{title:`版本历史`},{default:h(()=>[r(u,{type:`text`,"aria-label":`查看版本历史`,onClick:e=>oe(n)},{default:h(()=>[r(l(E))]),_:1},8,[`onClick`])]),_:2},1024),l(K).can(`knowledge.edit`)?(s(),m(g,{key:0,title:`编辑知识卡`},{default:h(()=>[r(u,{type:`text`,"aria-label":`编辑知识卡`,onClick:e=>ie(n)},{default:h(()=>[r(l(w))]),_:1},8,[`onClick`])]),_:2},1024)):e(``,!0),l(K).can(`knowledge.edit`)?(s(),m(g,{key:1,title:`归档知识卡`},{default:h(()=>[r(u,{type:`text`,danger:``,"aria-label":`归档知识卡`,onClick:e=>se(n)},{default:h(()=>[r(l(ee))]),_:1},8,[`onClick`])]),_:2},1024)):e(``,!0)])])]))),128))])):(s(),m(v,{key:1,description:`还没有知识卡`}))]),_:1},8,[`spinning`]),l(K).can(`knowledge.edit`)?(s(),m($,{key:0,open:z.value,"onUpdate:open":i[5]||=e=>z.value=e,title:Y.value,width:`520`,onClose:Z},{default:h(()=>[r(ce,{layout:`vertical`,model:q,onFinish:ae},{default:h(()=>[r(S,{label:`所属场景`,name:`scenario_id`,rules:[{required:!0,message:`请选择场景`}]},{default:h(()=>[r(x,{value:q.scenario_id,"onUpdate:value":i[0]||=e=>q.scenario_id=e,disabled:!!V.value,options:J.value},null,8,[`value`,`disabled`,`options`])]),_:1}),r(S,{label:`标题`,name:`title`,rules:[{required:!0,message:`请输入标题`}]},{default:h(()=>[r(C,{value:q.title,"onUpdate:value":i[1]||=e=>q.title=e},null,8,[`value`])]),_:1}),r(S,{label:`标准话术`,name:`content`,rules:[{required:!0,message:`请输入标准话术`}]},{default:h(()=>[r(X,{value:q.content,"onUpdate:value":i[2]||=e=>q.content=e,rows:5},null,8,[`value`])]),_:1}),r(S,{label:`禁用表达`},{default:h(()=>[r(X,{value:q.forbidden,"onUpdate:value":i[3]||=e=>q.forbidden=e,rows:3},null,8,[`value`])]),_:1}),r(S,{label:`风险提醒`},{default:h(()=>[r(X,{value:q.risk_note,"onUpdate:value":i[4]||=e=>q.risk_note=e,rows:3},null,8,[`value`])]),_:1}),r(u,{type:`primary`,"html-type":`submit`,block:``,loading:R.value},{default:h(()=>[o(t(V.value?`发布新版本`:`发布知识卡`),1)]),_:1},8,[`loading`])]),_:1},8,[`model`])]),_:1},8,[`open`,`title`])):e(``,!0),r($,{open:B.value,"onUpdate:open":i[6]||=e=>B.value=e,title:`${H.value?.title||`知识卡`} · 版本历史`,width:`560`},{default:h(()=>[a(`div`,P,[(s(!0),p(c,null,f(W.value,n=>(s(),p(`section`,{key:n.id,class:`version-row`},[a(`div`,F,[a(`b`,null,`V`+t(n.version),1),r(d,{color:n.status===`published`?`green`:`default`},{default:h(()=>[o(t(n.status===`published`?`当前版本`:`历史版本`),1)]),_:2},1032,[`color`]),a(`time`,null,t(new Date(n.created_at).toLocaleString(`zh-CN`)),1)]),a(`p`,null,t(Q(n,`standard_copy`)),1),Q(n,`forbidden_copy`)?(s(),p(`div`,I,[i[12]||=a(`b`,null,`禁用表达`,-1),o(t(Q(n,`forbidden_copy`)),1)])):e(``,!0),Q(n,`risk_note`)?(s(),p(`div`,L,[i[13]||=a(`b`,null,`风险提醒`,-1),o(t(Q(n,`risk_note`)),1)])):e(``,!0)]))),128))])]),_:1},8,[`open`,`title`])])}}}),[[`__scopeId`,`data-v-eaece4e4`]]);export{R as default};