easy-ep-ui 0.1.0 → 0.1.2

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 (113) hide show
  1. package/LICENSE +172 -0
  2. package/README.md +29 -14
  3. package/dist/easy-ep-ui.js +1 -1
  4. package/dist/style.css +1 -1
  5. package/es/charts/BaseBar/index.d.ts +2 -0
  6. package/es/charts/BaseBar/src/index.vue.d.ts +45 -0
  7. package/es/charts/BaseLine/index.d.ts +2 -0
  8. package/es/charts/BaseLine/src/index.vue.d.ts +47 -0
  9. package/es/charts/BasePie/index.d.ts +2 -0
  10. package/es/charts/BasePie/src/index.vue.d.ts +41 -0
  11. package/es/charts/BaseRadar/index.d.ts +2 -0
  12. package/es/charts/BaseRadar/src/index.vue.d.ts +47 -0
  13. package/es/charts/config.d.ts +32 -0
  14. package/es/charts/index.d.ts +8 -0
  15. package/es/charts/useChart.d.ts +21 -0
  16. package/es/components/ee-dept-cascader/index.d.ts +2 -0
  17. package/es/components/ee-dept-cascader/src/index.vue.d.ts +26 -0
  18. package/es/components/ee-dept-cascader/type.d.ts +39 -0
  19. package/es/components/ee-dict-select/src/index.vue.d.ts +20 -17
  20. package/es/components/ee-dict-select/type.d.ts +54 -0
  21. package/es/components/ee-form-dialog/src/index.vue.d.ts +110 -8
  22. package/es/components/ee-form-table/src/components/FormAuto.vue.d.ts +115 -0
  23. package/es/components/ee-form-table/src/components/FormDrawer.vue.d.ts +311 -0
  24. package/es/components/ee-form-table/src/components/SearchArea.vue.d.ts +39 -0
  25. package/es/components/ee-form-table/src/components/TableToolbar.vue.d.ts +43 -0
  26. package/es/components/ee-form-table/src/constants.d.ts +31 -0
  27. package/es/components/ee-form-table/src/hooks/useAuth.d.ts +14 -0
  28. package/es/components/ee-form-table/src/hooks/useCrud.d.ts +41 -0
  29. package/es/components/ee-form-table/src/hooks/useDict.d.ts +12 -0
  30. package/es/components/ee-form-table/src/hooks/useExport.d.ts +34 -0
  31. package/es/components/ee-form-table/src/hooks/useForm.d.ts +33 -0
  32. package/es/components/ee-form-table/src/hooks/usePagination.d.ts +22 -0
  33. package/es/components/ee-form-table/src/hooks/useSearch.d.ts +39 -0
  34. package/es/components/ee-form-table/src/hooks/useTable.d.ts +49 -0
  35. package/es/components/ee-form-table/src/index.vue.d.ts +1090 -533
  36. package/es/components/ee-form-table/types.d.ts +238 -0
  37. package/es/components/ee-remote-select/index.d.ts +2 -0
  38. package/es/components/ee-remote-select/src/index.vue.d.ts +30 -0
  39. package/es/components/ee-remote-select/type.d.ts +53 -0
  40. package/es/components/ee-role-select/index.d.ts +2 -0
  41. package/es/components/ee-role-select/src/index.vue.d.ts +29 -0
  42. package/es/components/ee-role-select/type.d.ts +44 -0
  43. package/es/components/ee-search-bar/src/index.vue.d.ts +82 -10
  44. package/es/components/ee-status-tag/src/index.vue.d.ts +1 -1
  45. package/es/components/ee-user-select/index.d.ts +2 -0
  46. package/es/components/ee-user-select/src/index.vue.d.ts +29 -0
  47. package/es/components/ee-user-select/type.d.ts +46 -0
  48. package/es/hooks/index.d.ts +4 -0
  49. package/es/hooks/useRemoteSelectPagination.d.ts +68 -0
  50. package/es/hooks/useSelectEcho.d.ts +27 -0
  51. package/es/index.d.ts +51 -2
  52. package/es/index.mjs +3135 -345
  53. package/es/locale/en.d.ts +3 -0
  54. package/es/locale/index.d.ts +86 -0
  55. package/es/locale/useLocale.d.ts +13 -0
  56. package/es/locale/zh-cn.d.ts +3 -0
  57. package/es/style.css +1 -1
  58. package/es/utils/types.d.ts +39 -0
  59. package/lib/charts/BaseBar/index.d.ts +2 -0
  60. package/lib/charts/BaseBar/src/index.vue.d.ts +45 -0
  61. package/lib/charts/BaseLine/index.d.ts +2 -0
  62. package/lib/charts/BaseLine/src/index.vue.d.ts +47 -0
  63. package/lib/charts/BasePie/index.d.ts +2 -0
  64. package/lib/charts/BasePie/src/index.vue.d.ts +41 -0
  65. package/lib/charts/BaseRadar/index.d.ts +2 -0
  66. package/lib/charts/BaseRadar/src/index.vue.d.ts +47 -0
  67. package/lib/charts/config.d.ts +32 -0
  68. package/lib/charts/index.d.ts +8 -0
  69. package/lib/charts/useChart.d.ts +21 -0
  70. package/lib/components/ee-dept-cascader/index.d.ts +2 -0
  71. package/lib/components/ee-dept-cascader/src/index.vue.d.ts +26 -0
  72. package/lib/components/ee-dept-cascader/type.d.ts +39 -0
  73. package/lib/components/ee-dict-select/src/index.vue.d.ts +20 -17
  74. package/lib/components/ee-dict-select/type.d.ts +54 -0
  75. package/lib/components/ee-form-dialog/src/index.vue.d.ts +110 -8
  76. package/lib/components/ee-form-table/src/components/FormAuto.vue.d.ts +115 -0
  77. package/lib/components/ee-form-table/src/components/FormDrawer.vue.d.ts +311 -0
  78. package/lib/components/ee-form-table/src/components/SearchArea.vue.d.ts +39 -0
  79. package/lib/components/ee-form-table/src/components/TableToolbar.vue.d.ts +43 -0
  80. package/lib/components/ee-form-table/src/constants.d.ts +31 -0
  81. package/lib/components/ee-form-table/src/hooks/useAuth.d.ts +14 -0
  82. package/lib/components/ee-form-table/src/hooks/useCrud.d.ts +41 -0
  83. package/lib/components/ee-form-table/src/hooks/useDict.d.ts +12 -0
  84. package/lib/components/ee-form-table/src/hooks/useExport.d.ts +34 -0
  85. package/lib/components/ee-form-table/src/hooks/useForm.d.ts +33 -0
  86. package/lib/components/ee-form-table/src/hooks/usePagination.d.ts +22 -0
  87. package/lib/components/ee-form-table/src/hooks/useSearch.d.ts +39 -0
  88. package/lib/components/ee-form-table/src/hooks/useTable.d.ts +49 -0
  89. package/lib/components/ee-form-table/src/index.vue.d.ts +1090 -533
  90. package/lib/components/ee-form-table/types.d.ts +238 -0
  91. package/lib/components/ee-remote-select/index.d.ts +2 -0
  92. package/lib/components/ee-remote-select/src/index.vue.d.ts +30 -0
  93. package/lib/components/ee-remote-select/type.d.ts +53 -0
  94. package/lib/components/ee-role-select/index.d.ts +2 -0
  95. package/lib/components/ee-role-select/src/index.vue.d.ts +29 -0
  96. package/lib/components/ee-role-select/type.d.ts +44 -0
  97. package/lib/components/ee-search-bar/src/index.vue.d.ts +82 -10
  98. package/lib/components/ee-status-tag/src/index.vue.d.ts +1 -1
  99. package/lib/components/ee-user-select/index.d.ts +2 -0
  100. package/lib/components/ee-user-select/src/index.vue.d.ts +29 -0
  101. package/lib/components/ee-user-select/type.d.ts +46 -0
  102. package/lib/hooks/index.d.ts +4 -0
  103. package/lib/hooks/useRemoteSelectPagination.d.ts +68 -0
  104. package/lib/hooks/useSelectEcho.d.ts +27 -0
  105. package/lib/index.cjs +1 -1
  106. package/lib/index.d.ts +51 -2
  107. package/lib/locale/en.d.ts +3 -0
  108. package/lib/locale/index.d.ts +86 -0
  109. package/lib/locale/useLocale.d.ts +13 -0
  110. package/lib/locale/zh-cn.d.ts +3 -0
  111. package/lib/style.css +1 -1
  112. package/lib/utils/types.d.ts +39 -0
  113. package/package.json +9 -5
