ui-process-h5 2.0.7-beta → 2.1.0-beta

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 (91) hide show
  1. package/README.md +11 -204
  2. package/build/configure/README.md +211 -0
  3. package/build/configure/package.json +32 -0
  4. package/debug.js +9 -0
  5. package/index.html +12 -0
  6. package/package.json +56 -25
  7. package/src/App.vue +233 -0
  8. package/src/assets/font-icon/iconfont.scss +57 -0
  9. package/src/assets/font-icon/iconfont.ttf +0 -0
  10. package/src/assets/img/add-file.png +0 -0
  11. package/src/assets/img/arrow-right.png +0 -0
  12. package/src/assets/img/arrow.png +0 -0
  13. package/src/assets/img/check.png +0 -0
  14. package/src/assets/img/del.png +0 -0
  15. package/src/assets/img/doc.png +0 -0
  16. package/src/assets/img/file.png +0 -0
  17. package/src/assets/img/image.png +0 -0
  18. package/src/assets/img/pdf.png +0 -0
  19. package/src/assets/img/process.png +0 -0
  20. package/src/assets/img/xls.png +0 -0
  21. package/src/assets/img/zip.png +0 -0
  22. package/src/assets/js/auth.js +65 -0
  23. package/src/assets/js/errorCode.js +6 -0
  24. package/src/assets/js/message.js +352 -0
  25. package/src/assets/js/request.js +99 -0
  26. package/src/assets/js/toast.js +239 -0
  27. package/src/assets/js/top.js +229 -0
  28. package/src/assets/js/utils.js +83 -0
  29. package/src/assets/js/vuePopper.js +123 -0
  30. package/src/assets/query.png +0 -0
  31. package/src/assets/status/check.png +0 -0
  32. package/src/assets/status/del.png +0 -0
  33. package/src/assets/status/error.png +0 -0
  34. package/src/assets/status/loading.png +0 -0
  35. package/src/assets/status/success.png +0 -0
  36. package/src/main.js +17 -0
  37. package/src/packages/attchUpload/index.js +375 -0
  38. package/src/packages/attchUpload/index.scss +143 -0
  39. package/src/packages/attchUpload/index.vue +173 -0
  40. package/src/packages/downSelect/index.js +119 -0
  41. package/src/packages/downSelect/index.scss +88 -0
  42. package/src/packages/downSelect/index.vue +62 -0
  43. package/src/packages/index.js +6 -0
  44. package/src/packages/popup/index.js +125 -0
  45. package/src/packages/popup/index.scss +178 -0
  46. package/src/packages/popup/index.vue +80 -0
  47. package/src/packages/preview/index.js +40 -0
  48. package/src/packages/preview/index.vue +15 -0
  49. package/src/packages/previewImage/index.js +286 -0
  50. package/src/packages/previewImage/index.scss +76 -0
  51. package/src/packages/previewImage/index.vue +53 -0
  52. package/src/packages/process/index.js +1016 -0
  53. package/src/packages/process/index.scss +188 -0
  54. package/src/packages/process/index.vue +291 -0
  55. package/src/packages/process/operation/backNode.vue +396 -0
  56. package/src/packages/process/operation/cancel.vue +425 -0
  57. package/src/packages/process/operation/ccTask.vue +256 -0
  58. package/src/packages/process/operation/complete.vue +1384 -0
  59. package/src/packages/process/operation/counterSign.vue +498 -0
  60. package/src/packages/process/operation/delegateTask.vue +493 -0
  61. package/src/packages/process/operation/index.js +8 -0
  62. package/src/packages/process/operation/index.scss +212 -0
  63. package/src/packages/process/operation/msgList.vue +174 -0
  64. package/src/packages/process/operation/treeNode.vue +901 -0
  65. package/src/packages/process/operation/treePerson.vue +304 -0
  66. package/src/packages/submitPopup/index.js +708 -0
  67. package/src/packages/submitPopup/index.scss +190 -0
  68. package/src/packages/submitPopup/index.vue +125 -0
  69. package/src/packages/tab/index.js +236 -0
  70. package/src/packages/tab/index.scss +177 -0
  71. package/src/packages/tab/index.vue +155 -0
  72. package/src/packages/tip/index.js +80 -0
  73. package/src/packages/tip/index.scss +121 -0
  74. package/src/packages/tip/index.vue +57 -0
  75. package/src/packages/viewAttchList/index.js +138 -0
  76. package/src/packages/viewAttchList/index.scss +76 -0
  77. package/src/packages/viewAttchList/index.vue +121 -0
  78. package/src/style.css +80 -0
  79. package/vite.config.ts +118 -0
  80. package/v2/style.css +0 -1
  81. package/v2/ui-process-h5.js +0 -9945
  82. package/v2/ui-process-h5.umd.cjs +0 -18
  83. package/v2.7/style.css +0 -1
  84. package/v2.7/ui-process-h5.js +0 -9322
  85. package/v2.7/ui-process-h5.umd.cjs +0 -18
  86. package/v3/style.css +0 -1
  87. package/v3/ui-process-h5.js +0 -6842
  88. package/v3/ui-process-h5.umd.cjs +0 -6
  89. /package/{scripts → build/scripts}/postinstall.mjs +0 -0
  90. /package/{scripts → build/scripts}/switch-cli.mjs +0 -0
  91. /package/{scripts → build/scripts}/utils.mjs +0 -0
