eoss-ui 0.6.60 → 0.6.61

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 (226) hide show
  1. package/lib/eoss-ui.common.js +601 -569
  2. package/lib/flow-list.js +81 -81
  3. package/lib/flow.js +369 -337
  4. package/lib/index.js +1 -1
  5. package/lib/main.js +132 -132
  6. package/lib/qr-code.js +13 -13
  7. package/package.json +159 -159
  8. package/packages/button/index.js +5 -5
  9. package/packages/button/src/main.vue +418 -418
  10. package/packages/button-group/index.js +5 -5
  11. package/packages/button-group/src/main.vue +298 -298
  12. package/packages/calendar/index.js +5 -5
  13. package/packages/card/index.js +5 -5
  14. package/packages/card/src/main.vue +156 -156
  15. package/packages/cascader/index.js +5 -5
  16. package/packages/cascader/src/main.vue +168 -168
  17. package/packages/checkbox-group/index.js +5 -5
  18. package/packages/checkbox-group/src/main.vue +333 -333
  19. package/packages/clients/index.js +5 -5
  20. package/packages/clients/src/main.vue +151 -151
  21. package/packages/data-table/index.js +5 -5
  22. package/packages/data-table/src/children.vue +39 -39
  23. package/packages/data-table/src/column.vue +989 -989
  24. package/packages/data-table/src/main.vue +1822 -1822
  25. package/packages/data-table/src/sizer.vue +195 -195
  26. package/packages/data-table-form/index.js +5 -5
  27. package/packages/data-table-form/src/checkbox.vue +101 -101
  28. package/packages/data-table-form/src/colgroup.vue +17 -17
  29. package/packages/data-table-form/src/main.vue +181 -181
  30. package/packages/data-table-form/src/radio.vue +65 -65
  31. package/packages/data-table-form/src/table.vue +233 -233
  32. package/packages/data-table-form/src/tbody.vue +336 -336
  33. package/packages/data-table-form/src/thead.vue +68 -68
  34. package/packages/date-picker/index.js +5 -5
  35. package/packages/date-picker/src/main.vue +236 -236
  36. package/packages/dialog/index.js +5 -5
  37. package/packages/enable-drag/index.js +5 -5
  38. package/packages/enterprise/index.js +5 -5
  39. package/packages/enterprise/src/main.vue +66 -66
  40. package/packages/error-page/index.js +5 -5
  41. package/packages/error-page/src/main.vue +44 -44
  42. package/packages/flow/index.js +5 -5
  43. package/packages/flow/src/component/CommonOpinions.vue +345 -345
  44. package/packages/flow/src/component/CustomPreset.vue +322 -322
  45. package/packages/flow/src/component/FileList.vue +99 -99
  46. package/packages/flow/src/component/Preset.vue +255 -255
  47. package/packages/flow/src/component/SendMsg.vue +229 -229
  48. package/packages/flow/src/component/TimeLimit.vue +190 -190
  49. package/packages/flow/src/component/taskUnionExamine.vue +617 -611
  50. package/packages/flow/src/form.vue +121 -121
  51. package/packages/flow/src/freeStartFlow.vue +2843 -2843
  52. package/packages/flow/src/main.vue +3186 -3175
  53. package/packages/flow/src/processForm.vue +1087 -1087
  54. package/packages/flow/src/processReject.vue +293 -293
  55. package/packages/flow/src/reset.vue +900 -900
  56. package/packages/flow/src/startTaskRead.vue +658 -646
  57. package/packages/flow/src/supervise.vue +144 -144
  58. package/packages/flow/src/table.vue +58 -58
  59. package/packages/flow-group/index.js +5 -5
  60. package/packages/flow-group/src/main.vue +688 -688
  61. package/packages/flow-list/index.js +5 -5
  62. package/packages/flow-list/src/main.vue +1691 -1691
  63. package/packages/form/index.js +5 -5
  64. package/packages/form/src/main.vue +3583 -3583
  65. package/packages/form/src/table.vue +1426 -1426
  66. package/packages/handle-user/index.js +5 -5
  67. package/packages/handle-user/src/main.vue +138 -138
  68. package/packages/handler/index.js +5 -5
  69. package/packages/handler/src/main.vue +493 -493
  70. package/packages/icon/index.js +5 -5
  71. package/packages/icon/src/main.vue +101 -101
  72. package/packages/icons/index.js +5 -5
  73. package/packages/icons/src/main.vue +81 -81
  74. package/packages/input/index.js +5 -5
  75. package/packages/input/src/main.vue +356 -356
  76. package/packages/input-number/index.js +5 -5
  77. package/packages/input-number/src/main.vue +106 -106
  78. package/packages/label/index.js +5 -5
  79. package/packages/label/src/main.vue +457 -457
  80. package/packages/layout/index.js +5 -5
  81. package/packages/layout/src/item.vue +152 -152
  82. package/packages/layout/src/main.vue +31 -31
  83. package/packages/login/index.js +5 -5
  84. package/packages/login/src/main.vue +1942 -1942
  85. package/packages/login/src/resetPassword.vue +562 -562
  86. package/packages/main/index.js +5 -5
  87. package/packages/main/src/default/message.vue +249 -249
  88. package/packages/main/src/default/notice.vue +157 -157
  89. package/packages/main/src/default/userinfo.vue +503 -503
  90. package/packages/main/src/public/online.vue +89 -89
  91. package/packages/main/src/public/search.vue +462 -462
  92. package/packages/main/src/public/settings.vue +221 -221
  93. package/packages/main/src/simplicity/apps.vue +388 -388
  94. package/packages/main/src/simplicity/avatar.vue +82 -82
  95. package/packages/main/src/simplicity/handler.vue +259 -259
  96. package/packages/main/src/simplicity/index.vue +2086 -2086
  97. package/packages/main/src/simplicity/lists.vue +84 -84
  98. package/packages/main/src/simplicity/menu-list.vue +135 -135
  99. package/packages/main/src/simplicity/message.vue +259 -259
  100. package/packages/main/src/simplicity/notice.vue +190 -190
  101. package/packages/main/src/simplicity/router-page.vue +45 -45
  102. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  103. package/packages/main/src/simplicity/user.vue +257 -257
  104. package/packages/main/src/simplicity/userinfo.vue +312 -312
  105. package/packages/menu/index.js +5 -5
  106. package/packages/menu/src/main.vue +584 -584
  107. package/packages/nav/index.js +5 -5
  108. package/packages/nav/src/main.vue +351 -351
  109. package/packages/notify/index.js +5 -5
  110. package/packages/notify/src/main.vue +538 -538
  111. package/packages/page/index.js +5 -5
  112. package/packages/page/src/main.vue +167 -167
  113. package/packages/pagination/index.js +5 -5
  114. package/packages/pagination/src/main.vue +96 -96
  115. package/packages/player/index.js +5 -5
  116. package/packages/player/src/main.vue +194 -194
  117. package/packages/qr-code/index.js +5 -5
  118. package/packages/qr-code/src/main.vue +170 -170
  119. package/packages/radio-group/index.js +6 -6
  120. package/packages/radio-group/src/main.vue +319 -319
  121. package/packages/retrial-auth/index.js +5 -5
  122. package/packages/retrial-auth/src/main.vue +280 -280
  123. package/packages/select/index.js +5 -5
  124. package/packages/select/src/main.vue +778 -778
  125. package/packages/select-ganged/index.js +5 -5
  126. package/packages/select-ganged/src/main.vue +724 -724
  127. package/packages/selector/index.js +5 -5
  128. package/packages/selector/src/main.vue +687 -687
  129. package/packages/selector-panel/index.js +5 -5
  130. package/packages/selector-panel/src/main.vue +1027 -1027
  131. package/packages/selector-panel/src/selection.vue +177 -177
  132. package/packages/selector-panel/src/tree.vue +129 -129
  133. package/packages/sizer/index.js +5 -5
  134. package/packages/sizer/src/main.vue +254 -254
  135. package/packages/steps/index.js +5 -5
  136. package/packages/steps/src/main.vue +181 -181
  137. package/packages/switch/index.js +5 -5
  138. package/packages/switch/src/main.vue +154 -154
  139. package/packages/table-form/index.js +5 -5
  140. package/packages/tabs/index.js +5 -5
  141. package/packages/tabs/src/main.vue +788 -788
  142. package/packages/tabs-panel/index.js +5 -5
  143. package/packages/tabs-panel/src/main.vue +29 -29
  144. package/packages/theme-chalk/src/base.scss +260 -260
  145. package/packages/theme-chalk/src/button-group.scss +176 -176
  146. package/packages/theme-chalk/src/button.scss +24 -24
  147. package/packages/theme-chalk/src/calendar.scss +113 -113
  148. package/packages/theme-chalk/src/card.scss +99 -99
  149. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  150. package/packages/theme-chalk/src/clients.scss +87 -87
  151. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  152. package/packages/theme-chalk/src/data-table.scss +293 -293
  153. package/packages/theme-chalk/src/date-picker.scss +7 -7
  154. package/packages/theme-chalk/src/dialog.scss +77 -77
  155. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  156. package/packages/theme-chalk/src/enterprise.scss +5 -5
  157. package/packages/theme-chalk/src/error-page.scss +18 -18
  158. package/packages/theme-chalk/src/flow-group.scss +110 -110
  159. package/packages/theme-chalk/src/flow-list.scss +39 -39
  160. package/packages/theme-chalk/src/flow.scss +343 -343
  161. package/packages/theme-chalk/src/form.scss +496 -496
  162. package/packages/theme-chalk/src/handle-user.scss +40 -40
  163. package/packages/theme-chalk/src/handler.scss +143 -143
  164. package/packages/theme-chalk/src/icon.scss +1792 -1792
  165. package/packages/theme-chalk/src/icons.scss +99 -99
  166. package/packages/theme-chalk/src/input.scss +9 -9
  167. package/packages/theme-chalk/src/label.scss +24 -24
  168. package/packages/theme-chalk/src/layout.scss +46 -46
  169. package/packages/theme-chalk/src/login.scss +969 -969
  170. package/packages/theme-chalk/src/main.scss +663 -663
  171. package/packages/theme-chalk/src/menu.scss +222 -222
  172. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  173. package/packages/theme-chalk/src/nav.scss +111 -111
  174. package/packages/theme-chalk/src/page.scss +3 -3
  175. package/packages/theme-chalk/src/pagination.scss +29 -29
  176. package/packages/theme-chalk/src/player.scss +9 -9
  177. package/packages/theme-chalk/src/qr-code.scss +17 -17
  178. package/packages/theme-chalk/src/radio-group.scss +9 -9
  179. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  180. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  181. package/packages/theme-chalk/src/select.scss +8 -8
  182. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  183. package/packages/theme-chalk/src/selector.scss +91 -91
  184. package/packages/theme-chalk/src/simplicity.scss +1351 -1351
  185. package/packages/theme-chalk/src/sizer.scss +36 -36
  186. package/packages/theme-chalk/src/steps.scss +88 -88
  187. package/packages/theme-chalk/src/switch.scss +3 -3
  188. package/packages/theme-chalk/src/table-form.scss +1 -1
  189. package/packages/theme-chalk/src/tabs.scss +87 -87
  190. package/packages/theme-chalk/src/tips.scss +7 -7
  191. package/packages/theme-chalk/src/toolbar.scss +179 -179
  192. package/packages/theme-chalk/src/tree-group.scss +72 -72
  193. package/packages/theme-chalk/src/tree.scss +165 -165
  194. package/packages/theme-chalk/src/upload.scss +168 -168
  195. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  196. package/packages/tips/index.js +5 -5
  197. package/packages/tips/src/main.vue +141 -141
  198. package/packages/toolbar/index.js +5 -5
  199. package/packages/toolbar/src/main.vue +430 -430
  200. package/packages/tree/index.js +5 -5
  201. package/packages/tree-group/index.js +5 -5
  202. package/packages/upload/index.js +5 -5
  203. package/packages/upload/src/main.vue +1347 -1347
  204. package/packages/upload/src/picture.js +15 -15
  205. package/packages/wujie/index.js +5 -5
  206. package/packages/wujie/src/main.vue +145 -145
  207. package/packages/wxlogin/index.js +5 -5
  208. package/packages/wxlogin/src/main.vue +128 -128
  209. package/src/config/api.js +286 -286
  210. package/src/config/image.js +2 -2
  211. package/src/index.js +160 -160
  212. package/src/utils/bus.js +3 -3
  213. package/src/utils/date-util.js +312 -312
  214. package/src/utils/http.js +50 -50
  215. package/src/utils/rules.js +18 -18
  216. package/src/utils/store.js +21 -21
  217. package/src/utils/webSocket.js +107 -107
  218. package/packages/.DS_Store +0 -0
  219. package/packages/autocomplete/.DS_Store +0 -0
  220. package/packages/menu/.DS_Store +0 -0
  221. package/packages/scrollbar/.DS_Store +0 -0
  222. package/packages/select/.DS_Store +0 -0
  223. package/packages/theme-chalk/src/.DS_Store +0 -0
  224. package/packages/upload/.DS_Store +0 -0
  225. package/src/.DS_Store +0 -0
  226. package/src/utils/.DS_Store +0 -0
