eoss-ui 0.7.90 → 0.7.92

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