eoss-ui 0.7.17 → 0.7.19

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