UNPKG

quick-admin-vue3-core

Version:

以快(计算机执行效率、开发效率)为核心的后台管理系统开发模板

2 lines (1 loc) 5.83 kB
"use strict";const e=require("vue"),c=require("./platform-Dl0zaSyI.cjs"),v=require("./index-BC11nvhb.cjs"),P=require("./FooterBtns-arvHqFYW.cjs"),S=require("./Index.vue_vue_type_script_setup_true_lang-Bvm_Z-BC.cjs"),q=require("./_plugin-vue_export-helper-BHFhmbuH.cjs");var C,V;const z=e.defineComponent({__name:"SectionForm",props:e.mergeDefaults({modelValue:{},sections:{},bodyMaxHeight:{},foldable:{type:Boolean},defaultExpands:{},accordion:{type:Boolean},bodyClass:{},labelWidth:{},grid:{},readonly:{type:Boolean},pureText:{type:Boolean},styleType:{},footer:{type:[Boolean,Object,Array]},autoFixedFoot:{type:Boolean},submitBtn:{},resetBtn:{},moreBtns:{},loading:{type:Boolean},extraParams:{},omits:{type:[Boolean,Array]},fetch:{type:Function},afterSuccess:{type:Function},afterFail:{type:Function},afterReset:{type:Function},log:{type:[Boolean,String]},debug:{type:Boolean}},{modelValue:()=>e.reactive({}),bodyClass:"f-fs-fs-w",grid:b=>b.styleType==="cell"?v.defaultSizeGridMap[c.defaultCommonSize]:24,log:c.isDev,footer:!0,omits:!0,foldable:!0,bodyMaxHeight:"90vh",autoFixedFoot:!0,sections:()=>[],...(V=(C=c.config)==null?void 0:C.SectionForm)==null?void 0:V.Index}),emits:["update:modelValue","toggle","moreBtns","submit","reset","blur","focus","change"],setup(b,{expose:w,emit:E}){const{merge:F}=c._,i=b,u=E,y=e.ref(null),B=e.ref(R(i.defaultExpands)),k=e.ref(),g=e.ref([]),m=e.computed({get:()=>i.modelValue,set:t=>u("update:modelValue",t)});e.watch(()=>i.sections,t=>{const{modelValue:o}=i;g.value=t.filter(n=>{if(c.typeOf(n)!=="Object")return!1;const{type:d,prop:p,fields:f}=n;if(c.typeOf(p)!=="Undefined"){const r=o==null?void 0:o[p];m.value[p]=d==="slot"?r:v.getHandleFields(f,r).data}else{const{fields:r,data:s}=v.getHandleFields(f,o);F(m.value,s),n.fields=r}return!0})},{immediate:!0,deep:!0});function R(t){const{sections:o}=i;if(!(t!=null&&t.length)||!(o!=null&&o.length))return[];const n=Array(o.length).fill(!0);return t.forEach(d=>n[d]=!1),n}function T(t,o){var d,p,f;if(!((p=(d=t.target)==null?void 0:d.classList)!=null&&p.contains("head")))return;const{accordion:n}=i;n?(f=g.value)==null||f.forEach((r,s)=>{B.value[s]=o!==s}):B.value[o]=!B.value[o],u("toggle",o,!B.value[o])}function h(t){const{attrs:o={},quickAttrs:n={}}=t,{size:d=o==null?void 0:o.size,labelWidth:p=(t==null?void 0:t.labelWidth)??i.labelWidth}=o,{grid:f=(n==null?void 0:n.grid)??i.grid,readonly:r=i.readonly,pureText:s=i.pureText,disabled:a=o.disabled}=n;return{size:d,labelWidth:p,grid:f,readonly:r,pureText:s,disabled:a}}function $(){y.value.submit()}return w({formRef:k,validate:()=>y.value.validate(),reset:()=>y.value.reset()}),(t,o)=>{const n=e.resolveComponent("el-row"),d=e.resolveComponent("BaseSection"),p=e.resolveComponent("BaseEmpty"),f=e.resolveComponent("el-form");return e.openBlock(),e.createBlock(f,e.mergeProps({class:"section-form f-fs-s-c"},e.unref(v.defaultFormAttrs),{class:t.styleType,model:m.value,onKeyup:e.withKeys($,["enter"]),ref_key:"formRef",ref:k}),{default:e.withCtx(()=>[e.createElementVNode("div",{class:e.normalizeClass(["all-hide-scroll f-fs-s-w",{"auto-fixed-foot":t.autoFixedFoot}])},[g.value.length?(e.openBlock(!0),e.createElementBlock(e.Fragment,{key:0},e.renderList(g.value,(r,s)=>(e.openBlock(),e.createBlock(d,{class:"section",title:r.title,explain:r.explain,badgeAttrs:r.badgeAttrs,border:t.styleType==="cell",foldable:"",onToggle:a=>T(a,s),key:s},{"head-right":e.withCtx(()=>[e.renderSlot(t.$slots,"head-right-"+(r.prop??s),{section:r,index:s},void 0,!0)]),default:e.withCtx(()=>[r.type==="slot"?e.renderSlot(t.$slots,r.prop??`body-${s}`,{key:0,section:r,index:s},void 0,!0):(e.openBlock(),e.createBlock(n,{key:1},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.fields,(a,A)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:(a==null?void 0:a.key)??A},[r.prop?(e.openBlock(),e.createBlock(S._sfc_main,e.mergeProps({key:0,modelValue:m.value[r.prop][a.prop],"onUpdate:modelValue":l=>m.value[r.prop][a.prop]=l,ref_for:!0},h(a),{field:a,onBlur:o[0]||(o[0]=(...l)=>u("blur",...l)),onFocus:o[1]||(o[1]=(...l)=>u("focus",...l)),onChange:o[2]||(o[2]=(...l)=>u("change",...l))}),{custom:e.withCtx(l=>[e.renderSlot(t.$slots,l.field.prop,e.mergeProps({ref_for:!0},l),void 0,!0)]),_:2},1040,["modelValue","onUpdate:modelValue","field"])):(e.openBlock(),e.createBlock(S._sfc_main,e.mergeProps({key:1,modelValue:m.value[a.prop],"onUpdate:modelValue":l=>m.value[a.prop]=l,ref_for:!0},h(a),{field:a,onBlur:o[3]||(o[3]=(...l)=>u("blur",...l)),onFocus:o[4]||(o[4]=(...l)=>u("focus",...l)),onChange:o[5]||(o[5]=(...l)=>u("change",...l))}),{custom:e.withCtx(l=>[e.renderSlot(t.$slots,l.field.prop,e.mergeProps({ref_for:!0},l),void 0,!0)]),_:2},1040,["modelValue","onUpdate:modelValue","field"]))],64))),128))]),_:2},1024))]),_:2},1032,["title","explain","badgeAttrs","border","onToggle"]))),128)):(e.openBlock(),e.createBlock(p,{key:1}))],2),t.footer?e.renderSlot(t.$slots,"footer",{key:0},()=>[!t.pureText&&t.footer===!0?(e.openBlock(),e.createBlock(P.FooterBtns,{key:0,loading:t.loading,moreBtns:t.moreBtns,submitBtn:t.submitBtn,resetBtn:t.resetBtn,disabled:!g.value.length,formRef:k.value,omits:t.omits,log:t.log,debug:t.debug,params:e.unref(F)({},m.value,t.extraParams),fetch:t.fetch,afterSuccess:t.afterSuccess,afterFail:t.afterFail,afterReset:t.afterReset,onMoreBtns:o[6]||(o[6]=(...r)=>u("moreBtns",...r)),onSubmit:o[7]||(o[7]=(...r)=>u("submit",...r)),onReset:o[8]||(o[8]=(...r)=>u("reset",...r)),ref_key:"footerBtnsRef",ref:y},null,8,["loading","moreBtns","submitBtn","resetBtn","disabled","formRef","omits","log","debug","params","fetch","afterSuccess","afterFail","afterReset"])):e.createCommentVNode("",!0)],!0):e.createCommentVNode("",!0)]),_:3},16,["class","model"])}}}),H=q._export_sfc(z,[["__scopeId","data-v-a8462e9d"]]);exports.SectionForm=H;