eoss-ui 0.7.83 → 0.7.85

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 (196) hide show
  1. package/lib/button-group.js +144 -120
  2. package/lib/button.js +143 -120
  3. package/lib/calendar.js +2 -2
  4. package/lib/calogin.js +144 -120
  5. package/lib/card.js +2 -2
  6. package/lib/cascader.js +2 -2
  7. package/lib/checkbox-group.js +144 -120
  8. package/lib/clients.js +2 -2
  9. package/lib/config/api.js +7 -1
  10. package/lib/data-table-form.js +144 -120
  11. package/lib/data-table.js +144 -120
  12. package/lib/date-picker.js +143 -120
  13. package/lib/dialog.js +219 -214
  14. package/lib/enable-drag.js +2 -2
  15. package/lib/enterprise.js +2 -2
  16. package/lib/eoss-ui.common.js +2118 -1493
  17. package/lib/error-page.js +2 -2
  18. package/lib/flow-group.js +147 -124
  19. package/lib/flow-list.js +243 -218
  20. package/lib/flow.js +1561 -937
  21. package/lib/form.js +243 -239
  22. package/lib/handle-user.js +144 -121
  23. package/lib/handler.js +148 -125
  24. package/lib/icon.js +144 -121
  25. package/lib/icons.js +5 -5
  26. package/lib/index.js +1 -1
  27. package/lib/input-number.js +143 -120
  28. package/lib/input.js +143 -120
  29. package/lib/label.js +2 -2
  30. package/lib/layout.js +2 -2
  31. package/lib/login.js +154 -130
  32. package/lib/main.js +505 -481
  33. package/lib/menu.js +2 -2
  34. package/lib/nav.js +150 -127
  35. package/lib/notify.js +86 -77
  36. package/lib/page.js +143 -120
  37. package/lib/pagination.js +143 -120
  38. package/lib/player.js +147 -124
  39. package/lib/qr-code.js +145 -122
  40. package/lib/radio-group.js +143 -120
  41. package/lib/retrial-auth.js +144 -121
  42. package/lib/select-ganged.js +143 -120
  43. package/lib/select.js +143 -120
  44. package/lib/selector-panel.js +147 -123
  45. package/lib/selector.js +145 -122
  46. package/lib/sizer.js +143 -120
  47. package/lib/steps.js +150 -127
  48. package/lib/switch.js +143 -120
  49. package/lib/table-form.js +143 -120
  50. package/lib/tabs-panel.js +2 -2
  51. package/lib/tabs.js +143 -120
  52. package/lib/theme-chalk/base.css +1 -1
  53. package/lib/theme-chalk/flow.css +1 -1
  54. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  55. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  56. package/lib/theme-chalk/icon.css +1 -1
  57. package/lib/theme-chalk/index.css +1 -1
  58. package/lib/theme-chalk/login.css +1 -1
  59. package/lib/theme-chalk/main.css +1 -1
  60. package/lib/theme-chalk/menu.css +1 -1
  61. package/lib/theme-chalk/simplicity-top.css +1 -1
  62. package/lib/theme-chalk/simplicity.css +1 -1
  63. package/lib/theme-chalk/sizer.css +1 -1
  64. package/lib/theme-chalk/upload.css +1 -1
  65. package/lib/tips.js +143 -120
  66. package/lib/toolbar.js +2 -2
  67. package/lib/tree-group.js +143 -120
  68. package/lib/tree.js +143 -120
  69. package/lib/upload.js +154 -130
  70. package/lib/utils/util.js +60 -46
  71. package/lib/wujie.js +156 -122
  72. package/lib/wxlogin.js +143 -120
  73. package/package.json +161 -160
  74. package/packages/.DS_Store +0 -0
  75. package/packages/button-group/src/main.vue +346 -346
  76. package/packages/calogin/.DS_Store +0 -0
  77. package/packages/calogin/src/main.vue +412 -412
  78. package/packages/clients/src/main.vue +151 -151
  79. package/packages/data-table/src/column.vue +992 -992
  80. package/packages/data-table/src/main.vue +1840 -1840
  81. package/packages/date-picker/.DS_Store +0 -0
  82. package/packages/date-picker/src/.DS_Store +0 -0
  83. package/packages/dialog/.DS_Store +0 -0
  84. package/packages/flow/.DS_Store +0 -0
  85. package/packages/flow/src/.DS_Store +0 -0
  86. package/packages/flow/src/component/Circulate.vue +417 -417
  87. package/packages/flow/src/component/CommonOpinions.vue +376 -376
  88. package/packages/flow/src/component/CustomPreset.vue +324 -324
  89. package/packages/flow/src/component/FileList.vue +97 -97
  90. package/packages/flow/src/component/FreeCirculation.vue +244 -244
  91. package/packages/flow/src/component/Preset.vue +257 -257
  92. package/packages/flow/src/component/SendMsg.vue +242 -242
  93. package/packages/flow/src/component/SortFlow.vue +110 -0
  94. package/packages/flow/src/component/taskUnionExamine.vue +761 -761
  95. package/packages/flow/src/form.vue +123 -123
  96. package/packages/flow/src/freeStartFlow.vue +2855 -2855
  97. package/packages/flow/src/main.vue +4135 -3948
  98. package/packages/flow/src/processForm.vue +1671 -1523
  99. package/packages/flow/src/processReject.vue +309 -309
  100. package/packages/flow/src/reset.vue +946 -946
  101. package/packages/flow/src/startTaskRead.vue +695 -695
  102. package/packages/flow/src/supervise.vue +159 -159
  103. package/packages/flow/src/table.vue +58 -58
  104. package/packages/flow-group/src/main.vue +727 -727
  105. package/packages/flow-list/.DS_Store +0 -0
  106. package/packages/flow-list/src/main.vue +1803 -1801
  107. package/packages/form/.DS_Store +0 -0
  108. package/packages/form/src/main.vue +3901 -3901
  109. package/packages/form/src/table.vue +1512 -1512
  110. package/packages/handle-user/src/main.vue +137 -137
  111. package/packages/handler/src/main.vue +496 -496
  112. package/packages/icon/.DS_Store +0 -0
  113. package/packages/icon/src/main.vue +104 -104
  114. package/packages/icons/src/icon.json +1 -1
  115. package/packages/login/.DS_Store +0 -0
  116. package/packages/login/src/main.vue +2087 -2087
  117. package/packages/login/src/resetPassword.vue +557 -557
  118. package/packages/main/.DS_Store +0 -0
  119. package/packages/main/src/.DS_Store +0 -0
  120. package/packages/main/src/default/userinfo.vue +503 -503
  121. package/packages/main/src/public/online.vue +89 -89
  122. package/packages/main/src/public/search.vue +464 -464
  123. package/packages/main/src/public/settings.vue +273 -273
  124. package/packages/main/src/simplicity/apps.vue +388 -388
  125. package/packages/main/src/simplicity/avatar.vue +82 -82
  126. package/packages/main/src/simplicity/handler.vue +158 -158
  127. package/packages/main/src/simplicity/index.vue +2328 -2328
  128. package/packages/main/src/simplicity/menu-list.vue +135 -135
  129. package/packages/main/src/simplicity/message.vue +293 -293
  130. package/packages/main/src/simplicity/notice.vue +222 -222
  131. package/packages/main/src/simplicity/sub-menu.vue +276 -276
  132. package/packages/main/src/simplicity/user.vue +259 -259
  133. package/packages/main/src/simplicity/userinfo.vue +401 -401
  134. package/packages/main/src/simplicityTop/apps.vue +388 -388
  135. package/packages/main/src/simplicityTop/avatar.vue +82 -82
  136. package/packages/main/src/simplicityTop/handler.vue +215 -215
  137. package/packages/main/src/simplicityTop/index.vue +2618 -2618
  138. package/packages/main/src/simplicityTop/lists.vue +84 -84
  139. package/packages/main/src/simplicityTop/menu-list.vue +135 -135
  140. package/packages/main/src/simplicityTop/message.vue +293 -293
  141. package/packages/main/src/simplicityTop/notice.vue +222 -222
  142. package/packages/main/src/simplicityTop/router-page.vue +45 -45
  143. package/packages/main/src/simplicityTop/sub-menu.vue +274 -274
  144. package/packages/main/src/simplicityTop/user.vue +259 -259
  145. package/packages/main/src/simplicityTop/userinfo.vue +401 -401
  146. package/packages/menu/.DS_Store +0 -0
  147. package/packages/menu/src/main.vue +595 -595
  148. package/packages/nav/src/main.vue +351 -351
  149. package/packages/select/.DS_Store +0 -0
  150. package/packages/select/src/main.vue +782 -782
  151. package/packages/selector/.DS_Store +0 -0
  152. package/packages/selector/src/main.vue +761 -761
  153. package/packages/selector-panel/.DS_Store +0 -0
  154. package/packages/selector-panel/src/main.vue +1036 -1036
  155. package/packages/selector-panel/src/selection.vue +174 -174
  156. package/packages/switch/src/main.vue +170 -170
  157. package/packages/theme-chalk/lib/base.css +1 -1
  158. package/packages/theme-chalk/lib/flow.css +1 -1
  159. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  160. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  161. package/packages/theme-chalk/lib/icon.css +1 -1
  162. package/packages/theme-chalk/lib/index.css +1 -1
  163. package/packages/theme-chalk/lib/login.css +1 -1
  164. package/packages/theme-chalk/lib/main.css +1 -1
  165. package/packages/theme-chalk/lib/menu.css +1 -1
  166. package/packages/theme-chalk/lib/simplicity-top.css +1 -1
  167. package/packages/theme-chalk/lib/simplicity.css +1 -1
  168. package/packages/theme-chalk/lib/sizer.css +1 -1
  169. package/packages/theme-chalk/lib/upload.css +1 -1
  170. package/packages/theme-chalk/src/.DS_Store +0 -0
  171. package/packages/theme-chalk/src/data-table.scss +297 -297
  172. package/packages/theme-chalk/src/flow.scss +373 -359
  173. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  174. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  175. package/packages/theme-chalk/src/form.scss +501 -501
  176. package/packages/theme-chalk/src/handler.scss +148 -148
  177. package/packages/theme-chalk/src/icon.scss +3452 -1612
  178. package/packages/theme-chalk/src/login.scss +1006 -1006
  179. package/packages/theme-chalk/src/main.scss +664 -664
  180. package/packages/theme-chalk/src/menu.scss +224 -224
  181. package/packages/theme-chalk/src/selector.scss +114 -114
  182. package/packages/theme-chalk/src/simplicity-top.scss +1845 -1845
  183. package/packages/theme-chalk/src/simplicity.scss +1403 -1403
  184. package/packages/theme-chalk/src/tree.scss +165 -165
  185. package/packages/theme-chalk/src/upload.scss +172 -172
  186. package/packages/tips/src/main.vue +141 -141
  187. package/packages/toolbar/src/main.vue +430 -430
  188. package/packages/upload/.DS_Store +0 -0
  189. package/packages/upload/src/main.vue +1344 -1344
  190. package/packages/wujie/src/main.vue +1 -0
  191. package/src/.DS_Store +0 -0
  192. package/src/config/api.js +340 -334
  193. package/src/index.js +163 -163
  194. package/src/utils/.DS_Store +0 -0
  195. package/src/utils/rules.js +18 -18
  196. package/src/utils/util.js +42 -26
