xt-element-ui 1.2.3 → 1.2.5

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 (51) hide show
  1. package/docs/README.md +201 -0
  2. package/docs/components/base/xt-button.md +114 -0
  3. package/docs/components/base/xt-card-item.md +104 -0
  4. package/docs/components/base/xt-card.md +108 -0
  5. package/docs/components/base/xt-config-provider.md +199 -0
  6. package/docs/components/base/xt-flex-box.md +115 -0
  7. package/docs/components/base/xt-grid-box.md +303 -0
  8. package/docs/components/base/xt-input.md +150 -0
  9. package/docs/components/base/xt-text.md +212 -0
  10. package/docs/components/extend/ex-bar.md +68 -0
  11. package/docs/components/extend/ex-button.md +62 -0
  12. package/docs/components/extend/ex-card.md +86 -0
  13. package/docs/components/extend/ex-chart.md +355 -0
  14. package/docs/components/extend/ex-icon.md +190 -0
  15. package/docs/components/extend/ex-line.md +71 -0
  16. package/docs/components/extend/ex-multi.md +156 -0
  17. package/docs/components/extend/ex-page.md +75 -0
  18. package/docs/components/extend/ex-pie.md +70 -0
  19. package/docs/components/extend/ex-select-tree.md +210 -0
  20. package/docs/components/extend/ex-table.md +591 -0
  21. package/docs/components/extend/ex-upload.md +134 -0
  22. package/docs/components/utils/size.md +148 -0
  23. package/docs/components/utils/theme.md +183 -0
  24. package/lib/index.common.js +449 -429
  25. package/lib/index.css +1 -1
  26. package/lib/index.umd.js +449 -429
  27. package/lib/index.umd.min.js +4 -4
  28. package/package.json +4 -2
  29. package/src/components/ex-chart/ExMulti.vue +44 -32
  30. package/src/components/ex-chart/ExPie.vue +6 -8
  31. package/src/components/ex-chart/index.vue +1 -4
  32. package/src/components/ex-chart/theme/dark.js +14 -12
  33. package/src/components/ex-chart/utils.js +1 -1
  34. package/src/components/ex-icon/index.js +2 -0
  35. package/src/components/ex-icon/index.vue +168 -0
  36. package/src/components/ex-icon/style/index.scss +7 -0
  37. package/src/components/ex-table/index.vue +3 -3
  38. package/src/components/index.scss +4 -1
  39. package/src/components/xt-button/index.vue +2 -2
  40. package/src/components/xt-button/style/index.scss +524 -614
  41. package/src/components/xt-card-item/images/bar.svg +1 -0
  42. package/src/components/xt-card-item/images/line.svg +1 -0
  43. package/src/components/xt-card-item/images/pie.svg +1 -0
  44. package/src/components/xt-card-item/index copy.vue +93 -0
  45. package/src/components/xt-card-item/index.vue +23 -83
  46. package/src/components/xt-card-item/style/index copy.scss +72 -0
  47. package/src/components/xt-card-item/style/index.scss +51 -40
  48. package/src/components/xt-config-provider/index.vue +2 -2
  49. package/src/components/xt-text/index.vue +58 -29
  50. package/src/index.js +3 -0
  51. package/src/components/ex-chart/ExTrend.vue +0 -124
