@jzliu-cli/bi-engine 0.0.1

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 (65) hide show
  1. package/README.md +381 -0
  2. package/dist/assets/fonts/element-icons.313f7dac.woff +0 -0
  3. package/dist/assets/fonts/element-icons.45201881.ttf +0 -0
  4. package/dist/assets/img/dashboard/center1.png +0 -0
  5. package/dist/assets/img/dashboard/center2.png +0 -0
  6. package/dist/assets/img/dashboard/center3.png +0 -0
  7. package/dist/assets/img/dashboard/center4.png +0 -0
  8. package/dist/assets/img/dashboard/center5.png +0 -0
  9. package/dist/assets/img/dashboard/center6.png +0 -0
  10. package/dist/assets/img/dashboard/center7.png +0 -0
  11. package/dist/assets/img/dashboard/center8-bg.png +0 -0
  12. package/dist/assets/img/dashboard/center8.png +0 -0
  13. package/dist/assets/img/dashboard/column-none.png +0 -0
  14. package/dist/assets/img/dashboard/connect.png +0 -0
  15. package/dist/assets/img/dashboard/dangjian.png +0 -0
  16. package/dist/assets/img/dashboard/indicator-card.png +0 -0
  17. package/dist/assets/img/dashboard/lay1.png +0 -0
  18. package/dist/assets/img/dashboard/lay2.png +0 -0
  19. package/dist/assets/img/dashboard/lay3.png +0 -0
  20. package/dist/assets/img/dashboard/lay4.png +0 -0
  21. package/dist/assets/img/dashboard/lay5.png +0 -0
  22. package/dist/assets/img/dashboard/lay6.png +0 -0
  23. package/dist/assets/img/dashboard/lay7.png +0 -0
  24. package/dist/assets/img/dashboard/lay8.png +0 -0
  25. package/dist/assets/img/dashboard/line-none.png +0 -0
  26. package/dist/assets/img/dashboard/mobile.png +0 -0
  27. package/dist/assets/img/dashboard/pie-none.png +0 -0
  28. package/dist/assets/img/dashboard/resource.png +0 -0
  29. package/dist/assets/img/dashboard/share.png +0 -0
  30. package/dist/assets/img/dashboard/table-none.png +0 -0
  31. package/dist/assets/img/empty.png +0 -0
  32. package/dist/assets/img/mobile.png +0 -0
  33. package/dist/assets/img/panel.png +0 -0
  34. package/dist/assets/style/base.less +1754 -0
  35. package/dist/assets/style/dashboard.less +320 -0
  36. package/dist/assets/style/element-variables-dark.less +8 -0
  37. package/dist/assets/style/element-variables.less +5 -0
  38. package/dist/assets/style/tailwind.css +3 -0
  39. package/dist/assets/style/transition.less +30 -0
  40. package/dist/assets/theme/element.define.css +32271 -0
  41. package/dist/assets/theme/fonts/element-icons.ttf +0 -0
  42. package/dist/assets/theme/fonts/element-icons.woff +0 -0
  43. package/dist/assets/theme/index.css +65744 -0
  44. package/dist/images/column-none.a609dd43.png +0 -0
  45. package/dist/images/empty.31d6cfe0.png +0 -0
  46. package/dist/images/indicator-card.b7982b59.png +0 -0
  47. package/dist/images/lay1.64c91237.png +0 -0
  48. package/dist/images/lay2.7b0fa581.png +0 -0
  49. package/dist/images/lay3.f44c8385.png +0 -0
  50. package/dist/images/lay4.6f06e367.png +0 -0
  51. package/dist/images/lay5.1090706d.png +0 -0
  52. package/dist/images/lay6.9ef2f723.png +0 -0
  53. package/dist/images/lay7.afa3a4fa.png +0 -0
  54. package/dist/images/lay8.80107d63.png +0 -0
  55. package/dist/images/line-none.5b0a596f.png +0 -0
  56. package/dist/images/mobile.18b276e6.png +0 -0
  57. package/dist/images/panel.93199700.png +0 -0
  58. package/dist/images/pie-none.3cb81d7f.png +0 -0
  59. package/dist/images/table-none.ca8daa78.png +0 -0
  60. package/dist/index.js +3 -0
  61. package/dist/index.js.LICENSE.txt +29 -0
  62. package/dist/index.js.map +1 -0
  63. package/dist/style.css +101324 -0
  64. package/dist/style.css.map +1 -0
  65. package/package.json +78 -0
