cmms/frontend/dist/assets/WorkOrderDetailView-UFwsRvY...

2 lines
14 KiB
JavaScript

import{_ as P,q as M,r as f,c as _,o as I,a as o,j as n,b as t,t as r,d as l,w as u,e as v,F as k,f as L,af as B,aQ as U,s as W,v as H,g as i,k as m}from"./index-BUdRbiwj.js";import{F as g}from"./FPBadge-BKY5dPnL.js";import{T as j}from"./TimeTracker-Ch4gtOrh.js";import{T as Z,A as q,P as F}from"./AudioRecorder-CcKMXbWt.js";import{D as G}from"./DigitalSignature-B20bSUAg.js";import{C as z,S as J}from"./StatusHistory-DeozEdNs.js";import"./FPInput-CzR_dWoe.js";import"./FPSelect-C7p47Ma2.js";import"./FPCheckbox-Bu8jNAEW.js";import"./workOrder-jNxj_kjQ.js";const $={class:"work-order-detail"},Q={key:0,class:"flex items-center justify-center min-h-96"},K={key:1,class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},X={class:"bg-red-50 border border-red-200 rounded-lg p-6"},Y={class:"flex"},tt={class:"ml-3"},et={class:"text-sm text-red-700 mt-1"},st={class:"mt-4"},rt={key:2,class:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-8"},at={class:"mb-8"},ot={class:"flex items-center justify-between"},it={class:"flex","aria-label":"Breadcrumb"},dt={class:"flex items-center space-x-4"},lt={class:"text-gray-500"},nt={class:"mt-2 flex items-center"},ut={class:"text-2xl font-bold text-gray-900"},mt={class:"flex space-x-2"},vt={class:"grid grid-cols-1 lg:grid-cols-3 gap-8"},ct={class:"lg:col-span-2 space-y-8"},gt={class:"bg-white shadow rounded-lg p-6"},pt={class:"grid grid-cols-1 gap-x-4 gap-y-6 sm:grid-cols-2"},yt={class:"mt-1 text-sm text-gray-900"},xt={class:"mt-1"},ft={class:"mt-1"},_t={class:"mt-1 text-sm text-gray-900"},kt={key:0},ht={class:"mt-1 text-sm text-gray-900"},wt={key:1},bt={class:"mt-1 text-sm text-gray-900"},St={key:0,class:"mt-6"},Nt={class:"mt-1 text-sm text-gray-900"},Tt={key:0,class:"bg-white shadow rounded-lg p-6"},Ct={class:"bg-white shadow rounded-lg p-6"},Dt={class:"bg-white shadow rounded-lg p-6"},Et={key:1,class:"bg-white shadow rounded-lg p-6"},Ot={class:"space-y-6"},Rt={class:"bg-white shadow rounded-lg p-6"},Vt={class:"space-y-4"},At={key:0},Pt={class:"mt-1 flex items-center"},Mt={class:"flex-shrink-0 h-8 w-8 bg-gray-300 rounded-full flex items-center justify-center"},It={class:"text-sm font-medium text-gray-700"},Lt={class:"ml-3"},Bt={class:"text-sm font-medium text-gray-900"},Ut={class:"text-sm text-gray-500"},Wt={key:1},Ht={class:"mt-1 space-y-2"},jt={class:"flex-shrink-0 h-6 w-6 bg-gray-300 rounded-full flex items-center justify-center"},Zt={class:"text-xs font-medium text-gray-700"},qt={class:"ml-3"},Ft={class:"text-sm text-gray-900"},Gt={class:"bg-white shadow rounded-lg p-6"},zt={class:"space-y-4"},Jt={key:0},$t={class:"mt-1 text-sm text-gray-900"},Qt={class:"text-xs text-gray-500"},Kt={key:1},Xt={class:"mt-1 text-sm text-gray-900"},Yt={key:0,class:"text-xs text-gray-500"},te={key:2},ee={class:"mt-1"},se={key:0,class:"bg-white shadow rounded-lg p-6"},re={class:"bg-white shadow rounded-lg p-6"},ae={class:"bg-white shadow rounded-lg p-6"},oe={__name:"WorkOrderDetailView",props:{id:{type:[String,Number],required:!0}},setup(T){W(),H();const C=M(),h=T,s=f(null),x=f(!0),p=f(null),y=_(()=>C.user),c=_(()=>{var a;return((a=s.value)==null?void 0:a.status)==="COMPLETED"}),D=_(()=>{var a,e;return((a=s.value)==null?void 0:a.status)==="IN_PROGRESS"||((e=s.value)==null?void 0:e.status)==="COMPLETED"}),w=async()=>{try{x.value=!0,p.value=null,await new Promise(a=>setTimeout(a,1e3)),s.value={id:h.id,workOrderId:`WO-${String(h.id).padStart(6,"0")}`,title:"Repair Conveyor Belt Motor",description:"The conveyor belt motor in the production line has been making unusual noises and requires inspection and repair.",status:"IN_PROGRESS",priority:"HIGH",createdAt:"2024-01-15T08:00:00Z",dueDate:"2024-01-17T17:00:00Z",estimatedDuration:4,primaryUser:{id:1,firstName:"John",lastName:"Smith",email:"john.smith@company.com"},assignedTo:[{id:2,firstName:"Jane",lastName:"Doe",email:"jane.doe@company.com"}],asset:{id:1,name:"Conveyor Belt System A1",assetNumber:"CBT-001"},location:{id:1,name:"Production Floor A",description:"Main manufacturing area"},category:{id:1,name:"Mechanical Repair"},tasks:[{id:1,title:"Inspect motor bearings",description:"Check for wear and tear",completed:!0,required:!0,estimatedDuration:1,completedAt:"2024-01-15T10:30:00Z",completedBy:{id:1,firstName:"John",lastName:"Smith"},order:0},{id:2,title:"Replace worn components",description:"Replace any damaged parts found during inspection",completed:!1,required:!0,estimatedDuration:2,order:1}],timeEntries:[{id:1,type:"timer",duration:2.5,description:"Initial inspection and diagnosis",startTime:"2024-01-15T08:00:00Z",endTime:"2024-01-15T10:30:00Z",user:{id:1,firstName:"John",lastName:"Smith"},hourlyRate:55,date:"2024-01-15"}],audioRecordings:[{id:1,title:"Initial Inspection Notes",description:"Motor sounds and initial observations",duration:120,size:256e4,createdAt:"2024-01-15T08:30:00Z",user:{id:1,firstName:"John",lastName:"Smith"},transcription:"Motor is making grinding noise, likely bearing issue. Will need to disassemble for full inspection.",transcriptionConfidence:.92}],parts:[{id:1,partId:101,name:"Motor Bearing Set",partNumber:"BRG-M15",quantityUsed:1,unitPrice:45,totalCost:45}],signature:null,statusHistory:[{id:1,status:"OPEN",changedAt:"2024-01-15T08:00:00Z",changedBy:{id:1,firstName:"System",lastName:"Admin"},comment:"Work order created"},{id:2,status:"IN_PROGRESS",changedAt:"2024-01-15T08:15:00Z",changedBy:{id:1,firstName:"John",lastName:"Smith"},comment:"Started work on motor inspection"}]}}catch(a){p.value=a.message||"Failed to load work order"}finally{x.value=!1}},E=a=>{console.log("Time entry saved:",a)},O=a=>{console.log("Recording saved:",a)},R=a=>{console.log("Signature saved:",a)},V=()=>{confirm("Are you sure you want to mark this work order as completed?")&&(s.value.status="COMPLETED",console.log("Work order completed"))},b=a=>({OPEN:"info",IN_PROGRESS:"warning",ON_HOLD:"secondary",COMPLETED:"success",CANCELLED:"error"})[a]||"secondary",S=a=>({LOW:"success",MEDIUM:"warning",HIGH:"error",CRITICAL:"error"})[a]||"secondary",N=a=>a?new Date(a).toLocaleString("en-US",{year:"numeric",month:"short",day:"numeric",hour:"2-digit",minute:"2-digit"}):"Not set";return I(()=>{w()}),(a,e)=>{const A=L("router-link");return i(),o("div",$,[x.value?(i(),o("div",Q,e[6]||(e[6]=[t("div",{class:"text-center"},[t("div",{class:"animate-spin rounded-full h-12 w-12 border-b-2 border-blue-600 mx-auto mb-4"}),t("p",{class:"text-gray-600"},"Loading work order...")],-1)]))):p.value?(i(),o("div",K,[t("div",X,[t("div",Y,[e[9]||(e[9]=t("svg",{class:"w-6 h-6 text-red-400",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 9v2m0 4h.01m-6.938 4h13.856c1.54 0 2.502-1.667 1.732-2.5L13.732 4c-.77-.833-1.854-.833-2.598 0L3.732 16.5c-.77.833.192 2.5 1.732 2.5z"})],-1)),t("div",tt,[e[8]||(e[8]=t("h3",{class:"text-sm font-medium text-red-800"},"Error Loading Work Order",-1)),t("p",et,r(p.value),1),t("div",st,[l(v(k),{variant:"outline",size:"sm",onClick:w},{default:u(()=>e[7]||(e[7]=[m(" Try Again ",-1)])),_:1,__:[7]})])])])])])):s.value?(i(),o("div",rt,[t("div",at,[t("div",ot,[t("div",null,[t("nav",it,[t("ol",dt,[t("li",null,[l(A,{to:"/work-orders",class:"text-gray-400 hover:text-gray-500"},{default:u(()=>e[10]||(e[10]=[m(" Work Orders ",-1)])),_:1,__:[10]})]),e[11]||(e[11]=t("li",null,[t("svg",{class:"flex-shrink-0 h-5 w-5 text-gray-300",fill:"currentColor",viewBox:"0 0 20 20"},[t("path",{"fill-rule":"evenodd",d:"M7.293 14.707a1 1 0 010-1.414L10.586 10 7.293 6.707a1 1 0 011.414-1.414l4 4a1 1 0 010 1.414l-4 4a1 1 0 01-1.414 0z","clip-rule":"evenodd"})])],-1)),t("li",lt,r(s.value.workOrderId),1)])]),t("div",nt,[t("h1",ut,r(s.value.title),1),l(v(g),{variant:b(s.value.status),class:"ml-4"},{default:u(()=>[m(r(s.value.status),1)]),_:1},8,["variant"]),l(v(g),{variant:S(s.value.priority),class:"ml-2"},{default:u(()=>[m(r(s.value.priority),1)]),_:1},8,["variant"])])]),t("div",mt,[l(v(k),{variant:"outline",onClick:e[0]||(e[0]=d=>a.$router.push(`/work-orders/${s.value.id}/edit`))},{default:u(()=>e[12]||(e[12]=[t("svg",{class:"w-4 h-4 mr-2",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M11 5H6a2 2 0 00-2 2v11a2 2 0 002 2h11a2 2 0 002-2v-5m-1.414-9.414a2 2 0 112.828 2.828L11.828 15H9v-2.828l8.586-8.586z"})],-1),m(" Edit ",-1)])),_:1,__:[12]}),l(v(k),{variant:"primary",onClick:V},{default:u(()=>e[13]||(e[13]=[m(" Complete Work Order ",-1)])),_:1,__:[13]})])])]),t("div",vt,[t("div",ct,[t("div",gt,[e[21]||(e[21]=t("h2",{class:"text-lg font-medium text-gray-900 mb-4"},"Work Order Details",-1)),t("dl",pt,[t("div",null,[e[14]||(e[14]=t("dt",{class:"text-sm font-medium text-gray-500"},"Work Order ID",-1)),t("dd",yt,r(s.value.workOrderId),1)]),t("div",null,[e[15]||(e[15]=t("dt",{class:"text-sm font-medium text-gray-500"},"Status",-1)),t("dd",xt,[l(v(g),{variant:b(s.value.status)},{default:u(()=>[m(r(s.value.status),1)]),_:1},8,["variant"])])]),t("div",null,[e[16]||(e[16]=t("dt",{class:"text-sm font-medium text-gray-500"},"Priority",-1)),t("dd",ft,[l(v(g),{variant:S(s.value.priority)},{default:u(()=>[m(r(s.value.priority),1)]),_:1},8,["variant"])])]),t("div",null,[e[17]||(e[17]=t("dt",{class:"text-sm font-medium text-gray-500"},"Created",-1)),t("dd",_t,r(N(s.value.createdAt)),1)]),s.value.dueDate?(i(),o("div",kt,[e[18]||(e[18]=t("dt",{class:"text-sm font-medium text-gray-500"},"Due Date",-1)),t("dd",ht,r(N(s.value.dueDate)),1)])):n("",!0),s.value.estimatedDuration?(i(),o("div",wt,[e[19]||(e[19]=t("dt",{class:"text-sm font-medium text-gray-500"},"Estimated Duration",-1)),t("dd",bt,r(s.value.estimatedDuration)+" hours",1)])):n("",!0)]),s.value.description?(i(),o("div",St,[e[20]||(e[20]=t("dt",{class:"text-sm font-medium text-gray-500"},"Description",-1)),t("dd",Nt,r(s.value.description),1)])):n("",!0)]),s.value.tasks&&s.value.tasks.length>0?(i(),o("div",Tt,[e[22]||(e[22]=t("h2",{class:"text-lg font-medium text-gray-900 mb-4"},"Tasks",-1)),l(Z,{modelValue:s.value.tasks,"onUpdate:modelValue":e[1]||(e[1]=d=>s.value.tasks=d),"work-order-id":s.value.id,"current-user":y.value,disabled:c.value},null,8,["modelValue","work-order-id","current-user","disabled"])])):n("",!0),t("div",Ct,[e[23]||(e[23]=t("h2",{class:"text-lg font-medium text-gray-900 mb-4"},"Time Tracking",-1)),l(j,{modelValue:s.value.timeEntries,"onUpdate:modelValue":e[2]||(e[2]=d=>s.value.timeEntries=d),"work-order-id":s.value.id,"current-user":y.value,"auto-save":!0,"use-server-timer":!0,disabled:c.value,onTimeEntrySaved:E},null,8,["modelValue","work-order-id","current-user","disabled"])]),t("div",Dt,[e[24]||(e[24]=t("h2",{class:"text-lg font-medium text-gray-900 mb-4"},"Audio Notes",-1)),l(q,{modelValue:s.value.audioRecordings,"onUpdate:modelValue":e[3]||(e[3]=d=>s.value.audioRecordings=d),"work-order-id":s.value.id,"current-user":y.value,"auto-transcribe":!0,"enable-visualization":!0,"enable-server-session":!0,disabled:c.value,onRecordingSaved:O},null,8,["modelValue","work-order-id","current-user","disabled"])]),D.value?(i(),o("div",Et,[e[25]||(e[25]=t("h2",{class:"text-lg font-medium text-gray-900 mb-4"},"Completion Signature",-1)),l(G,{modelValue:s.value.signature,"onUpdate:modelValue":e[4]||(e[4]=d=>s.value.signature=d),"work-order-id":s.value.id,"current-user":y.value,"auto-save":!0,"enable-validation":!0,disabled:c.value,onSignatureSaved:R},null,8,["modelValue","work-order-id","current-user","disabled"])])):n("",!0)]),t("div",Ot,[t("div",Rt,[e[28]||(e[28]=t("h3",{class:"text-lg font-medium text-gray-900 mb-4"},"Assignment",-1)),t("div",Vt,[s.value.primaryUser?(i(),o("div",At,[e[26]||(e[26]=t("dt",{class:"text-sm font-medium text-gray-500"},"Primary Assignee",-1)),t("dd",Pt,[t("div",Mt,[t("span",It,r(s.value.primaryUser.firstName[0])+r(s.value.primaryUser.lastName[0]),1)]),t("div",Lt,[t("p",Bt,r(s.value.primaryUser.firstName)+" "+r(s.value.primaryUser.lastName),1),t("p",Ut,r(s.value.primaryUser.email),1)])])])):n("",!0),s.value.assignedTo&&s.value.assignedTo.length>0?(i(),o("div",Wt,[e[27]||(e[27]=t("dt",{class:"text-sm font-medium text-gray-500"},"Team Members",-1)),t("dd",Ht,[(i(!0),o(B,null,U(s.value.assignedTo,d=>(i(),o("div",{key:d.id,class:"flex items-center"},[t("div",jt,[t("span",Zt,r(d.firstName[0])+r(d.lastName[0]),1)]),t("div",qt,[t("p",Ft,r(d.firstName)+" "+r(d.lastName),1)])]))),128))])])):n("",!0)])]),t("div",Gt,[e[32]||(e[32]=t("h3",{class:"text-lg font-medium text-gray-900 mb-4"},"Asset & Location",-1)),t("div",zt,[s.value.asset?(i(),o("div",Jt,[e[29]||(e[29]=t("dt",{class:"text-sm font-medium text-gray-500"},"Asset",-1)),t("dd",$t,r(s.value.asset.name),1),t("dd",Qt,r(s.value.asset.assetNumber),1)])):n("",!0),s.value.location?(i(),o("div",Kt,[e[30]||(e[30]=t("dt",{class:"text-sm font-medium text-gray-500"},"Location",-1)),t("dd",Xt,r(s.value.location.name),1),s.value.location.description?(i(),o("dd",Yt,r(s.value.location.description),1)):n("",!0)])):n("",!0),s.value.category?(i(),o("div",te,[e[31]||(e[31]=t("dt",{class:"text-sm font-medium text-gray-500"},"Category",-1)),t("dd",ee,[l(v(g),{variant:"secondary"},{default:u(()=>[m(r(s.value.category.name),1)]),_:1})])])):n("",!0)])]),s.value.parts&&s.value.parts.length>0?(i(),o("div",se,[e[33]||(e[33]=t("h3",{class:"text-lg font-medium text-gray-900 mb-4"},"Parts",-1)),l(F,{modelValue:s.value.parts,"onUpdate:modelValue":e[5]||(e[5]=d=>s.value.parts=d),"work-order-id":s.value.id,disabled:c.value,"view-mode":"summary"},null,8,["modelValue","work-order-id","disabled"])])):n("",!0),t("div",re,[e[34]||(e[34]=t("h3",{class:"text-lg font-medium text-gray-900 mb-4"},"Cost Summary",-1)),l(z,{"work-order-id":s.value.id,"time-entries":s.value.timeEntries,parts:s.value.parts,"view-mode":"summary"},null,8,["work-order-id","time-entries","parts"])]),t("div",ae,[e[35]||(e[35]=t("h3",{class:"text-lg font-medium text-gray-900 mb-4"},"Status History",-1)),l(J,{"work-order-id":s.value.id,"status-history":s.value.statusHistory,"view-mode":"compact"},null,8,["work-order-id","status-history"])])])])])):n("",!0)])}}},ye=P(oe,[["__scopeId","data-v-163ab4df"]]);export{ye as default};