eoss-ui 0.6.39 → 0.6.40

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 (268) hide show
  1. package/lib/button-group.js +43 -6
  2. package/lib/button.js +43 -6
  3. package/lib/checkbox-group.js +43 -6
  4. package/lib/data-table-form.js +43 -6
  5. package/lib/data-table.js +56 -16
  6. package/lib/date-picker.js +43 -6
  7. package/lib/dialog.js +43 -6
  8. package/lib/eoss-ui.common.js +563 -523
  9. package/lib/flow-group.js +43 -6
  10. package/lib/flow-list.js +124 -87
  11. package/lib/flow.js +323 -286
  12. package/lib/form.js +43 -6
  13. package/lib/handle-user.js +43 -6
  14. package/lib/handler.js +43 -6
  15. package/lib/icon.js +43 -6
  16. package/lib/index.js +1 -1
  17. package/lib/input-number.js +43 -6
  18. package/lib/input.js +43 -6
  19. package/lib/login.js +43 -6
  20. package/lib/main.js +175 -138
  21. package/lib/nav.js +43 -6
  22. package/lib/page.js +43 -6
  23. package/lib/pagination.js +43 -6
  24. package/lib/player.js +43 -6
  25. package/lib/qr-code.js +56 -19
  26. package/lib/radio-group.js +43 -6
  27. package/lib/retrial-auth.js +43 -6
  28. package/lib/select-ganged.js +43 -6
  29. package/lib/select.js +43 -6
  30. package/lib/selector-panel.js +43 -6
  31. package/lib/selector.js +43 -6
  32. package/lib/sizer.js +43 -6
  33. package/lib/steps.js +43 -6
  34. package/lib/switch.js +43 -6
  35. package/lib/table-form.js +43 -6
  36. package/lib/tabs.js +43 -6
  37. package/lib/tips.js +43 -6
  38. package/lib/tree-group.js +43 -6
  39. package/lib/tree.js +43 -6
  40. package/lib/upload.js +43 -6
  41. package/lib/utils/util.js +43 -6
  42. package/lib/wujie.js +43 -6
  43. package/lib/wxlogin.js +43 -6
  44. package/package.json +159 -159
  45. package/packages/.DS_Store +0 -0
  46. package/packages/button/index.js +5 -5
  47. package/packages/button/src/main.vue +418 -418
  48. package/packages/button-group/index.js +5 -5
  49. package/packages/button-group/src/main.vue +298 -298
  50. package/packages/calendar/index.js +5 -5
  51. package/packages/card/index.js +5 -5
  52. package/packages/card/src/main.vue +156 -156
  53. package/packages/cascader/index.js +5 -5
  54. package/packages/cascader/src/main.vue +168 -168
  55. package/packages/checkbox-group/index.js +5 -5
  56. package/packages/checkbox-group/src/main.vue +333 -333
  57. package/packages/clients/index.js +5 -5
  58. package/packages/clients/src/main.vue +144 -144
  59. package/packages/data-table/.DS_Store +0 -0
  60. package/packages/data-table/index.js +5 -5
  61. package/packages/data-table/src/children.vue +39 -39
  62. package/packages/data-table/src/column.vue +989 -983
  63. package/packages/data-table/src/main.vue +1820 -1820
  64. package/packages/data-table/src/sizer.vue +195 -195
  65. package/packages/data-table-form/.DS_Store +0 -0
  66. package/packages/data-table-form/index.js +5 -5
  67. package/packages/data-table-form/src/checkbox.vue +101 -101
  68. package/packages/data-table-form/src/colgroup.vue +17 -17
  69. package/packages/data-table-form/src/main.vue +181 -181
  70. package/packages/data-table-form/src/radio.vue +65 -65
  71. package/packages/data-table-form/src/table.vue +233 -233
  72. package/packages/data-table-form/src/tbody.vue +336 -336
  73. package/packages/data-table-form/src/thead.vue +68 -68
  74. package/packages/date-picker/index.js +5 -5
  75. package/packages/date-picker/src/main.vue +236 -236
  76. package/packages/dialog/index.js +5 -5
  77. package/packages/enterprise/index.js +5 -5
  78. package/packages/enterprise/src/main.vue +66 -66
  79. package/packages/error-page/.DS_Store +0 -0
  80. package/packages/error-page/index.js +5 -5
  81. package/packages/error-page/src/main.vue +44 -44
  82. package/packages/flow/.DS_Store +0 -0
  83. package/packages/flow/index.js +5 -5
  84. package/packages/flow/src/component/CommonOpinions.vue +345 -345
  85. package/packages/flow/src/component/CustomPreset.vue +322 -322
  86. package/packages/flow/src/component/FileList.vue +99 -99
  87. package/packages/flow/src/component/Preset.vue +255 -255
  88. package/packages/flow/src/component/SendMsg.vue +229 -229
  89. package/packages/flow/src/component/TimeLimit.vue +190 -190
  90. package/packages/flow/src/component/taskUnionExamine.vue +603 -603
  91. package/packages/flow/src/form.vue +121 -121
  92. package/packages/flow/src/freeStartFlow.vue +2843 -2843
  93. package/packages/flow/src/main.vue +2864 -2864
  94. package/packages/flow/src/processForm.vue +1007 -1007
  95. package/packages/flow/src/processReject.vue +293 -293
  96. package/packages/flow/src/reset.vue +901 -901
  97. package/packages/flow/src/startTaskRead.vue +596 -596
  98. package/packages/flow/src/table.vue +58 -58
  99. package/packages/flow-group/index.js +5 -5
  100. package/packages/flow-group/src/main.vue +688 -688
  101. package/packages/flow-list/index.js +5 -5
  102. package/packages/flow-list/src/main.vue +1172 -1172
  103. package/packages/form/.DS_Store +0 -0
  104. package/packages/form/index.js +5 -5
  105. package/packages/form/src/main.vue +3584 -3584
  106. package/packages/form/src/table.vue +1420 -1420
  107. package/packages/handle-user/index.js +5 -5
  108. package/packages/handle-user/src/main.vue +138 -138
  109. package/packages/handler/index.js +5 -5
  110. package/packages/handler/src/main.vue +388 -388
  111. package/packages/icon/index.js +5 -5
  112. package/packages/icon/src/main.vue +101 -101
  113. package/packages/icons/index.js +5 -5
  114. package/packages/icons/src/main.vue +81 -81
  115. package/packages/input/index.js +5 -5
  116. package/packages/input/src/main.vue +356 -356
  117. package/packages/input-number/index.js +5 -5
  118. package/packages/input-number/src/main.vue +106 -106
  119. package/packages/label/index.js +5 -5
  120. package/packages/label/src/main.vue +457 -457
  121. package/packages/layout/index.js +5 -5
  122. package/packages/layout/src/item.vue +152 -152
  123. package/packages/layout/src/main.vue +31 -31
  124. package/packages/login/.DS_Store +0 -0
  125. package/packages/login/index.js +5 -5
  126. package/packages/login/src/main.vue +1892 -1892
  127. package/packages/login/src/resetPassword.vue +562 -562
  128. package/packages/main/.DS_Store +0 -0
  129. package/packages/main/index.js +5 -5
  130. package/packages/main/src/.DS_Store +0 -0
  131. package/packages/main/src/default/message.vue +249 -249
  132. package/packages/main/src/default/notice.vue +157 -157
  133. package/packages/main/src/default/userinfo.vue +505 -505
  134. package/packages/main/src/public/online.vue +89 -89
  135. package/packages/main/src/public/search.vue +454 -454
  136. package/packages/main/src/public/settings.vue +221 -221
  137. package/packages/main/src/simplicity/apps.vue +388 -388
  138. package/packages/main/src/simplicity/avatar.vue +82 -82
  139. package/packages/main/src/simplicity/handler.vue +221 -221
  140. package/packages/main/src/simplicity/index.vue +1993 -1993
  141. package/packages/main/src/simplicity/lists.vue +84 -84
  142. package/packages/main/src/simplicity/menu-list.vue +128 -128
  143. package/packages/main/src/simplicity/message.vue +259 -259
  144. package/packages/main/src/simplicity/notice.vue +190 -190
  145. package/packages/main/src/simplicity/router-page.vue +45 -45
  146. package/packages/main/src/simplicity/sub-menu.vue +241 -241
  147. package/packages/main/src/simplicity/user.vue +257 -257
  148. package/packages/main/src/simplicity/userinfo.vue +312 -312
  149. package/packages/menu/index.js +5 -5
  150. package/packages/menu/src/main.vue +536 -536
  151. package/packages/nav/index.js +5 -5
  152. package/packages/nav/src/main.vue +402 -402
  153. package/packages/notify/index.js +5 -5
  154. package/packages/notify/src/main.vue +538 -538
  155. package/packages/page/index.js +5 -5
  156. package/packages/page/src/main.vue +167 -167
  157. package/packages/pagination/index.js +5 -5
  158. package/packages/pagination/src/main.vue +96 -96
  159. package/packages/player/index.js +5 -5
  160. package/packages/player/src/main.vue +194 -194
  161. package/packages/qr-code/index.js +5 -5
  162. package/packages/qr-code/src/main.vue +170 -170
  163. package/packages/radio-group/index.js +6 -6
  164. package/packages/radio-group/src/main.vue +319 -319
  165. package/packages/retrial-auth/index.js +5 -5
  166. package/packages/retrial-auth/src/main.vue +280 -280
  167. package/packages/select/index.js +5 -5
  168. package/packages/select/src/main.vue +775 -775
  169. package/packages/select-ganged/index.js +5 -5
  170. package/packages/select-ganged/src/main.vue +724 -724
  171. package/packages/selector/.DS_Store +0 -0
  172. package/packages/selector/index.js +5 -5
  173. package/packages/selector/src/main.vue +677 -677
  174. package/packages/selector-panel/.DS_Store +0 -0
  175. package/packages/selector-panel/index.js +5 -5
  176. package/packages/selector-panel/src/main.vue +1028 -1028
  177. package/packages/selector-panel/src/selection.vue +177 -177
  178. package/packages/selector-panel/src/tree.vue +129 -129
  179. package/packages/sizer/.DS_Store +0 -0
  180. package/packages/sizer/index.js +5 -5
  181. package/packages/sizer/src/main.vue +254 -254
  182. package/packages/steps/index.js +5 -5
  183. package/packages/steps/src/main.vue +181 -181
  184. package/packages/switch/index.js +5 -5
  185. package/packages/switch/src/main.vue +154 -154
  186. package/packages/table-form/index.js +5 -5
  187. package/packages/tabs/.DS_Store +0 -0
  188. package/packages/tabs/index.js +5 -5
  189. package/packages/tabs/src/main.vue +788 -788
  190. package/packages/tabs-panel/index.js +5 -5
  191. package/packages/tabs-panel/src/main.vue +29 -29
  192. package/packages/theme-chalk/src/.DS_Store +0 -0
  193. package/packages/theme-chalk/src/base.scss +260 -260
  194. package/packages/theme-chalk/src/button-group.scss +175 -175
  195. package/packages/theme-chalk/src/button.scss +24 -24
  196. package/packages/theme-chalk/src/calendar.scss +113 -113
  197. package/packages/theme-chalk/src/card.scss +99 -99
  198. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  199. package/packages/theme-chalk/src/clients.scss +87 -87
  200. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  201. package/packages/theme-chalk/src/data-table.scss +293 -293
  202. package/packages/theme-chalk/src/date-picker.scss +7 -7
  203. package/packages/theme-chalk/src/dialog.scss +77 -77
  204. package/packages/theme-chalk/src/enterprise.scss +5 -5
  205. package/packages/theme-chalk/src/error-page.scss +18 -18
  206. package/packages/theme-chalk/src/flow-group.scss +110 -110
  207. package/packages/theme-chalk/src/flow-list.scss +36 -36
  208. package/packages/theme-chalk/src/flow.scss +310 -310
  209. package/packages/theme-chalk/src/form.scss +496 -496
  210. package/packages/theme-chalk/src/handle-user.scss +40 -40
  211. package/packages/theme-chalk/src/handler.scss +143 -143
  212. package/packages/theme-chalk/src/icon.scss +1760 -1760
  213. package/packages/theme-chalk/src/icons.scss +99 -99
  214. package/packages/theme-chalk/src/input.scss +9 -9
  215. package/packages/theme-chalk/src/label.scss +24 -24
  216. package/packages/theme-chalk/src/layout.scss +46 -46
  217. package/packages/theme-chalk/src/login.scss +939 -939
  218. package/packages/theme-chalk/src/main.scss +632 -632
  219. package/packages/theme-chalk/src/menu.scss +222 -222
  220. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  221. package/packages/theme-chalk/src/nav.scss +125 -125
  222. package/packages/theme-chalk/src/page.scss +3 -3
  223. package/packages/theme-chalk/src/pagination.scss +29 -29
  224. package/packages/theme-chalk/src/player.scss +9 -9
  225. package/packages/theme-chalk/src/qr-code.scss +17 -17
  226. package/packages/theme-chalk/src/radio-group.scss +9 -9
  227. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  228. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  229. package/packages/theme-chalk/src/select.scss +8 -8
  230. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  231. package/packages/theme-chalk/src/selector.scss +91 -91
  232. package/packages/theme-chalk/src/simplicity.scss +1262 -1262
  233. package/packages/theme-chalk/src/sizer.scss +36 -36
  234. package/packages/theme-chalk/src/steps.scss +88 -88
  235. package/packages/theme-chalk/src/switch.scss +3 -3
  236. package/packages/theme-chalk/src/table-form.scss +1 -1
  237. package/packages/theme-chalk/src/tabs.scss +87 -87
  238. package/packages/theme-chalk/src/tips.scss +7 -7
  239. package/packages/theme-chalk/src/toolbar.scss +179 -179
  240. package/packages/theme-chalk/src/tree-group.scss +72 -72
  241. package/packages/theme-chalk/src/tree.scss +165 -165
  242. package/packages/theme-chalk/src/upload.scss +167 -167
  243. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  244. package/packages/tips/index.js +5 -5
  245. package/packages/tips/src/main.vue +141 -141
  246. package/packages/toolbar/index.js +5 -5
  247. package/packages/toolbar/src/main.vue +430 -430
  248. package/packages/tree/index.js +5 -5
  249. package/packages/tree-group/index.js +5 -5
  250. package/packages/upload/.DS_Store +0 -0
  251. package/packages/upload/index.js +5 -5
  252. package/packages/upload/src/main.vue +1334 -1334
  253. package/packages/upload/src/picture.js +15 -15
  254. package/packages/wujie/index.js +5 -5
  255. package/packages/wujie/src/main.vue +145 -145
  256. package/packages/wxlogin/index.js +5 -5
  257. package/packages/wxlogin/src/main.vue +128 -128
  258. package/src/.DS_Store +0 -0
  259. package/src/config/api.js +248 -248
  260. package/src/config/image.js +2 -2
  261. package/src/index.js +157 -157
  262. package/src/utils/bus.js +3 -3
  263. package/src/utils/date-util.js +312 -312
  264. package/src/utils/http.js +50 -50
  265. package/src/utils/rules.js +18 -18
  266. package/src/utils/store.js +21 -21
  267. package/src/utils/util.js +141 -106
  268. 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>