@elementplus-kit/uikit 1.7.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (36) hide show
  1. package/components/button/index.ts +2 -4
  2. package/components/button/src/index.ts +58 -53
  3. package/components/button/src/type.ts +15 -0
  4. package/components/dialog/index.ts +2 -6
  5. package/components/dialog/src/index.ts +3 -3
  6. package/components/dialog/src/type.ts +1 -0
  7. package/components/dictLabel/src/type.ts +1 -0
  8. package/components/drawer/index.ts +2 -4
  9. package/components/drawer/src/index.ts +3 -3
  10. package/components/drawer/src/type.ts +1 -0
  11. package/components/form/index.ts +2 -4
  12. package/components/form/src/FormItem.ts +24 -16
  13. package/components/form/src/index.ts +4 -4
  14. package/components/form/src/type.ts +68 -0
  15. package/components/importText/index.ts +2 -0
  16. package/components/importText/src/index.ts +1 -0
  17. package/components/importText/src/type.ts +3 -0
  18. package/components/index.ts +1 -39
  19. package/components/pagination/index.ts +2 -4
  20. package/components/pagination/src/index.ts +4 -4
  21. package/components/pagination/src/type.ts +1 -0
  22. package/components/search/index.ts +2 -4
  23. package/components/search/src/index.tsx +47 -35
  24. package/components/search/src/type.ts +2 -0
  25. package/components/table/index.ts +2 -4
  26. package/components/table/src/index.ts +5 -4
  27. package/components/table/src/type.ts +19 -0
  28. package/dist/index.css +1 -0
  29. package/dist/index.mjs +1079 -0
  30. package/dist/index.umd.js +1 -0
  31. package/package.json +1 -1
  32. package/build.log +0 -0
  33. package/components/form/src/types.ts +0 -39
  34. package/components/table/src/index2.ts +0 -219
  35. package/components/table/src/index3.ts +0 -233
  36. package/components/table/src/tableaa.ts +0 -71
