import{aA as ve,r as m,c as D,m as me,al as h,z as _,A as f,B as t,R as l,J as u,u as v,P as n,O as T,K as pe,aj as he,M as G,Q as O,a4 as U,D as $}from"./vue-vendor-164775a6.js";import{_ as ge}from"./logo-admin-5be797ff.js";import{_ as _e}from"./avatar-default-20a1956c.js";import{E as I,a as x,g as fe,u as ke,s as Se,f as F,h as Te,j as ye,k as Ce,e as be,l as we,m as $e}from"./element-plus-83a396df.js";import{t as Ie}from"./taskStatus-dbac3cdd.js";import{_ as Ae,L as De}from"./index-9349eeb8.js";import"./utils-edfcd65b.js";const Ee={class:"generate-task-record"},Me={class:"sidebar"},Le={class:"nav-menu"},Pe={class:"nav-item active"},Oe={class:"sidebar-footer"},Ne={class:"online-users"},Re={class:"highlight"},Be={class:"system-uptime"},Ke={class:"highlight"},Ve={class:"main-content"},Ge={class:"top-header"},Ue={class:"search-bar"},xe=["placeholder"],Fe={class:"header-actions"},ze={class:"user-avatar"},je={class:"task-content"},He={class:"content-header"},Je={key:0,class:"selection-info"},Qe={class:"table-toolbar"},Ye={class:"toolbar-left"},qe={class:"toolbar-right"},We={class:"table-container"},Xe={class:"task-table"},Ze={class:"checkbox-col"},et=["checked"],tt={class:"checkbox-col"},st=["checked","onChange"],at={class:"pagination-container"},lt={class:"pagination"},nt=["onClick"],ot={__name:"GenerateTaskRecord",setup(rt){const k=ve(),y=m("all"),i=m(1),N=m(10),C=m(0),c=m([]),R=m(!1),S=m(""),E=m("0/500"),M=m("加载中..."),d=m([]),z=()=>{k.push("/admin/dashboard")},j=()=>{k.push("/member-management")},H=()=>{k.push("/admin/orders")},J=()=>{k.push("/api-management")},Q=()=>{k.push("/system-settings")},Y=e=>{e==="exitAdmin"&&k.push("/profile")},B=D(()=>d.value.length>0&&c.value.length===d.value.length),p=D(()=>Math.ceil(C.value/N.value)),q=D(()=>{const e=[],s=p.value,a=i.value;if(s<=7)for(let r=1;r<=s;r++)e.push(r);else if(a<=3)for(let r=1;r<=5;r++)e.push(r);else if(a>=s-2)for(let r=s-4;r<=s;r++)e.push(r);else for(let r=a-2;r<=a+2;r++)e.push(r);return e}),W=()=>{B.value?c.value=[]:c.value=[...d.value]},X=e=>{const s=c.value.findIndex(a=>a.id===e.id);s>-1?c.value.splice(s,1):c.value.push(e)},Z=()=>{i.value>1&&(i.value--,b())},ee=()=>{i.value{i.value=e,b()},te=D(()=>{let e=d.value;if(S.value){const s=S.value.toLowerCase();e=e.filter(a=>a.taskId&&a.taskId.toLowerCase().includes(s)||a.username&&a.username.toLowerCase().includes(s)||a.type&&a.type.toLowerCase().includes(s))}return e}),se=e=>({已完成:"completed",COMPLETED:"completed",已取消:"cancelled",CANCELLED:"cancelled",处理中:"processing",PROCESSING:"processing",失败:"failed",FAILED:"failed"})[e]||"",ae=e=>({COMPLETED:"已完成",PROCESSING:"处理中",CANCELLED:"已取消",FAILED:"失败",PENDING:"待处理"})[e]||e||"未知",le=()=>{i.value=1,b()},ne=e=>{if(!e)return"未知";try{const s=new Date(e);if(isNaN(s.getTime()))return"未知";const a=s.getFullYear(),r=String(s.getMonth()+1).padStart(2,"0"),L=String(s.getDate()).padStart(2,"0"),P=String(s.getHours()).padStart(2,"0"),g=String(s.getMinutes()).padStart(2,"0");return`${a}-${r}-${L} ${P}:${g}`}catch(s){return console.error("日期格式化失败:",s),"未知"}},oe=e=>{I.info(`查看任务详情: ${e.taskId||e.id}`)},re=async e=>{try{await x.confirm(`确定要删除任务 ${e.taskId||e.id} 吗?`,"确认删除",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"});const s=d.value.findIndex(a=>a.id===e.id);s>-1&&(d.value.splice(s,1),C.value--,I.success("任务删除成功"))}catch{}},ue=async()=>{if(c.value.length===0){I.warning("请先选择要删除的任务");return}try{await x.confirm(`确定要删除选中的 ${c.value.length} 个任务吗?`,"确认批量删除",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"});const e=c.value.map(s=>s.id);d.value=d.value.filter(s=>!e.includes(s.id)),C.value-=e.length,c.value=[],I.success(`成功删除 ${e.length} 个任务`)}catch{}},b=async()=>{var e;R.value=!0;try{const s={page:i.value-1,size:N.value};y.value&&y.value!=="all"&&(s.status=y.value.toUpperCase()),S.value&&(s.search=S.value);try{const a=await Ie.getAllTaskRecords(s);if(a.data&&a.data.success){const r=a.data.data||[];r.length>0?(d.value=r,C.value=a.data.totalElements||0,console.log("成功加载任务记录(真实数据):",d.value.length)):(console.log("数据库为空,加载模拟数据"),A())}else console.warn("API返回失败:",(e=a.data)==null?void 0:e.message),A()}catch(a){console.error("API调用失败,使用假数据:",a),A()}}catch(s){console.error("加载任务记录失败:",s),I.error("数据加载失败,请检查网络连接"),A()}finally{R.value=!1}},A=()=>{const e=new Date;d.value=[{id:1,taskId:"TASK-2025-001",username:"张三",type:"图生视频",resources:"5积分",status:"COMPLETED",statusText:"已完成",createdAt:new Date(e.getTime()-2*60*60*1e3).toISOString()},{id:2,taskId:"TASK-2025-002",username:"李四",type:"文生视频",resources:"10积分",status:"PROCESSING",statusText:"处理中",createdAt:new Date(e.getTime()-1*60*60*1e3).toISOString()},{id:3,taskId:"TASK-2025-003",username:"王五",type:"分镜视频",resources:"15积分",status:"COMPLETED",statusText:"已完成",createdAt:new Date(e.getTime()-30*60*1e3).toISOString()},{id:4,taskId:"TASK-2025-004",username:"赵六",type:"图生视频",resources:"5积分",status:"FAILED",statusText:"失败",createdAt:new Date(e.getTime()-15*60*1e3).toISOString()},{id:5,taskId:"TASK-2025-005",username:"孙七",type:"文生视频",resources:"10积分",status:"COMPLETED",statusText:"已完成",createdAt:new Date(e.getTime()-10*60*1e3).toISOString()},{id:6,taskId:"TASK-2025-006",username:"周八",type:"图生视频",resources:"5积分",status:"PROCESSING",statusText:"处理中",createdAt:new Date(e.getTime()-5*60*1e3).toISOString()},{id:7,taskId:"TASK-2025-007",username:"吴九",type:"分镜视频",resources:"15积分",status:"CANCELLED",statusText:"已取消",createdAt:new Date(e.getTime()-3*60*1e3).toISOString()},{id:8,taskId:"TASK-2025-008",username:"郑十",type:"文生视频",resources:"10积分",status:"COMPLETED",statusText:"已完成",createdAt:new Date(e.getTime()-1*60*1e3).toISOString()}],C.value=d.value.length,console.log("使用模拟数据,共",d.value.length,"条记录")};me(()=>{b(),ce()});const ce=async()=>{try{const e=Math.floor(Math.random()*50)+10;E.value=`${e}/500`;const s=new Date().getHours(),a=new Date().getMinutes();M.value=`${s}小时${a}分`}catch(e){console.error("获取系统统计失败:",e),E.value="0/500",M.value="未知"}};return(e,s)=>{const a=h("el-icon"),r=h("el-dropdown-item"),L=h("el-dropdown-menu"),P=h("el-dropdown"),g=h("el-option"),ie=h("el-select"),de=h("el-button"),V=h("el-link");return _(),f("div",Ee,[t("aside",Me,[s[3]||(s[3]=t("div",{class:"logo"},[t("img",{src:ge,alt:"Logo"})],-1)),t("nav",Le,[t("div",{class:"nav-item",onClick:z},[l(a,null,{default:u(()=>[l(v(fe))]),_:1}),t("span",null,n(e.$t("nav.dashboard")),1)]),t("div",{class:"nav-item",onClick:j},[l(a,null,{default:u(()=>[l(v(ke))]),_:1}),t("span",null,n(e.$t("nav.members")),1)]),t("div",{class:"nav-item",onClick:H},[l(a,null,{default:u(()=>[l(v(Se))]),_:1}),t("span",null,n(e.$t("nav.orders")),1)]),t("div",{class:"nav-item",onClick:J},[l(a,null,{default:u(()=>[l(v(F))]),_:1}),t("span",null,n(e.$t("nav.apiManagement")),1)]),t("div",Pe,[l(a,null,{default:u(()=>[l(v(F))]),_:1}),t("span",null,n(e.$t("nav.tasks")),1)]),t("div",{class:"nav-item",onClick:Q},[l(a,null,{default:u(()=>[l(v(Te))]),_:1}),t("span",null,n(e.$t("nav.systemSettings")),1)])]),t("div",Oe,[t("div",Ne,[T(n(e.$t("nav.onlineUsers"))+": ",1),t("span",Re,n(E.value),1)]),t("div",Be,[T(n(e.$t("nav.systemUptime"))+": ",1),t("span",Ke,n(M.value),1)])])]),t("main",Ve,[t("header",Ge,[t("div",Ue,[l(a,{class:"search-icon"},{default:u(()=>[l(v(ye))]),_:1}),pe(t("input",{type:"text",placeholder:e.$t("common.searchPlaceholder"),class:"search-input","onUpdate:modelValue":s[0]||(s[0]=o=>S.value=o)},null,8,xe),[[he,S.value]])]),t("div",Fe,[l(De),l(P,{onCommand:Y},{dropdown:u(()=>[l(L,null,{default:u(()=>[l(r,{command:"exitAdmin"},{default:u(()=>[T(n(e.$t("admin.exitAdmin")),1)]),_:1})]),_:1})]),default:u(()=>[t("div",ze,[s[4]||(s[4]=t("img",{src:_e,alt:"用户头像"},null,-1)),l(a,{class:"arrow-down"},{default:u(()=>[l(v(Ce))]),_:1})])]),_:1})])]),t("section",je,[t("div",He,[t("h2",null,n(e.$t("tasks.title")),1),c.value.length>0?(_(),f("div",Je,n(e.$t("orders.selected",{count:c.value.length})),1)):G("",!0)]),t("div",Qe,[t("div",Ye,[l(ie,{modelValue:y.value,"onUpdate:modelValue":s[1]||(s[1]=o=>y.value=o),placeholder:e.$t("tasks.allStatus"),size:"small",onChange:le},{default:u(()=>[l(g,{label:e.$t("tasks.allStatus"),value:"all"},null,8,["label"]),l(g,{label:e.$t("tasks.completed"),value:"completed"},null,8,["label"]),l(g,{label:e.$t("tasks.processing"),value:"processing"},null,8,["label"]),l(g,{label:e.$t("tasks.cancelled"),value:"cancelled"},null,8,["label"]),l(g,{label:e.$t("tasks.failed"),value:"failed"},null,8,["label"])]),_:1},8,["modelValue","placeholder"])]),t("div",qe,[l(de,{type:"danger",size:"small",onClick:ue,disabled:c.value.length===0},{default:u(()=>[l(a,null,{default:u(()=>[l(v(be))]),_:1}),T(" "+n(e.$t("common.delete")),1)]),_:1},8,["disabled"])])]),t("div",We,[t("table",Xe,[t("thead",null,[t("tr",null,[t("th",Ze,[t("input",{type:"checkbox",onChange:W,checked:B.value},null,40,et)]),t("th",null,n(e.$t("tasks.taskId")),1),t("th",null,n(e.$t("tasks.username")),1),t("th",null,n(e.$t("tasks.type")),1),t("th",null,n(e.$t("tasks.resources")),1),t("th",null,n(e.$t("tasks.status")),1),t("th",null,n(e.$t("tasks.createTime")),1),t("th",null,n(e.$t("tasks.operation")),1)])]),t("tbody",null,[(_(!0),f(O,null,U(te.value,o=>(_(),f("tr",{key:o.id,class:"table-row"},[t("td",tt,[t("input",{type:"checkbox",checked:c.value.some(w=>w.id===o.id),onChange:w=>X(o)},null,40,st)]),t("td",null,n(o.taskId||o.id),1),t("td",null,n(o.username||"未知"),1),t("td",null,n(o.type||"未知"),1),t("td",null,n(o.resources||"0积分"),1),t("td",null,[t("span",{class:$(["status-tag",se(o.status)])},n(ae(o.status)),3)]),t("td",null,n(ne(o.createTime||o.createdAt)),1),t("td",null,[l(V,{type:"primary",class:"action-link",onClick:w=>oe(o)},{default:u(()=>[T(n(e.$t("common.view")),1)]),_:1},8,["onClick"]),l(V,{type:"danger",class:"action-link",onClick:w=>re(o)},{default:u(()=>[T(n(e.$t("common.delete")),1)]),_:1},8,["onClick"])])]))),128))])])]),t("div",at,[t("div",lt,[l(a,{class:$(["page-arrow",{disabled:i.value===1}]),onClick:Z},{default:u(()=>[l(v(we))]),_:1},8,["class"]),(_(!0),f(O,null,U(q.value,o=>(_(),f("button",{key:o,class:$(["page-btn",{active:o===i.value}]),onClick:w=>K(o)},n(o),11,nt))),128)),p.value>7&&i.valueK(p.value))},n(p.value),3)],64)):G("",!0),l(a,{class:$(["page-arrow",{disabled:i.value===p.value}]),onClick:ee},{default:u(()=>[l(v($e))]),_:1},8,["class"])])])])])])}}},ht=Ae(ot,[["__scopeId","data-v-b204efa5"]]);export{ht as default};