eoss-ui 0.7.18 → 0.7.20

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 (248) hide show
  1. package/lib/button-group.js +151 -4
  2. package/lib/calogin.js +233 -233
  3. package/lib/eoss-ui.common.js +947 -795
  4. package/lib/flow-list.js +81 -81
  5. package/lib/flow.js +299 -296
  6. package/lib/index.js +1 -1
  7. package/lib/main.js +142 -142
  8. package/lib/qr-code.js +13 -13
  9. package/lib/switch.js +9 -7
  10. package/lib/tree.js +3 -3
  11. package/package.json +160 -160
  12. package/packages/button/index.js +5 -5
  13. package/packages/button/src/main.vue +418 -418
  14. package/packages/button-group/index.js +5 -5
  15. package/packages/button-group/src/main.vue +346 -298
  16. package/packages/calendar/index.js +5 -5
  17. package/packages/calogin/index.js +5 -5
  18. package/packages/calogin/src/main.vue +412 -412
  19. package/packages/calogin/src/plugin.js +915 -915
  20. package/packages/card/index.js +5 -5
  21. package/packages/card/src/main.vue +156 -156
  22. package/packages/cascader/index.js +5 -5
  23. package/packages/cascader/src/main.vue +168 -168
  24. package/packages/checkbox-group/index.js +5 -5
  25. package/packages/checkbox-group/src/main.vue +333 -333
  26. package/packages/clients/index.js +5 -5
  27. package/packages/clients/src/main.vue +151 -151
  28. package/packages/data-table/index.js +5 -5
  29. package/packages/data-table/src/children.vue +39 -39
  30. package/packages/data-table/src/column.vue +988 -988
  31. package/packages/data-table/src/main.vue +1831 -1831
  32. package/packages/data-table/src/sizer.vue +195 -195
  33. package/packages/data-table-form/index.js +5 -5
  34. package/packages/data-table-form/src/checkbox.vue +101 -101
  35. package/packages/data-table-form/src/colgroup.vue +17 -17
  36. package/packages/data-table-form/src/main.vue +181 -181
  37. package/packages/data-table-form/src/radio.vue +65 -65
  38. package/packages/data-table-form/src/table.vue +233 -233
  39. package/packages/data-table-form/src/tbody.vue +336 -336
  40. package/packages/data-table-form/src/thead.vue +68 -68
  41. package/packages/date-picker/index.js +5 -5
  42. package/packages/date-picker/src/main.vue +236 -236
  43. package/packages/dialog/index.js +5 -5
  44. package/packages/enable-drag/index.js +5 -5
  45. package/packages/enterprise/index.js +5 -5
  46. package/packages/enterprise/src/main.vue +66 -66
  47. package/packages/error-page/index.js +5 -5
  48. package/packages/error-page/src/main.vue +44 -44
  49. package/packages/flow/index.js +5 -5
  50. package/packages/flow/src/component/Circulate.vue +413 -413
  51. package/packages/flow/src/component/CommonOpinions.vue +373 -372
  52. package/packages/flow/src/component/CustomPreset.vue +322 -322
  53. package/packages/flow/src/component/FileList.vue +97 -97
  54. package/packages/flow/src/component/FreeCirculation.vue +240 -240
  55. package/packages/flow/src/component/Preset.vue +255 -255
  56. package/packages/flow/src/component/SendMsg.vue +242 -242
  57. package/packages/flow/src/component/TimeLimit.vue +190 -190
  58. package/packages/flow/src/component/taskUnionExamine.vue +650 -649
  59. package/packages/flow/src/form.vue +121 -121
  60. package/packages/flow/src/freeStartFlow.vue +2847 -2847
  61. package/packages/flow/src/main.vue +3802 -3801
  62. package/packages/flow/src/processForm.vue +1287 -1287
  63. package/packages/flow/src/processReject.vue +308 -308
  64. package/packages/flow/src/reset.vue +941 -941
  65. package/packages/flow/src/startTaskRead.vue +691 -691
  66. package/packages/flow/src/supervise.vue +159 -159
  67. package/packages/flow/src/table.vue +58 -58
  68. package/packages/flow-group/index.js +5 -5
  69. package/packages/flow-group/src/main.vue +696 -696
  70. package/packages/flow-list/index.js +5 -5
  71. package/packages/flow-list/src/main.vue +1770 -1770
  72. package/packages/form/index.js +5 -5
  73. package/packages/form/src/main.vue +3901 -3901
  74. package/packages/form/src/table.vue +1512 -1512
  75. package/packages/handle-user/index.js +5 -5
  76. package/packages/handle-user/src/main.vue +137 -137
  77. package/packages/handler/index.js +5 -5
  78. package/packages/handler/src/main.vue +497 -497
  79. package/packages/icon/index.js +5 -5
  80. package/packages/icon/src/main.vue +104 -104
  81. package/packages/icons/index.js +5 -5
  82. package/packages/icons/src/main.vue +81 -81
  83. package/packages/input/index.js +5 -5
  84. package/packages/input/src/main.vue +356 -356
  85. package/packages/input-number/index.js +5 -5
  86. package/packages/input-number/src/main.vue +106 -106
  87. package/packages/label/index.js +5 -5
  88. package/packages/label/src/main.vue +457 -457
  89. package/packages/layout/index.js +5 -5
  90. package/packages/layout/src/item.vue +152 -152
  91. package/packages/layout/src/main.vue +31 -31
  92. package/packages/login/index.js +5 -5
  93. package/packages/login/src/main.vue +1993 -1993
  94. package/packages/login/src/resetPassword.vue +557 -557
  95. package/packages/main/index.js +5 -5
  96. package/packages/main/src/default/message.vue +249 -249
  97. package/packages/main/src/default/notice.vue +157 -157
  98. package/packages/main/src/default/userinfo.vue +502 -502
  99. package/packages/main/src/public/online.vue +89 -89
  100. package/packages/main/src/public/search.vue +464 -464
  101. package/packages/main/src/public/settings.vue +221 -221
  102. package/packages/main/src/simplicity/apps.vue +388 -388
  103. package/packages/main/src/simplicity/avatar.vue +82 -82
  104. package/packages/main/src/simplicity/handler.vue +263 -263
  105. package/packages/main/src/simplicity/index.vue +2125 -2125
  106. package/packages/main/src/simplicity/lists.vue +84 -84
  107. package/packages/main/src/simplicity/menu-list.vue +135 -135
  108. package/packages/main/src/simplicity/message.vue +259 -259
  109. package/packages/main/src/simplicity/notice.vue +190 -190
  110. package/packages/main/src/simplicity/router-page.vue +45 -45
  111. package/packages/main/src/simplicity/sub-menu.vue +264 -264
  112. package/packages/main/src/simplicity/user.vue +259 -259
  113. package/packages/main/src/simplicity/userinfo.vue +398 -398
  114. package/packages/menu/index.js +5 -5
  115. package/packages/menu/src/main.vue +584 -584
  116. package/packages/nav/index.js +5 -5
  117. package/packages/nav/src/main.vue +351 -351
  118. package/packages/notify/index.js +5 -5
  119. package/packages/notify/src/main.vue +538 -538
  120. package/packages/page/index.js +5 -5
  121. package/packages/page/src/main.vue +167 -167
  122. package/packages/pagination/index.js +5 -5
  123. package/packages/pagination/src/main.vue +96 -96
  124. package/packages/player/index.js +5 -5
  125. package/packages/player/src/main.vue +194 -194
  126. package/packages/qr-code/index.js +5 -5
  127. package/packages/qr-code/src/main.vue +170 -170
  128. package/packages/radio-group/index.js +6 -6
  129. package/packages/radio-group/src/main.vue +319 -319
  130. package/packages/retrial-auth/index.js +5 -5
  131. package/packages/retrial-auth/src/main.vue +280 -280
  132. package/packages/select/index.js +5 -5
  133. package/packages/select/src/main.vue +782 -782
  134. package/packages/select-ganged/index.js +5 -5
  135. package/packages/select-ganged/src/main.vue +724 -724
  136. package/packages/selector/index.js +5 -5
  137. package/packages/selector/src/main.vue +761 -761
  138. package/packages/selector-panel/index.js +5 -5
  139. package/packages/selector-panel/src/main.vue +1027 -1027
  140. package/packages/selector-panel/src/selection.vue +170 -170
  141. package/packages/selector-panel/src/tree.vue +129 -129
  142. package/packages/sizer/index.js +5 -5
  143. package/packages/sizer/src/main.vue +254 -254
  144. package/packages/steps/index.js +5 -5
  145. package/packages/steps/src/main.vue +181 -181
  146. package/packages/switch/index.js +5 -5
  147. package/packages/switch/src/main.vue +170 -154
  148. package/packages/table-form/index.js +5 -5
  149. package/packages/tabs/index.js +5 -5
  150. package/packages/tabs/src/main.vue +788 -788
  151. package/packages/tabs-panel/index.js +5 -5
  152. package/packages/tabs-panel/src/main.vue +29 -29
  153. package/packages/theme-chalk/src/base.scss +261 -261
  154. package/packages/theme-chalk/src/button-group.scss +176 -176
  155. package/packages/theme-chalk/src/button.scss +24 -24
  156. package/packages/theme-chalk/src/calendar.scss +113 -113
  157. package/packages/theme-chalk/src/card.scss +99 -99
  158. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  159. package/packages/theme-chalk/src/clients.scss +87 -87
  160. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  161. package/packages/theme-chalk/src/data-table.scss +293 -293
  162. package/packages/theme-chalk/src/date-picker.scss +7 -7
  163. package/packages/theme-chalk/src/dialog.scss +77 -77
  164. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  165. package/packages/theme-chalk/src/enterprise.scss +5 -5
  166. package/packages/theme-chalk/src/error-page.scss +18 -18
  167. package/packages/theme-chalk/src/flow-group.scss +110 -110
  168. package/packages/theme-chalk/src/flow-list.scss +39 -39
  169. package/packages/theme-chalk/src/flow.scss +348 -348
  170. package/packages/theme-chalk/src/form.scss +501 -501
  171. package/packages/theme-chalk/src/handle-user.scss +40 -40
  172. package/packages/theme-chalk/src/handler.scss +148 -148
  173. package/packages/theme-chalk/src/icon.scss +1817 -1817
  174. package/packages/theme-chalk/src/icons.scss +99 -99
  175. package/packages/theme-chalk/src/input.scss +9 -9
  176. package/packages/theme-chalk/src/label.scss +24 -24
  177. package/packages/theme-chalk/src/layout.scss +46 -46
  178. package/packages/theme-chalk/src/login.scss +984 -984
  179. package/packages/theme-chalk/src/main.scss +663 -663
  180. package/packages/theme-chalk/src/menu.scss +222 -222
  181. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  182. package/packages/theme-chalk/src/nav.scss +111 -111
  183. package/packages/theme-chalk/src/page.scss +3 -3
  184. package/packages/theme-chalk/src/pagination.scss +29 -29
  185. package/packages/theme-chalk/src/player.scss +9 -9
  186. package/packages/theme-chalk/src/qr-code.scss +17 -17
  187. package/packages/theme-chalk/src/radio-group.scss +9 -9
  188. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  189. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  190. package/packages/theme-chalk/src/select.scss +8 -8
  191. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  192. package/packages/theme-chalk/src/selector.scss +92 -92
  193. package/packages/theme-chalk/src/simplicity.scss +1366 -1366
  194. package/packages/theme-chalk/src/sizer.scss +36 -36
  195. package/packages/theme-chalk/src/steps.scss +88 -88
  196. package/packages/theme-chalk/src/switch.scss +3 -3
  197. package/packages/theme-chalk/src/table-form.scss +1 -1
  198. package/packages/theme-chalk/src/tabs.scss +87 -87
  199. package/packages/theme-chalk/src/tips.scss +7 -7
  200. package/packages/theme-chalk/src/toolbar.scss +179 -179
  201. package/packages/theme-chalk/src/tree-group.scss +72 -72
  202. package/packages/theme-chalk/src/tree.scss +165 -165
  203. package/packages/theme-chalk/src/upload.scss +172 -172
  204. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  205. package/packages/tips/index.js +5 -5
  206. package/packages/tips/src/main.vue +141 -141
  207. package/packages/toolbar/index.js +5 -5
  208. package/packages/toolbar/src/main.vue +430 -430
  209. package/packages/tree/index.js +5 -5
  210. package/packages/tree/src/main.vue +1 -1
  211. package/packages/tree-group/index.js +5 -5
  212. package/packages/upload/index.js +5 -5
  213. package/packages/upload/src/main.vue +1343 -1343
  214. package/packages/upload/src/picture.js +15 -15
  215. package/packages/wujie/index.js +5 -5
  216. package/packages/wujie/src/main.vue +145 -145
  217. package/packages/wxlogin/index.js +5 -5
  218. package/packages/wxlogin/src/main.vue +128 -128
  219. package/src/config/api.js +315 -315
  220. package/src/config/image.js +2 -2
  221. package/src/index.js +163 -163
  222. package/src/utils/bus.js +3 -3
  223. package/src/utils/date-util.js +312 -312
  224. package/src/utils/http.js +50 -50
  225. package/src/utils/rules.js +18 -18
  226. package/src/utils/store.js +21 -21
  227. package/src/utils/webSocket.js +107 -107
  228. package/packages/.DS_Store +0 -0
  229. package/packages/autocomplete/.DS_Store +0 -0
  230. package/packages/calogin/.DS_Store +0 -0
  231. package/packages/date-picker/.DS_Store +0 -0
  232. package/packages/date-picker/src/.DS_Store +0 -0
  233. package/packages/flow/.DS_Store +0 -0
  234. package/packages/flow/src/.DS_Store +0 -0
  235. package/packages/flow-list/.DS_Store +0 -0
  236. package/packages/form/.DS_Store +0 -0
  237. package/packages/login/.DS_Store +0 -0
  238. package/packages/main/.DS_Store +0 -0
  239. package/packages/main/src/.DS_Store +0 -0
  240. package/packages/menu/.DS_Store +0 -0
  241. package/packages/scrollbar/.DS_Store +0 -0
  242. package/packages/select/.DS_Store +0 -0
  243. package/packages/selector/.DS_Store +0 -0
  244. package/packages/selector-panel/.DS_Store +0 -0
  245. package/packages/theme-chalk/src/.DS_Store +0 -0
  246. package/packages/upload/.DS_Store +0 -0
  247. package/src/.DS_Store +0 -0
  248. package/src/utils/.DS_Store +0 -0
