eoss-ui 0.6.60 → 0.6.62

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