eoss-ui 0.6.41 → 0.6.43

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 (234) hide show
  1. package/lib/eoss-ui.common.js +1160 -1049
  2. package/lib/flow-list.js +123 -112
  3. package/lib/flow.js +884 -784
  4. package/lib/index.js +1 -1
  5. package/lib/main.js +132 -132
  6. package/lib/qr-code.js +13 -13
  7. package/lib/theme-chalk/flow.css +1 -1
  8. package/lib/theme-chalk/index.css +1 -1
  9. package/package.json +159 -159
  10. package/packages/button/index.js +5 -5
  11. package/packages/button/src/main.vue +418 -418
  12. package/packages/button-group/index.js +5 -5
  13. package/packages/button-group/src/main.vue +298 -298
  14. package/packages/calendar/index.js +5 -5
  15. package/packages/card/index.js +5 -5
  16. package/packages/card/src/main.vue +156 -156
  17. package/packages/cascader/index.js +5 -5
  18. package/packages/cascader/src/main.vue +168 -168
  19. package/packages/checkbox-group/index.js +5 -5
  20. package/packages/checkbox-group/src/main.vue +333 -333
  21. package/packages/clients/index.js +5 -5
  22. package/packages/clients/src/main.vue +144 -144
  23. package/packages/data-table/index.js +5 -5
  24. package/packages/data-table/src/children.vue +39 -39
  25. package/packages/data-table/src/column.vue +989 -989
  26. package/packages/data-table/src/main.vue +1822 -1822
  27. package/packages/data-table/src/sizer.vue +195 -195
  28. package/packages/data-table-form/index.js +5 -5
  29. package/packages/data-table-form/src/checkbox.vue +101 -101
  30. package/packages/data-table-form/src/colgroup.vue +17 -17
  31. package/packages/data-table-form/src/main.vue +181 -181
  32. package/packages/data-table-form/src/radio.vue +65 -65
  33. package/packages/data-table-form/src/table.vue +233 -233
  34. package/packages/data-table-form/src/tbody.vue +336 -336
  35. package/packages/data-table-form/src/thead.vue +68 -68
  36. package/packages/date-picker/index.js +5 -5
  37. package/packages/date-picker/src/main.vue +236 -236
  38. package/packages/dialog/index.js +5 -5
  39. package/packages/enterprise/index.js +5 -5
  40. package/packages/enterprise/src/main.vue +66 -66
  41. package/packages/error-page/index.js +5 -5
  42. package/packages/error-page/src/main.vue +44 -44
  43. package/packages/flow/index.js +5 -5
  44. package/packages/flow/src/component/CommonOpinions.vue +345 -345
  45. package/packages/flow/src/component/CustomPreset.vue +322 -322
  46. package/packages/flow/src/component/FileList.vue +99 -99
  47. package/packages/flow/src/component/Preset.vue +255 -255
  48. package/packages/flow/src/component/SendMsg.vue +229 -229
  49. package/packages/flow/src/component/TimeLimit.vue +190 -190
  50. package/packages/flow/src/component/taskUnionExamine.vue +611 -611
  51. package/packages/flow/src/form.vue +121 -121
  52. package/packages/flow/src/freeStartFlow.vue +2843 -2843
  53. package/packages/flow/src/main.vue +2952 -2862
  54. package/packages/flow/src/processForm.vue +1018 -1018
  55. package/packages/flow/src/processReject.vue +293 -293
  56. package/packages/flow/src/reset.vue +899 -899
  57. package/packages/flow/src/startTaskRead.vue +596 -596
  58. package/packages/flow/src/table.vue +58 -58
  59. package/packages/flow-group/index.js +5 -5
  60. package/packages/flow-group/src/main.vue +688 -688
  61. package/packages/flow-list/index.js +5 -5
  62. package/packages/flow-list/src/main.vue +1183 -1172
  63. package/packages/form/index.js +5 -5
  64. package/packages/form/src/main.vue +3584 -3584
  65. package/packages/form/src/table.vue +1420 -1420
  66. package/packages/handle-user/index.js +5 -5
  67. package/packages/handle-user/src/main.vue +138 -138
  68. package/packages/handler/index.js +5 -5
  69. package/packages/handler/src/main.vue +474 -474
  70. package/packages/icon/index.js +5 -5
  71. package/packages/icon/src/main.vue +101 -101
  72. package/packages/icons/index.js +5 -5
  73. package/packages/icons/src/main.vue +81 -81
  74. package/packages/input/index.js +5 -5
  75. package/packages/input/src/main.vue +356 -356
  76. package/packages/input-number/index.js +5 -5
  77. package/packages/input-number/src/main.vue +106 -106
  78. package/packages/label/index.js +5 -5
  79. package/packages/label/src/main.vue +457 -457
  80. package/packages/layout/index.js +5 -5
  81. package/packages/layout/src/item.vue +152 -152
  82. package/packages/layout/src/main.vue +31 -31
  83. package/packages/login/index.js +5 -5
  84. package/packages/login/src/main.vue +1935 -1935
  85. package/packages/login/src/resetPassword.vue +562 -562
  86. package/packages/main/index.js +5 -5
  87. package/packages/main/src/default/message.vue +249 -249
  88. package/packages/main/src/default/notice.vue +157 -157
  89. package/packages/main/src/default/userinfo.vue +505 -505
  90. package/packages/main/src/public/online.vue +89 -89
  91. package/packages/main/src/public/search.vue +461 -461
  92. package/packages/main/src/public/settings.vue +221 -221
  93. package/packages/main/src/simplicity/apps.vue +388 -388
  94. package/packages/main/src/simplicity/avatar.vue +82 -82
  95. package/packages/main/src/simplicity/handler.vue +259 -259
  96. package/packages/main/src/simplicity/index.vue +2047 -2047
  97. package/packages/main/src/simplicity/lists.vue +84 -84
  98. package/packages/main/src/simplicity/menu-list.vue +128 -128
  99. package/packages/main/src/simplicity/message.vue +259 -259
  100. package/packages/main/src/simplicity/notice.vue +190 -190
  101. package/packages/main/src/simplicity/router-page.vue +45 -45
  102. package/packages/main/src/simplicity/sub-menu.vue +241 -241
  103. package/packages/main/src/simplicity/user.vue +257 -257
  104. package/packages/main/src/simplicity/userinfo.vue +312 -312
  105. package/packages/menu/index.js +5 -5
  106. package/packages/menu/src/main.vue +536 -536
  107. package/packages/nav/index.js +5 -5
  108. package/packages/nav/src/main.vue +402 -402
  109. package/packages/notify/index.js +5 -5
  110. package/packages/notify/src/main.vue +538 -538
  111. package/packages/page/index.js +5 -5
  112. package/packages/page/src/main.vue +167 -167
  113. package/packages/pagination/index.js +5 -5
  114. package/packages/pagination/src/main.vue +96 -96
  115. package/packages/player/index.js +5 -5
  116. package/packages/player/src/main.vue +194 -194
  117. package/packages/qr-code/index.js +5 -5
  118. package/packages/qr-code/src/main.vue +170 -170
  119. package/packages/radio-group/index.js +6 -6
  120. package/packages/radio-group/src/main.vue +319 -319
  121. package/packages/retrial-auth/index.js +5 -5
  122. package/packages/retrial-auth/src/main.vue +280 -280
  123. package/packages/select/index.js +5 -5
  124. package/packages/select/src/main.vue +775 -775
  125. package/packages/select-ganged/index.js +5 -5
  126. package/packages/select-ganged/src/main.vue +724 -724
  127. package/packages/selector/index.js +5 -5
  128. package/packages/selector/src/main.vue +689 -689
  129. package/packages/selector-panel/index.js +5 -5
  130. package/packages/selector-panel/src/main.vue +1027 -1027
  131. package/packages/selector-panel/src/selection.vue +177 -177
  132. package/packages/selector-panel/src/tree.vue +129 -129
  133. package/packages/sizer/index.js +5 -5
  134. package/packages/sizer/src/main.vue +254 -254
  135. package/packages/steps/index.js +5 -5
  136. package/packages/steps/src/main.vue +181 -181
  137. package/packages/switch/index.js +5 -5
  138. package/packages/switch/src/main.vue +154 -154
  139. package/packages/table-form/index.js +5 -5
  140. package/packages/tabs/index.js +5 -5
  141. package/packages/tabs/src/main.vue +788 -788
  142. package/packages/tabs-panel/index.js +5 -5
  143. package/packages/tabs-panel/src/main.vue +29 -29
  144. package/packages/theme-chalk/lib/flow.css +1 -1
  145. package/packages/theme-chalk/lib/index.css +1 -1
  146. package/packages/theme-chalk/src/base.scss +260 -260
  147. package/packages/theme-chalk/src/button-group.scss +175 -175
  148. package/packages/theme-chalk/src/button.scss +24 -24
  149. package/packages/theme-chalk/src/calendar.scss +113 -113
  150. package/packages/theme-chalk/src/card.scss +99 -99
  151. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  152. package/packages/theme-chalk/src/clients.scss +87 -87
  153. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  154. package/packages/theme-chalk/src/data-table.scss +293 -293
  155. package/packages/theme-chalk/src/date-picker.scss +7 -7
  156. package/packages/theme-chalk/src/dialog.scss +77 -77
  157. package/packages/theme-chalk/src/enterprise.scss +5 -5
  158. package/packages/theme-chalk/src/error-page.scss +18 -18
  159. package/packages/theme-chalk/src/flow-group.scss +110 -110
  160. package/packages/theme-chalk/src/flow-list.scss +36 -36
  161. package/packages/theme-chalk/src/flow.scss +318 -310
  162. package/packages/theme-chalk/src/form.scss +496 -496
  163. package/packages/theme-chalk/src/handle-user.scss +40 -40
  164. package/packages/theme-chalk/src/handler.scss +143 -143
  165. package/packages/theme-chalk/src/icon.scss +1789 -1789
  166. package/packages/theme-chalk/src/icons.scss +99 -99
  167. package/packages/theme-chalk/src/input.scss +9 -9
  168. package/packages/theme-chalk/src/label.scss +24 -24
  169. package/packages/theme-chalk/src/layout.scss +46 -46
  170. package/packages/theme-chalk/src/login.scss +947 -947
  171. package/packages/theme-chalk/src/main.scss +639 -639
  172. package/packages/theme-chalk/src/menu.scss +222 -222
  173. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  174. package/packages/theme-chalk/src/nav.scss +125 -125
  175. package/packages/theme-chalk/src/page.scss +3 -3
  176. package/packages/theme-chalk/src/pagination.scss +29 -29
  177. package/packages/theme-chalk/src/player.scss +9 -9
  178. package/packages/theme-chalk/src/qr-code.scss +17 -17
  179. package/packages/theme-chalk/src/radio-group.scss +9 -9
  180. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  181. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  182. package/packages/theme-chalk/src/select.scss +8 -8
  183. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  184. package/packages/theme-chalk/src/selector.scss +91 -91
  185. package/packages/theme-chalk/src/simplicity.scss +1262 -1262
  186. package/packages/theme-chalk/src/sizer.scss +36 -36
  187. package/packages/theme-chalk/src/steps.scss +88 -88
  188. package/packages/theme-chalk/src/switch.scss +3 -3
  189. package/packages/theme-chalk/src/table-form.scss +1 -1
  190. package/packages/theme-chalk/src/tabs.scss +87 -87
  191. package/packages/theme-chalk/src/tips.scss +7 -7
  192. package/packages/theme-chalk/src/toolbar.scss +179 -179
  193. package/packages/theme-chalk/src/tree-group.scss +72 -72
  194. package/packages/theme-chalk/src/tree.scss +165 -165
  195. package/packages/theme-chalk/src/upload.scss +167 -167
  196. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  197. package/packages/tips/index.js +5 -5
  198. package/packages/tips/src/main.vue +141 -141
  199. package/packages/toolbar/index.js +5 -5
  200. package/packages/toolbar/src/main.vue +430 -430
  201. package/packages/tree/index.js +5 -5
  202. package/packages/tree-group/index.js +5 -5
  203. package/packages/upload/index.js +5 -5
  204. package/packages/upload/src/main.vue +1334 -1334
  205. package/packages/upload/src/picture.js +15 -15
  206. package/packages/wujie/index.js +5 -5
  207. package/packages/wujie/src/main.vue +145 -145
  208. package/packages/wxlogin/index.js +5 -5
  209. package/packages/wxlogin/src/main.vue +128 -128
  210. package/src/config/api.js +248 -248
  211. package/src/config/image.js +2 -2
  212. package/src/index.js +157 -157
  213. package/src/utils/bus.js +3 -3
  214. package/src/utils/date-util.js +312 -312
  215. package/src/utils/http.js +50 -50
  216. package/src/utils/rules.js +18 -18
  217. package/src/utils/store.js +21 -21
  218. package/src/utils/webSocket.js +107 -107
  219. package/packages/.DS_Store +0 -0
  220. package/packages/data-table/.DS_Store +0 -0
  221. package/packages/data-table-form/.DS_Store +0 -0
  222. package/packages/error-page/.DS_Store +0 -0
  223. package/packages/flow/.DS_Store +0 -0
  224. package/packages/form/.DS_Store +0 -0
  225. package/packages/login/.DS_Store +0 -0
  226. package/packages/main/.DS_Store +0 -0
  227. package/packages/main/src/.DS_Store +0 -0
  228. package/packages/selector/.DS_Store +0 -0
  229. package/packages/selector-panel/.DS_Store +0 -0
  230. package/packages/sizer/.DS_Store +0 -0
  231. package/packages/tabs/.DS_Store +0 -0
  232. package/packages/theme-chalk/src/.DS_Store +0 -0
  233. package/packages/upload/.DS_Store +0 -0
  234. package/src/.DS_Store +0 -0
