eoss-ui 0.6.58 → 0.6.59

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