eoss-ui 0.7.94 → 0.7.96

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