eoss-ui 0.6.95 → 0.6.97

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