eoss-ui 0.6.62 → 0.6.64

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