import{i as I,E as t}from"./index.BeV-poOC.js";import{createCrudOptions as x}from"./curd.BVpXlXsu.js";import{B as k}from"./api.DqizZzzv.js";import{_ as S}from"./index.vue_vue_type_script_setup_true_lang.Z4ao5B34.js";import j from"./WarehouseSelectDialog.B2t9hdq2.js";import{a as y,r,q as F,a0 as D,ae as _,E as h,o as R,H as O,G as g,R as U,K as W,u as L,t as M,C as u}from"./vue.D_RgHSVm.js";import"./index.vue_vue_type_script_setup_true_lang.9wWcbTLR.js";import"./api.DtG8j8Gx.js";import"./api.Ck9je0X6.js";import"./index.vue_vue_type_script_setup_true_name_RefuseNotification_lang.DFt8oPZC.js";import"./api.c0P5GFbN.js";import"./api.Cr3zovkj.js";import"./_plugin-vue_export-helper.DlAUqK2U.js";const N=y({name:"approval"}),oe=y({...N,setup(T){const d=r(!1),m=r(""),p=r(null),n=r(!1),f=r({}),i=r(!1),v=r(null),{crudBinding:B,crudRef:a,crudExpose:l,crudOptions:q}=I({createCrudOptions:e=>x({...e,showRejectDialog:d,rejectReason:m,currentFormId:p,showWarehouseDialog:i,currentApprovalFormId:v})});u("showRejectDialog",d),u("rejectReason",m),u("currentFormId",p),u("crudExpose",l);function C(e,o,s){M(()=>{f.value={...s||{},borrow_type:e,mode:o}}),e!=1&&(n.value=!0)}async function w(e){const s=e.detail;C(s.borrow_type,"view",s)}async function E(e){try{e.mode==="edit"?t.success("编辑成功"):t.success("添加成功"),a.value&&a.value.doRefresh&&a.value.doRefresh(),l.doRefresh()}catch(o){console.error(e.mode==="edit"?"编辑失败":"提交失败",o),t.error(e.mode==="edit"?"编辑失败":"提交失败")}}async function b(e){try{await k(e.formId,"approve","同意借用",e.warehouseId),t.success("审批通过"),l.doRefresh()}catch(o){console.error("审批失败:",o),t.error("审批失败")}}return r(null),F(()=>{l.doRefresh(),window.addEventListener("approve-view",w)}),D(()=>{window.removeEventListener("approve-view",w)}),(e,o)=>{const s=_("fs-crud"),V=_("fs-page");return R(),h(V,null,{default:O(()=>[g(s,W({ref_key:"crudRef",ref:a},L(B)),null,16),n.value?(R(),h(S,{key:0,visible:n.value,"onUpdate:visible":o[0]||(o[0]=c=>n.value=c),modelValue:f.value,onSubmit:E},null,8,["visible","modelValue"])):U("",!0),g(j,{modelValue:i.value,"onUpdate:modelValue":o[1]||(o[1]=c=>i.value=c),formId:v.value,onConfirm:b},null,8,["modelValue","formId"])]),_:1})}}});export{oe as default};