eoss-ui 0.6.77 → 0.6.78

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