1 line
6.1 KiB
JavaScript
1 line
6.1 KiB
JavaScript
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,a as d,j as f,k as p,lt as m,n as h,r as g,t as _,tt as v,vt as y}from"./client-Bk7n1O1W.js";import{a as b,sn as x}from"./config-provider-B-t02-Z0.js";import{t as S}from"./auth-D6Tj4g1X.js";import{n as C,t as w}from"./ReloadOutlined-Cih9hKpY.js";import{t as T}from"./PlayCircleOutlined-DjeS67m_.js";import{h as E}from"./useApi-CROJJdhE-C8LJOf_8.js";var D={icon:{tag:`svg`,attrs:{viewBox:`64 64 896 896`,focusable:`false`},children:[{tag:`path`,attrs:{d:`M880.1 154H143.9c-24.5 0-39.8 26.7-27.5 48L349 597.4V838c0 17.7 14.2 32 31.8 32h262.4c17.6 0 31.8-14.3 31.8-32V597.4L907.7 202c12.2-21.3-3.1-48-27.6-48zM603.4 798H420.6V642h182.9v156zm9.6-236.6l-9.5 16.6h-183l-9.5-16.6L212.7 226h598.6L613 561.4z`}}]},name:`filter`,theme:`outlined`};function O(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){k(e,t,n[t])})}return e}function k(e,t,n){return t in e?Object.defineProperty(e,t,{value:n,enumerable:!0,configurable:!0,writable:!0}):e[t]=n,e}var A=function(e,t){var r=O({},e,t.attrs);return n(d,O({},r,{icon:D}),null)};A.displayName=`FilterOutlined`,A.inheritAttrs=!1;var j={class:`page-shell`},M={class:`surface`},N={class:`history-toolbar`},P={class:`filter-set`},F={key:0},I={key:1,class:`run-sop`},L=g(r({__name:`RunHistoryView`,setup(r){let d=E(),g=S(),D=y(!1),O=y([]),k=y(0),L=y(1),R=y(20),z=u({status:``,result:``,sop_id:void 0,operator_id:void 0}),B=y([]),V=u({sops:[],operators:[]}),H=[{title:`执行编号`,dataIndex:`id`,width:130},{title:`SOP / 场景`,key:`sop`,width:260},{title:`执行人`,dataIndex:`operator_name`,width:130},{title:`状态`,dataIndex:`status`,width:100},{title:`结果`,dataIndex:`result`,width:130},{title:`开始时间`,dataIndex:`started_at`,width:180},{title:`完成时间`,dataIndex:`completed_at`,width:180},{title:``,key:`action`,width:54}];function U(){return{page:L.value,page_size:R.value,status:z.status||void 0,result:z.result||void 0,sop_id:z.sop_id,operator_id:z.operator_id,started_from:B.value?.[0]?.startOf(`day`).toISOString(),started_to:B.value?.[1]?.endOf(`day`).toISOString()}}async function W(e=!1){e&&(L.value=1),D.value=!0;try{let e=await _.get(`/runs`,{params:U()});O.value=e.items||[],k.value=e.total}catch(e){b.error(h(e))}finally{D.value=!1}}async function G(){try{let e=await _.get(`/runs/options`);V.sops=e.sops||[],V.operators=e.operators||[]}catch(e){b.error(h(e))}}function K(){Object.assign(z,{status:``,result:``,sop_id:void 0,operator_id:void 0}),B.value=[],W(!0)}function q(e){return e===`completed`?`已完成`:`进行中`}function J(e){return{finish:`正常结束`,escalate:`转人工 / 转诊`,manual:`人工结束`}[e]||e||`-`}function Y(e,t){L.value=e,R.value=t,W()}function X(e){return{onClick:()=>d.push(`/runs/${e.id}`)}}function Z(e){return e.status===`running`&&g.can(`sop.execute`)&&(e.operator_id===g.user?.user_id||g.can(`*`))}function Q(e){d.push({path:`/execute`,query:{run:String(e.id)}})}function $(e){Y(e.current||1,e.pageSize||20)}return l(()=>{W(),G()}),(r,l)=>{let u=v(`a-select`),d=v(`a-range-picker`),h=v(`a-button`),g=v(`a-tag`),_=v(`a-tooltip`),y=v(`a-table`);return o(),f(`div`,j,[l[13]||=i(`div`,{class:`page-heading`},[i(`div`,null,[i(`h1`,null,`执行记录`),i(`p`,null,`按结果筛选实际执行,进入详情复盘每一步回答和分流。`)])],-1),i(`section`,M,[i(`div`,N,[i(`div`,P,[n(c(A)),n(u,{value:z.status,"onUpdate:value":l[0]||=e=>z.status=e,"allow-clear":``,placeholder:`全部状态`,options:[{value:`running`,label:`进行中`},{value:`completed`,label:`已完成`}],onChange:l[1]||=e=>W(!0)},null,8,[`value`]),n(u,{value:z.result,"onUpdate:value":l[2]||=e=>z.result=e,"allow-clear":``,placeholder:`全部结果`,options:[{value:`finish`,label:`正常结束`},{value:`escalate`,label:`转人工 / 转诊`},{value:`manual`,label:`人工结束`}],onChange:l[3]||=e=>W(!0)},null,8,[`value`]),n(u,{value:z.sop_id,"onUpdate:value":l[4]||=e=>z.sop_id=e,"allow-clear":``,"show-search":``,"option-filter-prop":`label`,placeholder:`全部 SOP`,options:V.sops,onChange:l[5]||=e=>W(!0)},null,8,[`value`,`options`]),n(u,{value:z.operator_id,"onUpdate:value":l[6]||=e=>z.operator_id=e,"allow-clear":``,"show-search":``,"option-filter-prop":`label`,placeholder:`全部执行人`,options:V.operators,onChange:l[7]||=e=>W(!0)},null,8,[`value`,`options`]),n(d,{value:B.value,"onUpdate:value":l[8]||=e=>B.value=e,"allow-clear":!0,onChange:l[9]||=e=>W(!0)},null,8,[`value`]),n(h,{type:`link`,onClick:K},{default:m(()=>[...l[11]||=[a(`重置`,-1)]]),_:1})]),n(h,{type:`text`,"aria-label":`刷新执行记录`,onClick:l[10]||=e=>W()},{default:m(()=>[n(c(w))]),_:1})]),n(y,{"row-key":`id`,loading:D.value,"data-source":O.value,columns:H,pagination:{current:L.value,pageSize:R.value,total:k.value,showSizeChanger:!0,showTotal:e=>`共 ${e} 条`},scroll:{x:980},"custom-row":X,onChange:$},{bodyCell:m(({column:r,record:l})=>[r.dataIndex===`id`?(o(),f(`code`,F,`RUN-`+t(String(l.id).padStart(5,`0`)),1)):r.key===`sop`?(o(),f(`div`,I,[i(`b`,null,t(l.sop_name),1),i(`small`,null,t(l.scenario_name),1)])):r.dataIndex===`status`?(o(),p(g,{key:2,color:l.status===`completed`?`green`:`orange`},{default:m(()=>[a(t(q(l.status)),1)]),_:2},1032,[`color`])):r.dataIndex===`result`?(o(),f(s,{key:3},[a(t(J(l.result)),1)],64)):r.dataIndex===`started_at`||r.dataIndex===`completed_at`?(o(),f(s,{key:4},[a(t(l[r.dataIndex]?new Date(l[r.dataIndex]).toLocaleString(`zh-CN`):`-`),1)],64)):r.key===`action`?(o(),f(s,{key:5},[Z(l)?(o(),p(_,{key:0,title:`继续执行`},{default:m(()=>[n(h,{type:`text`,"aria-label":`继续执行`,onClick:x(e=>Q(l),[`stop`])},{default:m(()=>[n(c(T))]),_:1},8,[`onClick`])]),_:2},1024)):(o(),p(c(C),{key:1,class:`row-arrow`}))],64)):e(``,!0)]),emptyText:m(()=>[...l[12]||=[i(`div`,{class:`empty-copy`},`当前筛选条件下没有执行记录。`,-1)]]),_:1},8,[`loading`,`data-source`,`pagination`])])])}}}),[[`__scopeId`,`data-v-d1bbd21f`]]);export{L as default}; |