2 lines
22 KiB
JavaScript
2 lines
22 KiB
JavaScript
var ze=Object.defineProperty;var fe=Object.getOwnPropertySymbols;var Ve=Object.prototype.hasOwnProperty,Ge=Object.prototype.propertyIsEnumerable;var ye=(h,_,y)=>_ in h?ze(h,_,{enumerable:!0,configurable:!0,writable:!0,value:y}):h[_]=y,_e=(h,_)=>{for(var y in _||(_={}))Ve.call(_,y)&&ye(h,y,_[y]);if(fe)for(var y of fe(_))Ge.call(_,y)&&ye(h,y,_[y]);return h};var D=(h,_,y)=>new Promise((Q,w)=>{var F=b=>{try{I(y.next(b))}catch(c){w(c)}},t=b=>{try{I(y.throw(b))}catch(c){w(c)}},I=b=>b.done?Q(b.value):Promise.resolve(b.value).then(F,t);I((y=y.apply(h,_)).next())});import{ae as Ke,V as $e,a9 as be,S as He,au as Y,ay as R,an as v,aA as se,ax as ae,bu as Ce,bZ as Ee,b_ as W,az as he,aC as Te,ac as Ye}from"./bootstrap-Cs_ukuUC.js";import{g as We,a as Xe,b as je}from"./index-YdR0N39r.js";import{c as Qe}from"./index-Cznb2uHz.js";import{_ as Je}from"./cleaning-actions.vue_vue_type_script_setup_true_lang-CfZFed1S.js";import qe from"./cleaning-detail-ext-C81j8UL1.js";import Ze from"./cleaning-work-progress-BB_PbH4O.js";import et from"./security-detail-ext-CRjEJr9w.js";import{u as tt,O as oe,a as st,S as le,b as at,c as ot,T as lt}from"./data-2467LO9F.js";import rt from"./assign-form-BcELKgCQ.js";import nt from"./cancel-form-eqSnlDsR.js";import it from"./security-assign-form-CwTJnI7M.js";import ut from"./upgrade-priority-form-DbfHddlZ.js";import{D as x}from"./index-CAfmbDVL.js";import{A as dt}from"./index-CfKlEHaP.js";import{_ as ct}from"./page.vue_vue_type_script_setup_true_lang-DjQGJDx7.js";import{m as vt,b9 as L,aa as S,v as mt,aU as pt,aX as gt,x as ft,ab as f,b2 as r,bJ as n,j as a,u as e,ac as m,ae as s,ai as g,ad as p,bp as d,aT as A,aR as M,I as G,bb as X,cT as K}from"../jse/index-index-BQSou8bA.js";import{u as yt}from"./use-tabs-CVy06NVw.js";import{u as j}from"./use-modal-prLiJWOx.js";import"./index-5WGFvuho.js";import"./dict-enum-CaHgMaDZ.js";import"./index-BlYe7O-4.js";import"./tabbar-CsVDwb0k.js";import"./x-D_RCjpXq.js";const _t={class:"flex items-center justify-between"},bt={class:"flex items-center gap-3"},Ct={class:"flex items-center gap-2"},Et={class:"text-base font-semibold"},ht={class:"mt-1.5 flex items-center gap-4 text-sm text-gray-500"},Tt={class:"flex items-center gap-1"},xt={class:"flex items-center gap-1"},It={class:"header-actions"},kt={class:"flex items-center gap-2"},Dt={class:"progress-actions"},St={class:"progress-summary"},At={class:"summary-item"},wt={class:"summary-item"},Nt={class:"progress-steps-wrapper"},Ot={class:"progress-nodes"},Pt={class:"progress-line"},Rt={class:"node-icon"},Lt={class:"node-label"},Mt={key:0,class:"node-time"},Ut={key:1,class:"node-badge"},Bt={key:0,class:"logs-expand-section"},Ft={key:0,class:"logs-simple-list"},zt={class:"log-simple-left"},Vt={key:0,class:"log-simple-line"},Gt={class:"log-simple-content"},Kt={class:"log-simple-header"},$t={class:"log-simple-title-line"},Ht={key:0,class:"log-simple-msg"},Yt={class:"log-simple-time"},Wt={class:"flex items-center gap-2"},Xt={class:"flex items-center gap-1"},jt={class:"device-code"},Qt={key:0,class:"flex items-center gap-2"},Jt={key:1,class:"flex items-center gap-2"},qt={class:"flex items-center gap-1"},Zt={class:"flex items-center gap-1"},es={class:"flex items-center gap-1"},ts={class:"flex items-center gap-1"},ss={class:"desc-text"},as={class:"order-images"},os={class:"flex items-center gap-2"},ls={class:"badge-stats-compact"},rs={class:"badge-row"},ns={key:0,class:"badge-row-value"},is={class:"battery-bar-sm"},us={key:1,class:"text-xs text-gray-400"},ds={class:"badge-row"},cs={class:"badge-row-value"},vs={key:0,class:"text-xs text-gray-500"},ms={class:"badge-row"},ps={key:0,class:"badge-row-value signal-strength"},gs={class:"signal-value"},fs={key:1,class:"text-xs text-gray-400"},ys={class:"badge-row"},_s={class:"badge-row-value text-sm"},$=!1,bs=vt({name:"WorkOrderDetail",__name:"index",setup(h){const _=Ke(),y=$e(),{closeTabByKey:Q}=yt(),w=_.params.id,F=L(!0),t=L({}),I=L([]),b=L([]),c=L(null),z=L(),U=L(!1),re=[{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:"工单已完成"}],ne={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:"设备"}},Cs={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()}},Es=[{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:"检测到保洁员到达"}],hs=[{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"}],xe={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区洗手间"},[Ie,ke]=j({connectedComponent:rt,destroyOnClose:!0}),[De,Se]=j({connectedComponent:it,destroyOnClose:!0}),[Ae,we]=j({connectedComponent:ut,destroyOnClose:!0}),[Ne,Oe]=j({connectedComponent:nt,destroyOnClose:!0}),{getPriorityInfo:H}=tt(),N=S(()=>t.value.orderType==="CLEAN"),O=S(()=>t.value.orderType==="SECURITY"),ie=S(()=>N.value&&t.value.extInfo&&["ARRIVED","COMPLETED"].includes(t.value.status)),ue=S(()=>{const l=t.value.extInfo;if(!l)return[];const o=[];!O.value&&l.imageUrl&&o.push(l.imageUrl);const i=l.images;if(i)try{const u=typeof i=="string"?JSON.parse(i):i;Array.isArray(u)&&o.push(...u)}catch(u){}return o}),k=S(()=>t.value.status==="CANCELLED"),J=S(()=>!k.value&&!["CANCELLED","COMPLETED"].includes(t.value.status));function de(l){const o=I.value.find(i=>i.status===l);return o!=null&&o.time?B(o.time):l==="PENDING"?B(t.value.createTime):l==="COMPLETED"&&t.value.endTime?B(t.value.endTime):""}const V=S(()=>{if(k.value){const u=new Set;return I.value.filter(C=>u.has(C.status)?!1:(u.add(C.status),!0)).map(C=>{const E=re.find(Fe=>Fe.key===C.status);return{key:C.status,title:C.status==="CANCELLED"?"已取消":(E==null?void 0:E.title)||C.statusName||C.status,icon:(E==null?void 0:E.icon)||"solar:close-circle-bold-duotone",desc:C.description||(E==null?void 0:E.desc)||""}})}const l=new Set(["ARRIVED","COMPLETED","CONFIRMED","DISPATCHED","PENDING"]),o=new Set(I.value.map(u=>u.status)),i=t.value.status;return re.filter(u=>l.has(u.key)?!0:u.key==="QUEUED"?o.has("QUEUED"):o.has(u.key)||i===u.key)}),T=S(()=>{if(k.value)return V.value.length-1;if(t.value.status==="PAUSED")return V.value.findIndex(o=>o.key==="ARRIVED");const l=V.value.findIndex(o=>o.key===t.value.status);return Math.max(l,0)}),ce=S(()=>[...b.value].toSorted((l,o)=>new Date(o.time).getTime()-new Date(l.time).getTime()));function ve(l){return ne[l]||ne.system}function B(l){const o=Date.now(),i=new Date(l).getTime(),u=o-i;return u<6e4?"刚刚":u<36e5?`${Math.floor(u/6e4)} 分钟前`:u<864e5?`${Math.floor(u/36e5)} 小时前`:K(l)}function q(){return D(this,null,function*(){F.value=!0;try{$||(t.value=yield Qe(w),yield Promise.all([Pe(),Re()]),N.value&&t.value.assigneeId&&(yield me()))}catch(l){console.error("❌ 工单详情加载失败:",l),be.error("获取工单详情失败"),Z()}finally{F.value=!1}})}function Pe(){return D(this,null,function*(){try{if(!$){const l=yield We(w);I.value=l.timeline||[]}}catch(l){I.value=[]}})}function Re(){return D(this,null,function*(){try{if(!$){const l=yield Xe(w);b.value=l.logs||[]}}catch(l){b.value=[]}})}function me(){return D(this,null,function*(){if(t.value.assigneeId)try{c.value=$?_e({},xe):yield je(t.value.assigneeId)}catch(l){console.error("❌ 工牌状态加载失败:",l),c.value=null}})}function P(){return D(this,null,function*(){yield q()})}function Z(){return D(this,null,function*(){const l=_.fullPath;y.back(),setTimeout(()=>{Q(l)},100)})}function pe(){O.value?Se.setData({orderId:t.value.id,orderCode:t.value.orderCode,location:t.value.location,description:t.value.description}).open():ke.setData({orderId:t.value.id,orderCode:t.value.orderCode}).open()}function Le(){we.setData({orderId:t.value.id,orderCode:t.value.orderCode,currentPriority:t.value.priority}).open()}function Me(){Oe.setData({orderId:t.value.id,orderCode:t.value.orderCode,title:t.value.title}).open()}function ee(l){return l===null?"#d9d9d9":l<=20?"#f5222d":l<=50?"#fa8c16":"#52c41a"}function Ue(l){switch(l==null?void 0:l.toUpperCase()){case"BUSY":return"作业中";case"IDLE":return"空闲";case"OFFLINE":return"离线";case"PAUSED":return"暂停";default:return l||"未知"}}function Be(l){return(l==null?void 0:l.toUpperCase())==="BUSY"}function ge(){te(),z.value=window.setInterval(()=>{N.value&&t.value.status==="ARRIVED"&&t.value.assigneeId&&me()},3e4)}function te(){z.value&&(clearInterval(z.value),z.value=null)}return mt(()=>D(null,null,function*(){if(!w&&!$){be.warning("参数错误"),Z();return}yield q(),ge()})),pt(()=>D(null,null,function*(){z.value||(yield q(),ge())})),gt(te),ft(te),(l,o)=>(r(),f(e(ct),null,{default:n(()=>[a(e(Ie),{onSuccess:P}),a(e(De),{onSuccess:P}),a(e(Ae),{onSuccess:P}),a(e(Ne),{onSuccess:P}),a(e(He),{spinning:F.value},{default:n(()=>[a(e(Y),{"body-style":{padding:"12px 20px"},class:"detail-header mb-3"},{default:n(()=>{var i,u,C,E;return[s("div",_t,[s("div",bt,[a(e(R),{size:"small",onClick:Z},{default:n(()=>[a(e(v),{icon:"ant-design:arrow-left-outlined",class:"mr-1"}),o[1]||(o[1]=g(" 返回 ",-1))]),_:1}),a(e(se),{type:"vertical",class:"h-6"}),s("div",null,[s("div",Ct,[s("span",Et,d(t.value.title),1),t.value.orderType&&e(oe)[t.value.orderType]?(r(),p("span",{key:0,class:"status-tag inline-flex items-center rounded px-2 py-0.5 text-xs font-medium",style:A({backgroundColor:(i=e(oe)[t.value.orderType])==null?void 0:i.bg,color:(u=e(oe)[t.value.orderType])==null?void 0:u.text})},[a(e(v),{icon:O.value?"solar:shield-warning-bold-duotone":N.value?"solar:broom-bold-duotone":"solar:wrench-bold-duotone",class:"mr-1"},null,8,["icon"]),g(" "+d(e(st)[t.value.orderType]),1)],4)):m("",!0),e(le)[t.value.status]?(r(),p("span",{key:1,class:"status-tag inline-flex items-center rounded px-2 py-0.5 text-xs font-medium",style:A({backgroundColor:(C=e(le)[t.value.status])==null?void 0:C.bg,color:(E=e(le)[t.value.status])==null?void 0:E.text})},[a(e(v),{icon:e(at)[t.value.status]||"solar:circle-bold",class:"mr-1"},null,8,["icon"]),g(" "+d(e(ot)[t.value.status]),1)],4)):m("",!0),t.value.priority!==null&&t.value.priority!==void 0?(r(),p("span",{key:2,class:M(["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:A(e(H)(t.value.priority).style)},[e(H)(t.value.priority).icon?(r(),f(e(v),{key:0,icon:e(H)(t.value.priority).icon},null,8,["icon"])):m("",!0),g(" "+d(e(H)(t.value.priority).label),1)],6)):m("",!0)]),s("div",ht,[s("span",Tt,[a(e(v),{icon:"solar:document-text-bold-duotone"}),g(" "+d(t.value.orderCode),1)]),s("span",xt,[a(e(v),{icon:"solar:map-point-bold-duotone"}),g(" "+d(t.value.location||"-"),1)])])])]),s("div",It,[t.value.status!=="COMPLETED"&&t.value.status!=="CANCELLED"?(r(),p(G,{key:0},[t.value.status==="PENDING"?(r(),f(e(R),{key:0,type:"primary",size:"small",onClick:pe},{default:n(()=>[a(e(v),{icon:"solar:user-plus-bold-duotone",class:"mr-1"}),o[2]||(o[2]=g(" 分配执行人 ",-1))]),_:1})):m("",!0),N.value?(r(),f(Je,{key:1,order:t.value,onRefresh:P},null,8,["order"])):m("",!0),Number(t.value.priority)!==0?(r(),f(e(R),{key:2,size:"small",danger:"",ghost:"",onClick:Le},{default:n(()=>[a(e(v),{icon:"solar:bolt-bold-duotone",class:"mr-1"}),o[3]||(o[3]=g(" 升级P0 ",-1))]),_:1})):m("",!0),a(e(R),{size:"small",danger:"",ghost:"",onClick:Me},{default:n(()=>[a(e(v),{icon:"solar:close-circle-bold-duotone",class:"mr-1"}),o[4]||(o[4]=g(" 取消 ",-1))]),_:1}),a(e(se),{type:"vertical",class:"header-divider"})],64)):m("",!0),a(e(ae),{title:"刷新数据"},{default:n(()=>[a(e(R),{size:"small",shape:"circle",onClick:P},{default:n(()=>[a(e(v),{icon:"ant-design:reload-outlined"})]),_:1})]),_:1})])])]}),_:1}),a(e(Y),{class:"progress-overview-card mb-3"},{title:n(()=>[s("div",kt,[a(e(v),{icon:"solar:routing-2-bold-duotone",class:"text-blue-500"}),o[5]||(o[5]=s("span",null,"工单进度",-1))])]),extra:n(()=>[s("div",Dt,[s("div",St,[s("span",At,[a(e(v),{icon:"solar:clock-circle-bold-duotone",class:"text-gray-400"}),g(" 创建于 "+d(B(t.value.createTime)),1)]),a(e(se),{type:"vertical"}),s("span",wt,[a(e(v),{icon:"solar:document-text-bold-duotone",class:"text-gray-400"}),g(" "+d(b.value.length)+" 条日志 ",1)])]),a(e(ae),{title:U.value?"收起日志":"查看业务日志"},{default:n(()=>[a(e(R),{type:"text",size:"small",class:M(["logs-toggle-btn",{"logs-toggle-active":U.value}]),onClick:o[0]||(o[0]=i=>U.value=!U.value)},{default:n(()=>[a(e(v),{icon:"solar:notebook-bold-duotone",class:"mr-1"}),o[6]||(o[6]=s("span",null,"日志",-1)),a(e(v),{icon:U.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:n(()=>[s("div",Nt,[s("div",Ot,[s("div",Pt,[s("div",{class:M(["progress-line-fill",{"line-all-completed":t.value.status==="COMPLETED","line-cancelled":k.value}]),style:A({width:`${Math.max(0,T.value/(V.value.length-1)*100)}%`})},null,6)]),(r(!0),p(G,null,X(V.value,(i,u)=>(r(),p("div",{key:i.key,class:M(["progress-node",{"node-completed":!k.value&&u<T.value,"node-current":J.value&&u===T.value,"node-completed-current":!k.value&&u===T.value&&t.value.status==="COMPLETED","node-pending":!k.value&&u>T.value,"node-cancelled-done":k.value&&u<T.value,"node-cancelled-end":k.value&&u===T.value}])},[a(e(ae),{title:i.desc},{default:n(()=>[s("div",Rt,[a(e(v),{icon:i.icon},null,8,["icon"])])]),_:2},1032,["title"]),s("div",Lt,d(i.title),1),u<=T.value&&!(J.value&&u===T.value)?(r(),p("div",Mt,d(de(i.key)),1)):m("",!0),J.value&&u===T.value?(r(),p("div",Ut,[o[7]||(o[7]=s("span",{class:"badge-dot"},null,-1)),g(" "+d(de(i.key)),1)])):m("",!0)],2))),128))])]),U.value?(r(),p("div",Bt,[b.value.length>0?(r(),p("div",Ft,[(r(!0),p(G,null,X(ce.value,(i,u)=>(r(),p("div",{key:i.id,class:"log-simple-item"},[s("div",zt,[s("div",{class:"log-simple-dot",style:A({backgroundColor:ve(i.type).color})},null,4),u<ce.value.length-1?(r(),p("div",Vt)):m("",!0)]),s("div",Gt,[s("div",Kt,[s("span",$t,[s("span",{class:"log-simple-title",style:A({color:ve(i.type).color})},d(i.title),5),i.content?(r(),p("span",Ht,d(i.content),1)):m("",!0)]),s("span",Yt,d(B(i.time)),1)])])]))),128))])):(r(),f(e(Ce),{key:1,description:"暂无日志",image:e(Ce).PRESENTED_IMAGE_SIMPLE,class:"logs-empty"},null,8,["image"]))])):m("",!0)]),_:1}),a(e(Ee),{gutter:12,class:"info-row"},{default:n(()=>[a(e(W),{span:ie.value?17:24},{default:n(()=>[a(e(Y),{class:"info-card mb-3"},{title:n(()=>[s("div",Wt,[a(e(v),{icon:"solar:info-circle-bold-duotone",class:"text-blue-500"}),o[8]||(o[8]=s("span",null,"基础信息",-1))])]),default:n(()=>[a(e(x),{column:3,bordered:"",size:"small",class:"custom-descriptions"},{default:n(()=>[a(e(x).Item,{label:"触发来源"},{default:n(()=>[s("span",Xt,[a(e(v),{icon:O.value?"solar:shield-warning-bold-duotone":"solar:bluetooth-wave-bold-duotone",class:M(O.value?"text-red-400":"text-blue-400")},null,8,["icon","class"]),g(" "+d(e(lt)[t.value.triggerSource||t.value.sourceType||""]||"-"),1)])]),_:1}),t.value.triggerDeviceKey?(r(),f(e(x).Item,{key:0,label:"触发设备"},{default:n(()=>[s("code",jt,d(t.value.triggerDeviceKey),1)]),_:1})):m("",!0),O.value?m("",!0):(r(),f(e(x).Item,{key:1,label:"执行人"},{default:n(()=>[t.value.assigneeId?(r(),p("div",Qt,[a(e(dt),{size:24,class:"assignee-avatar"},{default:n(()=>{var i;return[g(d(((i=t.value.assigneeName)==null?void 0:i.charAt(0))||"?"),1)]}),_:1}),s("span",null,d(t.value.assigneeName||"未知"),1),N.value&&c.value?(r(),f(e(he),{key:0,color:Be(c.value.status)?"processing":"default",size:"small"},{default:n(()=>[g(d(Ue(c.value.status)),1)]),_:1},8,["color"])):m("",!0)])):(r(),p("div",Jt,[o[10]||(o[10]=s("span",{class:"text-gray-400"},"暂未分配",-1)),a(e(R),{type:"link",size:"small",class:"p-0",onClick:pe},{default:n(()=>[...o[9]||(o[9]=[g(" 立即分配 ",-1)])]),_:1})]))]),_:1})),a(e(x).Item,{label:"创建时间"},{default:n(()=>[s("span",qt,[a(e(v),{icon:"solar:calendar-bold-duotone",class:"text-gray-400"}),g(" "+d(e(K)(t.value.createTime)),1)])]),_:1}),t.value.startTime?(r(),f(e(x).Item,{key:2,label:"开始时间"},{default:n(()=>[s("span",Zt,[a(e(v),{icon:"solar:play-circle-bold-duotone",class:"text-green-400"}),g(" "+d(e(K)(t.value.startTime)),1)])]),_:1})):m("",!0),t.value.endTime?(r(),f(e(x).Item,{key:3,label:"完成时间"},{default:n(()=>[s("span",es,[a(e(v),{icon:"solar:check-read-bold-duotone",class:"text-blue-400"}),g(" "+d(e(K)(t.value.endTime)),1)])]),_:1})):m("",!0),t.value.updateTime&&t.value.endTime!==t.value.updateTime?(r(),f(e(x).Item,{key:4,label:"更新时间"},{default:n(()=>[s("span",ts,[a(e(v),{icon:"solar:refresh-circle-bold-duotone",class:"text-gray-400"}),g(" "+d(e(K)(t.value.updateTime)),1)])]),_:1})):m("",!0),t.value.description?(r(),f(e(x).Item,{key:5,label:"工单描述",span:3},{default:n(()=>[s("div",ss,d(t.value.description),1)]),_:1})):m("",!0),ue.value.length>0?(r(),f(e(x).Item,{key:6,label:"相关图片",span:3},{default:n(()=>[s("div",as,[a(e(Te).PreviewGroup,null,{default:n(()=>[(r(!0),p(G,null,X(ue.value,(i,u)=>(r(),f(e(Te),{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"]),ie.value?(r(),f(e(W),{key:0,span:7},{default:n(()=>[a(Ze,{order:t.value,class:"work-progress-card"},null,8,["order"])]),_:1})):m("",!0)]),_:1}),O.value?(r(),f(et,{key:0,order:t.value},null,8,["order"])):m("",!0),N.value?(r(),f(e(Ee),{key:1,gutter:12},{default:n(()=>[a(e(W),{span:c.value?17:24},{default:n(()=>[a(qe,{order:t.value,"badge-status":c.value,onVoiceNotify:P},null,8,["order","badge-status"])]),_:1},8,["span"]),c.value?(r(),f(e(W),{key:0,span:7},{default:n(()=>[a(e(Y),{"body-style":{padding:"12px"},class:"badge-card mb-3"},{title:n(()=>[s("div",os,[a(e(v),{icon:"solar:bluetooth-wave-bold-duotone",class:"text-blue-500"}),o[11]||(o[11]=s("span",null,"工牌信息",-1)),o[12]||(o[12]=s("div",{class:"pulse-dot"},null,-1))])]),default:n(()=>[s("div",ls,[s("div",rs,[a(e(v),{icon:"solar:battery-charge-bold-duotone",style:A({color:ee(c.value.batteryLevel)})},null,8,["style"]),o[13]||(o[13]=s("span",{class:"badge-row-label"},"电量",-1)),c.value.batteryLevel!=null?(r(),p("div",ns,[s("div",is,[s("div",{class:"battery-fill",style:A({width:`${c.value.batteryLevel}%`,backgroundColor:ee(c.value.batteryLevel)})},null,4)]),s("span",{class:"text-xs font-medium",style:A({color:ee(c.value.batteryLevel)})},d(c.value.batteryLevel)+"% ",5)])):(r(),p("span",us,"未知"))]),s("div",ds,[a(e(v),{icon:"solar:map-point-wave-bold-duotone",class:M(c.value.isInArea?"text-green-500":"text-orange-500")},null,8,["class"]),o[14]||(o[14]=s("span",{class:"badge-row-label"},"位置",-1)),s("div",cs,[a(e(he),{color:c.value.isInArea?"success":"warning",size:"small"},{default:n(()=>[g(d(c.value.isInArea?"在区域内":"已离开"),1)]),_:1},8,["color"]),c.value.areaName?(r(),p("span",vs,d(c.value.areaName),1)):m("",!0)])]),s("div",ms,[a(e(v),{icon:"solar:wifi-router-bold-duotone",class:"text-blue-500"}),o[15]||(o[15]=s("span",{class:"badge-row-label"},"信号",-1)),c.value.rssi!=null?(r(),p("div",ps,[(r(),p(G,null,X(4,i=>s("div",{key:i,class:M(["signal-bar",{active:c.value.rssi>-70+(i-1)*15}])},null,2)),64)),s("span",gs,d(c.value.rssi)+" dBm ",1)])):(r(),p("span",fs,"未知"))]),s("div",ys,[a(e(v),{icon:"solar:pulse-2-bold-duotone",class:"text-green-500"}),o[16]||(o[16]=s("span",{class:"badge-row-label"},"心跳",-1)),s("span",_s,d(B(c.value.lastHeartbeatTime)),1)])])]),_:1})]),_:1})):m("",!0)]),_:1})):m("",!0)]),_:1},8,["spinning"])]),_:1}))}}),Ws=Ye(bs,[["__scopeId","data-v-47ada791"]]);export{Ws as default};
|