@@ -1,309 +1,309 @@
1
- <template>
2
- <div
3
- v-loading="loading"
4
- class="es-flow-form"
5
- element-loading-text="加载中..."
6
- element-loading-spinner="el-icon-loading"
7
- element-loading-background="rgba(255, 255,255, 0.8)"
8
- >
9
- <el-form
10
- ref="nextNode"
11
- :model="nextNode"
12
- class="demo-dynamic"
13
- label-width="100px"
14
- label-align="left"
15
- >
16
- <div style="max-height: 290px; overflow-y: auto; margin-bottom: 10px">
17
- <el-form-item prop="nodeName" label="当前节点">
18
- <el-input v-model="nodeName" disabled />
19
- </el-form-item>
20
- <el-form-item
21
- prop="nextNodeId"
22
- label="驳回对象"
23
- :rules="[
24
- { required: true, message: `请选择驳回对象`, trigger: 'blur' }
25
- ]"
26
- >
27
- <el-radio-group
28
- v-model="nextNode.nextNodeId"
29
- v-if="rejectObj.length != 0"
30
- >
31
- <el-radio v-for="item of rejectObj" :key="item.id" :label="item.id">
32
- {{ item.name }}
33
- </el-radio>
34
- </el-radio-group>
35
- <span v-else>暂无可驳回节点及对象</span>
36
- </el-form-item>
37
- <!-- :rules="[
38
- { required: false, message: `请选择通知方式`, trigger: 'blur' }
39
- ]" -->
40
- <el-form-item
41
- prop="noticeType"
42
- label="通知方式"
43
- v-show="nextNode.noticeList.length != 0 && rejectObj.length != 0"
44
- >
45
- <el-checkbox-group v-model="nextNode.noticeType">
46
- <el-checkbox
47
- v-for="item of nextNode.noticeList"
48
- :key="item.cciValue"
49
- :label="item.cciValue"
50
- :disabled="
51
- readOnlyNotificationType
52
- ? readOnlyNotificationType.indexOf(item.cciValue) != -1
53
- : false
54
- "
55
- >
56
- {{ item.shortName }}
57
- </el-checkbox>
58
- </el-checkbox-group>
59
- </el-form-item>
60
- <el-form-item
61
- v-show="nextNode.noticeType.length != 0"
62
- prop="nextNode"
63
- label="通知消息"
64
- >
65
- <!-- <span>{{ newsInfo }}</span> -->
66
- <es-input
67
- type="textarea"
68
- :rows="4"
69
- placeholder="请输入内容"
70
- v-model="newsInformation"
71
- :readonly="notificationMessageReadOnly"
72
- >
73
- </es-input>
74
- </el-form-item>
75
- </div>
76
- <el-form-item>
77
- <!-- size="small" -->
78
- <div style="text-align: right">
79
- <el-button
80
- :type="rejectObj.length == 0 ? '' : 'primary'"
81
- @click="subProcess('nextNode', rejectObj.length == 0)"
82
- >
83
- {{ rejectObj.length == 0 ? '取消' : '提交' }}
84
- </el-button>
85
- </div>
86
- </el-form-item>
87
- </el-form>
88
- <!-- <el-dialog title="下步处理对象" :visible.sync="show" width="60%">
89
- <div>123</div>
90
- </el-dialog> -->
91
- </div>
92
- </template>
93
-
94
- <script>
95
- import {
96
- findSysCodes,
97
- taskRejectHtml,
98
- findCodeValues,
99
- toTaskRejectHtml
100
- } from 'eoss-ui/src/config/api';
101
- import util from 'eoss-ui/src/utils/util';
102
- export default {
103
- name: 'ProcessReject',
104
- props: {
105
- pendingId: { type: String, default: '' },
106
- newsInfo: { type: String, default: '' },
107
- showReject: { type: Boolean },
108
- option: { type: String, default: '' },
109
- simpleTips: { type: Boolean, default: true }
110
- },
111
- data() {
112
- return {
113
- loading: false,
114
- notificationMessageReadOnly: false,
115
- readOnlyNotificationType: '',
116
- nextNode: {
117
- noticeType: [],
118
- opinion: undefined, // 审批意见
119
- notificationMsg: undefined, // 系统消息
120
- nextNodeId: undefined,
121
- noticeList: []
122
- },
123
- showMsg: false, // 判断是否显示系统消息
124
- showOpinion: false, // 常用意见弹框
125
- nodeName: '',
126
- isOpinionRequired: 0, // 意见是否必填
127
- rejectObj: [], //
128
- isHiddenOftenOpinion: undefined, // 是否隐藏常用意见
129
- nodeDefaultRejectOpinion: undefined, // 默认提交意见
130
- checked: true, // 系统消息是否选中
131
- defaultNotificationType: undefined, // /默认选中通知类型
132
- newsInformation: '' //系统消息
133
- };
134
- },
135
- watch: {
136
- showReject(val) {
137
- if (val) {
138
- this.getProcessReject();
139
- }
140
- }
141
- },
142
- mounted() {
143
- this.newsInformation = this.newsInfo;
144
- this.getNodeType();
145
- this.getProcessReject();
146
- },
147
- methods: {
148
- getNodeType() {
149
- util
150
- .ajax({
151
- url: findCodeValues,
152
- params: {
153
- ccCode: 'notification_type',
154
- userId: util.getStorage('userId'),
155
- pendingId: this.pendingId
156
- }
157
- })
158
- .then((res) => {
159
- const { status, data } = res;
160
- if (status === 'success') {
161
- this.nextNode.noticeList = data;
162
- }
163
- this.getFind();
164
- })
165
- .catch((err) => {
166
- this.loading = false;
167
- if (err.message && err.message !== 'canceled') {
168
- this.$message.error(err.message);
169
- }
170
- });
171
- },
172
- // 提交表单
173
- subProcess(formName, isNoObj) {
174
- if (isNoObj) {
175
- this.quit(false);
176
- return;
177
- }
178
- this.saveProcess(formName);
179
- },
180
- saveProcess(formName) {
181
- this.$refs[formName].validate((valid) => {
182
- if (valid) {
183
- if (!this.option && this.isOpinionRequired === 1) {
184
- this.$message.warning('请选择输入审批意见');
185
- return;
186
- }
187
- this.loading = true;
188
- let noticeType = this.nextNode.noticeType.join(',');
189
- let params = {
190
- pendingId: this.pendingId,
191
- opinion: this.option, // 审批意见
192
- notificationMsg: this.newsInformation, // 系统消息
193
- notificationType: noticeType,
194
- userId: util.getStorage('userId'),
195
- nextNodeId: this.nextNode.nextNodeId
196
- };
197
- util
198
- .ajax({ url: taskRejectHtml, method: 'post', data: params })
199
- .then((res) => {
200
- const { status, message } = res;
201
- this.loading = false;
202
- if (status === 'success') {
203
- this.quit(true);
204
- this.simpleTips && this.$message.success('操作成功');
205
- } else {
206
- this.$message.error(message || '系统错误,请联系管理员!');
207
- this.quit(false);
208
- }
209
- })
210
- .catch((err) => {
211
- this.loading = false;
212
- if (err.message && err.message !== 'canceled') {
213
- this.$message.error(err.message);
214
- }
215
- });
216
- } else {
217
- return false;
218
- }
219
- });
220
- },
221
- // 取消
222
- quit(val) {
223
- this.$emit('cancel', val);
224
- },
225
- getFind() {
226
- util
227
- .ajax({
228
- url: findSysCodes
229
- })
230
- .then((res) => {
231
- const { status, message } = res;
232
- if (status === 'success') {
233
- this.nextNode.noticeType = message.split(',');
234
- let arr = [];
235
- this.nextNode.noticeList.map((item) => {
236
- this.nextNode.noticeType.map((x) => {
237
- if (x == item.cciValue) {
238
- arr.push(x);
239
- }
240
- });
241
- });
242
- this.nextNode.noticeType = arr;
243
- }
244
- })
245
- .catch((err) => {
246
- this.loading = false;
247
- if (err.message && err.message !== 'canceled') {
248
- this.$message.error(err.message);
249
- }
250
- });
251
- },
252
- getProcessReject() {
253
- this.loading = true;
254
- let params = {
255
- pendingId: this.pendingId,
256
- isSinglePage: false,
257
- opinion: this.option
258
- };
259
- util
260
- .ajax({ url: toTaskRejectHtml, params })
261
- .then((res) => {
262
- this.loading = false;
263
- if (res.status === 'success') {
264
- const {
265
- data: {
266
- rejectTaskNodes,
267
- taskExamine,
268
- nodeInfoMap,
269
- notificationMessageReadOnly,
270
- readOnlyNotificationType
271
- }
272
- } = res;
273
- this.isOpinionRequired = nodeInfoMap.nodeExtAttr.isOpinionRequired;
274
- this.readOnlyNotificationType = readOnlyNotificationType;
275
- this.notificationMessageReadOnly =
276
- notificationMessageReadOnly == 'true';
277
- if (!this.isOpinionRequired) {
278
- this.isOpinionRequired = 0;
279
- }
280
- let list = [];
281
- if (rejectTaskNodes) {
282
- for (let i in rejectTaskNodes) {
283
- let obj = {
284
- id: i,
285
- name: rejectTaskNodes[i]
286
- };
287
- list.push(obj);
288
- }
289
- this.nodeName = taskExamine.nodeName;
290
- this.rejectObj = list;
291
- this.rejectObj.length != 0 &&
292
- (this.nextNode.nextNodeId = this.rejectObj[0].id);
293
- }
294
- } else {
295
- this.$message.error(res.message || '系统错误,请联系管理员!');
296
- this.quit(false);
297
- }
298
- })
299
- .catch((err) => {
300
- this.loading = false;
301
- if (err.message && err.message !== 'canceled') {
302
- this.$message.error(err.message);
303
- }
304
- });
305
-
306
- }
307
- }
308
- };
309
- </script>
1
+ <template>
2
+ <div
3
+ v-loading="loading"
4
+ class="es-flow-form"
5
+ element-loading-text="加载中..."
6
+ element-loading-spinner="el-icon-loading"
7
+ element-loading-background="rgba(255, 255,255, 0.8)"
8
+ >
9
+ <el-form
10
+ ref="nextNode"
11
+ :model="nextNode"
12
+ class="demo-dynamic"
13
+ label-width="100px"
14
+ label-align="left"
15
+ >
16
+ <div style="max-height: 290px; overflow-y: auto; margin-bottom: 10px">
17
+ <el-form-item prop="nodeName" label="当前节点">
18
+ <el-input v-model="nodeName" disabled />
19
+ </el-form-item>
20
+ <el-form-item
21
+ prop="nextNodeId"
22
+ label="驳回对象"
23
+ :rules="[
24
+ { required: true, message: `请选择驳回对象`, trigger: 'blur' }
25
+ ]"
26
+ >
27
+ <el-radio-group
28
+ v-model="nextNode.nextNodeId"
29
+ v-if="rejectObj.length != 0"
30
+ >
31
+ <el-radio v-for="item of rejectObj" :key="item.id" :label="item.id">
32
+ {{ item.name }}
33
+ </el-radio>
34
+ </el-radio-group>
35
+ <span v-else>暂无可驳回节点及对象</span>
36
+ </el-form-item>
37
+ <!-- :rules="[
38
+ { required: false, message: `请选择通知方式`, trigger: 'blur' }
39
+ ]" -->
40
+ <el-form-item
41
+ prop="noticeType"
42
+ label="通知方式"
43
+ v-show="nextNode.noticeList.length != 0 && rejectObj.length != 0"
44
+ >
45
+ <el-checkbox-group v-model="nextNode.noticeType">
46
+ <el-checkbox
47
+ v-for="item of nextNode.noticeList"
48
+ :key="item.cciValue"
49
+ :label="item.cciValue"
50
+ :disabled="
51
+ readOnlyNotificationType
52
+ ? readOnlyNotificationType.indexOf(item.cciValue) != -1
53
+ : false
54
+ "
55
+ >
56
+ {{ item.shortName }}
57
+ </el-checkbox>
58
+ </el-checkbox-group>
59
+ </el-form-item>
60
+ <el-form-item
61
+ v-show="nextNode.noticeType.length != 0"
62
+ prop="nextNode"
63
+ label="通知消息"
64
+ >
65
+ <!-- <span>{{ newsInfo }}</span> -->
66
+ <es-input
67
+ type="textarea"
68
+ :rows="4"
69
+ placeholder="请输入内容"
70
+ v-model="newsInformation"
71
+ :readonly="notificationMessageReadOnly"
72
+ >
73
+ </es-input>
74
+ </el-form-item>
75
+ </div>
76
+ <el-form-item>
77
+ <!-- size="small" -->
78
+ <div style="text-align: right">
79
+ <el-button
80
+ :type="rejectObj.length == 0 ? '' : 'primary'"
81
+ @click="subProcess('nextNode', rejectObj.length == 0)"
82
+ >
83
+ {{ rejectObj.length == 0 ? '取消' : '提交' }}
84
+ </el-button>
85
+ </div>
86
+ </el-form-item>
87
+ </el-form>
88
+ <!-- <el-dialog title="下步处理对象" :visible.sync="show" width="60%">
89
+ <div>123</div>
90
+ </el-dialog> -->
91
+ </div>
92
+ </template>
93
+
94
+ <script>
95
+ import {
96
+ findSysCodes,
97
+ taskRejectHtml,
98
+ findCodeValues,
99
+ toTaskRejectHtml
100
+ } from 'eoss-ui/src/config/api';
101
+ import util from 'eoss-ui/src/utils/util';
102
+ export default {
103
+ name: 'ProcessReject',
104
+ props: {
105
+ pendingId: { type: String, default: '' },
106
+ newsInfo: { type: String, default: '' },
107
+ showReject: { type: Boolean },
108
+ option: { type: String, default: '' },
109
+ simpleTips: { type: Boolean, default: true }
110
+ },
111
+ data() {
112
+ return {
113
+ loading: false,
114
+ notificationMessageReadOnly: false,
115
+ readOnlyNotificationType: '',
116
+ nextNode: {
117
+ noticeType: [],
118
+ opinion: undefined, // 审批意见
119
+ notificationMsg: undefined, // 系统消息
120
+ nextNodeId: undefined,
121
+ noticeList: []
122
+ },
123
+ showMsg: false, // 判断是否显示系统消息
124
+ showOpinion: false, // 常用意见弹框
125
+ nodeName: '',
126
+ isOpinionRequired: 0, // 意见是否必填
127
+ rejectObj: [], //
128
+ isHiddenOftenOpinion: undefined, // 是否隐藏常用意见
129
+ nodeDefaultRejectOpinion: undefined, // 默认提交意见
130
+ checked: true, // 系统消息是否选中
131
+ defaultNotificationType: undefined, // /默认选中通知类型
132
+ newsInformation: '' //系统消息
133
+ };
134
+ },
135
+ watch: {
136
+ showReject(val) {
137
+ if (val) {
138
+ this.getProcessReject();
139
+ }
140
+ }
141
+ },
142
+ mounted() {
143
+ this.newsInformation = this.newsInfo;
144
+ this.getNodeType();
145
+ this.getProcessReject();
146
+ },
147
+ methods: {
148
+ getNodeType() {
149
+ util
150
+ .ajax({
151
+ url: findCodeValues,
152
+ params: {
153
+ ccCode: 'notification_type',
154
+ userId: util.getStorage('userId'),
155
+ pendingId: this.pendingId
156
+ }
157
+ })
158
+ .then((res) => {
159
+ const { status, data } = res;
160
+ if (status === 'success') {
161
+ this.nextNode.noticeList = data;
162
+ }
163
+ this.getFind();
164
+ })
165
+ .catch((err) => {
166
+ this.loading = false;
167
+ if (err.message && err.message !== 'canceled') {
168
+ this.$message.error(err.message);
169
+ }
170
+ });
171
+ },
172
+ // 提交表单
173
+ subProcess(formName, isNoObj) {
174
+ if (isNoObj) {
175
+ this.quit(false);
176
+ return;
177
+ }
178
+ this.saveProcess(formName);
179
+ },
180
+ saveProcess(formName) {
181
+ this.$refs[formName].validate((valid) => {
182
+ if (valid) {
183
+ if (!this.option && this.isOpinionRequired === 1) {
184
+ this.$message.warning('请选择输入审批意见');
185
+ return;
186
+ }
187
+ this.loading = true;
188
+ let noticeType = this.nextNode.noticeType.join(',');
189
+ let params = {
190
+ pendingId: this.pendingId,
191
+ opinion: this.option, // 审批意见
192
+ notificationMsg: this.newsInformation, // 系统消息
193
+ notificationType: noticeType,
194
+ userId: util.getStorage('userId'),
195
+ nextNodeId: this.nextNode.nextNodeId
196
+ };
197
+ util
198
+ .ajax({ url: taskRejectHtml, method: 'post', data: params })
199
+ .then((res) => {
200
+ const { status, message } = res;
201
+ this.loading = false;
202
+ if (status === 'success') {
203
+ this.quit(true);
204
+ this.simpleTips && this.$message.success('操作成功');
205
+ } else {
206
+ this.$message.error(message || '系统错误,请联系管理员!');
207
+ this.quit(false);
208
+ }
209
+ })
210
+ .catch((err) => {
211
+ this.loading = false;
212
+ if (err.message && err.message !== 'canceled') {
213
+ this.$message.error(err.message);
214
+ }
215
+ });
216
+ } else {
217
+ return false;
218
+ }
219
+ });
220
+ },
221
+ // 取消
222
+ quit(val) {
223
+ this.$emit('cancel', val);
224
+ },
225
+ getFind() {
226
+ util
227
+ .ajax({
228
+ url: findSysCodes
229
+ })
230
+ .then((res) => {
231
+ const { status, message } = res;
232
+ if (status === 'success') {
233
+ this.nextNode.noticeType = message.split(',');
234
+ let arr = [];
235
+ this.nextNode.noticeList.map((item) => {
236
+ this.nextNode.noticeType.map((x) => {
237
+ if (x == item.cciValue) {
238
+ arr.push(x);
239
+ }
240
+ });
241
+ });
242
+ this.nextNode.noticeType = arr;
243
+ }
244
+ })
245
+ .catch((err) => {
246
+ this.loading = false;
247
+ if (err.message && err.message !== 'canceled') {
248
+ this.$message.error(err.message);
249
+ }
250
+ });
251
+ },
252
+ getProcessReject() {
253
+ this.loading = true;
254
+ let params = {
255
+ pendingId: this.pendingId,
256
+ isSinglePage: false,
257
+ opinion: this.option
258
+ };
259
+ util
260
+ .ajax({ url: toTaskRejectHtml, params })
261
+ .then((res) => {
262
+ this.loading = false;
263
+ if (res.status === 'success') {
264
+ const {
265
+ data: {
266
+ rejectTaskNodes,
267
+ taskExamine,
268
+ nodeInfoMap,
269
+ notificationMessageReadOnly,
270
+ readOnlyNotificationType
271
+ }
272
+ } = res;
273
+ this.isOpinionRequired = nodeInfoMap.nodeExtAttr.isOpinionRequired;
274
+ this.readOnlyNotificationType = readOnlyNotificationType;
275
+ this.notificationMessageReadOnly =
276
+ notificationMessageReadOnly == 'true';
277
+ if (!this.isOpinionRequired) {
278
+ this.isOpinionRequired = 0;
279
+ }
280
+ let list = [];
281
+ if (rejectTaskNodes) {
282
+ for (let i in rejectTaskNodes) {
283
+ let obj = {
284
+ id: i,
285
+ name: rejectTaskNodes[i]
286
+ };
287
+ list.push(obj);
288
+ }
289
+ this.nodeName = taskExamine.nodeName;
290
+ this.rejectObj = list;
291
+ this.rejectObj.length != 0 &&
292
+ (this.nextNode.nextNodeId = this.rejectObj[0].id);
293
+ }
294
+ } else {
295
+ this.$message.error(res.message || '系统错误,请联系管理员!');
296
+ this.quit(false);
297
+ }
298
+ })
299
+ .catch((err) => {
300
+ this.loading = false;
301
+ if (err.message && err.message !== 'canceled') {
302
+ this.$message.error(err.message);
303
+ }
304
+ });
305
+
306
+ }
307
+ }
308
+ };
309
+ </script>