@@ -1,649 +1,650 @@
1
- <template>
2
- <div class="es-flow-index task-union-examine" v-loading="loading">
3
- <el-form
4
- ref="infoList"
5
- :model="infoList"
6
- class="demo-dynamic"
7
- label-width="120px"
8
- >
9
- <el-form-item v-if="isSinglePage" prop="opinion" label="意见">
10
- <CommonOpinions @change="(val) => (opinion = val)" />
11
- </el-form-item>
12
- <el-form-item
13
- v-if="isHideCurrentOrg == 0"
14
- :prop="type != 'takeAdvice' ? 'nextOtherOrgObj' : 'nextCurrentOrgObj'"
15
- :label="
16
- type == 'takeAdvice'
17
- ? currentOrgName
18
- ? currentOrgName
19
- : '本单位'
20
- : type == 'startDraf'
21
- ? '呈送单位/对象'
22
- : type === 'taskReview'
23
- ? '复核人'
24
- : type === 'twoOfficesDispatch'
25
- ? '报送单位'
26
- : '联合单位'
27
- "
28
- >
29
- <SelectUser
30
- :nextUser="
31
- type != 'takeAdvice'
32
- ? infoList.nextOtherOrgObj
33
- : infoList.nextCurrentOrgObj
34
- "
35
- :multiple="newMultiple"
36
- :selectorTags="0"
37
- :mix="currentMix"
38
- :isUnionSeal="type == 'unionSeal'"
39
- :selectUserList="unionSealData || []"
40
- @change="
41
- changeSelectUser(
42
- $event,
43
- type != 'takeAdvice' ? 'nextOtherOrgObj' : 'nextCurrentOrgObj'
44
- )
45
- "
46
- :types="
47
- type == 'takeAdvice'
48
- ? currentOrgTabs.length > 0
49
- ? currentOrgTabs
50
- : ['department', 'employee']
51
- : type == 'startDraf'
52
- ? ['enterprise', 'employee']
53
- : ['enterprise']
54
- "
55
- :params="
56
- type == 'startDraf' || type == 'unionExamine' ? otherParams : params
57
- "
58
- :tabs="currentOrgTabsParam"
59
- :disabled="disabled"
60
- :onlyName="onlyName"
61
- />
62
- </el-form-item>
63
- <el-form-item
64
- prop="nextOtherOrgObj"
65
- v-if="isHideOtherOrg == 0 && type == 'takeAdvice'"
66
- :label="otherOrgName ? otherOrgName : '外单位'"
67
- >
68
- <SelectUser
69
- :nextUser="infoList.nextOtherOrgObj"
70
- :where="{ filid: 'other',roleid :selectorParams.roleid }"
71
- :multiple="newMultiple"
72
- @change="changeSelectUser($event, 'nextOtherOrgObj')"
73
- :mix="otherMix"
74
- :disableds="otherOrgDisabledObjId"
75
- :types="
76
- foreignOrgTabs.length > 0
77
- ? foreignOrgTabs
78
- : isChoiceOtherOrgDept == 'true'
79
- ? ['enterprise', 'department']
80
- : ['enterprise']
81
- "
82
- :params="otherParams"
83
- :tabs="foreignOrgTabsParam"
84
- />
85
- </el-form-item>
86
- <!-- :rules="[
87
- { required: false, message: `请选择通知方式`, trigger: 'blur' }
88
- ]" -->
89
- <el-form-item
90
- prop="noticeType"
91
- label="通知方式"
92
- v-show="infoList.noticeList.length != 0"
93
- >
94
- <el-checkbox-group
95
- v-model="infoList.noticeType"
96
- style="display: contents"
97
- >
98
- <el-checkbox
99
- v-for="item of infoList.noticeList"
100
- :key="item.cciValue"
101
- :label="item.cciValue"
102
- :disabled="
103
- readOnlyNotificationType
104
- ? readOnlyNotificationType.indexOf(item.cciValue) != -1
105
- : false
106
- "
107
- >
108
- {{ item.shortName }}
109
- </el-checkbox>
110
- </el-checkbox-group>
111
- </el-form-item>
112
- <el-form-item
113
- v-show="infoList.noticeType.length != 0"
114
- prop="noticeInfo"
115
- label="通知消息"
116
- >
117
- <es-input
118
- style="
119
- border-color: #ccc;
120
- padding: 5px;
121
- border-radius: 5px;
122
- font-size: 13px;
123
- "
124
- type="textarea"
125
- v-model="infoList.noticeInfo"
126
- :readonly="notificationMessageReadOnly"
127
- />
128
- <!-- <span>{{ infoList.noticeInfo }}</span> -->
129
- </el-form-item>
130
- </el-form>
131
- <div style="text-align: right">
132
- <el-button type="primary" size="small" @click="subMit"> 确定 </el-button>
133
- <el-button @click="quit" size="small"> 取消 </el-button>
134
- </div>
135
- </div>
136
- </template>
137
-
138
- <script>
139
- import CommonOpinions from './CommonOpinions.vue';
140
- import SelectUser from '../selectUser.vue';
141
- import {
142
- findSysCodes,
143
- getNotificationMsg,
144
- toTaskTakeAdvice,
145
- findCodeValues,
146
- toTaskStartDraft,
147
- toTaskReview,
148
- taskStartDraft,
149
- toTaskUnionSeal,
150
- taskReview,
151
- toTwoOfficesDispatch,
152
- taskUnionSeal,
153
- twoOfficesDispatch,
154
- taskUnionExamine,
155
- taskTakeAdvice,
156
- toTaskUnionExamine
157
- } from 'eoss-ui/src/config/api';
158
- import util from 'eoss-ui/src/utils/util.js';
159
- export default {
160
- name: 'TaskUnionExamine',
161
- components: {
162
- [CommonOpinions.name]: CommonOpinions,
163
- [SelectUser.name]: SelectUser
164
- },
165
- props: {
166
- pendingId: { type: String, default: '' },
167
- type: { type: String, default: '' },
168
- defaultOpinion: { type: String, default: '' },
169
- oldOption: { type: String, default: '' },
170
- disabled: { type: Boolean, default: false },
171
- simpleTips: { type: Boolean, default: true },
172
- multiple: { type: Boolean, default: true },
173
- selectorParams: { type: Object, default: () => {return {}} }
174
- },
175
- inheritAttrs: false,
176
- data() {
177
- return {
178
- opinion: '', //办理意见
179
- readOnlyNotificationType: '',
180
- notificationMessageReadOnly: false,
181
- otherMix: false,
182
- currentMix: false,
183
- infoList: {
184
- nextOtherOrgObj: [],
185
- nextCurrentOrgObj: [],
186
- noticeType: [],
187
- noticeInfo: '',
188
- opinion: ''
189
- },
190
- onlyName: '',
191
- unionSealData: [],
192
- currentOrgTabs: [],
193
- foreignOrgTabs: [],
194
- foreignOrgTabsParam: {},
195
- currentOrgTabsParam: {},
196
- currentOrgProcessKey: '',
197
- otherOrgDisabledObjId: [],
198
- isSubFlow: true,
199
- choiceDeptId: '',
200
- choiceOrgId: '',
201
- isSinglePage: false,
202
- isChoiceOtherOrgDept: '',
203
- currentOrgName: '',
204
- otherOrgName: '',
205
- newMultiple: true,
206
- params: { filid: 'all' },
207
- isHideOtherOrg: '',
208
- isHideCurrentOrg: 0,
209
- isOpinionRequired: 0,
210
- otherParams: { filid: 'other' },
211
- loading: false
212
- };
213
- },
214
- mounted() {
215
- this.loading = true;
216
- this.newMultiple = this.multiple;
217
- this.otherParams.roleid = this.params.roleid = this.selectorParams.roleid;
218
- this.opinion = this.oldOption;
219
- this.getNodeType();
220
- if (this.type === 'taskReview') return this.getTaskReview();
221
- this.getInfo();
222
- },
223
- methods: {
224
- isMultiple(val) {
225
- if (val == 7 || val == 9 || val == 11) {
226
- this.newMultiple = false;
227
- }
228
- },
229
- subTaskReview() {
230
- let {
231
- infoList: { nextOtherOrgObj, noticeType, noticeInfo },
232
- businessId,
233
- opinion,
234
- isSubFlow,
235
- currentOrgProcessKey,
236
- pendingId
237
- } = this;
238
- let params = {
239
- url: taskReview,
240
- data: {
241
- nextUserId: nextOtherOrgObj.join(','),
242
- notificationType: noticeType.join(','),
243
- notificationMsg: noticeInfo,
244
- opinion,
245
- isSubFlow,
246
- businessId,
247
- currentOrgProcessKey,
248
- pendingId
249
- },
250
- method: 'POST'
251
- };
252
- this.loading = true;
253
- util
254
- .ajax(params)
255
- .then((res) => {
256
- const { message, status } = res;
257
- this.loading = false;
258
- if (status === 'success') {
259
- this.simpleTips && this.$message.success('提交成功');
260
- this.quit(true);
261
- } else {
262
- this.$message.error(message || '系统错误,请联系管理员!');
263
- }
264
- })
265
- .catch((err) => {
266
- this.loading = false;
267
- if (err.message && err.message !== 'canceled') {
268
- this.$message.error(err.message);
269
- }
270
- });
271
- },
272
- getTaskReview() {
273
- let params = {
274
- url: toTaskReview,
275
- params: { pendingId: this.pendingId }
276
- };
277
- util
278
- .ajax(params)
279
- .then((res) => {
280
- const { status, message } = res;
281
- this.loading = false;
282
- if (status === 'success') {
283
- const {
284
- data: { initiatorUser, taskExamine }
285
- } = res;
286
- if (taskExamine.opinion) {
287
- this.opinion = taskExamine.opinion;
288
- }
289
- this.infoList.nextOtherOrgObj.push(initiatorUser.userId);
290
- this.onlyName = initiatorUser.username;
291
- this.isSubFlow = taskExamine.isSubFlow;
292
- this.currentOrgProcessKey = taskExamine.currentOrgProcessKey;
293
- this.getFind();
294
- this.getMessage();
295
- } else {
296
- this.$message.error(message || '系统错误,请联系管理员!');
297
- }
298
- })
299
- .catch((err) => {
300
- this.loading = false;
301
- if (err.message && err.message !== 'canceled') {
302
- this.$message.error(err.message);
303
- }
304
- });
305
- },
306
- getInfo() {
307
- let params = {
308
- url:
309
- this.type == 'takeAdvice'
310
- ? toTaskTakeAdvice
311
- : this.type === 'startDraf'
312
- ? toTaskStartDraft
313
- : this.type == 'unionSeal'
314
- ? toTaskUnionSeal
315
- : this.type == 'twoOfficesDispatch'
316
- ? toTwoOfficesDispatch
317
- : toTaskUnionExamine,
318
- params: { pendingId: this.pendingId },
319
- headers: { Accept: 'application/json,text/plain' }
320
- };
321
- util
322
- .ajax(params)
323
- .then((res) => {
324
- const { message, status } = res;
325
- this.loading = false;
326
- if (status == 'success') {
327
- const {
328
- data: {
329
- choiceDeptId,
330
- choiceOrgId,
331
- taskExamine,
332
- unionDispatchOrgName,
333
- readOnlyNotificationType,
334
- notificationMessageReadOnly,
335
- unionDispatchOrgId,
336
- otherOrgDisabledObjId,
337
- orgNames,
338
- nodeInfoMap: {
339
- nodeExtAttr: {
340
- userSelectionType,
341
- isHideOtherOrg,
342
- isHideCurrentOrg,
343
- isOpinionRequired
344
- }
345
- }
346
- }
347
- } = res;
348
- if (otherOrgDisabledObjId) {
349
- this.otherOrgDisabledObjId = otherOrgDisabledObjId.split(',');
350
- }
351
- if (res.data.customizedConfig) {
352
- if (res.data.customizedConfig.currentOrgSelectorCustomized) {
353
- this.currentMix =
354
- res.data.customizedConfig.currentOrgSelectorSelectMix ==
355
- 'true';
356
- this.currentOrgTabs =
357
- res.data.customizedConfig.currentOrgSelectorItemList.split(
358
- ','
359
- );
360
- let param =
361
- res.data.customizedConfig.currentOrgSelectorRangeList.split(
362
- ','
363
- );
364
- this.currentOrgTabs.map((x, i) => {
365
- this.params[x] = {
366
- filid:
367
- param[i] == 'my'
368
- ? (this.params.filid = JSON.parse(
369
- util.getStorage('mainConfig')
370
- ).userModel.orgId)
371
- : param[i]
372
- };
373
- });
374
- } else {
375
- if (this.type == 'takeAdvice') {
376
- this.params.filid = JSON.parse(
377
- util.getStorage('mainConfig')
378
- ).userModel.orgId;
379
- }
380
- }
381
-
382
- if (res.data.customizedConfig.foreignOrgSelectorCustomized) {
383
- this.otherMix =
384
- res.data.customizedConfig.foreignOrgSelectorSelectMix ==
385
- 'true';
386
- this.foreignOrgTabs =
387
- res.data.customizedConfig.foreignOrgSelectorItemList.split(
388
- ','
389
- );
390
- let param =
391
- res.data.customizedConfig.foreignOrgSelectorRangeList.split(
392
- ','
393
- );
394
- this.foreignOrgTabs.map((x, i) => {
395
- this.otherParams[x] = { filid: param[i] };
396
- });
397
- }
398
- }
399
- this.readOnlyNotificationType = readOnlyNotificationType;
400
- this.notificationMessageReadOnly =
401
- notificationMessageReadOnly == 'true';
402
- this.isSinglePage = taskExamine.isSinglePage;
403
- this.isSubFlow = taskExamine.isSubFlow;
404
- if (taskExamine.opinion) {
405
- this.opinion = taskExamine.opinion;
406
- }
407
- this.choiceDeptId = choiceDeptId;
408
- this.choiceOrgId = choiceOrgId;
409
- if (this.type == 'takeAdvice' || this.type == 'startDraf') {
410
- this.currentOrgName = res.data.currentOrgName;
411
- this.otherOrgName = res.data.otherOrgName;
412
- this.isChoiceOtherOrgDept = res.data.isChoiceOtherOrgDept;
413
- this.isHideOtherOrg = isHideOtherOrg;
414
- this.isHideCurrentOrg = isHideCurrentOrg;
415
- }
416
- this.isOpinionRequired = isOpinionRequired;
417
- if (this.type == 'unionSeal') {
418
- let names = unionDispatchOrgName.split(',');
419
- let ids = unionDispatchOrgId.split(',');
420
- names.map((x, i) => {
421
- if (x) {
422
- this.unionSealData.push({
423
- showname: x,
424
- showid: ids[i]
425
- });
426
- }
427
- });
428
- // this.onlyName = unionDispatchOrgName;
429
- // this.infoList.nextOtherOrgObj.push(unionDispatchOrgId);
430
- }
431
- if (this.type == 'twoOfficesDispatch') {
432
- this.onlyName = orgNames;
433
- this.infoList.nextOtherOrgObj.push(taskExamine.nextOtherOrgObj);
434
- }
435
- this.isMultiple(userSelectionType);
436
- this.getFind();
437
- this.getMessage();
438
- } else {
439
- this.$message.error(message || '系统错误,请联系管理员!');
440
- }
441
- })
442
- .catch((err) => {
443
- this.loading = false;
444
- if (err.message && err.message !== 'canceled') {
445
- this.$message.error(err.message);
446
- }
447
- });
448
- },
449
- subMit() {
450
- // if (
451
- // this.infoList.nextOtherOrgObjName == '' ||
452
- // this.infoList.nextOtherOrgObjName.length == 0
453
- // )
454
- // return this.$message.warning('请选择联合单位');
455
- if (this.type === 'taskReview') return this.subTaskReview();
456
- let {
457
- infoList: {
458
- nextCurrentOrgObj,
459
- nextOtherOrgObj,
460
- noticeType,
461
- noticeInfo
462
- },
463
- isOpinionRequired,
464
- opinion,
465
- type,
466
- isHideOtherOrg,
467
- choiceDeptId,
468
- choiceOrgId,
469
- isHideCurrentOrg,
470
- isSubFlow,
471
- pendingId
472
- } = this;
473
- if (
474
- type == 'takeAdvice' &&
475
- !nextCurrentOrgObj &&
476
- isHideCurrentOrg == 0 &&
477
- isHideOtherOrg == 0 &&
478
- !nextOtherOrgObj
479
- ) {
480
- return this.$message.warning('请选择处理对象!');
481
- } else if (
482
- isHideCurrentOrg == 0 &&
483
- !nextOtherOrgObj &&
484
- !nextCurrentOrgObj
485
- ) {
486
- return this.$message.warning('请选择处理对象!');
487
- }
488
-
489
- if (isOpinionRequired == 1 && (opinion == '' || opinion == null)) {
490
- return this.$message.warning('当前步骤必须输入意见!');
491
- }
492
- // if (this.type != 'startDraf' && this.type != 'unionSeal' && this.type != 'twoOfficesDispatch')
493
- // return this.$message.warning('暂未开放,敬请期待!');
494
- const param = {
495
- url:
496
- this.type === 'startDraf'
497
- ? taskStartDraft
498
- : this.type == 'unionSeal'
499
- ? taskUnionSeal
500
- : this.type === 'twoOfficesDispatch'
501
- ? twoOfficesDispatch
502
- : this.type == 'takeAdvice'
503
- ? taskTakeAdvice
504
- : taskUnionExamine,
505
- data: {
506
- opinion,
507
- pendingId,
508
- nextOtherOrgObj:
509
- this.type == 'unionSeal'
510
- ? this.unionSealData.map((x) => x.showid).join(',')
511
- : Array.isArray(nextOtherOrgObj)
512
- ? nextOtherOrgObj.join(',')
513
- : nextOtherOrgObj,
514
- nextCurrentOrgObj: Array.isArray(nextCurrentOrgObj)
515
- ? nextCurrentOrgObj.join(',')
516
- : nextCurrentOrgObj,
517
- notificationMsg: noticeInfo,
518
- notificationType: noticeType.join(','),
519
- choiceDeptId,
520
- isSubFlow,
521
- choiceOrgId
522
- },
523
- headers: { Accept: 'application/json,text/plain' },
524
- method: 'POST'
525
- };
526
- this.loading = true;
527
- util
528
- .ajax(param)
529
- .then((res) => {
530
- const { message, status } = res;
531
- this.loading = false;
532
- if (status == 'success') {
533
- this.simpleTips && this.$message.success('提交成功');
534
- this.quit(true);
535
- } else {
536
- this.$message.error(message || '系统错误,请联系管理员!');
537
- }
538
- })
539
- .catch((err) => {
540
- this.loading = false;
541
- if (err.message && err.message !== 'canceled') {
542
- this.$message.error(err.message);
543
- }
544
- });
545
- },
546
- quit(val) {
547
- if (val === true) return this.$emit('cancel', val);
548
- this.$emit('cancel');
549
- },
550
- changeSelectUser(val, type) {
551
- const { nextUser, options } = val;
552
- let newNextUser = [];
553
- let obj = {};
554
- options.map((item) => {
555
- if (obj[item.stype]) {
556
- obj[item.stype].push(item.id);
557
- } else {
558
- obj[item.stype] = [item.id];
559
- }
560
- // if (newNextUser) {
561
- // newNextUser += `,${item.stype}-${item.id}`;
562
- // } else {
563
- // newNextUser = `${item.stype}-${item.id}`;
564
- // }
565
- });
566
- for (let key in obj) {
567
- newNextUser.push(`${key}-${obj[key].join(',')}`);
568
- }
569
-
570
- this.infoList[type] = newNextUser.join('|');
571
- },
572
- getNodeType() {
573
- util
574
- .ajax({
575
- url: findCodeValues,
576
- params: {
577
- ccCode: 'notification_type',
578
- userId: util.getStorage('userId'),
579
- pendingId: this.pendingId
580
- }
581
- })
582
- .then((res) => {
583
- const { status, data } = res;
584
- this.loading = false;
585
- if (status === 'success') {
586
- this.infoList.noticeList = data;
587
- }
588
- })
589
- .catch((err) => {
590
- this.loading = false;
591
- if (err.message && err.message !== 'canceled') {
592
- this.$message.error(err.message);
593
- }
594
- });
595
- },
596
- //获取通知信息
597
- getMessage() {
598
- let params = {
599
- pendingId: this.pendingId
600
- };
601
- util
602
- .ajax({ url: getNotificationMsg, params, methods: 'post' })
603
- .then((res) => {
604
- if (res.status === 'success') {
605
- this.infoList.noticeInfo = res.message;
606
- }
607
- this.loading = false;
608
- })
609
- .catch((err) => {
610
- this.loading = false;
611
- if (err.message && err.message !== 'canceled') {
612
- this.$message.error(err.message);
613
- }
614
- });
615
- },
616
- getFind() {
617
- util
618
- .ajax({
619
- url: findSysCodes
620
- })
621
- .then((res) => {
622
- const { status, message } = res;
623
- if (status === 'success') {
624
- this.infoList.noticeType = message.split(',');
625
- let arr = [];
626
- this.infoList.noticeList.map((item) => {
627
- this.infoList.noticeType.map((x) => {
628
- if (x == item.cciValue) {
629
- arr.push(x);
630
- }
631
- });
632
- });
633
- this.infoList.noticeType = arr;
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
- }
646
- };
647
- </script>
648
-
649
- <style></style>
1
+ <template>
2
+ <div class="es-flow-index task-union-examine" v-loading="loading">
3
+ <el-form
4
+ ref="infoList"
5
+ :model="infoList"
6
+ class="demo-dynamic"
7
+ label-width="120px"
8
+ >
9
+ <el-form-item v-if="isSinglePage" prop="opinion" label="意见">
10
+ <CommonOpinions @change="(val) => (opinion = val)" />
11
+ </el-form-item>
12
+ <el-form-item
13
+ v-if="isHideCurrentOrg == 0"
14
+ :prop="type != 'takeAdvice' ? 'nextOtherOrgObj' : 'nextCurrentOrgObj'"
15
+ :label="
16
+ type == 'takeAdvice'
17
+ ? currentOrgName
18
+ ? currentOrgName
19
+ : '本单位'
20
+ : type == 'startDraf'
21
+ ? '呈送单位/对象'
22
+ : type === 'taskReview'
23
+ ? '复核人'
24
+ : type === 'twoOfficesDispatch'
25
+ ? '报送单位'
26
+ : '联合单位'
27
+ "
28
+ >
29
+ <SelectUser
30
+ :nextUser="
31
+ type != 'takeAdvice'
32
+ ? infoList.nextOtherOrgObj
33
+ : infoList.nextCurrentOrgObj
34
+ "
35
+ :multiple="newMultiple"
36
+ :selectorTags="0"
37
+ :mix="currentMix"
38
+ :isUnionSeal="type == 'unionSeal'"
39
+ :selectUserList="unionSealData || []"
40
+ @change="
41
+ changeSelectUser(
42
+ $event,
43
+ type != 'takeAdvice' ? 'nextOtherOrgObj' : 'nextCurrentOrgObj'
44
+ )
45
+ "
46
+ :types="
47
+ type == 'takeAdvice'
48
+ ? currentOrgTabs.length > 0
49
+ ? currentOrgTabs
50
+ : ['department', 'employee']
51
+ : type == 'startDraf'
52
+ ? ['enterprise', 'employee']
53
+ : ['enterprise']
54
+ "
55
+ :params="
56
+ type == 'startDraf' || type == 'unionExamine' ? otherParams : params
57
+ "
58
+ :tabs="currentOrgTabsParam"
59
+ :disabled="disabled"
60
+ :onlyName="onlyName"
61
+ />
62
+ </el-form-item>
63
+ <el-form-item
64
+ prop="nextOtherOrgObj"
65
+ v-if="isHideOtherOrg == 0 && type == 'takeAdvice'"
66
+ :label="otherOrgName ? otherOrgName : '外单位'"
67
+ >
68
+ <SelectUser
69
+ :nextUser="infoList.nextOtherOrgObj"
70
+ :where="{ filid: 'other',roleid :selectorParams.roleid }"
71
+ :multiple="newMultiple"
72
+ @change="changeSelectUser($event, 'nextOtherOrgObj')"
73
+ :mix="otherMix"
74
+ :disableds="otherOrgDisabledObjId"
75
+ :types="
76
+ foreignOrgTabs.length > 0
77
+ ? foreignOrgTabs
78
+ : isChoiceOtherOrgDept == 'true'
79
+ ? ['enterprise', 'department']
80
+ : ['enterprise']
81
+ "
82
+ :params="otherParams"
83
+ :tabs="foreignOrgTabsParam"
84
+ />
85
+ </el-form-item>
86
+ <!-- :rules="[
87
+ { required: false, message: `请选择通知方式`, trigger: 'blur' }
88
+ ]" -->
89
+ <el-form-item
90
+ prop="noticeType"
91
+ label="通知方式"
92
+ v-show="infoList.noticeList.length != 0"
93
+ >
94
+ <el-checkbox-group
95
+ v-model="infoList.noticeType"
96
+ style="display: contents"
97
+ >
98
+ <el-checkbox
99
+ v-for="item of infoList.noticeList"
100
+ :key="item.cciValue"
101
+ :label="item.cciValue"
102
+ :disabled="
103
+ readOnlyNotificationType
104
+ ? readOnlyNotificationType.indexOf(item.cciValue) != -1
105
+ : false
106
+ "
107
+ >
108
+ {{ item.shortName }}
109
+ </el-checkbox>
110
+ </el-checkbox-group>
111
+ </el-form-item>
112
+ <el-form-item
113
+ v-show="infoList.noticeType.length != 0"
114
+ prop="noticeInfo"
115
+ label="通知消息"
116
+ >
117
+ <es-input
118
+ style="
119
+ border-color: #ccc;
120
+ padding: 5px;
121
+ border-radius: 5px;
122
+ font-size: 13px;
123
+ "
124
+ type="textarea"
125
+ v-model="infoList.noticeInfo"
126
+ :readonly="notificationMessageReadOnly"
127
+ />
128
+ <!-- <span>{{ infoList.noticeInfo }}</span> -->
129
+ </el-form-item>
130
+ </el-form>
131
+ <div style="text-align: right">
132
+ <el-button type="primary" size="small" @click="subMit"> 确定 </el-button>
133
+ <el-button @click="quit" size="small"> 取消 </el-button>
134
+ </div>
135
+ </div>
136
+ </template>
137
+
138
+ <script>
139
+ import CommonOpinions from './CommonOpinions.vue';
140
+ import SelectUser from '../selectUser.vue';
141
+ import {
142
+ findSysCodes,
143
+ getNotificationMsg,
144
+ toTaskTakeAdvice,
145
+ findCodeValues,
146
+ toTaskStartDraft,
147
+ toTaskReview,
148
+ taskStartDraft,
149
+ toTaskUnionSeal,
150
+ taskReview,
151
+ toTwoOfficesDispatch,
152
+ taskUnionSeal,
153
+ twoOfficesDispatch,
154
+ taskUnionExamine,
155
+ taskTakeAdvice,
156
+ toTaskUnionExamine
157
+ } from 'eoss-ui/src/config/api';
158
+ import util from 'eoss-ui/src/utils/util.js';
159
+ export default {
160
+ name: 'TaskUnionExamine',
161
+ components: {
162
+ [CommonOpinions.name]: CommonOpinions,
163
+ [SelectUser.name]: SelectUser
164
+ },
165
+ props: {
166
+ pendingId: { type: String, default: '' },
167
+ type: { type: String, default: '' },
168
+ defaultOpinion: { type: String, default: '' },
169
+ oldOption: { type: String, default: '' },
170
+ disabled: { type: Boolean, default: false },
171
+ simpleTips: { type: Boolean, default: true },
172
+ multiple: { type: Boolean, default: true },
173
+ selectorParams: { type: Object, default: () => {return {}} }
174
+ },
175
+ inheritAttrs: false,
176
+ data() {
177
+ return {
178
+ opinion: '', //办理意见
179
+ readOnlyNotificationType: '',
180
+ notificationMessageReadOnly: false,
181
+ otherMix: false,
182
+ currentMix: false,
183
+ infoList: {
184
+ nextOtherOrgObj: [],
185
+ nextCurrentOrgObj: [],
186
+ noticeType: [],
187
+ noticeList:[],
188
+ noticeInfo: '',
189
+ opinion: ''
190
+ },
191
+ onlyName: '',
192
+ unionSealData: [],
193
+ currentOrgTabs: [],
194
+ foreignOrgTabs: [],
195
+ foreignOrgTabsParam: {},
196
+ currentOrgTabsParam: {},
197
+ currentOrgProcessKey: '',
198
+ otherOrgDisabledObjId: [],
199
+ isSubFlow: true,
200
+ choiceDeptId: '',
201
+ choiceOrgId: '',
202
+ isSinglePage: false,
203
+ isChoiceOtherOrgDept: '',
204
+ currentOrgName: '',
205
+ otherOrgName: '',
206
+ newMultiple: true,
207
+ params: { filid: 'all' },
208
+ isHideOtherOrg: '',
209
+ isHideCurrentOrg: 0,
210
+ isOpinionRequired: 0,
211
+ otherParams: { filid: 'other' },
212
+ loading: false
213
+ };
214
+ },
215
+ mounted() {
216
+ this.loading = true;
217
+ this.newMultiple = this.multiple;
218
+ this.otherParams.roleid = this.params.roleid = this.selectorParams.roleid;
219
+ this.opinion = this.oldOption;
220
+ this.getNodeType();
221
+ if (this.type === 'taskReview') return this.getTaskReview();
222
+ this.getInfo();
223
+ },
224
+ methods: {
225
+ isMultiple(val) {
226
+ if (val == 7 || val == 9 || val == 11) {
227
+ this.newMultiple = false;
228
+ }
229
+ },
230
+ subTaskReview() {
231
+ let {
232
+ infoList: { nextOtherOrgObj, noticeType, noticeInfo },
233
+ businessId,
234
+ opinion,
235
+ isSubFlow,
236
+ currentOrgProcessKey,
237
+ pendingId
238
+ } = this;
239
+ let params = {
240
+ url: taskReview,
241
+ data: {
242
+ nextUserId: nextOtherOrgObj.join(','),
243
+ notificationType: noticeType.join(','),
244
+ notificationMsg: noticeInfo,
245
+ opinion,
246
+ isSubFlow,
247
+ businessId,
248
+ currentOrgProcessKey,
249
+ pendingId
250
+ },
251
+ method: 'POST'
252
+ };
253
+ this.loading = true;
254
+ util
255
+ .ajax(params)
256
+ .then((res) => {
257
+ const { message, status } = res;
258
+ this.loading = false;
259
+ if (status === 'success') {
260
+ this.simpleTips && this.$message.success('提交成功');
261
+ this.quit(true);
262
+ } else {
263
+ this.$message.error(message || '系统错误,请联系管理员!');
264
+ }
265
+ })
266
+ .catch((err) => {
267
+ this.loading = false;
268
+ if (err.message && err.message !== 'canceled') {
269
+ this.$message.error(err.message);
270
+ }
271
+ });
272
+ },
273
+ getTaskReview() {
274
+ let params = {
275
+ url: toTaskReview,
276
+ params: { pendingId: this.pendingId }
277
+ };
278
+ util
279
+ .ajax(params)
280
+ .then((res) => {
281
+ const { status, message } = res;
282
+ this.loading = false;
283
+ if (status === 'success') {
284
+ const {
285
+ data: { initiatorUser, taskExamine }
286
+ } = res;
287
+ if (taskExamine.opinion) {
288
+ this.opinion = taskExamine.opinion;
289
+ }
290
+ this.infoList.nextOtherOrgObj.push(initiatorUser.userId);
291
+ this.onlyName = initiatorUser.username;
292
+ this.isSubFlow = taskExamine.isSubFlow;
293
+ this.currentOrgProcessKey = taskExamine.currentOrgProcessKey;
294
+ this.getFind();
295
+ this.getMessage();
296
+ } else {
297
+ this.$message.error(message || '系统错误,请联系管理员!');
298
+ }
299
+ })
300
+ .catch((err) => {
301
+ this.loading = false;
302
+ if (err.message && err.message !== 'canceled') {
303
+ this.$message.error(err.message);
304
+ }
305
+ });
306
+ },
307
+ getInfo() {
308
+ let params = {
309
+ url:
310
+ this.type == 'takeAdvice'
311
+ ? toTaskTakeAdvice
312
+ : this.type === 'startDraf'
313
+ ? toTaskStartDraft
314
+ : this.type == 'unionSeal'
315
+ ? toTaskUnionSeal
316
+ : this.type == 'twoOfficesDispatch'
317
+ ? toTwoOfficesDispatch
318
+ : toTaskUnionExamine,
319
+ params: { pendingId: this.pendingId },
320
+ headers: { Accept: 'application/json,text/plain' }
321
+ };
322
+ util
323
+ .ajax(params)
324
+ .then((res) => {
325
+ const { message, status } = res;
326
+ this.loading = false;
327
+ if (status == 'success') {
328
+ const {
329
+ data: {
330
+ choiceDeptId,
331
+ choiceOrgId,
332
+ taskExamine,
333
+ unionDispatchOrgName,
334
+ readOnlyNotificationType,
335
+ notificationMessageReadOnly,
336
+ unionDispatchOrgId,
337
+ otherOrgDisabledObjId,
338
+ orgNames,
339
+ nodeInfoMap: {
340
+ nodeExtAttr: {
341
+ userSelectionType,
342
+ isHideOtherOrg,
343
+ isHideCurrentOrg,
344
+ isOpinionRequired
345
+ }
346
+ }
347
+ }
348
+ } = res;
349
+ if (otherOrgDisabledObjId) {
350
+ this.otherOrgDisabledObjId = otherOrgDisabledObjId.split(',');
351
+ }
352
+ if (res.data.customizedConfig) {
353
+ if (res.data.customizedConfig.currentOrgSelectorCustomized) {
354
+ this.currentMix =
355
+ res.data.customizedConfig.currentOrgSelectorSelectMix ==
356
+ 'true';
357
+ this.currentOrgTabs =
358
+ res.data.customizedConfig.currentOrgSelectorItemList.split(
359
+ ','
360
+ );
361
+ let param =
362
+ res.data.customizedConfig.currentOrgSelectorRangeList.split(
363
+ ','
364
+ );
365
+ this.currentOrgTabs.map((x, i) => {
366
+ this.params[x] = {
367
+ filid:
368
+ param[i] == 'my'
369
+ ? (this.params.filid = JSON.parse(
370
+ util.getStorage('mainConfig')
371
+ ).userModel.orgId)
372
+ : param[i]
373
+ };
374
+ });
375
+ } else {
376
+ if (this.type == 'takeAdvice') {
377
+ this.params.filid = JSON.parse(
378
+ util.getStorage('mainConfig')
379
+ ).userModel.orgId;
380
+ }
381
+ }
382
+
383
+ if (res.data.customizedConfig.foreignOrgSelectorCustomized) {
384
+ this.otherMix =
385
+ res.data.customizedConfig.foreignOrgSelectorSelectMix ==
386
+ 'true';
387
+ this.foreignOrgTabs =
388
+ res.data.customizedConfig.foreignOrgSelectorItemList.split(
389
+ ','
390
+ );
391
+ let param =
392
+ res.data.customizedConfig.foreignOrgSelectorRangeList.split(
393
+ ','
394
+ );
395
+ this.foreignOrgTabs.map((x, i) => {
396
+ this.otherParams[x] = { filid: param[i] };
397
+ });
398
+ }
399
+ }
400
+ this.readOnlyNotificationType = readOnlyNotificationType;
401
+ this.notificationMessageReadOnly =
402
+ notificationMessageReadOnly == 'true';
403
+ this.isSinglePage = taskExamine.isSinglePage;
404
+ this.isSubFlow = taskExamine.isSubFlow;
405
+ if (taskExamine.opinion) {
406
+ this.opinion = taskExamine.opinion;
407
+ }
408
+ this.choiceDeptId = choiceDeptId;
409
+ this.choiceOrgId = choiceOrgId;
410
+ if (this.type == 'takeAdvice' || this.type == 'startDraf') {
411
+ this.currentOrgName = res.data.currentOrgName;
412
+ this.otherOrgName = res.data.otherOrgName;
413
+ this.isChoiceOtherOrgDept = res.data.isChoiceOtherOrgDept;
414
+ this.isHideOtherOrg = isHideOtherOrg;
415
+ this.isHideCurrentOrg = isHideCurrentOrg;
416
+ }
417
+ this.isOpinionRequired = isOpinionRequired;
418
+ if (this.type == 'unionSeal') {
419
+ let names = unionDispatchOrgName.split(',');
420
+ let ids = unionDispatchOrgId.split(',');
421
+ names.map((x, i) => {
422
+ if (x) {
423
+ this.unionSealData.push({
424
+ showname: x,
425
+ showid: ids[i]
426
+ });
427
+ }
428
+ });
429
+ // this.onlyName = unionDispatchOrgName;
430
+ // this.infoList.nextOtherOrgObj.push(unionDispatchOrgId);
431
+ }
432
+ if (this.type == 'twoOfficesDispatch') {
433
+ this.onlyName = orgNames;
434
+ this.infoList.nextOtherOrgObj.push(taskExamine.nextOtherOrgObj);
435
+ }
436
+ this.isMultiple(userSelectionType);
437
+ this.getFind();
438
+ this.getMessage();
439
+ } else {
440
+ this.$message.error(message || '系统错误,请联系管理员!');
441
+ }
442
+ })
443
+ .catch((err) => {
444
+ this.loading = false;
445
+ if (err.message && err.message !== 'canceled') {
446
+ this.$message.error(err.message);
447
+ }
448
+ });
449
+ },
450
+ subMit() {
451
+ // if (
452
+ // this.infoList.nextOtherOrgObjName == '' ||
453
+ // this.infoList.nextOtherOrgObjName.length == 0
454
+ // )
455
+ // return this.$message.warning('请选择联合单位');
456
+ if (this.type === 'taskReview') return this.subTaskReview();
457
+ let {
458
+ infoList: {
459
+ nextCurrentOrgObj,
460
+ nextOtherOrgObj,
461
+ noticeType,
462
+ noticeInfo
463
+ },
464
+ isOpinionRequired,
465
+ opinion,
466
+ type,
467
+ isHideOtherOrg,
468
+ choiceDeptId,
469
+ choiceOrgId,
470
+ isHideCurrentOrg,
471
+ isSubFlow,
472
+ pendingId
473
+ } = this;
474
+ if (
475
+ type == 'takeAdvice' &&
476
+ !nextCurrentOrgObj &&
477
+ isHideCurrentOrg == 0 &&
478
+ isHideOtherOrg == 0 &&
479
+ !nextOtherOrgObj
480
+ ) {
481
+ return this.$message.warning('请选择处理对象!');
482
+ } else if (
483
+ isHideCurrentOrg == 0 &&
484
+ !nextOtherOrgObj &&
485
+ !nextCurrentOrgObj
486
+ ) {
487
+ return this.$message.warning('请选择处理对象!');
488
+ }
489
+
490
+ if (isOpinionRequired == 1 && (opinion == '' || opinion == null)) {
491
+ return this.$message.warning('当前步骤必须输入意见!');
492
+ }
493
+ // if (this.type != 'startDraf' && this.type != 'unionSeal' && this.type != 'twoOfficesDispatch')
494
+ // return this.$message.warning('暂未开放,敬请期待!');
495
+ const param = {
496
+ url:
497
+ this.type === 'startDraf'
498
+ ? taskStartDraft
499
+ : this.type == 'unionSeal'
500
+ ? taskUnionSeal
501
+ : this.type === 'twoOfficesDispatch'
502
+ ? twoOfficesDispatch
503
+ : this.type == 'takeAdvice'
504
+ ? taskTakeAdvice
505
+ : taskUnionExamine,
506
+ data: {
507
+ opinion,
508
+ pendingId,
509
+ nextOtherOrgObj:
510
+ this.type == 'unionSeal'
511
+ ? this.unionSealData.map((x) => x.showid).join(',')
512
+ : Array.isArray(nextOtherOrgObj)
513
+ ? nextOtherOrgObj.join(',')
514
+ : nextOtherOrgObj,
515
+ nextCurrentOrgObj: Array.isArray(nextCurrentOrgObj)
516
+ ? nextCurrentOrgObj.join(',')
517
+ : nextCurrentOrgObj,
518
+ notificationMsg: noticeInfo,
519
+ notificationType: noticeType.join(','),
520
+ choiceDeptId,
521
+ isSubFlow,
522
+ choiceOrgId
523
+ },
524
+ headers: { Accept: 'application/json,text/plain' },
525
+ method: 'POST'
526
+ };
527
+ this.loading = true;
528
+ util
529
+ .ajax(param)
530
+ .then((res) => {
531
+ const { message, status } = res;
532
+ this.loading = false;
533
+ if (status == 'success') {
534
+ this.simpleTips && this.$message.success('提交成功');
535
+ this.quit(true);
536
+ } else {
537
+ this.$message.error(message || '系统错误,请联系管理员!');
538
+ }
539
+ })
540
+ .catch((err) => {
541
+ this.loading = false;
542
+ if (err.message && err.message !== 'canceled') {
543
+ this.$message.error(err.message);
544
+ }
545
+ });
546
+ },
547
+ quit(val) {
548
+ if (val === true) return this.$emit('cancel', val);
549
+ this.$emit('cancel');
550
+ },
551
+ changeSelectUser(val, type) {
552
+ const { nextUser, options } = val;
553
+ let newNextUser = [];
554
+ let obj = {};
555
+ options.map((item) => {
556
+ if (obj[item.stype]) {
557
+ obj[item.stype].push(item.id);
558
+ } else {
559
+ obj[item.stype] = [item.id];
560
+ }
561
+ // if (newNextUser) {
562
+ // newNextUser += `,${item.stype}-${item.id}`;
563
+ // } else {
564
+ // newNextUser = `${item.stype}-${item.id}`;
565
+ // }
566
+ });
567
+ for (let key in obj) {
568
+ newNextUser.push(`${key}-${obj[key].join(',')}`);
569
+ }
570
+
571
+ this.infoList[type] = newNextUser.join('|');
572
+ },
573
+ getNodeType() {
574
+ util
575
+ .ajax({
576
+ url: findCodeValues,
577
+ params: {
578
+ ccCode: 'notification_type',
579
+ userId: util.getStorage('userId'),
580
+ pendingId: this.pendingId
581
+ }
582
+ })
583
+ .then((res) => {
584
+ const { status, data } = res;
585
+ this.loading = false;
586
+ if (status === 'success') {
587
+ this.infoList.noticeList = data;
588
+ }
589
+ })
590
+ .catch((err) => {
591
+ this.loading = false;
592
+ if (err.message && err.message !== 'canceled') {
593
+ this.$message.error(err.message);
594
+ }
595
+ });
596
+ },
597
+ //获取通知信息
598
+ getMessage() {
599
+ let params = {
600
+ pendingId: this.pendingId
601
+ };
602
+ util
603
+ .ajax({ url: getNotificationMsg, params, methods: 'post' })
604
+ .then((res) => {
605
+ if (res.status === 'success') {
606
+ this.infoList.noticeInfo = res.message;
607
+ }
608
+ this.loading = false;
609
+ })
610
+ .catch((err) => {
611
+ this.loading = false;
612
+ if (err.message && err.message !== 'canceled') {
613
+ this.$message.error(err.message);
614
+ }
615
+ });
616
+ },
617
+ getFind() {
618
+ util
619
+ .ajax({
620
+ url: findSysCodes
621
+ })
622
+ .then((res) => {
623
+ const { status, message } = res;
624
+ if (status === 'success') {
625
+ this.infoList.noticeType = message.split(',');
626
+ let arr = [];
627
+ this.infoList.noticeList.map((item) => {
628
+ this.infoList.noticeType.map((x) => {
629
+ if (x == item.cciValue) {
630
+ arr.push(x);
631
+ }
632
+ });
633
+ });
634
+ this.infoList.noticeType = arr;
635
+ } else {
636
+ this.$message.error(message || '系统错误,请联系管理员!');
637
+ }
638
+ })
639
+ .catch((err) => {
640
+ this.loading = false;
641
+ if (err.message && err.message !== 'canceled') {
642
+ this.$message.error(err.message);
643
+ }
644
+ });
645
+ }
646
+ }
647
+ };
648
+ </script>
649
+
650
+ <style></style>