eoss-ui 0.7.96 → 0.7.97

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 (123) hide show
  1. package/lib/button-group.js +1 -1
  2. package/lib/button.js +1 -1
  3. package/lib/calogin.js +1 -1
  4. package/lib/checkbox-group.js +1 -1
  5. package/lib/data-table-form.js +1 -1
  6. package/lib/data-table.js +9 -9
  7. package/lib/date-picker.js +1 -1
  8. package/lib/dialog.js +1 -1
  9. package/lib/eoss-ui.common.js +291 -290
  10. package/lib/flow-group.js +1 -1
  11. package/lib/flow-list.js +97 -97
  12. package/lib/flow.js +176 -175
  13. package/lib/form.js +1 -1
  14. package/lib/handle-user.js +1 -1
  15. package/lib/handler.js +1 -1
  16. package/lib/icon.js +1 -1
  17. package/lib/index.js +1 -1
  18. package/lib/input-number.js +1 -1
  19. package/lib/input.js +1 -1
  20. package/lib/login.js +1 -1
  21. package/lib/main.js +6 -6
  22. package/lib/nav.js +1 -1
  23. package/lib/page.js +1 -1
  24. package/lib/pagination.js +1 -1
  25. package/lib/player.js +1 -1
  26. package/lib/qr-code.js +1 -1
  27. package/lib/radio-group.js +1 -1
  28. package/lib/retrial-auth.js +1 -1
  29. package/lib/select-ganged.js +1 -1
  30. package/lib/select.js +1 -1
  31. package/lib/selector-panel.js +1 -1
  32. package/lib/selector.js +1 -1
  33. package/lib/sizer.js +1 -1
  34. package/lib/steps.js +1 -1
  35. package/lib/switch.js +1 -1
  36. package/lib/table-form.js +1 -1
  37. package/lib/tabs.js +1 -1
  38. package/lib/theme-chalk/index.css +1 -1
  39. package/lib/theme-chalk/login.css +1 -1
  40. package/lib/tips.js +1 -1
  41. package/lib/tree-group.js +1 -1
  42. package/lib/tree.js +1 -1
  43. package/lib/upload.js +1 -1
  44. package/lib/utils/util.js +1 -1
  45. package/lib/wujie.js +1 -1
  46. package/lib/wxlogin.js +1 -1
  47. package/package.json +1 -1
  48. package/packages/button-group/src/main.vue +346 -346
  49. package/packages/calogin/src/main.vue +412 -412
  50. package/packages/clients/src/main.vue +151 -151
  51. package/packages/data-table/src/column.vue +1 -1
  52. package/packages/flow/src/component/Circulate.vue +417 -417
  53. package/packages/flow/src/component/CommonOpinions.vue +376 -376
  54. package/packages/flow/src/component/CustomPreset.vue +324 -324
  55. package/packages/flow/src/component/FileList.vue +97 -97
  56. package/packages/flow/src/component/FreeCirculation.vue +3 -2
  57. package/packages/flow/src/component/Preset.vue +257 -257
  58. package/packages/flow/src/component/SendMsg.vue +242 -242
  59. package/packages/flow/src/component/SortFlow.vue +110 -110
  60. package/packages/flow/src/component/taskUnionExamine.vue +761 -761
  61. package/packages/flow/src/form.vue +123 -123
  62. package/packages/flow/src/freeStartFlow.vue +2855 -2855
  63. package/packages/flow/src/main.vue +1 -1
  64. package/packages/flow/src/processForm.vue +1680 -1680
  65. package/packages/flow/src/processReject.vue +309 -309
  66. package/packages/flow/src/reset.vue +946 -946
  67. package/packages/flow/src/startTaskRead.vue +695 -695
  68. package/packages/flow/src/supervise.vue +159 -159
  69. package/packages/flow/src/table.vue +58 -58
  70. package/packages/flow-list/src/main.vue +2337 -2337
  71. package/packages/form/src/main.vue +3901 -3901
  72. package/packages/form/src/table.vue +1512 -1512
  73. package/packages/icon/src/main.vue +104 -104
  74. package/packages/login/src/resetPassword.vue +557 -557
  75. package/packages/main/src/public/online.vue +89 -89
  76. package/packages/main/src/public/search.vue +464 -464
  77. package/packages/main/src/public/settings.vue +273 -273
  78. package/packages/main/src/simplicity/apps.vue +388 -388
  79. package/packages/main/src/simplicity/avatar.vue +82 -82
  80. package/packages/main/src/simplicity/handler.vue +158 -158
  81. package/packages/main/src/simplicity/menu-list.vue +135 -135
  82. package/packages/main/src/simplicity/message.vue +293 -293
  83. package/packages/main/src/simplicity/notice.vue +222 -222
  84. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  85. package/packages/main/src/simplicity/user.vue +259 -259
  86. package/packages/main/src/simplicityTop/apps.vue +388 -388
  87. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  88. package/packages/main/src/simplicityTop/handler.vue +215 -215
  89. package/packages/main/src/simplicityTop/lists.vue +84 -84
  90. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  91. package/packages/main/src/simplicityTop/message.vue +293 -293
  92. package/packages/main/src/simplicityTop/notice.vue +222 -222
  93. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  94. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  95. package/packages/main/src/simplicityTop/user.vue +259 -259
  96. package/packages/menu/src/main.vue +595 -595
  97. package/packages/nav/src/main.vue +351 -351
  98. package/packages/selector/src/main.vue +761 -761
  99. package/packages/selector-panel/src/main.vue +1036 -1036
  100. package/packages/selector-panel/src/selection.vue +174 -174
  101. package/packages/switch/src/main.vue +170 -170
  102. package/packages/theme-chalk/src/data-table.scss +297 -297
  103. package/packages/theme-chalk/src/flow-list.scss +55 -55
  104. package/packages/theme-chalk/src/flow.scss +373 -373
  105. package/packages/theme-chalk/src/form.scss +501 -501
  106. package/packages/theme-chalk/src/handler.scss +148 -148
  107. package/packages/theme-chalk/src/icon.scss +3452 -3452
  108. package/packages/theme-chalk/src/login.scss +1006 -1006
  109. package/packages/theme-chalk/src/main.scss +664 -664
  110. package/packages/theme-chalk/src/menu.scss +224 -224
  111. package/packages/theme-chalk/src/selector.scss +114 -114
  112. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  113. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  114. package/packages/theme-chalk/src/tree.scss +165 -165
  115. package/packages/theme-chalk/src/upload.scss +172 -172
  116. package/packages/tips/src/main.vue +141 -141
  117. package/packages/toolbar/src/main.vue +430 -430
  118. package/packages/upload/src/main.vue +1344 -1344
  119. package/packages/wujie/src/main.vue +146 -146
  120. package/src/config/api.js +348 -348
  121. package/src/index.js +163 -163
  122. package/src/utils/rules.js +18 -18
  123. package/src/utils/util.js +18 -19