@@ -0,0 +1,156 @@
1
+ ## ExMulti - 组合图组件
2
+
3
+ 基于 ECharts 封装的组合图组件,支持多系列数据展示。
4
+
5
+ ## 基本用法
6
+
7
+ ::: demo 组合图基础示例
8
+ ```vue
9
+ <template>
10
+ <ExChart type="multi" :chartData="chartData" style="height: 400px;" />
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ data() {
16
+ return {
17
+ chartData: [
18
+ {
19
+ label: "入户数",
20
+ unit: "户",
21
+ data: [
22
+ { label: "01月", value: 980 },
23
+ { label: "02月", value: 806 },
24
+ { label: "03月", value: 930 },
25
+ { label: "04月", value: 804 },
26
+ { label: "05月", value: 750 },
27
+ { label: "06月", value: 660 },
28
+ { label: "07月", value: 780 },
29
+ { label: "08月", value: 630 },
30
+ { label: "09月", value: 806 },
31
+ { label: "10月", value: 950 },
32
+ { label: "11月", value: 810 },
33
+ { label: "12月", value: 703 }
34
+ ]
35
+ },
36
+ {
37
+ label: "隐患数",
38
+ unit: "个",
39
+ data: [
40
+ { label: "01月", value: 200 },
41
+ { label: "02月", value: 120 },
42
+ { label: "03月", value: 110 },
43
+ { label: "04月", value: 109 },
44
+ { label: "05月", value: 108 },
45
+ { label: "06月", value: 150 },
46
+ { label: "07月", value: 126 },
47
+ { label: "08月", value: 130 },
48
+ { label: "09月", value: 108 },
49
+ { label: "10月", value: 109 },
50
+ { label: "11月", value: 140 },
51
+ { label: "12月", value: 106 }
52
+ ]
53
+ },
54
+ {
55
+ label: "整改数",
56
+ unit: "个",
57
+ data: [
58
+ { label: "01月", value: 25 },
59
+ { label: "02月", value: 19 },
60
+ { label: "03月", value: 34 },
61
+ { label: "04月", value: 12 },
62
+ { label: "05月", value: 16 },
63
+ { label: "06月", value: 20 },
64
+ { label: "07月", value: 19 },
65
+ { label: "08月", value: 18 },
66
+ { label: "09月", value: 14 },
67
+ { label: "10月", value: 12 },
68
+ { label: "11月", value: 11 },
69
+ { label: "12月", value: 16 }
70
+ ]
71
+ }
72
+ ]
73
+ }
74
+ }
75
+ }
76
+ </script>
77
+ ```
78
+ :::
79
+
80
+ ## 三系列组合
81
+
82
+ ::: demo 三系列组合图示例
83
+ ```vue
84
+ <template>
85
+ <ExChart type="multi" :chartData="chartData" style="height: 400px;" />
86
+ </template>
87
+
88
+ <script>
89
+ export default {
90
+ data() {
91
+ return {
92
+ chartData: [
93
+ {
94
+ label: "收入",
95
+ data: [
96
+ { label: "Q1", value: 1200 },
97
+ { label: "Q2", value: 1500 },
98
+ { label: "Q3", value: 1800 },
99
+ { label: "Q4", value: 2200 }
100
+ ]
101
+ },
102
+ {
103
+ label: "支出",
104
+ data: [
105
+ { label: "Q1", value: 800 },
106
+ { label: "Q2", value: 950 },
107
+ { label: "Q3", value: 1100 },
108
+ { label: "Q4", value: 1250 }
109
+ ]
110
+ },
111
+ {
112
+ label: "利润",
113
+ data: [
114
+ { label: "Q1", value: 400 },
115
+ { label: "Q2", value: 550 },
116
+ { label: "Q3", value: 700 },
117
+ { label: "Q4", value: 950 }
118
+ ]
119
+ }
120
+ ]
121
+ }
122
+ }
123
+ }
124
+ </script>
125
+ ```
126
+ :::
127
+
128
+ ## 属性说明
129
+
130
+ | 属性 | 类型 | 默认值 | 说明 |
131
+ |------|------|--------|------|
132
+ | `chartData` | Array | [] | 图表数据,支持多个系列 |
133
+ | `theme` | String | '' | 主题名称 |
134
+ | `size` | String | 'medium' | 尺寸 |
135
+
136
+ ## 数据格式
137
+
138
+ ```javascript
139
+ [
140
+ {
141
+ label: "系列名称1",
142
+ data: [
143
+ { label: "分类1", value: 数值 },
144
+ { label: "分类2", value: 数值 },
145
+ // ...
146
+ ]
147
+ },
148
+ {
149
+ label: "系列名称2",
150
+ data: [
151
+ { label: "分类1", value: 数值 },
152
+ // ...
153
+ ]
154
+ }
155
+ ]
156
+ ```
@@ -0,0 +1,75 @@
1
+ ## ExPage 页面布局组件文档
2
+
3
+ ### 组件说明
4
+
5
+ ExPage 是基于 Element UI el-container 封装的通用页面布局组件,内置头部、侧边栏、主体、底部插槽,自动计算主体区域高度并向外透传,常用于页面表格、内容区自适应高度场景,支持窗口大小变化实时重算高度。
6
+
7
+ ### 基本信息
8
+
9
+ . 组件名称:ExPage
10
+
11
+ . 依赖:Element UI
12
+
13
+ . 适用场景:后台管理系统标准页面布局、表格页面自适应高度、带侧边栏 / 头部 / 底部的组合页面
14
+
15
+
16
+
17
+
18
+ ## 基础用法
19
+
20
+ ::: demo 按钮基础示例
21
+ ```vue
22
+ <template>
23
+ <div>
24
+ <ex-button>默认按钮</ex-button>
25
+ <ex-button type="primary">主要按钮</ex-button>
26
+ <ex-button type="success">成功按钮</ex-button>
27
+ </div>
28
+ </template>
29
+ ```
30
+ :::
31
+
32
+ ## 字体大小
33
+
34
+ 支持三种尺寸:`small`、`medium`、`large`
35
+
36
+ ::: demo 按钮字体大小示例
37
+ ```vue
38
+ <template>
39
+ <div>
40
+ <ex-button size="mini">迷你按钮</ex-button>
41
+ <ex-button size="small">小按钮</ex-button>
42
+ <ex-button size="medium">中按钮</ex-button>
43
+ <ex-button size="large">大按钮</ex-button>
44
+ </div>
45
+ </template>
46
+ ```
47
+ :::
48
+
49
+ ## 继承 ConfigProvider 配置
50
+
51
+ 当 ExButton 被包裹在 XtConfigProvider 中时,会自动继承字体大小配置:
52
+
53
+ ::: demo 按钮继承字体大小示例
54
+ ```vue
55
+ <template>
56
+ <xt-config-provider size="large">
57
+ <ex-button>自动继承大字体</ex-button>
58
+ </xt-config-provider>
59
+ </template>
60
+ ```
61
+ :::
62
+
63
+ ## Attributes
64
+
65
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
66
+ |------|------|------|--------|--------|
67
+ | type | 按钮类型 | string | primary/success/warning/danger | — |
68
+ | size | 按钮尺寸 | string | small/medium/large | — |
69
+ | throttle | 点击节流时间 (ms) | number | — | 0 |
70
+
71
+ ## Events
72
+
73
+ | 事件名 | 说明 | 回调参数 |
74
+ |--------|------|----------|
75
+ | click | 点击按钮时触发 | — |
@@ -0,0 +1,70 @@
1
+ ## ExPie - 饼图组件
2
+
3
+ 基于 ECharts 封装的饼图组件。
4
+
5
+ ## 基本用法
6
+
7
+ ::: demo 饼图基础示例
8
+ ```vue
9
+ <template>
10
+ <ExChart type="pie" :chartData="chartData" style="height: 400px;" />
11
+ </template>
12
+
13
+ <script>
14
+ export default {
15
+ data() {
16
+ return {
17
+ chartData: [
18
+ { name: '苹果', value: 35 },
19
+ { name: '香蕉', value: 25 },
20
+ { name: '橙子', value: 20 },
21
+ { name: '葡萄', value: 15 },
22
+ { name: '其他', value: 5 }
23
+ ]
24
+ }
25
+ }
26
+ }
27
+ </script>
28
+ ```
29
+ :::
30
+
31
+ ## 玫瑰图
32
+
33
+ ::: demo 玫瑰图示例
34
+ ```vue
35
+ <template>
36
+ <ExChart type="pie" :chartData="chartData" roseType="area" style="height: 400px;" />
37
+ </template>
38
+
39
+ <script>
40
+ export default {
41
+ data() {
42
+ return {
43
+ chartData: [
44
+ { name: '手机端', value: 4520 },
45
+ { name: 'PC端', value: 3280 },
46
+ { name: '平板端', value: 1250 },
47
+ { name: '小程序', value: 2150 },
48
+ { name: 'H5页面', value: 1800 }
49
+ ]
50
+ }
51
+ }
52
+ }
53
+ </script>
54
+ ```
55
+ :::
56
+
57
+ ## 属性说明
58
+
59
+ | 属性 | 类型 | 默认值 | 说明 |
60
+ |------|------|--------|------|
61
+ | `chartData` | Array | [] | 图表数据 |
62
+ | `theme` | String | '' | 主题名称 |
63
+ | `size` | String | 'medium' | 尺寸 |
64
+ | `colors` | Array | [] | 自定义颜色数组 |
65
+ | `unit` | String | '' | 数值单位 |
66
+ | `showLegend` | Boolean | true | 是否显示图例 |
67
+ | `showLabel` | Boolean | true | 是否显示标签 |
68
+ | `chartMode` | String | 'dark' | 图表模式 |
69
+ | `roseType` | String | '' | 玫瑰图类型 |
70
+ | `totalLabel` | String | '总数' | 总数标签文本 |
@@ -0,0 +1,210 @@
1
+ ## ExSelectTree 树形下拉选择
2
+
3
+ 将 ElementUI 的 `el-tree` 与 `el-select` 结合,支持单选/多选、搜索过滤、树形层级展开等功能。
4
+
5
+ ## 基础用法
6
+
7
+ 最基础的单选用法:
8
+
9
+ ::: demo 树形选择基础示例
10
+ ```vue
11
+ <template>
12
+ <ex-select-tree
13
+ v-model="value"
14
+ :data="treeData"
15
+ placeholder="请选择部门"
16
+ />
17
+ </template>
18
+
19
+ <script>
20
+ export default {
21
+ data() {
22
+ return {
23
+ value: '',
24
+ treeData: [
25
+ {
26
+ value: 1, label: '研发部',
27
+ children: [
28
+ { value: 11, label: '前端组' },
29
+ { value: 12, label: '后端组' }
30
+ ]
31
+ },
32
+ { value: 2, label: '市场部' },
33
+ { value: 3, label: '运营部' }
34
+ ]
35
+ }
36
+ }
37
+ }
38
+ </script>
39
+ ```
40
+ :::
41
+
42
+ ## 多选模式
43
+
44
+ 设置 `multiple` 属性开启多选,选中项以英文逗号分隔显示:
45
+
46
+ ::: demo 树形选择多选示例
47
+ ```vue
48
+ <template>
49
+ <ex-select-tree
50
+ v-model="value"
51
+ :data="treeData"
52
+ multiple
53
+ placeholder="请选择部门"
54
+ />
55
+ </template>
56
+
57
+ <script>
58
+ export default {
59
+ data() {
60
+ return {
61
+ value: [],
62
+ treeData: [
63
+ { value: 1, label: '研发部', children: [
64
+ { value: 11, label: '前端组' },
65
+ { value: 12, label: '后端组' }
66
+ ]},
67
+ { value: 2, label: '市场部' },
68
+ { value: 3, label: '运营部' }
69
+ ]
70
+ }
71
+ }
72
+ }
73
+ </script>
74
+ ```
75
+ :::
76
+
77
+ ## 自定义节点字段
78
+
79
+ 通过 `props` 属性可自定义节点字段映射:
80
+
81
+ ::: demo 树形选择自定义字段
82
+ ```vue
83
+ <template>
84
+ <ex-select-tree
85
+ v-model="value"
86
+ :data="treeData"
87
+ :props="{ value: 'id', label: 'name', children: 'sub' }"
88
+ placeholder="请选择"
89
+ />
90
+ </template>
91
+
92
+ <script>
93
+ export default {
94
+ data() {
95
+ return {
96
+ value: '',
97
+ treeData: [
98
+ { id: 1, name: '选项一', sub: [
99
+ { id: 11, name: '子选项一' },
100
+ { id: 12, name: '子选项二' }
101
+ ]},
102
+ { id: 2, name: '选项二' }
103
+ ]
104
+ }
105
+ }
106
+ }
107
+ </script>
108
+ ```
109
+ :::
110
+
111
+ ## 仅叶子节点可选
112
+
113
+ 设置 `checkLeafOnly` 使多选模式下仅叶子节点会被纳入结果:
114
+
115
+ ::: demo 仅叶子可选
116
+ ```vue
117
+ <template>
118
+ <ex-select-tree
119
+ v-model="value"
120
+ :data="treeData"
121
+ multiple
122
+ check-leaf-only
123
+ placeholder="请选择"
124
+ />
125
+ </template>
126
+
127
+ <script>
128
+ export default {
129
+ data() {
130
+ return {
131
+ value: [],
132
+ treeData: [
133
+ { value: 1, label: '总部', children: [
134
+ { value: 11, label: '上海' },
135
+ { value: 12, label: '北京' }
136
+ ]},
137
+ { value: 2, label: '分部', children: [
138
+ { value: 21, label: '广州' }
139
+ ]}
140
+ ]
141
+ }
142
+ }
143
+ }
144
+ </script>
145
+ ```
146
+ :::
147
+
148
+ ## 可清空与禁用
149
+
150
+ 支持 `clearable` 与 `disabled` 属性:
151
+
152
+ ::: demo 可清空与禁用示例
153
+ ```vue
154
+ <template>
155
+ <div>
156
+ <ex-select-tree v-model="v1" :data="data" clearable placeholder="可清空" />
157
+ <ex-select-tree v-model="v2" :data="data" disabled placeholder="已禁用" style="margin-left: 20px" />
158
+ </div>
159
+ </template>
160
+
161
+ <script>
162
+ export default {
163
+ data() {
164
+ return {
165
+ v1: '',
166
+ v2: '',
167
+ data: [
168
+ { value: 1, label: '选项一' },
169
+ { value: 2, label: '选项二' }
170
+ ]
171
+ }
172
+ }
173
+ }
174
+ </script>
175
+ ```
176
+ :::
177
+
178
+ ## Attributes
179
+
180
+ | 参数 | 说明 | 类型 | 可选值 | 默认值 |
181
+ |------|------|------|--------|--------|
182
+ | data | 树形数据 | array | — | [] |
183
+ | props | 节点字段配置 | object | — | {value:'value', label:'label', children:'children', disabled:'disabled', isLeaf:'isLeaf'} |
184
+ | multiple | 是否多选 | boolean | — | false |
185
+ | clearable | 是否可清空 | boolean | — | false |
186
+ | disabled | 是否禁用 | boolean | — | false |
187
+ | filterable | 是否可搜索过滤 | boolean | — | true |
188
+ | check-strictly | 是否父子节点不联动 | boolean | — | false |
189
+ | check-leaf-only | 多选时是否仅返回叶子节点 | boolean | — | false |
190
+ | include-half-checked | 多选时是否包含半选节点 | boolean | — | false |
191
+ | default-expand-all | 是否默认展开所有节点 | boolean | — | false |
192
+ | lazy | 是否懒加载子节点 | boolean | — | false |
193
+ | load | 懒加载加载函数 | function | — | — |
194
+ | placeholder | 占位符 | string | — | 请选择 |
195
+ | size | 输入框尺寸 | string | medium/small/mini | — |
196
+ | placement | 弹出位置 | string | top/top-start/top-end/bottom/bottom-start/bottom-end | bottom-start |
197
+ | popover-width | 弹出层宽度(px) | number | — | — |
198
+ | node-key | 节点唯一标识 | string | — | value |
199
+ | highlight-current | 是否高亮当前选中节点 | boolean | — | true |
200
+ | indent | 相邻级节点间的水平缩进(px) | number | — | — |
201
+ | accordion | 是否每次只打开一个同级树节点 | boolean | — | false |
202
+
203
+ ## Events
204
+
205
+ | 事件名 | 说明 | 回调参数 |
206
+ |--------|------|----------|
207
+ | change | 值改变时触发 | (value, node) |
208
+ | clear | 清空时触发 | — |
209
+ | focus | 获得焦点 | — |
210
+ | blur | 失去焦点 | — |