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