package/README.md ADDED
@@ -0,0 +1,381 @@
1
+ # @jzliu-cli/bi-engine
2
+
3
+ jzliu-cli BI 引擎 - 基于 Vue 2.x 的现代化 BI 仪表板解决方案
4
+
5
+ ## 📦 安装
6
+
7
+ ```bash
8
+ # 使用 yarn 安装
9
+ yarn add @jzliu-cli/bi-engine
10
+
11
+ # 或使用 npm 安装
12
+ npm install @jzliu-cli/bi-engine
13
+ ```
14
+
15
+ ## 🚀 快速开始
16
+
17
+ ### 基础使用
18
+
19
+ ```javascript
20
+ import Vue from 'vue'
21
+ import BiDashboard, { chartRender } from '@jzliu-cli/bi-engine'
22
+ import ElementUI from 'element-ui'
23
+ import 'element-ui/lib/theme-chalk/index.css'
24
+
25
+ // 使用 Element UI
26
+ Vue.use(ElementUI)
27
+
28
+ // 使用 BiDashboard
29
+ Vue.use(BiDashboard)
30
+
31
+ // 在组件中使用
32
+ export default {
33
+ components: {
34
+ chartRender
35
+ },
36
+ data() {
37
+ return {
38
+ chartData: {
39
+ type: 'Column',
40
+ name: '柱状图',
41
+ // ... 其他配置
42
+ }
43
+ }
44
+ }
45
+ }
46
+ ```
47
+
48
+ ### 完整仪表板使用
49
+
50
+ ```javascript
51
+ import Vue from 'vue'
52
+ import BiDashboard from '@jzliu-cli/bi-engine'
53
+ import ElementUI from 'element-ui'
54
+ import 'element-ui/lib/theme-chalk/index.css'
55
+
56
+ Vue.use(ElementUI)
57
+ Vue.use(BiDashboard)
58
+
59
+ // 在模板中使用
60
+ <template>
61
+ <div>
62
+ <bi-dashboard :config="dashboardConfig" />
63
+ </div>
64
+ </template>
65
+ ```
66
+
67
+ ## 📚 API 文档
68
+
69
+ ### 主要组件
70
+
71
+ #### BiDashboard
72
+ 主仪表板组件,提供完整的仪表板设计器功能。
73
+
74
+ **Props:**
75
+ - `config` (Object): 仪表板配置对象
76
+ - `previewMode` (Boolean): 预览模式开关
77
+
78
+ **Events:**
79
+ - `@dashboard-updated`: 仪表板更新时触发
80
+ - `@chart-selected`: 图表选中时触发
81
+
82
+ #### chartRender
83
+ 图表渲染组件,用于渲染单个图表。
84
+
85
+ **Props:**
86
+ - `chartData` (Object): 图表数据配置
87
+ - `styleConfig` (Object): 样式配置
88
+
89
+ **示例:**
90
+ ```javascript
91
+ <chart-render
92
+ :chartData="chartData"
93
+ :styleConfig="styleConfig"
94
+ @chart-click="handleChartClick"
95
+ />
96
+ ```
97
+
98
+ ### 工具函数 (utils)
99
+
100
+ 提供丰富的工具函数集合:
101
+
102
+ ```javascript
103
+ import { utils } from '@jzliu-cli/bi-engine'
104
+
105
+ // 图表工具函数
106
+ utils.chartUtils.elResizeObverse(element, callback)
107
+ utils.chartUtils.getParamsRowsAndColumns(data)
108
+
109
+ // 数据处理工具函数
110
+ utils.dataUtils.calcDescartes(arrays)
111
+ utils.dataUtils.transferWhiteVal(value)
112
+ utils.dataUtils.mateMapping(data)
113
+
114
+ // 样式工具函数
115
+ utils.styleUtils.generateStyle(config)
116
+
117
+ // 验证工具函数
118
+ utils.validationUtils.validateChartData(data)
119
+ ```
120
+
121
+ ### 配置对象 (panelConfig)
122
+
123
+ 仪表板面板配置:
124
+
125
+ ```javascript
126
+ import { panelConfig } from '@jzliu-cli/bi-engine'
127
+
128
+ // 获取默认配置
129
+ const defaultConfig = panelConfig.getDefaultConfig()
130
+
131
+ // 获取图表类型配置
132
+ const chartTypes = panelConfig.getChartTypes()
133
+
134
+ // 获取样式配置
135
+ const styleConfig = panelConfig.getStyleConfig()
136
+ ```
137
+
138
+ ### 枚举数据 (enumData)
139
+
140
+ 提供各种枚举数据:
141
+
142
+ ```javascript
143
+ import { enumData } from '@jzliu-cli/bi-engine'
144
+
145
+ // 聚合器映射
146
+ console.log(enumData.aggregatorMap)
147
+
148
+ // 表格类型映射
149
+ console.log(enumData.tableTypeZnMap)
150
+
151
+ // 图表系列颜色
152
+ console.log(enumData.chartSeriesColors)
153
+
154
+ // 线条类型映射
155
+ console.log(enumData.lineTypeMap)
156
+ ```
157
+
158
+ ### 模拟数据 (mockData)
159
+
160
+ 用于开发和测试的模拟数据:
161
+
162
+ ```javascript
163
+ import { mockData } from '@jzliu-cli/bi-engine'
164
+
165
+ // 获取示例图表数据
166
+ const sampleChartData = mockData.getSampleChartData()
167
+
168
+ // 获取仪表板配置示例
169
+ const sampleDashboardConfig = mockData.getSampleDashboardConfig()
170
+ ```
171
+
172
+ ### Store 配置 (storeConfig)
173
+
174
+ Vuex store 配置,用于状态管理:
175
+
176
+ ```javascript
177
+ import { storeConfig } from '@jzliu-cli/bi-engine'
178
+ import Vuex from 'vuex'
179
+
180
+ // 创建 store 实例
181
+ const store = new Vuex.Store(storeConfig)
182
+
183
+ // 在 Vue 应用中使用
184
+ new Vue({
185
+ store,
186
+ // ...
187
+ })
188
+
189
+
190
+ ## 📊 图表类型支持
191
+
192
+ - **柱状图** (Column)
193
+ - **折线图** (Line)
194
+ - **饼图** (Pie)
195
+ - **表格** (Table)
196
+ - **指标卡** (IndicatorCard)
197
+
198
+ ## 🔧 开发配置
199
+
200
+ ### 本地开发
201
+
202
+ ```bash
203
+ # 克隆项目
204
+ git clone <repository-url>
205
+
206
+ # 安装依赖
207
+ yarn install
208
+
209
+ # 启动开发服务器
210
+ yarn build:watch
211
+
212
+ # 构建生产版本
213
+ yarn build
214
+ ```
215
+
216
+ ### 本地链接测试
217
+
218
+ ```bash
219
+ # 在 biDashboard 目录中
220
+ yarn link
221
+
222
+ # 在测试项目中
223
+ yarn link "@jzliu-cli/bi-engine"
224
+ ```
225
+
226
+ ## 📋 依赖要求
227
+
228
+ ### 必需依赖
229
+ - Vue: ^2.6.11
230
+ - Element UI: ^2.15.10
231
+ - Vuex: ^3.6.2
232
+ - @antv/g2plot: ^2.4.13
233
+
234
+ ### 可选依赖
235
+ - lodash: ^4.17.21
236
+ - vue-grid-layout: ^2.3.12
237
+ - vuedraggable: ^2.24.3
238
+
239
+ ## 🎯 使用示例
240
+
241
+ ### 基础图表渲染
242
+
243
+ ```vue
244
+ <template>
245
+ <div class="chart-container">
246
+ <chart-render
247
+ :chartData="chartData"
248
+ :styleConfig="styleConfig"
249
+ />
250
+ </div>
251
+ </template>
252
+
253
+ <script>
254
+ import { chartRender } from '@jzliu-cli/bi-engine'
255
+
256
+ export default {
257
+ components: { chartRender },
258
+ data() {
259
+ return {
260
+ chartData: {
261
+ type: 'Column',
262
+ name: '销售数据',
263
+ data: {
264
+ meta: [
265
+ { field: 'category', name: '类别' },
266
+ { field: 'value', name: '数值' }
267
+ ],
268
+ data: [
269
+ { category: 'A', value: 100 },
270
+ { category: 'B', value: 200 },
271
+ { category: 'C', value: 150 }
272
+ ]
273
+ },
274
+ fields: [
275
+ {
276
+ label: '类别轴',
277
+ type: 'dimension',
278
+ chooseFields: [{ name: 'category' }]
279
+ },
280
+ {
281
+ label: '值轴',
282
+ type: 'measure',
283
+ chooseFields: [{ name: 'value' }]
284
+ }
285
+ ]
286
+ },
287
+ styleConfig: {
288
+ commongConfig: {
289
+ showTitle: true,
290
+ backgroundColor: '#fff'
291
+ }
292
+ }
293
+ }
294
+ }
295
+ }
296
+ </script>
297
+ ```
298
+
299
+ ### 完整仪表板
300
+
301
+ ```vue
302
+ <template>
303
+ <div class="dashboard">
304
+ <bi-dashboard
305
+ :config="dashboardConfig"
306
+ @dashboard-updated="handleDashboardUpdate"
307
+ @chart-selected="handleChartSelect"
308
+ />
309
+ </div>
310
+ </template>
311
+
312
+ <script>
313
+ import BiDashboard from '@jzliu-cli/bi-engine'
314
+
315
+ export default {
316
+ components: { BiDashboard },
317
+ data() {
318
+ return {
319
+ dashboardConfig: {
320
+ layout: [],
321
+ dashboardName: '我的仪表板'
322
+ }
323
+ }
324
+ },
325
+ methods: {
326
+ handleDashboardUpdate(newConfig) {
327
+ console.log('仪表板已更新:', newConfig)
328
+ },
329
+ handleChartSelect(chartData) {
330
+ console.log('图表已选中:', chartData)
331
+ }
332
+ }
333
+ }
334
+ </script>
335
+ ```
336
+
337
+ ## 🐛 问题排查
338
+
339
+ ### 常见问题
340
+
341
+ 1. **样式不生效**
342
+ - 确保已导入 Element UI 样式
343
+ - 检查样式隔离前缀是否正确
344
+
345
+ 2. **图表不显示**
346
+ - 检查数据格式是否正确
347
+ - 确认字段映射配置
348
+
349
+ 3. **组件未注册**
350
+ - 确保已正确使用 `Vue.use(BiDashboard)`
351
+ - 检查组件名称拼写
352
+
353
+ ### 调试模式
354
+
355
+ ```javascript
356
+ // 开启调试模式
357
+ Vue.use(BiDashboard, {
358
+ debug: true,
359
+ config: {
360
+ // 自定义配置
361
+ }
362
+ })
363
+ ```
364
+
365
+ ## 📄 许可证
366
+
367
+ MIT License
368
+
369
+ ## 🤝 贡献
370
+
371
+ 欢迎提交 Issue 和 Pull Request!
372
+
373
+ ## 📞 支持
374
+
375
+ 如有问题,请联系:
376
+ - 邮箱: support@jzliu-cli.com
377
+ - 文档: [在线文档](https://docs.jzliu-cli.com/bi-engine)
378
+
379
+ ---
380
+
381
+ **注意**: 本组件库基于 Vue 2.x 开发,如需使用 Vue 3,请等待后续版本更新。
File without changes
File without changes
Binary file