xt-element-ui 1.4.0 → 2.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +37 -20
- package/README.md +39 -35
- package/docs/README.md +25 -15
- package/docs/components/base/xt-badge.md +139 -0
- package/docs/components/base/xt-bar.md +182 -0
- package/docs/components/base/xt-chart.md +183 -0
- package/docs/components/base/xt-date-picker.md +111 -0
- package/docs/components/base/xt-icon.md +154 -0
- package/docs/components/base/xt-line.md +145 -0
- package/docs/components/base/xt-multi.md +278 -0
- package/docs/components/base/xt-page.md +84 -0
- package/docs/components/base/xt-pie.md +175 -0
- package/docs/components/base/xt-progress.md +134 -0
- package/docs/components/base/xt-select-tree.md +141 -0
- package/docs/components/base/xt-table.md +344 -0
- package/docs/components/base/xt-tabs.md +197 -0
- package/docs/components/base/xt-upload.md +85 -0
- package/lib/index.common.js +479 -821
- package/lib/index.css +1 -1
- package/lib/index.umd.js +484 -827
- package/lib/index.umd.min.js +5 -5
- package/package.json +1 -1
- package/src/components/index.scss +2 -8
- package/src/components/xt-button/index.js +8 -8
- package/src/components/xt-button/index.vue +43 -73
- package/src/components/xt-button/style/index.scss +51 -787
- package/src/components/xt-card/index.js +7 -8
- package/src/components/xt-card/index.vue +61 -21
- package/src/components/xt-card/style/index.scss +56 -32
- package/src/components/xt-card-item/index.vue +3 -3
- package/src/components/xt-chart/index.js +8 -0
- package/src/components/{ex-chart → xt-chart}/index.vue +13 -13
- package/src/components/{ex-chart → xt-chart}/pieList.vue +1 -1
- package/src/components/{ex-chart → xt-chart}/utils.js +1 -1
- package/src/components/xt-config-provider/index.vue +1 -1
- package/src/components/xt-date-picker/index.js +8 -0
- package/src/components/{ex-date-picker → xt-date-picker}/index.vue +1 -1
- package/src/components/xt-icon/index.js +8 -0
- package/src/components/{ex-icon → xt-icon}/index.vue +4 -4
- package/src/components/xt-layout/ExFieldset.vue +1 -1
- package/src/components/xt-page/index.js +8 -0
- package/src/components/{ex-page → xt-page}/index.vue +1 -1
- package/src/components/xt-select-tree/index.js +8 -0
- package/src/components/{ex-select-tree → xt-select-tree}/index.vue +1 -1
- package/src/components/{ex-table/ExTableCell.vue → xt-table/XtTableCell.vue} +1 -1
- package/src/components/xt-table/index.js +8 -0
- package/src/components/{ex-table → xt-table}/index.vue +6 -6
- package/src/components/xt-upload/index.js +8 -0
- package/src/index.js +15 -29
- package/src/utils/index.js +1 -1
- package/docs/components/extend/ex-bar.md +0 -68
- package/docs/components/extend/ex-button.md +0 -62
- package/docs/components/extend/ex-card.md +0 -86
- package/docs/components/extend/ex-chart.md +0 -463
- package/docs/components/extend/ex-date-picker.md +0 -0
- package/docs/components/extend/ex-icon.md +0 -189
- package/docs/components/extend/ex-line.md +0 -71
- package/docs/components/extend/ex-multi.md +0 -156
- package/docs/components/extend/ex-page.md +0 -0
- package/docs/components/extend/ex-pie.md +0 -70
- package/docs/components/extend/ex-select-tree.md +0 -210
- package/docs/components/extend/ex-table.md +0 -591
- package/docs/components/extend/ex-upload.md +0 -134
- package/src/components/ex-button/index.js +0 -8
- package/src/components/ex-button/index.vue +0 -67
- package/src/components/ex-button/style/index.scss +0 -67
- package/src/components/ex-card/index.js +0 -7
- package/src/components/ex-card/index.vue +0 -68
- package/src/components/ex-card/style/index.scss +0 -73
- package/src/components/ex-chart/index.js +0 -8
- package/src/components/ex-date-picker/index.js +0 -8
- package/src/components/ex-icon/index.js +0 -8
- package/src/components/ex-page/index.js +0 -8
- package/src/components/ex-select-tree/index.js +0 -8
- package/src/components/ex-table/index.js +0 -8
- package/src/components/ex-upload/index.js +0 -8
- package/src/config/element-registry.js +0 -136
- /package/src/components/{ex-chart/ExBar.vue → xt-chart/XtBar.vue} +0 -0
- /package/src/components/{ex-chart/ExLine.vue → xt-chart/XtLine.vue} +0 -0
- /package/src/components/{ex-chart/ExMulti.vue → xt-chart/XtMulti.vue} +0 -0
- /package/src/components/{ex-chart/ExPie.vue → xt-chart/XtPie.vue} +0 -0
- /package/src/components/{ex-chart → xt-chart}/theme/dark.js +0 -0
- /package/src/components/{ex-chart → xt-chart}/theme/white.js +0 -0
- /package/src/components/{ex-date-picker → xt-date-picker}/SearchDate.vue +0 -0
- /package/src/components/{ex-date-picker → xt-date-picker}/quarter.vue +0 -0
- /package/src/components/{ex-icon → xt-icon}/style/index.scss +0 -0
- /package/src/components/{ex-table → xt-table}/VirtualElTable.vue +0 -0
- /package/src/components/{ex-table → xt-table}/virtualScrollData.js +0 -0
- /package/src/components/{ex-upload → xt-upload}/index.vue +0 -0
- /package/src/components/{ex-upload → xt-upload}/preview.vue +0 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
## XtMulti 组合图组件
|
|
2
|
+
|
|
3
|
+
基于 ECharts 封装的组合图组件,支持多系列数据展示,自动根据单位分组使用不同 Y 轴。
|
|
4
|
+
|
|
5
|
+
## 基本用法
|
|
6
|
+
|
|
7
|
+
::: demo 基本用法
|
|
8
|
+
```vue
|
|
9
|
+
<template>
|
|
10
|
+
<XtMulti :chart-data="chartData" />
|
|
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
|
+
]
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
label: "隐患数",
|
|
29
|
+
unit: "个",
|
|
30
|
+
data: [
|
|
31
|
+
{ label: "01月", value: 200 },
|
|
32
|
+
{ label: "02月", value: 120 },
|
|
33
|
+
{ label: "03月", value: 110 }
|
|
34
|
+
]
|
|
35
|
+
}
|
|
36
|
+
]
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
</script>
|
|
41
|
+
```
|
|
42
|
+
:::
|
|
43
|
+
|
|
44
|
+
## 属性说明
|
|
45
|
+
|
|
46
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
47
|
+
|------|------|--------|------|
|
|
48
|
+
| `chartData` | Array | - | 图表数据,格式详见下方示例 |
|
|
49
|
+
| `fieldKeys` | Object | `{ label: "label", value: "value", data: "data" }` | 字段映射配置 |
|
|
50
|
+
| `theme` | String | - | 主题,`dark` 或 `default` |
|
|
51
|
+
| `size` | String | `medium` | 尺寸,`small` / `medium` / `large` |
|
|
52
|
+
| `colors` | Array | `[]` | 自定义颜色数组 |
|
|
53
|
+
| `simpleMode` | Boolean | `false` | 是否启用极简模式 |
|
|
54
|
+
| `highlightKey` | String | - | 高亮系列的 label |
|
|
55
|
+
| `config` | Object | - | 配置对象 |
|
|
56
|
+
|
|
57
|
+
## config 配置说明
|
|
58
|
+
|
|
59
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
60
|
+
|------|------|--------|------|
|
|
61
|
+
| `interval` | Number | `0` | X 轴标签间隔 |
|
|
62
|
+
| `rotate` | Number | `0` | X 轴标签旋转角度 |
|
|
63
|
+
| `gridbottom` | Number | `40` | 底部网格间距 |
|
|
64
|
+
| `isShowthreshold` | Boolean | `false` | 是否显示阈值线 |
|
|
65
|
+
|
|
66
|
+
## 示例
|
|
67
|
+
|
|
68
|
+
### 多单位组合图
|
|
69
|
+
|
|
70
|
+
::: demo 多单位组合图
|
|
71
|
+
```vue
|
|
72
|
+
<template>
|
|
73
|
+
<XtMulti :chart-data="chartData" />
|
|
74
|
+
</template>
|
|
75
|
+
|
|
76
|
+
<script>
|
|
77
|
+
export default {
|
|
78
|
+
data() {
|
|
79
|
+
return {
|
|
80
|
+
chartData: [
|
|
81
|
+
{
|
|
82
|
+
label: "销售额",
|
|
83
|
+
unit: "万元",
|
|
84
|
+
data: [
|
|
85
|
+
{ label: "1月", value: 100 },
|
|
86
|
+
{ label: "2月", value: 120 },
|
|
87
|
+
{ label: "3月", value: 90 }
|
|
88
|
+
]
|
|
89
|
+
},
|
|
90
|
+
{
|
|
91
|
+
label: "订单数",
|
|
92
|
+
unit: "单",
|
|
93
|
+
data: [
|
|
94
|
+
{ label: "1月", value: 50 },
|
|
95
|
+
{ label: "2月", value: 60 },
|
|
96
|
+
{ label: "3月", value: 45 }
|
|
97
|
+
]
|
|
98
|
+
},
|
|
99
|
+
{
|
|
100
|
+
label: "转化率",
|
|
101
|
+
unit: "%",
|
|
102
|
+
data: [
|
|
103
|
+
{ label: "1月", value: 50 },
|
|
104
|
+
{ label: "2月", value: 55 },
|
|
105
|
+
{ label: "3月", value: 48 }
|
|
106
|
+
]
|
|
107
|
+
}
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
</script>
|
|
113
|
+
```
|
|
114
|
+
:::
|
|
115
|
+
|
|
116
|
+
### 折线与柱状图组合
|
|
117
|
+
|
|
118
|
+
::: demo 折线与柱状图组合
|
|
119
|
+
```vue
|
|
120
|
+
<template>
|
|
121
|
+
<XtMulti :chart-data="chartData" />
|
|
122
|
+
</template>
|
|
123
|
+
|
|
124
|
+
<script>
|
|
125
|
+
export default {
|
|
126
|
+
data() {
|
|
127
|
+
return {
|
|
128
|
+
chartData: [
|
|
129
|
+
{
|
|
130
|
+
label: "销售额",
|
|
131
|
+
unit: "万元",
|
|
132
|
+
type: "bar",
|
|
133
|
+
data: [
|
|
134
|
+
{ label: "1月", value: 100 },
|
|
135
|
+
{ label: "2月", value: 120 },
|
|
136
|
+
{ label: "3月", value: 90 }
|
|
137
|
+
]
|
|
138
|
+
},
|
|
139
|
+
{
|
|
140
|
+
label: "增长率",
|
|
141
|
+
unit: "%",
|
|
142
|
+
type: "line",
|
|
143
|
+
data: [
|
|
144
|
+
{ label: "1月", value: 10 },
|
|
145
|
+
{ label: "2月", value: 20 },
|
|
146
|
+
{ label: "3月", value: -25 }
|
|
147
|
+
]
|
|
148
|
+
}
|
|
149
|
+
]
|
|
150
|
+
}
|
|
151
|
+
}
|
|
152
|
+
}
|
|
153
|
+
</script>
|
|
154
|
+
```
|
|
155
|
+
:::
|
|
156
|
+
|
|
157
|
+
### 自定义颜色
|
|
158
|
+
|
|
159
|
+
::: demo 自定义颜色
|
|
160
|
+
```vue
|
|
161
|
+
<template>
|
|
162
|
+
<XtMulti :chart-data="chartData" :colors="['#1890ff', '#52c41a', '#faad14']" />
|
|
163
|
+
</template>
|
|
164
|
+
|
|
165
|
+
<script>
|
|
166
|
+
export default {
|
|
167
|
+
data() {
|
|
168
|
+
return {
|
|
169
|
+
chartData: [
|
|
170
|
+
{
|
|
171
|
+
label: "A系列",
|
|
172
|
+
unit: "个",
|
|
173
|
+
data: [
|
|
174
|
+
{ label: "1月", value: 100 },
|
|
175
|
+
{ label: "2月", value: 120 }
|
|
176
|
+
]
|
|
177
|
+
},
|
|
178
|
+
{
|
|
179
|
+
label: "B系列",
|
|
180
|
+
unit: "个",
|
|
181
|
+
data: [
|
|
182
|
+
{ label: "1月", value: 80 },
|
|
183
|
+
{ label: "2月", value: 90 }
|
|
184
|
+
]
|
|
185
|
+
},
|
|
186
|
+
{
|
|
187
|
+
label: "C系列",
|
|
188
|
+
unit: "个",
|
|
189
|
+
data: [
|
|
190
|
+
{ label: "1月", value: 60 },
|
|
191
|
+
{ label: "2月", value: 70 }
|
|
192
|
+
]
|
|
193
|
+
}
|
|
194
|
+
]
|
|
195
|
+
}
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
</script>
|
|
199
|
+
```
|
|
200
|
+
:::
|
|
201
|
+
|
|
202
|
+
### 极简模式
|
|
203
|
+
|
|
204
|
+
::: demo 极简模式
|
|
205
|
+
```vue
|
|
206
|
+
<template>
|
|
207
|
+
<XtMulti :chart-data="chartData" simple-mode />
|
|
208
|
+
</template>
|
|
209
|
+
|
|
210
|
+
<script>
|
|
211
|
+
export default {
|
|
212
|
+
data() {
|
|
213
|
+
return {
|
|
214
|
+
chartData: [
|
|
215
|
+
{
|
|
216
|
+
label: "A",
|
|
217
|
+
data: [
|
|
218
|
+
{ label: "1", value: 100 },
|
|
219
|
+
{ label: "2", value: 120 }
|
|
220
|
+
]
|
|
221
|
+
},
|
|
222
|
+
{
|
|
223
|
+
label: "B",
|
|
224
|
+
data: [
|
|
225
|
+
{ label: "1", value: 80 },
|
|
226
|
+
{ label: "2", value: 90 }
|
|
227
|
+
]
|
|
228
|
+
}
|
|
229
|
+
]
|
|
230
|
+
}
|
|
231
|
+
}
|
|
232
|
+
}
|
|
233
|
+
</script>
|
|
234
|
+
```
|
|
235
|
+
:::
|
|
236
|
+
|
|
237
|
+
### 暗色主题
|
|
238
|
+
|
|
239
|
+
::: demo 暗色主题
|
|
240
|
+
```vue
|
|
241
|
+
<template>
|
|
242
|
+
<XtMulti :chart-data="chartData" theme="dark" />
|
|
243
|
+
</template>
|
|
244
|
+
|
|
245
|
+
<script>
|
|
246
|
+
export default {
|
|
247
|
+
data() {
|
|
248
|
+
return {
|
|
249
|
+
chartData: [
|
|
250
|
+
{
|
|
251
|
+
label: "入户数",
|
|
252
|
+
unit: "户",
|
|
253
|
+
data: [
|
|
254
|
+
{ label: "01月", value: 980 },
|
|
255
|
+
{ label: "02月", value: 806 }
|
|
256
|
+
]
|
|
257
|
+
},
|
|
258
|
+
{
|
|
259
|
+
label: "隐患数",
|
|
260
|
+
unit: "个",
|
|
261
|
+
data: [
|
|
262
|
+
{ label: "01月", value: 200 },
|
|
263
|
+
{ label: "02月", value: 120 }
|
|
264
|
+
]
|
|
265
|
+
}
|
|
266
|
+
]
|
|
267
|
+
}
|
|
268
|
+
}
|
|
269
|
+
}
|
|
270
|
+
</script>
|
|
271
|
+
```
|
|
272
|
+
:::
|
|
273
|
+
|
|
274
|
+
## 注意事项
|
|
275
|
+
|
|
276
|
+
- 相同 unit 的 series 会共用同一条 Y 轴
|
|
277
|
+
- 默认支持内部缩放(dataZoom)
|
|
278
|
+
- 每个 series 可以通过 `type` 属性指定图表类型(`bar` 或 `line`),默认为 `bar`
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
## XtPage 页面组件
|
|
2
|
+
|
|
3
|
+
页面布局组件,提供 header、main、footer、aside 区域的布局,支持高度自适应。
|
|
4
|
+
|
|
5
|
+
## 基本用法
|
|
6
|
+
|
|
7
|
+
::: demo 基本用法
|
|
8
|
+
```vue
|
|
9
|
+
<template>
|
|
10
|
+
<XtPage>
|
|
11
|
+
<template #header>页面标题</template>
|
|
12
|
+
<template #default="{ tableHeight }">
|
|
13
|
+
<XtTable :height="tableHeight" :table-data="tableData" :columns="columns" />
|
|
14
|
+
</template>
|
|
15
|
+
<template #footer>页面底部</template>
|
|
16
|
+
</XtPage>
|
|
17
|
+
</template>
|
|
18
|
+
|
|
19
|
+
<script>
|
|
20
|
+
export default {
|
|
21
|
+
data() {
|
|
22
|
+
return {
|
|
23
|
+
tableData: [],
|
|
24
|
+
columns: []
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
</script>
|
|
29
|
+
```
|
|
30
|
+
:::
|
|
31
|
+
|
|
32
|
+
## 属性说明
|
|
33
|
+
|
|
34
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
35
|
+
|------|------|--------|------|
|
|
36
|
+
| `showHeader` | Boolean | `true` | 是否显示头部 |
|
|
37
|
+
| `showFooter` | Boolean | `true` | 是否显示底部 |
|
|
38
|
+
| `showAside` | Boolean | `true` | 是否显示侧边栏 |
|
|
39
|
+
| `asideWidth` | String | - | 侧边栏宽度 |
|
|
40
|
+
| `diffHeight` | Number | `60` | 差值高度 |
|
|
41
|
+
| `minHeight` | Number | `200` | 最小高度 |
|
|
42
|
+
|
|
43
|
+
## 插槽说明
|
|
44
|
+
|
|
45
|
+
| 插槽名 | 说明 |
|
|
46
|
+
|--------|------|
|
|
47
|
+
| `default` | 主内容区域,接收 `tableHeight` 参数 |
|
|
48
|
+
| `header` | 头部区域 |
|
|
49
|
+
| `footer` | 底部区域 |
|
|
50
|
+
| `aside` | 侧边栏区域 |
|
|
51
|
+
| `dialog` | 弹窗区域 |
|
|
52
|
+
|
|
53
|
+
## 示例
|
|
54
|
+
|
|
55
|
+
### 带侧边栏
|
|
56
|
+
|
|
57
|
+
::: demo 带侧边栏
|
|
58
|
+
```vue
|
|
59
|
+
<template>
|
|
60
|
+
<XtPage aside-width="200px">
|
|
61
|
+
<template #header>页面标题</template>
|
|
62
|
+
<template #aside>侧边栏内容</template>
|
|
63
|
+
<template #default>主内容</template>
|
|
64
|
+
</XtPage>
|
|
65
|
+
</template>
|
|
66
|
+
```
|
|
67
|
+
:::
|
|
68
|
+
|
|
69
|
+
### 仅主内容
|
|
70
|
+
|
|
71
|
+
::: demo 仅主内容
|
|
72
|
+
```vue
|
|
73
|
+
<template>
|
|
74
|
+
<XtPage :show-header="false" :show-footer="false">
|
|
75
|
+
<template #default>仅主内容区域</template>
|
|
76
|
+
</XtPage>
|
|
77
|
+
</template>
|
|
78
|
+
```
|
|
79
|
+
:::
|
|
80
|
+
|
|
81
|
+
## 注意事项
|
|
82
|
+
|
|
83
|
+
- 默认插槽会传入 `tableHeight` 参数,用于表格高度自适应
|
|
84
|
+
- 组件会监听窗口大小变化,自动调整表格高度
|
|
@@ -0,0 +1,175 @@
|
|
|
1
|
+
## XtPie 饼图组件
|
|
2
|
+
|
|
3
|
+
基于 ECharts 封装的饼图组件,支持环形图、玫瑰图、自定义颜色等功能。
|
|
4
|
+
|
|
5
|
+
## 基本用法
|
|
6
|
+
|
|
7
|
+
::: demo 基本用法
|
|
8
|
+
```vue
|
|
9
|
+
<template>
|
|
10
|
+
<XtPie :chart-data="chartData" />
|
|
11
|
+
</template>
|
|
12
|
+
|
|
13
|
+
<script>
|
|
14
|
+
export default {
|
|
15
|
+
data() {
|
|
16
|
+
return {
|
|
17
|
+
chartData: [
|
|
18
|
+
{ value: 53, label: "张三" },
|
|
19
|
+
{ value: 10, label: "李四" },
|
|
20
|
+
{ value: 60, label: "宋五" }
|
|
21
|
+
]
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
</script>
|
|
26
|
+
```
|
|
27
|
+
:::
|
|
28
|
+
|
|
29
|
+
## 属性说明
|
|
30
|
+
|
|
31
|
+
| 属性 | 类型 | 默认值 | 说明 |
|
|
32
|
+
|------|------|--------|------|
|
|
33
|
+
| `chartData` | Array | - | 图表数据,格式为 `[{ label, value }]` |
|
|
34
|
+
| `fieldKeys` | Object | `{ label: "label", value: "value", data: "data" }` | 字段映射配置 |
|
|
35
|
+
| `theme` | String | - | 主题,`dark` 或 `default` |
|
|
36
|
+
| `size` | String | `medium` | 尺寸,`small` / `medium` / `large` |
|
|
37
|
+
| `colors` | Array | `[]` | 自定义颜色数组 |
|
|
38
|
+
| `unit` | String | `""` | 数据单位 |
|
|
39
|
+
| `showLegend` | Boolean | `true` | 是否显示图例 |
|
|
40
|
+
| `simpleMode` | Boolean | `false` | 是否启用极简模式 |
|
|
41
|
+
| `roseType` | String | `""` | 玫瑰图类型,`""` / `radius` / `area` |
|
|
42
|
+
| `showLabel` | Boolean | `true` | 是否显示标签 |
|
|
43
|
+
| `totalLabel` | String | `"总数"` | 中心总数标签文本 |
|
|
44
|
+
|
|
45
|
+
## 示例
|
|
46
|
+
|
|
47
|
+
### 玫瑰图
|
|
48
|
+
|
|
49
|
+
::: demo 玫瑰图
|
|
50
|
+
```vue
|
|
51
|
+
<template>
|
|
52
|
+
<XtPie :chart-data="chartData" rose-type="radius" />
|
|
53
|
+
</template>
|
|
54
|
+
|
|
55
|
+
<script>
|
|
56
|
+
export default {
|
|
57
|
+
data() {
|
|
58
|
+
return {
|
|
59
|
+
chartData: [
|
|
60
|
+
{ value: 53, label: "北京" },
|
|
61
|
+
{ value: 60, label: "上海" },
|
|
62
|
+
{ value: 78, label: "广州" },
|
|
63
|
+
{ value: 82, label: "深圳" },
|
|
64
|
+
{ value: 95, label: "杭州" }
|
|
65
|
+
]
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
</script>
|
|
70
|
+
```
|
|
71
|
+
:::
|
|
72
|
+
|
|
73
|
+
### 隐藏图例
|
|
74
|
+
|
|
75
|
+
::: demo 隐藏图例
|
|
76
|
+
```vue
|
|
77
|
+
<template>
|
|
78
|
+
<XtPie :chart-data="chartData" :show-legend="false" />
|
|
79
|
+
</template>
|
|
80
|
+
|
|
81
|
+
<script>
|
|
82
|
+
export default {
|
|
83
|
+
data() {
|
|
84
|
+
return {
|
|
85
|
+
chartData: [
|
|
86
|
+
{ value: 30, label: "A" },
|
|
87
|
+
{ value: 25, label: "B" },
|
|
88
|
+
{ value: 20, label: "C" },
|
|
89
|
+
{ value: 25, label: "D" }
|
|
90
|
+
]
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
}
|
|
94
|
+
</script>
|
|
95
|
+
```
|
|
96
|
+
:::
|
|
97
|
+
|
|
98
|
+
### 自定义颜色
|
|
99
|
+
|
|
100
|
+
::: demo 自定义颜色
|
|
101
|
+
```vue
|
|
102
|
+
<template>
|
|
103
|
+
<XtPie :chart-data="chartData" :colors="['#1890ff', '#52c41a', '#faad14', '#f5222d']" />
|
|
104
|
+
</template>
|
|
105
|
+
|
|
106
|
+
<script>
|
|
107
|
+
export default {
|
|
108
|
+
data() {
|
|
109
|
+
return {
|
|
110
|
+
chartData: [
|
|
111
|
+
{ value: 30, label: "红色" },
|
|
112
|
+
{ value: 25, label: "蓝色" },
|
|
113
|
+
{ value: 20, label: "绿色" },
|
|
114
|
+
{ value: 25, label: "黄色" }
|
|
115
|
+
]
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
</script>
|
|
120
|
+
```
|
|
121
|
+
:::
|
|
122
|
+
|
|
123
|
+
### 极简模式
|
|
124
|
+
|
|
125
|
+
::: demo 极简模式
|
|
126
|
+
```vue
|
|
127
|
+
<template>
|
|
128
|
+
<XtPie :chart-data="chartData" simple-mode />
|
|
129
|
+
</template>
|
|
130
|
+
|
|
131
|
+
<script>
|
|
132
|
+
export default {
|
|
133
|
+
data() {
|
|
134
|
+
return {
|
|
135
|
+
chartData: [
|
|
136
|
+
{ value: 30, label: "A" },
|
|
137
|
+
{ value: 25, label: "B" },
|
|
138
|
+
{ value: 20, label: "C" },
|
|
139
|
+
{ value: 25, label: "D" }
|
|
140
|
+
]
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
</script>
|
|
145
|
+
```
|
|
146
|
+
:::
|
|
147
|
+
|
|
148
|
+
### 暗色主题
|
|
149
|
+
|
|
150
|
+
::: demo 暗色主题
|
|
151
|
+
```vue
|
|
152
|
+
<template>
|
|
153
|
+
<XtPie :chart-data="chartData" theme="dark" />
|
|
154
|
+
</template>
|
|
155
|
+
|
|
156
|
+
<script>
|
|
157
|
+
export default {
|
|
158
|
+
data() {
|
|
159
|
+
return {
|
|
160
|
+
chartData: [
|
|
161
|
+
{ value: 53, label: "张三" },
|
|
162
|
+
{ value: 60, label: "李四" },
|
|
163
|
+
{ value: 78, label: "王五" }
|
|
164
|
+
]
|
|
165
|
+
}
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
</script>
|
|
169
|
+
```
|
|
170
|
+
:::
|
|
171
|
+
|
|
172
|
+
## 注意事项
|
|
173
|
+
|
|
174
|
+
- 饼图中心会自动显示总数
|
|
175
|
+
- 最小扇区角度为 5 度,小于此角度的扇区会合并显示
|
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
## XtProgress 进度条组件
|
|
2
|
+
|
|
3
|
+
进度条组件,用于展示任务完成进度。
|
|
4
|
+
|
|
5
|
+
## 基本用法
|
|
6
|
+
|
|
7
|
+
::: demo 基本用法
|
|
8
|
+
```vue
|
|
9
|
+
<template>
|
|
10
|
+
<XtProgress :percentage="60" />
|
|
11
|
+
</template>
|
|
12
|
+
```
|
|
13
|
+
:::
|
|
14
|
+
|
|
15
|
+
## 属性说明
|
|
16
|
+
|
|
17
|
+
| 属性 | 类型 | 默认值 | 可选值 | 说明 |
|
|
18
|
+
|------|------|--------|--------|------|
|
|
19
|
+
| `percentage` | Number | `0` | 0-100 | 进度百分比 |
|
|
20
|
+
| `type` | String | `line` | `line`、`circle`、`dashboard` | 进度条类型 |
|
|
21
|
+
| `strokeWidth` | Number | `6` | - | 进度条宽度 |
|
|
22
|
+
| `color` | String / Array | `#1890ff` | - | 进度条颜色 |
|
|
23
|
+
| `status` | String | - | `success`、`exception`、`normal` | 状态 |
|
|
24
|
+
| `width` | Number | `126` | - | 环形进度条宽度 |
|
|
25
|
+
| `textInside` | Boolean | `false` | - | 是否将进度百分比显示在进度条内 |
|
|
26
|
+
| `showText` | Boolean | `true` | - | 是否显示进度百分比 |
|
|
27
|
+
| `format` | Function | - | - | 自定义进度条文字内容 |
|
|
28
|
+
|
|
29
|
+
## 示例
|
|
30
|
+
|
|
31
|
+
### 不同类型的进度条
|
|
32
|
+
|
|
33
|
+
::: demo 不同类型的进度条
|
|
34
|
+
```vue
|
|
35
|
+
<template>
|
|
36
|
+
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
37
|
+
<XtProgress :percentage="60" />
|
|
38
|
+
<XtProgress type="circle" :percentage="60" />
|
|
39
|
+
<XtProgress type="dashboard" :percentage="60" />
|
|
40
|
+
</div>
|
|
41
|
+
</template>
|
|
42
|
+
```
|
|
43
|
+
:::
|
|
44
|
+
|
|
45
|
+
### 不同状态
|
|
46
|
+
|
|
47
|
+
::: demo 不同状态
|
|
48
|
+
```vue
|
|
49
|
+
<template>
|
|
50
|
+
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
51
|
+
<XtProgress :percentage="100" status="success" />
|
|
52
|
+
<XtProgress :percentage="60" status="normal" />
|
|
53
|
+
<XtProgress :percentage="60" status="exception" />
|
|
54
|
+
</div>
|
|
55
|
+
</template>
|
|
56
|
+
```
|
|
57
|
+
:::
|
|
58
|
+
|
|
59
|
+
### 自定义颜色
|
|
60
|
+
|
|
61
|
+
::: demo 自定义颜色
|
|
62
|
+
```vue
|
|
63
|
+
<template>
|
|
64
|
+
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
65
|
+
<XtProgress :percentage="60" color="#52c41a" />
|
|
66
|
+
<XtProgress :percentage="60" color="#faad14" />
|
|
67
|
+
<XtProgress :percentage="60" color="#f5222d" />
|
|
68
|
+
</div>
|
|
69
|
+
</template>
|
|
70
|
+
```
|
|
71
|
+
:::
|
|
72
|
+
|
|
73
|
+
### 文字在进度条内
|
|
74
|
+
|
|
75
|
+
::: demo 文字在进度条内
|
|
76
|
+
```vue
|
|
77
|
+
<template>
|
|
78
|
+
<XtProgress :percentage="60" :text-inside="true" :stroke-width="20" />
|
|
79
|
+
</template>
|
|
80
|
+
```
|
|
81
|
+
:::
|
|
82
|
+
|
|
83
|
+
### 自定义宽度
|
|
84
|
+
|
|
85
|
+
::: demo 自定义宽度
|
|
86
|
+
```vue
|
|
87
|
+
<template>
|
|
88
|
+
<div style="display: flex; flex-direction: column; gap: 16px;">
|
|
89
|
+
<XtProgress :percentage="60" :stroke-width="3" />
|
|
90
|
+
<XtProgress :percentage="60" :stroke-width="6" />
|
|
91
|
+
<XtProgress :percentage="60" :stroke-width="12" />
|
|
92
|
+
</div>
|
|
93
|
+
</template>
|
|
94
|
+
```
|
|
95
|
+
:::
|
|
96
|
+
|
|
97
|
+
### 自定义文字格式
|
|
98
|
+
|
|
99
|
+
::: demo 自定义文字格式
|
|
100
|
+
```vue
|
|
101
|
+
<template>
|
|
102
|
+
<XtProgress :percentage="60" :format="(percent) => `${percent}% 完成`" />
|
|
103
|
+
</template>
|
|
104
|
+
```
|
|
105
|
+
:::
|
|
106
|
+
|
|
107
|
+
### 环形进度条
|
|
108
|
+
|
|
109
|
+
::: demo 环形进度条
|
|
110
|
+
```vue
|
|
111
|
+
<template>
|
|
112
|
+
<div style="display: flex; gap: 32px;">
|
|
113
|
+
<XtProgress type="circle" :percentage="60" />
|
|
114
|
+
<XtProgress type="circle" :percentage="60" :width="80" />
|
|
115
|
+
<XtProgress type="circle" :percentage="60" :width="150" />
|
|
116
|
+
</div>
|
|
117
|
+
</template>
|
|
118
|
+
```
|
|
119
|
+
:::
|
|
120
|
+
|
|
121
|
+
### 仪表盘
|
|
122
|
+
|
|
123
|
+
::: demo 仪表盘
|
|
124
|
+
```vue
|
|
125
|
+
<template>
|
|
126
|
+
<XtProgress type="dashboard" :percentage="60" />
|
|
127
|
+
</template>
|
|
128
|
+
```
|
|
129
|
+
:::
|
|
130
|
+
|
|
131
|
+
## 注意事项
|
|
132
|
+
|
|
133
|
+
- `percentage` 属性值应在 0-100 之间
|
|
134
|
+
- 环形进度条默认宽度为 126px,可以通过 `width` 属性调整
|