sasp-flow-render 1.0.1

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 (68) hide show
  1. package/index.js +108 -0
  2. package/package.json +21 -0
  3. package/router.js +13 -0
  4. package/src/assets/font/iconfont.css +1158 -0
  5. package/src/assets/font/iconfont.eot +0 -0
  6. package/src/assets/font/iconfont.js +1 -0
  7. package/src/assets/font/iconfont.svg +827 -0
  8. package/src/assets/font/iconfont.ttf +0 -0
  9. package/src/assets/font/iconfont.woff +0 -0
  10. package/src/assets/images/card_zwsj.png +0 -0
  11. package/src/assets/images/dataStore.png +0 -0
  12. package/src/assets/images/dataStore_icon.png +0 -0
  13. package/src/assets/images/draft.png +0 -0
  14. package/src/assets/images/edit_icon.png +0 -0
  15. package/src/assets/images/end.png +0 -0
  16. package/src/assets/images/end_icon.png +0 -0
  17. package/src/assets/images/gateway.png +0 -0
  18. package/src/assets/images/gateway_icon.png +0 -0
  19. package/src/assets/images/globalConnect_icon.png +0 -0
  20. package/src/assets/images/group_icon.png +0 -0
  21. package/src/assets/images/hander_icon.png +0 -0
  22. package/src/assets/images/icon_ quality.png +0 -0
  23. package/src/assets/images/lasso_icon.png +0 -0
  24. package/src/assets/images/mobile_preview.png +0 -0
  25. package/src/assets/images/participant_icon.png +0 -0
  26. package/src/assets/images/publicProcess_icon.png +0 -0
  27. package/src/assets/images/remind_example.png +0 -0
  28. package/src/assets/images/space_icon.png +0 -0
  29. package/src/assets/images/start.png +0 -0
  30. package/src/assets/images/start_icon.png +0 -0
  31. package/src/assets/images/subprocess_icon.png +0 -0
  32. package/src/assets/images/tab_set_example.png +0 -0
  33. package/src/assets/images/timer.png +0 -0
  34. package/src/assets/images/timer_icon.png +0 -0
  35. package/src/assets/images/userTask_icon.png +0 -0
  36. package/src/assets/images/user_task.png +0 -0
  37. package/src/assets/js/api/apiFlow.js +219 -0
  38. package/src/assets/js/flowInstall.js +25 -0
  39. package/src/assets/js/global/cacheGlobal.js +110 -0
  40. package/src/assets/js/global/flowGlobal.js +61 -0
  41. package/src/assets/js/global/flowUserGlobal.js +35 -0
  42. package/src/assets/js/global/interfaceCache.js +31 -0
  43. package/src/assets/js/storageIO.js +106 -0
  44. package/src/components/flowChart.vue +463 -0
  45. package/src/components/flowInst/css/flowInstList.scss +193 -0
  46. package/src/components/flowInst/flowInstList.vue +818 -0
  47. package/src/components/flowInst/flowInstTab.vue +2858 -0
  48. package/src/components/flowInst/popup/flowInstForm.vue +54 -0
  49. package/src/components/flowRoamRecords.vue +768 -0
  50. package/src/components/messageMould/messageMould.vue +547 -0
  51. package/src/components/roamRecord.vue +567 -0
  52. package/src/components/userSelect.vue +537 -0
  53. package/src/views/flowInstView.vue +178 -0
  54. package/src/views/menuRouter/flowMenuRouter.vue +260 -0
  55. package/src/views/menuRouter/flowResRouter.vue +223 -0
  56. package/src/views/popup/css/flowMain.scss +156 -0
  57. package/src/views/popup/event/compoment/diy/info.txt +1 -0
  58. package/src/views/popup/event/compoment/eventParentConfig.vue +45 -0
  59. package/src/views/popup/event/js/loadFlowEventPlugin.js +279 -0
  60. package/src/views/popup/js/controls/CustomContextPad.js +310 -0
  61. package/src/views/popup/js/controls/CustomPalette.js +303 -0
  62. package/src/views/popup/js/controls/CustomRenderer.js +219 -0
  63. package/src/views/popup/js/controls/index.js +11 -0
  64. package/src/views/popup/js/customModeler/CustomModeler.js +22 -0
  65. package/src/views/popup/js/translations/customTranslate.js +14 -0
  66. package/src/views/popup/js/translations/translations.js +234 -0
  67. package/src/views/popup/js/utils/utils.js +53 -0
  68. package/src/views/test.vue +79 -0
