cloud-web-corejs 1.0.54-dev.319 → 1.0.54-dev.320

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.
@@ -1,1024 +0,0 @@
1
- <template>
2
- <div class="index-home">
3
- <el-row>
4
- <el-col :span="8">
5
- <div class="i-user-info">
6
- <img class="img" v-if="headPhotoUrl" :src="headPhotoUrl"/>
7
- <p class="name">{{ $t1('您好') }},{{ userInfo.nickName }}</p>
8
- <p>{{ companyInfo.companyName }}</p>
9
- </div>
10
- <div class="notice-box">
11
- <div class="txt" @click="openMoreNotifyMessage()">
12
- <i class="iconfont icon-xiaoxitongzhi"></i>
13
- <span v-if="unreadMessageNum>0"
14
- v-html="$t1('您 有{number}条 未读消息,请及时查看。',{number: `<b>${(unreadMessageNum > 99 ? '99+' : unreadMessageNum)}</b>`})">
15
- </span>
16
- <span v-else-if="unreadMessageNum==0">
17
- {{ $t1('您 暂无 未读消息。') }}
18
- </span>
19
- </div>
20
- <el-tooltip class="item" effect="dark" :content="$t1('刷新')" placement="top">
21
- <el-button type="text" @click="getUnreadMessageNum(true)"><i class="el-icon-refresh"></i></el-button>
22
- </el-tooltip>
23
- <el-tooltip class="item" effect="dark" :content="$t1('查看更多')" placement="top">
24
- <el-button type="text" @click="openMoreNotifyMessage()" class="more">
25
- <i class="el-icon-news"></i>
26
- </el-button>
27
- </el-tooltip>
28
- </div>
29
- <el-card class="box-card">
30
- <div slot="header" class="clearfix">
31
- <span style="float:left">
32
- <i class="el-icon-chat-line-round ico"></i>
33
- {{ $t1('公告') }}
34
- </span>
35
- <el-button type="text" @click="openSystemNoticeDialog()"><span class="more">MORE+</span></el-button>
36
- </div>
37
- <div class="home-notice-list">
38
- <div v-for="(systemNotice,index) in systemNotices" :key="index" class="item"
39
- @click="openSystemNoticeDialog(systemNotice)"
40
- :title="systemNotice.title">
41
- {{ systemNotice.title }}
42
- <span class="time">{{ systemNotice.modifyDate.substring(0, 10) }}</span>
43
- </div>
44
- </div>
45
- </el-card>
46
- </el-col>
47
- <el-col :span="homeConfig.toDoSpan || 16" style="padding-left:6px;">
48
- <el-card class="box-card">
49
- <div slot="header" class="clearfix">
50
- <span style="float:left">
51
- <i class="el-icon-chat-line-round ico"></i>
52
- {{ $t1('待办事项') }}
53
- </span>
54
- <el-tooltip class="item" effect="dark" :content="$t1('刷新')" placement="top">
55
- <el-button type="text" @click="getWfInfoList(true)" class="more" style="right:107px">
56
- <i class="el-icon-refresh"></i>
57
- </el-button>
58
- </el-tooltip>
59
- <el-button type="text" @click="toWfManageList" class="more">
60
- <i class="el-icon-news"></i>
61
- <span>{{ $t1('查看更多+') }}</span>
62
- </el-button>
63
- </div>
64
- <div class="need-to">
65
- <vxe-grid :data="unDoWfRows" ref="table-wf" v-bind="wfOption"
66
- @resizable-change="$vxeTableUtil.onColumnWitchChange"
67
- @custom="$vxeTableUtil.customHandle"></vxe-grid>
68
- </div>
69
- </el-card>
70
- </el-col>
71
- </el-row>
72
- <el-row>
73
- <el-col :span="24" v-show="homeConfig.showFastTrack!==false">
74
- <el-card class="box-card">
75
- <div slot="header" class="clearfix">
76
- <span style="float:left">
77
- <i class="el-icon-star-off ico"></i>
78
- {{ $t1('快捷通道') }}
79
- </span>
80
- <el-button type="text" @click="showCommMenuDialog = true"><span class="more">MORE+</span></el-button>
81
- </div>
82
- <div class="fast-box">
83
- <div class="item" v-for="commMenu in commMenus" :key="commMenu.id">
84
- <a href="javascript:void(0);" @click="rourteTo(commMenu)">
85
- <p><i :class="!!commMenu.menuImg?('iconfont '+commMenu.menuImg):null"></i><span>{{
86
- commMenu.menuName
87
- }}</span></p>
88
- </a>
89
- </div>
90
- </div>
91
- </el-card>
92
- </el-col>
93
-
94
- <el-col :span="8">
95
- <el-card class="box-card">
96
- <div slot="header" class="clearfix">
97
- <span style="float:left">
98
- <i class="el-icon-message ico"></i>
99
- 消息通知
100
- </span>
101
- <el-button type="text" @click="openNotifyTemplateGroupDialog" class="more" style="right:100px">
102
- <i class="el-icon-receiving"></i>
103
- <span>选择分组</span>
104
- </el-button>
105
- <el-button type="text" @click="openMoreNotifyMessage()" class="more">
106
- <i class="el-icon-news"></i>
107
- <span>查看更多+</span>
108
- </el-button>
109
- </div>
110
- <div class="home-notice-list to-reed" style="height: 400px;">
111
- <div v-for="(notifyMessage,index) in notifyMessages" class="item" :key="index"
112
- :class="{noread:notifyMessage.readed == 0}"
113
- :title="notifyMessage.content" @click="checkNotifyMessage(notifyMessage,index)">
114
- <div class="clearfix">
115
- <el-tag type="warning">{{
116
- notifyMessage.notifyTypeName
117
- }}
118
- </el-tag>
119
- <span class="time">{{
120
- notifyMessage.createDate
121
- }}</span>
122
- <div class="btns fr">
123
- <el-link type="primary" @click.stop="openNotifyMessageDialog(notifyMessage)"><i class="el-icon-files"></i>
124
- </el-link>
125
- </div>
126
- </div>
127
- <span class="name">{{ notifyMessage.content }}</span>
128
- </div>
129
- </div>
130
- </el-card>
131
- </el-col>
132
- </el-row>
133
- <slot></slot>
134
- <systemNoticeInfoDialog v-if="showSystemNoticeInfoDialog" :visiable.sync="showSystemNoticeInfoDialog"
135
- :param="csnRow" :appendToTop="true"></systemNoticeInfoDialog>
136
-
137
- <commMenuDialog v-if="showCommMenuDialog" :visiable.sync="showCommMenuDialog"
138
- @confirm="commMenuCallBack"></commMenuDialog>
139
- <wfContentDialog v-if="showWfDialog" :visible.sync="showWfDialog" @close="wfClose"
140
- :option.sync="wfContentOption"></wfContentDialog>
141
-
142
- <notifyMessageDialog ref="notifyMessageDialog"></notifyMessageDialog>
143
-
144
- <notifyMessageInfoDialog v-if="showNoticeDialog" :visiable.sync="showNoticeDialog"
145
- :dataId.sync="notifyMessageInfoId"
146
- @readHanlde="notifyMessageReadHanlde"></notifyMessageInfoDialog>
147
-
148
-
149
- <el-dialog
150
- :title="$t1('选择分组')"
151
- :append-to-body="true"
152
- :modal-append-to-body="true"
153
- :close-on-click-modal="false"
154
- v-if="showGroupDialog"
155
- :visible.sync="showGroupDialog"
156
- :modal="false"
157
- custom-class="el-dialog dialog-style list-dialog"
158
- width="355px"
159
- :destroy-on-close="true"
160
- >
161
- <div class="cont group-list">
162
- <div class="item" v-for="(notifyTemplate,index) in notifyTemplates" :key="index"
163
- @click="openMoreNotifyMessage(notifyTemplate.notifyType)">
164
- <i class="iconfont icon-fenzu"></i>
165
- <span class="name">{{ notifyTemplate.ntName }}</span>
166
- <!-- <span class="nums">99+</span>-->
167
- </div>
168
- </div>
169
- </el-dialog>
170
-
171
- </div>
172
- </template>
173
-
174
- <script>
175
- import systemNoticeInfoDialog from '@base/views/user/system_notice/infoDialog.vue';
176
- import commMenuDialog from '@base/views/user/commMenu/index.vue';
177
- import notifyMessageDialog from '@base/views/user/notify_message/dialog.vue';
178
- import notifyMessageInfoDialog from '@base/views/user/notify_message/infoDialog';
179
-
180
- import {getToken} from "@base/utils/auth";
181
- import wfContentDialog from "@base/views/user/wf/wf_manage/wfContentDialog";
182
- import corejsConfig from "@/corejsConfig";
183
-
184
- export default {
185
- name: 'home',
186
- props: {
187
- wf_manage_url: String
188
- },
189
- components: {
190
- systemNoticeInfoDialog,
191
- commMenuDialog,
192
- notifyMessageDialog,
193
- notifyMessageInfoDialog,
194
- wfContentDialog
195
- },
196
- data() {
197
- return {
198
- showNoticeDialog: false,
199
- showGroupDialog: false,
200
- notifyTemplates: [],
201
- userInfo: {},
202
- companyInfo: {},
203
- systemNotices: [],
204
- showSystemNoticeInfoDialog: false,
205
- csnRow: null,
206
- headPhotoUrl: '',
207
- dialogVisible: true,
208
- unDoWfRows: [],
209
- wfOption: {},
210
- showWfDialog: false,
211
- wfContentOption: {},
212
- showWfContent: true,
213
- wfContent: null,
214
- wfDataId: '',
215
- showCommMenuDialog: false,
216
- commMenus: [],
217
- notifyMessages: [],
218
- notifyMessageInfoIndex: null,
219
- notifyMessageInfoId: null,
220
- unreadMessageNum: 0,
221
- activating: true,
222
- wfTimer: null,
223
- homeConfig: corejsConfig.homeConfig || {}
224
- };
225
- },
226
- activated() {
227
- this.activating = true;
228
- if (this.wfTimer) {
229
- this.timerExcFun(true);
230
- }
231
- },
232
- deactivated() {
233
- this.activating = false;
234
- },
235
- beforeDestroy() {
236
- this.clearTimer();
237
- },
238
- created() {
239
- this.getUserInfo();
240
- this.initSystemNotice();
241
- this.initCommMenu();
242
- this.initNotifyMessage();
243
- this.initWfParam();
244
- this.initWfTimer();
245
- },
246
- methods: {
247
- wfClose() {
248
- this.timerExcFun(true);
249
- },
250
- initWfTimer() {
251
- this.wfTimer = setInterval(() => {
252
- this.timerExcFun(false);
253
- }, 10000);
254
- this.timerExcFun(true);
255
- },
256
- timerExcFun(isLoading) {
257
- if (!this.activating) {
258
- return;
259
- }
260
- this.getWfInfoList(isLoading);
261
- this.getUnreadMessageNum(isLoading);
262
- this.$emit('timerHandle')
263
- },
264
- clearTimer() {
265
- clearInterval(this.wfTimer);
266
- this.wfTimer = null;
267
- },
268
- getUserInfo() {
269
- this.$http({
270
- url: USER_PREFIX + '/user/currentUser',
271
- method: 'post',
272
- success: res => {
273
- let userInfo = res.objx;
274
- this.headPhotoUrl = userInfo.headPhotoUrl ? userInfo.headPhotoUrl : require('@/resources/images' + '/default-header.png');
275
-
276
- this.userInfo = userInfo;
277
- }
278
- });
279
- this.$http({
280
- url: USER_PREFIX + '/company_info/getCurrent',
281
- method: `post`,
282
- success: res => {
283
- this.companyInfo = res.objx || {};
284
- }
285
- });
286
- },
287
- initSystemNotice() {
288
- this.$http({
289
- url: USER_PREFIX + '/system_notice/listPage',
290
- data: {publish: true, searchCount: false},
291
- method: 'post',
292
- success: res => {
293
- this.systemNotices = res.objx && res.objx.records ? res.objx.records : [];
294
- }
295
- });
296
- },
297
- openSystemNoticeDialog(row) {
298
- this.csnRow = row || null;
299
- this.showSystemNoticeInfoDialog = true;
300
- },
301
- initUnDoWfInfo() {
302
- this.$http({
303
- url: AGILEBPM_PREFIX + '/wf_manage/listPage',
304
- data: {type: 0, searchCount: false},
305
- method: 'post',
306
- success: res => {
307
- this.unDoWfRows = res.objx.records || [];
308
- }
309
- });
310
- },
311
- initWfTableList() {
312
- let that = this;
313
- let paramColumns = this.wfParamDTOs.map(item => {
314
- return {
315
- title: this.$t1(item.paramName),
316
- field: item.paramKey,
317
- width: 150
318
- };
319
- })
320
- var statuses = {running: this.$t1('审核中'), back: this.$t1('已驳回'), end: this.$t1('已完成')};
321
- let tableOption = {
322
- vue: this,
323
- tableRef: 'table-wf',
324
- tableName: 'home-table-wf',
325
- config: {
326
- height: 'auto'
327
- },
328
- columns: [
329
- {type: 'checkbox', width: 48, resizable: false, fixed: 'left'},
330
- {
331
- title: this.$t1('单据类型'),
332
- field: 'objTypeName',
333
- width: 150,
334
- fixed: 'left'
335
- },
336
- {
337
- title: this.$t1('流程主题'),
338
- field: 'name',
339
- width: 150
340
- },
341
- {
342
- title: this.$t1('启动人'),
343
- field: 'starterName',
344
- width: 150
345
- },
346
- {
347
- title: this.$t1('当前任务'),
348
- field: 'taskName',
349
- width: 150
350
- },
351
- {
352
- title: this.$t1('当前任务用户'),
353
- field: 'candidateNames',
354
- width: 150
355
- },
356
- {
357
- title: this.$t1('启动时间'),
358
- field: 'createDate',
359
- width: 150
360
- },
361
- ...paramColumns,
362
- {
363
- width: 47,
364
- fixed: 'right',
365
- title: '',
366
- sortable: false,
367
- slots: {
368
- default: ({row}) => {
369
- return [
370
- <a
371
- href="javascript:void(0);"
372
- class="a-link"
373
- onclick={() => {
374
- this.openWfDialog(row);
375
- }}
376
- >
377
- <el-tooltip enterable={false} effect="dark" content={this.$t1('查看')} placement="top"
378
- popper-class="tooltip-skin">
379
- <i class="el-icon-edit"/>
380
- </el-tooltip>
381
- </a>
382
- ];
383
- }
384
- }
385
- }
386
- ]
387
- };
388
- this.$vxeTableUtil.initVxeTable(tableOption).then(opts => {
389
- this.wfOption = opts;
390
- });
391
- },
392
- openWfDialog(row) {
393
- this.wfContentOption = {
394
- objId: row.objId,
395
- url: row.url,
396
- objTypeCode: row.objTypeCode
397
- };
398
- this.showWfDialog = true;
399
- },
400
- commMenuCallBack(datas) {
401
- this.commMenus = datas || [];
402
- },
403
- initCommMenu() {
404
- this.$http({
405
- url: USER_PREFIX + '/comm_menu/currentList',
406
- data: {longOne: 0},
407
- method: 'POST'
408
- }).then(resultMsg => {
409
- this.commMenus = resultMsg.objx || [];
410
- });
411
- },
412
- initNotifyMessage() {
413
- this.$http({
414
- url: USER_PREFIX + '/notify_message/listPage',
415
- data: {searchCount: false},
416
- method: 'post',
417
- success: res => {
418
- this.notifyMessages = res.objx && res.objx.records ? res.objx.records : [];
419
- }
420
- });
421
- },
422
- openNotifyMessageDialog(row) {
423
- if (row.jumpContent) {
424
- this.$refs.notifyMessageDialog.open(row, () => {
425
- row.readed = 1;
426
- });
427
- }
428
- },
429
- openMoreNotifyMessage(notifyType) {
430
- let data = {notifyType: (notifyType || '')};
431
- let view = {
432
- name: 'notify_message:list',
433
- query: data
434
- };
435
- this.$store.dispatch('tagsView/delCachedView', view).then(() => {
436
- this.$router.replace(view);
437
- });
438
-
439
- if (notifyType) {
440
- this.showGroupDialog = false;
441
- }
442
- },
443
- checkNotifyMessage(row, index) {
444
- this.showNoticeDialog = true;
445
- this.notifyMessageInfoIndex = index;
446
- this.notifyMessageInfoId = row.id;
447
- },
448
- notifyMessageReadHanlde() {
449
- this.notifyMessages[this.notifyMessageInfoIndex].readed = 1;
450
- },
451
- openNotifyTemplateGroupDialog() {
452
- this.$http({
453
- url: USER_PREFIX + `/notify_template/listPage`,
454
- method: `post`,
455
- data: {searchCount: false},
456
- isLoading: true,
457
- // loadingTarget: document.body,
458
- success: res => {
459
- this.notifyTemplates = res.objx && res.objx.records ? res.objx.records : [];
460
- this.showGroupDialog = true;
461
- }
462
- });
463
- },
464
- rourteTo(route) {
465
- if (route.type == 4) {
466
- this.jumpOutLink(route)
467
- } else if (route.type == 3) {
468
- let menuCode = route.menuCode;
469
- let path = "/user/outLink/index/" + menuCode;
470
- this.$router.push({path: path, query: {url: route.url}});
471
- } else {
472
- let path = this.getPath(route)
473
- if (!path) return
474
- this.$router.push(path);
475
- }
476
- },
477
- getPath(route3) {
478
- let item = null;
479
- let path = null
480
- if (route3.type == 0) {
481
- //普通菜单
482
- if (route3.url) {
483
- path = route3.route || route3.url;
484
- let str = "/report/vform/render/";
485
- if (path.indexOf(str) == 0) {
486
- } else {
487
- let pIndex = path.indexOf('?');
488
- if (pIndex > 0) {
489
- path = path.substring(0, pIndex);
490
- }
491
- }
492
- }
493
- } else if (route3.type == 5) {
494
- //动态表单
495
- let url = route3.route || route3.url;
496
- path = url;
497
- }
498
- if (path && path.startsWith("@")) {
499
- path = null
500
- }
501
- return path;
502
- },
503
- jumpOutLink(route) {
504
- let path = route.url;
505
- if (route.type == 4 && path) {
506
- if (path.indexOf('token={token}') >= 0) {
507
- path = path.replace('token={token}', 'token=' + getToken())
508
- }
509
- window.open(path);
510
- }
511
- },
512
- initWfParam() {
513
- return this.$http({
514
- url: USER_PREFIX + '/wf_param/list',
515
- method: `post`,
516
- data: {},
517
- isLoading: true,
518
- // loadingTarget: document.body,
519
- modalStrictly: true,
520
- success: res => {
521
- this.wfParamDTOs = res.objx || [];
522
- this.initWfTableList();
523
- }
524
- });
525
- },
526
- getWfInfoList(isLoading) {
527
- if (!this.activating) {
528
- return;
529
- }
530
- this.$http({
531
- url: USER_PREFIX + '/wf_info/listPage',
532
- data: {type: 0, size: 20, searchCount: false},
533
- method: 'post',
534
- isLoading: isLoading,
535
- modal: isLoading || false,
536
- // loadingTarget: document.body,
537
- success: res => {
538
- this.unDoWfRows = res.objx && res.objx.records ? res.objx.records : [];
539
- },
540
- failMsg: false,
541
- errorMsg: false,
542
- fail: (res, response) => {
543
- if (response && response.status == 200) {
544
- this.$errorMsg(res);
545
- }
546
- }
547
- });
548
- },
549
- getUnreadMessageNum(isLoading) {
550
- if (!this.activating) {
551
- return;
552
- }
553
- return this.$http({
554
- url: USER_PREFIX + '/notify_message/countMessage',
555
- method: `post`,
556
- data: {},
557
- isLoading: isLoading,
558
- modal: isLoading || false,
559
- // loadingTarget: document.body,
560
- success: res => {
561
- this.unreadMessageNum = res.objx || 0;
562
- },
563
- failMsg: false,
564
- errorMsg: false,
565
- fail: (res, response) => {
566
- if (response && response.status == 200) {
567
- this.$errorMsg(res);
568
- }
569
- }
570
- });
571
- },
572
- wfhandleCallback(flag) {
573
- if ([1, 2, 3].includes(flag)) {
574
- this.showWfDialog = false;
575
- this.wfClose();
576
- }
577
- },
578
- toWfManageList() {
579
- let url = this.wf_manage_url || '/basic/wf/wf_manage/list'
580
- this.$router.push(url)
581
- }
582
- }
583
- };
584
- </script>
585
- <style lang="scss" scoped>
586
- @import '~@/styles/variables.scss';
587
-
588
- body #app .index-home {
589
- margin: 3px 10px;
590
- height: calc(100vh - 38px);
591
- overflow: auto;
592
-
593
- #containt {
594
- margin: 0;
595
- background: none;
596
- height: auto;
597
- box-shadow: none;
598
- }
599
-
600
- .i-user-info {
601
- background: url(~@/resources/images/home-img.png) #2a6494 no-repeat 116% 45px;
602
- margin-bottom: 6px;
603
- background-size: 181px;
604
- padding: 14px 38px 11px 16px;
605
- border-radius: 4px 4px;
606
- color: #fff;
607
- font-size: 12px;
608
- margin-top: 3px;
609
- height: 95px;
610
- overflow: hidden;
611
-
612
- .name {
613
- opacity: 1;
614
- font-weight: 600;
615
- margin: 9px 0 14px;
616
- font-size: 14px;
617
- }
618
-
619
- .img {
620
- width: 60px;
621
- height: 60px;
622
- float: left;
623
- border-radius: 50%;
624
- border: solid 4px rgba(255, 255, 255, 0.28);
625
- margin-right: 10px;
626
- }
627
- }
628
-
629
- .home-notice-list {
630
- height: 182px;
631
- margin: 0 -12px;
632
-
633
- .item {
634
- padding: 6px 12px;
635
- font-size: 12px;
636
- cursor: pointer;
637
- overflow: hidden;
638
- text-overflow: ellipsis;
639
- white-space: nowrap;
640
-
641
- .time {
642
- color: #b9b9b9;
643
- font-size: 12px;
644
- right: 12px;
645
- }
646
-
647
- &:hover {
648
- color: $baseColor;
649
- background-color: transparentize($baseColor, 0.97);
650
-
651
- .time {
652
- color: $baseColor
653
- }
654
- }
655
-
656
- &.no-read:before {
657
- content: "";
658
- width: 6px;
659
- height: 6px;
660
- background-color: $red;
661
- border-radius: 50%;
662
- vertical-align: middle;
663
- display: inline-block;
664
- margin-bottom: 1px;
665
- }
666
- }
667
-
668
- &.to-reed {
669
- height: 300px;
670
- overflow: auto;
671
- margin: -8px -12px;
672
-
673
-
674
- .item {
675
- white-space: initial;
676
- padding: 8px 22px 2px;
677
- position: relative;
678
-
679
- &:after {
680
- content: "";
681
- position: absolute;
682
- left: 22px;
683
- right: 22px;
684
- border-top: dashed 1px #eee;
685
- height: 1px;
686
- bottom: 0;
687
- }
688
-
689
- &.noread {
690
- &:before {
691
- content: "";
692
- width: 6px;
693
- height: 6px;
694
- background-color: $red;
695
- border-radius: 50%;
696
- margin-right: 5px;
697
- display: inline-block;
698
- position: absolute;
699
- left: 10px;
700
- top: 16px;
701
- }
702
- }
703
-
704
- .el-tag {
705
- zoom: 0.95;
706
- padding: 0 5px;
707
- height: 24px;
708
- line-height: 24px;
709
- }
710
-
711
- // .noread{
712
- // position: absolute;right:0;top:0;
713
- // span{transform: rotate(47deg);
714
- // -ms-transform: rotate(47deg);
715
- // -moz-transform: rotate(47deg);
716
- // -webkit-transform: rotate(47deg);
717
- // -o-transform: rotate(47deg);
718
- // z-index: 3;
719
- // color: #FFF;
720
- // position: absolute;
721
- // right: 1px;
722
- // top: 2px;}
723
- // &:after{
724
- // content: "\e618";
725
- // font-size: 62px;
726
- // font-family: "iconfont";
727
- // color:$red
728
- // }
729
- // }
730
- .time {
731
- position: relative;
732
- right: 0;
733
- margin-left: 12px;
734
- }
735
-
736
- .name {
737
- overflow: hidden;
738
- text-overflow: ellipsis;
739
- white-space: nowrap;
740
- margin-top: 3px;
741
- display: block;
742
- margin-bottom: 4px;
743
- }
744
-
745
- &:hover .name {
746
- color: $baseColor
747
- }
748
-
749
- &:first-child:before {
750
- border-top: none
751
- }
752
-
753
- .btns {
754
- text-align: right;
755
-
756
- .el-link {
757
- font-size: 12px;
758
- display: inline-block;
759
- margin-left: 14px;
760
-
761
- i {
762
- font-size: 12px;
763
- margin-right: 3px;
764
- }
765
- }
766
- }
767
- }
768
-
769
- }
770
- }
771
-
772
- .fast-box {
773
- margin: 6px 4px 4px;
774
- overflow: hidden;
775
-
776
- .item {
777
- width: 118px;
778
- text-align: center;
779
- float: left;
780
- margin-right: 14px;
781
-
782
- p {
783
- color: #2a6494;
784
- border: solid 1px #e2e2e2;
785
- margin: 3.5px 4px;
786
- width: calc(100% - 4px);
787
- border-radius: 6px;
788
- position: relative;
789
- height: 54px;
790
- line-height: 54px;
791
- text-align: left;
792
- padding-left: 14px;
793
- font-size: 12px;
794
-
795
- i {
796
- font-size: 14px;
797
- vertical-align: middle;
798
- margin-right: 2px;
799
- }
800
-
801
- span {
802
- vertical-align: middle;
803
- }
804
-
805
- &:before {
806
- content: '';
807
- width: 4px;
808
- height: 24px;
809
- display: inline-block;
810
- background: #225279b8;
811
- position: absolute;
812
- left: -1px;
813
- top: 50%;
814
- margin-top: -12px;
815
- }
816
-
817
- &:hover {
818
- background-color: $baseColor;
819
- color: #fff;
820
- border-color: $baseColor;
821
-
822
- &:before {
823
- background: #fff;
824
- }
825
- }
826
- }
827
- }
828
- }
829
-
830
- .need-to {
831
- height: 332px;
832
- }
833
-
834
- .table-box {
835
- width: 100%;
836
- font-size: 12px;
837
-
838
- th {
839
- line-height: 32px;
840
- background: #f7f7f7;
841
- font-weight: 400;
842
- color: #808080;
843
- padding: 0 6px;
844
- }
845
-
846
- td {
847
- text-align: center;
848
- line-height: 34px;
849
- color: #424242;
850
- border-bottom: solid 1px #eee;
851
- padding: 0 6px;
852
- }
853
-
854
- tr:last-child td {
855
- border-bottom: none;
856
- }
857
- }
858
- }
859
-
860
- .box-card .more {
861
- background-color: #f7f7f7;
862
- }
863
-
864
- .group-list {
865
- padding: 18px 18px 6px 32px !important;
866
- height: 400px;
867
- overflow: auto;
868
-
869
- .item {
870
- position: relative;
871
- height: 36px;
872
- border: solid 1px #eee;
873
- line-height: 34px;
874
- border-radius: 2px;
875
- padding: 0 42px 0 14px;
876
- margin-bottom: 10px;
877
- cursor: pointer;
878
-
879
- &::before {
880
- content: "";
881
- width: 8px;
882
- height: 8px;
883
- border: solid 1px #eee;
884
- border-radius: 50%;
885
- display: inline-block;
886
- position: absolute;
887
- left: -16px;
888
- top: 13px;
889
- }
890
-
891
- &.checked {
892
- &:before {
893
- content: "";
894
- background-color: $baseColor;
895
- border-color: $baseColor
896
- }
897
-
898
- background-color: transparentize($baseColor, 0.9);
899
- color: $baseColor;
900
- border-color: $baseColor;
901
- }
902
-
903
- i {
904
- font-size: 12px;
905
- vertical-align: middle;
906
- }
907
-
908
- .name {
909
- font-size: 12px;
910
- margin-left: 8px;
911
- vertical-align: middle;
912
- }
913
-
914
- .nums {
915
- width: 22px;
916
- height: 22px;
917
- border-radius: 50%;
918
- display: inline-block;
919
- position: absolute;
920
- right: 5px;
921
- top: 6px;
922
- color: #FFF;
923
- font-size: 12px;
924
- background-color: $red;
925
- line-height: 22px;
926
- text-align: center;
927
- }
928
- }
929
- }
930
-
931
- .notice-box {
932
- background-color: #2a649429;
933
- border-radius: 0 0 4px 4px;
934
- padding: 9px 12px;
935
- margin-bottom: 5px;
936
- margin-top: -6px;
937
- position: relative;
938
- z-index: 2;
939
- font-size: 13px;
940
- color: #212121;
941
- overflow: hidden;
942
-
943
- .txt {
944
- line-height: 28px;
945
- font-size: 12px;
946
- position: relative;
947
- display: inline-block;
948
- cursor: pointer;
949
-
950
- &:before {
951
- content: "";
952
- background-color: $baseColor;
953
- width: 4px;
954
- height: 20px;
955
- border-radius: 2px;
956
- display: inline-block;
957
- vertical-align: middle;
958
- margin-right: 18px;
959
- }
960
-
961
- i {
962
- font-size: 14px;
963
- margin-right: 12px;
964
- vertical-align: middle;
965
- }
966
-
967
- > span {
968
- vertical-align: middle;
969
- height: 22px;
970
- line-height: 22px;
971
- display: inline-block;
972
-
973
- b {
974
- color: #FFF;
975
- margin: 0 4px;
976
- font-size: 16px;
977
- vertical-align: middle;
978
- background: #FF5615;
979
- border-radius: 50%;
980
- display: inline-block;
981
- padding: 4px;
982
- font-weight: 200;
983
- line-height: 1;
984
- }
985
- }
986
-
987
- }
988
-
989
- .el-button {
990
- position: absolute;
991
- right: 46px;
992
- padding: 0;
993
- height: 22px;
994
- line-height: 22px;
995
- min-width: 22px;
996
- text-align: center;
997
- border-radius: 2px;
998
- top: 50%;
999
- margin-top: -11px;
1000
-
1001
- i {
1002
- font-size: 15px;
1003
- }
1004
-
1005
- &:hover {
1006
- background-color: $baseColor;
1007
- color: #FFF;
1008
- }
1009
-
1010
- &.more {
1011
- right: 12px;
1012
- background: #f7f7f7;
1013
-
1014
- &:hover {
1015
- color: $baseColor
1016
- }
1017
- }
1018
- }
1019
-
1020
- ::v-deep .el-card.is-always-shadow {
1021
- box-shadow: 0 2px 2px 0 rgb(0 0 0 / 6%);
1022
- }
1023
- }
1024
- </style>