var Le=Object.defineProperty;var we=Object.getOwnPropertySymbols;var Be=Object.prototype.hasOwnProperty,Ke=Object.prototype.propertyIsEnumerable;var ke=(k,v,i)=>v in k?Le(k,v,{enumerable:!0,configurable:!0,writable:!0,value:i}):k[v]=i,Ce=(k,v)=>{for(var i in v||(v={}))Be.call(v,i)&&ke(k,i,v[i]);if(we)for(var i of we(v))Ke.call(v,i)&&ke(k,i,v[i]);return k};var $=(k,v,i)=>new Promise((j,E)=>{var p=f=>{try{U(i.next(f))}catch(x){E(x)}},u=f=>{try{U(i.throw(f))}catch(x){E(x)}},U=f=>f.done?j(f.value):Promise.resolve(f.value).then(p,u);U((i=i.apply(k,v)).next())});import{_ as ue}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 *//* empty css *//* empty css */import"./el-tooltip-l0sNRNKZ.js";/* empty css *//* empty css *//* empty css *//* empty css */import{v as pe,h as ze,y as _,B,K as te,C as e,D as t,a5 as oe,z as N,u as T,Q as r,E as P,R as g,P as M,an as xe,M as ce,c as de,r as b,l as Z,j as qe}from"./vue-vendor-81Zqb-7t.js";import{L as me,k as Se,d as Ie,B as Re,C as Ee,j as _e,z as Ae,F as ve,G as fe,e as Ne,c as Ue,A as De,H as ge,J as ye,K as $e,E as R,N as Me,O as Ge,X as He,Y as Je,D as Te,a1 as Qe,S as Xe,I as Ye,a8 as We,a9 as Ze}from"./element-plus-CSxUwlOP.js";import{a as Pe,m as et,n as tt,o as at,p as lt,q as ot,r as nt}from"./index-cmyWCBIy.js";import{u as st}from"./usePagination-Bv7ipmyC.js";import{A as he,a as ee}from"./constants-7urqdt8E.js";import{a as rt}from"./assets-BWrZWWEK.js";/* empty css *//* empty css */import"./index-Dua4jQwX.js";const it={style:{"margin-left":"10px"}},dt={class:"filter-section"},ut={class:"pagination"},pt=pe({__name:"CreateRecoveryDialog",props:{modelValue:{type:Boolean}},emits:["update:modelValue","success"],setup(k,{emit:v}){const i=k,j=v,E=de({get:()=>i.modelValue,set:s=>j("update:modelValue",s)}),p=b(),u=b(!1),U=b([]),f=b([]),x=b(!1),S=b(!1),V=b([]),n=Z({organizationId:void 0,assetIds:[],reason:"",remark:""}),c={organizationId:[{required:!0,message:"请选择回收机构",trigger:"change"}],assetIds:[{required:!0,message:"请选择回收资产",trigger:"change"}],reason:[{required:!0,message:"请输入回收原因",trigger:"blur"}]},C=Z({keyword:""}),A=Z({page:1,pageSize:10,total:0}),h=de(()=>f.value.filter(s=>n.assetIds.includes(s.id))),G=()=>$(this,null,function*(){try{const s=yield Pe(),a=l=>{const m=[];return l.forEach(w=>{m.push(w),w.children&&m.push(...a(w.children))}),m};U.value=a(s)}catch(s){console.error("获取机构失败",s)}}),K=()=>{n.assetIds=[]},H=()=>{if(!n.organizationId){R.warning("请先选择回收机构");return}S.value=!0,F()},F=()=>$(this,null,function*(){x.value=!0;try{const s=yield rt({page:A.page,page_size:A.pageSize,organization_id:n.organizationId,status:"in_use",keyword:C.keyword});f.value=s.items,A.total=s.total}catch(s){R.error("获取资产列表失败")}finally{x.value=!1}}),J=s=>{V.value=s},Q=()=>{n.assetIds=V.value.map(s=>s.id),S.value=!1},X=s=>{const a=n.assetIds.indexOf(s.id);a>-1&&n.assetIds.splice(a,1)},L=()=>$(this,null,function*(){p.value&&(yield p.value.validate(s=>$(this,null,function*(){if(s){u.value=!0;try{yield et(n),R.success("创建成功"),y(),j("success")}catch(a){R.error("创建失败")}finally{u.value=!1}}})))}),y=()=>{var s;(s=p.value)==null||s.resetFields(),n.assetIds=[],E.value=!1},O=s=>{const a=Object.values(he).find(l=>l.value===s);return(a==null?void 0:a.type)||""},Y=s=>{const a=Object.values(he).find(l=>l.value===s);return(a==null?void 0:a.label)||s};return ze(()=>i.modelValue,s=>{s&&G()}),(s,a)=>{const l=Ee,m=Re,w=Ie,z=_e,I=fe,ae=ve,q=Ne,le=Se,D=me,ne=Ue,se=ge,re=$e,ie=ye;return _(),B(te,null,[e(D,{modelValue:E.value,"onUpdate:modelValue":a[3]||(a[3]=d=>E.value=d),title:"创建回收单",width:"800px","close-on-click-modal":!1,onClose:y},{footer:t(()=>[e(z,{onClick:y},{default:t(()=>[...a[11]||(a[11]=[r("取消",-1)])]),_:1}),e(z,{type:"primary",loading:u.value,onClick:L},{default:t(()=>[...a[12]||(a[12]=[r(" 提交 ",-1)])]),_:1},8,["loading"])]),default:t(()=>[e(le,{ref_key:"formRef",ref:p,model:n,rules:c,"label-width":"100px"},{default:t(()=>[e(w,{label:"回收机构",prop:"organizationId"},{default:t(()=>[e(m,{modelValue:n.organizationId,"onUpdate:modelValue":a[0]||(a[0]=d=>n.organizationId=d),placeholder:"请选择回收机构",style:{width:"100%"},onChange:K},{default:t(()=>[(_(!0),B(te,null,oe(U.value,d=>(_(),N(l,{key:d.id,label:d.orgName,value:d.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),e(w,{label:"回收资产",prop:"assetIds"},{default:t(()=>[e(z,{icon:T(Ae),onClick:H},{default:t(()=>[...a[9]||(a[9]=[r(" 选择资产 ",-1)])]),_:1},8,["icon"]),P("span",it,"已选 "+g(n.assetIds.length)+" 项",1)]),_:1}),h.value.length>0?(_(),N(w,{key:0,label:"资产明细"},{default:t(()=>[e(ae,{data:h.value,border:"","max-height":"300"},{default:t(()=>[e(I,{prop:"assetCode",label:"资产编码",width:"150"}),e(I,{prop:"assetName",label:"资产名称","min-width":"150"}),e(I,{prop:"deviceType.typeName",label:"设备类型",width:"120"}),e(I,{prop:"purchasePrice",label:"采购价格",width:"120"},{default:t(({row:d})=>[r(g(d.purchasePrice?`¥${d.purchasePrice.toFixed(2)}`:"-"),1)]),_:1}),e(I,{label:"操作",width:"80"},{default:t(({row:d})=>[e(z,{link:"",type:"danger",onClick:be=>X(d)},{default:t(()=>[...a[10]||(a[10]=[r(" 移除 ",-1)])]),_:1},8,["onClick"])]),_:1})]),_:1},8,["data"])]),_:1})):M("",!0),e(w,{label:"回收原因",prop:"reason"},{default:t(()=>[e(q,{modelValue:n.reason,"onUpdate:modelValue":a[1]||(a[1]=d=>n.reason=d),type:"textarea",rows:4,placeholder:"请输入回收原因"},null,8,["modelValue"])]),_:1}),e(w,{label:"备注"},{default:t(()=>[e(q,{modelValue:n.remark,"onUpdate:modelValue":a[2]||(a[2]=d=>n.remark=d),type:"textarea",rows:2,placeholder:"请输入备注信息"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),e(D,{modelValue:S.value,"onUpdate:modelValue":a[8]||(a[8]=d=>S.value=d),title:"选择资产",width:"1000px","append-to-body":""},{footer:t(()=>[e(z,{onClick:a[7]||(a[7]=d=>S.value=!1)},{default:t(()=>[...a[14]||(a[14]=[r("取消",-1)])]),_:1}),e(z,{type:"primary",onClick:Q},{default:t(()=>[...a[15]||(a[15]=[r(" 确定 ",-1)])]),_:1})]),default:t(()=>[P("div",dt,[e(q,{modelValue:C.keyword,"onUpdate:modelValue":a[4]||(a[4]=d=>C.keyword=d),placeholder:"搜索资产编码/名称",clearable:"",style:{width:"250px"},onKeyup:xe(F,["enter"])},{prefix:t(()=>[e(ne,null,{default:t(()=>[e(T(De))]),_:1})]),_:1},8,["modelValue"]),e(z,{type:"primary",onClick:F},{default:t(()=>[...a[13]||(a[13]=[r("搜索",-1)])]),_:1})]),ce((_(),N(ae,{data:f.value,border:"","max-height":"400",onSelectionChange:J},{default:t(()=>[e(I,{type:"selection",width:"55"}),e(I,{prop:"assetCode",label:"资产编码",width:"150"}),e(I,{prop:"assetName",label:"资产名称","min-width":"150"}),e(I,{prop:"deviceType.typeName",label:"设备类型",width:"120"}),e(I,{prop:"organization.orgName",label:"所属机构",width:"150"}),e(I,{prop:"status",label:"状态",width:"100"},{default:t(({row:d})=>[e(se,{type:O(d.status)},{default:t(()=>[r(g(Y(d.status)),1)]),_:2},1032,["type"])]),_:1})]),_:1},8,["data"])),[[ie,x.value]]),P("div",ut,[e(re,{"current-page":A.page,"onUpdate:currentPage":a[5]||(a[5]=d=>A.page=d),"page-size":A.pageSize,"onUpdate:pageSize":a[6]||(a[6]=d=>A.pageSize=d),total:A.total,"page-sizes":[10,20,50],layout:"total, sizes, prev, pager, next",onSizeChange:F,onCurrentChange:F},null,8,["current-page","page-size","total"])])]),_:1},8,["modelValue"])],64)}}}),ct=ue(pt,[["__scopeId","data-v-2cbd0021"]]),mt={class:"approval-item"},_t={class:"approval-header"},vt={class:"approver"},ft={key:0,class:"approval-comment"},gt=pe({__name:"RecoveryDetailDialog",props:{modelValue:{type:Boolean},recoveryId:{}},emits:["update:modelValue"],setup(k,{emit:v}){const i=k,j=v,E=de({get:()=>i.modelValue,set:V=>j("update:modelValue",V)}),p=b(!1),u=b(null),U=()=>$(this,null,function*(){if(i.recoveryId){p.value=!0;try{u.value=yield tt(i.recoveryId)}catch(V){R.error("获取详情失败")}finally{p.value=!1}}}),f=()=>{u.value=null,E.value=!1},x=V=>{const n=Object.values(ee).find(c=>c.value===V);return(n==null?void 0:n.type)||""},S=V=>{const n=Object.values(ee).find(c=>c.value===V);return(n==null?void 0:n.label)||V};return ze(()=>i.modelValue,V=>{V&&i.recoveryId&&U()}),(V,n)=>{const c=Ge,C=ge,A=Me,h=fe,G=ve,K=Te,H=Je,F=He,J=_e,Q=me,X=ye;return _(),N(Q,{modelValue:E.value,"onUpdate:modelValue":n[0]||(n[0]=L=>E.value=L),title:"回收单详情",width:"900px",onClose:f},{footer:t(()=>[e(J,{onClick:f},{default:t(()=>[...n[3]||(n[3]=[r("关闭",-1)])]),_:1})]),default:t(()=>{var L;return[ce((_(),B("div",null,[u.value?(_(),N(A,{key:0,title:"基本信息",column:2,border:"",class:"mb-16"},{default:t(()=>[e(c,{label:"回收单号"},{default:t(()=>[r(g(u.value.recoveryNo),1)]),_:1}),e(c,{label:"审批状态"},{default:t(()=>[e(C,{type:x(u.value.status)},{default:t(()=>[r(g(S(u.value.status)),1)]),_:1},8,["type"])]),_:1}),e(c,{label:"回收机构"},{default:t(()=>{var y;return[r(g((y=u.value.organization)==null?void 0:y.orgName),1)]}),_:1}),e(c,{label:"资产数量"},{default:t(()=>[r(g(u.value.assetCount),1)]),_:1}),e(c,{label:"总价值"},{default:t(()=>[r(g(u.value.totalValue?`¥${u.value.totalValue.toFixed(2)}`:"-"),1)]),_:1}),e(c,{label:"申请人"},{default:t(()=>{var y;return[r(g((y=u.value.applicant)==null?void 0:y.username),1)]}),_:1}),e(c,{label:"申请时间",span:2},{default:t(()=>[r(g(u.value.createdAt),1)]),_:1}),e(c,{label:"回收原因",span:2},{default:t(()=>[r(g(u.value.reason),1)]),_:1}),e(c,{label:"备注",span:2},{default:t(()=>[r(g(u.value.remark||"-"),1)]),_:1})]),_:1})):M("",!0),n[1]||(n[1]=P("div",{class:"section-title mb-16"},"资产明细",-1)),e(G,{data:((L=u.value)==null?void 0:L.assets)||[],border:"","max-height":"300",class:"mb-16"},{default:t(()=>[e(h,{prop:"assetCode",label:"资产编码",width:"150"}),e(h,{prop:"assetName",label:"资产名称","min-width":"150"}),e(h,{prop:"deviceType.typeName",label:"设备类型",width:"120"}),e(h,{prop:"brand.brandName",label:"品牌",width:"120"}),e(h,{prop:"model",label:"型号",width:"150"}),e(h,{prop:"purchasePrice",label:"采购价格",width:"120"},{default:t(({row:y})=>[r(g(y.purchasePrice?`¥${y.purchasePrice.toFixed(2)}`:"-"),1)]),_:1}),e(h,{prop:"serialNumber",label:"序列号",width:"150"})]),_:1},8,["data"]),n[2]||(n[2]=P("div",{class:"section-title mb-16"},"审批历史",-1)),e(F,null,{default:t(()=>{var y;return[(_(!0),B(te,null,oe(((y=u.value)==null?void 0:y.approvalHistory)||[],(O,Y)=>(_(),N(H,{key:Y,timestamp:O.createdAt,placement:"top"},{default:t(()=>[e(K,null,{default:t(()=>{var s;return[P("div",mt,[P("div",_t,[P("span",vt,g((s=O.approver)==null?void 0:s.username),1),e(C,{type:O.approved?"success":"danger",size:"small"},{default:t(()=>[r(g(O.approved?"通过":"拒绝"),1)]),_:2},1032,["type"])]),O.comment?(_(),B("div",ft,g(O.comment),1)):M("",!0)])]}),_:2},1024)]),_:2},1032,["timestamp"]))),128))]}),_:1})])),[[X,p.value]])]}),_:1},8,["modelValue"])}}}),yt=ue(gt,[["__scopeId","data-v-ea0aa378"]]),bt={class:"recovery-list"},Vt={class:"toolbar-actions"},wt={class:"filter-section"},kt={class:"pagination"},Ct=pe({__name:"RecoveryList",setup(k){const v=b([]),{pagination:i,resetPage:j,setTotal:E}=st(),p=Z({status:void 0,organizationId:void 0,dateRange:null,keyword:""}),u=b(!1),U=b([]),f=b(!1),x=b(!1),S=b(!1),V=b(null),n=b(null),c=Z({approved:!0,comment:""}),C=()=>$(this,null,function*(){u.value=!0;try{const a=Ce({page:i.page,page_size:i.pageSize},p);p.dateRange&&(a.start_date=p.dateRange[0],a.end_date=p.dateRange[1]),delete a.dateRange;const l=yield at(a);U.value=l.items,E(l.total)}catch(a){R.error("获取回收单列表失败")}finally{u.value=!1}}),A=()=>$(this,null,function*(){try{const a=yield Pe(),l=m=>{const w=[];return m.forEach(z=>{w.push(z),z.children&&w.push(...l(z.children))}),w};v.value=l(a)}catch(a){console.error("获取机构失败",a)}}),h=()=>{j(),C()},G=()=>{Object.assign(p,{status:void 0,organizationId:void 0,dateRange:null,keyword:""}),h()},K=()=>{C()},H=()=>{f.value=!0},F=()=>{R.info("导出功能开发中")},J=a=>{V.value=a.id,x.value=!0},Q=a=>{n.value=a,c.approved=!0,c.comment="",S.value=!0},X=()=>$(this,null,function*(){try{yield lt(n.value.id,c),R.success("审批成功"),S.value=!1,C()}catch(a){R.error("审批失败")}}),L=a=>$(this,null,function*(){try{yield ot(a.id),R.success("执行成功"),C()}catch(l){R.error("执行失败")}}),y=a=>$(this,null,function*(){try{yield nt(a),R.success("取消成功"),C()}catch(l){R.error("取消失败")}}),O=()=>{C()},Y=a=>{const l=Object.values(ee).find(m=>m.value===a);return(l==null?void 0:l.type)||""},s=a=>{const l=Object.values(ee).find(m=>m.value===a);return(l==null?void 0:l.label)||a};return qe(()=>{C(),A()}),(a,l)=>{const m=_e,w=Ee,z=Re,I=Xe,ae=Ue,q=Ne,le=Te,D=fe,ne=ge,se=Ye,re=ve,ie=$e,d=Ze,be=We,Ve=Ie,Oe=Se,Fe=me,je=ye;return _(),B("div",bt,[e(le,{class:"toolbar"},{default:t(()=>[P("div",Vt,[e(m,{type:"primary",icon:T(Ae),onClick:H},{default:t(()=>[...l[12]||(l[12]=[r(" 创建回收单 ",-1)])]),_:1},8,["icon"]),e(m,{icon:T(Qe),onClick:F},{default:t(()=>[...l[13]||(l[13]=[r(" 导出 ",-1)])]),_:1},8,["icon"])]),P("div",wt,[e(z,{modelValue:p.status,"onUpdate:modelValue":l[0]||(l[0]=o=>p.status=o),placeholder:"审批状态",clearable:"",style:{width:"150px"}},{default:t(()=>[(_(!0),B(te,null,oe(T(ee),(o,W)=>(_(),N(w,{key:W,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e(z,{modelValue:p.organizationId,"onUpdate:modelValue":l[1]||(l[1]=o=>p.organizationId=o),placeholder:"回收机构",clearable:"",style:{width:"150px"}},{default:t(()=>[(_(!0),B(te,null,oe(v.value,o=>(_(),N(w,{key:o.id,label:o.orgName,value:o.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e(I,{modelValue:p.dateRange,"onUpdate:modelValue":l[2]||(l[2]=o=>p.dateRange=o),type:"daterange","range-separator":"至","start-placeholder":"开始日期","end-placeholder":"结束日期",style:{width:"280px"}},null,8,["modelValue"]),e(q,{modelValue:p.keyword,"onUpdate:modelValue":l[3]||(l[3]=o=>p.keyword=o),placeholder:"搜索单号",clearable:"",style:{width:"200px"},onKeyup:xe(h,["enter"])},{prefix:t(()=>[e(ae,null,{default:t(()=>[e(T(De))]),_:1})]),_:1},8,["modelValue"]),e(m,{type:"primary",onClick:h},{default:t(()=>[...l[14]||(l[14]=[r(" 搜索 ",-1)])]),_:1}),e(m,{onClick:G},{default:t(()=>[...l[15]||(l[15]=[r(" 重置 ",-1)])]),_:1})])]),_:1}),e(le,{class:"table-card"},{default:t(()=>[ce((_(),N(re,{data:U.value,border:"",stripe:""},{default:t(()=>[e(D,{prop:"recoveryNo",label:"回收单号",width:"180",fixed:""}),e(D,{prop:"organization.orgName",label:"回收机构",width:"180"}),e(D,{prop:"assetCount",label:"资产数量",width:"100",align:"center"}),e(D,{prop:"totalValue",label:"总价值",width:"120"},{default:t(({row:o})=>[r(g(o.totalValue?`¥${o.totalValue.toFixed(2)}`:"-"),1)]),_:1}),e(D,{prop:"status",label:"审批状态",width:"100"},{default:t(({row:o})=>[e(ne,{type:Y(o.status)},{default:t(()=>[r(g(s(o.status)),1)]),_:2},1032,["type"])]),_:1}),e(D,{prop:"applicant.username",label:"申请人",width:"120"}),e(D,{prop:"createdAt",label:"申请时间",width:"180"}),e(D,{label:"操作",width:"250",fixed:"right"},{default:t(({row:o})=>[e(m,{link:"",type:"primary",onClick:W=>J(o)},{default:t(()=>[...l[16]||(l[16]=[r(" 详情 ",-1)])]),_:1},8,["onClick"]),o.status==="pending"?(_(),N(m,{key:0,link:"",type:"warning",onClick:W=>Q(o)},{default:t(()=>[...l[17]||(l[17]=[r(" 审批 ",-1)])]),_:1},8,["onClick"])):M("",!0),o.status==="approved"?(_(),N(m,{key:1,link:"",type:"success",onClick:W=>L(o)},{default:t(()=>[...l[18]||(l[18]=[r(" 执行 ",-1)])]),_:1},8,["onClick"])):M("",!0),o.status==="pending"?(_(),N(se,{key:2,title:"确定取消该回收单吗?",onConfirm:W=>y(o.id)},{reference:t(()=>[e(m,{link:"",type:"danger"},{default:t(()=>[...l[19]||(l[19]=[r("取消",-1)])]),_:1})]),_:1},8,["onConfirm"])):M("",!0)]),_:1})]),_:1},8,["data"])),[[je,u.value]]),P("div",kt,[e(ie,{"current-page":T(i).page,"onUpdate:currentPage":l[4]||(l[4]=o=>T(i).page=o),"page-size":T(i).pageSize,"onUpdate:pageSize":l[5]||(l[5]=o=>T(i).pageSize=o),total:T(i).total,"page-sizes":[10,20,50,100],layout:"total, sizes, prev, pager, next, jumper",onSizeChange:K,onCurrentChange:K},null,8,["current-page","page-size","total"])])]),_:1}),e(ct,{modelValue:f.value,"onUpdate:modelValue":l[6]||(l[6]=o=>f.value=o),onSuccess:O},null,8,["modelValue"]),e(yt,{modelValue:x.value,"onUpdate:modelValue":l[7]||(l[7]=o=>x.value=o),"recovery-id":V.value},null,8,["modelValue","recovery-id"]),e(Fe,{modelValue:S.value,"onUpdate:modelValue":l[11]||(l[11]=o=>S.value=o),title:"回收审批",width:"500px"},{footer:t(()=>[e(m,{onClick:l[10]||(l[10]=o=>S.value=!1)},{default:t(()=>[...l[22]||(l[22]=[r("取消",-1)])]),_:1}),e(m,{type:"primary",onClick:X},{default:t(()=>[...l[23]||(l[23]=[r(" 确定 ",-1)])]),_:1})]),default:t(()=>[e(Oe,{model:c,"label-width":"80px"},{default:t(()=>[e(Ve,{label:"审批结果"},{default:t(()=>[e(be,{modelValue:c.approved,"onUpdate:modelValue":l[8]||(l[8]=o=>c.approved=o)},{default:t(()=>[e(d,{label:!0},{default:t(()=>[...l[20]||(l[20]=[r("通过",-1)])]),_:1}),e(d,{label:!1},{default:t(()=>[...l[21]||(l[21]=[r("拒绝",-1)])]),_:1})]),_:1},8,["modelValue"])]),_:1}),e(Ve,{label:"审批意见"},{default:t(()=>[e(q,{modelValue:c.comment,"onUpdate:modelValue":l[9]||(l[9]=o=>c.comment=o),type:"textarea",rows:4,placeholder:"请输入审批意见"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}}),Yt=ue(Ct,[["__scopeId","data-v-ebb09589"]]);export{Yt as default};