2 lines
8.2 KiB
JavaScript
2 lines
8.2 KiB
JavaScript
var J=Object.defineProperty;var Y=Object.getOwnPropertySymbols;var Z=Object.prototype.hasOwnProperty,ee=Object.prototype.propertyIsEnumerable;var $=(c,i,a)=>i in c?J(c,i,{enumerable:!0,configurable:!0,writable:!0,value:a}):c[i]=a,O=(c,i)=>{for(var a in i||(i={}))Z.call(i,a)&&$(c,a,i[a]);if(Y)for(var a of Y(i))ee.call(i,a)&&$(c,a,i[a]);return c};var F=(c,i,a)=>new Promise((D,C)=>{var R=u=>{try{y(a.next(u))}catch(p){C(p)}},h=u=>{try{y(a.throw(u))}catch(p){C(p)}},y=u=>u.done?D(u.value):Promise.resolve(u.value).then(R,h);y((a=a.apply(c,i)).next())});import{dg as oe,bZ as te,b_ as se,an as f,ax as w,az as ae,ak as re,ay as x,bE as ne,bu as ie,S as le,bS as ce,ac as de}from"./bootstrap-LRVGLqq_.js";import{m as ue,b9 as N,aa as pe,ad as b,b2 as l,j as n,ac as g,bJ as d,ab as T,u as o,I as fe,bb as _e,ae as t,aT as k,aR as ye,bp as _,ai as A,cf as ge}from"../jse/index-index-NearNHEt.js";import{d as Ce}from"./index-_y4XjoGT.js";import{u as be,O as I,g as Te,b as he,a as G,c as ve,S as me}from"./data-CkzzNMFR.js";import{D as Ee}from"./dict-enum-CaHgMaDZ.js";const Ne={class:"work-order-card-view"},ke=["onClick"],Ie={class:"card-header"},De={class:"card-header-left"},Pe={class:"status-text"},Oe={class:"card-body"},we={class:"card-title"},xe={class:"info-rows"},Ae={class:"info-row"},Re={class:"info-text order-code-styled"},Se={class:"info-row"},Me={class:"info-text location-text"},Ve={class:"info-row"},Le={key:0,class:"info-text assignee-text"},Ue={key:0,class:"assignee-phone"},Be={key:1,class:"info-text info-text--muted"},ze={key:0,class:"info-row"},We={class:"card-footer"},Ye={class:"card-meta"},$e={class:"create-time"},Fe={key:0,class:"pagination-wrapper"},Ge=!1,He=ue({name:"WorkOrderCardView",__name:"card-view",props:{searchParams:{}},emits:["assign","cancel","detail","notify","upgrade"],setup(c,{expose:i,emit:a}){const D=c,C=a,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"}],h=N(!1),y=N([]),u=N(0),p=N({pageNo:1,pageSize:8}),H=oe(),j=pe(()=>H.getDictOptions(Ee.OPS_TRIGGER_SOURCE)),{getPriorityInfo:m}=be();function S(r){const s=j.value.find(E=>E.value===r);if(!s)return{label:r,color:"default"};if(s.cssClass)return{label:s.label,color:s.cssClass};let e="default";switch(s.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=s.colorType||"default"}return{label:s.label,color:e}}function P(){return F(this,null,function*(){h.value=!0;try{if(!Ge){const r=yield Ce(O(O({},p.value),D.searchParams));y.value=r.list||[],u.value=r.total||0}}finally{h.value=!1}})}function q(r,s){p.value.pageNo=r,p.value.pageSize=s,P()}function K(r){return r===0}function M(r){return["CANCELLED","COMPLETED"].includes(r)}function Q(r){return["ARRIVED","CONFIRMED","DISPATCHED","QUEUED"].includes(r)}function X(r){if(!r)return"-";try{const s=ge(r);return s.isValid()?s.format("YYYY-MM-DD HH:mm:ss"):"-"}catch(s){return"-"}}return i({reload:P,query:()=>{p.value.pageNo=1,P()}}),(r,s)=>(l(),b("div",Ne,[n(o(le),{spinning:h.value,class:"card-grid"},{default:d(()=>[y.value.length>0?(l(),T(o(te),{key:0,gutter:[12,12]},{default:d(()=>[(l(!0),b(fe,null,_e(y.value,e=>(l(),T(o(se),{key:e.id,xs:24,sm:12,md:8,lg:6,xl:6},{default:d(()=>{var E,V,L,U,B,z,W;return[t("div",{class:ye(["order-card",{"order-card--urgent":K(e.priority),"order-card--terminal":M(e.status)}]),style:k({"--type-color":((E=o(I)[e.orderType])==null?void 0:E.border)||"#d9d9d9","--type-color-bg":((V=o(I)[e.orderType])==null?void 0:V.bg)||"rgb(0 0 0 / 3%)"}),onClick:v=>C("detail",e.id)},[t("div",Ie,[t("div",De,[t("div",{class:"type-badge",style:k({backgroundColor:(L=o(I)[e.orderType])==null?void 0:L.bg,color:(U=o(I)[e.orderType])==null?void 0:U.text})},[n(o(f),{icon:o(Te)[e.orderType]||"solar:widget-bold-duotone",class:"type-badge-icon"},null,8,["icon"]),t("span",null,_(o(he)[e.orderType]),1)],4),t("div",{class:"status-info",style:k({"--status-color":(B=o(G)[e.status])==null?void 0:B.text,"--status-bg":(z=o(G)[e.status])==null?void 0:z.bg})},[n(o(f),{icon:o(ve)[e.status]||"solar:circle-bold",class:"status-icon"},null,8,["icon"]),t("span",Pe,_(o(me)[e.status]),1)],4)]),t("div",{class:"priority-tag",style:k(o(m)(e.priority).style)},[o(m)(e.priority).icon?(l(),T(o(f),{key:0,icon:o(m)(e.priority).icon},null,8,["icon"])):g("",!0),A(" "+_(o(m)(e.priority).label),1)],4)]),t("div",Oe,[n(o(w),{title:e.title,placement:"topLeft"},{default:d(()=>[t("h4",we,_(e.title),1)]),_:2},1032,["title"]),t("div",xe,[t("div",Ae,[n(o(f),{icon:"solar:bill-list-bold-duotone",class:"info-icon"}),t("span",Re,_(e.orderCode),1)]),t("div",Se,[n(o(f),{icon:"solar:map-point-bold-duotone",class:"info-icon"}),t("span",Me,_(e.location||"未指定位置"),1)]),t("div",Ve,[n(o(f),{icon:"solar:user-bold-duotone",class:"info-icon"}),e.assigneeName?(l(),b("span",Le,[A(_(e.assigneeName)+" ",1),(W=e.extInfo)!=null&&W.assignedUserPhone?(l(),b("span",Ue," ("+_(e.extInfo.assignedUserPhone)+") ",1)):g("",!0)])):(l(),b("span",Be,"待分配"))]),e.sourceType?(l(),b("div",ze,[n(o(f),{icon:"solar:radar-bold-duotone",class:"info-icon"}),n(o(ae),{color:S(e.sourceType).color,class:"source-tag",bordered:!1},{default:d(()=>[A(_(S(e.sourceType).label),1)]),_:2},1032,["color"])])):g("",!0)])]),t("div",We,[t("div",Ye,[t("span",$e,_(X(e.createTime)),1)]),t("div",{class:"card-actions",onClick:s[0]||(s[0]=re(()=>{},["stop"]))},[e.status==="PENDING"?(l(),T(o(w),{key:0,title:"分配执行人"},{default:d(()=>[n(o(x),{type:"primary",size:"small",class:"action-btn",onClick:v=>C("assign",e)},{default:d(()=>[n(o(f),{icon:"solar:user-plus-bold"})]),_:1},8,["onClick"])]),_:2},1024)):g("",!0),g("",!0),e.priority!==0&&Q(e.status)?(l(),T(o(w),{key:2,title:"升级为紧急"},{default:d(()=>[n(o(x),{size:"small",class:"action-btn action-btn--upgrade",onClick:v=>C("upgrade",e)},{default:d(()=>[n(o(f),{icon:"solar:bolt-bold"})]),_:1},8,["onClick"])]),_:2},1024)):g("",!0),M(e.status)?g("",!0):(l(),T(o(ne),{key:3,title:"确定取消此工单?",placement:"topRight",onConfirm:v=>C("cancel",e)},{default:d(()=>[n(o(x),{size:"small",class:"action-btn action-btn--danger"},{default:d(()=>[n(o(f),{icon:"solar:close-circle-bold"})]),_:1})]),_:1},8,["onConfirm"]))])])],14,ke)]}),_:2},1024))),128))]),_:1})):(l(),T(o(ie),{key:1,description:"暂无工单数据",class:"my-16"}))]),_:1},8,["spinning"]),y.value.length>0?(l(),b("div",Fe,[n(o(ce),{current:p.value.pageNo,"onUpdate:current":s[1]||(s[1]=e=>p.value.pageNo=e),"page-size":8,total:u.value,"show-total":e=>`共 ${e} 条`,size:"small","show-quick-jumper":"",onChange:q},null,8,["current","total","show-total"])])):g("",!0)]))}}),oo=de(He,[["__scopeId","data-v-bc291548"]]);export{oo as default};
|