@@ -1,2337 +1,2337 @@
1
- <template>
2
- <div class="es-flow-list">
3
- <div
4
- class="es-flow-list-item"
5
- v-for="(item, index) in content"
6
- :key="index"
7
- v-show="
8
- (item.type == 'splitReading' &&
9
- splitReadingData &&
10
- splitReadingData.length > 0) ||
11
- (item.type == 'preset' &&
12
- presetData &&
13
- presetData.length > 0 &&
14
- currentUserHasPresetInfoAuth) ||
15
- (item.type != 'splitReading' && item.type != 'preset')
16
- "
17
- >
18
- <div
19
- class="es-flow-list-box"
20
- :ref="item.type"
21
- :style="`position:${height == 'auto' ? 'unset' : 'absolute'}`"
22
- >
23
- <es-data-table
24
- v-if="show"
25
- :class="{ 'es-flow-group-data-table': item.type !== 'sign' }"
26
- :display="display"
27
- @cell-click="handleCellClick"
28
- :full="height !== 'auto'"
29
- v-bind="item"
30
- :data="
31
- showDoresult
32
- ? returnData(item.type).filter(
33
- (x) => x.doresult || x.handleInfo || x.pendstate != 2
34
- )
35
- : returnData(item.type)
36
- "
37
- @btn-click="handleBtnClick"
38
- @selection-change="handleSelectionChange"
39
- ></es-data-table>
40
- </div>
41
- </div>
42
- <es-dialog
43
- append-to-body
44
- :close-on-click-modal="false"
45
- title="查看附件"
46
- :visible.sync="showFileList"
47
- v-if="showFileList"
48
- >
49
- <FileList
50
- :ownId="wfpendingid"
51
- :code="flowTableInfo.adjunctCode"
52
- :deleted="false"
53
- :disabled="true"
54
- @cancel="showFileList = false"
55
- />
56
- </es-dialog>
57
- <es-dialog
58
- append-to-body
59
- class="es-flow-list-dialog"
60
- :close-on-click-modal="false"
61
- title="流程历史批量删除"
62
- :visible.sync="showBatchDelete"
63
- v-if="showBatchDelete"
64
- >
65
- <div style="height: 100%" v-loading="batchDeleteLoading">
66
- <es-data-table
67
- v-if="showBatchDelete"
68
- checkbox
69
- :data="batchdeleteTableList"
70
- :thead="batchdeleteThead"
71
- numbers
72
- full
73
- @selection-change="handleSelectionChange($event,'batchDelete')"
74
- style="width: 100%"
75
- />
76
- <div class="batch-delete-footer">
77
- <el-input class="batch-delete-footer-input" v-model="batchdeletereason" placeholder="请输入批量删除的原因"></el-input>
78
- <es-button type="primary" @click="handleBatchDelete">批量删除</es-button>
79
- <es-button type="primary" @click="showBatchDelete = false">取消</es-button>
80
- </div>
81
- </div>
82
- </es-dialog>
83
- <es-dialog
84
- append-to-body
85
- class="es-flow-list-dialog"
86
- :close-on-click-modal="false"
87
- title="查看删除记录"
88
- :visible.sync="showDelete"
89
- v-if="showDelete"
90
- >
91
- <div style="height: 100%" v-loading="deleteLoading">
92
- <es-data-table
93
- v-if="showDelete"
94
- :data="deleteTableList"
95
- :thead="deleteThead"
96
- @btn-click="handleBtnShowClick"
97
- @page-size-change="handleSizeChange($event, 'delete')"
98
- @page-current-change="handleCurrentChange($event, 'delete')"
99
- numbers
100
- full
101
- style="width: 100%"
102
- @sort-change="sortChange($event, 'delete')"
103
- :page="pageInfo"
104
- />
105
- </div>
106
- </es-dialog>
107
- <es-dialog
108
- append-to-body
109
- class="es-flow-list-dialog"
110
- :close-on-click-modal="false"
111
- title="查看重设记录"
112
- :visible.sync="showReset"
113
- v-if="showReset"
114
- >
115
- <div style="height: 100%" v-loading="resetLoading">
116
- <es-data-table
117
- v-if="showReset"
118
- :data="resetTableList"
119
- :thead="resetThead"
120
- @page-size-change="handleSizeChange($event, 'reset')"
121
- @page-current-change="handleCurrentChange($event, 'reset')"
122
- numbers
123
- full
124
- style="width: 100%"
125
- @sort-change="sortChange($event, 'reset')"
126
- :page="pageInfo"
127
- />
128
- </div>
129
- </es-dialog>
130
- <es-dialog
131
- append-to-body
132
- :close-on-click-modal="false"
133
- title="查看催办记录"
134
- :visible.sync="showPress"
135
- v-if="showPress"
136
- >
137
- <div style="height: 100%" v-loading="pressLoading">
138
- <es-data-table
139
- v-if="show"
140
- :data="pressTableList"
141
- :thead="pressThead"
142
- @page-size-change="handleSizeChange($event, 'press')"
143
- @page-current-change="handleCurrentChange($event, 'press')"
144
- stripe
145
- full
146
- style="width: 100%"
147
- @sort-change="sortChange($event, 'press')"
148
- :page="pageInfo"
149
- />
150
- </div>
151
- </es-dialog>
152
- <es-dialog
153
- append-to-body
154
- :close-on-click-modal="false"
155
- :title="modalType == 'del' ? '删除' : '修改意见'"
156
- :visible.sync="showDel"
157
- height="auto"
158
- class="del-flow"
159
- v-if="showDel"
160
- >
161
- <es-form
162
- v-loading="delLoading"
163
- :model="formData"
164
- :contents="formItemList"
165
- @submit="handleFormSubmit"
166
- >
167
- </es-form>
168
- </es-dialog>
169
- </div>
170
- </template>
171
-
172
- <script>
173
- import {
174
- findCodeValues,
175
- deletePresetInfo,
176
- pendedhistoryListJson,
177
- toPresetInfoListIndex,
178
- pressListJson,
179
- pendedhistoryListWithCircularReadJson,
180
- deleteFlow,
181
- taskReadWithDraw,
182
- fyListJson,
183
- circularReadWithdraw,
184
- resetJson,
185
- deletedListJson,
186
- restoredHistory,
187
- batchDelete,
188
- modifyFlow
189
- } from 'eoss-ui/src/config/api';
190
- import FileList from '../../flow/src/component/FileList.vue';
191
- import util from 'eoss-ui/src/utils/util';
192
- export default {
193
- name: 'EsFlowList',
194
- components: {
195
- [FileList.name]: FileList
196
- },
197
- props: {
198
- businessId: {
199
- type: String,
200
- default: ''
201
- },
202
- getListCount: {
203
- type: Function,
204
- default: () => {}
205
- },
206
- flowViewType: {
207
- type: [Number, String],
208
- default: 0
209
- },
210
- hide: {
211
- type: String,
212
- default: ''
213
- },
214
- hideBtn: {
215
- type: Boolean,
216
- default: false
217
- },
218
- params: {
219
- type: Object,
220
- default: () => {
221
- return {};
222
- }
223
- },
224
- toolbar: {
225
- type: Array,
226
- default: () => []
227
- },
228
- headFields: {
229
- type: Array,
230
- default: () => []
231
- },
232
- contents: {
233
- type: Array,
234
- default() {
235
- return ['flow', 'splitReading', 'preset'];
236
- }
237
- },
238
- numbers: {
239
- type: Boolean,
240
- default: false
241
- },
242
- height: {
243
- type: String,
244
- default: ''
245
- },
246
- showDoresult: {
247
- type: Boolean,
248
- default: false
249
- },
250
- theadWidth: {
251
- type: Object,
252
- default: () => {
253
- return {};
254
- }
255
- },
256
- type: {
257
- type: String,
258
- default: ''
259
- },
260
- display: Boolean
261
- },
262
- inheritAttrs: false,
263
- data() {
264
- return {
265
- pressLoading: false,
266
- pressTableList: [],
267
- circularData: [],
268
- selectList: [],
269
- batchDeleteSelectList:[],
270
- flowHeight: '',
271
- presetHeight: '',
272
- signHeight: '',
273
- splitReadingHeight: '',
274
- circularHeight: '',
275
- untreatedReadHeight: '',
276
- processedReadHeight: '',
277
- untreatedReadData: [],
278
- processedReadData: [],
279
- hasCircularReadWithdrawAuthority: false,
280
- currentPage: 1,
281
- pageSize: 20,
282
- flowListCount: {},
283
- currentUserHasPresetInfoAuth: false,
284
- pressThead: [
285
- {
286
- title: '催办节点',
287
- align: 'center',
288
- sortable: true,
289
- field: 'urge_item'
290
- },
291
- {
292
- title: '催办人名称',
293
- sortable: true,
294
- align: 'center',
295
- field: 'urge_man_name'
296
- },
297
- {
298
- title: '催办时间',
299
- sortable: true,
300
- align: 'center',
301
- field: 'urge_time'
302
- },
303
- {
304
- title: '被催办人名称',
305
- align: 'center',
306
- sortable: true,
307
- field: 'urged_man_name'
308
- }
309
- ],
310
- wfpendingid: '',
311
- showFileList: false,
312
- flowData: [],
313
- splitReadingData: [],
314
- presetData: [],
315
- signData: [],
316
- loading: '', //加载中
317
- preset_type: [], //预设类型
318
- showPress: false, //查看催办记录弹窗
319
- showDelete: false, //删除记录弹窗
320
- showBatchDelete: false,
321
- deleteLoading: false,
322
- batchDeleteLoading: false,
323
- deleteTableList: [],
324
- batchdeleteTableList: [],
325
- batchdeletereason:'',
326
- batchdeleteThead: [
327
- {
328
- title: '步骤',
329
- align: 'center',
330
- // sortable: true,
331
- showOverflowTooltip: true,
332
- field: 'itemname'
333
- },
334
- {
335
- title: '办理人',
336
- align: 'center',
337
- showOverflowTooltip: true,
338
- width: 120,
339
- // sortable: true,
340
- field: 'userName'
341
- },
342
- {
343
- label: '状态',
344
- field: 'pendstate',
345
- key: 'zt',
346
- align: 'center',
347
- showOverflowTooltip: true,
348
- width: this.theadWidth.pendstate || 80,
349
- render: (h, params) => {
350
- return h('span', {
351
- style: {
352
- color:
353
- params.row.pendstate == 0 || params.row.pendstate == 3
354
- ? 'red'
355
- : params.row.pendstate == 1
356
- ? 'green'
357
- : params.row.pendstate == -1
358
- ? 'orange'
359
- : 'deepskyblue'
360
- },
361
- domProps: { innerHTML: params.row.querykeywords }
362
- });
363
- }
364
- },
365
- {
366
- title: '办理意见',
367
- align: 'center',
368
- showOverflowTooltip: true,
369
- // sortable: true,
370
- field: 'doresult'
371
- },
372
- {
373
- title: '办理时间',
374
- align: 'center',
375
- showOverflowTooltip: true,
376
- // sortable: true,
377
- field: 'doetime',
378
- render: (h, params) => {
379
- return h(
380
- 'span',
381
- {},
382
- params.row.doetime
383
- ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
384
- : ''
385
- );
386
- }
387
- }
388
- ],
389
- deleteThead: [
390
- {
391
- title: '步骤',
392
- align: 'center',
393
- // sortable: true,
394
- showOverflowTooltip: true,
395
- field: 'itemname'
396
- },
397
- {
398
- title: '办理人',
399
- align: 'center',
400
- showOverflowTooltip: true,
401
- width: 120,
402
- // sortable: true,
403
- field: 'userName'
404
- },
405
- {
406
- title: '办理意见',
407
- align: 'center',
408
- showOverflowTooltip: true,
409
- width: 240,
410
- // sortable: true,
411
- field: 'doresult'
412
- },
413
- {
414
- title: '办理时间',
415
- align: 'center',
416
- width: 150,
417
- showOverflowTooltip: true,
418
- // sortable: true,
419
- field: 'doetime'
420
- },
421
- {
422
- title: '删除人',
423
- showOverflowTooltip: true,
424
- width: 120,
425
- align: 'center',
426
- // sortable: true,
427
- field: 'querykeywords'
428
- },
429
- {
430
- title: '删除原因',
431
- align: 'center',
432
- width: 240,
433
- showOverflowTooltip: true,
434
- // sortable: true,
435
- field: 'upstepInfo'
436
- },
437
- {
438
- title: '删除时间',
439
- align: 'center',
440
- width: 150,
441
- showOverflowTooltip: true,
442
- // sortable: true,
443
- field: 'statechangetime'
444
- },
445
- {
446
- title: '操作',
447
- type: 'handle',
448
- events: [
449
- {
450
- text: '恢复'
451
- }
452
- ]
453
- }
454
- ],
455
- showReset: false, //重设记录弹窗
456
- resetLoading: false,
457
- resetTableList: [],
458
- resetThead: [
459
- {
460
- title: '重设人登录名',
461
- align: 'center',
462
- // sortable: true,
463
- showOverflowTooltip: true,
464
- field: 'reset_person_login_name'
465
- },
466
- {
467
- title: '重设人姓名',
468
- align: 'center',
469
- showOverflowTooltip: true,
470
- // sortable: true,
471
- field: 'reset_person_name'
472
- },
473
- {
474
- title: '重设前节点',
475
- align: 'center',
476
- showOverflowTooltip: true,
477
- // sortable: true,
478
- field: 'reset_bf_item'
479
- },
480
- {
481
- title: '重设前执行人',
482
- align: 'center',
483
- showOverflowTooltip: true,
484
- // sortable: true,
485
- field: 'reset_bf_user'
486
- },
487
- {
488
- title: '重设后节点',
489
- showOverflowTooltip: true,
490
- align: 'center',
491
- // sortable: true,
492
- field: 'reset_af_item'
493
- },
494
- {
495
- title: '重设后执行人',
496
- align: 'center',
497
- showOverflowTooltip: true,
498
- // sortable: true,
499
- field: 'reset_af_user'
500
- },
501
- {
502
- title: '重设时间',
503
- align: 'center',
504
- showOverflowTooltip: true,
505
- // sortable: true,
506
- field: 'reset_time'
507
- },
508
- {
509
- title: '操作IP',
510
- align: 'center',
511
- showOverflowTooltip: true,
512
- // sortable: true,
513
- field: 'reset_ip'
514
- }
515
- ],
516
- modify: false,
517
- formData: { reason: '' },
518
-
519
- delLoading: false,
520
- showDel: false,
521
- attachmentPaperClipCssStyle: '',
522
- is_edit: [], //是否可编辑
523
- flowTableInfo: {
524
- adjunctCode: '',
525
- hasAgent: '1' //是否展示代办人 1:展示 0:不展示
526
- },
527
- show: false,
528
- taskReadName: '', //非流程列表名称
529
- options: [
530
- { label: '时间排序', value: '1' },
531
- { label: '部门排序', value: '2' }
532
- // { label: '树形排序', value: '3' }
533
- ],
534
- isShort: 0, //是否隐藏筛选
535
- viewType: '1', //排序方式
536
- flowTableList: [], //流程列表
537
- fyTableList: [], //分阅列表
538
- showSuggest: 'all', //筛选显示数据
539
- presetInfoListHiddenColumns: '', //隐藏表格展示数据
540
- canDelete: false, //是否展示操作按钮
541
- canBatchDelete: false, //是否可以批量删除
542
- isSuperRole: false, //是否管理员
543
- isShowReset: false, //是否显示重设记录
544
- historyId: '',
545
- sidx: '',
546
- sord: 'asc',
547
- modalType: '',
548
- total: 0
549
- };
550
- },
551
- watch: {
552
- flowViewType: {
553
- handler(val) {
554
- if (val) {
555
- this.loading = util.loading(this.$loading, '加载中...');
556
- this.getFlowList(val);
557
- }
558
- },
559
- deep: true,
560
- immediate: true
561
- }
562
- },
563
-
564
- computed: {
565
- formItemList() {
566
- return [
567
- {
568
- name: 'reason',
569
- label: this.modalType == 'del' ? '删除原因' : '办理意见',
570
- type: 'textarea',
571
- placeholder: `请输入${
572
- this.modalType == 'del' ? '删除原因' : '办理意见'
573
- }`,
574
- rules: {
575
- required: this.modalType == 'del',
576
- message: '请输入删除原因',
577
- trigger: 'blur'
578
- },
579
- value: '',
580
- rows: 5
581
- },
582
- {
583
- type: 'submit',
584
- skin: 'lay-form-btns',
585
- contents: [
586
- {
587
- type: 'primary',
588
- plain: true,
589
- text: '保存',
590
- event: 'confirm'
591
- }
592
- ]
593
- }
594
- ];
595
- },
596
- toolbars() {
597
- return {
598
- flow: [
599
- {
600
- type: 'text',
601
- contents: '流程列表'
602
- },
603
- {
604
- type: 'search',
605
- contents: [
606
- {
607
- name: 'showSuggest',
608
- type: 'radio',
609
- changeSearch: true,
610
- data: [
611
- {
612
- value: 'all',
613
- name: '显示全部',
614
- checked: true
615
- },
616
- { value: 'have', name: '显示已填意见' }
617
- ],
618
- events: {
619
- change: (key, value) => {
620
- this.handleChange(key, value);
621
- }
622
- }
623
- },
624
-
625
- {
626
- type: 'select',
627
- placeholder: '请选择',
628
- name: 'viewType',
629
- width: '140px',
630
- changeSearch: true,
631
- events: {
632
- change: (key, value) => {
633
- this.handleChange(key, value);
634
- }
635
- },
636
- data: [
637
- {
638
- value: 1,
639
- selected: true,
640
- name: '时间排序'
641
- },
642
- {
643
- value: 2,
644
- name: '部门排序'
645
- }
646
- // {
647
- // value: 3,
648
- // name: '树形排序'
649
- // }
650
- ]
651
- }
652
- ]
653
- },
654
- {
655
- type: 'button',
656
- name: 'btn',
657
- width: '140px',
658
- contents: [
659
- {
660
- text: '删除记录',
661
- type: 'primary',
662
- hide: !this.canDelete && !this.isSuperRole,
663
- event: (res) => {
664
- // click: (key, value) => {
665
- this.showDelete = true;
666
- this.currentPage = 1;
667
- this.pageSize = 20;
668
- this.getDeletList();
669
- // }
670
- }
671
- },
672
- {
673
- text: '批量删除',
674
- type: 'primary',
675
- hide: !this.canBatchDelete && !this.isSuperRole,
676
- event: (res) => {
677
- // click: (key, value) => {
678
- this.showBatchDelete = true;
679
- this.batchdeleteTableList = this.flowData.filter((x) => x.pendstate == 2);
680
- // }
681
- }
682
- },
683
- {
684
- text: '重设记录',
685
- type: 'primary',
686
- hide: !this.isShowReset,
687
- event: (res) => {
688
- // click: (key, value) => {
689
- this.showReset = true;
690
- this.currentPage = 1;
691
- this.pageSize = 20;
692
- this.getResetList();
693
- // }
694
- }
695
- }
696
- ]
697
- }
698
- ],
699
- preset: [
700
- {
701
- type: 'text',
702
- contents: '预设列表'
703
- }
704
- ],
705
- sign: [
706
- {
707
- type: 'button',
708
- contents: [
709
- {
710
- text: '生成处理签',
711
- type: 'primary'
712
- }
713
- ]
714
- }
715
- ],
716
- splitReading: [
717
- {
718
- type: 'text',
719
- contents:
720
- (this.taskReadName ? this.taskReadName : '非流程') + '列表'
721
- }
722
- ],
723
- circular: [
724
- {
725
- type: 'text',
726
- contents: '传阅列表'
727
- }
728
- ],
729
- untreatedRead: [
730
- {
731
- type: 'text',
732
- contents: '未处理分阅列表'
733
- },
734
- {
735
- type: 'button',
736
- contents: [
737
- {
738
- text: '撤销分阅',
739
- fun: 'recallRead'
740
- }
741
- ]
742
- }
743
- ],
744
- processedRead: [
745
- {
746
- type: 'text',
747
- contents: '已处理分阅列表'
748
- }
749
- ]
750
- // Reading situation
751
- };
752
- },
753
- pageInfo() {
754
- return {
755
- pageNum: this.currentPage,
756
- pageSize: this.pageSize,
757
- totalCount: this.total
758
- };
759
- },
760
- theads() {
761
- const _that = this;
762
- let newThead = {
763
- flow: [
764
- {
765
- label: '经办部门',
766
- field: 'deptid',
767
- align: 'center',
768
- key: 'jbbm',
769
- showOverflowTooltip: true,
770
- width: this.theadWidth.deptid || 150,
771
- render: (h, params) => {
772
- return h(
773
- 'span',
774
- {},
775
- params.row.doDeptName
776
- ? params.row.doDeptName
777
- : params.row.deptName
778
- );
779
- }
780
- },
781
- {
782
- label: '步骤',
783
- field: 'itemname',
784
- align: 'center',
785
- key: 'bz',
786
- showOverflowTooltip: true,
787
- width: this.theadWidth.itemname || 110
788
- },
789
- {
790
- label: '办理人',
791
- field: 'userName',
792
- align: 'center',
793
- key: 'blr',
794
- showOverflowTooltip: true,
795
- width: this.theadWidth.userName || 110
796
- },
797
- {
798
- label: '办理人部门',
799
- field: 'deptName',
800
- align: 'center',
801
- showOverflowTooltip: true,
802
- key: 'blrbm',
803
- width: this.theadWidth.deptName || 110
804
- },
805
- {
806
- label: '状态',
807
- field: 'pendstate',
808
- key: 'zt',
809
- align: 'center',
810
- showOverflowTooltip: true,
811
- width: this.theadWidth.pendstate || 80,
812
- render: (h, params) => {
813
- return h('span', {
814
- style: {
815
- color:
816
- params.row.pendstate == 0 || params.row.pendstate == 3
817
- ? 'red'
818
- : params.row.pendstate == 1
819
- ? 'green'
820
- : params.row.pendstate == -1
821
- ? 'orange'
822
- : 'deepskyblue'
823
- },
824
- domProps: { innerHTML: params.row.querykeywords }
825
- });
826
- }
827
- },
828
- {
829
- label: '办理意见',
830
- field: 'doresult',
831
- align: 'center',
832
- width: this.theadWidth.doresult,
833
- showOverflowTooltip: true,
834
- key: 'blyj',
835
- render: (h, params) => {
836
- if (
837
- params.row.doresult &&
838
- (params.row.doresult.startsWith('http') ||
839
- params.row.doresult.startsWith('https'))
840
- ) {
841
- return h('img', {
842
- attrs: { src: params.row.doresult },
843
- style: { width: '100px', height: '100px' }
844
- });
845
- } else {
846
- return h('span', {}, [
847
- params.row.doresult
848
- ? params.row.doresult + (params.row.handleInfo ? '&' : '')
849
- : '',
850
- h(
851
- 'span',
852
- { style: { color: '#A5A5A5', marginLeft: '2px' } },
853
- params.row.handleInfo || ''
854
- )
855
- ]);
856
- }
857
- }
858
- },
859
- {
860
- label: '验签',
861
- field: 'authTypeStr',
862
- align: 'center',
863
- key: 'yq',
864
- showOverflowTooltip: true,
865
- width: this.theadWidth.authTypeStr || 70,
866
- render: (h, params) => {
867
- return h(
868
- 'span',
869
- { style: { color: 'deepskyblue' } },
870
- params.row.authTypeStr
871
- );
872
- }
873
- },
874
- {
875
- label: '附件',
876
- key: 'fj',
877
- field: 'hasAdjunct',
878
- align: 'center',
879
- showOverflowTooltip: true,
880
- width: this.theadWidth.hasAdjunct || 70,
881
- render: (h, params) => {
882
- if (params.row.hasAdjunct) {
883
- return h('span', {
884
- style: _that.attachmentPaperClipCssStyle
885
- ? _that.attachmentPaperClipCssStyle
886
- : { color: 'red', fontSize: '20px' },
887
- class: 'iconfont es-icon-fujian'
888
- });
889
- } else {
890
- return h('span', {}, '');
891
- }
892
- }
893
- },
894
- {
895
- label: '时间',
896
- field: 'doetime',
897
- align: 'center',
898
- key: 'sj',
899
- showOverflowTooltip: true,
900
- width: this.theadWidth.doetime || 150,
901
- render: (h, params) => {
902
- return h(
903
- 'span',
904
- {},
905
- params.row.doetime
906
- ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
907
- : ''
908
- );
909
- }
910
- },
911
- {
912
- label: '代办人',
913
- field: 'douserid',
914
- align: 'center',
915
- key: 'dbr',
916
- showOverflowTooltip: true,
917
- width: this.theadWidth.douserid || 80,
918
- hide: _that.flowTableInfo.hasAgent != '1'
919
- },
920
- {
921
- label: '催办',
922
- field: 'pressTimes',
923
- align: 'center',
924
- key: 'cb',
925
- showOverflowTooltip: true,
926
- width: this.theadWidth.pressTimes || 150,
927
- render: (h, params) => {
928
- return h(
929
- 'span',
930
- { style: 'color:deepskyblue;cursor: pointer;' },
931
- params.row.pressTimes != 0 ? params.row.pressTimes : ''
932
- );
933
- }
934
- },
935
- {
936
- title: '操作',
937
- type: 'handle',
938
- width: this.modify ? '130' : '100',
939
- template: '',
940
- hide: this.hideBtn || (!this.canDelete && !this.modify),
941
- events: [
942
- {
943
- text: '删除',
944
- rules: (rows) => {
945
- return rows.canDelete || this.canDelete;
946
- }
947
- },
948
- {
949
- text: '修改',
950
- rules: (rows) => {
951
- return this.modify && rows.pendstate == 2;
952
- }
953
- }
954
- ]
955
- }
956
- ],
957
- preset: this.thead,
958
- splitReading: [
959
- {
960
- label: '经办部门',
961
- field: 'deptid',
962
- key: 'jbbm',
963
- align: 'center',
964
- showOverflowTooltip: true,
965
- width: this.theadWidth.deptid || 150
966
- },
967
- {
968
- label: '步骤',
969
- field: 'itemname',
970
- align: 'center',
971
- key: 'bz',
972
- showOverflowTooltip: true,
973
- width: this.theadWidth.itemname || 110
974
- },
975
- {
976
- label: '办理人',
977
- field: 'userName',
978
- align: 'center',
979
- key: 'blr',
980
- showOverflowTooltip: true,
981
- width: this.theadWidth.userName || 110
982
- },
983
- {
984
- label: '状态',
985
- field: 'pendstate',
986
- align: 'center',
987
- key: 'zt',
988
- showOverflowTooltip: true,
989
- width: this.theadWidth.pendstate || 80,
990
- render: (h, params) => {
991
- return h('span', {
992
- style: {
993
- color:
994
- params.row.pendstate == 0 || params.row.pendstate == 3
995
- ? 'red'
996
- : params.row.pendstate == 1
997
- ? 'green'
998
- : params.row.pendstate == -1
999
- ? 'orange'
1000
- : 'deepskyblue'
1001
- },
1002
- domProps: { innerHTML: params.row.querykeywords }
1003
- });
1004
- }
1005
- },
1006
- {
1007
- label: '办理意见',
1008
- field: 'doresult',
1009
- align: 'center',
1010
- key: 'blyj',
1011
- width: this.theadWidth.doresult,
1012
- showOverflowTooltip: true,
1013
- render: (h, params) => {
1014
- if (
1015
- params.row.doresult &&
1016
- (params.row.doresult.startsWith('http') ||
1017
- params.row.doresult.startsWith('https'))
1018
- ) {
1019
- return h('img', {
1020
- attrs: { src: params.row.doresult },
1021
- style: { width: '100px', height: '100px' }
1022
- });
1023
- } else {
1024
- return h('span', {}, [
1025
- params.row.doresult
1026
- ? params.row.doresult + (params.row.handleInfo ? '&' : '')
1027
- : '',
1028
- h(
1029
- 'span',
1030
- { style: { color: '#A5A5A5', marginLeft: '2px' } },
1031
- params.row.handleInfo || ''
1032
- )
1033
- ]);
1034
- }
1035
- }
1036
- },
1037
- {
1038
- label: '验签',
1039
- field: 'authTypeStr',
1040
- align: 'center',
1041
- key: 'yq',
1042
- showOverflowTooltip: true,
1043
- width: this.theadWidth.authTypeStr || 70,
1044
- render: (h, params) => {
1045
- return h(
1046
- 'span',
1047
- { style: { color: 'deepskyblue' } },
1048
- params.row.authTypeStr
1049
- );
1050
- }
1051
- },
1052
- {
1053
- label: '附件',
1054
- field: 'hasAdjunct',
1055
- align: 'center',
1056
- key: 'fj',
1057
- showOverflowTooltip: true,
1058
- width: this.theadWidth.hasAdjunct || 70,
1059
- render: (h, params) => {
1060
- if (params.row.hasAdjunct) {
1061
- return h('span', {
1062
- style: _that.attachmentPaperClipCssStyle
1063
- ? _that.attachmentPaperClipCssStyle
1064
- : { color: 'red', fontSize: '20px' },
1065
- class: 'iconfont es-icon-fujian'
1066
- });
1067
- } else {
1068
- return h('span', {}, '');
1069
- }
1070
- }
1071
- },
1072
- {
1073
- label: '时间',
1074
- field: 'doetime',
1075
- align: 'center',
1076
- key: 'sj',
1077
- showOverflowTooltip: true,
1078
- width: this.theadWidth.doetime || 150,
1079
- render: (h, params) => {
1080
- return h(
1081
- 'span',
1082
- {},
1083
- params.row.doetime
1084
- ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
1085
- : ''
1086
- );
1087
- }
1088
- },
1089
- {
1090
- label: '代办人',
1091
- field: 'douserid',
1092
- align: 'center',
1093
- key: 'dbr',
1094
- showOverflowTooltip: true,
1095
- width: this.theadWidth.douserid || 80,
1096
- hide: _that.flowTableInfo.hasAgent != '1'
1097
- },
1098
- {
1099
- label: '催办',
1100
- field: 'pressTimes',
1101
- align: 'center',
1102
- key: 'cb',
1103
- showOverflowTooltip: true,
1104
- width: this.theadWidth.pressTimes || 150,
1105
- render: (h, params) => {
1106
- return h(
1107
- 'span',
1108
- { style: 'color:deepskyblue;cursor: pointer;' },
1109
- params.row.pressTimes != 0 ? params.row.pressTimes : ''
1110
- );
1111
- }
1112
- },
1113
- {
1114
- title: '操作',
1115
- type: 'handle',
1116
- width: '100',
1117
- template: '',
1118
- hide: this.hideBtn || (!this.canDelete && !this.modify),
1119
- events: [
1120
- {
1121
- text: '删除',
1122
- rules: (rows) => {
1123
- return rows.canDelete || this.canDelete;
1124
- }
1125
- }
1126
- ]
1127
- }
1128
- ],
1129
- circular: [
1130
- {
1131
- label: '发起人',
1132
- field: 'circularReadInitiatorName',
1133
- align: 'center',
1134
- key: 'fqr',
1135
- showOverflowTooltip: true,
1136
- width: this.theadWidth.circularReadInitiatorName || 150
1137
- },
1138
- {
1139
- label: '传阅部门',
1140
- field: 'circularReadOrgName',
1141
- align: 'center',
1142
- key: 'cybm',
1143
- showOverflowTooltip: true,
1144
- width: this.theadWidth.circularReadOrgName || 110
1145
- },
1146
- {
1147
- label: '传阅人',
1148
- field: 'userName',
1149
- align: 'center',
1150
- key: 'cyr',
1151
- showOverflowTooltip: true,
1152
- width: this.theadWidth.userName || 110
1153
- },
1154
- {
1155
- label: '步骤',
1156
- field: 'itemname',
1157
- align: 'center',
1158
- showOverflowTooltip: true,
1159
- key: 'bz',
1160
- width: this.theadWidth.itemname || 110
1161
- },
1162
- {
1163
- label: '状态',
1164
- field: 'pendstate',
1165
- key: 'zt',
1166
- align: 'center',
1167
- showOverflowTooltip: true,
1168
- width: this.theadWidth.pendstate || 140,
1169
- render: (h, params) => {
1170
- return h('span', {
1171
- style: {
1172
- color:
1173
- params.row.pendstate == 0 || params.row.pendstate == 3
1174
- ? 'red'
1175
- : params.row.pendstate == 1
1176
- ? 'green'
1177
- : params.row.pendstate == -1
1178
- ? 'orange'
1179
- : 'deepskyblue',
1180
- cursor: this.hasCircularReadWithdrawAuthority
1181
- ? 'pointer'
1182
- : 'unset'
1183
- },
1184
- domProps: {
1185
- innerHTML:
1186
- params.row.querykeywords +
1187
- (this.hasCircularReadWithdrawAuthority
1188
- ? `<span style="color:#7AB0D5">(撤回)</span>`
1189
- : '')
1190
- }
1191
- });
1192
- }
1193
- },
1194
- {
1195
- label: '送达时间',
1196
- field: 'createtime',
1197
- align: 'center',
1198
- key: 'sdsj',
1199
- showOverflowTooltip: true,
1200
- width: this.theadWidth.createtime || 170
1201
- },
1202
- {
1203
- label: '办理时间',
1204
- field: 'doetime',
1205
- align: 'center',
1206
- key: 'blsj',
1207
- showOverflowTooltip: true,
1208
- width: this.theadWidth.doetime || 150
1209
- },
1210
-
1211
- {
1212
- label: '附件',
1213
- key: 'fj',
1214
- field: 'hasAdjunct',
1215
- align: 'center',
1216
- showOverflowTooltip: true,
1217
- width: this.theadWidth.hasAdjunct || 70,
1218
- render: (h, params) => {
1219
- if (params.row.hasAdjunct) {
1220
- return h('span', {
1221
- style: _that.attachmentPaperClipCssStyle
1222
- ? _that.attachmentPaperClipCssStyle
1223
- : { color: 'red', fontSize: '20px' },
1224
- class: 'iconfont es-icon-fujian'
1225
- });
1226
- } else {
1227
- return h('span', {}, '');
1228
- }
1229
- }
1230
- },
1231
- {
1232
- label: '提醒',
1233
- field: 'pressTimes',
1234
- align: 'center',
1235
- key: 'tx',
1236
- showOverflowTooltip: true,
1237
- width: this.theadWidth.pressTimes || 150,
1238
- render: (h, params) => {
1239
- return h(
1240
- 'span',
1241
- { style: 'color:deepskyblue;cursor: pointer;' },
1242
- params.row.pressTimes
1243
- );
1244
- }
1245
- },
1246
- {
1247
- label: '阅结意见 & 说明',
1248
- field: 'doresult',
1249
- align: 'center',
1250
- width: this.theadWidth.doresult,
1251
- showOverflowTooltip: true,
1252
- key: 'blyj',
1253
- render: (h, params) => {
1254
- if (
1255
- params.row.doresult &&
1256
- (params.row.doresult.startsWith('http') ||
1257
- params.row.doresult.startsWith('https'))
1258
- ) {
1259
- return h('img', {
1260
- attrs: { src: params.row.doresult },
1261
- style: { width: '100px', height: '100px' }
1262
- });
1263
- } else {
1264
- return h('span', {}, [
1265
- params.row.doresult
1266
- ? params.row.doresult + (params.row.handleInfo ? '&' : '')
1267
- : '',
1268
- h(
1269
- 'span',
1270
- { style: { color: '#A5A5A5', marginLeft: '2px' } },
1271
- params.row.handleInfo || ''
1272
- )
1273
- ]);
1274
- }
1275
- }
1276
- }
1277
- ],
1278
- untreatedRead: [
1279
- {
1280
- label: '步骤',
1281
- field: 'itemid',
1282
- align: 'center',
1283
- key: 'bz',
1284
- showOverflowTooltip: true,
1285
- width: this.theadWidth.itemid || 110
1286
- },
1287
- {
1288
- label: '办理人',
1289
- field: 'userName',
1290
- align: 'center',
1291
- key: 'blr',
1292
- showOverflowTooltip: true,
1293
- width: this.theadWidth.userName
1294
- },
1295
- {
1296
- label: '办理状态',
1297
- field: 'pendstate',
1298
- key: 'blzt',
1299
- align: 'center',
1300
- showOverflowTooltip: true,
1301
- width: this.theadWidth.pendstate || 110,
1302
- render: (h, params) => {
1303
- return h('span', {
1304
- style: {
1305
- color:
1306
- params.row.pendstate == 0 || params.row.pendstate == 3
1307
- ? 'red'
1308
- : params.row.pendstate == 1
1309
- ? 'green'
1310
- : 'deepskyblue'
1311
- },
1312
- domProps: { innerHTML: params.row.querykeywords }
1313
- });
1314
- }
1315
- },
1316
- {
1317
- label: '创建时间',
1318
- field: 'createtime',
1319
- align: 'center',
1320
- key: 'cjsj',
1321
- showOverflowTooltip: true,
1322
- width: this.theadWidth.createtime || 150,
1323
- render: (h, params) => {
1324
- return h(
1325
- 'span',
1326
- {},
1327
- params.row.doetime
1328
- ? util.formatDate(params.row.createtime, 'yyyy-MM-dd HH:mm')
1329
- : ''
1330
- );
1331
- }
1332
- }
1333
- ],
1334
- processedRead: [
1335
- {
1336
- label: '步骤',
1337
- field: 'itemid',
1338
- align: 'center',
1339
- key: 'bz',
1340
- showOverflowTooltip: true,
1341
- width: this.theadWidth.itemid || 110
1342
- },
1343
- {
1344
- label: '办理人',
1345
- field: 'userName',
1346
- align: 'center',
1347
- key: 'blr',
1348
- showOverflowTooltip: true,
1349
- width: this.theadWidth.userName
1350
- },
1351
- {
1352
- label: '办理状态',
1353
- field: 'pendstate',
1354
- key: 'blzt',
1355
- align: 'center',
1356
- showOverflowTooltip: true,
1357
- width: this.theadWidth.pendstate || 110,
1358
- render: (h, params) => {
1359
- return h('span', {
1360
- style: {
1361
- color:
1362
- params.row.pendstate == 0 || params.row.pendstate == 3
1363
- ? 'red'
1364
- : params.row.pendstate == 1
1365
- ? 'green'
1366
- : 'deepskyblue'
1367
- },
1368
- domProps: { innerHTML: params.row.querykeywords }
1369
- });
1370
- }
1371
- },
1372
- {
1373
- label: '办理时间',
1374
- field: 'doetime',
1375
- align: 'center',
1376
- key: 'blsj',
1377
- showOverflowTooltip: true,
1378
- width: this.theadWidth.doetime || 150,
1379
- render: (h, params) => {
1380
- return h(
1381
- 'span',
1382
- {},
1383
- params.row.doetime
1384
- ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
1385
- : ''
1386
- );
1387
- }
1388
- },
1389
- {
1390
- label: '代办人',
1391
- field: 'douserid',
1392
- align: 'center',
1393
- key: 'dbr',
1394
- showOverflowTooltip: true,
1395
- width: this.theadWidth.douserid
1396
- },
1397
- {
1398
- label: '意见',
1399
- field: 'doresult',
1400
- align: 'center',
1401
- key: 'yj',
1402
- showOverflowTooltip: true,
1403
- width: this.theadWidth.doresult
1404
- }
1405
- ]
1406
- };
1407
- if (this.numbers) {
1408
- for (let key in newThead) {
1409
- newThead[key].unshift({
1410
- label: '序号',
1411
- field: 'sort',
1412
- align: 'center',
1413
- key: 'xh',
1414
- showOverflowTooltip: true,
1415
- width: 50
1416
- });
1417
- }
1418
- }
1419
- return newThead;
1420
- },
1421
- content() {
1422
- const _that = this;
1423
- let newContents = JSON.parse(JSON.stringify(this.contents));
1424
- if (this.contents.indexOf('circular') != -1) {
1425
- newContents = newContents.filter((item) => item != 'splitReading');
1426
- }
1427
- if (newContents.indexOf('readingSituation') != -1) {
1428
- newContents = ['untreatedRead', 'processedRead'];
1429
- }
1430
- let contents = newContents.map((item) => {
1431
- if (typeof item === 'string') {
1432
- let data = [];
1433
- if (_that.headFields.length > 0) {
1434
- _that.headFields.map((headFiled) => {
1435
- if (headFiled.showDefault) {
1436
- _that.theads[item].map((theadItem) => {
1437
- if (theadItem.field === headFiled.field) {
1438
- data.push({ ...theadItem, ...headFiled });
1439
- }
1440
- });
1441
- } else {
1442
- data.push(headFiled);
1443
- }
1444
- });
1445
- _that.theads[item].map((x) => {
1446
- if (x.type == 'handle') {
1447
- data.push(x);
1448
- }
1449
- });
1450
- }
1451
- return {
1452
- type: item,
1453
- checkbox: newContents.indexOf('untreatedRead') != -1,
1454
- toolbar: this.toolbars[item],
1455
- thead: data.length > 0 ? data : this.theads[item],
1456
- showFormBtn: false
1457
- };
1458
- } else {
1459
- if (!Object.prototype.hasOwnProperty.call(item, 'toolbar')) {
1460
- let toolbars = this.toolbars[item.type];
1461
- return { ...item, toolbars };
1462
- }
1463
- if (!Object.prototype.hasOwnProperty.call(item, 'thead')) {
1464
- let thead = this.theads[item.type];
1465
- return { ...item, thead };
1466
- }
1467
- return item;
1468
- }
1469
- });
1470
- return contents;
1471
- },
1472
- newToolbar() {
1473
- if (this.toolbar && this.toolbar.length > 0) {
1474
- return this.toolbar;
1475
- } else {
1476
- return [];
1477
- }
1478
- },
1479
- thead() {
1480
- let table = [
1481
- {
1482
- title: '步骤',
1483
- align: 'center',
1484
- width: this.theadWidth.nodeName || '100',
1485
- field: 'nodeName'
1486
- },
1487
- {
1488
- title: '预设办理人',
1489
- width: this.theadWidth.presetUserName || '120',
1490
- align: 'center',
1491
- field: 'presetUserName'
1492
- },
1493
- {
1494
- title: '是否可编辑',
1495
- key: 'sfkbj',
1496
- align: 'center',
1497
- width: this.theadWidth.isEdit || '100',
1498
- render: (h, params) => {
1499
- return h('span', this.getCodeValue(params.row.isEdit, 'is_edit'));
1500
- },
1501
- field: 'isEdit'
1502
- },
1503
- {
1504
- key: 'zt',
1505
- title: '状态',
1506
- width: this.theadWidth.statusName || '80',
1507
- align: 'center',
1508
- field: 'statusName'
1509
- },
1510
- {
1511
- title: '预设类型',
1512
- key: 'yslx',
1513
- width: this.theadWidth.presetType || '120',
1514
- align: 'center',
1515
- render: (h, params) => {
1516
- return h(
1517
- 'span',
1518
- this.getCodeValue(params.row.presetType, 'preset_type')
1519
- );
1520
- },
1521
- field: 'presetType'
1522
- },
1523
- {
1524
- title: '流程名称',
1525
- key: 'lcmc',
1526
- width: this.theadWidth.processDefName,
1527
- align: 'center',
1528
- field: 'processDefName'
1529
- },
1530
- {
1531
- title: '上一步骤',
1532
- key: 'sybz',
1533
- align: 'center',
1534
- width: this.theadWidth.lastNodeName,
1535
- field: 'lastNodeName'
1536
- },
1537
- {
1538
- title: '创建步骤',
1539
- key: 'cjbz',
1540
- align: 'center',
1541
- width: this.theadWidth.operationNodeName,
1542
- field: 'operationNodeName'
1543
- },
1544
- {
1545
- title: '创建人',
1546
- key: 'cjr',
1547
- width: this.theadWidth.creatorName || '120',
1548
- align: 'center',
1549
- field: 'creatorName'
1550
- },
1551
- {
1552
- title: '创建时间',
1553
- width: this.theadWidth.createTime || '150',
1554
- key: 'cjsj',
1555
- align: 'center',
1556
- render: (h, params) => {
1557
- return h(
1558
- 'span',
1559
- util.formatDate(params.row.createTime, 'yyyy-MM-dd HH:mm')
1560
- );
1561
- },
1562
- field: 'createTime'
1563
- },
1564
- {
1565
- title: '操作区域',
1566
- type: 'handle',
1567
- align: 'center',
1568
- width: '120',
1569
- events: [
1570
- {
1571
- text: '置为失效'
1572
- }
1573
- ]
1574
- }
1575
- ];
1576
- if (
1577
- this.presetInfoListHiddenColumns != undefined &&
1578
- this.presetInfoListHiddenColumns != ''
1579
- ) {
1580
- table = table.filter(
1581
- (items) => this.presetInfoListHiddenColumns.indexOf(items.key) == -1
1582
- );
1583
- }
1584
- if (!this.canDelete) table.splice(table.length - 1, 1);
1585
- return table;
1586
- }
1587
- },
1588
- async mounted() {
1589
- this.loading = util.loading(this.$loading, '加载中...');
1590
- if (this.contents.indexOf('readingSituation') != -1) {
1591
- await this.getFyListJson(1);
1592
- await this.getFyListJson(2);
1593
- this.getListCount(this.flowListCount);
1594
- this.show = true;
1595
- } else {
1596
- this.getFlowList();
1597
- }
1598
- this.getSysInfo('preset_type');
1599
- this.getSysInfo('is_edit');
1600
- this.getListInfo();
1601
- },
1602
-
1603
- methods: {
1604
- /**
1605
- * handleBatchDelete
1606
- * @desc:批量删除
1607
- * @author liufan
1608
- * @date 2025年12月31日
1609
- **/
1610
- handleBatchDelete(){
1611
- if(this.batchDeleteSelectList.length == 0){
1612
- this.$message.error('请选择需要删除的流程历史数据!');
1613
- return;
1614
- }
1615
- if(!this.batchdeletereason){
1616
- this.$message.error('请输入批量删除的原因!');
1617
- return;
1618
- }
1619
- let ids = this.batchDeleteSelectList.map(item => item.id).join(',');
1620
- let params = {
1621
- url:batchDelete,
1622
- method: 'POST',
1623
- data: { ids,reason:this.batchdeletereason }
1624
- };
1625
- this.$confirm('您确定要批量删除勾选上的流程历史数据吗?', {
1626
- confirmButtonText: '确定',
1627
- cancelButtonText: '取消',
1628
- type: 'warning'
1629
- })
1630
- .then(() => {
1631
- this.loading = util.loading(this.$loading, '批量删除中...');
1632
- util
1633
- .ajax(params)
1634
- .then((res) => {
1635
- this.loading.close();
1636
- if (res.rCode == 0 || res.status == 'success') {
1637
- this.flowData = this.flowData.filter(item => ids.indexOf(item.id) == -1);
1638
- this.batchdeleteTableList = this.flowData.filter((x) => x.pendstate == 2)
1639
- this.batchdeletereason='';
1640
- this.show = false
1641
- setTimeout(() => {
1642
- this.show = true;
1643
- }, 0);
1644
- this.$message({
1645
- message: '删除成功',
1646
- type: 'success'
1647
- });
1648
- }else{
1649
- this.$message.error(res.message);
1650
- }
1651
- })
1652
- .catch((err) => {
1653
- this.loading.close();
1654
- if (err.message && err.message !== 'canceled') {
1655
- this.$message.error(err.message);
1656
- }
1657
- }); }).catch(() => {});
1658
-
1659
-
1660
- },
1661
- handleBtnShowClick(val) {
1662
- const { handle, row } = val;
1663
- if (handle.text == '恢复') {
1664
- let params = {
1665
- url: restoredHistory,
1666
- params: {
1667
- id: row.id
1668
- }
1669
- };
1670
- this.$confirm('您确定要恢复这条办理历史吗?', {
1671
- confirmButtonText: '确定',
1672
- cancelButtonText: '取消',
1673
- type: 'warning'
1674
- })
1675
- .then(() => {
1676
- this.loading = util.loading(this.$loading, '恢复中...');
1677
- util.ajax(params).then((res) => {
1678
- this.loading.close();
1679
- if (res.rCode == 0 || res.status == 'success') {
1680
- this.getDeletList();
1681
- this.getFlowList();
1682
- this.$message({
1683
- message: '恢复成功',
1684
- type: 'success'
1685
- });
1686
- }
1687
- });
1688
- // _that.subMit(res.results,type)
1689
- })
1690
- .catch(() => {});
1691
- }
1692
- },
1693
- recallReadFun() {
1694
- const _that = this;
1695
- let pendingIds = _that.selectList.map((x) => x.id).join(',');
1696
- let params = {
1697
- url: taskReadWithDraw,
1698
- params: {
1699
- pendingIds
1700
- }
1701
- };
1702
- _that.loading = util.loading(_that.$loading, '撤销中...');
1703
- util.ajax(params).then(async (res) => {
1704
- _that.loading.close();
1705
- if (res.rCode == 0 || res.status == 'success') {
1706
- _that.$message.success('撤销成功!');
1707
- await _that.getFyListJson(1);
1708
- _that.getListCount(_that.flowListCount);
1709
- } else {
1710
- _that.$message.error(res.message);
1711
- }
1712
- });
1713
- },
1714
- recallRead() {
1715
- if (this.selectList.length == 0)
1716
- return this.$message.warning('请选择需要撤销的分阅');
1717
- this.$confirm('是否确认撤销选中的分阅?', '提示', {
1718
- confirmButtonText: '确定',
1719
- cancelButtonText: '取消',
1720
- type: 'warning'
1721
- }).then(() => {
1722
- this.recallReadFun();
1723
- });
1724
- },
1725
- handleSelectionChange(val,type) {
1726
- if(type == 'batchDelete'){
1727
- this.batchDeleteSelectList = val
1728
- }else{
1729
- this.selectList = val;
1730
- }
1731
- },
1732
- handledraw(pendedHistoryId) {
1733
- let params = {
1734
- url: circularReadWithdraw,
1735
- params: { pendedHistoryId }
1736
- };
1737
- this.$confirm('是否确定撤回当前传阅', {
1738
- confirmButtonText: '确定',
1739
- cancelButtonText: '取消',
1740
- type: 'warning'
1741
- })
1742
- .then(() => {
1743
- this.loading = util.loading(this.$loading, '撤回中...');
1744
- util.ajax(params).then((res) => {
1745
- this.loading.close();
1746
- if (res.rCode == 0) {
1747
- this.$message({
1748
- message: '撤回成功',
1749
- type: 'success'
1750
- });
1751
- this.getCircularReadList();
1752
- }
1753
- });
1754
- // _that.subMit(res.results,type)
1755
- })
1756
- .catch(() => {});
1757
- },
1758
- getCircularReadList() {
1759
- const _that = this;
1760
- let params = {
1761
- url: pendedhistoryListWithCircularReadJson,
1762
- params: { apprecordid: _that.businessId }
1763
- };
1764
- util.ajax(params).then((res) => {
1765
- if (res.status == 'success' || res.rCode == 0) {
1766
- _that.circularData = res.data.fyHistoryList;
1767
- _that.circularData.map((x, i) => {
1768
- x.sort = i + 1;
1769
- });
1770
- _that.hasCircularReadWithdrawAuthority =
1771
- res.data.hasCircularReadWithdrawAuthority;
1772
- _that.$nextTick(() => {
1773
- _that.getListCount(_that.flowListCount);
1774
- });
1775
- }
1776
- });
1777
- },
1778
- returnData(type) {
1779
- switch (type) {
1780
- case 'preset':
1781
- this.flowListCount.preset = this.presetData.length;
1782
- this.flowListCount.presetData = this.presetData;
1783
- return this.presetData;
1784
- case 'sign':
1785
- this.flowListCount.sign = this.signData.length;
1786
- this.flowListCount.signData = this.signData;
1787
- return this.signData;
1788
- case 'splitReading':
1789
- this.flowListCount.splitReading = this.splitReadingData.length;
1790
- this.flowListCount.splitReadingData = this.splitReadingData;
1791
- return this.splitReadingData;
1792
- case 'circular':
1793
- this.flowListCount.circular = this.circularData.length;
1794
- this.flowListCount.circularData = this.circularData;
1795
- return this.circularData;
1796
- case 'untreatedRead':
1797
- this.flowListCount.untreatedRead = this.untreatedReadData.length;
1798
- this.flowListCount.untreatedReadData = this.untreatedReadData;
1799
- return this.untreatedReadData;
1800
- case 'processedRead':
1801
- this.flowListCount.processedRead = this.processedReadData.length;
1802
- this.flowListCount.processedReadData = this.processedReadData;
1803
- return this.processedReadData;
1804
- default:
1805
- this.flowListCount.flow = this.flowData.length;
1806
- this.flowListCount.flowData = this.flowData;
1807
- return this.flowData;
1808
- }
1809
- },
1810
- handleCellClick(row, column) {
1811
- if (column.property == 'hasAdjunct' && row.hasAdjunct) {
1812
- this.showFile(row.wfpendingid);
1813
- } else if (column.property == 'pressTimes') {
1814
- if (row.pressTimes != 0) {
1815
- this.goPress(row.id);
1816
- }
1817
- } else if (
1818
- column.property == 'pendstate' &&
1819
- this.hasCircularReadWithdrawAuthority
1820
- ) {
1821
- this.handledraw(row.id);
1822
- }
1823
- },
1824
- handleBtnClick(data) {
1825
- // recallRead
1826
- const { handle, row } = data;
1827
- if (handle.text == '删除' || handle.text == '修改') {
1828
- this.formData.reason = handle.text == '修改' ? row.doresult : '';
1829
- this.del(row.id, handle.text == '删除' ? 'del' : 'modify');
1830
- } else if (handle.fun == 'recallRead') {
1831
- this[handle.fun]();
1832
- }else if(handle.text == '置为失效'){
1833
- if (row.status == 0) {
1834
- this.$confirm('您确定要置为失效吗?')
1835
- .then(() => {
1836
- this.loading = util.loading(this.$loading, '提交中...');
1837
- let param = {
1838
- url: deletePresetInfo,
1839
- headers: { Accept: 'application/json,text/plain' },
1840
- method: 'post',
1841
- data: { id:row.id }
1842
- };
1843
- util
1844
- .ajax(param)
1845
- .then((res) => {
1846
- const { status, message } = res;
1847
- this.loading.close();
1848
- if (status === 'success') {
1849
- this.$message.success('操作成功');
1850
- this.getListInfo();
1851
- } else {
1852
- this.$message.error(message || '系统错误,请联系管理员!');
1853
- }
1854
- })
1855
- .catch((err) => {
1856
- this.loading.close();
1857
- if (err.message && err.message !== 'canceled') {
1858
- this.$message.error(err.message);
1859
- }
1860
- });
1861
- })
1862
- .catch((e) => {
1863
- // on cancel
1864
- });
1865
- } else {
1866
- this.$message.warning('当前数据已为失效状态');
1867
- }
1868
- }
1869
- },
1870
- /**
1871
- * handleFormSubmit
1872
- * @desc:删除节点点击事件
1873
- * @param {Object} formData 点击删除的form数据
1874
- * @author liufan
1875
- * @date 2022年11月29日
1876
- **/
1877
- handleFormSubmit(formData) {
1878
- this.delLoading = true;
1879
- let params = {
1880
- url: this.modalType == 'del' ? deleteFlow : modifyFlow,
1881
- method: 'POST',
1882
- data: { id: this.historyId, reason: formData.reason }
1883
- };
1884
- if (this.modalType != 'del') {
1885
- delete params.data.reason;
1886
- params.data.doResult = formData.reason;
1887
- params.data.doresult = formData.reason;
1888
- }
1889
- util
1890
- .ajax(params)
1891
- .then((res) => {
1892
- const { status, message } = res;
1893
- this.delLoading = false;
1894
- if (status === 'success') {
1895
- this.$message.success(
1896
- `${this.modalType == 'del' ? '删除' : '修改'}成功`
1897
- );
1898
- this.showDel = false;
1899
- this.handleChange();
1900
- } else {
1901
- this.$message.error(message || '系统错误,请联系管理员!');
1902
- }
1903
- })
1904
- .catch((err) => {
1905
- this.delLoading = false;
1906
- if (err.message && err.message !== 'canceled') {
1907
- this.$message.error(err.message);
1908
- }
1909
- });
1910
- },
1911
- /**
1912
- * del
1913
- * @desc:展示删除弹窗
1914
- * @param {String} id 当前点击数据id
1915
- * @author liufan
1916
- * @date 2022年11月29日
1917
- **/
1918
- del(id, type) {
1919
- this.modalType = type;
1920
- this.historyId = id;
1921
- this.showDel = true;
1922
- },
1923
- /**
1924
- * handleCurrentChange
1925
- * @desc:监听页码变化
1926
- * @param {String} val 当前页
1927
- * @author liufan
1928
- * @date 2022年11月29日
1929
- **/
1930
- handleCurrentChange(val, type) {
1931
- this.currentPage = val;
1932
- if (type == 'press') {
1933
- this.getPressList();
1934
- }
1935
- },
1936
- /**
1937
- * handleSizeChange
1938
- * @desc:监听每页数据显示数量变化
1939
- * @param {String} val 每页展示数量
1940
- * @author liufan
1941
- * @date 2022年11月29日
1942
- **/
1943
- handleSizeChange(val) {
1944
- this.pageSize = val;
1945
- if (type == 'press') {
1946
- this.getPressList();
1947
- }
1948
- },
1949
- /**
1950
- * sortChange
1951
- * @desc:监听排序变化
1952
- * @param {Object} info 需要排序的字段及排序方式
1953
- * @author liufan
1954
- * @date 2022年11月29日
1955
- **/
1956
- sortChange(info, type) {
1957
- let { prop } = info;
1958
- this.sidx = prop;
1959
- this.sord = this.sord == 'asc' ? 'desc' : 'asc';
1960
- if (type == 'press') {
1961
- this.getPressList();
1962
- } else if (type == 'reset') {
1963
- this.getResetList();
1964
- } else if (type == 'delete') {
1965
- this.getDeletList();
1966
- }
1967
- },
1968
- /**
1969
- * getDeletList
1970
- * @desc:删除列表数据
1971
- * @author liufan
1972
- * @date 2025年12月30日
1973
- **/
1974
- getDeletList() {
1975
- const { pageSize, sidx, sord, currentPage, businessId } = this;
1976
- this.deleteLoading = true;
1977
- let params = {
1978
- url: deletedListJson + '?apprecordId=' + businessId,
1979
- method: 'POST',
1980
- data: { page: currentPage, rows: pageSize, sidx, sord }
1981
- };
1982
- util
1983
- .ajax(params)
1984
- .then((res) => {
1985
- this.deleteTableList = res.data;
1986
- this.total = res.totalrecords;
1987
- this.deleteLoading = false;
1988
- })
1989
- .catch((err) => {
1990
- this.deleteLoading = false;
1991
- if (err.message && err.message !== 'canceled') {
1992
- this.$message.error(err.message);
1993
- }
1994
- });
1995
- },
1996
- /**
1997
- * getResetList
1998
- * @desc:重设列表数据
1999
- * @author liufan
2000
- * @date 2025年12月30日
2001
- **/
2002
- getResetList() {
2003
- const { pageSize, sidx, sord, currentPage, businessId } = this;
2004
- this.resetLoading = true;
2005
- let params = {
2006
- url: resetJson + '?appRecordId=' + businessId,
2007
- params: { appRecordId: businessId },
2008
- method: 'POST',
2009
- data: { page: currentPage, rows: pageSize, sidx, sord }
2010
- };
2011
- util
2012
- .ajax(params)
2013
- .then((res) => {
2014
- this.resetTableList = res.data;
2015
- this.total = res.totalrecords;
2016
- this.resetLoading = false;
2017
- })
2018
- .catch((err) => {
2019
- this.resetLoading = false;
2020
- if (err.message && err.message !== 'canceled') {
2021
- this.$message.error(err.message);
2022
- }
2023
- });
2024
- },
2025
- /**
2026
- * getPressList
2027
- * @desc:催办列表数据
2028
- * @author liufan
2029
- * @date 2022年11月29日
2030
- **/
2031
- getPressList() {
2032
- const { historyId, pageSize, sidx, sord, currentPage } = this;
2033
- this.pressLoading = true;
2034
- let params = {
2035
- url: pressListJson,
2036
- params: { historyId },
2037
- method: 'POST',
2038
- data: { page: currentPage, rows: pageSize, sidx, sord, historyId }
2039
- };
2040
- util
2041
- .ajax(params)
2042
- .then((res) => {
2043
- this.pressTableList = res.data;
2044
- this.total = res.totalrecords;
2045
- this.pressLoading = false;
2046
- })
2047
- .catch((err) => {
2048
- this.pressLoading = false;
2049
- if (err.message && err.message !== 'canceled') {
2050
- this.$message.error(err.message);
2051
- }
2052
- });
2053
- },
2054
- /**
2055
- * goPress
2056
- * @desc:催办列表查看
2057
- * @param {String} id 催办列表id
2058
- * @author liufan
2059
- * @date 2022年11月29日
2060
- **/
2061
- goPress(id) {
2062
- this.historyId = id;
2063
- this.showPress = true;
2064
- this.getPressList();
2065
- },
2066
- /**
2067
- * showFile
2068
- * @desc:附件查看
2069
- * @param {String} ownId 附件id
2070
- * @author liufan
2071
- * @date 2022年11月29日
2072
- **/
2073
- showFile(ownId) {
2074
- this.wfpendingid = ownId;
2075
- this.showFileList = true;
2076
- },
2077
- /**
2078
- * handleChange
2079
- * @desc:切换排序方式
2080
- * @author liufan
2081
- * @date 2022年11月22日
2082
- **/
2083
- handleChange(key, value) {
2084
- if (value) {
2085
- this[key] = value;
2086
- }
2087
- // this.show = false;
2088
- this.loading = util.loading(this.$loading, '加载中...');
2089
- this.getFlowList();
2090
- },
2091
- async getFyListJson(type) {
2092
- let params = {
2093
- url: fyListJson,
2094
- params: {
2095
- appRecordId: this.businessId,
2096
- status: type
2097
- }
2098
- };
2099
- await util.ajax(params).then((res) => {
2100
- if (type == 1) {
2101
- this.untreatedReadData = res.data;
2102
- this.untreatedReadData.map((x, i) => {
2103
- x.sort = i + 1;
2104
- });
2105
- } else {
2106
- this.processedReadData = res.data;
2107
- this.processedReadData.map((x, i) => {
2108
- x.sort = i + 1;
2109
- });
2110
- }
2111
- });
2112
- },
2113
- /**
2114
- * getFlowList
2115
- * @desc:获取流程列表
2116
- * @author liufan
2117
- * @date 2022年11月22日
2118
- **/
2119
- getFlowList(type) {
2120
- let params = {
2121
- url: pendedhistoryListJson,
2122
- params: {
2123
- apprecordid: this.businessId,
2124
- pendingAttr: 0,
2125
- viewType: type || this.viewType,
2126
- showSuggest: this.showSuggest,
2127
- ...this.params
2128
- }
2129
- };
2130
- util
2131
- .ajax(params)
2132
- .then((res) => {
2133
- let {
2134
- status,
2135
- message,
2136
- data: {
2137
- adjunctCode,
2138
- wfHistoryList,
2139
- fyHistoryList,
2140
- hasAgent,
2141
- isShort,
2142
- modify,
2143
- canDelete,
2144
- canBatchDelete,
2145
- isSuperRole,
2146
- isShowReset,
2147
- taskReadName
2148
- }
2149
- } = res;
2150
- this.loading.close();
2151
- if (status == 'success') {
2152
- this.flowTableInfo.adjunctCode = adjunctCode;
2153
- this.flowTableInfo.hasAgent = hasAgent;
2154
- this.attachmentPaperClipCssStyle =
2155
- res.data.attachmentPaperClipCssStyle;
2156
- this.isShort = isShort;
2157
- this.taskReadName = taskReadName;
2158
- this.flowData = wfHistoryList;
2159
- this.flowData.map((x, i) => {
2160
- x.sort = i + 1;
2161
- if (!x.deptid) {
2162
- x.deptid = x.deptName;
2163
- }
2164
- });
2165
- this.splitReadingData = fyHistoryList;
2166
- this.splitReadingData.map((x, i) => {
2167
- x.sort = i + 1;
2168
- });
2169
- this.modify = modify;
2170
- this.canDelete = canDelete;
2171
- this.canBatchDelete = canBatchDelete;
2172
- this.isSuperRole = isSuperRole;
2173
- this.isShowReset = isShowReset;
2174
- this.show = true;
2175
- if (this.height == 'auto') {
2176
- this.$nextTick(() => {
2177
- this.content.map((x) => {
2178
- this[`${x.type}Height`] = this.$refs[x.type][0].offsetHeight;
2179
- });
2180
- });
2181
- }
2182
- if (this.contents.indexOf('circular') != -1) {
2183
- this.getCircularReadList();
2184
- } else {
2185
- this.$nextTick(() => {
2186
- this.getListCount(this.flowListCount);
2187
- });
2188
- }
2189
- } else {
2190
- this.$message.error(message || '系统错误,请联系管理员!');
2191
- }
2192
- })
2193
- .catch((err) => {
2194
- this.loading.close();
2195
- if (err.message && err.message !== 'canceled') {
2196
- this.$message.error(err.message);
2197
- }
2198
- this.show = true;
2199
- });
2200
- },
2201
- /**
2202
- * handleClick
2203
- * @desc:表单点击事件
2204
- * @param {Object} val 当前点击行数据及按钮
2205
- * @author liufan
2206
- * @date 2022年11月10日
2207
- **/
2208
- handleClick(val) {
2209
- const {
2210
- handle: { text },
2211
- row: { id, status }
2212
- } = val;
2213
- if (text === '置为失效') {
2214
- if (status == 0) {
2215
- this.$confirm('您确定要置为失效吗?')
2216
- .then(() => {
2217
- this.loading = util.loading(this.$loading, '提交中...');
2218
- let param = {
2219
- url: deletePresetInfo,
2220
- headers: { Accept: 'application/json,text/plain' },
2221
- method: 'post',
2222
- params: { id }
2223
- };
2224
- util
2225
- .ajax(param)
2226
- .then((res) => {
2227
- const { status, message } = res;
2228
- this.loading.close();
2229
- if (status === 'success') {
2230
- this.$message.success('操作成功');
2231
- this.getListInfo();
2232
- } else {
2233
- this.$message.error(message || '系统错误,请联系管理员!');
2234
- }
2235
- })
2236
- .catch((err) => {
2237
- this.loading.close();
2238
- if (err.message && err.message !== 'canceled') {
2239
- this.$message.error(err.message);
2240
- }
2241
- });
2242
- })
2243
- .catch((e) => {
2244
- // on cancel
2245
- });
2246
- } else {
2247
- this.$message.warning('当前数据已为失效状态');
2248
- }
2249
- }
2250
- },
2251
- /**
2252
- * getCodeValue
2253
- * @desc:获取代码表过滤后的值
2254
- * @param {String} value 展示数据的代码值
2255
- * @param {String} type 代码表类型
2256
- * @author liufan
2257
- * @date 2022年11月10日
2258
- **/
2259
- getCodeValue(value, type) {
2260
- let val = this[type].filter((item) => item.cciValue == value);
2261
- return val[0].shortName;
2262
- },
2263
- /**
2264
- * getSysInfo
2265
- * @desc:获取代码表
2266
- * @param {String} code 编码code值
2267
- * @author liufan
2268
- * @date 2022年11月10日
2269
- **/
2270
- getSysInfo(code) {
2271
- let params = {
2272
- url: findCodeValues,
2273
- params: { ccCode: code }
2274
- };
2275
- util
2276
- .ajax(params)
2277
- .then((res) => {
2278
- const { status, message, data } = res;
2279
- if (status == 'success') {
2280
- this[code] = data;
2281
- } else {
2282
- this.$message.error(message || '系统错误,请联系管理员!');
2283
- }
2284
- })
2285
- .catch((e) => {});
2286
- },
2287
- /**
2288
- * getListInfo
2289
- * @desc:获取预设列表数据
2290
- * @author liufan
2291
- * @date 2022年11月10日
2292
- **/
2293
- getListInfo() {
2294
- let param = {
2295
- url: toPresetInfoListIndex,
2296
- params: { apprecordid: this.businessId }
2297
- };
2298
- util
2299
- .ajax(param)
2300
- .then((res) => {
2301
- let {
2302
- status,
2303
- message,
2304
- data: {
2305
- presetInfoList,
2306
- presetInfoListHiddenColumns,
2307
- canDelete,
2308
- currentUserHasPresetInfoAuth
2309
- }
2310
- } = res;
2311
- this.loading.close();
2312
- if (status == 'success') {
2313
- if (presetInfoList) {
2314
- this.presetData = presetInfoList;
2315
- this.presetData.map((x, i) => {
2316
- x.sort = i + 1;
2317
- });
2318
- }
2319
- this.presetInfoListHiddenColumns = presetInfoListHiddenColumns;
2320
- this.currentUserHasPresetInfoAuth = currentUserHasPresetInfoAuth;
2321
- this.canDelete = canDelete;
2322
- } else {
2323
- this.$message.error(message || '系统错误,请联系管理员!');
2324
- }
2325
- })
2326
- .catch((err) => {
2327
- this.loading.close();
2328
- if (err.message && err.message !== 'canceled') {
2329
- this.$message.error(err.message);
2330
- }
2331
- });
2332
- }
2333
- }
2334
- };
2335
- </script>
2336
-
2337
- <style></style>
1
+ <template>
2
+ <div class="es-flow-list">
3
+ <div
4
+ class="es-flow-list-item"
5
+ v-for="(item, index) in content"
6
+ :key="index"
7
+ v-show="
8
+ (item.type == 'splitReading' &&
9
+ splitReadingData &&
10
+ splitReadingData.length > 0) ||
11
+ (item.type == 'preset' &&
12
+ presetData &&
13
+ presetData.length > 0 &&
14
+ currentUserHasPresetInfoAuth) ||
15
+ (item.type != 'splitReading' && item.type != 'preset')
16
+ "
17
+ >
18
+ <div
19
+ class="es-flow-list-box"
20
+ :ref="item.type"
21
+ :style="`position:${height == 'auto' ? 'unset' : 'absolute'}`"
22
+ >
23
+ <es-data-table
24
+ v-if="show"
25
+ :class="{ 'es-flow-group-data-table': item.type !== 'sign' }"
26
+ :display="display"
27
+ @cell-click="handleCellClick"
28
+ :full="height !== 'auto'"
29
+ v-bind="item"
30
+ :data="
31
+ showDoresult
32
+ ? returnData(item.type).filter(
33
+ (x) => x.doresult || x.handleInfo || x.pendstate != 2
34
+ )
35
+ : returnData(item.type)
36
+ "
37
+ @btn-click="handleBtnClick"
38
+ @selection-change="handleSelectionChange"
39
+ ></es-data-table>
40
+ </div>
41
+ </div>
42
+ <es-dialog
43
+ append-to-body
44
+ :close-on-click-modal="false"
45
+ title="查看附件"
46
+ :visible.sync="showFileList"
47
+ v-if="showFileList"
48
+ >
49
+ <FileList
50
+ :ownId="wfpendingid"
51
+ :code="flowTableInfo.adjunctCode"
52
+ :deleted="false"
53
+ :disabled="true"
54
+ @cancel="showFileList = false"
55
+ />
56
+ </es-dialog>
57
+ <es-dialog
58
+ append-to-body
59
+ class="es-flow-list-dialog"
60
+ :close-on-click-modal="false"
61
+ title="流程历史批量删除"
62
+ :visible.sync="showBatchDelete"
63
+ v-if="showBatchDelete"
64
+ >
65
+ <div style="height: 100%" v-loading="batchDeleteLoading">
66
+ <es-data-table
67
+ v-if="showBatchDelete"
68
+ checkbox
69
+ :data="batchdeleteTableList"
70
+ :thead="batchdeleteThead"
71
+ numbers
72
+ full
73
+ @selection-change="handleSelectionChange($event,'batchDelete')"
74
+ style="width: 100%"
75
+ />
76
+ <div class="batch-delete-footer">
77
+ <el-input class="batch-delete-footer-input" v-model="batchdeletereason" placeholder="请输入批量删除的原因"></el-input>
78
+ <es-button type="primary" @click="handleBatchDelete">批量删除</es-button>
79
+ <es-button type="primary" @click="showBatchDelete = false">取消</es-button>
80
+ </div>
81
+ </div>
82
+ </es-dialog>
83
+ <es-dialog
84
+ append-to-body
85
+ class="es-flow-list-dialog"
86
+ :close-on-click-modal="false"
87
+ title="查看删除记录"
88
+ :visible.sync="showDelete"
89
+ v-if="showDelete"
90
+ >
91
+ <div style="height: 100%" v-loading="deleteLoading">
92
+ <es-data-table
93
+ v-if="showDelete"
94
+ :data="deleteTableList"
95
+ :thead="deleteThead"
96
+ @btn-click="handleBtnShowClick"
97
+ @page-size-change="handleSizeChange($event, 'delete')"
98
+ @page-current-change="handleCurrentChange($event, 'delete')"
99
+ numbers
100
+ full
101
+ style="width: 100%"
102
+ @sort-change="sortChange($event, 'delete')"
103
+ :page="pageInfo"
104
+ />
105
+ </div>
106
+ </es-dialog>
107
+ <es-dialog
108
+ append-to-body
109
+ class="es-flow-list-dialog"
110
+ :close-on-click-modal="false"
111
+ title="查看重设记录"
112
+ :visible.sync="showReset"
113
+ v-if="showReset"
114
+ >
115
+ <div style="height: 100%" v-loading="resetLoading">
116
+ <es-data-table
117
+ v-if="showReset"
118
+ :data="resetTableList"
119
+ :thead="resetThead"
120
+ @page-size-change="handleSizeChange($event, 'reset')"
121
+ @page-current-change="handleCurrentChange($event, 'reset')"
122
+ numbers
123
+ full
124
+ style="width: 100%"
125
+ @sort-change="sortChange($event, 'reset')"
126
+ :page="pageInfo"
127
+ />
128
+ </div>
129
+ </es-dialog>
130
+ <es-dialog
131
+ append-to-body
132
+ :close-on-click-modal="false"
133
+ title="查看催办记录"
134
+ :visible.sync="showPress"
135
+ v-if="showPress"
136
+ >
137
+ <div style="height: 100%" v-loading="pressLoading">
138
+ <es-data-table
139
+ v-if="show"
140
+ :data="pressTableList"
141
+ :thead="pressThead"
142
+ @page-size-change="handleSizeChange($event, 'press')"
143
+ @page-current-change="handleCurrentChange($event, 'press')"
144
+ stripe
145
+ full
146
+ style="width: 100%"
147
+ @sort-change="sortChange($event, 'press')"
148
+ :page="pageInfo"
149
+ />
150
+ </div>
151
+ </es-dialog>
152
+ <es-dialog
153
+ append-to-body
154
+ :close-on-click-modal="false"
155
+ :title="modalType == 'del' ? '删除' : '修改意见'"
156
+ :visible.sync="showDel"
157
+ height="auto"
158
+ class="del-flow"
159
+ v-if="showDel"
160
+ >
161
+ <es-form
162
+ v-loading="delLoading"
163
+ :model="formData"
164
+ :contents="formItemList"
165
+ @submit="handleFormSubmit"
166
+ >
167
+ </es-form>
168
+ </es-dialog>
169
+ </div>
170
+ </template>
171
+
172
+ <script>
173
+ import {
174
+ findCodeValues,
175
+ deletePresetInfo,
176
+ pendedhistoryListJson,
177
+ toPresetInfoListIndex,
178
+ pressListJson,
179
+ pendedhistoryListWithCircularReadJson,
180
+ deleteFlow,
181
+ taskReadWithDraw,
182
+ fyListJson,
183
+ circularReadWithdraw,
184
+ resetJson,
185
+ deletedListJson,
186
+ restoredHistory,
187
+ batchDelete,
188
+ modifyFlow
189
+ } from 'eoss-ui/src/config/api';
190
+ import FileList from '../../flow/src/component/FileList.vue';
191
+ import util from 'eoss-ui/src/utils/util';
192
+ export default {
193
+ name: 'EsFlowList',
194
+ components: {
195
+ [FileList.name]: FileList
196
+ },
197
+ props: {
198
+ businessId: {
199
+ type: String,
200
+ default: ''
201
+ },
202
+ getListCount: {
203
+ type: Function,
204
+ default: () => {}
205
+ },
206
+ flowViewType: {
207
+ type: [Number, String],
208
+ default: 0
209
+ },
210
+ hide: {
211
+ type: String,
212
+ default: ''
213
+ },
214
+ hideBtn: {
215
+ type: Boolean,
216
+ default: false
217
+ },
218
+ params: {
219
+ type: Object,
220
+ default: () => {
221
+ return {};
222
+ }
223
+ },
224
+ toolbar: {
225
+ type: Array,
226
+ default: () => []
227
+ },
228
+ headFields: {
229
+ type: Array,
230
+ default: () => []
231
+ },
232
+ contents: {
233
+ type: Array,
234
+ default() {
235
+ return ['flow', 'splitReading', 'preset'];
236
+ }
237
+ },
238
+ numbers: {
239
+ type: Boolean,
240
+ default: false
241
+ },
242
+ height: {
243
+ type: String,
244
+ default: ''
245
+ },
246
+ showDoresult: {
247
+ type: Boolean,
248
+ default: false
249
+ },
250
+ theadWidth: {
251
+ type: Object,
252
+ default: () => {
253
+ return {};
254
+ }
255
+ },
256
+ type: {
257
+ type: String,
258
+ default: ''
259
+ },
260
+ display: Boolean
261
+ },
262
+ inheritAttrs: false,
263
+ data() {
264
+ return {
265
+ pressLoading: false,
266
+ pressTableList: [],
267
+ circularData: [],
268
+ selectList: [],
269
+ batchDeleteSelectList:[],
270
+ flowHeight: '',
271
+ presetHeight: '',
272
+ signHeight: '',
273
+ splitReadingHeight: '',
274
+ circularHeight: '',
275
+ untreatedReadHeight: '',
276
+ processedReadHeight: '',
277
+ untreatedReadData: [],
278
+ processedReadData: [],
279
+ hasCircularReadWithdrawAuthority: false,
280
+ currentPage: 1,
281
+ pageSize: 20,
282
+ flowListCount: {},
283
+ currentUserHasPresetInfoAuth: false,
284
+ pressThead: [
285
+ {
286
+ title: '催办节点',
287
+ align: 'center',
288
+ sortable: true,
289
+ field: 'urge_item'
290
+ },
291
+ {
292
+ title: '催办人名称',
293
+ sortable: true,
294
+ align: 'center',
295
+ field: 'urge_man_name'
296
+ },
297
+ {
298
+ title: '催办时间',
299
+ sortable: true,
300
+ align: 'center',
301
+ field: 'urge_time'
302
+ },
303
+ {
304
+ title: '被催办人名称',
305
+ align: 'center',
306
+ sortable: true,
307
+ field: 'urged_man_name'
308
+ }
309
+ ],
310
+ wfpendingid: '',
311
+ showFileList: false,
312
+ flowData: [],
313
+ splitReadingData: [],
314
+ presetData: [],
315
+ signData: [],
316
+ loading: '', //加载中
317
+ preset_type: [], //预设类型
318
+ showPress: false, //查看催办记录弹窗
319
+ showDelete: false, //删除记录弹窗
320
+ showBatchDelete: false,
321
+ deleteLoading: false,
322
+ batchDeleteLoading: false,
323
+ deleteTableList: [],
324
+ batchdeleteTableList: [],
325
+ batchdeletereason:'',
326
+ batchdeleteThead: [
327
+ {
328
+ title: '步骤',
329
+ align: 'center',
330
+ // sortable: true,
331
+ showOverflowTooltip: true,
332
+ field: 'itemname'
333
+ },
334
+ {
335
+ title: '办理人',
336
+ align: 'center',
337
+ showOverflowTooltip: true,
338
+ width: 120,
339
+ // sortable: true,
340
+ field: 'userName'
341
+ },
342
+ {
343
+ label: '状态',
344
+ field: 'pendstate',
345
+ key: 'zt',
346
+ align: 'center',
347
+ showOverflowTooltip: true,
348
+ width: this.theadWidth.pendstate || 80,
349
+ render: (h, params) => {
350
+ return h('span', {
351
+ style: {
352
+ color:
353
+ params.row.pendstate == 0 || params.row.pendstate == 3
354
+ ? 'red'
355
+ : params.row.pendstate == 1
356
+ ? 'green'
357
+ : params.row.pendstate == -1
358
+ ? 'orange'
359
+ : 'deepskyblue'
360
+ },
361
+ domProps: { innerHTML: params.row.querykeywords }
362
+ });
363
+ }
364
+ },
365
+ {
366
+ title: '办理意见',
367
+ align: 'center',
368
+ showOverflowTooltip: true,
369
+ // sortable: true,
370
+ field: 'doresult'
371
+ },
372
+ {
373
+ title: '办理时间',
374
+ align: 'center',
375
+ showOverflowTooltip: true,
376
+ // sortable: true,
377
+ field: 'doetime',
378
+ render: (h, params) => {
379
+ return h(
380
+ 'span',
381
+ {},
382
+ params.row.doetime
383
+ ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
384
+ : ''
385
+ );
386
+ }
387
+ }
388
+ ],
389
+ deleteThead: [
390
+ {
391
+ title: '步骤',
392
+ align: 'center',
393
+ // sortable: true,
394
+ showOverflowTooltip: true,
395
+ field: 'itemname'
396
+ },
397
+ {
398
+ title: '办理人',
399
+ align: 'center',
400
+ showOverflowTooltip: true,
401
+ width: 120,
402
+ // sortable: true,
403
+ field: 'userName'
404
+ },
405
+ {
406
+ title: '办理意见',
407
+ align: 'center',
408
+ showOverflowTooltip: true,
409
+ width: 240,
410
+ // sortable: true,
411
+ field: 'doresult'
412
+ },
413
+ {
414
+ title: '办理时间',
415
+ align: 'center',
416
+ width: 150,
417
+ showOverflowTooltip: true,
418
+ // sortable: true,
419
+ field: 'doetime'
420
+ },
421
+ {
422
+ title: '删除人',
423
+ showOverflowTooltip: true,
424
+ width: 120,
425
+ align: 'center',
426
+ // sortable: true,
427
+ field: 'querykeywords'
428
+ },
429
+ {
430
+ title: '删除原因',
431
+ align: 'center',
432
+ width: 240,
433
+ showOverflowTooltip: true,
434
+ // sortable: true,
435
+ field: 'upstepInfo'
436
+ },
437
+ {
438
+ title: '删除时间',
439
+ align: 'center',
440
+ width: 150,
441
+ showOverflowTooltip: true,
442
+ // sortable: true,
443
+ field: 'statechangetime'
444
+ },
445
+ {
446
+ title: '操作',
447
+ type: 'handle',
448
+ events: [
449
+ {
450
+ text: '恢复'
451
+ }
452
+ ]
453
+ }
454
+ ],
455
+ showReset: false, //重设记录弹窗
456
+ resetLoading: false,
457
+ resetTableList: [],
458
+ resetThead: [
459
+ {
460
+ title: '重设人登录名',
461
+ align: 'center',
462
+ // sortable: true,
463
+ showOverflowTooltip: true,
464
+ field: 'reset_person_login_name'
465
+ },
466
+ {
467
+ title: '重设人姓名',
468
+ align: 'center',
469
+ showOverflowTooltip: true,
470
+ // sortable: true,
471
+ field: 'reset_person_name'
472
+ },
473
+ {
474
+ title: '重设前节点',
475
+ align: 'center',
476
+ showOverflowTooltip: true,
477
+ // sortable: true,
478
+ field: 'reset_bf_item'
479
+ },
480
+ {
481
+ title: '重设前执行人',
482
+ align: 'center',
483
+ showOverflowTooltip: true,
484
+ // sortable: true,
485
+ field: 'reset_bf_user'
486
+ },
487
+ {
488
+ title: '重设后节点',
489
+ showOverflowTooltip: true,
490
+ align: 'center',
491
+ // sortable: true,
492
+ field: 'reset_af_item'
493
+ },
494
+ {
495
+ title: '重设后执行人',
496
+ align: 'center',
497
+ showOverflowTooltip: true,
498
+ // sortable: true,
499
+ field: 'reset_af_user'
500
+ },
501
+ {
502
+ title: '重设时间',
503
+ align: 'center',
504
+ showOverflowTooltip: true,
505
+ // sortable: true,
506
+ field: 'reset_time'
507
+ },
508
+ {
509
+ title: '操作IP',
510
+ align: 'center',
511
+ showOverflowTooltip: true,
512
+ // sortable: true,
513
+ field: 'reset_ip'
514
+ }
515
+ ],
516
+ modify: false,
517
+ formData: { reason: '' },
518
+
519
+ delLoading: false,
520
+ showDel: false,
521
+ attachmentPaperClipCssStyle: '',
522
+ is_edit: [], //是否可编辑
523
+ flowTableInfo: {
524
+ adjunctCode: '',
525
+ hasAgent: '1' //是否展示代办人 1:展示 0:不展示
526
+ },
527
+ show: false,
528
+ taskReadName: '', //非流程列表名称
529
+ options: [
530
+ { label: '时间排序', value: '1' },
531
+ { label: '部门排序', value: '2' }
532
+ // { label: '树形排序', value: '3' }
533
+ ],
534
+ isShort: 0, //是否隐藏筛选
535
+ viewType: '1', //排序方式
536
+ flowTableList: [], //流程列表
537
+ fyTableList: [], //分阅列表
538
+ showSuggest: 'all', //筛选显示数据
539
+ presetInfoListHiddenColumns: '', //隐藏表格展示数据
540
+ canDelete: false, //是否展示操作按钮
541
+ canBatchDelete: false, //是否可以批量删除
542
+ isSuperRole: false, //是否管理员
543
+ isShowReset: false, //是否显示重设记录
544
+ historyId: '',
545
+ sidx: '',
546
+ sord: 'asc',
547
+ modalType: '',
548
+ total: 0
549
+ };
550
+ },
551
+ watch: {
552
+ flowViewType: {
553
+ handler(val) {
554
+ if (val) {
555
+ this.loading = util.loading(this.$loading, '加载中...');
556
+ this.getFlowList(val);
557
+ }
558
+ },
559
+ deep: true,
560
+ immediate: true
561
+ }
562
+ },
563
+
564
+ computed: {
565
+ formItemList() {
566
+ return [
567
+ {
568
+ name: 'reason',
569
+ label: this.modalType == 'del' ? '删除原因' : '办理意见',
570
+ type: 'textarea',
571
+ placeholder: `请输入${
572
+ this.modalType == 'del' ? '删除原因' : '办理意见'
573
+ }`,
574
+ rules: {
575
+ required: this.modalType == 'del',
576
+ message: '请输入删除原因',
577
+ trigger: 'blur'
578
+ },
579
+ value: '',
580
+ rows: 5
581
+ },
582
+ {
583
+ type: 'submit',
584
+ skin: 'lay-form-btns',
585
+ contents: [
586
+ {
587
+ type: 'primary',
588
+ plain: true,
589
+ text: '保存',
590
+ event: 'confirm'
591
+ }
592
+ ]
593
+ }
594
+ ];
595
+ },
596
+ toolbars() {
597
+ return {
598
+ flow: [
599
+ {
600
+ type: 'text',
601
+ contents: '流程列表'
602
+ },
603
+ {
604
+ type: 'search',
605
+ contents: [
606
+ {
607
+ name: 'showSuggest',
608
+ type: 'radio',
609
+ changeSearch: true,
610
+ data: [
611
+ {
612
+ value: 'all',
613
+ name: '显示全部',
614
+ checked: true
615
+ },
616
+ { value: 'have', name: '显示已填意见' }
617
+ ],
618
+ events: {
619
+ change: (key, value) => {
620
+ this.handleChange(key, value);
621
+ }
622
+ }
623
+ },
624
+
625
+ {
626
+ type: 'select',
627
+ placeholder: '请选择',
628
+ name: 'viewType',
629
+ width: '140px',
630
+ changeSearch: true,
631
+ events: {
632
+ change: (key, value) => {
633
+ this.handleChange(key, value);
634
+ }
635
+ },
636
+ data: [
637
+ {
638
+ value: 1,
639
+ selected: true,
640
+ name: '时间排序'
641
+ },
642
+ {
643
+ value: 2,
644
+ name: '部门排序'
645
+ }
646
+ // {
647
+ // value: 3,
648
+ // name: '树形排序'
649
+ // }
650
+ ]
651
+ }
652
+ ]
653
+ },
654
+ {
655
+ type: 'button',
656
+ name: 'btn',
657
+ width: '140px',
658
+ contents: [
659
+ {
660
+ text: '删除记录',
661
+ type: 'primary',
662
+ hide: !this.canDelete && !this.isSuperRole,
663
+ event: (res) => {
664
+ // click: (key, value) => {
665
+ this.showDelete = true;
666
+ this.currentPage = 1;
667
+ this.pageSize = 20;
668
+ this.getDeletList();
669
+ // }
670
+ }
671
+ },
672
+ {
673
+ text: '批量删除',
674
+ type: 'primary',
675
+ hide: !this.canBatchDelete && !this.isSuperRole,
676
+ event: (res) => {
677
+ // click: (key, value) => {
678
+ this.showBatchDelete = true;
679
+ this.batchdeleteTableList = this.flowData.filter((x) => x.pendstate == 2);
680
+ // }
681
+ }
682
+ },
683
+ {
684
+ text: '重设记录',
685
+ type: 'primary',
686
+ hide: !this.isShowReset,
687
+ event: (res) => {
688
+ // click: (key, value) => {
689
+ this.showReset = true;
690
+ this.currentPage = 1;
691
+ this.pageSize = 20;
692
+ this.getResetList();
693
+ // }
694
+ }
695
+ }
696
+ ]
697
+ }
698
+ ],
699
+ preset: [
700
+ {
701
+ type: 'text',
702
+ contents: '预设列表'
703
+ }
704
+ ],
705
+ sign: [
706
+ {
707
+ type: 'button',
708
+ contents: [
709
+ {
710
+ text: '生成处理签',
711
+ type: 'primary'
712
+ }
713
+ ]
714
+ }
715
+ ],
716
+ splitReading: [
717
+ {
718
+ type: 'text',
719
+ contents:
720
+ (this.taskReadName ? this.taskReadName : '非流程') + '列表'
721
+ }
722
+ ],
723
+ circular: [
724
+ {
725
+ type: 'text',
726
+ contents: '传阅列表'
727
+ }
728
+ ],
729
+ untreatedRead: [
730
+ {
731
+ type: 'text',
732
+ contents: '未处理分阅列表'
733
+ },
734
+ {
735
+ type: 'button',
736
+ contents: [
737
+ {
738
+ text: '撤销分阅',
739
+ fun: 'recallRead'
740
+ }
741
+ ]
742
+ }
743
+ ],
744
+ processedRead: [
745
+ {
746
+ type: 'text',
747
+ contents: '已处理分阅列表'
748
+ }
749
+ ]
750
+ // Reading situation
751
+ };
752
+ },
753
+ pageInfo() {
754
+ return {
755
+ pageNum: this.currentPage,
756
+ pageSize: this.pageSize,
757
+ totalCount: this.total
758
+ };
759
+ },
760
+ theads() {
761
+ const _that = this;
762
+ let newThead = {
763
+ flow: [
764
+ {
765
+ label: '经办部门',
766
+ field: 'deptid',
767
+ align: 'center',
768
+ key: 'jbbm',
769
+ showOverflowTooltip: true,
770
+ width: this.theadWidth.deptid || 150,
771
+ render: (h, params) => {
772
+ return h(
773
+ 'span',
774
+ {},
775
+ params.row.doDeptName
776
+ ? params.row.doDeptName
777
+ : params.row.deptName
778
+ );
779
+ }
780
+ },
781
+ {
782
+ label: '步骤',
783
+ field: 'itemname',
784
+ align: 'center',
785
+ key: 'bz',
786
+ showOverflowTooltip: true,
787
+ width: this.theadWidth.itemname || 110
788
+ },
789
+ {
790
+ label: '办理人',
791
+ field: 'userName',
792
+ align: 'center',
793
+ key: 'blr',
794
+ showOverflowTooltip: true,
795
+ width: this.theadWidth.userName || 110
796
+ },
797
+ {
798
+ label: '办理人部门',
799
+ field: 'deptName',
800
+ align: 'center',
801
+ showOverflowTooltip: true,
802
+ key: 'blrbm',
803
+ width: this.theadWidth.deptName || 110
804
+ },
805
+ {
806
+ label: '状态',
807
+ field: 'pendstate',
808
+ key: 'zt',
809
+ align: 'center',
810
+ showOverflowTooltip: true,
811
+ width: this.theadWidth.pendstate || 80,
812
+ render: (h, params) => {
813
+ return h('span', {
814
+ style: {
815
+ color:
816
+ params.row.pendstate == 0 || params.row.pendstate == 3
817
+ ? 'red'
818
+ : params.row.pendstate == 1
819
+ ? 'green'
820
+ : params.row.pendstate == -1
821
+ ? 'orange'
822
+ : 'deepskyblue'
823
+ },
824
+ domProps: { innerHTML: params.row.querykeywords }
825
+ });
826
+ }
827
+ },
828
+ {
829
+ label: '办理意见',
830
+ field: 'doresult',
831
+ align: 'center',
832
+ width: this.theadWidth.doresult,
833
+ showOverflowTooltip: true,
834
+ key: 'blyj',
835
+ render: (h, params) => {
836
+ if (
837
+ params.row.doresult &&
838
+ (params.row.doresult.startsWith('http') ||
839
+ params.row.doresult.startsWith('https'))
840
+ ) {
841
+ return h('img', {
842
+ attrs: { src: params.row.doresult },
843
+ style: { width: '100px', height: '100px' }
844
+ });
845
+ } else {
846
+ return h('span', {}, [
847
+ params.row.doresult
848
+ ? params.row.doresult + (params.row.handleInfo ? '&' : '')
849
+ : '',
850
+ h(
851
+ 'span',
852
+ { style: { color: '#A5A5A5', marginLeft: '2px' } },
853
+ params.row.handleInfo || ''
854
+ )
855
+ ]);
856
+ }
857
+ }
858
+ },
859
+ {
860
+ label: '验签',
861
+ field: 'authTypeStr',
862
+ align: 'center',
863
+ key: 'yq',
864
+ showOverflowTooltip: true,
865
+ width: this.theadWidth.authTypeStr || 70,
866
+ render: (h, params) => {
867
+ return h(
868
+ 'span',
869
+ { style: { color: 'deepskyblue' } },
870
+ params.row.authTypeStr
871
+ );
872
+ }
873
+ },
874
+ {
875
+ label: '附件',
876
+ key: 'fj',
877
+ field: 'hasAdjunct',
878
+ align: 'center',
879
+ showOverflowTooltip: true,
880
+ width: this.theadWidth.hasAdjunct || 70,
881
+ render: (h, params) => {
882
+ if (params.row.hasAdjunct) {
883
+ return h('span', {
884
+ style: _that.attachmentPaperClipCssStyle
885
+ ? _that.attachmentPaperClipCssStyle
886
+ : { color: 'red', fontSize: '20px' },
887
+ class: 'iconfont es-icon-fujian'
888
+ });
889
+ } else {
890
+ return h('span', {}, '');
891
+ }
892
+ }
893
+ },
894
+ {
895
+ label: '时间',
896
+ field: 'doetime',
897
+ align: 'center',
898
+ key: 'sj',
899
+ showOverflowTooltip: true,
900
+ width: this.theadWidth.doetime || 150,
901
+ render: (h, params) => {
902
+ return h(
903
+ 'span',
904
+ {},
905
+ params.row.doetime
906
+ ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
907
+ : ''
908
+ );
909
+ }
910
+ },
911
+ {
912
+ label: '代办人',
913
+ field: 'douserid',
914
+ align: 'center',
915
+ key: 'dbr',
916
+ showOverflowTooltip: true,
917
+ width: this.theadWidth.douserid || 80,
918
+ hide: _that.flowTableInfo.hasAgent != '1'
919
+ },
920
+ {
921
+ label: '催办',
922
+ field: 'pressTimes',
923
+ align: 'center',
924
+ key: 'cb',
925
+ showOverflowTooltip: true,
926
+ width: this.theadWidth.pressTimes || 150,
927
+ render: (h, params) => {
928
+ return h(
929
+ 'span',
930
+ { style: 'color:deepskyblue;cursor: pointer;' },
931
+ params.row.pressTimes != 0 ? params.row.pressTimes : ''
932
+ );
933
+ }
934
+ },
935
+ {
936
+ title: '操作',
937
+ type: 'handle',
938
+ width: this.modify ? '130' : '100',
939
+ template: '',
940
+ hide: this.hideBtn || (!this.canDelete && !this.modify),
941
+ events: [
942
+ {
943
+ text: '删除',
944
+ rules: (rows) => {
945
+ return rows.canDelete || this.canDelete;
946
+ }
947
+ },
948
+ {
949
+ text: '修改',
950
+ rules: (rows) => {
951
+ return this.modify && rows.pendstate == 2;
952
+ }
953
+ }
954
+ ]
955
+ }
956
+ ],
957
+ preset: this.thead,
958
+ splitReading: [
959
+ {
960
+ label: '经办部门',
961
+ field: 'deptid',
962
+ key: 'jbbm',
963
+ align: 'center',
964
+ showOverflowTooltip: true,
965
+ width: this.theadWidth.deptid || 150
966
+ },
967
+ {
968
+ label: '步骤',
969
+ field: 'itemname',
970
+ align: 'center',
971
+ key: 'bz',
972
+ showOverflowTooltip: true,
973
+ width: this.theadWidth.itemname || 110
974
+ },
975
+ {
976
+ label: '办理人',
977
+ field: 'userName',
978
+ align: 'center',
979
+ key: 'blr',
980
+ showOverflowTooltip: true,
981
+ width: this.theadWidth.userName || 110
982
+ },
983
+ {
984
+ label: '状态',
985
+ field: 'pendstate',
986
+ align: 'center',
987
+ key: 'zt',
988
+ showOverflowTooltip: true,
989
+ width: this.theadWidth.pendstate || 80,
990
+ render: (h, params) => {
991
+ return h('span', {
992
+ style: {
993
+ color:
994
+ params.row.pendstate == 0 || params.row.pendstate == 3
995
+ ? 'red'
996
+ : params.row.pendstate == 1
997
+ ? 'green'
998
+ : params.row.pendstate == -1
999
+ ? 'orange'
1000
+ : 'deepskyblue'
1001
+ },
1002
+ domProps: { innerHTML: params.row.querykeywords }
1003
+ });
1004
+ }
1005
+ },
1006
+ {
1007
+ label: '办理意见',
1008
+ field: 'doresult',
1009
+ align: 'center',
1010
+ key: 'blyj',
1011
+ width: this.theadWidth.doresult,
1012
+ showOverflowTooltip: true,
1013
+ render: (h, params) => {
1014
+ if (
1015
+ params.row.doresult &&
1016
+ (params.row.doresult.startsWith('http') ||
1017
+ params.row.doresult.startsWith('https'))
1018
+ ) {
1019
+ return h('img', {
1020
+ attrs: { src: params.row.doresult },
1021
+ style: { width: '100px', height: '100px' }
1022
+ });
1023
+ } else {
1024
+ return h('span', {}, [
1025
+ params.row.doresult
1026
+ ? params.row.doresult + (params.row.handleInfo ? '&' : '')
1027
+ : '',
1028
+ h(
1029
+ 'span',
1030
+ { style: { color: '#A5A5A5', marginLeft: '2px' } },
1031
+ params.row.handleInfo || ''
1032
+ )
1033
+ ]);
1034
+ }
1035
+ }
1036
+ },
1037
+ {
1038
+ label: '验签',
1039
+ field: 'authTypeStr',
1040
+ align: 'center',
1041
+ key: 'yq',
1042
+ showOverflowTooltip: true,
1043
+ width: this.theadWidth.authTypeStr || 70,
1044
+ render: (h, params) => {
1045
+ return h(
1046
+ 'span',
1047
+ { style: { color: 'deepskyblue' } },
1048
+ params.row.authTypeStr
1049
+ );
1050
+ }
1051
+ },
1052
+ {
1053
+ label: '附件',
1054
+ field: 'hasAdjunct',
1055
+ align: 'center',
1056
+ key: 'fj',
1057
+ showOverflowTooltip: true,
1058
+ width: this.theadWidth.hasAdjunct || 70,
1059
+ render: (h, params) => {
1060
+ if (params.row.hasAdjunct) {
1061
+ return h('span', {
1062
+ style: _that.attachmentPaperClipCssStyle
1063
+ ? _that.attachmentPaperClipCssStyle
1064
+ : { color: 'red', fontSize: '20px' },
1065
+ class: 'iconfont es-icon-fujian'
1066
+ });
1067
+ } else {
1068
+ return h('span', {}, '');
1069
+ }
1070
+ }
1071
+ },
1072
+ {
1073
+ label: '时间',
1074
+ field: 'doetime',
1075
+ align: 'center',
1076
+ key: 'sj',
1077
+ showOverflowTooltip: true,
1078
+ width: this.theadWidth.doetime || 150,
1079
+ render: (h, params) => {
1080
+ return h(
1081
+ 'span',
1082
+ {},
1083
+ params.row.doetime
1084
+ ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
1085
+ : ''
1086
+ );
1087
+ }
1088
+ },
1089
+ {
1090
+ label: '代办人',
1091
+ field: 'douserid',
1092
+ align: 'center',
1093
+ key: 'dbr',
1094
+ showOverflowTooltip: true,
1095
+ width: this.theadWidth.douserid || 80,
1096
+ hide: _that.flowTableInfo.hasAgent != '1'
1097
+ },
1098
+ {
1099
+ label: '催办',
1100
+ field: 'pressTimes',
1101
+ align: 'center',
1102
+ key: 'cb',
1103
+ showOverflowTooltip: true,
1104
+ width: this.theadWidth.pressTimes || 150,
1105
+ render: (h, params) => {
1106
+ return h(
1107
+ 'span',
1108
+ { style: 'color:deepskyblue;cursor: pointer;' },
1109
+ params.row.pressTimes != 0 ? params.row.pressTimes : ''
1110
+ );
1111
+ }
1112
+ },
1113
+ {
1114
+ title: '操作',
1115
+ type: 'handle',
1116
+ width: '100',
1117
+ template: '',
1118
+ hide: this.hideBtn || (!this.canDelete && !this.modify),
1119
+ events: [
1120
+ {
1121
+ text: '删除',
1122
+ rules: (rows) => {
1123
+ return rows.canDelete || this.canDelete;
1124
+ }
1125
+ }
1126
+ ]
1127
+ }
1128
+ ],
1129
+ circular: [
1130
+ {
1131
+ label: '发起人',
1132
+ field: 'circularReadInitiatorName',
1133
+ align: 'center',
1134
+ key: 'fqr',
1135
+ showOverflowTooltip: true,
1136
+ width: this.theadWidth.circularReadInitiatorName || 150
1137
+ },
1138
+ {
1139
+ label: '传阅部门',
1140
+ field: 'circularReadOrgName',
1141
+ align: 'center',
1142
+ key: 'cybm',
1143
+ showOverflowTooltip: true,
1144
+ width: this.theadWidth.circularReadOrgName || 110
1145
+ },
1146
+ {
1147
+ label: '传阅人',
1148
+ field: 'userName',
1149
+ align: 'center',
1150
+ key: 'cyr',
1151
+ showOverflowTooltip: true,
1152
+ width: this.theadWidth.userName || 110
1153
+ },
1154
+ {
1155
+ label: '步骤',
1156
+ field: 'itemname',
1157
+ align: 'center',
1158
+ showOverflowTooltip: true,
1159
+ key: 'bz',
1160
+ width: this.theadWidth.itemname || 110
1161
+ },
1162
+ {
1163
+ label: '状态',
1164
+ field: 'pendstate',
1165
+ key: 'zt',
1166
+ align: 'center',
1167
+ showOverflowTooltip: true,
1168
+ width: this.theadWidth.pendstate || 140,
1169
+ render: (h, params) => {
1170
+ return h('span', {
1171
+ style: {
1172
+ color:
1173
+ params.row.pendstate == 0 || params.row.pendstate == 3
1174
+ ? 'red'
1175
+ : params.row.pendstate == 1
1176
+ ? 'green'
1177
+ : params.row.pendstate == -1
1178
+ ? 'orange'
1179
+ : 'deepskyblue',
1180
+ cursor: this.hasCircularReadWithdrawAuthority
1181
+ ? 'pointer'
1182
+ : 'unset'
1183
+ },
1184
+ domProps: {
1185
+ innerHTML:
1186
+ params.row.querykeywords +
1187
+ (this.hasCircularReadWithdrawAuthority
1188
+ ? `<span style="color:#7AB0D5">(撤回)</span>`
1189
+ : '')
1190
+ }
1191
+ });
1192
+ }
1193
+ },
1194
+ {
1195
+ label: '送达时间',
1196
+ field: 'createtime',
1197
+ align: 'center',
1198
+ key: 'sdsj',
1199
+ showOverflowTooltip: true,
1200
+ width: this.theadWidth.createtime || 170
1201
+ },
1202
+ {
1203
+ label: '办理时间',
1204
+ field: 'doetime',
1205
+ align: 'center',
1206
+ key: 'blsj',
1207
+ showOverflowTooltip: true,
1208
+ width: this.theadWidth.doetime || 150
1209
+ },
1210
+
1211
+ {
1212
+ label: '附件',
1213
+ key: 'fj',
1214
+ field: 'hasAdjunct',
1215
+ align: 'center',
1216
+ showOverflowTooltip: true,
1217
+ width: this.theadWidth.hasAdjunct || 70,
1218
+ render: (h, params) => {
1219
+ if (params.row.hasAdjunct) {
1220
+ return h('span', {
1221
+ style: _that.attachmentPaperClipCssStyle
1222
+ ? _that.attachmentPaperClipCssStyle
1223
+ : { color: 'red', fontSize: '20px' },
1224
+ class: 'iconfont es-icon-fujian'
1225
+ });
1226
+ } else {
1227
+ return h('span', {}, '');
1228
+ }
1229
+ }
1230
+ },
1231
+ {
1232
+ label: '提醒',
1233
+ field: 'pressTimes',
1234
+ align: 'center',
1235
+ key: 'tx',
1236
+ showOverflowTooltip: true,
1237
+ width: this.theadWidth.pressTimes || 150,
1238
+ render: (h, params) => {
1239
+ return h(
1240
+ 'span',
1241
+ { style: 'color:deepskyblue;cursor: pointer;' },
1242
+ params.row.pressTimes
1243
+ );
1244
+ }
1245
+ },
1246
+ {
1247
+ label: '阅结意见 & 说明',
1248
+ field: 'doresult',
1249
+ align: 'center',
1250
+ width: this.theadWidth.doresult,
1251
+ showOverflowTooltip: true,
1252
+ key: 'blyj',
1253
+ render: (h, params) => {
1254
+ if (
1255
+ params.row.doresult &&
1256
+ (params.row.doresult.startsWith('http') ||
1257
+ params.row.doresult.startsWith('https'))
1258
+ ) {
1259
+ return h('img', {
1260
+ attrs: { src: params.row.doresult },
1261
+ style: { width: '100px', height: '100px' }
1262
+ });
1263
+ } else {
1264
+ return h('span', {}, [
1265
+ params.row.doresult
1266
+ ? params.row.doresult + (params.row.handleInfo ? '&' : '')
1267
+ : '',
1268
+ h(
1269
+ 'span',
1270
+ { style: { color: '#A5A5A5', marginLeft: '2px' } },
1271
+ params.row.handleInfo || ''
1272
+ )
1273
+ ]);
1274
+ }
1275
+ }
1276
+ }
1277
+ ],
1278
+ untreatedRead: [
1279
+ {
1280
+ label: '步骤',
1281
+ field: 'itemid',
1282
+ align: 'center',
1283
+ key: 'bz',
1284
+ showOverflowTooltip: true,
1285
+ width: this.theadWidth.itemid || 110
1286
+ },
1287
+ {
1288
+ label: '办理人',
1289
+ field: 'userName',
1290
+ align: 'center',
1291
+ key: 'blr',
1292
+ showOverflowTooltip: true,
1293
+ width: this.theadWidth.userName
1294
+ },
1295
+ {
1296
+ label: '办理状态',
1297
+ field: 'pendstate',
1298
+ key: 'blzt',
1299
+ align: 'center',
1300
+ showOverflowTooltip: true,
1301
+ width: this.theadWidth.pendstate || 110,
1302
+ render: (h, params) => {
1303
+ return h('span', {
1304
+ style: {
1305
+ color:
1306
+ params.row.pendstate == 0 || params.row.pendstate == 3
1307
+ ? 'red'
1308
+ : params.row.pendstate == 1
1309
+ ? 'green'
1310
+ : 'deepskyblue'
1311
+ },
1312
+ domProps: { innerHTML: params.row.querykeywords }
1313
+ });
1314
+ }
1315
+ },
1316
+ {
1317
+ label: '创建时间',
1318
+ field: 'createtime',
1319
+ align: 'center',
1320
+ key: 'cjsj',
1321
+ showOverflowTooltip: true,
1322
+ width: this.theadWidth.createtime || 150,
1323
+ render: (h, params) => {
1324
+ return h(
1325
+ 'span',
1326
+ {},
1327
+ params.row.doetime
1328
+ ? util.formatDate(params.row.createtime, 'yyyy-MM-dd HH:mm')
1329
+ : ''
1330
+ );
1331
+ }
1332
+ }
1333
+ ],
1334
+ processedRead: [
1335
+ {
1336
+ label: '步骤',
1337
+ field: 'itemid',
1338
+ align: 'center',
1339
+ key: 'bz',
1340
+ showOverflowTooltip: true,
1341
+ width: this.theadWidth.itemid || 110
1342
+ },
1343
+ {
1344
+ label: '办理人',
1345
+ field: 'userName',
1346
+ align: 'center',
1347
+ key: 'blr',
1348
+ showOverflowTooltip: true,
1349
+ width: this.theadWidth.userName
1350
+ },
1351
+ {
1352
+ label: '办理状态',
1353
+ field: 'pendstate',
1354
+ key: 'blzt',
1355
+ align: 'center',
1356
+ showOverflowTooltip: true,
1357
+ width: this.theadWidth.pendstate || 110,
1358
+ render: (h, params) => {
1359
+ return h('span', {
1360
+ style: {
1361
+ color:
1362
+ params.row.pendstate == 0 || params.row.pendstate == 3
1363
+ ? 'red'
1364
+ : params.row.pendstate == 1
1365
+ ? 'green'
1366
+ : 'deepskyblue'
1367
+ },
1368
+ domProps: { innerHTML: params.row.querykeywords }
1369
+ });
1370
+ }
1371
+ },
1372
+ {
1373
+ label: '办理时间',
1374
+ field: 'doetime',
1375
+ align: 'center',
1376
+ key: 'blsj',
1377
+ showOverflowTooltip: true,
1378
+ width: this.theadWidth.doetime || 150,
1379
+ render: (h, params) => {
1380
+ return h(
1381
+ 'span',
1382
+ {},
1383
+ params.row.doetime
1384
+ ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
1385
+ : ''
1386
+ );
1387
+ }
1388
+ },
1389
+ {
1390
+ label: '代办人',
1391
+ field: 'douserid',
1392
+ align: 'center',
1393
+ key: 'dbr',
1394
+ showOverflowTooltip: true,
1395
+ width: this.theadWidth.douserid
1396
+ },
1397
+ {
1398
+ label: '意见',
1399
+ field: 'doresult',
1400
+ align: 'center',
1401
+ key: 'yj',
1402
+ showOverflowTooltip: true,
1403
+ width: this.theadWidth.doresult
1404
+ }
1405
+ ]
1406
+ };
1407
+ if (this.numbers) {
1408
+ for (let key in newThead) {
1409
+ newThead[key].unshift({
1410
+ label: '序号',
1411
+ field: 'sort',
1412
+ align: 'center',
1413
+ key: 'xh',
1414
+ showOverflowTooltip: true,
1415
+ width: 50
1416
+ });
1417
+ }
1418
+ }
1419
+ return newThead;
1420
+ },
1421
+ content() {
1422
+ const _that = this;
1423
+ let newContents = JSON.parse(JSON.stringify(this.contents));
1424
+ if (this.contents.indexOf('circular') != -1) {
1425
+ newContents = newContents.filter((item) => item != 'splitReading');
1426
+ }
1427
+ if (newContents.indexOf('readingSituation') != -1) {
1428
+ newContents = ['untreatedRead', 'processedRead'];
1429
+ }
1430
+ let contents = newContents.map((item) => {
1431
+ if (typeof item === 'string') {
1432
+ let data = [];
1433
+ if (_that.headFields.length > 0) {
1434
+ _that.headFields.map((headFiled) => {
1435
+ if (headFiled.showDefault) {
1436
+ _that.theads[item].map((theadItem) => {
1437
+ if (theadItem.field === headFiled.field) {
1438
+ data.push({ ...theadItem, ...headFiled });
1439
+ }
1440
+ });
1441
+ } else {
1442
+ data.push(headFiled);
1443
+ }
1444
+ });
1445
+ _that.theads[item].map((x) => {
1446
+ if (x.type == 'handle') {
1447
+ data.push(x);
1448
+ }
1449
+ });
1450
+ }
1451
+ return {
1452
+ type: item,
1453
+ checkbox: newContents.indexOf('untreatedRead') != -1,
1454
+ toolbar: this.toolbars[item],
1455
+ thead: data.length > 0 ? data : this.theads[item],
1456
+ showFormBtn: false
1457
+ };
1458
+ } else {
1459
+ if (!Object.prototype.hasOwnProperty.call(item, 'toolbar')) {
1460
+ let toolbars = this.toolbars[item.type];
1461
+ return { ...item, toolbars };
1462
+ }
1463
+ if (!Object.prototype.hasOwnProperty.call(item, 'thead')) {
1464
+ let thead = this.theads[item.type];
1465
+ return { ...item, thead };
1466
+ }
1467
+ return item;
1468
+ }
1469
+ });
1470
+ return contents;
1471
+ },
1472
+ newToolbar() {
1473
+ if (this.toolbar && this.toolbar.length > 0) {
1474
+ return this.toolbar;
1475
+ } else {
1476
+ return [];
1477
+ }
1478
+ },
1479
+ thead() {
1480
+ let table = [
1481
+ {
1482
+ title: '步骤',
1483
+ align: 'center',
1484
+ width: this.theadWidth.nodeName || '100',
1485
+ field: 'nodeName'
1486
+ },
1487
+ {
1488
+ title: '预设办理人',
1489
+ width: this.theadWidth.presetUserName || '120',
1490
+ align: 'center',
1491
+ field: 'presetUserName'
1492
+ },
1493
+ {
1494
+ title: '是否可编辑',
1495
+ key: 'sfkbj',
1496
+ align: 'center',
1497
+ width: this.theadWidth.isEdit || '100',
1498
+ render: (h, params) => {
1499
+ return h('span', this.getCodeValue(params.row.isEdit, 'is_edit'));
1500
+ },
1501
+ field: 'isEdit'
1502
+ },
1503
+ {
1504
+ key: 'zt',
1505
+ title: '状态',
1506
+ width: this.theadWidth.statusName || '80',
1507
+ align: 'center',
1508
+ field: 'statusName'
1509
+ },
1510
+ {
1511
+ title: '预设类型',
1512
+ key: 'yslx',
1513
+ width: this.theadWidth.presetType || '120',
1514
+ align: 'center',
1515
+ render: (h, params) => {
1516
+ return h(
1517
+ 'span',
1518
+ this.getCodeValue(params.row.presetType, 'preset_type')
1519
+ );
1520
+ },
1521
+ field: 'presetType'
1522
+ },
1523
+ {
1524
+ title: '流程名称',
1525
+ key: 'lcmc',
1526
+ width: this.theadWidth.processDefName,
1527
+ align: 'center',
1528
+ field: 'processDefName'
1529
+ },
1530
+ {
1531
+ title: '上一步骤',
1532
+ key: 'sybz',
1533
+ align: 'center',
1534
+ width: this.theadWidth.lastNodeName,
1535
+ field: 'lastNodeName'
1536
+ },
1537
+ {
1538
+ title: '创建步骤',
1539
+ key: 'cjbz',
1540
+ align: 'center',
1541
+ width: this.theadWidth.operationNodeName,
1542
+ field: 'operationNodeName'
1543
+ },
1544
+ {
1545
+ title: '创建人',
1546
+ key: 'cjr',
1547
+ width: this.theadWidth.creatorName || '120',
1548
+ align: 'center',
1549
+ field: 'creatorName'
1550
+ },
1551
+ {
1552
+ title: '创建时间',
1553
+ width: this.theadWidth.createTime || '150',
1554
+ key: 'cjsj',
1555
+ align: 'center',
1556
+ render: (h, params) => {
1557
+ return h(
1558
+ 'span',
1559
+ util.formatDate(params.row.createTime, 'yyyy-MM-dd HH:mm')
1560
+ );
1561
+ },
1562
+ field: 'createTime'
1563
+ },
1564
+ {
1565
+ title: '操作区域',
1566
+ type: 'handle',
1567
+ align: 'center',
1568
+ width: '120',
1569
+ events: [
1570
+ {
1571
+ text: '置为失效'
1572
+ }
1573
+ ]
1574
+ }
1575
+ ];
1576
+ if (
1577
+ this.presetInfoListHiddenColumns != undefined &&
1578
+ this.presetInfoListHiddenColumns != ''
1579
+ ) {
1580
+ table = table.filter(
1581
+ (items) => this.presetInfoListHiddenColumns.indexOf(items.key) == -1
1582
+ );
1583
+ }
1584
+ if (!this.canDelete) table.splice(table.length - 1, 1);
1585
+ return table;
1586
+ }
1587
+ },
1588
+ async mounted() {
1589
+ this.loading = util.loading(this.$loading, '加载中...');
1590
+ if (this.contents.indexOf('readingSituation') != -1) {
1591
+ await this.getFyListJson(1);
1592
+ await this.getFyListJson(2);
1593
+ this.getListCount(this.flowListCount);
1594
+ this.show = true;
1595
+ } else {
1596
+ this.getFlowList();
1597
+ }
1598
+ this.getSysInfo('preset_type');
1599
+ this.getSysInfo('is_edit');
1600
+ this.getListInfo();
1601
+ },
1602
+
1603
+ methods: {
1604
+ /**
1605
+ * handleBatchDelete
1606
+ * @desc:批量删除
1607
+ * @author liufan
1608
+ * @date 2025年12月31日
1609
+ **/
1610
+ handleBatchDelete(){
1611
+ if(this.batchDeleteSelectList.length == 0){
1612
+ this.$message.error('请选择需要删除的流程历史数据!');
1613
+ return;
1614
+ }
1615
+ if(!this.batchdeletereason){
1616
+ this.$message.error('请输入批量删除的原因!');
1617
+ return;
1618
+ }
1619
+ let ids = this.batchDeleteSelectList.map(item => item.id).join(',');
1620
+ let params = {
1621
+ url:batchDelete,
1622
+ method: 'POST',
1623
+ data: { ids,reason:this.batchdeletereason }
1624
+ };
1625
+ this.$confirm('您确定要批量删除勾选上的流程历史数据吗?', {
1626
+ confirmButtonText: '确定',
1627
+ cancelButtonText: '取消',
1628
+ type: 'warning'
1629
+ })
1630
+ .then(() => {
1631
+ this.loading = util.loading(this.$loading, '批量删除中...');
1632
+ util
1633
+ .ajax(params)
1634
+ .then((res) => {
1635
+ this.loading.close();
1636
+ if (res.rCode == 0 || res.status == 'success') {
1637
+ this.flowData = this.flowData.filter(item => ids.indexOf(item.id) == -1);
1638
+ this.batchdeleteTableList = this.flowData.filter((x) => x.pendstate == 2)
1639
+ this.batchdeletereason='';
1640
+ this.show = false
1641
+ setTimeout(() => {
1642
+ this.show = true;
1643
+ }, 0);
1644
+ this.$message({
1645
+ message: '删除成功',
1646
+ type: 'success'
1647
+ });
1648
+ }else{
1649
+ this.$message.error(res.message);
1650
+ }
1651
+ })
1652
+ .catch((err) => {
1653
+ this.loading.close();
1654
+ if (err.message && err.message !== 'canceled') {
1655
+ this.$message.error(err.message);
1656
+ }
1657
+ }); }).catch(() => {});
1658
+
1659
+
1660
+ },
1661
+ handleBtnShowClick(val) {
1662
+ const { handle, row } = val;
1663
+ if (handle.text == '恢复') {
1664
+ let params = {
1665
+ url: restoredHistory,
1666
+ params: {
1667
+ id: row.id
1668
+ }
1669
+ };
1670
+ this.$confirm('您确定要恢复这条办理历史吗?', {
1671
+ confirmButtonText: '确定',
1672
+ cancelButtonText: '取消',
1673
+ type: 'warning'
1674
+ })
1675
+ .then(() => {
1676
+ this.loading = util.loading(this.$loading, '恢复中...');
1677
+ util.ajax(params).then((res) => {
1678
+ this.loading.close();
1679
+ if (res.rCode == 0 || res.status == 'success') {
1680
+ this.getDeletList();
1681
+ this.getFlowList();
1682
+ this.$message({
1683
+ message: '恢复成功',
1684
+ type: 'success'
1685
+ });
1686
+ }
1687
+ });
1688
+ // _that.subMit(res.results,type)
1689
+ })
1690
+ .catch(() => {});
1691
+ }
1692
+ },
1693
+ recallReadFun() {
1694
+ const _that = this;
1695
+ let pendingIds = _that.selectList.map((x) => x.id).join(',');
1696
+ let params = {
1697
+ url: taskReadWithDraw,
1698
+ params: {
1699
+ pendingIds
1700
+ }
1701
+ };
1702
+ _that.loading = util.loading(_that.$loading, '撤销中...');
1703
+ util.ajax(params).then(async (res) => {
1704
+ _that.loading.close();
1705
+ if (res.rCode == 0 || res.status == 'success') {
1706
+ _that.$message.success('撤销成功!');
1707
+ await _that.getFyListJson(1);
1708
+ _that.getListCount(_that.flowListCount);
1709
+ } else {
1710
+ _that.$message.error(res.message);
1711
+ }
1712
+ });
1713
+ },
1714
+ recallRead() {
1715
+ if (this.selectList.length == 0)
1716
+ return this.$message.warning('请选择需要撤销的分阅');
1717
+ this.$confirm('是否确认撤销选中的分阅?', '提示', {
1718
+ confirmButtonText: '确定',
1719
+ cancelButtonText: '取消',
1720
+ type: 'warning'
1721
+ }).then(() => {
1722
+ this.recallReadFun();
1723
+ });
1724
+ },
1725
+ handleSelectionChange(val,type) {
1726
+ if(type == 'batchDelete'){
1727
+ this.batchDeleteSelectList = val
1728
+ }else{
1729
+ this.selectList = val;
1730
+ }
1731
+ },
1732
+ handledraw(pendedHistoryId) {
1733
+ let params = {
1734
+ url: circularReadWithdraw,
1735
+ params: { pendedHistoryId }
1736
+ };
1737
+ this.$confirm('是否确定撤回当前传阅', {
1738
+ confirmButtonText: '确定',
1739
+ cancelButtonText: '取消',
1740
+ type: 'warning'
1741
+ })
1742
+ .then(() => {
1743
+ this.loading = util.loading(this.$loading, '撤回中...');
1744
+ util.ajax(params).then((res) => {
1745
+ this.loading.close();
1746
+ if (res.rCode == 0) {
1747
+ this.$message({
1748
+ message: '撤回成功',
1749
+ type: 'success'
1750
+ });
1751
+ this.getCircularReadList();
1752
+ }
1753
+ });
1754
+ // _that.subMit(res.results,type)
1755
+ })
1756
+ .catch(() => {});
1757
+ },
1758
+ getCircularReadList() {
1759
+ const _that = this;
1760
+ let params = {
1761
+ url: pendedhistoryListWithCircularReadJson,
1762
+ params: { apprecordid: _that.businessId }
1763
+ };
1764
+ util.ajax(params).then((res) => {
1765
+ if (res.status == 'success' || res.rCode == 0) {
1766
+ _that.circularData = res.data.fyHistoryList;
1767
+ _that.circularData.map((x, i) => {
1768
+ x.sort = i + 1;
1769
+ });
1770
+ _that.hasCircularReadWithdrawAuthority =
1771
+ res.data.hasCircularReadWithdrawAuthority;
1772
+ _that.$nextTick(() => {
1773
+ _that.getListCount(_that.flowListCount);
1774
+ });
1775
+ }
1776
+ });
1777
+ },
1778
+ returnData(type) {
1779
+ switch (type) {
1780
+ case 'preset':
1781
+ this.flowListCount.preset = this.presetData.length;
1782
+ this.flowListCount.presetData = this.presetData;
1783
+ return this.presetData;
1784
+ case 'sign':
1785
+ this.flowListCount.sign = this.signData.length;
1786
+ this.flowListCount.signData = this.signData;
1787
+ return this.signData;
1788
+ case 'splitReading':
1789
+ this.flowListCount.splitReading = this.splitReadingData.length;
1790
+ this.flowListCount.splitReadingData = this.splitReadingData;
1791
+ return this.splitReadingData;
1792
+ case 'circular':
1793
+ this.flowListCount.circular = this.circularData.length;
1794
+ this.flowListCount.circularData = this.circularData;
1795
+ return this.circularData;
1796
+ case 'untreatedRead':
1797
+ this.flowListCount.untreatedRead = this.untreatedReadData.length;
1798
+ this.flowListCount.untreatedReadData = this.untreatedReadData;
1799
+ return this.untreatedReadData;
1800
+ case 'processedRead':
1801
+ this.flowListCount.processedRead = this.processedReadData.length;
1802
+ this.flowListCount.processedReadData = this.processedReadData;
1803
+ return this.processedReadData;
1804
+ default:
1805
+ this.flowListCount.flow = this.flowData.length;
1806
+ this.flowListCount.flowData = this.flowData;
1807
+ return this.flowData;
1808
+ }
1809
+ },
1810
+ handleCellClick(row, column) {
1811
+ if (column.property == 'hasAdjunct' && row.hasAdjunct) {
1812
+ this.showFile(row.wfpendingid);
1813
+ } else if (column.property == 'pressTimes') {
1814
+ if (row.pressTimes != 0) {
1815
+ this.goPress(row.id);
1816
+ }
1817
+ } else if (
1818
+ column.property == 'pendstate' &&
1819
+ this.hasCircularReadWithdrawAuthority
1820
+ ) {
1821
+ this.handledraw(row.id);
1822
+ }
1823
+ },
1824
+ handleBtnClick(data) {
1825
+ // recallRead
1826
+ const { handle, row } = data;
1827
+ if (handle.text == '删除' || handle.text == '修改') {
1828
+ this.formData.reason = handle.text == '修改' ? row.doresult : '';
1829
+ this.del(row.id, handle.text == '删除' ? 'del' : 'modify');
1830
+ } else if (handle.fun == 'recallRead') {
1831
+ this[handle.fun]();
1832
+ }else if(handle.text == '置为失效'){
1833
+ if (row.status == 0) {
1834
+ this.$confirm('您确定要置为失效吗?')
1835
+ .then(() => {
1836
+ this.loading = util.loading(this.$loading, '提交中...');
1837
+ let param = {
1838
+ url: deletePresetInfo,
1839
+ headers: { Accept: 'application/json,text/plain' },
1840
+ method: 'post',
1841
+ data: { id:row.id }
1842
+ };
1843
+ util
1844
+ .ajax(param)
1845
+ .then((res) => {
1846
+ const { status, message } = res;
1847
+ this.loading.close();
1848
+ if (status === 'success') {
1849
+ this.$message.success('操作成功');
1850
+ this.getListInfo();
1851
+ } else {
1852
+ this.$message.error(message || '系统错误,请联系管理员!');
1853
+ }
1854
+ })
1855
+ .catch((err) => {
1856
+ this.loading.close();
1857
+ if (err.message && err.message !== 'canceled') {
1858
+ this.$message.error(err.message);
1859
+ }
1860
+ });
1861
+ })
1862
+ .catch((e) => {
1863
+ // on cancel
1864
+ });
1865
+ } else {
1866
+ this.$message.warning('当前数据已为失效状态');
1867
+ }
1868
+ }
1869
+ },
1870
+ /**
1871
+ * handleFormSubmit
1872
+ * @desc:删除节点点击事件
1873
+ * @param {Object} formData 点击删除的form数据
1874
+ * @author liufan
1875
+ * @date 2022年11月29日
1876
+ **/
1877
+ handleFormSubmit(formData) {
1878
+ this.delLoading = true;
1879
+ let params = {
1880
+ url: this.modalType == 'del' ? deleteFlow : modifyFlow,
1881
+ method: 'POST',
1882
+ data: { id: this.historyId, reason: formData.reason }
1883
+ };
1884
+ if (this.modalType != 'del') {
1885
+ delete params.data.reason;
1886
+ params.data.doResult = formData.reason;
1887
+ params.data.doresult = formData.reason;
1888
+ }
1889
+ util
1890
+ .ajax(params)
1891
+ .then((res) => {
1892
+ const { status, message } = res;
1893
+ this.delLoading = false;
1894
+ if (status === 'success') {
1895
+ this.$message.success(
1896
+ `${this.modalType == 'del' ? '删除' : '修改'}成功`
1897
+ );
1898
+ this.showDel = false;
1899
+ this.handleChange();
1900
+ } else {
1901
+ this.$message.error(message || '系统错误,请联系管理员!');
1902
+ }
1903
+ })
1904
+ .catch((err) => {
1905
+ this.delLoading = false;
1906
+ if (err.message && err.message !== 'canceled') {
1907
+ this.$message.error(err.message);
1908
+ }
1909
+ });
1910
+ },
1911
+ /**
1912
+ * del
1913
+ * @desc:展示删除弹窗
1914
+ * @param {String} id 当前点击数据id
1915
+ * @author liufan
1916
+ * @date 2022年11月29日
1917
+ **/
1918
+ del(id, type) {
1919
+ this.modalType = type;
1920
+ this.historyId = id;
1921
+ this.showDel = true;
1922
+ },
1923
+ /**
1924
+ * handleCurrentChange
1925
+ * @desc:监听页码变化
1926
+ * @param {String} val 当前页
1927
+ * @author liufan
1928
+ * @date 2022年11月29日
1929
+ **/
1930
+ handleCurrentChange(val, type) {
1931
+ this.currentPage = val;
1932
+ if (type == 'press') {
1933
+ this.getPressList();
1934
+ }
1935
+ },
1936
+ /**
1937
+ * handleSizeChange
1938
+ * @desc:监听每页数据显示数量变化
1939
+ * @param {String} val 每页展示数量
1940
+ * @author liufan
1941
+ * @date 2022年11月29日
1942
+ **/
1943
+ handleSizeChange(val) {
1944
+ this.pageSize = val;
1945
+ if (type == 'press') {
1946
+ this.getPressList();
1947
+ }
1948
+ },
1949
+ /**
1950
+ * sortChange
1951
+ * @desc:监听排序变化
1952
+ * @param {Object} info 需要排序的字段及排序方式
1953
+ * @author liufan
1954
+ * @date 2022年11月29日
1955
+ **/
1956
+ sortChange(info, type) {
1957
+ let { prop } = info;
1958
+ this.sidx = prop;
1959
+ this.sord = this.sord == 'asc' ? 'desc' : 'asc';
1960
+ if (type == 'press') {
1961
+ this.getPressList();
1962
+ } else if (type == 'reset') {
1963
+ this.getResetList();
1964
+ } else if (type == 'delete') {
1965
+ this.getDeletList();
1966
+ }
1967
+ },
1968
+ /**
1969
+ * getDeletList
1970
+ * @desc:删除列表数据
1971
+ * @author liufan
1972
+ * @date 2025年12月30日
1973
+ **/
1974
+ getDeletList() {
1975
+ const { pageSize, sidx, sord, currentPage, businessId } = this;
1976
+ this.deleteLoading = true;
1977
+ let params = {
1978
+ url: deletedListJson + '?apprecordId=' + businessId,
1979
+ method: 'POST',
1980
+ data: { page: currentPage, rows: pageSize, sidx, sord }
1981
+ };
1982
+ util
1983
+ .ajax(params)
1984
+ .then((res) => {
1985
+ this.deleteTableList = res.data;
1986
+ this.total = res.totalrecords;
1987
+ this.deleteLoading = false;
1988
+ })
1989
+ .catch((err) => {
1990
+ this.deleteLoading = false;
1991
+ if (err.message && err.message !== 'canceled') {
1992
+ this.$message.error(err.message);
1993
+ }
1994
+ });
1995
+ },
1996
+ /**
1997
+ * getResetList
1998
+ * @desc:重设列表数据
1999
+ * @author liufan
2000
+ * @date 2025年12月30日
2001
+ **/
2002
+ getResetList() {
2003
+ const { pageSize, sidx, sord, currentPage, businessId } = this;
2004
+ this.resetLoading = true;
2005
+ let params = {
2006
+ url: resetJson + '?appRecordId=' + businessId,
2007
+ params: { appRecordId: businessId },
2008
+ method: 'POST',
2009
+ data: { page: currentPage, rows: pageSize, sidx, sord }
2010
+ };
2011
+ util
2012
+ .ajax(params)
2013
+ .then((res) => {
2014
+ this.resetTableList = res.data;
2015
+ this.total = res.totalrecords;
2016
+ this.resetLoading = false;
2017
+ })
2018
+ .catch((err) => {
2019
+ this.resetLoading = false;
2020
+ if (err.message && err.message !== 'canceled') {
2021
+ this.$message.error(err.message);
2022
+ }
2023
+ });
2024
+ },
2025
+ /**
2026
+ * getPressList
2027
+ * @desc:催办列表数据
2028
+ * @author liufan
2029
+ * @date 2022年11月29日
2030
+ **/
2031
+ getPressList() {
2032
+ const { historyId, pageSize, sidx, sord, currentPage } = this;
2033
+ this.pressLoading = true;
2034
+ let params = {
2035
+ url: pressListJson,
2036
+ params: { historyId },
2037
+ method: 'POST',
2038
+ data: { page: currentPage, rows: pageSize, sidx, sord, historyId }
2039
+ };
2040
+ util
2041
+ .ajax(params)
2042
+ .then((res) => {
2043
+ this.pressTableList = res.data;
2044
+ this.total = res.totalrecords;
2045
+ this.pressLoading = false;
2046
+ })
2047
+ .catch((err) => {
2048
+ this.pressLoading = false;
2049
+ if (err.message && err.message !== 'canceled') {
2050
+ this.$message.error(err.message);
2051
+ }
2052
+ });
2053
+ },
2054
+ /**
2055
+ * goPress
2056
+ * @desc:催办列表查看
2057
+ * @param {String} id 催办列表id
2058
+ * @author liufan
2059
+ * @date 2022年11月29日
2060
+ **/
2061
+ goPress(id) {
2062
+ this.historyId = id;
2063
+ this.showPress = true;
2064
+ this.getPressList();
2065
+ },
2066
+ /**
2067
+ * showFile
2068
+ * @desc:附件查看
2069
+ * @param {String} ownId 附件id
2070
+ * @author liufan
2071
+ * @date 2022年11月29日
2072
+ **/
2073
+ showFile(ownId) {
2074
+ this.wfpendingid = ownId;
2075
+ this.showFileList = true;
2076
+ },
2077
+ /**
2078
+ * handleChange
2079
+ * @desc:切换排序方式
2080
+ * @author liufan
2081
+ * @date 2022年11月22日
2082
+ **/
2083
+ handleChange(key, value) {
2084
+ if (value) {
2085
+ this[key] = value;
2086
+ }
2087
+ // this.show = false;
2088
+ this.loading = util.loading(this.$loading, '加载中...');
2089
+ this.getFlowList();
2090
+ },
2091
+ async getFyListJson(type) {
2092
+ let params = {
2093
+ url: fyListJson,
2094
+ params: {
2095
+ appRecordId: this.businessId,
2096
+ status: type
2097
+ }
2098
+ };
2099
+ await util.ajax(params).then((res) => {
2100
+ if (type == 1) {
2101
+ this.untreatedReadData = res.data;
2102
+ this.untreatedReadData.map((x, i) => {
2103
+ x.sort = i + 1;
2104
+ });
2105
+ } else {
2106
+ this.processedReadData = res.data;
2107
+ this.processedReadData.map((x, i) => {
2108
+ x.sort = i + 1;
2109
+ });
2110
+ }
2111
+ });
2112
+ },
2113
+ /**
2114
+ * getFlowList
2115
+ * @desc:获取流程列表
2116
+ * @author liufan
2117
+ * @date 2022年11月22日
2118
+ **/
2119
+ getFlowList(type) {
2120
+ let params = {
2121
+ url: pendedhistoryListJson,
2122
+ params: {
2123
+ apprecordid: this.businessId,
2124
+ pendingAttr: 0,
2125
+ viewType: type || this.viewType,
2126
+ showSuggest: this.showSuggest,
2127
+ ...this.params
2128
+ }
2129
+ };
2130
+ util
2131
+ .ajax(params)
2132
+ .then((res) => {
2133
+ let {
2134
+ status,
2135
+ message,
2136
+ data: {
2137
+ adjunctCode,
2138
+ wfHistoryList,
2139
+ fyHistoryList,
2140
+ hasAgent,
2141
+ isShort,
2142
+ modify,
2143
+ canDelete,
2144
+ canBatchDelete,
2145
+ isSuperRole,
2146
+ isShowReset,
2147
+ taskReadName
2148
+ }
2149
+ } = res;
2150
+ this.loading.close();
2151
+ if (status == 'success') {
2152
+ this.flowTableInfo.adjunctCode = adjunctCode;
2153
+ this.flowTableInfo.hasAgent = hasAgent;
2154
+ this.attachmentPaperClipCssStyle =
2155
+ res.data.attachmentPaperClipCssStyle;
2156
+ this.isShort = isShort;
2157
+ this.taskReadName = taskReadName;
2158
+ this.flowData = wfHistoryList;
2159
+ this.flowData.map((x, i) => {
2160
+ x.sort = i + 1;
2161
+ if (!x.deptid) {
2162
+ x.deptid = x.deptName;
2163
+ }
2164
+ });
2165
+ this.splitReadingData = fyHistoryList;
2166
+ this.splitReadingData.map((x, i) => {
2167
+ x.sort = i + 1;
2168
+ });
2169
+ this.modify = modify;
2170
+ this.canDelete = canDelete;
2171
+ this.canBatchDelete = canBatchDelete;
2172
+ this.isSuperRole = isSuperRole;
2173
+ this.isShowReset = isShowReset;
2174
+ this.show = true;
2175
+ if (this.height == 'auto') {
2176
+ this.$nextTick(() => {
2177
+ this.content.map((x) => {
2178
+ this[`${x.type}Height`] = this.$refs[x.type][0].offsetHeight;
2179
+ });
2180
+ });
2181
+ }
2182
+ if (this.contents.indexOf('circular') != -1) {
2183
+ this.getCircularReadList();
2184
+ } else {
2185
+ this.$nextTick(() => {
2186
+ this.getListCount(this.flowListCount);
2187
+ });
2188
+ }
2189
+ } else {
2190
+ this.$message.error(message || '系统错误,请联系管理员!');
2191
+ }
2192
+ })
2193
+ .catch((err) => {
2194
+ this.loading.close();
2195
+ if (err.message && err.message !== 'canceled') {
2196
+ this.$message.error(err.message);
2197
+ }
2198
+ this.show = true;
2199
+ });
2200
+ },
2201
+ /**
2202
+ * handleClick
2203
+ * @desc:表单点击事件
2204
+ * @param {Object} val 当前点击行数据及按钮
2205
+ * @author liufan
2206
+ * @date 2022年11月10日
2207
+ **/
2208
+ handleClick(val) {
2209
+ const {
2210
+ handle: { text },
2211
+ row: { id, status }
2212
+ } = val;
2213
+ if (text === '置为失效') {
2214
+ if (status == 0) {
2215
+ this.$confirm('您确定要置为失效吗?')
2216
+ .then(() => {
2217
+ this.loading = util.loading(this.$loading, '提交中...');
2218
+ let param = {
2219
+ url: deletePresetInfo,
2220
+ headers: { Accept: 'application/json,text/plain' },
2221
+ method: 'post',
2222
+ params: { id }
2223
+ };
2224
+ util
2225
+ .ajax(param)
2226
+ .then((res) => {
2227
+ const { status, message } = res;
2228
+ this.loading.close();
2229
+ if (status === 'success') {
2230
+ this.$message.success('操作成功');
2231
+ this.getListInfo();
2232
+ } else {
2233
+ this.$message.error(message || '系统错误,请联系管理员!');
2234
+ }
2235
+ })
2236
+ .catch((err) => {
2237
+ this.loading.close();
2238
+ if (err.message && err.message !== 'canceled') {
2239
+ this.$message.error(err.message);
2240
+ }
2241
+ });
2242
+ })
2243
+ .catch((e) => {
2244
+ // on cancel
2245
+ });
2246
+ } else {
2247
+ this.$message.warning('当前数据已为失效状态');
2248
+ }
2249
+ }
2250
+ },
2251
+ /**
2252
+ * getCodeValue
2253
+ * @desc:获取代码表过滤后的值
2254
+ * @param {String} value 展示数据的代码值
2255
+ * @param {String} type 代码表类型
2256
+ * @author liufan
2257
+ * @date 2022年11月10日
2258
+ **/
2259
+ getCodeValue(value, type) {
2260
+ let val = this[type].filter((item) => item.cciValue == value);
2261
+ return val[0].shortName;
2262
+ },
2263
+ /**
2264
+ * getSysInfo
2265
+ * @desc:获取代码表
2266
+ * @param {String} code 编码code值
2267
+ * @author liufan
2268
+ * @date 2022年11月10日
2269
+ **/
2270
+ getSysInfo(code) {
2271
+ let params = {
2272
+ url: findCodeValues,
2273
+ params: { ccCode: code }
2274
+ };
2275
+ util
2276
+ .ajax(params)
2277
+ .then((res) => {
2278
+ const { status, message, data } = res;
2279
+ if (status == 'success') {
2280
+ this[code] = data;
2281
+ } else {
2282
+ this.$message.error(message || '系统错误,请联系管理员!');
2283
+ }
2284
+ })
2285
+ .catch((e) => {});
2286
+ },
2287
+ /**
2288
+ * getListInfo
2289
+ * @desc:获取预设列表数据
2290
+ * @author liufan
2291
+ * @date 2022年11月10日
2292
+ **/
2293
+ getListInfo() {
2294
+ let param = {
2295
+ url: toPresetInfoListIndex,
2296
+ params: { apprecordid: this.businessId }
2297
+ };
2298
+ util
2299
+ .ajax(param)
2300
+ .then((res) => {
2301
+ let {
2302
+ status,
2303
+ message,
2304
+ data: {
2305
+ presetInfoList,
2306
+ presetInfoListHiddenColumns,
2307
+ canDelete,
2308
+ currentUserHasPresetInfoAuth
2309
+ }
2310
+ } = res;
2311
+ this.loading.close();
2312
+ if (status == 'success') {
2313
+ if (presetInfoList) {
2314
+ this.presetData = presetInfoList;
2315
+ this.presetData.map((x, i) => {
2316
+ x.sort = i + 1;
2317
+ });
2318
+ }
2319
+ this.presetInfoListHiddenColumns = presetInfoListHiddenColumns;
2320
+ this.currentUserHasPresetInfoAuth = currentUserHasPresetInfoAuth;
2321
+ this.canDelete = canDelete;
2322
+ } else {
2323
+ this.$message.error(message || '系统错误,请联系管理员!');
2324
+ }
2325
+ })
2326
+ .catch((err) => {
2327
+ this.loading.close();
2328
+ if (err.message && err.message !== 'canceled') {
2329
+ this.$message.error(err.message);
2330
+ }
2331
+ });
2332
+ }
2333
+ }
2334
+ };
2335
+ </script>
2336
+
2337
+ <style></style>