lambo-design-bi 0.0.210 → 0.0.211

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 (62) hide show
  1. package/bi/designer/index.vue +184 -184
  2. package/bi/designer/widget-panel/config.js +75 -75
  3. package/bi/designer/widget-panel/index.vue +36 -36
  4. package/bi/widget/README.md +18 -18
  5. package/bi/widget/api/config.js +22 -22
  6. package/bi/widget/api/data.js +48 -48
  7. package/bi/widget/atom/index.vue +36 -36
  8. package/bi/widget/atom/test.vue +36 -36
  9. package/bi/widget/charts/index.vue +146 -146
  10. package/bi/widget/charts/util/charts-data-util.js +158 -158
  11. package/bi/widget/config/config.js +8 -8
  12. package/bi/widget/container/card/card-widget.vue +57 -57
  13. package/bi/widget/container/card/comps/indicator-card/index.js +7 -7
  14. package/bi/widget/container/card/comps/indicator-card/src/indicator-card-bi-search.vue +132 -132
  15. package/bi/widget/container/card/comps/indicator-card/src/indicator-card-bi.vue +129 -129
  16. package/bi/widget/container/card/comps/indicator-card/src/indicator-card-item-bi.vue +97 -97
  17. package/bi/widget/container/card/comps/indicator-card/src/styles/css/card-search.less +108 -108
  18. package/bi/widget/container/card/comps/indicator-card/src/styles/css/card.less +108 -108
  19. package/bi/widget/layout/col.vue +43 -43
  20. package/bi/widget/layout/row.vue +47 -47
  21. package/bi/widget/layout/row2.vue +47 -47
  22. package/bi/widget/num/index.vue +181 -181
  23. package/bi/widget/page/child-page-tm.vue +157 -157
  24. package/bi/widget/page/index-page-tm.vue +140 -140
  25. package/bi/widget/page/index.vue +53 -53
  26. package/bi/widget/page/util/common.js +174 -174
  27. package/bi/widget/search/search-form.vue +108 -108
  28. package/bi/widget/search/search-item.vue +225 -225
  29. package/bi/widget/table/detail-table.vue +66 -66
  30. package/bi/widget/table/paging-table.vue +261 -266
  31. package/bi/widget/text/text-group.vue +95 -95
  32. package/bi/widget/util/css-util.js +22 -22
  33. package/bi/widget/util/event-bus.js +9 -9
  34. package/bi/widget/util/router-util.js +100 -100
  35. package/bi/widget/util/widget-map.js +45 -45
  36. package/package.json +1 -1
  37. package/pub/charts/echarts.vue +79 -79
  38. package/pub/charts/factory/charts-factory.vue +58 -58
  39. package/pub/charts/factory/options.js +2892 -2892
  40. package/pub/doc/preview/components/JsPreviewDocx.vue +33 -36
  41. package/pub/doc/preview/components/JsPreviewExcel.vue +33 -33
  42. package/pub/doc/preview/components/JsPreviewPdf.vue +36 -36
  43. package/pub/doc/preview/index.vue +204 -204
  44. package/pub/empty/index.vue +33 -33
  45. package/pub/helpbox/README.md +5 -5
  46. package/pub/helpbox/index.vue +363 -363
  47. package/pub/number-info/number-info.vue +292 -292
  48. package/pub/search/checkbox/index.vue +33 -33
  49. package/pub/search/multi-select/index.vue +172 -172
  50. package/pub/table/detail-table/index.vue +41 -41
  51. package/pub/table/paging-table/README.md +3 -3
  52. package/pub/table/paging-table/comps/export-data.vue +416 -416
  53. package/pub/table/paging-table/comps/export-drawer.vue +431 -431
  54. package/pub/table/paging-table/index.js +3 -3
  55. package/pub/table/paging-table/index.vue +1612 -1612
  56. package/pub/table/paging-table/styles/css/index.less +189 -189
  57. package/pub/text/text-obj-group.vue +38 -38
  58. package/pub/text/text-obj.vue +63 -63
  59. package/pub/theme/color.js +14 -14
  60. package/util/constants.js +58 -58
  61. package/util/math-util.js +251 -251
  62. package/util/num-util.js +16 -16
