1 |
- import{by as K,bz as W,bA as X,bB as Y,aS as Q,q as O,B as z,aI as S,C as Z,r as s,o as t,n as i,J as k,I as b,K as n,H as c,t as V,aY as B,v as o,P as m,S as P,O as I,R as ee,bC as le,p as L,_ as oe,ak as C,a9 as ae,aD as te}from"./index.46adee50.js";import{I as A}from"./global.be899199.js";const w={formItems:{type:Array,default:()=>[]},formGroup:{type:Array,default:()=>[]},itemStyle:{type:Object,default:()=>({paddingRight:"20px"})},disabled:{type:Boolean,default:!1},colLayout:{type:Object,default:()=>({xl:6,lg:8,md:12,sm:24,xs:24})},formData:{type:Object,required:!0},contact:{type:String}},U={required:!0,message:"\u8054\u7CFB\u65B9\u5F0F\u683C\u5F0F\u4E0D\u6B63\u786E"},D=[{value:"0",label:"\u533A-\u56FA-\u5206",rule:{...U,validator(f,d){return K(d)}}},{value:"1",label:"\u533A-\u56FA",rule:{...U,validator(f,d){return W(d)}}},{value:"2",label:"\u56FA-\u5206",rule:{...U,validator(f,d){return X(d||"")}}},{value:"3",label:"\u56FA",rule:{...U,validator(f,d){return Y(d||"")}}},{value:"4",label:"\u624B\u673A\u53F7",rule:{...U,validator(f,d){return Q(d||"")}}}],ue={key:9,flex:"","gap-2":"","w-full":""},re=L("span",null,"\u81F3",-1),T=O({__name:"form-items",props:w,setup(f){const d=f,y=z("0"),a=S(d,"formData");return Z(()=>{var _;const r=a.value[d.contact];!d.contact||!r||(y.value=((_=D.find(u=>u.rule.validator("",r)))==null?void 0:_.value)||"4")}),(r,_)=>{const u=s("el-input"),p=s("el-input-number"),h=s("el-option"),F=s("el-select"),v=s("el-radio"),q=s("el-radio-group"),E=s("el-image"),G=s("el-upload"),R=s("el-checkbox"),M=s("el-checkbox-group"),$=s("el-date-picker"),j=s("el-form-item"),H=s("el-col");return t(!0),i(b,null,k(r.formItems,(e,J)=>(t(),i(b,{key:J},[e.isHidden?m("",!0):(t(),n(H,le(B({key:0},e.span?{span:e.span}:r.colLayout)),{default:c(()=>[V(j,{label:e.label,prop:e.field,rules:e.type!=="contact"?e.rules:o(D)[y.value].rule,"label-width":e.labelWidth,style:ee(r.itemStyle)},{default:c(()=>{var x,N;return[e.type==="input"?(t(),n(u,B({key:0,modelValue:o(a)[e.field],"onUpdate:modelValue":l=>o(a)[e.field]=l,placeholder:e.placeholder},o(A),{clearable:""}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):m("",!0),e.type==="number"?(t(),n(p,B({key:1,modelValue:o(a)[e.field],"onUpdate:modelValue":l=>o(a)[e.field]=l,placeholder:e.placeholder},o(A),{clearable:""}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):m("",!0),e.type==="select"?(t(),n(F,{key:2,modelValue:o(a)[e.field],"onUpdate:modelValue":l=>o(a)[e.field]=l,placeholder:e.placeholder,clearable:""},{default:c(()=>[(t(!0),i(b,null,k(e.options,(l,g)=>(t(),n(h,{key:g,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder"])):m("",!0),e.type==="radio"?(t(),n(q,{key:3,modelValue:o(a)[e.field],"onUpdate:modelValue":l=>o(a)[e.field]=l},{default:c(()=>[(t(!0),i(b,null,k(e.options,(l,g)=>(t(),n(v,{key:g,label:l.value},{default:c(()=>[P(I(l.label),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):m("",!0),e.type==="img_preview"?(t(),n(E,{key:4,src:o(a)[e.field]},null,8,["src"])):m("",!0),e.type==="img_upload"?(t(),n(G,{key:5,class:"el-avatar"})):m("",!0),e.type==="checkbox"?(t(),n(M,{key:6,modelValue:o(a)[e.field],"onUpdate:modelValue":l=>o(a)[e.field]=l},{default:c(()=>[(t(!0),i(b,null,k(e.options,(l,g)=>(t(),n(R,{key:g,label:l.value},{default:c(()=>[P(I(l.label),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):m("",!0),e.type==="date_picker"?(t(),n($,B({key:7,modelValue:o(a)[e.field],"onUpdate:modelValue":l=>o(a)[e.field]=l},e.otherOptions),null,16,["modelValue","onUpdate:modelValue"])):m("",!0),e.type==="contact"?(t(),n(u,{key:8,modelValue:o(a)[e.field],"onUpdate:modelValue":l=>o(a)[e.field]=l},{prepend:c(()=>[V(F,{style:{width:"115px"},modelValue:y.value,"onUpdate:modelValue":_[0]||(_[0]=l=>y.value=l)},{default:c(()=>[(t(!0),i(b,null,k(o(D),l=>(t(),n(h,{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:2},1032,["modelValue","onUpdate:modelValue"])):m("",!0),e.type==="range"?(t(),i("div",ue,[V(u,{modelValue:o(a)[e.field][0],"onUpdate:modelValue":l=>o(a)[e.field][0]=l,placeholder:(x=e.otherOptions)==null?void 0:x.startPlaceholder,maxlength:o(A)},null,8,["modelValue","onUpdate:modelValue","placeholder","maxlength"]),re,V(u,{modelValue:o(a)[e.field][1],"onUpdate:modelValue":l=>o(a)[e.field][1]=l,placeholder:(N=e.otherOptions)==null?void 0:N.endPlaceholder,maxlength:o(A)},null,8,["modelValue","onUpdate:modelValue","placeholder","maxlength"])])):m("",!0)]}),_:2},1032,["label","prop","rules","label-width","style"])]),_:2},1040))],64))),128)}}}),ne={class:"font-500 text-lg py-2"},de=O({__name:"group-form",props:w,setup(f){const y=S(f,"formData");return(a,r)=>{const _=s("el-col");return t(!0),i(b,null,k(a.formGroup,(u,p)=>(t(),i(b,{key:p},[V(_,{span:24},{default:c(()=>[L("h1",ne,I(u.title),1)]),_:2},1024),V(T,{"form-items":u.formItems,"form-data":o(y),"col-layout":a.colLayout,contact:a.contact},null,8,["form-items","form-data","col-layout","contact"])],64))),128)}}});const se=O({__name:"basic-form",props:w,setup(f,{expose:d}){const y=f,a=z(null),r=S(y,"formData");function _(u){var p;(p=a.value)==null||p.validate(h=>{u&&u(h)})}return d({vaildate:_}),(u,p)=>{const h=s("el-form-item"),F=s("el-row");return t(),n(o(te),{ref_key:"formRef",ref:a,modelValue:o(r),"onUpdate:modelValue":p[2]||(p[2]=v=>C(r)?r.value=v:null),model:o(r),disabled:u.disabled},{default:c(()=>[V(F,null,{default:c(()=>[u.formGroup.length?(t(),n(de,{key:1,"form-group":u.formGroup,contact:u.contact,"form-data":o(r),"onUpdate:form-data":p[1]||(p[1]=v=>C(r)?r.value=v:null),"col-layout":u.colLayout},null,8,["form-group","contact","form-data","col-layout"])):(t(),n(T,{key:0,"form-items":u.formItems,"col-layout":u.colLayout,contact:u.contact,"form-data":o(r),"onUpdate:form-data":p[0]||(p[0]=v=>C(r)?r.value=v:null)},null,8,["form-items","col-layout","contact","form-data"])),V(h,null,{default:c(()=>[ae(u.$slots,"action",{},void 0,!0)]),_:3})]),_:3})]),_:3},8,["modelValue","model","disabled"])}}});var me=oe(se,[["__scopeId","data-v-916174b2"]]);export{me as B};
|