chore: make codes the repository root

This commit is contained in:
Eric 1549169735@qq.com
2026-08-06 21:52:03 +08:00
parent de5345607a
commit 23c9f52869
89 changed files with 21 additions and 513 deletions

View File

@@ -0,0 +1 @@
import{A as e,Bt as t,F as n,I as r,O as i,P as a,Q as o,S as s,Tt as c,Y as l,_t as u,j as d,k as f,lt as p,n as m,r as h,t as g,tt as _,vt as v}from"./client-CO11mUW5.js";import{a as y}from"./config-provider-kwhtQ-D4.js";import{t as b}from"./SearchOutlined-DRcWUFRC.js";import{t as x}from"./PlusOutlined-5Urx-Evx.js";import{h as S}from"./useApi-CROJJdhE-BlzMTLF9.js";var C={class:`page-shell`},w={class:`page-heading`},T={class:`surface`},E={class:`toolbar`},D={class:`muted`},O={key:0,class:`scenario-name`},k={class:`form-grid`},A=h(r({__name:`ScenariosView`,setup(r){let h=S(),A=v(!1),j=v(!1),M=v(``),N=v([]),P=u({name:``,industry:``,role_name:``,goal:``,trigger_text:``,visibility:`tenant`}),F=[{title:`场景名称`,dataIndex:`name`,key:`name`},{title:`行业`,dataIndex:`industry`,key:`industry`,width:140},{title:`适用角色`,dataIndex:`role_name`,key:`role_name`,width:160},{title:`状态`,dataIndex:`status`,key:`status`,width:110},{title:`更新时间`,dataIndex:`updated_at`,key:`updated_at`,width:180},{title:``,key:`action`,width:80}];async function I(){A.value=!0;try{N.value=(await g.get(`/scenarios`,{params:{keyword:M.value}})).items}finally{A.value=!1}}async function L(){try{let e=await g.post(`/scenarios`,P);y.success(`场景已创建`),j.value=!1,h.push(`/scenarios/${e.id}`)}catch(e){y.error(m(e))}}function R(e){return{draft:`草稿`,active:`使用中`,archived:`已归档`}[e]||e}return l(I),(r,l)=>{let u=_(`a-button`),m=_(`a-input`),g=_(`a-tag`),v=_(`a-table`),y=_(`a-form-item`),S=_(`a-textarea`),z=_(`a-radio`),B=_(`a-radio-group`),V=_(`a-form`),H=_(`a-drawer`);return o(),d(`div`,C,[i(`div`,w,[l[10]||=i(`div`,null,[i(`h1`,null,`场景与 SOP`),i(`p`,null,`从业务触发点开始,定义信息字段与可执行话术流程。`)],-1),n(u,{type:`primary`,onClick:l[0]||=e=>j.value=!0},{default:p(()=>[n(c(x)),l[9]||=a(`新建场景`,-1)]),_:1})]),i(`section`,T,[i(`div`,E,[n(m,{value:M.value,"onUpdate:value":l[1]||=e=>M.value=e,"allow-clear":``,placeholder:`搜索名称或行业`,style:{width:`280px`},onPressEnter:I},{prefix:p(()=>[n(c(b))]),_:1},8,[`value`]),i(`span`,D,``+t(N.value.length)+` 个场景`,1)]),n(v,{columns:F,"data-source":N.value,loading:A.value,"row-key":`id`,pagination:!1,scroll:{x:800},"custom-row":e=>({onClick:()=>c(h).push(`/scenarios/${e.id}`)})},{bodyCell:p(({column:n,record:r})=>[n.key===`name`?(o(),d(`div`,O,[i(`b`,null,t(r.name),1),i(`small`,null,t(r.goal),1)])):n.key===`status`?(o(),f(g,{key:1,color:r.status===`active`?`green`:`default`},{default:p(()=>[a(t(R(r.status)),1)]),_:2},1032,[`color`])):n.key===`updated_at`?(o(),d(s,{key:2},[a(t(new Date(r.updated_at).toLocaleString(`zh-CN`)),1)],64)):n.key===`action`?(o(),f(u,{key:3,type:`link`,size:`small`},{default:p(()=>[...l[11]||=[a(`配置`,-1)]]),_:1})):e(``,!0)]),emptyText:p(()=>[...l[12]||=[i(`div`,{class:`empty-copy`},`还没有业务场景。创建第一个场景后,就可以配置字段和 SOP。`,-1)]]),_:1},8,[`data-source`,`loading`,`custom-row`])]),n(H,{open:j.value,"onUpdate:open":l[8]||=e=>j.value=e,title:`创建业务场景`,width:`520`,"destroy-on-close":!0},{default:p(()=>[n(V,{layout:`vertical`,model:P},{default:p(()=>[n(y,{label:`场景名称`,name:`name`,rules:[{required:!0,message:`请输入场景名称`}]},{default:p(()=>[n(m,{value:P.name,"onUpdate:value":l[2]||=e=>P.name=e,placeholder:`例如:宠物医生问诊问药`},null,8,[`value`])]),_:1}),i(`div`,k,[n(y,{label:`所属行业`,name:`industry`,rules:[{required:!0,message:`请输入行业`}]},{default:p(()=>[n(m,{value:P.industry,"onUpdate:value":l[3]||=e=>P.industry=e,placeholder:`宠物医疗`},null,8,[`value`])]),_:1}),n(y,{label:`适用角色`,name:`role_name`,rules:[{required:!0,message:`请输入角色`}]},{default:p(()=>[n(m,{value:P.role_name,"onUpdate:value":l[4]||=e=>P.role_name=e,placeholder:`医生、客服`},null,8,[`value`])]),_:1})]),n(y,{label:`执行目标`,name:`goal`,rules:[{required:!0,message:`请输入执行目标`}]},{default:p(()=>[n(S,{value:P.goal,"onUpdate:value":l[5]||=e=>P.goal=e,rows:3,placeholder:`这个场景最终要推动什么结果`},null,8,[`value`])]),_:1}),n(y,{label:`触发条件`,name:`trigger_text`,rules:[{required:!0,message:`请输入触发条件`}]},{default:p(()=>[n(S,{value:P.trigger_text,"onUpdate:value":l[6]||=e=>P.trigger_text=e,rows:3,placeholder:`什么时候进入这个场景`},null,8,[`value`])]),_:1}),n(y,{label:`可见范围`},{default:p(()=>[n(B,{value:P.visibility,"onUpdate:value":l[7]||=e=>P.visibility=e},{default:p(()=>[n(z,{value:`tenant`},{default:p(()=>[...l[13]||=[a(`全企业`,-1)]]),_:1}),n(z,{value:`team`},{default:p(()=>[...l[14]||=[a(`团队`,-1)]]),_:1}),n(z,{value:`private`},{default:p(()=>[...l[15]||=[a(`仅自己`,-1)]]),_:1})]),_:1},8,[`value`])]),_:1}),n(u,{type:`primary`,block:``,onClick:L},{default:p(()=>[...l[16]||=[a(`创建并继续配置`,-1)]]),_:1})]),_:1},8,[`model`])]),_:1},8,[`open`])])}}}),[[`__scopeId`,`data-v-3965a2e5`]]);export{A as default};