eoss-ui 0.8.38 → 0.8.39

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 (78) hide show
  1. package/lib/eoss-ui.common.js +746 -687
  2. package/lib/flow-group.js +2 -2
  3. package/lib/flow.js +724 -669
  4. package/lib/index.js +1 -1
  5. package/lib/selector.js +7 -3
  6. package/package.json +1 -1
  7. package/packages/flow/src/component/taskUnionExamine.vue +821 -771
  8. package/packages/flow/src/flow.vue +4534 -4526
  9. package/packages/flow/src/main.vue +4411 -4411
  10. package/packages/flow/src/selectUser.vue +1 -0
  11. package/packages/flow/src/startTaskRead.vue +718 -718
  12. package/packages/flow-group/src/main.vue +756 -756
  13. package/packages/selector/src/main.vue +764 -761
  14. package/packages/theme-chalk/lib/archives.css +1 -0
  15. package/packages/theme-chalk/lib/base.css +1 -0
  16. package/packages/theme-chalk/lib/button-group.css +1 -0
  17. package/packages/theme-chalk/lib/button.css +1 -0
  18. package/packages/theme-chalk/lib/calendar.css +1 -0
  19. package/packages/theme-chalk/lib/calogin.css +0 -0
  20. package/packages/theme-chalk/lib/card.css +1 -0
  21. package/packages/theme-chalk/lib/cascader.css +0 -0
  22. package/packages/theme-chalk/lib/checkbox-group.css +1 -0
  23. package/packages/theme-chalk/lib/clients.css +1 -0
  24. package/packages/theme-chalk/lib/data-table-form.css +1 -0
  25. package/packages/theme-chalk/lib/data-table.css +1 -0
  26. package/packages/theme-chalk/lib/date-picker.css +1 -0
  27. package/packages/theme-chalk/lib/dialog.css +1 -0
  28. package/packages/theme-chalk/lib/enable-drag.css +1 -0
  29. package/packages/theme-chalk/lib/enterprise.css +1 -0
  30. package/packages/theme-chalk/lib/error-page.css +1 -0
  31. package/packages/theme-chalk/lib/flow-chart.css +0 -0
  32. package/packages/theme-chalk/lib/flow-group.css +1 -0
  33. package/packages/theme-chalk/lib/flow-list.css +1 -0
  34. package/packages/theme-chalk/lib/flow.css +1 -0
  35. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  36. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  37. package/packages/theme-chalk/lib/form.css +1 -0
  38. package/packages/theme-chalk/lib/handle-user.css +1 -0
  39. package/packages/theme-chalk/lib/handler.css +1 -0
  40. package/packages/theme-chalk/lib/icon.css +1 -0
  41. package/packages/theme-chalk/lib/icons.css +1 -0
  42. package/packages/theme-chalk/lib/index.css +1 -0
  43. package/packages/theme-chalk/lib/input-number.css +0 -0
  44. package/packages/theme-chalk/lib/input.css +1 -0
  45. package/packages/theme-chalk/lib/label.css +1 -0
  46. package/packages/theme-chalk/lib/layout.css +1 -0
  47. package/packages/theme-chalk/lib/login.css +1 -0
  48. package/packages/theme-chalk/lib/main.css +1 -0
  49. package/packages/theme-chalk/lib/menu.css +1 -0
  50. package/packages/theme-chalk/lib/nav.css +1 -0
  51. package/packages/theme-chalk/lib/notify.css +0 -0
  52. package/packages/theme-chalk/lib/page.css +1 -0
  53. package/packages/theme-chalk/lib/pagination.css +1 -0
  54. package/packages/theme-chalk/lib/player.css +1 -0
  55. package/packages/theme-chalk/lib/qr-code.css +1 -0
  56. package/packages/theme-chalk/lib/radio-group.css +1 -0
  57. package/packages/theme-chalk/lib/retrial-auth.css +1 -0
  58. package/packages/theme-chalk/lib/select-ganged.css +1 -0
  59. package/packages/theme-chalk/lib/select.css +1 -0
  60. package/packages/theme-chalk/lib/selector-panel.css +1 -0
  61. package/packages/theme-chalk/lib/selector.css +1 -0
  62. package/packages/theme-chalk/lib/simplicity-top.css +1 -0
  63. package/packages/theme-chalk/lib/simplicity.css +1 -0
  64. package/packages/theme-chalk/lib/sizer.css +1 -0
  65. package/packages/theme-chalk/lib/steps.css +1 -0
  66. package/packages/theme-chalk/lib/switch.css +1 -0
  67. package/packages/theme-chalk/lib/table-form.css +0 -0
  68. package/packages/theme-chalk/lib/tabs-panel.css +0 -0
  69. package/packages/theme-chalk/lib/tabs.css +1 -0
  70. package/packages/theme-chalk/lib/tips.css +1 -0
  71. package/packages/theme-chalk/lib/toolbar.css +1 -0
  72. package/packages/theme-chalk/lib/tree-group.css +1 -0
  73. package/packages/theme-chalk/lib/tree.css +1 -0
  74. package/packages/theme-chalk/lib/upload.css +1 -0
  75. package/packages/theme-chalk/lib/wujie.css +0 -0
  76. package/packages/theme-chalk/lib/wxlogin.css +1 -0
  77. package/src/index.js +1 -1
  78. package/packages/theme-chalk/gulpfile.js +0 -25
