use-page-modal.6693b885.js 3.0 KB

1
  1. import{q as F,t as D,o as d,u as g,x as _,n as P,B as j,z as w,y as q,F as E,r as f,a2 as I,L,D as p,b9 as T,v as h,w as V}from"./index.f47bb45b.js";import{B as A}from"./page-content.d948a327.js";const O={modalConfig:{type:Object,required:!0},prviewDescription:{type:Boolean,default:!1},defaultInfo:{type:Object,required:!0}},N={config:{type:Object,required:!0},defaultInfo:{type:Object,required:!0}},R=F({__name:"description",props:N,setup(s){return(u,m)=>{const a=D("el-descriptions-item"),r=D("el-descriptions");return d(),g(r,{column:1,border:""},{default:_(()=>[(d(!0),P(E,null,j(u.config.formItems,(e,n)=>(d(),g(a,{key:n,label:e.label,align:"center"},{default:_(()=>[w(q(u.defaultInfo[e.field]),1)]),_:2},1032,["label"]))),128))]),_:1})}}}),U={update:"\u7F16\u8F91",create:"\u65B0\u589E",preview:"\u8BE6\u60C5"};function x(s){return U[s]}const M={key:2,class:"flex justify-end"},$=w("\u4FDD\u5B58"),z=w("\u5173\u95ED"),H=F({__name:"page-modal",props:O,emits:["confirmBtnClick"],setup(s,{expose:u,emit:m}){const a=s,r=f({}),e=f("preview"),n=f(null),c=f(!1),y=f(!1),b=I(()=>e.value==="preview"),k=I(()=>{const o=x(e.value);return e.value==="preview"?a.modalConfig.title+o:o+a.modalConfig.title});function i(o,t){for(const l of o){const v=l.type==="checkbox";r.value[l.field]=v&&!Array.isArray(t[l.field])?[]:t[l.field]}}L(()=>a.defaultInfo,o=>{const{formGroup:t,formItems:l}=a.modalConfig;if(!t)return i(l,o);t.forEach(v=>i(v.formItems,o))});function B(){n.value.vaildate(o=>{o&&m("confirmBtnClick",p(e),p(r))})}return u({dialogVisible:c,confirmLoading:y,type:e}),(o,t)=>{const l=D("el-button"),v=D("el-dialog");return d(),g(v,{title:p(k),modelValue:c.value,"onUpdate:modelValue":t[2]||(t[2]=C=>c.value=C),center:"","destroy-on-close":""},{default:_(()=>[o.prviewDescription?h("",!0):(d(),g(p(A),T({key:0,ref_key:"formRef",ref:n},o.modalConfig,{"form-data":r.value,"onUpdate:form-data":t[0]||(t[0]=C=>r.value=C),disabled:p(b)}),null,16,["form-data","disabled"])),o.prviewDescription?(d(),g(R,{key:1,config:o.modalConfig,"default-info":o.defaultInfo},null,8,["config","default-info"])):h("",!0),p(b)?h("",!0):(d(),P("div",M,[V(l,{type:"primary",loading:y.value,onClick:B},{default:_(()=>[$]),_:1},8,["loading"]),V(l,{onClick:t[1]||(t[1]=C=>c.value=!1)},{default:_(()=>[z]),_:1})]))]),_:1},8,["title","modelValue"])}}});function J({createCallback:s,updateCallback:u,confirmCallback:m,previewCallback:a,pageContentRef:r}){const e=f(null),n=f({});function c(){n.value={},e.value.type="create",s&&s(),e.value.dialogVisible=!0}function y(i){n.value={...i},e.value.type="update",u&&u(),e.value.dialogVisible=!0}function b(i){n.value={...i},e.value.type="preview",a&&a(),e.value.dialogVisible=!0}function k(i,B){const o=m?m(B):{};e.value.confirmLoading=!0;const t={...i==="update"?{id:n.value.id}:{},...o||{},...B};r.value.onBeforeAction(i,t,()=>{e.value.confirmLoading=!1,e.value.dialogVisible=!1})}return{handleCreateData:c,handleUpdateData:y,handlePreviewData:b,handleConfrim:k,defaultInfo:n,pageModalRef:e}}export{H as _,J as u};