import{d as nt,o as ot,M as lt,a as u,c as i,b as v,B as rt,e as o,ad as ut,ae as it,t as r,af as S,ag as ct,ah as dt,f as p,ak as ft,n as re,y as $e,F as ue,r as Ee,g as d,h as q,bo as ht,bp as vt,bq as pt,E as f,br as yt,bs as mt,bt as gt,i as wt,bu as _t,bv as kt,bw as It,s as bt,bx as St,by as Tt,V as X,bz as Ct,_ as At,aQ as Nt,q as $t,u as Et}from"./java-modules-WSWRTEaR.js";import{z as qt}from"./zh-cn-CmRmwSWj.js";/* empty css */import{c as Qt}from"./categorized-timers-JPA-olTr.js";const Dt={class:"page-shell module-page"},Mt={class:"main-content"},Pt={class:"left-panel"},Ft={class:"input-zone"},Rt={class:"input-row"},Ot=["disabled"],Bt={key:0,class:"empty-candidates"},xt={key:1,class:"candidate-table-scroll"},Lt=["onClick"],Ut={class:"run-row"},Ht=["disabled"],Vt=["disabled"],zt={key:2,class:"queue-debug-card"},jt={class:"queue-debug-line"},Jt={key:0,class:"queue-debug-payload"},Kt={class:"right-panel"},Wt={class:"task-list-wrap"},Xt={class:"clean-result-summary"},Gt={class:"summary-card"},Yt={class:"summary-card"},Zt={class:"summary-card"},es={class:"summary-card"},ts={key:0,class:"empty-tasks narrow"},ss=["onClick"],as={class:"result-list-wrap"},ns={key:0,class:"empty-tasks"},os={key:0,class:"result-subsection"},ls={class:"task-list"},rs={class:"left split-result-main"},us=["title"],is={class:"files"},cs={key:0,class:"files"},ds={key:1,class:"files"},fs={key:2,class:"files"},hs={class:"files"},vs={class:"files"},ps={class:"files"},ys={key:3,class:"files"},ms={class:"task-right"},gs=["onClick"],ws={key:1,class:"result-subsection"},_s={class:"task-list"},ks={class:"left split-result-main"},Is=["title"],bs={class:"files"},Ss={key:0,class:"files"},Ts={key:1,class:"files"},Cs={key:2,class:"files"},As={class:"files"},Ns={class:"files"},$s={key:3,class:"files"},Es={class:"files"},qs={key:4,class:"files"},Qs={class:"task-right"},Ds=["onClick"],Ms=["onClick"],qe=30,Ps=nt({__name:"BrandQueryAsinTab",setup(Rs){const O=d(""),G=d([]),B=d([]),m=d([]),k=d([]),Q=d({candidateCount:0,processedTaskCount:0,successTaskCount:0,failedTaskCount:0}),x=d(!1),L=d(!1),Y=d(!1),y=d(""),Z=d(""),h=d([]),c=d(null),T=d(null),C=d(!1),ee=d(!1),w=d({});let A=null;const N=Qt("query-asin"),ie=q(()=>m.value.filter(e=>e.matched&&(e.queryAsins||[]).some(t=>t.asins?.length))),U=q(()=>k.value.filter(e=>!ge(e.taskStatus))),te=q(()=>k.value.filter(e=>ge(e.taskStatus))),se=q(()=>!!c.value||h.value.length>0),H=q(()=>C.value||se.value),ce=q(()=>C.value&&se.value);function V(){return typeof window<"u"&&window.localStorage.getItem("uid")||"0"}function de(){return`query-asin:matched:${V()}`}function fe(){return`query-asin:queue-state:${V()}`}function ae(){return`query-asin:start-times:${V()}`}function b(e){return`${(e.shopName||"").trim()}::${e.shopId||""}`}function z(e){return`${e.taskId??0}:${e.resultId??0}`}let _=!1;function he(e){return _?Promise.resolve():N.sleep("queue-wait",e)}function Qe(){N.clearCategory("queue-wait")}function ve(e){const t=e instanceof Error?e.message.toLowerCase():String(e||"").toLowerCase();return t.includes("network error")||t.includes("failed to fetch")||t.includes("timeout")||t.includes("503")||t.includes("502")||t.includes("504")||t.includes("500")||t.includes("load failed")}async function De(e,t,n=20){let a=0;for(;;){if(_)throw new Error("component disposed");try{return await e()}catch(l){if(!ve(l)||a>=n-1)throw l;a+=1,t?.(a,n),await he(X())}}}function pe(e,t){return`query-asin:${e}:${t||"shop"}:${Date.now()}`}function D(e){if(!e)return"-";const t=new Date(e);if(Number.isNaN(t.getTime()))return e;const n=t.getFullYear(),a=String(t.getMonth()+1).padStart(2,"0"),l=String(t.getDate()).padStart(2,"0"),s=String(t.getHours()).padStart(2,"0"),g=String(t.getMinutes()).padStart(2,"0"),le=String(t.getSeconds()).padStart(2,"0");return`${n}-${a}-${l} ${s}:${g}:${le}`}function Me(e){const t=(e||"").trim();return{MATCHED:"已匹配",PENDING:"待匹配",CONFLICT:"需人工确认",INDEX_STALE:"索引过期"}[t]||t||"-"}function Pe(e){const t=(e.matchMessage||"").trim();return t||(e.matched&&e.matchStatus==="MATCHED"?"索引已命中,可推送到 Python 队列":e.matched?"已命中索引,请结合状态列确认":"未命中或未就绪,请检查店铺名")}function Fe(e){const t=I(e),n=Math.max(...t.map(a=>a.asins?.length||0),1);return Array.from({length:n},(a,l)=>({shopName:l===0?e.shopName:"",countries:t.map(s=>({country:s.country,asin:s.asins?.[l]||""}))}))}function ye(e){const t=I(e),n=t.reduce((l,s)=>l+(s.asins?.length||0),0);return`${t.filter(l=>l.asins?.length).map(l=>l.country).join("、")||"无国家"},共 ${n} 个 ASIN`}function j(e){return(e||[]).map(t=>({country:(t.country||"").trim().toUpperCase(),asins:Array.from(new Set((t.asins||[]).map(n=>(n||"").trim().toUpperCase()).filter(Boolean)))})).filter(t=>t.country&&t.asins.length)}function I(e){return j(e?.queryAsins?.length?e.queryAsins:e?.query_asins)}function J(e){return I(e).some(t=>t.asins.length)}function me(e){const t=(e||"").trim(),n=[T.value,...h.value,...m.value],a=n.find(s=>(s?.shopName||"").trim()===t&&J(s)),l=n.find(s=>J(s));return I(a||l)}function $(e,t){const n=J(e)?I(e):I(t||void 0);return{...e,queryAsins:n.length?n:me(e.shopName)}}function ge(e){return e==="SUCCESS"||e==="FAILED"||e==="COMPLETED"}function we(e){return e==="SUCCESS"||e==="COMPLETED"?"已完成":e==="FAILED"?"失败":"执行中"}function _e(e){return e==="SUCCESS"||e==="COMPLETED"?"success":e==="FAILED"?"failed":"running"}function Re(e){return!!(e.resultId&&(e.fileReady||e.downloadUrl))}function ke(){typeof window>"u"||window.localStorage.setItem(de(),JSON.stringify(m.value))}function Oe(){try{const e=typeof window<"u"?window.localStorage.getItem(de()):null;m.value=e?JSON.parse(e):[]}catch{m.value=[]}}function E(){if(typeof window>"u")return;const e={pendingQueue:h.value,activeTaskId:c.value,activeQueueItem:T.value};window.localStorage.setItem(fe(),JSON.stringify(e))}function Ie(){if(!(typeof window>"u")){if(!Object.keys(w.value).length){window.localStorage.removeItem(ae());return}window.localStorage.setItem(ae(),JSON.stringify(w.value))}}function Be(){try{const e=typeof window<"u"?window.localStorage.getItem(fe()):null;if(!e)return;const t=JSON.parse(e);h.value=t.pendingQueue||[],c.value=t.activeTaskId??null,T.value=t.activeQueueItem??null}catch{h.value=[],c.value=null,T.value=null}}function xe(){try{const e=typeof window<"u"?window.localStorage.getItem(ae()):null,t=e?JSON.parse(e):{},n={};for(const[a,l]of Object.entries(t||{})){const s=Number(a);!Number.isFinite(s)||s<=0||typeof l!="string"||!l.trim()||(n[s]=l)}w.value=n}catch{w.value={}}}function Le(e,t=new Date().toISOString()){!Number.isFinite(e)||e<=0||(w.value={...w.value,[e]:t},Ie())}function ne(e){if(!e||!(e in w.value))return;const t={...w.value};delete t[e],w.value=t,Ie()}function be(e){return e&&w.value[e]||""}function M(){c.value=null,T.value=null,E()}function P(){se.value||(C.value=!1,Y.value=!1,ee.value=!1,W(),E())}function Ue(e){const t=e instanceof Error?e.message:String(e||"");return/记录不存在|任务不存在|不存在|已删除|not\s*found|404/i.test(t)}function He(e){k.value=k.value.filter(t=>!(e.resultId!=null&&t.resultId===e.resultId||e.taskId!=null&&t.taskId===e.taskId))}function Ve(e,t){const n=new Map;for(const a of e)n.set(b(a),a);for(const a of t)n.set(b(a),a);return Array.from(n.values())}async function F(){G.value=await ht()}async function K(){Q.value=await vt()}async function oe(){const e=await pt();k.value=(e.items||[]).map(t=>$(t))}async function R(){await Promise.all([K(),oe()])}function Se(){if(!c.value){P();return}if(k.value.some(n=>n.taskId===c.value))return;const t=c.value;M(),y.value=h.value.length?`任务 ${t} 已不存在,已跳过并继续剩余队列`:"当前任务已不存在,已释放本地队列状态",P()}function ze(e){if(!e.length)return;const t=new Map(e.map(a=>[z(a),$(a)])),n=k.value.map(a=>{const l=t.get(z(a));if(!l)return $(a);const s=J(l)?I(l):I(a).length?I(a):me(l.shopName||a.shopName);return{...a,...l,queryAsins:s}});for(const a of e){const l=z(a);n.some(s=>z(s)===l)||n.push($(a))}k.value=n}async function Te(e){const t=Array.from(new Set((e&&e.length?e:U.value.map(a=>a.taskId??0)).filter(a=>Number.isFinite(a)&&a>0)));if(!t.length)return;const n=await Ct(t);ze(n.items||[]),(n.missingTaskIds||[]).length&&(await oe(),Se())}function je(){if(W(),_||!H.value)return;const e=async()=>{A=null,!(_||!H.value)&&(await Te(),!_&&H.value&&(A=N.setTimeout("history-poll",e,X()*2)))};A=N.setTimeout("history-poll",e,X()*2)}function W(){A&&(N.clearTimer("history-poll",A),A=null)}function Je(e){B.value=e}async function Ce(){const e=O.value.trim();if(!e){f.warning("请输入店铺名");return}x.value=!0;try{await yt(e),O.value="",await Promise.all([F(),K()]),f.success("已加入备选区")}catch(t){f.error(t instanceof Error?t.message:"添加失败")}finally{x.value=!1}}async function Ke(e){try{await mt(e),B.value=B.value.filter(t=>t.id!==e),await Promise.all([F(),K()]),f.success("已删除")}catch(t){f.error(t instanceof Error?t.message:"删除失败")}}function We(e,t){const n=new Map;for(const a of e)n.set(b(a),a);for(const a of t)n.set(b(a),a);return Array.from(n.values())}async function Xe(){const e=B.value.map(t=>t.shop_name).filter(Boolean);if(!e.length){f.warning("请先勾选备选区店铺");return}L.value=!0;try{const t=await gt(e);m.value=We(m.value,t.items||[]),ke(),f.success(`本次返回 ${t.items?.length||0} 条匹配结果`)}catch(t){f.error(t instanceof Error?t.message:"匹配失败")}finally{L.value=!1}}function Ge(e){if(H.value){f.warning("队列执行中,请等待当前串行任务结束后再调整");return}m.value=m.value.filter(t=>b(t)!==b(e)),ke()}function Ye(e){return{shopName:e.shopName,matched:e.matched,shopId:e.shopId,platform:e.platform,companyName:e.companyName,matchStatus:e.matchStatus,matchMessage:e.matchMessage,queryAsins:j(e.queryAsins)}}function Ze(e,t){const n=pe(e,t.shopName);return{type:"query-asin-run",ts:Date.now(),data:{taskId:e,user_id:Number(V())||0,source:"frontend-vue-query-asin",submissionId:n,items:[{shopName:t.shopName,submissionId:n,shopId:t.shopId,platform:t.platform,companyName:t.companyName,matched:t.matched,matchStatus:t.matchStatus,matchMessage:t.matchMessage,queryAsins:j(t.queryAsins)}],query_asins:j(t.queryAsins),query_asin_rows:Fe(t)}}}function et(e){return k.value.find(t=>t.taskId===e)}async function tt(e){let t=0;for(;;){if(_)return"STOPPED";try{if(await Te([e]),c.value!==e)return"FAILED";t>0&&(y.value=`任务 ${e} 后端已恢复,继续等待执行结果...`),t=0;const a=et(e)?.taskStatus||"";if(a==="SUCCESS"||a==="FAILED"||a==="COMPLETED")return a}catch(n){if(!ve(n))throw n;if(t+=1,t>=qe)throw new Error(`任务 ${e} 等待后端恢复超时,请稍后刷新查看状态`);y.value=`任务 ${e} 执行中,正在等待后端服务恢复(${t}/${qe})...`}await he(X())}}async function Ae(){if(!(_||C.value)){C.value=!0,Y.value=!0,je();try{const e=wt();if(!e?.enqueue_json)throw new Error("当前客户端未提供 enqueue_json");for(;!_&&(c.value||h.value.length);){if(c.value){const g=await tt(c.value);y.value=h.value.length>0?`任务 ${c.value} ${g==="SUCCESS"?"已完成":"执行失败"},自动继续下一个(剩余 ${h.value.length} 条)`:`任务 ${c.value} ${g==="SUCCESS"?"已完成":"执行失败"}`,M();continue}const t=h.value.shift();if(E(),!t)break;const n=await De(()=>_t([Ye(t)]),(g,le)=>{y.value=`后端服务暂时不可用,正在重试创建任务(${g}/${le})...`}),a=n.items?.[0]?$(n.items[0],t):void 0;if(!a?.taskId||!a.resultId)throw new Error("后端未返回有效任务标识");c.value=n.taskId,T.value=$(t,a),E(),await R();const l=Ze(n.taskId,a);Z.value=JSON.stringify(l,null,2);const s=await e.enqueue_json(l);if(!s?.success){await kt(n.taskId,{shops:[{shopName:a.shopName||t.shopName||"",error:s?.error||`任务 ${n.taskId} 推送失败`,shopDone:!0,submissionId:pe(n.taskId,a.shopName||t.shopName)}]}),await R(),y.value=`任务 ${n.taskId} 推送失败,已自动继续下一个任务`,M();continue}Le(n.taskId),y.value=h.value.length>0?`任务 ${n.taskId} 已入队,等待完成后自动继续下一个(剩余 ${h.value.length} 条)`:`任务 ${n.taskId} 已入队,等待执行完成`}y.value="串行队列已执行完成",await R(),f.success("查询ASIN队列已按顺序执行完成")}catch(e){if(_)return;const t=e instanceof Error?e.message:"队列执行失败";y.value=t,f.error(t),await R()}finally{C.value=!1,Y.value=!1,W(),E()}}}async function st(){ee.value=!0,P();const e=ie.value;if(!e.length){f.warning("请先匹配可用店铺");return}h.value=Ve(h.value,e),E(),y.value=`已加入 ${e.length} 条店铺,开始串行执行`,await Ae()}async function at(e){if(!e.resultId)return;const t=It(e.resultId),n=e.outputFilename||`${e.shopName||"result"}.xlsx`,a=await bt(t,n,`query-asin:${e.resultId}`);a.success?f.success(`已保存: ${a.path||n}`):a.error&&a.error!=="用户取消"&&f.error(a.error)}async function Ne(e){try{if(e.taskId)await St(e.taskId),c.value===e.taskId&&M(),ne(e.taskId);else if(e.resultId)await Tt(e.resultId),ne(e.taskId);else throw new Error("缺少可删除的任务标识");await Promise.all([F(),R()]),P(),f.success("已删除")}catch(t){if(Ue(t)){e.taskId&&c.value===e.taskId&&M(),ne(e.taskId),He(e),await F(),P(),f.success("后端记录已不存在,已同步移除本地记录");return}f.error(t instanceof Error?t.message:"删除失败")}}return ot(async()=>{Oe(),Be(),xe(),await Promise.all([F(),K(),oe()]),Se(),(c.value||h.value.length)&&(ee.value=!0,y.value=c.value!=null?`检测到未完成队列,继续等待任务 ${c.value} 完成并自动接续后续店铺`:`检测到未完成队列,继续执行剩余 ${h.value.length} 条店铺`,Ae())}),lt(()=>{_=!0,W(),Qe(),N.clearScope()}),(e,t)=>{const n=it,a=ct,l=dt;return u(),i("div",Dt,[v(rt,{active:"query-asin"}),o("div",Mt,[o("aside",Pt,[t[3]||(t[3]=o("div",{class:"section-title"},"店铺输入",-1)),o("div",Ft,[t[1]||(t[1]=o("div",{class:"hint"}," 左侧负责录入店铺并加入备选区,确认命中后推送到 Python 队列。查询ASIN按店铺串行执行:上一个任务完成后会自动开始下一个,失败也会继续下一个。 ",-1)),o("div",Rt,[v(n,{modelValue:O.value,"onUpdate:modelValue":t[0]||(t[0]=s=>O.value=s),clearable:"",placeholder:"请输入店铺名后回车或点击添加",onKeyup:ut(Ce,["enter"])},null,8,["modelValue"]),o("button",{type:"button",class:"opt-btn",disabled:x.value,onClick:Ce},r(x.value?"添加中...":"添加"),9,Ot)])]),t[4]||(t[4]=o("div",{class:"section-title"},"备选区",-1)),G.value.length?(u(),i("div",xt,[v(l,{data:G.value,"row-key":"id",height:"260",class:"candidate-table",onSelectionChange:Je},{default:S(()=>[v(a,{type:"selection",width:"42"}),v(a,{prop:"shop_name",label:"店铺名","min-width":"140","show-overflow-tooltip":""}),v(a,{label:"操作",width:"72",align:"center"},{default:S(({row:s})=>[o("button",{type:"button",class:"link-danger",onClick:g=>Ke(s.id)}," 删除 ",8,Lt)]),_:1})]),_:1},8,["data"])])):(u(),i("div",Bt," 暂无备选店铺,请先输入并添加 ")),o("div",Ut,[o("button",{type:"button",class:"btn-run",disabled:L.value,onClick:Xe},r(L.value?"匹配中...":"匹配店铺"),9,Ht),o("button",{type:"button",class:"btn-run btn-queue",disabled:ce.value||!ie.value.length,onClick:st},r(ce.value?"串行执行中...":"推送到 Python 队列"),9,Vt)]),t[5]||(t[5]=o("p",{class:"loading-msg"}," 当前页面会按店铺串行推送任务,并在任务成功或失败后自动接续下一个任务。服务端临时重启时会自动重试查询状态,恢复后继续后续店铺。 ",-1)),y.value?(u(),i("div",zt,[t[2]||(t[2]=o("div",{class:"section-title queue-debug-title"},"队列状态",-1)),o("div",jt,r(y.value),1),Z.value?(u(),i("pre",Jt,r(Z.value),1)):p("",!0)])):p("",!0)]),o("section",Kt,[t[14]||(t[14]=o("div",{class:"panel-header"},"匹配与任务",-1)),o("div",Wt,[o("div",Xt,[o("div",Gt,[t[6]||(t[6]=o("span",{class:"summary-label"},"备选店铺",-1)),o("strong",null,r(Q.value.candidateCount),1)]),o("div",Yt,[t[7]||(t[7]=o("span",{class:"summary-label"},"已处理任务",-1)),o("strong",null,r(Q.value.processedTaskCount),1)]),o("div",Zt,[t[8]||(t[8]=o("span",{class:"summary-label"},"成功任务",-1)),o("strong",null,r(Q.value.successTaskCount),1)]),o("div",es,[t[9]||(t[9]=o("span",{class:"summary-label"},"失败任务",-1)),o("strong",null,r(Q.value.failedTaskCount),1)])]),t[13]||(t[13]=o("div",{class:"subsection-title"},"匹配结果",-1)),m.value.length?(u(),ft(l,{key:1,data:m.value,"row-key":b,"highlight-current-row":!1,class:"result-table match-table"},{default:S(()=>[v(a,{prop:"shopName",label:"店铺名","min-width":"120"}),v(a,{label:"匹配",width:"72",align:"center"},{default:S(({row:s})=>[o("span",{class:re(s.matched?"ok":"fail")},r(s.matched?"是":"否"),3)]),_:1}),v(a,{prop:"shopId",label:"店铺 ID","min-width":"120","show-overflow-tooltip":""}),v(a,{prop:"platform",label:"平台",width:"88","show-overflow-tooltip":""}),v(a,{prop:"companyName",label:"公司","min-width":"120","show-overflow-tooltip":""}),v(a,{label:"状态",width:"110","show-overflow-tooltip":""},{default:S(({row:s})=>[$e(r(Me(s.matchStatus)),1)]),_:1}),v(a,{label:"说明","min-width":"180","show-overflow-tooltip":""},{default:S(({row:s})=>[$e(r(Pe(s)),1)]),_:1}),v(a,{label:"操作",width:"72",align:"center"},{default:S(({row:s})=>[o("button",{type:"button",class:"link-danger",onClick:g=>Ge(s)}," 删除 ",8,ss)]),_:1})]),_:1},8,["data"])):(u(),i("div",ts," 完成“匹配店铺”后,这里会展示匹配结果。 ")),o("div",as,[t[12]||(t[12]=o("div",{class:"result-list-header"},[o("span",null,"任务记录")],-1)),!U.value.length&&!te.value.length?(u(),i("div",ns," 暂无任务记录。推送到 Python 队列后,这里会展示当前任务和历史任务。 ")):(u(),i(ue,{key:1},[U.value.length?(u(),i("div",os,[t[10]||(t[10]=o("div",{class:"result-subsection-title"},"当前任务",-1)),o("ul",ls,[(u(!0),i(ue,null,Ee(U.value,s=>(u(),i("li",{key:`${s.resultId}-${s.taskId}`,class:"task-item"},[o("div",rs,[o("span",{class:"id",title:s.shopName||""},r(s.shopName||"-"),9,us),o("div",is,"任务 ID: "+r(s.taskId??"-"),1),s.resultId?(u(),i("div",cs," 结果 ID: "+r(s.resultId),1)):p("",!0),s.shopId?(u(),i("div",ds," 店铺 ID: "+r(s.shopId),1)):p("",!0),s.platform?(u(),i("div",fs," 平台: "+r(s.platform),1)):p("",!0),o("div",hs," 开始时间: "+r(D(be(s.taskId))),1),o("div",vs," 创建时间: "+r(D(s.createdAt)),1),o("div",ps," ASIN结构: "+r(ye(s)),1),s.error?(u(),i("div",ys," 错误: "+r(s.error),1)):p("",!0)]),o("div",ms,[o("span",{class:re(["status",_e(s.taskStatus)])},r(we(s.taskStatus)),3),o("button",{type:"button",class:"btn-delete",onClick:g=>Ne(s)}," 删除 ",8,gs)])]))),128))])])):p("",!0),te.value.length?(u(),i("div",ws,[t[11]||(t[11]=o("div",{class:"result-subsection-title"},"历史任务",-1)),o("ul",_s,[(u(!0),i(ue,null,Ee(te.value,s=>(u(),i("li",{key:`${s.resultId}-${s.taskId}`,class:"task-item"},[o("div",ks,[o("span",{class:"id",title:s.shopName||""},r(s.shopName||"-"),9,Is),o("div",bs,"任务 ID: "+r(s.taskId??"-"),1),s.resultId?(u(),i("div",Ss," 结果 ID: "+r(s.resultId),1)):p("",!0),s.shopId?(u(),i("div",Ts," 店铺 ID: "+r(s.shopId),1)):p("",!0),s.platform?(u(),i("div",Cs," 平台: "+r(s.platform),1)):p("",!0),o("div",As," 开始时间: "+r(D(be(s.taskId))),1),o("div",Ns," 创建时间: "+r(D(s.createdAt)),1),s.finishedAt?(u(),i("div",$s," 完成时间: "+r(D(s.finishedAt)),1)):p("",!0),o("div",Es," ASIN结构: "+r(ye(s)),1),s.error?(u(),i("div",qs," 错误: "+r(s.error),1)):p("",!0)]),o("div",Qs,[o("span",{class:re(["status",_e(s.taskStatus)])},r(we(s.taskStatus)),3),Re(s)?(u(),i("button",{key:0,type:"button",class:"archive",onClick:g=>at(s)}," 下载结果 ",8,Ds)):p("",!0),o("button",{type:"button",class:"btn-delete",onClick:g=>Ne(s)}," 删除 ",8,Ms)])]))),128))])])):p("",!0)],64))])])])])])}}}),Fs=At(Ps,[["__scopeId","data-v-c2e27ea1"]]);Nt.locale("zh-cn");$t(Fs).use(Et,{locale:qt}).mount("#app");