var be=Object.defineProperty,Ve=Object.defineProperties;var ke=Object.getOwnPropertyDescriptors;var X=Object.getOwnPropertySymbols;var Ce=Object.prototype.hasOwnProperty,we=Object.prototype.propertyIsEnumerable;var Z=(f,r,i)=>r in f?be(f,r,{enumerable:!0,configurable:!0,writable:!0,value:i}):f[r]=i,G=(f,r)=>{for(var i in r||(r={}))Ce.call(r,i)&&Z(f,i,r[i]);if(X)for(var i of X(r))we.call(r,i)&&Z(f,i,r[i]);return f},ee=(f,r)=>Ve(f,ke(r));var P=(f,r,i)=>new Promise((R,m)=>{var k=c=>{try{g(i.next(c))}catch(p){m(p)}},x=c=>{try{g(i.throw(c))}catch(p){m(p)}},g=c=>c.done?R(c.value):Promise.resolve(c.value).then(k,x);g((i=i.apply(f,r)).next())});import{_ as ne}from"./_plugin-vue_export-helper-DRcqrMy4.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css */import{v as se,y as v,z as I,D as a,C as e,B as Q,K as te,a5 as ae,u as E,Q as u,E as z,c as le,r as T,l as re,j as Ee,an as Te,M as xe,R as H,P as A}from"./vue-vendor-81Zqb-7t.js";import{k as De,d as Ie,B as ie,C as de,a8 as Ue,a9 as Me,e as ue,P as Pe,S as Se,a2 as Re,c as pe,z as me,j as ce,L as ze,E as S,ac as Ne,A as $e,F as he,G as Be,H as je,J as Fe,K as Le,D as Ae,a as J}from"./element-plus-CSxUwlOP.js";import{u as Oe,c as Ye,b as Ke}from"./index-cmyWCBIy.js";import{u as qe}from"./usePagination-Bv7ipmyC.js";import{F as fe,M as oe}from"./constants-7urqdt8E.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import{a as Ge}from"./assets-BWrZWWEK.js";import"./index-Dua4jQwX.js";const He={class:"dialog-footer"},Je=se({__name:"MaintenanceDialog",props:{modelValue:{type:Boolean},recordId:{},assetId:{}},emits:["update:modelValue","success"],setup(f,{emit:r}){const i=f,R=r,m=le({get:()=>i.modelValue,set:_=>R("update:modelValue",_)}),k=le(()=>!!i.recordId),x=T(),g=T(!1),c=T([]),p=T([]),U=T([]),d=re({assetId:void 0,faultType:"hardware",priority:"medium",maintenanceType:"self_repair",faultDescription:"",maintenancePersonnel:"",maintenanceCost:0,remark:""}),h={assetId:[{required:!0,message:"请选择资产",trigger:"change"}],faultType:[{required:!0,message:"请选择故障类型",trigger:"change"}],faultDescription:[{required:!0,message:"请输入故障描述",trigger:"blur"},{min:10,max:1e3,message:"描述长度在 10 到 1000 个字符",trigger:"blur"}]},O=()=>P(this,null,function*(){try{const _=yield Ge({page:1,page_size:1e3,status:"in_use"});c.value=_.items}catch(_){console.error("获取资产列表失败",_)}}),Y=()=>P(this,null,function*(){var l;if(yield(l=x.value)==null?void 0:l.validate().catch(()=>!1)){g.value=!0;try{const D=ee(G({},d),{startDate:p.value[0],endDate:p.value[1]});k.value?(yield Oe(i.recordId,D),S.success("更新成功")):(yield Ye(D),S.success("创建成功")),R("success"),N()}catch(D){S.error("操作失败")}finally{g.value=!1}}}),N=()=>{m.value=!1,setTimeout(()=>{var _;(_=x.value)==null||_.resetFields(),p.value=[],U.value=[],Object.assign(d,{assetId:void 0,faultType:"hardware",priority:"medium",maintenanceType:"self_repair",faultDescription:"",maintenancePersonnel:"",maintenanceCost:0,remark:""})},300)};return O(),(_,l)=>{const D=de,B=ie,y=Ie,M=Me,j=Ue,$=ue,K=Pe,s=Se,t=pe,C=Re,b=De,V=ce,F=ze;return v(),I(F,{modelValue:m.value,"onUpdate:modelValue":l[10]||(l[10]=o=>m.value=o),title:k.value?"编辑维修记录":"新建维修记录",width:"700px","close-on-click-modal":!1,onClose:N},{footer:a(()=>[z("div",He,[e(V,{onClick:N},{default:a(()=>[...l[17]||(l[17]=[u("取消",-1)])]),_:1}),e(V,{type:"primary",loading:g.value,onClick:Y},{default:a(()=>[...l[18]||(l[18]=[u(" 提交 ",-1)])]),_:1},8,["loading"])])]),default:a(()=>[e(b,{ref_key:"formRef",ref:x,model:d,rules:h,"label-width":"100px"},{default:a(()=>[e(y,{label:"资产",prop:"assetId"},{default:a(()=>[e(B,{modelValue:d.assetId,"onUpdate:modelValue":l[0]||(l[0]=o=>d.assetId=o),placeholder:"请选择资产",filterable:"",disabled:k.value},{default:a(()=>[(v(!0),Q(te,null,ae(c.value,o=>(v(),I(D,{key:o.id,label:`${o.assetCode} - ${o.assetName}`,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","disabled"])]),_:1}),e(y,{label:"故障类型",prop:"faultType"},{default:a(()=>[e(B,{modelValue:d.faultType,"onUpdate:modelValue":l[1]||(l[1]=o=>d.faultType=o),placeholder:"请选择"},{default:a(()=>[(v(!0),Q(te,null,ae(E(fe),(o,q)=>(v(),I(D,{key:q,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(y,{label:"优先级",prop:"priority"},{default:a(()=>[e(j,{modelValue:d.priority,"onUpdate:modelValue":l[2]||(l[2]=o=>d.priority=o)},{default:a(()=>[e(M,{label:"low"},{default:a(()=>[...l[11]||(l[11]=[u("低",-1)])]),_:1}),e(M,{label:"medium"},{default:a(()=>[...l[12]||(l[12]=[u("中",-1)])]),_:1}),e(M,{label:"high"},{default:a(()=>[...l[13]||(l[13]=[u("高",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(y,{label:"维修类型",prop:"maintenanceType"},{default:a(()=>[e(j,{modelValue:d.maintenanceType,"onUpdate:modelValue":l[3]||(l[3]=o=>d.maintenanceType=o)},{default:a(()=>[e(M,{label:"self_repair"},{default:a(()=>[...l[14]||(l[14]=[u("自行维修",-1)])]),_:1}),e(M,{label:"vendor_repair"},{default:a(()=>[...l[15]||(l[15]=[u("厂商维修",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(y,{label:"故障描述",prop:"faultDescription"},{default:a(()=>[e($,{modelValue:d.faultDescription,"onUpdate:modelValue":l[4]||(l[4]=o=>d.faultDescription=o),type:"textarea",rows:4,placeholder:"请详细描述故障情况",maxlength:"1000","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(y,{label:"维修人员",prop:"maintenancePersonnel"},{default:a(()=>[e($,{modelValue:d.maintenancePersonnel,"onUpdate:modelValue":l[5]||(l[5]=o=>d.maintenancePersonnel=o),placeholder:"请输入维修人员姓名"},null,8,["modelValue"])]),_:1}),e(y,{label:"维修费用",prop:"maintenanceCost"},{default:a(()=>[e(K,{modelValue:d.maintenanceCost,"onUpdate:modelValue":l[6]||(l[6]=o=>d.maintenanceCost=o),min:0,precision:2,step:100,"controls-position":"right"},null,8,["modelValue"]),l[16]||(l[16]=z("span",{style:{"margin-left":"8px"}},"元",-1))]),_:1}),e(y,{label:"维修时间"},{default:a(()=>[e(s,{modelValue:p.value,"onUpdate:modelValue":l[7]||(l[7]=o=>p.value=o),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期","value-format":"YYYY-MM-DD"},null,8,["modelValue"])]),_:1}),e(y,{label:"维修备注"},{default:a(()=>[e($,{modelValue:d.remark,"onUpdate:modelValue":l[8]||(l[8]=o=>d.remark=o),type:"textarea",rows:3,placeholder:"请输入维修备注",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1}),e(y,{label:"维修照片"},{default:a(()=>[e(C,{"file-list":U.value,"onUpdate:fileList":l[9]||(l[9]=o=>U.value=o),action:"#","list-type":"picture-card","auto-upload":!1,limit:5,accept:"image/*"},{default:a(()=>[e(t,null,{default:a(()=>[e(E(me))]),_:1})]),_:1},8,["file-list"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue","title"])}}}),Qe=ne(Je,[["__scopeId","data-v-2a9cc4e0"]]),We={class:"maintenance-management"},Xe={class:"toolbar"},Ze={class:"toolbar-actions"},et={class:"filter-section"},tt={class:"pagination"},at=se({__name:"MaintenanceManagement",setup(f){const{pagination:r,resetPage:i,setTotal:R}=qe(),m=re({status:void 0,priority:void 0,keyword:""}),k=T(!1),x=T([]),g=T(!1),c=T(null),p=()=>P(this,null,function*(){k.value=!0;try{const s=yield Ke(G({page:r.page,page_size:r.pageSize},m));x.value=s.items,R(s.total)}catch(s){S.error("获取维修记录失败")}finally{k.value=!1}}),U=()=>{i(),p()},d=()=>{Object.assign(m,{status:void 0,priority:void 0,keyword:""}),U()},h=()=>{p()},O=()=>{c.value=null,g.value=!0},Y=s=>{c.value=s.id,g.value=!0},N=s=>{c.value=s.id,g.value=!0},_=s=>P(this,null,function*(){try{yield J.confirm("确定开始维修吗?","提示",{type:"warning"}),S.success("已开始维修"),p()}catch(t){}}),l=s=>P(this,null,function*(){try{yield J.confirm("确定完成维修吗?","提示",{type:"success"}),S.success("维修已完成"),p()}catch(t){}}),D=s=>P(this,null,function*(){try{yield J.confirm("确定取消维修吗?","提示",{type:"warning"}),S.success("已取消维修"),p()}catch(t){}}),B=()=>{p()},y=s=>{const t=Object.values(fe).find(C=>C.value===s);return(t==null?void 0:t.label)||s},M=s=>{const t=Object.values(oe).find(C=>C.value===s);return(t==null?void 0:t.type)||""},j=s=>{const t=Object.values(oe).find(C=>C.value===s);return(t==null?void 0:t.label)||s},$=s=>({pending:"info",repairing:"warning",completed:"success",cancelled:"danger"})[s]||"",K=s=>({pending:"待维修",repairing:"维修中",completed:"已完成",cancelled:"已取消"})[s]||s;return Ee(()=>{p()}),(s,t)=>{const C=Ne,b=ce,V=de,F=ie,o=pe,q=ue,w=Be,W=je,ge=he,_e=Le,ye=Ae,ve=Fe;return v(),Q("div",We,[e(C,{onBack:t[0]||(t[0]=n=>s.$router.back()),title:"返回",content:"维修管理"}),e(ye,{style:{"margin-top":"20px"}},{default:a(()=>[z("div",Xe,[z("div",Ze,[e(b,{type:"primary",icon:E(me),onClick:O},{default:a(()=>[...t[7]||(t[7]=[u(" 新建维修记录 ",-1)])]),_:1},8,["icon"])]),z("div",et,[e(F,{modelValue:m.status,"onUpdate:modelValue":t[1]||(t[1]=n=>m.status=n),placeholder:"状态",clearable:"",style:{width:"150px"}},{default:a(()=>[e(V,{label:"待维修",value:"pending"}),e(V,{label:"维修中",value:"repairing"}),e(V,{label:"已完成",value:"completed"}),e(V,{label:"已取消",value:"cancelled"})]),_:1},8,["modelValue"]),e(F,{modelValue:m.priority,"onUpdate:modelValue":t[2]||(t[2]=n=>m.priority=n),placeholder:"优先级",clearable:"",style:{width:"150px"}},{default:a(()=>[e(V,{label:"低",value:"low"}),e(V,{label:"中",value:"medium"}),e(V,{label:"高",value:"high"})]),_:1},8,["modelValue"]),e(q,{modelValue:m.keyword,"onUpdate:modelValue":t[3]||(t[3]=n=>m.keyword=n),placeholder:"搜索资产名称/编码",clearable:"",style:{width:"250px"},onKeyup:Te(U,["enter"])},{prefix:a(()=>[e(o,null,{default:a(()=>[e(E($e))]),_:1})]),_:1},8,["modelValue"]),e(b,{type:"primary",onClick:U},{default:a(()=>[...t[8]||(t[8]=[u(" 搜索 ",-1)])]),_:1}),e(b,{onClick:d},{default:a(()=>[...t[9]||(t[9]=[u(" 重置 ",-1)])]),_:1})])]),xe((v(),I(ge,{data:x.value,border:"",stripe:"",style:{"margin-top":"16px"}},{default:a(()=>[e(w,{prop:"recordCode",label:"记录编号",width:"150"}),e(w,{prop:"asset.assetCode",label:"资产编码",width:"150"}),e(w,{prop:"asset.assetName",label:"资产名称","min-width":"150"}),e(w,{prop:"faultType",label:"故障类型",width:"100"},{default:a(({row:n})=>[u(H(y(n.faultType)),1)]),_:1}),e(w,{prop:"priority",label:"优先级",width:"80"},{default:a(({row:n})=>[e(W,{type:M(n.priority)},{default:a(()=>[u(H(j(n.priority)),1)]),_:2},1032,["type"])]),_:1}),e(w,{prop:"faultDescription",label:"故障描述","min-width":"200","show-overflow-tooltip":""}),e(w,{prop:"status",label:"状态",width:"100"},{default:a(({row:n})=>[e(W,{type:$(n.status)},{default:a(()=>[u(H(K(n.status)),1)]),_:2},1032,["type"])]),_:1}),e(w,{prop:"createdAt",label:"创建时间",width:"160"}),e(w,{label:"操作",width:"280",fixed:"right"},{default:a(({row:n})=>[e(b,{link:"",type:"primary",onClick:L=>Y(n)},{default:a(()=>[...t[10]||(t[10]=[u(" 查看 ",-1)])]),_:1},8,["onClick"]),n.status==="pending"?(v(),I(b,{key:0,link:"",type:"primary",onClick:L=>N(n)},{default:a(()=>[...t[11]||(t[11]=[u(" 编辑 ",-1)])]),_:1},8,["onClick"])):A("",!0),n.status==="pending"?(v(),I(b,{key:1,link:"",type:"success",onClick:L=>_(n)},{default:a(()=>[...t[12]||(t[12]=[u(" 开始维修 ",-1)])]),_:1},8,["onClick"])):A("",!0),n.status==="repairing"?(v(),I(b,{key:2,link:"",type:"success",onClick:L=>l(n)},{default:a(()=>[...t[13]||(t[13]=[u(" 完成维修 ",-1)])]),_:1},8,["onClick"])):A("",!0),["pending","repairing"].includes(n.status)?(v(),I(b,{key:3,link:"",type:"danger",onClick:L=>D(n)},{default:a(()=>[...t[14]||(t[14]=[u(" 取消 ",-1)])]),_:1},8,["onClick"])):A("",!0)]),_:1})]),_:1},8,["data"])),[[ve,k.value]]),z("div",tt,[e(_e,{"current-page":E(r).page,"onUpdate:currentPage":t[4]||(t[4]=n=>E(r).page=n),"page-size":E(r).pageSize,"onUpdate:pageSize":t[5]||(t[5]=n=>E(r).pageSize=n),total:E(r).total,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:h,onCurrentChange:h},null,8,["current-page","page-size","total"])])]),_:1}),e(Qe,{modelValue:g.value,"onUpdate:modelValue":t[6]||(t[6]=n=>g.value=n),"record-id":c.value,onSuccess:B},null,8,["modelValue","record-id"])])}}}),Pt=ne(at,[["__scopeId","data-v-62c6dea0"]]);export{Pt as default};