@@ -1,718 +1,718 @@
1
- <template>
2
- <div
3
- v-loading="loading"
4
- class="task-read"
5
- element-loading-text="加载中..."
6
- element-loading-spinner="el-icon-loading"
7
- element-loading-background="rgba(255, 255,255, 0.8)"
8
- :style="`height: ${typeCode == 'read' || hideBtn ? '100%' : 'unset'};`"
9
- >
10
- <el-form
11
- ref="nextNode"
12
- :model="nextNode"
13
- class="demo-dynamic"
14
- label-width="110px"
15
- >
16
- <div
17
- :style="`max-height: ${
18
- typeCode || hideBtn ? '100%' : '290px'
19
- }; overflow-y:${hideBtn?'unset' : 'auto'}; margin-bottom: 10px`"
20
- >
21
- <el-form-item
22
- prop="handleExplain"
23
- label="当前步骤"
24
- v-if="type === 'transfer'"
25
- >
26
- <el-input readonly v-model="nextNode.nodeName"></el-input>
27
- </el-form-item>
28
- <el-form-item
29
- v-if="type == 'transfer' && transferInfo.isSinglePage"
30
- prop="handleExplain"
31
- label="意见"
32
- >
33
- <el-input
34
- v-model="nextNode.handleExplain"
35
- placeholder="请填写意见"
36
- ></el-input>
37
- </el-form-item>
38
- <el-form-item
39
- prop="nextUser"
40
- :label="
41
- type === 'transfer'
42
- ? '转办对象'
43
- : configInfo.isCdjxjTaskHandle == 'true'
44
- ? '接收人'
45
- : '办理用户'
46
- "
47
- >
48
- <SelectUser
49
- :nextUser="nextNode.nextUser"
50
- :options="userOptions"
51
- :multiple="type != 'transfer' ? multiple : false"
52
- :mix="type != 'transfer'"
53
- :selectUserList="selectUserList"
54
- :showTooltip="showTooltip"
55
- :disableds="readDisableds"
56
- :types="
57
- selectorTabs
58
- ? selectorTabs
59
- : type == 'transfer'
60
- ? ['employee', 'persongroup']
61
- : ['employee', 'enterprise', 'department', 'persongroup']
62
- "
63
- @change="changeSelectUser($event, 'nextUser')"
64
- :tabs="tabs"
65
- :params="selectorParams"
66
- />
67
- </el-form-item>
68
-
69
- <el-form-item
70
- v-if="configInfo.isCdjxjTaskHandle != 'true' && type != 'transfer' && configInfo.groups&& configInfo.groups.length != 0"
71
- prop="cy"
72
- label="常用群组"
73
- ><el-checkbox-group v-model="selectCheck">
74
- <el-checkbox
75
- @change="handleSelectCheck($event, item)"
76
- v-for="item in configInfo.groups"
77
- :label="item.name"
78
- :key="item.id"
79
- >{{ item.name }}</el-checkbox
80
- >
81
- </el-checkbox-group>
82
- </el-form-item>
83
- <el-form-item
84
- v-if="configInfo.fyDoresult == 'true'"
85
- prop="showDoresult"
86
- label="流程意见"
87
- ><el-radio v-model="nextNode.showDoresult" label="0">分阅</el-radio>
88
- <el-radio v-model="nextNode.showDoresult" label="1">不分阅</el-radio>
89
- </el-form-item>
90
- <el-form-item
91
- v-if="configInfo.fyeh == 'true'"
92
- prop="isInHistory"
93
- label="分阅记录"
94
- ><el-radio v-model="nextNode.isInHistory" label="0">记录</el-radio>
95
- <el-radio v-model="nextNode.isInHistory" label="1">不记录</el-radio>
96
- </el-form-item>
97
- <el-form-item
98
- v-if="configInfo.download"
99
- prop="isDownload"
100
- label="打印下载文件"
101
- ><el-radio v-model="nextNode.isDownload" label="0">允许</el-radio>
102
- <el-radio v-model="nextNode.isDownload" label="1">不允许</el-radio>
103
- </el-form-item>
104
- <el-form-item
105
- prop="handleExplain"
106
- :label="configInfo.isCdjxjTaskHandle == 'true' ? '附言' : '办理说明'"
107
- v-if="type != 'transfer'"
108
- >
109
- <el-input
110
- v-model="nextNode.handleExplain"
111
- type="textarea"
112
- :rows="3"
113
-
114
- placeholder="请填写办理说明"
115
- ></el-input>
116
- </el-form-item>
117
- <el-form-item
118
- v-if="configInfo.isCdjxjTaskHandle != 'true' && noticeList.length > 0 && !hideMessage"
119
- prop="noticeType"
120
- label="通知方式"
121
- >
122
- <el-checkbox-group
123
- v-model="nextNode.noticeType"
124
- style="display: contents"
125
- >
126
- <el-checkbox
127
- v-for="item of noticeList"
128
- :key="item.cciValue"
129
- :label="item.cciValue"
130
- :disabled="
131
- readOnlyNotificationType
132
- ? readOnlyNotificationType.indexOf(item.cciValue) != -1
133
- : false
134
- "
135
- >
136
- {{ item.shortName }}
137
- </el-checkbox>
138
- </el-checkbox-group>
139
- </el-form-item>
140
- <el-form-item
141
- v-show="
142
- nextNode.noticeType.length != 0 &&
143
- configInfo.isCdjxjTaskHandle != 'true'
144
- "
145
- prop="nextNode"
146
- label="通知消息"
147
- >
148
- <es-input
149
- style="
150
- border-color: #ccc;
151
- padding: 5px;
152
- border-radius: 5px;
153
- font-size: 13px;
154
- "
155
- type="textarea"
156
- v-model="newsNoice"
157
- :readonly="notificationMessageReadOnly == 'true'"
158
- />
159
- <!-- <span>{{ newsInfo }}</span> -->
160
- </el-form-item>
161
- </div>
162
- <el-form-item v-if="!hideBtn">
163
- <div style="text-align: right">
164
- <el-button type="primary" @click="submit('nextNode')">
165
- 提交
166
- </el-button>
167
- </div>
168
- </el-form-item>
169
- </el-form>
170
- </div>
171
- </template>
172
-
173
- <script>
174
- import {
175
- findSysCodes,
176
- taskReadHtml,
177
- toStartTaskRead,
178
- toTaskTransferIndex,
179
- getNotificationMsg,
180
- taskTransfer,
181
- findCodeValues
182
- } from 'eoss-ui/src/config/api';
183
- import util from 'eoss-ui/src/utils/util';
184
- import SelectUser from './selectUser.vue';
185
- export default {
186
- name: 'StartTaskRead',
187
- components: {
188
- [Option.name]: Option,
189
- [SelectUser.name]: SelectUser
190
- },
191
- props: {
192
- pendingId: { type: String, default: '' },
193
- simpleTips: { type: Boolean, default: true },
194
- showTooltip: { type: Boolean, default: true },
195
- newsInfo: { type: String, default: '' },
196
- type: { type: String, default: '' },
197
- option: { type: String, default: '' },
198
- typeCode: { type: String, default: '' },
199
- resetAppId: { type: String, default: '' },
200
- hideBtn: { type: Boolean, default: false },
201
- selectorConfig: { type: [Object, undefined], default: undefined },
202
- param: { type: Object, default: () => {} },
203
- taskExamine: { type: Object, default: () => {} },
204
- subParams:{
205
- type: [Object, undefined],
206
- default: undefined
207
- },
208
- readParams: {
209
- type: [Object, undefined],
210
- default: undefined
211
- },
212
-
213
- hideMessage: { type: Boolean, default: false },
214
- },
215
- data() {
216
- return {
217
- loading: false,
218
- newsNoice: '',
219
- readOnlyNotificationType: '',
220
- notificationMessageReadOnly: false,
221
- selectorTabs: null,
222
- selectorParams: null,
223
- nextNode: {
224
- nextUser: [],
225
- userInfo: [],
226
- noticeType: [],
227
- handleExplain: '',
228
- showDoresult: '0',
229
- isInHistory: '0',
230
- isDownload: '0'
231
- },
232
- mixList: [],
233
- newSelectUserList: [],
234
- orgId: '',
235
- noticeList: [],
236
- userOptions: [],
237
- readDisableds:[],
238
- selectCheck: [],
239
- selectUserList: [],
240
- transferInfo: {},
241
- multiple: true,
242
- params: { filid: 'all' },
243
- configInfo: {}
244
- };
245
- },
246
-
247
- computed: {
248
- tabs() {
249
- let tab = {};
250
- if (this.type != 'transfer') {
251
- tab = {
252
- // employee: {
253
- // param: {
254
- // filid: '',//this.orgId
255
- // name: '本单位用户'
256
- // }
257
- // },
258
- department: { param: { filid: this.orgId } },//this.orgId
259
- // enterprise: {}
260
- };
261
- } else {
262
- tab = {
263
- employee: {
264
- param: {
265
- filid: this.orgId
266
- }
267
- }
268
- };
269
- }
270
- return tab;
271
- }
272
- },
273
- mounted() {
274
- this.newsNoice = this.newsInfo;
275
- if (this.readParams || this.typeCode == 'read') {
276
- this.getMessage();
277
- }
278
- this.getFind();
279
- if (util.getStorage('mainConfig')) {
280
- this.orgId = JSON.parse(util.getStorage('mainConfig')).userModel.orgId;
281
- }
282
- if(this.selectorConfig){
283
- this.getSelectorConfig()
284
- }
285
- },
286
- methods: {
287
- // getSelectType(info){
288
- // if(info.selectPersonValue == 4){
289
- // this.selectorParams.filid = 'all'
290
- // }
291
- // },
292
- getSelectorConfig() {
293
- this.selectorTabs = this.selectorConfig.type.split(',');
294
- this.selectorParams = this.selectorConfig.params;
295
- },
296
- //获取通知信息
297
- getMessage() {
298
- let params = {};
299
- if (this.typeCode == 'read') {
300
- params = {
301
- processDefinitionId: this.param.processDefinitionId,
302
- businessId: this.param.businessId,
303
- businessName: this.param.businessName,
304
- bCode: this.param.bCode,
305
- bName: this.param.bName,
306
- appId: this.param.appId
307
- };
308
- } else {
309
- params.appId = this.readParams.appId;
310
- }
311
- util
312
- .ajax({ url: getNotificationMsg, params, methods: 'post' })
313
- .then((res) => {
314
- if (res.status === 'success') {
315
- this.newsNoice = res.message;
316
- }
317
- })
318
- .catch((err) => {
319
- this.loading = false;
320
- if (err.message && err.message !== 'canceled') {
321
- this.$message.error(err.message);
322
- }
323
- });
324
- },
325
- toTaskTransfer() {
326
- const { opinion, pendingId, taskExamine } = this;
327
- let params = {
328
- url: toTaskTransferIndex,
329
- params: {
330
- opinion,
331
- pendingId,
332
- isSubFlow: taskExamine.isSubFlow,
333
- isSinglePage: taskExamine.isSinglePage
334
- }
335
- };
336
- util
337
- .ajax(params)
338
- .then((res) => {
339
- const {
340
- status,
341
- message,
342
- data: { choiceDeptId, choiceOrgId, nodeInfoMap, taskExamine }
343
- } = res;
344
- if (status == 'success') {
345
- this.isMultipleTransfer(
346
- nodeInfoMap.nodeExtAttr.userSelectionType,
347
- choiceOrgId,
348
- choiceDeptId
349
- );
350
- this.nextNode.nodeName = taskExamine.nodeName;
351
- this.transferInfo = taskExamine;
352
- } else {
353
- this.$message.error(message || '系统错误,请联系管理员!');
354
- }
355
- })
356
- .catch((err) => {
357
- this.loading = false;
358
- if (err.message && err.message !== 'canceled') {
359
- this.$message.error(err.message);
360
- }
361
- });
362
- },
363
- isMultipleTransfer(val, choiceOrgId, choiceDeptId, pOrgId) {
364
- if (val == 2 || val == 4 || val == 6 || val == 16) {
365
- this.multiple = true;
366
- } else {
367
- this.multiple = false;
368
- }
369
- if (val == 1 || val == 2 || val == 5) {
370
- this.params.filid = this.orgId;
371
- if (choiceOrgId) {
372
- this.params.filid = choiceOrgId;
373
- }
374
- }
375
- if (val == 5 || val == 6) {
376
- this.params.filid = this.orgId;
377
- this.params.deptid = this.orgId;
378
- if (choiceDeptId) {
379
- this.params.deptid = choiceDeptId;
380
- }
381
- if (choiceOrgId) {
382
- this.params.filid = choiceOrgId;
383
- }
384
- }
385
- if (val == 15 || val == 16) {
386
- this.params.filid = this.orgId;
387
- if (pOrgId) {
388
- this.params.filid = pOrgId;
389
- }
390
- }
391
- },
392
- isMultiple() {
393
- let orgId = this.orgId;
394
- if (this.configInfo.selectPersonValue == 1) {
395
- this.multiple = false;
396
- this.params.filid = orgId;
397
- } else if (this.configInfo.selectPersonValue == 2) {
398
- this.multiple = true;
399
- this.params.filid = orgId;
400
- } else if (this.configInfo.selectPersonValue == 3) {
401
- this.multiple = false;
402
- this.params.filid = 'all';
403
- } else if (this.configInfo.selectPersonValue == 4) {
404
- this.multiple = true;
405
- this.params.filid = 'all';
406
- } else if (this.configInfo.selectPersonValue == 5) {
407
- this.multiple = false;
408
- this.params.filid = '';
409
- } else if (this.configInfo.selectPersonValue == 6) {
410
- this.multiple = true;
411
- this.params.filid = '';
412
- }else if (this.configInfo.selectPersonValue == 7) {
413
- this.multiple = false;
414
- this.params.filid = orgId;
415
- }else if (this.configInfo.selectPersonValue == 8) {
416
- this.multiple = true;
417
- this.params.filid = orgId;
418
- }
419
- console.log(this.params,'params')
420
- },
421
- handleSelectCheck(val, data) {
422
- let { userIds, userNames } = data;
423
- if (val) {
424
- let newUserIds = userIds.split(',');
425
- let newUserNames = userNames.split(',');
426
- newUserIds.map((item, index) => {
427
- this.nextNode.nextUser.push(item);
428
- this.userOptions.push({ id: item, name: newUserNames[index],stype:data.stype });
429
-
430
- this.selectUserList.push({
431
- showid: item,
432
- showname: newUserNames[index],
433
- stype:data.stype
434
- });
435
- });
436
- // this.selectUserList = this.newSelectUserList
437
- } else {
438
- let newUserIds = userIds.split(',');
439
- for (let i = 0; i < this.nextNode.nextUser.length; i++) {
440
- for (let j = 0; j < newUserIds.length; j++) {
441
- if (this.nextNode.nextUser[i] == newUserIds[j]) {
442
- this.nextNode.nextUser.splice(i, 1);
443
- }
444
- }
445
- }
446
- for (let z = 0; z < this.userOptions.length; z++) {
447
- for (let x = 0; x < newUserIds.length; x++) {
448
- if (this.userOptions[z].id == newUserIds[x]) {
449
- this.userOptions.splice(z, 1);
450
- this.selectUserList.splice(z, 1);
451
- }
452
- }
453
- }
454
- // this.newSelectUserList = this.selectUserList
455
- }
456
- },
457
- toStartTaskRead() {
458
- let params = {
459
- url: toStartTaskRead,
460
- params: {
461
- pendingId: this.pendingId,
462
- appId: this.resetAppId,
463
- taskAction: this.type,
464
- ...this.param
465
- }
466
- };
467
- if (this.typeCode == 'read') {
468
- delete params.params.pendingId;
469
- // params.params.appid = this.resetAppId;
470
- }
471
- if (this.type != 'taskReadAndEnd') delete params.params.taskAction;
472
- util
473
- .ajax(params)
474
- .then((res) => {
475
- const { status, data } = res;
476
- if (status === 'success') {
477
- this.configInfo = data;
478
- if(data.alreadyReadUserIds){
479
- this.readDisableds = data.alreadyReadUserIds.split(',');
480
- }
481
- this.isMultiple();
482
- }
483
- })
484
- .catch((err) => {
485
- this.loading = false;
486
- if (err.message && err.message !== 'canceled') {
487
- this.$message.error(err.message);
488
- }
489
- });
490
- },
491
- changeSelectUser(val, type) {
492
- const { nextUser, options, mixList } = val;
493
- this.nextNode[type] = nextUser;
494
- this.mixList = mixList;
495
- options.map((item) => {
496
- this.newSelectUserList.push({
497
- showname: item.showname,
498
- showid: item.showid
499
- });
500
- });
501
- },
502
- getNodeType() {
503
- util
504
- .ajax({
505
- url: findCodeValues,
506
- params: {
507
- ccCode: 'fenyue_msg_type',
508
- userId: util.getStorage('userId'),
509
- // pendingId:this.pendingId
510
- }
511
- })
512
- .then((res) => {
513
- const { status, data } = res;
514
- if (status === 'success') {
515
- this.noticeList = data;
516
- let arr = [];
517
- this.noticeList.map((item) => {
518
- this.nextNode.noticeType.map((x) => {
519
- if (x == item.cciValue) {
520
- arr.push(x);
521
- }
522
- });
523
- });
524
- this.nextNode.noticeType = arr;
525
- }
526
- })
527
- .catch((err) => {
528
- this.loading = false;
529
- if (err.message && err.message !== 'canceled') {
530
- this.$message.error(err.message);
531
- }
532
- });
533
- },
534
- // 转办提交
535
- subTaskTransfer() {
536
- const { choiceDeptId, choiceOrgId, bCode, bName } = this.taskExamine;
537
- const { opinion, pendingId, nextNode, newsNoice, multiple, type } = this;
538
- let params = {
539
- url: taskTransfer,
540
- data: {
541
- choiceDeptId,
542
- choiceOrgId,
543
- bCode,
544
- bName,
545
- nextUserId:
546
- multiple && type != 'transfer'
547
- ? nextNode.nextUser.join(',')
548
- : nextNode.nextUser,
549
- opinion,
550
- pendingId,
551
- notificationType: nextNode.noticeType.join(','),
552
- notificationMsg: newsNoice
553
- },
554
- headers: { Accept: 'application/json,text/plain' },
555
- method: 'post'
556
- };
557
- util
558
- .ajax(params)
559
- .then((res) => {
560
- const { message, status } = res;
561
- if (status === 'success') {
562
- this.simpleTips && this.$message.success('操作成功');
563
- this.quit(true);
564
- } else {
565
- this.$message.error(message || '系统错误,请联系管理员!');
566
- }
567
- this.loading = false;
568
- })
569
- .catch((err) => {
570
- this.loading = false;
571
- if (err.message && err.message !== 'canceled') {
572
- this.$message.error(err.message);
573
- }
574
- });
575
- },
576
- // 提交表单
577
- subProcess(formName) {
578
-
579
- this.submit(formName)
580
- },
581
- // 提交表单
582
- submit(formName) {
583
- this.$refs[formName].validate((valid) => {
584
- if (valid) {
585
- if (!this.option && this.isOpinionRequired === 1) {
586
- this.$message.warning('请选择输入审批意见');
587
- return;
588
- }
589
- // let nextUser = [];
590
- // this.nextNode.nextUser.map(item => {
591
- // nextUser.push(item);
592
- // });
593
- let noticeType = '';
594
- noticeType = this.nextNode.noticeType.join(',');
595
- this.loading = true;
596
- if (this.type === 'transfer') {
597
- this.subTaskTransfer();
598
- } else {
599
- const {
600
- appId,
601
- businessId,
602
- bCode,
603
- bName,
604
- choiceDeptId,
605
- choiceOrgId,
606
- businessName,
607
- processDefinitionId
608
- } = this.taskExamine;
609
- let params = {
610
- ...this.nextNode,
611
- bCode,
612
- bName,
613
- appId,
614
- businessId: businessId || this.param.businessId,
615
- choiceDeptId,
616
- choiceOrgId,
617
- businessName,
618
- processDefinitionId,
619
- currentOrgProcessKey:
620
- processDefinitionId || this.param.currentOrgProcessKey,
621
- pendingId: this.pendingId,
622
- opinion: this.option, // 审批意见
623
- userId: util.getStorage('userId'),
624
- nextReadUserId: this.mixList.join('|'),
625
- notificationType: noticeType,
626
- notificationMsg: this.newsNoice,
627
- taskAction: this.type
628
- // nextNodeId: this.form.nextNodeId
629
- };
630
- delete params.nextUser;
631
- delete params.noticeType;
632
- const { fyDoresult, fyeh, download, isCdjxjTaskHandle } =
633
- this.configInfo;
634
- fyDoresult != 'true' && delete params.showDoresult;
635
- fyeh != 'true' && delete params.isInHistory;
636
- !download && delete params.isDownload;
637
- isCdjxjTaskHandle == 'true' && delete params.noticeType;
638
- if (this.readParams) {
639
- params = { ...params, ...this.readParams };
640
- }
641
- if(this.subParams){
642
- params = { ...params, ...this.subParams };
643
- }
644
- delete this.configInfo.taskExamine.taskExamineParam;
645
- util
646
- .ajax({
647
- url: taskReadHtml,
648
- params: { taskAction: this.type },
649
- headers: {
650
- Accept: 'application/json,text/plain'
651
- },
652
- method: 'post',
653
- data: {...params,...this.configInfo.taskExamine}
654
- })
655
- .then((res) => {
656
- const { message, status } = res;
657
- this.loading = false;
658
- if (status === 'success') {
659
- this.simpleTips && this.$message.success('操作成功');
660
- this.quit(true);
661
- } else {
662
- this.$message.error(message || '系统错误,请联系管理员!');
663
- }
664
- })
665
- .catch((err) => {
666
- this.loading = false;
667
- if (err.message && err.message !== 'canceled') {
668
- this.$message.error(err.message);
669
- }
670
- });
671
- }
672
- } else {
673
- return false;
674
- }
675
- });
676
- },
677
- quit(val) {
678
- if (val === true) return this.$emit('cancel', this.type);
679
- this.$emit('cancel');
680
- },
681
-
682
- getFind() {
683
- this.loading = true;
684
- util
685
- .ajax({
686
- url: findSysCodes
687
- })
688
- .then((res) => {
689
- const { status, message, data } = res;
690
- this.loading = false;
691
- if (status === 'success') {
692
- if(this.hideMessage) return;
693
- this.nextNode.noticeType = message.split(',');
694
- if (data) {
695
- this.notificationMessageReadOnly =
696
- data.notificationMessageReadOnly;
697
- this.readOnlyNotificationType = data.readOnlyNotificationType;
698
- }
699
- } else {
700
- this.$message.error(message || '系统错误,请联系管理员!');
701
- }
702
- this.getNodeType();
703
- if (this.type === 'transfer') {
704
- this.toTaskTransfer();
705
- } else if (!this.readParams) {
706
- this.toStartTaskRead();
707
- }
708
- })
709
- .catch((err) => {
710
- this.loading = false;
711
- if (err.message && err.message !== 'canceled') {
712
- this.$message.error(err.message);
713
- }
714
- });
715
- }
716
- }
717
- };
718
- </script>
1
+ <template>
2
+ <div
3
+ v-loading="loading"
4
+ class="task-read"
5
+ element-loading-text="加载中..."
6
+ element-loading-spinner="el-icon-loading"
7
+ element-loading-background="rgba(255, 255,255, 0.8)"
8
+ :style="`height: ${typeCode == 'read' || hideBtn ? '100%' : 'unset'};`"
9
+ >
10
+ <el-form
11
+ ref="nextNode"
12
+ :model="nextNode"
13
+ class="demo-dynamic"
14
+ label-width="110px"
15
+ >
16
+ <div
17
+ :style="`max-height: ${
18
+ typeCode || hideBtn ? '100%' : '290px'
19
+ }; overflow-y:${hideBtn?'unset' : 'auto'}; margin-bottom: 10px`"
20
+ >
21
+ <el-form-item
22
+ prop="handleExplain"
23
+ label="当前步骤"
24
+ v-if="type === 'transfer'"
25
+ >
26
+ <el-input readonly v-model="nextNode.nodeName"></el-input>
27
+ </el-form-item>
28
+ <el-form-item
29
+ v-if="type == 'transfer' && transferInfo.isSinglePage"
30
+ prop="handleExplain"
31
+ label="意见"
32
+ >
33
+ <el-input
34
+ v-model="nextNode.handleExplain"
35
+ placeholder="请填写意见"
36
+ ></el-input>
37
+ </el-form-item>
38
+ <el-form-item
39
+ prop="nextUser"
40
+ :label="
41
+ type === 'transfer'
42
+ ? '转办对象'
43
+ : configInfo.isCdjxjTaskHandle == 'true'
44
+ ? '接收人'
45
+ : '办理用户'
46
+ "
47
+ >
48
+ <SelectUser
49
+ :nextUser="nextNode.nextUser"
50
+ :options="userOptions"
51
+ :multiple="type != 'transfer' ? multiple : false"
52
+ :mix="type != 'transfer'"
53
+ :selectUserList="selectUserList"
54
+ :showTooltip="showTooltip"
55
+ :disableds="readDisableds"
56
+ :types="
57
+ selectorTabs
58
+ ? selectorTabs
59
+ : type == 'transfer'
60
+ ? ['employee', 'persongroup']
61
+ : ['employee', 'enterprise', 'department', 'persongroup']
62
+ "
63
+ @change="changeSelectUser($event, 'nextUser')"
64
+ :tabs="tabs"
65
+ :params="selectorParams"
66
+ />
67
+ </el-form-item>
68
+
69
+ <el-form-item
70
+ v-if="configInfo.isCdjxjTaskHandle != 'true' && type != 'transfer' && configInfo.groups&& configInfo.groups.length != 0"
71
+ prop="cy"
72
+ label="常用群组"
73
+ ><el-checkbox-group v-model="selectCheck">
74
+ <el-checkbox
75
+ @change="handleSelectCheck($event, item)"
76
+ v-for="item in configInfo.groups"
77
+ :label="item.name"
78
+ :key="item.id"
79
+ >{{ item.name }}</el-checkbox
80
+ >
81
+ </el-checkbox-group>
82
+ </el-form-item>
83
+ <el-form-item
84
+ v-if="configInfo.fyDoresult == 'true'"
85
+ prop="showDoresult"
86
+ label="流程意见"
87
+ ><el-radio v-model="nextNode.showDoresult" label="0">分阅</el-radio>
88
+ <el-radio v-model="nextNode.showDoresult" label="1">不分阅</el-radio>
89
+ </el-form-item>
90
+ <el-form-item
91
+ v-if="configInfo.fyeh == 'true'"
92
+ prop="isInHistory"
93
+ label="分阅记录"
94
+ ><el-radio v-model="nextNode.isInHistory" label="0">记录</el-radio>
95
+ <el-radio v-model="nextNode.isInHistory" label="1">不记录</el-radio>
96
+ </el-form-item>
97
+ <el-form-item
98
+ v-if="configInfo.download"
99
+ prop="isDownload"
100
+ label="打印下载文件"
101
+ ><el-radio v-model="nextNode.isDownload" label="0">允许</el-radio>
102
+ <el-radio v-model="nextNode.isDownload" label="1">不允许</el-radio>
103
+ </el-form-item>
104
+ <el-form-item
105
+ prop="handleExplain"
106
+ :label="configInfo.isCdjxjTaskHandle == 'true' ? '附言' : '办理说明'"
107
+ v-if="type != 'transfer'"
108
+ >
109
+ <el-input
110
+ v-model="nextNode.handleExplain"
111
+ type="textarea"
112
+ :rows="3"
113
+
114
+ placeholder="请填写办理说明"
115
+ ></el-input>
116
+ </el-form-item>
117
+ <el-form-item
118
+ v-if="configInfo.isCdjxjTaskHandle != 'true' && noticeList.length > 0 && !hideMessage"
119
+ prop="noticeType"
120
+ label="通知方式"
121
+ >
122
+ <el-checkbox-group
123
+ v-model="nextNode.noticeType"
124
+ style="display: contents"
125
+ >
126
+ <el-checkbox
127
+ v-for="item of noticeList"
128
+ :key="item.cciValue"
129
+ :label="item.cciValue"
130
+ :disabled="
131
+ readOnlyNotificationType
132
+ ? readOnlyNotificationType.indexOf(item.cciValue) != -1
133
+ : false
134
+ "
135
+ >
136
+ {{ item.shortName }}
137
+ </el-checkbox>
138
+ </el-checkbox-group>
139
+ </el-form-item>
140
+ <el-form-item
141
+ v-show="
142
+ nextNode.noticeType.length != 0 &&
143
+ configInfo.isCdjxjTaskHandle != 'true'
144
+ "
145
+ prop="nextNode"
146
+ label="通知消息"
147
+ >
148
+ <es-input
149
+ style="
150
+ border-color: #ccc;
151
+ padding: 5px;
152
+ border-radius: 5px;
153
+ font-size: 13px;
154
+ "
155
+ type="textarea"
156
+ v-model="newsNoice"
157
+ :readonly="notificationMessageReadOnly == 'true'"
158
+ />
159
+ <!-- <span>{{ newsInfo }}</span> -->
160
+ </el-form-item>
161
+ </div>
162
+ <el-form-item v-if="!hideBtn">
163
+ <div style="text-align: right">
164
+ <el-button type="primary" @click="submit('nextNode')">
165
+ 提交
166
+ </el-button>
167
+ </div>
168
+ </el-form-item>
169
+ </el-form>
170
+ </div>
171
+ </template>
172
+
173
+ <script>
174
+ import {
175
+ findSysCodes,
176
+ taskReadHtml,
177
+ toStartTaskRead,
178
+ toTaskTransferIndex,
179
+ getNotificationMsg,
180
+ taskTransfer,
181
+ findCodeValues
182
+ } from 'eoss-ui/src/config/api';
183
+ import util from 'eoss-ui/src/utils/util';
184
+ import SelectUser from './selectUser.vue';
185
+ export default {
186
+ name: 'StartTaskRead',
187
+ components: {
188
+ [Option.name]: Option,
189
+ [SelectUser.name]: SelectUser
190
+ },
191
+ props: {
192
+ pendingId: { type: String, default: '' },
193
+ simpleTips: { type: Boolean, default: true },
194
+ showTooltip: { type: Boolean, default: true },
195
+ newsInfo: { type: String, default: '' },
196
+ type: { type: String, default: '' },
197
+ option: { type: String, default: '' },
198
+ typeCode: { type: String, default: '' },
199
+ resetAppId: { type: String, default: '' },
200
+ hideBtn: { type: Boolean, default: false },
201
+ selectorConfig: { type: [Object, undefined], default: undefined },
202
+ param: { type: Object, default: () => {} },
203
+ taskExamine: { type: Object, default: () => {} },
204
+ subParams:{
205
+ type: [Object, undefined],
206
+ default: undefined
207
+ },
208
+ readParams: {
209
+ type: [Object, undefined],
210
+ default: undefined
211
+ },
212
+
213
+ hideMessage: { type: Boolean, default: false },
214
+ },
215
+ data() {
216
+ return {
217
+ loading: false,
218
+ newsNoice: '',
219
+ readOnlyNotificationType: '',
220
+ notificationMessageReadOnly: false,
221
+ selectorTabs: null,
222
+ selectorParams: null,
223
+ nextNode: {
224
+ nextUser: [],
225
+ userInfo: [],
226
+ noticeType: [],
227
+ handleExplain: '',
228
+ showDoresult: '0',
229
+ isInHistory: '0',
230
+ isDownload: '0'
231
+ },
232
+ mixList: [],
233
+ newSelectUserList: [],
234
+ orgId: '',
235
+ noticeList: [],
236
+ userOptions: [],
237
+ readDisableds:[],
238
+ selectCheck: [],
239
+ selectUserList: [],
240
+ transferInfo: {},
241
+ multiple: true,
242
+ params: { filid: 'all' },
243
+ configInfo: {}
244
+ };
245
+ },
246
+
247
+ computed: {
248
+ tabs() {
249
+ let tab = {};
250
+ if (this.type != 'transfer') {
251
+ tab = {
252
+ // employee: {
253
+ // param: {
254
+ // filid: '',//this.orgId
255
+ // name: '本单位用户'
256
+ // }
257
+ // },
258
+ department: { param: { filid: this.orgId } },//this.orgId
259
+ // enterprise: {}
260
+ };
261
+ } else {
262
+ tab = {
263
+ employee: {
264
+ param: {
265
+ filid: this.orgId
266
+ }
267
+ }
268
+ };
269
+ }
270
+ return tab;
271
+ }
272
+ },
273
+ mounted() {
274
+ this.newsNoice = this.newsInfo;
275
+ if (this.readParams || this.typeCode == 'read') {
276
+ this.getMessage();
277
+ }
278
+ this.getFind();
279
+ if (util.getStorage('mainConfig')) {
280
+ this.orgId = JSON.parse(util.getStorage('mainConfig')).userModel.orgId;
281
+ }
282
+ if(this.selectorConfig){
283
+ this.getSelectorConfig()
284
+ }
285
+ },
286
+ methods: {
287
+ // getSelectType(info){
288
+ // if(info.selectPersonValue == 4){
289
+ // this.selectorParams.filid = 'all'
290
+ // }
291
+ // },
292
+ getSelectorConfig() {
293
+ this.selectorTabs = this.selectorConfig.type.split(',');
294
+ this.selectorParams = this.selectorConfig.params;
295
+ },
296
+ //获取通知信息
297
+ getMessage() {
298
+ let params = {};
299
+ if (this.typeCode == 'read') {
300
+ params = {
301
+ processDefinitionId: this.param.processDefinitionId,
302
+ businessId: this.param.businessId,
303
+ businessName: this.param.businessName,
304
+ bCode: this.param.bCode,
305
+ bName: this.param.bName,
306
+ appId: this.param.appId
307
+ };
308
+ } else {
309
+ params.appId = this.readParams.appId;
310
+ }
311
+ util
312
+ .ajax({ url: getNotificationMsg, params, methods: 'post' })
313
+ .then((res) => {
314
+ if (res.status === 'success') {
315
+ this.newsNoice = res.message;
316
+ }
317
+ })
318
+ .catch((err) => {
319
+ this.loading = false;
320
+ if (err.message && err.message !== 'canceled') {
321
+ this.$message.error(err.message);
322
+ }
323
+ });
324
+ },
325
+ toTaskTransfer() {
326
+ const { opinion, pendingId, taskExamine } = this;
327
+ let params = {
328
+ url: toTaskTransferIndex,
329
+ params: {
330
+ opinion,
331
+ pendingId,
332
+ isSubFlow: taskExamine.isSubFlow,
333
+ isSinglePage: taskExamine.isSinglePage
334
+ }
335
+ };
336
+ util
337
+ .ajax(params)
338
+ .then((res) => {
339
+ const {
340
+ status,
341
+ message,
342
+ data: { choiceDeptId, choiceOrgId, nodeInfoMap, taskExamine }
343
+ } = res;
344
+ if (status == 'success') {
345
+ this.isMultipleTransfer(
346
+ nodeInfoMap.nodeExtAttr.userSelectionType,
347
+ choiceOrgId,
348
+ choiceDeptId
349
+ );
350
+ this.nextNode.nodeName = taskExamine.nodeName;
351
+ this.transferInfo = taskExamine;
352
+ } else {
353
+ this.$message.error(message || '系统错误,请联系管理员!');
354
+ }
355
+ })
356
+ .catch((err) => {
357
+ this.loading = false;
358
+ if (err.message && err.message !== 'canceled') {
359
+ this.$message.error(err.message);
360
+ }
361
+ });
362
+ },
363
+ isMultipleTransfer(val, choiceOrgId, choiceDeptId, pOrgId) {
364
+ if (val == 2 || val == 4 || val == 6 || val == 16) {
365
+ this.multiple = true;
366
+ } else {
367
+ this.multiple = false;
368
+ }
369
+ if (val == 1 || val == 2 || val == 5) {
370
+ this.params.filid = this.orgId;
371
+ if (choiceOrgId) {
372
+ this.params.filid = choiceOrgId;
373
+ }
374
+ }
375
+ if (val == 5 || val == 6) {
376
+ this.params.filid = this.orgId;
377
+ this.params.deptid = this.orgId;
378
+ if (choiceDeptId) {
379
+ this.params.deptid = choiceDeptId;
380
+ }
381
+ if (choiceOrgId) {
382
+ this.params.filid = choiceOrgId;
383
+ }
384
+ }
385
+ if (val == 15 || val == 16) {
386
+ this.params.filid = this.orgId;
387
+ if (pOrgId) {
388
+ this.params.filid = pOrgId;
389
+ }
390
+ }
391
+ },
392
+ isMultiple() {
393
+ let orgId = this.orgId;
394
+ if (this.configInfo.selectPersonValue == 1) {
395
+ this.multiple = false;
396
+ this.params.filid = orgId;
397
+ } else if (this.configInfo.selectPersonValue == 2) {
398
+ this.multiple = true;
399
+ this.params.filid = orgId;
400
+ } else if (this.configInfo.selectPersonValue == 3) {
401
+ this.multiple = false;
402
+ this.params.filid = 'all';
403
+ } else if (this.configInfo.selectPersonValue == 4) {
404
+ this.multiple = true;
405
+ this.params.filid = 'all';
406
+ } else if (this.configInfo.selectPersonValue == 5) {
407
+ this.multiple = false;
408
+ this.params.filid = '';
409
+ } else if (this.configInfo.selectPersonValue == 6) {
410
+ this.multiple = true;
411
+ this.params.filid = '';
412
+ }else if (this.configInfo.selectPersonValue == 7) {
413
+ this.multiple = false;
414
+ this.params.filid = orgId;
415
+ }else if (this.configInfo.selectPersonValue == 8) {
416
+ this.multiple = true;
417
+ this.params.filid = orgId;
418
+ }
419
+ console.log(this.params,'params')
420
+ },
421
+ handleSelectCheck(val, data) {
422
+ let { userIds, userNames } = data;
423
+ if (val) {
424
+ let newUserIds = userIds.split(',');
425
+ let newUserNames = userNames.split(',');
426
+ newUserIds.map((item, index) => {
427
+ this.nextNode.nextUser.push(item);
428
+ this.userOptions.push({ id: item, name: newUserNames[index],stype:data.stype });
429
+
430
+ this.selectUserList.push({
431
+ showid: item,
432
+ showname: newUserNames[index],
433
+ stype:data.stype
434
+ });
435
+ });
436
+ // this.selectUserList = this.newSelectUserList
437
+ } else {
438
+ let newUserIds = userIds.split(',');
439
+ for (let i = 0; i < this.nextNode.nextUser.length; i++) {
440
+ for (let j = 0; j < newUserIds.length; j++) {
441
+ if (this.nextNode.nextUser[i] == newUserIds[j]) {
442
+ this.nextNode.nextUser.splice(i, 1);
443
+ }
444
+ }
445
+ }
446
+ for (let z = 0; z < this.userOptions.length; z++) {
447
+ for (let x = 0; x < newUserIds.length; x++) {
448
+ if (this.userOptions[z].id == newUserIds[x]) {
449
+ this.userOptions.splice(z, 1);
450
+ this.selectUserList.splice(z, 1);
451
+ }
452
+ }
453
+ }
454
+ // this.newSelectUserList = this.selectUserList
455
+ }
456
+ },
457
+ toStartTaskRead() {
458
+ let params = {
459
+ url: toStartTaskRead,
460
+ params: {
461
+ pendingId: this.pendingId,
462
+ appId: this.resetAppId,
463
+ taskAction: this.type,
464
+ ...this.param
465
+ }
466
+ };
467
+ if (this.typeCode == 'read') {
468
+ delete params.params.pendingId;
469
+ // params.params.appid = this.resetAppId;
470
+ }
471
+ if (this.type != 'taskReadAndEnd') delete params.params.taskAction;
472
+ util
473
+ .ajax(params)
474
+ .then((res) => {
475
+ const { status, data } = res;
476
+ if (status === 'success') {
477
+ this.configInfo = data;
478
+ if(data.alreadyReadUserIds){
479
+ this.readDisableds = data.alreadyReadUserIds.split(',');
480
+ }
481
+ this.isMultiple();
482
+ }
483
+ })
484
+ .catch((err) => {
485
+ this.loading = false;
486
+ if (err.message && err.message !== 'canceled') {
487
+ this.$message.error(err.message);
488
+ }
489
+ });
490
+ },
491
+ changeSelectUser(val, type) {
492
+ const { nextUser, options, mixList } = val;
493
+ this.nextNode[type] = nextUser;
494
+ this.mixList = mixList;
495
+ options.map((item) => {
496
+ this.newSelectUserList.push({
497
+ showname: item.showname,
498
+ showid: item.showid
499
+ });
500
+ });
501
+ },
502
+ getNodeType() {
503
+ util
504
+ .ajax({
505
+ url: findCodeValues,
506
+ params: {
507
+ ccCode: 'fenyue_msg_type',
508
+ userId: util.getStorage('userId'),
509
+ // pendingId:this.pendingId
510
+ }
511
+ })
512
+ .then((res) => {
513
+ const { status, data } = res;
514
+ if (status === 'success') {
515
+ this.noticeList = data;
516
+ let arr = [];
517
+ this.noticeList.map((item) => {
518
+ this.nextNode.noticeType.map((x) => {
519
+ if (x == item.cciValue) {
520
+ arr.push(x);
521
+ }
522
+ });
523
+ });
524
+ this.nextNode.noticeType = arr;
525
+ }
526
+ })
527
+ .catch((err) => {
528
+ this.loading = false;
529
+ if (err.message && err.message !== 'canceled') {
530
+ this.$message.error(err.message);
531
+ }
532
+ });
533
+ },
534
+ // 转办提交
535
+ subTaskTransfer() {
536
+ const { choiceDeptId, choiceOrgId, bCode, bName } = this.taskExamine;
537
+ const { opinion, pendingId, nextNode, newsNoice, multiple, type } = this;
538
+ let params = {
539
+ url: taskTransfer,
540
+ data: {
541
+ choiceDeptId,
542
+ choiceOrgId,
543
+ bCode,
544
+ bName,
545
+ nextUserId:
546
+ multiple && type != 'transfer'
547
+ ? nextNode.nextUser.join(',')
548
+ : nextNode.nextUser,
549
+ opinion,
550
+ pendingId,
551
+ notificationType: nextNode.noticeType.join(','),
552
+ notificationMsg: newsNoice
553
+ },
554
+ headers: { Accept: 'application/json,text/plain' },
555
+ method: 'post'
556
+ };
557
+ util
558
+ .ajax(params)
559
+ .then((res) => {
560
+ const { message, status } = res;
561
+ if (status === 'success') {
562
+ this.simpleTips && this.$message.success('操作成功');
563
+ this.quit(true);
564
+ } else {
565
+ this.$message.error(message || '系统错误,请联系管理员!');
566
+ }
567
+ this.loading = false;
568
+ })
569
+ .catch((err) => {
570
+ this.loading = false;
571
+ if (err.message && err.message !== 'canceled') {
572
+ this.$message.error(err.message);
573
+ }
574
+ });
575
+ },
576
+ // 提交表单
577
+ subProcess(formName) {
578
+
579
+ this.submit(formName)
580
+ },
581
+ // 提交表单
582
+ submit(formName) {
583
+ this.$refs[formName].validate((valid) => {
584
+ if (valid) {
585
+ if (!this.option && this.isOpinionRequired === 1) {
586
+ this.$message.warning('请选择输入审批意见');
587
+ return;
588
+ }
589
+ // let nextUser = [];
590
+ // this.nextNode.nextUser.map(item => {
591
+ // nextUser.push(item);
592
+ // });
593
+ let noticeType = '';
594
+ noticeType = this.nextNode.noticeType.join(',');
595
+ this.loading = true;
596
+ if (this.type === 'transfer') {
597
+ this.subTaskTransfer();
598
+ } else {
599
+ const {
600
+ appId,
601
+ businessId,
602
+ bCode,
603
+ bName,
604
+ choiceDeptId,
605
+ choiceOrgId,
606
+ businessName,
607
+ processDefinitionId
608
+ } = this.taskExamine;
609
+ let params = {
610
+ ...this.nextNode,
611
+ bCode,
612
+ bName,
613
+ appId,
614
+ businessId: businessId || this.param.businessId,
615
+ choiceDeptId,
616
+ choiceOrgId,
617
+ businessName,
618
+ processDefinitionId,
619
+ currentOrgProcessKey:
620
+ processDefinitionId || this.param.currentOrgProcessKey,
621
+ pendingId: this.pendingId,
622
+ opinion: this.option, // 审批意见
623
+ userId: util.getStorage('userId'),
624
+ nextReadUserId: this.mixList.join('|'),
625
+ notificationType: noticeType,
626
+ notificationMsg: this.newsNoice,
627
+ taskAction: this.type
628
+ // nextNodeId: this.form.nextNodeId
629
+ };
630
+ delete params.nextUser;
631
+ delete params.noticeType;
632
+ const { fyDoresult, fyeh, download, isCdjxjTaskHandle } =
633
+ this.configInfo;
634
+ fyDoresult != 'true' && delete params.showDoresult;
635
+ fyeh != 'true' && delete params.isInHistory;
636
+ !download && delete params.isDownload;
637
+ isCdjxjTaskHandle == 'true' && delete params.noticeType;
638
+ if (this.readParams) {
639
+ params = { ...params, ...this.readParams };
640
+ }
641
+ if(this.subParams){
642
+ params = { ...params, ...this.subParams };
643
+ }
644
+ delete this.configInfo.taskExamine.taskExamineParam;
645
+ util
646
+ .ajax({
647
+ url: taskReadHtml,
648
+ params: { taskAction: this.type },
649
+ headers: {
650
+ Accept: 'application/json,text/plain'
651
+ },
652
+ method: 'post',
653
+ data: {...params,...this.configInfo.taskExamine}
654
+ })
655
+ .then((res) => {
656
+ const { message, status } = res;
657
+ this.loading = false;
658
+ if (status === 'success') {
659
+ this.simpleTips && this.$message.success('操作成功');
660
+ this.quit(true);
661
+ } else {
662
+ this.$message.error(message || '系统错误,请联系管理员!');
663
+ }
664
+ })
665
+ .catch((err) => {
666
+ this.loading = false;
667
+ if (err.message && err.message !== 'canceled') {
668
+ this.$message.error(err.message);
669
+ }
670
+ });
671
+ }
672
+ } else {
673
+ return false;
674
+ }
675
+ });
676
+ },
677
+ quit(val) {
678
+ if (val === true) return this.$emit('cancel', this.type);
679
+ this.$emit('cancel');
680
+ },
681
+
682
+ getFind() {
683
+ this.loading = true;
684
+ util
685
+ .ajax({
686
+ url: findSysCodes
687
+ })
688
+ .then((res) => {
689
+ const { status, message, data } = res;
690
+ this.loading = false;
691
+ if (status === 'success') {
692
+ if(this.hideMessage) return;
693
+ this.nextNode.noticeType = message.split(',');
694
+ if (data) {
695
+ this.notificationMessageReadOnly =
696
+ data.notificationMessageReadOnly;
697
+ this.readOnlyNotificationType = data.readOnlyNotificationType;
698
+ }
699
+ } else {
700
+ this.$message.error(message || '系统错误,请联系管理员!');
701
+ }
702
+ this.getNodeType();
703
+ if (this.type === 'transfer') {
704
+ this.toTaskTransfer();
705
+ } else if (!this.readParams) {
706
+ this.toStartTaskRead();
707
+ }
708
+ })
709
+ .catch((err) => {
710
+ this.loading = false;
711
+ if (err.message && err.message !== 'canceled') {
712
+ this.$message.error(err.message);
713
+ }
714
+ });
715
+ }
716
+ }
717
+ };
718
+ </script>