@@ -0,0 +1,68 @@
1
+ import { AxiosInstance } from 'axios';
2
+ /**
3
+ * 远程分页下拉配置选项
4
+ */
5
+ export interface RemotePaginationOption {
6
+ /** 外部 axios 请求实例,不传则从全局配置获取 */
7
+ requestInstance?: AxiosInstance;
8
+ /** 远程接口地址(必填) */
9
+ apiUrl: string;
10
+ /** 页码字段名,默认 pageNum */
11
+ pageNumKey?: string;
12
+ /** 每页条数字段名,默认 pageSize */
13
+ pageSizeKey?: string;
14
+ /** 每页条数,默认 20 */
15
+ pageSize?: number;
16
+ /** 搜索关键词字段名,默认 keyword */
17
+ searchKey?: string;
18
+ /** 附加请求参数 */
19
+ extraParams?: Record<string, any>;
20
+ /** 选项文本字段名,默认 label */
21
+ labelField?: string;
22
+ /** 选项值字段名,默认 value */
23
+ valueField?: string;
24
+ /** 子节点字段名(树形数据预留),默认 children */
25
+ childrenField?: string;
26
+ /** 关键词防抖延迟(毫秒),默认 300 */
27
+ debounceDelay?: number;
28
+ }
29
+ /**
30
+ * 远程下拉选项项类型
31
+ */
32
+ export interface RemoteSelectOption {
33
+ [key: string]: any;
34
+ /** 显示文本 */
35
+ label?: string;
36
+ /** 选项值 */
37
+ value?: any;
38
+ }
39
+ /**
40
+ * 创建远程分页下拉控制器
41
+ *
42
+ * @param option - 远程分页配置
43
+ * @returns loading / options / noMore / loadData / loadMore / resetList / onKeywordChange
44
+ */
45
+ export declare function useRemoteSelectPagination(option: RemotePaginationOption): {
46
+ /** 是否正在加载 */
47
+ loading: import('vue').Ref<boolean, boolean>;
48
+ /** 当前选项列表 */
49
+ options: import('vue').Ref<{
50
+ [x: string]: any;
51
+ label?: string
52
+ /** 选项值 */
53
+ | undefined;
54
+ value?: any;
55
+ }[], RemoteSelectOption[] | {
56
+ [x: string]: any;
57
+ label?: string
58
+ /** 选项值 */
59
+ | undefined;
60
+ value?: any;
61
+ }[]>;
62
+ /** 是否没有更多数据 */
63
+ noMore: import('vue').Ref<boolean, boolean>;
64
+ loadData: (searchVal?: string, reset?: boolean) => Promise<void>;
65
+ loadMore: () => Promise<void>;
66
+ resetList: () => void;
67
+ onKeywordChange: (val: string) => void;
68
+ };
@@ -0,0 +1,27 @@
1
+ import { AxiosInstance } from 'axios';
2
+ /**
3
+ * 回显配置选项
4
+ */
5
+ export interface EchoOption {
6
+ /** 外部 axios 请求实例,不传则从全局配置获取 */
7
+ requestInstance?: AxiosInstance;
8
+ /** 详情回显接口地址(必填) */
9
+ detailApiUrl: string;
10
+ /** 选项文本字段名,默认 label */
11
+ labelField?: string;
12
+ /** 选项值字段名,默认 value */
13
+ valueField?: string;
14
+ /** 选择模式,默认 single */
15
+ mode?: 'single' | 'multiple';
16
+ }
17
+ /**
18
+ * 创建选项回显控制器
19
+ *
20
+ * @param option - 回显配置
21
+ * @returns echoText / echoValue
22
+ */
23
+ export declare function useSelectEcho(option: EchoOption): {
24
+ /** 当前回显文本(单选为 string,多选为 string[]) */
25
+ echoText: import('vue').Ref<string | string[], string | string[]>;
26
+ echoValue: (modelVal: any) => Promise<void>;
27
+ };
package/lib/index.cjs CHANGED
@@ -1 +1 @@
1
- "use strict";Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),n=require("element-plus"),h=e.defineComponent({name:"EeDictSelect",__name:"index",props:{modelValue:{},options:{},request:{},valueField:{default:"value"},labelField:{default:"label"}},emits:["update:modelValue","change","clear","focus","blur"],setup(l,{emit:k}){const u=l,m=k,s=e.ref(!1),i=e.ref([]),d=e.computed(()=>(u.options??i.value).map(c=>({value:String(c[u.valueField]??""),label:String(c[u.labelField]??""),disabled:c.disabled??!1})));async function a(){if(!u.options&&u.request){s.value=!0;try{i.value=await u.request()}finally{s.value=!1}}}return e.onMounted(a),e.watch(()=>u.request,a),(p,c)=>(e.openBlock(),e.createBlock(e.unref(n.ElSelect),e.mergeProps(p.$attrs,{"model-value":l.modelValue,loading:s.value,"onUpdate:modelValue":c[0]||(c[0]=t=>m("update:modelValue",t)),onChange:c[1]||(c[1]=t=>m("change",t)),onClear:c[2]||(c[2]=t=>m("clear")),onFocus:c[3]||(c[3]=t=>m("focus",t)),onBlur:c[4]||(c[4]=t=>m("blur",t))}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,t=>(e.openBlock(),e.createBlock(e.unref(n.ElOption),{key:t.value,label:t.label,value:t.value,disabled:t.disabled},null,8,["label","value","disabled"]))),128))]),_:1},16,["model-value","loading"]))}});h.install=l=>{l.component(h.name??"EeDictSelect",h)};const g=e.defineComponent({name:"EeStatusTag",__name:"index",props:{value:{},mapping:{},fallbackLabel:{},defaultType:{default:"info"},defaultEffect:{default:"light"}},setup(l){const k=l,u=e.computed(()=>k.mapping.find(m=>m.value===k.value));return(m,s)=>{var i,d;return e.openBlock(),e.createBlock(e.unref(n.ElTag),e.mergeProps(m.$attrs,{type:((i=u.value)==null?void 0:i.type)??l.defaultType,effect:((d=u.value)==null?void 0:d.effect)??l.defaultEffect}),{default:e.withCtx(()=>{var a;return[e.createTextVNode(e.toDisplayString(((a=u.value)==null?void 0:a.label)??l.fallbackLabel??l.value),1)]}),_:1},16,["type","effect"])}}});g.install=l=>{l.component(g.name??"EeStatusTag",g)};const v={class:"ee-search-bar"},C=e.defineComponent({name:"EeSearchBar",__name:"index",props:{modelValue:{},fields:{},inline:{type:Boolean,default:!0},labelWidth:{default:"auto"},collapsible:{type:Boolean,default:!1},collapsedCount:{default:3}},emits:["update:modelValue","search","reset"],setup(l,{emit:k}){const u=l,m=k,s=e.ref(),i=e.ref(!1),d=e.computed(()=>{const o=24-a.value.reduce((r,f)=>r+(f.span??6),0)%24;return o===24?6:o}),a=e.computed(()=>!u.collapsible||i.value?u.fields:u.fields.slice(0,u.collapsedCount));function p(){m("search",{...u.modelValue})}function c(){const t={};u.fields.forEach(o=>{t[o.prop]=""}),m("update:modelValue",t),m("reset")}return(t,o)=>(e.openBlock(),e.createElementBlock("div",v,[e.createVNode(e.unref(n.ElForm),e.mergeProps({ref_key:"formRef",ref:s,model:l.modelValue,inline:l.inline,"label-width":l.labelWidth},t.$attrs),{default:e.withCtx(()=>[e.createVNode(e.unref(n.ElRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.value,r=>(e.openBlock(),e.createBlock(e.unref(n.ElCol),{key:r.prop,span:r.span??6},{default:e.withCtx(()=>[e.createVNode(e.unref(n.ElFormItem),{label:r.label,prop:r.prop},{default:e.withCtx(()=>[(r.type??"input")==="input"?(e.openBlock(),e.createBlock(e.unref(n.ElInput),{key:0,modelValue:l.modelValue[r.prop],"onUpdate:modelValue":f=>l.modelValue[r.prop]=f,placeholder:r.placeholder??`请输入${r.label}`,clearable:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):r.type==="select"?(e.openBlock(),e.createBlock(e.unref(n.ElSelect),{key:1,modelValue:l.modelValue[r.prop],"onUpdate:modelValue":f=>l.modelValue[r.prop]=f,placeholder:r.placeholder??`请选择${r.label}`,clearable:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(r.options??[],f=>(e.openBlock(),e.createBlock(e.unref(n.ElOption),{key:f.value,label:f.label,value:f.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder"])):r.type==="date"?(e.openBlock(),e.createBlock(e.unref(n.ElDatePicker),{key:2,modelValue:l.modelValue[r.prop],"onUpdate:modelValue":f=>l.modelValue[r.prop]=f,placeholder:r.placeholder??`请选择${r.label}`,style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","placeholder"])):r.type==="date-range"?(e.openBlock(),e.createBlock(e.unref(n.ElDatePicker),{key:3,modelValue:l.modelValue[r.prop],"onUpdate:modelValue":f=>l.modelValue[r.prop]=f,type:"daterange","range-separator":r.placeholder??"至","start-placeholder":r.placeholder??"开始日期","end-placeholder":r.placeholder??"结束日期",style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","range-separator","start-placeholder","end-placeholder"])):r.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(r.component),{key:4,modelValue:l.modelValue[r.prop],"onUpdate:modelValue":f=>l.modelValue[r.prop]=f},null,8,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)]),_:2},1032,["label","prop"])]),_:2},1032,["span"]))),128)),e.createVNode(e.unref(n.ElCol),{span:d.value},{default:e.withCtx(()=>[e.createVNode(e.unref(n.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(n.ElButton),{type:"primary",onClick:p},{default:e.withCtx(()=>[...o[1]||(o[1]=[e.createTextVNode(" 搜索 ",-1)])]),_:1}),e.createVNode(e.unref(n.ElButton),{onClick:c},{default:e.withCtx(()=>[...o[2]||(o[2]=[e.createTextVNode(" 重置 ",-1)])]),_:1}),l.collapsible&&l.fields.length>l.collapsedCount?(e.openBlock(),e.createBlock(e.unref(n.ElButton),{key:0,text:"",onClick:o[0]||(o[0]=r=>i.value=!i.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.value?"收起":"展开"),1)]),_:1})):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["span"])]),_:1})]),_:1},16,["model","inline","label-width"])]))}}),y=(l,k)=>{const u=l.__vccOpts||l;for(const[m,s]of k)u[m]=s;return u},V=y(C,[["__scopeId","data-v-64bb08e9"]]);V.install=l=>{l.component(V.name??"EeSearchBar",V)};const w={class:"ee-form-dialog-footer"},x=e.defineComponent({name:"EeFormDialog",__name:"index",props:{modelValue:{type:Boolean},title:{default:"表单"},formData:{},fields:{},rules:{},width:{default:"600px"},labelWidth:{default:"auto"},loading:{type:Boolean,default:!1}},emits:["update:modelValue","submit","cancel"],setup(l,{emit:k}){const u=l,m=k,s=e.ref(),i=e.computed(()=>{const p={};for(const c of Object.keys(u))["modelValue","title","formData","fields","rules","width","labelWidth","loading"].includes(c)||(p[c]=u[c]);return p});function d(){m("update:modelValue",!1),m("cancel")}async function a(){if(s.value)try{await s.value.validate(),m("submit",{...u.formData})}catch{}}return(p,c)=>(e.openBlock(),e.createBlock(e.unref(n.ElDialog),e.mergeProps(p.$attrs,{"model-value":l.modelValue,title:l.title,width:l.width,"onUpdate:modelValue":c[0]||(c[0]=t=>m("update:modelValue",t)),onClose:d}),{footer:e.withCtx(()=>[e.createElementVNode("span",w,[e.createVNode(e.unref(n.ElButton),{onClick:d},{default:e.withCtx(()=>[...c[1]||(c[1]=[e.createTextVNode("取消",-1)])]),_:1}),e.createVNode(e.unref(n.ElButton),{type:"primary",loading:l.loading,onClick:a},{default:e.withCtx(()=>[...c[2]||(c[2]=[e.createTextVNode(" 确定 ",-1)])]),_:1},8,["loading"])])]),default:e.withCtx(()=>[e.createVNode(e.unref(n.ElForm),e.mergeProps({ref_key:"formRef",ref:s,model:l.formData,rules:l.rules,"label-width":l.labelWidth},i.value),{default:e.withCtx(()=>[e.createVNode(e.unref(n.ElRow),{gutter:20},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.fields,t=>(e.openBlock(),e.createBlock(e.unref(n.ElCol),{key:t.prop,span:t.span??24},{default:e.withCtx(()=>[e.createVNode(e.unref(n.ElFormItem),{label:t.label,prop:t.prop},{default:e.withCtx(()=>[(t.type??"input")==="input"?(e.openBlock(),e.createBlock(e.unref(n.ElInput),{key:0,modelValue:l.formData[t.prop],"onUpdate:modelValue":o=>l.formData[t.prop]=o,placeholder:t.placeholder??`请输入${t.label}`},null,8,["modelValue","onUpdate:modelValue","placeholder"])):t.type==="textarea"?(e.openBlock(),e.createBlock(e.unref(n.ElInput),{key:1,modelValue:l.formData[t.prop],"onUpdate:modelValue":o=>l.formData[t.prop]=o,type:"textarea",placeholder:t.placeholder??`请输入${t.label}`,rows:3},null,8,["modelValue","onUpdate:modelValue","placeholder"])):t.type==="select"?(e.openBlock(),e.createBlock(e.unref(n.ElSelect),{key:2,modelValue:l.formData[t.prop],"onUpdate:modelValue":o=>l.formData[t.prop]=o,placeholder:t.placeholder??`请选择${t.label}`,style:{width:"100%"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options??[],o=>(e.openBlock(),e.createBlock(e.unref(n.ElOption),{key:o.value,label:o.label,value:o.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder"])):t.type==="radio"?(e.openBlock(),e.createBlock(e.unref(n.ElRadioGroup),{key:3,modelValue:l.formData[t.prop],"onUpdate:modelValue":o=>l.formData[t.prop]=o},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options??[],o=>(e.openBlock(),e.createBlock(e.unref(n.ElRadio),{key:o.value,label:o.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.label),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):t.type==="checkbox"?(e.openBlock(),e.createBlock(e.unref(n.ElCheckboxGroup),{key:4,modelValue:l.formData[t.prop],"onUpdate:modelValue":o=>l.formData[t.prop]=o},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.options??[],o=>(e.openBlock(),e.createBlock(e.unref(n.ElCheckbox),{key:o.value,label:o.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.label),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):t.type==="switch"?(e.openBlock(),e.createBlock(e.unref(n.ElSwitch),{key:5,modelValue:l.formData[t.prop],"onUpdate:modelValue":o=>l.formData[t.prop]=o},null,8,["modelValue","onUpdate:modelValue"])):t.type==="date"?(e.openBlock(),e.createBlock(e.unref(n.ElDatePicker),{key:6,modelValue:l.formData[t.prop],"onUpdate:modelValue":o=>l.formData[t.prop]=o,placeholder:t.placeholder??`请选择${t.label}`,style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","placeholder"])):t.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(t.component),{key:7,modelValue:l.formData[t.prop],"onUpdate:modelValue":o=>l.formData[t.prop]=o},null,8,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)]),_:2},1032,["label","prop"])]),_:2},1032,["span"]))),128))]),_:1})]),_:1},16,["model","rules","label-width"])]),_:1},16,["model-value","title","width"]))}}),b=y(x,[["__scopeId","data-v-0307e8cf"]]);b.install=l=>{l.component(b.name??"EeFormDialog",b)};const S={class:"ee-form-table"},D={key:1,class:"ee-form-table-toolbar"},N={key:2,class:"ee-form-table-pagination"},U=e.defineComponent({name:"EeFormTable",__name:"index",props:{data:{},columns:{},searchFields:{},pagination:{},loading:{type:Boolean,default:!1},showSelection:{type:Boolean,default:!1},showIndex:{type:Boolean,default:!1},showPagination:{type:Boolean,default:!0},pageSizes:{default:()=>[10,20,50,100]},paginationLayout:{default:"total, sizes, prev, pager, next, jumper"},collapsible:{type:Boolean,default:!1},collapsedCount:{default:3}},emits:["search","reset","selection-change","sort-change","current-change","size-change"],setup(l,{emit:k}){const u=k,m=e.ref(),s=e.ref({});return(i,d)=>(e.openBlock(),e.createElementBlock("div",S,[l.searchFields&&l.searchFields.length?(e.openBlock(),e.createBlock(e.unref(V),{key:0,modelValue:s.value,"onUpdate:modelValue":d[0]||(d[0]=a=>s.value=a),fields:l.searchFields,collapsible:l.collapsible,"collapsed-count":l.collapsedCount,onSearch:d[1]||(d[1]=a=>u("search",a)),onReset:d[2]||(d[2]=a=>u("reset"))},null,8,["modelValue","fields","collapsible","collapsed-count"])):e.createCommentVNode("",!0),i.$slots.toolbar?(e.openBlock(),e.createElementBlock("div",D,[e.renderSlot(i.$slots,"toolbar",{},void 0,!0)])):e.createCommentVNode("",!0),e.createVNode(e.unref(n.ElTable),e.mergeProps({ref_key:"tableRef",ref:m},i.$attrs,{data:l.data,loading:l.loading,onSelectionChange:d[3]||(d[3]=a=>u("selection-change",a)),onSortChange:d[4]||(d[4]=a=>u("sort-change",a))}),{default:e.withCtx(()=>[l.showSelection?(e.openBlock(),e.createBlock(e.unref(n.ElTableColumn),{key:0,type:"selection",width:"50",fixed:"left"})):e.createCommentVNode("",!0),l.showIndex?(e.openBlock(),e.createBlock(e.unref(n.ElTableColumn),{key:1,type:"index",label:"序号",width:"60",fixed:"left"})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(l.columns,a=>(e.openBlock(),e.createBlock(e.unref(n.ElTableColumn),{key:a.prop,prop:a.prop,label:a.label,width:a.width,"min-width":a.minWidth,fixed:a.fixed,sortable:a.sortable,align:a.align??"center"},{default:e.withCtx(p=>[e.renderSlot(i.$slots,a.prop,{row:p.row,index:p.$index},()=>[e.createElementVNode("span",null,e.toDisplayString(a.formatter?a.formatter(p.row,a,p.row[a.prop],p.$index):p.row[a.prop]),1)],!0)]),_:2},1032,["prop","label","width","min-width","fixed","sortable","align"]))),128)),e.renderSlot(i.$slots,"default",{},void 0,!0)]),_:3},16,["data","loading"]),l.showPagination?(e.openBlock(),e.createElementBlock("div",N,[e.createVNode(e.unref(n.ElPagination),{"current-page":l.pagination.current,"onUpdate:currentPage":d[5]||(d[5]=a=>l.pagination.current=a),"page-size":l.pagination.pageSize,"onUpdate:pageSize":d[6]||(d[6]=a=>l.pagination.pageSize=a),total:l.pagination.total,"page-sizes":l.pageSizes,layout:l.paginationLayout,background:"",onCurrentChange:d[7]||(d[7]=a=>u("current-change",a)),onSizeChange:d[8]||(d[8]=a=>u("size-change",a))},null,8,["current-page","page-size","total","page-sizes","layout"])])):e.createCommentVNode("",!0)]))}}),B=y(U,[["__scopeId","data-v-70d01eeb"]]);B.install=l=>{l.component(B.name??"EeFormTable",B)};const F=[h,g,V,b,B];function E(l){F.forEach(k=>{l.use(k)})}const $={install:E};exports.EeDictSelect=h;exports.EeFormDialog=b;exports.EeFormTable=B;exports.EeSearchBar=V;exports.EeStatusTag=g;exports.default=$;exports.install=E;
1
+ "use strict";var at=Object.create;var Ce=Object.defineProperty;var ot=Object.getOwnPropertyDescriptor;var rt=Object.getOwnPropertyNames;var nt=Object.getPrototypeOf,it=Object.prototype.hasOwnProperty;var ut=(t,l,a,r)=>{if(l&&typeof l=="object"||typeof l=="function")for(let o of rt(l))!it.call(t,o)&&o!==a&&Ce(t,o,{get:()=>l[o],enumerable:!(r=ot(l,o))||r.enumerable});return t};var dt=(t,l,a)=>(a=t!=null?at(nt(t)):{},ut(l||!t||!t.__esModule?Ce(a,"default",{value:t,enumerable:!0}):a,t));Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue"),d=require("element-plus"),st=require("echarts");function ct(t){const l=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(t){for(const a in t)if(a!=="default"){const r=Object.getOwnPropertyDescriptor(t,a);Object.defineProperty(l,a,r.get?r:{enumerable:!0,get:()=>t[a]})}}return l.default=t,Object.freeze(l)}const ft=ct(st),O={formTable:{operation:"操作",add:"新增",edit:"编辑",delete:"删除",view:"查看",import:"导入",export:"导出",batchDelete:"批量删除",refresh:"刷新",columnSetting:"列设置",search:"查询",reset:"重置",expand:"展开",collapse:"收起",empty:"暂无数据",confirm:"确定",cancel:"取消",close:"关闭",confirmDelete:"确认删除",confirmDeleteMsg:"确定要删除该条数据吗?",confirmBatchDelete:"确认批量删除",confirmBatchDeleteMsg:"确定要删除选中的 {count} 条数据吗?",addTitle:"新增",editTitle:"编辑",viewTitle:"查看",addSuccess:"新增成功",editSuccess:"编辑成功",deleteSuccess:"删除成功",batchDeleteSuccess:"批量删除成功",refreshSuccess:"刷新成功",exportSuccess:"导出成功",exportFail:"导出失败",requestFailed:"请求失败",deleteFailed:"删除失败",batchDeleteFailed:"批量删除失败",installXlsx:"请安装 xlsx 依赖: npm install xlsx",exportFileName:"export.xlsx",inputPlaceholder:"请输入{label}",selectPlaceholder:"请选择{label}",dateRangeTo:"至",dateRangeStart:"开始日期",dateRangeEnd:"结束日期"},searchBar:{search:"搜索",reset:"重置",expand:"展开",collapse:"收起",inputPlaceholder:"请输入{label}",selectPlaceholder:"请选择{label}",dateRangeTo:"至",dateRangeStart:"开始日期",dateRangeEnd:"结束日期"},formDialog:{confirm:"确定",cancel:"取消",title:"表单",inputPlaceholder:"请输入{label}",textareaPlaceholder:"请输入{label}",selectPlaceholder:"请选择{label}",datePickerPlaceholder:"请选择{label}"},remoteSelect:{loading:"加载中...",noMore:"没有更多数据了",loadMore:"加载更多",searchPlaceholder:"请输入关键词搜索",requestFailed:"请求失败",noData:"暂无数据"}},ye="eeLocale";function T(){const t=e.inject(ye,O);function l(a,r,o){try{const f=t[a];let p=f==null?void 0:f[r];if(p==null){const m=O[a];p=m==null?void 0:m[r]}if(p==null)return r;if(o)for(const[m,y]of Object.entries(o))p=p.replace(`{${m}}`,String(y));return p}catch{return r}}return{locale:t,t:l}}function ae(t){const{requestInstance:l,apiUrl:a,pageNumKey:r="pageNum",pageSizeKey:o="pageSize",pageSize:f=20,searchKey:p="keyword",extraParams:m={},labelField:y="label",valueField:h="value",debounceDelay:g=300}=t,n=l??e.inject(ie);if(!n)throw new Error("[EasyEPUI] 请配置 requestInstance:可通过 app.use(EasyEpUI, { requestInstance }) 全局注入,或通过 props 传入");const s=n,{t:c}=T(),b=e.ref(!1),u=e.ref([]),B=e.ref(!1),i=e.ref(0);let k=1,S="",N=null;async function A(C,F=!0){F&&(k=1,B.value=!1,C!==void 0&&(S=C)),b.value=!0;try{const P={[r]:k,[o]:f,...m};S&&(P[p]=S);const K=await s.get(a,{params:P}),ce=ue(K.data).map(q=>({...q,label:q[y],value:q[h]}));F?u.value=ce:u.value=[...u.value,...ce],i.value=de(K.data),u.value.length>=i.value&&(B.value=!0)}catch(P){d.ElMessage.error((P==null?void 0:P.msg)||(P==null?void 0:P.message)||c("remoteSelect","requestFailed")),F&&(u.value=[])}finally{b.value=!1}}function ue(C){return Array.isArray(C)?C:C!=null&&C.rows?C.rows:C!=null&&C.list?C.list:C!=null&&C.records?C.records:C!=null&&C.data?Array.isArray(C.data)?C.data:ue(C.data):C!=null&&C.items?C.items:[]}function de(C){return C!=null&&C.total?Number(C.total):C!=null&&C.count?Number(C.count):Array.isArray(C)?C.length:C!=null&&C.data&&typeof C.data=="object"&&!Array.isArray(C.data)?de(C.data):0}async function me(){b.value||B.value||(k++,await A(void 0,!1))}function pe(){S="",k=1,u.value=[],B.value=!1,i.value=0}function I(C){S=C,N&&clearTimeout(N),N=setTimeout(()=>{A(S,!0)},g)}return{loading:b,options:u,noMore:B,loadData:A,loadMore:me,resetList:pe,onKeywordChange:I}}const H=e.defineComponent({name:"EeDictSelect",__name:"index",props:{modelValue:{},dictCode:{},apiUrl:{},detailEchoUrl:{},mode:{default:"single"},labelField:{default:"label"},valueField:{default:"value"},searchKey:{default:"keyword"},pageSize:{default:50},extraParams:{},requestInstance:{},options:{},placeholder:{},clearable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},filterable:{type:Boolean,default:!0},size:{default:"default"}},emits:["update:modelValue","change","clear","blur","focus","search","load-success"],setup(t,{emit:l}){const a=t,r=l;T();const{loading:o,options:f,loadData:p}=ae({apiUrl:m(),pageNumKey:"pageNum",pageSizeKey:"pageSize",pageSize:a.pageSize,searchKey:a.searchKey,extraParams:y(),labelField:a.labelField,valueField:a.valueField});function m(){return a.apiUrl?a.apiUrl:"/api/system/dict/data/list"}function y(){const g={...a.extraParams||{}};return a.dictCode&&!a.apiUrl&&(g.dictCode=a.dictCode),g}const h=e.computed(()=>a.options?a.options:f.value.map(g=>({value:g[a.valueField],label:g[a.labelField],disabled:g.disabled??!1})));return e.onMounted(()=>{a.options||p(void 0,!0)}),(g,n)=>(e.openBlock(),e.createBlock(e.unref(d.ElSelect),e.mergeProps(g.$attrs,{"model-value":t.modelValue,loading:e.unref(o),multiple:t.mode==="multiple",placeholder:t.placeholder,clearable:t.clearable,disabled:t.disabled,readonly:t.readonly,filterable:t.filterable,size:t.size,"onUpdate:modelValue":n[0]||(n[0]=s=>r("update:modelValue",s)),onChange:n[1]||(n[1]=s=>r("change",s)),onClear:n[2]||(n[2]=s=>r("clear")),onBlur:n[3]||(n[3]=s=>r("blur",s)),onFocus:n[4]||(n[4]=s=>r("focus",s))}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,s=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:s.value,label:s.label,value:s.value,disabled:s.disabled},null,8,["label","value","disabled"]))),128))]),_:1},16,["model-value","loading","multiple","placeholder","clearable","disabled","readonly","filterable","size"]))}});H.install=t=>{t.component(H.name??"EeDictSelect",H)};const j=e.defineComponent({name:"EeStatusTag",__name:"index",props:{value:{},mapping:{},fallbackLabel:{},defaultType:{default:"info"},defaultEffect:{default:"light"}},setup(t){const l=t,a=e.computed(()=>l.mapping.find(r=>r.value===l.value));return(r,o)=>{var f,p;return e.openBlock(),e.createBlock(e.unref(d.ElTag),e.mergeProps(r.$attrs,{type:((f=a.value)==null?void 0:f.type)??t.defaultType,effect:((p=a.value)==null?void 0:p.effect)??t.defaultEffect}),{default:e.withCtx(()=>{var m;return[e.createTextVNode(e.toDisplayString(((m=a.value)==null?void 0:m.label)??t.fallbackLabel??t.value),1)]}),_:1},16,["type","effect"])}}});j.install=t=>{t.component(j.name??"EeStatusTag",j)};const mt={class:"ee-search-bar"},pt=e.defineComponent({name:"EeSearchBar",__name:"index",props:{modelValue:{},fields:{},inline:{type:Boolean,default:!0},labelWidth:{default:"auto"},collapsible:{type:Boolean,default:!1},collapsedCount:{default:3},size:{default:"default"}},emits:["update:modelValue","search","reset"],setup(t,{emit:l}){const{t:a}=T(),r=t,o=l,f=e.ref(),p=e.ref(!1),m=e.computed(()=>{const s=24-y.value.reduce((c,b)=>c+(b.span??6),0)%24;return s===24?6:s}),y=e.computed(()=>!r.collapsible||p.value?r.fields:r.fields.slice(0,r.collapsedCount));function h(){o("search",{...r.modelValue})}function g(){const n={};r.fields.forEach(s=>{n[s.prop]=""}),o("update:modelValue",n),o("reset")}return(n,s)=>(e.openBlock(),e.createElementBlock("div",mt,[e.createVNode(e.unref(d.ElForm),e.mergeProps({ref_key:"formRef",ref:f,model:t.modelValue,inline:t.inline,"label-width":t.labelWidth,size:t.size},n.$attrs),{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElRow),null,{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,c=>(e.openBlock(),e.createBlock(e.unref(d.ElCol),{key:c.prop,span:c.span??6},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElFormItem),{label:c.label,prop:c.prop},{default:e.withCtx(()=>[(c.type??"input")==="input"?(e.openBlock(),e.createBlock(e.unref(d.ElInput),{key:0,modelValue:t.modelValue[c.prop],"onUpdate:modelValue":b=>t.modelValue[c.prop]=b,placeholder:c.placeholder??e.unref(a)("searchBar","inputPlaceholder",{label:c.label}),clearable:""},null,8,["modelValue","onUpdate:modelValue","placeholder"])):c.type==="select"?(e.openBlock(),e.createBlock(e.unref(d.ElSelect),{key:1,modelValue:t.modelValue[c.prop],"onUpdate:modelValue":b=>t.modelValue[c.prop]=b,placeholder:c.placeholder??e.unref(a)("searchBar","selectPlaceholder",{label:c.label}),clearable:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.options??[],b=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:b.value,label:b.label,value:b.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder"])):c.type==="date"?(e.openBlock(),e.createBlock(e.unref(d.ElDatePicker),{key:2,modelValue:t.modelValue[c.prop],"onUpdate:modelValue":b=>t.modelValue[c.prop]=b,placeholder:c.placeholder??e.unref(a)("searchBar","selectPlaceholder",{label:c.label}),style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","placeholder"])):c.type==="date-range"?(e.openBlock(),e.createBlock(e.unref(d.ElDatePicker),{key:3,modelValue:t.modelValue[c.prop],"onUpdate:modelValue":b=>t.modelValue[c.prop]=b,type:"daterange","range-separator":e.unref(a)("searchBar","dateRangeTo"),"start-placeholder":e.unref(a)("searchBar","dateRangeStart"),"end-placeholder":e.unref(a)("searchBar","dateRangeEnd"),style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","range-separator","start-placeholder","end-placeholder"])):c.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(c.component),{key:4,modelValue:t.modelValue[c.prop],"onUpdate:modelValue":b=>t.modelValue[c.prop]=b},null,8,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)]),_:2},1032,["label","prop"])]),_:2},1032,["span"]))),128)),e.createVNode(e.unref(d.ElCol),{span:m.value},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElButton),{type:"primary",size:t.size,round:"",onClick:h},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("searchBar","search")),1)]),_:1},8,["size"]),e.createVNode(e.unref(d.ElButton),{size:t.size,round:"",onClick:g},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("searchBar","reset")),1)]),_:1},8,["size"]),t.collapsible&&t.fields.length>t.collapsedCount?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:0,text:"",size:t.size,onClick:s[0]||(s[0]=c=>p.value=!p.value)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.value?e.unref(a)("searchBar","collapse"):e.unref(a)("searchBar","expand")),1)]),_:1},8,["size"])):e.createCommentVNode("",!0)]),_:1})]),_:1},8,["span"])]),_:1})]),_:1},16,["model","inline","label-width","size"])]))}}),oe=(t,l)=>{const a=t.__vccOpts||t;for(const[r,o]of l)a[r]=o;return a},G=oe(pt,[["__scopeId","data-v-fe481020"]]);G.install=t=>{t.component(G.name??"EeSearchBar",G)};const ht={class:"ee-form-dialog-footer"},gt=e.defineComponent({name:"EeFormDialog",__name:"index",props:{modelValue:{type:Boolean},title:{default:""},formData:{},fields:{},rules:{},width:{default:"600px"},labelWidth:{default:"auto"},loading:{type:Boolean,default:!1},size:{default:"default"}},emits:["update:modelValue","submit","cancel"],setup(t,{emit:l}){const{t:a}=T(),r=t,o=l,f=e.ref(),p=e.computed(()=>{const h={};for(const g of Object.keys(r))["modelValue","title","formData","fields","rules","width","labelWidth","loading"].includes(g)||(h[g]=r[g]);return h});function m(){o("update:modelValue",!1),o("cancel")}async function y(){if(f.value)try{await f.value.validate(),o("submit",{...r.formData})}catch{}}return(h,g)=>(e.openBlock(),e.createBlock(e.unref(d.ElDialog),e.mergeProps(h.$attrs,{"model-value":t.modelValue,title:t.title,width:t.width,"onUpdate:modelValue":g[0]||(g[0]=n=>o("update:modelValue",n)),onClose:m}),{footer:e.withCtx(()=>[e.createElementVNode("span",ht,[e.createVNode(e.unref(d.ElButton),{size:t.size,round:"",onClick:m},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("formDialog","cancel")),1)]),_:1},8,["size"]),e.createVNode(e.unref(d.ElButton),{type:"primary",size:t.size,round:"",loading:t.loading,onClick:y},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("formDialog","confirm")),1)]),_:1},8,["size","loading"])])]),default:e.withCtx(()=>[e.createVNode(e.unref(d.ElForm),e.mergeProps({ref_key:"formRef",ref:f,model:t.formData,rules:t.rules,"label-width":t.labelWidth,size:t.size},p.value),{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElRow),{gutter:20},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.fields,n=>(e.openBlock(),e.createBlock(e.unref(d.ElCol),{key:n.prop,span:n.span??24},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElFormItem),{label:n.label,prop:n.prop},{default:e.withCtx(()=>[(n.type??"input")==="input"?(e.openBlock(),e.createBlock(e.unref(d.ElInput),{key:0,modelValue:t.formData[n.prop],"onUpdate:modelValue":s=>t.formData[n.prop]=s,placeholder:n.placeholder??e.unref(a)("formDialog","inputPlaceholder",{label:n.label})},null,8,["modelValue","onUpdate:modelValue","placeholder"])):n.type==="textarea"?(e.openBlock(),e.createBlock(e.unref(d.ElInput),{key:1,modelValue:t.formData[n.prop],"onUpdate:modelValue":s=>t.formData[n.prop]=s,type:"textarea",placeholder:n.placeholder??e.unref(a)("formDialog","textareaPlaceholder",{label:n.label}),rows:3},null,8,["modelValue","onUpdate:modelValue","placeholder"])):n.type==="select"?(e.openBlock(),e.createBlock(e.unref(d.ElSelect),{key:2,modelValue:t.formData[n.prop],"onUpdate:modelValue":s=>t.formData[n.prop]=s,placeholder:n.placeholder??e.unref(a)("formDialog","selectPlaceholder",{label:n.label}),style:{width:"100%"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.options??[],s=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:s.value,label:s.label,value:s.value},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue","placeholder"])):n.type==="radio"?(e.openBlock(),e.createBlock(e.unref(d.ElRadioGroup),{key:3,modelValue:t.formData[n.prop],"onUpdate:modelValue":s=>t.formData[n.prop]=s},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.options??[],s=>(e.openBlock(),e.createBlock(e.unref(d.ElRadio),{key:s.value,label:s.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.label),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):n.type==="checkbox"?(e.openBlock(),e.createBlock(e.unref(d.ElCheckboxGroup),{key:4,modelValue:t.formData[n.prop],"onUpdate:modelValue":s=>t.formData[n.prop]=s},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.options??[],s=>(e.openBlock(),e.createBlock(e.unref(d.ElCheckbox),{key:s.value,label:s.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(s.label),1)]),_:2},1032,["label"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])):n.type==="switch"?(e.openBlock(),e.createBlock(e.unref(d.ElSwitch),{key:5,modelValue:t.formData[n.prop],"onUpdate:modelValue":s=>t.formData[n.prop]=s},null,8,["modelValue","onUpdate:modelValue"])):n.type==="date"?(e.openBlock(),e.createBlock(e.unref(d.ElDatePicker),{key:6,modelValue:t.formData[n.prop],"onUpdate:modelValue":s=>t.formData[n.prop]=s,placeholder:n.placeholder??e.unref(a)("formDialog","datePickerPlaceholder",{label:n.label}),style:{width:"100%"}},null,8,["modelValue","onUpdate:modelValue","placeholder"])):n.component?(e.openBlock(),e.createBlock(e.resolveDynamicComponent(n.component),{key:7,modelValue:t.formData[n.prop],"onUpdate:modelValue":s=>t.formData[n.prop]=s},null,8,["modelValue","onUpdate:modelValue"])):e.createCommentVNode("",!0)]),_:2},1032,["label","prop"])]),_:2},1032,["span"]))),128))]),_:1})]),_:1},16,["model","rules","label-width","size"])]),_:1},16,["model-value","title","width"]))}}),W=oe(gt,[["__scopeId","data-v-929d8568"]]);W.install=t=>{t.component(W.name??"EeFormDialog",W)};const ze=[10,20,50,100],bt="total, sizes, prev, pager, next, jumper",Se={show:!0,cols:3,maxRow:2,foldable:!0,foldDefault:!0},Ee={show:!1},ve={show:!0,pageSize:20,pageSizes:ze,background:!0},vt={show:!1},yt={show:!0,showView:!1,showEdit:!0,showDelete:!0,confirmDelete:!0,deleteConfirmTitle:"",deleteConfirmMessage:""},xe={show:!1},kt={show:!0,showAdd:!1,showImport:!1,showExport:!1,showBatchDelete:!1},Ve={show:!1},wt={mode:"drawer",width:"40%",closeOnReset:!0,addTitle:"",editTitle:"",viewTitle:"",formCols:2,formLabelWidth:"80px"},Bt=["data","loading","size","stripe","border","height","max-height","highlight-current-row","row-key"],Ct=["prop","label","width","minWidth","align","fixed","sortable","show","formatter","dictKey","slotName","search","form","auth","children","className"];function St(t){const l=e.computed(()=>!!t.authChecker);function a(r){return!r||!t.authChecker?!0:t.authChecker(r)}return{authPass:a,authEnabled:l}}function Et(t){function l(r,o){var f;return r||(o&&((f=t.dictMap)!=null&&f[o])?t.dictMap[o]:[])}function a(r,o){var p;if(!r||!((p=t.dictMap)!=null&&p[r]))return String(o??"");const f=t.dictMap[r].find(m=>m.value===o);return(f==null?void 0:f.label)??String(o??"")}return{resolvedDict:l,dictLabel:a}}function xt(t){const l=e.ref(!0),a=e.reactive({}),r=e.computed(()=>t.searchConfig===!1?Ee:t.searchConfig===!0?{...Se}:t.searchConfig?{...Se,...t.searchConfig}:Ee),o=e.computed(()=>r.value.show),f=e.computed(()=>r.value.cols||3),p=e.computed(()=>t.columns.filter(i=>{var k;return(k=i.search)==null?void 0:k.enable}).map(i=>{const k=i.search;return{...k,prop:i.prop,label:i.label,field:k.field||i.prop,placeholder:k.placeholder||i.label,dictKey:i.dictKey,props:k.props||{}}})),m=e.computed(()=>r.value.maxRow||2),y=e.computed(()=>f.value*m.value),h=e.computed(()=>r.value.foldable!==!1&&p.value.length>y.value);e.onMounted(()=>{r.value.foldDefault!==!1&&(l.value=!1)});const g=e.computed(()=>!l.value&&h.value?p.value.slice(0,y.value):p.value),n=e.computed(()=>24/f.value);function s(){p.value.forEach(i=>{a[i.field]=i.defaultValue??""})}function c(){const i={};return p.value.forEach(k=>{i[k.field]=k.defaultValue??""}),i}function b(){const i={};for(const[k,S]of Object.entries(a))S!==""&&S!==null&&S!==void 0&&(i[k]=S);return i}function u(){Object.assign(a,c())}function B(){l.value=!l.value}return{searchExpanded:l,searchParams:a,searchCfg:r,showSearch:o,searchCols:f,allSearchFields:p,visibleSearchFields:g,showFoldBtn:h,actionColSpan:n,initSearchParams:s,getDefaultSearchParams:c,getActiveSearchParams:b,resetSearchParams:u,toggleFold:B}}function Vt(t){const l=e.reactive({current:1,pageSize:20,total:0}),a=e.computed(()=>t.pagination===!1?vt:t.pagination===!0?{...ve}:t.pagination?{...ve,...t.pagination}:{...ve,show:!0}),r=e.computed(()=>a.value.show!==!1),o=e.computed(()=>a.value.pageSizes||ze),f=e.computed(()=>a.value.layout||bt),p=e.computed(()=>a.value.background!==!1);e.onMounted(()=>{t.pagination&&typeof t.pagination=="object"&&(t.pagination.pageSize&&(l.pageSize=t.pagination.pageSize),t.pagination.total!==void 0&&(l.total=t.pagination.total))}),e.watch(()=>t.pagination,g=>{typeof g=="object"&&g&&(g.total!==void 0&&(l.total=g.total),g.pageSize&&(l.pageSize=g.pageSize))},{deep:!0});function m(g){l.current=g}function y(g){l.pageSize=g}function h(){l.current=1}return{pageState:l,paginationCfg:a,showPagination:r,pageSizesComputed:o,paginationLayoutComputed:f,paginationBgComputed:p,setPage:m,setPageSize:y,resetPage:h}}function Dt(t,l){const a=e.ref(),r=e.ref([]),o=e.ref(null),f=e.ref(!1),p=e.ref([]),m=e.computed(()=>({show:!1,type:"multiple",reserveSelection:!1,...t.selectionConfig})),y=e.computed(()=>({show:!1,...t.columnSetting})),h=e.computed(()=>y.value.show),g=e.computed(()=>t.columns.filter(i=>i.prop));e.onMounted(()=>{p.value=g.value.map(i=>i.prop)}),e.watch(()=>t.columns,()=>{p.value=[...new Set([...p.value.filter(i=>g.value.some(k=>k.prop===i)),...g.value.map(i=>i.prop)])]},{deep:!0});const n=e.computed(()=>g.value.filter(i=>i.show!==!1&&p.value.includes(i.prop)&&l.authPass(i.auth))),s=e.computed(()=>t.tableHeight||void 0),c=e.computed(()=>t.tableMaxHeight||void 0),b=e.computed(()=>t.autoHeight?{minHeight:`calc(100vh - ${(typeof t.autoHeight=="object"?t.autoHeight:{}).offset||200}px)`}:{});function u(i){r.value=i}function B(i){const k=t.rowKey||"id";o.value=i[k],r.value=[i]}return{tableRef:a,selection:r,singleSelection:o,columnSettingVisible:f,checkedColumns:p,selectionCfg:m,columnSettingCfg:y,showColumnSetting:h,allColumns:g,visibleColumns:n,tableComputedHeight:s,tableMaxHeightProp:c,tableWrapperStyle:b,handleSelectionChange:u,handleSingleSelect:B}}function zt(t,l){const a=e.ref([]),r=e.ref(!1),o=e.computed(()=>{var n;return!!((n=t.crudConfig)!=null&&n.api.list)});async function f(){var n;if((n=t.crudConfig)!=null&&n.api.list){r.value=!0;try{const s={page:l.pageState.current,pageSize:l.pageState.pageSize,...t.crudConfig.baseParams},c=l.getActiveSearchParams();Object.assign(s,c);const b=await t.crudConfig.api.list(s);a.value=b.data||[],l.setTotal(b.total??0)}catch(s){l.emit("request-error",s),d.ElMessage.error((s==null?void 0:s.message)||l.t("formTable","requestFailed"))}finally{r.value=!1}}}async function p(){l.resetPage(),await f()}async function m(n){var s;if(!((s=t.crudConfig)!=null&&s.api.delete)){l.emit("delete",n);return}r.value=!0;try{const c=n[t.rowKey||"id"];await t.crudConfig.api.delete(c),d.ElMessage.success(l.t("formTable","deleteSuccess")),l.emit("delete-success"),await f()}catch(c){l.emit("request-error",c),d.ElMessage.error((c==null?void 0:c.message)||l.t("formTable","deleteFailed"))}finally{r.value=!1}}async function y(n,s,c,b){if(!s){await m(n);return}try{const u=l.t("formTable","confirm"),B=l.t("formTable","cancel");await d.ElMessageBox.confirm(b||l.t("formTable","confirmDeleteMsg"),c||l.t("formTable","confirmDelete"),{confirmButtonText:u,cancelButtonText:B,type:"warning"}),await m(n)}catch{}}async function h(n){var s;if(!((s=t.crudConfig)!=null&&s.api.batchDelete)){l.emit("batch-delete",n);return}r.value=!0;try{await t.crudConfig.api.batchDelete(n),d.ElMessage.success(l.t("formTable","batchDeleteSuccess")),l.emit("batch-delete-success"),l.selection.value=[],await f()}catch(c){l.emit("request-error",c),d.ElMessage.error((c==null?void 0:c.message)||l.t("formTable","batchDeleteFailed"))}finally{r.value=!1}}async function g(){const n=l.selection.value;if(n.length!==0)try{const s=l.t("formTable","confirm"),c=l.t("formTable","cancel");await d.ElMessageBox.confirm(l.t("formTable","confirmBatchDeleteMsg",{count:n.length}),l.t("formTable","confirmBatchDelete"),{confirmButtonText:s,cancelButtonText:c,type:"warning"});const b=n.map(u=>u[t.rowKey||"id"]);await h(b)}catch{}}return{internalData:a,loadingState:r,hasCrud:o,fetchData:f,refreshTable:p,doDelete:m,handleDelete:y,doBatchDelete:h,handleBatchDelete:g}}function Tt(t){const l=e.ref(!1),a=e.ref("add"),r=e.ref(null),o=e.ref({}),f=e.ref(!1),p={...wt,...t.drawerConfig},m=p.mode||"drawer";function y(){a.value="add",r.value=null,o.value={},l.value=!0}function h(s){a.value="edit",r.value=s,o.value={...s},l.value=!0}function g(s){a.value="view",r.value=s,o.value={...s},l.value=!0}function n(){l.value=!1}return{formVisible:l,formMode:a,editingRow:r,formData:o,saving:f,drawerMode:m,drawerCfg:p,openAdd:y,openEdit:h,openView:g,closeForm:n}}function Pt(t,l){const a=e.ref(!1);async function r(){var o,f,p,m,y;a.value=!0,l.setLoading(!0);try{const h=await import("xlsx").catch(()=>null);if(!h){d.ElMessage.warning(l.t("formTable","installXlsx"));return}const g=((o=t.exportConfig)==null?void 0:o.mode)||"current";let n;if(g==="all"&&((p=(f=t.crudConfig)==null?void 0:f.api)!=null&&p.list)){const i={page:1,pageSize:99999,...t.crudConfig.baseParams},k=l.getActiveSearchParams();Object.assign(i,k),n=(await t.crudConfig.api.list(i)).data||[]}else n=[...l.getCurrentData()];const s=((m=t.exportConfig)==null?void 0:m.ignoreColumn)||[],c=l.visibleColumns.value.filter(i=>!s.includes(i.prop)).map(i=>({prop:i.prop,label:i.label})),b=[c.map(i=>i.label),...n.map(i=>c.map(k=>{var N;if(k.prop==="action")return"";const S=(N=t.columns.find(A=>A.prop===k.prop))==null?void 0:N.dictKey;return S?l.dictLabel(S,i[k.prop]):i[k.prop]??""}))],u=h.utils.aoa_to_sheet(b),B=h.utils.book_new();h.utils.book_append_sheet(B,u,"Sheet1"),h.writeFile(B,((y=t.exportConfig)==null?void 0:y.fileName)||l.t("formTable","exportFileName")),d.ElMessage.success(l.t("formTable","exportSuccess"))}catch(h){d.ElMessage.error((h==null?void 0:h.message)||l.t("formTable","exportFail"))}finally{l.setLoading(!1),a.value=!1}}return{handleExport:r,exporting:a}}const Nt={key:0,class:"ee-search-area"},Ft=e.defineComponent({__name:"SearchArea",props:{showSearch:{type:Boolean},searchParams:{},visibleSearchFields:{},searchCols:{},actionColSpan:{},showFoldBtn:{type:Boolean},searchExpanded:{type:Boolean},size:{},resolveDict:{type:Function}},emits:["search","reset","toggle-fold"],setup(t){const{t:l}=T();return(a,r)=>t.showSearch?(e.openBlock(),e.createElementBlock("div",Nt,[e.createVNode(e.unref(d.ElForm),{model:t.searchParams,"label-width":"auto",size:t.size},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElRow),{gutter:12},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.visibleSearchFields,o=>(e.openBlock(),e.createBlock(e.unref(d.ElCol),{key:String(o.prop),span:24/t.searchCols},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElFormItem),{label:String(o.label)},{default:e.withCtx(()=>[o.type==="input"?(e.openBlock(),e.createBlock(e.unref(d.ElInput),e.mergeProps({key:0,modelValue:t.searchParams[o.field],"onUpdate:modelValue":f=>t.searchParams[o.field]=f,placeholder:String(o.placeholder||e.unref(l)("formTable","inputPlaceholder",{label:o.label})),clearable:""},{ref_for:!0},o.props||{}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):o.type==="number"?(e.openBlock(),e.createBlock(e.unref(d.ElInputNumber),e.mergeProps({key:1,modelValue:t.searchParams[o.field],"onUpdate:modelValue":f=>t.searchParams[o.field]=f,placeholder:String(o.placeholder||e.unref(l)("formTable","inputPlaceholder",{label:o.label})),style:{width:"100%"}},{ref_for:!0},o.props||{}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):o.type==="select"?(e.openBlock(),e.createBlock(e.unref(d.ElSelect),e.mergeProps({key:2,modelValue:t.searchParams[o.field],"onUpdate:modelValue":f=>t.searchParams[o.field]=f,placeholder:String(o.placeholder||e.unref(l)("formTable","selectPlaceholder",{label:o.label})),clearable:"",style:{width:"100%"}},{ref_for:!0},o.props||{}),{default:e.withCtx(()=>{var f;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.resolveDict((f=o.props)==null?void 0:f.options,o.dictKey),p=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:p.value,label:p.label,value:p.value},null,8,["label","value"]))),128))]}),_:2},1040,["modelValue","onUpdate:modelValue","placeholder"])):o.type==="radio"?(e.openBlock(),e.createBlock(e.unref(d.ElRadioGroup),e.mergeProps({key:3,modelValue:t.searchParams[o.field],"onUpdate:modelValue":f=>t.searchParams[o.field]=f},{ref_for:!0},o.props||{}),{default:e.withCtx(()=>{var f;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.resolveDict((f=o.props)==null?void 0:f.options,o.dictKey),p=>(e.openBlock(),e.createBlock(e.unref(d.ElRadio),{key:p.value,value:p.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(p.label),1)]),_:2},1032,["value"]))),128))]}),_:2},1040,["modelValue","onUpdate:modelValue"])):o.type==="checkbox"?(e.openBlock(),e.createBlock(e.unref(d.ElCheckboxGroup),e.mergeProps({key:4,modelValue:t.searchParams[o.field],"onUpdate:modelValue":f=>t.searchParams[o.field]=f},{ref_for:!0},o.props||{}),{default:e.withCtx(()=>{var f;return[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.resolveDict((f=o.props)==null?void 0:f.options,o.dictKey),p=>(e.openBlock(),e.createBlock(e.unref(d.ElCheckbox),{key:p.value,value:p.value,label:p.label},null,8,["value","label"]))),128))]}),_:2},1040,["modelValue","onUpdate:modelValue"])):o.type==="date"?(e.openBlock(),e.createBlock(e.unref(d.ElDatePicker),e.mergeProps({key:5,modelValue:t.searchParams[o.field],"onUpdate:modelValue":f=>t.searchParams[o.field]=f,placeholder:String(o.placeholder||e.unref(l)("formTable","selectPlaceholder",{label:o.label})),style:{width:"100%"}},{ref_for:!0},o.props||{}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):o.type==="date-range"?(e.openBlock(),e.createBlock(e.unref(d.ElDatePicker),e.mergeProps({key:6,modelValue:t.searchParams[o.field],"onUpdate:modelValue":f=>t.searchParams[o.field]=f,type:"daterange","range-separator":e.unref(l)("formTable","dateRangeTo"),"start-placeholder":e.unref(l)("formTable","dateRangeStart"),"end-placeholder":e.unref(l)("formTable","dateRangeEnd"),style:{width:"100%"}},{ref_for:!0},o.props||{}),null,16,["modelValue","onUpdate:modelValue","range-separator","start-placeholder","end-placeholder"])):o.type==="textarea"?(e.openBlock(),e.createBlock(e.unref(d.ElInput),e.mergeProps({key:7,modelValue:t.searchParams[o.field],"onUpdate:modelValue":f=>t.searchParams[o.field]=f,placeholder:String(o.placeholder||e.unref(l)("formTable","inputPlaceholder",{label:o.label})),type:"textarea"},{ref_for:!0},o.props||{}),null,16,["modelValue","onUpdate:modelValue","placeholder"])):e.createCommentVNode("",!0)]),_:2},1032,["label"])]),_:2},1032,["span"]))),128)),e.createVNode(e.unref(d.ElCol),{span:t.actionColSpan},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElButton),{type:"primary",round:"",onClick:r[0]||(r[0]=o=>a.$emit("search"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("formTable","search")),1)]),_:1}),e.createVNode(e.unref(d.ElButton),{round:"",onClick:r[1]||(r[1]=o=>a.$emit("reset"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(l)("formTable","reset")),1)]),_:1}),t.showFoldBtn?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:0,text:"",size:t.size,onClick:r[2]||(r[2]=o=>a.$emit("toggle-fold"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.searchExpanded?e.unref(l)("formTable","collapse"):e.unref(l)("formTable","expand")),1)]),_:1},8,["size"])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"search-action",{params:t.searchParams})]),_:3})]),_:3},8,["span"])]),_:3})]),_:3},8,["model","size"])])):e.createCommentVNode("",!0)}});/*! Element Plus Icons Vue v2.3.2 */var Rt=e.defineComponent({name:"Refresh",__name:"refresh",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M771.776 794.88A384 384 0 0 1 128 512h64a320 320 0 0 0 555.712 216.448H654.72a32 32 0 1 1 0-64h149.056a32 32 0 0 1 32 32v148.928a32 32 0 1 1-64 0v-50.56zM276.288 295.616h92.992a32 32 0 0 1 0 64H220.16a32 32 0 0 1-32-32V178.56a32 32 0 0 1 64 0v50.56A384 384 0 0 1 896.128 512h-64a320 320 0 0 0-555.776-216.384z"})]))}}),Ut=Rt,At=e.defineComponent({name:"Setting",__name:"setting",setup(t){return(l,a)=>(e.openBlock(),e.createElementBlock("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 1024 1024"},[e.createElementVNode("path",{fill:"currentColor",d:"M600.704 64a32 32 0 0 1 30.464 22.208l35.2 109.376c14.784 7.232 28.928 15.36 42.432 24.512l112.384-24.192a32 32 0 0 1 34.432 15.36L944.32 364.8a32 32 0 0 1-4.032 37.504l-77.12 85.12a357 357 0 0 1 0 49.024l77.12 85.248a32 32 0 0 1 4.032 37.504l-88.704 153.6a32 32 0 0 1-34.432 15.296L708.8 803.904c-13.44 9.088-27.648 17.28-42.368 24.512l-35.264 109.376A32 32 0 0 1 600.704 960H423.296a32 32 0 0 1-30.464-22.208L357.696 828.48a352 352 0 0 1-42.56-24.64l-112.32 24.256a32 32 0 0 1-34.432-15.36L79.68 659.2a32 32 0 0 1 4.032-37.504l77.12-85.248a357 357 0 0 1 0-48.896l-77.12-85.248A32 32 0 0 1 79.68 364.8l88.704-153.6a32 32 0 0 1 34.432-15.296l112.32 24.256c13.568-9.152 27.776-17.408 42.56-24.64l35.2-109.312A32 32 0 0 1 423.232 64H600.64zm-23.424 64H446.72l-36.352 113.088-24.512 11.968a294 294 0 0 0-34.816 20.096l-22.656 15.36-116.224-25.088-65.28 113.152 79.68 88.192-1.92 27.136a293 293 0 0 0 0 40.192l1.92 27.136-79.808 88.192 65.344 113.152 116.224-25.024 22.656 15.296a294 294 0 0 0 34.816 20.096l24.512 11.968L446.72 896h130.688l36.48-113.152 24.448-11.904a288 288 0 0 0 34.752-20.096l22.592-15.296 116.288 25.024 65.28-113.152-79.744-88.192 1.92-27.136a293 293 0 0 0 0-40.256l-1.92-27.136 79.808-88.128-65.344-113.152-116.288 24.96-22.592-15.232a288 288 0 0 0-34.752-20.096l-24.448-11.904L577.344 128zM512 320a192 192 0 1 1 0 384 192 192 0 0 1 0-384m0 64a128 128 0 1 0 0 256 128 128 0 0 0 0-256"})]))}}),Mt=At;const $t={key:0,class:"ee-toolbar"},Lt={class:"ee-toolbar-left"},Ot={class:"ee-toolbar-right"},It=e.defineComponent({__name:"TableToolbar",props:{show:{type:Boolean},toolbarCfg:{},size:{},refreshing:{type:Boolean},deps:{}},emits:["add","import","export","batch-delete","refresh","column-setting"],setup(t){const{t:l}=T();return(a,r)=>t.show?(e.openBlock(),e.createElementBlock("div",$t,[e.createElementVNode("div",Lt,[t.toolbarCfg.showAdd&&t.deps.authPass(t.toolbarCfg.addAuth)?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:0,type:"primary",size:t.size,round:"",onClick:r[0]||(r[0]=o=>a.$emit("add"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.toolbarCfg.addText||e.unref(l)("formTable","add")),1)]),_:1},8,["size"])):e.createCommentVNode("",!0),t.toolbarCfg.showImport&&t.deps.authPass(t.toolbarCfg.importAuth)?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:1,size:t.size,round:"",onClick:r[1]||(r[1]=o=>a.$emit("import"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.toolbarCfg.importText||e.unref(l)("formTable","import")),1)]),_:1},8,["size"])):e.createCommentVNode("",!0),t.toolbarCfg.showExport&&t.deps.authPass(t.toolbarCfg.exportAuth)?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:2,size:t.size,round:"",onClick:r[2]||(r[2]=o=>a.$emit("export"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.toolbarCfg.exportText||e.unref(l)("formTable","export")),1)]),_:1},8,["size"])):e.createCommentVNode("",!0),t.toolbarCfg.showBatchDelete&&t.deps.selectionCount>0&&t.deps.authPass(t.toolbarCfg.batchDeleteAuth)?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:3,type:"danger",size:t.size,round:"",onClick:r[3]||(r[3]=o=>a.$emit("batch-delete"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.toolbarCfg.batchDeleteText||e.unref(l)("formTable","batchDelete")),1)]),_:1},8,["size"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.toolbarCfg.customButtons||[],o=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:o.code},[t.deps.authPass(o.auth)?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:0,type:o.type,size:t.size,round:"",onClick:o.handler},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.text),1)]),_:2},1032,["type","size","onClick"])):e.createCommentVNode("",!0)],64))),128))]),e.createElementVNode("div",Ot,[e.createVNode(e.unref(d.ElTooltip),{content:e.unref(l)("formTable","refresh")},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElButton),{icon:e.unref(Ut),size:t.size,loading:t.refreshing,circle:"",onClick:r[4]||(r[4]=o=>a.$emit("refresh"))},null,8,["icon","size","loading"])]),_:1},8,["content"]),t.deps.showColumnSetting?(e.openBlock(),e.createBlock(e.unref(d.ElTooltip),{key:0,content:e.unref(l)("formTable","columnSetting")},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElButton),{icon:e.unref(Mt),size:t.size,circle:"",onClick:r[5]||(r[5]=o=>a.$emit("column-setting"))},null,8,["icon","size"])]),_:1},8,["content"])):e.createCommentVNode("",!0),e.renderSlot(a.$slots,"toolbar-right")])])):e.createCommentVNode("",!0)}}),De=e.defineComponent({__name:"FormAuto",props:{formData:{},columns:{},formMode:{},formCols:{},formLabelWidth:{},size:{},dictMap:{}},setup(t,{expose:l}){const{t:a}=T(),r=t,o=e.ref();l({validate:()=>{var c;return(c=o.value)==null?void 0:c.validate()},resetFields:()=>{var c;return(c=o.value)==null?void 0:c.resetFields()}});const f=e.computed(()=>r.columns.filter(c=>!c.form||c.form.hide?!1:r.formMode==="add"?c.form.add!==!1:r.formMode==="edit"?c.form.edit!==!1:!1));function p(c){var b;return((b=c.form)==null?void 0:b.type)||"input"}function m(c){var b;return((b=c.form)==null?void 0:b.props)||{}}function y(c){var u;if((u=c.form)!=null&&u.placeholder)return c.form.placeholder;const b=p(c);return b==="select"||b==="date"||b==="date-range"?a("formTable","selectPlaceholder",{label:c.label}):a("formTable","inputPlaceholder",{label:c.label})}function h(c){var b;return!!(r.formMode==="edit"&&((b=c.form)!=null&&b.readonly))}function g(c){var u;const b=((u=c.form)==null?void 0:u.colSpan)||1;return Math.round(24/r.formCols*b)}function n(c){var b,u,B;return(b=c.form)!=null&&b.dictKey&&((u=r.dictMap)!=null&&u[c.form.dictKey])?r.dictMap[c.form.dictKey]:((B=c.form)==null?void 0:B.options)||[]}function s(c){var u,B;const b=(u=c.form)==null?void 0:u.rules;if((B=c.form)!=null&&B.required){const i={required:!0,message:a("formTable","inputPlaceholder",{label:c.label}),trigger:"blur"};return b?[...b,i]:[i]}return b}return(c,b)=>(e.openBlock(),e.createBlock(e.unref(d.ElForm),{ref_key:"formRef",ref:o,model:t.formData,"label-width":t.formLabelWidth,size:t.size,"label-position":"top"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElRow),{gutter:20},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(f.value,u=>(e.openBlock(),e.createBlock(e.unref(d.ElCol),{key:u.prop,span:g(u)},{default:e.withCtx(()=>{var B;return[e.createVNode(e.unref(d.ElFormItem),{prop:u.prop,label:u.label,rules:s(u),required:(B=u.form)==null?void 0:B.required},{default:e.withCtx(()=>[p(u)==="input"?(e.openBlock(),e.createBlock(e.unref(d.ElInput),e.mergeProps({key:0,modelValue:t.formData[u.prop],"onUpdate:modelValue":i=>t.formData[u.prop]=i},{ref_for:!0},m(u),{placeholder:y(u),disabled:h(u),clearable:""}),null,16,["modelValue","onUpdate:modelValue","placeholder","disabled"])):p(u)==="number"?(e.openBlock(),e.createBlock(e.unref(d.ElInputNumber),e.mergeProps({key:1,modelValue:t.formData[u.prop],"onUpdate:modelValue":i=>t.formData[u.prop]=i},{ref_for:!0},m(u),{placeholder:y(u),disabled:h(u),style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","placeholder","disabled"])):p(u)==="select"?(e.openBlock(),e.createBlock(e.unref(d.ElSelect),e.mergeProps({key:2,modelValue:t.formData[u.prop],"onUpdate:modelValue":i=>t.formData[u.prop]=i},{ref_for:!0},m(u),{placeholder:y(u),disabled:h(u),clearable:"",style:{width:"100%"}}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n(u),i=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","placeholder","disabled"])):p(u)==="radio"?(e.openBlock(),e.createBlock(e.unref(d.ElRadioGroup),e.mergeProps({key:3,modelValue:t.formData[u.prop],"onUpdate:modelValue":i=>t.formData[u.prop]=i},{ref_for:!0},m(u),{disabled:h(u)}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n(u),i=>(e.openBlock(),e.createBlock(e.unref(d.ElRadio),{key:i.value,value:i.value},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(i.label),1)]),_:2},1032,["value"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):p(u)==="checkbox"?(e.openBlock(),e.createBlock(e.unref(d.ElCheckboxGroup),e.mergeProps({key:4,modelValue:t.formData[u.prop],"onUpdate:modelValue":i=>t.formData[u.prop]=i},{ref_for:!0},m(u),{disabled:h(u)}),{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n(u),i=>(e.openBlock(),e.createBlock(e.unref(d.ElCheckbox),{key:i.value,value:i.value,label:i.label},null,8,["value","label"]))),128))]),_:2},1040,["modelValue","onUpdate:modelValue","disabled"])):p(u)==="date"?(e.openBlock(),e.createBlock(e.unref(d.ElDatePicker),e.mergeProps({key:5,modelValue:t.formData[u.prop],"onUpdate:modelValue":i=>t.formData[u.prop]=i},{ref_for:!0},m(u),{placeholder:y(u),disabled:h(u),style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","placeholder","disabled"])):p(u)==="date-range"?(e.openBlock(),e.createBlock(e.unref(d.ElDatePicker),e.mergeProps({key:6,modelValue:t.formData[u.prop],"onUpdate:modelValue":i=>t.formData[u.prop]=i,type:"daterange"},{ref_for:!0},m(u),{placeholder:y(u),disabled:h(u),style:{width:"100%"}}),null,16,["modelValue","onUpdate:modelValue","placeholder","disabled"])):p(u)==="textarea"?(e.openBlock(),e.createBlock(e.unref(d.ElInput),e.mergeProps({key:7,modelValue:t.formData[u.prop],"onUpdate:modelValue":i=>t.formData[u.prop]=i,type:"textarea"},{ref_for:!0},m(u),{placeholder:y(u),disabled:h(u)}),null,16,["modelValue","onUpdate:modelValue","placeholder","disabled"])):p(u)==="switch"?(e.openBlock(),e.createBlock(e.unref(d.ElSwitch),e.mergeProps({key:8,modelValue:t.formData[u.prop],"onUpdate:modelValue":i=>t.formData[u.prop]=i},{ref_for:!0},m(u),{disabled:h(u)}),null,16,["modelValue","onUpdate:modelValue","disabled"])):e.createCommentVNode("",!0)]),_:2},1032,["prop","label","rules","required"])]}),_:2},1032,["span"]))),128))]),_:1})]),_:1},8,["model","label-width","size"]))}}),Kt=e.defineComponent({__name:"FormDrawer",props:{visible:{type:Boolean},drawerMode:{},formMode:{},editingRow:{},formData:{},drawerCfg:{},columns:{},size:{},saving:{type:Boolean},dictMap:{}},emits:["update:visible","save"],setup(t,{emit:l}){const{t:a}=T(),r=t,o=l,f=e.ref();async function p(){if(f.value)try{await f.value.validate()}catch{return}o("save")}const m=e.computed(()=>r.formMode==="view"?r.drawerCfg.viewTitle||a("formTable","viewTitle"):r.formMode==="edit"?r.drawerCfg.editTitle||a("formTable","editTitle"):r.drawerCfg.addTitle||a("formTable","addTitle")),y=e.computed(()=>{var h;return(h=r.columns)!=null&&h.length?r.columns.map(g=>{const n=r.formData[g.prop];return{key:g.prop,label:g.label,value:n!=null&&n!==""?String(n):"-",isEmpty:n==null||n===""}}):Object.keys(r.formData).map(g=>{const n=r.formData[g];return{key:g,label:g,value:n!=null&&n!==""?String(n):"-",isEmpty:n==null||n===""}})});return(h,g)=>t.drawerMode==="drawer"?(e.openBlock(),e.createBlock(e.unref(d.ElDrawer),{key:0,"model-value":t.visible,"onUpdate:modelValue":g[2]||(g[2]=n=>h.$emit("update:visible",n)),title:m.value,size:t.drawerCfg.width||"40%","destroy-on-close":t.drawerCfg.closeOnReset!==!1},{footer:e.withCtx(()=>[t.formMode!=="view"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(d.ElButton),{size:t.size,round:"",onClick:g[0]||(g[0]=n=>h.$emit("update:visible",!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("formTable","cancel")),1)]),_:1},8,["size"]),e.createVNode(e.unref(d.ElButton),{type:"primary",size:t.size,round:"",loading:t.saving,onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("formTable","confirm")),1)]),_:1},8,["size","loading"])],64)):(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:1,size:t.size,round:"",onClick:g[1]||(g[1]=n=>h.$emit("update:visible",!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("formTable","close")),1)]),_:1},8,["size"]))]),default:e.withCtx(()=>[t.formMode!=="view"?e.renderSlot(h.$slots,t.formMode+"-form",{key:0,row:t.editingRow,formData:t.formData},()=>[e.createVNode(De,{ref_key:"formAutoRef",ref:f,"form-data":t.formData,columns:t.columns||[],"form-mode":t.formMode,"form-cols":t.drawerCfg.formCols||2,"form-label-width":t.drawerCfg.formLabelWidth||"80px",size:t.size,"dict-map":t.dictMap},null,8,["form-data","columns","form-mode","form-cols","form-label-width","size","dict-map"])]):e.renderSlot(h.$slots,"view-form",{key:1,row:t.editingRow,formData:t.formData},()=>[e.createVNode(e.unref(d.ElDescriptions),{column:1,border:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,n=>(e.openBlock(),e.createBlock(e.unref(d.ElDescriptionsItem),{key:n.key,label:n.label},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.isEmpty?e.unref(a)("formTable","empty"):n.value),1)]),_:2},1032,["label"]))),128))]),_:1})])]),_:3},8,["model-value","title","size","destroy-on-close"])):(e.openBlock(),e.createBlock(e.unref(d.ElDialog),{key:1,"model-value":t.visible,"onUpdate:modelValue":g[5]||(g[5]=n=>h.$emit("update:visible",n)),title:m.value,width:t.drawerCfg.width||"600px","destroy-on-close":t.drawerCfg.closeOnReset!==!1},{footer:e.withCtx(()=>[t.formMode!=="view"?(e.openBlock(),e.createElementBlock(e.Fragment,{key:0},[e.createVNode(e.unref(d.ElButton),{size:t.size,round:"",onClick:g[3]||(g[3]=n=>h.$emit("update:visible",!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("formTable","cancel")),1)]),_:1},8,["size"]),e.createVNode(e.unref(d.ElButton),{type:"primary",size:t.size,round:"",loading:t.saving,onClick:p},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("formTable","confirm")),1)]),_:1},8,["size","loading"])],64)):(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:1,size:t.size,round:"",onClick:g[4]||(g[4]=n=>h.$emit("update:visible",!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(a)("formTable","close")),1)]),_:1},8,["size"]))]),default:e.withCtx(()=>[t.formMode!=="view"?e.renderSlot(h.$slots,t.formMode+"-form",{key:0,row:t.editingRow,formData:t.formData},()=>[e.createVNode(De,{ref_key:"formAutoRef",ref:f,"form-data":t.formData,columns:t.columns||[],"form-mode":t.formMode,"form-cols":t.drawerCfg.formCols||2,"form-label-width":t.drawerCfg.formLabelWidth||"80px",size:t.size,"dict-map":t.dictMap},null,8,["form-data","columns","form-mode","form-cols","form-label-width","size","dict-map"])]):e.renderSlot(h.$slots,"view-form",{key:1,row:t.editingRow,formData:t.formData},()=>[e.createVNode(e.unref(d.ElDescriptions),{column:1,border:""},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,n=>(e.openBlock(),e.createBlock(e.unref(d.ElDescriptionsItem),{key:n.key,label:n.label},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(n.isEmpty?e.unref(a)("formTable","empty"):n.value),1)]),_:2},1032,["label"]))),128))]),_:1})])]),_:3},8,["model-value","title","width","destroy-on-close"]))}}),qt={key:0},Ht={key:1},jt={key:2},Gt={key:0,class:"ee-pagination"},Y=e.defineComponent({name:"EeFormTable",__name:"index",props:{columns:{},data:{},loading:{type:Boolean,default:!1},searchConfig:{},pagination:{},actionConfig:{type:[Object,Boolean]},toolbarConfig:{type:[Object,Boolean]},crudConfig:{},selectionConfig:{},exportConfig:{},drawerConfig:{},columnSetting:{},autoHeight:{},dictMap:{},authChecker:{},authMode:{default:"hide"},emptyText:{default:""},tableHeight:{},tableMaxHeight:{},size:{default:"default"},stripe:{type:Boolean,default:!1},border:{type:Boolean,default:!0},highlightCurrentRow:{type:Boolean,default:!1},rowKey:{default:"id"}},emits:["search","search-reset","page-change","selection-change","current-change","size-change","sort-change","row-click","row-dblclick","view","add","edit","delete","batch-delete","import","export","add-success","edit-success","delete-success","batch-delete-success","request-error","column-visible-change","form-save"],setup(t,{expose:l,emit:a}){const{t:r}=T(),o=t,f=a,p=St(o),m=Et(o),{searchExpanded:y,searchParams:h,showSearch:g,searchCols:n,visibleSearchFields:s,showFoldBtn:c,actionColSpan:b,initSearchParams:u,getActiveSearchParams:B,resetSearchParams:i,toggleFold:k}=xt(o),{pageState:S,showPagination:N,pageSizesComputed:A,paginationLayoutComputed:ue,paginationBgComputed:de,setPage:me,setPageSize:pe,resetPage:I}=Vt(o),{tableRef:C,selection:F,singleSelection:P,columnSettingVisible:K,checkedColumns:se,showColumnSetting:ce,allColumns:q,visibleColumns:he,tableComputedHeight:Ne,tableMaxHeightProp:Fe,tableWrapperStyle:Re,selectionCfg:M,handleSelectionChange:Ue,handleSingleSelect:Ae}=Dt(o,{authPass:p.authPass}),Me=zt(o,{searchParams:h,getActiveSearchParams:B,pageState:S,resetPage:I,setTotal:w=>{S.total=w},selection:F,emit:(w,...E)=>f(w,...E),t:r}),{internalData:ge,loadingState:ke,hasCrud:L,fetchData:R,refreshTable:we,handleDelete:$e,handleBatchDelete:Le}=Me,x=Tt(o),be=e.ref(!1),{handleExport:Oe}=Pt(o,{visibleColumns:he,getActiveSearchParams:B,dictLabel:m.dictLabel,internalData:ge,fetchData:R,setLoading:w=>{ke.value=w},getCurrentData:()=>o.data||ge.value,t:r}),U=e.computed(()=>({visible:!!x.formVisible.value,drawerMode:x.drawerMode,formMode:x.formMode.value||"add",editingRow:x.editingRow.value??null,formData:x.formData.value??{},drawerCfg:x.drawerCfg,saving:x.saving.value??!1,onVisibleChange:w=>{x.formVisible.value=w}})),fe=e.computed({get:()=>K.value,set:w=>{K.value=w}}),D=e.computed(()=>{if(o.actionConfig===!1)return xe;const w={...yt,label:r("formTable","operation"),viewText:r("formTable","view"),editText:r("formTable","edit"),deleteText:r("formTable","delete"),deleteConfirmTitle:r("formTable","confirmDelete"),deleteConfirmMessage:r("formTable","confirmDeleteMsg")};return o.actionConfig===!0?w:o.actionConfig?{...w,...o.actionConfig}:xe}),Be=e.computed(()=>{if(o.toolbarConfig===!1)return Ve;const w={...kt};return o.toolbarConfig===!0?{...w,show:!0}:o.toolbarConfig?{...w,...o.toolbarConfig}:Ve}),Ie=e.computed(()=>L.value?ge.value:o.data||[]),Ke=e.computed(()=>ke.value||o.loading);function qe(){I();const w=B();f("search",w),L.value&&R()}function He(){i(),f("search-reset"),L.value?R():f("search",{})}function je(w){me(w),f("current-change",w),f("page-change",{currentPage:w,pageSize:S.pageSize}),L.value&&R()}function Ge(w){pe(w),I(),f("size-change",w),f("page-change",{currentPage:1,pageSize:w}),L.value&&R()}function We(){var E;x.openAdd();const w={};for(const v of o.columns)((E=v.form)==null?void 0:E.defaultValue)!==void 0&&(w[v.prop]=v.form.defaultValue);x.formData.value={...w},f("add")}function Ye(w){x.openEdit(w),f("edit",w)}function Xe(w){x.openView(w),f("view",w)}function Qe(w){$e(w,D.value.confirmDelete!==!1,D.value.deleteConfirmTitle,D.value.deleteConfirmMessage)}function Ze(){Le()}function Je(){f("export"),Oe()}async function _e(){be.value=!0;try{await we(),d.ElMessage.success(r("formTable","refreshSuccess"))}finally{be.value=!1}}async function et(){var w,E;x.saving.value=!0;try{f("form-save",{...x.formData.value},x.formMode.value==="edit"),x.formMode.value==="edit"&&((w=o.crudConfig)!=null&&w.api.edit)?(await o.crudConfig.api.edit(x.formData.value),d.ElMessage.success(r("formTable","editSuccess")),f("edit-success")):x.formMode.value==="add"&&((E=o.crudConfig)!=null&&E.api.add)&&(await o.crudConfig.api.add(x.formData.value),d.ElMessage.success(r("formTable","addSuccess")),f("add-success")),x.closeForm(),await R()}catch(v){f("request-error",v)}finally{x.saving.value=!1}}const tt=e.computed(()=>{const w={};for(const E of Object.keys(o))!Bt.includes(E)&&!E.startsWith("on")&&(w[E]=o[E]);return w});function lt(w){const E={};for(const[v,V]of Object.entries(w))Ct.includes(v)||(E[v]=V);return E}return e.onMounted(()=>{u(),L.value&&R()}),l({refresh:we,fetchData:R,getSelection:()=>F.value,tableRef:C}),(w,E)=>(e.openBlock(),e.createElementBlock("div",{class:e.normalizeClass(["ee-form-table",[`ee-size--${t.size}`,{"ee-stripe":t.stripe,"ee-border":t.border}]])},[e.createVNode(Ft,{"show-search":!!e.unref(g),"search-params":e.unref(h),"visible-search-fields":e.unref(s),"search-cols":e.unref(n),"action-col-span":e.unref(b),"show-fold-btn":!!e.unref(c),"search-expanded":!!e.unref(y),size:t.size,"resolve-dict":e.unref(m).resolvedDict,onSearch:qe,onReset:He,onToggleFold:e.unref(k)},{"search-action":e.withCtx(({params:v})=>[e.renderSlot(w.$slots,"search-action",{params:v})]),_:3},8,["show-search","search-params","visible-search-fields","search-cols","action-col-span","show-fold-btn","search-expanded","size","resolve-dict","onToggleFold"]),e.createVNode(It,{show:!!Be.value.show,"toolbar-cfg":Be.value,size:t.size,refreshing:be.value,deps:{authPass:e.unref(p).authPass,selectionCount:e.unref(F).length,showColumnSetting:!!e.unref(ce)},onAdd:We,onImport:E[0]||(E[0]=v=>w.$emit("import")),onExport:Je,onBatchDelete:Ze,onRefresh:_e,onColumnSetting:E[1]||(E[1]=v=>fe.value=!0)},{"toolbar-right":e.withCtx(()=>[e.renderSlot(w.$slots,"toolbar-right")]),_:3},8,["show","toolbar-cfg","size","refreshing","deps"]),e.createElementVNode("div",{class:"ee-table-wrapper",style:e.normalizeStyle(e.unref(Re))},[e.createVNode(e.unref(d.ElTable),e.mergeProps({ref_key:"tableRef",ref:C,data:Ie.value,loading:Ke.value,size:t.size,stripe:t.stripe,border:t.border,height:e.unref(Ne),"max-height":e.unref(Fe),"highlight-current-row":t.highlightCurrentRow,"row-key":t.rowKey,onSelectionChange:E[2]||(E[2]=v=>{e.unref(Ue)(v),w.$emit("selection-change",v)}),onRowClick:E[3]||(E[3]=v=>w.$emit("row-click",v)),onRowDblclick:E[4]||(E[4]=v=>w.$emit("row-dblclick",v)),onSortChange:E[5]||(E[5]=v=>w.$emit("sort-change",v))},tt.value),{empty:e.withCtx(()=>[e.renderSlot(w.$slots,"empty",{},()=>[e.createVNode(e.unref(d.ElEmpty),{description:t.emptyText||e.unref(r)("formTable","empty")},null,8,["description"])])]),default:e.withCtx(()=>[e.unref(M).show&&e.unref(M).type==="multiple"?(e.openBlock(),e.createBlock(e.unref(d.ElTableColumn),{key:0,type:"selection",width:"50",fixed:"left",selectable:e.unref(M).disabledRow?v=>!e.unref(M).disabledRow(v):void 0,"reserve-selection":e.unref(M).reserveSelection},null,8,["selectable","reserve-selection"])):e.createCommentVNode("",!0),e.unref(M).show&&e.unref(M).type==="single"?(e.openBlock(),e.createBlock(e.unref(d.ElTableColumn),{key:1,width:"50",fixed:"left"},{default:e.withCtx(({row:v})=>[e.createVNode(e.unref(d.ElRadio),{"model-value":e.unref(P)===v[t.rowKey||"id"],value:v[t.rowKey||"id"],onChange:()=>{e.unref(Ae)(v),w.$emit("selection-change",e.unref(F))}},null,8,["model-value","value","onChange"])]),_:1})):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(he),v=>(e.openBlock(),e.createBlock(e.unref(d.ElTableColumn),e.mergeProps({key:v.prop,prop:v.prop,label:v.label,width:v.width,"min-width":v.minWidth,fixed:v.fixed,sortable:v.sortable,align:v.align||"center","class-name":v.className},{ref_for:!0},lt(v)),{default:e.withCtx(V=>[e.renderSlot(w.$slots,v.slotName||v.prop,{row:V.row,index:V.$index,column:v},()=>[v.formatter?(e.openBlock(),e.createElementBlock("span",qt,e.toDisplayString(v.formatter(V.row,v,V.row[v.prop],V.$index)),1)):v.dictKey?(e.openBlock(),e.createElementBlock("span",Ht,e.toDisplayString(e.unref(m).dictLabel(v.dictKey,V.row[v.prop])),1)):(e.openBlock(),e.createElementBlock("span",jt,e.toDisplayString(V.row[v.prop]??"-"),1))])]),_:2},1040,["prop","label","width","min-width","fixed","sortable","align","class-name"]))),128)),D.value.show?(e.openBlock(),e.createBlock(e.unref(d.ElTableColumn),{key:2,label:D.value.label||e.unref(r)("formTable","operation"),width:D.value.width,fixed:D.value.fixed??"right",align:D.value.align||"center"},{default:e.withCtx(({row:v})=>[e.renderSlot(w.$slots,"action-before",{row:v}),D.value.showView&&e.unref(p).authPass(D.value.viewAuth)?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:0,type:"primary",link:"",size:t.size,onClick:V=>Xe(v)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(D.value.viewText||e.unref(r)("formTable","view")),1)]),_:1},8,["size","onClick"])):e.createCommentVNode("",!0),D.value.showEdit&&e.unref(p).authPass(D.value.editAuth)?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:1,type:"primary",link:"",size:t.size,onClick:V=>Ye(v)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(D.value.editText||e.unref(r)("formTable","edit")),1)]),_:1},8,["size","onClick"])):e.createCommentVNode("",!0),D.value.showDelete&&e.unref(p).authPass(D.value.deleteAuth)?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:2,type:"danger",link:"",size:t.size,onClick:V=>Qe(v)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(D.value.deleteText||e.unref(r)("formTable","delete")),1)]),_:1},8,["size","onClick"])):e.createCommentVNode("",!0),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(D.value.customButtons||[],V=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:V.code},[(!V.show||V.show(v))&&e.unref(p).authPass(V.auth)?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:0,type:V.type||"default",link:"",size:t.size,onClick:sl=>V.handler(v)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(V.text),1)]),_:2},1032,["type","size","onClick"])):e.createCommentVNode("",!0)],64))),128)),e.renderSlot(w.$slots,"action",{row:v})]),_:3},8,["label","width","fixed","align"])):e.createCommentVNode("",!0)]),_:3},16,["data","loading","size","stripe","border","height","max-height","highlight-current-row","row-key"])],4),e.unref(N)?(e.openBlock(),e.createElementBlock("div",Gt,[e.createVNode(e.unref(d.ElPagination),{"current-page":e.unref(S).current,"onUpdate:currentPage":E[6]||(E[6]=v=>e.unref(S).current=v),"page-size":e.unref(S).pageSize,"onUpdate:pageSize":E[7]||(E[7]=v=>e.unref(S).pageSize=v),"page-sizes":e.unref(A),total:e.unref(S).total,layout:e.unref(ue),background:e.unref(de),size:t.size,onCurrentChange:je,onSizeChange:Ge},null,8,["current-page","page-size","page-sizes","total","layout","background","size"])])):e.createCommentVNode("",!0),e.createVNode(Kt,{visible:U.value.visible,"drawer-mode":U.value.drawerMode,"form-mode":U.value.formMode,"editing-row":U.value.editingRow,"form-data":U.value.formData,"drawer-cfg":U.value.drawerCfg,columns:e.unref(he),size:t.size,saving:U.value.saving,"dict-map":t.dictMap,"onUpdate:visible":U.value.onVisibleChange,onSave:et},e.createSlots({_:2},[w.$slots["add-form"]?{name:"add-form",fn:e.withCtx(v=>[e.renderSlot(w.$slots,"add-form",e.normalizeProps(e.guardReactiveProps(v)))]),key:"0"}:void 0,w.$slots["edit-form"]?{name:"edit-form",fn:e.withCtx(v=>[e.renderSlot(w.$slots,"edit-form",e.normalizeProps(e.guardReactiveProps(v)))]),key:"1"}:void 0,w.$slots["view-form"]?{name:"view-form",fn:e.withCtx(v=>[e.renderSlot(w.$slots,"view-form",e.normalizeProps(e.guardReactiveProps(v)))]),key:"2"}:void 0]),1032,["visible","drawer-mode","form-mode","editing-row","form-data","drawer-cfg","columns","size","saving","dict-map","onUpdate:visible"]),e.createVNode(e.unref(d.ElDialog),{modelValue:fe.value,"onUpdate:modelValue":E[10]||(E[10]=v=>fe.value=v),title:e.unref(r)("formTable","columnSetting"),width:"400px","close-on-click-modal":!1},{footer:e.withCtx(()=>[e.createVNode(e.unref(d.ElButton),{size:t.size,round:"",onClick:E[9]||(E[9]=v=>fe.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("formTable","close")),1)]),_:1},8,["size"])]),default:e.withCtx(()=>[e.createVNode(e.unref(d.ElCheckboxGroup),{modelValue:e.unref(se),"onUpdate:modelValue":E[8]||(E[8]=v=>e.isRef(se)?se.value=v:null)},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(q),v=>(e.openBlock(),e.createBlock(e.unref(d.ElCheckbox),{key:v.prop,value:v.prop,label:v.label},null,8,["value","label"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["modelValue","title"])],2))}});Y.install=t=>{t.component(Y.name??"EeFormTable",Y)};const Wt={key:1,class:"ee-no-more"},Yt={class:"ee-loading-tip"},Xt=e.defineComponent({name:"EeRemoteSelect",__name:"index",props:{modelValue:{},apiUrl:{},detailEchoUrl:{},mode:{default:"single"},labelField:{default:"label"},valueField:{default:"value"},searchKey:{default:"keyword"},pageNumKey:{default:"pageNum"},pageSizeKey:{default:"pageSize"},pageSize:{default:20},extraParams:{},requestInstance:{},placeholder:{},clearable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},filterable:{type:Boolean,default:!0},size:{default:"default"},options:{}},emits:["update:modelValue","change","clear","blur","focus","search","load-success"],setup(t,{emit:l}){const a=t,r=l,{t:o}=T(),{loading:f,options:p,noMore:m,loadData:y,loadMore:h,resetList:g,onKeywordChange:n}=ae({apiUrl:a.apiUrl,pageNumKey:a.pageNumKey,pageSizeKey:a.pageSizeKey,pageSize:a.pageSize,searchKey:a.searchKey,extraParams:a.extraParams,labelField:a.labelField,valueField:a.valueField});function s(B){return{value:B[a.valueField],label:B[a.labelField],disabled:B.disabled??!1}}const c=e.computed(()=>a.options?a.options.map(s):p.value.map(s));async function b(B=!1){a.options||await y(void 0,!0)}function u(B){B&&c.value.length===0&&!a.options&&b()}return e.onMounted(()=>{b()}),e.watch(()=>a.apiUrl,()=>{g(),b()}),(B,i)=>(e.openBlock(),e.createBlock(e.unref(d.ElSelect),e.mergeProps(B.$attrs,{"model-value":t.modelValue,loading:e.unref(f),multiple:t.mode==="multiple",placeholder:t.placeholder,clearable:t.clearable,disabled:t.disabled,readonly:t.readonly,filterable:t.filterable,size:t.size,remote:!a.options,"remote-method":a.options?void 0:e.unref(n),"onUpdate:modelValue":i[1]||(i[1]=k=>r("update:modelValue",k)),onChange:i[2]||(i[2]=k=>r("change",k)),onClear:i[3]||(i[3]=k=>r("clear")),onBlur:i[4]||(i[4]=k=>r("blur",k)),onFocus:i[5]||(i[5]=k=>r("focus",k)),onVisibleChange:u}),{loading:e.withCtx(()=>[e.createElementVNode("div",Yt,[e.createElementVNode("span",null,e.toDisplayString(e.unref(o)("remoteSelect","loading")),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,k=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:k.value,label:k.label,value:k.value,disabled:k.disabled},null,8,["label","value","disabled"]))),128)),!a.options&&!e.unref(m)&&!e.unref(f)&&c.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"ee-load-more",onClick:i[0]||(i[0]=(...k)=>e.unref(h)&&e.unref(h)(...k))},[e.createElementVNode("span",null,e.toDisplayString(e.unref(o)("remoteSelect","loadMore")),1)])):e.createCommentVNode("",!0),!a.options&&e.unref(m)&&c.value.length>0?(e.openBlock(),e.createElementBlock("div",Wt,[e.createElementVNode("span",null,e.toDisplayString(e.unref(o)("remoteSelect","noMore")),1)])):e.createCommentVNode("",!0)]),_:1},16,["model-value","loading","multiple","placeholder","clearable","disabled","readonly","filterable","size","remote","remote-method"]))}}),X=oe(Xt,[["__scopeId","data-v-21c5d143"]]);X.install=t=>{t.component(X.name??"EeRemoteSelect",X)};const Q=e.defineComponent({name:"EeDeptCascader",__name:"index",props:{modelValue:{},deptApiUrl:{default:"/api/system/dept/tree"},detailEchoUrl:{default:"/api/system/dept/detail"},labelField:{default:"label"},valueField:{default:"value"},childrenField:{default:"children"},showAllLevels:{type:Boolean,default:!0},extraParams:{},requestInstance:{},placeholder:{},clearable:{type:Boolean,default:!0},disabled:{type:Boolean},size:{default:"default"}},emits:["update:modelValue","change","clear","blur","focus","load-success"],setup(t,{emit:l}){const a=t,r=l;function o(i){r("update:modelValue",i)}function f(i){r("change",i)}function p(){r("clear")}function m(i){r("blur",i)}function y(i){r("focus",i)}const h=a.requestInstance??e.inject(ie);if(!h)throw new Error("[EasyEPUI] 请配置 requestInstance:可通过 app.use(EasyEpUI, { requestInstance }) 全局注入,或通过 props 传入");const g=h,{t:n}=T(),s=e.ref([]),c=e.ref(!1),b=e.computed(()=>({label:a.labelField,value:a.valueField,children:a.childrenField,multiple:!1,checkStrictly:!0}));async function u(){c.value=!0;try{const i={...a.extraParams||{}},S=(await g.get(a.deptApiUrl,{params:i})).data,N=Array.isArray(S)?S:(S==null?void 0:S.data)??[];s.value=B(N),r("load-success",s.value)}catch(i){d.ElMessage.error((i==null?void 0:i.msg)||(i==null?void 0:i.message)||n("remoteSelect","requestFailed")),s.value=[]}finally{c.value=!1}}function B(i){return i.map(k=>{const S={...k,label:k[a.labelField]??"",value:k[a.valueField]??""};return k[a.childrenField]&&Array.isArray(k[a.childrenField])&&k[a.childrenField].length>0&&(S.children=B(k[a.childrenField])),S})}return e.onMounted(()=>{u()}),(i,k)=>(e.openBlock(),e.createBlock(e.unref(d.ElCascader),e.mergeProps(i.$attrs,{"model-value":t.modelValue,options:s.value,props:b.value,placeholder:t.placeholder,clearable:t.clearable,disabled:t.disabled,size:t.size,"show-all-levels":t.showAllLevels,"onUpdate:modelValue":k[0]||(k[0]=S=>o(S)),onChange:k[1]||(k[1]=S=>f(S)),onClear:k[2]||(k[2]=S=>p()),onBlur:k[3]||(k[3]=S=>m(S)),onFocus:k[4]||(k[4]=S=>y(S))}),null,16,["model-value","options","props","placeholder","clearable","disabled","size","show-all-levels"]))}});Q.install=t=>{t.component(Q.name??"EeDeptCascader",Q)};const Qt={key:1,class:"ee-no-more"},Zt={class:"ee-loading-tip"},Jt=e.defineComponent({name:"EeUserSelect",__name:"index",props:{modelValue:{},apiUrl:{default:"/api/system/user/page"},detailEchoUrl:{default:"/api/system/user/detail"},mode:{default:"single"},deptId:{},labelField:{default:"label"},valueField:{default:"value"},searchKey:{default:"keyword"},extraParams:{},requestInstance:{},placeholder:{},clearable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},filterable:{type:Boolean,default:!0},size:{default:"default"}},emits:["update:modelValue","change","clear","blur","focus","search","load-success"],setup(t,{emit:l}){const a=t,r=l,{t:o}=T(),f=e.computed(()=>{const u={...a.extraParams||{}};return a.deptId!==void 0&&a.deptId!==null&&a.deptId!==""&&(u.deptId=a.deptId),u}),{loading:p,options:m,noMore:y,loadData:h,loadMore:g,resetList:n,onKeywordChange:s}=ae({apiUrl:a.apiUrl,pageSizeKey:"pageSize",pageNumKey:"pageNum",pageSize:20,searchKey:a.searchKey,extraParams:f.value,labelField:a.labelField,valueField:a.valueField}),c=e.computed(()=>m.value.map(u=>({value:u[a.valueField],label:u[a.labelField],disabled:u.disabled??!1})));function b(u){u&&c.value.length===0&&h(void 0,!0)}return e.onMounted(()=>{h(void 0,!0)}),e.watch(()=>a.deptId,()=>{n(),h(void 0,!0)}),(u,B)=>(e.openBlock(),e.createBlock(e.unref(d.ElSelect),e.mergeProps(u.$attrs,{"model-value":t.modelValue,loading:e.unref(p),multiple:t.mode==="multiple",placeholder:t.placeholder,clearable:t.clearable,disabled:t.disabled,readonly:t.readonly,filterable:t.filterable,size:t.size,remote:!0,"remote-method":e.unref(s),"onUpdate:modelValue":B[1]||(B[1]=i=>r("update:modelValue",i)),onChange:B[2]||(B[2]=i=>r("change",i)),onClear:B[3]||(B[3]=i=>r("clear")),onBlur:B[4]||(B[4]=i=>r("blur",i)),onFocus:B[5]||(B[5]=i=>r("focus",i)),onVisibleChange:b}),{loading:e.withCtx(()=>[e.createElementVNode("div",Zt,[e.createElementVNode("span",null,e.toDisplayString(e.unref(o)("remoteSelect","loading")),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,i=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:i.value,label:i.label,value:i.value,disabled:i.disabled},null,8,["label","value","disabled"]))),128)),!e.unref(y)&&!e.unref(p)&&c.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"ee-load-more",onClick:B[0]||(B[0]=(...i)=>e.unref(g)&&e.unref(g)(...i))},[e.createElementVNode("span",null,e.toDisplayString(e.unref(o)("remoteSelect","loadMore")),1)])):e.createCommentVNode("",!0),e.unref(y)&&c.value.length>0?(e.openBlock(),e.createElementBlock("div",Qt,[e.createElementVNode("span",null,e.toDisplayString(e.unref(o)("remoteSelect","noMore")),1)])):e.createCommentVNode("",!0)]),_:1},16,["model-value","loading","multiple","placeholder","clearable","disabled","readonly","filterable","size","remote-method"]))}}),Z=oe(Jt,[["__scopeId","data-v-6e78b80d"]]);Z.install=t=>{t.component(Z.name??"EeUserSelect",Z)};const _t={key:1,class:"ee-no-more"},el={class:"ee-loading-tip"},tl=e.defineComponent({name:"EeRoleSelect",__name:"index",props:{modelValue:{},apiUrl:{default:"/api/system/role/page"},detailEchoUrl:{default:"/api/system/role/detail"},mode:{default:"single"},labelField:{default:"label"},valueField:{default:"value"},searchKey:{default:"keyword"},extraParams:{},requestInstance:{},placeholder:{},clearable:{type:Boolean,default:!0},disabled:{type:Boolean},readonly:{type:Boolean},filterable:{type:Boolean,default:!0},size:{default:"default"}},emits:["update:modelValue","change","clear","blur","focus","search","load-success"],setup(t,{emit:l}){const a=t,r=l,{t:o}=T(),{loading:f,options:p,noMore:m,loadData:y,loadMore:h,onKeywordChange:g}=ae({apiUrl:a.apiUrl,pageSizeKey:"pageSize",pageNumKey:"pageNum",pageSize:20,searchKey:a.searchKey,extraParams:a.extraParams,labelField:a.labelField,valueField:a.valueField}),n=e.computed(()=>p.value.map(c=>({value:c[a.valueField],label:c[a.labelField],disabled:c.disabled??!1})));function s(c){c&&n.value.length===0&&y(void 0,!0)}return e.onMounted(()=>{y(void 0,!0)}),(c,b)=>(e.openBlock(),e.createBlock(e.unref(d.ElSelect),e.mergeProps(c.$attrs,{"model-value":t.modelValue,loading:e.unref(f),multiple:t.mode==="multiple",placeholder:t.placeholder,clearable:t.clearable,disabled:t.disabled,readonly:t.readonly,filterable:t.filterable,size:t.size,remote:!0,"remote-method":e.unref(g),"onUpdate:modelValue":b[1]||(b[1]=u=>r("update:modelValue",u)),onChange:b[2]||(b[2]=u=>r("change",u)),onClear:b[3]||(b[3]=u=>r("clear")),onBlur:b[4]||(b[4]=u=>r("blur",u)),onFocus:b[5]||(b[5]=u=>r("focus",u)),onVisibleChange:s}),{loading:e.withCtx(()=>[e.createElementVNode("div",el,[e.createElementVNode("span",null,e.toDisplayString(e.unref(o)("remoteSelect","loading")),1)])]),default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(n.value,u=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:u.value,label:u.label,value:u.value,disabled:u.disabled},null,8,["label","value","disabled"]))),128)),!e.unref(m)&&!e.unref(f)&&n.value.length>0?(e.openBlock(),e.createElementBlock("div",{key:0,class:"ee-load-more",onClick:b[0]||(b[0]=(...u)=>e.unref(h)&&e.unref(h)(...u))},[e.createElementVNode("span",null,e.toDisplayString(e.unref(o)("remoteSelect","loadMore")),1)])):e.createCommentVNode("",!0),e.unref(m)&&n.value.length>0?(e.openBlock(),e.createElementBlock("div",_t,[e.createElementVNode("span",null,e.toDisplayString(e.unref(o)("remoteSelect","noMore")),1)])):e.createCommentVNode("",!0)]),_:1},16,["model-value","loading","multiple","placeholder","clearable","disabled","readonly","filterable","size","remote-method"]))}}),J=oe(tl,[["__scopeId","data-v-58cd12c9"]]);J.install=t=>{t.component(J.name??"EeRoleSelect",J)};const ll=["#409eff","#67c23a","#e6a23c","#f56c6c","#909399","#8b5cf6","#ec4899","#06b6d4","#f97316","#6366f1"],$="PingFang SC, Microsoft YaHei, sans-serif",re={color:ll,title:{textStyle:{fontSize:16,fontWeight:600,fontFamily:$,color:"#303133"},subtextStyle:{fontSize:12,fontFamily:$,color:"#909399"},left:0,top:0},tooltip:{trigger:"axis",backgroundColor:"rgba(255, 255, 255, 0.95)",borderWidth:0,borderRadius:4,padding:[8,12],textStyle:{fontSize:12,fontFamily:$,color:"#303133"},extraCssText:"box-shadow: 0 2px 12px rgba(0,0,0,0.1);"},legend:{type:"plain",top:30,left:0,itemWidth:14,itemHeight:10,textStyle:{fontSize:12,fontFamily:$,color:"#606266"}},grid:{top:70,right:20,bottom:30,left:50,containLabel:!0},xAxis:{type:"category",axisLine:{show:!0,lineStyle:{color:"#dcdfe6",width:1}},axisTick:{alignWithLabel:!0},axisLabel:{fontSize:11,fontFamily:$,color:"#909399"},splitLine:{show:!1}},yAxis:{type:"value",axisLine:{show:!1},axisTick:{show:!1},axisLabel:{fontSize:11,fontFamily:$,color:"#909399"},splitLine:{show:!0,lineStyle:{color:"#ebeef5",type:"dashed"}}},series:{bar:{barMaxWidth:40,itemStyle:{borderRadius:[2,2,0,0]}},line:{lineStyle:{width:2},itemStyle:{borderWidth:2}},pie:{label:{fontSize:12,fontFamily:$,color:"#606266"},labelLine:{lineStyle:{color:"#dcdfe6"}}},radar:{lineStyle:{width:2},areaStyle:{opacity:.15}}}},al={text:"数据加载中...",color:"#409eff",textColor:"#909399",maskColor:"rgba(255, 255, 255, 0.8)",fontSize:13};function z(t,l){if(!l)return t;const a={...t};for(const r of Object.keys(l)){const o=l[r];o!=null&&(Array.isArray(o)||Array.isArray(a[r])?a[r]=o:typeof o=="object"&&typeof a[r]=="object"?a[r]=z(a[r],o):a[r]=o)}return a}function ne(t,l={}){const a=e.shallowRef(),r=e.ref(!1);let o=null,f=null;function p(){t.value&&(a.value&&a.value.dispose(),a.value=ft.init(t.value),r.value=!0)}function m(s,c=!1){a.value&&a.value.setOption(s,{notMerge:c})}function y(){f&&clearTimeout(f),f=setTimeout(()=>{var s;(s=a.value)==null||s.resize()},200)}function h(){var s;(s=a.value)==null||s.showLoading("default",al)}function g(){var s;(s=a.value)==null||s.hideLoading()}function n(){o&&(o.disconnect(),o=null),f&&(clearTimeout(f),f=null),a.value&&(a.value.dispose(),a.value=void 0),r.value=!1}return e.onMounted(()=>{e.nextTick(()=>{p(),l.isAutoResize!==!1&&t.value&&(o=new ResizeObserver(()=>y()),o.observe(t.value))})}),e.onUnmounted(()=>{n()}),{instance:a,isReady:r,setOption:m,handleResize:y,showLoading:h,hideLoading:g,destroy:n}}const _=e.defineComponent({name:"EeBaseBar",__name:"index",props:{width:{default:"100%"},height:{default:"400px"},xAxisData:{default:()=>[]},seriesData:{default:()=>[]},isStack:{type:Boolean,default:!1},barWidth:{},title:{},legendShow:{type:Boolean,default:!0},tooltipShow:{type:Boolean,default:!0},extraOption:{},isAutoResize:{type:Boolean,default:!0}},setup(t){const l=t,a=e.ref(),{isReady:r,setOption:o,showLoading:f,hideLoading:p}=ne(a,{isAutoResize:l.isAutoResize}),m=e.computed(()=>l.seriesData.map(h=>({name:h.name,type:"bar",data:h.data,barWidth:l.barWidth,stack:l.isStack?"total":h.stack||void 0,itemStyle:h.color?{color:h.color}:void 0}))),y=e.computed(()=>{let h=z({},re);return h=z(h,{tooltip:{show:l.tooltipShow,trigger:"axis"},legend:{show:l.legendShow,data:l.seriesData.map(g=>g.name)},title:l.title?{text:l.title,show:!0}:{show:!1},grid:{top:l.title?70:40},xAxis:{data:l.xAxisData},series:m.value}),l.extraOption&&(h=z(h,l.extraOption)),h});return e.watch(y,h=>{r.value&&o(h,!0)},{deep:!0}),e.onMounted(()=>{e.nextTick(()=>{(l.xAxisData.length>0||l.seriesData.length>0)&&o(y.value,!0)})}),(h,g)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({ref_key:"chartRef",ref:a,style:{width:t.width,height:t.height}},h.$attrs),null,16))}});_.install=t=>{t.component(_.name??"EeBaseBar",_)};const ee=e.defineComponent({name:"EeBaseLine",__name:"index",props:{width:{default:"100%"},height:{default:"400px"},xAxisData:{default:()=>[]},seriesData:{default:()=>[]},isSmooth:{type:Boolean,default:!1},showSymbol:{type:Boolean,default:!0},isArea:{type:Boolean,default:!1},title:{},legendShow:{type:Boolean,default:!0},tooltipShow:{type:Boolean,default:!0},extraOption:{},isAutoResize:{type:Boolean,default:!0}},setup(t){const l=t,a=e.ref(),{isReady:r,setOption:o}=ne(a,{isAutoResize:l.isAutoResize}),f=e.computed(()=>l.seriesData.map(m=>({name:m.name,type:"line",data:m.data,smooth:l.isSmooth,showSymbol:l.showSymbol,symbol:"circle",symbolSize:6,lineStyle:m.color?{color:m.color}:void 0,itemStyle:m.color?{color:m.color}:void 0,areaStyle:l.isArea?{opacity:.15}:void 0}))),p=e.computed(()=>{let m=z({},re);return m=z(m,{tooltip:{show:l.tooltipShow,trigger:"axis"},legend:{show:l.legendShow,data:l.seriesData.map(y=>y.name)},title:l.title?{text:l.title,show:!0}:{show:!1},grid:{top:l.title?70:40},xAxis:{data:l.xAxisData},series:f.value}),l.extraOption&&(m=z(m,l.extraOption)),m});return e.watch(p,m=>{r.value&&o(m,!0)},{deep:!0}),e.onMounted(()=>{e.nextTick(()=>{(l.xAxisData.length>0||l.seriesData.length>0)&&o(p.value,!0)})}),(m,y)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({ref_key:"chartRef",ref:a,style:{width:t.width,height:t.height}},m.$attrs),null,16))}});ee.install=t=>{t.component(ee.name??"EeBaseLine",ee)};const te=e.defineComponent({name:"EeBasePie",__name:"index",props:{width:{default:"100%"},height:{default:"400px"},pieData:{default:()=>[]},isRing:{type:Boolean,default:!1},radius:{},labelShow:{type:Boolean,default:!0},title:{},legendShow:{type:Boolean,default:!0},tooltipShow:{type:Boolean,default:!0},extraOption:{},isAutoResize:{type:Boolean,default:!0}},setup(t){const l=t,a=e.ref(),{isReady:r,setOption:o}=ne(a,{isAutoResize:l.isAutoResize}),f=e.computed(()=>l.radius?l.radius:l.isRing?["40%","60%"]:["0%","60%"]),p=e.computed(()=>{let m=z({},re);return m=z(m,{tooltip:{show:l.tooltipShow,trigger:"item"},legend:{show:l.legendShow,top:"bottom"},title:l.title?{text:l.title,show:!0}:{show:!1},grid:void 0,xAxis:void 0,yAxis:void 0,series:[{type:"pie",radius:f.value,center:["50%","50%"],data:l.pieData,label:{show:l.labelShow},emphasis:{itemStyle:{shadowBlur:10,shadowOffsetX:0,shadowColor:"rgba(0, 0, 0, 0.15)"}}}]}),l.extraOption&&(m=z(m,l.extraOption)),m});return e.watch(p,m=>{r.value&&o(m,!0)},{deep:!0}),e.onMounted(()=>{e.nextTick(()=>{l.pieData.length>0&&o(p.value,!0)})}),(m,y)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({ref_key:"chartRef",ref:a,style:{width:t.width,height:t.height}},m.$attrs),null,16))}});te.install=t=>{t.component(te.name??"EeBasePie",te)};const le=e.defineComponent({name:"EeBaseRadar",__name:"index",props:{width:{default:"100%"},height:{default:"400px"},indicator:{default:()=>[]},seriesData:{default:()=>[]},isFill:{type:Boolean,default:!0},title:{},legendShow:{type:Boolean,default:!0},tooltipShow:{type:Boolean,default:!0},extraOption:{},isAutoResize:{type:Boolean,default:!0}},setup(t){const l=t,a=e.ref(),{isReady:r,setOption:o}=ne(a,{isAutoResize:l.isAutoResize}),f=e.computed(()=>l.seriesData.map(m=>({name:m.name,type:"radar",data:[m.value],symbol:"none",lineStyle:m.color?{color:m.color}:void 0,itemStyle:m.color?{color:m.color}:void 0,areaStyle:l.isFill?{opacity:.15}:void 0}))),p=e.computed(()=>{let m=z({},re);return m=z(m,{tooltip:{show:l.tooltipShow,trigger:"item"},legend:{show:l.legendShow,data:l.seriesData.map(y=>y.name)},title:l.title?{text:l.title,show:!0}:{show:!1},grid:void 0,xAxis:void 0,yAxis:void 0,radar:{indicator:l.indicator,radius:"65%",shape:"polygon",name:{textStyle:{fontSize:12,color:"#606266"}},splitLine:{lineStyle:{color:"#ebeef5"}},splitArea:{areaStyle:{color:["rgba(64,158,255,0.02)","rgba(64,158,255,0.05)"]}},axisLine:{lineStyle:{color:"#dcdfe6"}}},series:f.value}),l.extraOption&&(m=z(m,l.extraOption)),m});return e.watch(p,m=>{r.value&&o(m,!0)},{deep:!0}),e.onMounted(()=>{e.nextTick(()=>{l.indicator.length>0&&l.seriesData.length>0&&o(p.value,!0)})}),(m,y)=>(e.openBlock(),e.createElementBlock("div",e.mergeProps({ref_key:"chartRef",ref:a,style:{width:t.width,height:t.height}},m.$attrs),null,16))}});le.install=t=>{t.component(le.name??"EeBaseRadar",le)};const ol=[_,ee,te,le],rl={formTable:{operation:"Actions",add:"Add",edit:"Edit",delete:"Delete",view:"View",import:"Import",export:"Export",batchDelete:"Batch Delete",refresh:"Refresh",columnSetting:"Columns",search:"Search",reset:"Reset",expand:"Expand",collapse:"Collapse",empty:"No data",confirm:"OK",cancel:"Cancel",close:"Close",confirmDelete:"Confirm Delete",confirmDeleteMsg:"Are you sure you want to delete this item?",confirmBatchDelete:"Confirm Batch Delete",confirmBatchDeleteMsg:"Are you sure you want to delete the selected {count} items?",addTitle:"Add",editTitle:"Edit",viewTitle:"View",addSuccess:"Add successful",editSuccess:"Update successful",deleteSuccess:"Delete successful",batchDeleteSuccess:"Batch delete successful",refreshSuccess:"Refresh successful",exportSuccess:"Export successful",exportFail:"Export failed",requestFailed:"Request failed",deleteFailed:"Delete failed",batchDeleteFailed:"Batch delete failed",installXlsx:"Please install xlsx dependency: npm install xlsx",exportFileName:"export.xlsx",inputPlaceholder:"Please enter {label}",selectPlaceholder:"Please select {label}",dateRangeTo:"to",dateRangeStart:"Start date",dateRangeEnd:"End date"},searchBar:{search:"Search",reset:"Reset",expand:"Expand",collapse:"Collapse",inputPlaceholder:"Please enter {label}",selectPlaceholder:"Please select {label}",dateRangeTo:"to",dateRangeStart:"Start date",dateRangeEnd:"End date"},formDialog:{confirm:"OK",cancel:"Cancel",title:"Form",inputPlaceholder:"Please enter {label}",textareaPlaceholder:"Please enter {label}",selectPlaceholder:"Please select {label}",datePickerPlaceholder:"Please select {label}"},remoteSelect:{loading:"Loading...",noMore:"No more data",loadMore:"Load more",searchPlaceholder:"Please enter keyword",requestFailed:"Request failed",noData:"No data"}};function Te(t,l){if(!t)return l;const a={};for(const r of["formTable","searchBar","formDialog","remoteSelect"])a[r]={...l[r],...t[r]};return a}function nl(t){const{requestInstance:l,detailApiUrl:a,labelField:r="label",valueField:o="value",mode:f="single"}=t,p=l??e.inject(ie);if(!p)throw new Error("[EasyEPUI] 请配置 requestInstance:可通过 app.use(EasyEpUI, { requestInstance }) 全局注入,或通过 props 传入");const m=p;T();const y=e.ref("");function h(s){return typeof s=="number"?!0:typeof s=="string"?/^\d+(\.\d+)?$/.test(s.trim()):!1}async function g(s){try{const b=(await m.get(a,{params:{id:s}})).data,u=(b==null?void 0:b.data)||b;return String(u?u[r]??u[o]??"":s)}catch{return String(s)}}async function n(s){if(s==null||s===""){y.value=f==="multiple"?[]:"";return}if(f==="multiple"&&Array.isArray(s)){if(s.length===0){y.value=[];return}const c=s[0];if(h(c)){const b=await Promise.all(s.map(u=>g(u)));y.value=b}else y.value=s}else{if(f==="multiple"){y.value=[];return}const c=s;h(c)?y.value=await g(c):y.value=String(c)}}return{echoText:y,echoValue:n}}const il={"zh-cn":O,en:rl},ie="eeRequestInstance",ul=[H,j,G,W,Y,X,Q,Z,J,...ol];function Pe(t,l){let a=O;l!=null&&l.locale&&(typeof l.locale=="string"?a=il[l.locale]||O:a=Te(l.locale,O)),t.provide(ye,a),l!=null&&l.requestInstance&&t.provide(ie,l.requestInstance),t.provide("eeGlobalConfig",{size:l==null?void 0:l.size,formTable:l==null?void 0:l.formTable,searchBar:l==null?void 0:l.searchBar,formDialog:l==null?void 0:l.formDialog,dictSelect:l==null?void 0:l.dictSelect,statusTag:l==null?void 0:l.statusTag,remoteSelect:l==null?void 0:l.remoteSelect,deptCascader:l==null?void 0:l.deptCascader,userSelect:l==null?void 0:l.userSelect,roleSelect:l==null?void 0:l.roleSelect}),ul.forEach(r=>{t.use(r)})}const dl={install:Pe};exports.EE_LOCALE_KEY=ye;exports.EE_REQUEST_KEY=ie;exports.EeBaseBar=_;exports.EeBaseLine=ee;exports.EeBasePie=te;exports.EeBaseRadar=le;exports.EeDeptCascader=Q;exports.EeDictSelect=H;exports.EeFormDialog=W;exports.EeFormTable=Y;exports.EeRemoteSelect=X;exports.EeRoleSelect=J;exports.EeSearchBar=G;exports.EeStatusTag=j;exports.EeUserSelect=Z;exports.GLOBAL_CHART_CONFIG=re;exports.deepMerge=z;exports.default=dl;exports.install=Pe;exports.mergeLocale=Te;exports.useChart=ne;exports.useRemoteSelectPagination=ae;exports.useSelectEcho=nl;
package/lib/index.d.ts CHANGED
@@ -1,13 +1,62 @@
1
1
  import { App } from 'vue';
2
+ import { AxiosInstance } from 'axios';
3
+ import { ComponentSize } from './components/ee-form-table/types';
2
4
  import { default as EeDictSelect } from './components/ee-dict-select';
3
5
  import { default as EeStatusTag } from './components/ee-status-tag';
4
6
  import { default as EeSearchBar } from './components/ee-search-bar';
5
7
  import { default as EeFormDialog } from './components/ee-form-dialog';
6
8
  import { default as EeFormTable } from './components/ee-form-table';
9
+ import { default as EeRemoteSelect } from './components/ee-remote-select';
10
+ import { default as EeDeptCascader } from './components/ee-dept-cascader';
11
+ import { default as EeUserSelect } from './components/ee-user-select';
12
+ import { default as EeRoleSelect } from './components/ee-role-select';
13
+ import { EeBaseBar, EeBaseLine, EeBasePie, EeBaseRadar } from './charts';
14
+ import { Locale } from './locale';
15
+ export type { Locale };
16
+ /** 全局 requestInstance 注入 key,组件通过 inject 获取 */
17
+ export declare const EE_REQUEST_KEY = "eeRequestInstance";
18
+ /** Easy EP UI 全局配置选项 */
19
+ export interface EasyEpUIOptions {
20
+ /** 全局 axios 请求实例,所有选择组件共享,组件内通过 inject 获取 */
21
+ requestInstance?: AxiosInstance;
22
+ size?: ComponentSize;
23
+ locale?: string | Partial<Locale>;
24
+ formTable?: Record<string, unknown>;
25
+ searchBar?: Record<string, unknown>;
26
+ formDialog?: Record<string, unknown>;
27
+ dictSelect?: Record<string, unknown>;
28
+ statusTag?: Record<string, unknown>;
29
+ remoteSelect?: Record<string, unknown>;
30
+ deptCascader?: Record<string, unknown>;
31
+ userSelect?: Record<string, unknown>;
32
+ roleSelect?: Record<string, unknown>;
33
+ /** 图表组件全局默认配置覆盖 */
34
+ baseChart?: Record<string, unknown>;
35
+ }
7
36
  export type { DictOption, SearchField, TableColumn, FormField, Pagination, StatusMapping } from './utils/types';
8
- export declare function install(app: App): void;
37
+ export type { ColumnSearchItem, SearchConfig, PaginationConfig, ActionConfig, ActionButton, ToolbarConfig, ToolbarButton, CrudConfig, CrudApi, SelectionConfig, ExportConfig, DrawerConfig, ColumnSettingConfig, AutoHeightConfig, } from './components/ee-form-table/types';
38
+ export type { EeFormTableProps } from './components/ee-form-table/types';
39
+ /**
40
+ * 全局注册 Easy EP UI 组件和配置
41
+ *
42
+ * @param app - Vue 应用实例
43
+ * @param options - 全局配置(locale / requestInstance / size / per-component 配置)
44
+ */
45
+ export declare function install(app: App, options?: EasyEpUIOptions): void;
9
46
  declare const EasyEpUI: {
10
47
  install: typeof install;
11
48
  };
12
49
  export default EasyEpUI;
13
- export { EeDictSelect, EeStatusTag, EeSearchBar, EeFormDialog, EeFormTable, };
50
+ export { EeDictSelect, EeStatusTag, EeSearchBar, EeFormDialog, EeFormTable, EeRemoteSelect, EeDeptCascader, EeUserSelect, EeRoleSelect, EeBaseBar, EeBaseLine, EeBasePie, EeBaseRadar, };
51
+ export { GLOBAL_CHART_CONFIG, deepMerge } from './charts/config';
52
+ export { useChart } from './charts/useChart';
53
+ export { EE_LOCALE_KEY } from './locale/useLocale';
54
+ export { mergeLocale } from './locale';
55
+ export { useRemoteSelectPagination, useSelectEcho } from './hooks';
56
+ export type { RemotePaginationOption, RemoteSelectOption } from './hooks';
57
+ export type { EchoOption } from './hooks';
58
+ export type { EeRemoteSelectProps, EeRemoteSelectEmits } from './components/ee-remote-select/type';
59
+ export type { EeDictSelectProps, EeDictSelectEmits } from './components/ee-dict-select/type';
60
+ export type { EeDeptCascaderProps, EeDeptCascaderEmits } from './components/ee-dept-cascader/type';
61
+ export type { EeUserSelectProps, EeUserSelectEmits } from './components/ee-user-select/type';
62
+ export type { EeRoleSelectProps, EeRoleSelectEmits } from './components/ee-role-select/type';
@@ -0,0 +1,3 @@
1
+ import { Locale } from '.';
2
+ declare const en: Locale;
3
+ export default en;
@@ -0,0 +1,86 @@
1
+ /**
2
+ * 国际化语言包类型定义和合并工具
3
+ *
4
+ * 所有组件 UI 字符串集中管理,支持中文(zh-cn)和英文(en)两种内置语言,
5
+ * 可自定义/覆盖部分文字。
6
+ */
7
+ export interface Locale {
8
+ formTable: {
9
+ operation: string;
10
+ add: string;
11
+ edit: string;
12
+ delete: string;
13
+ view: string;
14
+ import: string;
15
+ export: string;
16
+ batchDelete: string;
17
+ refresh: string;
18
+ columnSetting: string;
19
+ search: string;
20
+ reset: string;
21
+ expand: string;
22
+ collapse: string;
23
+ empty: string;
24
+ confirm: string;
25
+ cancel: string;
26
+ close: string;
27
+ confirmDelete: string;
28
+ confirmDeleteMsg: string;
29
+ confirmBatchDelete: string;
30
+ confirmBatchDeleteMsg: string;
31
+ addTitle: string;
32
+ editTitle: string;
33
+ viewTitle: string;
34
+ addSuccess: string;
35
+ editSuccess: string;
36
+ deleteSuccess: string;
37
+ batchDeleteSuccess: string;
38
+ refreshSuccess: string;
39
+ exportSuccess: string;
40
+ exportFail: string;
41
+ requestFailed: string;
42
+ deleteFailed: string;
43
+ batchDeleteFailed: string;
44
+ installXlsx: string;
45
+ exportFileName: string;
46
+ inputPlaceholder: string;
47
+ selectPlaceholder: string;
48
+ dateRangeTo: string;
49
+ dateRangeStart: string;
50
+ dateRangeEnd: string;
51
+ };
52
+ searchBar: {
53
+ search: string;
54
+ reset: string;
55
+ expand: string;
56
+ collapse: string;
57
+ inputPlaceholder: string;
58
+ selectPlaceholder: string;
59
+ dateRangeTo: string;
60
+ dateRangeStart: string;
61
+ dateRangeEnd: string;
62
+ };
63
+ formDialog: {
64
+ confirm: string;
65
+ cancel: string;
66
+ title: string;
67
+ inputPlaceholder: string;
68
+ textareaPlaceholder: string;
69
+ selectPlaceholder: string;
70
+ datePickerPlaceholder: string;
71
+ };
72
+ remoteSelect: {
73
+ loading: string;
74
+ noMore: string;
75
+ loadMore: string;
76
+ searchPlaceholder: string;
77
+ requestFailed: string;
78
+ noData: string;
79
+ };
80
+ }
81
+ export { default as zhCn } from './zh-cn';
82
+ export { default as en } from './en';
83
+ /**
84
+ * 浅合并 locale 对象,目标字段为 undefined 时使用默认值
85
+ */
86
+ export declare function mergeLocale(target: Partial<Locale> | undefined, fallback: Locale): Locale;
@@ -0,0 +1,13 @@
1
+ import { Locale } from '.';
2
+ /** 全局 locale 的注入 key */
3
+ export declare const EE_LOCALE_KEY = "eeLocale";
4
+ /**
5
+ * 获取当前 locale 上下文
6
+ *
7
+ * 组件中可通过 useLocale() 获取 t 函数和当前语言包对象。
8
+ * t(key) 支持 {placeholder} 模板变量替换。
9
+ */
10
+ export declare function useLocale(): {
11
+ locale: Locale;
12
+ t: (section: string, key: string, args?: Record<string, string | number>) => string;
13
+ };
@@ -0,0 +1,3 @@
1
+ import { Locale } from '.';
2
+ declare const zhCn: Locale;
3
+ export default zhCn;
package/lib/style.css CHANGED
@@ -1 +1 @@
1
- .ee-search-bar[data-v-64bb08e9]{margin-bottom:16px}.ee-search-bar .el-form-item[data-v-64bb08e9]{margin-bottom:0}.ee-form-dialog-footer[data-v-0307e8cf]{display:flex;justify-content:flex-end;gap:12px}.ee-form-table-toolbar[data-v-70d01eeb]{margin-bottom:16px;display:flex;align-items:center;gap:12px}.ee-form-table-pagination[data-v-70d01eeb]{margin-top:16px;display:flex;justify-content:flex-end}
1
+ .ee-search-bar[data-v-fe481020]{margin-bottom:16px}.ee-search-bar .el-form-item[data-v-fe481020]{margin-bottom:0}.ee-form-dialog-footer[data-v-929d8568]{display:flex;justify-content:flex-end;gap:12px}.ee-form-table{display:flex;flex-direction:column;height:100%;background:#fff;border-radius:4px}.ee-search-area{padding:16px 16px 0;border-bottom:1px solid #ebeef5}.ee-search-area .el-form-item{margin-bottom:16px}.ee-toolbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;flex-shrink:0}.ee-toolbar-left{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.ee-toolbar-right{display:flex;align-items:center;gap:8px}.ee-table-wrapper{flex:1;overflow:auto;padding:0 16px}.ee-table-wrapper .el-table{width:100%}.ee-pagination{display:flex;justify-content:flex-end;padding:12px 16px;border-top:1px solid #ebeef5;flex-shrink:0}.ee-size--small{font-size:13px}.ee-size--large{font-size:16px}.ee-load-more[data-v-21c5d143],.ee-no-more[data-v-21c5d143]{display:flex;align-items:center;justify-content:center;padding:8px 0;font-size:12px;color:#999;cursor:pointer}.ee-load-more[data-v-21c5d143]:hover{color:#409eff}.ee-loading-tip[data-v-21c5d143]{display:flex;align-items:center;justify-content:center;padding:8px 0;font-size:12px;color:#999}.ee-load-more[data-v-6e78b80d],.ee-no-more[data-v-6e78b80d]{display:flex;align-items:center;justify-content:center;padding:8px 0;font-size:12px;color:#999;cursor:pointer}.ee-load-more[data-v-6e78b80d]:hover{color:#409eff}.ee-loading-tip[data-v-6e78b80d]{display:flex;align-items:center;justify-content:center;padding:8px 0;font-size:12px;color:#999}.ee-load-more[data-v-58cd12c9],.ee-no-more[data-v-58cd12c9]{display:flex;align-items:center;justify-content:center;padding:8px 0;font-size:12px;color:#999;cursor:pointer}.ee-load-more[data-v-58cd12c9]:hover{color:#409eff}.ee-loading-tip[data-v-58cd12c9]{display:flex;align-items:center;justify-content:center;padding:8px 0;font-size:12px;color:#999}