ui-process-h5 2.1.0-beta → 2.1.1-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 +204 -11
  2. package/package.json +25 -56
  3. package/v2/style.css +1 -0
  4. package/v2/ui-process-h5.js +9926 -0
  5. package/v2/ui-process-h5.umd.cjs +18 -0
  6. package/v2.7/style.css +1 -0
  7. package/v2.7/ui-process-h5.js +9303 -0
  8. package/v2.7/ui-process-h5.umd.cjs +18 -0
  9. package/v3/style.css +1 -0
  10. package/v3/ui-process-h5.js +6819 -0
  11. package/v3/ui-process-h5.umd.cjs +6 -0
  12. package/build/configure/README.md +0 -211
  13. package/build/configure/package.json +0 -32
  14. package/debug.js +0 -9
  15. package/index.html +0 -12
  16. package/src/App.vue +0 -233
  17. package/src/assets/font-icon/iconfont.scss +0 -57
  18. package/src/assets/font-icon/iconfont.ttf +0 -0
  19. package/src/assets/img/add-file.png +0 -0
  20. package/src/assets/img/arrow-right.png +0 -0
  21. package/src/assets/img/arrow.png +0 -0
  22. package/src/assets/img/check.png +0 -0
  23. package/src/assets/img/del.png +0 -0
  24. package/src/assets/img/doc.png +0 -0
  25. package/src/assets/img/file.png +0 -0
  26. package/src/assets/img/image.png +0 -0
  27. package/src/assets/img/pdf.png +0 -0
  28. package/src/assets/img/process.png +0 -0
  29. package/src/assets/img/xls.png +0 -0
  30. package/src/assets/img/zip.png +0 -0
  31. package/src/assets/js/auth.js +0 -65
  32. package/src/assets/js/errorCode.js +0 -6
  33. package/src/assets/js/message.js +0 -352
  34. package/src/assets/js/request.js +0 -99
  35. package/src/assets/js/toast.js +0 -239
  36. package/src/assets/js/top.js +0 -229
  37. package/src/assets/js/utils.js +0 -83
  38. package/src/assets/js/vuePopper.js +0 -123
  39. package/src/assets/query.png +0 -0
  40. package/src/assets/status/check.png +0 -0
  41. package/src/assets/status/del.png +0 -0
  42. package/src/assets/status/error.png +0 -0
  43. package/src/assets/status/loading.png +0 -0
  44. package/src/assets/status/success.png +0 -0
  45. package/src/main.js +0 -17
  46. package/src/packages/attchUpload/index.js +0 -375
  47. package/src/packages/attchUpload/index.scss +0 -143
  48. package/src/packages/attchUpload/index.vue +0 -173
  49. package/src/packages/downSelect/index.js +0 -119
  50. package/src/packages/downSelect/index.scss +0 -88
  51. package/src/packages/downSelect/index.vue +0 -62
  52. package/src/packages/index.js +0 -6
  53. package/src/packages/popup/index.js +0 -125
  54. package/src/packages/popup/index.scss +0 -178
  55. package/src/packages/popup/index.vue +0 -80
  56. package/src/packages/preview/index.js +0 -40
  57. package/src/packages/preview/index.vue +0 -15
  58. package/src/packages/previewImage/index.js +0 -286
  59. package/src/packages/previewImage/index.scss +0 -76
  60. package/src/packages/previewImage/index.vue +0 -53
  61. package/src/packages/process/index.js +0 -1016
  62. package/src/packages/process/index.scss +0 -188
  63. package/src/packages/process/index.vue +0 -291
  64. package/src/packages/process/operation/backNode.vue +0 -396
  65. package/src/packages/process/operation/cancel.vue +0 -425
  66. package/src/packages/process/operation/ccTask.vue +0 -256
  67. package/src/packages/process/operation/complete.vue +0 -1384
  68. package/src/packages/process/operation/counterSign.vue +0 -498
  69. package/src/packages/process/operation/delegateTask.vue +0 -493
  70. package/src/packages/process/operation/index.js +0 -8
  71. package/src/packages/process/operation/index.scss +0 -212
  72. package/src/packages/process/operation/msgList.vue +0 -174
  73. package/src/packages/process/operation/treeNode.vue +0 -901
  74. package/src/packages/process/operation/treePerson.vue +0 -304
  75. package/src/packages/submitPopup/index.js +0 -708
  76. package/src/packages/submitPopup/index.scss +0 -190
  77. package/src/packages/submitPopup/index.vue +0 -125
  78. package/src/packages/tab/index.js +0 -236
  79. package/src/packages/tab/index.scss +0 -177
  80. package/src/packages/tab/index.vue +0 -155
  81. package/src/packages/tip/index.js +0 -80
  82. package/src/packages/tip/index.scss +0 -121
  83. package/src/packages/tip/index.vue +0 -57
  84. package/src/packages/viewAttchList/index.js +0 -138
  85. package/src/packages/viewAttchList/index.scss +0 -76
  86. package/src/packages/viewAttchList/index.vue +0 -121
  87. package/src/style.css +0 -80
  88. package/vite.config.ts +0 -118
  89. /package/{build/scripts → scripts}/postinstall.mjs +0 -0
  90. /package/{build/scripts → scripts}/switch-cli.mjs +0 -0
  91. /package/{build/scripts → scripts}/utils.mjs +0 -0
@@ -1,1384 +0,0 @@
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>