shijiplus-web-plugin 0.1.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/src/index.less ADDED
@@ -0,0 +1,504 @@
1
+ @import '~iview/src/styles/index.less';
2
+
3
+ @menu-dark-title : #001529;
4
+ @menu-dark-active-bg : #000c17;
5
+ @layout-sider-background : #001529;
6
+ @primary-color : #9837BE;
7
+ @primary-color-light : rgba(152, 55, 190, 0.1);
8
+ @link-color : #6B1785;
9
+ // @info-color : @primary-color;
10
+ @btn-primary-bg : #9837BE;
11
+ @error-color : #FF0000;
12
+ @btn-group-border : shade(#9837BE, 5%);
13
+ @font-size-small : 14px;
14
+ @btn-font-size : @font-size-small;
15
+ @btn-padding-base : 7px 12px 7px;
16
+ @btn-padding-small : 4px 8px 4px;
17
+ @line-height-base : 1.2;
18
+ @layout-body-background : #f8f8f9;
19
+
20
+ :root {
21
+ --text-color : @text-color;
22
+ --table-td-hover-bg : @table-td-hover-bg;
23
+ --border-radius-base : @border-radius-base;
24
+ --primary-color : #9837BE;
25
+ --subsidiary-color : @subsidiary-color;
26
+ --primary-color-light: @primary-color-light;
27
+ --success-color : @success-color;
28
+ --disabled-color : #C5C8CE;
29
+ --disabled-bg-color : #F7F7F7;
30
+ --border-radius : @border-radius-base;
31
+ --border-color : @border-color-base;
32
+ --border-style : @border-style-base;
33
+ --border-width : @border-width-base;
34
+ --border : @border-color-base @border-style-base @border-width-base;
35
+ --line-height-base : @line-height-base;
36
+
37
+ --level-1-text-size : 16px;
38
+ --level-2-text-size : 14px;
39
+ --level-3-text-size : 12px;
40
+ --level-1-text-color : @title-color;
41
+ --level-2-text-color : @text-color;
42
+ --level-3-text-color : #9EA7B4;
43
+ --level-1-text-weight: 600;
44
+ --shadow-card : @shadow-card;
45
+ --shadow-up : @shadow-up;
46
+ --shadow-down : @shadow-down;
47
+ --shadow-left : @shadow-left;
48
+ --shadow-right : @shadow-right;
49
+ }
50
+
51
+ .ivu-modal-wrap {
52
+ display : flex;
53
+ align-items : center;
54
+ justify-content: center;
55
+
56
+ .ivu-modal {
57
+ top: 0;
58
+
59
+ .ivu-modal-body {
60
+ font-size : @font-size-small;
61
+ @line-height-base : 1.2;
62
+ }
63
+ }
64
+ }
65
+
66
+ .ivu-btn {
67
+ &:hover {
68
+ opacity: 0.9;
69
+ }
70
+
71
+ // .plus-icon {
72
+ // img {
73
+ // transition: filter .2s linear;
74
+ // }
75
+ // }
76
+
77
+ &.ivu-btn-default:hover {
78
+ .plus-icon {
79
+ --vector : -1;
80
+ --filterColor: @btn-primary-bg !important;
81
+ }
82
+ }
83
+
84
+ &:focus {
85
+ box-shadow: none;
86
+ }
87
+
88
+ &>span {
89
+ display : flex;
90
+ align-items : center;
91
+ justify-content: center;
92
+ }
93
+
94
+ .plus-icon {
95
+ margin-right: 8px;
96
+ }
97
+ }
98
+
99
+ .ivu-btn-primary {
100
+ border-color: @btn-primary-bg;
101
+
102
+ &:hover {
103
+ color: #FFFFFF;
104
+ }
105
+ }
106
+
107
+ .ivu-btn-info {
108
+ border-color: @btn-primary-bg;
109
+
110
+ &.ivu-btn-ghost {
111
+ color: @link-color;
112
+ }
113
+ }
114
+
115
+ .activity-border {
116
+ border-color: @primary-color !important;
117
+ }
118
+
119
+ .activity-bg {
120
+ background-color: @primary-color !important;
121
+ color : #FFF;
122
+ }
123
+
124
+ .click-span {
125
+ color : @link-color;
126
+ cursor : pointer !important;
127
+ font-size: 12px;
128
+
129
+ &.normal {
130
+ color: initial;
131
+ }
132
+
133
+ &.disabled {
134
+ color : #C5C8CE;
135
+ cursor: default !important;
136
+ }
137
+
138
+ &:hover {
139
+ opacity: 0.8;
140
+ }
141
+ }
142
+
143
+ .outlineBtn {
144
+ background-color: white;
145
+ color : @primary-color;
146
+ border-color : @primary-color;
147
+ }
148
+
149
+ .tool-tip .ivu-tooltip-popper .ivu-tooltip-content .ivu-tooltip-inner {
150
+ max-width: initial;
151
+
152
+ .tool-tip-content {
153
+ width: fit-content;
154
+ }
155
+ }
156
+
157
+ .form-item-line-span {
158
+ line-height: 32px;
159
+ height : 32px;
160
+ }
161
+
162
+ .statis-block,
163
+ .statis-block-end {
164
+ border : 1px solid @border-color-base;
165
+ border-bottom : none;
166
+ display : flex;
167
+ width : 400px;
168
+ justify-content: center;
169
+
170
+ .left {
171
+ flex : 1;
172
+ border-right: 1px solid @border-color-base;
173
+ text-align : center;
174
+ }
175
+
176
+ .right {
177
+ flex : 1;
178
+ text-align: center
179
+ }
180
+
181
+ &.landspace {
182
+ border : none;
183
+ flex-direction: column;
184
+ border-right : 1px solid @border-color-base;
185
+
186
+ &:last-child {
187
+ border-right: none;
188
+ }
189
+
190
+ .label,
191
+ .value {
192
+ flex : 1;
193
+ text-align: center;
194
+ padding : 2px 0;
195
+ }
196
+
197
+ .label {
198
+ border-bottom: 1px solid @border-color-base;
199
+ }
200
+ }
201
+
202
+ }
203
+
204
+ .statis-block-end {
205
+ border-bottom: 1px solid @border-color-base;
206
+ }
207
+
208
+ .i-flex-wrap {
209
+ display : flex;
210
+ flex-wrap: wrap;
211
+
212
+ &.nowrap {
213
+ flex-wrap: nowrap;
214
+ }
215
+
216
+ &.justify-between {
217
+ justify-content: space-between;
218
+ }
219
+
220
+ &.justify-around {
221
+ justify-content: space-around;
222
+ }
223
+
224
+ &.justify-end {
225
+ justify-content: flex-end;
226
+ }
227
+
228
+ .f-grow {
229
+ flex-grow: 1;
230
+ }
231
+
232
+ .f-no-shrink {
233
+ flex-shrink: 0;
234
+ }
235
+
236
+ &>.ivu-btn,
237
+ &>span,
238
+ &>label,
239
+ &>input {
240
+ margin-right: 3px;
241
+
242
+ &:last-child {
243
+ margin-right: 0;
244
+ }
245
+ }
246
+
247
+ .justify-end {
248
+ justify-self: end;
249
+ margin-left : auto;
250
+ margin-right: 0;
251
+ }
252
+ }
253
+
254
+ .f-col {
255
+ display : flex;
256
+ flex-direction: column;
257
+ }
258
+
259
+ .justify-center {
260
+ display : flex;
261
+ justify-content: center;
262
+ justify-items : center;
263
+ }
264
+
265
+ .align-center {
266
+ display : flex;
267
+ align-items : center;
268
+ align-content: center;
269
+ }
270
+
271
+ .align-end {
272
+ display : flex;
273
+ align-items : flex-end;
274
+ align-content: flex-end;
275
+ }
276
+
277
+
278
+ .line-1,
279
+ .line-2 {
280
+ display : -webkit-box;
281
+ -webkit-line-clamp: 1;
282
+ line-clamp : 1;
283
+ text-overflow : ellipsis;
284
+ overflow : hidden;
285
+ word-break : break-all;
286
+ -webkit-box-orient: vertical;
287
+ }
288
+
289
+ .line-2 {
290
+ -webkit-line-clamp: 2;
291
+ line-clamp : 2;
292
+ }
293
+
294
+ .f-s-12 {
295
+ font-family: PingFangSC-Regular;
296
+ font-size : 12px;
297
+ line-height: 16px;
298
+ }
299
+
300
+ .f-s-14 {
301
+ font-size: 14px;
302
+ }
303
+
304
+ .f-s-16 {
305
+ font-size : 16px;
306
+ font-family : PingFangSC-SNaNpxibold;
307
+ letter-spacing: 0.44px;
308
+ line-height : 26px;
309
+ }
310
+
311
+ .f-s-24 {
312
+ font-size: 24px;
313
+ }
314
+
315
+ .f-w-700 {
316
+ font-weight: 700;
317
+ }
318
+
319
+ .f-w-600 {
320
+ font-weight: 600;
321
+ }
322
+
323
+ .f-w-500 {
324
+ font-weight: 500;
325
+ }
326
+
327
+ .f-w-400 {
328
+ font-weight: 400;
329
+ }
330
+
331
+ .f-w-300 {
332
+ font-weight: 300;
333
+ }
334
+
335
+ .f-lh-16 {
336
+ line-height: 16px;
337
+ }
338
+
339
+ .f-lh-20 {
340
+ line-height: 20px;
341
+ }
342
+
343
+ .f-lh-28 {
344
+ line-height: 28px;
345
+ }
346
+
347
+ .f-lh-30 {
348
+ line-height: 30px;
349
+ }
350
+
351
+ .f-c-17233D {
352
+ color: var(--level-1-text-color);
353
+ }
354
+
355
+ .f-c-515A6E {
356
+ color: var(--level-2-text-color);
357
+ }
358
+
359
+ .f-c-9EA7B4 {
360
+ color: var(--level-3-text-color);
361
+ }
362
+
363
+ .white-break {
364
+ white-space: break-spaces;
365
+ }
366
+
367
+ .primary-border {
368
+ border: 1px solid @primary-color;
369
+ }
370
+
371
+ .card-block {
372
+ border : 1px solid #d7d7d7;
373
+ border-radius: 4px;
374
+ padding : 20px;
375
+ margin-right : 10px;
376
+ }
377
+
378
+ .plus-tag {
379
+ box-sizing : border-box;
380
+ display : block;
381
+ padding : 0 2px;
382
+ height : fit-content;
383
+ background : #F8F8F9;
384
+ border-radius: 4px;
385
+ color : #515A6E;
386
+
387
+ &.default {
388
+ background-color: #EFEFF2;
389
+ border-color : #EFEFF2;
390
+ }
391
+
392
+ &.primary {
393
+ background-color: #F9F0FF;
394
+ color : @primary-color;
395
+ border-color : @primary-color;
396
+ }
397
+
398
+ &.blue {
399
+ background : #F4F7FF;
400
+ color : #165DFF;
401
+ border-color: #F4F7FF;
402
+ }
403
+
404
+ &.border {
405
+ border-width: 1px;
406
+ border-style: solid;
407
+ }
408
+
409
+ &.red {
410
+ background : #ffeded;
411
+ color : #f93d62;
412
+ border-color: #ffeded;
413
+ }
414
+
415
+ &.gray {
416
+ background : #f8f8f9;
417
+ color : #9ea7b4;
418
+ border-color: #f8f8f9;
419
+ }
420
+
421
+ &.green {
422
+ background : #3cc13b1a;
423
+ color : #3cc13b;
424
+ border-color: #3cc13b1a;
425
+ }
426
+
427
+ // &.click-span {
428
+ // &:hover {
429
+ // color: inherit;
430
+ // }
431
+ // }
432
+ }
433
+
434
+ .pd-tp_8 {
435
+ padding-top : 8px;
436
+ padding-bottom: 8px;
437
+ }
438
+
439
+ .pd-lr_12 {
440
+ padding-left : 12px;
441
+ padding-right: 12px;
442
+ }
443
+
444
+ .ivu-modal-confirm .ivu-modal-confirm-head .ivu-modal-confirm-head-title {
445
+ display: inline-block;
446
+ }
447
+
448
+ .border {
449
+ border-color: @border-color-base;
450
+ border-style: @border-style-base;
451
+ border-width: @border-width-base;
452
+ }
453
+
454
+ .round-border {
455
+ border-radius: @border-radius-base;
456
+ }
457
+
458
+
459
+ .primary-title,
460
+ .secondary-title,
461
+ .normal-title {
462
+ font-size : 16px;
463
+ color : @title-color;
464
+ font-weight: bold;
465
+ font-family: PingFangSC-SNaNpxibold;
466
+ }
467
+
468
+ .secondary-title,
469
+ .normal-title,
470
+ .content-text {
471
+ font-size: 14px;
472
+ }
473
+
474
+ .secondary-title,
475
+ .normal-title,
476
+ .content-text {
477
+ color: @text-color;
478
+ }
479
+
480
+ .normal-title,
481
+ .content-text {
482
+ color: @text-color;
483
+ }
484
+
485
+ .content-text,
486
+ .sub-text {
487
+ font-weight: normal;
488
+ }
489
+
490
+ .sub-text {
491
+ font-size : 12px;
492
+ font-family: PingFangSC-Regular;
493
+ color : #9EA7B4;
494
+ }
495
+
496
+ .disabled {
497
+ color : #C5C8CE !important;
498
+ cursor : not-allowed !important;
499
+ font-weight: normal;
500
+ }
501
+
502
+ .fill-parents {
503
+ height: 100%;
504
+ }
@@ -0,0 +1,40 @@
1
+ import Vue from 'vue'
2
+ import VueI18n from 'vue-i18n'
3
+ import customZhCn from './lang/zh-CN'
4
+ import customZhTw from './lang/zh-TW'
5
+ import customEnUs from './lang/en-US'
6
+ import zhCnLocale from 'iview/src/locale/lang/zh-CN'
7
+ import enUsLocale from 'iview/src/locale/lang/en-US'
8
+ import zhTwLocale from 'iview/src/locale/lang/zh-TW'
9
+
10
+ Vue.use(VueI18n)
11
+
12
+ const localRead = (key) => {
13
+ return localStorage.getItem(key) || ''
14
+ }
15
+
16
+ // 自动根据浏览器系统语言设置语言
17
+ const navLang = navigator.language
18
+ const localLang = (navLang === 'zh-CN' || navLang === 'en-US') ? navLang : false
19
+ let lang = localLang || localRead('local') || 'zh-CN'
20
+
21
+ Vue.config.lang = lang
22
+
23
+ // vue-i18n 6.x+写法
24
+ Vue.locale = () => {}
25
+ const messages = {
26
+ 'zh-CN': Object.assign(zhCnLocale, customZhCn),
27
+ 'zh-TW': Object.assign(zhTwLocale, customZhTw),
28
+ 'en-US': Object.assign(enUsLocale, customEnUs)
29
+ }
30
+ const i18n = new VueI18n({
31
+ locale: lang,
32
+ messages
33
+ })
34
+
35
+ export default i18n
36
+
37
+ // vue-i18n 5.x写法
38
+ // Vue.locale('zh-CN', Object.assign(zhCnLocale, customZhCn))
39
+ // Vue.locale('en-US', Object.assign(zhTwLocale, customZhTw))
40
+ // Vue.locale('zh-TW', Object.assign(enUsLocale, customEnUs))
@@ -0,0 +1,46 @@
1
+ export default {
2
+ home: 'Home',
3
+ login: 'Login',
4
+ components: 'Components',
5
+ count_to_page: 'Count-to',
6
+ tables_page: 'Table',
7
+ split_pane_page: 'Split-pane',
8
+ markdown_page: 'Markdown-editor',
9
+ editor_page: 'Rich-Text-Editor',
10
+ icons_page: 'Custom-icon',
11
+ img_cropper_page: 'Image-editor',
12
+ update: 'Update',
13
+ doc: 'Document',
14
+ join_page: 'QQ Group',
15
+ update_table_page: 'Update .CSV',
16
+ update_paste_page: 'Paste Table Data',
17
+ multilevel: 'multilevel',
18
+ directive_page: 'Directive',
19
+ level_1: 'Level-1',
20
+ level_2: 'Level-2',
21
+ level_2_1: 'Level-2-1',
22
+ level_2_3: 'Level-2-3',
23
+ level_2_2: 'Level-2-2',
24
+ level_2_2_1: 'Level-2-2-1',
25
+ level_2_2_2: 'Level-2-2-2',
26
+ excel: 'Excel',
27
+ 'upload-excel': 'Upload Excel',
28
+ 'export-excel': 'Export Excel',
29
+ tools_methods_page: 'Tools Methods',
30
+ drag_list_page: 'Drag-list',
31
+ i18n_page: 'Internationalization',
32
+ modalTitle: 'Modal Title',
33
+ content: 'This is the modal box content.',
34
+ buttonText: 'Show Modal',
35
+ 'i18n-tip': 'Note: Only this page is multi-language, other pages do not add language content to the multi-language package.',
36
+ error_store_page: 'Error Collection',
37
+ error_logger_page: 'Error Logger',
38
+ query: 'Query',
39
+ params: 'Params',
40
+ cropper_page: 'Cropper',
41
+ message_page: 'Message Center',
42
+ tree_table_page: 'Tree Table',
43
+ org_tree_page: 'Org Tree',
44
+ drag_drawer_page: 'Draggable Drawer',
45
+ tree_select_page: 'Tree Selector'
46
+ }
@@ -0,0 +1,46 @@
1
+ export default {
2
+ home: '首页',
3
+ login: '登录',
4
+ components: '组件',
5
+ count_to_page: '数字渐变',
6
+ tables_page: '多功能表格',
7
+ split_pane_page: '分割窗口',
8
+ markdown_page: 'Markdown编辑器',
9
+ editor_page: '富文本编辑器',
10
+ icons_page: '自定义图标',
11
+ img_cropper_page: '图片编辑器',
12
+ update: '上传数据',
13
+ join_page: 'QQ群',
14
+ doc: '文档',
15
+ update_table_page: '上传CSV文件',
16
+ update_paste_page: '粘贴表格数据',
17
+ multilevel: '多级菜单',
18
+ directive_page: '指令',
19
+ level_1: 'Level-1',
20
+ level_2: 'Level-2',
21
+ level_2_1: 'Level-2-1',
22
+ level_2_3: 'Level-2-3',
23
+ level_2_2: 'Level-2-2',
24
+ level_2_2_1: 'Level-2-2-1',
25
+ level_2_2_2: 'Level-2-2-2',
26
+ excel: 'Excel',
27
+ 'upload-excel': '上传excel',
28
+ 'export-excel': '导出excel',
29
+ tools_methods_page: '工具函数',
30
+ drag_list_page: '拖拽列表',
31
+ i18n_page: '多语言',
32
+ modalTitle: '模态框题目',
33
+ content: '这是模态框内容',
34
+ buttonText: '显示模态框',
35
+ 'i18n-tip': '注:仅此页做了多语言,其他页面没有在多语言包中添加语言内容',
36
+ error_store_page: '错误收集',
37
+ error_logger_page: '错误日志',
38
+ query: '带参路由',
39
+ params: '动态路由',
40
+ cropper_page: '图片裁剪',
41
+ message_page: '消息中心',
42
+ tree_table_page: '树状表格',
43
+ org_tree_page: '组织结构树',
44
+ drag_drawer_page: '可拖动抽屉',
45
+ tree_select_page: '树状下拉选择器'
46
+ }
@@ -0,0 +1,46 @@
1
+ export default {
2
+ home: '首頁',
3
+ login: '登錄',
4
+ components: '组件',
5
+ count_to_page: '数字渐变',
6
+ tables_page: '多功能表格',
7
+ split_pane_page: '分割窗口',
8
+ markdown_page: 'Markdown編輯器',
9
+ editor_page: '富文本編輯器',
10
+ icons_page: '自定義圖標',
11
+ img_cropper_page: '圖片編輯器',
12
+ update: '上傳數據',
13
+ join_page: 'QQ群',
14
+ doc: '文檔',
15
+ update_table_page: '上傳CSV文件',
16
+ update_paste_page: '粘貼表格數據',
17
+ multilevel: '多级菜单',
18
+ directive_page: '指令',
19
+ level_1: 'Level-1',
20
+ level_2: 'Level-2',
21
+ level_2_1: 'Level-2-1',
22
+ level_2_3: 'Level-2-3',
23
+ level_2_2: 'Level-2-2',
24
+ level_2_2_1: 'Level-2-2-1',
25
+ level_2_2_2: 'Level-2-2-2',
26
+ excel: 'Excel',
27
+ 'upload-excel': '上傳excel',
28
+ 'export-excel': '導出excel',
29
+ tools_methods_page: '工具函數',
30
+ drag_list_page: '拖拽列表',
31
+ i18n_page: '多語言',
32
+ modalTitle: '模態框題目',
33
+ content: '這是模態框內容',
34
+ buttonText: '顯示模態框',
35
+ 'i18n-tip': '注:僅此頁做了多語言,其他頁面沒有在多語言包中添加語言內容',
36
+ error_store_page: '錯誤收集',
37
+ error_logger_page: '錯誤日誌',
38
+ query: '帶參路由',
39
+ params: '動態路由',
40
+ cropper_page: '圖片裁剪',
41
+ message_page: '消息中心',
42
+ tree_table_page: '樹狀表格',
43
+ org_tree_page: '組織結構樹',
44
+ drag_drawer_page: '可拖動抽屜',
45
+ tree_select_page: '樹狀下拉選擇器'
46
+ }
package/src/main.js ADDED
@@ -0,0 +1,22 @@
1
+ import Vue from 'vue'
2
+ import App from './App.vue'
3
+ import iView from 'iview'
4
+ import './index.less'
5
+ import i18n from '@/locale'
6
+ import ExtentionPlugin from '@/extentionPlugin'
7
+ import importDirective from '@/directive'
8
+
9
+ Vue.config.productionTip = false
10
+
11
+ /**
12
+ * 注册指令
13
+ */
14
+ importDirective(Vue)
15
+
16
+ Vue.use(ExtentionPlugin)
17
+ Vue.use(iView, {
18
+ i18n: (key, value) => i18n.t(key, value)
19
+ })
20
+ new Vue({
21
+ render: h => h(App),
22
+ }).$mount('#app')