eoss-ui 0.7.14 → 0.7.16

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