import{s as q,r as v,_ as T,j as G,c as b,a as h,b as t,w as l,m as A,g as r,o as w,h as d,t as k,F as $,x as H,p as M,E as j}from"./index-BKY3gHB2.js";import{a as z}from"./application-BObaANl2.js";import{_ as J}from"./BaseTable-BUsuzGI9.js";import{_ as K}from"./StatusBadge-GSjUKTY1.js";const Q=q("approval",()=>{const x=v([]),o=v(!1),n=v({currentPage:1,pageSize:20,total:0,totalPages:0});async function i(u="",s=1){var c,C;o.value=!0;try{const y=await z.getAll(u,s,n.value.pageSize);x.value=((c=y.data)==null?void 0:c.items)||y.data||[],n.value.total=((C=y.data)==null?void 0:C.total)||x.value.length,n.value.currentPage=s,n.value.totalPages=Math.ceil(n.value.total/n.value.pageSize)||1}finally{o.value=!1}}async function m(u,s={}){const c=await z.approve(u,s);return await i("",n.value.currentPage),c}async function g(u,s={}){const c=await z.reject(u,s);return await i("",n.value.currentPage),c}return{applications:x,loading:o,page:n,fetchPendingApplications:i,approveApplication:m,rejectApplication:g}}),W={class:"approval-page"},X={class:"page-header"},Y={key:1},Z={key:1},ee={__name:"Approval",setup(x){const o=Q(),n=v(""),i=v(!1),m=v(!1),g=v(null),u=M({autoOutbound:!1}),s=M({reason:""});G(()=>{o.fetchPendingApplications()});function c(){o.fetchPendingApplications(n.value)}function C(p){o.fetchPendingApplications(n.value,p)}function y(p){g.value=p,u.autoOutbound=!1,i.value=!0}async function O(){await o.approveApplication(g.value.id,{auto_outbound:u.autoOutbound}),j.success("审批通过"),i.value=!1}function U(p){g.value=p,s.reason="",m.value=!0}async function B(){if(!s.reason.trim()){j.warning("请填写拒绝原因");return}await o.rejectApplication(g.value.id,{reason:s.reason}),j.success("已拒绝"),m.value=!1}function E(p){return p?new Date(p).toLocaleString("zh-CN"):"-"}return(p,e)=>{const P=r("el-option"),N=r("el-select"),f=r("el-table-column"),_=r("el-button"),I=r("el-switch"),S=r("el-form-item"),D=r("el-form"),F=r("el-dialog"),L=r("el-input");return w(),b("div",W,[h("div",X,[e[7]||(e[7]=h("h2",null,"申请审批",-1)),t(N,{modelValue:n.value,"onUpdate:modelValue":e[0]||(e[0]=a=>n.value=a),placeholder:"状态筛选",style:{width:"150px"},onChange:c},{default:l(()=>[t(P,{label:"全部",value:""}),t(P,{label:"待处理",value:"pending"}),t(P,{label:"已通过",value:"approved"}),t(P,{label:"已拒绝",value:"rejected"})]),_:1},8,["modelValue"])]),t(J,{data:A(o).applications,loading:A(o).loading,"current-page":A(o).page.currentPage,"page-size":A(o).page.pageSize,total:A(o).page.total,onPageChange:C},{default:l(()=>[t(f,{type:"index",label:"ID",width:"60"}),t(f,{prop:"application_no",label:"申请单号"}),t(f,{label:"申请人",width:"100"},{default:l(({row:a})=>[d(k(a.applicant||a.username||"-"),1)]),_:1}),t(f,{prop:"items",label:"物料明细",width:"200"},{default:l(({row:a})=>[a.items&&a.items.length>0?(w(!0),b($,{key:0},H(a.items,(V,R)=>(w(),b("span",{key:R,class:"text-wrap"},[d(k(V.material_code)+" - "+k(V.material_name)+" × "+k(V.quantity),1),e[8]||(e[8]=h("br",null,null,-1))]))),128)):(w(),b("span",Y,"-"))]),_:1}),t(f,{prop:"status",label:"状态"},{default:l(({row:a})=>[t(K,{status:a.status},null,8,["status"])]),_:1}),t(f,{prop:"purpose",label:"用途"}),t(f,{prop:"created_at",label:"申请时间",width:"160"},{default:l(({row:a})=>[d(k(E(a.created_at)),1)]),_:1}),t(f,{label:"操作",width:"200",fixed:"right"},{default:l(({row:a})=>[a.status==="pending"?(w(),b($,{key:0},[t(_,{size:"small",type:"success",onClick:V=>y(a)},{default:l(()=>[...e[9]||(e[9]=[d("通过",-1)])]),_:1},8,["onClick"]),t(_,{size:"small",type:"danger",onClick:V=>U(a)},{default:l(()=>[...e[10]||(e[10]=[d("拒绝",-1)])]),_:1},8,["onClick"])],64)):(w(),b("span",Z,"-"))]),_:1})]),_:1},8,["data","loading","current-page","page-size","total"]),t(F,{modelValue:i.value,"onUpdate:modelValue":e[3]||(e[3]=a=>i.value=a),title:"审批通过",width:"400px"},{footer:l(()=>[t(_,{onClick:e[2]||(e[2]=a=>i.value=!1)},{default:l(()=>[...e[11]||(e[11]=[d("取消",-1)])]),_:1}),t(_,{type:"success",onClick:O},{default:l(()=>[...e[12]||(e[12]=[d("确认通过",-1)])]),_:1})]),default:l(()=>[t(D,{model:u,"label-width":"100px"},{default:l(()=>[t(S,{label:"自动出库"},{default:l(()=>[t(I,{modelValue:u.autoOutbound,"onUpdate:modelValue":e[1]||(e[1]=a=>u.autoOutbound=a)},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"]),t(F,{modelValue:m.value,"onUpdate:modelValue":e[6]||(e[6]=a=>m.value=a),title:"拒绝申请",width:"400px"},{footer:l(()=>[t(_,{onClick:e[5]||(e[5]=a=>m.value=!1)},{default:l(()=>[...e[13]||(e[13]=[d("取消",-1)])]),_:1}),t(_,{type:"danger",onClick:B},{default:l(()=>[...e[14]||(e[14]=[d("确认拒绝",-1)])]),_:1})]),default:l(()=>[t(D,{model:s,"label-width":"100px"},{default:l(()=>[t(S,{label:"拒绝原因"},{default:l(()=>[t(L,{modelValue:s.reason,"onUpdate:modelValue":e[4]||(e[4]=a=>s.reason=a),type:"textarea",rows:"3"},null,8,["modelValue"])]),_:1})]),_:1},8,["model"])]),_:1},8,["modelValue"])])}}},ne=T(ee,[["__scopeId","data-v-d68a1931"]]);export{ne as default};