2 lines
8.8 KiB
JavaScript
2 lines
8.8 KiB
JavaScript
var K=Object.defineProperty;var x=Object.getOwnPropertySymbols;var Q=Object.prototype.hasOwnProperty,X=Object.prototype.propertyIsEnumerable;var M=(u,i,n)=>i in u?K(u,i,{enumerable:!0,configurable:!0,writable:!0,value:n}):u[i]=n,h=(u,i)=>{for(var n in i||(i={}))Q.call(i,n)&&M(u,n,i[n]);if(x)for(var n of x(i))X.call(i,n)&&M(u,n,i[n]);return u};var U=(u,i,n)=>new Promise((I,g)=>{var R=p=>{try{b(n.next(p))}catch(_){g(_)}},m=p=>{try{b(n.throw(p))}catch(_){g(_)}},b=p=>p.done?I(p.value):Promise.resolve(p.value).then(R,m);b((n=n.apply(u,i)).next())});import{dg as J,c0 as Z,c1 as ee,an as d,ax as P,aL as z,ak as oe,ay as O,bI as ae,d as A,aO as se,bE as te,S as re,bV as ne,ac as le}from"./bootstrap-CRjSNGHY.js";import{m as ie,b9 as N,aa as V,v as ce,ad as v,b2 as c,j as s,ac as T,bJ as r,ab as C,u as o,I as de,bb as ue,ae as l,aR as fe,aT as B,bp as y,ai as k,cf as pe}from"../jse/index-index-CMeVxoEG.js";import{f as _e}from"./index-DbbJOeuC.js";import{S as ge,a as ye,b as be,O as Ce,c as Te}from"./data-DukF8ORr.js";import{D as W}from"./dict-enum-CaHgMaDZ.js";const ve={class:"work-order-card-view"},me=["onClick"],ke={class:"card-header"},Ee={class:"status-text"},De={class:"card-body"},Oe={class:"card-title"},Ne={class:"info-rows"},Ie={class:"info-row"},he={class:"info-text order-code-styled"},Pe={class:"info-row"},Ae={class:"info-text location-text"},Re={class:"info-row"},Se={key:0,class:"info-text assignee-text"},we={key:1,class:"info-text info-text--muted"},Le={key:0,class:"info-row"},xe={class:"card-footer"},Me={class:"card-meta"},Ue={class:"create-time"},ze={key:0,class:"pagination-wrapper"},Ve=!1,Be=ie({name:"WorkOrderCardView",__name:"card-view",props:{searchParams:{}},emits:["assign","cancel","detail","notify","upgrade"],setup(u,{expose:i,emit:n}){const I=u,g=n,R=[{id:10001,orderCode:"WO20260123143025001",title:"A区洗手间紧急保洁",orderType:"CLEAN",status:"ARRIVED",priority:0,location:"A区 / 1楼洗手间",assigneeId:2001,assigneeName:"张三",createTime:"2026-01-23 14:30:25"},{id:10002,orderCode:"WO20260123150012002",title:"B区大厅日常保洁",orderType:"CLEAN",status:"DISPATCHED",priority:1,location:"B区 / 大厅",assigneeId:2002,assigneeName:"李四",createTime:"2026-01-23 15:00:12"},{id:10003,orderCode:"WO20260123151530003",title:"C区会议室深度保洁",orderType:"CLEAN",status:"PENDING",priority:2,location:"C区 / 3楼会议室",createTime:"2026-01-23 15:15:30"},{id:10004,orderCode:"WO20260123091045004",title:"D区电梯厅保洁",orderType:"CLEAN",status:"COMPLETED",priority:2,location:"D区 / 电梯厅",assigneeId:2003,assigneeName:"王五",createTime:"2026-01-23 09:10:45"},{id:10005,orderCode:"WO20260123160000005",title:"E区停车场应急清洁",orderType:"CLEAN",status:"QUEUED",priority:0,location:"E区 / 地下停车场",assigneeId:2001,assigneeName:"张三",createTime:"2026-01-23 16:00:00"},{id:10006,orderCode:"WO20260123102030006",title:"A区休息区保洁",orderType:"CLEAN",status:"CONFIRMED",priority:1,location:"A区 / 2楼休息区",assigneeId:2004,assigneeName:"赵六",createTime:"2026-01-23 10:20:30"},{id:10007,orderCode:"WO20260123110500007",title:"F区门厅玻璃清洁",orderType:"CLEAN",status:"PAUSED",priority:2,location:"F区 / 门厅",assigneeId:2005,assigneeName:"钱七",createTime:"2026-01-23 11:05:00"},{id:10008,orderCode:"WO20260123140000008",title:"B区卫生间设备维修",orderType:"REPAIR",status:"PENDING",priority:1,location:"B区 / 2楼卫生间",createTime:"2026-01-23 14:00:00"}],m=N(!1),b=N([]),p=N(0),_=N({pageNo:1,pageSize:8}),S=J(),Y=V(()=>S.getDictOptions(W.OPS_ORDER_PRIORITY)),$=V(()=>S.getDictOptions(W.OPS_TRIGGER_SOURCE));function E(t){const a=Y.value.find(q=>q.value===String(t));if(!a)return{label:`P${t}`,style:{color:"#8c8c8c",backgroundColor:"#f5f5f5"},icon:"lucide:info"};let e={color:"#8c8c8c",backgroundColor:"#f5f5f5"};switch(a.colorType){case"danger":{e={color:"#ff4d4f",backgroundColor:"#fff1f0"};break}case"info":{e={color:"#1677ff",backgroundColor:"#e6f4ff"};break}case"success":{e={color:"#52c41a",backgroundColor:"#f6ffed"};break}case"warning":{e={color:"#fa8c16",backgroundColor:"#fff7e6"};break}}let f="lucide:info";return t===0?f="solar:bolt-bold":t===1&&(f="lucide:alert-triangle"),{label:a.label,style:e,icon:f}}function w(t){const a=$.value.find(f=>f.value===t);if(!a)return{label:t,color:"default"};if(a.cssClass)return{label:a.label,color:a.cssClass};let e="default";switch(a.colorType){case"danger":{e="error";break}case"info":{e="default";break}case"primary":{e="processing";break}case"success":{e="success";break}case"warning":{e="warning";break}default:e=a.colorType||"default"}return{label:a.label,color:e}}function D(){return U(this,null,function*(){m.value=!0;try{if(!Ve){const t=yield _e(h(h({},_.value),I.searchParams));b.value=t.list||[],p.value=t.total||0}}finally{m.value=!1}})}function F(t,a){_.value.pageNo=t,_.value.pageSize=a,D()}function G(t){return t===0}function L(t){return["CANCELLED","COMPLETED"].includes(t)}function H(t){return["ARRIVED","CONFIRMED","DISPATCHED","QUEUED"].includes(t)}function j(t){if(!t)return"-";try{const a=pe(t);return a.isValid()?a.format("YYYY-MM-DD HH:mm:ss"):"-"}catch(a){return"-"}}return i({reload:D,query:()=>{_.value.pageNo=1,D()}}),ce(()=>{D()}),(t,a)=>(c(),v("div",ve,[s(o(re),{spinning:m.value,class:"card-grid"},{default:r(()=>[b.value.length>0?(c(),C(o(Z),{key:0,gutter:[12,12]},{default:r(()=>[(c(!0),v(de,null,ue(b.value,e=>(c(),C(o(ee),{key:e.id,xs:24,sm:12,md:8,lg:6,xl:6},{default:r(()=>[l("div",{class:fe(["order-card",{"order-card--urgent":G(e.priority),"order-card--terminal":L(e.status)}]),onClick:f=>g("detail",e.id)},[l("div",ke,[l("div",{class:"status-info",style:B({"--status-color":o(ge)[e.status]})},[s(o(d),{icon:o(ye)[e.status]||"solar:circle-bold",class:"status-icon"},null,8,["icon"]),l("span",Ee,y(o(be)[e.status]),1)],4),l("div",{class:"priority-tag",style:B(E(e.priority).style)},[E(e.priority).icon?(c(),C(o(d),{key:0,icon:E(e.priority).icon},null,8,["icon"])):T("",!0),k(" "+y(E(e.priority).label),1)],4)]),l("div",De,[s(o(P),{title:e.title,placement:"topLeft"},{default:r(()=>[l("h4",Oe,y(e.title),1)]),_:2},1032,["title"]),l("div",Ne,[l("div",Ie,[s(o(d),{icon:"solar:bill-list-bold-duotone",class:"info-icon"}),l("span",he,y(e.orderCode),1)]),l("div",Pe,[s(o(d),{icon:"solar:map-point-bold-duotone",class:"info-icon"}),l("span",Ae,y(e.location||"未指定位置"),1)]),l("div",Re,[s(o(d),{icon:"solar:user-bold-duotone",class:"info-icon"}),e.assigneeName?(c(),v("span",Se,y(e.assigneeName),1)):(c(),v("span",we,"待分配"))]),e.sourceType?(c(),v("div",Le,[s(o(d),{icon:"solar:radar-bold-duotone",class:"info-icon"}),s(o(z),{color:w(e.sourceType).color,class:"source-tag",bordered:!1},{default:r(()=>[k(y(w(e.sourceType).label),1)]),_:2},1032,["color"])])):T("",!0)])]),l("div",xe,[l("div",Me,[s(o(z),{color:o(Ce)[e.orderType],class:"type-tag"},{default:r(()=>[k(y(o(Te)[e.orderType]),1)]),_:2},1032,["color"]),l("span",Ue,y(j(e.createTime)),1)]),l("div",{class:"card-actions",onClick:a[0]||(a[0]=oe(()=>{},["stop"]))},[e.status==="PENDING"?(c(),C(o(P),{key:0,title:"分配执行人"},{default:r(()=>[s(o(O),{type:"primary",size:"small",class:"action-btn",onClick:f=>g("assign",e)},{default:r(()=>[s(o(d),{icon:"solar:user-plus-bold"})]),_:1},8,["onClick"])]),_:2},1024)):T("",!0),e.status==="DISPATCHED"?(c(),C(o(ae),{key:1,placement:"topRight"},{overlay:r(()=>[s(o(A),null,{default:r(()=>[s(o(A).Item,{key:"voice",onClick:f=>g("notify",e,"voice")},{default:r(()=>[s(o(d),{icon:"solar:volume-loud-bold",class:"mr-2"}),a[2]||(a[2]=k(" 语音提醒 ",-1))]),_:1},8,["onClick"]),s(o(A).Item,{key:"vibrate",onClick:f=>g("notify",e,"vibrate")},{default:r(()=>[s(o(d),{icon:"solar:smartphone-vibration-bold",class:"mr-2"}),a[3]||(a[3]=k(" 震动提醒 ",-1))]),_:1},8,["onClick"])]),_:2},1024)]),default:r(()=>[s(o(O),{size:"small",class:"action-btn action-btn--notify"},{default:r(()=>[s(o(d),{icon:"solar:bell-bold"})]),_:1})]),_:2},1024)):T("",!0),e.priority!==0&&H(e.status)?(c(),C(o(P),{key:2,title:"升级为紧急"},{default:r(()=>[s(o(O),{size:"small",class:"action-btn action-btn--upgrade",onClick:f=>g("upgrade",e)},{default:r(()=>[s(o(d),{icon:"solar:bolt-bold"})]),_:1},8,["onClick"])]),_:2},1024)):T("",!0),L(e.status)?T("",!0):(c(),C(o(se),{key:3,title:"确定取消此工单?",placement:"topRight",onConfirm:f=>g("cancel",e)},{default:r(()=>[s(o(O),{size:"small",class:"action-btn action-btn--danger"},{default:r(()=>[s(o(d),{icon:"solar:close-circle-bold"})]),_:1})]),_:1},8,["onConfirm"]))])])],10,me)]),_:2},1024))),128))]),_:1})):(c(),C(o(te),{key:1,description:"暂无工单数据",class:"my-16"}))]),_:1},8,["spinning"]),b.value.length>0?(c(),v("div",ze,[s(o(ne),{current:_.value.pageNo,"onUpdate:current":a[1]||(a[1]=e=>_.value.pageNo=e),"page-size":8,total:p.value,"show-total":e=>`共 ${e} 条`,size:"small","show-quick-jumper":"",onChange:F},null,8,["current","total","show-total"])])):T("",!0)]))}}),je=le(Be,[["__scopeId","data-v-d6e3240c"]]);export{je as default};
|