import{d as E,k as l,O as W,p as X,r as f,o as m,c as y,a,z as s,x as P,F as D,h as M,b as p,u as o,t as Z,B as Y,E as ee,A as u}from"./vue.1703796278973.js";import{V as te,L as se,a0 as oe,ax as ae}from"./index.17037962789732.js";import"./index.1703796278973300.js";import"./index.170379627897315.js";import"./index.170379627897317.js";import"./index.1703796278973301.js";import"./index.1703796278973302.js";import"./index.170379627897332.js";import"./index.1703796278973303.js";import"./index.170379627897339.js";import"./index.170379627897316.js";import"./index.170379627897314.js";import"./index.1703796278973304.js";import"./index.1703796278973305.js";import"./index.1703796278973306.js";import"./index.170379627897336.js";import{_ as ne}from"./index.vue_vue_type_script_setup_true_name_PermissionButton_lang.1703796278973.js";import"./index.170379627897333.js";import{t as re,h as ie,a as ce,b as le,c as pe}from"./firmware.1703796278973.js";import{a as d,o as N}from"./comm.1703796278973.js";import{h as A}from"./moment.1703796278973.js";import{_ as me}from"./Save.vue_vue_type_script_setup_true_name_TaskDetailSavePage_lang.1703796278973.js";import{_ as de}from"./_plugin-vue_export-helper.1703796278973.js";import"./index.17037962789733.js";import"./dayjs.min.1703796278973.js";import"./isArray.1703796278973.js";import"./editor.api.1703796278973.js";import"./preload-helper.1703796278973.js";import"./monaco.contribution.1703796278973.js";import"./index.170379627897320.js";import"./index.170379627897321.js";import"./permission.1703796278973.js";import"./system.1703796278973.js";import"./index.170379627897334.js";import"./default.1703796278973.js";import"./consts.1703796278973.js";import"./404.1703796278973.js";import"./index.170379627897337.js";const ue={class:"state-container"},_e={class:"state-content"},fe={class:"state-header"},ye={class:"state-title"},he={class:"state-title-right"},ge={class:"state-button"},ke={class:"img"},ve=["src","onClick"],xe={class:"state-box"},we=["src"],Ce=E({name:"TaskDetailPage"}),be=E({...Ce,setup(Ie){var S;const h=l({}),R=W(),C=l({}),g=(S=R.params)==null?void 0:S.id,k=l(!1),v=l({});l([]);const i=new Map;i.set("waiting","#FF9000"),i.set("processing","#4293FF"),i.set("failed","#F76F5D"),i.set("success","#24B276"),i.set("canceled","#999");const x=[{key:"waiting",name:"等待升级",img:d("/firmware/waiting.png")},{key:"processing",name:"升级中",img:d("/firmware/loading.png")},{key:"success",name:"升级完成",img:d("/firmware/finish.png")},{key:"failed",name:"升级失败",img:d("/firmware/error.png")},{key:"canceled",name:"已停止",img:d("/firmware/cancel.png")}],V=d("/firmware/button.png"),b=l({waiting:0,processing:0,success:0,failed:0,canceled:0}),I=l(),T=[{title:"设备名称",dataIndex:"deviceName",key:"deviceName",fixed:"left",width:200,ellipsis:!0,search:{type:"string"}},{title:"所属产品",dataIndex:"productId",key:"productId",ellipsis:!0,width:200,scopedSlots:!0},{title:"创建时间",key:"createTime",dataIndex:"createTime",width:200,scopedSlots:!0},{title:"完成时间",key:"completeTime",ellipsis:!0,dataIndex:"completeTime",search:{type:"date"},scopedSlots:!0},{title:"进度",dataIndex:"progress",key:"progress",ellipsis:!0,scopedSlots:!0,width:200,search:{type:"number"}},{title:"状态",dataIndex:"state",key:"state",ellipsis:!0,search:{type:"select",options:x.map(e=>({value:e.key,label:e.name}))},scopedSlots:!0,width:200},{title:"操作",key:"action",fixed:"right",width:200,scopedSlots:!0}],F=[{terms:[{column:"taskId",value:g}]}],H=e=>{if(!e)return[];const c=[{key:"view",text:"查看",tooltip:{title:"查看"},icon:"EyeOutlined",onClick:async()=>{L(e.errorReason)}}],{state:r,mode:_}=e;return _.value==="push"&&r.value==="failed"&&c.push({key:"update",text:"重试",tooltip:{title:"重试"},icon:"RedoOutlined",popConfirm:{title:"确认重试?",onConfirm:async()=>{O(e.id)}}}),c},L=e=>{v.value=e||"",k.value=!0},O=async e=>{(await ce([e])).success&&(N("操作成功","success"),h.value.reload())},$=e=>{k.value=!1,v.value={}},j=async e=>{(await le(g,["failed"])).success&&(N("操作成功","success"),w("failed"),h.value.reload())},w=async e=>{const c=te(F);c[0].terms.push({column:"state",value:e});const r=await pe({terms:c});r.success&&(b.value[e]=(r==null?void 0:r.result)||0)};X(()=>{x.forEach(e=>{w(e.key)}),re(g).then(e=>{e.success&&(I.value=e==null?void 0:e.result)})});const q=e=>{C.value=e};return(e,c)=>{const r=se,_=ne,z=f("pro-search"),J=f("AIcon"),G=oe,K=ae,Q=f("FullPage"),U=f("page-container");return m(),y(U,null,{default:a(()=>[s("div",null,[s("div",ue,[(m(),P(D,null,M(x,t=>{var n,B;return s("div",{class:"state-body",key:t.key},[s("div",_e,[s("div",fe,[s("div",ye,[p(r,{text:t.name,color:o(i).get(t.key)},null,8,["text","color"])]),s("div",he,[s("div",ge,[t.key==="failed"&&((B=(n=o(I))==null?void 0:n.mode)==null?void 0:B.value)==="push"?(m(),y(_,{key:0,type:"link",hasPermission:"device/Firmware:update",popConfirm:{title:"确定批量重试",onConfirm:j}},{default:a(()=>[Z(" 批量重试 ")]),_:1},8,["popConfirm"])):Y("",!0)]),s("div",ke,[s("img",{src:o(V),onClick:Te=>w(t.key)},null,8,ve)])])]),s("div",xe,[s("div",{class:"state-left",style:ee(`color: ${o(i).get(t.key)}`)},u(o(b)[t.key]),5),s("img",{class:"state-right",src:t.img},null,8,we)])])])}),64))]),p(z,{columns:T,target:"search",onSearch:q}),p(Q,null,{default:a(()=>[p(K,{ref_key:"tableRef",ref:h,model:"TABLE",columns:T,request:o(ie),defaultParams:{sorts:[{name:"createTime",order:"desc"}],terms:F},params:o(C)},{completeTime:a(t=>[s("span",null,u(o(A)(t.completeTime).format("YYYY-MM-DD HH:mm:ss")),1)]),createTime:a(t=>[s("span",null,u(o(A)(t.createTime).format("YYYY-MM-DD HH:mm:ss")),1)]),productId:a(t=>[s("span",null,u(t.productName),1)]),state:a(t=>[p(r,{text:t.state.text,color:o(i).get(t.state.value)},null,8,["text","color"])]),progress:a(t=>[s("span",null,u(t.progress)+"%",1)]),action:a(t=>[p(G,null,{default:a(()=>[(m(!0),P(D,null,M(H(t),n=>(m(),y(_,{key:n.key,disabled:n.disabled,popConfirm:n.popConfirm,tooltip:{...n.tooltip},style:{padding:"0px"},onClick:n.onClick,type:"link",hasPermission:"device/Firmware:"+n.key},{icon:a(()=>[p(J,{type:n.icon},null,8,["type"])]),_:2},1032,["disabled","popConfirm","tooltip","onClick","hasPermission"]))),128))]),_:2},1024)]),_:1},8,["request","defaultParams","params"])]),_:1}),o(k)?(m(),y(me,{key:0,data:o(v),onChange:$},null,8,["data"])):Y("",!0)])]),_:1})}}});const mt=de(be,[["__scopeId","data-v-d08dd31f"]]);export{mt as default};