@@ -0,0 +1 @@
1
+ (function(C,e){typeof exports=="object"&&typeof module<"u"?e(exports,require("vue"),require("element-plus"),require("lodash-es"),require("@element-plus/icons-vue")):typeof define=="function"&&define.amd?define(["exports","vue","element-plus","lodash-es","@element-plus/icons-vue"],e):(C=typeof globalThis<"u"?globalThis:C||self,e(C.ElementPlusKit={},C.vue,C.elementPlus,C._,C.iconsVue))})(this,(function(C,e,l,S,X){"use strict";const B={input:{elName:"input",defaultAttrs:{},events:["blur","focus","change","input","clear","keydown","mouseleave","mouseenter","compositionstart","compositionupdate","compositionend"],slots:["prefix","suffix","prepend","append"]},textarea:{elName:"textarea",defaultAttrs:{},events:["blur","focus","change","input"]},"input-number":{elName:"input-number",defaultAttrs:{},events:["change","Function","blur","focus"],slots:["decrease-icon","increase-icon","prefix","suffix"]},select:{elName:"select",defaultAttrs:{},events:["change","visible-change","remove-tag","clear","blur","focus","popup-scroll"],slots:["default","header","footer","prefix","empty","tag","loading","label"]},"select-v2":{elName:"select-v2",defaultAttrs:{},events:["focus","blur","selectedLabel"],slots:["default","header","footer","prefix","empty","tag","loading","label"]},cascader:{elName:"cascader",defaultAttrs:{},events:["change","expand-change","blur","focus","clear","visible-change","remove-tag"],slots:["default","empty","prefix","suggestion-item","tag"]},"tree-select":{elName:"tree-select",defaultAttrs:{},events:["change","clear","blur","focus"],slots:["default"]},radio:{elName:"radio",defaultAttrs:{},events:["change"]},checkbox:{elName:"checkbox",defaultAttrs:{},events:["change"]},"time-select":{elName:"time-select",defaultAttrs:{},events:["change","blur","focus","clear"]},"date-picker":{elName:"date-picker",defaultAttrs:{},events:["change","blur","focus","clear","calendar-change","panel-change","visible-change"],slots:["default","range-separator","prev-month","next-month","prev-year","next-year"]},"time-picker":{elName:"time-picker",defaultAttrs:{},events:["change","blur","focus","clear","visible-change"],slots:[]},rate:{elName:"rate",defaultAttrs:{},events:["change"]},"color-picker":{elName:"color-picker",defaultAttrs:{},events:["change","active-change","focus","blur"]},slider:{elName:"slider",defaultAttrs:{},events:["change","input"]},switch:{elName:"switch",defaultAttrs:{},events:["change"],slots:["active-action","inactive-action"]},text:{elName:"text",defaultAttrs:{},slots:["default"]},html:{},slot:{}},Z=()=>{let t=[];return Object.keys(B).map(r=>{const p=B[r]?.events;p?.length>0&&t.push(...p)}),t=[...new Set(t)],t},P=t=>t.replace(/(?:^|-)(\w)/g,(r,p)=>p.toUpperCase()),ee={model:{type:Object,default:()=>{}},label:{type:String,default:""},type:{type:String,default:""},prop:{type:String,default:""},required:{type:Boolean,default:!1},allReadonly:{type:Object,default:null},formItem:{type:Object,default:()=>{}},attrs:{type:Object,default:()=>{}},dictType:{type:String,default:void 0},options:{type:Array,default:()=>[]},optionsRef:{type:Object,default:()=>{}},mergeParams:{type:Object,default:()=>{}}},te=e.defineComponent({props:ee,setup(t,{attrs:r,emit:p,slots:i,expose:m}){const{formSlots:u,events:N}=e.inject("formContext"),{model:v,type:O,label:A,prop:d,required:n,allReadonly:h,formItem:a,attrs:f,dictType:T,options:w}=e.toRefs(t),E=()=>{const b={};return B[O.value]?.slots?.forEach(y=>{const V=`${d.value}.${y}`;Object.keys(u).map(x=>{x===V&&(b[y]=u[x])})}),b},s=()=>{const b={};return B[O.value]?.events?.forEach(y=>{const V=`on${P(y)}`;b[V]=(...x)=>N(y,d.value,...x)}),b},g=()=>{let b=!1;return S.isFunction(f.value?.disabled)&&(b=f.value.disabled(t.mergeParams)),S.isBoolean(f.value?.disabled)&&(b=f.value.disabled),h.value&&(b=!0),{disabled:b}},o=()=>{const b=B[O.value]?.defaultAttrs||{},c={ref:y=>L(y,d.value),...b,...f.value,...g()};return["html"].includes(O.value)||(c.modelValue=v.value[d.value],c["onUpdate:modelValue"]=y=>v.value[d.value]=y),c},L=(b,c)=>{t.optionsRef[`${c}Ref`]=b},R={input:()=>e.h(l.ElInput,{clearable:!0,...o(),...s()},{...E()}),textarea:()=>e.h(l.ElInput,{...o(),...s(),type:"textarea"}),"input-number":()=>e.h(l.ElInputNumber,{...o(),...s()},{...E()}),select:()=>e.h(l.ElSelect,{clearable:!0,...o(),...s()},()=>w?.value?.map(b=>e.h(l.ElOption,{...b,label:b.label,value:b.value,key:b.value}))),"select-v2":()=>e.h(l.ElSelectV2,{options:w.value,clearable:!0,...o(),...s()}),cascader:()=>e.h(l.ElCascader,{options:w.value,clearable:!0,...o(),...s()},{...E()}),"tree-select":()=>e.h(l.ElTreeSelect,{data:w.value,clearable:!0,...o(),...s()},{...E()}),radio:()=>e.h(l.ElRadioGroup,{...o(),...s()},{default:()=>w?.value?.map(c=>e.h(c.radioButton?l.ElRadioButton:l.ElRadio,{...c,label:c.label,value:c.value,key:c.value}))}),checkbox:()=>e.h(l.ElCheckboxGroup,{...o(),...s()},{default:()=>w?.value?.map(c=>e.h(l.ElCheckbox,{...c,label:c.label,value:c.value,key:c.value}))}),"time-select":()=>e.h(l.ElTimeSelect,{...o(),...s()}),"date-picker":()=>{const b=f.value?.type||"date",y={year:"YYYY",month:"YYYY-MM",date:"YYYY-MM-DD"}[b];return e.h(l.ElDatePicker,{type:b,valueFormat:y,...o(),...s()},{...E()})},"time-picker":()=>e.h(l.ElTimePicker,{valueFormat:"HH:mm:ss",...o(),...s()}),rate:()=>e.h(l.ElRate,{...o(),...s()}),"color-picker":()=>e.h(l.ElColorPicker,{...o(),...s()}),slider:()=>e.h(l.ElSlider,{...o(),...s()}),switch:()=>e.h(l.ElSwitch,{...o(),...s()},{...E()}),text:()=>e.h(l.ElText,{...o()}),html:()=>e.h("div",{innerHTML:v.value[d.value],...o()}),slot:()=>u[d.value]?.(v.value)},k=()=>u[d.value]?R.slot():O.value==="slot"?`表单属性 ${d.value} 插槽模板未定义`:R[O.value]?R[O.value]():(console.error(`不支持的表单类型 ${O.value}`),`不支持的表单类型 ${O.value}`),I=()=>{const b=k();return e.h(l.ElFormItem,{label:A.value,prop:d.value,rules:n.value?[{required:!0,message:`${A.value} 必填`,trigger:"blur"}]:void 0,...a.value},{default:()=>b})};return()=>I()}}),re={model:{type:Object,default:()=>({})},formOptions:{type:Array,default:()=>[]},readonly:{type:Boolean,default:!1},gutter:{type:Number||String,default:void 0},col:{type:Number,default:void 0},params:{type:Object,default:()=>({})}},Y=e.defineComponent({props:re,emits:[...Z()],setup(t,{attrs:r,emit:p,slots:i,expose:m}){e.provide("formContext",{formSlots:i,events:(g,...o)=>{p(g,...o)}});const u=e.ref({});m({optionsRef:u});const{model:N,formOptions:v,readonly:O,gutter:A,col:d}=e.toRefs(t),n=e.getCurrentInstance(),h=g=>{g&&(n.exposed=g,n.exposeProxy=g)},a=e.computed(()=>O.value),f=e.computed(()=>["",0].includes(A?.value)||d?.value||v?.value.some(g=>S.has(g,"col"))),T=()=>{const g=E();return f.value?e.h(l.ElRow,{class:"c-row",gutter:A.value||20,...r},{default:()=>g}):g},w=e.computed(()=>({formData:N.value,params:t.params})),E=()=>{const g=[];return v.value.map(o=>{S.isFunction(o?.vIf)&&o.vIf(w.value)!==void 0?o.vIf(w.value)&&g.push(o):g.push(o)}),g.map(o=>{const L=()=>e.h(te,{class:"c-form-itme",model:N.value,allReadonly:a,mergeParams:w.value,...o,optionsRef:u.value});if(f.value){let R,k=`col.${o.prop}`;return o?.colSlot?S.has(i,k)?R=i[k]:R=()=>"col插槽模板未定义":S.has(i,k)&&(R=i[k]),e.h(l.ElCol,{class:"c-col",span:S.has(o,"col")?o.col:d?.value?d?.value:f.value?8:void 0},{default:()=>R?R():L()})}else return L()})},s=()=>e.h(l.ElForm,{ref:h,...r,model:N.value,class:a.value?"isReadonly c-form":"c-form"},{default:()=>T()});return()=>s()}}),ae=e.defineComponent({__name:"tableDictLabel",props:{options:{type:Array,default:()=>[]},value:{type:String,default:""}},setup(t){const r=t,p=e.computed(()=>r.options?.find(m=>m.value==r.value.toString())?.label||r.value);return(i,m)=>e.toDisplayString(p.value)}}),oe=["default","append","empty"],le=["default","header","filter-icon","expand"],ne={module:{type:Object,default:()=>{}},params:{type:Object,default:()=>{}},columns:{type:Array,default:()=>[]},showSelection:{type:Boolean,default:!1},showIndex:{type:Boolean,default:!1}},M=e.defineComponent({props:ne,setup(t,{attrs:r,emit:p,slots:i,expose:m}){const u=e.getCurrentInstance(),N=d=>{d&&(u.exposed=d,u.exposeProxy=d)},v=()=>{const d=[];t.showSelection&&d.push(e.h(l.ElTableColumn,{type:"selection",width:50,align:"center"})),t.showIndex&&d.push(e.h(l.ElTableColumn,{label:"序号",type:"index",width:60,align:"center"}));const n=(h,a)=>{h.map(f=>{const{children:T,...w}=f;if(S.isFunction(f.vIf)&&f.vIf(t.params)!==void 0&&!f.vIf(t.params))return;const E=[];T?.length&&n(T,E);const s={};if(le.map(g=>{const o=`${f.prop}.${g}`;i[o]&&(s[g]=i[o])}),i[f.prop]?s.default=i[f.prop]:S.isFunction(f.render)?s.default=f.render:S.isArray(f.options)&&(s.default=g=>e.h(ae,{options:f.options,value:g.row[f.prop]})),Object.keys(s).length){const g=()=>{let o;return E.length?o={...s,default:()=>E}:o={...s},o};a.push(e.h(l.ElTableColumn,{...w,class:"c-table-column"},g()))}else{const g=()=>{let o;return E.length&&(o={default:()=>E}),o};a.push(e.h(l.ElTableColumn,{...w,class:"c-table-column"},g()))}})};return n(t.columns,d),d},O=()=>{const d={};return oe.map(n=>{i[n]&&(d[n]=i[n])}),d},A=()=>{const d=v();return e.h(l.ElTable,{ref:N,...r,class:"c-table"},{default:()=>d,...O()})};return()=>A()}}),j={OPERATION_COL_LABEL:"操作",OPERATION_SLOT_NAME:"custom",CHILDREN_SLOT_KEY:"children"};function se(t,r,p,i){const m={default:()=>ce(t,i)};return e.h(l.ElTable,{data:r,class:"c-table"},m)}function ce(t,r){const p=[];if(S.isObject(t)&&Object.keys(t).forEach(m=>{let u=t[m],N=r[m];if(r[`${m}.header`]){let v=W(m,u),O={header:A=>r[`${m}.header`](A)};r[m]&&(O.default=A=>[r[m](A)]),p.push(e.h(l.ElTableColumn,v,O))}else p.push(z(m,u,N,r))}),r[j.OPERATION_SLOT_NAME]){let i={label:j.OPERATION_COL_LABEL};if(r[`${j.OPERATION_SLOT_NAME}.header`]){let m={header:u=>r[`${j.OPERATION_SLOT_NAME}.header`](u),default:u=>[r[j.OPERATION_SLOT_NAME](u)]};p.push(e.h(l.ElTableColumn,i,m))}else{let m={default:u=>[r[j.OPERATION_SLOT_NAME](u)]};p.push(e.h(l.ElTableColumn,i,m))}}return p}function z(t,r,p,i){let m=W(t,r);delete m[j.CHILDREN_SLOT_KEY];let u=[];if(r[j.CHILDREN_SLOT_KEY]&&S.isObject(r[j.CHILDREN_SLOT_KEY])){let v=r[j.CHILDREN_SLOT_KEY];S.isObject(v)&&Object.keys(v).forEach(A=>{let d=v[A],n=i[A];u.push(z(A,d,n,i))})}let N=()=>[];return p?N={default:v=>[...u,p(v)]}:N={default:()=>[...u]},e.h(l.ElTableColumn,m,N)}function W(t,r){if(S.isString(r))return{prop:t,label:r};if(S.isObject(r))return{prop:t,...r}}const H=e.defineComponent({props:["schema","data"],emits:[],setup(t,{attrs:r,emit:p,slots:i,expose:m}){return()=>se(t.schema,t.data,p,i)}}),ie={pageSizes:[10,20,50,100,200,500],layout:"total, sizes, prev, pager, next, jumper"},q=e.defineComponent({setup(t,{attrs:r,emit:p,slots:i,expose:m}){const u=()=>({...ie}),N=()=>e.h(l.ElPagination,{...u(),class:"c-pagination"});return()=>N()}}),ue={destroyOnClose:!0},de=S.capitalize("C"),U=e.defineComponent({name:`${de}Dialog`,setup(t,{attrs:r,emit:p,slots:i,expose:m}){const u=()=>({...ue}),N=()=>e.h(l.ElDialog,{...u(),class:"c-dialog"},i);return()=>N()}}),fe={destroyOnClose:!0},G=e.defineComponent({setup(t,{attrs:r,emit:p,slots:i,expose:m}){const u=()=>({...fe}),N=()=>e.h(l.ElDrawer,{...u(),class:"c-drawer"},i);return()=>N()}});function _(t){return typeof t=="function"||Object.prototype.toString.call(t)==="[object Object]"&&!e.isVNode(t)}const K=e.defineComponent({props:{modelValue:{type:Object,default:{}},formOptions:{type:Array,default:()=>[]},isDrawer:{type:Boolean,default:!1}},emits:["update:modelValue","search","reset","close"],setup(t,{emit:r,slots:p,attrs:i,expose:m}){const u=["btn-left","btn-right"],N=()=>{let c={};return Object.keys(i)?.forEach(y=>{y.indexOf("on")===0&&(c[y]=i[y])}),c},v=()=>{let c={};return Object.keys(p).forEach(y=>{u.includes(y)||(c[y]=p[y])}),c},O=()=>{r("search"),a.value=!1,document.removeEventListener("click",h)},A=()=>{r("reset")},d=()=>{a.value=!1,document.removeEventListener("click",h),r("close")},n=e.ref(null),h=c=>{a.value&&n.value&&!n.value?.$el?.contains(c.target)&&(a.value=!1,document.removeEventListener("click",h))},a=e.ref(!1),f=()=>{a.value?(a.value=!1,document.removeEventListener("click",h)):(a.value=!0,setTimeout(()=>{document.addEventListener("click",h)},0))},T=e.ref(6),w=e.ref(null),E=e.ref(null),s=e.ref(null),g=e.ref(null),o=e.ref(null);let L=null;const R=()=>{L&&clearTimeout(L),L=setTimeout(()=>{k()},200)},k=()=>{if(s.value){const c=s.value.children[0],y=E.value.offsetWidth;let V=0;T.value=c?.children?.length,Array.from(c.children).map((x,D)=>{if(x.style.display="inline-flex",V>y){x.style.display="none";return}const ve=window.getComputedStyle(x).marginRight,Ee=parseFloat(ve),Ce=x.offsetWidth+Ee;V=V+Ce,V>y&&(x.style.display="none",T.value=D,V=1e5)})}},I=e.ref(0),b=()=>{const c=E.value.children[0];new ResizeObserver(V=>{for(const D of V){const F=D.contentRect.width;F!==I.value&&(I.value===0||F<I.value-25?(I.value=F,R()):F>I.value+25&&(R(),I.value=F))}}).observe(c)};return e.onMounted(()=>{b(),window.addEventListener("resize",R)}),e.onUnmounted(()=>{window.removeEventListener("resize",R),document.removeEventListener("click",h)}),()=>{let c,y,V;return e.createVNode("div",{className:"c-search"},[e.createVNode("div",{className:"c-search-simple",ref:w},[e.createVNode("div",{className:"c-search-simple-form",ref:E},[e.createVNode("div",{className:"c-simple-form-container",ref:s},[e.createVNode($,e.mergeProps({ref:x=>o.value=x},N(),{inline:!0,model:t.modelValue,formOptions:t.formOptions}),_(c=v())?c:{default:()=>[c]})])]),e.createVNode("div",{className:"c-search-simple-btn",ref:g},[p["arrow-left"]?.(),T.value<t.formOptions?.length&&e.createVNode("div",{className:`c-search-simple-icon ${a.value?"icon-rotate":""}`,onClick:f},[e.createVNode(e.resolveComponent("el-icon"),{className:"el-icon c-search-icon"},{default:()=>[e.createVNode(X.ArrowUpBold,null,null)]})]),p["search-btn"]?p["search-btn"]():e.createVNode(e.Fragment,null,[p["btn-left"]?.(),e.createVNode(e.resolveComponent("el-button"),{type:"primary",onClick:O},{default:()=>[e.createTextVNode("搜索")]}),e.createVNode(e.resolveComponent("el-button"),{type:"primary",onClick:A},{default:()=>[e.createTextVNode("重置")]}),p["btn-right"]?.()])])]),!t.isDrawer&&a.value&&e.createVNode(e.resolveComponent("transition"),{name:"search-form-transition"},{default:()=>[e.createVNode(e.resolveComponent("el-card"),{ref:n,className:"c-search-form el-card is-always-shadow"},{default:()=>[e.createVNode($,e.mergeProps(N(),{inline:!0,model:t.modelValue,formOptions:t.formOptions.filter((x,D)=>D>=T.value),ref:"formRef"}),_(y=v())?y:{default:()=>[y]}),e.createVNode("div",{style:"text-align: right;"},[e.createVNode(e.resolveComponent("el-button"),{type:"primary",onClick:O},{default:()=>[e.createTextVNode("搜索")]}),e.createVNode(e.resolveComponent("el-button"),{type:"primary",onClick:d},{default:()=>[e.createTextVNode("关闭")]})])]})]}),t.isDrawer&&e.createVNode(Q,{title:"搜索",modelValue:a.value,"onUpdate:modelValue":x=>a.value=x,size:"660px"},{default:()=>[e.createVNode($,e.mergeProps(N(),{col:12,model:t.modelValue,formOptions:t.formOptions.filter((x,D)=>D>=T.value),ref:"formRef"}),_(V=v())?V:{default:()=>[V]}),e.createVNode("div",{style:"text-align: right;"},[e.createVNode(e.resolveComponent("el-button"),{type:"primary",onClick:O},{default:()=>[e.createTextVNode("搜索")]}),e.createVNode(e.resolveComponent("el-button"),{type:"primary",onClick:d},{default:()=>[e.createTextVNode("关闭")]})])]})])}}}),J=e.defineComponent({props:{params:{type:Object,default:()=>({})},btnOptions:{type:Array,default:()=>[]},permit:{type:Function},size:{type:String,default:void 0},plain:{type:Boolean,default:void 0},text:{type:Boolean,default:void 0},link:{type:Boolean,default:void 0},fold:{type:Boolean,default:!1},foldNum:{type:Number,default:0}},emits:["btnAction"],setup(t,{emit:r,slots:p,attrs:i,expose:m}){const u=n=>{let h={size:t.size,plain:t.plain,text:t.text,link:t.link,class:`c-btn-alias-${n.alias||""}`};const a=["label","alias","permit","vIf","disable"];return Object.keys(n).map(f=>{a.includes(f)||(h[f]=n[f])}),S.isBoolean(n.disable)&&(h.disabled=n.disable),S.isFunction(n.disable)&&n.disable(t.params)!==void 0&&(h.disabled=n.disable(t.params)),h},N=n=>{const h=u(n),a={splitButton:!0};return["type","size","splitButton","disabled","placement","effect","trigger"].forEach(T=>{h[T]!==void 0&&(a[T]=h[T])}),a},v=()=>{const n=[];t.btnOptions.map(a=>{S.isArray(a.permit)&&a.permit.length>0&&S.isFunction(t.permit)?t.permit(a.permit)&&n.push(a):n.push(a)});const h=[];return n.map(a=>{S.has(a,"vIf")&&S.isFunction(a.vIf)&&a.vIf(t.params)!==void 0?a.vIf(t.params)&&h.push(a):h.push(a)}),h},O=n=>e.h(l.ElButton,{...u(n),onClick:()=>{r("btnAction",n.alias,t.params)}},{default:()=>n?.label}),A=n=>{const h=[],a=[],f=[];n.map((E,s)=>{s<t.foldNum?h.push(E):s===t.foldNum?a.push(E):f.push(E)}),a.length>0&&f.length===0&&h.push(a[0]);let T=[];const w=h.map(E=>O(E));if(w.length>0&&(T=T.concat(w)),a.length>0&&f.length>0){const E=e.h(l.ElDropdown,{...N(a[0]),class:"c-btn-dropdown",buttonProps:u(a[0]),splitButton:!0,onClick:()=>{r("btnAction",a[0].alias,t.params)},onCommand:s=>{r("btnAction",s,t.params)}},{default:()=>a[0].label,dropdown:()=>f.map(s=>e.h(l.ElDropdownItem,{command:s.alias},{default:()=>s?.label}))});T=T.concat(E)}return T},d=()=>{const n=v();return t.fold?A(n):n.map(h=>O(h))};return()=>d()}}),$=Y,pe=M,me=H,he=q,be=U,Q=G,ge=K,ye=J;C.Button=J,C.CButton=ye,C.CDialog=be,C.CDrawer=Q,C.CForm=$,C.CPagination=he,C.CSearch=ge,C.CTable=pe,C.CTable2=me,C.Dialog=U,C.Drawer=G,C.Form=Y,C.Pagination=q,C.Search=K,C.Table=M,C.Table2=H,Object.defineProperty(C,Symbol.toStringTag,{value:"Module"})}));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@elementplus-kit/uikit",
3
- "version": "1.7.0",
3
+ "version": "1.9.0",
4
4
  "description": "",
