use-page-modal.fcbcb5c0.js 3.0 KB

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