Files
iqudo-top1/web/dist/assets/ExecuteView-DQwv99Fb.js
2026-08-06 21:52:03 +08:00

1 line
7.1 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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,a as f,et as p,i as m,j as h,k as g,lt as _,n as v,r as y,t as b,tt as x,vt as S,zt as C}from"./client-CO11mUW5.js";import{a as w}from"./config-provider-kwhtQ-D4.js";import{t as T}from"./PlayCircleOutlined-C2UGH7h6.js";var E={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M866.9 169.9L527.1 54.1C523 52.7 517.5 52 512 52s-11 .7-15.1 2.1L157.1 169.9c-8.3 2.8-15.1 12.4-15.1 21.2v482.4c0 8.8 5.7 20.4 12.6 25.9L499.3 968c3.5 2.7 8 4.1 12.6 4.1s9.2-1.4 12.6-4.1l344.7-268.6c6.9-5.4 12.6-17 12.6-25.9V191.1c.2-8.8-6.6-18.3-14.9-21.2zM810 654.3L512 886.5 214 654.3V226.7l298-101.6 298 101.6v427.6zm-405.8-201c-3-4.1-7.8-6.6-13-6.6H336c-6.5 0-10.3 7.4-6.5 12.7l126.4 174a16.1 16.1 0 0026 0l212.6-292.7c3.8-5.3 0-12.7-6.5-12.7h-55.2c-5.1 0-10 2.5-13 6.6L468.9 542.4l-64.7-89.1z`}}]},name:`safety-certificate`,theme:`outlined`};function D(e){for(var t=1;t<arguments.length;t++){var n=arguments[t]==null?{}:Object(arguments[t]),r=Object.keys(n);typeof Object.getOwnPropertySymbols==`function`&&(r=r.concat(Object.getOwnPropertySymbols(n).filter(function(e){return Object.getOwnPropertyDescriptor(n,e).enumerable}))),r.forEach(function(t){O(e,t,n[t])})}return e}function O(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var k=function(e,t){var n=D({},e,t.attrs);return r(f,D({},n,{icon:E}),null)};k.displayName=`SafetyCertificateOutlined`,k.inheritAttrs=!1;var A={class:`page-shell execution-shell`},ee={key:0,class:`sop-catalog`},te=[`onClick`],ne={class:`entry-seq`},j={class:`play`},M={key:1,class:`run-workspace`},N={class:`run-context`},P={class:`run-label`},F={class:`context-meta`},I={class:`context-meta`},L={class:`privacy-note`},R={class:`conversation surface`},z={class:`conversation-progress`},B={class:`node-content`},V={key:0},H={key:0,class:`completed-state`},U={class:`run-actions`},W=y(i({__name:`ExecuteView`,setup(i){let f=S(!0),y=S([]),E=S(null),D=d({}),O=S(!1),W=n(()=>E.value?.node.config||{}),G=n(()=>{if(!E.value)return[];let e=E.value.node;return e.type===`question`||e.type===`choice`?E.value.fields.filter(e=>e.field_key===W.value.field_key):e.type===`form`?E.value.fields.filter(e=>(W.value.field_keys||[]).includes(e.field_key)):[]});async function K(){f.value=!0;try{y.value=(await b.get(`/published-sops`)).items}catch(e){w.error(v(e))}finally{f.value=!1}}async function q(e){try{E.value=await b.post(`/runs`,{sop_id:e}),Object.keys(D).forEach(e=>delete D[e])}catch(e){w.error(v(e))}}async function J(){if(E.value){O.value=!0;try{E.value=await b.post(`/runs/${E.value.run.id}/answer`,{answers:{...D}}),Object.keys(D).forEach(e=>delete D[e])}catch(e){w.error(v(e))}finally{O.value=!1}}}function Y(e){return e.field_type}function X(){E.value=null,K()}return u(K),(n,i)=>{let u=x(`a-empty`),d=x(`a-button`),v=x(`a-input`),b=x(`a-textarea`),S=x(`a-input-number`),w=x(`a-radio`),K=x(`a-radio-group`),Z=x(`a-select`),Q=x(`a-date-picker`),$=x(`a-form-item`),re=x(`a-radio-button`),ie=x(`a-form`),ae=x(`a-spin`);return s(),h(`div`,A,[i[10]||=a(`div`,{class:`page-heading`},[a(`div`,null,[a(`h1`,null,`执行话术`),a(`p`,null,`选择已发布 SOP系统会根据客户回答给出下一步。`)])],-1),r(ae,{spinning:f.value},{default:_(()=>[E.value?(s(),h(`div`,M,[a(`aside`,N,[a(`span`,P,`RUN-`+t(String(E.value.run.id).padStart(5,`0`)),1),i[4]||=a(`h2`,null,`执行进行中`,-1),i[5]||=a(`p`,null,`客户回答会自动保存在当前执行记录中。`,-1),a(`div`,F,[i[1]||=a(`span`,null,`当前节点`,-1),a(`b`,null,t(E.value.node.title),1)]),a(`div`,I,[i[2]||=a(`span`,null,`已采集字段`,-1),a(`b`,null,t(Object.keys(E.value.run.answers||{}).length),1)]),a(`div`,L,[r(l(k)),i[3]||=a(`span`,null,`敏感信息请遵循企业数据规范`,-1)])]),a(`main`,R,[a(`div`,z,[a(`span`,{class:C({done:E.value.run.status===`completed`})},null,2),a(`b`,null,t(E.value.run.status===`completed`?`流程已完成`:`正在执行`),1)]),a(`div`,B,[a(`small`,null,t(E.value.node.type.toUpperCase()),1),a(`h1`,null,t(E.value.node.title),1),E.value.node.content?(s(),h(`blockquote`,V,t(E.value.node.content),1)):e(``,!0)]),E.value.run.status===`completed`?(s(),h(`div`,H,[r(l(m)),a(`h3`,null,t(E.value.node.type===`escalate`?`已转交处理`:`本次执行已完成`),1),a(`p`,null,t(E.value.node.content),1),r(d,{type:`primary`,onClick:X},{default:_(()=>[...i[6]||=[o(`执行另一套 SOP`,-1)]]),_:1})])):(s(),h(c,{key:1},[r(ie,{layout:`vertical`,class:`answer-form`},{default:_(()=>[(s(!0),h(c,null,p(G.value,e=>(s(),g($,{key:e.id,label:e.field_name,required:e.required},{default:_(()=>[Y(e)===`text`?(s(),g(v,{key:0,value:D[e.field_key],"onUpdate:value":t=>D[e.field_key]=t},null,8,[`value`,`onUpdate:value`])):Y(e)===`textarea`?(s(),g(b,{key:1,value:D[e.field_key],"onUpdate:value":t=>D[e.field_key]=t,rows:3},null,8,[`value`,`onUpdate:value`])):Y(e)===`number`?(s(),g(S,{key:2,value:D[e.field_key],"onUpdate:value":t=>D[e.field_key]=t,style:{width:`100%`}},null,8,[`value`,`onUpdate:value`])):Y(e)===`boolean`?(s(),g(K,{key:3,value:D[e.field_key],"onUpdate:value":t=>D[e.field_key]=t},{default:_(()=>[r(w,{value:!0},{default:_(()=>[...i[7]||=[o(``,-1)]]),_:1}),r(w,{value:!1},{default:_(()=>[...i[8]||=[o(``,-1)]]),_:1})]),_:1},8,[`value`,`onUpdate:value`])):Y(e)===`select`?(s(),g(Z,{key:4,value:D[e.field_key],"onUpdate:value":t=>D[e.field_key]=t,options:(e.options||[]).map(e=>({value:e,label:e}))},null,8,[`value`,`onUpdate:value`,`options`])):Y(e)===`multiselect`?(s(),g(Z,{key:5,value:D[e.field_key],"onUpdate:value":t=>D[e.field_key]=t,mode:`multiple`,options:(e.options||[]).map(e=>({value:e,label:e}))},null,8,[`value`,`onUpdate:value`,`options`])):Y(e)===`date`?(s(),g(Q,{key:6,value:D[e.field_key],"onUpdate:value":t=>D[e.field_key]=t,style:{width:`100%`}},null,8,[`value`,`onUpdate:value`])):(s(),g(v,{key:7,value:D[e.field_key],"onUpdate:value":t=>D[e.field_key]=t},null,8,[`value`,`onUpdate:value`]))]),_:2},1032,[`label`,`required`]))),128)),E.value.node.type===`choice`&&G.value.length===0?(s(),g($,{key:0},{default:_(()=>[r(K,{value:D[W.value.field_key],"onUpdate:value":i[0]||=e=>D[W.value.field_key]=e,class:`choice-group`},{default:_(()=>[(s(!0),h(c,null,p(W.value.options||[],e=>(s(),g(re,{key:e,value:e},{default:_(()=>[o(t(e),1)]),_:2},1032,[`value`]))),128))]),_:1},8,[`value`])]),_:1})):e(``,!0)]),_:1}),a(`div`,U,[a(`span`,null,t(G.value.length?`填写后继续下一步`:`确认当前话术已完成`),1),r(d,{type:`primary`,size:`large`,loading:O.value,onClick:J},{default:_(()=>[...i[9]||=[o(`继续下一步`,-1)]]),_:1},8,[`loading`])])],64))])])):(s(),h(`div`,ee,[(s(!0),h(c,null,p(y.value,e=>(s(),h(`button`,{key:e.id,class:`sop-entry surface`,onClick:t=>q(e.id)},[a(`span`,ne,t(String(e.id).padStart(2,`0`)),1),a(`div`,null,[a(`small`,null,t(e.scenario_name)+` · V`+t(e.version),1),a(`h2`,null,t(e.name),1),a(`p`,null,t(e.description||`按标准步骤执行这套话术流程。`),1)]),a(`span`,j,[r(l(T))])],8,te))),128)),y.value.length?e(``,!0):(s(),g(u,{key:0,description:`还没有已发布的 SOP`}))]))]),_:1},8,[`spinning`])])}}}),[[`__scopeId`,`data-v-d94f7da9`]]);export{W as default};