eoss-ui 0.8.13 → 0.8.14

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 (235) hide show
  1. package/lib/calogin.js +233 -233
  2. package/lib/eoss-ui.common.js +927 -920
  3. package/lib/flow-list.js +96 -96
  4. package/lib/flow.js +280 -280
  5. package/lib/index.js +1 -1
  6. package/lib/main.js +304 -297
  7. package/lib/qr-code.js +13 -13
  8. package/package.json +1 -1
  9. package/packages/button/index.js +5 -5
  10. package/packages/button/src/main.vue +418 -418
  11. package/packages/button-group/index.js +5 -5
  12. package/packages/button-group/src/main.vue +346 -346
  13. package/packages/calendar/index.js +5 -5
  14. package/packages/calogin/index.js +5 -5
  15. package/packages/calogin/src/main.vue +412 -412
  16. package/packages/calogin/src/plugin.js +915 -915
  17. package/packages/card/index.js +5 -5
  18. package/packages/card/src/main.vue +156 -156
  19. package/packages/cascader/index.js +5 -5
  20. package/packages/cascader/src/main.vue +168 -168
  21. package/packages/checkbox-group/index.js +5 -5
  22. package/packages/checkbox-group/src/main.vue +333 -333
  23. package/packages/clients/index.js +5 -5
  24. package/packages/clients/src/main.vue +151 -151
  25. package/packages/data-table/index.js +5 -5
  26. package/packages/data-table/src/children.vue +46 -46
  27. package/packages/data-table/src/main.vue +1876 -1876
  28. package/packages/data-table/src/sizer.vue +195 -195
  29. package/packages/data-table-form/index.js +5 -5
  30. package/packages/data-table-form/src/checkbox.vue +101 -101
  31. package/packages/data-table-form/src/colgroup.vue +17 -17
  32. package/packages/data-table-form/src/main.vue +181 -181
  33. package/packages/data-table-form/src/radio.vue +65 -65
  34. package/packages/data-table-form/src/table.vue +233 -233
  35. package/packages/data-table-form/src/tbody.vue +336 -336
  36. package/packages/data-table-form/src/thead.vue +68 -68
  37. package/packages/date-picker/index.js +5 -5
  38. package/packages/date-picker/src/main.vue +236 -236
  39. package/packages/dialog/index.js +5 -5
  40. package/packages/enable-drag/index.js +5 -5
  41. package/packages/enterprise/index.js +5 -5
  42. package/packages/enterprise/src/main.vue +66 -66
  43. package/packages/error-page/index.js +5 -5
  44. package/packages/error-page/src/main.vue +44 -44
  45. package/packages/flow/index.js +5 -5
  46. package/packages/flow/src/component/Circulate.vue +420 -420
  47. package/packages/flow/src/component/CommonOpinions.vue +376 -376
  48. package/packages/flow/src/component/CustomPreset.vue +324 -324
  49. package/packages/flow/src/component/FileList.vue +97 -97
  50. package/packages/flow/src/component/FreeCirculation.vue +245 -245
  51. package/packages/flow/src/component/Preset.vue +257 -257
  52. package/packages/flow/src/component/SendMsg.vue +242 -242
  53. package/packages/flow/src/component/SortFlow.vue +110 -110
  54. package/packages/flow/src/component/TimeLimit.vue +190 -190
  55. package/packages/flow/src/component/taskUnionExamine.vue +763 -763
  56. package/packages/flow/src/form.vue +123 -123
  57. package/packages/flow/src/freeStartFlow.vue +2898 -2898
  58. package/packages/flow/src/main.vue +4224 -4224
  59. package/packages/flow/src/processForm.vue +1717 -1717
  60. package/packages/flow/src/processReject.vue +311 -311
  61. package/packages/flow/src/reset.vue +952 -952
  62. package/packages/flow/src/startTaskRead.vue +698 -698
  63. package/packages/flow/src/supervise.vue +162 -162
  64. package/packages/flow/src/table.vue +58 -58
  65. package/packages/flow-group/index.js +5 -5
  66. package/packages/flow-group/src/main.vue +750 -750
  67. package/packages/flow-list/index.js +5 -5
  68. package/packages/flow-list/src/main.vue +2337 -2337
  69. package/packages/form/index.js +5 -5
  70. package/packages/form/src/table.vue +1512 -1512
  71. package/packages/handle-user/index.js +5 -5
  72. package/packages/handle-user/src/main.vue +137 -137
  73. package/packages/handler/index.js +5 -5
  74. package/packages/handler/src/main.vue +499 -499
  75. package/packages/icon/index.js +5 -5
  76. package/packages/icon/src/main.vue +104 -104
  77. package/packages/icons/index.js +5 -5
  78. package/packages/icons/src/main.vue +81 -81
  79. package/packages/input/index.js +5 -5
  80. package/packages/input/src/main.vue +356 -356
  81. package/packages/input-number/index.js +5 -5
  82. package/packages/input-number/src/main.vue +106 -106
  83. package/packages/label/index.js +5 -5
  84. package/packages/label/src/main.vue +457 -457
  85. package/packages/layout/index.js +5 -5
  86. package/packages/layout/src/item.vue +152 -152
  87. package/packages/layout/src/main.vue +31 -31
  88. package/packages/login/index.js +5 -5
  89. package/packages/login/src/main.vue +2088 -2088
  90. package/packages/login/src/resetPassword.vue +557 -557
  91. package/packages/main/index.js +5 -5
  92. package/packages/main/src/default/index.vue +9 -2
  93. package/packages/main/src/default/message.vue +249 -249
  94. package/packages/main/src/default/notice.vue +157 -157
  95. package/packages/main/src/default/userinfo.vue +513 -513
  96. package/packages/main/src/public/online.vue +89 -89
  97. package/packages/main/src/public/search.vue +464 -464
  98. package/packages/main/src/public/settings.vue +273 -273
  99. package/packages/main/src/simplicity/apps.vue +388 -388
  100. package/packages/main/src/simplicity/avatar.vue +82 -82
  101. package/packages/main/src/simplicity/handler.vue +158 -158
  102. package/packages/main/src/simplicity/index.vue +2335 -2335
  103. package/packages/main/src/simplicity/lists.vue +84 -84
  104. package/packages/main/src/simplicity/menu-list.vue +135 -135
  105. package/packages/main/src/simplicity/message.vue +293 -293
  106. package/packages/main/src/simplicity/notice.vue +222 -222
  107. package/packages/main/src/simplicity/router-page.vue +45 -45
  108. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  109. package/packages/main/src/simplicity/user.vue +259 -259
  110. package/packages/main/src/simplicity/userinfo.vue +408 -408
  111. package/packages/main/src/simplicityTop/apps.vue +388 -388
  112. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  113. package/packages/main/src/simplicityTop/handler.vue +215 -215
  114. package/packages/main/src/simplicityTop/index.vue +2626 -2626
  115. package/packages/main/src/simplicityTop/lists.vue +84 -84
  116. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  117. package/packages/main/src/simplicityTop/message.vue +293 -293
  118. package/packages/main/src/simplicityTop/notice.vue +222 -222
  119. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  120. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  121. package/packages/main/src/simplicityTop/user.vue +259 -259
  122. package/packages/main/src/simplicityTop/userinfo.vue +408 -408
  123. package/packages/menu/index.js +5 -5
  124. package/packages/menu/src/main.vue +595 -595
  125. package/packages/nav/index.js +5 -5
  126. package/packages/nav/src/main.vue +351 -351
  127. package/packages/notify/index.js +5 -5
  128. package/packages/notify/src/main.vue +538 -538
  129. package/packages/page/index.js +5 -5
  130. package/packages/page/src/main.vue +167 -167
  131. package/packages/pagination/index.js +5 -5
  132. package/packages/pagination/src/main.vue +96 -96
  133. package/packages/player/index.js +5 -5
  134. package/packages/player/src/main.vue +194 -194
  135. package/packages/qr-code/index.js +5 -5
  136. package/packages/qr-code/src/main.vue +170 -170
  137. package/packages/radio-group/index.js +6 -6
  138. package/packages/radio-group/src/main.vue +319 -319
  139. package/packages/retrial-auth/index.js +5 -5
  140. package/packages/retrial-auth/src/main.vue +299 -299
  141. package/packages/select/index.js +5 -5
  142. package/packages/select-ganged/index.js +5 -5
  143. package/packages/select-ganged/src/main.vue +724 -724
  144. package/packages/selector/index.js +5 -5
  145. package/packages/selector/src/main.vue +761 -761
  146. package/packages/selector-panel/index.js +5 -5
  147. package/packages/selector-panel/src/main.vue +1036 -1036
  148. package/packages/selector-panel/src/selection.vue +174 -174
  149. package/packages/selector-panel/src/tree.vue +129 -129
  150. package/packages/sizer/index.js +5 -5
  151. package/packages/sizer/src/main.vue +254 -254
  152. package/packages/steps/index.js +5 -5
  153. package/packages/steps/src/main.vue +181 -181
  154. package/packages/switch/index.js +5 -5
  155. package/packages/switch/src/main.vue +170 -170
  156. package/packages/table-form/index.js +5 -5
  157. package/packages/tabs/index.js +5 -5
  158. package/packages/tabs/src/main.vue +788 -788
  159. package/packages/tabs-panel/index.js +5 -5
  160. package/packages/tabs-panel/src/main.vue +29 -29
  161. package/packages/theme-chalk/src/base.scss +261 -261
  162. package/packages/theme-chalk/src/button-group.scss +176 -176
  163. package/packages/theme-chalk/src/button.scss +24 -24
  164. package/packages/theme-chalk/src/calendar.scss +113 -113
  165. package/packages/theme-chalk/src/card.scss +99 -99
  166. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  167. package/packages/theme-chalk/src/clients.scss +87 -87
  168. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  169. package/packages/theme-chalk/src/data-table.scss +297 -297
  170. package/packages/theme-chalk/src/date-picker.scss +7 -7
  171. package/packages/theme-chalk/src/dialog.scss +77 -77
  172. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  173. package/packages/theme-chalk/src/enterprise.scss +5 -5
  174. package/packages/theme-chalk/src/error-page.scss +18 -18
  175. package/packages/theme-chalk/src/flow-group.scss +110 -110
  176. package/packages/theme-chalk/src/flow-list.scss +55 -55
  177. package/packages/theme-chalk/src/flow.scss +376 -376
  178. package/packages/theme-chalk/src/form.scss +501 -501
  179. package/packages/theme-chalk/src/handle-user.scss +40 -40
  180. package/packages/theme-chalk/src/handler.scss +148 -148
  181. package/packages/theme-chalk/src/icon.scss +3452 -3452
  182. package/packages/theme-chalk/src/icons.scss +99 -99
  183. package/packages/theme-chalk/src/input.scss +9 -9
  184. package/packages/theme-chalk/src/label.scss +24 -24
  185. package/packages/theme-chalk/src/layout.scss +46 -46
  186. package/packages/theme-chalk/src/login.scss +1006 -1006
  187. package/packages/theme-chalk/src/main.scss +664 -664
  188. package/packages/theme-chalk/src/menu.scss +224 -224
  189. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  190. package/packages/theme-chalk/src/nav.scss +111 -111
  191. package/packages/theme-chalk/src/page.scss +3 -3
  192. package/packages/theme-chalk/src/pagination.scss +29 -29
  193. package/packages/theme-chalk/src/player.scss +9 -9
  194. package/packages/theme-chalk/src/qr-code.scss +17 -17
  195. package/packages/theme-chalk/src/radio-group.scss +9 -9
  196. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  197. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  198. package/packages/theme-chalk/src/select.scss +8 -8
  199. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  200. package/packages/theme-chalk/src/selector.scss +114 -114
  201. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  202. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  203. package/packages/theme-chalk/src/sizer.scss +36 -36
  204. package/packages/theme-chalk/src/steps.scss +88 -88
  205. package/packages/theme-chalk/src/switch.scss +3 -3
  206. package/packages/theme-chalk/src/table-form.scss +1 -1
  207. package/packages/theme-chalk/src/tabs.scss +87 -87
  208. package/packages/theme-chalk/src/tips.scss +7 -7
  209. package/packages/theme-chalk/src/toolbar.scss +179 -179
  210. package/packages/theme-chalk/src/tree-group.scss +72 -72
  211. package/packages/theme-chalk/src/tree.scss +165 -165
  212. package/packages/theme-chalk/src/upload.scss +172 -172
  213. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  214. package/packages/tips/index.js +5 -5
  215. package/packages/tips/src/main.vue +141 -141
  216. package/packages/toolbar/index.js +5 -5
  217. package/packages/toolbar/src/main.vue +430 -430
  218. package/packages/tree/index.js +5 -5
  219. package/packages/tree-group/index.js +5 -5
  220. package/packages/upload/index.js +5 -5
  221. package/packages/upload/src/main.vue +1344 -1344
  222. package/packages/upload/src/picture.js +15 -15
  223. package/packages/wujie/index.js +5 -5
  224. package/packages/wujie/src/main.vue +146 -146
  225. package/packages/wxlogin/index.js +5 -5
  226. package/packages/wxlogin/src/main.vue +128 -128
  227. package/src/config/api.js +348 -348
  228. package/src/config/image.js +2 -2
  229. package/src/index.js +163 -163
  230. package/src/utils/bus.js +3 -3
  231. package/src/utils/date-util.js +312 -312
  232. package/src/utils/http.js +50 -50
  233. package/src/utils/rules.js +18 -18
  234. package/src/utils/store.js +21 -21
  235. package/src/utils/webSocket.js +107 -107
