UNPKG

quick-admin-vue3-core

Version:

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

2 lines (1 loc) 2.63 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),c=require("./index-BC11nvhb.cjs"),m=require("./platform-Dl0zaSyI.cjs"),$=require("./IconBtns-CNK2DUfk.cjs"),q=require("./Index.vue_vue_type_script_setup_true_lang-Bvm_Z-BC.cjs"),I=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),P=e.defineComponent({inheritAttrs:!1,__name:"BaseAddDelList",props:{modelValue:{default:i=>e.reactive([c.getAddDelItem(i.fields)])},prefixProp:{},fields:{default:()=>[]},hideLabel:{type:Boolean,default:!0},addAfterValid:{type:Boolean,default:!0},rowAttrs:{}},emits:["update:modelValue"],setup(i,{emit:v}){const{merge:p,isEqual:B}=m._,f=m.useFormItem(),o=i,k=v,V=c.getAddDelItem(o.fields);let r=e.computed({get:()=>o.modelValue,set:t=>k("update:modelValue",t)});const _=e.ref([]);e.watch(()=>o.fields,t=>{const{modelValue:n}=o,d=c.getHandleFields(t,n),{data:a,fields:u}=d;p(r.value,[a]),_.value=u},{immediate:!0}),e.watch(()=>o.modelValue,(t,n)=>{B(t,n)||p(r.value,t)},{immediate:!1,deep:!0});function g(){r.value.push(JSON.parse(JSON.stringify(V)))}function A(t){r.value.splice(t,1)}function w(t,n){if(t==="add"){if(!f.form.validateField||!o.addAfterValid)return g();const d=Object.keys(r.value[0]).map(a=>`${o.prefixProp}[${n}].${a}`);return f.form.validateField(d,(a,u)=>{if(a)return g();const l=Object.values(u)[0][0];m.showMessage(l.message,"error")})}if(t==="delete")return A(n);throw new Error(`暂不支持此类型:${t}`)}return(t,n)=>{const d=e.resolveComponent("el-row"),a=e.resolveComponent("el-form-item");return e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(r),(u,l)=>(e.openBlock(),e.createBlock(a,{class:"base-add-del-list",style:e.normalizeStyle([{width:"100%"},{marginBottom:l<e.unref(r).length-1?"18px":"none"}]),key:l},{default:e.withCtx(()=>[e.createVNode(d,e.mergeProps({ref_for:!0},t.rowAttrs),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(_),(s,x)=>{var h;return e.openBlock(),e.createBlock(q._sfc_main,e.mergeProps({modelValue:e.unref(r)[l][s.prop],"onUpdate:modelValue":y=>e.unref(r)[l][s.prop]=y,hideLabel:"",prefixProp:`${t.prefixProp}[${l}]`,field:s,grid:(h=s.quickAttrs)==null?void 0:h.grid,ref_for:!0},t.$attrs,{key:x}),null,16,["modelValue","onUpdate:modelValue","prefixProp","field","grid"])}),128))]),_:2},1040),e.createVNode($.IconBtns,{fontSize:"26",onClick:s=>w(s,l),tpl:l<e.unref(r).length-1?"delete":e.unref(r).length<=1?"add":["delete","add"]},null,8,["onClick","tpl"])]),_:2},1032,["style"]))),128)}}}),b=I._export_sfc(P,[["__scopeId","data-v-5869da4f"]]);exports.default=b;