@@ -1,185 +1,185 @@
1
- <template>
2
- <el-container class="designer-container" direction="vertical">
3
- <!-- 顶部标题栏 -->
4
- <!-- <el-header class="header">
5
- <span>物流查询设计器</span>
6
- </el-header> -->
7
-
8
- <!-- 主体内容区 -->
9
- <el-container class="main-content">
10
- <!-- 左侧面板 -->
11
- <el-aside class="left-panel" width="200px">
12
- <div class="panel-header">
13
- <el-tabs v-model="leftActiveTab" stretch>
14
- <el-tab-pane label="控件" name="control"></el-tab-pane>
15
- <el-tab-pane label="模板" name="template"></el-tab-pane>
16
- </el-tabs>
17
- </div>
18
- <div class="panel-content"></div>
19
- </el-aside>
20
-
21
- <!-- 中间设计区 -->
22
- <el-container direction="vertical" class="center-container">
23
- <!-- 中间头部 -->
24
- <el-header class="center-header">
25
- <!-- 左侧分组 -->
26
- <div class="toolbar-left">
27
- <i class="el-icon-back"></i>
28
- <i class="el-icon-right"></i>
29
- <el-radio-group v-model="device" size="small">
30
- <el-radio-button label="PC"></el-radio-button>
31
- <el-radio-button label="Pad"></el-radio-button>
32
- <el-radio-button label="H5"></el-radio-button>
33
- </el-radio-group>
34
- <el-button size="small" icon="el-icon-s-grid">树</el-button>
35
- </div>
36
-
37
- <!-- 右侧按钮组 -->
38
- <div class="toolbar-right">
39
- <el-button size="small">清空</el-button>
40
- <el-button size="small">预览</el-button>
41
- <el-button size="small">导入JSON</el-button>
42
- <el-button size="small" type="primary">导出JSON</el-button>
43
- <el-button size="small" type="success">导出代码</el-button>
44
- <!-- <el-button size="small" type="warning">生成SFC</el-button> -->
45
- </div>
46
- </el-header>
47
-
48
- <!-- 中间主体 -->
49
- <el-main class="center-panel">
50
- <div class="canvas">
51
- 请从左侧列表中选择一个组件,然后用鼠标拖动组件放置于此处。
52
- </div>
53
- </el-main>
54
- </el-container>
55
-
56
- <!-- 右侧面板 -->
57
- <el-aside class="right-panel" width="250px">
58
- <div class="panel-header">
59
- <el-tabs v-model="rightActiveTab" stretch>
60
- <el-tab-pane label="组件设置" name="component"></el-tab-pane>
61
- <el-tab-pane label="表单设置" name="form"></el-tab-pane>
62
- </el-tabs>
63
- </div>
64
- <div class="panel-content"></div>
65
- </el-aside>
66
- </el-container>
67
- </el-container>
68
- </template>
69
-
70
- <script>
71
- export default {
72
- name: 'BiDesigner',
73
- data() {
74
- return {
75
- leftActiveTab: 'control',
76
- rightActiveTab: 'component',
77
- device: 'PC'
78
- }
79
- }
80
- }
81
- </script>
82
-
83
- <style scoped>
84
- .designer-container {
85
- height: 100vh;
86
- width: 100vw;
87
- }
88
-
89
- /* .header {
90
- height: 32px;
91
- line-height: 32px;
92
- padding-left: 20px;
93
- border-bottom: 1px solid #dcdfe6;
94
- background: #fff;
95
- font-size: 16px;
96
- font-weight: bold;
97
- } */
98
-
99
- .main-content {
100
- height: calc(100vh - 48px);
101
- min-width: 1024px;
102
- }
103
-
104
- .left-panel {
105
- border-right: 1px solid #dcdfe6;
106
- background: #fff;
107
- }
108
-
109
- .panel-header {
110
- border-bottom: 1px solid #dcdfe6;
111
- height: 40px;
112
- }
113
-
114
- .panel-content {
115
- flex: 1;
116
- overflow-y: auto;
117
- padding: 16px;
118
- }
119
-
120
- .center-container {
121
- flex: 1;
122
- min-width: 500px;
123
- }
124
-
125
- .center-header {
126
- height: 40px;
127
- min-height: 40px;
128
- line-height: 40px;
129
- padding: 0 12px;
130
- border-bottom: 1px solid #dcdfe6;
131
- background: #fff;
132
- display: flex;
133
- align-items: center;
134
- justify-content: space-between;
135
- }
136
-
137
- .toolbar-left {
138
- display: flex;
139
- align-items: center;
140
- gap: 10px;
141
- }
142
-
143
- .toolbar-left i {
144
- font-size: 14px;
145
- color: #606266;
146
- cursor: pointer;
147
- line-height: 1;
148
- }
149
-
150
- .toolbar-right {
151
- display: flex;
152
- align-items: center;
153
- gap: 6px;
154
- }
155
-
156
- /* 调整按钮间距和内边距 */
157
- .toolbar-right .el-button {
158
- padding: 6px 10px;
159
- }
160
-
161
- .center-panel {
162
- padding: 20px;
163
- background: #f5f7fa;
164
- }
165
-
166
- .canvas {
167
- width: 100%;
168
- height: 100%;
169
- background: #fff;
170
- border: 1px solid #dcdfe6;
171
- border-radius: 4px;
172
- display: flex;
173
- align-items: center;
174
- justify-content: center;
175
- color: #909399;
176
- font-size: 14px;
177
- text-align: center;
178
- padding: 40px;
179
- }
180
-
181
- .right-panel {
182
- border-left: 1px solid #dcdfe6;
183
- background: #fff;
184
- }
1
+ <template>
2
+ <el-container class="designer-container" direction="vertical">
3
+ <!-- 顶部标题栏 -->
4
+ <!-- <el-header class="header">
5
+ <span>物流查询设计器</span>
6
+ </el-header> -->
7
+
8
+ <!-- 主体内容区 -->
9
+ <el-container class="main-content">
10
+ <!-- 左侧面板 -->
11
+ <el-aside class="left-panel" width="200px">
12
+ <div class="panel-header">
13
+ <el-tabs v-model="leftActiveTab" stretch>
14
+ <el-tab-pane label="控件" name="control"></el-tab-pane>
15
+ <el-tab-pane label="模板" name="template"></el-tab-pane>
16
+ </el-tabs>
17
+ </div>
18
+ <div class="panel-content"></div>
19
+ </el-aside>
20
+
21
+ <!-- 中间设计区 -->
22
+ <el-container direction="vertical" class="center-container">
23
+ <!-- 中间头部 -->
24
+ <el-header class="center-header">
25
+ <!-- 左侧分组 -->
26
+ <div class="toolbar-left">
27
+ <i class="el-icon-back"></i>
28
+ <i class="el-icon-right"></i>
29
+ <el-radio-group v-model="device" size="small">
30
+ <el-radio-button label="PC"></el-radio-button>
31
+ <el-radio-button label="Pad"></el-radio-button>
32
+ <el-radio-button label="H5"></el-radio-button>
33
+ </el-radio-group>
34
+ <el-button size="small" icon="el-icon-s-grid">树</el-button>
35
+ </div>
36
+
37
+ <!-- 右侧按钮组 -->
38
+ <div class="toolbar-right">
39
+ <el-button size="small">清空</el-button>
40
+ <el-button size="small">预览</el-button>
41
+ <el-button size="small">导入JSON</el-button>
42
+ <el-button size="small" type="primary">导出JSON</el-button>
43
+ <el-button size="small" type="success">导出代码</el-button>
44
+ <!-- <el-button size="small" type="warning">生成SFC</el-button> -->
45
+ </div>
46
+ </el-header>
47
+
48
+ <!-- 中间主体 -->
49
+ <el-main class="center-panel">
50
+ <div class="canvas">
51
+ 请从左侧列表中选择一个组件,然后用鼠标拖动组件放置于此处。
52
+ </div>
53
+ </el-main>
54
+ </el-container>
55
+
56
+ <!-- 右侧面板 -->
57
+ <el-aside class="right-panel" width="250px">
58
+ <div class="panel-header">
59
+ <el-tabs v-model="rightActiveTab" stretch>
60
+ <el-tab-pane label="组件设置" name="component"></el-tab-pane>
61
+ <el-tab-pane label="表单设置" name="form"></el-tab-pane>
62
+ </el-tabs>
63
+ </div>
64
+ <div class="panel-content"></div>
65
+ </el-aside>
66
+ </el-container>
67
+ </el-container>
68
+ </template>
69
+
70
+ <script>
71
+ export default {
72
+ name: 'BiDesigner',
73
+ data() {
74
+ return {
75
+ leftActiveTab: 'control',
76
+ rightActiveTab: 'component',
77
+ device: 'PC'
78
+ }
79
+ }
80
+ }
81
+ </script>
82
+
83
+ <style scoped>
84
+ .designer-container {
85
+ height: 100vh;
86
+ width: 100vw;
87
+ }
88
+
89
+ /* .header {
90
+ height: 32px;
91
+ line-height: 32px;
92
+ padding-left: 20px;
93
+ border-bottom: 1px solid #dcdfe6;
94
+ background: #fff;
95
+ font-size: 16px;
96
+ font-weight: bold;
97
+ } */
98
+
99
+ .main-content {
100
+ height: calc(100vh - 48px);
101
+ min-width: 1024px;
102
+ }
103
+
104
+ .left-panel {
105
+ border-right: 1px solid #dcdfe6;
106
+ background: #fff;
107
+ }
108
+
109
+ .panel-header {
110
+ border-bottom: 1px solid #dcdfe6;
111
+ height: 40px;
112
+ }
113
+
114
+ .panel-content {
115
+ flex: 1;
116
+ overflow-y: auto;
117
+ padding: 16px;
118
+ }
119
+
120
+ .center-container {
121
+ flex: 1;
122
+ min-width: 500px;
123
+ }
124
+
125
+ .center-header {
126
+ height: 40px;
127
+ min-height: 40px;
128
+ line-height: 40px;
129
+ padding: 0 12px;
130
+ border-bottom: 1px solid #dcdfe6;
131
+ background: #fff;
132
+ display: flex;
133
+ align-items: center;
134
+ justify-content: space-between;
135
+ }
136
+
137
+ .toolbar-left {
138
+ display: flex;
139
+ align-items: center;
140
+ gap: 10px;
141
+ }
142
+
143
+ .toolbar-left i {
144
+ font-size: 14px;
145
+ color: #606266;
146
+ cursor: pointer;
147
+ line-height: 1;
148
+ }
149
+
150
+ .toolbar-right {
151
+ display: flex;
152
+ align-items: center;
153
+ gap: 6px;
154
+ }
155
+
156
+ /* 调整按钮间距和内边距 */
157
+ .toolbar-right .el-button {
158
+ padding: 6px 10px;
159
+ }
160
+
161
+ .center-panel {
162
+ padding: 20px;
163
+ background: #f5f7fa;
164
+ }
165
+
166
+ .canvas {
167
+ width: 100%;
168
+ height: 100%;
169
+ background: #fff;
170
+ border: 1px solid #dcdfe6;
171
+ border-radius: 4px;
172
+ display: flex;
173
+ align-items: center;
174
+ justify-content: center;
175
+ color: #909399;
176
+ font-size: 14px;
177
+ text-align: center;
178
+ padding: 40px;
179
+ }
180
+
181
+ .right-panel {
182
+ border-left: 1px solid #dcdfe6;
183
+ background: #fff;
184
+ }
185
185
  </style>