@@ -1,420 +1,420 @@
1
- <template>
2
- <div class="task-union-examine" v-loading="loading">
3
- <el-form
4
- ref="infoList"
5
- :model="infoList"
6
- class=""
7
- label-width="100px"
8
- :label-position="labelPosition"
9
- >
10
- <el-form-item
11
- v-if="isHideCurrentOrg == 0"
12
- prop="nextCurrentOrgObj"
13
- label="本单位"
14
- >
15
- <SelectUser
16
- :nextUser="infoList.nextCurrentOrgObj"
17
- :multiple="newMultiple"
18
- mix
19
- :showTooltip="showTooltip"
20
- @change="changeSelectUser($event, 'nextCurrentOrgObj')"
21
- :types="['employee', 'persongroup']"
22
- :params="params"
23
- />
24
- </el-form-item>
25
- <el-form-item prop="nextOtherOrgObj" label="外单位">
26
- <SelectUser
27
- :nextUser="infoList.nextOtherOrgObj"
28
- :showTooltip="showTooltip"
29
- :multiple="newMultiple"
30
- :where="{ filid: 'other',roleid :selectorParams.roleid }"
31
- @change="changeSelectUser($event, 'nextOtherOrgObj')"
32
- mix
33
- :types="['enterprise', 'filgroup']"
34
- :params="otherParams"
35
- />
36
- </el-form-item>
37
-
38
- <!-- :rules="[
39
- { required: false, message: `请选择通知方式`, trigger: 'blur' }
40
- ]" -->
41
- <el-form-item
42
- prop="noticeType"
43
- label="通知方式"
44
- v-show="infoList.noticeList.length != 0 && !hideMessage"
45
- >
46
- <el-checkbox-group
47
- v-model="infoList.noticeType"
48
- style="display: contents"
49
- >
50
- <el-checkbox
51
- v-for="item of infoList.noticeList"
52
- :key="item.cciValue"
53
- :label="item.cciValue"
54
- :disabled="
55
- readOnlyNotificationType
56
- ? readOnlyNotificationType.indexOf(item.cciValue) != -1
57
- : false
58
- "
59
- >
60
- {{ item.shortName }}
61
- </el-checkbox>
62
- </el-checkbox-group>
63
- </el-form-item>
64
- <el-form-item
65
- v-show="infoList.noticeType.length != 0 "
66
- prop="noticeInfo"
67
- label="通知消息"
68
- >
69
- <es-input
70
- style="
71
- border-color: #ccc;
72
- padding: 5px;
73
- border-radius: 5px;
74
- font-size: 13px;
75
- "
76
- type="textarea"
77
- v-model="infoList.noticeInfo"
78
- @change="handleChange"
79
- :readonly="notificationMessageReadOnly"
80
- />
81
- <!-- <span>{{ infoList.noticeInfo }}</span> -->
82
- </el-form-item>
83
- </el-form>
84
- <div v-if="showBtn" style="text-align: right">
85
- <el-button type="primary" @click="subMit"> 确定 </el-button>
86
- <el-button @click="quit" > 取消 </el-button>
87
- </div>
88
- </div>
89
- </template>
90
-
91
- <script>
92
- import CommonOpinions from './CommonOpinions.vue';
93
- import SelectUser from '../selectUser.vue';
94
- import {
95
- findSysCodes,
96
- getNotificationMsg,
97
- findCodeValues,
98
- directStartTaskCircularRead,
99
- endFlowAndStartTaskCircularRead
100
- } from 'eoss-ui/src/config/api';
101
- import util from 'eoss-ui/src/utils/util.js';
102
- export default {
103
- name: 'Circulate',
104
- components: {
105
- [CommonOpinions.name]: CommonOpinions,
106
- [SelectUser.name]: SelectUser
107
- },
108
- props: {
109
- pendingId: { type: String, default: '' },
110
- showTooltip: { type: Boolean, default: true },
111
- processDefinitionId: { type: String, default: '' },
112
- businessId: { type: String, default: '' },
113
- type: { type: String, default: '' },
114
- defaultOpinion: { type: String, default: '' },
115
- oldOption: { type: String, default: '' },
116
- disabled: { type: Boolean, default: false },
117
- simpleTips: { type: Boolean, default: true },
118
- showBtn: { type: Boolean, default: true },
119
- multiple: { type: Boolean, default: true },
120
- selectorParams:{type:Object,default:()=>{
121
- return {}
122
- }},
123
- labelPosition:{
124
- type: String,
125
- default: 'left'
126
- },
127
- startFlowPageEmbeddedIntoStartFlowIndex: { type: Boolean, default: false },
128
- formTitle: {
129
- type: String,
130
- default: ''
131
- },
132
- hideMessage: { type: Boolean, default: false },
133
- },
134
- inheritAttrs: false,
135
- data() {
136
- return {
137
- opinion: '', //办理意见
138
- readOnlyNotificationType: '',
139
- notificationMessageReadOnly: false,
140
- otherMix: false,
141
- currentMix: false,
142
- oldMessage: '',
143
- infoList: {
144
- nextOtherOrgObj: [],
145
- nextCurrentOrgObj: [],
146
- noticeType: [],
147
- noticeList:[],
148
- noticeInfo: '',
149
- opinion: ''
150
- },
151
- onlyName: '',
152
- currentOrgTabs: [],
153
- foreignOrgTabs: [],
154
- currentOrgProcessKey: '',
155
- isChangeMessage: false,
156
- isSubFlow: true,
157
- choiceDeptId: '',
158
- choiceOrgId: '',
159
- isSinglePage: false,
160
- isChoiceOtherOrgDept: '',
161
- currentOrgName: '',
162
- otherOrgName: '',
163
- newMultiple: true,
164
- params: { filid: 'all',only_filid:true },
165
- isHideOtherOrg: '',
166
- isHideCurrentOrg: 0,
167
- isOpinionRequired: 0,
168
- otherParams: { filid: 'all', nofilid: 1 },
169
- loading: false,
170
- subLoading: null,
171
- userModel: {}
172
- };
173
- },
174
- watch: {
175
- selectorParams: {
176
- handler(val) {
177
- this.params = val;
178
- this.params.only_filid = true;
179
- },
180
- deep: true,
181
- immediate: true
182
- },
183
- oldOption: {
184
- handler(val) {
185
- this.opinion = val;
186
- },
187
- deep: true,
188
- immediate: true
189
- },
190
- formTitle: {
191
- handler(val) {
192
- if (!this.showBtn && !this.isChangeMessage) {
193
- this.infoList.noticeInfo = this.oldMessage.replace('{title}', val);
194
- }
195
- },
196
- deep: true,
197
- immediate: true
198
- }
199
- },
200
- mounted() {
201
- let mainConfig = util.getStorage('mainConfig');
202
- if (mainConfig) {
203
- this.userModel = JSON.parse(mainConfig).userModel;
204
- this.params.filid = this.userModel.orgId;
205
- this.otherParams.nofilid = this.userModel.orgId
206
- this.otherParams.roleid = this.params.roleid
207
- }
208
- this.loading = true;
209
- this.newMultiple = this.multiple;
210
- this.opinion = this.oldOption;
211
- this.getNodeType();
212
- // this.getFind();
213
- this.getMessage();
214
- },
215
- methods: {
216
- handleChange() {
217
- this.isChangeMessage = true;
218
- },
219
- isMultiple(val) {
220
- if (val == 7 || val == 9 || val == 11) {
221
- this.newMultiple = false;
222
- }
223
- },
224
- subMit() {
225
- let {
226
- infoList: {
227
- nextCurrentOrgObj,
228
- nextOtherOrgObj,
229
- noticeType,
230
- noticeInfo
231
- },
232
- processDefinitionId,
233
- opinion,
234
- businessId
235
- } = this;
236
- if (
237
- (!nextCurrentOrgObj || nextCurrentOrgObj.length == 0) &&
238
- (!nextOtherOrgObj || nextOtherOrgObj.length == 0)
239
- ) {
240
- return this.$message.warning('请选择处理对象!');
241
- }
242
- const param = {
243
- url:
244
- this.showBtn || this.startFlowPageEmbeddedIntoStartFlowIndex
245
- ? directStartTaskCircularRead
246
- : endFlowAndStartTaskCircularRead,
247
- data: {
248
- opinion,
249
- businessId,
250
-
251
- processDefinitionId,
252
- nextOtherOrgObj: Array.isArray(nextOtherOrgObj)
253
- ? nextOtherOrgObj.join(',')
254
- : nextOtherOrgObj,
255
- nextCurrentOrgObj: Array.isArray(nextCurrentOrgObj)
256
- ? nextCurrentOrgObj.join(',')
257
- : nextCurrentOrgObj,
258
- notificationMsg: noticeInfo,
259
- notificationType: noticeType.join(','),
260
- userId: JSON.parse(util.getStorage('mainConfig')).userModel.userId
261
- },
262
- headers: { Accept: 'application/json,text/plain' },
263
- method: 'POST'
264
- };
265
- if (!this.showBtn && !this.startFlowPageEmbeddedIntoStartFlowIndex) {
266
- param.data.pendingId = this.pendingId;
267
- delete param.data.processDefinitionId;
268
- this.subLoading = util.loading(this.$loading, '加载中...');
269
- } else if (this.startFlowPageEmbeddedIntoStartFlowIndex) {
270
- this.subLoading = util.loading(this.$loading, '加载中...');
271
- } else {
272
- this.loading = true;
273
- }
274
- util
275
- .ajax(param)
276
- .then((res) => {
277
- const { message, status, rCode } = res;
278
- if (!this.showBtn || this.startFlowPageEmbeddedIntoStartFlowIndex) {
279
- this.subLoading.close();
280
- } else {
281
- this.loading = false;
282
- }
283
- if (status == 'success' || rCode == 0) {
284
- this.simpleTips && this.$message.success('提交成功');
285
- this.quit(true);
286
- } else {
287
- this.$message.error(message || '系统错误,请联系管理员!');
288
- }
289
- })
290
- .catch((err) => {
291
- if (!this.showBtn || this.startFlowPageEmbeddedIntoStartFlowIndex) {
292
- this.subLoading.close();
293
- } else {
294
- this.loading = false;
295
- }
296
- if (err.message && err.message !== 'canceled') {
297
- this.$message.error(err.message);
298
- }
299
- });
300
- },
301
- quit(val) {
302
- if (val === true) return this.$emit('cancel', val);
303
- this.$emit('cancel');
304
- },
305
- changeSelectUser(val, type) {
306
- const { nextUser, options } = val;
307
- let newNextUser = [];
308
- let obj = {};
309
- options.map((item) => {
310
- if (obj[item.stype]) {
311
- obj[item.stype].push(item.id);
312
- } else {
313
- obj[item.stype] = [item.id];
314
- }
315
- // if (newNextUser) {
316
- // newNextUser += `,${item.stype}-${item.id}`;
317
- // } else {
318
- // newNextUser = `${item.stype}-${item.id}`;
319
- // }
320
- });
321
- for (let key in obj) {
322
- newNextUser.push(`${key}-${obj[key].join(',')}`);
323
- }
324
-
325
- this.infoList[type] = newNextUser.join('|');
326
- },
327
- getNodeType() {
328
- util
329
- .ajax({
330
- url: findCodeValues,
331
- params: {
332
- ccCode: 'notification_type',
333
- userId: util.getStorage('userId'),
334
- pendingId: this.pendingId,
335
- startCircularRead: true
336
- }
337
- })
338
- .then((res) => {
339
- const { status, data } = res;
340
- this.loading = false;
341
- if (status === 'success') {
342
- this.infoList.noticeList = data;
343
- this.getFind();
344
- }
345
- })
346
- .catch((err) => {
347
- this.loading = false;
348
- if (err.message && err.message !== 'canceled') {
349
- this.$message.error(err.message);
350
- }
351
- });
352
- },
353
- //获取通知信息
354
- getMessage() {
355
- let params = {
356
- pendingId: this.pendingId,
357
- processDefinitionId: this.processDefinitionId,
358
- businessId: this.businessId
359
- };
360
- if (!this.showBtn) {
361
- params.openMode = 'samepage';
362
- }
363
- util
364
- .ajax({ url: getNotificationMsg, params, methods: 'post' })
365
- .then((res) => {
366
- if (res.status === 'success') {
367
- if (!this.showBtn) {
368
- this.oldMessage = res.message;
369
- this.infoList.noticeInfo = res.message.replace(
370
- '{title}',
371
- this.formTitle
372
- );
373
- } else {
374
- this.infoList.noticeInfo = res.message;
375
- }
376
- }
377
- this.loading = false;
378
- })
379
- .catch((err) => {
380
- this.loading = false;
381
- if (err.message && err.message !== 'canceled') {
382
- this.$message.error(err.message);
383
- }
384
- });
385
- },
386
- getFind() {
387
- util
388
- .ajax({
389
- url: findSysCodes
390
- })
391
- .then((res) => {
392
- const { status, message } = res;
393
- if (status === 'success') {
394
- if(this.hideMessage) return;
395
- this.infoList.noticeType = message.split(',');
396
- let arr = [];
397
- this.infoList.noticeList.map((item) => {
398
- this.infoList.noticeType.map((x) => {
399
- if (x == item.cciValue) {
400
- arr.push(x);
401
- }
402
- });
403
- });
404
- this.infoList.noticeType = arr;
405
- } else {
406
- this.$message.error(message || '系统错误,请联系管理员!');
407
- }
408
- })
409
- .catch((err) => {
410
- this.loading = false;
411
- if (err.message && err.message !== 'canceled') {
412
- this.$message.error(err.message);
413
- }
414
- });
415
- }
416
- }
417
- };
418
- </script>
419
-
420
- <style></style>
1
+ <template>
2
+ <div class="task-union-examine" v-loading="loading">
3
+ <el-form
4
+ ref="infoList"
5
+ :model="infoList"
6
+ class=""
7
+ label-width="100px"
8
+ :label-position="labelPosition"
9
+ >
10
+ <el-form-item
11
+ v-if="isHideCurrentOrg == 0"
12
+ prop="nextCurrentOrgObj"
13
+ label="本单位"
14
+ >
15
+ <SelectUser
16
+ :nextUser="infoList.nextCurrentOrgObj"
17
+ :multiple="newMultiple"
18
+ mix
19
+ :showTooltip="showTooltip"
20
+ @change="changeSelectUser($event, 'nextCurrentOrgObj')"
21
+ :types="['employee', 'persongroup']"
22
+ :params="params"
23
+ />
24
+ </el-form-item>
25
+ <el-form-item prop="nextOtherOrgObj" label="外单位">
26
+ <SelectUser
27
+ :nextUser="infoList.nextOtherOrgObj"
28
+ :showTooltip="showTooltip"
29
+ :multiple="newMultiple"
30
+ :where="{ filid: 'other',roleid :selectorParams.roleid }"
31
+ @change="changeSelectUser($event, 'nextOtherOrgObj')"
32
+ mix
33
+ :types="['enterprise', 'filgroup']"
34
+ :params="otherParams"
35
+ />
36
+ </el-form-item>
37
+
38
+ <!-- :rules="[
39
+ { required: false, message: `请选择通知方式`, trigger: 'blur' }
40
+ ]" -->
41
+ <el-form-item
42
+ prop="noticeType"
43
+ label="通知方式"
44
+ v-show="infoList.noticeList.length != 0 && !hideMessage"
45
+ >
46
+ <el-checkbox-group
47
+ v-model="infoList.noticeType"
48
+ style="display: contents"
49
+ >
50
+ <el-checkbox
51
+ v-for="item of infoList.noticeList"
52
+ :key="item.cciValue"
53
+ :label="item.cciValue"
54
+ :disabled="
55
+ readOnlyNotificationType
56
+ ? readOnlyNotificationType.indexOf(item.cciValue) != -1
57
+ : false
58
+ "
59
+ >
60
+ {{ item.shortName }}
61
+ </el-checkbox>
62
+ </el-checkbox-group>
63
+ </el-form-item>
64
+ <el-form-item
65
+ v-show="infoList.noticeType.length != 0 "
66
+ prop="noticeInfo"
67
+ label="通知消息"
68
+ >
69
+ <es-input
70
+ style="
71
+ border-color: #ccc;
72
+ padding: 5px;
73
+ border-radius: 5px;
74
+ font-size: 13px;
75
+ "
76
+ type="textarea"
77
+ v-model="infoList.noticeInfo"
78
+ @change="handleChange"
79
+ :readonly="notificationMessageReadOnly"
80
+ />
81
+ <!-- <span>{{ infoList.noticeInfo }}</span> -->
82
+ </el-form-item>
83
+ </el-form>
84
+ <div v-if="showBtn" style="text-align: right">
85
+ <el-button type="primary" @click="subMit"> 确定 </el-button>
86
+ <el-button @click="quit" > 取消 </el-button>
87
+ </div>
88
+ </div>
89
+ </template>
90
+
91
+ <script>
92
+ import CommonOpinions from './CommonOpinions.vue';
93
+ import SelectUser from '../selectUser.vue';
94
+ import {
95
+ findSysCodes,
96
+ getNotificationMsg,
97
+ findCodeValues,
98
+ directStartTaskCircularRead,
99
+ endFlowAndStartTaskCircularRead
100
+ } from 'eoss-ui/src/config/api';
101
+ import util from 'eoss-ui/src/utils/util.js';
102
+ export default {
103
+ name: 'Circulate',
104
+ components: {
105
+ [CommonOpinions.name]: CommonOpinions,
106
+ [SelectUser.name]: SelectUser
107
+ },
108
+ props: {
109
+ pendingId: { type: String, default: '' },
110
+ showTooltip: { type: Boolean, default: true },
111
+ processDefinitionId: { type: String, default: '' },
112
+ businessId: { type: String, default: '' },
113
+ type: { type: String, default: '' },
114
+ defaultOpinion: { type: String, default: '' },
115
+ oldOption: { type: String, default: '' },
116
+ disabled: { type: Boolean, default: false },
117
+ simpleTips: { type: Boolean, default: true },
118
+ showBtn: { type: Boolean, default: true },
119
+ multiple: { type: Boolean, default: true },
120
+ selectorParams:{type:Object,default:()=>{
121
+ return {}
122
+ }},
123
+ labelPosition:{
124
+ type: String,
125
+ default: 'left'
126
+ },
127
+ startFlowPageEmbeddedIntoStartFlowIndex: { type: Boolean, default: false },
128
+ formTitle: {
129
+ type: String,
130
+ default: ''
131
+ },
132
+ hideMessage: { type: Boolean, default: false },
133
+ },
134
+ inheritAttrs: false,
135
+ data() {
136
+ return {
137
+ opinion: '', //办理意见
138
+ readOnlyNotificationType: '',
139
+ notificationMessageReadOnly: false,
140
+ otherMix: false,
141
+ currentMix: false,
142
+ oldMessage: '',
143
+ infoList: {
144
+ nextOtherOrgObj: [],
145
+ nextCurrentOrgObj: [],
146
+ noticeType: [],
147
+ noticeList:[],
148
+ noticeInfo: '',
149
+ opinion: ''
150
+ },
151
+ onlyName: '',
152
+ currentOrgTabs: [],
153
+ foreignOrgTabs: [],
154
+ currentOrgProcessKey: '',
155
+ isChangeMessage: false,
156
+ isSubFlow: true,
157
+ choiceDeptId: '',
158
+ choiceOrgId: '',
159
+ isSinglePage: false,
160
+ isChoiceOtherOrgDept: '',
161
+ currentOrgName: '',
162
+ otherOrgName: '',
163
+ newMultiple: true,
164
+ params: { filid: 'all',only_filid:true },
165
+ isHideOtherOrg: '',
166
+ isHideCurrentOrg: 0,
167
+ isOpinionRequired: 0,
168
+ otherParams: { filid: 'all', nofilid: 1 },
169
+ loading: false,
170
+ subLoading: null,
171
+ userModel: {}
172
+ };
173
+ },
174
+ watch: {
175
+ selectorParams: {
176
+ handler(val) {
177
+ this.params = val;
178
+ this.params.only_filid = true;
179
+ },
180
+ deep: true,
181
+ immediate: true
182
+ },
183
+ oldOption: {
184
+ handler(val) {
185
+ this.opinion = val;
186
+ },
187
+ deep: true,
188
+ immediate: true
189
+ },
190
+ formTitle: {
191
+ handler(val) {
192
+ if (!this.showBtn && !this.isChangeMessage) {
193
+ this.infoList.noticeInfo = this.oldMessage.replace('{title}', val);
194
+ }
195
+ },
196
+ deep: true,
197
+ immediate: true
198
+ }
199
+ },
200
+ mounted() {
201
+ let mainConfig = util.getStorage('mainConfig');
202
+ if (mainConfig) {
203
+ this.userModel = JSON.parse(mainConfig).userModel;
204
+ this.params.filid = this.userModel.orgId;
205
+ this.otherParams.nofilid = this.userModel.orgId
206
+ this.otherParams.roleid = this.params.roleid
207
+ }
208
+ this.loading = true;
209
+ this.newMultiple = this.multiple;
210
+ this.opinion = this.oldOption;
211
+ this.getNodeType();
212
+ // this.getFind();
213
+ this.getMessage();
214
+ },
215
+ methods: {
216
+ handleChange() {
217
+ this.isChangeMessage = true;
218
+ },
219
+ isMultiple(val) {
220
+ if (val == 7 || val == 9 || val == 11) {
221
+ this.newMultiple = false;
222
+ }
223
+ },
224
+ subMit() {
225
+ let {
226
+ infoList: {
227
+ nextCurrentOrgObj,
228
+ nextOtherOrgObj,
229
+ noticeType,
230
+ noticeInfo
231
+ },
232
+ processDefinitionId,
233
+ opinion,
234
+ businessId
235
+ } = this;
236
+ if (
237
+ (!nextCurrentOrgObj || nextCurrentOrgObj.length == 0) &&
238
+ (!nextOtherOrgObj || nextOtherOrgObj.length == 0)
239
+ ) {
240
+ return this.$message.warning('请选择处理对象!');
241
+ }
242
+ const param = {
243
+ url:
244
+ this.showBtn || this.startFlowPageEmbeddedIntoStartFlowIndex
245
+ ? directStartTaskCircularRead
246
+ : endFlowAndStartTaskCircularRead,
247
+ data: {
248
+ opinion,
249
+ businessId,
250
+
251
+ processDefinitionId,
252
+ nextOtherOrgObj: Array.isArray(nextOtherOrgObj)
253
+ ? nextOtherOrgObj.join(',')
254
+ : nextOtherOrgObj,
255
+ nextCurrentOrgObj: Array.isArray(nextCurrentOrgObj)
256
+ ? nextCurrentOrgObj.join(',')
257
+ : nextCurrentOrgObj,
258
+ notificationMsg: noticeInfo,
259
+ notificationType: noticeType.join(','),
260
+ userId: JSON.parse(util.getStorage('mainConfig')).userModel.userId
261
+ },
262
+ headers: { Accept: 'application/json,text/plain' },
263
+ method: 'POST'
264
+ };
265
+ if (!this.showBtn && !this.startFlowPageEmbeddedIntoStartFlowIndex) {
266
+ param.data.pendingId = this.pendingId;
267
+ delete param.data.processDefinitionId;
268
+ this.subLoading = util.loading(this.$loading, '加载中...');
269
+ } else if (this.startFlowPageEmbeddedIntoStartFlowIndex) {
270
+ this.subLoading = util.loading(this.$loading, '加载中...');
271
+ } else {
272
+ this.loading = true;
273
+ }
274
+ util
275
+ .ajax(param)
276
+ .then((res) => {
277
+ const { message, status, rCode } = res;
278
+ if (!this.showBtn || this.startFlowPageEmbeddedIntoStartFlowIndex) {
279
+ this.subLoading.close();
280
+ } else {
281
+ this.loading = false;
282
+ }
283
+ if (status == 'success' || rCode == 0) {
284
+ this.simpleTips && this.$message.success('提交成功');
285
+ this.quit(true);
286
+ } else {
287
+ this.$message.error(message || '系统错误,请联系管理员!');
288
+ }
289
+ })
290
+ .catch((err) => {
291
+ if (!this.showBtn || this.startFlowPageEmbeddedIntoStartFlowIndex) {
292
+ this.subLoading.close();
293
+ } else {
294
+ this.loading = false;
295
+ }
296
+ if (err.message && err.message !== 'canceled') {
297
+ this.$message.error(err.message);
298
+ }
299
+ });
300
+ },
301
+ quit(val) {
302
+ if (val === true) return this.$emit('cancel', val);
303
+ this.$emit('cancel');
304
+ },
305
+ changeSelectUser(val, type) {
306
+ const { nextUser, options } = val;
307
+ let newNextUser = [];
308
+ let obj = {};
309
+ options.map((item) => {
310
+ if (obj[item.stype]) {
311
+ obj[item.stype].push(item.id);
312
+ } else {
313
+ obj[item.stype] = [item.id];
314
+ }
315
+ // if (newNextUser) {
316
+ // newNextUser += `,${item.stype}-${item.id}`;
317
+ // } else {
318
+ // newNextUser = `${item.stype}-${item.id}`;
319
+ // }
320
+ });
321
+ for (let key in obj) {
322
+ newNextUser.push(`${key}-${obj[key].join(',')}`);
323
+ }
324
+
325
+ this.infoList[type] = newNextUser.join('|');
326
+ },
327
+ getNodeType() {
328
+ util
329
+ .ajax({
330
+ url: findCodeValues,
331
+ params: {
332
+ ccCode: 'notification_type',
333
+ userId: util.getStorage('userId'),
334
+ pendingId: this.pendingId,
335
+ startCircularRead: true
336
+ }
337
+ })
338
+ .then((res) => {
339
+ const { status, data } = res;
340
+ this.loading = false;
341
+ if (status === 'success') {
342
+ this.infoList.noticeList = data;
343
+ this.getFind();
344
+ }
345
+ })
346
+ .catch((err) => {
347
+ this.loading = false;
348
+ if (err.message && err.message !== 'canceled') {
349
+ this.$message.error(err.message);
350
+ }
351
+ });
352
+ },
353
+ //获取通知信息
354
+ getMessage() {
355
+ let params = {
356
+ pendingId: this.pendingId,
357
+ processDefinitionId: this.processDefinitionId,
358
+ businessId: this.businessId
359
+ };
360
+ if (!this.showBtn) {
361
+ params.openMode = 'samepage';
362
+ }
363
+ util
364
+ .ajax({ url: getNotificationMsg, params, methods: 'post' })
365
+ .then((res) => {
366
+ if (res.status === 'success') {
367
+ if (!this.showBtn) {
368
+ this.oldMessage = res.message;
369
+ this.infoList.noticeInfo = res.message.replace(
370
+ '{title}',
371
+ this.formTitle
372
+ );
373
+ } else {
374
+ this.infoList.noticeInfo = res.message;
375
+ }
376
+ }
377
+ this.loading = false;
378
+ })
379
+ .catch((err) => {
380
+ this.loading = false;
381
+ if (err.message && err.message !== 'canceled') {
382
+ this.$message.error(err.message);
383
+ }
384
+ });
385
+ },
386
+ getFind() {
387
+ util
388
+ .ajax({
389
+ url: findSysCodes
390
+ })
391
+ .then((res) => {
392
+ const { status, message } = res;
393
+ if (status === 'success') {
394
+ if(this.hideMessage) return;
395
+ this.infoList.noticeType = message.split(',');
396
+ let arr = [];
397
+ this.infoList.noticeList.map((item) => {
398
+ this.infoList.noticeType.map((x) => {
399
+ if (x == item.cciValue) {
400
+ arr.push(x);
401
+ }
402
+ });
403
+ });
404
+ this.infoList.noticeType = arr;
405
+ } else {
406
+ this.$message.error(message || '系统错误,请联系管理员!');
407
+ }
408
+ })
409
+ .catch((err) => {
410
+ this.loading = false;
411
+ if (err.message && err.message !== 'canceled') {
412
+ this.$message.error(err.message);
413
+ }
414
+ });
415
+ }
416
+ }
417
+ };
418
+ </script>
419
+
420
+ <style></style>