2 lines
21 KiB
JavaScript
2 lines
21 KiB
JavaScript
var Re=Object.defineProperty;var ve=Object.getOwnPropertySymbols;var Me=Object.prototype.hasOwnProperty,Ue=Object.prototype.propertyIsEnumerable;var me=(E,_,y)=>_ in E?Re(E,_,{enumerable:!0,configurable:!0,writable:!0,value:y}):E[_]=y,pe=(E,_)=>{for(var y in _||(_={}))Me.call(_,y)&&me(E,y,_[y]);if(ve)for(var y of ve(_))Ue.call(_,y)&&me(E,y,_[y]);return E};var h=(E,_,y)=>new Promise((X,I)=>{var M=b=>{try{T(y.next(b))}catch(v){I(v)}},t=b=>{try{T(y.throw(b))}catch(v){I(v)}},T=b=>b.done?X(b.value):Promise.resolve(b.value).then(M,t);T((y=y.apply(E,_)).next())});import{ae as Be,V as Fe,a9 as ge,S as ze,au as K,ay as A,an as d,aA as ee,az as $,ax as te,bu as fe,bZ as ye,b_ as H,aC as _e,ac as Ve}from"./bootstrap-DhvYQWXT.js";import{g as Ge,a as Ke,b as $e}from"./index-C3Cr9hG_.js";import{c as He}from"./index-BqNPi1lt.js";import{_ as Ye}from"./cleaning-actions.vue_vue_type_script_setup_true_lang-DJR4dUzt.js";import We from"./cleaning-detail-ext-B2EiNLCO.js";import Xe from"./cleaning-work-progress-D3zFsxuu.js";import je from"./security-detail-ext-qyl601XF.js";import{u as Qe,O as Je,a as qe,S as Ze,b as et,c as tt,T as st}from"./data-BjDnY20i.js";import at from"./assign-form-CxM8GfYL.js";import ot from"./cancel-form-lu9WIO8X.js";import lt from"./security-assign-form-BFvgv3Sb.js";import rt from"./upgrade-priority-form-U0Adx7P-.js";import{D as C}from"./index-DgslQHMY.js";import{A as nt}from"./index-DQM6yXIQ.js";import{_ as it}from"./page.vue_vue_type_script_setup_true_lang-DQ4lnrNf.js";import{m as ut,b9 as S,aa as w,v as dt,aU as ct,aX as vt,x as mt,ab as f,b2 as n,bJ as l,j as a,u as e,ac as m,ae as s,ai as g,ad as p,bp as c,aT as O,aR as N,I as B,bb as Y,cT as F}from"../jse/index-index-rerQU-kO.js";import{u as pt}from"./use-tabs-_uUDaLy5.js";import{u as W}from"./use-modal-BGJvg0Kx.js";import"./index-UOivJgB5.js";import"./dict-enum-CaHgMaDZ.js";import"./index-BRyDEmPg.js";import"./tabbar-C739Ahi0.js";import"./x-DMlD3woK.js";const gt={class:"flex items-center justify-between"},ft={class:"flex items-center gap-3"},yt={class:"flex items-center gap-2"},_t={class:"text-base font-semibold"},bt={class:"mt-1.5 flex items-center gap-4 text-sm text-gray-500"},Et={class:"flex items-center gap-1"},Ct={class:"flex items-center gap-1"},Tt={class:"header-actions"},ht={class:"flex items-center gap-2"},Dt={class:"progress-actions"},It={class:"progress-summary"},kt={class:"summary-item"},xt={class:"summary-item"},At={class:"progress-steps-wrapper"},St={class:"progress-nodes"},wt={class:"progress-line"},Ot={class:"node-icon"},Nt={class:"node-label"},Pt={key:0,class:"node-time"},Lt={key:1,class:"node-badge"},Rt={key:0,class:"cancelled-banner"},Mt={key:1,class:"logs-expand-section"},Ut={key:0,class:"logs-simple-list"},Bt={class:"log-simple-left"},Ft={key:0,class:"log-simple-line"},zt={class:"log-simple-content"},Vt={class:"log-simple-header"},Gt={class:"log-simple-title-line"},Kt={key:0,class:"log-simple-msg"},$t={class:"log-simple-time"},Ht={class:"flex items-center gap-2"},Yt={class:"flex items-center gap-1"},Wt={class:"device-code"},Xt={key:0,class:"flex items-center gap-2"},jt={key:1,class:"flex items-center gap-2"},Qt={class:"flex items-center gap-1"},Jt={class:"flex items-center gap-1"},qt={class:"flex items-center gap-1"},Zt={class:"flex items-center gap-1"},es={class:"desc-text"},ts={class:"order-images"},ss={class:"flex items-center gap-2"},as={class:"badge-stats-compact"},os={class:"badge-row"},ls={key:0,class:"badge-row-value"},rs={class:"battery-bar-sm"},ns={key:1,class:"text-xs text-gray-400"},is={class:"badge-row"},us={class:"badge-row-value"},ds={key:0,class:"text-xs text-gray-500"},cs={class:"badge-row"},vs={key:0,class:"badge-row-value signal-strength"},ms={class:"signal-value"},ps={key:1,class:"text-xs text-gray-400"},gs={class:"badge-row"},fs={class:"badge-row-value text-sm"},z=!1,ys=ut({name:"WorkOrderDetail",__name:"index",setup(E){const _=Be(),y=Fe(),{closeTabByKey:X}=pt(),I=_.params.id,M=S(!0),t=S({}),T=S([]),b=S([]),v=S(null),U=S(),P=S(!1),be=[{key:"PENDING",title:"待分配",icon:"solar:inbox-line-bold-duotone",desc:"工单已创建,等待分配"},{key:"QUEUED",title:"排队中",icon:"solar:clock-circle-bold-duotone",desc:"执行人忙碌,任务排队"},{key:"DISPATCHED",title:"已推送",icon:"solar:transfer-horizontal-bold-duotone",desc:"已推送至执行人"},{key:"CONFIRMED",title:"已确认",icon:"solar:check-circle-bold-duotone",desc:"执行人已确认接单"},{key:"ARRIVED",title:"作业中",icon:"solar:play-circle-bold-duotone",desc:"正在执行作业"},{key:"COMPLETED",title:"已完成",icon:"solar:check-read-bold-duotone",desc:"工单已完成"}],se={system:{color:"#1677ff",bgColor:"#e6f4ff",icon:"solar:server-bold-duotone",label:"系统"},operation:{color:"#52c41a",bgColor:"#f6ffed",icon:"solar:user-check-bold-duotone",label:"操作"},alert:{color:"#fa8c16",bgColor:"#fff7e6",icon:"solar:bell-bold-duotone",label:"告警"},device:{color:"#722ed1",bgColor:"#f9f0ff",icon:"solar:bluetooth-wave-bold-duotone",label:"设备"}},_s={id:10001,orderCode:"WO20260123143025001",title:"A区洗手间紧急保洁",orderType:"CLEAN",status:"ARRIVED",priority:0,areaId:101,location:"A区 / 1楼洗手间",assigneeId:2001,assigneeName:"张三",createTime:"2026-01-23 14:30:25",triggerSource:"IOT_BEACON",triggerDeviceKey:"beacon_a1_toilet_001",startTime:"2026-01-23 14:45:00",extInfo:{cleaningType:"ROUTINE",expectedDuration:30,arrivedTime:new Date(Date.now()-15*60*1e3).toISOString()}},bs=[{status:"PENDING",statusName:"工单创建",time:"2026-01-23 14:30:25",operator:"系统",description:"蓝牙信标触发自动创建"},{status:"DISPATCHED",statusName:"已推送",time:"2026-01-23 14:31:02",operator:"系统",description:"推送至保洁员张三"},{status:"CONFIRMED",statusName:"已确认",time:"2026-01-23 14:32:15",operator:"张三",description:"保洁员确认接单"},{status:"ARRIVED",statusName:"已到岗",time:"2026-01-23 14:45:00",operator:"系统",description:"检测到保洁员到达"}],Es=[{id:1,type:"system",title:"工单自动创建",content:"蓝牙信标 beacon_a1_toilet_001 触发,系统自动创建保洁工单",operator:"系统",time:"2026-01-23 14:30:25",status:"PENDING"},{id:2,type:"system",title:"智能派单",content:"根据距离优先算法,自动分配给保洁员张三",operator:"系统",time:"2026-01-23 14:31:00",status:"DISPATCHED"},{id:3,type:"device",title:"工牌推送",content:"已向工牌设备 badge_zhangsan_001 发送震动提醒",operator:"系统",time:"2026-01-23 14:31:02",status:"DISPATCHED"},{id:4,type:"operation",title:"接单确认",content:"保洁员通过工牌按钮确认接受工单",operator:"张三",time:"2026-01-23 14:32:15",status:"CONFIRMED"},{id:5,type:"device",title:"位置检测",content:"工牌进入作业区域 A区洗手间,信号强度 -42dBm",operator:"系统",time:"2026-01-23 14:45:00",status:"ARRIVED"},{id:6,type:"alert",title:"电量预警",content:"工牌电量 72%,建议及时充电",operator:"系统",time:"2026-01-23 14:50:00",status:"ARRIVED",extra:{level:"warning"}},{id:7,type:"device",title:"心跳上报",content:"工牌状态正常,持续在区域内作业",operator:"系统",time:"2026-01-23 15:00:30",status:"ARRIVED"}],Ee={deviceId:3001,deviceKey:"badge_zhangsan_001",status:"BUSY",batteryLevel:72,lastHeartbeatTime:new Date(Date.now()-30*1e3).toISOString(),rssi:-42,isInArea:!0,areaId:101,areaName:"A区洗手间"},[Ce,Te]=W({connectedComponent:at,destroyOnClose:!0}),[he,De]=W({connectedComponent:lt,destroyOnClose:!0}),[Ie,ke]=W({connectedComponent:rt,destroyOnClose:!0}),[xe,Ae]=W({connectedComponent:ot,destroyOnClose:!0}),{getPriorityInfo:V}=Qe(),k=w(()=>t.value.orderType==="CLEAN"),L=w(()=>t.value.orderType==="SECURITY"),ae=w(()=>k.value&&t.value.extInfo&&["ARRIVED","COMPLETED"].includes(t.value.status)),oe=w(()=>{const r=t.value.extInfo;if(!r)return[];const o=[];!L.value&&r.imageUrl&&o.push(r.imageUrl);const i=r.images;if(i)try{const u=typeof i=="string"?JSON.parse(i):i;Array.isArray(u)&&o.push(...u)}catch(u){}return o}),G=w(()=>{const r=new Set(["ARRIVED","COMPLETED","CONFIRMED","DISPATCHED","PENDING"]),o=new Set(T.value.map(u=>u.status)),i=t.value.status;return be.filter(u=>r.has(u.key)?!0:u.key==="QUEUED"?o.has("QUEUED"):o.has(u.key)||i===u.key)}),D=w(()=>{if(t.value.status==="CANCELLED")return-1;if(t.value.status==="PAUSED")return G.value.findIndex(o=>o.key==="ARRIVED");const r=G.value.findIndex(o=>o.key===t.value.status);return Math.max(r,0)}),le=w(()=>[...b.value].toSorted((r,o)=>new Date(o.time).getTime()-new Date(r.time).getTime()));function re(r){return se[r]||se.system}function R(r){const o=Date.now(),i=new Date(r).getTime(),u=o-i;return u<6e4?"刚刚":u<36e5?`${Math.floor(u/6e4)} 分钟前`:u<864e5?`${Math.floor(u/36e5)} 小时前`:F(r)}function j(){return h(this,null,function*(){M.value=!0;try{z||(t.value=yield He(I),yield Promise.all([Se(),we()]),k.value&&t.value.assigneeId&&(yield ne()))}catch(r){console.error("❌ 工单详情加载失败:",r),ge.error("获取工单详情失败"),Q()}finally{M.value=!1}})}function Se(){return h(this,null,function*(){try{if(!z){const r=yield Ge(I);T.value=r.timeline||[]}}catch(r){T.value=[]}})}function we(){return h(this,null,function*(){try{if(!z){const r=yield Ke(I);b.value=r.logs||[]}}catch(r){b.value=[]}})}function ne(){return h(this,null,function*(){if(t.value.assigneeId)try{v.value=z?pe({},Ee):yield $e(t.value.assigneeId)}catch(r){console.error("❌ 工牌状态加载失败:",r),v.value=null}})}function x(){return h(this,null,function*(){yield j()})}function Q(){return h(this,null,function*(){const r=_.fullPath;y.back(),setTimeout(()=>{X(r)},100)})}function ie(){L.value?De.setData({orderId:t.value.id,orderCode:t.value.orderCode,location:t.value.location,description:t.value.description}).open():Te.setData({orderId:t.value.id,orderCode:t.value.orderCode}).open()}function Oe(){ke.setData({orderId:t.value.id,orderCode:t.value.orderCode,currentPriority:t.value.priority}).open()}function Ne(){Ae.setData({orderId:t.value.id,orderCode:t.value.orderCode,title:t.value.title}).open()}function J(r){return r===null?"#d9d9d9":r<=20?"#f5222d":r<=50?"#fa8c16":"#52c41a"}function Pe(r){switch(r==null?void 0:r.toUpperCase()){case"BUSY":return"作业中";case"IDLE":return"空闲";case"OFFLINE":return"离线";case"PAUSED":return"暂停";default:return r||"未知"}}function Le(r){return(r==null?void 0:r.toUpperCase())==="BUSY"}function ue(){q(),U.value=window.setInterval(()=>{k.value&&t.value.status==="ARRIVED"&&t.value.assigneeId&&ne()},3e4)}function q(){U.value&&(clearInterval(U.value),U.value=null)}return dt(()=>h(null,null,function*(){if(!I&&!z){ge.warning("参数错误"),Q();return}yield j(),ue()})),ct(()=>h(null,null,function*(){U.value||(yield j(),ue())})),vt(q),mt(q),(r,o)=>(n(),f(e(it),null,{default:l(()=>[a(e(Ce),{onSuccess:x}),a(e(he),{onSuccess:x}),a(e(Ie),{onSuccess:x}),a(e(xe),{onSuccess:x}),a(e(ze),{spinning:M.value},{default:l(()=>[a(e(K),{"body-style":{padding:"12px 20px"},class:"detail-header mb-3"},{default:l(()=>[s("div",gt,[s("div",ft,[a(e(A),{size:"small",onClick:Q},{default:l(()=>[a(e(d),{icon:"ant-design:arrow-left-outlined",class:"mr-1"}),o[1]||(o[1]=g(" 返回 ",-1))]),_:1}),a(e(ee),{type:"vertical",class:"h-6"}),s("div",null,[s("div",yt,[s("span",_t,c(t.value.title),1),t.value.orderType?(n(),f(e($),{key:0,color:e(Je)[t.value.orderType],class:"status-tag"},{default:l(()=>[a(e(d),{icon:L.value?"solar:shield-warning-bold-duotone":k.value?"solar:broom-bold-duotone":"solar:wrench-bold-duotone",class:"mr-1"},null,8,["icon"]),g(" "+c(e(qe)[t.value.orderType]),1)]),_:1},8,["color"])):m("",!0),a(e($),{color:e(Ze)[t.value.status],class:"status-tag"},{default:l(()=>[a(e(d),{icon:e(et)[t.value.status]||"solar:circle-bold",class:"mr-1"},null,8,["icon"]),g(" "+c(e(tt)[t.value.status]),1)]),_:1},8,["color"]),t.value.priority!=null?(n(),p("span",{key:1,class:N(["priority-badge inline-flex items-center gap-1 rounded-full px-2 py-0.5 text-xs font-medium",{"animate-pulse":Number(t.value.priority)===0}]),style:O(e(V)(t.value.priority).style)},[e(V)(t.value.priority).icon?(n(),f(e(d),{key:0,icon:e(V)(t.value.priority).icon},null,8,["icon"])):m("",!0),g(" "+c(e(V)(t.value.priority).label),1)],6)):m("",!0)]),s("div",bt,[s("span",Et,[a(e(d),{icon:"solar:document-text-bold-duotone"}),g(" "+c(t.value.orderCode),1)]),s("span",Ct,[a(e(d),{icon:"solar:map-point-bold-duotone"}),g(" "+c(t.value.location||"-"),1)])])])]),s("div",Tt,[t.value.status!=="COMPLETED"&&t.value.status!=="CANCELLED"?(n(),p(B,{key:0},[t.value.status==="PENDING"?(n(),f(e(A),{key:0,type:"primary",size:"small",onClick:ie},{default:l(()=>[a(e(d),{icon:"solar:user-plus-bold-duotone",class:"mr-1"}),o[2]||(o[2]=g(" 分配执行人 ",-1))]),_:1})):m("",!0),k.value?(n(),f(Ye,{key:1,order:t.value,onRefresh:x},null,8,["order"])):m("",!0),Number(t.value.priority)!==0?(n(),f(e(A),{key:2,size:"small",danger:"",ghost:"",onClick:Oe},{default:l(()=>[a(e(d),{icon:"solar:bolt-bold-duotone",class:"mr-1"}),o[3]||(o[3]=g(" 升级P0 ",-1))]),_:1})):m("",!0),a(e(A),{size:"small",danger:"",ghost:"",onClick:Ne},{default:l(()=>[a(e(d),{icon:"solar:close-circle-bold-duotone",class:"mr-1"}),o[4]||(o[4]=g(" 取消 ",-1))]),_:1}),a(e(ee),{type:"vertical",class:"header-divider"})],64)):m("",!0),a(e(te),{title:"刷新数据"},{default:l(()=>[a(e(A),{size:"small",shape:"circle",onClick:x},{default:l(()=>[a(e(d),{icon:"ant-design:reload-outlined"})]),_:1})]),_:1})])])]),_:1}),a(e(K),{class:"progress-overview-card mb-3"},{title:l(()=>[s("div",ht,[a(e(d),{icon:"solar:routing-2-bold-duotone",class:"text-blue-500"}),o[5]||(o[5]=s("span",null,"工单进度",-1))])]),extra:l(()=>[s("div",Dt,[s("div",It,[s("span",kt,[a(e(d),{icon:"solar:clock-circle-bold-duotone",class:"text-gray-400"}),g(" 创建于 "+c(R(t.value.createTime)),1)]),a(e(ee),{type:"vertical"}),s("span",xt,[a(e(d),{icon:"solar:document-text-bold-duotone",class:"text-gray-400"}),g(" "+c(b.value.length)+" 条日志 ",1)])]),a(e(te),{title:P.value?"收起日志":"查看业务日志"},{default:l(()=>[a(e(A),{type:"text",size:"small",class:N(["logs-toggle-btn",{"logs-toggle-active":P.value}]),onClick:o[0]||(o[0]=i=>P.value=!P.value)},{default:l(()=>[a(e(d),{icon:"solar:notebook-bold-duotone",class:"mr-1"}),o[6]||(o[6]=s("span",null,"日志",-1)),a(e(d),{icon:P.value?"solar:alt-arrow-up-linear":"solar:alt-arrow-down-linear",class:"ml-1 transition-transform"},null,8,["icon"])]),_:1},8,["class"])]),_:1},8,["title"])])]),default:l(()=>[s("div",At,[s("div",St,[s("div",wt,[s("div",{class:N(["progress-line-fill",{"line-all-completed":t.value.status==="COMPLETED"}]),style:O({width:`${Math.max(0,D.value/(G.value.length-1)*100)}%`})},null,6)]),(n(!0),p(B,null,Y(G.value,(i,u)=>{var de,ce;return n(),p("div",{key:i.key,class:N(["progress-node",{"node-completed":u<D.value,"node-current":u===D.value&&!["CANCELLED","COMPLETED"].includes(t.value.status),"node-completed-current":u===D.value&&t.value.status==="COMPLETED","node-pending":u>D.value,"node-cancelled":t.value.status==="CANCELLED"}])},[a(e(te),{title:i.desc},{default:l(()=>[s("div",Ot,[a(e(d),{icon:i.icon},null,8,["icon"])])]),_:2},1032,["title"]),s("div",Nt,c(i.title),1),u<D.value||u===D.value&&t.value.status==="COMPLETED"?(n(),p("div",Pt,c((de=T.value.find(Z=>Z.status===i.key))!=null&&de.time?R(((ce=T.value.find(Z=>Z.status===i.key))==null?void 0:ce.time)||""):i.key==="PENDING"?R(t.value.createTime):i.key==="COMPLETED"&&t.value.endTime?R(t.value.endTime):""),1)):u===D.value&&t.value.status!=="CANCELLED"&&t.value.status!=="COMPLETED"?(n(),p("div",Lt,[...o[7]||(o[7]=[s("span",{class:"badge-dot"},null,-1),g(" 进行中 ",-1)])])):m("",!0)],2)}),128))])]),t.value.status==="CANCELLED"?(n(),p("div",Rt,[a(e(d),{icon:"solar:close-circle-bold-duotone"}),o[8]||(o[8]=s("span",null,"工单已取消",-1))])):m("",!0),P.value?(n(),p("div",Mt,[b.value.length>0?(n(),p("div",Ut,[(n(!0),p(B,null,Y(le.value,(i,u)=>(n(),p("div",{key:i.id,class:"log-simple-item"},[s("div",Bt,[s("div",{class:"log-simple-dot",style:O({backgroundColor:re(i.type).color})},null,4),u<le.value.length-1?(n(),p("div",Ft)):m("",!0)]),s("div",zt,[s("div",Vt,[s("span",Gt,[s("span",{class:"log-simple-title",style:O({color:re(i.type).color})},c(i.title),5),i.content?(n(),p("span",Kt,c(i.content),1)):m("",!0)]),s("span",$t,c(R(i.time)),1)])])]))),128))])):(n(),f(e(fe),{key:1,description:"暂无日志",image:e(fe).PRESENTED_IMAGE_SIMPLE,class:"logs-empty"},null,8,["image"]))])):m("",!0)]),_:1}),L.value?(n(),f(je,{key:0,order:t.value},null,8,["order"])):m("",!0),a(e(ye),{gutter:12,class:"info-row"},{default:l(()=>[a(e(H),{span:ae.value?17:24},{default:l(()=>[a(e(K),{class:"info-card mb-3"},{title:l(()=>[s("div",Ht,[a(e(d),{icon:"solar:info-circle-bold-duotone",class:"text-blue-500"}),o[9]||(o[9]=s("span",null,"基础信息",-1))])]),default:l(()=>[a(e(C),{column:3,bordered:"",size:"small",class:"custom-descriptions"},{default:l(()=>[a(e(C).Item,{label:"触发来源"},{default:l(()=>[s("span",Yt,[a(e(d),{icon:L.value?"solar:shield-warning-bold-duotone":"solar:bluetooth-wave-bold-duotone",class:N(L.value?"text-red-400":"text-blue-400")},null,8,["icon","class"]),g(" "+c(e(st)[t.value.triggerSource||t.value.sourceType||""]||"-"),1)])]),_:1}),t.value.triggerDeviceKey?(n(),f(e(C).Item,{key:0,label:"触发设备"},{default:l(()=>[s("code",Wt,c(t.value.triggerDeviceKey),1)]),_:1})):m("",!0),a(e(C).Item,{label:"执行人"},{default:l(()=>[t.value.assigneeId?(n(),p("div",Xt,[a(e(nt),{size:24,class:"assignee-avatar"},{default:l(()=>{var i;return[g(c(((i=t.value.assigneeName)==null?void 0:i.charAt(0))||"?"),1)]}),_:1}),s("span",null,c(t.value.assigneeName||"未知"),1),k.value&&v.value?(n(),f(e($),{key:0,color:Le(v.value.status)?"processing":"default",size:"small"},{default:l(()=>[g(c(Pe(v.value.status)),1)]),_:1},8,["color"])):m("",!0)])):(n(),p("div",jt,[o[11]||(o[11]=s("span",{class:"text-gray-400"},"暂未分配",-1)),a(e(A),{type:"link",size:"small",class:"p-0",onClick:ie},{default:l(()=>[...o[10]||(o[10]=[g(" 立即分配 ",-1)])]),_:1})]))]),_:1}),a(e(C).Item,{label:"创建时间"},{default:l(()=>[s("span",Qt,[a(e(d),{icon:"solar:calendar-bold-duotone",class:"text-gray-400"}),g(" "+c(e(F)(t.value.createTime)),1)])]),_:1}),t.value.startTime?(n(),f(e(C).Item,{key:1,label:"开始时间"},{default:l(()=>[s("span",Jt,[a(e(d),{icon:"solar:play-circle-bold-duotone",class:"text-green-400"}),g(" "+c(e(F)(t.value.startTime)),1)])]),_:1})):m("",!0),t.value.endTime?(n(),f(e(C).Item,{key:2,label:"完成时间"},{default:l(()=>[s("span",qt,[a(e(d),{icon:"solar:check-read-bold-duotone",class:"text-blue-400"}),g(" "+c(e(F)(t.value.endTime)),1)])]),_:1})):m("",!0),t.value.updateTime&&t.value.endTime!==t.value.updateTime?(n(),f(e(C).Item,{key:3,label:"更新时间"},{default:l(()=>[s("span",Zt,[a(e(d),{icon:"solar:refresh-circle-bold-duotone",class:"text-gray-400"}),g(" "+c(e(F)(t.value.updateTime)),1)])]),_:1})):m("",!0),t.value.description?(n(),f(e(C).Item,{key:4,label:"工单描述",span:3},{default:l(()=>[s("div",es,c(t.value.description),1)]),_:1})):m("",!0),oe.value.length>0?(n(),f(e(C).Item,{key:5,label:"相关图片",span:3},{default:l(()=>[s("div",ts,[a(e(_e).PreviewGroup,null,{default:l(()=>[(n(!0),p(B,null,Y(oe.value,(i,u)=>(n(),f(e(_e),{key:u,src:i,alt:`工单图片 ${u+1}`,class:"order-image-thumb",width:120,height:90,style:{objectFit:"cover"}},null,8,["src","alt"]))),128))]),_:1})])]),_:1})):m("",!0)]),_:1})]),_:1})]),_:1},8,["span"]),ae.value?(n(),f(e(H),{key:0,span:7},{default:l(()=>[a(Xe,{order:t.value,class:"work-progress-card"},null,8,["order"])]),_:1})):m("",!0)]),_:1}),k.value?(n(),f(e(ye),{key:1,gutter:12},{default:l(()=>[a(e(H),{span:v.value?17:24},{default:l(()=>[a(We,{order:t.value,"badge-status":v.value,onVoiceNotify:x},null,8,["order","badge-status"])]),_:1},8,["span"]),v.value?(n(),f(e(H),{key:0,span:7},{default:l(()=>[a(e(K),{"body-style":{padding:"12px"},class:"badge-card mb-3"},{title:l(()=>[s("div",ss,[a(e(d),{icon:"solar:bluetooth-wave-bold-duotone",class:"text-blue-500"}),o[12]||(o[12]=s("span",null,"工牌信息",-1)),o[13]||(o[13]=s("div",{class:"pulse-dot"},null,-1))])]),default:l(()=>[s("div",as,[s("div",os,[a(e(d),{icon:"solar:battery-charge-bold-duotone",style:O({color:J(v.value.batteryLevel)})},null,8,["style"]),o[14]||(o[14]=s("span",{class:"badge-row-label"},"电量",-1)),v.value.batteryLevel!=null?(n(),p("div",ls,[s("div",rs,[s("div",{class:"battery-fill",style:O({width:`${v.value.batteryLevel}%`,backgroundColor:J(v.value.batteryLevel)})},null,4)]),s("span",{class:"text-xs font-medium",style:O({color:J(v.value.batteryLevel)})},c(v.value.batteryLevel)+"% ",5)])):(n(),p("span",ns,"未知"))]),s("div",is,[a(e(d),{icon:"solar:map-point-wave-bold-duotone",class:N(v.value.isInArea?"text-green-500":"text-orange-500")},null,8,["class"]),o[15]||(o[15]=s("span",{class:"badge-row-label"},"位置",-1)),s("div",us,[a(e($),{color:v.value.isInArea?"success":"warning",size:"small"},{default:l(()=>[g(c(v.value.isInArea?"在区域内":"已离开"),1)]),_:1},8,["color"]),v.value.areaName?(n(),p("span",ds,c(v.value.areaName),1)):m("",!0)])]),s("div",cs,[a(e(d),{icon:"solar:wifi-router-bold-duotone",class:"text-blue-500"}),o[16]||(o[16]=s("span",{class:"badge-row-label"},"信号",-1)),v.value.rssi!=null?(n(),p("div",vs,[(n(),p(B,null,Y(4,i=>s("div",{key:i,class:N(["signal-bar",{active:v.value.rssi>-70+(i-1)*15}])},null,2)),64)),s("span",ms,c(v.value.rssi)+" dBm ",1)])):(n(),p("span",ps,"未知"))]),s("div",gs,[a(e(d),{icon:"solar:pulse-2-bold-duotone",class:"text-green-500"}),o[17]||(o[17]=s("span",{class:"badge-row-label"},"心跳",-1)),s("span",fs,c(R(v.value.lastHeartbeatTime)),1)])])]),_:1})]),_:1})):m("",!0)]),_:1})):m("",!0)]),_:1},8,["spinning"])]),_:1}))}}),Hs=Ve(ys,[["__scopeId","data-v-a7076ddb"]]);export{Hs as default};
|