eoss 0.1.0-alpha.21 → 0.1.0-alpha.22

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 (195) hide show
  1. package/lib/account-login.js +129 -129
  2. package/lib/alert.js +2 -2
  3. package/lib/aside.js +2 -2
  4. package/lib/autocomplete.js +216 -216
  5. package/lib/avatar.js +2 -2
  6. package/lib/backtop.js +2 -2
  7. package/lib/badge.js +2 -2
  8. package/lib/breadcrumb.js +2 -2
  9. package/lib/ca-login.js +6 -6
  10. package/lib/calendar.js +2 -2
  11. package/lib/card.js +2 -2
  12. package/lib/carousel-item.js +21 -21
  13. package/lib/carousel.js +16 -16
  14. package/lib/cascader-panel.js +6 -6
  15. package/lib/cascader.js +230 -230
  16. package/lib/checkbox-group.js +138 -138
  17. package/lib/col.js +2 -2
  18. package/lib/collapse-item.js +423 -410
  19. package/lib/collapse.js +426 -412
  20. package/lib/color-picker.js +23 -23
  21. package/lib/container.js +2 -2
  22. package/lib/cron.js +2 -2
  23. package/lib/data-table.js +123 -123
  24. package/lib/date-picker.js +233 -233
  25. package/lib/dialog.js +8 -8
  26. package/lib/divider.js +2 -2
  27. package/lib/drawer.js +4 -4
  28. package/lib/dropdown-item.js +2 -2
  29. package/lib/dropdown-menu.js +6 -6
  30. package/lib/dropdown.js +13 -13
  31. package/lib/email-login.js +124 -124
  32. package/lib/empty.js +2 -2
  33. package/lib/eoss.common.js +21948 -21788
  34. package/lib/flip.js +2 -2
  35. package/lib/flow-group.js +251 -251
  36. package/lib/flow.js +15934 -18947
  37. package/lib/flows.js +9195 -0
  38. package/lib/footer.js +2 -2
  39. package/lib/form-item.js +28 -17
  40. package/lib/form.js +426 -412
  41. package/lib/header.js +2 -2
  42. package/lib/icon.js +128 -128
  43. package/lib/icons.js +2 -2
  44. package/lib/image-viewer.js +6 -6
  45. package/lib/image.js +2 -2
  46. package/lib/index.js +1 -1
  47. package/lib/infinite-scroll.js +2 -2
  48. package/lib/input.js +4 -4
  49. package/lib/link.js +2 -2
  50. package/lib/loading.js +4 -4
  51. package/lib/login.js +190 -156
  52. package/lib/lowcode.js +562 -272
  53. package/lib/main.js +348 -282
  54. package/lib/marquee.js +6 -6
  55. package/lib/menu.js +209 -209
  56. package/lib/message-box.js +8 -8
  57. package/lib/message.js +8 -8
  58. package/lib/notification.js +8 -8
  59. package/lib/option-group.js +2 -2
  60. package/lib/option.js +4 -4
  61. package/lib/page-header.js +2 -2
  62. package/lib/pagination.js +6 -6
  63. package/lib/phone-login.js +124 -124
  64. package/lib/popconfirm.js +2 -2
  65. package/lib/popover.js +209 -209
  66. package/lib/progress.js +2 -2
  67. package/lib/qr-code.js +2 -2
  68. package/lib/qrcode-login.js +123 -123
  69. package/lib/radio-group.js +121 -121
  70. package/lib/rate.js +4 -4
  71. package/lib/row.js +2 -2
  72. package/lib/scrollbar.js +6 -6
  73. package/lib/select.js +470 -457
  74. package/lib/selector-panel.js +141 -141
  75. package/lib/selector.js +130 -130
  76. package/lib/step.js +426 -412
  77. package/lib/steps.js +6 -6
  78. package/lib/submenu.js +4 -4
  79. package/lib/switch.js +4 -4
  80. package/lib/tab-pane.js +2 -2
  81. package/lib/table-column.js +6 -6
  82. package/lib/table.js +460 -460
  83. package/lib/tabs.js +6 -6
  84. package/lib/tag.js +2 -2
  85. package/lib/theme-chalk/autocomplete.css +1 -1
  86. package/lib/theme-chalk/base.css +1 -1
  87. package/lib/theme-chalk/cascader-panel.css +1 -1
  88. package/lib/theme-chalk/cascader.css +1 -1
  89. package/lib/theme-chalk/checkbox-group.css +1 -1
  90. package/lib/theme-chalk/date-picker.css +1 -1
  91. package/lib/theme-chalk/descriptions-item.css +1 -1
  92. package/lib/theme-chalk/descriptions.css +1 -1
  93. package/lib/theme-chalk/empty.css +1 -1
  94. package/lib/theme-chalk/flow.css +1 -1
  95. package/lib/theme-chalk/flows.css +1 -0
  96. package/lib/theme-chalk/form.css +1 -1
  97. package/lib/theme-chalk/index.css +1 -1
  98. package/lib/theme-chalk/input-number.css +1 -1
  99. package/lib/theme-chalk/input.css +1 -1
  100. package/lib/theme-chalk/lowcode.css +1 -1
  101. package/lib/theme-chalk/main.css +1 -1
  102. package/lib/theme-chalk/menu.css +1 -1
  103. package/lib/theme-chalk/message-box.css +1 -1
  104. package/lib/theme-chalk/message.css +1 -1
  105. package/lib/theme-chalk/notification.css +1 -1
  106. package/lib/theme-chalk/pagination.css +1 -1
  107. package/lib/theme-chalk/scrollbar.css +1 -1
  108. package/lib/theme-chalk/select.css +1 -1
  109. package/lib/theme-chalk/selector-panel.css +1 -1
  110. package/lib/theme-chalk/selector.css +1 -1
  111. package/lib/theme-chalk/slider.css +1 -1
  112. package/lib/theme-chalk/table.css +1 -1
  113. package/lib/theme-chalk/tabs.css +1 -1
  114. package/lib/theme-chalk/time-picker.css +1 -1
  115. package/lib/theme-chalk/time-select.css +1 -1
  116. package/lib/theme-chalk/timeline-item.css +1 -1
  117. package/lib/theme-chalk/transfer.css +1 -1
  118. package/lib/theme-chalk/tree.css +1 -1
  119. package/lib/theme-chalk/upload.css +1 -1
  120. package/lib/time-picker.js +8 -8
  121. package/lib/time-select.js +6 -6
  122. package/lib/timeline-item.js +2 -2
  123. package/lib/timeline.js +2 -2
  124. package/lib/tips.js +124 -124
  125. package/lib/toolbar.js +4 -4
  126. package/lib/tooltip.js +209 -209
  127. package/lib/transfer.js +4 -4
  128. package/lib/tree-group.js +122 -122
  129. package/lib/tree.js +121 -121
  130. package/lib/upload.js +131 -131
  131. package/package.json +1 -1
  132. package/packages/carousel/src/carousel.vue +2 -2
  133. package/packages/flow/index.js +4 -4
  134. package/packages/flow/src/component/FreeCirculation.vue +4 -3
  135. package/packages/flow/src/component/SendMsg.vue +2 -4
  136. package/packages/flow/src/component/opinions.vue +203 -226
  137. package/packages/flow/src/component/taskUnionExamine.vue +2 -4
  138. package/packages/flow/src/freeStartFlow.vue +2 -2
  139. package/packages/flow/src/selectUser.vue +36 -1
  140. package/packages/flow/src/supervise.vue +4 -2
  141. package/packages/flows/index.js +7 -0
  142. package/packages/flows/readme.md +600 -0
  143. package/packages/flows/src/components/basis.vue +108 -0
  144. package/packages/flows/src/components/distribute.vue +42 -0
  145. package/packages/flows/src/components/opinions-file.vue +123 -0
  146. package/packages/{flow-copy/src/component → flows/src/components}/opinions.vue +227 -204
  147. package/packages/flows/src/components/quick-actions.vue +64 -0
  148. package/packages/flows/src/components/reject.vue +83 -0
  149. package/packages/flows/src/components/start-flow.vue +210 -0
  150. package/packages/flows/src/flow.vue +510 -0
  151. package/packages/{flow/src/flow.vue → flows/src/flows.vue} +40 -1327
  152. package/packages/form/src/form-item.vue +9 -2
  153. package/packages/form/src/label-wrap.vue +4 -1
  154. package/packages/login/src/login.vue +61 -32
  155. package/packages/lowcode/src/lowcode.vue +141 -40
  156. package/packages/lowcode/src/pages.vue +27 -7
  157. package/packages/lowcode/src/toolbar.vue +3 -18
  158. package/packages/main/src/components/pages.vue +97 -65
  159. package/packages/main/src/components/router-page.vue +0 -2
  160. package/packages/main/src/gzw.vue +3 -2
  161. package/packages/main/src/minxs.js +71 -51
  162. package/packages/select/src/select.vue +5 -0
  163. package/packages/theme-chalk/src/base.scss +6 -0
  164. package/packages/theme-chalk/src/checkbox-group.scss +1 -0
  165. package/packages/theme-chalk/src/common/var.scss +1 -1
  166. package/packages/theme-chalk/src/flow.scss +7 -4
  167. package/packages/theme-chalk/src/flows.scss +141 -0
  168. package/packages/theme-chalk/src/form.scss +1 -1
  169. package/packages/theme-chalk/src/index.scss +1 -0
  170. package/packages/theme-chalk/src/input.scss +1 -0
  171. package/packages/theme-chalk/src/select.scss +3 -1
  172. package/packages/theme-chalk/src/selector.scss +1 -1
  173. package/src/index.js +4 -1
  174. package/packages/flow/src/component/quick-actions.vue +0 -1168
  175. package/packages/flow-copy/index.js +0 -7
  176. package/packages/flow-copy/src/component/Circulate.vue +0 -452
  177. package/packages/flow-copy/src/component/CustomPreset.vue +0 -333
  178. package/packages/flow-copy/src/component/FreeCirculation.vue +0 -275
  179. package/packages/flow-copy/src/component/Preset.vue +0 -273
  180. package/packages/flow-copy/src/component/SendMsg.vue +0 -290
  181. package/packages/flow-copy/src/component/TimeLimit.vue +0 -205
  182. package/packages/flow-copy/src/component/taskUnionExamine.vue +0 -818
  183. package/packages/flow-copy/src/freeStartFlow.vue +0 -2912
  184. package/packages/flow-copy/src/processForm.vue +0 -1411
  185. package/packages/flow-copy/src/processReject.vue +0 -319
  186. package/packages/flow-copy/src/reset.vue +0 -944
  187. package/packages/flow-copy/src/selectUser.vue +0 -513
  188. package/packages/flow-copy/src/startTaskRead.vue +0 -723
  189. package/packages/flow-copy/src/supervise.vue +0 -182
  190. package/packages/flow-copy/src/table.vue +0 -65
  191. /package/packages/{flow-copy → flow}/src/component/FileList.vue +0 -0
  192. /package/packages/{flow-copy → flow}/src/main.vue +0 -0
  193. /package/packages/{flow-copy/src → flows/src/components}/form.vue +0 -0
  194. /package/packages/{flow/src/component → flows/src/components}/message.vue +0 -0
  195. /package/packages/{flow/src/component → flows/src/components}/opinions-list.vue +0 -0
