eoss-ui 0.6.88 → 0.6.90

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