bettertend/frontend/dist/assets/PartDetailView-BURhvJ9p.js

2 lines
8.7 KiB
JavaScript

import{r as p,c as z,o as H,i as A,b9 as E,w as r,s as U,v as $,g as n,d as i,e as o,F as v,b as t,k as d,a as u,j as c,t as a}from"./index-BUdRbiwj.js";import{u as T}from"./parts-B3aeW8xP.js";import{u as O,a as Q}from"./usePartDisplay-D-mkc8An.js";import{F as W,a as q}from"./FPPageHeader-CTG2L28r.js";import{F as w}from"./FPBadge-BKY5dPnL.js";const G={key:0,class:"flex justify-center items-center min-h-96"},J={key:1,class:"text-center py-12"},K={class:"text-gray-600 mb-6"},X={key:2,class:"px-6 py-8"},Y={class:"max-w-7xl mx-auto"},Z={class:"grid grid-cols-1 lg:grid-cols-3 gap-8"},tt={class:"lg:col-span-2 space-y-8"},et={class:"bg-white shadow rounded-lg p-6"},st={class:"grid grid-cols-1 sm:grid-cols-2 gap-4"},ot={class:"mt-1 text-sm text-gray-900"},at={class:"mt-1"},rt={class:"mt-1 text-sm text-gray-900"},lt={class:"mt-1 text-sm text-gray-900"},it={class:"mt-1 text-sm text-gray-900"},nt={class:"mt-1 text-sm text-gray-900"},dt={key:0,class:"mt-6"},ut={class:"mt-1 text-sm text-gray-900"},mt={class:"bg-white shadow rounded-lg p-6"},vt={class:"grid grid-cols-1 sm:grid-cols-3 gap-6"},ct={class:"text-center p-4 bg-blue-50 rounded-lg"},gt={class:"text-2xl font-semibold text-blue-600"},xt={class:"text-center p-4 bg-orange-50 rounded-lg"},pt={class:"text-2xl font-semibold text-orange-600"},ft={class:"text-center p-4 bg-green-50 rounded-lg"},yt={class:"text-2xl font-semibold text-green-600"},kt={class:"mt-4 flex items-center justify-center"},_t={key:0,class:"bg-white shadow rounded-lg p-6"},wt={key:0,class:"mb-6"},bt={class:"text-sm text-gray-900 whitespace-pre-wrap"},ht={key:1},Pt={class:"text-sm text-gray-900 whitespace-pre-wrap"},Ct={class:"space-y-6"},St={class:"bg-white shadow rounded-lg p-6"},Bt={class:"space-y-3"},jt={class:"bg-white shadow rounded-lg p-6"},Lt={class:"space-y-3 text-sm"},Mt={class:"flex justify-between"},Nt={class:"text-gray-900"},Vt={class:"flex justify-between"},Dt={class:"text-gray-900"},Rt={class:"flex justify-between"},Ft={class:"text-gray-900"},Tt={__name:"PartDetailView",setup(It){const b=U(),h=$(),f=T(),{getCategoryVariant:P,getStockLevelVariant:C,formatCategory:S,formatStockLevel:B,formatCurrency:y,formatPartNumber:j,formatSupplier:L,formatLocation:M,calculatePartValue:N}=Q(),{calculateStockLevel:k}=O(),g=p(!0),m=p(null),s=p(null),V=z(()=>{var l;return[{text:"Inventory",to:"/inventory"},{text:"Parts",to:"/inventory/parts"},{text:((l=s.value)==null?void 0:l.name)||"Part Details",to:null}]}),D=async()=>{const l=parseInt(b.params.id);try{g.value=!0,m.value=null,s.value=f.getPartById(l),s.value||(s.value=await f.fetchPartById(l)),s.value||(m.value="Part not found")}catch(e){m.value=e.message||"Failed to load part",console.error("Error loading part:",e)}finally{g.value=!1}},R=()=>{h.push(`/inventory/parts?edit=${s.value.id}`)},_=()=>{console.log("Restock part:",s.value.id)},F=()=>{console.log("Reserve part:",s.value.id)},I=()=>{console.log("View history for part:",s.value.id)},x=l=>l?new Date(l).toLocaleDateString("en-US",{month:"short",day:"numeric",year:"numeric"}):null;return H(()=>{D()}),(l,e)=>(n(),A(W,null,E({default:r(()=>[g.value?(n(),u("div",G,e[1]||(e[1]=[t("div",{class:"animate-spin rounded-full h-12 w-12 border-b-2 border-primary-600"},null,-1)]))):m.value?(n(),u("div",J,[e[3]||(e[3]=t("div",{class:"text-red-600 mb-4"},[t("svg",{class:"w-16 h-16 mx-auto",fill:"none",viewBox:"0 0 24 24",stroke:"currentColor"},[t("path",{"stroke-linecap":"round","stroke-linejoin":"round","stroke-width":"2",d:"M12 8v4m0 4h.01M21 12a9 9 0 11-18 0 9 9 0 0118 0z"})])],-1)),e[4]||(e[4]=t("h3",{class:"text-lg font-medium text-gray-900 mb-2"},"Part Not Found",-1)),t("p",K,a(m.value),1),i(o(v),{onClick:e[0]||(e[0]=zt=>l.$router.push("/inventory/parts"))},{default:r(()=>e[2]||(e[2]=[d(" Back to Parts List ",-1)])),_:1,__:[2]})])):c("",!0),s.value?(n(),u("div",X,[t("div",Y,[t("div",Z,[t("div",tt,[t("div",et,[e[14]||(e[14]=t("h3",{class:"text-lg font-medium text-gray-900 mb-4"},"Basic Information",-1)),t("dl",st,[t("div",null,[e[7]||(e[7]=t("dt",{class:"text-sm font-medium text-gray-500"},"Part Number",-1)),t("dd",ot,a(o(j)(s.value.partNumber)),1)]),t("div",null,[e[8]||(e[8]=t("dt",{class:"text-sm font-medium text-gray-500"},"Category",-1)),t("dd",at,[i(o(w),{variant:o(P)(s.value.category)},{default:r(()=>[d(a(o(S)(s.value.category)),1)]),_:1},8,["variant"])])]),t("div",null,[e[9]||(e[9]=t("dt",{class:"text-sm font-medium text-gray-500"},"Manufacturer",-1)),t("dd",rt,a(s.value.manufacturer||"Not specified"),1)]),t("div",null,[e[10]||(e[10]=t("dt",{class:"text-sm font-medium text-gray-500"},"Supplier",-1)),t("dd",lt,a(o(L)(s.value.supplier)),1)]),t("div",null,[e[11]||(e[11]=t("dt",{class:"text-sm font-medium text-gray-500"},"Storage Location",-1)),t("dd",it,a(o(M)(s.value.location)),1)]),t("div",null,[e[12]||(e[12]=t("dt",{class:"text-sm font-medium text-gray-500"},"Unit Cost",-1)),t("dd",nt,a(o(y)(s.value.unitCost)),1)])]),s.value.description?(n(),u("div",dt,[e[13]||(e[13]=t("dt",{class:"text-sm font-medium text-gray-500"},"Description",-1)),t("dd",ut,a(s.value.description),1)])):c("",!0)]),t("div",mt,[e[18]||(e[18]=t("h3",{class:"text-lg font-medium text-gray-900 mb-4"},"Inventory Status",-1)),t("div",vt,[t("div",ct,[t("div",gt,a(s.value.currentStock||0),1),e[15]||(e[15]=t("div",{class:"text-sm text-blue-600 mt-1"},"Current Stock",-1))]),t("div",xt,[t("div",pt,a(s.value.minStock||0),1),e[16]||(e[16]=t("div",{class:"text-sm text-orange-600 mt-1"},"Minimum Stock",-1))]),t("div",ft,[t("div",yt,a(o(y)(o(N)(s.value))),1),e[17]||(e[17]=t("div",{class:"text-sm text-green-600 mt-1"},"Total Value",-1))])]),t("div",kt,[i(o(w),{variant:o(C)(o(k)(s.value)),size:"lg"},{default:r(()=>[d(a(o(B)(o(k)(s.value))),1)]),_:1},8,["variant"])])]),s.value.specifications||s.value.notes?(n(),u("div",_t,[e[21]||(e[21]=t("h3",{class:"text-lg font-medium text-gray-900 mb-4"},"Additional Details",-1)),s.value.specifications?(n(),u("div",wt,[e[19]||(e[19]=t("dt",{class:"text-sm font-medium text-gray-500 mb-2"},"Specifications",-1)),t("dd",bt,a(s.value.specifications),1)])):c("",!0),s.value.notes?(n(),u("div",ht,[e[20]||(e[20]=t("dt",{class:"text-sm font-medium text-gray-500 mb-2"},"Notes",-1)),t("dd",Pt,a(s.value.notes),1)])):c("",!0)])):c("",!0)]),t("div",Ct,[t("div",St,[e[25]||(e[25]=t("h3",{class:"text-lg font-medium text-gray-900 mb-4"},"Quick Actions",-1)),t("div",Bt,[i(o(v),{variant:"outline",size:"sm",class:"w-full justify-start",onClick:_},{default:r(()=>e[22]||(e[22]=[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:"M12 4v16m8-8H4"})],-1),d(" Restock Part ",-1)])),_:1,__:[22]}),i(o(v),{variant:"outline",size:"sm",class:"w-full justify-start",onClick:F},{default:r(()=>e[23]||(e[23]=[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:"M5 13l4 4L19 7"})],-1),d(" Reserve for Work Order ",-1)])),_:1,__:[23]}),i(o(v),{variant:"outline",size:"sm",class:"w-full justify-start",onClick:I},{default:r(()=>e[24]||(e[24]=[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:"M12 8v4l3 3m6-3a9 9 0 11-18 0 9 9 0 0118 0z"})],-1),d(" View History ",-1)])),_:1,__:[24]})])]),t("div",jt,[e[29]||(e[29]=t("h3",{class:"text-lg font-medium text-gray-900 mb-4"},"Related Information",-1)),t("div",Lt,[t("div",Mt,[e[26]||(e[26]=t("span",{class:"text-gray-500"},"Last Restocked",-1)),t("span",Nt,a(x(s.value.lastRestocked)||"Never"),1)]),t("div",Vt,[e[27]||(e[27]=t("span",{class:"text-gray-500"},"Created",-1)),t("span",Dt,a(x(s.value.createdAt)),1)]),t("div",Rt,[e[28]||(e[28]=t("span",{class:"text-gray-500"},"Last Updated",-1)),t("span",Ft,a(x(s.value.updatedAt)),1)])])])])])])])):c("",!0)]),_:2},[!g.value&&!m.value&&s.value?{name:"header",fn:r(()=>[i(q,{title:s.value.name,description:s.value.description||"Part Details",breadcrumbs:V.value},{actions:r(()=>[i(o(v),{variant:"secondary",onClick:R},{default:r(()=>e[5]||(e[5]=[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),d(" Edit Part ",-1)])),_:1,__:[5]}),i(o(v),{variant:"primary",onClick:_},{default:r(()=>e[6]||(e[6]=[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:"M12 4v16m8-8H4"})],-1),d(" Restock ",-1)])),_:1,__:[6]})]),_:1},8,["title","description","breadcrumbs"])]),key:"0"}:void 0]),1024))}};export{Tt as default};