eoss-ui 0.7.18 → 0.7.20

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