5
5
  "main": "./components/index.ts",
6
6
  "peerDependencies": {
package/build.log DELETED
Binary file
@@ -1,39 +0,0 @@
1
- export interface FormItemListItem {
2
- type: string
3
- label?: string
4
- prop: string
5
- required?: Boolean
6
- vIf?: boolean | ((item: FormItemListItem) => boolean)
7
- dictType?: string
8
- options?: Array<Object>
9
- col?: Number
10
- formItem?: Object
11
- attrs?: Object
12
- }
13
-
14
- export interface FormItemList {
15
- module: Object
16
- formOpsions: FormItemListItem[]
17
- readonly: boolean
18
- }
19
-
20
- export type formType =
21
- | 'input'
22
- | 'textarea'
23
- | 'input-number'
24
- | 'select'
25
- | 'select-v2'
26
- | 'cascader'
27
- | 'tree-select'
28
- | 'radio'
29
- | 'checkbox'
30
- | 'time-select'
31
- | 'date-picker'
32
- | 'time-picker'
33
- | 'rate'
34
- | 'color-picker'
35
- | 'slider'
36
- | 'switch'
37
- | 'text'
38
- | 'html'
39
- | 'slot'
@@ -1,219 +0,0 @@
1
- import {
2
- defineComponent,
3
- h,
4
- getCurrentInstance,
5
- computed,
6
- type ExtractPropTypes,
7
- } from "vue";
8
- import { ElTable, ElTableColumn } from "element-plus";
9
- import {
10
- defaultAttrs,
11
- tableSlots,
12
- tablecolumnSlots,
13
- selectionColumn,
14
- indexColumn,
15
- } from "./constants.ts";
16
- import { isArray, isObject } from "lodash-es";
17
- const propsAttrs = {
18
- module: {
19
- // 公共参数用于业务判断
20
- type: Object,
21
- default: () => {},
22
- },
23
- // isRadio: { // 是否为单选框
24
- // type: Boolean,
25
- // default: false,
26
- // },
27
- // isCheckbox: { // 是否为复选框
28
- // type: Boolean,
29
- // default: false,
30
- // },
31
- columns: {
32
- // 列数据
33
- type: Array,
34
- default: () => [],
35
- },
36
- showSelection: {
37
- // 是否显示选择列
38
- type: Boolean,
39
- default: false,
40
- },
41
- showIndex: {
42
- // 是否显示索引列
43
- type: Boolean,
44
- default: false,
45
- },
46
- };
47
-
48
- export type PropsAttrs = ExtractPropTypes<typeof propsAttrs>;
49
-
50
- export default defineComponent({
51
- props: propsAttrs,
52
- // emits: eventList,
53
-
54
- // attrs, emit会继承, slots需要设置
55
- setup(props: PropsAttrs, { attrs, emit, slots, expose }) {
56
- // 暴露elTable组件上的方法
57
- const vm = getCurrentInstance(); // 获取虚拟DOM实例
58
- const cTableFnRef = (el) => {
59
- if (!el) return;
60
- vm.exposed = el; // 设置暴露对象
61
- vm.exposeProxy = el; // 设置代理暴露对象
62
- };
63
-
64
- // 暴露方法
65
- expose({
66
- // tableRef,
67
- });
68
-
69
- // 属性处理
70
- const getAttrs = () => {
71
- const obj = {
72
- ...defaultAttrs, // 设置默认值
73
- };
74
- return obj;
75
- };
76
- // 事件处理
77
- const getEvents = () => {
78
- const obj = {
79
- ...defaultAttrs, // 设置默认值
80
- };
81
- return obj;
82
- };
83
-
84
- const columnsList = computed(() => {
85
- let list = [];
86
- list = getArrayColumn();
87
- // 处理多选与序号列
88
- if (props.showSelection) {
89
- list.push(
90
- h(ElTableColumn, {
91
- type: "selection",
92
- width: 55,
93
- })
94
- );
95
- }
96
- if (props.showIndex) {
97
- list.push(
98
- h(ElTableColumn, {
99
- label: "序号",
100
- type: "index",
101
- width: 55,
102
- })
103
- );
104
- }
105
- return list;
106
- });
107
-
108
- // 处理列数据-数组
109
- const getArrayColumn = () => {
110
- console.log("adsadsd");
111
- // 递归处理数据
112
- const list = [];
113
-
114
- const c = (columns, list) => {
115
- columns?.map((item) => {
116
- const { children, ...p } = item;
117
- // 递归处理子列
118
- if (isArray(item.children)) {
119
- item.children = c(item.children, list);
120
- }
121
- list.push(p);
122
- });
123
- };
124
- c(props.columns, list);
125
- console.log("🚀 ~ getArrayColumn ~ props.columns:", props.columns)
126
- console.log("🚀 ~ gggggggg:", list);
127
- return list;
128
- };
129
-
130
- // 渲染表格列
131
- const renderTableColumn = () => {
132
- const list = [];
133
-
134
- // 列递归渲染
135
- const rColumn = (columns, list) => {
136
- console.log("🚀 ~ rColumn ~ columns:", columns);
137
- columns?.map((item) => {
138
- const { children, ...p } = item;
139
-
140
- // 处理多级表头
141
- const listSub = [];
142
- if (children?.length) {
143
- rColumn(children, listSub);
144
- }
145
-
146
- // 处理插槽
147
- const itemSlot = {};
148
- // column 自带插槽
149
- tablecolumnSlots.map((name) => {
150
- const slotName = `${item.prop}.${name}`;
151
- if (slots[slotName]) {
152
- itemSlot[name] = slots[slotName];
153
- }
154
- });
155
-
156
- // column 列插槽
157
- if (slots[item.prop]) {
158
- itemSlot["default"] = slots[item.prop];
159
- }
160
-
161
- // 赋值
162
- if (Object.keys(itemSlot).length) {
163
- list.push(
164
- h(
165
- ElTableColumn,
166
- { ...p, class: "c-table-column" },
167
- listSub.length
168
- ? { ...itemSlot, default: () => listSub }
169
- : { ...itemSlot }
170
- )
171
- );
172
- } else {
173
- list.push(
174
- h(
175
- ElTableColumn,
176
- { ...p, class: "c-table-column" },
177
- listSub.length ? { default: () => listSub } : undefined
178
- )
179
- );
180
- }
181
- });
182
- };
183
- rColumn(columnsList.value, list);
184
- return list;
185
- };
186
-
187
- // 插槽处理
188
- const getSlots = () => {
189
- const obj = {};
190
- tableSlots.map((name) => {
191
- if (slots[name]) {
192
- obj[name] = slots[name];
193
- }
194
- });
195
- return obj;
196
- };
197
- // 渲染表格组件
198
- const renderTable = () => {
199
- // getColumnList();
200
- console.log("props", props);
201
- console.log("attrs", attrs);
202
- return h(
203
- ElTable,
204
- {
205
- ref: cTableFnRef,
206
- ...attrs,
207
- class: "c-table",
208
- },
209
- {
210
- default: () => renderTableColumn(),
211
- ...getSlots(),
212
- }
213
- );
214
- };
215
-
216
- // 返回渲染函数
217
- return () => renderTable();
218
- },
219
- });
@@ -1,233 +0,0 @@
1
- import {
2
- defineComponent,
3
- h,
4
- getCurrentInstance,
5
- type ExtractPropTypes,
6
- } from "vue";
7
- import { ElTable, ElTableColumn } from "element-plus";
8
- import {
9
- defaultAttrs,
10
- tableSlots,
11
- tablecolumnSlots,
12
- selectionColumn,
13
- indexColumn,
14
- } from "./constants.ts";
15
- import { isArray, isObject } from "lodash-es";
16
- import TableColumn from "./TableColumn.vue"
17
- const propsAttrs = {
18
- module: {
19
- // 公共参数用于业务判断
20
- type: Object,
21
- default: () => {},
22
- },
23
- // isRadio: { // 是否为单选框
24
- // type: Boolean,
25
- // default: false,
26
- // },
27
- // isCheckbox: { // 是否为复选框
28
- // type: Boolean,
29
- // default: false,
30
- // },
31
- columns: {
32
- // 列数据
33
- type: Array,
34
- default: () => [],
35
- },
36
- showSelection: {
37
- // 是否显示选择列
38
- type: Boolean,
39
- default: false,
40
- },
41
- showIndex: {
42
- // 是否显示索引列
43
- type: Boolean,
44
- default: false,
45
- },
46
- };
47
-
48
- export type PropsAttrs = ExtractPropTypes<typeof propsAttrs>;
49
-
50
- export default defineComponent({
51
- props: propsAttrs,
52
- // emits: eventList,
53
-
54
- // attrs, emit会继承, slots需要设置
55
- setup(props: PropsAttrs, { attrs, emit, slots, expose }) {
56
- provide("tableContext", {
57
- tableSlots: slots,
58
- events: (eProp, ...args: any) => {
59
- emit(eProp, ...args);
60
- },
61
- });
62
- // 暴露elTable组件上的方法
63
- const vm = getCurrentInstance(); // 获取虚拟DOM实例
64
- const cTableFnRef = (el) => {
65
- if (!el) return;
66
- vm.exposed = el; // 设置暴露对象
67
- vm.exposeProxy = el; // 设置代理暴露对象
68
- };
69
-
70
- // 暴露方法
71
- expose({
72
- // tableRef,
73
- });
74
-
75
- // 属性处理
76
- const getAttrs = () => {
77
- const obj = {
78
- ...defaultAttrs, // 设置默认值
79
- };
80
- return obj;
81
- };
82
- // 事件处理
83
- const getEvents = () => {
84
- const obj = {
85
- ...defaultAttrs, // 设置默认值
86
- };
87
- return obj;
88
- };
89
- // 插槽处理
90
- const getSlots = () => {
91
- const obj = {};
92
- tableSlots.map((name) => {
93
- if (slots[name]) {
94
- obj[name] = slots[name];
95
- }
96
- });
97
- return obj;
98
- };
99
-
100
- // // 处理列数据-数组
101
- // const getArrayColumn = () => {
102
- // console.log("adsadsd");
103
- // // 递归处理数据
104
- // const list = [];
105
-
106
- // const c = (columns, list) => {
107
- // columns?.map((item) => {
108
- // const { children, ...p } = item;
109
- // // 递归处理子列
110
- // if (isArray(item.children)) {
111
- // item.children = c(item.children, list);
112
- // }
113
- // list.push(p);
114
- // });
115
- // };
116
- // c(props.columns, list);
117
- // console.log("🚀 ~ gggggggg:", list);
118
- // return list;
119
- // };
120
-
121
- // // 渲染表格列
122
- // const renderTableColumn = () => {
123
- // const list = [];
124
- // // 处理多选与序号列
125
- // if (props.showSelection) {
126
- // list.push(
127
- // h(ElTableColumn, {
128
- // type: "selection",
129
- // width: 55,
130
- // })
131
- // );
132
- // }
133
- // if (props.showIndex) {
134
- // list.push(
135
- // h(ElTableColumn, {
136
- // label: "序号",
137
- // type: "index",
138
- // width: 55,
139
- // })
140
- // );
141
- // }
142
-
143
- // // 列递归渲染
144
- // const rColumn = (columns, list) => {
145
- // columns.map((item) => {
146
- // const { children, ...p } = item;
147
-
148
- // // 处理多级表头
149
- // const listSub = [];
150
- // if (children?.length) {
151
- // rColumn(children, listSub);
152
- // }
153
-
154
- // // 处理插槽
155
- // const itemSlot = {};
156
- // // column 自带插槽
157
- // tablecolumnSlots.map((name) => {
158
- // const slotName = `${item.prop}.${name}`;
159
- // if (slots[slotName]) {
160
- // itemSlot[name] = slots[slotName];
161
- // }
162
- // });
163
-
164
- // // column 列插槽
165
- // if (slots[item.prop]) {
166
- // itemSlot["default"] = slots[item.prop];
167
- // }
168
-
169
- // // 赋值
170
- // if (Object.keys(itemSlot).length) {
171
- // list.push(
172
- // h(
173
- // ElTableColumn,
174
- // { ...p, class: "c-table-column" },
175
- // listSub.length
176
- // ? { ...itemSlot, default: () => listSub }
177
- // : { ...itemSlot }
178
- // )
179
- // );
180
- // } else {
181
- // list.push(
182
- // h(
183
- // ElTableColumn,
184
- // { ...p, class: "c-table-column" },
185
- // listSub.length ? { default: () => listSub } : undefined
186
- // )
187
- // );
188
- // }
189
- // });
190
- // };
191
- // rColumn(props.columns, list);
192
- // return list;
193
- // };
194
-
195
- const renderTableColumn = () => {
196
- const list = []
197
- const rTableColumn = (columnsList, list) => {
198
-
199
- }
200
- columns.map((item) => {
201
-
202
- const { children, ...p } = item;
203
- // 递归处理子列
204
- if (isArray(item.children)) {
205
- item.children = renderTableColumn(item.children);
206
- }
207
- })
208
- }
209
-
210
- TableColumn
211
- // 渲染表格组件
212
- const renderTable = () => {
213
- // getColumnList();
214
- console.log("props", props);
215
- console.log("attrs", attrs);
216
- return h(
217
- ElTable,
218
- {
219
- ref: cTableFnRef,
220
- ...attrs,
221
- class: "c-table",
222
- },
223
- {
224
- default: () => renderTableColumn(),
225
- ...getSlots(),
226
- }
227
- );
228
- };
229
-
230
- // 返回渲染函数
231
- return () => renderTable();
232
- },
233
- });
@@ -1,71 +0,0 @@
1
- // import { ref, h, computed, toRefs, type ExtractPropTypes } from "vue";
2
- // import { ElTable, ElTableColumn } from "element-plus";
3
- // import { defaultAttrs } from "./constants.ts";
4
-
5
- // const propsAttrs = {};
6
-
7
- // export type PropsAttrs = ExtractPropTypes<typeof propsAttrs>;
8
-
9
- // export default {
10
- // // props: propsAttrs,
11
- // // emits: eventList,
12
-
13
- // // attrs, emit会继承, slots需要设置
14
- // setup(props: PropsAttrs, { attrs, emit, slots, expose }) {
15
- // // const drawerRef = ref();
16
-
17
- // // 暴露方法
18
- // // expose({
19
- // // drawerRef,
20
- // // });
21
-
22
- // // 属性处理
23
- // const getTAttrs = () => {
24
- // const obj = {
25
- // ...defaultAttrs, // 设置默认值
26
- // };
27
- // return obj;
28
- // };
29
- // // 事件处理
30
- // const getEvents = () => {
31
- // const obj = {
32
- // ...defaultAttrs, // 设置默认值
33
- // };
34
- // return obj;
35
- // };
36
- // // 插槽处理
37
- // const getSlots = () => {
38
- // const obj = {
39
- // ...defaultAttrs, // 设置默认值
40
- // };
41
- // return obj;
42
- // };
43
- // const renderTableColumn = () => {
44
- // return h(
45
- // ElTableColumn,
46
- // {
47
- // // ref: drawerRef,
48
- // ...getAttrs(),
49
- // class: "c-drawer",
50
- // },
51
- // slots
52
- // );
53
- // };
54
-
55
- // // 渲染表格组件
56
- // const renderTable = () => {
57
- // return h(
58
- // ElTable,
59
- // {
60
- // // ref: drawerRef,
61
- // ...getAttrs(),
62
- // class: "c-drawer",
63
- // },
64
- // slots
65
- // );
66
- // };
67
-
68
- // // 返回渲染函数
69
- // return () => renderTable();
70
- // },
71
- // };