imatrix-ui 2.8.21 → 2.8.22-boe2
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/lib/super-ui.css +1 -1
- package/lib/super-ui.umd.min.js +5 -5
- package/package.json +2 -2
- package/src/api/sso-service.js +19 -1
- package/src/i18n/langs/cn.js +13 -3
- package/src/i18n/langs/en.js +15 -4
- package/src/router/index.js +10 -0
- package/src/store/modules/tab-content.js +6 -0
- package/src/store/modules/user.js +19 -0
- package/src/styles/index.scss +72 -2
- package/src/styles/theme/black/font-style.scss +70 -0
- package/src/styles/theme/black/index.scss +6 -30
- package/src/styles/theme/blue/font-style.scss +37 -0
- package/src/styles/theme/blue/index.scss +2 -18
- package/src/styles/theme/blue2/font-style.scss +70 -0
- package/src/styles/theme/blue2/index.scss +3 -13
- package/src/styles/theme/dark-blue/index.scss +26 -5
- package/src/styles/theme/dark-blue/sidebar.scss +7 -37
- package/src/styles/theme/dark-blue/table.scss +1 -1
- package/src/styles/theme/gray/card-style.scss +13 -1
- package/src/styles/theme/gray/font-style.scss +38 -0
- package/src/styles/theme/gray/index.scss +13 -25
- package/src/styles/theme/gray/scrollbar-style.scss +32 -0
- package/src/styles/theme/gray/sidebar.scss +5 -0
- package/src/utils/auth-api.js +45 -1
- package/src/utils/common-util.js +11 -0
- package/src/utils/range-selector.js +185 -0
- package/src/utils/request.js +5 -2
- package/src/utils/util.js +7 -5
- package/src/views/dsc-component/Sidebar/Item.vue +4 -2
- package/src/views/dsc-component/Sidebar/SidebarItem.vue +1 -2
- package/src/views/dsc-component/Sidebar/index.vue +12 -20
- package/src/views/dsc-component/tabs/tab-content.vue +1 -5
- package/src/views/layout/NewLayout.vue +6 -65
- package/src/views/layout/components/Menubar/Item.vue +23 -7
- package/src/views/layout/components/Menubar/Link.vue +11 -2
- package/src/views/layout/components/Menubar/SidebarItem.vue +50 -7
- package/src/views/layout/components/Menubar/index.vue +51 -16
- package/src/views/layout/components/tabs/tab-content.vue +160 -0
- package/src/views/layout/tab-content-iframe-index.vue +31 -0
- package/src/views/layout/tab-content-index.vue +85 -0
- package/packages/breadcrumb/index.js +0 -6
- package/packages/breadcrumb/src/breadcrumb.vue +0 -71
- package/packages/department-tree/index.js +0 -6
- package/packages/department-tree/src/department-tree.vue +0 -108
- package/packages/department-tree-inline/index.js +0 -6
- package/packages/department-tree-inline/src/department-multi-tree-inline.vue +0 -402
- package/packages/department-tree-inline/src/department-single-tree-inline.vue +0 -284
- package/packages/department-tree-inline/src/department-tree-inline.vue +0 -86
- package/packages/department-tree-inline/src/department-tree-service.js +0 -245
- package/packages/department-tree-inline/src/search-result.vue +0 -176
- package/packages/department-user-tree/index.js +0 -6
- package/packages/department-user-tree/src/department-user-multiple-tree.vue +0 -116
- package/packages/department-user-tree/src/department-user-single-tree.vue +0 -76
- package/packages/department-user-tree/src/department-user-tree.vue +0 -101
- package/packages/department-user-tree-inline/index.js +0 -6
- package/packages/department-user-tree-inline/src/department-user-multiple-tree-inline.vue +0 -626
- package/packages/department-user-tree-inline/src/department-user-single-tree-inline.vue +0 -269
- package/packages/department-user-tree-inline/src/department-user-tree-inline.vue +0 -79
- package/packages/department-user-tree-inline/src/department-user-tree-multi-service.js +0 -230
- package/packages/department-user-tree-inline/src/department-user-tree-single-service.js +0 -122
- package/packages/department-user-tree-inline/src/search-result.vue +0 -197
- package/packages/directives/prevent-reclick.js +0 -19
- package/packages/dynamic-source-select/index.js +0 -6
- package/packages/dynamic-source-select/src/dynamic-source-select-service.js +0 -70
- package/packages/dynamic-source-select/src/dynamic-source-select.vue +0 -440
- package/packages/dynamic-source-select/src/events.js +0 -55
- package/packages/fs-preview/index.js +0 -6
- package/packages/fs-preview/src/fs-preview.vue +0 -226
- package/packages/fs-upload/index.js +0 -6
- package/packages/fs-upload/src/fs-upload-multi.vue +0 -420
- package/packages/fs-upload/src/fs-upload-single.vue +0 -312
- package/packages/fs-upload/src/fs-upload.vue +0 -189
- package/packages/fs-upload/src/see-big-picture.vue +0 -55
- package/packages/fs-upload-list/index.js +0 -6
- package/packages/fs-upload-list/src/fs-upload-list.vue +0 -287
- package/packages/hamburger/index.js +0 -6
- package/packages/hamburger/src/hamburger.vue +0 -38
- package/packages/index.js +0 -121
- package/packages/multipart-upload/index.js +0 -6
- package/packages/multipart-upload/src/index.vue +0 -73
- package/packages/multipart-upload/src/multipart-upload-form.vue +0 -297
- package/packages/multipart-upload/src/multipart-upload-list.vue +0 -378
- package/packages/organization-input/index.js +0 -6
- package/packages/organization-input/src/organization-input.vue +0 -542
- package/packages/plugins/export-data-new.js +0 -453
- package/packages/plugins/export-data.js +0 -361
- package/packages/plugins/index.js +0 -15
- package/packages/plugins/public-method.js +0 -43
- package/packages/remove-department/index.js +0 -6
- package/packages/remove-department/src/remove-department.vue +0 -172
- package/packages/remove-department/src/remove-dept-service.js +0 -20
- package/packages/remove-user/index.js +0 -6
- package/packages/remove-user/src/remove-user-service.js +0 -20
- package/packages/remove-user/src/remove-user.vue +0 -195
- package/packages/remove-workgroup/index.js +0 -6
- package/packages/remove-workgroup/src/remove-workgroup-service.js +0 -20
- package/packages/remove-workgroup/src/remove-workgroup.vue +0 -159
- package/packages/rich-editor/index.js +0 -7
- package/packages/rich-editor/index.vue +0 -278
- package/packages/rich-editor/langs/zh-Hans.js +0 -1
- package/packages/rich-editor/viewer.vue +0 -103
- package/packages/scan-code-input/index.js +0 -6
- package/packages/scan-code-input/src/events.js +0 -33
- package/packages/scan-code-input/src/scan-code-input-colse.vue +0 -131
- package/packages/scan-code-input/src/scan-code-input.vue +0 -116
- package/packages/secret-info/index.js +0 -7
- package/packages/secret-info/index.vue +0 -90
- package/packages/super-grid/index.js +0 -7
- package/packages/super-grid/src/apis.js +0 -763
- package/packages/super-grid/src/columns-config.vue +0 -335
- package/packages/super-grid/src/custom-formatter.js +0 -250
- package/packages/super-grid/src/dynamic-input.vue +0 -1279
- package/packages/super-grid/src/eventBus.js +0 -2
- package/packages/super-grid/src/events.js +0 -55
- package/packages/super-grid/src/formValidatorUtil.js +0 -226
- package/packages/super-grid/src/formatter.js +0 -181
- package/packages/super-grid/src/group-column.vue +0 -100
- package/packages/super-grid/src/header-context-menu.vue +0 -87
- package/packages/super-grid/src/index-column.vue +0 -51
- package/packages/super-grid/src/normal-column.vue +0 -769
- package/packages/super-grid/src/public-methods.js +0 -31
- package/packages/super-grid/src/row-operation.vue +0 -161
- package/packages/super-grid/src/search-button.vue +0 -66
- package/packages/super-grid/src/search-condition-input.vue +0 -61
- package/packages/super-grid/src/search-condition-list.vue +0 -59
- package/packages/super-grid/src/search-form-advancedQuery.vue +0 -653
- package/packages/super-grid/src/search-form-dialog.vue +0 -79
- package/packages/super-grid/src/search-form-item.vue +0 -386
- package/packages/super-grid/src/search-form-number.vue +0 -38
- package/packages/super-grid/src/search-form-open.vue +0 -162
- package/packages/super-grid/src/search-form-ordinarySearch.vue +0 -188
- package/packages/super-grid/src/search-form.vue +0 -634
- package/packages/super-grid/src/search-methods.js +0 -387
- package/packages/super-grid/src/selection-column.vue +0 -43
- package/packages/super-grid/src/store.js +0 -3
- package/packages/super-grid/src/super-grid-service.js +0 -561
- package/packages/super-grid/src/super-grid.vue +0 -2793
- package/packages/super-grid/src/utils.js +0 -763
- package/packages/super-grid/src/view-image-dialog.vue +0 -130
- package/packages/super-nine-grid/index.js +0 -7
- package/packages/super-nine-grid/src/apis.js +0 -103
- package/packages/super-nine-grid/src/custom-formatter.js +0 -66
- package/packages/super-nine-grid/src/formatter.js +0 -132
- package/packages/super-nine-grid/src/search-form-number.vue +0 -38
- package/packages/super-nine-grid/src/search-form.vue +0 -430
- package/packages/super-nine-grid/src/search-methods.js +0 -134
- package/packages/super-nine-grid/src/store.js +0 -3
- package/packages/super-nine-grid/src/super-grid-service.js +0 -91
- package/packages/super-nine-grid/src/super-nine-grid.vue +0 -872
- package/packages/super-nine-grid/src/utils.js +0 -261
- package/packages/svg-icon/index.js +0 -6
- package/packages/svg-icon/src/svg-icon.vue +0 -43
- package/packages/utils/utils.js +0 -152
- package/packages/utils/value-set.js +0 -86
- package/packages/valid-code/index.js +0 -7
- package/packages/valid-code/src/valid-code.vue +0 -95
- package/packages/workflow-button/index.js +0 -6
- package/packages/workflow-button/src/workflow-button.vue +0 -325
- package/packages/workflow-history-list/index.js +0 -6
- package/packages/workflow-history-list/src/api.js +0 -7
- package/packages/workflow-history-list/src/workflow-history-list.vue +0 -185
- package/packages/workgroup-tree/index.js +0 -6
- package/packages/workgroup-tree/src/workgroup-tree.vue +0 -76
- package/packages/workgroup-tree-inline/index.js +0 -6
- package/packages/workgroup-tree-inline/src/workgroup-tree-inline.vue +0 -317
- package/packages/workgroup-tree-inline/src/workgroup-tree-service.js +0 -43
- package/packages/workgroup-user-tree/index.js +0 -6
- package/packages/workgroup-user-tree/src/workgroup-user-tree.vue +0 -100
- package/packages/workgroup-user-tree-inline/index.js +0 -6
- package/packages/workgroup-user-tree-inline/src/workgroup-tree-inline-service.js +0 -163
- package/packages/workgroup-user-tree-inline/src/workgroup-user-tree-inline.vue +0 -436
- package/packages/year-range-picker/index.js +0 -6
- package/packages/year-range-picker/src/year-range-picker.vue +0 -51
- package/src/index.js +0 -93
- package/src/styles/theme/gray/form-style.scss +0 -41
|
@@ -6,30 +6,26 @@
|
|
|
6
6
|
.main-container {
|
|
7
7
|
height: 100%;
|
|
8
8
|
transition: margin-left .28s;
|
|
9
|
-
margin-left:
|
|
9
|
+
margin-left: 224px;
|
|
10
10
|
// padding-left: 24px;
|
|
11
11
|
position: relative;
|
|
12
12
|
background: #F8F9FA;
|
|
13
13
|
|
|
14
14
|
.nav-tab {
|
|
15
|
-
padding-top:
|
|
16
|
-
padding-left:
|
|
17
|
-
.el-tabs__header{
|
|
18
|
-
padding-left: 24px;
|
|
19
|
-
}
|
|
15
|
+
padding-top: 5px;
|
|
16
|
+
padding-left: 5px;
|
|
20
17
|
}
|
|
21
18
|
}
|
|
22
19
|
|
|
23
20
|
// 侧边栏
|
|
24
21
|
.sidebar-container {
|
|
25
22
|
transition: width 0.28s;
|
|
26
|
-
width:
|
|
23
|
+
width: 224px !important;
|
|
27
24
|
height: 100%;
|
|
28
25
|
position: fixed;
|
|
29
26
|
top: 0;
|
|
30
27
|
bottom: 0;
|
|
31
28
|
left: 0;
|
|
32
|
-
padding-top: 16px;
|
|
33
29
|
z-index: 1001;
|
|
34
30
|
overflow: hidden;
|
|
35
31
|
font-weight: medium;
|
|
@@ -173,11 +169,11 @@
|
|
|
173
169
|
|
|
174
170
|
.sidebar-container .nest-menu .el-submenu>.el-submenu__title,
|
|
175
171
|
.sidebar-container .el-submenu .el-menu-item {
|
|
176
|
-
min-width:
|
|
172
|
+
min-width: 224px !important;
|
|
177
173
|
}
|
|
178
174
|
|
|
179
175
|
.sidebar-container .el-menu--collapse .el-menu .el-submenu {
|
|
180
|
-
min-width:
|
|
176
|
+
min-width: 224px !important;
|
|
181
177
|
}
|
|
182
178
|
|
|
183
179
|
.sidebar-container .el-menu--collapse .el-submenu.is-active>.el-submenu__title,
|
|
@@ -185,7 +181,7 @@
|
|
|
185
181
|
background-color: #FFFFFF !important;
|
|
186
182
|
color: #1A6BF3;
|
|
187
183
|
font-weight: medium;
|
|
188
|
-
border-
|
|
184
|
+
border-right: 2px solid #3D4CF2
|
|
189
185
|
}
|
|
190
186
|
|
|
191
187
|
.sidebar-container .el-menu--collapse .el-submenu__title:not(.is-disabled):hover,
|
|
@@ -227,10 +223,6 @@
|
|
|
227
223
|
}
|
|
228
224
|
}
|
|
229
225
|
|
|
230
|
-
.sidebar-container-popper {
|
|
231
|
-
width: 180px;
|
|
232
|
-
}
|
|
233
|
-
|
|
234
226
|
.sidebar-container-popper .el-submenu__title:not(.is-disabled):hover {
|
|
235
227
|
background: #F7F7F8;
|
|
236
228
|
color: rgba(0, 13, 31, 0.85);
|
|
@@ -259,33 +251,11 @@
|
|
|
259
251
|
text-align: left;
|
|
260
252
|
}
|
|
261
253
|
|
|
262
|
-
//侧边弹出菜单样式
|
|
263
|
-
.sidebar-container-popper .el-menu-item {
|
|
264
|
-
height: 46px;
|
|
265
|
-
line-height: 46px;
|
|
266
|
-
font-weight: medium;
|
|
267
|
-
color: #A4ABB8;
|
|
268
|
-
min-width: 164px;
|
|
269
|
-
}
|
|
270
|
-
|
|
271
|
-
.sidebar-container-popper .el-submenu__title {
|
|
272
|
-
height: 46px;
|
|
273
|
-
line-height: 46px;
|
|
274
|
-
color: #A4ABB8;
|
|
275
|
-
font-weight: medium;
|
|
276
|
-
}
|
|
277
254
|
|
|
278
255
|
.sidebar-container-popper .el-menu--collapse {
|
|
279
256
|
text-align: left;
|
|
280
257
|
}
|
|
281
258
|
|
|
282
|
-
.sidebar-container-popper .el-menu--popup {
|
|
283
|
-
min-width: 180px;
|
|
284
|
-
padding: 12px 8px 12px 8px;
|
|
285
|
-
}
|
|
286
|
-
|
|
287
|
-
|
|
288
|
-
|
|
289
259
|
.el-menu--vertical {
|
|
290
260
|
&>.el-menu {
|
|
291
261
|
.svg-icon {
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
// }
|
|
23
23
|
|
|
24
24
|
.el-table .el-table__cell {
|
|
25
|
+
color: $table-cell-font-color;
|
|
25
26
|
padding: 0;
|
|
26
27
|
}
|
|
27
28
|
|
|
@@ -38,7 +39,6 @@
|
|
|
38
39
|
|
|
39
40
|
// 表格内容颜色
|
|
40
41
|
.el-table .cell {
|
|
41
|
-
color: $table-cell-font-color;
|
|
42
42
|
font-family: Source Han Sans CN;
|
|
43
43
|
font-weight: regular;
|
|
44
44
|
font-size: 14px;
|
|
@@ -38,5 +38,17 @@
|
|
|
38
38
|
|
|
39
39
|
|
|
40
40
|
}
|
|
41
|
-
|
|
41
|
+
.gray_card_box {
|
|
42
|
+
border-radius: 6px;
|
|
43
|
+
background: #FFFFFF;
|
|
44
|
+
padding: 20px;
|
|
45
|
+
box-shadow: 0px 1px 8px 0px #00000019;
|
|
46
|
+
box-sizing: border-box;
|
|
47
|
+
overflow-y: scroll;
|
|
48
|
+
}
|
|
49
|
+
.gray_buttomBtn_box{
|
|
50
|
+
position: fixed;
|
|
51
|
+
bottom: 0;
|
|
52
|
+
right: 4%;
|
|
53
|
+
}
|
|
42
54
|
}
|
|
@@ -29,4 +29,42 @@
|
|
|
29
29
|
color: rgba(0, 13, 31, 0.85);
|
|
30
30
|
}
|
|
31
31
|
}
|
|
32
|
+
|
|
33
|
+
.page-layout__title {
|
|
34
|
+
width: 46px;
|
|
35
|
+
height: 16px;
|
|
36
|
+
font-size: 11px;
|
|
37
|
+
font-weight: 500;
|
|
38
|
+
color: #333333;
|
|
39
|
+
line-height: 13px;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.component-type-name__title {
|
|
43
|
+
width: 40px;
|
|
44
|
+
height: 14px;
|
|
45
|
+
font-size: 10px;
|
|
46
|
+
font-weight: 500;
|
|
47
|
+
color: #333333;
|
|
48
|
+
line-height: 12px;
|
|
49
|
+
// -webkit-background-clip: text;
|
|
50
|
+
// -webkit-text-fill-color: transparent;
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.page-layout__title::before {
|
|
54
|
+
content: "";
|
|
55
|
+
text-align: center;
|
|
56
|
+
background: #1A6BF3;
|
|
57
|
+
float: left;
|
|
58
|
+
position: relative;
|
|
59
|
+
border-radius: 3px;
|
|
60
|
+
/** 定义成 block 元素 **/
|
|
61
|
+
display: block;
|
|
62
|
+
// height: 21px;
|
|
63
|
+
// width: 4px;
|
|
64
|
+
margin-right: 12px;
|
|
65
|
+
|
|
66
|
+
width: 2px;
|
|
67
|
+
height: 16px;
|
|
68
|
+
|
|
69
|
+
}
|
|
32
70
|
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
@import './card-style.scss';
|
|
4
4
|
@import './tab-style.scss';
|
|
5
5
|
@import './input-style.scss';
|
|
6
|
-
@import './
|
|
6
|
+
@import './scrollbar-style.scss';
|
|
7
7
|
|
|
8
8
|
.gray {
|
|
9
9
|
font-family: microsoft yahei, Arial, Helvetica, sans-serif;
|
|
@@ -76,8 +76,9 @@
|
|
|
76
76
|
}
|
|
77
77
|
|
|
78
78
|
.app-container {
|
|
79
|
-
|
|
80
|
-
|
|
79
|
+
padding: 20px;
|
|
80
|
+
border-radius: 6px;
|
|
81
|
+
box-shadow: 0px 1px 8px 0px #00000019;
|
|
81
82
|
|
|
82
83
|
.box-card {
|
|
83
84
|
margin: 16px 24px;
|
|
@@ -95,26 +96,6 @@
|
|
|
95
96
|
}
|
|
96
97
|
|
|
97
98
|
|
|
98
|
-
.form-container {
|
|
99
|
-
height: calc(100vh - 82px);
|
|
100
|
-
overflow: auto;
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
.form-container .el-form .el-card {
|
|
104
|
-
margin-bottom: 10px;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
.form-container .el-form .el-card:last-child {
|
|
108
|
-
margin-bottom: 0;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
// 带有tab页签的表单高度
|
|
112
|
-
.tab-form-container {
|
|
113
|
-
height: calc(100vh - 190px);
|
|
114
|
-
overflow: auto;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
|
|
118
99
|
// 解决tab页签中内容多时没有滚动条问题
|
|
119
100
|
.el-tabs__content {
|
|
120
101
|
flex-grow: 1;
|
|
@@ -173,12 +154,19 @@
|
|
|
173
154
|
.el-table th {
|
|
174
155
|
padding: 0;
|
|
175
156
|
}
|
|
157
|
+
|
|
176
158
|
/**表格内容纵向分隔线去掉**/
|
|
177
|
-
.el-table--border td,
|
|
159
|
+
.el-table--border td,
|
|
160
|
+
.el-table--border th,
|
|
161
|
+
.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed {
|
|
178
162
|
border-right: 0px
|
|
179
163
|
}
|
|
164
|
+
|
|
180
165
|
/**表格标题纵向分隔线颜色调浅点儿**/
|
|
181
|
-
.el-table--border td,
|
|
166
|
+
.el-table--border td,
|
|
167
|
+
.el-table--border th,
|
|
168
|
+
.el-table--border th.is-leaf,
|
|
169
|
+
.el-table__body-wrapper .el-table--border.is-scrolling-left~.el-table__fixed {
|
|
182
170
|
border-right: 1px solid #fefefe;
|
|
183
171
|
}
|
|
184
172
|
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
.dark-blue {
|
|
2
|
+
|
|
3
|
+
// 滚动条基础样式
|
|
4
|
+
::-webkit-scrollbar {
|
|
5
|
+
width: 6px; // 纵向的宽度
|
|
6
|
+
height: 8px; // 横向的高度
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
// 默认下滚动条的样式
|
|
10
|
+
::-webkit-scrollbar-thumb {
|
|
11
|
+
background: #eaeaea;
|
|
12
|
+
border: none;
|
|
13
|
+
border-radius: 4px;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
// 鼠标悬停在滚动条时的样式
|
|
17
|
+
::-webkit-scrollbar-thumb:hover {
|
|
18
|
+
background: rgba(157, 165, 183, 0.7)
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
// 滚动条区域 空白地方的样式
|
|
22
|
+
::-webkit-scrollbar-track {
|
|
23
|
+
background-color: transparent;
|
|
24
|
+
border: none;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
// 鼠标悬停在滚动条时 滚动条区域 空白地方的样式
|
|
28
|
+
::-webkit-scrollbar-track:hover {
|
|
29
|
+
background-color: #eaeaea;
|
|
30
|
+
border: none;
|
|
31
|
+
}
|
|
32
|
+
}
|
package/src/utils/auth-api.js
CHANGED
|
@@ -4,6 +4,7 @@ import Vue from 'vue'
|
|
|
4
4
|
const jwtKey = 'JWT'
|
|
5
5
|
const currentUserNameKey = 'USERNAME'
|
|
6
6
|
const currentUserInfoKey = 'CURRENT_USER'
|
|
7
|
+
const currentSystemUrlKey = 'CURRENT_SYSTEM_URL_'
|
|
7
8
|
|
|
8
9
|
function getToken() {
|
|
9
10
|
let token = getCookieCache(jwtKey)
|
|
@@ -96,6 +97,45 @@ function setSessionCache(key, value) {
|
|
|
96
97
|
function removeSessionCache(key) {
|
|
97
98
|
sessionStorage.removeItem(key)
|
|
98
99
|
}
|
|
100
|
+
|
|
101
|
+
function getSystemCacheUrlByCode(systemCode) {
|
|
102
|
+
if (!systemCode) {
|
|
103
|
+
systemCode = Vue.prototype.customSystem
|
|
104
|
+
}
|
|
105
|
+
if (!systemCode) {
|
|
106
|
+
systemCode = Vue.prototype.systemCode
|
|
107
|
+
}
|
|
108
|
+
if (systemCode) {
|
|
109
|
+
const systemUrls = getSystemCacheUrl()
|
|
110
|
+
if (systemUrls) {
|
|
111
|
+
return systemUrls[systemCode]
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
function getSystemCacheUrl() {
|
|
117
|
+
let systemUrlJson = getCookieCache(currentSystemUrlKey)
|
|
118
|
+
if (!systemUrlJson) {
|
|
119
|
+
systemUrlJson = getSessionCache(currentSystemUrlKey)
|
|
120
|
+
}
|
|
121
|
+
if (systemUrlJson) {
|
|
122
|
+
return JSON.parse(systemUrlJson)
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
function setSystemCacheUrl(systemUrlObj) {
|
|
127
|
+
if (systemUrlObj) {
|
|
128
|
+
const systemUrlStr = JSON.stringify(systemUrlObj)
|
|
129
|
+
setSessionCache(currentSystemUrlKey, systemUrlStr)
|
|
130
|
+
setCookieCache(currentSystemUrlKey, systemUrlStr)
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
function removeSystemCacheUrl() {
|
|
135
|
+
removeSessionCache(currentSystemUrlKey)
|
|
136
|
+
removeCookieCache(currentSystemUrlKey)
|
|
137
|
+
}
|
|
138
|
+
|
|
99
139
|
export default {
|
|
100
140
|
getToken,
|
|
101
141
|
setToken,
|
|
@@ -111,5 +151,9 @@ export default {
|
|
|
111
151
|
removeCookieCache,
|
|
112
152
|
getSessionCache,
|
|
113
153
|
setSessionCache,
|
|
114
|
-
removeSessionCache
|
|
154
|
+
removeSessionCache,
|
|
155
|
+
getSystemCacheUrlByCode,
|
|
156
|
+
getSystemCacheUrl,
|
|
157
|
+
setSystemCacheUrl,
|
|
158
|
+
removeSystemCacheUrl
|
|
115
159
|
}
|
package/src/utils/common-util.js
CHANGED
|
@@ -223,3 +223,14 @@ export function getTimeZone() {
|
|
|
223
223
|
}
|
|
224
224
|
return timeZone
|
|
225
225
|
}
|
|
226
|
+
|
|
227
|
+
export function setCustomSystemBackendUrl(customSystem) {
|
|
228
|
+
// 重新缓存系统后台路径
|
|
229
|
+
if (!Vue.prototype.projectModel || Vue.prototype.projectModel !== 'developing.model') {
|
|
230
|
+
// 表示是生产环境时,需要根据数据库配置获得对应的后端地址
|
|
231
|
+
const backendUrl = window.$authApi.getSystemCacheUrlByCode(customSystem)
|
|
232
|
+
if (backendUrl) {
|
|
233
|
+
Vue.prototype.baseURL = getRelativeBaseUrl(backendUrl)
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
export function getFirstDayOfSeason(date) {
|
|
2
|
+
var month = new Date(date).getMonth()
|
|
3
|
+
if (month < 3) {
|
|
4
|
+
date.setMonth(0)
|
|
5
|
+
} else if (month > 2 && month < 6) {
|
|
6
|
+
date.setMonth(3)
|
|
7
|
+
} else if (month > 5 && month < 9) {
|
|
8
|
+
date.setMonth(6)
|
|
9
|
+
} else if (month > 8 && month < 11) {
|
|
10
|
+
date.setMonth(9)
|
|
11
|
+
}
|
|
12
|
+
date.setDate(1)
|
|
13
|
+
return formatDate(date)
|
|
14
|
+
}
|
|
15
|
+
export function getWeekOfSeason(date) {
|
|
16
|
+
const weekTime = date.getDay() - 1
|
|
17
|
+
if (weekTime === -1) {
|
|
18
|
+
return date.getTime() - 6 * 24 * 60 * 60 * 1000
|
|
19
|
+
} else {
|
|
20
|
+
return date.getTime() - weekTime * 24 * 60 * 60 * 1000
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
function formatDate(time) {
|
|
25
|
+
const date = new Date(time) // 创建Date对象
|
|
26
|
+
const year = date.getFullYear() // 获取年份
|
|
27
|
+
const month = date.getMonth() + 1 // 获取月份,记得+1
|
|
28
|
+
const day = date.getDate() // 获取日期
|
|
29
|
+
return `${year}-${month}-${day}` // 返回格式化后的日期字符串
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
export function formatTimefn(format, dateTime) {
|
|
33
|
+
if (format === undefined || format === null || format === '') { return dateTime }
|
|
34
|
+
const nowTime = new Date(dateTime)
|
|
35
|
+
const year = nowTime.getFullYear()
|
|
36
|
+
const month = nowTime.getMonth() + 1
|
|
37
|
+
const date = nowTime.getDate()
|
|
38
|
+
const hour = nowTime.getHours()
|
|
39
|
+
const minute = nowTime.getMinutes()
|
|
40
|
+
const second = nowTime.getSeconds()
|
|
41
|
+
|
|
42
|
+
function getCharCount(char) {
|
|
43
|
+
var regex = new RegExp(char, 'g') // 使用g表示整个字符串都要匹配
|
|
44
|
+
var result = format.match(regex) // match方法可在字符串内检索指定的值,或找到一个或多个正则表达式的匹配。
|
|
45
|
+
var count = !result ? 0 : result.length
|
|
46
|
+
return count
|
|
47
|
+
}
|
|
48
|
+
function setDateItem(oneUnit, twoUnit, itemDate) {
|
|
49
|
+
if (getCharCount(oneUnit) === 1) {
|
|
50
|
+
format = format.replace(oneUnit, itemDate)
|
|
51
|
+
} else if (getCharCount(oneUnit) === 2 && itemDate < 10) {
|
|
52
|
+
format = format.replace(twoUnit, '0' + itemDate)
|
|
53
|
+
} else {
|
|
54
|
+
format = format.replace(twoUnit, itemDate)
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
// 获取第几周
|
|
58
|
+
function getYearWeek(a, b, c) { // a为年 b为月 c为日
|
|
59
|
+
var date1 = new Date(a, parseInt(b) - 1, c)
|
|
60
|
+
var date2 = new Date(a, 0, 1)
|
|
61
|
+
var d = Math.round((date1.valueOf() - date2.valueOf()) / 86400000)
|
|
62
|
+
return Math.ceil((d + ((date2.getDay() + 1) - 1)) / 7)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
if (format.indexOf('y') !== -1) {
|
|
66
|
+
format = format.replace('yyyy', year)
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
if (format.indexOf('M') !== -1) {
|
|
70
|
+
setDateItem('M', 'MM', month)
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
if (format.indexOf('W') !== -1) {
|
|
74
|
+
const week = getYearWeek(year, month, date)
|
|
75
|
+
setDateItem('W', 'WW', week)
|
|
76
|
+
}
|
|
77
|
+
if (format.indexOf('d') !== -1) {
|
|
78
|
+
setDateItem('d', 'dd', date)
|
|
79
|
+
}
|
|
80
|
+
|
|
81
|
+
if (format.indexOf('H') !== -1) {
|
|
82
|
+
setDateItem('H', 'HH', hour)
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
if (format.indexOf('m') !== -1) {
|
|
86
|
+
setDateItem('m', 'mm', minute)
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
if (format.indexOf('s') !== -1) {
|
|
90
|
+
setDateItem('s', 'ss', second)
|
|
91
|
+
}
|
|
92
|
+
return format
|
|
93
|
+
}
|
|
94
|
+
|
|
95
|
+
export function getDateRangeSelectorDefaultValue(stareScopeTimeType, format) {
|
|
96
|
+
let Staretime = ''
|
|
97
|
+
const endTime = new Date()
|
|
98
|
+
const computeTime = new Date()
|
|
99
|
+
if (stareScopeTimeType === 'oneYear') {
|
|
100
|
+
// 近一年
|
|
101
|
+
const yearTime = endTime.getFullYear()
|
|
102
|
+
computeTime.setFullYear(yearTime)
|
|
103
|
+
computeTime.setMonth(0)
|
|
104
|
+
Staretime = computeTime.setDate(1)
|
|
105
|
+
} else if (stareScopeTimeType === 'twoYear') {
|
|
106
|
+
// 近两年
|
|
107
|
+
const yearTime = endTime.getFullYear() - 1
|
|
108
|
+
computeTime.setFullYear(yearTime)
|
|
109
|
+
computeTime.setMonth(0)
|
|
110
|
+
Staretime = computeTime.setDate(1)
|
|
111
|
+
} else if (stareScopeTimeType === 'oneQuarter') {
|
|
112
|
+
// 近一个季度
|
|
113
|
+
Staretime = new Date(getFirstDayOfSeason(computeTime))
|
|
114
|
+
} else if (stareScopeTimeType === 'twoQuarter') {
|
|
115
|
+
// 近两个季度
|
|
116
|
+
const timeMonth = computeTime.getMonth()
|
|
117
|
+
if (endTime.getMonth < 3) {
|
|
118
|
+
const yeaNum = computeTime.getFullYear() - 1
|
|
119
|
+
computeTime.setFullYear(yeaNum)
|
|
120
|
+
computeTime.setMonth(10)
|
|
121
|
+
} else {
|
|
122
|
+
computeTime.setMonth(timeMonth - 3)
|
|
123
|
+
}
|
|
124
|
+
Staretime = new Date(getFirstDayOfSeason(computeTime))
|
|
125
|
+
} else if (stareScopeTimeType === 'threeQuarter') {
|
|
126
|
+
// 近三个季度
|
|
127
|
+
const timeMonth = computeTime.getMonth()
|
|
128
|
+
if (endTime.getMonth < 8 && endTime.getMonth > 2) {
|
|
129
|
+
const yeaNum = computeTime.getFullYear() - 1
|
|
130
|
+
computeTime.setFullYear(yeaNum)
|
|
131
|
+
computeTime.setMonth(8)
|
|
132
|
+
} else if (endTime.getMonth < 3) {
|
|
133
|
+
const yeaNum = computeTime.getFullYear() - 1
|
|
134
|
+
computeTime.setFullYear(yeaNum)
|
|
135
|
+
computeTime.setMonth(5)
|
|
136
|
+
} else {
|
|
137
|
+
computeTime.setMonth(timeMonth - 6)
|
|
138
|
+
}
|
|
139
|
+
Staretime = new Date(getFirstDayOfSeason(computeTime))
|
|
140
|
+
} else if (stareScopeTimeType === 'oneMonth') {
|
|
141
|
+
// 近一个月
|
|
142
|
+
Staretime = computeTime.setDate(1)
|
|
143
|
+
} else if (stareScopeTimeType === 'twoMonth') {
|
|
144
|
+
// 近两个月
|
|
145
|
+
const monthNum = endTime.getMonth() - 1
|
|
146
|
+
if (monthNum > -1) {
|
|
147
|
+
computeTime.setMonth(monthNum)
|
|
148
|
+
} else {
|
|
149
|
+
const yeartime = endTime.getFullYear() - 1
|
|
150
|
+
computeTime.setFullYear(yeartime)
|
|
151
|
+
computeTime.setMonth(11)
|
|
152
|
+
}
|
|
153
|
+
Staretime = computeTime.setDate(1)
|
|
154
|
+
} else if (stareScopeTimeType === 'threeMonth') {
|
|
155
|
+
// 近三个月
|
|
156
|
+
const monthTime = endTime.getMonth() - 2
|
|
157
|
+
if (monthTime > -1) {
|
|
158
|
+
computeTime.setMonth(monthTime)
|
|
159
|
+
} else {
|
|
160
|
+
const yeartime = endTime.getFullYear() - 1
|
|
161
|
+
computeTime.setFullYear(yeartime)
|
|
162
|
+
computeTime.setMonth(10)
|
|
163
|
+
}
|
|
164
|
+
Staretime = computeTime.setDate(1)
|
|
165
|
+
} else if (stareScopeTimeType === 'oneWeek') {
|
|
166
|
+
// 近一周
|
|
167
|
+
const MondayTime = getWeekOfSeason(computeTime)
|
|
168
|
+
Staretime = new Date(MondayTime)
|
|
169
|
+
} else if (stareScopeTimeType === 'twoWeek') {
|
|
170
|
+
// 近两周
|
|
171
|
+
const MondayTime = getWeekOfSeason(computeTime)
|
|
172
|
+
Staretime = new Date(MondayTime - 7 * 24 * 60 * 60 * 1000)
|
|
173
|
+
} else if (stareScopeTimeType === 'threeWeek') {
|
|
174
|
+
// 近三周
|
|
175
|
+
const MondayTime = getWeekOfSeason(computeTime)
|
|
176
|
+
Staretime = new Date(MondayTime - 14 * 24 * 60 * 60 * 1000)
|
|
177
|
+
}
|
|
178
|
+
if (Staretime) {
|
|
179
|
+
const startTimeTemp = new Date(Staretime).getTime()
|
|
180
|
+
const endTimeTemp = endTime.getTime()
|
|
181
|
+
const startDate = formatTimefn(format, startTimeTemp)
|
|
182
|
+
const endDate = formatTimefn(format, endTimeTemp)
|
|
183
|
+
return { startTimeTemp, endTimeTemp, startDate, endDate }
|
|
184
|
+
}
|
|
185
|
+
}
|
package/src/utils/request.js
CHANGED
|
@@ -14,12 +14,13 @@ import {
|
|
|
14
14
|
} from './util'
|
|
15
15
|
import {
|
|
16
16
|
getRelativeBaseUrl,
|
|
17
|
-
getTimeZone
|
|
17
|
+
getTimeZone,
|
|
18
|
+
setCustomSystemBackendUrl
|
|
18
19
|
} from './common-util'
|
|
19
20
|
// 创建axios实例
|
|
20
21
|
const service = axios.create({
|
|
21
22
|
// baseURL: process.env.VUE_APP_BASE_API, // api 的 base_url
|
|
22
|
-
timeout:
|
|
23
|
+
timeout: 300000, // 请求超时时间
|
|
23
24
|
withCredentials: true
|
|
24
25
|
})
|
|
25
26
|
|
|
@@ -38,6 +39,8 @@ service.interceptors.request.use(
|
|
|
38
39
|
const customSystem = Vue.prototype.customSystem
|
|
39
40
|
if (customSystem) {
|
|
40
41
|
config.headers['customSystem'] = customSystem
|
|
42
|
+
// 重新缓存系统后台路径
|
|
43
|
+
setCustomSystemBackendUrl(customSystem)
|
|
41
44
|
}
|
|
42
45
|
if (Vue.prototype.baseURL) {
|
|
43
46
|
config.baseURL = getRelativeBaseUrl(Vue.prototype.baseURL)
|
package/src/utils/util.js
CHANGED
|
@@ -274,12 +274,14 @@ function getValueByField(entityData, fieldName) {
|
|
|
274
274
|
// 表示是子表字段
|
|
275
275
|
value = getSubEntityValue(entityData, fieldName)
|
|
276
276
|
} else {
|
|
277
|
-
value = entityData[fieldName]
|
|
277
|
+
value = entityData[fieldName.toUpperCase()]
|
|
278
|
+
if (value === undefined) {
|
|
279
|
+
value = entityData[fieldName.toLowerCase()]
|
|
280
|
+
}
|
|
278
281
|
}
|
|
279
282
|
return value
|
|
280
283
|
}
|
|
281
284
|
}
|
|
282
|
-
|
|
283
285
|
function getSubEntityValue(entityData, fieldName) {
|
|
284
286
|
let value = null
|
|
285
287
|
let subEntityData = entityData
|
|
@@ -452,11 +454,11 @@ export function getEntityFieldValueWithOutCase(entity, prop) {
|
|
|
452
454
|
*/
|
|
453
455
|
export function getEntityFieldValue(entity, prop, isLowerCase) {
|
|
454
456
|
let value = getEntityFieldValueWithCase(entity, prop)
|
|
455
|
-
if (value === undefined) {
|
|
457
|
+
if (value === undefined || value === null) {
|
|
456
458
|
// 兼容mysql数据库
|
|
457
459
|
value = getEntityFieldValueWithCase(entity, prop.toLowerCase())
|
|
458
460
|
}
|
|
459
|
-
if (value === undefined && isLowerCase === undefined) {
|
|
461
|
+
if (value === undefined || value === null && isLowerCase === undefined) {
|
|
460
462
|
// 兼容oracle数据库
|
|
461
463
|
value = getEntityFieldValueWithCase(entity, prop.toUpperCase())
|
|
462
464
|
}
|
|
@@ -509,7 +511,7 @@ function getParentModelPropWithCase(prop, parentObj) {
|
|
|
509
511
|
if (!parentObj) {
|
|
510
512
|
parentObj = {}
|
|
511
513
|
}
|
|
512
|
-
if (!parentObj[prop]) {
|
|
514
|
+
if (!parentObj[prop] && !parentObj[prop.toUpperCase()]) {
|
|
513
515
|
parentObj[prop] = {}
|
|
514
516
|
}
|
|
515
517
|
return parentObj[prop]
|
|
@@ -43,7 +43,9 @@ export default {
|
|
|
43
43
|
let width = '130px'
|
|
44
44
|
if (hasChildren) {
|
|
45
45
|
// 当是父菜单时,为了使后面的三角能显示出来,需要将宽度设小点
|
|
46
|
-
width = '100px'
|
|
46
|
+
// width = '100px'
|
|
47
|
+
// boe 反应左侧菜单栏无法展示全部文字,调整
|
|
48
|
+
width = '130px'
|
|
47
49
|
}
|
|
48
50
|
if (isRoot) {
|
|
49
51
|
// 是否是根目录,没有子菜单时
|
|
@@ -52,7 +54,7 @@ export default {
|
|
|
52
54
|
</div>)
|
|
53
55
|
} else {
|
|
54
56
|
// 有子菜单时
|
|
55
|
-
vnodes.push(<div
|
|
57
|
+
vnodes.push(<div slot='title' style='display: inline-block'>
|
|
56
58
|
<div title={title} style={'display: inline-block;width:' + width + ';overflow:hidden;text-overflow:ellipsis;white-space:nowrap;word-break:keep-all;'}>{(title)}</div>
|
|
57
59
|
</div>)
|
|
58
60
|
}
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
</template>
|
|
10
10
|
|
|
11
11
|
<el-submenu v-else :index="resolvePath(item.code,item.path,item.pageType)" :show-timeout="0" :hide-timeout="50" popper-class="sidebar-container-popper">
|
|
12
|
-
<template
|
|
12
|
+
<template slot="title">
|
|
13
13
|
<item :icon="item.iconName" :title="getI18nName(item)" :has-children="item.children.length > 0?true:false" />
|
|
14
14
|
</template>
|
|
15
15
|
|
|
@@ -38,7 +38,6 @@ import AppLink from './Link'
|
|
|
38
38
|
import Vue from 'vue'
|
|
39
39
|
import tabJs from '../../../api/tab'
|
|
40
40
|
import { getI18nName } from '../../../utils/menu'
|
|
41
|
-
// import { SidebarItemChild } from './SidebarItemChild.vue'
|
|
42
41
|
export default {
|
|
43
42
|
name: 'SidebarItem',
|
|
44
43
|
components: { Item, AppLink },
|