eoss-ui 0.6.67 → 0.6.68

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