eoss-ui 0.6.52 → 0.6.53

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 (263) hide show
  1. package/lib/button-group.js +58 -55
  2. package/lib/button.js +58 -55
  3. package/lib/checkbox-group.js +61 -58
  4. package/lib/data-table-form.js +58 -55
  5. package/lib/data-table.js +65 -62
  6. package/lib/date-picker.js +58 -55
  7. package/lib/dialog.js +58 -55
  8. package/lib/eoss-ui.common.js +896 -832
  9. package/lib/flow-group.js +58 -55
  10. package/lib/flow-list.js +139 -136
  11. package/lib/flow.js +467 -424
  12. package/lib/form.js +62 -59
  13. package/lib/handle-user.js +58 -55
  14. package/lib/handler.js +58 -55
  15. package/lib/icon.js +58 -55
  16. package/lib/index.js +1 -1
  17. package/lib/input-number.js +58 -55
  18. package/lib/input.js +59 -56
  19. package/lib/login.js +61 -58
  20. package/lib/main.js +258 -235
  21. package/lib/menu.js +1 -1
  22. package/lib/nav.js +61 -58
  23. package/lib/page.js +58 -55
  24. package/lib/pagination.js +58 -55
  25. package/lib/player.js +58 -55
  26. package/lib/qr-code.js +71 -68
  27. package/lib/radio-group.js +61 -58
  28. package/lib/retrial-auth.js +58 -55
  29. package/lib/select-ganged.js +59 -56
  30. package/lib/select.js +61 -57
  31. package/lib/selector-panel.js +61 -58
  32. package/lib/selector.js +58 -55
  33. package/lib/sizer.js +58 -55
  34. package/lib/steps.js +61 -58
  35. package/lib/switch.js +58 -55
  36. package/lib/table-form.js +58 -55
  37. package/lib/tabs.js +58 -55
  38. package/lib/theme-chalk/index.css +1 -1
  39. package/lib/theme-chalk/upload.css +1 -1
  40. package/lib/tips.js +61 -58
  41. package/lib/tree-group.js +58 -55
  42. package/lib/tree.js +61 -58
  43. package/lib/upload.js +71 -68
  44. package/lib/utils/util.js +54 -51
  45. package/lib/wujie.js +58 -55
  46. package/lib/wxlogin.js +58 -55
  47. package/package.json +159 -159
  48. package/packages/button/index.js +5 -5
  49. package/packages/button/src/main.vue +418 -418
  50. package/packages/button-group/index.js +5 -5
  51. package/packages/button-group/src/main.vue +298 -298
  52. package/packages/calendar/index.js +5 -5
  53. package/packages/card/index.js +5 -5
  54. package/packages/card/src/main.vue +156 -156
  55. package/packages/cascader/index.js +5 -5
  56. package/packages/cascader/src/main.vue +168 -168
  57. package/packages/checkbox-group/index.js +5 -5
  58. package/packages/checkbox-group/src/main.vue +333 -333
  59. package/packages/clients/index.js +5 -5
  60. package/packages/clients/src/main.vue +144 -144
  61. package/packages/data-table/index.js +5 -5
  62. package/packages/data-table/src/children.vue +39 -39
  63. package/packages/data-table/src/column.vue +989 -989
  64. package/packages/data-table/src/main.vue +1822 -1822
  65. package/packages/data-table/src/sizer.vue +195 -195
  66. package/packages/data-table-form/index.js +5 -5
  67. package/packages/data-table-form/src/checkbox.vue +101 -101
  68. package/packages/data-table-form/src/colgroup.vue +17 -17
  69. package/packages/data-table-form/src/main.vue +181 -181
  70. package/packages/data-table-form/src/radio.vue +65 -65
  71. package/packages/data-table-form/src/table.vue +233 -233
  72. package/packages/data-table-form/src/tbody.vue +336 -336
  73. package/packages/data-table-form/src/thead.vue +68 -68
  74. package/packages/date-picker/index.js +5 -5
  75. package/packages/date-picker/src/main.vue +236 -236
  76. package/packages/dialog/index.js +5 -5
  77. package/packages/enable-drag/index.js +5 -5
  78. package/packages/enterprise/index.js +5 -5
  79. package/packages/enterprise/src/main.vue +66 -66
  80. package/packages/error-page/index.js +5 -5
  81. package/packages/error-page/src/main.vue +44 -44
  82. package/packages/flow/index.js +5 -5
  83. package/packages/flow/src/component/CommonOpinions.vue +345 -345
  84. package/packages/flow/src/component/CustomPreset.vue +322 -322
  85. package/packages/flow/src/component/FileList.vue +99 -99
  86. package/packages/flow/src/component/Preset.vue +255 -255
  87. package/packages/flow/src/component/SendMsg.vue +229 -229
  88. package/packages/flow/src/component/TimeLimit.vue +190 -190
  89. package/packages/flow/src/component/taskUnionExamine.vue +611 -611
  90. package/packages/flow/src/form.vue +121 -121
  91. package/packages/flow/src/freeStartFlow.vue +2843 -2843
  92. package/packages/flow/src/main.vue +3131 -3131
  93. package/packages/flow/src/processForm.vue +1031 -1031
  94. package/packages/flow/src/processReject.vue +293 -293
  95. package/packages/flow/src/reset.vue +900 -902
  96. package/packages/flow/src/startTaskRead.vue +641 -597
  97. package/packages/flow/src/supervise.vue +138 -138
  98. package/packages/flow/src/table.vue +58 -58
  99. package/packages/flow-group/index.js +5 -5
  100. package/packages/flow-group/src/main.vue +688 -688
  101. package/packages/flow-list/index.js +5 -5
  102. package/packages/flow-list/src/main.vue +1434 -1434
  103. package/packages/form/index.js +5 -5
  104. package/packages/form/src/main.vue +3583 -3583
  105. package/packages/form/src/table.vue +1426 -1426
  106. package/packages/handle-user/index.js +5 -5
  107. package/packages/handle-user/src/main.vue +138 -138
  108. package/packages/handler/index.js +5 -5
  109. package/packages/handler/src/main.vue +493 -493
  110. package/packages/icon/index.js +5 -5
  111. package/packages/icon/src/main.vue +101 -101
  112. package/packages/icons/index.js +5 -5
  113. package/packages/icons/src/main.vue +81 -81
  114. package/packages/input/index.js +5 -5
  115. package/packages/input/src/main.vue +356 -356
  116. package/packages/input-number/index.js +5 -5
  117. package/packages/input-number/src/main.vue +106 -106
  118. package/packages/label/index.js +5 -5
  119. package/packages/label/src/main.vue +457 -457
  120. package/packages/layout/index.js +5 -5
  121. package/packages/layout/src/item.vue +152 -152
  122. package/packages/layout/src/main.vue +31 -31
  123. package/packages/login/index.js +5 -5
  124. package/packages/login/src/main.vue +1935 -1935
  125. package/packages/login/src/resetPassword.vue +562 -562
  126. package/packages/main/index.js +5 -5
  127. package/packages/main/src/default/index.vue +7 -1
  128. package/packages/main/src/default/message.vue +249 -249
  129. package/packages/main/src/default/notice.vue +157 -157
  130. package/packages/main/src/default/userinfo.vue +503 -503
  131. package/packages/main/src/main.vue +4 -1
  132. package/packages/main/src/public/online.vue +89 -89
  133. package/packages/main/src/public/search.vue +466 -461
  134. package/packages/main/src/public/settings.vue +221 -221
  135. package/packages/main/src/simplicity/apps.vue +388 -388
  136. package/packages/main/src/simplicity/avatar.vue +82 -82
  137. package/packages/main/src/simplicity/handler.vue +259 -259
  138. package/packages/main/src/simplicity/index.vue +2064 -2064
  139. package/packages/main/src/simplicity/lists.vue +84 -84
  140. package/packages/main/src/simplicity/menu-list.vue +128 -128
  141. package/packages/main/src/simplicity/message.vue +259 -259
  142. package/packages/main/src/simplicity/notice.vue +190 -190
  143. package/packages/main/src/simplicity/router-page.vue +45 -45
  144. package/packages/main/src/simplicity/sub-menu.vue +241 -241
  145. package/packages/main/src/simplicity/user.vue +257 -257
  146. package/packages/main/src/simplicity/userinfo.vue +312 -312
  147. package/packages/menu/index.js +5 -5
  148. package/packages/menu/src/main.vue +536 -536
  149. package/packages/nav/index.js +5 -5
  150. package/packages/nav/src/main.vue +351 -351
  151. package/packages/notify/index.js +5 -5
  152. package/packages/notify/src/main.vue +538 -538
  153. package/packages/page/index.js +5 -5
  154. package/packages/page/src/main.vue +167 -167
  155. package/packages/pagination/index.js +5 -5
  156. package/packages/pagination/src/main.vue +96 -96
  157. package/packages/player/index.js +5 -5
  158. package/packages/player/src/main.vue +194 -194
  159. package/packages/qr-code/index.js +5 -5
  160. package/packages/qr-code/src/main.vue +170 -170
  161. package/packages/radio-group/index.js +6 -6
  162. package/packages/radio-group/src/main.vue +319 -319
  163. package/packages/retrial-auth/index.js +5 -5
  164. package/packages/retrial-auth/src/main.vue +280 -280
  165. package/packages/select/index.js +5 -5
  166. package/packages/select/src/main.vue +776 -775
  167. package/packages/select-ganged/index.js +5 -5
  168. package/packages/select-ganged/src/main.vue +724 -724
  169. package/packages/selector/index.js +5 -5
  170. package/packages/selector/src/main.vue +687 -687
  171. package/packages/selector-panel/index.js +5 -5
  172. package/packages/selector-panel/src/main.vue +1027 -1027
  173. package/packages/selector-panel/src/selection.vue +177 -177
  174. package/packages/selector-panel/src/tree.vue +129 -129
  175. package/packages/sizer/index.js +5 -5
  176. package/packages/sizer/src/main.vue +254 -254
  177. package/packages/steps/index.js +5 -5
  178. package/packages/steps/src/main.vue +181 -181
  179. package/packages/switch/index.js +5 -5
  180. package/packages/switch/src/main.vue +154 -154
  181. package/packages/table-form/index.js +5 -5
  182. package/packages/tabs/index.js +5 -5
  183. package/packages/tabs/src/main.vue +788 -788
  184. package/packages/tabs-panel/index.js +5 -5
  185. package/packages/tabs-panel/src/main.vue +29 -29
  186. package/packages/theme-chalk/lib/index.css +1 -1
  187. package/packages/theme-chalk/lib/upload.css +1 -1
  188. package/packages/theme-chalk/src/base.scss +260 -260
  189. package/packages/theme-chalk/src/button-group.scss +175 -175
  190. package/packages/theme-chalk/src/button.scss +24 -24
  191. package/packages/theme-chalk/src/calendar.scss +113 -113
  192. package/packages/theme-chalk/src/card.scss +99 -99
  193. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  194. package/packages/theme-chalk/src/clients.scss +87 -87
  195. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  196. package/packages/theme-chalk/src/data-table.scss +293 -293
  197. package/packages/theme-chalk/src/date-picker.scss +7 -7
  198. package/packages/theme-chalk/src/dialog.scss +77 -77
  199. package/packages/theme-chalk/src/enable-drag.scss +181 -181
  200. package/packages/theme-chalk/src/enterprise.scss +5 -5
  201. package/packages/theme-chalk/src/error-page.scss +18 -18
  202. package/packages/theme-chalk/src/flow-group.scss +110 -110
  203. package/packages/theme-chalk/src/flow-list.scss +36 -36
  204. package/packages/theme-chalk/src/flow.scss +335 -335
  205. package/packages/theme-chalk/src/form.scss +496 -496
  206. package/packages/theme-chalk/src/handle-user.scss +40 -40
  207. package/packages/theme-chalk/src/handler.scss +143 -143
  208. package/packages/theme-chalk/src/icon.scss +1789 -1789
  209. package/packages/theme-chalk/src/icons.scss +99 -99
  210. package/packages/theme-chalk/src/input.scss +9 -9
  211. package/packages/theme-chalk/src/label.scss +24 -24
  212. package/packages/theme-chalk/src/layout.scss +46 -46
  213. package/packages/theme-chalk/src/login.scss +969 -969
  214. package/packages/theme-chalk/src/main.scss +663 -663
  215. package/packages/theme-chalk/src/menu.scss +222 -222
  216. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  217. package/packages/theme-chalk/src/nav.scss +111 -111
  218. package/packages/theme-chalk/src/page.scss +3 -3
  219. package/packages/theme-chalk/src/pagination.scss +29 -29
  220. package/packages/theme-chalk/src/player.scss +9 -9
  221. package/packages/theme-chalk/src/qr-code.scss +17 -17
  222. package/packages/theme-chalk/src/radio-group.scss +9 -9
  223. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  224. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  225. package/packages/theme-chalk/src/select.scss +8 -8
  226. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  227. package/packages/theme-chalk/src/selector.scss +91 -91
  228. package/packages/theme-chalk/src/simplicity.scss +1265 -1265
  229. package/packages/theme-chalk/src/sizer.scss +36 -36
  230. package/packages/theme-chalk/src/steps.scss +88 -88
  231. package/packages/theme-chalk/src/switch.scss +3 -3
  232. package/packages/theme-chalk/src/table-form.scss +1 -1
  233. package/packages/theme-chalk/src/tabs.scss +87 -87
  234. package/packages/theme-chalk/src/tips.scss +7 -7
  235. package/packages/theme-chalk/src/toolbar.scss +179 -179
  236. package/packages/theme-chalk/src/tree-group.scss +72 -72
  237. package/packages/theme-chalk/src/tree.scss +165 -165
  238. package/packages/theme-chalk/src/upload.scss +168 -167
  239. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  240. package/packages/tips/index.js +5 -5
  241. package/packages/tips/src/main.vue +141 -141
  242. package/packages/toolbar/index.js +5 -5
  243. package/packages/toolbar/src/main.vue +430 -430
  244. package/packages/tree/index.js +5 -5
  245. package/packages/tree/src/main.vue +2 -2
  246. package/packages/tree-group/index.js +5 -5
  247. package/packages/upload/index.js +5 -5
  248. package/packages/upload/src/main.vue +1343 -1339
  249. package/packages/upload/src/picture.js +15 -15
  250. package/packages/wujie/index.js +5 -5
  251. package/packages/wujie/src/main.vue +145 -145
  252. package/packages/wxlogin/index.js +5 -5
  253. package/packages/wxlogin/src/main.vue +128 -128
  254. package/src/config/api.js +281 -281
  255. package/src/config/image.js +2 -2
  256. package/src/index.js +1 -1
  257. package/src/utils/bus.js +3 -3
  258. package/src/utils/date-util.js +312 -312
  259. package/src/utils/http.js +50 -50
  260. package/src/utils/rules.js +18 -18
  261. package/src/utils/store.js +21 -21
  262. package/src/utils/util.js +15 -12
  263. package/src/utils/webSocket.js +107 -107
