eoss-ui 0.6.38 → 0.6.39

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 (261) hide show
  1. package/lib/button-group.js +535 -374
  2. package/lib/button.js +535 -374
  3. package/lib/checkbox-group.js +536 -375
  4. package/lib/config/api.js +31 -19
  5. package/lib/data-table-form.js +547 -386
  6. package/lib/data-table.js +547 -382
  7. package/lib/date-picker.js +535 -374
  8. package/lib/dialog.js +535 -374
  9. package/lib/eoss-ui.common.js +11182 -4328
  10. package/lib/error-page.js +4 -4
  11. package/lib/flow-group.js +553 -377
  12. package/lib/flow-list.js +621 -460
  13. package/lib/flow.js +9822 -2988
  14. package/lib/form.js +540 -379
  15. package/lib/handle-user.js +536 -375
  16. package/lib/handler.js +536 -375
  17. package/lib/icon.js +536 -375
  18. package/lib/index.js +1 -1
  19. package/lib/input-number.js +535 -374
  20. package/lib/input.js +535 -374
  21. package/lib/layout.js +2 -2
  22. package/lib/login.js +550 -389
  23. package/lib/main.js +704 -543
  24. package/lib/nav.js +535 -374
  25. package/lib/notify.js +127 -109
  26. package/lib/page.js +535 -374
  27. package/lib/pagination.js +535 -374
  28. package/lib/player.js +535 -374
  29. package/lib/qr-code.js +548 -387
  30. package/lib/radio-group.js +536 -375
  31. package/lib/retrial-auth.js +538 -377
  32. package/lib/select-ganged.js +536 -375
  33. package/lib/select.js +536 -375
  34. package/lib/selector-panel.js +558 -396
  35. package/lib/selector.js +539 -378
  36. package/lib/sizer.js +541 -380
  37. package/lib/steps.js +535 -374
  38. package/lib/switch.js +535 -374
  39. package/lib/table-form.js +535 -374
  40. package/lib/tabs.js +539 -378
  41. package/lib/theme-chalk/flow.css +1 -1
  42. package/lib/theme-chalk/index.css +1 -1
  43. package/lib/tips.js +536 -375
  44. package/lib/tree-group.js +535 -374
  45. package/lib/tree.js +536 -375
  46. package/lib/upload.js +545 -384
  47. package/lib/utils/util.js +411 -268
  48. package/lib/wujie.js +535 -374
  49. package/lib/wxlogin.js +535 -374
  50. package/package.json +159 -158
  51. package/packages/button/index.js +5 -5
  52. package/packages/button/src/main.vue +418 -418
  53. package/packages/button-group/index.js +5 -5
  54. package/packages/button-group/src/main.vue +298 -298
  55. package/packages/calendar/index.js +5 -5
  56. package/packages/card/index.js +5 -5
  57. package/packages/card/src/main.vue +156 -156
  58. package/packages/cascader/index.js +5 -5
  59. package/packages/cascader/src/main.vue +168 -168
  60. package/packages/checkbox-group/index.js +5 -5
  61. package/packages/checkbox-group/src/main.vue +333 -333
  62. package/packages/clients/index.js +5 -5
  63. package/packages/clients/src/main.vue +144 -144
  64. package/packages/data-table/index.js +5 -5
  65. package/packages/data-table/src/children.vue +39 -39
  66. package/packages/data-table/src/column.vue +983 -983
  67. package/packages/data-table/src/main.vue +1820 -1816
  68. package/packages/data-table/src/sizer.vue +195 -195
  69. package/packages/data-table-form/index.js +5 -5
  70. package/packages/data-table-form/src/checkbox.vue +101 -101
  71. package/packages/data-table-form/src/colgroup.vue +17 -17
  72. package/packages/data-table-form/src/main.vue +181 -181
  73. package/packages/data-table-form/src/radio.vue +65 -65
  74. package/packages/data-table-form/src/table.vue +233 -233
  75. package/packages/data-table-form/src/tbody.vue +336 -336
  76. package/packages/data-table-form/src/thead.vue +68 -68
  77. package/packages/date-picker/index.js +5 -5
  78. package/packages/date-picker/src/main.vue +236 -236
  79. package/packages/dialog/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 -341
  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 +603 -547
  92. package/packages/flow/src/form.vue +121 -121
  93. package/packages/flow/src/freeStartFlow.vue +2843 -0
  94. package/packages/flow/src/main.vue +2864 -2731
  95. package/packages/flow/src/processForm.vue +1007 -954
  96. package/packages/flow/src/processReject.vue +293 -293
  97. package/packages/flow/src/reset.vue +901 -0
  98. package/packages/flow/src/selectUser.vue +5 -0
  99. package/packages/flow/src/startTaskRead.vue +596 -596
  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 -684
  103. package/packages/flow-list/index.js +5 -5
  104. package/packages/flow-list/src/main.vue +1172 -1172
  105. package/packages/form/index.js +5 -5
  106. package/packages/form/src/main.vue +3584 -3584
  107. package/packages/form/src/table.vue +1420 -1420
  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 +388 -388
  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 +1892 -1894
  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 +505 -505
  132. package/packages/main/src/public/online.vue +89 -89
  133. package/packages/main/src/public/search.vue +454 -454
  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 +221 -221
  138. package/packages/main/src/simplicity/index.vue +1993 -1993
  139. package/packages/main/src/simplicity/lists.vue +84 -84
  140. package/packages/main/src/simplicity/menu-list.vue +128 -128
  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 +241 -241
  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 +536 -536
  149. package/packages/nav/index.js +5 -5
  150. package/packages/nav/src/main.vue +402 -402
  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 +775 -775
  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 +677 -677
  171. package/packages/selector-panel/index.js +5 -5
  172. package/packages/selector-panel/src/main.vue +1028 -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.css +1 -1
  187. package/packages/theme-chalk/lib/index.css +1 -1
  188. package/packages/theme-chalk/src/base.scss +260 -260
  189. package/packages/theme-chalk/src/button-group.scss +175 -175
  190. package/packages/theme-chalk/src/button.scss +24 -24
  191. package/packages/theme-chalk/src/calendar.scss +113 -113
  192. package/packages/theme-chalk/src/card.scss +99 -99
  193. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  194. package/packages/theme-chalk/src/clients.scss +87 -87
  195. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  196. package/packages/theme-chalk/src/data-table.scss +293 -293
  197. package/packages/theme-chalk/src/date-picker.scss +7 -7
  198. package/packages/theme-chalk/src/dialog.scss +77 -77
  199. package/packages/theme-chalk/src/enterprise.scss +5 -5
  200. package/packages/theme-chalk/src/error-page.scss +18 -18
  201. package/packages/theme-chalk/src/flow-group.scss +110 -110
  202. package/packages/theme-chalk/src/flow-list.scss +36 -36
  203. package/packages/theme-chalk/src/flow.scss +310 -308
  204. package/packages/theme-chalk/src/form.scss +496 -496
  205. package/packages/theme-chalk/src/handle-user.scss +40 -40
  206. package/packages/theme-chalk/src/handler.scss +143 -143
  207. package/packages/theme-chalk/src/icon.scss +1760 -1760
  208. package/packages/theme-chalk/src/icons.scss +99 -99
  209. package/packages/theme-chalk/src/input.scss +9 -9
  210. package/packages/theme-chalk/src/label.scss +24 -24
  211. package/packages/theme-chalk/src/layout.scss +46 -46
  212. package/packages/theme-chalk/src/login.scss +939 -939
  213. package/packages/theme-chalk/src/main.scss +632 -632
  214. package/packages/theme-chalk/src/menu.scss +222 -222
  215. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  216. package/packages/theme-chalk/src/nav.scss +125 -125
  217. package/packages/theme-chalk/src/page.scss +3 -3
  218. package/packages/theme-chalk/src/pagination.scss +29 -29
  219. package/packages/theme-chalk/src/player.scss +9 -9
  220. package/packages/theme-chalk/src/qr-code.scss +17 -17
  221. package/packages/theme-chalk/src/radio-group.scss +9 -9
  222. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  223. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  224. package/packages/theme-chalk/src/select.scss +8 -8
  225. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  226. package/packages/theme-chalk/src/selector.scss +91 -91
  227. package/packages/theme-chalk/src/simplicity.scss +1262 -1262
  228. package/packages/theme-chalk/src/sizer.scss +36 -36
  229. package/packages/theme-chalk/src/steps.scss +88 -88
  230. package/packages/theme-chalk/src/switch.scss +3 -3
  231. package/packages/theme-chalk/src/table-form.scss +1 -1
  232. package/packages/theme-chalk/src/tabs.scss +87 -87
  233. package/packages/theme-chalk/src/tips.scss +7 -7
  234. package/packages/theme-chalk/src/toolbar.scss +179 -179
  235. package/packages/theme-chalk/src/tree-group.scss +72 -72
  236. package/packages/theme-chalk/src/tree.scss +165 -165
  237. package/packages/theme-chalk/src/upload.scss +167 -167
  238. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  239. package/packages/tips/index.js +5 -5
  240. package/packages/tips/src/main.vue +141 -141
  241. package/packages/toolbar/index.js +5 -5
  242. package/packages/toolbar/src/main.vue +430 -430
  243. package/packages/tree/index.js +5 -5
  244. package/packages/tree-group/index.js +5 -5
  245. package/packages/upload/index.js +5 -5
  246. package/packages/upload/src/main.vue +1334 -1334
  247. package/packages/upload/src/picture.js +15 -15
  248. package/packages/wujie/index.js +5 -5
  249. package/packages/wujie/src/main.vue +145 -145
  250. package/packages/wxlogin/index.js +5 -5
  251. package/packages/wxlogin/src/main.vue +128 -128
  252. package/src/config/api.js +248 -236
  253. package/src/config/image.js +2 -2
  254. package/src/index.js +1 -1
  255. package/src/utils/bus.js +3 -3
  256. package/src/utils/date-util.js +312 -312
  257. package/src/utils/http.js +50 -50
  258. package/src/utils/rules.js +18 -18
  259. package/src/utils/store.js +21 -21
  260. package/src/utils/util.js +398 -258
  261. package/src/utils/webSocket.js +107 -107
@@ -1,1172 +1,1172 @@
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
+ 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>