eoss-ui 0.6.99 → 0.7.10

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 (243) hide show
  1. package/lib/calogin.js +233 -233
  2. package/lib/eoss-ui.common.js +769 -757
  3. package/lib/flow-list.js +81 -81
  4. package/lib/flow.js +304 -292
  5. package/lib/index.js +1 -1
  6. package/lib/main.js +132 -132
  7. package/lib/qr-code.js +13 -13
  8. package/package.json +160 -160
  9. package/packages/button/index.js +5 -5
  10. package/packages/button/src/main.vue +418 -418
  11. package/packages/button-group/index.js +5 -5
  12. package/packages/button-group/src/main.vue +298 -298
  13. package/packages/calendar/index.js +5 -5
  14. package/packages/calogin/index.js +5 -5
  15. package/packages/calogin/src/main.vue +412 -412
  16. package/packages/calogin/src/plugin.js +915 -915
  17. package/packages/card/index.js +5 -5
  18. package/packages/card/src/main.vue +156 -156
  19. package/packages/cascader/index.js +5 -5
  20. package/packages/cascader/src/main.vue +168 -168
  21. package/packages/checkbox-group/index.js +5 -5
  22. package/packages/checkbox-group/src/main.vue +333 -333
  23. package/packages/clients/index.js +5 -5
  24. package/packages/clients/src/main.vue +151 -151
  25. package/packages/data-table/index.js +5 -5
  26. package/packages/data-table/src/children.vue +39 -39
  27. package/packages/data-table/src/column.vue +988 -988
  28. package/packages/data-table/src/main.vue +1831 -1831
  29. package/packages/data-table/src/sizer.vue +195 -195
  30. package/packages/data-table-form/index.js +5 -5
  31. package/packages/data-table-form/src/checkbox.vue +101 -101
  32. package/packages/data-table-form/src/colgroup.vue +17 -17
  33. package/packages/data-table-form/src/main.vue +181 -181
  34. package/packages/data-table-form/src/radio.vue +65 -65
  35. package/packages/data-table-form/src/table.vue +233 -233
  36. package/packages/data-table-form/src/tbody.vue +336 -336
  37. package/packages/data-table-form/src/thead.vue +68 -68
  38. package/packages/date-picker/index.js +5 -5
  39. package/packages/date-picker/src/main.vue +236 -236
  40. package/packages/dialog/index.js +5 -5
  41. package/packages/enable-drag/index.js +5 -5
  42. package/packages/enterprise/index.js +5 -5
  43. package/packages/enterprise/src/main.vue +66 -66
  44. package/packages/error-page/index.js +5 -5
  45. package/packages/error-page/src/main.vue +44 -44
  46. package/packages/flow/index.js +5 -5
  47. package/packages/flow/src/component/Circulate.vue +405 -403
  48. package/packages/flow/src/component/CommonOpinions.vue +364 -364
  49. package/packages/flow/src/component/CustomPreset.vue +322 -322
  50. package/packages/flow/src/component/FileList.vue +99 -99
  51. package/packages/flow/src/component/Preset.vue +255 -255
  52. package/packages/flow/src/component/SendMsg.vue +242 -242
  53. package/packages/flow/src/component/TimeLimit.vue +190 -190
  54. package/packages/flow/src/component/taskUnionExamine.vue +641 -641
  55. package/packages/flow/src/form.vue +121 -121
  56. package/packages/flow/src/freeStartFlow.vue +2844 -2844
  57. package/packages/flow/src/main.vue +3742 -3726
  58. package/packages/flow/src/processForm.vue +1287 -1287
  59. package/packages/flow/src/processReject.vue +308 -308
  60. package/packages/flow/src/reset.vue +941 -941
  61. package/packages/flow/src/startTaskRead.vue +690 -690
  62. package/packages/flow/src/supervise.vue +159 -159
  63. package/packages/flow/src/table.vue +58 -58
  64. package/packages/flow-group/index.js +5 -5
  65. package/packages/flow-group/src/main.vue +692 -692
  66. package/packages/flow-list/index.js +5 -5
  67. package/packages/flow-list/src/main.vue +1770 -1770
  68. package/packages/form/index.js +5 -5
  69. package/packages/form/src/main.vue +3846 -3846
  70. package/packages/form/src/table.vue +1508 -1508
  71. package/packages/handle-user/index.js +5 -5
  72. package/packages/handle-user/src/main.vue +137 -137
  73. package/packages/handler/index.js +5 -5
  74. package/packages/handler/src/main.vue +493 -493
  75. package/packages/icon/index.js +5 -5
  76. package/packages/icon/src/main.vue +101 -101
  77. package/packages/icons/index.js +5 -5
  78. package/packages/icons/src/main.vue +81 -81
  79. package/packages/input/index.js +5 -5
  80. package/packages/input/src/main.vue +356 -356
  81. package/packages/input-number/index.js +5 -5
  82. package/packages/input-number/src/main.vue +106 -106
  83. package/packages/label/index.js +5 -5
  84. package/packages/label/src/main.vue +457 -457
  85. package/packages/layout/index.js +5 -5
  86. package/packages/layout/src/item.vue +152 -152
  87. package/packages/layout/src/main.vue +31 -31
  88. package/packages/login/index.js +5 -5
  89. package/packages/login/src/main.vue +1993 -1993
  90. package/packages/login/src/resetPassword.vue +562 -562
  91. package/packages/main/index.js +5 -5
  92. package/packages/main/src/default/message.vue +249 -249
  93. package/packages/main/src/default/notice.vue +157 -157
  94. package/packages/main/src/default/userinfo.vue +502 -502
  95. package/packages/main/src/public/online.vue +89 -89
  96. package/packages/main/src/public/search.vue +464 -464
  97. package/packages/main/src/public/settings.vue +221 -221
  98. package/packages/main/src/simplicity/apps.vue +388 -388
  99. package/packages/main/src/simplicity/avatar.vue +82 -82
  100. package/packages/main/src/simplicity/handler.vue +259 -259
  101. package/packages/main/src/simplicity/index.vue +2125 -2125
  102. package/packages/main/src/simplicity/lists.vue +84 -84
  103. package/packages/main/src/simplicity/menu-list.vue +135 -135
  104. package/packages/main/src/simplicity/message.vue +259 -259
  105. package/packages/main/src/simplicity/notice.vue +190 -190
  106. package/packages/main/src/simplicity/router-page.vue +45 -45
  107. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  108. package/packages/main/src/simplicity/user.vue +259 -259
  109. package/packages/main/src/simplicity/userinfo.vue +397 -397
  110. package/packages/menu/index.js +5 -5
  111. package/packages/menu/src/main.vue +584 -584
  112. package/packages/nav/index.js +5 -5
  113. package/packages/nav/src/main.vue +351 -351
  114. package/packages/notify/index.js +5 -5
  115. package/packages/notify/src/main.vue +538 -538
  116. package/packages/page/index.js +5 -5
  117. package/packages/page/src/main.vue +167 -167
  118. package/packages/pagination/index.js +5 -5
  119. package/packages/pagination/src/main.vue +96 -96
  120. package/packages/player/index.js +5 -5
  121. package/packages/player/src/main.vue +194 -194
  122. package/packages/qr-code/index.js +5 -5
  123. package/packages/qr-code/src/main.vue +170 -170
  124. package/packages/radio-group/index.js +6 -6
  125. package/packages/radio-group/src/main.vue +319 -319
  126. package/packages/retrial-auth/index.js +5 -5
  127. package/packages/retrial-auth/src/main.vue +280 -280
  128. package/packages/select/index.js +5 -5
  129. package/packages/select/src/main.vue +781 -781
  130. package/packages/select-ganged/index.js +5 -5
  131. package/packages/select-ganged/src/main.vue +724 -724
  132. package/packages/selector/index.js +5 -5
  133. package/packages/selector/src/main.vue +761 -761
  134. package/packages/selector-panel/index.js +5 -5
  135. package/packages/selector-panel/src/main.vue +1027 -1027
  136. package/packages/selector-panel/src/selection.vue +170 -170
  137. package/packages/selector-panel/src/tree.vue +129 -129
  138. package/packages/sizer/index.js +5 -5
  139. package/packages/sizer/src/main.vue +254 -254
  140. package/packages/steps/index.js +5 -5
  141. package/packages/steps/src/main.vue +181 -181
  142. package/packages/switch/index.js +5 -5
  143. package/packages/switch/src/main.vue +154 -154
  144. package/packages/table-form/index.js +5 -5
  145. package/packages/tabs/index.js +5 -5
  146. package/packages/tabs/src/main.vue +788 -788
  147. package/packages/tabs-panel/index.js +5 -5
  148. package/packages/tabs-panel/src/main.vue +29 -29
  149. package/packages/theme-chalk/src/base.scss +261 -261
  150. package/packages/theme-chalk/src/button-group.scss +176 -176
  151. package/packages/theme-chalk/src/button.scss +24 -24
  152. package/packages/theme-chalk/src/calendar.scss +113 -113
  153. package/packages/theme-chalk/src/card.scss +99 -99
  154. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  155. package/packages/theme-chalk/src/clients.scss +87 -87
  156. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  157. package/packages/theme-chalk/src/data-table.scss +293 -293
  158. package/packages/theme-chalk/src/date-picker.scss +7 -7
  159. package/packages/theme-chalk/src/dialog.scss +77 -77
  160. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  161. package/packages/theme-chalk/src/enterprise.scss +5 -5
  162. package/packages/theme-chalk/src/error-page.scss +18 -18
  163. package/packages/theme-chalk/src/flow-group.scss +110 -110
  164. package/packages/theme-chalk/src/flow-list.scss +39 -39
  165. package/packages/theme-chalk/src/flow.scss +348 -348
  166. package/packages/theme-chalk/src/form.scss +499 -499
  167. package/packages/theme-chalk/src/handle-user.scss +40 -40
  168. package/packages/theme-chalk/src/handler.scss +143 -143
  169. package/packages/theme-chalk/src/icon.scss +1817 -1817
  170. package/packages/theme-chalk/src/icons.scss +99 -99
  171. package/packages/theme-chalk/src/input.scss +9 -9
  172. package/packages/theme-chalk/src/label.scss +24 -24
  173. package/packages/theme-chalk/src/layout.scss +46 -46
  174. package/packages/theme-chalk/src/login.scss +984 -984
  175. package/packages/theme-chalk/src/main.scss +663 -663
  176. package/packages/theme-chalk/src/menu.scss +222 -222
  177. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  178. package/packages/theme-chalk/src/nav.scss +111 -111
  179. package/packages/theme-chalk/src/page.scss +3 -3
  180. package/packages/theme-chalk/src/pagination.scss +29 -29
  181. package/packages/theme-chalk/src/player.scss +9 -9
  182. package/packages/theme-chalk/src/qr-code.scss +17 -17
  183. package/packages/theme-chalk/src/radio-group.scss +9 -9
  184. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  185. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  186. package/packages/theme-chalk/src/select.scss +8 -8
  187. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  188. package/packages/theme-chalk/src/selector.scss +92 -92
  189. package/packages/theme-chalk/src/simplicity.scss +1361 -1361
  190. package/packages/theme-chalk/src/sizer.scss +36 -36
  191. package/packages/theme-chalk/src/steps.scss +88 -88
  192. package/packages/theme-chalk/src/switch.scss +3 -3
  193. package/packages/theme-chalk/src/table-form.scss +1 -1
  194. package/packages/theme-chalk/src/tabs.scss +87 -87
  195. package/packages/theme-chalk/src/tips.scss +7 -7
  196. package/packages/theme-chalk/src/toolbar.scss +179 -179
  197. package/packages/theme-chalk/src/tree-group.scss +72 -72
  198. package/packages/theme-chalk/src/tree.scss +165 -165
  199. package/packages/theme-chalk/src/upload.scss +172 -172
  200. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  201. package/packages/tips/index.js +5 -5
  202. package/packages/tips/src/main.vue +141 -141
  203. package/packages/toolbar/index.js +5 -5
  204. package/packages/toolbar/src/main.vue +430 -430
  205. package/packages/tree/index.js +5 -5
  206. package/packages/tree-group/index.js +5 -5
  207. package/packages/upload/index.js +5 -5
  208. package/packages/upload/src/main.vue +1343 -1343
  209. package/packages/upload/src/picture.js +15 -15
  210. package/packages/wujie/index.js +5 -5
  211. package/packages/wujie/src/main.vue +145 -145
  212. package/packages/wxlogin/index.js +5 -5
  213. package/packages/wxlogin/src/main.vue +128 -128
  214. package/src/config/api.js +308 -308
  215. package/src/config/image.js +2 -2
  216. package/src/index.js +163 -163
  217. package/src/utils/bus.js +3 -3
  218. package/src/utils/date-util.js +312 -312
  219. package/src/utils/http.js +50 -50
  220. package/src/utils/rules.js +18 -18
  221. package/src/utils/store.js +21 -21
  222. package/src/utils/webSocket.js +107 -107
  223. package/packages/.DS_Store +0 -0
  224. package/packages/autocomplete/.DS_Store +0 -0
  225. package/packages/calogin/.DS_Store +0 -0
  226. package/packages/date-picker/.DS_Store +0 -0
  227. package/packages/date-picker/src/.DS_Store +0 -0
  228. package/packages/flow/.DS_Store +0 -0
  229. package/packages/flow/src/.DS_Store +0 -0
  230. package/packages/flow-list/.DS_Store +0 -0
  231. package/packages/form/.DS_Store +0 -0
  232. package/packages/login/.DS_Store +0 -0
  233. package/packages/main/.DS_Store +0 -0
  234. package/packages/main/src/.DS_Store +0 -0
  235. package/packages/menu/.DS_Store +0 -0
  236. package/packages/scrollbar/.DS_Store +0 -0
  237. package/packages/select/.DS_Store +0 -0
  238. package/packages/selector/.DS_Store +0 -0
  239. package/packages/selector-panel/.DS_Store +0 -0
  240. package/packages/theme-chalk/src/.DS_Store +0 -0
  241. package/packages/upload/.DS_Store +0 -0
  242. package/src/.DS_Store +0 -0
  243. package/src/utils/.DS_Store +0 -0
