cloud-web-corejs 1.0.54-dev.315 → 1.0.54-dev.317

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (24) hide show
  1. package/package.json +1 -1
  2. package/src/components/baseInputExport/mixins.js +386 -1
  3. package/src/components/wf/add0pinionButton.vue +102 -0
  4. package/src/components/wf/content.vue +18 -5
  5. package/src/components/wf/mixins/setCandidateButton.js +161 -0
  6. package/src/components/wf/mixins/setCandidateDialog.js +1 -1
  7. package/src/components/wf/mixins/setCandidateDialog2.js +6 -0
  8. package/src/components/wf/setCandidateButton.vue +40 -0
  9. package/src/components/wf/setCandidateDialog2.vue +3 -228
  10. package/src/components/wf/wf.js +2068 -1
  11. package/src/components/wf/wfTaskUserRangeDialog.vue +9 -1
  12. package/src/components/xform/form-designer/form-widget/field-widget/print-button-widget.vue +1 -1
  13. package/src/components/xform/form-designer/form-widget/field-widget/print-detail-button-widget.vue +108 -0
  14. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-button-editor.vue +8 -0
  15. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-detail-button-editor.vue +91 -0
  16. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +2 -1
  17. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +42 -0
  18. package/src/components/xform/lang/zh-CN.js +1 -0
  19. package/src/views/user/form/vform/render.vue +1 -1
  20. package/src/views/user/home/default2.vue +1035 -0
  21. package/src/views/user/home/taili/index.vue +1024 -0
  22. package/src/views/user/notify_message/dialog.vue +22 -7
  23. package/src/views/user/outLink/form_view.vue +211 -211
  24. package/src/views/user/user/list.vue +582 -582
@@ -0,0 +1,1035 @@
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>