@@ -1,1172 +1,1183 @@
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
- deleteFlow
98
- } from 'eoss-ui/src/config/api';
99
- import FileList from '../../flow/src/component/FileList.vue';
100
- import util from 'eoss-ui/src/utils/util';
101
- export default {
102
- name: 'EsFlowList',
103
- components: {
104
- [FileList.name]: FileList
105
- },
106
- props: {
107
- businessId: {
108
- type: String,
109
- default: ''
110
- },
111
- hide: {
112
- type: String,
113
- default: ''
114
- },
115
- params: {
116
- type: Object,
117
- default: () => {return {}}
118
- },
119
- toolbar: {
120
- type: Array,
121
- default: () => []
122
- },
123
- contents: {
124
- type: Array,
125
- default() {
126
- return ['flow', 'splitReading', 'preset'];
127
- }
128
- },
129
- display: Boolean
130
- },
131
- inheritAttrs: false,
132
- data() {
133
- return {
134
- pressLoading: false,
135
- pressTableList: [],
136
- currentPage: 1,
137
- pageSize: 20,
138
- currentUserHasPresetInfoAuth: false,
139
- pressThead: [
140
- {
141
- title: '催办节点',
142
- align: 'center',
143
- sortable: true,
144
- field: 'urge_item'
145
- },
146
- {
147
- title: '催办人名称',
148
- sortable: true,
149
- align: 'center',
150
- field: 'urge_man_name'
151
- },
152
- {
153
- title: '催办时间',
154
- sortable: true,
155
- align: 'center',
156
- field: 'urge_time'
157
- },
158
- {
159
- title: '被催办人名称',
160
- align: 'center',
161
- sortable: true,
162
- field: 'urged_man_name'
163
- }
164
- ],
165
- wfpendingid: '',
166
- showFileList: false,
167
- flowData: [],
168
- splitReadingData: [],
169
- presetData: [],
170
- signData: [],
171
- loading: '', //加载中
172
- preset_type: [], //预设类型
173
- showPress: false, //查看催办记录弹窗
174
- modify: false,
175
- formData: { reason: '' },
176
- formItemList: [
177
- {
178
- name: 'reason',
179
- label: '删除原因',
180
- type: 'textarea',
181
- placeholder: '请输入删除原因',
182
- rules: {
183
- required: true,
184
- message: '请输入删除原因',
185
- trigger: 'blur'
186
- },
187
- value: '',
188
- rows: 5
189
- },
190
- {
191
- type: 'submit',
192
- skin: 'lay-form-btns',
193
- contents: [
194
- {
195
- type: 'primary',
196
- plain: true,
197
- text: '保存',
198
- event: 'confirm'
199
- }
200
- ]
201
- }
202
- ],
203
- delLoading: false,
204
- showDel: false,
205
- attachmentPaperClipCssStyle: '',
206
- is_edit: [], //是否可编辑
207
- flowTableInfo: {
208
- adjunctCode: '',
209
- hasAgent: '1' //是否展示代办人 1:展示 0:不展示
210
- },
211
- show: false,
212
- taskReadName: '', //非流程列表名称
213
- options: [
214
- { label: '时间排序', value: '1' },
215
- { label: '部门排序', value: '2' },
216
- { label: '树形排序', value: '3' }
217
- ],
218
- isShort: 0, //是否隐藏筛选
219
- viewType: '1', //排序方式
220
- flowTableList: [], //流程列表
221
- fyTableList: [], //分阅列表
222
- showSuggest: 'all', //筛选显示数据
223
- presetInfoListHiddenColumns: '', //隐藏表格展示数据
224
- canDelete: false, //是否展示操作按钮
225
- historyId: '',
226
- sidx: '',
227
- sord: '',
228
- total: 0
229
- };
230
- },
231
- computed: {
232
- toolbars() {
233
- return {
234
- flow: [
235
- {
236
- type: 'text',
237
- contents: '流程列表'
238
- },
239
- {
240
- type: 'search',
241
- contents: [
242
- {
243
- name: 'showSuggest',
244
- type: 'radio',
245
- changeSearch: true,
246
- data: [
247
- {
248
- value: 'all',
249
- name: '显示全部',
250
- checked: true
251
- },
252
- { value: 'have', name: '显示已填意见' }
253
- ],
254
- events: {
255
- change: (key, value) => {
256
- this.handleChange(key, value);
257
- }
258
- }
259
- },
260
- {
261
- type: 'select',
262
- placeholder: '请选择',
263
- name: 'viewType',
264
- width: '140px',
265
- changeSearch: true,
266
- events: {
267
- change: (key, value) => {
268
- this.handleChange(key, value);
269
- }
270
- },
271
- data: [
272
- {
273
- value: 1,
274
- selected: true,
275
- name: '时间排序'
276
- },
277
- {
278
- value: 2,
279
- name: '部门排序'
280
- },
281
- {
282
- value: 3,
283
- name: '树形排序'
284
- }
285
- ]
286
- }
287
- ]
288
- }
289
- ],
290
- preset: [
291
- {
292
- type: 'text',
293
- contents: '预设列表'
294
- }
295
- ],
296
- sign: [
297
- {
298
- type: 'button',
299
- contents: [
300
- {
301
- text: '生成处理签',
302
- type: 'primary'
303
- }
304
- ]
305
- }
306
- ],
307
- splitReading: [
308
- {
309
- type: 'text',
310
- contents:
311
- (this.taskReadName ? this.taskReadName : '非流程') + '列表'
312
- }
313
- ]
314
- };
315
- },
316
- pageInfo() {
317
- return {
318
- pageNum: this.currentPage,
319
- pageSize: this.pageSize,
320
- totalCount: this.total
321
- };
322
- },
323
- theads() {
324
- const _that = this;
325
- return {
326
- flow: [
327
- {
328
- label: '经办部门',
329
- field: 'deptid',
330
- align: 'center',
331
- key: 'jbbm',
332
- showOverflowTooltip: true,
333
- width: 150
334
- },
335
- {
336
- label: '步骤',
337
- field: 'itemname',
338
- align: 'center',
339
- key: 'bz',
340
- showOverflowTooltip: true,
341
- width: 110
342
- },
343
- {
344
- label: '办理人',
345
- field: 'userName',
346
- align: 'center',
347
- key: 'blr',
348
- showOverflowTooltip: true,
349
- width: 110
350
- },
351
- {
352
- label: '办理人部门',
353
- field: 'deptName',
354
- align: 'center',
355
- showOverflowTooltip: true,
356
- key: 'blrbm',
357
- width: 110
358
- },
359
- {
360
- label: '状态',
361
- field: 'pendstate',
362
- key: 'zt',
363
- align: 'center',
364
- showOverflowTooltip: true,
365
- width: 80,
366
- render: (h, params) => {
367
- return h('span', {
368
- style: {
369
- color:
370
- params.row.pendstate == 0 || params.row.pendstate == 3
371
- ? 'red'
372
- : params.row.pendstate == 1
373
- ? 'green'
374
- : 'deepskyblue'
375
- },
376
- domProps: { innerHTML: params.row.querykeywords }
377
- });
378
- }
379
- },
380
- {
381
- label: '办理意见',
382
- field: 'doresult',
383
- align: 'center',
384
- showOverflowTooltip: true,
385
- key: 'blyj',
386
- render: (h, params) => {
387
- if(params.row.doresult && (params.row.doresult.startsWith('http') || params.row.doresult.startsWith('https'))){
388
- return h('img', {attrs:{src: params.row.doresult},style:{width:'100px',height:'100px'}});
389
- }else{
390
- return h('span', {}, [
391
- params.row.doresult
392
- ? params.row.doresult + (params.row.handleInfo ? '&' : '')
393
- : '',
394
- h(
395
- 'span',
396
- { style: { color: '#A5A5A5', marginLeft: '2px' } },
397
- params.row.handleInfo || ''
398
- )
399
- ]);
400
- }
401
- }
402
- },
403
- {
404
- label: '验签',
405
- field: 'authTypeStr',
406
- align: 'center',
407
- key: 'yq',
408
- showOverflowTooltip: true,
409
- width: 70,
410
- render: (h, params) => {
411
- return h(
412
- 'span',
413
- { style: { color: 'deepskyblue' } },
414
- params.row.authTypeStr
415
- );
416
- }
417
- },
418
- {
419
- label: '附件',
420
- key: 'fj',
421
- field: 'hasAdjunct',
422
- align: 'center',
423
- showOverflowTooltip: true,
424
- width: 70,
425
- render: (h, params) => {
426
- if (params.row.hasAdjunct) {
427
- return h('span', {
428
- style: _that.attachmentPaperClipCssStyle
429
- ? _that.attachmentPaperClipCssStyle
430
- : { color: 'red', fontSize: '20px' },
431
- class: 'iconfont es-icon-fujian'
432
- });
433
- } else {
434
- return h('span', {}, '');
435
- }
436
- }
437
- },
438
- {
439
- label: '时间',
440
- field: 'doetime',
441
- align: 'center',
442
- key: 'sj',
443
- showOverflowTooltip: true,
444
- width: 150,
445
- render: (h, params) => {
446
- return h(
447
- 'span',
448
- {},
449
- params.row.doetime
450
- ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
451
- : ''
452
- );
453
- }
454
- },
455
- {
456
- label: '代办人',
457
- field: 'douserid',
458
- align: 'center',
459
- key: 'dbr',
460
- showOverflowTooltip: true,
461
- width: 80,
462
- hide: _that.flowTableInfo.hasAgent != '1'
463
- },
464
- {
465
- label: '催办',
466
- field: 'pressTimes',
467
- align: 'center',
468
- key: 'cb',
469
- showOverflowTooltip: true,
470
- width: 150,
471
- render: (h, params) => {
472
- return h(
473
- 'span',
474
- { style: 'color:deepskyblue;cursor: pointer;' },
475
- params.row.pressTimes
476
- );
477
- }
478
- },
479
- {
480
- title: '操作',
481
- type: 'handle',
482
- width: this.modify ? '130' : '100',
483
- template: '',
484
- events: [
485
- {
486
- text: '删除',
487
- rules: (rows) => {
488
- return rows.canDelete;
489
- }
490
- }
491
- // {
492
- // text: '修改',
493
- // rules: (rows) => {
494
- // return this.modify && rows.pendstate == 2;
495
- // }
496
- // }
497
- ]
498
- }
499
- ],
500
- preset: this.thead,
501
- splitReading: [
502
- {
503
- label: '经办部门',
504
- field: 'deptid',
505
- key: 'jbbm',
506
- align: 'center',
507
- showOverflowTooltip: true,
508
- width: 150
509
- },
510
- {
511
- label: '步骤',
512
- field: 'itemname',
513
- align: 'center',
514
- key: 'bz',
515
- showOverflowTooltip: true,
516
- width: 110
517
- },
518
- {
519
- label: '办理人',
520
- field: 'userName',
521
- align: 'center',
522
- key: 'blr',
523
- showOverflowTooltip: true,
524
- width: 110
525
- },
526
- {
527
- label: '状态',
528
- field: 'pendstate',
529
- align: 'center',
530
- key: 'zt',
531
- showOverflowTooltip: true,
532
- width: 80,
533
- render: (h, params) => {
534
- return h('span', {
535
- style: {
536
- color:
537
- params.row.pendstate == 0 || params.row.pendstate == 3
538
- ? 'red'
539
- : params.row.pendstate == 1
540
- ? 'green'
541
- : 'deepskyblue'
542
- },
543
- domProps: { innerHTML: params.row.querykeywords }
544
- });
545
- }
546
- },
547
- {
548
- label: '办理意见',
549
- field: 'doresult',
550
- align: 'center',
551
- key: 'blyj',
552
- showOverflowTooltip: true,
553
- render: (h, params) => {
554
- if(params.row.doresult && (params.row.doresult.startsWith('http') || params.row.doresult.startsWith('https'))){
555
- return h('img', {attrs:{src: params.row.doresult},style:{width:'100px',height:'100px'}});
556
- }else{
557
- return h('span', {}, [
558
- params.row.doresult
559
- ? params.row.doresult + (params.row.handleInfo ? '&' : '')
560
- : '',
561
- h(
562
- 'span',
563
- { style: { color: '#A5A5A5', marginLeft: '2px' } },
564
- params.row.handleInfo || ''
565
- )
566
- ]);
567
- }
568
- }
569
- },
570
- {
571
- label: '验签',
572
- field: 'authTypeStr',
573
- align: 'center',
574
- key: 'yq',
575
- showOverflowTooltip: true,
576
- width: 70,
577
- render: (h, params) => {
578
- return h(
579
- 'span',
580
- { style: { color: 'deepskyblue' } },
581
- params.row.authTypeStr
582
- );
583
- }
584
- },
585
- {
586
- label: '附件',
587
- field: 'hasAdjunct',
588
- align: 'center',
589
- key: 'fj',
590
- showOverflowTooltip: true,
591
- width: 70,
592
- render: (h, params) => {
593
- if (params.row.hasAdjunct) {
594
- return h('span', {
595
- style: _that.attachmentPaperClipCssStyle
596
- ? _that.attachmentPaperClipCssStyle
597
- : { color: 'red', fontSize: '20px' },
598
- class: 'iconfont es-icon-fujian'
599
- });
600
- } else {
601
- return h('span', {}, '');
602
- }
603
- }
604
- },
605
- {
606
- label: '时间',
607
- field: 'doetime',
608
- align: 'center',
609
- key: 'sj',
610
- showOverflowTooltip: true,
611
- width: 150,
612
- render: (h, params) => {
613
- return h(
614
- 'span',
615
- {},
616
- params.row.doetime
617
- ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
618
- : ''
619
- );
620
- }
621
- },
622
- {
623
- label: '代办人',
624
- field: 'douserid',
625
- align: 'center',
626
- key: 'dbr',
627
- showOverflowTooltip: true,
628
- width: 80,
629
- hide: _that.flowTableInfo.hasAgent != '1'
630
- },
631
- {
632
- label: '催办',
633
- field: 'pressTimes',
634
- align: 'center',
635
- key: 'cb',
636
- showOverflowTooltip: true,
637
- width: 150,
638
- render: (h, params) => {
639
- return h(
640
- 'span',
641
- { style: 'color:deepskyblue;cursor: pointer;' },
642
- params.row.pressTimes
643
- );
644
- }
645
- },
646
- {
647
- title: '操作',
648
- type: 'handle',
649
- width: '100',
650
- template: '',
651
- events: [
652
- {
653
- text: '删除',
654
- rules: (rows) => {
655
- return rows.canDelete;
656
- }
657
- }
658
- ]
659
- }
660
- ]
661
- };
662
- },
663
- content() {
664
- let contents = this.contents.map((item) => {
665
- if (typeof item === 'string') {
666
- return {
667
- type: item,
668
- toolbar: this.toolbars[item],
669
- thead: this.theads[item],
670
- showFormBtn: false
671
- };
672
- } else {
673
- if (!Object.prototype.hasOwnProperty.call(item, 'toolbar')) {
674
- let toolbars = this.toolbars[item.type];
675
- return { ...item, toolbars };
676
- }
677
- if (!Object.prototype.hasOwnProperty.call(item, 'thead')) {
678
- let thead = this.theads[item.type];
679
- return { ...item, thead };
680
- }
681
- return item;
682
- }
683
- });
684
- return contents;
685
- },
686
- newToolbar() {
687
- if (this.toolbar && this.toolbar.length > 0) {
688
- return this.toolbar;
689
- } else {
690
- return [];
691
- }
692
- },
693
- thead() {
694
- let table = [
695
- {
696
- title: '步骤',
697
- align: 'center',
698
- width: '100',
699
- field: 'nodeName'
700
- },
701
- {
702
- title: '预设办理人',
703
- width: '120',
704
- align: 'center',
705
- field: 'presetUserName'
706
- },
707
- {
708
- title: '是否可编辑',
709
- key: 'sfkbj',
710
- align: 'center',
711
- width: '100',
712
- render: (h, params) => {
713
- return h('span', this.getCodeValue(params.row.isEdit, 'is_edit'));
714
- },
715
- field: 'isEdit'
716
- },
717
- {
718
- key: 'zt',
719
- title: '状态',
720
- width: '80',
721
- align: 'center',
722
- field: 'statusName'
723
- },
724
- {
725
- title: '预设类型',
726
- key: 'yslx',
727
- width: '120',
728
- align: 'center',
729
- render: (h, params) => {
730
- return h(
731
- 'span',
732
- this.getCodeValue(params.row.presetType, 'preset_type')
733
- );
734
- },
735
- field: 'presetType'
736
- },
737
- {
738
- title: '流程名称',
739
- key: 'lcmc',
740
- align: 'center',
741
- field: 'processDefName'
742
- },
743
- {
744
- title: '上一步骤',
745
- key: 'sybz',
746
- align: 'center',
747
- field: 'lastNodeName'
748
- },
749
- {
750
- title: '创建步骤',
751
- key: 'cjbz',
752
- align: 'center',
753
- field: 'operationNodeName'
754
- },
755
- {
756
- title: '创建人',
757
- key: 'cjr',
758
- width: '120',
759
- align: 'center',
760
- field: 'creatorName'
761
- },
762
- {
763
- title: '创建时间',
764
- width: '150',
765
- key: 'cjsj',
766
- align: 'center',
767
- render: (h, params) => {
768
- return h(
769
- 'span',
770
- util.formatDate(params.row.createTime, 'yyyy-MM-dd HH:mm')
771
- );
772
- },
773
- field: 'createTime'
774
- },
775
- {
776
- title: '操作区域',
777
- type: 'handle',
778
- align: 'center',
779
- width: '120',
780
- events: [
781
- {
782
- text: '置为失效'
783
- }
784
- ]
785
- }
786
- ];
787
- if (
788
- this.presetInfoListHiddenColumns != undefined &&
789
- this.presetInfoListHiddenColumns != ''
790
- ) {
791
- table = table.filter(
792
- (items) => this.presetInfoListHiddenColumns.indexOf(items.key) == -1
793
- );
794
- }
795
- if (!this.canDelete) table.splice(table.length - 1, 1);
796
- return table;
797
- }
798
- },
799
- mounted() {
800
- this.loading = util.loading(this.$loading, '加载中...');
801
- this.getFlowList();
802
- this.getSysInfo('preset_type');
803
- this.getSysInfo('is_edit');
804
- this.getListInfo();
805
- },
806
-
807
- methods: {
808
- returnData(type) {
809
- switch (type) {
810
- case 'preset':
811
- return this.presetData;
812
- case 'sign':
813
- return this.signData;
814
- case 'splitReading':
815
- return this.splitReadingData;
816
- default:
817
- return this.flowData;
818
- }
819
- },
820
- handleCellClick(row, column) {
821
- if (column.property == 'hasAdjunct' && row.hasAdjunct) {
822
- this.showFile(row.wfpendingid);
823
- } else if (column.property == 'pressTimes') {
824
- this.goPress(row.id);
825
- }
826
- },
827
- handleBtnClick(data) {
828
- const { handle, row } = data;
829
- if (handle.text == '删除') {
830
- this.del(row.id);
831
- }
832
- },
833
- /**
834
- * handleFormSubmit
835
- * @desc:删除节点点击事件
836
- * @param {Object} formData 点击删除的form数据
837
- * @author liufan
838
- * @date 2022年11月29日
839
- **/
840
- handleFormSubmit(formData) {
841
- this.delLoading = true;
842
- let params = {
843
- url: deleteFlow,
844
- method: 'POST',
845
- data: { id: this.historyId, reason: formData.reason }
846
- };
847
- util
848
- .ajax(params)
849
- .then((res) => {
850
- const { status, message } = res;
851
- this.delLoading = false;
852
- if (status === 'success') {
853
- this.$message.success('删除成功');
854
- this.showDel = false;
855
- this.handleChange();
856
- } else {
857
- this.$message.error(message || '系统错误,请联系管理员!');
858
- }
859
- })
860
- .catch((err) => {
861
- this.delLoading = false;
862
- if (err.message && err.message !== 'canceled') {
863
- this.$message.error(err.message);
864
- }
865
- });
866
- },
867
- /**
868
- * del
869
- * @desc:展示删除弹窗
870
- * @param {String} id 当前点击数据id
871
- * @author liufan
872
- * @date 2022年11月29日
873
- **/
874
- del(id) {
875
- this.historyId = id;
876
- this.showDel = true;
877
- },
878
- /**
879
- * handleCurrentChange
880
- * @desc:监听页码变化
881
- * @param {String} val 当前页
882
- * @author liufan
883
- * @date 2022年11月29日
884
- **/
885
- handleCurrentChange(val) {
886
- this.currentPage = val;
887
- this.getPressList();
888
- },
889
- /**
890
- * handleSizeChange
891
- * @desc:监听每页数据显示数量变化
892
- * @param {String} val 每页展示数量
893
- * @author liufan
894
- * @date 2022年11月29日
895
- **/
896
- handleSizeChange(val) {
897
- this.pageSize = val;
898
- this.getPressList();
899
- },
900
- /**
901
- * sortChange
902
- * @desc:监听排序变化
903
- * @param {Object} info 需要排序的字段及排序方式
904
- * @author liufan
905
- * @date 2022年11月29日
906
- **/
907
- sortChange(info) {
908
- let { prop, order } = info;
909
- this.sidx = prop;
910
- this.sord = order.replace('ending', '');
911
- this.getPressList();
912
- },
913
- /**
914
- * getPressList
915
- * @desc:催办列表数据
916
- * @author liufan
917
- * @date 2022年11月29日
918
- **/
919
- getPressList() {
920
- const { historyId, pageSize, sidx, sord, currentPage } = this;
921
- this.pressLoading = true;
922
- let params = {
923
- url: pressListJson,
924
- params: { historyId },
925
- method: 'POST',
926
- data: { page: currentPage, rows: pageSize, sidx, sord, historyId }
927
- };
928
- util
929
- .ajax(params)
930
- .then((res) => {
931
- this.pressTableList = res.data;
932
- this.total = res.totalrecords;
933
- this.pressLoading = false;
934
- })
935
- .catch((err) => {
936
- this.pressLoading = false;
937
- if (err.message && err.message !== 'canceled') {
938
- this.$message.error(err.message);
939
- }
940
- });
941
- },
942
- /**
943
- * goPress
944
- * @desc:催办列表查看
945
- * @param {String} id 催办列表id
946
- * @author liufan
947
- * @date 2022年11月29日
948
- **/
949
- goPress(id) {
950
- this.historyId = id;
951
- this.showPress = true;
952
- this.getPressList();
953
- },
954
- /**
955
- * showFile
956
- * @desc:附件查看
957
- * @param {String} ownId 附件id
958
- * @author liufan
959
- * @date 2022年11月29日
960
- **/
961
- showFile(ownId) {
962
- this.wfpendingid = ownId;
963
- this.showFileList = true;
964
- },
965
- /**
966
- * handleChange
967
- * @desc:切换排序方式
968
- * @author liufan
969
- * @date 2022年11月22日
970
- **/
971
- handleChange(key, value) {
972
- if (value) {
973
- this[key] = value;
974
- }
975
- // this.show = false;
976
- this.loading = util.loading(this.$loading, '加载中...');
977
- this.getFlowList();
978
- },
979
- /**
980
- * getFlowList
981
- * @desc:获取流程列表
982
- * @author liufan
983
- * @date 2022年11月22日
984
- **/
985
- getFlowList() {
986
- let params = {
987
- url: pendedhistoryListJson,
988
- params: {
989
- apprecordid: this.businessId,
990
- pendingAttr: 0,
991
- viewType: this.viewType,
992
- showSuggest: this.showSuggest,
993
- ...this.params
994
- }
995
- };
996
- util
997
- .ajax(params)
998
- .then((res) => {
999
- const {
1000
- status,
1001
- message,
1002
- data: {
1003
- adjunctCode,
1004
- wfHistoryList,
1005
- fyHistoryList,
1006
- hasAgent,
1007
- isShort,
1008
- modify,
1009
- taskReadName
1010
- }
1011
- } = res;
1012
- this.loading.close();
1013
- if (status == 'success') {
1014
- this.flowTableInfo.adjunctCode = adjunctCode;
1015
- this.flowTableInfo.hasAgent = hasAgent;
1016
- this.attachmentPaperClipCssStyle =
1017
- res.data.attachmentPaperClipCssStyle;
1018
- this.isShort = isShort;
1019
- this.taskReadName = taskReadName;
1020
- this.flowData = wfHistoryList;
1021
- this.flowData.map((x) => {
1022
- if (!x.deptid) {
1023
- x.deptid = x.deptName;
1024
- }
1025
- });
1026
- this.splitReadingData = fyHistoryList;
1027
- this.modify = modify;
1028
- this.show = true;
1029
- } else {
1030
- this.$message.error(message || '系统错误,请联系管理员!');
1031
- }
1032
- })
1033
- .catch((err) => {
1034
- this.loading.close();
1035
- if (err.message && err.message !== 'canceled') {
1036
- this.$message.error(err.message);
1037
- }
1038
- this.show = true;
1039
- });
1040
- },
1041
- /**
1042
- * handleClick
1043
- * @desc:表单点击事件
1044
- * @param {Object} val 当前点击行数据及按钮
1045
- * @author liufan
1046
- * @date 2022年11月10日
1047
- **/
1048
- handleClick(val) {
1049
- const {
1050
- handle: { text },
1051
- row: { id, status }
1052
- } = val;
1053
- if (text === '置为失效') {
1054
- if (status == 0) {
1055
- this.$confirm('您确定要置为失效吗?')
1056
- .then(() => {
1057
- this.loading = util.loading(this.$loading, '提交中...');
1058
- let param = {
1059
- url: deletePresetInfo,
1060
- headers: { Accept: 'application/json,text/plain' },
1061
- method: 'post',
1062
- params: { id }
1063
- };
1064
- util
1065
- .ajax(param)
1066
- .then((res) => {
1067
- const { status, message } = res;
1068
- this.loading.close();
1069
- if (status === 'success') {
1070
- this.$message.success('操作成功');
1071
- this.getListInfo();
1072
- } else {
1073
- this.$message.error(message || '系统错误,请联系管理员!');
1074
- }
1075
- })
1076
- .catch((err) => {
1077
- this.loading.close();
1078
- if (err.message && err.message !== 'canceled') {
1079
- this.$message.error(err.message);
1080
- }
1081
- });
1082
- })
1083
- .catch((e) => {
1084
- // on cancel
1085
- });
1086
- } else {
1087
- this.$message.warning('当前数据已为失效状态');
1088
- }
1089
- }
1090
- },
1091
- /**
1092
- * getCodeValue
1093
- * @desc:获取代码表过滤后的值
1094
- * @param {String} value 展示数据的代码值
1095
- * @param {String} type 代码表类型
1096
- * @author liufan
1097
- * @date 2022年11月10日
1098
- **/
1099
- getCodeValue(value, type) {
1100
- let val = this[type].filter((item) => item.cciValue == value);
1101
- return val[0].shortName;
1102
- },
1103
- /**
1104
- * getSysInfo
1105
- * @desc:获取代码表
1106
- * @param {String} code 编码code值
1107
- * @author liufan
1108
- * @date 2022年11月10日
1109
- **/
1110
- getSysInfo(code) {
1111
- let params = {
1112
- url: findCodeValues,
1113
- params: { ccCode: code }
1114
- };
1115
- util
1116
- .ajax(params)
1117
- .then((res) => {
1118
- const { status, message, data } = res;
1119
- if (status == 'success') {
1120
- this[code] = data;
1121
- } else {
1122
- this.$message.error(message || '系统错误,请联系管理员!');
1123
- }
1124
- })
1125
- .catch((e) => {});
1126
- },
1127
- /**
1128
- * getListInfo
1129
- * @desc:获取预设列表数据
1130
- * @author liufan
1131
- * @date 2022年11月10日
1132
- **/
1133
- getListInfo() {
1134
- let param = {
1135
- url: toPresetInfoListIndex,
1136
- params: { apprecordid: this.businessId }
1137
- };
1138
- util
1139
- .ajax(param)
1140
- .then((res) => {
1141
- const {
1142
- status,
1143
- message,
1144
- data: {
1145
- presetInfoList,
1146
- presetInfoListHiddenColumns,
1147
- canDelete,
1148
- currentUserHasPresetInfoAuth
1149
- }
1150
- } = res;
1151
- this.loading.close();
1152
- if (status == 'success') {
1153
- presetInfoList && (this.presetData = presetInfoList);
1154
- this.presetInfoListHiddenColumns = presetInfoListHiddenColumns;
1155
- this.currentUserHasPresetInfoAuth = currentUserHasPresetInfoAuth;
1156
- this.canDelete = canDelete;
1157
- } else {
1158
- this.$message.error(message || '系统错误,请联系管理员!');
1159
- }
1160
- })
1161
- .catch((err) => {
1162
- this.loading.close();
1163
- if (err.message && err.message !== 'canceled') {
1164
- this.$message.error(err.message);
1165
- }
1166
- });
1167
- }
1168
- }
1169
- };
1170
- </script>
1171
-
1172
- <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
+ ></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
+ deleteFlow
98
+ } from 'eoss-ui/src/config/api';
99
+ import FileList from '../../flow/src/component/FileList.vue';
100
+ import util from 'eoss-ui/src/utils/util';
101
+ export default {
102
+ name: 'EsFlowList',
103
+ components: {
104
+ [FileList.name]: FileList
105
+ },
106
+ props: {
107
+ businessId: {
108
+ type: String,
109
+ default: ''
110
+ },
111
+ hide: {
112
+ type: String,
113
+ default: ''
114
+ },
115
+ params: {
116
+ type: Object,
117
+ default: () => {return {}}
118
+ },
119
+ toolbar: {
120
+ type: Array,
121
+ default: () => []
122
+ },
123
+ contents: {
124
+ type: Array,
125
+ default() {
126
+ return ['flow', 'splitReading', 'preset'];
127
+ },
128
+ },
129
+ theadWidth:{
130
+ type:Object,
131
+ default: () => {
132
+ return {}
133
+ }
134
+ },
135
+ display: Boolean
136
+ },
137
+ inheritAttrs: false,
138
+ data() {
139
+ return {
140
+ pressLoading: false,
141
+ pressTableList: [],
142
+ currentPage: 1,
143
+ pageSize: 20,
144
+ currentUserHasPresetInfoAuth: false,
145
+ pressThead: [
146
+ {
147
+ title: '催办节点',
148
+ align: 'center',
149
+ sortable: true,
150
+ field: 'urge_item'
151
+ },
152
+ {
153
+ title: '催办人名称',
154
+ sortable: true,
155
+ align: 'center',
156
+ field: 'urge_man_name'
157
+ },
158
+ {
159
+ title: '催办时间',
160
+ sortable: true,
161
+ align: 'center',
162
+ field: 'urge_time'
163
+ },
164
+ {
165
+ title: '被催办人名称',
166
+ align: 'center',
167
+ sortable: true,
168
+ field: 'urged_man_name'
169
+ }
170
+ ],
171
+ wfpendingid: '',
172
+ showFileList: false,
173
+ flowData: [],
174
+ splitReadingData: [],
175
+ presetData: [],
176
+ signData: [],
177
+ loading: '', //加载中
178
+ preset_type: [], //预设类型
179
+ showPress: false, //查看催办记录弹窗
180
+ modify: false,
181
+ formData: { reason: '' },
182
+ formItemList: [
183
+ {
184
+ name: 'reason',
185
+ label: '删除原因',
186
+ type: 'textarea',
187
+ placeholder: '请输入删除原因',
188
+ rules: {
189
+ required: true,
190
+ message: '请输入删除原因',
191
+ trigger: 'blur'
192
+ },
193
+ value: '',
194
+ rows: 5
195
+ },
196
+ {
197
+ type: 'submit',
198
+ skin: 'lay-form-btns',
199
+ contents: [
200
+ {
201
+ type: 'primary',
202
+ plain: true,
203
+ text: '保存',
204
+ event: 'confirm'
205
+ }
206
+ ]
207
+ }
208
+ ],
209
+ delLoading: false,
210
+ showDel: false,
211
+ attachmentPaperClipCssStyle: '',
212
+ is_edit: [], //是否可编辑
213
+ flowTableInfo: {
214
+ adjunctCode: '',
215
+ hasAgent: '1' //是否展示代办人 1:展示 0:不展示
216
+ },
217
+ show: false,
218
+ taskReadName: '', //非流程列表名称
219
+ options: [
220
+ { label: '时间排序', value: '1' },
221
+ { label: '部门排序', value: '2' },
222
+ { label: '树形排序', value: '3' }
223
+ ],
224
+ isShort: 0, //是否隐藏筛选
225
+ viewType: '1', //排序方式
226
+ flowTableList: [], //流程列表
227
+ fyTableList: [], //分阅列表
228
+ showSuggest: 'all', //筛选显示数据
229
+ presetInfoListHiddenColumns: '', //隐藏表格展示数据
230
+ canDelete: false, //是否展示操作按钮
231
+ historyId: '',
232
+ sidx: '',
233
+ sord: '',
234
+ total: 0
235
+ };
236
+ },
237
+ computed: {
238
+ toolbars() {
239
+ return {
240
+ flow: [
241
+ {
242
+ type: 'text',
243
+ contents: '流程列表'
244
+ },
245
+ {
246
+ type: 'search',
247
+ contents: [
248
+ {
249
+ name: 'showSuggest',
250
+ type: 'radio',
251
+ changeSearch: true,
252
+ data: [
253
+ {
254
+ value: 'all',
255
+ name: '显示全部',
256
+ checked: true
257
+ },
258
+ { value: 'have', name: '显示已填意见' }
259
+ ],
260
+ events: {
261
+ change: (key, value) => {
262
+ this.handleChange(key, value);
263
+ }
264
+ }
265
+ },
266
+ {
267
+ type: 'select',
268
+ placeholder: '请选择',
269
+ name: 'viewType',
270
+ width: '140px',
271
+ changeSearch: true,
272
+ events: {
273
+ change: (key, value) => {
274
+ this.handleChange(key, value);
275
+ }
276
+ },
277
+ data: [
278
+ {
279
+ value: 1,
280
+ selected: true,
281
+ name: '时间排序'
282
+ },
283
+ {
284
+ value: 2,
285
+ name: '部门排序'
286
+ },
287
+ {
288
+ value: 3,
289
+ name: '树形排序'
290
+ }
291
+ ]
292
+ }
293
+ ]
294
+ }
295
+ ],
296
+ preset: [
297
+ {
298
+ type: 'text',
299
+ contents: '预设列表'
300
+ }
301
+ ],
302
+ sign: [
303
+ {
304
+ type: 'button',
305
+ contents: [
306
+ {
307
+ text: '生成处理签',
308
+ type: 'primary'
309
+ }
310
+ ]
311
+ }
312
+ ],
313
+ splitReading: [
314
+ {
315
+ type: 'text',
316
+ contents:
317
+ (this.taskReadName ? this.taskReadName : '非流程') + '列表'
318
+ }
319
+ ]
320
+ };
321
+ },
322
+ pageInfo() {
323
+ return {
324
+ pageNum: this.currentPage,
325
+ pageSize: this.pageSize,
326
+ totalCount: this.total
327
+ };
328
+ },
329
+ theads() {
330
+ const _that = this;
331
+ return {
332
+ flow: [
333
+ {
334
+ label: '经办部门',
335
+ field: 'deptid',
336
+ align: 'center',
337
+ key: 'jbbm',
338
+ showOverflowTooltip: true,
339
+ width:this.theadWidth.deptid || 150
340
+ },
341
+ {
342
+ label: '步骤',
343
+ field: 'itemname',
344
+ align: 'center',
345
+ key: 'bz',
346
+ showOverflowTooltip: true,
347
+ width:this.theadWidth.itemname || 110
348
+ },
349
+ {
350
+ label: '办理人',
351
+ field: 'userName',
352
+ align: 'center',
353
+ key: 'blr',
354
+ showOverflowTooltip: true,
355
+ width:this.theadWidth.userName || 110
356
+ },
357
+ {
358
+ label: '办理人部门',
359
+ field: 'deptName',
360
+ align: 'center',
361
+ showOverflowTooltip: true,
362
+ key: 'blrbm',
363
+ width:this.theadWidth.deptName || 110
364
+ },
365
+ {
366
+ label: '状态',
367
+ field: 'pendstate',
368
+ key: 'zt',
369
+ align: 'center',
370
+ showOverflowTooltip: true,
371
+ width:this.theadWidth.pendstate || 80,
372
+ render: (h, params) => {
373
+ return h('span', {
374
+ style: {
375
+ color:
376
+ params.row.pendstate == 0 || params.row.pendstate == 3
377
+ ? 'red'
378
+ : params.row.pendstate == 1
379
+ ? 'green'
380
+ : 'deepskyblue'
381
+ },
382
+ domProps: { innerHTML: params.row.querykeywords }
383
+ });
384
+ }
385
+ },
386
+ {
387
+ label: '办理意见',
388
+ field: 'doresult',
389
+ align: 'center',
390
+ width:this.theadWidth.doresult,
391
+ showOverflowTooltip: true,
392
+ key: 'blyj',
393
+ render: (h, params) => {
394
+ if(params.row.doresult && (params.row.doresult.startsWith('http') || params.row.doresult.startsWith('https'))){
395
+ return h('img', {attrs:{src: params.row.doresult},style:{width:'100px',height:'100px'}});
396
+ }else{
397
+ return h('span', {}, [
398
+ params.row.doresult
399
+ ? params.row.doresult + (params.row.handleInfo ? '&' : '')
400
+ : '',
401
+ h(
402
+ 'span',
403
+ { style: { color: '#A5A5A5', marginLeft: '2px' } },
404
+ params.row.handleInfo || ''
405
+ )
406
+ ]);
407
+ }
408
+ }
409
+ },
410
+ {
411
+ label: '验签',
412
+ field: 'authTypeStr',
413
+ align: 'center',
414
+ key: 'yq',
415
+ showOverflowTooltip: true,
416
+ width:this.theadWidth.authTypeStr || 70,
417
+ render: (h, params) => {
418
+ return h(
419
+ 'span',
420
+ { style: { color: 'deepskyblue' } },
421
+ params.row.authTypeStr
422
+ );
423
+ }
424
+ },
425
+ {
426
+ label: '附件',
427
+ key: 'fj',
428
+ field: 'hasAdjunct',
429
+ align: 'center',
430
+ showOverflowTooltip: true,
431
+ width:this.theadWidth.hasAdjunct || 70,
432
+ render: (h, params) => {
433
+ if (params.row.hasAdjunct) {
434
+ return h('span', {
435
+ style: _that.attachmentPaperClipCssStyle
436
+ ? _that.attachmentPaperClipCssStyle
437
+ : { color: 'red', fontSize: '20px' },
438
+ class: 'iconfont es-icon-fujian'
439
+ });
440
+ } else {
441
+ return h('span', {}, '');
442
+ }
443
+ }
444
+ },
445
+ {
446
+ label: '时间',
447
+ field: 'doetime',
448
+ align: 'center',
449
+ key: 'sj',
450
+ showOverflowTooltip: true,
451
+ width:this.theadWidth.doetime || 150,
452
+ render: (h, params) => {
453
+ return h(
454
+ 'span',
455
+ {},
456
+ params.row.doetime
457
+ ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
458
+ : ''
459
+ );
460
+ }
461
+ },
462
+ {
463
+ label: '代办人',
464
+ field: 'douserid',
465
+ align: 'center',
466
+ key: 'dbr',
467
+ showOverflowTooltip: true,
468
+ width:this.theadWidth.douserid || 80,
469
+ hide: _that.flowTableInfo.hasAgent != '1'
470
+ },
471
+ {
472
+ label: '催办',
473
+ field: 'pressTimes',
474
+ align: 'center',
475
+ key: 'cb',
476
+ showOverflowTooltip: true,
477
+ width:this.theadWidth.pressTimes || 150,
478
+ render: (h, params) => {
479
+ return h(
480
+ 'span',
481
+ { style: 'color:deepskyblue;cursor: pointer;' },
482
+ params.row.pressTimes
483
+ );
484
+ }
485
+ },
486
+ {
487
+ title: '操作',
488
+ type: 'handle',
489
+ width: this.modify ? '130' : '100',
490
+ template: '',
491
+ events: [
492
+ {
493
+ text: '删除',
494
+ rules: (rows) => {
495
+ return rows.canDelete;
496
+ }
497
+ }
498
+ // {
499
+ // text: '修改',
500
+ // rules: (rows) => {
501
+ // return this.modify && rows.pendstate == 2;
502
+ // }
503
+ // }
504
+ ]
505
+ }
506
+ ],
507
+ preset: this.thead,
508
+ splitReading: [
509
+ {
510
+ label: '经办部门',
511
+ field: 'deptid',
512
+ key: 'jbbm',
513
+ align: 'center',
514
+ showOverflowTooltip: true,
515
+ width:this.theadWidth.deptid || 150
516
+ },
517
+ {
518
+ label: '步骤',
519
+ field: 'itemname',
520
+ align: 'center',
521
+ key: 'bz',
522
+ showOverflowTooltip: true,
523
+ width:this.theadWidth.itemname || 110
524
+ },
525
+ {
526
+ label: '办理人',
527
+ field: 'userName',
528
+ align: 'center',
529
+ key: 'blr',
530
+ showOverflowTooltip: true,
531
+ width:this.theadWidth.userName || 110
532
+ },
533
+ {
534
+ label: '状态',
535
+ field: 'pendstate',
536
+ align: 'center',
537
+ key: 'zt',
538
+ showOverflowTooltip: true,
539
+ width:this.theadWidth.pendstate || 80,
540
+ render: (h, params) => {
541
+ return h('span', {
542
+ style: {
543
+ color:
544
+ params.row.pendstate == 0 || params.row.pendstate == 3
545
+ ? 'red'
546
+ : params.row.pendstate == 1
547
+ ? 'green'
548
+ : 'deepskyblue'
549
+ },
550
+ domProps: { innerHTML: params.row.querykeywords }
551
+ });
552
+ }
553
+ },
554
+ {
555
+ label: '办理意见',
556
+ field: 'doresult',
557
+ align: 'center',
558
+ key: 'blyj',
559
+ width:this.theadWidth.doresult,
560
+ showOverflowTooltip: true,
561
+ render: (h, params) => {
562
+ if(params.row.doresult && (params.row.doresult.startsWith('http') || params.row.doresult.startsWith('https'))){
563
+ return h('img', {attrs:{src: params.row.doresult},style:{width:'100px',height:'100px'}});
564
+ }else{
565
+ return h('span', {}, [
566
+ params.row.doresult
567
+ ? params.row.doresult + (params.row.handleInfo ? '&' : '')
568
+ : '',
569
+ h(
570
+ 'span',
571
+ { style: { color: '#A5A5A5', marginLeft: '2px' } },
572
+ params.row.handleInfo || ''
573
+ )
574
+ ]);
575
+ }
576
+ }
577
+ },
578
+ {
579
+ label: '验签',
580
+ field: 'authTypeStr',
581
+ align: 'center',
582
+ key: 'yq',
583
+ showOverflowTooltip: true,
584
+ width:this.theadWidth.authTypeStr || 70,
585
+ render: (h, params) => {
586
+ return h(
587
+ 'span',
588
+ { style: { color: 'deepskyblue' } },
589
+ params.row.authTypeStr
590
+ );
591
+ }
592
+ },
593
+ {
594
+ label: '附件',
595
+ field: 'hasAdjunct',
596
+ align: 'center',
597
+ key: 'fj',
598
+ showOverflowTooltip: true,
599
+ width:this.theadWidth.hasAdjunct || 70,
600
+ render: (h, params) => {
601
+ if (params.row.hasAdjunct) {
602
+ return h('span', {
603
+ style: _that.attachmentPaperClipCssStyle
604
+ ? _that.attachmentPaperClipCssStyle
605
+ : { color: 'red', fontSize: '20px' },
606
+ class: 'iconfont es-icon-fujian'
607
+ });
608
+ } else {
609
+ return h('span', {}, '');
610
+ }
611
+ }
612
+ },
613
+ {
614
+ label: '时间',
615
+ field: 'doetime',
616
+ align: 'center',
617
+ key: 'sj',
618
+ showOverflowTooltip: true,
619
+ width:this.theadWidth.doetime || 150,
620
+ render: (h, params) => {
621
+ return h(
622
+ 'span',
623
+ {},
624
+ params.row.doetime
625
+ ? util.formatDate(params.row.doetime, 'yyyy-MM-dd HH:mm')
626
+ : ''
627
+ );
628
+ }
629
+ },
630
+ {
631
+ label: '代办人',
632
+ field: 'douserid',
633
+ align: 'center',
634
+ key: 'dbr',
635
+ showOverflowTooltip: true,
636
+ width:this.theadWidth.douserid || 80,
637
+ hide: _that.flowTableInfo.hasAgent != '1'
638
+ },
639
+ {
640
+ label: '催办',
641
+ field: 'pressTimes',
642
+ align: 'center',
643
+ key: 'cb',
644
+ showOverflowTooltip: true,
645
+ width:this.theadWidth.pressTimes || 150,
646
+ render: (h, params) => {
647
+ return h(
648
+ 'span',
649
+ { style: 'color:deepskyblue;cursor: pointer;' },
650
+ params.row.pressTimes
651
+ );
652
+ }
653
+ },
654
+ {
655
+ title: '操作',
656
+ type: 'handle',
657
+ width: '100',
658
+ template: '',
659
+ events: [
660
+ {
661
+ text: '删除',
662
+ rules: (rows) => {
663
+ return rows.canDelete;
664
+ }
665
+ }
666
+ ]
667
+ }
668
+ ]
669
+ };
670
+ },
671
+ content() {
672
+ let contents = this.contents.map((item) => {
673
+ if (typeof item === 'string') {
674
+ return {
675
+ type: item,
676
+ toolbar: this.toolbars[item],
677
+ thead: this.theads[item],
678
+ showFormBtn: false
679
+ };
680
+ } else {
681
+ if (!Object.prototype.hasOwnProperty.call(item, 'toolbar')) {
682
+ let toolbars = this.toolbars[item.type];
683
+ return { ...item, toolbars };
684
+ }
685
+ if (!Object.prototype.hasOwnProperty.call(item, 'thead')) {
686
+ let thead = this.theads[item.type];
687
+ return { ...item, thead };
688
+ }
689
+ return item;
690
+ }
691
+ });
692
+ return contents;
693
+ },
694
+ newToolbar() {
695
+ if (this.toolbar && this.toolbar.length > 0) {
696
+ return this.toolbar;
697
+ } else {
698
+ return [];
699
+ }
700
+ },
701
+ thead() {
702
+ let table = [
703
+ {
704
+ title: '步骤',
705
+ align: 'center',
706
+ width:this.theadWidth.nodeName || '100',
707
+ field: 'nodeName'
708
+ },
709
+ {
710
+ title: '预设办理人',
711
+ width:this.theadWidth.presetUserName || '120',
712
+ align: 'center',
713
+ field: 'presetUserName'
714
+ },
715
+ {
716
+ title: '是否可编辑',
717
+ key: 'sfkbj',
718
+ align: 'center',
719
+ width:this.theadWidth.isEdit || '100',
720
+ render: (h, params) => {
721
+ return h('span', this.getCodeValue(params.row.isEdit, 'is_edit'));
722
+ },
723
+ field: 'isEdit'
724
+ },
725
+ {
726
+ key: 'zt',
727
+ title: '状态',
728
+ width:this.theadWidth.statusName || '80',
729
+ align: 'center',
730
+ field: 'statusName'
731
+ },
732
+ {
733
+ title: '预设类型',
734
+ key: 'yslx',
735
+ width:this.theadWidth.presetType || '120',
736
+ align: 'center',
737
+ render: (h, params) => {
738
+ return h(
739
+ 'span',
740
+ this.getCodeValue(params.row.presetType, 'preset_type')
741
+ );
742
+ },
743
+ field: 'presetType'
744
+ },
745
+ {
746
+ title: '流程名称',
747
+ key: 'lcmc',
748
+ width:this.theadWidth.processDefName,
749
+ align: 'center',
750
+ field: 'processDefName'
751
+ },
752
+ {
753
+ title: '上一步骤',
754
+ key: 'sybz',
755
+ align: 'center',
756
+ width:this.theadWidth.lastNodeName,
757
+ field: 'lastNodeName'
758
+ },
759
+ {
760
+ title: '创建步骤',
761
+ key: 'cjbz',
762
+ align: 'center',
763
+ width:this.theadWidth.operationNodeName,
764
+ field: 'operationNodeName'
765
+ },
766
+ {
767
+ title: '创建人',
768
+ key: 'cjr',
769
+ width:this.theadWidth.creatorName || '120',
770
+ align: 'center',
771
+ field: 'creatorName'
772
+ },
773
+ {
774
+ title: '创建时间',
775
+ width:this.theadWidth.createTime || '150',
776
+ key: 'cjsj',
777
+ align: 'center',
778
+ render: (h, params) => {
779
+ return h(
780
+ 'span',
781
+ util.formatDate(params.row.createTime, 'yyyy-MM-dd HH:mm')
782
+ );
783
+ },
784
+ field: 'createTime'
785
+ },
786
+ {
787
+ title: '操作区域',
788
+ type: 'handle',
789
+ align: 'center',
790
+ width: '120',
791
+ events: [
792
+ {
793
+ text: '置为失效'
794
+ }
795
+ ]
796
+ }
797
+ ];
798
+ if (
799
+ this.presetInfoListHiddenColumns != undefined &&
800
+ this.presetInfoListHiddenColumns != ''
801
+ ) {
802
+ table = table.filter(
803
+ (items) => this.presetInfoListHiddenColumns.indexOf(items.key) == -1
804
+ );
805
+ }
806
+ if (!this.canDelete) table.splice(table.length - 1, 1);
807
+ return table;
808
+ }
809
+ },
810
+ mounted() {
811
+ this.loading = util.loading(this.$loading, '加载中...');
812
+ this.getFlowList();
813
+ this.getSysInfo('preset_type');
814
+ this.getSysInfo('is_edit');
815
+ this.getListInfo();
816
+ },
817
+
818
+ methods: {
819
+ returnData(type) {
820
+ switch (type) {
821
+ case 'preset':
822
+ return this.presetData;
823
+ case 'sign':
824
+ return this.signData;
825
+ case 'splitReading':
826
+ return this.splitReadingData;
827
+ default:
828
+ return this.flowData;
829
+ }
830
+ },
831
+ handleCellClick(row, column) {
832
+ if (column.property == 'hasAdjunct' && row.hasAdjunct) {
833
+ this.showFile(row.wfpendingid);
834
+ } else if (column.property == 'pressTimes') {
835
+ this.goPress(row.id);
836
+ }
837
+ },
838
+ handleBtnClick(data) {
839
+ const { handle, row } = data;
840
+ if (handle.text == '删除') {
841
+ this.del(row.id);
842
+ }
843
+ },
844
+ /**
845
+ * handleFormSubmit
846
+ * @desc:删除节点点击事件
847
+ * @param {Object} formData 点击删除的form数据
848
+ * @author liufan
849
+ * @date 2022年11月29日
850
+ **/
851
+ handleFormSubmit(formData) {
852
+ this.delLoading = true;
853
+ let params = {
854
+ url: deleteFlow,
855
+ method: 'POST',
856
+ data: { id: this.historyId, reason: formData.reason }
857
+ };
858
+ util
859
+ .ajax(params)
860
+ .then((res) => {
861
+ const { status, message } = res;
862
+ this.delLoading = false;
863
+ if (status === 'success') {
864
+ this.$message.success('删除成功');
865
+ this.showDel = false;
866
+ this.handleChange();
867
+ } else {
868
+ this.$message.error(message || '系统错误,请联系管理员!');
869
+ }
870
+ })
871
+ .catch((err) => {
872
+ this.delLoading = false;
873
+ if (err.message && err.message !== 'canceled') {
874
+ this.$message.error(err.message);
875
+ }
876
+ });
877
+ },
878
+ /**
879
+ * del
880
+ * @desc:展示删除弹窗
881
+ * @param {String} id 当前点击数据id
882
+ * @author liufan
883
+ * @date 2022年11月29日
884
+ **/
885
+ del(id) {
886
+ this.historyId = id;
887
+ this.showDel = true;
888
+ },
889
+ /**
890
+ * handleCurrentChange
891
+ * @desc:监听页码变化
892
+ * @param {String} val 当前页
893
+ * @author liufan
894
+ * @date 2022年11月29日
895
+ **/
896
+ handleCurrentChange(val) {
897
+ this.currentPage = val;
898
+ this.getPressList();
899
+ },
900
+ /**
901
+ * handleSizeChange
902
+ * @desc:监听每页数据显示数量变化
903
+ * @param {String} val 每页展示数量
904
+ * @author liufan
905
+ * @date 2022年11月29日
906
+ **/
907
+ handleSizeChange(val) {
908
+ this.pageSize = val;
909
+ this.getPressList();
910
+ },
911
+ /**
912
+ * sortChange
913
+ * @desc:监听排序变化
914
+ * @param {Object} info 需要排序的字段及排序方式
915
+ * @author liufan
916
+ * @date 2022年11月29日
917
+ **/
918
+ sortChange(info) {
919
+ let { prop, order } = info;
920
+ this.sidx = prop;
921
+ this.sord = order.replace('ending', '');
922
+ this.getPressList();
923
+ },
924
+ /**
925
+ * getPressList
926
+ * @desc:催办列表数据
927
+ * @author liufan
928
+ * @date 2022年11月29日
929
+ **/
930
+ getPressList() {
931
+ const { historyId, pageSize, sidx, sord, currentPage } = this;
932
+ this.pressLoading = true;
933
+ let params = {
934
+ url: pressListJson,
935
+ params: { historyId },
936
+ method: 'POST',
937
+ data: { page: currentPage, rows: pageSize, sidx, sord, historyId }
938
+ };
939
+ util
940
+ .ajax(params)
941
+ .then((res) => {
942
+ this.pressTableList = res.data;
943
+ this.total = res.totalrecords;
944
+ this.pressLoading = false;
945
+ })
946
+ .catch((err) => {
947
+ this.pressLoading = false;
948
+ if (err.message && err.message !== 'canceled') {
949
+ this.$message.error(err.message);
950
+ }
951
+ });
952
+ },
953
+ /**
954
+ * goPress
955
+ * @desc:催办列表查看
956
+ * @param {String} id 催办列表id
957
+ * @author liufan
958
+ * @date 2022年11月29日
959
+ **/
960
+ goPress(id) {
961
+ this.historyId = id;
962
+ this.showPress = true;
963
+ this.getPressList();
964
+ },
965
+ /**
966
+ * showFile
967
+ * @desc:附件查看
968
+ * @param {String} ownId 附件id
969
+ * @author liufan
970
+ * @date 2022年11月29日
971
+ **/
972
+ showFile(ownId) {
973
+ this.wfpendingid = ownId;
974
+ this.showFileList = true;
975
+ },
976
+ /**
977
+ * handleChange
978
+ * @desc:切换排序方式
979
+ * @author liufan
980
+ * @date 2022年11月22日
981
+ **/
982
+ handleChange(key, value) {
983
+ if (value) {
984
+ this[key] = value;
985
+ }
986
+ // this.show = false;
987
+ this.loading = util.loading(this.$loading, '加载中...');
988
+ this.getFlowList();
989
+ },
990
+ /**
991
+ * getFlowList
992
+ * @desc:获取流程列表
993
+ * @author liufan
994
+ * @date 2022年11月22日
995
+ **/
996
+ getFlowList() {
997
+ let params = {
998
+ url: pendedhistoryListJson,
999
+ params: {
1000
+ apprecordid: this.businessId,
1001
+ pendingAttr: 0,
1002
+ viewType: this.viewType,
1003
+ showSuggest: this.showSuggest,
1004
+ ...this.params
1005
+ }
1006
+ };
1007
+ util
1008
+ .ajax(params)
1009
+ .then((res) => {
1010
+ const {
1011
+ status,
1012
+ message,
1013
+ data: {
1014
+ adjunctCode,
1015
+ wfHistoryList,
1016
+ fyHistoryList,
1017
+ hasAgent,
1018
+ isShort,
1019
+ modify,
1020
+ taskReadName
1021
+ }
1022
+ } = res;
1023
+ this.loading.close();
1024
+ if (status == 'success') {
1025
+ this.flowTableInfo.adjunctCode = adjunctCode;
1026
+ this.flowTableInfo.hasAgent = hasAgent;
1027
+ this.attachmentPaperClipCssStyle =
1028
+ res.data.attachmentPaperClipCssStyle;
1029
+ this.isShort = isShort;
1030
+ this.taskReadName = taskReadName;
1031
+ this.flowData = wfHistoryList;
1032
+ this.flowData.map((x) => {
1033
+ if (!x.deptid) {
1034
+ x.deptid = x.deptName;
1035
+ }
1036
+ });
1037
+ this.splitReadingData = fyHistoryList;
1038
+ this.modify = modify;
1039
+ this.show = true;
1040
+ } else {
1041
+ this.$message.error(message || '系统错误,请联系管理员!');
1042
+ }
1043
+ })
1044
+ .catch((err) => {
1045
+ this.loading.close();
1046
+ if (err.message && err.message !== 'canceled') {
1047
+ this.$message.error(err.message);
1048
+ }
1049
+ this.show = true;
1050
+ });
1051
+ },
1052
+ /**
1053
+ * handleClick
1054
+ * @desc:表单点击事件
1055
+ * @param {Object} val 当前点击行数据及按钮
1056
+ * @author liufan
1057
+ * @date 2022年11月10日
1058
+ **/
1059
+ handleClick(val) {
1060
+ const {
1061
+ handle: { text },
1062
+ row: { id, status }
1063
+ } = val;
1064
+ if (text === '置为失效') {
1065
+ if (status == 0) {
1066
+ this.$confirm('您确定要置为失效吗?')
1067
+ .then(() => {
1068
+ this.loading = util.loading(this.$loading, '提交中...');
1069
+ let param = {
1070
+ url: deletePresetInfo,
1071
+ headers: { Accept: 'application/json,text/plain' },
1072
+ method: 'post',
1073
+ params: { id }
1074
+ };
1075
+ util
1076
+ .ajax(param)
1077
+ .then((res) => {
1078
+ const { status, message } = res;
1079
+ this.loading.close();
1080
+ if (status === 'success') {
1081
+ this.$message.success('操作成功');
1082
+ this.getListInfo();
1083
+ } else {
1084
+ this.$message.error(message || '系统错误,请联系管理员!');
1085
+ }
1086
+ })
1087
+ .catch((err) => {
1088
+ this.loading.close();
1089
+ if (err.message && err.message !== 'canceled') {
1090
+ this.$message.error(err.message);
1091
+ }
1092
+ });
1093
+ })
1094
+ .catch((e) => {
1095
+ // on cancel
1096
+ });
1097
+ } else {
1098
+ this.$message.warning('当前数据已为失效状态');
1099
+ }
1100
+ }
1101
+ },
1102
+ /**
1103
+ * getCodeValue
1104
+ * @desc:获取代码表过滤后的值
1105
+ * @param {String} value 展示数据的代码值
1106
+ * @param {String} type 代码表类型
1107
+ * @author liufan
1108
+ * @date 2022年11月10日
1109
+ **/
1110
+ getCodeValue(value, type) {
1111
+ let val = this[type].filter((item) => item.cciValue == value);
1112
+ return val[0].shortName;
1113
+ },
1114
+ /**
1115
+ * getSysInfo
1116
+ * @desc:获取代码表
1117
+ * @param {String} code 编码code值
1118
+ * @author liufan
1119
+ * @date 2022年11月10日
1120
+ **/
1121
+ getSysInfo(code) {
1122
+ let params = {
1123
+ url: findCodeValues,
1124
+ params: { ccCode: code }
1125
+ };
1126
+ util
1127
+ .ajax(params)
1128
+ .then((res) => {
1129
+ const { status, message, data } = res;
1130
+ if (status == 'success') {
1131
+ this[code] = data;
1132
+ } else {
1133
+ this.$message.error(message || '系统错误,请联系管理员!');
1134
+ }
1135
+ })
1136
+ .catch((e) => {});
1137
+ },
1138
+ /**
1139
+ * getListInfo
1140
+ * @desc:获取预设列表数据
1141
+ * @author liufan
1142
+ * @date 2022年11月10日
1143
+ **/
1144
+ getListInfo() {
1145
+ let param = {
1146
+ url: toPresetInfoListIndex,
1147
+ params: { apprecordid: this.businessId }
1148
+ };
1149
+ util
1150
+ .ajax(param)
1151
+ .then((res) => {
1152
+ const {
1153
+ status,
1154
+ message,
1155
+ data: {
1156
+ presetInfoList,
1157
+ presetInfoListHiddenColumns,
1158
+ canDelete,
1159
+ currentUserHasPresetInfoAuth
1160
+ }
1161
+ } = res;
1162
+ this.loading.close();
1163
+ if (status == 'success') {
1164
+ presetInfoList && (this.presetData = presetInfoList);
1165
+ this.presetInfoListHiddenColumns = presetInfoListHiddenColumns;
1166
+ this.currentUserHasPresetInfoAuth = currentUserHasPresetInfoAuth;
1167
+ this.canDelete = canDelete;
1168
+ } else {
1169
+ this.$message.error(message || '系统错误,请联系管理员!');
1170
+ }
1171
+ })
1172
+ .catch((err) => {
1173
+ this.loading.close();
1174
+ if (err.message && err.message !== 'canceled') {
1175
+ this.$message.error(err.message);
1176
+ }
1177
+ });
1178
+ }
1179
+ }
1180
+ };
1181
+ </script>
1182
+
1183
+ <style></style>