import{k as M,E as p}from"./index.-hnn5o3w.js";import{createCrudOptions as O}from"./crud.BwY5u6yw.js";import{_ as T}from"./index.vue_vue_type_script_setup_true_lang.EAJsqNb7.js";import{_ as $}from"./index.vue_vue_type_script_setup_true_lang.DY2nZJN2.js";import{_ as j}from"./index.vue_vue_type_script_setup_true_lang.D9_0zOoI.js";import{_ as q}from"./index.vue_vue_type_script_setup_true_lang.gXfKyL3-.js";import x from"./SettlementDialog.Dv1BWzOA.js";import{U as A,A as N}from"./api.BYuvh_qk.js";import{a as C,r as s,q as H,Z as J,aj as V,J as y,o as _,K,S as v,M as B,H as P,u as Z,t as w}from"./vue.YrNK8sx4.js";import"./index.vue_vue_type_script_setup_true_lang.Ce305GXA.js";import"./api.D6jYS-bd.js";import"./api.DdG6VSgQ.js";import"./index.CP181jd4.js";import"./api.Hmacbd6k.js";import"./crud.BV0wHNg5.js";import"./columnPermission.DadK8XTY.js";import"./index.vue_vue_type_script_setup_true_lang.DnDU01Mb.js";import"./_plugin-vue_export-helper.DlAUqK2U.js";import"./index.vue_vue_type_script_setup_true_lang.DcX-DpCZ.js";const z=C({name:"borrow"}),we=C({...z,setup(G){const{crudBinding:R,crudRef:i,crudExpose:f}=M({createCrudOptions:O}),u=s(!1),d=s(!1),m=s(!1),l=s(!1),r=s({}),b=s(!1);function c(o,e,n){u.value=!1,w(()=>{r.value={...n||{},borrow_type:o,mode:e}}),o===1?d.value=!0:o===2?m.value=!0:o===0&&(l.value=!0)}async function g(o){try{o.mode==="edit"?(await A(o),p.success("编辑成功")):(await N(o),p.success("添加成功")),i.value&&i.value.doRefresh&&i.value.doRefresh(),f.doRefresh()}catch(e){console.error(o.mode==="edit"?"编辑失败":"提交失败",e),p.error(o.mode==="edit"?"编辑失败":"提交失败")}}async function k(o){try{f.doRefresh()}catch(e){console.error("提交失败",e)}}async function S(o){const e=o.detail;console.log("row:::",e),l.value=!0,console.log("showCollectDialog:::",l.value),w(()=>{r.value={...e,mode:"collect"}})}async function h(o){const e=o.detail;console.log("row:::",e),l.value=!0,w(()=>{r.value={...e,mode:"return"}}),console.log("showReturnDialog:::",l.value)}async function E(o){const e=o.detail;c(e.borrow_type,"view",e)}async function U(o){const e=o.detail;c(e.borrow_type,"edit",e)}async function F(o){const e=o.detail;c(e.borrow_type)}async function L(o){const e=o.detail;b.value=!0,w(()=>{r.value={...e,mode:"settlement"}})}let a=null;return H(()=>{f.doRefresh(),window.addEventListener("borrow-view",E),window.addEventListener("borrow-edit",U),window.addEventListener("borrow-remove",F),window.addEventListener("borrow-collect",S),window.addEventListener("borrow-return",h),window.addEventListener("borrow-settlement",L);function o(){const e=document.querySelector(".borrow-page .fs-actionbar");if(e&&!e.querySelector(".my-create-btn")){const n=document.createElement("button");n.className="el-button el-button--primary el-button--default my-create-btn",n.innerHTML="创建借用单",n.onclick=()=>{u.value=!0},e.append(n)}}o(),a=new MutationObserver(()=>{o()}),a.observe(document.body,{childList:!0,subtree:!0})}),J(()=>{a&&(a.disconnect(),a=null),window.removeEventListener("borrow-view",E),window.removeEventListener("borrow-collect",S),window.removeEventListener("borrow-return",h),window.removeEventListener("borrow-settlement",L)}),(o,e)=>{const n=V("fs-crud"),D=V("fs-page");return _(),y(D,{class:"borrow-page"},{default:K(()=>[v(n,P({ref_key:"crudRef",ref:i},Z(R)),null,16),v(T,{visible:u.value,"onUpdate:visible":e[0]||(e[0]=t=>u.value=t),onSelect:c},null,8,["visible"]),d.value?(_(),y($,{key:0,visible:d.value,"onUpdate:visible":e[1]||(e[1]=t=>d.value=t),modelValue:r.value,lastFormSnapshot:o.lastFormSnapshot,"onUpdate:lastFormSnapshot":e[2]||(e[2]=t=>o.lastFormSnapshot=t),onSubmit:g},null,8,["visible","modelValue","lastFormSnapshot"])):B("",!0),m.value?(_(),y(j,{key:1,visible:m.value,"onUpdate:visible":e[3]||(e[3]=t=>m.value=t),modelValue:r.value,onSubmit:g},null,8,["visible","modelValue"])):B("",!0),v(q,{visible:l.value,"onUpdate:visible":e[4]||(e[4]=t=>l.value=t),modelValue:r.value,onSubmit:k},null,8,["visible","modelValue"]),v(x,{visible:b.value,"onUpdate:visible":e[5]||(e[5]=t=>b.value=t),modelValue:r.value},null,8,["visible","modelValue"])]),_:1})}}});export{we as default};