use-page-modal.c5ec52fd.js 3.3 KB

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