quick-admin-vue3-core
Version:
以快(计算机执行效率、开发效率)为核心的后台管理系统开发模板
2 lines (1 loc) • 7.72 kB
JavaScript
;const e=require("vue"),s=require("./platform-Dl0zaSyI.cjs");require("./index-BC11nvhb.cjs");;/* empty css */const $=require("./dict-BmDXCNUh.cjs"),P=require("./ExplainPopover-l7ReTlPs.cjs"),R=require("./Index.vue_vue_type_script_setup_true_lang-BUFJYfgT.cjs"),L=require("./index--kwl1O1q.cjs"),j=require("./_plugin-vue_export-helper-BHFhmbuH.cjs"),O={key:0,class:"mr-h"},H={class:"color-danger"},M={key:0,class:"ml-h"},J=["innerHTML"],U=e.defineComponent({__name:"Index",props:{modelValue:{},field:{},prefixProp:{},pureText:{type:Boolean},labelSuffix:{},inputDebounce:{type:Boolean},hideLabel:{type:Boolean},tplType:{default:"common"}},emits:["update:modelValue","blur","focus","change"],setup(b,{expose:V,emit:E}){const{merge:A}=s._,g=b,y=E,{getOpts:T}=$.useDict();let m=e.computed({get:()=>g.modelValue,set:n=>y("update:modelValue",n)});const F=s.defaultFormItemTplsMap[g.tplType],r=e.computed(()=>{var u;const{field:n,hideLabel:t}=g;if(n.type==="custom")return n;const{tpl:o,type:a=s.defaultFormItemType,rules:p=[],...f}=n,{rules:i=[],...c}=s.defaultFieldAttrs[a]??{},{rules:k=[],...d}=o?s.getStandardTplInfo(o,F):{},l=A({},c,d,f,{type:a,rules:S([...i,...k,...p])});return(u=c==null?void 0:c.attrs)!=null&&u.getInferredAttrs&&(A(l.attrs,c.attrs.getInferredAttrs(l),n.attrs),delete l.attrs.getInferredAttrs),l.rules=D(l),t&&delete l.label,delete l.tpl,l});function D(n){const{label:t="",rules:o=[],required:a}=n;return!a||o.find(p=>p.required)||o.unshift({required:a,message:t+"必填"}),o}const q=e.computed(()=>{const{before:n,after:t,middleFlexGrow:o=1}=r.value.quickAttrs??{};return{[`f-${o}`]:n||t}});function C(n){const t=n.charCodeAt(0);return t>=97&&t<=122}function I(n){const t=n.charCodeAt(0);return t>=65&&t<=90}function S(n=[]){const t=[],o=["required","min","max","pattern","validator"];return n.forEach(a=>{const{type:p}=a,f=n.findIndex(i=>p?i.type===p:!!o.find(c=>a[c]!==void 0&&i[c]!==void 0));f===-1?t.push(a):t[f]=a}),t}async function h(n){if(!n)return[];const t=s.typeOf(n);if(t==="String"){const o=T(n),a=s.typeOf(o);if(a==="Array")return o;throw new Error(`暂未处理此类型:${a}`)}if(t==="Array")return n;if(t==="Promise")return await n;throw new Error(`暂未处理此种options的类型:${t}`)}const _=L.computedAsync(async()=>(await w(r.value,m.value)).value);async function w(n,t){var c,k,d,l;const{type:o=s.defaultFormItemType,label:a,attrs:p={},quickAttrs:f={}}=n,i=await h(p.options);if(["select","radio-group"].includes(o))t=(c=i==null?void 0:i.find(u=>u.value===t))==null?void 0:c.label;else if(o.includes("Time")||o.includes("date")){const{format:u}=A({},(k=s.defaultFieldAttrs[o])==null?void 0:k.attrs,p),B=s.typeOf(t)==="Array",x=` ${s.defaultRangeJoinChar} `;f!=null&&f.pureText||g.pureText?t=B?t.join(x):t:t=B?t.map(N=>N.format(u)).join(x):t==null?void 0:t.format(u)}else if(o==="checkbox-group")t=(d=i==null?void 0:i.filter(u=>t.includes(u.value)))==null?void 0:d.map(u=>u.label).join(",");else if(o==="input-number"){const{after:u=""}=f;t&&(t=t+u)}else if(o==="switch"){const{activeText:u="是",inactiveText:B="否",activeValue:x}=p;t=x===t?u:B}else o==="checkbox"?t=(l=i.find(u=>u.value===t))==null?void 0:l.label:o==="cascader"?t=s.getTextFromOpts(i,t):o==="BaseNumberRange"?t=t==null?void 0:t.join(s.defaultRangeJoinChar):o==="slot"&&(t=s.defaultEmptyStr);return s.emptyVals.includes(t)&&(t=s.defaultEmptyStr),{label:a,value:t}}return V({}),(n,t)=>{var p,f;const o=e.resolveComponent("BaseRender"),a=e.resolveComponent("el-form-item");return e.unref(r).type==="custom"?(e.openBlock(),e.createElementBlock("div",e.mergeProps({key:0,class:"mb-18"},e.unref(r).attrs),[e.createVNode(o,{renderData:e.unref(r).renderData??e.unref(s.throwTplError)("缺乏renderData")},null,8,["renderData"])],16)):(e.openBlock(),e.createBlock(a,e.mergeProps({key:1,class:["field-item",{"label-h-center":(p=e.unref(r).quickAttrs)==null?void 0:p.explain,[`value-v-${((f=e.unref(r).quickAttrs)==null?void 0:f.valueAlignContent)??""}`]:!0}]},e.unref(s.deleteAttrs)(e.unref(r),["attrs","quickAttrs","slots","tpl"]),{prop:n.prefixProp?`${n.prefixProp}.${e.unref(r).prop}`:e.unref(r).prop}),e.createSlots({default:e.withCtx(()=>{var i,c,k,d;return[(i=e.unref(r).quickAttrs)!=null&&i.before?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[typeof e.unref(r).quickAttrs.before=="string"?(e.openBlock(),e.createElementBlock("div",O,e.toDisplayString(e.unref(r).quickAttrs.before),1)):(e.openBlock(),e.createBlock(o,{key:1,renderData:e.unref(r).quickAttrs.before},null,8,["renderData"]))],64)):e.createCommentVNode("",!0),e.unref(r).type==="slot"?e.renderSlot(n.$slots,"custom",{key:1,field:e.unref(r)},()=>[e.createElementVNode("div",H,"【自定义】"+e.toDisplayString(`${e.unref(r).label}(${e.unref(r).prop})`),1)],!0):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[(c=e.unref(r).quickAttrs)!=null&&c.pureText||n.pureText?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createTextVNode(e.toDisplayString(e.unref(_)),1)],64)):(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[C(e.unref(r).type)?(e.openBlock(),e.createBlock(R._sfc_main,{key:0,modelValue:e.unref(m),"onUpdate:modelValue":t[0]||(t[0]=l=>e.isRef(m)?m.value=l:m=l),is:e.unref(r).type,class:e.normalizeClass(e.unref(q)),field:e.unref(r),onBlur:t[1]||(t[1]=(l,u)=>y("blur",l,e.unref(r).prop,u)),onFocus:t[2]||(t[2]=(l,u)=>y("focus",l,e.unref(r).prop,u)),onChange:t[3]||(t[3]=(l,u)=>y("change",l,e.unref(r).prop,u))},null,8,["modelValue","is","class","field"])):I(e.unref(r).type)?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(e.unref(r).type),e.mergeProps({key:1,modelValue:e.unref(m),"onUpdate:modelValue":t[4]||(t[4]=l=>e.isRef(m)?m.value=l:m=l),class:e.unref(q),prefixProp:["BaseAnyEleList","BaseAddDelList"].includes(e.unref(r).type)?e.unref(r).prop:void 0},e.unref(r).attrs,{onBlur:t[5]||(t[5]=(l,u)=>y("blur",l,e.unref(r).prop,u)),onFocus:t[6]||(t[6]=(l,u)=>y("focus",l,e.unref(r).prop,u)),onChange:t[7]||(t[7]=(l,u)=>y("change",l,e.unref(r).prop,u))}),null,16,["modelValue","class","prefixProp"])):(e.openBlock(),e.createElementBlock(e.Fragment,{key:2},[e.createTextVNode(e.toDisplayString(e.unref(s.throwTplError)(`不存在此类型:${e.unref(r).type}`)),1)],64))],64))],64)),(k=e.unref(r).quickAttrs)!=null&&k.after?(e.openBlock(),e.createElementBlock(e.Fragment,{key:3},[typeof e.unref(r).quickAttrs.after=="string"?(e.openBlock(),e.createElementBlock("div",M,e.toDisplayString(e.unref(r).quickAttrs.after),1)):(e.openBlock(),e.createBlock(o,{key:1,renderData:e.unref(r).quickAttrs.after},null,8,["renderData"]))],64)):e.createCommentVNode("",!0),(d=e.unref(r).quickAttrs)!=null&&d.tips?(e.openBlock(),e.createElementBlock(e.Fragment,{key:4},[typeof e.unref(r).quickAttrs.tips=="string"?(e.openBlock(),e.createElementBlock("div",{key:0,class:"notice",innerHTML:"注:"+e.unref(r).quickAttrs.tips},null,8,J)):(e.openBlock(),e.createBlock(o,{key:1,renderData:e.unref(r).quickAttrs.tips},null,8,["renderData"]))],64)):e.createCommentVNode("",!0)]}),_:2},[e.renderList(e.unref(s.getFormItemSlots)(e.unref(r)),(i,c)=>({name:c,fn:e.withCtx(k=>{var d,l;return[e.createVNode(o,{renderData:i,scope:k},null,8,["renderData","scope"]),(d=e.unref(r).quickAttrs)!=null&&d.explain?(e.openBlock(),e.createBlock(P.ExplainPopover,{key:0,explain:(l=e.unref(r).quickAttrs)==null?void 0:l.explain},null,8,["explain"])):e.createCommentVNode("",!0),n.labelSuffix?(e.openBlock(),e.createElementBlock(e.Fragment,{key:1},[e.createTextVNode(e.toDisplayString(n.labelSuffix),1)],64)):e.createCommentVNode("",!0)]})}))]),1040,["class","prop"]))}}}),z=j._export_sfc(U,[["__scopeId","data-v-d146d92a"]]);exports.FieldItem=z;