@@ -1,1691 +1,1691 @@
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 class="es-flow-list-box">
19
- <es-data-table
20
- v-if="show"
21
- :class="{ 'es-flow-group-data-table': item.type !== 'sign' }"
22
- :display="display"
23
- number
24
- @cell-click="handleCellClick"
25
- full
26
- v-bind="item"
27
- :data="returnData(item.type)"
28
- @btn-click="handleBtnClick"
29
- @selection-change="handleSelectionChange"
30
- ></es-data-table>
31
- </div>
32
- </div>
33
- <es-dialog
34
- append-to-body
35
- :close-on-click-modal="false"
36
- title="查看附件"
37
- :visible.sync="showFileList"
38
- v-if="showFileList"
39
- >
40
- <FileList
41
- :ownId="wfpendingid"
42
- :code="flowTableInfo.adjunctCode"
43
- :deleted="false"
44
- :disabled="true"
45
- @cancel="showFileList = false"
46
- />
47
- </es-dialog>
48
- <es-dialog
49
- append-to-body
50
- :close-on-click-modal="false"
51
- title="查看催办记录"
52
- :visible.sync="showPress"
53
- height="500px"
54
- v-if="showPress"
55
- >
56
- <div style="height: 400px" v-loading="pressLoading">
57
- <es-data-table
58
- v-if="show"
59
- :data="pressTableList"
60
- :thead="pressThead"
61
- @page-size-change="handleSizeChange"
62
- @page-current-change="handleCurrentChange"
63
- stripe
64
- full
65
- style="width: 100%"
66
- @sort-change="sortChange"
67
- :page="pageInfo"
68
- />
69
- </div>
70
- </es-dialog>
71
- <es-dialog
72
- append-to-body
73
- :close-on-click-modal="false"
74
- title="删除"
75
- :visible.sync="showDel"
76
- height="auto"
77
- class="del-flow"
78
- v-if="showDel"
79
- >
80
- <es-form
81
- v-loading="delLoading"
82
- :model="formData"
83
- :contents="formItemList"
84
- @submit="handleFormSubmit"
85
- >
86
- </es-form>
87
- </es-dialog>
88
- </div>
89
- </template>
90
-
91
- <script>
92
- import {
93
- findCodeValues,
94
- deletePresetInfo,
95
- pendedhistoryListJson,
96
- toPresetInfoListIndex,
97
- pressListJson,
98
- pendedhistoryListWithCircularReadJson,
99
- deleteFlow,
100
- taskReadWithDraw,
101
- fyListJson,
102
- circularReadWithdraw
103
- } from 'eoss-ui/src/config/api';
104
- import FileList from '../../flow/src/component/FileList.vue';
105
- import util from 'eoss-ui/src/utils/util';
106
- export default {
107
- name: 'EsFlowList',
108
- components: {
109
- [FileList.name]: FileList
110
- },
111
- props: {
112
- businessId: {
113
- type: String,
114
- default: ''
115
- },
116
- getListCount: {
117
- type: Function,
118
- default: () => {}
119
- },
120
- hide: {
121
- type: String,
122
- default: ''
123
- },
124
- params: {
125
- type: Object,
126
- default: () => {
127
- return {};
128
- }
129
- },
130
- toolbar: {
131
- type: Array,
132
- default: () => []
133
- },
134
- headFields: {
135
- type: Array,
136
- default: () => []
137
- },
138
- contents: {
139
- type: Array,
140
- default() {
141
- return ['flow', 'splitReading', 'preset'];
142
- }
143
- },
144
- theadWidth: {
145
- type: Object,
146
- default: () => {
147
- return {};
148
- }
149
- },
150
- type: {
151
- type: String,
152
- default: ''
153
- },
154
- display: Boolean
155
- },
156
- inheritAttrs: false,
157
- data() {
158
- return {
159
- pressLoading: false,
160
- pressTableList: [],
161
- circularData: [],
162
- selectList:[],
163
- untreatedReadData: [],
164
- processedReadData: [],
165
- hasCircularReadWithdrawAuthority: false,
166
- currentPage: 1,
167
- pageSize: 20,
168
- flowListCount: {},
169
- currentUserHasPresetInfoAuth: false,
170
- pressThead: [
171
- {
172
- title: '催办节点',
173
- align: 'center',
174
- sortable: true,
175
- field: 'urge_item'
176
- },
177
- {
178
- title: '催办人名称',
179
- sortable: true,
180
- align: 'center',
181
- field: 'urge_man_name'
182
- },
183
- {
184
- title: '催办时间',
185
- sortable: true,
186
- align: 'center',
187
- field: 'urge_time'
188
- },
189
- {
190
- title: '被催办人名称',
191
- align: 'center',
192
- sortable: true,
193
- field: 'urged_man_name'
194
- }
195
- ],
196
- wfpendingid: '',
197
- showFileList: false,
198
- flowData: [],
199
- splitReadingData: [],
200
- presetData: [],
201
- signData: [],
202
- loading: '', //加载中
203
- preset_type: [], //预设类型
204
- showPress: false, //查看催办记录弹窗
205
- modify: false,
206
- formData: { reason: '' },
207
- formItemList: [
208
- {
209
- name: 'reason',
210
- label: '删除原因',
211
- type: 'textarea',
212
- placeholder: '请输入删除原因',
213
- rules: {
214
- required: true,
215
- message: '请输入删除原因',
216
- trigger: 'blur'
217
- },
218
- value: '',
219
- rows: 5
220
- },
221
- {
222
- type: 'submit',
223
- skin: 'lay-form-btns',
224
- contents: [
225
- {
226
- type: 'primary',
227
- plain: true,
228
- text: '保存',
229
- event: 'confirm'
230
- }
231
- ]
232
- }
233
- ],
234
- delLoading: false,
235
- showDel: false,
236
- attachmentPaperClipCssStyle: '',
237
- is_edit: [], //是否可编辑
238
- flowTableInfo: {
239
- adjunctCode: '',
240
- hasAgent: '1' //是否展示代办人 1:展示 0:不展示
241
- },
242
- show: false,
243
- taskReadName: '', //非流程列表名称
244
- options: [
245
- { label: '时间排序', value: '1' },
246
- { label: '部门排序', value: '2' },
247
- { label: '树形排序', value: '3' }
248
- ],
249
- isShort: 0, //是否隐藏筛选
250
- viewType: '1', //排序方式
251
- flowTableList: [], //流程列表
252
- fyTableList: [], //分阅列表
253
- showSuggest: 'all', //筛选显示数据
254
- presetInfoListHiddenColumns: '', //隐藏表格展示数据
255
- canDelete: false, //是否展示操作按钮
256
- historyId: '',
257
- sidx: '',
258
- sord: '',
259
- total: 0
260
- };
261
- },
262
- computed: {
263
- toolbars() {
264
- return {
265
- flow: [
266
- {
267
- type: 'text',
268
- contents: '流程列表'
269
- },
270
- {
271
- type: 'search',
272
- contents: [
273
- {
274
- name: 'showSuggest',
275
- type: 'radio',
276
- changeSearch: true,
277
- data: [
278
- {
279
- value: 'all',
280
- name: '显示全部',
281
- checked: true
282
- },
283
- { value: 'have', name: '显示已填意见' }
284
- ],
285
- events: {
286
- change: (key, value) => {
287
- this.handleChange(key, value);
288
- }
289
- }
290
- },
291
- {
292
- type: 'select',
293
- placeholder: '请选择',
294
- name: 'viewType',
295
- width: '140px',
296
- changeSearch: true,
297
- events: {
298
- change: (key, value) => {
299
- this.handleChange(key, value);
300
- }
301
- },
302
- data: [
303
- {
304
- value: 1,
305
- selected: true,
306
- name: '时间排序'
307
- },
308
- {
309
- value: 2,
310
- name: '部门排序'
311
- },
312
- {
313
- value: 3,
314
- name: '树形排序'
315
- }
316
- ]
317
- }
318
- ]
319
- }
320
- ],
321
- preset: [
322
- {
323
- type: 'text',
324
- contents: '预设列表'
325
- }
326
- ],
327
- sign: [
328
- {
329
- type: 'button',
330
- contents: [
331
- {
332
- text: '生成处理签',
333
- type: 'primary'
334
- }
335
- ]
336
- }
337
- ],
338
- splitReading: [
339
- {
340
- type: 'text',
341
- contents:
342
- (this.taskReadName ? this.taskReadName : '非流程') + '列表'
343
- }
344
- ],
345
- circular: [
346
- {
347
- type: 'text',
348
- contents: '传阅列表'
349
- }
350
- ],
351
- untreatedRead: [
352
- {
353
- type: 'text',
354
- contents: '未处理分阅列表'
355
- },
356
- {
357
- type: 'button',
358
- contents: [
359
- {
360
- text: '撤销分阅',
361
- fun:'recallRead'
362
- }
363
- ],
364
- }
365
- ],
366
- processedRead: [
367
- {
368
- type: 'text',
369
- contents: '已处理分阅列表'
370
- }
371
- ]
372
- // Reading situation
373
- };
374
- },
375
- pageInfo() {
376
- return {
377
- pageNum: this.currentPage,
378
- pageSize: this.pageSize,
379
- totalCount: this.total
380
- };
381
- },
382
- theads() {
383
- const _that = this;
384
- return {
385
- flow: [
386
- {
387
- label: '经办部门',
388
- field: 'deptid',
389
- align: 'center',
390
- key: 'jbbm',
391
- showOverflowTooltip: true,
392
- width: this.theadWidth.deptid || 150,
393
- render: (h, params) => {
394
- return h(
395
- 'span',
396
- {},
397
- params.row.doDeptName
398
- ? params.row.doDeptName
399
- : params.row.deptName
400
- );
401
- }
402
- },
403
- {
404
- label: '步骤',
405
- field: 'itemname',
406
- align: 'center',
407
- key: 'bz',
408
- showOverflowTooltip: true,
409
- width: this.theadWidth.itemname || 110
410
- },
411
- {
412
- label: '办理人',
413
- field: 'userName',
414
- align: 'center',
415
- key: 'blr',
416
- showOverflowTooltip: true,
417
- width: this.theadWidth.userName || 110
418
- },
419
- {
420
- label: '办理人部门',
421
- field: 'deptName',
422
- align: 'center',
423
- showOverflowTooltip: true,
424
- key: 'blrbm',
425
- width: this.theadWidth.deptName || 110
426
- },
427
- {
428
- label: '状态',
429
- field: 'pendstate',
430
- key: 'zt',
431
- align: 'center',
432
- showOverflowTooltip: true,
433
- width: this.theadWidth.pendstate || 80,
434
- render: (h, params) => {
435
- return h('span', {
436
- style: {
437
- color:
438
- params.row.pendstate == 0 || params.row.pendstate == 3
439
- ? 'red'
440
- : params.row.pendstate == 1
441
- ? 'green'
442
- : 'deepskyblue'
443
- },
444
- domProps: { innerHTML: params.row.querykeywords }
445
- });
446
- }
447
- },
448
- {
449
- label: '办理意见',
450
- field: 'doresult',
451
- align: 'center',
452
- width: this.theadWidth.doresult,
453
- showOverflowTooltip: true,
454
- key: 'blyj',
455
- render: (h, params) => {
456
- if (
457
- params.row.doresult &&
458
- (params.row.doresult.startsWith('http') ||
459
- params.row.doresult.startsWith('https'))
460
- ) {
461
- return h('img', {
462
- attrs: { src: params.row.doresult },
463
- style: { width: '100px', height: '100px' }
464
- });
465
- } else {
466
- return h('span', {}, [
467
- params.row.doresult
468
- ? params.row.doresult + (params.row.handleInfo ? '&' : '')
469
- : '',
470
- h(
471
- 'span',
472
- { style: { color: '#A5A5A5', marginLeft: '2px' } },
473
- params.row.handleInfo || ''
474
- )
475
- ]);
476
- }
477
- }
478
- },
479
- {
480
- label: '验签',
481
- field: 'authTypeStr',
482
- align: 'center',
483
- key: 'yq',
484
- showOverflowTooltip: true,
485
- width: this.theadWidth.authTypeStr || 70,
486
- render: (h, params) => {
487
- return h(
488
- 'span',
489
- { style: { color: 'deepskyblue' } },
490
- params.row.authTypeStr
491
- );
492
- }
493
- },
494
- {
495
- label: '附件',
496
- key: 'fj',
497
- field: 'hasAdjunct',
498
- align: 'center',
499
- showOverflowTooltip: true,
500
- width: this.theadWidth.hasAdjunct || 70,
501
- render: (h, params) => {
502
- if (params.row.hasAdjunct) {
503
- return h('span', {
504
- style: _that.attachmentPaperClipCssStyle
505
- ? _that.attachmentPaperClipCssStyle
506
- : { color: 'red', fontSize: '20px' },
507
- class: 'iconfont es-icon-fujian'
508
- });
509
- } else {
510
- return h('span', {}, '');
511
- }
512
- }
513
- },
514
- {
515
- label: '时间',
516
- field: 'doetime',
517
- align: 'center',
518
- key: 'sj',
519
- showOverflowTooltip: true,
520
- width: this.theadWidth.doetime || 150,
521
- render: (h, params) => {
522
- return h(
523
- 'span',
524
- {},
525
- params.row.doetime
526
- ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
527
- : ''
528
- );
529
- }
530
- },
531
- {
532
- label: '代办人',
533
- field: 'douserid',
534
- align: 'center',
535
- key: 'dbr',
536
- showOverflowTooltip: true,
537
- width: this.theadWidth.douserid || 80,
538
- hide: _that.flowTableInfo.hasAgent != '1'
539
- },
540
- {
541
- label: '催办',
542
- field: 'pressTimes',
543
- align: 'center',
544
- key: 'cb',
545
- showOverflowTooltip: true,
546
- width: this.theadWidth.pressTimes || 150,
547
- render: (h, params) => {
548
- return h(
549
- 'span',
550
- { style: 'color:deepskyblue;cursor: pointer;' },
551
- params.row.pressTimes
552
- );
553
- }
554
- },
555
- {
556
- title: '操作',
557
- type: 'handle',
558
- width: this.modify ? '130' : '100',
559
- template: '',
560
- events: [
561
- {
562
- text: '删除',
563
- rules: (rows) => {
564
- return rows.canDelete;
565
- }
566
- }
567
- // {
568
- // text: '修改',
569
- // rules: (rows) => {
570
- // return this.modify && rows.pendstate == 2;
571
- // }
572
- // }
573
- ]
574
- }
575
- ],
576
- preset: this.thead,
577
- splitReading: [
578
- {
579
- label: '经办部门',
580
- field: 'deptid',
581
- key: 'jbbm',
582
- align: 'center',
583
- showOverflowTooltip: true,
584
- width: this.theadWidth.deptid || 150
585
- },
586
- {
587
- label: '步骤',
588
- field: 'itemname',
589
- align: 'center',
590
- key: 'bz',
591
- showOverflowTooltip: true,
592
- width: this.theadWidth.itemname || 110
593
- },
594
- {
595
- label: '办理人',
596
- field: 'userName',
597
- align: 'center',
598
- key: 'blr',
599
- showOverflowTooltip: true,
600
- width: this.theadWidth.userName || 110
601
- },
602
- {
603
- label: '状态',
604
- field: 'pendstate',
605
- align: 'center',
606
- key: 'zt',
607
- showOverflowTooltip: true,
608
- width: this.theadWidth.pendstate || 80,
609
- render: (h, params) => {
610
- return h('span', {
611
- style: {
612
- color:
613
- params.row.pendstate == 0 || params.row.pendstate == 3
614
- ? 'red'
615
- : params.row.pendstate == 1
616
- ? 'green'
617
- : 'deepskyblue'
618
- },
619
- domProps: { innerHTML: params.row.querykeywords }
620
- });
621
- }
622
- },
623
- {
624
- label: '办理意见',
625
- field: 'doresult',
626
- align: 'center',
627
- key: 'blyj',
628
- width: this.theadWidth.doresult,
629
- showOverflowTooltip: true,
630
- render: (h, params) => {
631
- if (
632
- params.row.doresult &&
633
- (params.row.doresult.startsWith('http') ||
634
- params.row.doresult.startsWith('https'))
635
- ) {
636
- return h('img', {
637
- attrs: { src: params.row.doresult },
638
- style: { width: '100px', height: '100px' }
639
- });
640
- } else {
641
- return h('span', {}, [
642
- params.row.doresult
643
- ? params.row.doresult + (params.row.handleInfo ? '&' : '')
644
- : '',
645
- h(
646
- 'span',
647
- { style: { color: '#A5A5A5', marginLeft: '2px' } },
648
- params.row.handleInfo || ''
649
- )
650
- ]);
651
- }
652
- }
653
- },
654
- {
655
- label: '验签',
656
- field: 'authTypeStr',
657
- align: 'center',
658
- key: 'yq',
659
- showOverflowTooltip: true,
660
- width: this.theadWidth.authTypeStr || 70,
661
- render: (h, params) => {
662
- return h(
663
- 'span',
664
- { style: { color: 'deepskyblue' } },
665
- params.row.authTypeStr
666
- );
667
- }
668
- },
669
- {
670
- label: '附件',
671
- field: 'hasAdjunct',
672
- align: 'center',
673
- key: 'fj',
674
- showOverflowTooltip: true,
675
- width: this.theadWidth.hasAdjunct || 70,
676
- render: (h, params) => {
677
- if (params.row.hasAdjunct) {
678
- return h('span', {
679
- style: _that.attachmentPaperClipCssStyle
680
- ? _that.attachmentPaperClipCssStyle
681
- : { color: 'red', fontSize: '20px' },
682
- class: 'iconfont es-icon-fujian'
683
- });
684
- } else {
685
- return h('span', {}, '');
686
- }
687
- }
688
- },
689
- {
690
- label: '时间',
691
- field: 'doetime',
692
- align: 'center',
693
- key: 'sj',
694
- showOverflowTooltip: true,
695
- width: this.theadWidth.doetime || 150,
696
- render: (h, params) => {
697
- return h(
698
- 'span',
699
- {},
700
- params.row.doetime
701
- ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
702
- : ''
703
- );
704
- }
705
- },
706
- {
707
- label: '代办人',
708
- field: 'douserid',
709
- align: 'center',
710
- key: 'dbr',
711
- showOverflowTooltip: true,
712
- width: this.theadWidth.douserid || 80,
713
- hide: _that.flowTableInfo.hasAgent != '1'
714
- },
715
- {
716
- label: '催办',
717
- field: 'pressTimes',
718
- align: 'center',
719
- key: 'cb',
720
- showOverflowTooltip: true,
721
- width: this.theadWidth.pressTimes || 150,
722
- render: (h, params) => {
723
- return h(
724
- 'span',
725
- { style: 'color:deepskyblue;cursor: pointer;' },
726
- params.row.pressTimes
727
- );
728
- }
729
- },
730
- {
731
- title: '操作',
732
- type: 'handle',
733
- width: '100',
734
- template: '',
735
- events: [
736
- {
737
- text: '删除',
738
- rules: (rows) => {
739
- return rows.canDelete;
740
- }
741
- }
742
- ]
743
- }
744
- ],
745
- circular: [
746
- {
747
- label: '发起人',
748
- field: 'circularReadInitiatorName',
749
- align: 'center',
750
- key: 'fqr',
751
- showOverflowTooltip: true,
752
- width: this.theadWidth.circularReadInitiatorName || 150
753
- },
754
- {
755
- label: '传阅部门',
756
- field: 'circularReadOrgName',
757
- align: 'center',
758
- key: 'cybm',
759
- showOverflowTooltip: true,
760
- width: this.theadWidth.circularReadOrgName || 110
761
- },
762
- {
763
- label: '传阅人',
764
- field: 'userName',
765
- align: 'center',
766
- key: 'cyr',
767
- showOverflowTooltip: true,
768
- width: this.theadWidth.userName || 110
769
- },
770
- {
771
- label: '步骤',
772
- field: 'itemname',
773
- align: 'center',
774
- showOverflowTooltip: true,
775
- key: 'bz',
776
- width: this.theadWidth.itemname || 110
777
- },
778
- {
779
- label: '状态',
780
- field: 'pendstate',
781
- key: 'zt',
782
- align: 'center',
783
- showOverflowTooltip: true,
784
- width: this.theadWidth.pendstate || 140,
785
- render: (h, params) => {
786
- return h('span', {
787
- style: {
788
- color:
789
- params.row.pendstate == 0 || params.row.pendstate == 3
790
- ? 'red'
791
- : params.row.pendstate == 1
792
- ? 'green'
793
- : 'deepskyblue',
794
- cursor: this.hasCircularReadWithdrawAuthority
795
- ? 'pointer'
796
- : 'unset'
797
- },
798
- domProps: {
799
- innerHTML:
800
- params.row.querykeywords +
801
- (this.hasCircularReadWithdrawAuthority
802
- ? `<span style="color:#7AB0D5">(撤回)</span>`
803
- : '')
804
- }
805
- });
806
- }
807
- },
808
- {
809
- label: '送达时间',
810
- field: 'createtime',
811
- align: 'center',
812
- key: 'sdsj',
813
- showOverflowTooltip: true,
814
- width: this.theadWidth.createtime || 170
815
- },
816
- {
817
- label: '办理时间',
818
- field: 'doetime',
819
- align: 'center',
820
- key: 'blsj',
821
- showOverflowTooltip: true,
822
- width: this.theadWidth.doetime || 150
823
- },
824
-
825
- {
826
- label: '附件',
827
- key: 'fj',
828
- field: 'hasAdjunct',
829
- align: 'center',
830
- showOverflowTooltip: true,
831
- width: this.theadWidth.hasAdjunct || 70,
832
- render: (h, params) => {
833
- if (params.row.hasAdjunct) {
834
- return h('span', {
835
- style: _that.attachmentPaperClipCssStyle
836
- ? _that.attachmentPaperClipCssStyle
837
- : { color: 'red', fontSize: '20px' },
838
- class: 'iconfont es-icon-fujian'
839
- });
840
- } else {
841
- return h('span', {}, '');
842
- }
843
- }
844
- },
845
- {
846
- label: '提醒',
847
- field: 'pressTimes',
848
- align: 'center',
849
- key: 'tx',
850
- showOverflowTooltip: true,
851
- width: this.theadWidth.pressTimes || 150,
852
- render: (h, params) => {
853
- return h(
854
- 'span',
855
- { style: 'color:deepskyblue;cursor: pointer;' },
856
- params.row.pressTimes
857
- );
858
- }
859
- },
860
- {
861
- label: '阅结意见 & 说明',
862
- field: 'doresult',
863
- align: 'center',
864
- width: this.theadWidth.doresult,
865
- showOverflowTooltip: true,
866
- key: 'blyj',
867
- render: (h, params) => {
868
- if (
869
- params.row.doresult &&
870
- (params.row.doresult.startsWith('http') ||
871
- params.row.doresult.startsWith('https'))
872
- ) {
873
- return h('img', {
874
- attrs: { src: params.row.doresult },
875
- style: { width: '100px', height: '100px' }
876
- });
877
- } else {
878
- return h('span', {}, [
879
- params.row.doresult
880
- ? params.row.doresult + (params.row.handleInfo ? '&' : '')
881
- : '',
882
- h(
883
- 'span',
884
- { style: { color: '#A5A5A5', marginLeft: '2px' } },
885
- params.row.handleInfo || ''
886
- )
887
- ]);
888
- }
889
- }
890
- }
891
- ],
892
- untreatedRead: [
893
- {
894
- label: '步骤',
895
- field: 'itemid',
896
- align: 'center',
897
- key: 'bz',
898
- showOverflowTooltip: true,
899
- width: this.theadWidth.itemid || 110
900
- },
901
- {
902
- label: '办理人',
903
- field: 'userName',
904
- align: 'center',
905
- key: 'blr',
906
- showOverflowTooltip: true,
907
- width: this.theadWidth.userName
908
- },
909
- {
910
- label: '办理状态',
911
- field: 'pendstate',
912
- key: 'blzt',
913
- align: 'center',
914
- showOverflowTooltip: true,
915
- width: this.theadWidth.pendstate || 110,
916
- render: (h, params) => {
917
- return h('span', {
918
- style: {
919
- color:
920
- params.row.pendstate == 0 || params.row.pendstate == 3
921
- ? 'red'
922
- : params.row.pendstate == 1
923
- ? 'green'
924
- : 'deepskyblue'
925
- },
926
- domProps: { innerHTML: params.row.querykeywords }
927
- });
928
- }
929
- },
930
- {
931
- label: '创建时间',
932
- field: 'createtime',
933
- align: 'center',
934
- key: 'cjsj',
935
- showOverflowTooltip: true,
936
- width: this.theadWidth.createtime || 150,
937
- render: (h, params) => {
938
- return h(
939
- 'span',
940
- {},
941
- params.row.doetime
942
- ? util.formatDate(params.row.createtime, 'yyyy-MM-dd HH:mm')
943
- : ''
944
- );
945
- }
946
- }
947
- ],
948
- processedRead: [
949
- {
950
- label: '步骤',
951
- field: 'itemid',
952
- align: 'center',
953
- key: 'bz',
954
- showOverflowTooltip: true,
955
- width: this.theadWidth.itemid || 110
956
- },
957
- {
958
- label: '办理人',
959
- field: 'userName',
960
- align: 'center',
961
- key: 'blr',
962
- showOverflowTooltip: true,
963
- width: this.theadWidth.userName
964
- },
965
- {
966
- label: '办理状态',
967
- field: 'pendstate',
968
- key: 'blzt',
969
- align: 'center',
970
- showOverflowTooltip: true,
971
- width: this.theadWidth.pendstate || 110,
972
- render: (h, params) => {
973
- return h('span', {
974
- style: {
975
- color:
976
- params.row.pendstate == 0 || params.row.pendstate == 3
977
- ? 'red'
978
- : params.row.pendstate == 1
979
- ? 'green'
980
- : 'deepskyblue'
981
- },
982
- domProps: { innerHTML: params.row.querykeywords }
983
- });
984
- }
985
- },
986
- {
987
- label: '办理时间',
988
- field: 'doetime',
989
- align: 'center',
990
- key: 'blsj',
991
- showOverflowTooltip: true,
992
- width: this.theadWidth.doetime || 150,
993
- render: (h, params) => {
994
- return h(
995
- 'span',
996
- {},
997
- params.row.doetime
998
- ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
999
- : ''
1000
- );
1001
- }
1002
- },
1003
- {
1004
- label: '代办人',
1005
- field: 'douserid',
1006
- align: 'center',
1007
- key: 'dbr',
1008
- showOverflowTooltip: true,
1009
- width: this.theadWidth.douserid
1010
- },
1011
- {
1012
- label: '意见',
1013
- field: 'doresult',
1014
- align: 'center',
1015
- key: 'yj',
1016
- showOverflowTooltip: true,
1017
- width: this.theadWidth.doresult
1018
- }
1019
- ]
1020
- };
1021
- },
1022
- content() {
1023
- const _that = this;
1024
- let newContents = JSON.parse(JSON.stringify(this.contents));
1025
- if (this.contents.indexOf('circular') != -1) {
1026
- newContents = newContents.filter((item) => item != 'splitReading');
1027
- }
1028
- if (newContents.indexOf('readingSituation') != -1) {
1029
- newContents = ['untreatedRead', 'processedRead'];
1030
- }
1031
- let contents = newContents.map((item) => {
1032
- if (typeof item === 'string') {
1033
- let data = [];
1034
- if (_that.headFields.length > 0) {
1035
- _that.headFields.map((headFiled) => {
1036
- if (headFiled.showDefault) {
1037
- _that.theads[item].map((theadItem) => {
1038
- if (theadItem.field === headFiled.field) {
1039
- data.push({ ...theadItem, ...headFiled });
1040
- }
1041
- });
1042
- } else {
1043
- data.push(headFiled);
1044
- }
1045
- });
1046
- _that.theads[item].map((x) => {
1047
- if (x.type == 'handle') {
1048
- data.push(x);
1049
- }
1050
- });
1051
- }
1052
- return {
1053
- type: item,
1054
- checkbox:newContents.indexOf('untreatedRead') !=-1,
1055
- toolbar: this.toolbars[item],
1056
- thead: data.length > 0 ? data : this.theads[item],
1057
- showFormBtn: false
1058
- };
1059
- } else {
1060
- if (!Object.prototype.hasOwnProperty.call(item, 'toolbar')) {
1061
- let toolbars = this.toolbars[item.type];
1062
- return { ...item, toolbars };
1063
- }
1064
- if (!Object.prototype.hasOwnProperty.call(item, 'thead')) {
1065
- let thead = this.theads[item.type];
1066
- return { ...item, thead };
1067
- }
1068
- return item;
1069
- }
1070
- });
1071
- return contents;
1072
- },
1073
- newToolbar() {
1074
- if (this.toolbar && this.toolbar.length > 0) {
1075
- return this.toolbar;
1076
- } else {
1077
- return [];
1078
- }
1079
- },
1080
- thead() {
1081
- let table = [
1082
- {
1083
- title: '步骤',
1084
- align: 'center',
1085
- width: this.theadWidth.nodeName || '100',
1086
- field: 'nodeName'
1087
- },
1088
- {
1089
- title: '预设办理人',
1090
- width: this.theadWidth.presetUserName || '120',
1091
- align: 'center',
1092
- field: 'presetUserName'
1093
- },
1094
- {
1095
- title: '是否可编辑',
1096
- key: 'sfkbj',
1097
- align: 'center',
1098
- width: this.theadWidth.isEdit || '100',
1099
- render: (h, params) => {
1100
- return h('span', this.getCodeValue(params.row.isEdit, 'is_edit'));
1101
- },
1102
- field: 'isEdit'
1103
- },
1104
- {
1105
- key: 'zt',
1106
- title: '状态',
1107
- width: this.theadWidth.statusName || '80',
1108
- align: 'center',
1109
- field: 'statusName'
1110
- },
1111
- {
1112
- title: '预设类型',
1113
- key: 'yslx',
1114
- width: this.theadWidth.presetType || '120',
1115
- align: 'center',
1116
- render: (h, params) => {
1117
- return h(
1118
- 'span',
1119
- this.getCodeValue(params.row.presetType, 'preset_type')
1120
- );
1121
- },
1122
- field: 'presetType'
1123
- },
1124
- {
1125
- title: '流程名称',
1126
- key: 'lcmc',
1127
- width: this.theadWidth.processDefName,
1128
- align: 'center',
1129
- field: 'processDefName'
1130
- },
1131
- {
1132
- title: '上一步骤',
1133
- key: 'sybz',
1134
- align: 'center',
1135
- width: this.theadWidth.lastNodeName,
1136
- field: 'lastNodeName'
1137
- },
1138
- {
1139
- title: '创建步骤',
1140
- key: 'cjbz',
1141
- align: 'center',
1142
- width: this.theadWidth.operationNodeName,
1143
- field: 'operationNodeName'
1144
- },
1145
- {
1146
- title: '创建人',
1147
- key: 'cjr',
1148
- width: this.theadWidth.creatorName || '120',
1149
- align: 'center',
1150
- field: 'creatorName'
1151
- },
1152
- {
1153
- title: '创建时间',
1154
- width: this.theadWidth.createTime || '150',
1155
- key: 'cjsj',
1156
- align: 'center',
1157
- render: (h, params) => {
1158
- return h(
1159
- 'span',
1160
- util.formatDate(params.row.createTime, 'yyyy-MM-dd HH:mm')
1161
- );
1162
- },
1163
- field: 'createTime'
1164
- },
1165
- {
1166
- title: '操作区域',
1167
- type: 'handle',
1168
- align: 'center',
1169
- width: '120',
1170
- events: [
1171
- {
1172
- text: '置为失效'
1173
- }
1174
- ]
1175
- }
1176
- ];
1177
- if (
1178
- this.presetInfoListHiddenColumns != undefined &&
1179
- this.presetInfoListHiddenColumns != ''
1180
- ) {
1181
- table = table.filter(
1182
- (items) => this.presetInfoListHiddenColumns.indexOf(items.key) == -1
1183
- );
1184
- }
1185
- if (!this.canDelete) table.splice(table.length - 1, 1);
1186
- return table;
1187
- }
1188
- },
1189
- async mounted() {
1190
- this.loading = util.loading(this.$loading, '加载中...');
1191
- if (this.contents.indexOf('readingSituation') != -1) {
1192
- await this.getFyListJson(1);
1193
- await this.getFyListJson(2);
1194
- this.getListCount(this.flowListCount);
1195
- this.show = true;
1196
- } else {
1197
- this.getFlowList();
1198
- }
1199
- this.getSysInfo('preset_type');
1200
- this.getSysInfo('is_edit');
1201
- this.getListInfo();
1202
- },
1203
-
1204
- methods: {
1205
- recallReadFun(){
1206
- const _that = this
1207
- let pendingIds = _that.selectList.map(x => x.id).join(',');
1208
- let params = {
1209
- url:taskReadWithDraw,
1210
- params:{
1211
- pendingIds
1212
- }
1213
- }
1214
- _that.loading = util.loading(_that.$loading, '撤销中...');
1215
- util.ajax(params).then(async res=>{
1216
- _that.loading.close();
1217
- if(res.rCode == 0 || res.status=='success'){
1218
- _that.$message.success('撤销成功!');
1219
- await _that.getFyListJson(1);
1220
- _that.getListCount(_that.flowListCount);
1221
- }else{
1222
- _that.$message.error(res.message);
1223
- }
1224
-
1225
- })
1226
- },
1227
- recallRead(){
1228
- if(this.selectList.length == 0) return this.$message.warning('请选择需要撤销的分阅')
1229
- this.$confirm('是否确认撤销选中的分阅?', '提示', {
1230
- confirmButtonText: '确定',
1231
- cancelButtonText: '取消',
1232
- type: 'warning'
1233
- }).then(() => {
1234
- this.recallReadFun()
1235
- })
1236
- },
1237
- handleSelectionChange(val){
1238
- this.selectList = val
1239
- },
1240
- handledraw(pendedHistoryId) {
1241
- let params = {
1242
- url: circularReadWithdraw,
1243
- params: { pendedHistoryId }
1244
- };
1245
- this.$confirm('是否确定撤回当前传阅', {
1246
- confirmButtonText: '确定',
1247
- cancelButtonText: '取消',
1248
- type: 'warning'
1249
- })
1250
- .then(() => {
1251
- this.loading = util.loading(this.$loading, '撤回中...');
1252
- util.ajax(params).then((res) => {
1253
- this.loading.close();
1254
- if (res.rCode == 0) {
1255
- this.$message({
1256
- message: '撤回成功',
1257
- type: 'success'
1258
- });
1259
- this.getCircularReadList();
1260
- }
1261
- });
1262
- // _that.subMit(res.results,type)
1263
- })
1264
- .catch(() => {});
1265
- },
1266
- getCircularReadList() {
1267
- const _that = this;
1268
- let params = {
1269
- url: pendedhistoryListWithCircularReadJson,
1270
- params: { apprecordid: _that.businessId }
1271
- };
1272
- util.ajax(params).then((res) => {
1273
- if (res.status == 'success' || res.rCode == 0) {
1274
- _that.circularData = res.data.fyHistoryList;
1275
- _that.hasCircularReadWithdrawAuthority =
1276
- res.data.hasCircularReadWithdrawAuthority;
1277
- _that.$nextTick(() => {
1278
- _that.getListCount(_that.flowListCount);
1279
- });
1280
- }
1281
- });
1282
- },
1283
- returnData(type) {
1284
- switch (type) {
1285
- case 'preset':
1286
- this.flowListCount.preset = this.presetData.length;
1287
- return this.presetData;
1288
- case 'sign':
1289
- this.flowListCount.sign = this.signData.length;
1290
- return this.signData;
1291
- case 'splitReading':
1292
- this.flowListCount.splitReading = this.splitReadingData.length;
1293
- return this.splitReadingData;
1294
- case 'circular':
1295
- this.flowListCount.circular = this.circularData.length;
1296
- return this.circularData;
1297
- case 'untreatedRead':
1298
- this.flowListCount.untreatedRead = this.untreatedReadData.length;
1299
- return this.untreatedReadData;
1300
- case 'processedRead':
1301
- this.flowListCount.processedRead = this.processedReadData.length;
1302
- return this.processedReadData;
1303
- default:
1304
- this.flowListCount.flow = this.flowData.length;
1305
- return this.flowData;
1306
- }
1307
- },
1308
- handleCellClick(row, column) {
1309
- if (column.property == 'hasAdjunct' && row.hasAdjunct) {
1310
- this.showFile(row.wfpendingid);
1311
- } else if (column.property == 'pressTimes') {
1312
- this.goPress(row.id);
1313
- } else if (
1314
- column.property == 'pendstate' &&
1315
- this.hasCircularReadWithdrawAuthority
1316
- ) {
1317
- this.handledraw(row.id);
1318
- }
1319
- },
1320
- handleBtnClick(data) {
1321
- // recallRead
1322
- const { handle, row } = data;
1323
- if (handle.text == '删除') {
1324
- this.del(row.id);
1325
- }else if(handle.fun == 'recallRead'){
1326
- this[handle.fun]()
1327
- }
1328
- },
1329
- /**
1330
- * handleFormSubmit
1331
- * @desc:删除节点点击事件
1332
- * @param {Object} formData 点击删除的form数据
1333
- * @author liufan
1334
- * @date 2022年11月29日
1335
- **/
1336
- handleFormSubmit(formData) {
1337
- this.delLoading = true;
1338
- let params = {
1339
- url: deleteFlow,
1340
- method: 'POST',
1341
- data: { id: this.historyId, reason: formData.reason }
1342
- };
1343
- util
1344
- .ajax(params)
1345
- .then((res) => {
1346
- const { status, message } = res;
1347
- this.delLoading = false;
1348
- if (status === 'success') {
1349
- this.$message.success('删除成功');
1350
- this.showDel = false;
1351
- this.handleChange();
1352
- } else {
1353
- this.$message.error(message || '系统错误,请联系管理员!');
1354
- }
1355
- })
1356
- .catch((err) => {
1357
- this.delLoading = false;
1358
- if (err.message && err.message !== 'canceled') {
1359
- this.$message.error(err.message);
1360
- }
1361
- });
1362
- },
1363
- /**
1364
- * del
1365
- * @desc:展示删除弹窗
1366
- * @param {String} id 当前点击数据id
1367
- * @author liufan
1368
- * @date 2022年11月29日
1369
- **/
1370
- del(id) {
1371
- this.historyId = id;
1372
- this.showDel = true;
1373
- },
1374
- /**
1375
- * handleCurrentChange
1376
- * @desc:监听页码变化
1377
- * @param {String} val 当前页
1378
- * @author liufan
1379
- * @date 2022年11月29日
1380
- **/
1381
- handleCurrentChange(val) {
1382
- this.currentPage = val;
1383
- this.getPressList();
1384
- },
1385
- /**
1386
- * handleSizeChange
1387
- * @desc:监听每页数据显示数量变化
1388
- * @param {String} val 每页展示数量
1389
- * @author liufan
1390
- * @date 2022年11月29日
1391
- **/
1392
- handleSizeChange(val) {
1393
- this.pageSize = val;
1394
- this.getPressList();
1395
- },
1396
- /**
1397
- * sortChange
1398
- * @desc:监听排序变化
1399
- * @param {Object} info 需要排序的字段及排序方式
1400
- * @author liufan
1401
- * @date 2022年11月29日
1402
- **/
1403
- sortChange(info) {
1404
- let { prop, order } = info;
1405
- this.sidx = prop;
1406
- this.sord = order.replace('ending', '');
1407
- this.getPressList();
1408
- },
1409
- /**
1410
- * getPressList
1411
- * @desc:催办列表数据
1412
- * @author liufan
1413
- * @date 2022年11月29日
1414
- **/
1415
- getPressList() {
1416
- const { historyId, pageSize, sidx, sord, currentPage } = this;
1417
- this.pressLoading = true;
1418
- let params = {
1419
- url: pressListJson,
1420
- params: { historyId },
1421
- method: 'POST',
1422
- data: { page: currentPage, rows: pageSize, sidx, sord, historyId }
1423
- };
1424
- util
1425
- .ajax(params)
1426
- .then((res) => {
1427
- this.pressTableList = res.data;
1428
- this.total = res.totalrecords;
1429
- this.pressLoading = false;
1430
- })
1431
- .catch((err) => {
1432
- this.pressLoading = false;
1433
- if (err.message && err.message !== 'canceled') {
1434
- this.$message.error(err.message);
1435
- }
1436
- });
1437
- },
1438
- /**
1439
- * goPress
1440
- * @desc:催办列表查看
1441
- * @param {String} id 催办列表id
1442
- * @author liufan
1443
- * @date 2022年11月29日
1444
- **/
1445
- goPress(id) {
1446
- this.historyId = id;
1447
- this.showPress = true;
1448
- this.getPressList();
1449
- },
1450
- /**
1451
- * showFile
1452
- * @desc:附件查看
1453
- * @param {String} ownId 附件id
1454
- * @author liufan
1455
- * @date 2022年11月29日
1456
- **/
1457
- showFile(ownId) {
1458
- this.wfpendingid = ownId;
1459
- this.showFileList = true;
1460
- },
1461
- /**
1462
- * handleChange
1463
- * @desc:切换排序方式
1464
- * @author liufan
1465
- * @date 2022年11月22日
1466
- **/
1467
- handleChange(key, value) {
1468
- if (value) {
1469
- this[key] = value;
1470
- }
1471
- // this.show = false;
1472
- this.loading = util.loading(this.$loading, '加载中...');
1473
- this.getFlowList();
1474
- },
1475
- async getFyListJson(type) {
1476
- let params = {
1477
- url: fyListJson,
1478
- params: {
1479
- appRecordId: this.businessId,
1480
- status: type
1481
- }
1482
- };
1483
- await util.ajax(params).then((res) => {
1484
- if (type == 1) {
1485
- this.untreatedReadData = res.data;
1486
- } else {
1487
- this.processedReadData = res.data;
1488
- }
1489
- });
1490
- },
1491
- /**
1492
- * getFlowList
1493
- * @desc:获取流程列表
1494
- * @author liufan
1495
- * @date 2022年11月22日
1496
- **/
1497
- getFlowList() {
1498
- let params = {
1499
- url: pendedhistoryListJson,
1500
- params: {
1501
- apprecordid: this.businessId,
1502
- pendingAttr: 0,
1503
- viewType: this.viewType,
1504
- showSuggest: this.showSuggest,
1505
- ...this.params
1506
- }
1507
- };
1508
- util
1509
- .ajax(params)
1510
- .then((res) => {
1511
- const {
1512
- status,
1513
- message,
1514
- data: {
1515
- adjunctCode,
1516
- wfHistoryList,
1517
- fyHistoryList,
1518
- hasAgent,
1519
- isShort,
1520
- modify,
1521
- taskReadName
1522
- }
1523
- } = res;
1524
- this.loading.close();
1525
- if (status == 'success') {
1526
- this.flowTableInfo.adjunctCode = adjunctCode;
1527
- this.flowTableInfo.hasAgent = hasAgent;
1528
- this.attachmentPaperClipCssStyle =
1529
- res.data.attachmentPaperClipCssStyle;
1530
- this.isShort = isShort;
1531
- this.taskReadName = taskReadName;
1532
- this.flowData = wfHistoryList;
1533
- this.flowData.map((x) => {
1534
- if (!x.deptid) {
1535
- x.deptid = x.deptName;
1536
- }
1537
- });
1538
- this.splitReadingData = fyHistoryList;
1539
- this.modify = modify;
1540
- this.show = true;
1541
- if (this.contents.indexOf('circular') != -1) {
1542
- this.getCircularReadList();
1543
- } else {
1544
- this.$nextTick(() => {
1545
- this.getListCount(this.flowListCount);
1546
- });
1547
- }
1548
- } else {
1549
- this.$message.error(message || '系统错误,请联系管理员!');
1550
- }
1551
- })
1552
- .catch((err) => {
1553
- this.loading.close();
1554
- if (err.message && err.message !== 'canceled') {
1555
- this.$message.error(err.message);
1556
- }
1557
- this.show = true;
1558
- });
1559
- },
1560
- /**
1561
- * handleClick
1562
- * @desc:表单点击事件
1563
- * @param {Object} val 当前点击行数据及按钮
1564
- * @author liufan
1565
- * @date 2022年11月10日
1566
- **/
1567
- handleClick(val) {
1568
- const {
1569
- handle: { text },
1570
- row: { id, status }
1571
- } = val;
1572
- if (text === '置为失效') {
1573
- if (status == 0) {
1574
- this.$confirm('您确定要置为失效吗?')
1575
- .then(() => {
1576
- this.loading = util.loading(this.$loading, '提交中...');
1577
- let param = {
1578
- url: deletePresetInfo,
1579
- headers: { Accept: 'application/json,text/plain' },
1580
- method: 'post',
1581
- params: { id }
1582
- };
1583
- util
1584
- .ajax(param)
1585
- .then((res) => {
1586
- const { status, message } = res;
1587
- this.loading.close();
1588
- if (status === 'success') {
1589
- this.$message.success('操作成功');
1590
- this.getListInfo();
1591
- } else {
1592
- this.$message.error(message || '系统错误,请联系管理员!');
1593
- }
1594
- })
1595
- .catch((err) => {
1596
- this.loading.close();
1597
- if (err.message && err.message !== 'canceled') {
1598
- this.$message.error(err.message);
1599
- }
1600
- });
1601
- })
1602
- .catch((e) => {
1603
- // on cancel
1604
- });
1605
- } else {
1606
- this.$message.warning('当前数据已为失效状态');
1607
- }
1608
- }
1609
- },
1610
- /**
1611
- * getCodeValue
1612
- * @desc:获取代码表过滤后的值
1613
- * @param {String} value 展示数据的代码值
1614
- * @param {String} type 代码表类型
1615
- * @author liufan
1616
- * @date 2022年11月10日
1617
- **/
1618
- getCodeValue(value, type) {
1619
- let val = this[type].filter((item) => item.cciValue == value);
1620
- return val[0].shortName;
1621
- },
1622
- /**
1623
- * getSysInfo
1624
- * @desc:获取代码表
1625
- * @param {String} code 编码code值
1626
- * @author liufan
1627
- * @date 2022年11月10日
1628
- **/
1629
- getSysInfo(code) {
1630
- let params = {
1631
- url: findCodeValues,
1632
- params: { ccCode: code }
1633
- };
1634
- util
1635
- .ajax(params)
1636
- .then((res) => {
1637
- const { status, message, data } = res;
1638
- if (status == 'success') {
1639
- this[code] = data;
1640
- } else {
1641
- this.$message.error(message || '系统错误,请联系管理员!');
1642
- }
1643
- })
1644
- .catch((e) => {});
1645
- },
1646
- /**
1647
- * getListInfo
1648
- * @desc:获取预设列表数据
1649
- * @author liufan
1650
- * @date 2022年11月10日
1651
- **/
1652
- getListInfo() {
1653
- let param = {
1654
- url: toPresetInfoListIndex,
1655
- params: { apprecordid: this.businessId }
1656
- };
1657
- util
1658
- .ajax(param)
1659
- .then((res) => {
1660
- const {
1661
- status,
1662
- message,
1663
- data: {
1664
- presetInfoList,
1665
- presetInfoListHiddenColumns,
1666
- canDelete,
1667
- currentUserHasPresetInfoAuth
1668
- }
1669
- } = res;
1670
- this.loading.close();
1671
- if (status == 'success') {
1672
- presetInfoList && (this.presetData = presetInfoList);
1673
- this.presetInfoListHiddenColumns = presetInfoListHiddenColumns;
1674
- this.currentUserHasPresetInfoAuth = currentUserHasPresetInfoAuth;
1675
- this.canDelete = canDelete;
1676
- } else {
1677
- this.$message.error(message || '系统错误,请联系管理员!');
1678
- }
1679
- })
1680
- .catch((err) => {
1681
- this.loading.close();
1682
- if (err.message && err.message !== 'canceled') {
1683
- this.$message.error(err.message);
1684
- }
1685
- });
1686
- }
1687
- }
1688
- };
1689
- </script>
1690
-
1691
- <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 class="es-flow-list-box">
19
+ <es-data-table
20
+ v-if="show"
21
+ :class="{ 'es-flow-group-data-table': item.type !== 'sign' }"
22
+ :display="display"
23
+ number
24
+ @cell-click="handleCellClick"
25
+ full
26
+ v-bind="item"
27
+ :data="returnData(item.type)"
28
+ @btn-click="handleBtnClick"
29
+ @selection-change="handleSelectionChange"
30
+ ></es-data-table>
31
+ </div>
32
+ </div>
33
+ <es-dialog
34
+ append-to-body
35
+ :close-on-click-modal="false"
36
+ title="查看附件"
37
+ :visible.sync="showFileList"
38
+ v-if="showFileList"
39
+ >
40
+ <FileList
41
+ :ownId="wfpendingid"
42
+ :code="flowTableInfo.adjunctCode"
43
+ :deleted="false"
44
+ :disabled="true"
45
+ @cancel="showFileList = false"
46
+ />
47
+ </es-dialog>
48
+ <es-dialog
49
+ append-to-body
50
+ :close-on-click-modal="false"
51
+ title="查看催办记录"
52
+ :visible.sync="showPress"
53
+ height="500px"
54
+ v-if="showPress"
55
+ >
56
+ <div style="height: 400px" v-loading="pressLoading">
57
+ <es-data-table
58
+ v-if="show"
59
+ :data="pressTableList"
60
+ :thead="pressThead"
61
+ @page-size-change="handleSizeChange"
62
+ @page-current-change="handleCurrentChange"
63
+ stripe
64
+ full
65
+ style="width: 100%"
66
+ @sort-change="sortChange"
67
+ :page="pageInfo"
68
+ />
69
+ </div>
70
+ </es-dialog>
71
+ <es-dialog
72
+ append-to-body
73
+ :close-on-click-modal="false"
74
+ title="删除"
75
+ :visible.sync="showDel"
76
+ height="auto"
77
+ class="del-flow"
78
+ v-if="showDel"
79
+ >
80
+ <es-form
81
+ v-loading="delLoading"
82
+ :model="formData"
83
+ :contents="formItemList"
84
+ @submit="handleFormSubmit"
85
+ >
86
+ </es-form>
87
+ </es-dialog>
88
+ </div>
89
+ </template>
90
+
91
+ <script>
92
+ import {
93
+ findCodeValues,
94
+ deletePresetInfo,
95
+ pendedhistoryListJson,
96
+ toPresetInfoListIndex,
97
+ pressListJson,
98
+ pendedhistoryListWithCircularReadJson,
99
+ deleteFlow,
100
+ taskReadWithDraw,
101
+ fyListJson,
102
+ circularReadWithdraw
103
+ } from 'eoss-ui/src/config/api';
104
+ import FileList from '../../flow/src/component/FileList.vue';
105
+ import util from 'eoss-ui/src/utils/util';
106
+ export default {
107
+ name: 'EsFlowList',
108
+ components: {
109
+ [FileList.name]: FileList
110
+ },
111
+ props: {
112
+ businessId: {
113
+ type: String,
114
+ default: ''
115
+ },
116
+ getListCount: {
117
+ type: Function,
118
+ default: () => {}
119
+ },
120
+ hide: {
121
+ type: String,
122
+ default: ''
123
+ },
124
+ params: {
125
+ type: Object,
126
+ default: () => {
127
+ return {};
128
+ }
129
+ },
130
+ toolbar: {
131
+ type: Array,
132
+ default: () => []
133
+ },
134
+ headFields: {
135
+ type: Array,
136
+ default: () => []
137
+ },
138
+ contents: {
139
+ type: Array,
140
+ default() {
141
+ return ['flow', 'splitReading', 'preset'];
142
+ }
143
+ },
144
+ theadWidth: {
145
+ type: Object,
146
+ default: () => {
147
+ return {};
148
+ }
149
+ },
150
+ type: {
151
+ type: String,
152
+ default: ''
153
+ },
154
+ display: Boolean
155
+ },
156
+ inheritAttrs: false,
157
+ data() {
158
+ return {
159
+ pressLoading: false,
160
+ pressTableList: [],
161
+ circularData: [],
162
+ selectList:[],
163
+ untreatedReadData: [],
164
+ processedReadData: [],
165
+ hasCircularReadWithdrawAuthority: false,
166
+ currentPage: 1,
167
+ pageSize: 20,
168
+ flowListCount: {},
169
+ currentUserHasPresetInfoAuth: false,
170
+ pressThead: [
171
+ {
172
+ title: '催办节点',
173
+ align: 'center',
174
+ sortable: true,
175
+ field: 'urge_item'
176
+ },
177
+ {
178
+ title: '催办人名称',
179
+ sortable: true,
180
+ align: 'center',
181
+ field: 'urge_man_name'
182
+ },
183
+ {
184
+ title: '催办时间',
185
+ sortable: true,
186
+ align: 'center',
187
+ field: 'urge_time'
188
+ },
189
+ {
190
+ title: '被催办人名称',
191
+ align: 'center',
192
+ sortable: true,
193
+ field: 'urged_man_name'
194
+ }
195
+ ],
196
+ wfpendingid: '',
197
+ showFileList: false,
198
+ flowData: [],
199
+ splitReadingData: [],
200
+ presetData: [],
201
+ signData: [],
202
+ loading: '', //加载中
203
+ preset_type: [], //预设类型
204
+ showPress: false, //查看催办记录弹窗
205
+ modify: false,
206
+ formData: { reason: '' },
207
+ formItemList: [
208
+ {
209
+ name: 'reason',
210
+ label: '删除原因',
211
+ type: 'textarea',
212
+ placeholder: '请输入删除原因',
213
+ rules: {
214
+ required: true,
215
+ message: '请输入删除原因',
216
+ trigger: 'blur'
217
+ },
218
+ value: '',
219
+ rows: 5
220
+ },
221
+ {
222
+ type: 'submit',
223
+ skin: 'lay-form-btns',
224
+ contents: [
225
+ {
226
+ type: 'primary',
227
+ plain: true,
228
+ text: '保存',
229
+ event: 'confirm'
230
+ }
231
+ ]
232
+ }
233
+ ],
234
+ delLoading: false,
235
+ showDel: false,
236
+ attachmentPaperClipCssStyle: '',
237
+ is_edit: [], //是否可编辑
238
+ flowTableInfo: {
239
+ adjunctCode: '',
240
+ hasAgent: '1' //是否展示代办人 1:展示 0:不展示
241
+ },
242
+ show: false,
243
+ taskReadName: '', //非流程列表名称
244
+ options: [
245
+ { label: '时间排序', value: '1' },
246
+ { label: '部门排序', value: '2' },
247
+ { label: '树形排序', value: '3' }
248
+ ],
249
+ isShort: 0, //是否隐藏筛选
250
+ viewType: '1', //排序方式
251
+ flowTableList: [], //流程列表
252
+ fyTableList: [], //分阅列表
253
+ showSuggest: 'all', //筛选显示数据
254
+ presetInfoListHiddenColumns: '', //隐藏表格展示数据
255
+ canDelete: false, //是否展示操作按钮
256
+ historyId: '',
257
+ sidx: '',
258
+ sord: '',
259
+ total: 0
260
+ };
261
+ },
262
+ computed: {
263
+ toolbars() {
264
+ return {
265
+ flow: [
266
+ {
267
+ type: 'text',
268
+ contents: '流程列表'
269
+ },
270
+ {
271
+ type: 'search',
272
+ contents: [
273
+ {
274
+ name: 'showSuggest',
275
+ type: 'radio',
276
+ changeSearch: true,
277
+ data: [
278
+ {
279
+ value: 'all',
280
+ name: '显示全部',
281
+ checked: true
282
+ },
283
+ { value: 'have', name: '显示已填意见' }
284
+ ],
285
+ events: {
286
+ change: (key, value) => {
287
+ this.handleChange(key, value);
288
+ }
289
+ }
290
+ },
291
+ {
292
+ type: 'select',
293
+ placeholder: '请选择',
294
+ name: 'viewType',
295
+ width: '140px',
296
+ changeSearch: true,
297
+ events: {
298
+ change: (key, value) => {
299
+ this.handleChange(key, value);
300
+ }
301
+ },
302
+ data: [
303
+ {
304
+ value: 1,
305
+ selected: true,
306
+ name: '时间排序'
307
+ },
308
+ {
309
+ value: 2,
310
+ name: '部门排序'
311
+ },
312
+ {
313
+ value: 3,
314
+ name: '树形排序'
315
+ }
316
+ ]
317
+ }
318
+ ]
319
+ }
320
+ ],
321
+ preset: [
322
+ {
323
+ type: 'text',
324
+ contents: '预设列表'
325
+ }
326
+ ],
327
+ sign: [
328
+ {
329
+ type: 'button',
330
+ contents: [
331
+ {
332
+ text: '生成处理签',
333
+ type: 'primary'
334
+ }
335
+ ]
336
+ }
337
+ ],
338
+ splitReading: [
339
+ {
340
+ type: 'text',
341
+ contents:
342
+ (this.taskReadName ? this.taskReadName : '非流程') + '列表'
343
+ }
344
+ ],
345
+ circular: [
346
+ {
347
+ type: 'text',
348
+ contents: '传阅列表'
349
+ }
350
+ ],
351
+ untreatedRead: [
352
+ {
353
+ type: 'text',
354
+ contents: '未处理分阅列表'
355
+ },
356
+ {
357
+ type: 'button',
358
+ contents: [
359
+ {
360
+ text: '撤销分阅',
361
+ fun:'recallRead'
362
+ }
363
+ ],
364
+ }
365
+ ],
366
+ processedRead: [
367
+ {
368
+ type: 'text',
369
+ contents: '已处理分阅列表'
370
+ }
371
+ ]
372
+ // Reading situation
373
+ };
374
+ },
375
+ pageInfo() {
376
+ return {
377
+ pageNum: this.currentPage,
378
+ pageSize: this.pageSize,
379
+ totalCount: this.total
380
+ };
381
+ },
382
+ theads() {
383
+ const _that = this;
384
+ return {
385
+ flow: [
386
+ {
387
+ label: '经办部门',
388
+ field: 'deptid',
389
+ align: 'center',
390
+ key: 'jbbm',
391
+ showOverflowTooltip: true,
392
+ width: this.theadWidth.deptid || 150,
393
+ render: (h, params) => {
394
+ return h(
395
+ 'span',
396
+ {},
397
+ params.row.doDeptName
398
+ ? params.row.doDeptName
399
+ : params.row.deptName
400
+ );
401
+ }
402
+ },
403
+ {
404
+ label: '步骤',
405
+ field: 'itemname',
406
+ align: 'center',
407
+ key: 'bz',
408
+ showOverflowTooltip: true,
409
+ width: this.theadWidth.itemname || 110
410
+ },
411
+ {
412
+ label: '办理人',
413
+ field: 'userName',
414
+ align: 'center',
415
+ key: 'blr',
416
+ showOverflowTooltip: true,
417
+ width: this.theadWidth.userName || 110
418
+ },
419
+ {
420
+ label: '办理人部门',
421
+ field: 'deptName',
422
+ align: 'center',
423
+ showOverflowTooltip: true,
424
+ key: 'blrbm',
425
+ width: this.theadWidth.deptName || 110
426
+ },
427
+ {
428
+ label: '状态',
429
+ field: 'pendstate',
430
+ key: 'zt',
431
+ align: 'center',
432
+ showOverflowTooltip: true,
433
+ width: this.theadWidth.pendstate || 80,
434
+ render: (h, params) => {
435
+ return h('span', {
436
+ style: {
437
+ color:
438
+ params.row.pendstate == 0 || params.row.pendstate == 3
439
+ ? 'red'
440
+ : params.row.pendstate == 1
441
+ ? 'green'
442
+ : 'deepskyblue'
443
+ },
444
+ domProps: { innerHTML: params.row.querykeywords }
445
+ });
446
+ }
447
+ },
448
+ {
449
+ label: '办理意见',
450
+ field: 'doresult',
451
+ align: 'center',
452
+ width: this.theadWidth.doresult,
453
+ showOverflowTooltip: true,
454
+ key: 'blyj',
455
+ render: (h, params) => {
456
+ if (
457
+ params.row.doresult &&
458
+ (params.row.doresult.startsWith('http') ||
459
+ params.row.doresult.startsWith('https'))
460
+ ) {
461
+ return h('img', {
462
+ attrs: { src: params.row.doresult },
463
+ style: { width: '100px', height: '100px' }
464
+ });
465
+ } else {
466
+ return h('span', {}, [
467
+ params.row.doresult
468
+ ? params.row.doresult + (params.row.handleInfo ? '&' : '')
469
+ : '',
470
+ h(
471
+ 'span',
472
+ { style: { color: '#A5A5A5', marginLeft: '2px' } },
473
+ params.row.handleInfo || ''
474
+ )
475
+ ]);
476
+ }
477
+ }
478
+ },
479
+ {
480
+ label: '验签',
481
+ field: 'authTypeStr',
482
+ align: 'center',
483
+ key: 'yq',
484
+ showOverflowTooltip: true,
485
+ width: this.theadWidth.authTypeStr || 70,
486
+ render: (h, params) => {
487
+ return h(
488
+ 'span',
489
+ { style: { color: 'deepskyblue' } },
490
+ params.row.authTypeStr
491
+ );
492
+ }
493
+ },
494
+ {
495
+ label: '附件',
496
+ key: 'fj',
497
+ field: 'hasAdjunct',
498
+ align: 'center',
499
+ showOverflowTooltip: true,
500
+ width: this.theadWidth.hasAdjunct || 70,
501
+ render: (h, params) => {
502
+ if (params.row.hasAdjunct) {
503
+ return h('span', {
504
+ style: _that.attachmentPaperClipCssStyle
505
+ ? _that.attachmentPaperClipCssStyle
506
+ : { color: 'red', fontSize: '20px' },
507
+ class: 'iconfont es-icon-fujian'
508
+ });
509
+ } else {
510
+ return h('span', {}, '');
511
+ }
512
+ }
513
+ },
514
+ {
515
+ label: '时间',
516
+ field: 'doetime',
517
+ align: 'center',
518
+ key: 'sj',
519
+ showOverflowTooltip: true,
520
+ width: this.theadWidth.doetime || 150,
521
+ render: (h, params) => {
522
+ return h(
523
+ 'span',
524
+ {},
525
+ params.row.doetime
526
+ ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
527
+ : ''
528
+ );
529
+ }
530
+ },
531
+ {
532
+ label: '代办人',
533
+ field: 'douserid',
534
+ align: 'center',
535
+ key: 'dbr',
536
+ showOverflowTooltip: true,
537
+ width: this.theadWidth.douserid || 80,
538
+ hide: _that.flowTableInfo.hasAgent != '1'
539
+ },
540
+ {
541
+ label: '催办',
542
+ field: 'pressTimes',
543
+ align: 'center',
544
+ key: 'cb',
545
+ showOverflowTooltip: true,
546
+ width: this.theadWidth.pressTimes || 150,
547
+ render: (h, params) => {
548
+ return h(
549
+ 'span',
550
+ { style: 'color:deepskyblue;cursor: pointer;' },
551
+ params.row.pressTimes
552
+ );
553
+ }
554
+ },
555
+ {
556
+ title: '操作',
557
+ type: 'handle',
558
+ width: this.modify ? '130' : '100',
559
+ template: '',
560
+ events: [
561
+ {
562
+ text: '删除',
563
+ rules: (rows) => {
564
+ return rows.canDelete;
565
+ }
566
+ }
567
+ // {
568
+ // text: '修改',
569
+ // rules: (rows) => {
570
+ // return this.modify && rows.pendstate == 2;
571
+ // }
572
+ // }
573
+ ]
574
+ }
575
+ ],
576
+ preset: this.thead,
577
+ splitReading: [
578
+ {
579
+ label: '经办部门',
580
+ field: 'deptid',
581
+ key: 'jbbm',
582
+ align: 'center',
583
+ showOverflowTooltip: true,
584
+ width: this.theadWidth.deptid || 150
585
+ },
586
+ {
587
+ label: '步骤',
588
+ field: 'itemname',
589
+ align: 'center',
590
+ key: 'bz',
591
+ showOverflowTooltip: true,
592
+ width: this.theadWidth.itemname || 110
593
+ },
594
+ {
595
+ label: '办理人',
596
+ field: 'userName',
597
+ align: 'center',
598
+ key: 'blr',
599
+ showOverflowTooltip: true,
600
+ width: this.theadWidth.userName || 110
601
+ },
602
+ {
603
+ label: '状态',
604
+ field: 'pendstate',
605
+ align: 'center',
606
+ key: 'zt',
607
+ showOverflowTooltip: true,
608
+ width: this.theadWidth.pendstate || 80,
609
+ render: (h, params) => {
610
+ return h('span', {
611
+ style: {
612
+ color:
613
+ params.row.pendstate == 0 || params.row.pendstate == 3
614
+ ? 'red'
615
+ : params.row.pendstate == 1
616
+ ? 'green'
617
+ : 'deepskyblue'
618
+ },
619
+ domProps: { innerHTML: params.row.querykeywords }
620
+ });
621
+ }
622
+ },
623
+ {
624
+ label: '办理意见',
625
+ field: 'doresult',
626
+ align: 'center',
627
+ key: 'blyj',
628
+ width: this.theadWidth.doresult,
629
+ showOverflowTooltip: true,
630
+ render: (h, params) => {
631
+ if (
632
+ params.row.doresult &&
633
+ (params.row.doresult.startsWith('http') ||
634
+ params.row.doresult.startsWith('https'))
635
+ ) {
636
+ return h('img', {
637
+ attrs: { src: params.row.doresult },
638
+ style: { width: '100px', height: '100px' }
639
+ });
640
+ } else {
641
+ return h('span', {}, [
642
+ params.row.doresult
643
+ ? params.row.doresult + (params.row.handleInfo ? '&' : '')
644
+ : '',
645
+ h(
646
+ 'span',
647
+ { style: { color: '#A5A5A5', marginLeft: '2px' } },
648
+ params.row.handleInfo || ''
649
+ )
650
+ ]);
651
+ }
652
+ }
653
+ },
654
+ {
655
+ label: '验签',
656
+ field: 'authTypeStr',
657
+ align: 'center',
658
+ key: 'yq',
659
+ showOverflowTooltip: true,
660
+ width: this.theadWidth.authTypeStr || 70,
661
+ render: (h, params) => {
662
+ return h(
663
+ 'span',
664
+ { style: { color: 'deepskyblue' } },
665
+ params.row.authTypeStr
666
+ );
667
+ }
668
+ },
669
+ {
670
+ label: '附件',
671
+ field: 'hasAdjunct',
672
+ align: 'center',
673
+ key: 'fj',
674
+ showOverflowTooltip: true,
675
+ width: this.theadWidth.hasAdjunct || 70,
676
+ render: (h, params) => {
677
+ if (params.row.hasAdjunct) {
678
+ return h('span', {
679
+ style: _that.attachmentPaperClipCssStyle
680
+ ? _that.attachmentPaperClipCssStyle
681
+ : { color: 'red', fontSize: '20px' },
682
+ class: 'iconfont es-icon-fujian'
683
+ });
684
+ } else {
685
+ return h('span', {}, '');
686
+ }
687
+ }
688
+ },
689
+ {
690
+ label: '时间',
691
+ field: 'doetime',
692
+ align: 'center',
693
+ key: 'sj',
694
+ showOverflowTooltip: true,
695
+ width: this.theadWidth.doetime || 150,
696
+ render: (h, params) => {
697
+ return h(
698
+ 'span',
699
+ {},
700
+ params.row.doetime
701
+ ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
702
+ : ''
703
+ );
704
+ }
705
+ },
706
+ {
707
+ label: '代办人',
708
+ field: 'douserid',
709
+ align: 'center',
710
+ key: 'dbr',
711
+ showOverflowTooltip: true,
712
+ width: this.theadWidth.douserid || 80,
713
+ hide: _that.flowTableInfo.hasAgent != '1'
714
+ },
715
+ {
716
+ label: '催办',
717
+ field: 'pressTimes',
718
+ align: 'center',
719
+ key: 'cb',
720
+ showOverflowTooltip: true,
721
+ width: this.theadWidth.pressTimes || 150,
722
+ render: (h, params) => {
723
+ return h(
724
+ 'span',
725
+ { style: 'color:deepskyblue;cursor: pointer;' },
726
+ params.row.pressTimes
727
+ );
728
+ }
729
+ },
730
+ {
731
+ title: '操作',
732
+ type: 'handle',
733
+ width: '100',
734
+ template: '',
735
+ events: [
736
+ {
737
+ text: '删除',
738
+ rules: (rows) => {
739
+ return rows.canDelete;
740
+ }
741
+ }
742
+ ]
743
+ }
744
+ ],
745
+ circular: [
746
+ {
747
+ label: '发起人',
748
+ field: 'circularReadInitiatorName',
749
+ align: 'center',
750
+ key: 'fqr',
751
+ showOverflowTooltip: true,
752
+ width: this.theadWidth.circularReadInitiatorName || 150
753
+ },
754
+ {
755
+ label: '传阅部门',
756
+ field: 'circularReadOrgName',
757
+ align: 'center',
758
+ key: 'cybm',
759
+ showOverflowTooltip: true,
760
+ width: this.theadWidth.circularReadOrgName || 110
761
+ },
762
+ {
763
+ label: '传阅人',
764
+ field: 'userName',
765
+ align: 'center',
766
+ key: 'cyr',
767
+ showOverflowTooltip: true,
768
+ width: this.theadWidth.userName || 110
769
+ },
770
+ {
771
+ label: '步骤',
772
+ field: 'itemname',
773
+ align: 'center',
774
+ showOverflowTooltip: true,
775
+ key: 'bz',
776
+ width: this.theadWidth.itemname || 110
777
+ },
778
+ {
779
+ label: '状态',
780
+ field: 'pendstate',
781
+ key: 'zt',
782
+ align: 'center',
783
+ showOverflowTooltip: true,
784
+ width: this.theadWidth.pendstate || 140,
785
+ render: (h, params) => {
786
+ return h('span', {
787
+ style: {
788
+ color:
789
+ params.row.pendstate == 0 || params.row.pendstate == 3
790
+ ? 'red'
791
+ : params.row.pendstate == 1
792
+ ? 'green'
793
+ : 'deepskyblue',
794
+ cursor: this.hasCircularReadWithdrawAuthority
795
+ ? 'pointer'
796
+ : 'unset'
797
+ },
798
+ domProps: {
799
+ innerHTML:
800
+ params.row.querykeywords +
801
+ (this.hasCircularReadWithdrawAuthority
802
+ ? `<span style="color:#7AB0D5">(撤回)</span>`
803
+ : '')
804
+ }
805
+ });
806
+ }
807
+ },
808
+ {
809
+ label: '送达时间',
810
+ field: 'createtime',
811
+ align: 'center',
812
+ key: 'sdsj',
813
+ showOverflowTooltip: true,
814
+ width: this.theadWidth.createtime || 170
815
+ },
816
+ {
817
+ label: '办理时间',
818
+ field: 'doetime',
819
+ align: 'center',
820
+ key: 'blsj',
821
+ showOverflowTooltip: true,
822
+ width: this.theadWidth.doetime || 150
823
+ },
824
+
825
+ {
826
+ label: '附件',
827
+ key: 'fj',
828
+ field: 'hasAdjunct',
829
+ align: 'center',
830
+ showOverflowTooltip: true,
831
+ width: this.theadWidth.hasAdjunct || 70,
832
+ render: (h, params) => {
833
+ if (params.row.hasAdjunct) {
834
+ return h('span', {
835
+ style: _that.attachmentPaperClipCssStyle
836
+ ? _that.attachmentPaperClipCssStyle
837
+ : { color: 'red', fontSize: '20px' },
838
+ class: 'iconfont es-icon-fujian'
839
+ });
840
+ } else {
841
+ return h('span', {}, '');
842
+ }
843
+ }
844
+ },
845
+ {
846
+ label: '提醒',
847
+ field: 'pressTimes',
848
+ align: 'center',
849
+ key: 'tx',
850
+ showOverflowTooltip: true,
851
+ width: this.theadWidth.pressTimes || 150,
852
+ render: (h, params) => {
853
+ return h(
854
+ 'span',
855
+ { style: 'color:deepskyblue;cursor: pointer;' },
856
+ params.row.pressTimes
857
+ );
858
+ }
859
+ },
860
+ {
861
+ label: '阅结意见 & 说明',
862
+ field: 'doresult',
863
+ align: 'center',
864
+ width: this.theadWidth.doresult,
865
+ showOverflowTooltip: true,
866
+ key: 'blyj',
867
+ render: (h, params) => {
868
+ if (
869
+ params.row.doresult &&
870
+ (params.row.doresult.startsWith('http') ||
871
+ params.row.doresult.startsWith('https'))
872
+ ) {
873
+ return h('img', {
874
+ attrs: { src: params.row.doresult },
875
+ style: { width: '100px', height: '100px' }
876
+ });
877
+ } else {
878
+ return h('span', {}, [
879
+ params.row.doresult
880
+ ? params.row.doresult + (params.row.handleInfo ? '&' : '')
881
+ : '',
882
+ h(
883
+ 'span',
884
+ { style: { color: '#A5A5A5', marginLeft: '2px' } },
885
+ params.row.handleInfo || ''
886
+ )
887
+ ]);
888
+ }
889
+ }
890
+ }
891
+ ],
892
+ untreatedRead: [
893
+ {
894
+ label: '步骤',
895
+ field: 'itemid',
896
+ align: 'center',
897
+ key: 'bz',
898
+ showOverflowTooltip: true,
899
+ width: this.theadWidth.itemid || 110
900
+ },
901
+ {
902
+ label: '办理人',
903
+ field: 'userName',
904
+ align: 'center',
905
+ key: 'blr',
906
+ showOverflowTooltip: true,
907
+ width: this.theadWidth.userName
908
+ },
909
+ {
910
+ label: '办理状态',
911
+ field: 'pendstate',
912
+ key: 'blzt',
913
+ align: 'center',
914
+ showOverflowTooltip: true,
915
+ width: this.theadWidth.pendstate || 110,
916
+ render: (h, params) => {
917
+ return h('span', {
918
+ style: {
919
+ color:
920
+ params.row.pendstate == 0 || params.row.pendstate == 3
921
+ ? 'red'
922
+ : params.row.pendstate == 1
923
+ ? 'green'
924
+ : 'deepskyblue'
925
+ },
926
+ domProps: { innerHTML: params.row.querykeywords }
927
+ });
928
+ }
929
+ },
930
+ {
931
+ label: '创建时间',
932
+ field: 'createtime',
933
+ align: 'center',
934
+ key: 'cjsj',
935
+ showOverflowTooltip: true,
936
+ width: this.theadWidth.createtime || 150,
937
+ render: (h, params) => {
938
+ return h(
939
+ 'span',
940
+ {},
941
+ params.row.doetime
942
+ ? util.formatDate(params.row.createtime, 'yyyy-MM-dd HH:mm')
943
+ : ''
944
+ );
945
+ }
946
+ }
947
+ ],
948
+ processedRead: [
949
+ {
950
+ label: '步骤',
951
+ field: 'itemid',
952
+ align: 'center',
953
+ key: 'bz',
954
+ showOverflowTooltip: true,
955
+ width: this.theadWidth.itemid || 110
956
+ },
957
+ {
958
+ label: '办理人',
959
+ field: 'userName',
960
+ align: 'center',
961
+ key: 'blr',
962
+ showOverflowTooltip: true,
963
+ width: this.theadWidth.userName
964
+ },
965
+ {
966
+ label: '办理状态',
967
+ field: 'pendstate',
968
+ key: 'blzt',
969
+ align: 'center',
970
+ showOverflowTooltip: true,
971
+ width: this.theadWidth.pendstate || 110,
972
+ render: (h, params) => {
973
+ return h('span', {
974
+ style: {
975
+ color:
976
+ params.row.pendstate == 0 || params.row.pendstate == 3
977
+ ? 'red'
978
+ : params.row.pendstate == 1
979
+ ? 'green'
980
+ : 'deepskyblue'
981
+ },
982
+ domProps: { innerHTML: params.row.querykeywords }
983
+ });
984
+ }
985
+ },
986
+ {
987
+ label: '办理时间',
988
+ field: 'doetime',
989
+ align: 'center',
990
+ key: 'blsj',
991
+ showOverflowTooltip: true,
992
+ width: this.theadWidth.doetime || 150,
993
+ render: (h, params) => {
994
+ return h(
995
+ 'span',
996
+ {},
997
+ params.row.doetime
998
+ ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
999
+ : ''
1000
+ );
1001
+ }
1002
+ },
1003
+ {
1004
+ label: '代办人',
1005
+ field: 'douserid',
1006
+ align: 'center',
1007
+ key: 'dbr',
1008
+ showOverflowTooltip: true,
1009
+ width: this.theadWidth.douserid
1010
+ },
1011
+ {
1012
+ label: '意见',
1013
+ field: 'doresult',
1014
+ align: 'center',
1015
+ key: 'yj',
1016
+ showOverflowTooltip: true,
1017
+ width: this.theadWidth.doresult
1018
+ }
1019
+ ]
1020
+ };
1021
+ },
1022
+ content() {
1023
+ const _that = this;
1024
+ let newContents = JSON.parse(JSON.stringify(this.contents));
1025
+ if (this.contents.indexOf('circular') != -1) {
1026
+ newContents = newContents.filter((item) => item != 'splitReading');
1027
+ }
1028
+ if (newContents.indexOf('readingSituation') != -1) {
1029
+ newContents = ['untreatedRead', 'processedRead'];
1030
+ }
1031
+ let contents = newContents.map((item) => {
1032
+ if (typeof item === 'string') {
1033
+ let data = [];
1034
+ if (_that.headFields.length > 0) {
1035
+ _that.headFields.map((headFiled) => {
1036
+ if (headFiled.showDefault) {
1037
+ _that.theads[item].map((theadItem) => {
1038
+ if (theadItem.field === headFiled.field) {
1039
+ data.push({ ...theadItem, ...headFiled });
1040
+ }
1041
+ });
1042
+ } else {
1043
+ data.push(headFiled);
1044
+ }
1045
+ });
1046
+ _that.theads[item].map((x) => {
1047
+ if (x.type == 'handle') {
1048
+ data.push(x);
1049
+ }
1050
+ });
1051
+ }
1052
+ return {
1053
+ type: item,
1054
+ checkbox:newContents.indexOf('untreatedRead') !=-1,
1055
+ toolbar: this.toolbars[item],
1056
+ thead: data.length > 0 ? data : this.theads[item],
1057
+ showFormBtn: false
1058
+ };
1059
+ } else {
1060
+ if (!Object.prototype.hasOwnProperty.call(item, 'toolbar')) {
1061
+ let toolbars = this.toolbars[item.type];
1062
+ return { ...item, toolbars };
1063
+ }
1064
+ if (!Object.prototype.hasOwnProperty.call(item, 'thead')) {
1065
+ let thead = this.theads[item.type];
1066
+ return { ...item, thead };
1067
+ }
1068
+ return item;
1069
+ }
1070
+ });
1071
+ return contents;
1072
+ },
1073
+ newToolbar() {
1074
+ if (this.toolbar && this.toolbar.length > 0) {
1075
+ return this.toolbar;
1076
+ } else {
1077
+ return [];
1078
+ }
1079
+ },
1080
+ thead() {
1081
+ let table = [
1082
+ {
1083
+ title: '步骤',
1084
+ align: 'center',
1085
+ width: this.theadWidth.nodeName || '100',
1086
+ field: 'nodeName'
1087
+ },
1088
+ {
1089
+ title: '预设办理人',
1090
+ width: this.theadWidth.presetUserName || '120',
1091
+ align: 'center',
1092
+ field: 'presetUserName'
1093
+ },
1094
+ {
1095
+ title: '是否可编辑',
1096
+ key: 'sfkbj',
1097
+ align: 'center',
1098
+ width: this.theadWidth.isEdit || '100',
1099
+ render: (h, params) => {
1100
+ return h('span', this.getCodeValue(params.row.isEdit, 'is_edit'));
1101
+ },
1102
+ field: 'isEdit'
1103
+ },
1104
+ {
1105
+ key: 'zt',
1106
+ title: '状态',
1107
+ width: this.theadWidth.statusName || '80',
1108
+ align: 'center',
1109
+ field: 'statusName'
1110
+ },
1111
+ {
1112
+ title: '预设类型',
1113
+ key: 'yslx',
1114
+ width: this.theadWidth.presetType || '120',
1115
+ align: 'center',
1116
+ render: (h, params) => {
1117
+ return h(
1118
+ 'span',
1119
+ this.getCodeValue(params.row.presetType, 'preset_type')
1120
+ );
1121
+ },
1122
+ field: 'presetType'
1123
+ },
1124
+ {
1125
+ title: '流程名称',
1126
+ key: 'lcmc',
1127
+ width: this.theadWidth.processDefName,
1128
+ align: 'center',
1129
+ field: 'processDefName'
1130
+ },
1131
+ {
1132
+ title: '上一步骤',
1133
+ key: 'sybz',
1134
+ align: 'center',
1135
+ width: this.theadWidth.lastNodeName,
1136
+ field: 'lastNodeName'
1137
+ },
1138
+ {
1139
+ title: '创建步骤',
1140
+ key: 'cjbz',
1141
+ align: 'center',
1142
+ width: this.theadWidth.operationNodeName,
1143
+ field: 'operationNodeName'
1144
+ },
1145
+ {
1146
+ title: '创建人',
1147
+ key: 'cjr',
1148
+ width: this.theadWidth.creatorName || '120',
1149
+ align: 'center',
1150
+ field: 'creatorName'
1151
+ },
1152
+ {
1153
+ title: '创建时间',
1154
+ width: this.theadWidth.createTime || '150',
1155
+ key: 'cjsj',
1156
+ align: 'center',
1157
+ render: (h, params) => {
1158
+ return h(
1159
+ 'span',
1160
+ util.formatDate(params.row.createTime, 'yyyy-MM-dd HH:mm')
1161
+ );
1162
+ },
1163
+ field: 'createTime'
1164
+ },
1165
+ {
1166
+ title: '操作区域',
1167
+ type: 'handle',
1168
+ align: 'center',
1169
+ width: '120',
1170
+ events: [
1171
+ {
1172
+ text: '置为失效'
1173
+ }
1174
+ ]
1175
+ }
1176
+ ];
1177
+ if (
1178
+ this.presetInfoListHiddenColumns != undefined &&
1179
+ this.presetInfoListHiddenColumns != ''
1180
+ ) {
1181
+ table = table.filter(
1182
+ (items) => this.presetInfoListHiddenColumns.indexOf(items.key) == -1
1183
+ );
1184
+ }
1185
+ if (!this.canDelete) table.splice(table.length - 1, 1);
1186
+ return table;
1187
+ }
1188
+ },
1189
+ async mounted() {
1190
+ this.loading = util.loading(this.$loading, '加载中...');
1191
+ if (this.contents.indexOf('readingSituation') != -1) {
1192
+ await this.getFyListJson(1);
1193
+ await this.getFyListJson(2);
1194
+ this.getListCount(this.flowListCount);
1195
+ this.show = true;
1196
+ } else {
1197
+ this.getFlowList();
1198
+ }
1199
+ this.getSysInfo('preset_type');
1200
+ this.getSysInfo('is_edit');
1201
+ this.getListInfo();
1202
+ },
1203
+
1204
+ methods: {
1205
+ recallReadFun(){
1206
+ const _that = this
1207
+ let pendingIds = _that.selectList.map(x => x.id).join(',');
1208
+ let params = {
1209
+ url:taskReadWithDraw,
1210
+ params:{
1211
+ pendingIds
1212
+ }
1213
+ }
1214
+ _that.loading = util.loading(_that.$loading, '撤销中...');
1215
+ util.ajax(params).then(async res=>{
1216
+ _that.loading.close();
1217
+ if(res.rCode == 0 || res.status=='success'){
1218
+ _that.$message.success('撤销成功!');
1219
+ await _that.getFyListJson(1);
1220
+ _that.getListCount(_that.flowListCount);
1221
+ }else{
1222
+ _that.$message.error(res.message);
1223
+ }
1224
+
1225
+ })
1226
+ },
1227
+ recallRead(){
1228
+ if(this.selectList.length == 0) return this.$message.warning('请选择需要撤销的分阅')
1229
+ this.$confirm('是否确认撤销选中的分阅?', '提示', {
1230
+ confirmButtonText: '确定',
1231
+ cancelButtonText: '取消',
1232
+ type: 'warning'
1233
+ }).then(() => {
1234
+ this.recallReadFun()
1235
+ })
1236
+ },
1237
+ handleSelectionChange(val){
1238
+ this.selectList = val
1239
+ },
1240
+ handledraw(pendedHistoryId) {
1241
+ let params = {
1242
+ url: circularReadWithdraw,
1243
+ params: { pendedHistoryId }
1244
+ };
1245
+ this.$confirm('是否确定撤回当前传阅', {
1246
+ confirmButtonText: '确定',
1247
+ cancelButtonText: '取消',
1248
+ type: 'warning'
1249
+ })
1250
+ .then(() => {
1251
+ this.loading = util.loading(this.$loading, '撤回中...');
1252
+ util.ajax(params).then((res) => {
1253
+ this.loading.close();
1254
+ if (res.rCode == 0) {
1255
+ this.$message({
1256
+ message: '撤回成功',
1257
+ type: 'success'
1258
+ });
1259
+ this.getCircularReadList();
1260
+ }
1261
+ });
1262
+ // _that.subMit(res.results,type)
1263
+ })
1264
+ .catch(() => {});
1265
+ },
1266
+ getCircularReadList() {
1267
+ const _that = this;
1268
+ let params = {
1269
+ url: pendedhistoryListWithCircularReadJson,
1270
+ params: { apprecordid: _that.businessId }
1271
+ };
1272
+ util.ajax(params).then((res) => {
1273
+ if (res.status == 'success' || res.rCode == 0) {
1274
+ _that.circularData = res.data.fyHistoryList;
1275
+ _that.hasCircularReadWithdrawAuthority =
1276
+ res.data.hasCircularReadWithdrawAuthority;
1277
+ _that.$nextTick(() => {
1278
+ _that.getListCount(_that.flowListCount);
1279
+ });
1280
+ }
1281
+ });
1282
+ },
1283
+ returnData(type) {
1284
+ switch (type) {
1285
+ case 'preset':
1286
+ this.flowListCount.preset = this.presetData.length;
1287
+ return this.presetData;
1288
+ case 'sign':
1289
+ this.flowListCount.sign = this.signData.length;
1290
+ return this.signData;
1291
+ case 'splitReading':
1292
+ this.flowListCount.splitReading = this.splitReadingData.length;
1293
+ return this.splitReadingData;
1294
+ case 'circular':
1295
+ this.flowListCount.circular = this.circularData.length;
1296
+ return this.circularData;
1297
+ case 'untreatedRead':
1298
+ this.flowListCount.untreatedRead = this.untreatedReadData.length;
1299
+ return this.untreatedReadData;
1300
+ case 'processedRead':
1301
+ this.flowListCount.processedRead = this.processedReadData.length;
1302
+ return this.processedReadData;
1303
+ default:
1304
+ this.flowListCount.flow = this.flowData.length;
1305
+ return this.flowData;
1306
+ }
1307
+ },
1308
+ handleCellClick(row, column) {
1309
+ if (column.property == 'hasAdjunct' && row.hasAdjunct) {
1310
+ this.showFile(row.wfpendingid);
1311
+ } else if (column.property == 'pressTimes') {
1312
+ this.goPress(row.id);
1313
+ } else if (
1314
+ column.property == 'pendstate' &&
1315
+ this.hasCircularReadWithdrawAuthority
1316
+ ) {
1317
+ this.handledraw(row.id);
1318
+ }
1319
+ },
1320
+ handleBtnClick(data) {
1321
+ // recallRead
1322
+ const { handle, row } = data;
1323
+ if (handle.text == '删除') {
1324
+ this.del(row.id);
1325
+ }else if(handle.fun == 'recallRead'){
1326
+ this[handle.fun]()
1327
+ }
1328
+ },
1329
+ /**
1330
+ * handleFormSubmit
1331
+ * @desc:删除节点点击事件
1332
+ * @param {Object} formData 点击删除的form数据
1333
+ * @author liufan
1334
+ * @date 2022年11月29日
1335
+ **/
1336
+ handleFormSubmit(formData) {
1337
+ this.delLoading = true;
1338
+ let params = {
1339
+ url: deleteFlow,
1340
+ method: 'POST',
1341
+ data: { id: this.historyId, reason: formData.reason }
1342
+ };
1343
+ util
1344
+ .ajax(params)
1345
+ .then((res) => {
1346
+ const { status, message } = res;
1347
+ this.delLoading = false;
1348
+ if (status === 'success') {
1349
+ this.$message.success('删除成功');
1350
+ this.showDel = false;
1351
+ this.handleChange();
1352
+ } else {
1353
+ this.$message.error(message || '系统错误,请联系管理员!');
1354
+ }
1355
+ })
1356
+ .catch((err) => {
1357
+ this.delLoading = false;
1358
+ if (err.message && err.message !== 'canceled') {
1359
+ this.$message.error(err.message);
1360
+ }
1361
+ });
1362
+ },
1363
+ /**
1364
+ * del
1365
+ * @desc:展示删除弹窗
1366
+ * @param {String} id 当前点击数据id
1367
+ * @author liufan
1368
+ * @date 2022年11月29日
1369
+ **/
1370
+ del(id) {
1371
+ this.historyId = id;
1372
+ this.showDel = true;
1373
+ },
1374
+ /**
1375
+ * handleCurrentChange
1376
+ * @desc:监听页码变化
1377
+ * @param {String} val 当前页
1378
+ * @author liufan
1379
+ * @date 2022年11月29日
1380
+ **/
1381
+ handleCurrentChange(val) {
1382
+ this.currentPage = val;
1383
+ this.getPressList();
1384
+ },
1385
+ /**
1386
+ * handleSizeChange
1387
+ * @desc:监听每页数据显示数量变化
1388
+ * @param {String} val 每页展示数量
1389
+ * @author liufan
1390
+ * @date 2022年11月29日
1391
+ **/
1392
+ handleSizeChange(val) {
1393
+ this.pageSize = val;
1394
+ this.getPressList();
1395
+ },
1396
+ /**
1397
+ * sortChange
1398
+ * @desc:监听排序变化
1399
+ * @param {Object} info 需要排序的字段及排序方式
1400
+ * @author liufan
1401
+ * @date 2022年11月29日
1402
+ **/
1403
+ sortChange(info) {
1404
+ let { prop, order } = info;
1405
+ this.sidx = prop;
1406
+ this.sord = order.replace('ending', '');
1407
+ this.getPressList();
1408
+ },
1409
+ /**
1410
+ * getPressList
1411
+ * @desc:催办列表数据
1412
+ * @author liufan
1413
+ * @date 2022年11月29日
1414
+ **/
1415
+ getPressList() {
1416
+ const { historyId, pageSize, sidx, sord, currentPage } = this;
1417
+ this.pressLoading = true;
1418
+ let params = {
1419
+ url: pressListJson,
1420
+ params: { historyId },
1421
+ method: 'POST',
1422
+ data: { page: currentPage, rows: pageSize, sidx, sord, historyId }
1423
+ };
1424
+ util
1425
+ .ajax(params)
1426
+ .then((res) => {
1427
+ this.pressTableList = res.data;
1428
+ this.total = res.totalrecords;
1429
+ this.pressLoading = false;
1430
+ })
1431
+ .catch((err) => {
1432
+ this.pressLoading = false;
1433
+ if (err.message && err.message !== 'canceled') {
1434
+ this.$message.error(err.message);
1435
+ }
1436
+ });
1437
+ },
1438
+ /**
1439
+ * goPress
1440
+ * @desc:催办列表查看
1441
+ * @param {String} id 催办列表id
1442
+ * @author liufan
1443
+ * @date 2022年11月29日
1444
+ **/
1445
+ goPress(id) {
1446
+ this.historyId = id;
1447
+ this.showPress = true;
1448
+ this.getPressList();
1449
+ },
1450
+ /**
1451
+ * showFile
1452
+ * @desc:附件查看
1453
+ * @param {String} ownId 附件id
1454
+ * @author liufan
1455
+ * @date 2022年11月29日
1456
+ **/
1457
+ showFile(ownId) {
1458
+ this.wfpendingid = ownId;
1459
+ this.showFileList = true;
1460
+ },
1461
+ /**
1462
+ * handleChange
1463
+ * @desc:切换排序方式
1464
+ * @author liufan
1465
+ * @date 2022年11月22日
1466
+ **/
1467
+ handleChange(key, value) {
1468
+ if (value) {
1469
+ this[key] = value;
1470
+ }
1471
+ // this.show = false;
1472
+ this.loading = util.loading(this.$loading, '加载中...');
1473
+ this.getFlowList();
1474
+ },
1475
+ async getFyListJson(type) {
1476
+ let params = {
1477
+ url: fyListJson,
1478
+ params: {
1479
+ appRecordId: this.businessId,
1480
+ status: type
1481
+ }
1482
+ };
1483
+ await util.ajax(params).then((res) => {
1484
+ if (type == 1) {
1485
+ this.untreatedReadData = res.data;
1486
+ } else {
1487
+ this.processedReadData = res.data;
1488
+ }
1489
+ });
1490
+ },
1491
+ /**
1492
+ * getFlowList
1493
+ * @desc:获取流程列表
1494
+ * @author liufan
1495
+ * @date 2022年11月22日
1496
+ **/
1497
+ getFlowList() {
1498
+ let params = {
1499
+ url: pendedhistoryListJson,
1500
+ params: {
1501
+ apprecordid: this.businessId,
1502
+ pendingAttr: 0,
1503
+ viewType: this.viewType,
1504
+ showSuggest: this.showSuggest,
1505
+ ...this.params
1506
+ }
1507
+ };
1508
+ util
1509
+ .ajax(params)
1510
+ .then((res) => {
1511
+ const {
1512
+ status,
1513
+ message,
1514
+ data: {
1515
+ adjunctCode,
1516
+ wfHistoryList,
1517
+ fyHistoryList,
1518
+ hasAgent,
1519
+ isShort,
1520
+ modify,
1521
+ taskReadName
1522
+ }
1523
+ } = res;
1524
+ this.loading.close();
1525
+ if (status == 'success') {
1526
+ this.flowTableInfo.adjunctCode = adjunctCode;
1527
+ this.flowTableInfo.hasAgent = hasAgent;
1528
+ this.attachmentPaperClipCssStyle =
1529
+ res.data.attachmentPaperClipCssStyle;
1530
+ this.isShort = isShort;
1531
+ this.taskReadName = taskReadName;
1532
+ this.flowData = wfHistoryList;
1533
+ this.flowData.map((x) => {
1534
+ if (!x.deptid) {
1535
+ x.deptid = x.deptName;
1536
+ }
1537
+ });
1538
+ this.splitReadingData = fyHistoryList;
1539
+ this.modify = modify;
1540
+ this.show = true;
1541
+ if (this.contents.indexOf('circular') != -1) {
1542
+ this.getCircularReadList();
1543
+ } else {
1544
+ this.$nextTick(() => {
1545
+ this.getListCount(this.flowListCount);
1546
+ });
1547
+ }
1548
+ } else {
1549
+ this.$message.error(message || '系统错误,请联系管理员!');
1550
+ }
1551
+ })
1552
+ .catch((err) => {
1553
+ this.loading.close();
1554
+ if (err.message && err.message !== 'canceled') {
1555
+ this.$message.error(err.message);
1556
+ }
1557
+ this.show = true;
1558
+ });
1559
+ },
1560
+ /**
1561
+ * handleClick
1562
+ * @desc:表单点击事件
1563
+ * @param {Object} val 当前点击行数据及按钮
1564
+ * @author liufan
1565
+ * @date 2022年11月10日
1566
+ **/
1567
+ handleClick(val) {
1568
+ const {
1569
+ handle: { text },
1570
+ row: { id, status }
1571
+ } = val;
1572
+ if (text === '置为失效') {
1573
+ if (status == 0) {
1574
+ this.$confirm('您确定要置为失效吗?')
1575
+ .then(() => {
1576
+ this.loading = util.loading(this.$loading, '提交中...');
1577
+ let param = {
1578
+ url: deletePresetInfo,
1579
+ headers: { Accept: 'application/json,text/plain' },
1580
+ method: 'post',
1581
+ params: { id }
1582
+ };
1583
+ util
1584
+ .ajax(param)
1585
+ .then((res) => {
1586
+ const { status, message } = res;
1587
+ this.loading.close();
1588
+ if (status === 'success') {
1589
+ this.$message.success('操作成功');
1590
+ this.getListInfo();
1591
+ } else {
1592
+ this.$message.error(message || '系统错误,请联系管理员!');
1593
+ }
1594
+ })
1595
+ .catch((err) => {
1596
+ this.loading.close();
1597
+ if (err.message && err.message !== 'canceled') {
1598
+ this.$message.error(err.message);
1599
+ }
1600
+ });
1601
+ })
1602
+ .catch((e) => {
1603
+ // on cancel
1604
+ });
1605
+ } else {
1606
+ this.$message.warning('当前数据已为失效状态');
1607
+ }
1608
+ }
1609
+ },
1610
+ /**
1611
+ * getCodeValue
1612
+ * @desc:获取代码表过滤后的值
1613
+ * @param {String} value 展示数据的代码值
1614
+ * @param {String} type 代码表类型
1615
+ * @author liufan
1616
+ * @date 2022年11月10日
1617
+ **/
1618
+ getCodeValue(value, type) {
1619
+ let val = this[type].filter((item) => item.cciValue == value);
1620
+ return val[0].shortName;
1621
+ },
1622
+ /**
1623
+ * getSysInfo
1624
+ * @desc:获取代码表
1625
+ * @param {String} code 编码code值
1626
+ * @author liufan
1627
+ * @date 2022年11月10日
1628
+ **/
1629
+ getSysInfo(code) {
1630
+ let params = {
1631
+ url: findCodeValues,
1632
+ params: { ccCode: code }
1633
+ };
1634
+ util
1635
+ .ajax(params)
1636
+ .then((res) => {
1637
+ const { status, message, data } = res;
1638
+ if (status == 'success') {
1639
+ this[code] = data;
1640
+ } else {
1641
+ this.$message.error(message || '系统错误,请联系管理员!');
1642
+ }
1643
+ })
1644
+ .catch((e) => {});
1645
+ },
1646
+ /**
1647
+ * getListInfo
1648
+ * @desc:获取预设列表数据
1649
+ * @author liufan
1650
+ * @date 2022年11月10日
1651
+ **/
1652
+ getListInfo() {
1653
+ let param = {
1654
+ url: toPresetInfoListIndex,
1655
+ params: { apprecordid: this.businessId }
1656
+ };
1657
+ util
1658
+ .ajax(param)
1659
+ .then((res) => {
1660
+ const {
1661
+ status,
1662
+ message,
1663
+ data: {
1664
+ presetInfoList,
1665
+ presetInfoListHiddenColumns,
1666
+ canDelete,
1667
+ currentUserHasPresetInfoAuth
1668
+ }
1669
+ } = res;
1670
+ this.loading.close();
1671
+ if (status == 'success') {
1672
+ presetInfoList && (this.presetData = presetInfoList);
1673
+ this.presetInfoListHiddenColumns = presetInfoListHiddenColumns;
1674
+ this.currentUserHasPresetInfoAuth = currentUserHasPresetInfoAuth;
1675
+ this.canDelete = canDelete;
1676
+ } else {
1677
+ this.$message.error(message || '系统错误,请联系管理员!');
1678
+ }
1679
+ })
1680
+ .catch((err) => {
1681
+ this.loading.close();
1682
+ if (err.message && err.message !== 'canceled') {
1683
+ this.$message.error(err.message);
1684
+ }
1685
+ });
1686
+ }
1687
+ }
1688
+ };
1689
+ </script>
1690
+
1691
+ <style></style>