jingrow/apps/jingrow/frontend/dist/assets/LocalJobDetail-23c5651e.js

2 lines
5.2 KiB
JavaScript

import{d as I,X as T,u as B,r as m,o as A,e as d,f as e,h as i,w as c,j as t,p as h,g as s,Y as F,y as z,v as E,k as M,t as a,l as u,I as k,n as b,$ as p}from"./index-b37e64ca.js";import{I as g}from"./iconify-b5ab1212.js";import{a as S,d as V}from"./localJobs-c0141744.js";import{_ as O}from"./_plugin-vue_export-helper-c27b6911.js";const R={class:"page"},q={class:"page-header"},$={class:"page-title"},P={class:"main-layout"},Q={class:"main-content"},X={key:0,class:"loading"},Y={key:1,class:"error"},G={key:2,class:"content-grid"},H={class:"info-card"},K={class:"info-grid"},U={class:"info-item"},W={class:"value"},Z={class:"info-item"},ee={class:"value"},te={class:"info-item"},se={class:"value"},ae={class:"queue-badge"},le={class:"info-item"},oe={class:"value"},ie={class:"info-item"},ne={class:"value"},ce={class:"info-item"},de={class:"value"},ue={class:"info-item"},re={class:"value"},_e={class:"info-item"},ve={class:"value"},fe={class:"time-card"},me={class:"time-grid"},he={class:"time-item"},be={class:"value"},pe={class:"time-item"},ge={class:"value"},ye={class:"time-item"},Je={class:"value"},ke={class:"time-item"},De={class:"value"},je={class:"arguments-card"},xe={class:"arguments-container"},Ce={key:0},Ne={key:1,class:"no-data"},we={key:0,class:"exception-card"},Le={class:"exception-container"},Ie=I({__name:"LocalJobDetail",setup(Te){const D=E(),j=M(),x=T(),_=B(),r=m(!0),f=m(!1),l=m(null);async function y(){r.value=!0;try{const o=D.params.id,n=await S(o);n.success?l.value=n.data:(l.value=null,_.error(a("Failed to load job detail")))}catch(o){console.error("Fetch job detail error:",o),l.value=null,_.error(a("Failed to load job detail"))}finally{r.value=!1}}async function C(){l.value&&x.error({title:a("Confirm Delete"),content:a("Are you sure you want to delete this job?"),positiveText:a("Delete"),negativeText:a("Cancel"),onPositiveClick:async()=>{f.value=!0;try{(await V(l.value.job_id)).success?(_.success(a("Job deleted successfully")),J()):_.error(a("Failed to delete job"))}catch(o){console.error("Delete error:",o),_.error(a("Failed to delete job"))}finally{f.value=!1}}})}function N(){y()}function J(){j.push({name:"LocalJobList"})}function v(o){if(!o)return"—";try{return new Date(o).toLocaleString()}catch{return o}}function w(o){return o?typeof o=="number"?`${o}s`:o:"—"}function L(o){try{const n=JSON.parse(o);return JSON.stringify(n,null,2)}catch{return o}}return A(()=>{y()}),(o,n)=>(u(),d("div",R,[e("div",q,[i(t(k),{justify:"space-between",align:"center"},{default:c(()=>[e("div",null,[e("h1",$,s(l.value?l.value.job_name||l.value.job_id:t(a)("Job Details")),1)]),i(t(k),{align:"center"},{default:c(()=>[i(t(b),{type:"default",size:"medium",onClick:N,disabled:r.value||!l.value,title:t(a)("Refresh"),class:"header-action-btn"},{icon:c(()=>[i(t(p),null,{default:c(()=>[i(t(g),{icon:"tabler:refresh"})]),_:1})]),_:1},8,["disabled","title"]),i(t(b),{type:"default",size:"medium",onClick:C,disabled:r.value||!l.value||f.value,title:t(a)("Delete"),class:"header-action-btn delete-btn"},{icon:c(()=>[i(t(p),null,{default:c(()=>[i(t(g),{icon:"tabler:trash"})]),_:1})]),_:1},8,["disabled","title"]),i(t(b),{type:"default",size:"medium",onClick:J,disabled:r.value},{icon:c(()=>[i(t(p),null,{default:c(()=>[i(t(g),{icon:"tabler:arrow-left"})]),_:1})]),default:c(()=>[h(" "+s(t(a)("Back")),1)]),_:1},8,["disabled"])]),_:1})]),_:1})]),e("div",P,[e("div",Q,[r.value?(u(),d("div",X,[n[0]||(n[0]=e("i",{class:"fa fa-spinner fa-spin"},null,-1)),h(" "+s(t(a)("Loading...")),1)])):l.value?(u(),d("div",G,[e("div",H,[e("h4",null,s(t(a)("Job Details")),1),e("div",K,[e("div",U,[e("label",null,s(t(a)("Job ID")),1),e("div",W,s(l.value.job_id),1)]),e("div",Z,[e("label",null,s(t(a)("Job Name")),1),e("div",ee,s(l.value.job_name||"—"),1)]),e("div",te,[e("label",null,s(t(a)("Queue")),1),e("div",se,[e("span",ae,s(t(a)(l.value.queue)),1)])]),e("div",le,[e("label",null,s(t(a)("Job Status")),1),e("div",oe,[e("span",{class:F(["status-badge",l.value.status])},s(t(a)(l.value.status)),3)])]),e("div",ie,[e("label",null,s(t(a)("Creation")),1),e("div",ne,s(v(l.value.creation)),1)]),e("div",ce,[e("label",null,s(t(a)("Modified")),1),e("div",de,s(v(l.value.modified)),1)]),e("div",ue,[e("label",null,s(t(a)("Owner")),1),e("div",re,s(l.value.owner||"—"),1)]),e("div",_e,[e("label",null,s(t(a)("Modified By")),1),e("div",ve,s(l.value.modified_by||"—"),1)])])]),e("div",fe,[e("h4",null,s(t(a)("Execution Time")),1),e("div",me,[e("div",he,[e("label",null,s(t(a)("Started At")),1),e("div",be,s(v(l.value.started_at)),1)]),e("div",pe,[e("label",null,s(t(a)("Ended At")),1),e("div",ge,s(v(l.value.ended_at)),1)]),e("div",ye,[e("label",null,s(t(a)("Time Taken")),1),e("div",Je,s(w(l.value.time_taken)),1)]),e("div",ke,[e("label",null,s(t(a)("Timeout")),1),e("div",De,s(l.value.timeout||"—"),1)])])]),e("div",je,[e("h4",null,s(t(a)("Job Arguments")),1),e("div",xe,[l.value.arguments?(u(),d("pre",Ce,s(L(l.value.arguments)),1)):(u(),d("div",Ne,s(t(a)("No arguments")),1))])]),l.value.exc_info?(u(),d("div",we,[e("h4",null,s(t(a)("Exception Info")),1),e("div",Le,[e("pre",null,s(l.value.exc_info),1)])])):z("",!0)])):(u(),d("div",Y,[n[1]||(n[1]=e("i",{class:"fa fa-exclamation-triangle"},null,-1)),h(" "+s(t(a)("Job not found")),1)]))])])]))}});const Ee=O(Ie,[["__scopeId","data-v-0f561628"]]);export{Ee as default};