cloud-web-corejs 1.0.54-dev.314 → 1.0.54-dev.316

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 (28) hide show
  1. package/package.json +1 -1
  2. package/src/components/baseInputExport/mixins.js +388 -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/container-widget/data-table-widget.vue +4 -1
  13. package/src/components/xform/form-designer/form-widget/field-widget/fieldMixin.js +1547 -1
  14. package/src/components/xform/form-designer/form-widget/field-widget/print-button-widget.vue +1 -1
  15. package/src/components/xform/form-designer/form-widget/field-widget/print-detail-button-widget.vue +108 -0
  16. package/src/components/xform/form-designer/setting-panel/property-editor/container-data-table/data-table-editor.vue +3 -1
  17. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-button-editor.vue +8 -0
  18. package/src/components/xform/form-designer/setting-panel/property-editor/field-print-button/print-detail-button-editor.vue +91 -0
  19. package/src/components/xform/form-designer/setting-panel/propertyRegister.js +2 -1
  20. package/src/components/xform/form-designer/widget-panel/widgetsConfig.js +43 -0
  21. package/src/components/xform/form-render/container-item/data-table-mixin.js +2416 -1
  22. package/src/components/xform/lang/zh-CN.js +1 -0
  23. package/src/components/xform/mixins/scriptHttp.js +172 -1
  24. package/src/views/user/form/vform/render.vue +1 -1
  25. package/src/views/user/home/default2.vue +1035 -0
  26. package/src/views/user/home/taili/index.vue +1024 -0
  27. package/src/views/user/notify_message/dialog.vue +22 -7
  28. package/src/views/user/outLink/form_view.vue +211 -211
@@ -0,0 +1,1024 @@
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>