2 lines
19 KiB
JavaScript
2 lines
19 KiB
JavaScript
|
|
import{p as U,q as pe,r as C,s as w,d as K,j as _,k as u,f as $,w as o,a as t,t as r,b as p,l as g,c as h,e as k,_ as Q,x as H,F as O,C as P,ad as ve,ae as fe,o as _e,B as me,af as ye,v as ge,i as we,h as ke,E as M,D as le,u as he}from"./index-BKZMRyW7.js";async function be(a){return await U.post("/itportal/automation/sessions",a)}async function $e(a){return await U.get("/itportal/automation/sessions",{params:a})}async function Se(a){return await U.get(`/itportal/automation/sessions/${a}`)}async function Ie(a,c){return await U.post(`/itportal/automation/sessions/${a}/approve`,c)}async function xe(a,c){return await U.post(`/itportal/automation/sessions/${a}/takeover`,c)}async function Te(a){return await U.get("/itportal/automation/sessions/paused",{params:{employee_id:a}})}async function Ce(a,c){return await U.post(`/itportal/automation/sessions/${a}/agent-resume`,c)}async function Ae(a,c){return await U.post(`/itportal/automation/sessions/${a}/agent-close`,c)}async function Ve(a){return await U.get(`/itportal/automation/sessions/${a}/info-items`)}function ie(){return localStorage.getItem("agent_token")||""}function ze(a){const c=ie(),d=window.location.protocol==="https:"?"wss:":"ws:",x=window.location.host;return`${d}//${x}/ws/automation/${a}?token=${encodeURIComponent(c)}`}const Be=pe("automation",()=>{const a=C([]),c=C(null),d=C(!1),x=C(null),s=C(null),l=C(!1),i=C([]),V=C([]),y=w(()=>a.value.filter(f=>["created","running","paused"].includes(f.status)));async function m(){d.value=!0;try{a.value=await $e()}finally{d.value=!1}}async function S(f){d.value=!0;try{c.value=await Se(f)}finally{d.value=!1}}async function z(f){const T=await be(f);return c.value=T,await m(),T}async function N(f,T,J){const D={decision:T,note:J};c.value=await Ie(f,D)}async function I(f,T,J){const D={agent_id:T,note:J};c.value=await xe(f,D)}async function W(f){i.value=await Te(f)}async function j(f,T){c.value=await Ce(f,{note:T})}async function B(f,T){c.value=await Ae(f,{note:T})}async function v(f){V.value=await Ve(f)}function b(f){E();const T=ze(f),J=ie(),D=new WebSocket(T,[`bearer.${J}`]);x.value=D,s.value=f,D.onopen=()=>{l.value=!0},D.onmessage=Y=>{try{const q=JSON.parse(Y.data);X(q)}catch(q){console.error("[automation WS] 消息解析失败",q)}},D.onclose=()=>{l.value=!1},D.onerror=()=>{l.value=!1}}function E(){x.value&&(x.value.close(),x.value=null),l.value=!1,s.value=null}function X(f){if(!(f.session_id&&s.value&&f.session_id!==s.value))switch(f.type){case"automation.progress":case"automation.action_required":case"automation.resolved":case"automation.takeover":case"automation.error":s.value&&S(s.value);break;case"automation.paused":s.value&&S(s.value);break;case"automation.resumed":s.value&&(S(s.value),v(s.value));break;case"automation.info_corrected":s.value&&v(s.value);break;case"automation.info_supplemented":s.value&&v(s.value);break;case"automation.timeout_closed":s.value&&S(s.value);break}}return{sessions:a,currentSession:c,loading:d,wsConnected:l,pendingSessions:y,pausedSessions:i,infoItems:V,fetchSessions:m,fetchSession:S,createSession:z,approve:N,takeover:I,fetchPausedSessions:W,agentResume:j,agentClose:B,fetchInfoItems:v,connectWs:b,disconnectWs:E}}),De={class:"card-header"},We={class:"title-row"},je={class:"action-title"},Ne={class:"action-desc"},Le={key:0,class:"action-type"},Re={key:0,class:"payload-block"},Ue={class:"payload-pre"},Me={key:1,class:"ticket-block"},Pe={class:"ticket-status"},Ee={class:"action-buttons"},Je=K({__name:"ActionApprovalCard",props:{action:{},ticket:{}},emits:["approve","reject"],setup(a,{emit:c}){const d=a,x=c,s=C(""),l=C(!1),i=w(()=>{switch(d.action.risk_level){case"read":return"只读";case"low":return"低风险";case"high":return"高危";default:return d.action.risk_level}}),V=w(()=>{switch(d.action.risk_level){case"read":return"info";case"low":return"success";case"high":return"danger";default:return"info"}}),y=w(()=>{if(!d.ticket)return"无";switch(d.ticket.status){case"pending":return"待审批";case"approved":return"已通过";case"rejected":return"已驳回";default:return d.ticket.status}}),m=w(
|