@@ -1,76 +1,76 @@
1
-
2
- export const widgetConfigs = [
3
- {
4
- type: '32',
5
- options: {
6
- name: '行布局',
7
- gutter: 5 // 间隔单位px
8
- }
9
- },
10
- {
11
- type: '33',
12
- options: {
13
- name: '列布局',
14
- width: 12 // 24格布局
15
- }
16
- },
17
- {
18
- type: '40',
19
- options: {
20
- name: '容器卡片',
21
- title: '',
22
- style: '' // 样式的json字符串
23
- }
24
- },
25
- {
26
- type: '41',
27
- options: {
28
- name: '数字指标',
29
- title: '',
30
- apiId: '',
31
- toPageId: '',
32
- toRouteName: '',
33
- idxBizCode: '',
34
- defTabActive: '0'
35
- }
36
- },
37
- {
38
- type: '46',
39
- widgets: [], // TODO 这个地方详情不全
40
- options: {
41
- name: '文字指标组',
42
- title: ''
43
- }
44
- },
45
- {
46
- type: '50',
47
- options: {
48
- name: '表格',
49
- title: '',
50
- apiId: '',
51
- columns: '',
52
- isPaging: '',
53
- pageSize: '',
54
- isPageSum: '',
55
- isAllSum: '',
56
- type: ''
57
- }
58
- },
59
- {
60
- type: '51',
61
- options: {
62
- name: '明细表格',
63
- apiId: '',
64
- columns: ''
65
- }
66
- },
67
- {
68
- type: '60',
69
- options: {
70
- name: '图表',
71
- title: '',
72
- apiId: '',
73
- noteApiId: ''
74
- }
75
- }
1
+
2
+ export const widgetConfigs = [
3
+ {
4
+ type: '32',
5
+ options: {
6
+ name: '行布局',
7
+ gutter: 5 // 间隔单位px
8
+ }
9
+ },
10
+ {
11
+ type: '33',
12
+ options: {
13
+ name: '列布局',
14
+ width: 12 // 24格布局
15
+ }
16
+ },
17
+ {
18
+ type: '40',
19
+ options: {
20
+ name: '容器卡片',
21
+ title: '',
22
+ style: '' // 样式的json字符串
23
+ }
24
+ },
25
+ {
26
+ type: '41',
27
+ options: {
28
+ name: '数字指标',
29
+ title: '',
30
+ apiId: '',
31
+ toPageId: '',
32
+ toRouteName: '',
33
+ idxBizCode: '',
34
+ defTabActive: '0'
35
+ }
36
+ },
37
+ {
38
+ type: '46',
39
+ widgets: [], // TODO 这个地方详情不全
40
+ options: {
41
+ name: '文字指标组',
42
+ title: ''
43
+ }
44
+ },
45
+ {
46
+ type: '50',
47
+ options: {
48
+ name: '表格',
49
+ title: '',
50
+ apiId: '',
51
+ columns: '',
52
+ isPaging: '',
53
+ pageSize: '',
54
+ isPageSum: '',
55
+ isAllSum: '',
56
+ type: ''
57
+ }
58
+ },
59
+ {
60
+ type: '51',
61
+ options: {
62
+ name: '明细表格',
63
+ apiId: '',
64
+ columns: ''
65
+ }
66
+ },
67
+ {
68
+ type: '60',
69
+ options: {
70
+ name: '图表',
71
+ title: '',
72
+ apiId: '',
73
+ noteApiId: ''
74
+ }
75
+ }
76
76
  ]
@@ -1,37 +1,37 @@
1
- <template>
2
- <el-tabs type="card" v-model="activeName" @tab-click="handleClick">
3
- <el-tab-pane label="控件" name="wd">
4
-
5
- </el-tab-pane>
6
- <el-tab-pane label="模板" name="tm">
7
- 模板
8
- </el-tab-pane>
9
- </el-tabs>
10
- </template>
11
- <script>
12
-
13
- export default {
14
- name: "DsWidgetPanel",
15
- data() {
16
- return {
17
- activeName: 'wd'
18
- }
19
- },
20
- methods: {
21
- handleClick(tab, event) {
22
- console.log(tab, event)
23
- }
24
- }
25
- };
26
- </script>
27
- <style scoped>
28
- /* .no-bottom-margin ::v-deep .el-tabs__header {
29
- margin-bottom: 0;
30
- }
31
-
32
- .indent-left-margin {
33
- ::v-deep .el-tabs__nav {
34
- margin-left: 20px;
35
- }
36
- } */
1
+ <template>
2
+ <el-tabs type="card" v-model="activeName" @tab-click="handleClick">
3
+ <el-tab-pane label="控件" name="wd">
4
+
5
+ </el-tab-pane>
6
+ <el-tab-pane label="模板" name="tm">
7
+ 模板
8
+ </el-tab-pane>
9
+ </el-tabs>
10
+ </template>
11
+ <script>
12
+
13
+ export default {
14
+ name: "DsWidgetPanel",
15
+ data() {
16
+ return {
17
+ activeName: 'wd'
18
+ }
19
+ },
20
+ methods: {
21
+ handleClick(tab, event) {
22
+ console.log(tab, event)
23
+ }
24
+ }
25
+ };
26
+ </script>
27
+ <style scoped>
28
+ /* .no-bottom-margin ::v-deep .el-tabs__header {
29
+ margin-bottom: 0;
30
+ }
31
+
32
+ .indent-left-margin {
33
+ ::v-deep .el-tabs__nav {
34
+ margin-left: 20px;
35
+ }
36
+ } */
37
37
  </style>
@@ -1,18 +1,18 @@
1
- ## 自定义配置查询功能组件路径
2
- ### common(普通组件)
3
- #### charts(图表)
4
-
5
- ---
6
- ### widget(需要配置的组件)
7
- #### layout(布局)
8
- - row 行布局
9
- - col 列布局
10
-
11
- #### table(表格)
12
- - paging-table 分页表格
13
-
14
- #### container(容器)
15
-
16
-
17
-
18
-
1
+ ## 自定义配置查询功能组件路径
2
+ ### common(普通组件)
3
+ #### charts(图表)
4
+
5
+ ---
6
+ ### widget(需要配置的组件)
7
+ #### layout(布局)
8
+ - row 行布局
9
+ - col 列布局
10
+
11
+ #### table(表格)
12
+ - paging-table 分页表格
13
+
14
+ #### container(容器)
15
+
16
+
17
+
18
+
@@ -1,22 +1,22 @@
1
- import biConfig from "../config/config";
2
- import ajax from "@lambo-design/shared/utils/ajax";
3
-
4
- /**
5
- * 获取页面配置
6
- *
7
- * @param {*} pageId
8
- * @returns
9
- */
10
- export function getPageConfig(pageId) {
11
- const params = {
12
- pageId: pageId
13
- }
14
- return ajax.request({
15
- url: biConfig.dataServerContext + '/bi/config/page',
16
- method: 'get',
17
- params
18
- })
19
- }
20
-
21
- // Get获取文件流
22
- export const fileGetUrl = biConfig.sclDocServerContext + '/doc/file/get/'
1
+ import biConfig from "../config/config";
2
+ import ajax from "@lambo-design/shared/utils/ajax";
3
+
4
+ /**
5
+ * 获取页面配置
6
+ *
7
+ * @param {*} pageId
8
+ * @returns
9
+ */
10
+ export function getPageConfig(pageId) {
11
+ const params = {
12
+ pageId: pageId
13
+ }
14
+ return ajax.request({
15
+ url: biConfig.dataServerContext + '/bi/config/page',
16
+ method: 'get',
17
+ params
18
+ })
19
+ }
20
+
21
+ // Get获取文件流
22
+ export const fileGetUrl = biConfig.sclDocServerContext + '/doc/file/get/'