@@ -1,597 +1,641 @@
1
- <template>
2
- <div
3
- v-loading="loading"
4
- class="task-read"
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="110px"
14
- >
15
- <div :style="`max-height: ${typeCode?'unset' : '290px'}; overflow-y: auto; margin-bottom: 10px`">
16
- <el-form-item
17
- prop="handleExplain"
18
- label="当前步骤"
19
- v-if="type === 'transfer'"
20
- >
21
- <el-input readonly v-model="nextNode.nodeName"></el-input>
22
- </el-form-item>
23
- <el-form-item
24
- v-if="type == 'transfer' && transferInfo.isSinglePage"
25
- prop="handleExplain"
26
- label="意见"
27
- >
28
- <el-input
29
- v-model="nextNode.handleExplain"
30
- placeholder="请填写意见"
31
- ></el-input>
32
- </el-form-item>
33
- <el-form-item
34
- prop="nextUser"
35
- :label="
36
- type === 'transfer'
37
- ? '转办对象'
38
- : configInfo.isCdjxjTaskHandle == 'true'
39
- ? '接收人'
40
- : '办理用户'
41
- "
42
- >
43
- <SelectUser
44
- :nextUser="nextNode.nextUser"
45
- :options="userOptions"
46
- :multiple="type != 'transfer' ? multiple : false"
47
- :mix="type != 'transfer'"
48
- :selectUserList="selectUserList"
49
- :types="
50
- type == 'transfer'
51
- ? ['employee', 'persongroup']
52
- : ['employee', 'enterprise', 'department', 'persongroup']
53
- "
54
- @change="changeSelectUser($event, 'nextUser')"
55
- :tabs="tabs"
56
- :where="{ type: 'user' }"
57
- />
58
- </el-form-item>
59
-
60
- <el-form-item
61
- v-if="configInfo.isCdjxjTaskHandle != 'true' && type != 'transfer'"
62
- prop="cy"
63
- label="常用群组"
64
- ><el-checkbox-group v-model="selectCheck">
65
- <el-checkbox
66
- @change="handleSelectCheck($event, item)"
67
- v-for="item in configInfo.groups"
68
- :label="item.name"
69
- :key="item.id"
70
- >{{ item.name }}</el-checkbox
71
- >
72
- </el-checkbox-group>
73
- </el-form-item>
74
- <el-form-item
75
- v-if="configInfo.fyDoresult == 'true'"
76
- prop="showDoresult"
77
- label="流程意见"
78
- ><el-radio v-model="nextNode.showDoresult" label="0">分阅</el-radio>
79
- <el-radio v-model="nextNode.showDoresult" label="1">不分阅</el-radio>
80
- </el-form-item>
81
- <el-form-item
82
- v-if="configInfo.fyeh == 'true'"
83
- prop="isInHistory"
84
- label="分阅记录"
85
- ><el-radio v-model="nextNode.isInHistory" label="0">记录</el-radio>
86
- <el-radio v-model="nextNode.isInHistory" label="1">不记录</el-radio>
87
- </el-form-item>
88
- <el-form-item
89
- v-if="configInfo.download"
90
- prop="isDownload"
91
- label="打印下载文件"
92
- ><el-radio v-model="nextNode.isDownload" label="0">允许</el-radio>
93
- <el-radio v-model="nextNode.isDownload" label="1">不允许</el-radio>
94
- </el-form-item>
95
- <el-form-item
96
- prop="handleExplain"
97
- :label="configInfo.isCdjxjTaskHandle == 'true' ? '附言' : '办理说明'"
98
- v-if="type != 'transfer'"
99
- >
100
- <el-input
101
- v-model="nextNode.handleExplain"
102
- placeholder="请填写办理说明"
103
- ></el-input>
104
- </el-form-item>
105
- <el-form-item
106
- v-if="configInfo.isCdjxjTaskHandle != 'true'"
107
- prop="noticeType"
108
- label="通知方式"
109
- :rules="[
110
- { required: false, message: `请选择通知方式`, trigger: 'blur' }
111
- ]"
112
- >
113
- <el-checkbox-group v-model="nextNode.noticeType" style="display:contents">
114
- <el-checkbox
115
- v-for="item of noticeList"
116
- :key="item.cciValue"
117
- :label="item.cciValue"
118
- :disabled="readOnlyNotificationType
119
- ? readOnlyNotificationType.indexOf(item.cciValue) != -1
120
- : false"
121
- >
122
- {{ item.shortName }}
123
- </el-checkbox>
124
- </el-checkbox-group>
125
- </el-form-item>
126
- <el-form-item
127
- v-show="
128
- nextNode.noticeType.length != 0 &&
129
- configInfo.isCdjxjTaskHandle != 'true'
130
- "
131
- prop="nextNode"
132
- label="通知消息"
133
- >
134
- <es-input
135
- style="
136
- border-color: #ccc;
137
- padding: 5px;
138
- border-radius: 5px;
139
- font-size: 13px;
140
- "
141
- type="textarea"
142
- v-model="newsNoice"
143
- :readonly="notificationMessageReadOnly =='true'"
144
- />
145
- <!-- <span>{{ newsInfo }}</span> -->
146
- </el-form-item>
147
- </div>
148
- <el-form-item>
149
- <div style="text-align: right">
150
- <el-button type="primary" size="small" @click="submit('nextNode')">
151
- 提交
152
- </el-button>
153
- </div>
154
- </el-form-item>
155
- </el-form>
156
- </div>
157
- </template>
158
-
159
- <script>
160
- import {
161
- findSysCodes,
162
- taskReadHtml,
163
- toStartTaskRead,
164
- toTaskTransferIndex,
165
- taskTransfer,
166
- findCodeValues
167
- } from 'eoss-ui/src/config/api';
168
- import util from 'eoss-ui/src/utils/util';
169
- import SelectUser from './selectUser.vue';
170
- export default {
171
- name: 'StartTaskRead',
172
- components: {
173
- [Option.name]: Option,
174
- [SelectUser.name]: SelectUser
175
- },
176
- props: {
177
- pendingId: { type: String, default: '' },
178
- newsInfo: { type: String, default: '' },
179
- type: { type: String, default: '' },
180
- option: { type: String, default: '' },
181
- typeCode: { type: String, default: '' },
182
- taskExamine: { type: Object, default: () => {} }
183
- },
184
- data() {
185
- return {
186
- loading: false,
187
- newsNoice:'',
188
- readOnlyNotificationType:'',
189
- notificationMessageReadOnly:false,
190
- nextNode: {
191
- nextUser: [],
192
- userInfo: [],
193
- noticeType: [],
194
- handleExplain: '',
195
- showDoresult: '0',
196
- isInHistory: '0',
197
- isDownload: '0'
198
- },
199
- mixList: [],
200
- newSelectUserList: [],
201
- orgId: '',
202
- noticeList: [],
203
- userOptions: [],
204
- selectCheck: [],
205
- selectUserList: [],
206
- transferInfo: {},
207
- multiple: true,
208
- params: { filid: 'all' },
209
- configInfo: {}
210
- };
211
- },
212
- computed: {
213
- tabs() {
214
- let tab = {};
215
- if (this.type != 'transfer') {
216
- tab = {
217
- employee: {
218
- param: {
219
- filid: this.orgId,
220
- name: '本单位用户'
221
- }
222
- },
223
- department: { param: { filid: this.orgId } },
224
- enterprise: {}
225
- };
226
- } else {
227
- tab = {
228
- employee: {
229
- param: {
230
- filid: this.orgId
231
- }
232
- }
233
- };
234
- }
235
- return tab;
236
- }
237
- },
238
- mounted() {
239
- this.newsNoice = this.newsInfo
240
- this.getFind();
241
- if(util.getStorage('mainConfig')){
242
- this.orgId = JSON.parse(util.getStorage('mainConfig')).userModel.orgId
243
- }
244
- },
245
- methods: {
246
- toTaskTransfer() {
247
- const { opinion, pendingId, taskExamine } = this;
248
- let params = {
249
- url: toTaskTransferIndex,
250
- params: {
251
- opinion,
252
- pendingId,
253
- isSubFlow: taskExamine.isSubFlow,
254
- isSinglePage: taskExamine.isSinglePage
255
- }
256
- };
257
- util
258
- .ajax(params)
259
- .then((res) => {
260
- const {
261
- status,
262
- message,
263
- data: { choiceDeptId, choiceOrgId, nodeInfoMap, taskExamine }
264
- } = res;
265
- if (status == 'success') {
266
- this.isMultipleTransfer(
267
- nodeInfoMap.nodeExtAttr.userSelectionType,
268
- choiceOrgId,
269
- choiceDeptId
270
- );
271
- this.nextNode.nodeName = taskExamine.nodeName;
272
- this.transferInfo = taskExamine;
273
- } else {
274
- this.$message.error(message || '系统错误,请联系管理员!');
275
- }
276
- })
277
- .catch((err) => {
278
- this.loading = false;
279
- if (err.message && err.message !== 'canceled') {
280
- this.$message.error(err.message);
281
- }
282
- });
283
- },
284
- isMultipleTransfer(val, choiceOrgId, choiceDeptId, pOrgId) {
285
- if (val == 2 || val == 4 || val == 6 || val == 16) {
286
- this.multiple = true;
287
- } else {
288
- this.multiple = false;
289
- }
290
- if (val == 1 || val == 2 || val == 5) {
291
- this.params.filid = this.orgId;
292
- if (choiceOrgId) {
293
- this.params.filid = choiceOrgId;
294
- }
295
- }
296
- if (val == 5 || val == 6) {
297
- this.params.filid = this.orgId;
298
- this.params.deptid = this.orgId;
299
- if (choiceDeptId) {
300
- this.params.deptid = choiceDeptId;
301
- }
302
- if (choiceOrgId) {
303
- this.params.filid = choiceOrgId;
304
- }
305
- }
306
- if (val == 15 || val == 16) {
307
- this.params.filid = this.orgId;
308
- if (pOrgId) {
309
- this.params.filid = pOrgId;
310
- }
311
- }
312
- },
313
- isMultiple() {
314
- let orgId = this.orgId;
315
- if (this.configInfo.selectPersonValue == 1) {
316
- this.multiple = false;
317
- this.params.filid = orgId;
318
- } else if (this.configInfo.selectPersonValue == 2) {
319
- this.multiple = true;
320
- this.params.filid = orgId;
321
- } else if (this.configInfo.selectPersonValue == 3) {
322
- this.multiple = false;
323
- this.params.filid = 'all';
324
- } else if (this.configInfo.selectPersonValue == 4) {
325
- this.multiple = true;
326
- this.params.filid = 'all';
327
- } else if (this.configInfo.selectPersonValue == 5) {
328
- this.multiple = false;
329
- this.params.filid = '';
330
- } else if (this.configInfo.selectPersonValue == 6) {
331
- this.multiple = true;
332
- this.params.filid = '';
333
- }
334
- },
335
- handleSelectCheck(val, data) {
336
- let { userIds, userNames } = data;
337
- if (val) {
338
- let newUserIds = userIds.split(',');
339
- let newUserNames = userNames.split(',');
340
- newUserIds.map((item, index) => {
341
- this.nextNode.nextUser.push(item);
342
- this.userOptions.push({ id: item, name: newUserNames[index] });
343
-
344
- this.selectUserList.push({
345
- showid: item,
346
- showname: newUserNames[index]
347
- });
348
- });
349
- // this.selectUserList = this.newSelectUserList
350
- } else {
351
- let newUserIds = userIds.split(',');
352
- for (let i = 0; i < this.nextNode.nextUser.length; i++) {
353
- for (let j = 0; j < newUserIds.length; j++) {
354
- if (this.nextNode.nextUser[i] == newUserIds[j]) {
355
- this.nextNode.nextUser.splice(i, 1);
356
- }
357
- }
358
- }
359
- for (let z = 0; z < this.userOptions.length; z++) {
360
- for (let x = 0; x < newUserIds.length; x++) {
361
- if (this.userOptions[z].id == newUserIds[x]) {
362
- this.userOptions.splice(z, 1);
363
- this.selectUserList.splice(z, 1);
364
- }
365
- }
366
- }
367
- // this.newSelectUserList = this.selectUserList
368
- }
369
- },
370
- toStartTaskRead() {
371
- let params = {
372
- url: toStartTaskRead,
373
- params: { pendingId: this.pendingId, taskAction: this.type }
374
- };
375
- if (this.type != 'taskReadAndEnd') delete params.params.taskAction;
376
- util
377
- .ajax(params)
378
- .then((res) => {
379
- const { status, data } = res;
380
- if (status === 'success') {
381
- this.configInfo = data;
382
- this.isMultiple();
383
- }
384
- })
385
- .catch((err) => {
386
- this.loading = false;
387
- if (err.message && err.message !== 'canceled') {
388
- this.$message.error(err.message);
389
- }
390
- });
391
- },
392
- changeSelectUser(val, type) {
393
- const { nextUser, options, mixList } = val;
394
- this.nextNode[type] = nextUser;
395
- this.mixList = mixList;
396
- options.map((item) => {
397
- this.newSelectUserList.push({
398
- showname: item.showname,
399
- showid: item.showid
400
- });
401
- });
402
- },
403
- getNodeType() {
404
- util
405
- .ajax({
406
- url: findCodeValues,
407
- params: { ccCode: 'notification_type',userId:util.getStorage('userId') }
408
- })
409
- .then((res) => {
410
- const { status, data } = res;
411
- if (status === 'success') {
412
- this.noticeList = data;
413
- let arr = [];
414
- this.noticeList.map((item) => {
415
- this.nextNode.noticeType.map((x) => {
416
- if (x == item.cciValue) {
417
- arr.push(x);
418
- }
419
- });
420
- });
421
- this.nextNode.noticeType = arr;
422
- }
423
- })
424
- .catch((err) => {
425
- this.loading = false;
426
- if (err.message && err.message !== 'canceled') {
427
- this.$message.error(err.message);
428
- }
429
- });
430
- },
431
- // 转办提交
432
- subTaskTransfer() {
433
- const { choiceDeptId, choiceOrgId, bCode, bName } = this.taskExamine;
434
- const { opinion, pendingId, nextNode, newsNoice, multiple,type } = this;
435
- let params = {
436
- url: taskTransfer,
437
- data: {
438
- choiceDeptId,
439
- choiceOrgId,
440
- bCode,
441
- bName,
442
- nextUserId: multiple && type != 'transfer'
443
- ? nextNode.nextUser.join(',')
444
- : nextNode.nextUser,
445
- opinion,
446
- pendingId,
447
- notificationType: nextNode.noticeType.join(','),
448
- notificationMsg: newsNoice
449
- },
450
- headers: { Accept: 'application/json,text/plain' },
451
- method: 'post'
452
- };
453
- util
454
- .ajax(params)
455
- .then((res) => {
456
- const { message, status } = res;
457
- if (status === 'success') {
458
- this.$message.success('操作成功');
459
- this.quit(true);
460
- } else {
461
- this.$message.error(message || '系统错误,请联系管理员!');
462
- }
463
- this.loading = false;
464
- })
465
- .catch((err) => {
466
- this.loading = false;
467
- if (err.message && err.message !== 'canceled') {
468
- this.$message.error(err.message);
469
- }
470
- });
471
- },
472
- // 提交表单
473
- submit(formName) {
474
- this.$refs[formName].validate((valid) => {
475
- if (valid) {
476
- if (!this.option && this.isOpinionRequired === 1) {
477
- this.$message.warning('请选择输入审批意见');
478
- return;
479
- }
480
- // let nextUser = [];
481
- // this.nextNode.nextUser.map(item => {
482
- // nextUser.push(item);
483
- // });
484
- let noticeType = '';
485
- noticeType = this.nextNode.noticeType.join(',');
486
- this.loading = true;
487
- if (this.type === 'transfer') {
488
- this.subTaskTransfer();
489
- } else {
490
- const {
491
- appId,
492
- businessId,
493
- bCode,
494
- bName,
495
- choiceDeptId,
496
- choiceOrgId,
497
- businessName,
498
- processDefinitionId
499
- } = this.taskExamine;
500
- let params = {
501
- ...this.nextNode,
502
- bCode,
503
- bName,
504
- appId,
505
- businessId,
506
- choiceDeptId,
507
- choiceOrgId,
508
- businessName,
509
- processDefinitionId,
510
- currentOrgProcessKey: processDefinitionId,
511
- pendingId: this.pendingId,
512
- opinion: this.option, // 审批意见
513
- userId: util.getStorage('userId'),
514
- nextReadUserId: this.mixList.join('|'),
515
- noticeType,
516
- taskAction: this.type
517
- // nextNodeId: this.form.nextNodeId
518
- };
519
- delete params.nextUser;
520
- const { fyDoresult, fyeh, download, isCdjxjTaskHandle } =
521
- this.configInfo;
522
- fyDoresult != 'true' && delete params.showDoresult;
523
- fyeh != 'true' && delete params.isInHistory;
524
- !download && delete params.isDownload;
525
- isCdjxjTaskHandle == 'true' && delete params.noticeType;
526
- util
527
- .ajax({
528
- url: taskReadHtml,
529
- params: { taskAction: this.type },
530
- headers: {
531
- Accept: 'application/json,text/plain'
532
- },
533
- method: 'post',
534
- data: params
535
- })
536
- .then((res) => {
537
- const { message, status } = res;
538
- this.loading = false;
539
- if (status === 'success') {
540
- this.$message.success('操作成功');
541
- this.quit(true);
542
- } else {
543
- this.$message.error(message || '系统错误,请联系管理员!');
544
- }
545
- })
546
- .catch((err) => {
547
- this.loading = false;
548
- if (err.message && err.message !== 'canceled') {
549
- this.$message.error(err.message);
550
- }
551
- });
552
- }
553
- } else {
554
- return false;
555
- }
556
- });
557
- },
558
- quit(val) {
559
- if (val === true) return this.$emit('cancel', this.type);
560
- this.$emit('cancel');
561
- },
562
-
563
- getFind() {
564
- this.loading = true;
565
- util
566
- .ajax({
567
- url: findSysCodes
568
- })
569
- .then((res) => {
570
- const { status, message,data } = res;
571
- this.loading = false;
572
- if (status === 'success') {
573
- this.nextNode.noticeType = message.split(',');
574
- if(data){
575
- this.notificationMessageReadOnly = data.notificationMessageReadOnly
576
- this.readOnlyNotificationType = data.readOnlyNotificationType
577
- }
578
- } else {
579
- this.$message.error(message || '系统错误,请联系管理员!');
580
- }
581
- this.getNodeType();
582
- if (this.type === 'transfer') {
583
- this.toTaskTransfer();
584
- } else {
585
- this.toStartTaskRead();
586
- }
587
- })
588
- .catch((err) => {
589
- this.loading = false;
590
- if (err.message && err.message !== 'canceled') {
591
- this.$message.error(err.message);
592
- }
593
- });
594
- }
595
- }
596
- };
597
- </script>
1
+ <template>
2
+ <div
3
+ v-loading="loading"
4
+ class="task-read"
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="110px"
14
+ >
15
+ <div
16
+ :style="`max-height: ${
17
+ typeCode ? 'unset' : '290px'
18
+ }; overflow-y: auto; margin-bottom: 10px`"
19
+ >
20
+ <el-form-item
21
+ prop="handleExplain"
22
+ label="当前步骤"
23
+ v-if="type === 'transfer'"
24
+ >
25
+ <el-input readonly v-model="nextNode.nodeName"></el-input>
26
+ </el-form-item>
27
+ <el-form-item
28
+ v-if="type == 'transfer' && transferInfo.isSinglePage"
29
+ prop="handleExplain"
30
+ label="意见"
31
+ >
32
+ <el-input
33
+ v-model="nextNode.handleExplain"
34
+ placeholder="请填写意见"
35
+ ></el-input>
36
+ </el-form-item>
37
+ <el-form-item
38
+ prop="nextUser"
39
+ :label="
40
+ type === 'transfer'
41
+ ? '转办对象'
42
+ : configInfo.isCdjxjTaskHandle == 'true'
43
+ ? '接收人'
44
+ : '办理用户'
45
+ "
46
+ >
47
+ <SelectUser
48
+ :nextUser="nextNode.nextUser"
49
+ :options="userOptions"
50
+ :multiple="type != 'transfer' ? multiple : false"
51
+ :mix="type != 'transfer'"
52
+ :selectUserList="selectUserList"
53
+ :types="
54
+ type == 'transfer'
55
+ ? ['employee', 'persongroup']
56
+ : ['employee', 'enterprise', 'department', 'persongroup']
57
+ "
58
+ @change="changeSelectUser($event, 'nextUser')"
59
+ :tabs="tabs"
60
+ :where="{ type: 'user' }"
61
+ />
62
+ </el-form-item>
63
+
64
+ <el-form-item
65
+ v-if="configInfo.isCdjxjTaskHandle != 'true' && type != 'transfer'"
66
+ prop="cy"
67
+ label="常用群组"
68
+ ><el-checkbox-group v-model="selectCheck">
69
+ <el-checkbox
70
+ @change="handleSelectCheck($event, item)"
71
+ v-for="item in configInfo.groups"
72
+ :label="item.name"
73
+ :key="item.id"
74
+ >{{ item.name }}</el-checkbox
75
+ >
76
+ </el-checkbox-group>
77
+ </el-form-item>
78
+ <el-form-item
79
+ v-if="configInfo.fyDoresult == 'true'"
80
+ prop="showDoresult"
81
+ label="流程意见"
82
+ ><el-radio v-model="nextNode.showDoresult" label="0">分阅</el-radio>
83
+ <el-radio v-model="nextNode.showDoresult" label="1">不分阅</el-radio>
84
+ </el-form-item>
85
+ <el-form-item
86
+ v-if="configInfo.fyeh == 'true'"
87
+ prop="isInHistory"
88
+ label="分阅记录"
89
+ ><el-radio v-model="nextNode.isInHistory" label="0">记录</el-radio>
90
+ <el-radio v-model="nextNode.isInHistory" label="1">不记录</el-radio>
91
+ </el-form-item>
92
+ <el-form-item
93
+ v-if="configInfo.download"
94
+ prop="isDownload"
95
+ label="打印下载文件"
96
+ ><el-radio v-model="nextNode.isDownload" label="0">允许</el-radio>
97
+ <el-radio v-model="nextNode.isDownload" label="1">不允许</el-radio>
98
+ </el-form-item>
99
+ <el-form-item
100
+ prop="handleExplain"
101
+ :label="configInfo.isCdjxjTaskHandle == 'true' ? '附言' : '办理说明'"
102
+ v-if="type != 'transfer'"
103
+ >
104
+ <el-input
105
+ v-model="nextNode.handleExplain"
106
+ placeholder="请填写办理说明"
107
+ ></el-input>
108
+ </el-form-item>
109
+ <el-form-item
110
+ v-if="configInfo.isCdjxjTaskHandle != 'true'"
111
+ prop="noticeType"
112
+ label="通知方式"
113
+ :rules="[
114
+ { required: false, message: `请选择通知方式`, trigger: 'blur' }
115
+ ]"
116
+ >
117
+ <el-checkbox-group
118
+ v-model="nextNode.noticeType"
119
+ style="display: contents"
120
+ >
121
+ <el-checkbox
122
+ v-for="item of noticeList"
123
+ :key="item.cciValue"
124
+ :label="item.cciValue"
125
+ :disabled="
126
+ readOnlyNotificationType
127
+ ? readOnlyNotificationType.indexOf(item.cciValue) != -1
128
+ : false
129
+ "
130
+ >
131
+ {{ item.shortName }}
132
+ </el-checkbox>
133
+ </el-checkbox-group>
134
+ </el-form-item>
135
+ <el-form-item
136
+ v-show="
137
+ nextNode.noticeType.length != 0 &&
138
+ configInfo.isCdjxjTaskHandle != 'true'
139
+ "
140
+ prop="nextNode"
141
+ label="通知消息"
142
+ >
143
+ <es-input
144
+ style="
145
+ border-color: #ccc;
146
+ padding: 5px;
147
+ border-radius: 5px;
148
+ font-size: 13px;
149
+ "
150
+ type="textarea"
151
+ v-model="newsNoice"
152
+ :readonly="notificationMessageReadOnly == 'true'"
153
+ />
154
+ <!-- <span>{{ newsInfo }}</span> -->
155
+ </el-form-item>
156
+ </div>
157
+ <el-form-item>
158
+ <div style="text-align: right">
159
+ <el-button type="primary" size="small" @click="submit('nextNode')">
160
+ 提交
161
+ </el-button>
162
+ </div>
163
+ </el-form-item>
164
+ </el-form>
165
+ </div>
166
+ </template>
167
+
168
+ <script>
169
+ import {
170
+ findSysCodes,
171
+ taskReadHtml,
172
+ toStartTaskRead,
173
+ toTaskTransferIndex,
174
+ getNotificationMsg,
175
+ taskTransfer,
176
+ findCodeValues
177
+ } from 'eoss-ui/src/config/api';
178
+ import util from 'eoss-ui/src/utils/util';
179
+ import SelectUser from './selectUser.vue';
180
+ export default {
181
+ name: 'StartTaskRead',
182
+ components: {
183
+ [Option.name]: Option,
184
+ [SelectUser.name]: SelectUser
185
+ },
186
+ props: {
187
+ pendingId: { type: String, default: '' },
188
+ newsInfo: { type: String, default: '' },
189
+ type: { type: String, default: '' },
190
+ option: { type: String, default: '' },
191
+ typeCode: { type: String, default: '' },
192
+ taskExamine: { type: Object, default: () => {} },
193
+ readParams: {
194
+ type: [Object,undefined],
195
+ default: undefined
196
+ },
197
+ },
198
+ data() {
199
+ return {
200
+ loading: false,
201
+ newsNoice: '',
202
+ readOnlyNotificationType: '',
203
+ notificationMessageReadOnly: false,
204
+ nextNode: {
205
+ nextUser: [],
206
+ userInfo: [],
207
+ noticeType: [],
208
+ handleExplain: '',
209
+ showDoresult: '0',
210
+ isInHistory: '0',
211
+ isDownload: '0'
212
+ },
213
+ mixList: [],
214
+ newSelectUserList: [],
215
+ orgId: '',
216
+ noticeList: [],
217
+ userOptions: [],
218
+ selectCheck: [],
219
+ selectUserList: [],
220
+ transferInfo: {},
221
+ multiple: true,
222
+ params: { filid: 'all' },
223
+ configInfo: {}
224
+ };
225
+ },
226
+ computed: {
227
+ tabs() {
228
+ let tab = {};
229
+ if (this.type != 'transfer') {
230
+ tab = {
231
+ employee: {
232
+ param: {
233
+ filid: this.orgId,
234
+ name: '本单位用户'
235
+ }
236
+ },
237
+ department: { param: { filid: this.orgId } },
238
+ enterprise: {}
239
+ };
240
+ } else {
241
+ tab = {
242
+ employee: {
243
+ param: {
244
+ filid: this.orgId
245
+ }
246
+ }
247
+ };
248
+ }
249
+ return tab;
250
+ }
251
+ },
252
+ mounted() {
253
+ this.newsNoice = this.newsInfo;
254
+ if(this.readParams){
255
+ this.getMessage()
256
+ }
257
+ this.getFind();
258
+ if (util.getStorage('mainConfig')) {
259
+ this.orgId = JSON.parse(util.getStorage('mainConfig')).userModel.orgId;
260
+ }
261
+ },
262
+ methods: {
263
+ //获取通知信息
264
+ getMessage() {
265
+ let params = {
266
+ appId: this.readParams.appId
267
+ };
268
+ util
269
+ .ajax({ url: getNotificationMsg, params, methods: 'post' })
270
+ .then((res) => {
271
+ if (res.status === 'success') {
272
+ this.newsNoice = res.message;
273
+ }
274
+ })
275
+ .catch((err) => {
276
+ this.loading = false;
277
+ if (err.message && err.message !== 'canceled') {
278
+ this.$message.error(err.message);
279
+ }
280
+ });
281
+ },
282
+ toTaskTransfer() {
283
+ const { opinion, pendingId, taskExamine } = this;
284
+ let params = {
285
+ url: toTaskTransferIndex,
286
+ params: {
287
+ opinion,
288
+ pendingId,
289
+ isSubFlow: taskExamine.isSubFlow,
290
+ isSinglePage: taskExamine.isSinglePage
291
+ }
292
+ };
293
+ util
294
+ .ajax(params)
295
+ .then((res) => {
296
+ const {
297
+ status,
298
+ message,
299
+ data: { choiceDeptId, choiceOrgId, nodeInfoMap, taskExamine }
300
+ } = res;
301
+ if (status == 'success') {
302
+ this.isMultipleTransfer(
303
+ nodeInfoMap.nodeExtAttr.userSelectionType,
304
+ choiceOrgId,
305
+ choiceDeptId
306
+ );
307
+ this.nextNode.nodeName = taskExamine.nodeName;
308
+ this.transferInfo = taskExamine;
309
+ } else {
310
+ this.$message.error(message || '系统错误,请联系管理员!');
311
+ }
312
+ })
313
+ .catch((err) => {
314
+ this.loading = false;
315
+ if (err.message && err.message !== 'canceled') {
316
+ this.$message.error(err.message);
317
+ }
318
+ });
319
+ },
320
+ isMultipleTransfer(val, choiceOrgId, choiceDeptId, pOrgId) {
321
+ if (val == 2 || val == 4 || val == 6 || val == 16) {
322
+ this.multiple = true;
323
+ } else {
324
+ this.multiple = false;
325
+ }
326
+ if (val == 1 || val == 2 || val == 5) {
327
+ this.params.filid = this.orgId;
328
+ if (choiceOrgId) {
329
+ this.params.filid = choiceOrgId;
330
+ }
331
+ }
332
+ if (val == 5 || val == 6) {
333
+ this.params.filid = this.orgId;
334
+ this.params.deptid = this.orgId;
335
+ if (choiceDeptId) {
336
+ this.params.deptid = choiceDeptId;
337
+ }
338
+ if (choiceOrgId) {
339
+ this.params.filid = choiceOrgId;
340
+ }
341
+ }
342
+ if (val == 15 || val == 16) {
343
+ this.params.filid = this.orgId;
344
+ if (pOrgId) {
345
+ this.params.filid = pOrgId;
346
+ }
347
+ }
348
+ },
349
+ isMultiple() {
350
+ let orgId = this.orgId;
351
+ if (this.configInfo.selectPersonValue == 1) {
352
+ this.multiple = false;
353
+ this.params.filid = orgId;
354
+ } else if (this.configInfo.selectPersonValue == 2) {
355
+ this.multiple = true;
356
+ this.params.filid = orgId;
357
+ } else if (this.configInfo.selectPersonValue == 3) {
358
+ this.multiple = false;
359
+ this.params.filid = 'all';
360
+ } else if (this.configInfo.selectPersonValue == 4) {
361
+ this.multiple = true;
362
+ this.params.filid = 'all';
363
+ } else if (this.configInfo.selectPersonValue == 5) {
364
+ this.multiple = false;
365
+ this.params.filid = '';
366
+ } else if (this.configInfo.selectPersonValue == 6) {
367
+ this.multiple = true;
368
+ this.params.filid = '';
369
+ }
370
+ },
371
+ handleSelectCheck(val, data) {
372
+ let { userIds, userNames } = data;
373
+ if (val) {
374
+ let newUserIds = userIds.split(',');
375
+ let newUserNames = userNames.split(',');
376
+ newUserIds.map((item, index) => {
377
+ this.nextNode.nextUser.push(item);
378
+ this.userOptions.push({ id: item, name: newUserNames[index] });
379
+
380
+ this.selectUserList.push({
381
+ showid: item,
382
+ showname: newUserNames[index]
383
+ });
384
+ });
385
+ // this.selectUserList = this.newSelectUserList
386
+ } else {
387
+ let newUserIds = userIds.split(',');
388
+ for (let i = 0; i < this.nextNode.nextUser.length; i++) {
389
+ for (let j = 0; j < newUserIds.length; j++) {
390
+ if (this.nextNode.nextUser[i] == newUserIds[j]) {
391
+ this.nextNode.nextUser.splice(i, 1);
392
+ }
393
+ }
394
+ }
395
+ for (let z = 0; z < this.userOptions.length; z++) {
396
+ for (let x = 0; x < newUserIds.length; x++) {
397
+ if (this.userOptions[z].id == newUserIds[x]) {
398
+ this.userOptions.splice(z, 1);
399
+ this.selectUserList.splice(z, 1);
400
+ }
401
+ }
402
+ }
403
+ // this.newSelectUserList = this.selectUserList
404
+ }
405
+ },
406
+ toStartTaskRead() {
407
+ let params = {
408
+ url: toStartTaskRead,
409
+ params: { pendingId: this.pendingId, taskAction: this.type }
410
+ };
411
+ if (this.type != 'taskReadAndEnd') delete params.params.taskAction;
412
+ util
413
+ .ajax(params)
414
+ .then((res) => {
415
+ const { status, data } = res;
416
+ if (status === 'success') {
417
+ this.configInfo = data;
418
+ this.isMultiple();
419
+ }
420
+ })
421
+ .catch((err) => {
422
+ this.loading = false;
423
+ if (err.message && err.message !== 'canceled') {
424
+ this.$message.error(err.message);
425
+ }
426
+ });
427
+ },
428
+ changeSelectUser(val, type) {
429
+ const { nextUser, options, mixList } = val;
430
+ this.nextNode[type] = nextUser;
431
+ this.mixList = mixList;
432
+ options.map((item) => {
433
+ this.newSelectUserList.push({
434
+ showname: item.showname,
435
+ showid: item.showid
436
+ });
437
+ });
438
+ },
439
+ getNodeType() {
440
+ util
441
+ .ajax({
442
+ url: findCodeValues,
443
+ params: {
444
+ ccCode: 'notification_type',
445
+ userId: util.getStorage('userId')
446
+ }
447
+ })
448
+ .then((res) => {
449
+ const { status, data } = res;
450
+ if (status === 'success') {
451
+ this.noticeList = data;
452
+ let arr = [];
453
+ this.noticeList.map((item) => {
454
+ this.nextNode.noticeType.map((x) => {
455
+ if (x == item.cciValue) {
456
+ arr.push(x);
457
+ }
458
+ });
459
+ });
460
+ this.nextNode.noticeType = arr;
461
+ }
462
+ })
463
+ .catch((err) => {
464
+ this.loading = false;
465
+ if (err.message && err.message !== 'canceled') {
466
+ this.$message.error(err.message);
467
+ }
468
+ });
469
+ },
470
+ // 转办提交
471
+ subTaskTransfer() {
472
+ const { choiceDeptId, choiceOrgId, bCode, bName } = this.taskExamine;
473
+ const { opinion, pendingId, nextNode, newsNoice, multiple, type } = this;
474
+ let params = {
475
+ url: taskTransfer,
476
+ data: {
477
+ choiceDeptId,
478
+ choiceOrgId,
479
+ bCode,
480
+ bName,
481
+ nextUserId:
482
+ multiple && type != 'transfer'
483
+ ? nextNode.nextUser.join(',')
484
+ : nextNode.nextUser,
485
+ opinion,
486
+ pendingId,
487
+ notificationType: nextNode.noticeType.join(','),
488
+ notificationMsg: newsNoice
489
+ },
490
+ headers: { Accept: 'application/json,text/plain' },
491
+ method: 'post'
492
+ };
493
+ util
494
+ .ajax(params)
495
+ .then((res) => {
496
+ const { message, status } = res;
497
+ if (status === 'success') {
498
+ this.$message.success('操作成功');
499
+ this.quit(true);
500
+ } else {
501
+ this.$message.error(message || '系统错误,请联系管理员!');
502
+ }
503
+ this.loading = false;
504
+ })
505
+ .catch((err) => {
506
+ this.loading = false;
507
+ if (err.message && err.message !== 'canceled') {
508
+ this.$message.error(err.message);
509
+ }
510
+ });
511
+ },
512
+ // 提交表单
513
+ submit(formName) {
514
+ this.$refs[formName].validate((valid) => {
515
+ if (valid) {
516
+ if (!this.option && this.isOpinionRequired === 1) {
517
+ this.$message.warning('请选择输入审批意见');
518
+ return;
519
+ }
520
+ // let nextUser = [];
521
+ // this.nextNode.nextUser.map(item => {
522
+ // nextUser.push(item);
523
+ // });
524
+ let noticeType = '';
525
+ noticeType = this.nextNode.noticeType.join(',');
526
+ this.loading = true;
527
+ if (this.type === 'transfer') {
528
+ this.subTaskTransfer();
529
+ } else {
530
+ const {
531
+ appId,
532
+ businessId,
533
+ bCode,
534
+ bName,
535
+ choiceDeptId,
536
+ choiceOrgId,
537
+ businessName,
538
+ processDefinitionId
539
+ } = this.taskExamine;
540
+ let params = {
541
+ ...this.nextNode,
542
+ bCode,
543
+ bName,
544
+ appId,
545
+ businessId,
546
+ choiceDeptId,
547
+ choiceOrgId,
548
+ businessName,
549
+ processDefinitionId,
550
+ currentOrgProcessKey: processDefinitionId,
551
+ pendingId: this.pendingId,
552
+ opinion: this.option, // 审批意见
553
+ userId: util.getStorage('userId'),
554
+ nextReadUserId: this.mixList.join('|'),
555
+ noticeType,
556
+ taskAction: this.type
557
+ // nextNodeId: this.form.nextNodeId
558
+ };
559
+ delete params.nextUser;
560
+ const { fyDoresult, fyeh, download, isCdjxjTaskHandle } =
561
+ this.configInfo;
562
+ fyDoresult != 'true' && delete params.showDoresult;
563
+ fyeh != 'true' && delete params.isInHistory;
564
+ !download && delete params.isDownload;
565
+ isCdjxjTaskHandle == 'true' && delete params.noticeType;
566
+ if (this.readParams) {
567
+ params = { ...params, ...this.readParams };
568
+ }
569
+ util
570
+ .ajax({
571
+ url: taskReadHtml,
572
+ params: { taskAction: this.type },
573
+ headers: {
574
+ Accept: 'application/json,text/plain'
575
+ },
576
+ method: 'post',
577
+ data: params
578
+ })
579
+ .then((res) => {
580
+ const { message, status } = res;
581
+ this.loading = false;
582
+ if (status === 'success') {
583
+ this.$message.success('操作成功');
584
+ this.quit(true);
585
+ } else {
586
+ this.$message.error(message || '系统错误,请联系管理员!');
587
+ }
588
+ })
589
+ .catch((err) => {
590
+ this.loading = false;
591
+ if (err.message && err.message !== 'canceled') {
592
+ this.$message.error(err.message);
593
+ }
594
+ });
595
+ }
596
+ } else {
597
+ return false;
598
+ }
599
+ });
600
+ },
601
+ quit(val) {
602
+ if (val === true) return this.$emit('cancel', this.type);
603
+ this.$emit('cancel');
604
+ },
605
+
606
+ getFind() {
607
+ this.loading = true;
608
+ util
609
+ .ajax({
610
+ url: findSysCodes
611
+ })
612
+ .then((res) => {
613
+ const { status, message, data } = res;
614
+ this.loading = false;
615
+ if (status === 'success') {
616
+ this.nextNode.noticeType = message.split(',');
617
+ if (data) {
618
+ this.notificationMessageReadOnly =
619
+ data.notificationMessageReadOnly;
620
+ this.readOnlyNotificationType = data.readOnlyNotificationType;
621
+ }
622
+ } else {
623
+ this.$message.error(message || '系统错误,请联系管理员!');
624
+ }
625
+ this.getNodeType();
626
+ if (this.type === 'transfer') {
627
+ this.toTaskTransfer();
628
+ } else if(!this.readParams) {
629
+ this.toStartTaskRead();
630
+ }
631
+ })
632
+ .catch((err) => {
633
+ this.loading = false;
634
+ if (err.message && err.message !== 'canceled') {
635
+ this.$message.error(err.message);
636
+ }
637
+ });
638
+ }
639
+ }
640
+ };
641
+ </script>