@@ -1,690 +1,690 @@
1
- <template>
2
- <div
3
- v-loading="loading"
4
- class="task-read"
5
- element-loading-text="加载中..."
6
- element-loading-spinner="el-icon-loading"
7
- element-loading-background="rgba(255, 255,255, 0.8)"
8
- >
9
- <el-form
10
- ref="nextNode"
11
- :model="nextNode"
12
- class="demo-dynamic"
13
- label-width="110px"
14
- >
15
- <div
16
- :style="`max-height: ${
17
- typeCode ? 'unset' : '290px'
18
- }; overflow-y: auto; margin-bottom: 10px`"
19
- >
20
- <el-form-item
21
- prop="handleExplain"
22
- label="当前步骤"
23
- v-if="type === 'transfer'"
24
- >
25
- <el-input readonly v-model="nextNode.nodeName"></el-input>
26
- </el-form-item>
27
- <el-form-item
28
- v-if="type == 'transfer' && transferInfo.isSinglePage"
29
- prop="handleExplain"
30
- label="意见"
31
- >
32
- <el-input
33
- v-model="nextNode.handleExplain"
34
- placeholder="请填写意见"
35
- ></el-input>
36
- </el-form-item>
37
- <el-form-item
38
- prop="nextUser"
39
- :label="
40
- type === 'transfer'
41
- ? '转办对象'
42
- : configInfo.isCdjxjTaskHandle == 'true'
43
- ? '接收人'
44
- : '办理用户'
45
- "
46
- >
47
- <SelectUser
48
- :nextUser="nextNode.nextUser"
49
- :options="userOptions"
50
- :multiple="type != 'transfer' ? multiple : false"
51
- :mix="type != 'transfer'"
52
- :selectUserList="selectUserList"
53
- :disableds="readDisableds"
54
- :types="
55
- selectorTabs
56
- ? selectorTabs
57
- : type == 'transfer'
58
- ? ['employee', 'persongroup']
59
- : ['employee', 'enterprise', 'department', 'persongroup']
60
- "
61
- @change="changeSelectUser($event, 'nextUser')"
62
- :tabs="tabs"
63
- :params="selectorParams"
64
- />
65
- </el-form-item>
66
-
67
- <el-form-item
68
- v-if="configInfo.isCdjxjTaskHandle != 'true' && type != 'transfer' && configInfo.groups&& configInfo.groups.length != 0"
69
- prop="cy"
70
- label="常用群组"
71
- ><el-checkbox-group v-model="selectCheck">
72
- <el-checkbox
73
- @change="handleSelectCheck($event, item)"
74
- v-for="item in configInfo.groups"
75
- :label="item.name"
76
- :key="item.id"
77
- >{{ item.name }}</el-checkbox
78
- >
79
- </el-checkbox-group>
80
- </el-form-item>
81
- <el-form-item
82
- v-if="configInfo.fyDoresult == 'true'"
83
- prop="showDoresult"
84
- label="流程意见"
85
- ><el-radio v-model="nextNode.showDoresult" label="0">分阅</el-radio>
86
- <el-radio v-model="nextNode.showDoresult" label="1">不分阅</el-radio>
87
- </el-form-item>
88
- <el-form-item
89
- v-if="configInfo.fyeh == 'true'"
90
- prop="isInHistory"
91
- label="分阅记录"
92
- ><el-radio v-model="nextNode.isInHistory" label="0">记录</el-radio>
93
- <el-radio v-model="nextNode.isInHistory" label="1">不记录</el-radio>
94
- </el-form-item>
95
- <el-form-item
96
- v-if="configInfo.download"
97
- prop="isDownload"
98
- label="打印下载文件"
99
- ><el-radio v-model="nextNode.isDownload" label="0">允许</el-radio>
100
- <el-radio v-model="nextNode.isDownload" label="1">不允许</el-radio>
101
- </el-form-item>
102
- <el-form-item
103
- prop="handleExplain"
104
- :label="configInfo.isCdjxjTaskHandle == 'true' ? '附言' : '办理说明'"
105
- v-if="type != 'transfer'"
106
- >
107
- <el-input
108
- v-model="nextNode.handleExplain"
109
- type="textarea"
110
- :rows="3"
111
-
112
- placeholder="请填写办理说明"
113
- ></el-input>
114
- </el-form-item>
115
- <el-form-item
116
- v-if="configInfo.isCdjxjTaskHandle != 'true' && noticeList.length > 0"
117
- prop="noticeType"
118
- label="通知方式"
119
- >
120
- <el-checkbox-group
121
- v-model="nextNode.noticeType"
122
- style="display: contents"
123
- >
124
- <el-checkbox
125
- v-for="item of noticeList"
126
- :key="item.cciValue"
127
- :label="item.cciValue"
128
- :disabled="
129
- readOnlyNotificationType
130
- ? readOnlyNotificationType.indexOf(item.cciValue) != -1
131
- : false
132
- "
133
- >
134
- {{ item.shortName }}
135
- </el-checkbox>
136
- </el-checkbox-group>
137
- </el-form-item>
138
- <el-form-item
139
- v-show="
140
- nextNode.noticeType.length != 0 &&
141
- configInfo.isCdjxjTaskHandle != 'true'
142
- "
143
- prop="nextNode"
144
- label="通知消息"
145
- >
146
- <es-input
147
- style="
148
- border-color: #ccc;
149
- padding: 5px;
150
- border-radius: 5px;
151
- font-size: 13px;
152
- "
153
- type="textarea"
154
- v-model="newsNoice"
155
- :readonly="notificationMessageReadOnly == 'true'"
156
- />
157
- <!-- <span>{{ newsInfo }}</span> -->
158
- </el-form-item>
159
- </div>
160
- <el-form-item>
161
- <div style="text-align: right">
162
- <el-button type="primary" size="small" @click="submit('nextNode')">
163
- 提交
164
- </el-button>
165
- </div>
166
- </el-form-item>
167
- </el-form>
168
- </div>
169
- </template>
170
-
171
- <script>
172
- import {
173
- findSysCodes,
174
- taskReadHtml,
175
- toStartTaskRead,
176
- toTaskTransferIndex,
177
- getNotificationMsg,
178
- taskTransfer,
179
- findCodeValues
180
- } from 'eoss-ui/src/config/api';
181
- import util from 'eoss-ui/src/utils/util';
182
- import SelectUser from './selectUser.vue';
183
- export default {
184
- name: 'StartTaskRead',
185
- components: {
186
- [Option.name]: Option,
187
- [SelectUser.name]: SelectUser
188
- },
189
- props: {
190
- pendingId: { type: String, default: '' },
191
- simpleTips: { type: Boolean, default: true },
192
- newsInfo: { type: String, default: '' },
193
- type: { type: String, default: '' },
194
- option: { type: String, default: '' },
195
- typeCode: { type: String, default: '' },
196
- resetAppId: { type: String, default: '' },
197
- selectorConfig: { type: [Object, undefined], default: undefined },
198
- param: { type: Object, default: () => {} },
199
- taskExamine: { type: Object, default: () => {} },
200
- subParams:{
201
- type: [Object, undefined],
202
- default: undefined
203
- },
204
- readParams: {
205
- type: [Object, undefined],
206
- default: undefined
207
- }
208
- },
209
- data() {
210
- return {
211
- loading: false,
212
- newsNoice: '',
213
- readOnlyNotificationType: '',
214
- notificationMessageReadOnly: false,
215
- selectorTabs: null,
216
- selectorParams: null,
217
- nextNode: {
218
- nextUser: [],
219
- userInfo: [],
220
- noticeType: [],
221
- handleExplain: '',
222
- showDoresult: '0',
223
- isInHistory: '0',
224
- isDownload: '0'
225
- },
226
- mixList: [],
227
- newSelectUserList: [],
228
- orgId: '',
229
- noticeList: [],
230
- userOptions: [],
231
- readDisableds:[],
232
- selectCheck: [],
233
- selectUserList: [],
234
- transferInfo: {},
235
- multiple: true,
236
- params: { filid: 'all' },
237
- configInfo: {}
238
- };
239
- },
240
- computed: {
241
- tabs() {
242
- let tab = {};
243
- if (this.type != 'transfer') {
244
- tab = {
245
- employee: {
246
- param: {
247
- filid: this.orgId,
248
- name: '本单位用户'
249
- }
250
- },
251
- department: { param: { filid: this.orgId } },
252
- enterprise: {}
253
- };
254
- } else {
255
- tab = {
256
- employee: {
257
- param: {
258
- filid: this.orgId
259
- }
260
- }
261
- };
262
- }
263
- return tab;
264
- }
265
- },
266
- mounted() {
267
- this.newsNoice = this.newsInfo;
268
- if (this.readParams || this.typeCode == 'read') {
269
- this.getMessage();
270
- }
271
- this.getFind();
272
- if (util.getStorage('mainConfig')) {
273
- this.orgId = JSON.parse(util.getStorage('mainConfig')).userModel.orgId;
274
- }
275
- if(this.selectorConfig){
276
- this.getSelectorConfig()
277
- }
278
- },
279
- methods: {
280
- getSelectorConfig() {
281
- this.selectorTabs = this.selectorConfig.type.split(',');
282
- this.selectorParams = this.selectorConfig.params;
283
- },
284
- //获取通知信息
285
- getMessage() {
286
- let params = {};
287
- if (this.typeCode == 'read') {
288
- params = {
289
- processDefinitionId: this.param.processDefinitionId,
290
- businessId: this.param.businessId,
291
- businessName: this.param.businessName,
292
- bCode: this.param.bCode,
293
- bName: this.param.bName
294
- };
295
- } else {
296
- params.appId = this.readParams.appId;
297
- }
298
- util
299
- .ajax({ url: getNotificationMsg, params, methods: 'post' })
300
- .then((res) => {
301
- if (res.status === 'success') {
302
- this.newsNoice = res.message;
303
- }
304
- })
305
- .catch((err) => {
306
- this.loading = false;
307
- if (err.message && err.message !== 'canceled') {
308
- this.$message.error(err.message);
309
- }
310
- });
311
- },
312
- toTaskTransfer() {
313
- const { opinion, pendingId, taskExamine } = this;
314
- let params = {
315
- url: toTaskTransferIndex,
316
- params: {
317
- opinion,
318
- pendingId,
319
- isSubFlow: taskExamine.isSubFlow,
320
- isSinglePage: taskExamine.isSinglePage
321
- }
322
- };
323
- util
324
- .ajax(params)
325
- .then((res) => {
326
- const {
327
- status,
328
- message,
329
- data: { choiceDeptId, choiceOrgId, nodeInfoMap, taskExamine }
330
- } = res;
331
- if (status == 'success') {
332
- this.isMultipleTransfer(
333
- nodeInfoMap.nodeExtAttr.userSelectionType,
334
- choiceOrgId,
335
- choiceDeptId
336
- );
337
- this.nextNode.nodeName = taskExamine.nodeName;
338
- this.transferInfo = taskExamine;
339
- } else {
340
- this.$message.error(message || '系统错误,请联系管理员!');
341
- }
342
- })
343
- .catch((err) => {
344
- this.loading = false;
345
- if (err.message && err.message !== 'canceled') {
346
- this.$message.error(err.message);
347
- }
348
- });
349
- },
350
- isMultipleTransfer(val, choiceOrgId, choiceDeptId, pOrgId) {
351
- if (val == 2 || val == 4 || val == 6 || val == 16) {
352
- this.multiple = true;
353
- } else {
354
- this.multiple = false;
355
- }
356
- if (val == 1 || val == 2 || val == 5) {
357
- this.params.filid = this.orgId;
358
- if (choiceOrgId) {
359
- this.params.filid = choiceOrgId;
360
- }
361
- }
362
- if (val == 5 || val == 6) {
363
- this.params.filid = this.orgId;
364
- this.params.deptid = this.orgId;
365
- if (choiceDeptId) {
366
- this.params.deptid = choiceDeptId;
367
- }
368
- if (choiceOrgId) {
369
- this.params.filid = choiceOrgId;
370
- }
371
- }
372
- if (val == 15 || val == 16) {
373
- this.params.filid = this.orgId;
374
- if (pOrgId) {
375
- this.params.filid = pOrgId;
376
- }
377
- }
378
- },
379
- isMultiple() {
380
- let orgId = this.orgId;
381
- if (this.configInfo.selectPersonValue == 1) {
382
- this.multiple = false;
383
- this.params.filid = orgId;
384
- } else if (this.configInfo.selectPersonValue == 2) {
385
- this.multiple = true;
386
- this.params.filid = orgId;
387
- } else if (this.configInfo.selectPersonValue == 3) {
388
- this.multiple = false;
389
- this.params.filid = 'all';
390
- } else if (this.configInfo.selectPersonValue == 4) {
391
- this.multiple = true;
392
- this.params.filid = 'all';
393
- } else if (this.configInfo.selectPersonValue == 5) {
394
- this.multiple = false;
395
- this.params.filid = '';
396
- } else if (this.configInfo.selectPersonValue == 6) {
397
- this.multiple = true;
398
- this.params.filid = '';
399
- }
400
- },
401
- handleSelectCheck(val, data) {
402
- let { userIds, userNames } = data;
403
- if (val) {
404
- let newUserIds = userIds.split(',');
405
- let newUserNames = userNames.split(',');
406
- newUserIds.map((item, index) => {
407
- this.nextNode.nextUser.push(item);
408
- this.userOptions.push({ id: item, name: newUserNames[index] });
409
-
410
- this.selectUserList.push({
411
- showid: item,
412
- showname: newUserNames[index]
413
- });
414
- });
415
- // this.selectUserList = this.newSelectUserList
416
- } else {
417
- let newUserIds = userIds.split(',');
418
- for (let i = 0; i < this.nextNode.nextUser.length; i++) {
419
- for (let j = 0; j < newUserIds.length; j++) {
420
- if (this.nextNode.nextUser[i] == newUserIds[j]) {
421
- this.nextNode.nextUser.splice(i, 1);
422
- }
423
- }
424
- }
425
- for (let z = 0; z < this.userOptions.length; z++) {
426
- for (let x = 0; x < newUserIds.length; x++) {
427
- if (this.userOptions[z].id == newUserIds[x]) {
428
- this.userOptions.splice(z, 1);
429
- this.selectUserList.splice(z, 1);
430
- }
431
- }
432
- }
433
- // this.newSelectUserList = this.selectUserList
434
- }
435
- },
436
- toStartTaskRead() {
437
- let params = {
438
- url: toStartTaskRead,
439
- params: {
440
- pendingId: this.pendingId,
441
- taskAction: this.type,
442
- ...this.param
443
- }
444
- };
445
- if (this.typeCode == 'read') {
446
- delete params.params.pendingId;
447
- // params.params.appid = this.resetAppId;
448
- }
449
- if (this.type != 'taskReadAndEnd') delete params.params.taskAction;
450
- util
451
- .ajax(params)
452
- .then((res) => {
453
- const { status, data } = res;
454
- if (status === 'success') {
455
- this.configInfo = data;
456
- if(data.alreadyReadUserIds){
457
- this.readDisableds = data.alreadyReadUserIds.split(',');
458
- }
459
- this.isMultiple();
460
- }
461
- })
462
- .catch((err) => {
463
- this.loading = false;
464
- if (err.message && err.message !== 'canceled') {
465
- this.$message.error(err.message);
466
- }
467
- });
468
- },
469
- changeSelectUser(val, type) {
470
- const { nextUser, options, mixList } = val;
471
- this.nextNode[type] = nextUser;
472
- this.mixList = mixList;
473
- options.map((item) => {
474
- this.newSelectUserList.push({
475
- showname: item.showname,
476
- showid: item.showid
477
- });
478
- });
479
- },
480
- getNodeType() {
481
- util
482
- .ajax({
483
- url: findCodeValues,
484
- params: {
485
- ccCode: 'fenyue_msg_type',
486
- userId: util.getStorage('userId'),
487
- // pendingId:this.pendingId
488
- }
489
- })
490
- .then((res) => {
491
- const { status, data } = res;
492
- if (status === 'success') {
493
- this.noticeList = data;
494
- let arr = [];
495
- this.noticeList.map((item) => {
496
- this.nextNode.noticeType.map((x) => {
497
- if (x == item.cciValue) {
498
- arr.push(x);
499
- }
500
- });
501
- });
502
- this.nextNode.noticeType = arr;
503
- }
504
- })
505
- .catch((err) => {
506
- this.loading = false;
507
- if (err.message && err.message !== 'canceled') {
508
- this.$message.error(err.message);
509
- }
510
- });
511
- },
512
- // 转办提交
513
- subTaskTransfer() {
514
- const { choiceDeptId, choiceOrgId, bCode, bName } = this.taskExamine;
515
- const { opinion, pendingId, nextNode, newsNoice, multiple, type } = this;
516
- let params = {
517
- url: taskTransfer,
518
- data: {
519
- choiceDeptId,
520
- choiceOrgId,
521
- bCode,
522
- bName,
523
- nextUserId:
524
- multiple && type != 'transfer'
525
- ? nextNode.nextUser.join(',')
526
- : nextNode.nextUser,
527
- opinion,
528
- pendingId,
529
- notificationType: nextNode.noticeType.join(','),
530
- notificationMsg: newsNoice
531
- },
532
- headers: { Accept: 'application/json,text/plain' },
533
- method: 'post'
534
- };
535
- util
536
- .ajax(params)
537
- .then((res) => {
538
- const { message, status } = res;
539
- if (status === 'success') {
540
- this.simpleTips && this.$message.success('操作成功');
541
- this.quit(true);
542
- } else {
543
- this.$message.error(message || '系统错误,请联系管理员!');
544
- }
545
- this.loading = false;
546
- })
547
- .catch((err) => {
548
- this.loading = false;
549
- if (err.message && err.message !== 'canceled') {
550
- this.$message.error(err.message);
551
- }
552
- });
553
- },
554
- // 提交表单
555
- submit(formName) {
556
- this.$refs[formName].validate((valid) => {
557
- if (valid) {
558
- if (!this.option && this.isOpinionRequired === 1) {
559
- this.$message.warning('请选择输入审批意见');
560
- return;
561
- }
562
- // let nextUser = [];
563
- // this.nextNode.nextUser.map(item => {
564
- // nextUser.push(item);
565
- // });
566
- let noticeType = '';
567
- noticeType = this.nextNode.noticeType.join(',');
568
- this.loading = true;
569
- if (this.type === 'transfer') {
570
- this.subTaskTransfer();
571
- } else {
572
- const {
573
- appId,
574
- businessId,
575
- bCode,
576
- bName,
577
- choiceDeptId,
578
- choiceOrgId,
579
- businessName,
580
- processDefinitionId
581
- } = this.taskExamine;
582
- let params = {
583
- ...this.nextNode,
584
- bCode,
585
- bName,
586
- appId,
587
- businessId: businessId || this.param.businessId,
588
- choiceDeptId,
589
- choiceOrgId,
590
- businessName,
591
- processDefinitionId,
592
- currentOrgProcessKey:
593
- processDefinitionId || this.param.currentOrgProcessKey,
594
- pendingId: this.pendingId,
595
- opinion: this.option, // 审批意见
596
- userId: util.getStorage('userId'),
597
- nextReadUserId: this.mixList.join('|'),
598
- notificationType: noticeType,
599
- notificationMsg: this.newsNoice,
600
- taskAction: this.type
601
- // nextNodeId: this.form.nextNodeId
602
- };
603
- delete params.nextUser;
604
- delete params.noticeType;
605
- const { fyDoresult, fyeh, download, isCdjxjTaskHandle } =
606
- this.configInfo;
607
- fyDoresult != 'true' && delete params.showDoresult;
608
- fyeh != 'true' && delete params.isInHistory;
609
- !download && delete params.isDownload;
610
- isCdjxjTaskHandle == 'true' && delete params.noticeType;
611
- if (this.readParams) {
612
- params = { ...params, ...this.readParams };
613
- }
614
- if(this.subParams){
615
- params = { ...params, ...this.subParams };
616
- }
617
- delete this.configInfo.taskExamine.taskExamineParam;
618
- util
619
- .ajax({
620
- url: taskReadHtml,
621
- params: { taskAction: this.type },
622
- headers: {
623
- Accept: 'application/json,text/plain'
624
- },
625
- method: 'post',
626
- data: {...params,...this.configInfo.taskExamine}
627
- })
628
- .then((res) => {
629
- const { message, status } = res;
630
- this.loading = false;
631
- if (status === 'success') {
632
- this.simpleTips && this.$message.success('操作成功');
633
- this.quit(true);
634
- } else {
635
- this.$message.error(message || '系统错误,请联系管理员!');
636
- }
637
- })
638
- .catch((err) => {
639
- this.loading = false;
640
- if (err.message && err.message !== 'canceled') {
641
- this.$message.error(err.message);
642
- }
643
- });
644
- }
645
- } else {
646
- return false;
647
- }
648
- });
649
- },
650
- quit(val) {
651
- if (val === true) return this.$emit('cancel', this.type);
652
- this.$emit('cancel');
653
- },
654
-
655
- getFind() {
656
- this.loading = true;
657
- util
658
- .ajax({
659
- url: findSysCodes
660
- })
661
- .then((res) => {
662
- const { status, message, data } = res;
663
- this.loading = false;
664
- if (status === 'success') {
665
- this.nextNode.noticeType = message.split(',');
666
- if (data) {
667
- this.notificationMessageReadOnly =
668
- data.notificationMessageReadOnly;
669
- this.readOnlyNotificationType = data.readOnlyNotificationType;
670
- }
671
- } else {
672
- this.$message.error(message || '系统错误,请联系管理员!');
673
- }
674
- this.getNodeType();
675
- if (this.type === 'transfer') {
676
- this.toTaskTransfer();
677
- } else if (!this.readParams) {
678
- this.toStartTaskRead();
679
- }
680
- })
681
- .catch((err) => {
682
- this.loading = false;
683
- if (err.message && err.message !== 'canceled') {
684
- this.$message.error(err.message);
685
- }
686
- });
687
- }
688
- }
689
- };
690
- </script>
1
+ <template>
2
+ <div
3
+ v-loading="loading"
4
+ class="task-read"
5
+ element-loading-text="加载中..."
6
+ element-loading-spinner="el-icon-loading"
7
+ element-loading-background="rgba(255, 255,255, 0.8)"
8
+ >
9
+ <el-form
10
+ ref="nextNode"
11
+ :model="nextNode"
12
+ class="demo-dynamic"
13
+ label-width="110px"
14
+ >
15
+ <div
16
+ :style="`max-height: ${
17
+ typeCode ? 'unset' : '290px'
18
+ }; overflow-y: auto; margin-bottom: 10px`"
19
+ >
20
+ <el-form-item
21
+ prop="handleExplain"
22
+ label="当前步骤"
23
+ v-if="type === 'transfer'"
24
+ >
25
+ <el-input readonly v-model="nextNode.nodeName"></el-input>
26
+ </el-form-item>
27
+ <el-form-item
28
+ v-if="type == 'transfer' && transferInfo.isSinglePage"
29
+ prop="handleExplain"
30
+ label="意见"
31
+ >
32
+ <el-input
33
+ v-model="nextNode.handleExplain"
34
+ placeholder="请填写意见"
35
+ ></el-input>
36
+ </el-form-item>
37
+ <el-form-item
38
+ prop="nextUser"
39
+ :label="
40
+ type === 'transfer'
41
+ ? '转办对象'
42
+ : configInfo.isCdjxjTaskHandle == 'true'
43
+ ? '接收人'
44
+ : '办理用户'
45
+ "
46
+ >
47
+ <SelectUser
48
+ :nextUser="nextNode.nextUser"
49
+ :options="userOptions"
50
+ :multiple="type != 'transfer' ? multiple : false"
51
+ :mix="type != 'transfer'"
52
+ :selectUserList="selectUserList"
53
+ :disableds="readDisableds"
54
+ :types="
55
+ selectorTabs
56
+ ? selectorTabs
57
+ : type == 'transfer'
58
+ ? ['employee', 'persongroup']
59
+ : ['employee', 'enterprise', 'department', 'persongroup']
60
+ "
61
+ @change="changeSelectUser($event, 'nextUser')"
62
+ :tabs="tabs"
63
+ :params="selectorParams"
64
+ />
65
+ </el-form-item>
66
+
67
+ <el-form-item
68
+ v-if="configInfo.isCdjxjTaskHandle != 'true' && type != 'transfer' && configInfo.groups&& configInfo.groups.length != 0"
69
+ prop="cy"
70
+ label="常用群组"
71
+ ><el-checkbox-group v-model="selectCheck">
72
+ <el-checkbox
73
+ @change="handleSelectCheck($event, item)"
74
+ v-for="item in configInfo.groups"
75
+ :label="item.name"
76
+ :key="item.id"
77
+ >{{ item.name }}</el-checkbox
78
+ >
79
+ </el-checkbox-group>
80
+ </el-form-item>
81
+ <el-form-item
82
+ v-if="configInfo.fyDoresult == 'true'"
83
+ prop="showDoresult"
84
+ label="流程意见"
85
+ ><el-radio v-model="nextNode.showDoresult" label="0">分阅</el-radio>
86
+ <el-radio v-model="nextNode.showDoresult" label="1">不分阅</el-radio>
87
+ </el-form-item>
88
+ <el-form-item
89
+ v-if="configInfo.fyeh == 'true'"
90
+ prop="isInHistory"
91
+ label="分阅记录"
92
+ ><el-radio v-model="nextNode.isInHistory" label="0">记录</el-radio>
93
+ <el-radio v-model="nextNode.isInHistory" label="1">不记录</el-radio>
94
+ </el-form-item>
95
+ <el-form-item
96
+ v-if="configInfo.download"
97
+ prop="isDownload"
98
+ label="打印下载文件"
99
+ ><el-radio v-model="nextNode.isDownload" label="0">允许</el-radio>
100
+ <el-radio v-model="nextNode.isDownload" label="1">不允许</el-radio>
101
+ </el-form-item>
102
+ <el-form-item
103
+ prop="handleExplain"
104
+ :label="configInfo.isCdjxjTaskHandle == 'true' ? '附言' : '办理说明'"
105
+ v-if="type != 'transfer'"
106
+ >
107
+ <el-input
108
+ v-model="nextNode.handleExplain"
109
+ type="textarea"
110
+ :rows="3"
111
+
112
+ placeholder="请填写办理说明"
113
+ ></el-input>
114
+ </el-form-item>
115
+ <el-form-item
116
+ v-if="configInfo.isCdjxjTaskHandle != 'true' && noticeList.length > 0"
117
+ prop="noticeType"
118
+ label="通知方式"
119
+ >
120
+ <el-checkbox-group
121
+ v-model="nextNode.noticeType"
122
+ style="display: contents"
123
+ >
124
+ <el-checkbox
125
+ v-for="item of noticeList"
126
+ :key="item.cciValue"
127
+ :label="item.cciValue"
128
+ :disabled="
129
+ readOnlyNotificationType
130
+ ? readOnlyNotificationType.indexOf(item.cciValue) != -1
131
+ : false
132
+ "
133
+ >
134
+ {{ item.shortName }}
135
+ </el-checkbox>
136
+ </el-checkbox-group>
137
+ </el-form-item>
138
+ <el-form-item
139
+ v-show="
140
+ nextNode.noticeType.length != 0 &&
141
+ configInfo.isCdjxjTaskHandle != 'true'
142
+ "
143
+ prop="nextNode"
144
+ label="通知消息"
145
+ >
146
+ <es-input
147
+ style="
148
+ border-color: #ccc;
149
+ padding: 5px;
150
+ border-radius: 5px;
151
+ font-size: 13px;
152
+ "
153
+ type="textarea"
154
+ v-model="newsNoice"
155
+ :readonly="notificationMessageReadOnly == 'true'"
156
+ />
157
+ <!-- <span>{{ newsInfo }}</span> -->
158
+ </el-form-item>
159
+ </div>
160
+ <el-form-item>
161
+ <div style="text-align: right">
162
+ <el-button type="primary" size="small" @click="submit('nextNode')">
163
+ 提交
164
+ </el-button>
165
+ </div>
166
+ </el-form-item>
167
+ </el-form>
168
+ </div>
169
+ </template>
170
+
171
+ <script>
172
+ import {
173
+ findSysCodes,
174
+ taskReadHtml,
175
+ toStartTaskRead,
176
+ toTaskTransferIndex,
177
+ getNotificationMsg,
178
+ taskTransfer,
179
+ findCodeValues
180
+ } from 'eoss-ui/src/config/api';
181
+ import util from 'eoss-ui/src/utils/util';
182
+ import SelectUser from './selectUser.vue';
183
+ export default {
184
+ name: 'StartTaskRead',
185
+ components: {
186
+ [Option.name]: Option,
187
+ [SelectUser.name]: SelectUser
188
+ },
189
+ props: {
190
+ pendingId: { type: String, default: '' },
191
+ simpleTips: { type: Boolean, default: true },
192
+ newsInfo: { type: String, default: '' },
193
+ type: { type: String, default: '' },
194
+ option: { type: String, default: '' },
195
+ typeCode: { type: String, default: '' },
196
+ resetAppId: { type: String, default: '' },
197
+ selectorConfig: { type: [Object, undefined], default: undefined },
198
+ param: { type: Object, default: () => {} },
199
+ taskExamine: { type: Object, default: () => {} },
200
+ subParams:{
201
+ type: [Object, undefined],
202
+ default: undefined
203
+ },
204
+ readParams: {
205
+ type: [Object, undefined],
206
+ default: undefined
207
+ }
208
+ },
209
+ data() {
210
+ return {
211
+ loading: false,
212
+ newsNoice: '',
213
+ readOnlyNotificationType: '',
214
+ notificationMessageReadOnly: false,
215
+ selectorTabs: null,
216
+ selectorParams: null,
217
+ nextNode: {
218
+ nextUser: [],
219
+ userInfo: [],
220
+ noticeType: [],
221
+ handleExplain: '',
222
+ showDoresult: '0',
223
+ isInHistory: '0',
224
+ isDownload: '0'
225
+ },
226
+ mixList: [],
227
+ newSelectUserList: [],
228
+ orgId: '',
229
+ noticeList: [],
230
+ userOptions: [],
231
+ readDisableds:[],
232
+ selectCheck: [],
233
+ selectUserList: [],
234
+ transferInfo: {},
235
+ multiple: true,
236
+ params: { filid: 'all' },
237
+ configInfo: {}
238
+ };
239
+ },
240
+ computed: {
241
+ tabs() {
242
+ let tab = {};
243
+ if (this.type != 'transfer') {
244
+ tab = {
245
+ employee: {
246
+ param: {
247
+ filid: this.orgId,
248
+ name: '本单位用户'
249
+ }
250
+ },
251
+ department: { param: { filid: this.orgId } },
252
+ enterprise: {}
253
+ };
254
+ } else {
255
+ tab = {
256
+ employee: {
257
+ param: {
258
+ filid: this.orgId
259
+ }
260
+ }
261
+ };
262
+ }
263
+ return tab;
264
+ }
265
+ },
266
+ mounted() {
267
+ this.newsNoice = this.newsInfo;
268
+ if (this.readParams || this.typeCode == 'read') {
269
+ this.getMessage();
270
+ }
271
+ this.getFind();
272
+ if (util.getStorage('mainConfig')) {
273
+ this.orgId = JSON.parse(util.getStorage('mainConfig')).userModel.orgId;
274
+ }
275
+ if(this.selectorConfig){
276
+ this.getSelectorConfig()
277
+ }
278
+ },
279
+ methods: {
280
+ getSelectorConfig() {
281
+ this.selectorTabs = this.selectorConfig.type.split(',');
282
+ this.selectorParams = this.selectorConfig.params;
283
+ },
284
+ //获取通知信息
285
+ getMessage() {
286
+ let params = {};
287
+ if (this.typeCode == 'read') {
288
+ params = {
289
+ processDefinitionId: this.param.processDefinitionId,
290
+ businessId: this.param.businessId,
291
+ businessName: this.param.businessName,
292
+ bCode: this.param.bCode,
293
+ bName: this.param.bName
294
+ };
295
+ } else {
296
+ params.appId = this.readParams.appId;
297
+ }
298
+ util
299
+ .ajax({ url: getNotificationMsg, params, methods: 'post' })
300
+ .then((res) => {
301
+ if (res.status === 'success') {
302
+ this.newsNoice = res.message;
303
+ }
304
+ })
305
+ .catch((err) => {
306
+ this.loading = false;
307
+ if (err.message && err.message !== 'canceled') {
308
+ this.$message.error(err.message);
309
+ }
310
+ });
311
+ },
312
+ toTaskTransfer() {
313
+ const { opinion, pendingId, taskExamine } = this;
314
+ let params = {
315
+ url: toTaskTransferIndex,
316
+ params: {
317
+ opinion,
318
+ pendingId,
319
+ isSubFlow: taskExamine.isSubFlow,
320
+ isSinglePage: taskExamine.isSinglePage
321
+ }
322
+ };
323
+ util
324
+ .ajax(params)
325
+ .then((res) => {
326
+ const {
327
+ status,
328
+ message,
329
+ data: { choiceDeptId, choiceOrgId, nodeInfoMap, taskExamine }
330
+ } = res;
331
+ if (status == 'success') {
332
+ this.isMultipleTransfer(
333
+ nodeInfoMap.nodeExtAttr.userSelectionType,
334
+ choiceOrgId,
335
+ choiceDeptId
336
+ );
337
+ this.nextNode.nodeName = taskExamine.nodeName;
338
+ this.transferInfo = taskExamine;
339
+ } else {
340
+ this.$message.error(message || '系统错误,请联系管理员!');
341
+ }
342
+ })
343
+ .catch((err) => {
344
+ this.loading = false;
345
+ if (err.message && err.message !== 'canceled') {
346
+ this.$message.error(err.message);
347
+ }
348
+ });
349
+ },
350
+ isMultipleTransfer(val, choiceOrgId, choiceDeptId, pOrgId) {
351
+ if (val == 2 || val == 4 || val == 6 || val == 16) {
352
+ this.multiple = true;
353
+ } else {
354
+ this.multiple = false;
355
+ }
356
+ if (val == 1 || val == 2 || val == 5) {
357
+ this.params.filid = this.orgId;
358
+ if (choiceOrgId) {
359
+ this.params.filid = choiceOrgId;
360
+ }
361
+ }
362
+ if (val == 5 || val == 6) {
363
+ this.params.filid = this.orgId;
364
+ this.params.deptid = this.orgId;
365
+ if (choiceDeptId) {
366
+ this.params.deptid = choiceDeptId;
367
+ }
368
+ if (choiceOrgId) {
369
+ this.params.filid = choiceOrgId;
370
+ }
371
+ }
372
+ if (val == 15 || val == 16) {
373
+ this.params.filid = this.orgId;
374
+ if (pOrgId) {
375
+ this.params.filid = pOrgId;
376
+ }
377
+ }
378
+ },
379
+ isMultiple() {
380
+ let orgId = this.orgId;
381
+ if (this.configInfo.selectPersonValue == 1) {
382
+ this.multiple = false;
383
+ this.params.filid = orgId;
384
+ } else if (this.configInfo.selectPersonValue == 2) {
385
+ this.multiple = true;
386
+ this.params.filid = orgId;
387
+ } else if (this.configInfo.selectPersonValue == 3) {
388
+ this.multiple = false;
389
+ this.params.filid = 'all';
390
+ } else if (this.configInfo.selectPersonValue == 4) {
391
+ this.multiple = true;
392
+ this.params.filid = 'all';
393
+ } else if (this.configInfo.selectPersonValue == 5) {
394
+ this.multiple = false;
395
+ this.params.filid = '';
396
+ } else if (this.configInfo.selectPersonValue == 6) {
397
+ this.multiple = true;
398
+ this.params.filid = '';
399
+ }
400
+ },
401
+ handleSelectCheck(val, data) {
402
+ let { userIds, userNames } = data;
403
+ if (val) {
404
+ let newUserIds = userIds.split(',');
405
+ let newUserNames = userNames.split(',');
406
+ newUserIds.map((item, index) => {
407
+ this.nextNode.nextUser.push(item);
408
+ this.userOptions.push({ id: item, name: newUserNames[index] });
409
+
410
+ this.selectUserList.push({
411
+ showid: item,
412
+ showname: newUserNames[index]
413
+ });
414
+ });
415
+ // this.selectUserList = this.newSelectUserList
416
+ } else {
417
+ let newUserIds = userIds.split(',');
418
+ for (let i = 0; i < this.nextNode.nextUser.length; i++) {
419
+ for (let j = 0; j < newUserIds.length; j++) {
420
+ if (this.nextNode.nextUser[i] == newUserIds[j]) {
421
+ this.nextNode.nextUser.splice(i, 1);
422
+ }
423
+ }
424
+ }
425
+ for (let z = 0; z < this.userOptions.length; z++) {
426
+ for (let x = 0; x < newUserIds.length; x++) {
427
+ if (this.userOptions[z].id == newUserIds[x]) {
428
+ this.userOptions.splice(z, 1);
429
+ this.selectUserList.splice(z, 1);
430
+ }
431
+ }
432
+ }
433
+ // this.newSelectUserList = this.selectUserList
434
+ }
435
+ },
436
+ toStartTaskRead() {
437
+ let params = {
438
+ url: toStartTaskRead,
439
+ params: {
440
+ pendingId: this.pendingId,
441
+ taskAction: this.type,
442
+ ...this.param
443
+ }
444
+ };
445
+ if (this.typeCode == 'read') {
446
+ delete params.params.pendingId;
447
+ // params.params.appid = this.resetAppId;
448
+ }
449
+ if (this.type != 'taskReadAndEnd') delete params.params.taskAction;
450
+ util
451
+ .ajax(params)
452
+ .then((res) => {
453
+ const { status, data } = res;
454
+ if (status === 'success') {
455
+ this.configInfo = data;
456
+ if(data.alreadyReadUserIds){
457
+ this.readDisableds = data.alreadyReadUserIds.split(',');
458
+ }
459
+ this.isMultiple();
460
+ }
461
+ })
462
+ .catch((err) => {
463
+ this.loading = false;
464
+ if (err.message && err.message !== 'canceled') {
465
+ this.$message.error(err.message);
466
+ }
467
+ });
468
+ },
469
+ changeSelectUser(val, type) {
470
+ const { nextUser, options, mixList } = val;
471
+ this.nextNode[type] = nextUser;
472
+ this.mixList = mixList;
473
+ options.map((item) => {
474
+ this.newSelectUserList.push({
475
+ showname: item.showname,
476
+ showid: item.showid
477
+ });
478
+ });
479
+ },
480
+ getNodeType() {
481
+ util
482
+ .ajax({
483
+ url: findCodeValues,
484
+ params: {
485
+ ccCode: 'fenyue_msg_type',
486
+ userId: util.getStorage('userId'),
487
+ // pendingId:this.pendingId
488
+ }
489
+ })
490
+ .then((res) => {
491
+ const { status, data } = res;
492
+ if (status === 'success') {
493
+ this.noticeList = data;
494
+ let arr = [];
495
+ this.noticeList.map((item) => {
496
+ this.nextNode.noticeType.map((x) => {
497
+ if (x == item.cciValue) {
498
+ arr.push(x);
499
+ }
500
+ });
501
+ });
502
+ this.nextNode.noticeType = arr;
503
+ }
504
+ })
505
+ .catch((err) => {
506
+ this.loading = false;
507
+ if (err.message && err.message !== 'canceled') {
508
+ this.$message.error(err.message);
509
+ }
510
+ });
511
+ },
512
+ // 转办提交
513
+ subTaskTransfer() {
514
+ const { choiceDeptId, choiceOrgId, bCode, bName } = this.taskExamine;
515
+ const { opinion, pendingId, nextNode, newsNoice, multiple, type } = this;
516
+ let params = {
517
+ url: taskTransfer,
518
+ data: {
519
+ choiceDeptId,
520
+ choiceOrgId,
521
+ bCode,
522
+ bName,
523
+ nextUserId:
524
+ multiple && type != 'transfer'
525
+ ? nextNode.nextUser.join(',')
526
+ : nextNode.nextUser,
527
+ opinion,
528
+ pendingId,
529
+ notificationType: nextNode.noticeType.join(','),
530
+ notificationMsg: newsNoice
531
+ },
532
+ headers: { Accept: 'application/json,text/plain' },
533
+ method: 'post'
534
+ };
535
+ util
536
+ .ajax(params)
537
+ .then((res) => {
538
+ const { message, status } = res;
539
+ if (status === 'success') {
540
+ this.simpleTips && this.$message.success('操作成功');
541
+ this.quit(true);
542
+ } else {
543
+ this.$message.error(message || '系统错误,请联系管理员!');
544
+ }
545
+ this.loading = false;
546
+ })
547
+ .catch((err) => {
548
+ this.loading = false;
549
+ if (err.message && err.message !== 'canceled') {
550
+ this.$message.error(err.message);
551
+ }
552
+ });
553
+ },
554
+ // 提交表单
555
+ submit(formName) {
556
+ this.$refs[formName].validate((valid) => {
557
+ if (valid) {
558
+ if (!this.option && this.isOpinionRequired === 1) {
559
+ this.$message.warning('请选择输入审批意见');
560
+ return;
561
+ }
562
+ // let nextUser = [];
563
+ // this.nextNode.nextUser.map(item => {
564
+ // nextUser.push(item);
565
+ // });
566
+ let noticeType = '';
567
+ noticeType = this.nextNode.noticeType.join(',');
568
+ this.loading = true;
569
+ if (this.type === 'transfer') {
570
+ this.subTaskTransfer();
571
+ } else {
572
+ const {
573
+ appId,
574
+ businessId,
575
+ bCode,
576
+ bName,
577
+ choiceDeptId,
578
+ choiceOrgId,
579
+ businessName,
580
+ processDefinitionId
581
+ } = this.taskExamine;
582
+ let params = {
583
+ ...this.nextNode,
584
+ bCode,
585
+ bName,
586
+ appId,
587
+ businessId: businessId || this.param.businessId,
588
+ choiceDeptId,
589
+ choiceOrgId,
590
+ businessName,
591
+ processDefinitionId,
592
+ currentOrgProcessKey:
593
+ processDefinitionId || this.param.currentOrgProcessKey,
594
+ pendingId: this.pendingId,
595
+ opinion: this.option, // 审批意见
596
+ userId: util.getStorage('userId'),
597
+ nextReadUserId: this.mixList.join('|'),
598
+ notificationType: noticeType,
599
+ notificationMsg: this.newsNoice,
600
+ taskAction: this.type
601
+ // nextNodeId: this.form.nextNodeId
602
+ };
603
+ delete params.nextUser;
604
+ delete params.noticeType;
605
+ const { fyDoresult, fyeh, download, isCdjxjTaskHandle } =
606
+ this.configInfo;
607
+ fyDoresult != 'true' && delete params.showDoresult;
608
+ fyeh != 'true' && delete params.isInHistory;
609
+ !download && delete params.isDownload;
610
+ isCdjxjTaskHandle == 'true' && delete params.noticeType;
611
+ if (this.readParams) {
612
+ params = { ...params, ...this.readParams };
613
+ }
614
+ if(this.subParams){
615
+ params = { ...params, ...this.subParams };
616
+ }
617
+ delete this.configInfo.taskExamine.taskExamineParam;
618
+ util
619
+ .ajax({
620
+ url: taskReadHtml,
621
+ params: { taskAction: this.type },
622
+ headers: {
623
+ Accept: 'application/json,text/plain'
624
+ },
625
+ method: 'post',
626
+ data: {...params,...this.configInfo.taskExamine}
627
+ })
628
+ .then((res) => {
629
+ const { message, status } = res;
630
+ this.loading = false;
631
+ if (status === 'success') {
632
+ this.simpleTips && this.$message.success('操作成功');
633
+ this.quit(true);
634
+ } else {
635
+ this.$message.error(message || '系统错误,请联系管理员!');
636
+ }
637
+ })
638
+ .catch((err) => {
639
+ this.loading = false;
640
+ if (err.message && err.message !== 'canceled') {
641
+ this.$message.error(err.message);
642
+ }
643
+ });
644
+ }
645
+ } else {
646
+ return false;
647
+ }
648
+ });
649
+ },
650
+ quit(val) {
651
+ if (val === true) return this.$emit('cancel', this.type);
652
+ this.$emit('cancel');
653
+ },
654
+
655
+ getFind() {
656
+ this.loading = true;
657
+ util
658
+ .ajax({
659
+ url: findSysCodes
660
+ })
661
+ .then((res) => {
662
+ const { status, message, data } = res;
663
+ this.loading = false;
664
+ if (status === 'success') {
665
+ this.nextNode.noticeType = message.split(',');
666
+ if (data) {
667
+ this.notificationMessageReadOnly =
668
+ data.notificationMessageReadOnly;
669
+ this.readOnlyNotificationType = data.readOnlyNotificationType;
670
+ }
671
+ } else {
672
+ this.$message.error(message || '系统错误,请联系管理员!');
673
+ }
674
+ this.getNodeType();
675
+ if (this.type === 'transfer') {
676
+ this.toTaskTransfer();
677
+ } else if (!this.readParams) {
678
+ this.toStartTaskRead();
679
+ }
680
+ })
681
+ .catch((err) => {
682
+ this.loading = false;
683
+ if (err.message && err.message !== 'canceled') {
684
+ this.$message.error(err.message);
685
+ }
686
+ });
687
+ }
688
+ }
689
+ };
690
+ </script>