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