@@ -0,0 +1,1384 @@
1
+ <template>
2
+ <div class="process-popup-content">
3
+ <div
4
+ class="process-popup-content-msg"
5
+ v-if="
6
+ param.ProcessInsObj &&
7
+ param.ProcessInsObj.processDefId !=
8
+ 'obj_94014ede99b6495d8f6d5977314faa15'
9
+ "
10
+ >
11
+ <div class="process-pc-label" v-if="param.isQuickReply">快捷回复</div>
12
+ <div
13
+ class="process-pc-value"
14
+ style="display: flex"
15
+ v-if="param.isQuickReply"
16
+ >
17
+ <div class="process-radio" style="width: 100%">
18
+ <template v-if="param.isDocument">
19
+ <div
20
+ class="process-radio-item"
21
+ :class="value == commentMsg ? 'process-radio-item--check' : ''"
22
+ v-for="value in msgCheckList"
23
+ @click="() => (commentMsg = value)"
24
+ >
25
+ <span> </span>
26
+ {{ value }}
27
+ </div>
28
+ </template>
29
+ <template v-else>
30
+ <div
31
+ class="process-radio-item"
32
+ :class="value == commentMsg ? 'process-radio-item--check' : ''"
33
+ v-for="value in msgCheckListS"
34
+ @click="() => (commentMsg = value)"
35
+ >
36
+ <span> </span>
37
+ {{ value }}
38
+ </div>
39
+ </template>
40
+
41
+ <div
42
+ class="process-radio-item"
43
+ @click="handleOpenMsg()"
44
+ v-if="param.isMsg"
45
+ style="color: #1389ff; font-size: 14px; margin-left: auto"
46
+ >
47
+ 常用意见
48
+ </div>
49
+ </div>
50
+ </div>
51
+ <div v-if="param.isMsg && !param.isQuickReply">
52
+ <div
53
+ class="process-radio-item"
54
+ @click="handleOpenMsg()"
55
+ style="color: #1389ff; font-size: 14px"
56
+ >
57
+ 常用意见
58
+ </div>
59
+ </div>
60
+ <div class="process-pc-label">
61
+ 审批意见
62
+ <span class="process-pc-label--re" v-if="param.isRequire">*</span>
63
+ </div>
64
+ <div class="process-pc-value">
65
+ <div class="process-popup-textarea">
66
+ <textarea
67
+ v-model="commentMsg"
68
+ class="textarea-item"
69
+ name="description"
70
+ cols="40"
71
+ placeholder="请输入审批意见(200字以内)"
72
+ maxlength="200"
73
+ onkeyup="this.value=this.value.replace(/[\uD800-\uDFFF]/g,'')"
74
+ ></textarea>
75
+ <div class="process-popup-textarea-num">
76
+ {{ commentMsg.length }}/200
77
+ </div>
78
+ </div>
79
+ <div class="msg-btn" v-if="param.isMsg">
80
+ <span class="msg-btn-click" @click="handleMakeMsg()"
81
+ >设置为常用意见</span
82
+ >
83
+ </div>
84
+ </div>
85
+ </div>
86
+
87
+ <div
88
+ class="process-popup-content-person"
89
+ v-if="
90
+ taskNode &&
91
+ taskNode.length > 0 &&
92
+ taskNode[0].taskState != 4 &&
93
+ taskNode[0].taskState != 11
94
+ "
95
+ >
96
+ <template v-if="nextNodeData.length">
97
+ <div
98
+ v-if="
99
+ nextNodeData.length == 1 && nextNodeData[0]['type'] == 'endEvent'
100
+ "
101
+ >
102
+ 下一节点:结束事件
103
+ </div>
104
+ <TreePerson
105
+ v-else
106
+ :items="nextNodeData"
107
+ nodeType="nexting"
108
+ :param="param"
109
+ @onMultiNode="onMultiNode"
110
+ />
111
+ </template>
112
+
113
+ <template v-else-if="outGatewayUserTaskModel.length">
114
+ <TreePerson
115
+ :items="outGatewayUserTaskModel"
116
+ nodeType="outing"
117
+ :param="param"
118
+ @onMultiNode="onMultiNode"
119
+ @onVars="onVars"
120
+ />
121
+ </template>
122
+
123
+ <!-- <template v-if="nextNodeData.length">
124
+ <template v-for="item in nextNodeData">
125
+ <template
126
+ v-if="
127
+ item.type != 'endEvent' &&
128
+ isOption(
129
+ item?.userTaskModelDTO?.humanPerformer?.name
130
+ )
131
+ "
132
+ >
133
+ <div class="process-pc-label">
134
+ <div>
135
+ {{ item.userTaskModelDTO.name }}
136
+ <br />
137
+ 审批人
138
+ <span class="process-pc-label--re">*</span>
139
+ </div>
140
+ </div>
141
+ <div
142
+ class="process-pc-value"
143
+ @click="handleOpenPopup(item)"
144
+ >
145
+ <div class="process-pc-value--people">
146
+ <div
147
+ class="process-pc-value--data"
148
+ v-if="
149
+ partNode[item.id] &&
150
+ partNode[item.id].length
151
+ "
152
+ >
153
+ <span>
154
+ {{ partNode[item.id].join(",") }}
155
+ </span>
156
+ </div>
157
+ <div
158
+ v-else-if="
159
+ item.humanPerformerName !==
160
+ '固定账户' &&
161
+ item.humanPerformerName !==
162
+ '与流程申请人相关'
163
+ "
164
+ class="process-pc-value--data"
165
+ style="color: #888;"
166
+ >
167
+ <span>
168
+ 请选择审批人
169
+ </span>
170
+ </div>
171
+
172
+ <div
173
+ v-else-if="
174
+ item.routeTxt && item.routeTxt.userNames
175
+ "
176
+ class="process-pc-value--data"
177
+ >
178
+ {{ item.routeTxt.userNames }}
179
+ </div>
180
+ </div>
181
+ </div>
182
+ </template>
183
+ <template v-else-if="item.type != 'endEvent'">
184
+ <div class="process-pc-label">
185
+ {{ item.userTaskModelDTO.name }}
186
+ <span v-if="personMakeList[item.id]"
187
+ >:{{ personMakeList[item.id] }}</span
188
+ >
189
+ </div>
190
+ </template>
191
+ <div v-else>下一节点:结束事件</div>
192
+ </template>
193
+ </template>
194
+
195
+ <template v-else-if="outGatewayUserTaskModel.length">
196
+ <template v-for="item in outGatewayUserTaskModel">
197
+ <template
198
+ v-if="
199
+ outGatewayUserTaskModel.childNode &&
200
+ outGatewayUserTaskModel.childNode.length
201
+ "
202
+ >
203
+ <template
204
+ v-if="
205
+ item.type != 'endEvent' &&
206
+ isOption(
207
+ item?.userTaskModelDTO?.humanPerformer?.name
208
+ )
209
+ "
210
+ >
211
+ <div class="process-pc-label">
212
+ <div>
213
+ {{ item.userTaskModelDTO.name }}
214
+ <br />
215
+ 审批人
216
+ <span class="process-pc-label--re">*</span>
217
+ </div>
218
+ </div>
219
+ <div
220
+ class="process-pc-value"
221
+ @click="handleOpenPopup(item)"
222
+ >
223
+ <div class="process-pc-value--people">
224
+ <div
225
+ class="process-pc-value--data"
226
+ v-if="
227
+ partNode[item.id] &&
228
+ partNode[item.id].length
229
+ "
230
+ >
231
+ <span>
232
+ {{ partNode[item.id].join(",") }}
233
+ </span>
234
+ </div>
235
+ <div
236
+ v-else
237
+ class="process-pc-value--data"
238
+ style="color: #888;"
239
+ >
240
+ <span>
241
+ 请选择审批人
242
+ </span>
243
+ </div>
244
+ </div>
245
+ </div>
246
+ </template>
247
+ <template v-else-if="item.type != 'endEvent'">
248
+ <div class="process-pc-label">
249
+ {{ item.userTaskModelDTO.name }}
250
+ </div>
251
+ </template>
252
+ <div v-else>下一节点:结束事件</div>
253
+ </template>
254
+
255
+ <template v-else>
256
+ <div class="process-pc-label">
257
+ 节点审批
258
+ <span class="process-pc-label--re">*</span>
259
+ </div>
260
+
261
+ <div
262
+ class="process-pc-value"
263
+ v-if="item.childNode && item.childNode.length"
264
+ >
265
+ <div class="process-radio">
266
+ <div
267
+ class="process-radio-item"
268
+ :class="
269
+ value.id == radioCheck
270
+ ? 'process-radio-item--check'
271
+ : ''
272
+ "
273
+ v-for="value in item.childNode"
274
+ @click="handleNode(value)"
275
+ >
276
+ <span> </span>
277
+ {{ value.nodeName || value.name }}
278
+ </div>
279
+ </div>
280
+ </div>
281
+ <div class="process-pc-value" v-else>
282
+ <div class="process-pc-value--people">
283
+ <div style="margin-bottom: 10px;">
284
+ {{ item.userTaskModelDTO.name }}
285
+ </div>
286
+ <div
287
+ class="process-pc-value--data"
288
+ v-if="
289
+ partNode[item.id] &&
290
+ partNode[item.id].length
291
+ "
292
+ >
293
+ <span>
294
+ {{ partNode[item.id].join(",") }}
295
+ </span>
296
+ </div>
297
+ <div
298
+ v-else-if="
299
+ item.humanPerformerName !==
300
+ '固定账户' &&
301
+ item.humanPerformerName !==
302
+ '与流程申请人相关'
303
+ "
304
+ class="process-pc-value--data"
305
+ style="color: #888;"
306
+ @click="handleOpenPopup(item)"
307
+ >
308
+ <span>
309
+ 请选择审批人
310
+ </span>
311
+ </div>
312
+
313
+ <div
314
+ v-else-if="
315
+ item.routeTxt && item.routeTxt.userNames
316
+ "
317
+ class="process-pc-value--data"
318
+ >
319
+ {{ item.routeTxt.userNames }}
320
+ </div>
321
+ </div>
322
+ </div>
323
+ </template>
324
+ </template>
325
+
326
+ <template v-if="radioCheck">
327
+ <template
328
+ v-if="
329
+ radioCheckChild &&
330
+ radioCheckChild.length &&
331
+ radioCheckChild[0].type !== 'EndEventModel'
332
+ "
333
+ >
334
+ <div style="margin-top: 20px; font-size: 12px;">
335
+ 节点审批:
336
+ </div>
337
+ <div v-for="item in radioCheckChild">
338
+ <div
339
+ class="process-pc-label"
340
+ @click="handleSaveNode(item)"
341
+ >
342
+ <div class="process-checkbox">
343
+ <div
344
+ class="process-checkbox-item"
345
+ :class="
346
+ radioCheckNameList.includes(item.id)
347
+ ? 'process-checkbox-item--check'
348
+ : ''
349
+ "
350
+ >
351
+ {{ item.nodeName || item.name }}
352
+ <span>
353
+ <img
354
+ v-if="
355
+ radioCheckNameList.includes(
356
+ item.id
357
+ )
358
+ "
359
+ class="process-checkbox-item-check"
360
+ :src="check"
361
+ />
362
+ </span>
363
+ </div>
364
+ </div>
365
+ </div>
366
+ <template
367
+ v-if="!item.childNode || !item.childNode.length"
368
+ >
369
+ <div
370
+ class="process-pc-value"
371
+ @click="handleOpenPopup(item)"
372
+ v-if="
373
+ item.humanPerformerName !==
374
+ '固定账户' &&
375
+ item.humanPerformerName !==
376
+ '与流程申请人相关'
377
+ "
378
+ >
379
+ <div class="process-pc-value--people">
380
+ <div
381
+ class="process-pc-value--data"
382
+ v-if="
383
+ partNode[item.id] &&
384
+ partNode[item.id].length
385
+ "
386
+ >
387
+ <span>
388
+ {{
389
+ partNode[item.id].join(",")
390
+ }}
391
+ </span>
392
+ </div>
393
+ <div
394
+ v-else
395
+ class="process-pc-value--data"
396
+ style="color: #888;"
397
+ >
398
+ <span>
399
+ 请选择审批人
400
+ </span>
401
+ </div>
402
+ </div>
403
+ </div>
404
+ <div
405
+ v-else-if="
406
+ item.routeTxt && item.routeTxt.userNames
407
+ "
408
+ class="process-pc-value--data"
409
+ >
410
+ {{ item.routeTxt.userNames }}
411
+ </div>
412
+ <div class="process-pc-value--data" v-else>
413
+ <span v-if="partNodeS && partNodeS.length">
414
+ {{
415
+ partNodeS && partNodeS.length
416
+ ? partNodeS.join(",")
417
+ : ""
418
+ }}
419
+ </span>
420
+ </div>
421
+ </template>
422
+ </div>
423
+ </template>
424
+ <template v-else>
425
+ <div class="process-pc-label">
426
+ 下一节点审批
427
+ </div>
428
+ <div class="process-pc-value">
429
+ {{
430
+ radioCheckChild[0].type === "EndEventModel"
431
+ ? "结束事件"
432
+ : radioCheckName
433
+ }}
434
+ </div>
435
+ </template>
436
+ </template>
437
+
438
+ <template
439
+ v-if="radioCheckNodeList && radioCheckNodeList.length"
440
+ >
441
+ <template
442
+ v-if="
443
+ radioCheckNodeList &&
444
+ radioCheckNodeList.length &&
445
+ radioCheckNodeList[0].type !== 'EndEventModel'
446
+ "
447
+ >
448
+ <div style="margin-top: 20px; font-size: 12px;">
449
+ 节点审批:
450
+ </div>
451
+ <div v-for="item in radioCheckNodeList">
452
+ <div
453
+ class="process-pc-label"
454
+ @click="handleSaveNodeS(item)"
455
+ >
456
+ <div class="process-checkbox">
457
+ <div
458
+ class="process-checkbox-item"
459
+ :class="
460
+ radioCheckNameList.includes(item.id)
461
+ ? 'process-checkbox-item--check'
462
+ : ''
463
+ "
464
+ >
465
+ {{ item.nodeName || item.name }}
466
+ <span>
467
+ <img
468
+ v-if="
469
+ radioCheckNode.includes(
470
+ item.id
471
+ )
472
+ "
473
+ class="process-checkbox-item-check"
474
+ :src="check"
475
+ />
476
+ </span>
477
+ </div>
478
+ </div>
479
+ </div>
480
+ <template
481
+ v-if="!item.childNode || !item.childNode.length"
482
+ >
483
+ <div
484
+ class="process-pc-value"
485
+ @click="handleOpenPopup(item)"
486
+ v-if="
487
+ item.humanPerformerName !==
488
+ '固定账户' &&
489
+ item.humanPerformerName !==
490
+ '与流程申请人相关'
491
+ "
492
+ >
493
+ <div class="process-pc-value--people">
494
+ <div
495
+ class="process-pc-value--data"
496
+ v-if="
497
+ partNode[item.id] &&
498
+ partNode[item.id].length
499
+ "
500
+ >
501
+ <span>
502
+ {{
503
+ partNode[item.id].join(",")
504
+ }}
505
+ </span>
506
+ </div>
507
+ <div
508
+ v-else
509
+ class="process-pc-value--data"
510
+ style="color: #888;"
511
+ >
512
+ <span>
513
+ 请选择审批人
514
+ </span>
515
+ </div>
516
+ </div>
517
+ </div>
518
+ <div class="process-pc-value--data" v-else>
519
+ <span v-if="partNodeS && partNodeS.length">
520
+ {{
521
+ partNodeS && partNodeS.length
522
+ ? partNodeS.join(",")
523
+ : ""
524
+ }}
525
+ </span>
526
+ </div>
527
+ </template>
528
+ </div>
529
+ </template>
530
+ <template v-else>
531
+ <div class="process-pc-label">
532
+ 下一节点审批
533
+ </div>
534
+ <div class="process-pc-value">
535
+ {{
536
+ radioCheckChild[0].type === "EndEventModel"
537
+ ? "结束事件"
538
+ : radioCheckName
539
+ }}
540
+ </div>
541
+ </template>
542
+ </template>
543
+ </template> -->
544
+ </div>
545
+ <slot name="completeSlot"></slot>
546
+ <TopTips
547
+ ref="topTips"
548
+ :text="textTips"
549
+ :statusTips="statusTips"
550
+ :type="typeTips"
551
+ />
552
+ <TopPopup
553
+ v-bind:visible="visible"
554
+ v-on:update:visible="(val) => (visible = val)"
555
+ ref="TopPopup"
556
+ titleText="选人"
557
+ :isDrawer="true"
558
+ >
559
+ <div style="height: 100%">
560
+ <departPerson
561
+ :isTitle="false"
562
+ v-if="visible"
563
+ :visible.sync="visible"
564
+ v-bind="entity"
565
+ @callback="handleCallback"
566
+ @cancel="handleCancel"
567
+ >
568
+ </departPerson>
569
+ </div>
570
+ </TopPopup>
571
+
572
+ <TopPopup
573
+ v-bind:visible="visibleListMsg"
574
+ v-on:update:visible="(val) => (visibleListMsg = val)"
575
+ ref="TopPopup"
576
+ titleText="常用意见"
577
+ :isDrawer="true"
578
+ >
579
+ <MsgList
580
+ :visible="visibleListMsg"
581
+ :request="param.request"
582
+ :useInfo="param.userInfo"
583
+ @handleTips="handleTips"
584
+ @handleMsg="handleMsg"
585
+ ></MsgList>
586
+ </TopPopup>
587
+
588
+ <TopPopup
589
+ titleText="操作消息提示"
590
+ :isTips="true"
591
+ :context="`将${commentMsg}设置为常用意见`"
592
+ :cancel="handleTipsCancel"
593
+ :comfig="handleTipsComfig"
594
+ v-bind:visible="visibleMsgComfig"
595
+ v-on:update:visible="(val) => (visibleMsgComfig = val)"
596
+ >
597
+ </TopPopup>
598
+
599
+ <attchViews
600
+ v-if="labels == '1'"
601
+ :limit="limit ? limit : -1"
602
+ :requires="requires"
603
+ :request="param.request"
604
+ :linkUrl="param.linkUrl"
605
+ @getValue="getValues"
606
+ />
607
+
608
+ <!-- -->
609
+ </div>
610
+ </template>
611
+ <script>
612
+ import TopTips from "../../tip/index.vue";
613
+ import attchViews from "../../attchUpload/index.vue";
614
+ import TopPopup from "../../popup/index.vue";
615
+ import { departPerson } from "checked-pick-app";
616
+ import success from "@/assets/status/success.png";
617
+ import checks from "@/assets/status/check.png";
618
+ import MsgList from "./msgList.vue";
619
+ import "checked-pick-app/style.css";
620
+ import TreePerson from "./treePerson.vue";
621
+ export default {
622
+ name: "complete",
623
+ props: {
624
+ param: {
625
+ type: Object,
626
+ defalut: () => {
627
+ visible: false;
628
+ },
629
+ },
630
+ },
631
+ components: {
632
+ TopTips,
633
+ attchViews,
634
+ TopPopup,
635
+ departPerson,
636
+ MsgList,
637
+ TreePerson,
638
+ },
639
+ computed: {
640
+ check() {
641
+ return success;
642
+ },
643
+ checkS() {
644
+ return checks;
645
+ },
646
+ },
647
+ data() {
648
+ return {
649
+ commentMsg: "",
650
+ style: {
651
+ color: "#333",
652
+ disableColor: "#F7F6F6",
653
+ },
654
+ textTips: "",
655
+ statusTips: false,
656
+ typeTips: "success",
657
+ // annex 附件属性
658
+ limit: "",
659
+ requires: "",
660
+ labels: "",
661
+ otherList: "",
662
+ attchLists: [],
663
+ // next
664
+ nextNodeData: [],
665
+ taskNode: [],
666
+
667
+ outGatewayUserTaskModel: [],
668
+ formData: {},
669
+
670
+ // 选人组件
671
+ visible: false,
672
+ entity: {
673
+ source: "0",
674
+ type: this.param.isCheckType || "0",
675
+ orgType: this.param.isOrgType || [0],
676
+ request: this.param.request, //'http://59.53.91.231:2100' 0002
677
+ codeType: this.param.isCodeType || [3], // 可选类型 1-主体 2-部门 3-人员
678
+ multiple: true, // 是否多选
679
+ },
680
+ /* {
681
+ source: "0",
682
+ type: "0",
683
+ request: this.param.request, //'http://59.53.91.231:2100' 0002
684
+ businessId: "6a9aaf5742572e82b5d89d6f7e52e2f2",
685
+ codeType: [3], // 可选类型 1-主体 2-部门 3-人员
686
+ multiple: true, // 是否多选
687
+ } */
688
+ // 存储选人信息
689
+ multiNodeParticipant: {},
690
+ // 当前评估对象
691
+ partObjId: [],
692
+ // 选中人员信息
693
+ partNode: {},
694
+ // 是否可选
695
+ canCheck: true,
696
+ // radio
697
+ radioCheck: "",
698
+ radioCheckChild: [],
699
+ radioCheckName: "",
700
+ radioCheckNameList: [],
701
+
702
+ radioCheckNode: [],
703
+ radioCheckNodeList: [],
704
+ // 选人回显
705
+ partList: [],
706
+
707
+ //
708
+ gateVars: {},
709
+
710
+ // 固定账户id存储:[]
711
+ personMake: [],
712
+ personMakeList: {},
713
+
714
+ // 常用意见列表
715
+ visibleListMsg: false,
716
+ visibleMsgComfig: false,
717
+ msgCheck: "",
718
+ msgCheckList: ["同意", "如拟", "已阅"],
719
+ msgCheckListS: ["同意", "已阅"],
720
+
721
+ actionName: "",
722
+ partNodeS: [],
723
+ makeType: "",
724
+ };
725
+ },
726
+ watch: {
727
+ "param.visible": {
728
+ handler(val, preVal) {
729
+ this.nextNodeData = this.param.nextNodeData;
730
+ this.taskNode = this.param.taskNode;
731
+ this.outGatewayUserTaskModel = this.param.outGatewayUserTaskModel;
732
+ this.actionName = this.param.actionName;
733
+
734
+ // console.log("param:::", this.param);
735
+ /* if(this.nextNodeData) */
736
+
737
+ if (
738
+ this.outGatewayUserTaskModel &&
739
+ this.outGatewayUserTaskModel.length
740
+ ) {
741
+ this.outGatewayUserTaskModel.map((v) => {
742
+ if (v.type === "endEvent") return;
743
+ v.userTaskModelDTO = {
744
+ name: v.name,
745
+ humanPerformer: {
746
+ name: v.humanPerformerName,
747
+ },
748
+ };
749
+ v.humanPerformer = {
750
+ name: v.humanPerformerName,
751
+ };
752
+ });
753
+ }
754
+
755
+ ///userTaskModelDTO
756
+ if (this.nextNodeData && this.nextNodeData.length) {
757
+ this.nextNodeData.map((v, i) => {
758
+ if (v.type === "endEvent") return;
759
+
760
+ if (
761
+ v.userTaskModelDTO.participantList &&
762
+ v.userTaskModelDTO.participantList.length
763
+ ) {
764
+ v.userTaskModelDTO.participantList.map((value) => {
765
+ /* */
766
+ if (!this.multiNodeParticipant[v.id]) {
767
+ this.multiNodeParticipant[v.id] = [];
768
+ }
769
+ if (!this.partNode[v.id]) {
770
+ this.partNode[v.id] = [];
771
+ }
772
+
773
+ if (!this.multiNodeParticipant[v.id].includes(value.id)) {
774
+ this.multiNodeParticipant[v.id].push(value.id);
775
+ }
776
+
777
+ if (!this.partNode[v.id].includes(value.name)) {
778
+ this.partNode[v.id].push(value.name);
779
+ }
780
+ });
781
+ }
782
+
783
+ /* console.log(
784
+ "nextData",
785
+ v.userTaskModelDTO.humanPerformer.name
786
+ ); */
787
+ if (
788
+ v.userTaskModelDTO.humanPerformer.name == "固定账户" ||
789
+ v.userTaskModelDTO.humanPerformer.name == "与流程申请人相关"
790
+ ) {
791
+ this.personMake.push(v.id);
792
+ }
793
+ });
794
+
795
+ if (this.personMake && this.personMake.length) {
796
+ this.param.request
797
+ .post(
798
+ `aws/repository/getParticipantsOfPerformerNames?taskInstId=${this.param.taskInstId}`,
799
+ {
800
+ userTaskDefIds: this.personMake,
801
+ }
802
+ )
803
+ .then((res) => {
804
+ if (res.code == 200) {
805
+ this.personMakeList = res.data;
806
+ }
807
+ });
808
+ }
809
+ } else if (
810
+ this.outGatewayUserTaskModel &&
811
+ this.outGatewayUserTaskModel.length
812
+ ) {
813
+ this.outGatewayUserTaskModel.map((v, i) => {
814
+ if (v.type === "endEvent") {
815
+ return;
816
+ }
817
+ // console.log("测试数据:::", v);
818
+ if (v.participantList && v.participantList.length) {
819
+ v.participantList.map((value) => {
820
+ /* */
821
+ if (!this.multiNodeParticipant[v.id]) {
822
+ this.multiNodeParticipant[v.id] = [];
823
+ }
824
+ if (!this.partNode[v.id]) {
825
+ this.partNode[v.id] = [];
826
+ }
827
+
828
+ if (!this.multiNodeParticipant[v.id].includes(value.id)) {
829
+ this.multiNodeParticipant[v.id].push(value.id);
830
+ }
831
+
832
+ if (!this.partNode[v.id].includes(value.name)) {
833
+ this.partNode[v.id].push(value.name);
834
+ }
835
+ });
836
+ }
837
+ });
838
+ }
839
+ // console.log("userTaskModelDTO", this.multiNodeParticipant);
840
+ // console.log(
841
+ // "outGatewayUserTaskModel",
842
+ // this.outGatewayUserTaskModel
843
+ // );
844
+ },
845
+ immediate: true,
846
+ deep: true,
847
+ },
848
+ },
849
+ created() {
850
+ // console.log("isVue2", this.param);
851
+ this.makeDelegateTaskButtonAnnex();
852
+ },
853
+ methods: {
854
+ // 设置msg
855
+ handleMakeMsg() {
856
+ if (this.commentMsg == "" && !this.commentMsg.length) {
857
+ this.handleTips("请输入审批意见!", false, "success");
858
+ this.visibleMsgComfig = false;
859
+ } else {
860
+ this.visibleMsgComfig = true;
861
+ }
862
+ },
863
+
864
+ handleTipsCancel() {
865
+ this.visibleMsgComfig = false;
866
+ },
867
+ handleTipsComfig() {
868
+ this.handleTips("", true, "loading");
869
+ this.visibleMsgComfig = false;
870
+ this.param.request
871
+ .post("/auth/user/opinion/save", {
872
+ opinionName: this.commentMsg,
873
+ })
874
+ .then((res) => {
875
+ if (res.code === 200) {
876
+ this.handleTips("设置成功!", true, "success");
877
+ } else {
878
+ this.handleTips(res.msg, true, "error");
879
+ }
880
+ })
881
+ .catch((error) => {
882
+ this.handleTips(error.msg, true, "error");
883
+ });
884
+ },
885
+ handleMsg(val) {
886
+ this.commentMsg = val;
887
+ this.visibleListMsg = false;
888
+ },
889
+ handleSaveNode(val) {
890
+ if (this.makeType == "InclusiveGatewayModel") {
891
+ if (this.radioCheckNameList.includes(val.id)) {
892
+ this.radioCheckNameList.splice(
893
+ this.radioCheckNameList.indexOf(val.id),
894
+ 1
895
+ );
896
+ } else {
897
+ this.radioCheckNameList.push(val.id);
898
+ this.gateVars[val.incomingConditionItemList[0].itemName] =
899
+ val.incomingConditionItemList[0].compareValue;
900
+ }
901
+ this.gateVars[val.itemName] = val.compareValue;
902
+ } else {
903
+ this.radioCheckNameList = [];
904
+ this.radioCheckNodeList = [];
905
+ this.radioCheckNameList.push(val.id);
906
+ if (val.childNode && val.childNode.length) {
907
+ this.radioCheckNodeList = val.childNode;
908
+ }
909
+ this.gateVars[val.incomingConditionItemList[0].itemName] =
910
+ val.incomingConditionItemList[0].compareValue;
911
+ this.gateVars[val.itemName] = val.compareValue;
912
+ }
913
+
914
+ // console.log("查看::", this.radioCheckNodeList);
915
+ },
916
+
917
+ handleSaveNodeS(val) {
918
+ if (this.makeType == "InclusiveGatewayModel") {
919
+ if (this.radioCheckNode.includes(val.id)) {
920
+ this.radioCheckNode.splice(this.radioCheckNode.indexOf(val.id), 1);
921
+ } else {
922
+ this.radioCheckNode.push(val.id);
923
+ /* this.gateVars[val.incomingConditionItemList[0].itemName] =
924
+ val.incomingConditionItemList[0].compareValue; */
925
+ }
926
+ /* this.gateVars[val.itemName] = val.compareValue; */
927
+ } else {
928
+ if (this.radioCheckNode && this.radioCheckNode.length) {
929
+ this.radioCheckNode = [];
930
+ } else {
931
+ this.radioCheckNode.push(val.id);
932
+ if (val.childNode && val.childNode.length) {
933
+ this.radioCheckNodeList.push(val.childNode);
934
+ }
935
+ }
936
+ /* this.gateVars[val.incomingConditionItemList[0].itemName] =
937
+ val.incomingConditionItemList[0].compareValue;
938
+ this.gateVars[val.itemName] = val.compareValue; */
939
+ }
940
+ },
941
+
942
+ forRadioChild(item, type) {
943
+ let arr = [];
944
+ item.map((v, i) => {
945
+ if (v.childNode && v.childNode.length) {
946
+ this.forRadioChild(v.childNode, true);
947
+ } else if (type) {
948
+ this.radioCheckChild.push(v);
949
+ }
950
+ });
951
+ },
952
+
953
+ async handleNode(item) {
954
+ this.makeType = item.type;
955
+ this.radioCheckNameList = [];
956
+ this.radioCheck = item.id;
957
+ this.radioCheckName = item.nodeName;
958
+ this.radioCheckChild =
959
+ item.childNode && item.childNode.length ? item.childNode : [item];
960
+
961
+ // console.log("item", item, "radioCheckChild", this.radioCheckChild);
962
+ // await this.forRadioChild(this.radioCheckChild, false);
963
+
964
+ if (this.radioCheckChild && this.radioCheckChild.length) {
965
+ this.radioCheckChild.map((v) => {
966
+ if (v.participantList && v.participantList.length) {
967
+ v.participantList.map((value) => {
968
+ /* */
969
+ if (!this.multiNodeParticipant[v.id]) {
970
+ this.multiNodeParticipant[v.id] = [];
971
+ }
972
+ if (!this.partNode[v.id]) {
973
+ this.partNode[v.id] = [];
974
+ }
975
+
976
+ if (!this.multiNodeParticipant[v.id].includes(value.id)) {
977
+ this.multiNodeParticipant[v.id].push(value.id);
978
+ }
979
+
980
+ if (!this.partNode[v.id].includes(value.name)) {
981
+ this.partNode[v.id].push(value.name);
982
+ }
983
+ });
984
+ } else {
985
+ this.param.request
986
+ .post(
987
+ `/aws/repository/getParticipantsOfPerformerNames?taskInstId=${this.param.taskInstId}`,
988
+ { userTaskDefIds: [v.id] }
989
+ )
990
+ .then((res) => {
991
+ if (res.code == 200) {
992
+ // v.participantList.push(res.data[v.id]);
993
+ this.partNodeS = [];
994
+ this.partNodeS.push(res.data[v.id]);
995
+
996
+ // console.log(
997
+ // "this.partNode",
998
+ // this.partNodeS
999
+ // );
1000
+ }
1001
+ });
1002
+ }
1003
+ });
1004
+ }
1005
+
1006
+ // vars判断(兼容处理)
1007
+ if (
1008
+ !this.radioCheckChild[0].incomingConditionItemList ||
1009
+ !this.radioCheckChild[0].incomingConditionItemList.length
1010
+ ) {
1011
+ if (
1012
+ item.incomingConditionItemList &&
1013
+ item.incomingConditionItemList.length
1014
+ ) {
1015
+ this.radioCheckChild[0].incomingConditionItemList =
1016
+ item.incomingConditionItemList;
1017
+ }
1018
+ }
1019
+
1020
+ // vars判断
1021
+ if (this.outGatewayUserTaskModel && this.outGatewayUserTaskModel.length) {
1022
+ if (this.radioCheckChild && this.radioCheckChild.length) {
1023
+ this.gateVars[
1024
+ this.radioCheckChild[0].incomingConditionItemList[0].itemName
1025
+ ] = this.radioCheckChild[0].incomingConditionItemList[0].compareValue;
1026
+
1027
+ this.gateVars[item.incomingConditionItemList[0].itemName] =
1028
+ item.incomingConditionItemList[0].compareValue;
1029
+ } else {
1030
+ this.gateVars[item.incomingConditionItemList[0].itemName] =
1031
+ item.incomingConditionItemList[0].compareValue;
1032
+ }
1033
+
1034
+ // console.log("测试vars::", this.gateVars);
1035
+ }
1036
+ },
1037
+ handleOpenPopup(item) {
1038
+ this.visible = true;
1039
+ this.partObjId = item.id;
1040
+
1041
+ if (this.nextNodeData && this.nextNodeData.length) {
1042
+ item = {
1043
+ ...item,
1044
+ ...item.userTaskModelDTO,
1045
+ };
1046
+ } else if (!item.humanPerformer) {
1047
+ item = {
1048
+ ...item,
1049
+ humanPerformer: {
1050
+ name: item.humanPerformerName,
1051
+ },
1052
+ };
1053
+ }
1054
+ // console.log("item.id:::", item);
1055
+ if (item.humanPerformer.name == "固定单位") {
1056
+ let subjectName;
1057
+ let checkedArray = [];
1058
+ item.routeTxt.companyIds.map((v, i) => {
1059
+ subjectName = v.name;
1060
+ });
1061
+
1062
+ if (
1063
+ this.multiNodeParticipant[item.id] &&
1064
+ this.multiNodeParticipant[item.id].length
1065
+ ) {
1066
+ this.multiNodeParticipant[item.id].map((v, i) => {
1067
+ checkedArray.push({
1068
+ type: 3,
1069
+ uid: v,
1070
+ });
1071
+ });
1072
+ }
1073
+
1074
+ this.entity = {
1075
+ source: "1",
1076
+ type: this.param.isCheckType || "0",
1077
+ orgType: this.param.isOrgType || [0],
1078
+ request: this.param.request,
1079
+ codeType: this.param.isCodeType || [3],
1080
+ multiple: item.loopCardinality != 1,
1081
+ maxMultiple: item.loopCardinality > 0 ? item.loopCardinality : 0,
1082
+ subjectName: subjectName,
1083
+ checkedArray: checkedArray,
1084
+ };
1085
+ } else if (item.humanPerformer.name == "固定部门") {
1086
+ let deptCode;
1087
+ let deptCodeArray = [];
1088
+ let checkedArray = [];
1089
+ item.routeTxt.departmentIds.forEach((v, i) => {
1090
+ if (item.routeTxt.departmentIds.length > 1) {
1091
+ deptCodeArray.push(v.rangeId);
1092
+ // deptCode = v.rangeId;
1093
+ } else {
1094
+ deptCode = v.rangeId;
1095
+ }
1096
+ });
1097
+
1098
+ if (
1099
+ this.multiNodeParticipant[item.id] &&
1100
+ this.multiNodeParticipant[item.id].length
1101
+ ) {
1102
+ this.multiNodeParticipant[item.id].forEach((v, i) => {
1103
+ checkedArray.push({
1104
+ type: 3,
1105
+ uid: v,
1106
+ deptId: deptCode,
1107
+ });
1108
+ });
1109
+ }
1110
+ if (item.routeTxt.departmentIds.length > 1) {
1111
+ this.entity = {
1112
+ source: "1",
1113
+ type: this.param.isCheckType || "0",
1114
+ orgType: this.param.isOrgType || [0],
1115
+ request: this.param.request,
1116
+ codeType: this.param.isCodeType || [3],
1117
+ multiple: item.loopCardinality != 1,
1118
+ maxMultiple: item.loopCardinality > 0 ? item.loopCardinality : 0,
1119
+ deptCodeArray: deptCodeArray,
1120
+ // deptCode: deptCode,
1121
+ checkedArray: checkedArray,
1122
+ };
1123
+ } else {
1124
+ this.entity = {
1125
+ source: "1",
1126
+ type: this.param.isCheckType || "0",
1127
+ orgType: this.param.isOrgType || [0],
1128
+ request: this.param.request,
1129
+ codeType: this.param.isCodeType || [3],
1130
+ multiple: item.loopCardinality != 1,
1131
+ maxMultiple: item.loopCardinality > 0 ? item.loopCardinality : 0,
1132
+ deptCode: deptCode,
1133
+ checkedArray: checkedArray,
1134
+ };
1135
+ }
1136
+ } else {
1137
+ let checkedArray = [];
1138
+
1139
+ if (
1140
+ this.multiNodeParticipant[item.id] &&
1141
+ this.multiNodeParticipant[item.id].length
1142
+ ) {
1143
+ // console.log("存在:::", this.multiNodeParticipant[item.id]);
1144
+ this.multiNodeParticipant[item.id].map((v, i) => {
1145
+ checkedArray.push({
1146
+ type: 3,
1147
+ uid: v,
1148
+ });
1149
+ });
1150
+ }
1151
+
1152
+ this.entity = {
1153
+ source: "1",
1154
+ type: this.param.isCheckType || "0",
1155
+ orgType: this.param.isOrgType || [0],
1156
+ request: this.param.request,
1157
+ codeType: this.param.isCodeType || [3],
1158
+ multiple: item.loopCardinality != 1,
1159
+ maxMultiple: item.loopCardinality > 0 ? item.loopCardinality : 0,
1160
+ checkedArray: checkedArray,
1161
+ // deptCodeArray:["d603dfca436aa2c8e13a683389e2ca23","7faf6dcaf4fbc41eebc85d5a41035df5"]
1162
+ };
1163
+
1164
+ // console.log("任意选人节点参数", this.entity);
1165
+ }
1166
+ },
1167
+
1168
+ handleOpenMsg() {
1169
+ this.visibleListMsg = true;
1170
+ },
1171
+
1172
+ async confirm() {
1173
+
1174
+
1175
+ if (!this.commentMsg && this.param.isRequire) {
1176
+ this.handleTips("请输入审批意见!", false, "success");
1177
+ return;
1178
+ }
1179
+
1180
+ if (this.requires && this.attchLists.length <= 0) {
1181
+ this.handleTips("请上传附件!", false, "success");
1182
+ return;
1183
+ }
1184
+ if (!this.commentMsg) {
1185
+ this.commentMsg = " ";
1186
+ }
1187
+
1188
+ let multiNodeParticipant = {};
1189
+
1190
+ if (this.radioCheckNameList && this.radioCheckNameList.length) {
1191
+ if (this.radioCheckChild[0].type !== "EndEventModel") {
1192
+ let num = 0;
1193
+
1194
+ this.radioCheckNameList.map((v, i) => {
1195
+ if (
1196
+ !this.multiNodeParticipant[v] ||
1197
+ !this.multiNodeParticipant[v].length
1198
+ ) {
1199
+ this.radioCheckChild.map((value, index) => {
1200
+ if (value.id == v) {
1201
+ if (
1202
+ value.humanPerformerName !== "固定账户" ||
1203
+ value.humanPerformerName !== "与流程申请人相关"
1204
+ ) {
1205
+ if (!value.childNode || !value.childNode.length) {
1206
+ num += 1;
1207
+ } else {
1208
+ this.radioCheckNode.map((values, indexd) => {
1209
+ if (
1210
+ !this.multiNodeParticipant[values] ||
1211
+ !this.multiNodeParticipant[values].length
1212
+ ) {
1213
+ num += 1;
1214
+ }
1215
+ multiNodeParticipant[values] =
1216
+ this.multiNodeParticipant[values];
1217
+ });
1218
+ }
1219
+ }
1220
+ }
1221
+ });
1222
+ }
1223
+ multiNodeParticipant[v] = this.multiNodeParticipant[v];
1224
+ });
1225
+
1226
+ /* if (num > 0) {
1227
+ this.handleTips("请选择审批人!", false, "success");
1228
+ return;
1229
+ } */
1230
+ }
1231
+ } else {
1232
+ /* if (
1233
+ this.multiNodeParticipant[this.partObjId] &&
1234
+ !this.multiNodeParticipant[this.partObjId].length
1235
+ ) {
1236
+ this.handleTips("请选择审批人!", false, "success");
1237
+ return;
1238
+ } */
1239
+ multiNodeParticipant = this.multiNodeParticipant;
1240
+ }
1241
+
1242
+ if (this.param.beforeFunction) {
1243
+ let flag = await this.param.beforeFunction();
1244
+ if (!flag) {
1245
+ return;
1246
+ }
1247
+ }
1248
+
1249
+ this.handleTips("", true, "loading");
1250
+
1251
+ let paramsss = {
1252
+ actionName: this.param.actionComplete,
1253
+ commentMsg: this.commentMsg,
1254
+ taskInstId: this.param.taskInstId,
1255
+ vars: this.param.vars || this.gateVars,
1256
+ multiNodeParticipant: multiNodeParticipant,
1257
+ };
1258
+ // console.log("complete:::params:::", paramsss);
1259
+
1260
+ // return
1261
+ await this.param.request
1262
+ .post("/aws/tis/complete", {
1263
+ actionName: this.param.actionComplete,
1264
+ commentMsg: this.commentMsg,
1265
+ taskInstId: this.param.taskInstId,
1266
+ vars: this.param.vars || this.gateVars,
1267
+ multiNodeParticipant: multiNodeParticipant,
1268
+ })
1269
+ .then((res) => {
1270
+ if (res.code == 200) {
1271
+ if (this.attchLists.length > 0) {
1272
+ this.uploadAttch();
1273
+ return;
1274
+ }
1275
+ this.$emit("handleClosePopup1");
1276
+ this.handleTips("提交成功!", false, "success");
1277
+ this.handleFinal();
1278
+ this.commentMsg = "";
1279
+ } else {
1280
+ this.handleTips(res.msg, true, "error");
1281
+ }
1282
+ });
1283
+ },
1284
+ makeDelegateTaskButtonAnnex() {
1285
+ if (this.param.annex && this.param.annex.length) {
1286
+ this.otherList = this.param.annex;
1287
+ let str = this.otherList.split(";");
1288
+ this.limit = str[2];
1289
+ this.requires = JSON.parse(str[1]);
1290
+ this.labels = str[0];
1291
+ }
1292
+ },
1293
+
1294
+ handleCallback(res) {
1295
+ this.visible = false;
1296
+ this.multiNodeParticipant[this.partObjId] = [];
1297
+ this.partNode[this.partObjId] = [];
1298
+ res.map((v, i) => {
1299
+ this.multiNodeParticipant[this.partObjId].push(v.uid);
1300
+ this.partNode[this.partObjId].push(v.name);
1301
+ });
1302
+
1303
+ // console.log("callback_OK", res, this.multiNodeParticipant);
1304
+ },
1305
+ handleCancel() {
1306
+ // console.log("cancel_No");
1307
+ },
1308
+
1309
+ getValues(data) {
1310
+ // console.log("获取当前附件信息::::", data);
1311
+ this.attchLists = data;
1312
+ },
1313
+
1314
+ async uploadAttch() {
1315
+ if (this.attchLists.length > 0) {
1316
+ this.attchLists.map((v, i) => {
1317
+ v.size = v.fileSize;
1318
+ v.format = v.name.substring(
1319
+ v.name.lastIndexOf(".") + 1
1320
+ );
1321
+ v.uploadTime = v.createTime;
1322
+ v.processInstId = this.param.processInstId;
1323
+ v.taskInstId = this.param.taskInstId;
1324
+ v.name = v.name;
1325
+ });
1326
+
1327
+ let param = this.attchLists;
1328
+ const ress = await this.param.request.post(
1329
+ "/aws/meta/annex/patchSave",
1330
+ {
1331
+ saveMetaAnnexCmdList: param,
1332
+ }
1333
+ );
1334
+ // console.log("asd", ress);
1335
+ if (ress.success) {
1336
+ this.$emit("handleClosePopup1");
1337
+ this.handleTips("提交成功!", false, "success");
1338
+ this.handleFinal();
1339
+ this.commentMsg = "";
1340
+ } else {
1341
+ this.handleTips("上传失败", true, "error");
1342
+ }
1343
+ }
1344
+ },
1345
+
1346
+ isOption(humanPerformer) {
1347
+ return (
1348
+ humanPerformer == "任意指定" ||
1349
+ humanPerformer == "固定部门" ||
1350
+ humanPerformer == "固定单位" ||
1351
+ humanPerformer == "与流程申请人所在组织结构的位置相关" ||
1352
+ humanPerformer == "固定群组"
1353
+ );
1354
+ },
1355
+
1356
+ handleTips(text, status, type) {
1357
+ this.textTips = text;
1358
+ this.statusTips = status;
1359
+ this.typeTips = type;
1360
+ this.$refs.topTips.handleOpen();
1361
+ },
1362
+
1363
+ handleFinal() {
1364
+ if (this.param.endFunction) {
1365
+ this.param.endFunction("complete");
1366
+ }
1367
+ },
1368
+
1369
+ // 选人返回
1370
+ onMultiNode(val) {
1371
+ this.multiNodeParticipant = val;
1372
+
1373
+ // console.log("外部接收参数:::onMultiNode", val);
1374
+ },
1375
+ onVars(val) {
1376
+ this.gateVars = val;
1377
+ // console.log("外部接收参数:::onVars", val);
1378
+ },
1379
+ },
1380
+ };
1381
+ </script>
1382
+ <style scoped>
1383
+ @import "./index.scss";
1384
+ </style>