@@ -0,0 +1,463 @@
1
+ <template>
2
+ <el-container style="height: 100%" class="flow-chart-content flow-define-info">
3
+ <!-- <el-button type="primary" size="small" class="basic-button-class" @click="download">下载</el-button>-->
4
+ <el-main style="height: 100%;width:100%;padding:5px 0 0 0;" id="bpmnContainer">
5
+ <div style="flex:1;width: 100%;height: 100%" class="containers bpmn-color" ref="myMain">
6
+ <div class="js-canvas" ref="canvas">
7
+ </div>
8
+ <div class="mind-canvas-con">
9
+ <div class="mind-canvas-op">
10
+ <el-tooltip class="item" effect="dark" content="回到中心点" placement="top-start">
11
+ <i class="saspiconfont pl-icon-map" @click="centerView" style="vertical-align:middle;min-width: 24px;display: inline-block;margin-left: 14px;cursor: pointer;font-size: 21px"></i>
12
+ </el-tooltip>
13
+ <el-tooltip v-if="!showViewType" class="item" effect="dark" content="显示视图导航" placement="top-start">
14
+ <i class="saspiconfont pl-icon-icon-test" @click="showView" style="vertical-align:middle;min-width: 24px;display: inline-block;margin-left: 14px;cursor: pointer;font-size: 21px"></i>
15
+ </el-tooltip>
16
+ <el-tooltip v-if="showViewType" class="item" effect="dark" content="关闭视图导航" placement="top-start">
17
+ <i class="saspiconfont pl-icon-Group-" @click="showView" style="vertical-align:middle;min-width: 24px;display: inline-block;margin-left: 14px;cursor: pointer;font-size: 21px"></i>
18
+ </el-tooltip>
19
+ <el-tooltip class="item" effect="dark" content="缩小" placement="top-start">
20
+ <i class="el-icon-minus" @click="changeSizeDown" style="vertical-align:middle;min-width: 24px;display: inline-block;margin-left: 14px;cursor: pointer;font-size: 21px"></i>
21
+ </el-tooltip>
22
+ <el-tooltip class="item" effect="dark" content="放大" placement="top-start">
23
+ <i class="el-icon-plus" @click="changeSizeUp" style="vertical-align:middle;min-width: 24px;display: inline-block;margin-left: 14px;cursor: pointer;font-size: 21px"></i>
24
+ </el-tooltip>
25
+ <el-tooltip class="item" effect="dark" content="回到原始大小" placement="top-start">
26
+ <span @click="changeSize" style="min-width: 24px;display: inline-block;margin-left: 14px;cursor: pointer;font-size:15px;">{{viewSize}}</span>
27
+ </el-tooltip>
28
+ </div>
29
+ </div>
30
+ </div>
31
+ </el-main>
32
+ </el-container>
33
+ </template>
34
+
35
+ <script>
36
+ import camundaModdleDescriptor from "camunda-bpmn-moddle/resources/camunda";
37
+ import CustomModeler from '../views/popup/js/customModeler/CustomModeler';
38
+ import 'bpmn-js/dist/assets/diagram-js.css';
39
+ import 'bpmn-js/dist/assets/bpmn-font/css/bpmn.css';
40
+ import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-codes.css';
41
+ import 'bpmn-js/dist/assets/bpmn-font/css/bpmn-embedded.css';
42
+ import 'bpmn-js-properties-panel/dist/assets/bpmn-js-properties-panel.css';
43
+ import 'diagram-js-minimap/assets/diagram-js-minimap.css';
44
+ import minimapModule from 'diagram-js-minimap';
45
+ export default {
46
+ name: "flow-chart",
47
+ props:{
48
+ flowId:{required:true,type:String},
49
+ instId:{type:String},
50
+ nodeId:{type:String},
51
+ linkProcId:{type:String,default:""},
52
+ isRelease:{type:String,default:"1"} //发布状态默认已发布
53
+ },
54
+ data(){
55
+ return {
56
+ viewer: null,
57
+ canvas: null,
58
+ bpmnText: '',
59
+ showViewType:false,
60
+ viewSize:"100%",
61
+ loginUser:{}
62
+ }
63
+ },
64
+ created() {
65
+ this.initBpmn();
66
+ this.initUserInfo();
67
+ },
68
+ methods:{
69
+ download() {
70
+ this.viewer.saveXML({format: true}, (err, xml) => {
71
+ if (xml) {
72
+ this.bpmnText = xml;
73
+ let a = document.createElement('a');
74
+ a.href = 'data:application/bpmn20-xml;charset=UTF-8,' + encodeURIComponent(xml);
75
+ a.download = 'diagram.bpmn';
76
+ document.body.appendChild(a);
77
+ a.click();
78
+ document.body.removeChild(a);
79
+ }
80
+
81
+ })
82
+ },
83
+ initBpmn(){
84
+ this.$nextTick().then(() => {
85
+ this.canvas = this.$refs['canvas']; //获取画图dome节点
86
+ //建模
87
+ this.viewer = new CustomModeler({
88
+ container: this.canvas,
89
+ keyboard: {
90
+ bindTo: window
91
+ },
92
+ additionalModules: [
93
+ minimapModule,
94
+ ],
95
+ cli: {
96
+ bindTo: 'cli'
97
+ },
98
+ moddleExtensions: {
99
+ camunda: camundaModdleDescriptor
100
+ }
101
+ });
102
+ this.create();
103
+ });
104
+
105
+ },
106
+ create(){
107
+ let loadBpmn = (diagramXml) => {
108
+ this.bpmnText = diagramXml;
109
+ this.viewer.importXML(diagramXml, err => {
110
+ if (err) {
111
+ // throw (err)
112
+ }
113
+ this.viewer.get('canvas').zoom('fit-viewport');
114
+
115
+ let canvas = this.viewer.get('canvas');
116
+ canvas.zoom('fit-viewport');
117
+ //设置网管连线默认颜色
118
+ if(this.viewer._definitions.rootElements[0].flowElements){
119
+ this.viewer._definitions.rootElements[0].flowElements.forEach(n =>{
120
+ if(n.$type === 'bpmn:InclusiveGateway' && n.outgoing){
121
+ n.outgoing.forEach(nn => {
122
+ canvas.addMarker(nn.id, 'highlight');
123
+ })
124
+ }
125
+ });
126
+ }
127
+ this.addBpmnListener();
128
+ this.setNodeColor();
129
+ })
130
+ };
131
+ this.axios.post(this.api.plFlowDefine.getFlowDraw,{flowId: this.flowId,linkProcId:this.linkProcId,isRelease:this.isRelease}).then(res => {
132
+ if(res && res.data){
133
+ if(res.data.operateObj){
134
+ loadBpmn(res.data.operateObj || '');
135
+ }else {
136
+ this.$nextTick(() => {
137
+ loadBpmn('<?xml version="1.0" encoding="UTF-8"?>' +
138
+ '<bpmn:definitions xmlns:bpmn="http://www.omg.org/spec/BPMN/20100524/MODEL" xmlns:bpmndi="http://www.omg.org/spec/BPMN/20100524/DI" xmlns:dc="http://www.omg.org/spec/DD/20100524/DC" id="Definitions_1lw15tx" targetNamespace="http://bpmn.io/schema/bpmn" exporter="Camunda Modeler" exporterVersion="3.7.3">' +
139
+ '<bpmn:process id="Process_' + this.DATE_UTIL.formaterDate(new Date()) + '" isExecutable="true">' +
140
+ '</bpmn:process>' +
141
+ '<bpmndi:BPMNDiagram>' +
142
+ '<bpmndi:BPMNPlane bpmnElement="Process_19p1r93">' +
143
+ '</bpmndi:BPMNPlane>' +
144
+ '</bpmndi:BPMNDiagram>' +
145
+ '</bpmn:definitions>');
146
+ });
147
+ }
148
+ }
149
+ });
150
+ },
151
+ setNodeColor(){
152
+ if(!this.instId && !this.nodeId){
153
+ return;
154
+ }
155
+ if(this.nodeId){
156
+ this.axios.post(this.api.plFlowNode.getById,{"id":this.nodeId}).then(resNode => {
157
+ let result = resNode.data.nodeLinkId;
158
+ let canvas = this.viewer.get('canvas');
159
+ canvas.addMarker(result,"current-node-class");
160
+ this.setAnnotation(result);
161
+ })
162
+ }else{
163
+ this.axios.post(this.api.plFlowInst.getById,{"id":this.instId}).then(res => {
164
+ let currentNode = res.data.currentNode;
165
+ this.axios.post(this.api.plFlowNode.getById,{"id":currentNode}).then(resNode => {
166
+ let result = resNode.data.nodeLinkId;
167
+ let canvas = this.viewer.get('canvas');
168
+ canvas.addMarker(result,"current-node-class");
169
+ this.setAnnotation(result);
170
+ })
171
+ });
172
+ }
173
+ },
174
+ setAnnotation(sourceRefId){
175
+ },
176
+ // 给节点添加监听时间(点击)
177
+ addBpmnListener() {
178
+ const bpmnjs = this.viewer;
179
+ const eventBus = bpmnjs.get('eventBus');
180
+ const events = ['element.click', 'element.dblclick', 'element.mousemove'];
181
+ eventBus.off(events, null);
182
+ const dragEvent = ["drag.move","end","start","shape.move.move","shape.move.start","shape.move.end",
183
+ "start","connectionSegment.move.move","end","connectionSegment.move.start",
184
+ "connectionSegment.move.end","connectionSegment.move.hover","connectionSegment.move.out",
185
+ "connectionSegment.move.cleanup","bendpoint.move.hover","bendpoint.move.out","bendpoint.move.cleanup",
186
+ "bendpoint.move.end","bendpoint.move.move","bendpoint.move.start","bendpoint.move.cancel"];
187
+ dragEvent.forEach(key => {
188
+ eventBus.on(key,2000, () => {
189
+ return false;
190
+ });
191
+ })
192
+ },
193
+ centerView(){
194
+ //this.viewer.get('canvas').zoom('fit-viewport', 'auto');//流程图居中
195
+ this.viewer.get('canvas').zoom('fit-viewport');//画布居中
196
+ let ele = document.getElementsByClassName("djs-search-container djs-draggable djs-scrollable")[0].nextElementSibling.firstChild.nextElementSibling;
197
+ ele.style.width="320px";
198
+ },
199
+ showView(){
200
+ let ele = document.getElementsByClassName("djs-search-container djs-draggable djs-scrollable")[0].nextElementSibling;
201
+ if(this.showViewType){
202
+ ele.className="djs-minimap";
203
+ }else{
204
+ ele.className="djs-minimap open";
205
+ }
206
+ this.showViewType=!this.showViewType;
207
+ },
208
+ // 缩放
209
+ changeSize(){
210
+ this.viewer.get('canvas').zoom(1);
211
+ this.viewSize="100%";
212
+ },
213
+ changeSizeUp(){
214
+ let num= parseInt(this.viewSize.split("%")[0]);
215
+ let num2=200;
216
+ if(num <200){
217
+ num2=num+10;
218
+ }
219
+ this.viewer.get('canvas').zoom(num2/100);
220
+ this.viewSize=num2 +"%";
221
+
222
+ let ele = document.getElementsByClassName("djs-search-container djs-draggable djs-scrollable")[0].nextElementSibling.firstChild.nextElementSibling;
223
+ ele.style.width=(320-1.6*(100-num2))+"px";
224
+ },
225
+ changeSizeDown(){
226
+ let num= parseInt(this.viewSize.split("%")[0]);
227
+ let num2=0;
228
+ if(num >0){
229
+ num2=num-10;
230
+ }
231
+ this.viewer.get('canvas').zoom(num2/100);
232
+ this.viewSize=num2 +"%";
233
+
234
+ let ele = document.getElementsByClassName("djs-search-container djs-draggable djs-scrollable")[0].nextElementSibling.firstChild.nextElementSibling;
235
+ ele.style.width=(320-1.6*(100-num2))+"px";
236
+ },
237
+ //初始化用户信息
238
+ initUserInfo(){
239
+ this.loginUser = this.CACHE_GLOBAL.getLoginUser();
240
+ }
241
+ }
242
+ }
243
+ </script>
244
+
245
+ <style scoped lang="scss">
246
+ @import "../views/popup/css/flowMain"; /*流程图主样式*/
247
+ </style>
248
+
249
+ <style>
250
+ @keyframes currentNodeAnimation {
251
+ from {
252
+ stroke-dashoffset: 100%;
253
+ }
254
+ }
255
+ </style>
256
+
257
+ <style scoped lang="scss">
258
+ .js-canvas{
259
+ /deep/ {
260
+ .djs-container{
261
+ position: static !important;
262
+ }
263
+ .djs-context-pad {
264
+ .bpmn-icon-gateway-none.entry{
265
+ display: none;
266
+ }
267
+ .bpmn-icon-connection-multi.entry{
268
+ display: none;
269
+ }
270
+ .icon-custom.demo-gateway.entry:hover{
271
+ background: url('../assets/images/gateway_icon.png') center no-repeat!important;
272
+ background-size: cover!important;
273
+ }
274
+ .icon-custom.demo-user-task.entry:hover{
275
+ background: url('../assets/images/userTask_icon.png') center no-repeat!important;
276
+ background-size: cover!important;
277
+ }
278
+ .icon-custom.demo-global-connect-tool.entry:hover{
279
+ background: url('../assets/images/globalConnect_icon.png') center no-repeat!important;
280
+ background-size: cover!important;
281
+ }
282
+ .bpmn-icon-trash.entry{
283
+ cursor: pointer;
284
+ }
285
+ }
286
+ }
287
+ }
288
+
289
+ /deep/ :focus {
290
+ outline: 0;
291
+ }
292
+
293
+ /deep/ .el-dialog__wrapper {
294
+ left: calc(95% - 650px);
295
+ }
296
+
297
+ /deep/ .el-dialog__header {
298
+ border:0;
299
+ padding: 0;
300
+ }
301
+
302
+ /deep/ .el-dialog__body {
303
+ top:0!important;
304
+ bottom: 0!important;
305
+ }
306
+
307
+ /deep/ .el-input-group__prepend{
308
+ padding: 3px;
309
+ }
310
+ /deep/ .el-input-group__append{
311
+ padding: 3px;
312
+ }
313
+ /deep/ .vue-ruler-content{
314
+ right: 0;
315
+ bottom: 0;
316
+ left: 0px;
317
+ top: 0px;
318
+ padding: 0px;
319
+ }
320
+ /deep/ .vue-ruler-h{
321
+ left: 65px;
322
+ top: 0px;
323
+ }
324
+ /deep/.vue-ruler-v{
325
+ left: 48px;
326
+ top: 18px;
327
+ }
328
+ /deep/ .el-input-number__increase .el-icon-arrow-up{
329
+ position: absolute;
330
+ left: 8px;
331
+ }
332
+ /deep/ .el-input-number__decrease .el-icon-arrow-down{
333
+ position: absolute;
334
+ left: 8px;
335
+ }
336
+
337
+ /*/deep/.highlight.djs-shape .djs-visual > :nth-child(1) {*/
338
+ /* fill: #3384fe !important;*/
339
+ /* stroke: #3384fe !important;*/
340
+ /* fill-opacity: 0.2 !important;*/
341
+ /*}*/
342
+ /*/deep/.highlight.djs-shape .djs-visual > :nth-child(2) {*/
343
+ /* fill: #3384fe !important;*/
344
+ /*}*/
345
+ /*/deep/.highlight.djs-shape .djs-visual > path {*/
346
+ /* fill: #3384fe !important;*/
347
+ /* fill-opacity: 0.2 !important;*/
348
+ /* stroke: #3384fe !important;*/
349
+ /*}*/
350
+ /*/deep/.highlight.djs-connection > .djs-visual > path {*/
351
+ /* stroke: #3384fe !important;*/
352
+ /*}*/
353
+ /deep/.highlight-todo.djs-connection > .djs-visual > path {
354
+ stroke: orange !important;
355
+ stroke-dasharray: 4px !important;
356
+ fill-opacity: 0.2 !important;
357
+ }
358
+ /deep/.highlight-todo.djs-shape .djs-visual > :nth-child(1) {
359
+ fill: orange !important;
360
+ stroke: orange !important;
361
+ stroke-dasharray: 4px !important;
362
+ fill-opacity: 0.2 !important;
363
+ }
364
+ /deep/ .djs-minimap{
365
+ left: 15px;
366
+ bottom: 43px;
367
+ top: auto;
368
+ right: auto;
369
+ cursor: pointer;
370
+ z-index:2;
371
+ width: 212px;
372
+ box-shadow: 0 -2px 16px 0px rgba(0,0,0,.2);
373
+ border-top: 1px solid #f0f0f0;
374
+ border-bottom: 0px;
375
+ background-color: #fff;
376
+ border-left-width: 0px;
377
+ border-right-width: 0px;
378
+
379
+ }
380
+ /deep/ .viewport-dom{
381
+ max-height: 80px;
382
+ max-width: 150px;
383
+ }
384
+ /deep/ .el-dialog__wrapper {
385
+ left: calc(95% - 700px);
386
+ }
387
+ /deep/ .el-tabs__content::-webkit-scrollbar {
388
+ width: 2px;
389
+ }
390
+ /* 滚动槽 */
391
+ /deep/ .el-tabs__content::-webkit-scrollbar-track {
392
+ background: none;
393
+ }
394
+
395
+ /* 滚动条滑块 */
396
+ /deep/ .el-tabs__content::-webkit-scrollbar-thumb {
397
+ background: #a9a9a9;
398
+ border-radius: 10px;
399
+ }
400
+ /deep/ .djs-minimap.open .map{
401
+ //display: block;
402
+ }
403
+ /deep/ .djs-minimap .toggle{
404
+ display: none;
405
+ }
406
+ .mind-canvas-con{
407
+ position: absolute;
408
+ z-index: 2;
409
+ width: 218px;
410
+ left: 25px;
411
+ bottom: 27px;
412
+ background-color: #fff;
413
+ box-shadow: 0 10px 16px 0 rgba(0,0,0,.2);
414
+ border-top: 0;
415
+ }
416
+ .mind-canvas{
417
+ height: 171px;
418
+ width: 245px;
419
+ position: relative;
420
+ display: flex;
421
+ align-items: center;
422
+ justify-content: center;
423
+ overflow: hidden;
424
+ }
425
+ .mind-canvas-op{
426
+ height: 36px;
427
+ display: block;
428
+ line-height: 36px;
429
+ }
430
+ .mind-icons{
431
+ font-family: "mindicons" !important;
432
+ font-size: 16px;
433
+ font-style: normal;
434
+ user-select: none;
435
+ }
436
+
437
+ /deep/ .djs-palette.two-column.open{
438
+ display: none;
439
+ }
440
+ /deep/ .bjs-powered-by{
441
+ display: none;
442
+ }
443
+ /deep/ .djs-context-pad{
444
+ display: none;
445
+ }
446
+
447
+ /deep/ .current-node-class:not(.djs-connection) .djs-visual{
448
+ animation: currentNodeAnimation 20S linear infinite;
449
+ animation-fill-mode: forwards;
450
+ }
451
+
452
+ /deep/ .current-node-class:not(.djs-connection) .djs-visual > :nth-child(1) {
453
+ stroke: #f85454 !important;
454
+ stroke-width: 4px;
455
+ stroke-dasharray: 4, 4;
456
+
457
+ /* elements as success */
458
+ }
459
+
460
+ .mind-canvas-op{
461
+ user-select: none;
462
+ }
463
+ </style>
@@ -0,0 +1,193 @@
1
+ .el-select {
2
+ width: 100%;
3
+ }
4
+
5
+ .dialog-title {
6
+ line-height: 24px;
7
+ font-size: 18px;
8
+ color: #303133;
9
+ }
10
+
11
+ /deep/ .batchDialog .el-dialog .el-dialog__body {
12
+ padding: 5px 10px 10px 10px;
13
+ }
14
+
15
+ //卡片样式
16
+ .myelcard6 { //3840*2160 6个
17
+ width: 14%;
18
+ height: 19.2%;
19
+ display: inline-block;
20
+ /*margin: 0 1.2% 1.4% 1.3%;//上右下左*/
21
+ margin-right: 2.2%;
22
+ margin-bottom: 26px;
23
+ }
24
+
25
+ .myelcard5 { //2560*1440 5个
26
+ width: 18%;
27
+ height: 39.2%;
28
+ display: inline-block;
29
+ /*margin: 0 1% 1.4% 1%;//上右下左*/
30
+ padding-right: 0;
31
+ margin-right: 2%;
32
+ margin-bottom: 26px;
33
+ }
34
+
35
+ .myelcard4 { //1920*1080 4个
36
+ width: 23.5%;
37
+ height: 55%;
38
+ display: inline-block;
39
+ margin-right: 1.5%;
40
+ margin-bottom: 26px;
41
+ }
42
+
43
+ .myelcard3 { //1536*864 3个
44
+ width: 31.7%;
45
+ height: 82.2%;
46
+ display: inline-block;
47
+ margin-right: 1.6%;
48
+ margin-bottom: 1.4%;
49
+ }
50
+
51
+ .myelcard2 { //1280*720 2个
52
+ width: 48%;
53
+ height: 151.2%;
54
+ display: inline-block;
55
+ margin-right: 2%;
56
+ margin-bottom: 1.4%;
57
+ }
58
+
59
+ /deep/ .el-card__header {
60
+ height: 49px;
61
+ padding: 5px 0;
62
+ border-bottom: 0;
63
+ }
64
+
65
+ /deep/ .el-card__body {
66
+ padding: 5px 0 0;
67
+ height: 80%;
68
+ }
69
+
70
+ //滚动条样式
71
+ .main-box::-webkit-scrollbar {
72
+ width: 4px;
73
+ height: 6px;
74
+ }
75
+
76
+ .main-box::-webkit-scrollbar-thumb {
77
+ background-color: #ddd;
78
+ border-radius: 3px;
79
+ }
80
+
81
+ .box-card {
82
+ height: 100%;
83
+ width: 100%;
84
+ border-radius: 4px;
85
+ box-shadow: 0 6px 10px 0 rgba(52, 127, 255, 0.10);
86
+ }
87
+
88
+ .cardhead {
89
+ position: relative;
90
+ line-height: 49px;
91
+ padding-left: 15px;
92
+ }
93
+
94
+ .cardhead-title {
95
+ font-size: 18px;
96
+ font-weight: bold;
97
+ color: #333333;
98
+ font-family: 'PingFang SC-Medium';
99
+ margin-right: 10px;
100
+ }
101
+
102
+ .cardhead-tag {
103
+ /*width: 64px;*/
104
+ height: 26px;
105
+ text-align: center;
106
+ line-height: 26px;
107
+ margin-left: 6px;
108
+ border: none;
109
+ border-radius: 0;
110
+ box-sizing: border-box;
111
+ padding: 0 10px;
112
+ }
113
+
114
+ .mycardBody {
115
+ //height: 77%;
116
+ min-height: 125px;
117
+ padding: 0 15px;
118
+ border-bottom: 1px dashed #E4EAF7;
119
+ border-top: 1px dashed #E4EAF7;
120
+
121
+ .cardbody-box {
122
+ display: flex;
123
+ flex-direction: row;
124
+ height: 44px;
125
+ line-height: 44px;
126
+ font-size: 14px;
127
+ font-family: PingFangSC-Regular;
128
+
129
+ .cardbody-title {
130
+ color: #333333;
131
+ flex-shrink: 0;
132
+ }
133
+
134
+ .cardbody-content {
135
+ color: #666666;
136
+ white-space: nowrap;
137
+ overflow: hidden;
138
+ text-overflow: ellipsis;
139
+ }
140
+ }
141
+
142
+ }
143
+
144
+ .mycardFoot {
145
+ height: 54px;
146
+ width: 100%;
147
+ display: flex;
148
+ flex-direction: row;
149
+ justify-content: center;
150
+ align-items: center;
151
+
152
+ button {
153
+ width: 90px;
154
+ height: 34px;
155
+ font-size: 14px;
156
+ }
157
+ }
158
+
159
+ .myDealButton { //处理
160
+ color: #3485FF;
161
+ border-color: #3485FF;
162
+ background-color: rgba(52, 133, 255, 0.10);
163
+ }
164
+
165
+ .myDealButton:hover {
166
+ color: #FFFFFF;
167
+ border-color: #3485FF;
168
+ background-color: #3485FF;
169
+ }
170
+
171
+ .myFlowRecordButton { //流转记录
172
+ color: #FF8C1A;
173
+ border-color: #FF8C1A;
174
+ background-color: rgba(255, 140, 25, 0.10);
175
+ }
176
+
177
+ .myFlowRecordButton:hover {
178
+ color: #FFFFFF;
179
+ border-color: #FF8C1A;
180
+ background-color: #FF8C1A;
181
+ }
182
+
183
+ .myFlowChartButton { //流程图
184
+ color: #0EC052;
185
+ border-color: #0EC052;
186
+ background-color: rgba(14, 192, 82, 0.10);
187
+ }
188
+
189
+ .myFlowChartButton:hover {
190
+ color: #FFFFFF;
191
+ border-color: #0EC052;
192
+ background-color: #0EC052;
193
+ }