@@ -1,818 +0,0 @@
1
- <template>
2
- <div class="es-flow task-union-examine" v-loading="loading === true">
3
- <es-form
4
- ref="infoList"
5
- :model="infoList"
6
- class="demo-dynamic"
7
- :rules="rules"
8
- label-width="150px"
9
- >
10
- <es-form-item v-if="isSinglePage" prop="opinion" label="意见">
11
- <opinions @change="(val) => (opinion = val)" />
12
- </es-form-item>
13
- <es-form-item
14
- v-if="isHideCurrentOrg == 0"
15
- :prop="type != 'takeAdvice' ? 'nextOtherOrgObj' : 'nextCurrentOrgObj'"
16
- :label="
17
- type == 'takeAdvice'
18
- ? currentOrgName
19
- ? currentOrgName
20
- : '本单位'
21
- : type == 'startDraf'
22
- ? '呈送单位/对象'
23
- : type === 'taskReview'
24
- ? '复核人'
25
- : type === 'twoOfficesDispatch'
26
- ? '报送单位'
27
- : '联合单位'
28
- "
29
- >
30
- <SelectUser
31
- :nextUser="
32
- type != 'takeAdvice'
33
- ? infoList.nextOtherOrgObj
34
- : infoList.nextCurrentOrgObj
35
- "
36
- :multiple="newMultiple"
37
- :selectorTags="0"
38
- :mix="currentMix"
39
- :isUnionSeal="type == 'unionSeal'"
40
- :selectUserList="unionSealData || []"
41
- @change="
42
- changeSelectUser(
43
- $event,
44
- type != 'takeAdvice' ? 'nextOtherOrgObj' : 'nextCurrentOrgObj'
45
- )
46
- "
47
- :types="
48
- type == 'takeAdvice'
49
- ? currentOrgTabs.length > 0
50
- ? currentOrgTabs
51
- : ['department', 'employee']
52
- : type == 'startDraf'
53
- ? ['enterprise', 'employee']
54
- : ['enterprise']
55
- "
56
- :params="
57
- type == 'startDraf' || type == 'unionExamine' ? otherParams : params
58
- "
59
- :tabs="currentOrgTabsParam"
60
- :disabled="disabled"
61
- :onlyName="onlyName"
62
- />
63
- </es-form-item>
64
- <es-form-item
65
- prop="nextOtherOrgObj"
66
- v-if="isHideOtherOrg == 0 && type == 'takeAdvice'"
67
- :label="otherOrgName ? otherOrgName : '外单位'"
68
- >
69
- <SelectUser
70
- :nextUser="infoList.nextOtherOrgObj"
71
- :where="{ filid: 'other', roleid: selectorParams.roleid }"
72
- :multiple="newMultiple"
73
- @change="changeSelectUser($event, 'nextOtherOrgObj')"
74
- :mix="otherMix"
75
- :disableds="otherOrgDisabledObjId"
76
- :types="
77
- foreignOrgTabs.length > 0
78
- ? foreignOrgTabs
79
- : isChoiceOtherOrgDept == 'true'
80
- ? ['enterprise', 'department']
81
- : ['enterprise']
82
- "
83
- :params="otherParams"
84
- :tabs="foreignOrgTabsParam"
85
- />
86
- </es-form-item>
87
- <es-form-item
88
- v-if="enableCustomLimitTimeSetting"
89
- prop="customLimitTime"
90
- label="限时办理"
91
- >
92
- <!-- style="width: 49%; display: inline-block;" -->
93
- <div style="display: flex; width: 100%; align-items: center">
94
- <es-select
95
- style="flex: 1 !important; display: inline-block"
96
- v-model="infoList.customLimitTimeText"
97
- placeholder="请选择"
98
- @change="handleChangeTime"
99
- sysCode="bpm_custom_limit_time"
100
- ></es-select>
101
- <es-input
102
- style="flex: 1; display: inline-block"
103
- v-model="infoList.customLimitTime"
104
- placeholder="请输入限时办理的天数"
105
- class="input-with-select custom-limit-time"
106
- >
107
- </es-input>
108
- <span style="margin-left: 5px">天</span>
109
- </div>
110
- <!-- <es-button
111
- type="primary"
112
- slot="append"
113
- @click="
114
- () => {
115
- infoList.customLimitTime = '';
116
- showCustomLimitTimeText = !showCustomLimitTimeText;
117
- }
118
- "
119
- >切换{{ showCustomLimitTimeText ? '选择框' : '文本框' }}</es-button
120
- > -->
121
- </es-form-item>
122
- <!-- :rules="[
123
- { required: false, message: `请选择通知方式`, trigger: 'blur' }
124
- ]" -->
125
- <!-- <es-form-item
126
- prop="noticeType"
127
- label="通知方式"
128
- v-show="infoList.noticeList.length != 0"
129
- >
130
- <es-checkbox-group
131
- v-model="infoList.noticeType"
132
- style="display: contents"
133
- >
134
- <es-checkbox
135
- v-for="item of infoList.noticeList"
136
- :key="item.cciValue"
137
- :label="item.cciValue"
138
- :disabled="
139
- readOnlyNotificationType
140
- ? readOnlyNotificationType.indexOf(item.cciValue) != -1
141
- : false
142
- "
143
- >
144
- {{ item.shortName }}
145
- </es-checkbox>
146
- </es-checkbox-group>
147
- </es-form-item>
148
- <es-form-item
149
- v-show="infoList.noticeType.length != 0"
150
- prop="noticeInfo"
151
- label="通知消息"
152
- >
153
- <es-input
154
- style="
155
- border-color: #ccc;
156
- padding: 5px;
157
- border-radius: 5px;
158
- font-size: 13px;
159
- "
160
- type="textarea"
161
- v-model="infoList.noticeInfo"
162
- :readonly="notificationMessageReadOnly"
163
- />
164
-
165
- </es-form-item> -->
166
- </es-form>
167
- <div v-show="infoList.noticeList.length != 0">
168
- <div class="news">
169
- <span class="news-item">消息通知</span>
170
- <!-- <span :class="showNews ? 'show' : 'sj'"></span> -->
171
- </div>
172
- <es-checkbox-group
173
- v-model="infoList.noticeType"
174
- style="display: contents"
175
- >
176
- <es-checkbox
177
- v-for="item of infoList.noticeList"
178
- :key="item.cciValue"
179
- :label="item.cciValue"
180
- :disabled="
181
- readOnlyNotificationType
182
- ? readOnlyNotificationType.indexOf(item.cciValue) != -1
183
- : false
184
- "
185
- >
186
- {{ item.shortName }}
187
- </es-checkbox>
188
- </es-checkbox-group>
189
- <es-input
190
- style="border-color: #ccc; border-radius: 6px; font-size: 14px"
191
- type="textarea"
192
- v-model="infoList.noticeInfo"
193
- :readonly="notificationMessageReadOnly"
194
- />
195
- </div>
196
- <div v-show="showBtn" style="text-align: right">
197
- <es-button type="primary" size="small" @click="subProcess">
198
- 确定
199
- </es-button>
200
- <es-button @click="quit" size="small"> 取消 </es-button>
201
- </div>
202
- </div>
203
- </template>
204
-
205
- <script>
206
- import Opinions from './opinions.vue';
207
- import SelectUser from '../selectUser.vue';
208
- import {
209
- findSysCodes,
210
- getNotificationMsg,
211
- toTaskTakeAdvice,
212
- findCodeValues,
213
- toTaskStartDraft,
214
- toTaskReview,
215
- taskStartDraft,
216
- toTaskUnionSeal,
217
- taskReview,
218
- toTwoOfficesDispatch,
219
- taskUnionSeal,
220
- twoOfficesDispatch,
221
- taskUnionExamine,
222
- taskTakeAdvice,
223
- toTaskUnionExamine
224
- } from 'eoss/src/config/api';
225
- import { success, error, warning } from 'eoss/src/utils/util';
226
- import { ajax } from 'eoss/src/utils/ajax';
227
- import { getStorage } from 'eoss/src/utils/storage';
228
- export default {
229
- name: 'TaskUnionExamine',
230
- components: {
231
- Opinions,
232
- SelectUser
233
- },
234
- props: {
235
- /**
236
- * 待办ID
237
- */
238
- pendingId: { type: String, default: '' },
239
- /**
240
- * 流程类型
241
- */
242
- type: { type: String, default: '' },
243
- /**
244
- * 默认流程意见
245
- */
246
- defaultOpinion: { type: String, default: '' },
247
- /**
248
- * 历史流程意见
249
- */
250
- oldOption: { type: String, default: '' },
251
- /**
252
- * 是否禁用
253
- */
254
- disabled: { type: Boolean, default: false },
255
- /**
256
- * 提交成功后是否展示弹窗确认
257
- */
258
- simpleTips: { type: Boolean, default: true },
259
- /**
260
- * 是否多选
261
- */
262
- multiple: { type: Boolean, default: true },
263
- /**
264
- * 是否展示提交按钮
265
- */
266
- showBtn: { type: Boolean, default: false },
267
- /**
268
- * 人员选择器参数
269
- */
270
- selectorParams: {
271
- type: Object,
272
- default: () => {
273
- return {};
274
- }
275
- }
276
- },
277
- inheritAttrs: false,
278
- data() {
279
- return {
280
- opinion: '', //办理意见
281
- readOnlyNotificationType: '',
282
- notificationMessageReadOnly: false,
283
- otherMix: false,
284
- enableCustomLimitTimeSetting: false,
285
- showCustomLimitTimeText: false,
286
- currentMix: false,
287
- infoList: {
288
- nextOtherOrgObj: [],
289
- nextCurrentOrgObj: [],
290
- noticeType: [],
291
- noticeList: [],
292
- noticeInfo: '',
293
- opinion: '',
294
- customLimitTime: '',
295
- customLimitTimeText: ''
296
- },
297
- onlyName: '',
298
- unionSealData: [],
299
- currentOrgTabs: [],
300
- foreignOrgTabs: [],
301
- foreignOrgTabsParam: {},
302
- currentOrgTabsParam: {},
303
- currentOrgProcessKey: '',
304
- otherOrgDisabledObjId: [],
305
- isSubFlow: true,
306
- choiceDeptId: '',
307
- choiceOrgId: '',
308
- isSinglePage: false,
309
- isChoiceOtherOrgDept: '',
310
- currentOrgName: '',
311
- otherOrgName: '',
312
- newMultiple: true,
313
- params: { filid: 'all', only_filid: true },
314
- isHideOtherOrg: '',
315
- isHideCurrentOrg: 0,
316
- isOpinionRequired: 0,
317
- otherParams: {
318
- filid: 'all',
319
- roleid: '',
320
- nofilid: sessionStorage.getItem('orgId')
321
- },
322
- loading: false
323
- };
324
- },
325
- computed: {
326
- rules() {
327
- return {
328
- customLimitTime: [
329
- {
330
- required: this.enableCustomLimitTimeSetting,
331
- message: this.showCustomLimitTimeText
332
- ? '请输入限时办理天数'
333
- : '请选择限时办理天数',
334
- trigger: 'blur'
335
- },
336
- {
337
- required: this.enableCustomLimitTimeSetting,
338
- validator: this.checkCustomLimitTime,
339
- trigger: 'change'
340
- }
341
- ]
342
- };
343
- }
344
- },
345
- watch: {
346
- type: {
347
- handler(newVal, oldVal) {
348
- this.loading = true;
349
- this.newMultiple = this.multiple;
350
- this.otherParams.roleid = this.params.roleid =
351
- this.selectorParams.roleid;
352
- if (newVal === 'taskReview') {
353
- this.getTaskReview();
354
- } else {
355
- this.getInfo();
356
- }
357
- },
358
- immediate: true,
359
- deep: true
360
- }
361
- },
362
- mounted() {
363
- this.loading = true;
364
- this.newMultiple = this.multiple;
365
- this.otherParams.roleid = this.params.roleid = this.selectorParams.roleid;
366
-
367
- this.getNodeType();
368
- if (this.type === 'taskReview') return this.getTaskReview();
369
- this.getInfo();
370
- },
371
- methods: {
372
- handleChangeTime(val) {
373
- this.infoList.customLimitTime = val;
374
- },
375
- validate() {
376
- let validSate = true;
377
- this.$refs.infoList.validate((valid) => {
378
- if (valid) {
379
- validSate = true;
380
- } else {
381
- validSate = false;
382
- }
383
- });
384
- return validSate;
385
- },
386
- checkCustomLimitTime(rule, value, callback) {
387
- if (!Number(value) || value.indexOf('.') != -1 || Number(value) < 0) {
388
- callback(new Error('请输入正确的天数'));
389
- this.infoList.customLimitTime = '';
390
- } else {
391
- callback();
392
- }
393
- },
394
- isMultiple(val) {
395
- if (val == 7 || val == 9 || val == 11) {
396
- this.newMultiple = false;
397
- }
398
- },
399
- subTaskReview() {
400
- let {
401
- infoList: { nextOtherOrgObj, noticeType, noticeInfo },
402
- businessId,
403
- opinion,
404
- isSubFlow,
405
- currentOrgProcessKey,
406
- pendingId
407
- } = this;
408
- let params = {
409
- url: taskReview,
410
- data: {
411
- nextUserId: nextOtherOrgObj.join(','),
412
- notificationType: noticeType.join(','),
413
- notificationMsg: noticeInfo,
414
- opinion,
415
- isSubFlow,
416
- businessId,
417
- currentOrgProcessKey,
418
- pendingId
419
- },
420
- method: 'POST'
421
- };
422
- this.loading = true;
423
- ajax(params)
424
- .then((res) => {
425
- const { message, status } = res;
426
- this.loading = false;
427
- if (status === 'success') {
428
- this.simpleTips &&
429
- this.$message({
430
- message: '提交成功',
431
- type: 'success'
432
- });
433
- this.quit(true);
434
- } else {
435
- this.$message({
436
- message: message || '系统错误,请联系管理员!',
437
- type: 'error'
438
- });
439
- }
440
- })
441
- .catch((err) => {
442
- this.loading = false;
443
- });
444
- },
445
- getTaskReview() {
446
- let params = {
447
- url: toTaskReview,
448
- params: { pendingId: this.pendingId }
449
- };
450
- ajax(params)
451
- .then((res) => {
452
- const { status, message } = res;
453
- this.loading = false;
454
- if (status === 'success') {
455
- const {
456
- data: { initiatorUser, taskExamine }
457
- } = res;
458
- if (taskExamine.opinion) {
459
- this.opinion = taskExamine.opinion;
460
- }
461
- this.infoList.nextOtherOrgObj.push(initiatorUser.userId);
462
- this.onlyName = initiatorUser.username;
463
- this.isSubFlow = taskExamine.isSubFlow;
464
- this.currentOrgProcessKey = taskExamine.currentOrgProcessKey;
465
- this.getFind();
466
- this.getMessage();
467
- } else {
468
- error(message || '系统错误,请联系管理员!');
469
- }
470
- })
471
- .catch((err) => {
472
- this.loading = false;
473
- });
474
- },
475
- getInfo() {
476
- let params = {
477
- url:
478
- this.type == 'takeAdvice'
479
- ? toTaskTakeAdvice
480
- : this.type === 'startDraf'
481
- ? toTaskStartDraft
482
- : this.type == 'unionSeal'
483
- ? toTaskUnionSeal
484
- : this.type == 'twoOfficesDispatch'
485
- ? toTwoOfficesDispatch
486
- : toTaskUnionExamine,
487
- params: { pendingId: this.pendingId },
488
- headers: { Accept: 'application/json,text/plain' }
489
- };
490
- ajax(params)
491
- .then((res) => {
492
- const { message, status } = res;
493
- this.loading = false;
494
- if (status == 'success') {
495
- const {
496
- data: {
497
- choiceDeptId,
498
- choiceOrgId,
499
- taskExamine,
500
- unionDispatchOrgName,
501
- readOnlyNotificationType,
502
- notificationMessageReadOnly,
503
- unionDispatchOrgId,
504
- otherOrgDisabledObjId,
505
- orgNames,
506
- enableCustomLimitTimeSetting,
507
- defaultCustomLimitDays,
508
- nodeInfoMap: {
509
- nodeExtAttr: {
510
- userSelectionType,
511
- isHideOtherOrg,
512
- isHideCurrentOrg,
513
- isOpinionRequired
514
- }
515
- }
516
- }
517
- } = res;
518
- if (otherOrgDisabledObjId) {
519
- this.otherOrgDisabledObjId = otherOrgDisabledObjId.split(',');
520
- }
521
- this.enableCustomLimitTimeSetting = enableCustomLimitTimeSetting;
522
- if (this.enableCustomLimitTimeSetting && defaultCustomLimitDays) {
523
- this.infoList.customLimitTime =
524
- this.infoList.customLimitTimeText = defaultCustomLimitDays + '';
525
- }
526
- if (res.data.customizedConfig) {
527
- if (res.data.customizedConfig.currentOrgSelectorCustomized) {
528
- this.currentMix =
529
- res.data.customizedConfig.currentOrgSelectorSelectMix ==
530
- 'true';
531
- this.currentOrgTabs =
532
- res.data.customizedConfig.currentOrgSelectorItemList.split(
533
- ','
534
- );
535
- let param =
536
- res.data.customizedConfig.currentOrgSelectorRangeList.split(
537
- ','
538
- );
539
- this.currentOrgTabs.map((x, i) => {
540
- this.params[x] = {
541
- filid:
542
- param[i] == 'my'
543
- ? (this.params.filid = JSON.parse(
544
- getStorage('mainConfig')
545
- ).userModel.orgId)
546
- : param[i]
547
- };
548
- });
549
- } else {
550
- if (this.type == 'takeAdvice') {
551
- this.params.filid = JSON.parse(
552
- getStorage('mainConfig')
553
- ).userModel.orgId;
554
- }
555
- }
556
-
557
- if (res.data.customizedConfig.foreignOrgSelectorCustomized) {
558
- this.otherMix =
559
- res.data.customizedConfig.foreignOrgSelectorSelectMix ==
560
- 'true';
561
- this.foreignOrgTabs =
562
- res.data.customizedConfig.foreignOrgSelectorItemList.split(
563
- ','
564
- );
565
- let param =
566
- res.data.customizedConfig.foreignOrgSelectorRangeList.split(
567
- ','
568
- );
569
- this.foreignOrgTabs.map((x, i) => {
570
- this.otherParams[x] = {
571
- filid: 'all',
572
- roleid: this.selectorParams.roleid,
573
- nofilid: sessionStorage.getItem('orgId')
574
- };
575
- });
576
- }
577
- }
578
- this.readOnlyNotificationType = readOnlyNotificationType;
579
- this.notificationMessageReadOnly =
580
- notificationMessageReadOnly == 'true';
581
- this.isSinglePage = taskExamine.isSinglePage;
582
- this.isSubFlow = taskExamine.isSubFlow;
583
- if (taskExamine.opinion) {
584
- this.opinion = taskExamine.opinion;
585
- }
586
- this.choiceDeptId = choiceDeptId;
587
- this.choiceOrgId = choiceOrgId;
588
- if (this.type == 'takeAdvice' || this.type == 'startDraf') {
589
- this.currentOrgName = res.data.currentOrgName;
590
- this.otherOrgName = res.data.otherOrgName;
591
- this.isChoiceOtherOrgDept = res.data.isChoiceOtherOrgDept;
592
- this.isHideOtherOrg = isHideOtherOrg;
593
- this.isHideCurrentOrg = isHideCurrentOrg;
594
- }
595
- this.isOpinionRequired = isOpinionRequired;
596
- if (this.type == 'unionSeal') {
597
- let names = unionDispatchOrgName.split(',');
598
- let ids = unionDispatchOrgId.split(',');
599
- names.map((x, i) => {
600
- if (x) {
601
- this.unionSealData.push({
602
- showname: x,
603
- showid: ids[i]
604
- });
605
- }
606
- });
607
- // this.onlyName = unionDispatchOrgName;
608
- // this.infoList.nextOtherOrgObj.push(unionDispatchOrgId);
609
- }
610
- if (this.type == 'twoOfficesDispatch') {
611
- this.onlyName = orgNames;
612
- this.infoList.nextOtherOrgObj.push(taskExamine.nextOtherOrgObj);
613
- }
614
- this.isMultiple(userSelectionType);
615
- this.getFind();
616
- this.getMessage();
617
- } else {
618
- error(message || '系统错误,请联系管理员!');
619
- }
620
- })
621
- .catch((err) => {
622
- this.loading = false;
623
- });
624
- },
625
- subProcess() {
626
- this.opinion = this.oldOption;
627
- if (this.type === 'taskReview') return this.subTaskReview();
628
-
629
- let {
630
- infoList: {
631
- nextCurrentOrgObj,
632
- nextOtherOrgObj,
633
- noticeType,
634
- customLimitTime,
635
- noticeInfo
636
- },
637
- isOpinionRequired,
638
- opinion,
639
- type,
640
- isHideOtherOrg,
641
- choiceDeptId,
642
- choiceOrgId,
643
- isHideCurrentOrg,
644
- isSubFlow,
645
- pendingId
646
- } = this;
647
- if (
648
- type == 'takeAdvice' &&
649
- !nextCurrentOrgObj &&
650
- isHideCurrentOrg == 0 &&
651
- nextCurrentOrgObj.length == 0 &&
652
- isHideOtherOrg == 0 &&
653
- (!nextOtherOrgObj || nextOtherOrgObj.length == 0)
654
- ) {
655
- return warning('请选择处理对象!');
656
- } else if (
657
- isHideCurrentOrg == 0 &&
658
- (!nextOtherOrgObj || nextOtherOrgObj.length == 0) &&
659
- (!nextCurrentOrgObj || nextCurrentOrgObj.length == 0)
660
- ) {
661
- return warning('请选择处理对象!');
662
- }
663
-
664
- if (isOpinionRequired == 1 && (opinion == '' || opinion == null)) {
665
- return warning('当前步骤必须输入意见!');
666
- }
667
- const param = {
668
- url:
669
- this.type === 'startDraf'
670
- ? taskStartDraft
671
- : this.type == 'unionSeal'
672
- ? taskUnionSeal
673
- : this.type === 'twoOfficesDispatch'
674
- ? twoOfficesDispatch
675
- : this.type == 'takeAdvice'
676
- ? taskTakeAdvice
677
- : taskUnionExamine,
678
- data: {
679
- opinion,
680
- pendingId,
681
-
682
- nextOtherOrgObj:
683
- this.type == 'unionSeal'
684
- ? this.unionSealData.map((x) => x.showid).join(',')
685
- : Array.isArray(nextOtherOrgObj)
686
- ? nextOtherOrgObj.join(',')
687
- : nextOtherOrgObj,
688
- nextCurrentOrgObj: Array.isArray(nextCurrentOrgObj)
689
- ? nextCurrentOrgObj.join(',')
690
- : nextCurrentOrgObj,
691
- notificationMsg: noticeInfo,
692
- notificationType: noticeType.join(','),
693
- choiceDeptId,
694
- isSubFlow,
695
- choiceOrgId
696
- },
697
- headers: { Accept: 'application/json,text/plain' },
698
- method: 'POST'
699
- };
700
- if (this.enableCustomLimitTimeSetting) {
701
- param.data.customLimitTime = customLimitTime;
702
- if (!this.validate()) return;
703
- }
704
- this.loading = true;
705
- ajax(param)
706
- .then((res) => {
707
- const { message, status } = res;
708
- this.loading = false;
709
- if (status == 'success') {
710
- this.simpleTips &&
711
- this.$message({
712
- message: '提交成功',
713
- type: 'success'
714
- });
715
- this.quit(true);
716
- } else {
717
- this.$message({
718
- message: message || '系统错误,请联系管理员!',
719
- type: 'error'
720
- });
721
- }
722
- })
723
- .catch((err) => {
724
- this.loading = false;
725
- });
726
- },
727
- quit(val) {
728
- if (val === true) return this.$emit('cancel', val);
729
- this.$emit('cancel');
730
- },
731
- changeSelectUser(val, type) {
732
- const { nextUser, options } = val;
733
- let newNextUser = [];
734
- let obj = {};
735
- options.map((item) => {
736
- if (obj[item.stype]) {
737
- obj[item.stype].push(item.id);
738
- } else {
739
- obj[item.stype] = [item.id];
740
- }
741
- // if (newNextUser) {
742
- // newNextUser += `,${item.stype}-${item.id}`;
743
- // } else {
744
- // newNextUser = `${item.stype}-${item.id}`;
745
- // }
746
- });
747
- for (let key in obj) {
748
- newNextUser.push(`${key}-${obj[key].join(',')}`);
749
- }
750
-
751
- this.infoList[type] = newNextUser.join('|');
752
- },
753
- getNodeType() {
754
- ajax({
755
- url: findCodeValues,
756
- params: {
757
- ccCode: 'notification_type',
758
- userId: getStorage('userId'),
759
- pendingId: this.pendingId
760
- }
761
- })
762
- .then((res) => {
763
- const { status, data } = res;
764
- this.loading = false;
765
- if (status === 'success') {
766
- this.infoList.noticeList = data;
767
- }
768
- })
769
- .catch((err) => {
770
- this.loading = false;
771
- });
772
- },
773
- //获取通知信息
774
- getMessage() {
775
- let params = {
776
- pendingId: this.pendingId
777
- };
778
- ajax({ url: getNotificationMsg, params, methods: 'post' })
779
- .then((res) => {
780
- if (res.status === 'success') {
781
- this.infoList.noticeInfo = res.message;
782
- }
783
- this.loading = false;
784
- })
785
- .catch((err) => {
786
- this.loading = false;
787
- });
788
- },
789
- getFind() {
790
- ajax({
791
- url: findSysCodes
792
- })
793
- .then((res) => {
794
- const { status, message } = res;
795
- if (status === 'success') {
796
- this.infoList.noticeType = message.split(',');
797
- let arr = [];
798
- this.infoList.noticeList.map((item) => {
799
- this.infoList.noticeType.map((x) => {
800
- if (x == item.cciValue) {
801
- arr.push(x);
802
- }
803
- });
804
- });
805
- this.infoList.noticeType = arr;
806
- } else {
807
- error(message || '系统错误,请联系管理员!');
808
- }
809
- })
810
- .catch((err) => {
811
- this.loading = false;
812
- });
813
- }
814
- }
815
- };
816
- </script>
817
-
818
- <style></style>