eoss-ui 0.6.41 → 0.6.42

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 (234) hide show
  1. package/lib/eoss-ui.common.js +1158 -1047
  2. package/lib/flow-list.js +123 -112
  3. package/lib/flow.js +882 -782
  4. package/lib/index.js +1 -1
  5. package/lib/main.js +132 -132
  6. package/lib/qr-code.js +13 -13
  7. package/lib/theme-chalk/flow.css +1 -1
  8. package/lib/theme-chalk/index.css +1 -1
  9. package/package.json +159 -159
  10. package/packages/button/index.js +5 -5
  11. package/packages/button/src/main.vue +418 -418
  12. package/packages/button-group/index.js +5 -5
  13. package/packages/button-group/src/main.vue +298 -298
  14. package/packages/calendar/index.js +5 -5
  15. package/packages/card/index.js +5 -5
  16. package/packages/card/src/main.vue +156 -156
  17. package/packages/cascader/index.js +5 -5
  18. package/packages/cascader/src/main.vue +168 -168
  19. package/packages/checkbox-group/index.js +5 -5
  20. package/packages/checkbox-group/src/main.vue +333 -333
  21. package/packages/clients/index.js +5 -5
  22. package/packages/clients/src/main.vue +144 -144
  23. package/packages/data-table/index.js +5 -5
  24. package/packages/data-table/src/children.vue +39 -39
  25. package/packages/data-table/src/column.vue +989 -989
  26. package/packages/data-table/src/main.vue +1822 -1822
  27. package/packages/data-table/src/sizer.vue +195 -195
  28. package/packages/data-table-form/index.js +5 -5
  29. package/packages/data-table-form/src/checkbox.vue +101 -101
  30. package/packages/data-table-form/src/colgroup.vue +17 -17
  31. package/packages/data-table-form/src/main.vue +181 -181
  32. package/packages/data-table-form/src/radio.vue +65 -65
  33. package/packages/data-table-form/src/table.vue +233 -233
  34. package/packages/data-table-form/src/tbody.vue +336 -336
  35. package/packages/data-table-form/src/thead.vue +68 -68
  36. package/packages/date-picker/index.js +5 -5
  37. package/packages/date-picker/src/main.vue +236 -236
  38. package/packages/dialog/index.js +5 -5
  39. package/packages/enterprise/index.js +5 -5
  40. package/packages/enterprise/src/main.vue +66 -66
  41. package/packages/error-page/index.js +5 -5
  42. package/packages/error-page/src/main.vue +44 -44
  43. package/packages/flow/index.js +5 -5
  44. package/packages/flow/src/component/CommonOpinions.vue +345 -345
  45. package/packages/flow/src/component/CustomPreset.vue +322 -322
  46. package/packages/flow/src/component/FileList.vue +99 -99
  47. package/packages/flow/src/component/Preset.vue +255 -255
  48. package/packages/flow/src/component/SendMsg.vue +229 -229
  49. package/packages/flow/src/component/TimeLimit.vue +190 -190
  50. package/packages/flow/src/component/taskUnionExamine.vue +611 -611
  51. package/packages/flow/src/form.vue +121 -121
  52. package/packages/flow/src/freeStartFlow.vue +2843 -2843
  53. package/packages/flow/src/main.vue +2952 -2862
  54. package/packages/flow/src/processForm.vue +1018 -1018
  55. package/packages/flow/src/processReject.vue +293 -293
  56. package/packages/flow/src/reset.vue +899 -899
  57. package/packages/flow/src/startTaskRead.vue +596 -596
  58. package/packages/flow/src/table.vue +58 -58
  59. package/packages/flow-group/index.js +5 -5
  60. package/packages/flow-group/src/main.vue +688 -688
  61. package/packages/flow-list/index.js +5 -5
  62. package/packages/flow-list/src/main.vue +1183 -1172
  63. package/packages/form/index.js +5 -5
  64. package/packages/form/src/main.vue +3584 -3584
  65. package/packages/form/src/table.vue +1420 -1420
  66. package/packages/handle-user/index.js +5 -5
  67. package/packages/handle-user/src/main.vue +138 -138
  68. package/packages/handler/index.js +5 -5
  69. package/packages/handler/src/main.vue +474 -474
  70. package/packages/icon/index.js +5 -5
  71. package/packages/icon/src/main.vue +101 -101
  72. package/packages/icons/index.js +5 -5
  73. package/packages/icons/src/main.vue +81 -81
  74. package/packages/input/index.js +5 -5
  75. package/packages/input/src/main.vue +356 -356
  76. package/packages/input-number/index.js +5 -5
  77. package/packages/input-number/src/main.vue +106 -106
  78. package/packages/label/index.js +5 -5
  79. package/packages/label/src/main.vue +457 -457
  80. package/packages/layout/index.js +5 -5
  81. package/packages/layout/src/item.vue +152 -152
  82. package/packages/layout/src/main.vue +31 -31
  83. package/packages/login/index.js +5 -5
  84. package/packages/login/src/main.vue +1935 -1935
  85. package/packages/login/src/resetPassword.vue +562 -562
  86. package/packages/main/index.js +5 -5
  87. package/packages/main/src/default/message.vue +249 -249
  88. package/packages/main/src/default/notice.vue +157 -157
  89. package/packages/main/src/default/userinfo.vue +505 -505
  90. package/packages/main/src/public/online.vue +89 -89
  91. package/packages/main/src/public/search.vue +461 -461
  92. package/packages/main/src/public/settings.vue +221 -221
  93. package/packages/main/src/simplicity/apps.vue +388 -388
  94. package/packages/main/src/simplicity/avatar.vue +82 -82
  95. package/packages/main/src/simplicity/handler.vue +259 -259
  96. package/packages/main/src/simplicity/index.vue +2047 -2047
  97. package/packages/main/src/simplicity/lists.vue +84 -84
  98. package/packages/main/src/simplicity/menu-list.vue +128 -128
  99. package/packages/main/src/simplicity/message.vue +259 -259
  100. package/packages/main/src/simplicity/notice.vue +190 -190
  101. package/packages/main/src/simplicity/router-page.vue +45 -45
  102. package/packages/main/src/simplicity/sub-menu.vue +241 -241
  103. package/packages/main/src/simplicity/user.vue +257 -257
  104. package/packages/main/src/simplicity/userinfo.vue +312 -312
  105. package/packages/menu/index.js +5 -5
  106. package/packages/menu/src/main.vue +536 -536
  107. package/packages/nav/index.js +5 -5
  108. package/packages/nav/src/main.vue +402 -402
  109. package/packages/notify/index.js +5 -5
  110. package/packages/notify/src/main.vue +538 -538
  111. package/packages/page/index.js +5 -5
  112. package/packages/page/src/main.vue +167 -167
  113. package/packages/pagination/index.js +5 -5
  114. package/packages/pagination/src/main.vue +96 -96
  115. package/packages/player/index.js +5 -5
  116. package/packages/player/src/main.vue +194 -194
  117. package/packages/qr-code/index.js +5 -5
  118. package/packages/qr-code/src/main.vue +170 -170
  119. package/packages/radio-group/index.js +6 -6
  120. package/packages/radio-group/src/main.vue +319 -319
  121. package/packages/retrial-auth/index.js +5 -5
  122. package/packages/retrial-auth/src/main.vue +280 -280
  123. package/packages/select/index.js +5 -5
  124. package/packages/select/src/main.vue +775 -775
  125. package/packages/select-ganged/index.js +5 -5
  126. package/packages/select-ganged/src/main.vue +724 -724
  127. package/packages/selector/index.js +5 -5
  128. package/packages/selector/src/main.vue +689 -689
  129. package/packages/selector-panel/index.js +5 -5
  130. package/packages/selector-panel/src/main.vue +1027 -1027
  131. package/packages/selector-panel/src/selection.vue +177 -177
  132. package/packages/selector-panel/src/tree.vue +129 -129
  133. package/packages/sizer/index.js +5 -5
  134. package/packages/sizer/src/main.vue +254 -254
  135. package/packages/steps/index.js +5 -5
  136. package/packages/steps/src/main.vue +181 -181
  137. package/packages/switch/index.js +5 -5
  138. package/packages/switch/src/main.vue +154 -154
  139. package/packages/table-form/index.js +5 -5
  140. package/packages/tabs/index.js +5 -5
  141. package/packages/tabs/src/main.vue +788 -788
  142. package/packages/tabs-panel/index.js +5 -5
  143. package/packages/tabs-panel/src/main.vue +29 -29
  144. package/packages/theme-chalk/lib/flow.css +1 -1
  145. package/packages/theme-chalk/lib/index.css +1 -1
  146. package/packages/theme-chalk/src/base.scss +260 -260
  147. package/packages/theme-chalk/src/button-group.scss +175 -175
  148. package/packages/theme-chalk/src/button.scss +24 -24
  149. package/packages/theme-chalk/src/calendar.scss +113 -113
  150. package/packages/theme-chalk/src/card.scss +99 -99
  151. package/packages/theme-chalk/src/checkbox-group.scss +8 -8
  152. package/packages/theme-chalk/src/clients.scss +87 -87
  153. package/packages/theme-chalk/src/data-table-form.scss +67 -67
  154. package/packages/theme-chalk/src/data-table.scss +293 -293
  155. package/packages/theme-chalk/src/date-picker.scss +7 -7
  156. package/packages/theme-chalk/src/dialog.scss +77 -77
  157. package/packages/theme-chalk/src/enterprise.scss +5 -5
  158. package/packages/theme-chalk/src/error-page.scss +18 -18
  159. package/packages/theme-chalk/src/flow-group.scss +110 -110
  160. package/packages/theme-chalk/src/flow-list.scss +36 -36
  161. package/packages/theme-chalk/src/flow.scss +318 -310
  162. package/packages/theme-chalk/src/form.scss +496 -496
  163. package/packages/theme-chalk/src/handle-user.scss +40 -40
  164. package/packages/theme-chalk/src/handler.scss +143 -143
  165. package/packages/theme-chalk/src/icon.scss +1789 -1789
  166. package/packages/theme-chalk/src/icons.scss +99 -99
  167. package/packages/theme-chalk/src/input.scss +9 -9
  168. package/packages/theme-chalk/src/label.scss +24 -24
  169. package/packages/theme-chalk/src/layout.scss +46 -46
  170. package/packages/theme-chalk/src/login.scss +947 -947
  171. package/packages/theme-chalk/src/main.scss +639 -639
  172. package/packages/theme-chalk/src/menu.scss +222 -222
  173. package/packages/theme-chalk/src/mixins/color.scss +117 -117
  174. package/packages/theme-chalk/src/nav.scss +125 -125
  175. package/packages/theme-chalk/src/page.scss +3 -3
  176. package/packages/theme-chalk/src/pagination.scss +29 -29
  177. package/packages/theme-chalk/src/player.scss +9 -9
  178. package/packages/theme-chalk/src/qr-code.scss +17 -17
  179. package/packages/theme-chalk/src/radio-group.scss +9 -9
  180. package/packages/theme-chalk/src/retrial-auth.scss +38 -38
  181. package/packages/theme-chalk/src/select-ganged.scss +8 -8
  182. package/packages/theme-chalk/src/select.scss +8 -8
  183. package/packages/theme-chalk/src/selector-panel.scss +204 -204
  184. package/packages/theme-chalk/src/selector.scss +91 -91
  185. package/packages/theme-chalk/src/simplicity.scss +1262 -1262
  186. package/packages/theme-chalk/src/sizer.scss +36 -36
  187. package/packages/theme-chalk/src/steps.scss +88 -88
  188. package/packages/theme-chalk/src/switch.scss +3 -3
  189. package/packages/theme-chalk/src/table-form.scss +1 -1
  190. package/packages/theme-chalk/src/tabs.scss +87 -87
  191. package/packages/theme-chalk/src/tips.scss +7 -7
  192. package/packages/theme-chalk/src/toolbar.scss +179 -179
  193. package/packages/theme-chalk/src/tree-group.scss +72 -72
  194. package/packages/theme-chalk/src/tree.scss +165 -165
  195. package/packages/theme-chalk/src/upload.scss +167 -167
  196. package/packages/theme-chalk/src/wxlogin.scss +3 -3
  197. package/packages/tips/index.js +5 -5
  198. package/packages/tips/src/main.vue +141 -141
  199. package/packages/toolbar/index.js +5 -5
  200. package/packages/toolbar/src/main.vue +430 -430
  201. package/packages/tree/index.js +5 -5
  202. package/packages/tree-group/index.js +5 -5
  203. package/packages/upload/index.js +5 -5
  204. package/packages/upload/src/main.vue +1334 -1334
  205. package/packages/upload/src/picture.js +15 -15
  206. package/packages/wujie/index.js +5 -5
  207. package/packages/wujie/src/main.vue +145 -145
  208. package/packages/wxlogin/index.js +5 -5
  209. package/packages/wxlogin/src/main.vue +128 -128
  210. package/src/config/api.js +248 -248
  211. package/src/config/image.js +2 -2
  212. package/src/index.js +157 -157
  213. package/src/utils/bus.js +3 -3
  214. package/src/utils/date-util.js +312 -312
  215. package/src/utils/http.js +50 -50
  216. package/src/utils/rules.js +18 -18
  217. package/src/utils/store.js +21 -21
  218. package/src/utils/webSocket.js +107 -107
  219. package/packages/.DS_Store +0 -0
  220. package/packages/data-table/.DS_Store +0 -0
  221. package/packages/data-table-form/.DS_Store +0 -0
  222. package/packages/error-page/.DS_Store +0 -0
  223. package/packages/flow/.DS_Store +0 -0
  224. package/packages/form/.DS_Store +0 -0
  225. package/packages/login/.DS_Store +0 -0
  226. package/packages/main/.DS_Store +0 -0
  227. package/packages/main/src/.DS_Store +0 -0
  228. package/packages/selector/.DS_Store +0 -0
  229. package/packages/selector-panel/.DS_Store +0 -0
  230. package/packages/sizer/.DS_Store +0 -0
  231. package/packages/tabs/.DS_Store +0 -0
  232. package/packages/theme-chalk/src/.DS_Store +0 -0
  233. package/packages/upload/.DS_Store +0 -0
  234. package/src/.DS_Store +0 -0
@@ -1,899 +1,899 @@
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-position="left"
15
- >
16
- <div style="height: 430px; overflow-y: auto; margin-bottom: 10px">
17
- <el-form-item prop="nodeName" label="标题">
18
- <el-input v-model="pendtitle" disabled />
19
- </el-form-item>
20
- <el-form-item prop="nodeName" label="当前步骤">
21
- <el-input v-model="nextNode.nodeName" disabled />
22
- </el-form-item>
23
- <el-form-item prop="newOpinion" label="意见">
24
- <CommonOpinions class="opinions" :rows="3" @change="changeOpinion" />
25
- </el-form-item>
26
- <el-form-item
27
- prop="nextNode"
28
- label="下步节点"
29
- :rules="[
30
- { required: true, message: `请选择下步节点`, trigger: 'blur' }
31
- ]"
32
- >
33
- <el-select
34
- v-model="nextNode.nextNode"
35
- :placeholder="`请选择下步节点`"
36
- @change="changeSel"
37
- >
38
- <el-option
39
- v-for="items in nextNode.nodeInfo"
40
- :key="items.nodeId"
41
- :label="items.nodeName"
42
- :value="items.nodeId"
43
- ></el-option>
44
- </el-select>
45
- </el-form-item>
46
- <el-form-item
47
- v-if="countersignaturetypeCode != 0"
48
- prop="countersignaturetypeText"
49
- label="处理方式"
50
- >
51
- <el-input
52
- v-model="nextNode.countersignaturetypeText"
53
- placeholder="请输入内容"
54
- disabled
55
- />
56
- </el-form-item>
57
- <el-form-item prop="nextNode" label="办理角色" v-if="showRoleUser">
58
- <SelectUser
59
- :nextUser="nextNode.nextRoleId"
60
- :radioList="radioList"
61
- :multiple="multiple"
62
- :isCustomUser="isCustomUser"
63
- :options="options"
64
- :presetEdit="presetEdit"
65
- :isDefSelectedObj="isDefSelectedObj"
66
- :selectUserList="selectUserList"
67
- @change="changeSelectUser"
68
- :types="nextUserTypes"
69
- :params="params"
70
- />
71
- </el-form-item>
72
- <!-- showRoleUser -->
73
- <el-form-item
74
- v-if="
75
- !showRoleUser &&
76
- nodeInfoExtAttr.nodeType != 1 &&
77
- nodeInfoExtAttr.nodeType != 2
78
- "
79
- :prop="isShowNextUser ? 'nextUser' : 'nextOrgId'"
80
- :label="isShowNextUser ? '下步办理人' : '办理对象'"
81
- >
82
- <SelectUser
83
- :nextUser="isShowNextUser ? nextNode.nextUser : nextNode.nextOrgId"
84
- :radioList="radioList"
85
- :multiple="multiple"
86
- :isCustomUser="!isShowNextUser ? 1 : isCustomUser"
87
- :options="options"
88
- :presetEdit="presetEdit"
89
- :mix="multiple"
90
- :isDefSelectedObj="isDefSelectedObj"
91
- :selectUserList="selectUserList"
92
- @change="
93
- changeSelectUser(
94
- $event,
95
- isShowNextUser ? 'nextUser' : 'nextOrgId'
96
- )
97
- "
98
- :types="
99
- !isShowNextUser
100
- ? nextUserTypes
101
- : isCdjxjTaskHandle != 'true'
102
- ? ['employee', 'persongroup']
103
- : ['employee']
104
- "
105
- :params="isShowNextUser ? params : {}"
106
- :tabs="nextUserTabs"
107
- />
108
- </el-form-item>
109
- <el-form-item
110
- prop="nextReadUserId"
111
- v-if="isTaskread == 1"
112
- label="
113
- 分阅用户
114
- "
115
- >
116
- <SelectUser
117
- :nextUser="nextNode.nextReadUserId"
118
- :multiple="true"
119
- :selectUserList="selectReadUserList"
120
- :options="userOptions"
121
- title="分阅用户"
122
- :mix="true"
123
- :types="types"
124
- @change="changeSelectReadUser($event, 'nextReadUserId')"
125
- :tabs="tabs"
126
- />
127
- </el-form-item>
128
- <el-form-item
129
- prop="presetReadUserId"
130
- v-if="canPresetRead"
131
- label="
132
- 自动分阅
133
- "
134
- >
135
- <SelectUser
136
- :nextUser="nextNode.presetReadUserId"
137
- :multiple="true"
138
- :selectUserList="selectPresetUserList"
139
- :options="presetOptions"
140
- title="分阅用户"
141
- :radioList="presetReadUserId"
142
- :presetEdit="1"
143
- :mix="true"
144
- :types="types"
145
- @change="changeSelectReadUser($event, 'presetReadUserId')"
146
- :tabs="tabs"
147
- />
148
- </el-form-item>
149
- <el-form-item
150
- v-if="isHandleExplain == 1"
151
- prop="handleExplain"
152
- label="办理说明"
153
- >
154
- <el-input
155
- placeholder="请输入办理说明"
156
- v-model="nextNode.handleExplain"
157
- />
158
- </el-form-item>
159
- <el-form-item prop="noticeType" label="通知方式">
160
- <el-checkbox-group
161
- v-if="showNoticeType"
162
- v-model="nextNode.noticeType"
163
- >
164
- <el-checkbox
165
- v-for="item of nextNode.noticeList"
166
- :key="item.cciValue"
167
- :label="item.cciValue"
168
- :disabled="
169
- readOnlyNotificationType
170
- ? readOnlyNotificationType.indexOf(item.cciValue) != -1
171
- : false
172
- "
173
- >
174
- {{ item.shortName }}
175
- </el-checkbox>
176
- </el-checkbox-group>
177
- </el-form-item>
178
- <el-form-item
179
- v-show="nextNode.noticeType.length != 0"
180
- prop="nextNode"
181
- label="通知消息"
182
- >
183
- <es-input
184
- style="
185
- border-color: #ccc;
186
- padding: 5px;
187
- border-radius: 5px;
188
- font-size: 13px;
189
- "
190
- type="textarea"
191
- v-model="nextNode.noticeInfo"
192
- :readonly="notificationMessageReadOnly"
193
- />
194
- </el-form-item>
195
- </div>
196
- <el-form-item style="margin-bottom: 0px">
197
- <div style="text-align: right">
198
- <el-button
199
- type="primary"
200
- size="small"
201
- @click="subProcess('nextNode')"
202
- >
203
- 确认
204
- </el-button>
205
- <el-button size="small" @click="quit"> 取消 </el-button>
206
- </div>
207
- </el-form-item>
208
- </el-form>
209
- </div>
210
- </template>
211
-
212
- <script>
213
- import {
214
- toResetProcessIndex,
215
- toTaskContinuationIndex,
216
- taskContinuation,
217
- getNodeInfo,
218
- findSysCodes,
219
- getNotificationMsg,
220
- findCodeValues,
221
- loginUserInfo,
222
- resetProcess
223
- } from 'eoss-ui/src/config/api';
224
- import util from 'eoss-ui/src/utils/util';
225
- import SelectUser from './selectUser.vue';
226
- import CommonOpinions from './component/CommonOpinions.vue';
227
- export default {
228
- name: 'resetForm',
229
-
230
- components: {
231
- [Option.name]: Option,
232
- [SelectUser.name]: SelectUser,
233
- [CommonOpinions.name]: CommonOpinions
234
- },
235
- props: {
236
- flowParams: {
237
- type: Object,
238
- default: () => {}
239
- },
240
- appId: {
241
- type: String,
242
- default: ''
243
- },
244
- type: { type: String }
245
- },
246
- data() {
247
- return {
248
- loading: false,
249
- isCustomUser: 0,
250
- selectUser: false,
251
- multiple: false,
252
- showNoticeType: false,
253
- readMultiple: true,
254
- customPresetHintMessage: '', //流程预设标题
255
- notificationMessageReadOnly: false,
256
- readOnlyNotificationType: '',
257
- show: true,
258
- radioList: [],
259
- activeNames: '',
260
- selectUserList: [],
261
- defaultNextNode: '',
262
- presetUserJson: [],
263
- isTaskread: 0, //是否显示分阅用户
264
- isHandleExplain: 0, //是否展示办理说明
265
- isOpinionRequired: 0,
266
- options: [],
267
- presetList: [],
268
- presetReadUserId: [], //自动分阅
269
- canPresetRead: false, //是否展示自动分阅
270
- nextUserTypes: ['employee', 'persongroup'],
271
- isSinglePage: false,
272
- presetEdit: 0,
273
- taskExamine: {},
274
- isDefSelectedObj: 0,
275
- isChooseNextNode: 0,
276
- isHideDefaultOperation: 0,
277
- countersignaturetypeCode: 0,
278
- presetTaskNodeKeyStr: '', //预设办理人顺序
279
- presetTaskNodeMap: {}, //预设办理人
280
- params: {
281
- filid: 'all', //选择范围(my:本单位/ "" or all:全部)
282
- selectmix: 'true1',
283
- deptid: '' //指定部门(my:本部门)
284
- },
285
- newOpinion: '',
286
- operationList: [],
287
- tabs: {
288
- employee: {
289
- param: {
290
- filid: JSON.parse(sessionStorage.getItem('mainConfig')).userModel
291
- .orgId,
292
- name: '本单位用户'
293
- }
294
- },
295
- department: {
296
- param: {
297
- filid: JSON.parse(sessionStorage.getItem('mainConfig')).userModel
298
- .orgId
299
- }
300
- }
301
- },
302
- userModel: {},
303
- nextUserTabs: {},
304
- selectPresetUserList: [],
305
- presetOptions: [],
306
- selectReadUserList: [],
307
- userOptions: [],
308
- mixReadList: [],
309
- mixPresetList: [],
310
- nodeInfoExtAttr: {},
311
- isCdjxjTaskHandle: '',
312
- isShowNextUser: true,
313
- showRoleUser: false,
314
- pendtitle: '',
315
- mixOrgIdList: [], //办理对象混选
316
- nextNode: {
317
- nodeName: '',
318
- newOpinion: '',
319
- countersignaturetypeText: '',
320
- nextNode: '',
321
- nextReadUserId: [],
322
- nextOrgId: [],
323
- noticeType: [],
324
- nextOperate: '1',
325
- nextUser: [],
326
- presetReadUserId: [], //自动分阅
327
- noticeInfo: '',
328
- nodeInfo: [],
329
- userInfo: [],
330
- handleExplain: '',
331
- noticeList: []
332
- }
333
- };
334
- },
335
- computed: {
336
- types() {
337
- if (this.isCdjxjTaskHandle == 'true') {
338
- return ['employee', 'enterprise', 'department'];
339
- } else {
340
- return ['employee', 'enterprise', 'department', 'persongroup'];
341
- }
342
- }
343
- },
344
- created() {
345
- this.getUserInfo();
346
- this.getResetFlow();
347
- },
348
- mounted() {},
349
- methods: {
350
- changeOpinion(val) {
351
- this.nextNode.newOpinion = val;
352
- },
353
- getUserInfo() {
354
- let mainConfig = util.getStorage('mainConfig');
355
- if (mainConfig) {
356
- this.userModel = JSON.parse(mainConfig).userModel;
357
- } else {
358
- util
359
- .ajax({ url: loginUserInfo })
360
- .then((res) => {
361
- const { status, data } = res;
362
- if (status == 'success') {
363
- this.userModel = data;
364
- } else {
365
- let msg = res.msg || '系统错误,请联系管理员!';
366
- this.$message.error(msg);
367
- }
368
- })
369
- .catch((err) => {
370
- if (err.message && err.message !== 'canceled') {
371
- this.$message.error(err.message);
372
- }
373
- });
374
- }
375
- },
376
- getIsShowNextUser(val) {
377
- if (
378
- val == 7 ||
379
- val == 8 ||
380
- val == 9 ||
381
- val == 10 ||
382
- val == 11 ||
383
- val == 12
384
- ) {
385
- this.isShowNextUser = false;
386
- //设置办理角色
387
- // $("#orgRoleCode").val(handleRoleId);
388
- if (val == 7 || val == 8) {
389
- this.nextUserTypes = ['department'];
390
- this.nextUserTabs = {
391
- department: {
392
- param: {
393
- filid: JSON.parse(sessionStorage.getItem('mainConfig'))
394
- .userModel.orgId
395
- }
396
- }
397
- };
398
- this.multiple = true;
399
- } else if (val == 9 || val == 10) {
400
- this.nextUserTypes = ['enterprise'];
401
- this.nextUserTabs = { enterprise: { param: { filid: 'other' } } };
402
- this.multiple = true;
403
- } else if (val == 11 || val == 12) {
404
- this.nextUserTypes = ['department', 'enterprise'];
405
- this.nextUserTabs = {
406
- enterprise: { param: { filid: 'other' } },
407
- department: {
408
- param: {
409
- filid: JSON.parse(sessionStorage.getItem('mainConfig'))
410
- .userModel.orgId
411
- }
412
- }
413
- };
414
- this.multiple = true;
415
- }
416
- }
417
- if (val == 7 || val == 9 || val == 11) {
418
- this.multiple = false;
419
- }
420
- },
421
- // 分阅是否多选
422
- isReadMultiple(nextReadUserSelectType) {
423
- if (nextReadUserSelectType == 1) {
424
- this.readMultiple = false;
425
- } else if (nextReadUserSelectType == 2) {
426
- this.readMultiple = true;
427
- } else if (nextReadUserSelectType == 3) {
428
- this.readMultiple = false;
429
- } else if (nextReadUserSelectType == 4) {
430
- this.readMultiple = true;
431
- } else if (nextReadUserSelectType == 5) {
432
- this.readMultiple = false;
433
- } else if (nextReadUserSelectType == 6) {
434
- this.readMultiple = true;
435
- }
436
- },
437
- changeSelectReadUser(val, type) {
438
- const { nextUser, mixList } = val;
439
- this.nextNode[type] = nextUser;
440
- if (type === 'presetReadUserId') {
441
- this.mixPresetList = mixList;
442
- } else {
443
- this.mixReadList = mixList;
444
- }
445
- },
446
- changeSelectUser(val, type) {
447
- const { nextUser, options, mixList } = val;
448
- this.nextNode[type] = nextUser;
449
- this.mixOrgIdList = mixList;
450
- },
451
- getNodeType() {
452
- util
453
- .ajax({
454
- url: findCodeValues,
455
- params: {
456
- ccCode: 'notification_type',
457
- userId: util.getStorage('userId')
458
- }
459
- })
460
- .then((res) => {
461
- const { status, data } = res;
462
- if (status === 'success') {
463
- this.nextNode.noticeList = data;
464
- this.getFind();
465
- }
466
- })
467
- .catch((err) => {
468
- this.loading = false;
469
- if (err.message && err.message !== 'canceled') {
470
- this.$message.error(err.message);
471
- }
472
- });
473
- },
474
- //获取通知信息
475
- getMessage() {
476
- let params = {
477
- processDefinitionId: this.processDefinitionId,
478
- nodeId: this.nextNode.nextNode,
479
- businessId: this.taskExamine.businessId
480
- };
481
- util
482
- .ajax({ url: getNotificationMsg, params, methods: 'post' })
483
- .then((res) => {
484
- if (res.status === 'success') {
485
- this.nextNode.noticeInfo = res.message;
486
- }
487
- })
488
- .catch((err) => {
489
- this.loading = false;
490
- if (err.message && err.message !== 'canceled') {
491
- this.$message.error(err.message);
492
- }
493
- });
494
- },
495
- // 提交表单
496
- subProcess(formName) {
497
- this.saveProcess(formName);
498
- },
499
- saveProcess(formName) {
500
- this.$refs[formName].validate((valid) => {
501
- if (valid) {
502
- const {
503
- nextNode,
504
- nextUser,
505
- noticeInfo,
506
- noticeType,
507
- handleExplain,
508
- presetReadUserId,
509
- nextReadUserId,
510
- nextOrgId,
511
- nextRoleId,
512
- nextOperate,
513
- newOpinion
514
- } = this.nextNode;
515
- if (noticeType.length === 0) {
516
- return this.$message.warning('请选择通知方式');
517
- }
518
- if (
519
- this.nodeInfoExtAttr.nodeType != 1 &&
520
- this.nodeInfoExtAttr.nodeType != 2 &&
521
- !this.showRoleUser
522
- ) {
523
- if (this.isShowNextUser) {
524
- if (nextUser == '' || (this.multiple && nextUser.length == 0)) {
525
- return this.$message.warning('请选择下步办理人');
526
- }
527
- } else {
528
- if (nextOrgId == '' || (this.multiple && nextOrgId.length == 0)) {
529
- return this.$message.warning('请选择办理对象');
530
- }
531
- }
532
- }
533
- if (
534
- (this.showRoleUser && nextRoleId == '') ||
535
- (this.multiple && nextUser.length == 0)
536
- ) {
537
- return this.$message.warning('请选择办理角色');
538
- }
539
- if (this.isOpinionRequired && !this.newOpinion && !newOpinion) {
540
- return this.$message.warning('请选择输入审批意见');
541
- }
542
- this.loading = true;
543
- let newNextUser = [];
544
- if (this.multiple) {
545
- nextUser && nextUser.map((item) => newNextUser.push(item));
546
- }
547
- let newNoticeType = '';
548
- if (noticeType) {
549
- newNoticeType = noticeType.join(',');
550
- }
551
- let params = {
552
- processDefinitionId: this.processDefinitionId,
553
- nextUserId: this.multiple ? newNextUser.join(',') : nextUser,
554
- nextNodeId: nextNode,
555
- nextOperate: nextOperate,
556
- businessId: this.taskExamine.businessId,
557
- pendingId: this.taskExamine.pendingId,
558
- notificationType: newNoticeType,
559
- userId: util.getStorage('userId'),
560
- notificationMsg: noticeInfo,
561
- customPresetUserJson: JSON.stringify(this.presetList),
562
- presetUserJson: JSON.stringify(this.presetUserJson),
563
- nextReadUserId: this.readMultiple
564
- ? this.mixReadList && this.mixReadList.join('|')
565
- : nextReadUserId,
566
- nextOrgId: !this.isShowNextUser
567
- ? this.multiple
568
- ? this.mixOrgIdList && this.mixOrgIdList.join('|')
569
- : nextOrgId
570
- : '',
571
- handleExplain: handleExplain,
572
- presetReadUserId:
573
- this.mixPresetList && this.mixPresetList.length > 0
574
- ? this.mixPresetList.join('|')
575
- : presetReadUserId.join(','),
576
- opinion: this.newOpinion || newOpinion
577
- };
578
- if (this.activeNames != '1') delete params.customPresetUserJson;
579
- util
580
- .ajax({
581
- url: this.type == 'reset' ? resetProcess : taskContinuation,
582
- method: 'post',
583
- data: params
584
- })
585
- .then((res) => {
586
- const { status, message } = res;
587
- this.loading = false;
588
- if (status === 'success') {
589
- this.quit(true);
590
- this.$message.success('操作成功');
591
- } else {
592
- this.$message.error(message || '系统错误,请联系管理员!');
593
- }
594
- })
595
- .catch((err) => {
596
- this.loading = false;
597
- if (err.message && err.message !== 'canceled') {
598
- this.$message.error(err.message);
599
- }
600
- });
601
- } else {
602
- return false;
603
- }
604
- });
605
- },
606
- getNodeInfos(nodeId, index) {
607
- let params = {
608
- processDefinitionId: this.processDefinitionId,
609
- nextNodeId: nodeId ? nodeId : this.nextNode.nextNode,
610
- businessId: this.taskExamine.businessId,
611
- pendingId: this.taskExamine.pendingId
612
- };
613
- util
614
- .ajax({ url: getNodeInfo, params })
615
- .then((res) => {
616
- const {
617
- status,
618
- message,
619
- data: {
620
- nextUserList,
621
- nodeExtAttr,
622
- countersignaturetypeText,
623
- countersignaturetypeCode
624
- }
625
- } = res;
626
- this.loading = false;
627
- if (status === 'success') {
628
- this.nextNode.userInfo = nextUserList;
629
- this.countersignaturetypeCode = countersignaturetypeCode;
630
- this.nextNode.countersignaturetypeText = countersignaturetypeText;
631
- this.isTaskread = nodeExtAttr.isTaskread;
632
- this.isHandleExplain = nodeExtAttr.isHandleExplain;
633
- this.isCustomUser = nodeExtAttr.isCustomUser; //是否展示选人组件按钮
634
- this.presetEdit = nodeExtAttr.presetEdit; //是否展示备选人
635
- this.nodeInfoExtAttr = nodeExtAttr;
636
- this.isDefSelectedObj = nodeExtAttr.isDefSelectedObj; //是否默认选中
637
-
638
- if (
639
- nodeExtAttr.userSelectionType == 7 ||
640
- nodeExtAttr.userSelectionType == 8 ||
641
- nodeExtAttr.userSelectionType == 9 ||
642
- nodeExtAttr.userSelectionType == 10 ||
643
- nodeExtAttr.userSelectionType == 11 ||
644
- nodeExtAttr.userSelectionType == 12
645
- ) {
646
- this.getIsShowNextUser(
647
- nodeExtAttr && nodeExtAttr.userSelectionType
648
- );
649
- } else if (
650
- nodeExtAttr.userSelectionType == 13 ||
651
- nodeExtAttr.userSelectionType == 14
652
- ) {
653
- this.showRoleUser = true;
654
- if (data.nextRole) {
655
- this.radioList = [
656
- { showid: data.nextRole.id, showname: data.nextRole.rolename }
657
- ];
658
- if (this.isDefSelectedObj == 1) {
659
- this.nextNode.nextRoleId.push(data.nextRole.id);
660
- this.selectUserList.push({
661
- showname: data.nextRole.rolename,
662
- showid: data.nextRole.id
663
- });
664
- }
665
- }
666
- } else {
667
- const { multiple, params } = this.isMultiple(
668
- nodeExtAttr.userSelectionType
669
- );
670
- this.multiple = multiple;
671
- this.params = params;
672
- }
673
- // this.isReadMultiple(nodeExtAttr.userSelectionType);
674
-
675
- nextUserList.map((item) => {
676
- if (
677
- this.multiple &&
678
- nodeExtAttr.isDefSelectedObj == 1 &&
679
- nextUserList !== undefined
680
- ) {
681
- this.nextNode.nextUser.push(item.userId);
682
- this.selectUserList.push({
683
- showname: item.username,
684
- showid: item.userId
685
- });
686
- }
687
-
688
- this.options.push({
689
- showname: item.username,
690
- showid: item.userId
691
- });
692
- });
693
- if (this.multiple) {
694
- this.nextNode.nextReadUserId = [];
695
- } else {
696
- this.nextNode.nextReadUserId = '';
697
- }
698
- if (
699
- nextUserList.length > 0 &&
700
- nodeExtAttr.isDefSelectedObj == 1 &&
701
- !this.multiple
702
- ) {
703
- this.nextNode.nextUser = nextUserList[0].userId;
704
- this.selectUserList.push({
705
- showname: nextUserList[0].username,
706
- showid: nextUserList[0].userId
707
- });
708
- }
709
- this.radioList = this.options;
710
- } else {
711
- this.$message.error(message || '系统错误,请联系管理员!');
712
- }
713
- nodeId && this.$refs.selectUser[index].changeInfo();
714
- })
715
- .catch((err) => {
716
- this.loading = false;
717
- if (err.message && err.message !== 'canceled') {
718
- this.$message.error(err.message);
719
- }
720
- });
721
- },
722
- changeSel(val) {
723
- this.nextNode.nextUser = [];
724
- this.options = [];
725
- this.selectUserList = [];
726
- this.radioList = [];
727
- this.loading = true;
728
- this.getNodeInfos();
729
- },
730
- // 取消
731
- quit(val) {
732
- if (val === true) return this.$emit('cancel', val);
733
- this.$emit('cancel', false);
734
- },
735
- getFind() {
736
- util
737
- .ajax({
738
- url: findSysCodes
739
- })
740
- .then((res) => {
741
- const { status, message } = res;
742
- if (status === 'success') {
743
- this.nextNode.noticeType = message.split(',');
744
- let arr = [];
745
- this.nextNode.noticeList.map((item) => {
746
- this.nextNode.noticeType.map((x) => {
747
- if (x == item.cciValue) {
748
- arr.push(x);
749
- }
750
- });
751
- });
752
- this.nextNode.noticeType = arr;
753
- this.showNoticeType = true;
754
- } else {
755
- this.$message.error(message || '系统错误,请联系管理员!');
756
- }
757
- })
758
- .catch((err) => {
759
- this.loading = false;
760
- if (err.message && err.message !== 'canceled') {
761
- this.$message.error(err.message);
762
- }
763
- });
764
- },
765
- /**
766
- * isMultiple
767
- * @desc:是否多选
768
- * @author liufan
769
- * @date 2022年9月13日
770
- **/
771
- isMultiple(val, choiceOrgId, choiceDeptId, pOrgId) {
772
- let multiple = false;
773
- let params = {};
774
- if (val == 2 || val == 4 || val == 6 || val == 16 || val == 12) {
775
- multiple = true;
776
- }
777
- if (val == 1 || val == 2 || val == 5) {
778
- params.filid = this.userModel.orgId;
779
- params.only_filid = true;
780
- if (choiceOrgId) {
781
- params.filid = choiceOrgId;
782
- }
783
- }
784
- if (val == 5 || val == 6) {
785
- params.filid = this.userModel.orgId;
786
- params.deptid = this.userModel.orgId;
787
- if (choiceDeptId) {
788
- params.deptid = choiceDeptId;
789
- }
790
- if (choiceOrgId) {
791
- params.filid = choiceOrgId;
792
- }
793
- }
794
- if (val == 15 || val == 16) {
795
- params.filid = this.userModel.orgId;
796
- if (pOrgId) {
797
- params.filid = pOrgId;
798
- }
799
- }
800
- return { multiple, params };
801
- },
802
- getResetFlow() {
803
- let params = {
804
- url:
805
- this.type == 'continuation'
806
- ? toTaskContinuationIndex
807
- : toResetProcessIndex,
808
- params: {
809
- appId: this.appId,
810
- ...this.flowParams
811
- }
812
- };
813
- // 获取节点
814
- util
815
- .ajax(params)
816
- .then((res) => {
817
- //pc接口返回数据处理
818
- const { status, message, data } = res;
819
- if (status == 'success') {
820
- this.pendtitle = data.pendtitle || data.taskExamine.businessName;
821
- this.customPresetHintMessage = data.customPresetHintMessage;
822
- this.readOnlyNotificationType = data.readOnlyNotificationType;
823
- this.notificationMessageReadOnly =
824
- data.notificationMessageReadOnly == 'true';
825
- let flowList = [];
826
- if (data.taskNodeList && data.taskNodeList.length > 0) {
827
- for (let key in data.taskNodeList[0]) {
828
- flowList.push({
829
- nodeName: data.taskNodeList[0][key],
830
- nodeId: key
831
- });
832
- }
833
- } else {
834
- for (let key in data.taskNodeMap) {
835
- flowList.push({
836
- nodeName: data.taskNodeMap[key],
837
- nodeId: key
838
- });
839
- }
840
- }
841
-
842
- this.nextNode.nodeInfo = flowList;
843
- this.nextNode.nextNode = flowList[0].nodeId;
844
- this.taskExamine = data.taskExamine;
845
- this.processDefinitionId = data.taskExamine.processDefinitionId;
846
- this.isOpinionRequired =
847
- data.nodeInfoMap.nodeExtAttr.isOpinionRequired;
848
- this.isHideDefaultOperation =
849
- data.nodeInfoMap.nodeExtAttr.isHideDefaultOperation;
850
- this.defaultNextNode = data.nodeInfoMap.nodeExtAttr.defaultNextNode;
851
- this.isChooseNextNode =
852
- data.nodeInfoMap.nodeExtAttr.isChooseNextNode;
853
- this.isCdjxjTaskHandle = data.isCdjxjTaskHandle;
854
- this.presetTaskNodeKeyStr = data.presetTaskNodeKeyStr;
855
- this.presetTaskNodeMap = data.presetTaskNodeMap;
856
- this.isSinglePage = data.taskExamine.isSinglePage;
857
- this.isSinglePage &&
858
- (this.nextNode.opinion = data.taskExamine.opinion);
859
- // this.nextNode.noticeInfo = data.taskExamine.notificationMsg;
860
- this.nextNode.nodeName = data.taskExamine.nodeName;
861
- this.canPresetRead = data.canPresetRead;
862
- if (data.canPresetRead) {
863
- let ids =
864
- data.nodeInfoMap.nodeExtAttr.presetReadCandinateIds.split(',');
865
- let names =
866
- data.nodeInfoMap.nodeExtAttr.presetReadCandinateNames.split(
867
- ','
868
- );
869
- ids.map((item, index) => {
870
- this.presetReadUserId.push({
871
- showid: item,
872
- showname: names[index]
873
- });
874
- this.selectPresetUserList.push({
875
- showid: item,
876
- showname: names[index]
877
- });
878
- this.nextNode.presetReadUserId.push(item);
879
- });
880
- }
881
- this.getNodeInfos();
882
- // this.getPresetFlowInfo();
883
-
884
- this.getNodeType();
885
- this.getMessage();
886
- } else {
887
- this.$message.error(message || '系统错误,请联系管理员!');
888
- }
889
- })
890
- .catch((err) => {
891
- this.loading = false;
892
- if (err.message && err.message !== 'canceled') {
893
- this.$message.error(err.message);
894
- }
895
- });
896
- }
897
- }
898
- };
899
- </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-position="left"
15
+ >
16
+ <div style=" margin-bottom: 10px">
17
+ <el-form-item prop="nodeName" label="标题">
18
+ <el-input v-model="pendtitle" disabled />
19
+ </el-form-item>
20
+ <el-form-item prop="nodeName" label="当前步骤">
21
+ <el-input v-model="nextNode.nodeName" disabled />
22
+ </el-form-item>
23
+ <el-form-item prop="newOpinion" label="意见">
24
+ <CommonOpinions class="opinions" :rows="3" @change="changeOpinion" />
25
+ </el-form-item>
26
+ <el-form-item
27
+ prop="nextNode"
28
+ label="下步节点"
29
+ :rules="[
30
+ { required: true, message: `请选择下步节点`, trigger: 'blur' }
31
+ ]"
32
+ >
33
+ <el-select
34
+ v-model="nextNode.nextNode"
35
+ :placeholder="`请选择下步节点`"
36
+ @change="changeSel"
37
+ >
38
+ <el-option
39
+ v-for="items in nextNode.nodeInfo"
40
+ :key="items.nodeId"
41
+ :label="items.nodeName"
42
+ :value="items.nodeId"
43
+ ></el-option>
44
+ </el-select>
45
+ </el-form-item>
46
+ <el-form-item
47
+ v-if="countersignaturetypeCode != 0"
48
+ prop="countersignaturetypeText"
49
+ label="处理方式"
50
+ >
51
+ <el-input
52
+ v-model="nextNode.countersignaturetypeText"
53
+ placeholder="请输入内容"
54
+ disabled
55
+ />
56
+ </el-form-item>
57
+ <el-form-item prop="nextNode" label="办理角色" v-if="showRoleUser">
58
+ <SelectUser
59
+ :nextUser="nextNode.nextRoleId"
60
+ :radioList="radioList"
61
+ :multiple="multiple"
62
+ :isCustomUser="isCustomUser"
63
+ :options="options"
64
+ :presetEdit="presetEdit"
65
+ :isDefSelectedObj="isDefSelectedObj"
66
+ :selectUserList="selectUserList"
67
+ @change="changeSelectUser"
68
+ :types="nextUserTypes"
69
+ :params="params"
70
+ />
71
+ </el-form-item>
72
+ <!-- showRoleUser -->
73
+ <el-form-item
74
+ v-if="
75
+ !showRoleUser &&
76
+ nodeInfoExtAttr.nodeType != 1 &&
77
+ nodeInfoExtAttr.nodeType != 2
78
+ "
79
+ :prop="isShowNextUser ? 'nextUser' : 'nextOrgId'"
80
+ :label="isShowNextUser ? '下步办理人' : '办理对象'"
81
+ >
82
+ <SelectUser
83
+ :nextUser="isShowNextUser ? nextNode.nextUser : nextNode.nextOrgId"
84
+ :radioList="radioList"
85
+ :multiple="multiple"
86
+ :isCustomUser="!isShowNextUser ? 1 : isCustomUser"
87
+ :options="options"
88
+ :presetEdit="presetEdit"
89
+ :mix="multiple"
90
+ :isDefSelectedObj="isDefSelectedObj"
91
+ :selectUserList="selectUserList"
92
+ @change="
93
+ changeSelectUser(
94
+ $event,
95
+ isShowNextUser ? 'nextUser' : 'nextOrgId'
96
+ )
97
+ "
98
+ :types="
99
+ !isShowNextUser
100
+ ? nextUserTypes
101
+ : isCdjxjTaskHandle != 'true'
102
+ ? ['employee', 'persongroup']
103
+ : ['employee']
104
+ "
105
+ :params="isShowNextUser ? params : {}"
106
+ :tabs="nextUserTabs"
107
+ />
108
+ </el-form-item>
109
+ <el-form-item
110
+ prop="nextReadUserId"
111
+ v-if="isTaskread == 1"
112
+ label="
113
+ 分阅用户
114
+ "
115
+ >
116
+ <SelectUser
117
+ :nextUser="nextNode.nextReadUserId"
118
+ :multiple="true"
119
+ :selectUserList="selectReadUserList"
120
+ :options="userOptions"
121
+ title="分阅用户"
122
+ :mix="true"
123
+ :types="types"
124
+ @change="changeSelectReadUser($event, 'nextReadUserId')"
125
+ :tabs="tabs"
126
+ />
127
+ </el-form-item>
128
+ <el-form-item
129
+ prop="presetReadUserId"
130
+ v-if="canPresetRead"
131
+ label="
132
+ 自动分阅
133
+ "
134
+ >
135
+ <SelectUser
136
+ :nextUser="nextNode.presetReadUserId"
137
+ :multiple="true"
138
+ :selectUserList="selectPresetUserList"
139
+ :options="presetOptions"
140
+ title="分阅用户"
141
+ :radioList="presetReadUserId"
142
+ :presetEdit="1"
143
+ :mix="true"
144
+ :types="types"
145
+ @change="changeSelectReadUser($event, 'presetReadUserId')"
146
+ :tabs="tabs"
147
+ />
148
+ </el-form-item>
149
+ <el-form-item
150
+ v-if="isHandleExplain == 1"
151
+ prop="handleExplain"
152
+ label="办理说明"
153
+ >
154
+ <el-input
155
+ placeholder="请输入办理说明"
156
+ v-model="nextNode.handleExplain"
157
+ />
158
+ </el-form-item>
159
+ <el-form-item prop="noticeType" label="通知方式">
160
+ <el-checkbox-group
161
+ v-if="showNoticeType"
162
+ v-model="nextNode.noticeType"
163
+ >
164
+ <el-checkbox
165
+ v-for="item of nextNode.noticeList"
166
+ :key="item.cciValue"
167
+ :label="item.cciValue"
168
+ :disabled="
169
+ readOnlyNotificationType
170
+ ? readOnlyNotificationType.indexOf(item.cciValue) != -1
171
+ : false
172
+ "
173
+ >
174
+ {{ item.shortName }}
175
+ </el-checkbox>
176
+ </el-checkbox-group>
177
+ </el-form-item>
178
+ <el-form-item
179
+ v-show="nextNode.noticeType.length != 0"
180
+ prop="nextNode"
181
+ label="通知消息"
182
+ >
183
+ <es-input
184
+ style="
185
+ border-color: #ccc;
186
+ padding: 5px;
187
+ border-radius: 5px;
188
+ font-size: 13px;
189
+ "
190
+ type="textarea"
191
+ v-model="nextNode.noticeInfo"
192
+ :readonly="notificationMessageReadOnly"
193
+ />
194
+ </el-form-item>
195
+ </div>
196
+ <el-form-item style="margin-bottom: 0px">
197
+ <div style="text-align: right">
198
+ <el-button
199
+ type="primary"
200
+ size="small"
201
+ @click="subProcess('nextNode')"
202
+ >
203
+ 确认
204
+ </el-button>
205
+ <el-button size="small" @click="quit"> 取消 </el-button>
206
+ </div>
207
+ </el-form-item>
208
+ </el-form>
209
+ </div>
210
+ </template>
211
+
212
+ <script>
213
+ import {
214
+ toResetProcessIndex,
215
+ toTaskContinuationIndex,
216
+ taskContinuation,
217
+ getNodeInfo,
218
+ findSysCodes,
219
+ getNotificationMsg,
220
+ findCodeValues,
221
+ loginUserInfo,
222
+ resetProcess
223
+ } from 'eoss-ui/src/config/api';
224
+ import util from 'eoss-ui/src/utils/util';
225
+ import SelectUser from './selectUser.vue';
226
+ import CommonOpinions from './component/CommonOpinions.vue';
227
+ export default {
228
+ name: 'resetForm',
229
+
230
+ components: {
231
+ [Option.name]: Option,
232
+ [SelectUser.name]: SelectUser,
233
+ [CommonOpinions.name]: CommonOpinions
234
+ },
235
+ props: {
236
+ flowParams: {
237
+ type: Object,
238
+ default: () => {}
239
+ },
240
+ appId: {
241
+ type: String,
242
+ default: ''
243
+ },
244
+ type: { type: String }
245
+ },
246
+ data() {
247
+ return {
248
+ loading: false,
249
+ isCustomUser: 0,
250
+ selectUser: false,
251
+ multiple: false,
252
+ showNoticeType: false,
253
+ readMultiple: true,
254
+ customPresetHintMessage: '', //流程预设标题
255
+ notificationMessageReadOnly: false,
256
+ readOnlyNotificationType: '',
257
+ show: true,
258
+ radioList: [],
259
+ activeNames: '',
260
+ selectUserList: [],
261
+ defaultNextNode: '',
262
+ presetUserJson: [],
263
+ isTaskread: 0, //是否显示分阅用户
264
+ isHandleExplain: 0, //是否展示办理说明
265
+ isOpinionRequired: 0,
266
+ options: [],
267
+ presetList: [],
268
+ presetReadUserId: [], //自动分阅
269
+ canPresetRead: false, //是否展示自动分阅
270
+ nextUserTypes: ['employee', 'persongroup'],
271
+ isSinglePage: false,
272
+ presetEdit: 0,
273
+ taskExamine: {},
274
+ isDefSelectedObj: 0,
275
+ isChooseNextNode: 0,
276
+ isHideDefaultOperation: 0,
277
+ countersignaturetypeCode: 0,
278
+ presetTaskNodeKeyStr: '', //预设办理人顺序
279
+ presetTaskNodeMap: {}, //预设办理人
280
+ params: {
281
+ filid: 'all', //选择范围(my:本单位/ "" or all:全部)
282
+ selectmix: 'true1',
283
+ deptid: '' //指定部门(my:本部门)
284
+ },
285
+ newOpinion: '',
286
+ operationList: [],
287
+ tabs: {
288
+ employee: {
289
+ param: {
290
+ filid: JSON.parse(sessionStorage.getItem('mainConfig')).userModel
291
+ .orgId,
292
+ name: '本单位用户'
293
+ }
294
+ },
295
+ department: {
296
+ param: {
297
+ filid: JSON.parse(sessionStorage.getItem('mainConfig')).userModel
298
+ .orgId
299
+ }
300
+ }
301
+ },
302
+ userModel: {},
303
+ nextUserTabs: {},
304
+ selectPresetUserList: [],
305
+ presetOptions: [],
306
+ selectReadUserList: [],
307
+ userOptions: [],
308
+ mixReadList: [],
309
+ mixPresetList: [],
310
+ nodeInfoExtAttr: {},
311
+ isCdjxjTaskHandle: '',
312
+ isShowNextUser: true,
313
+ showRoleUser: false,
314
+ pendtitle: '',
315
+ mixOrgIdList: [], //办理对象混选
316
+ nextNode: {
317
+ nodeName: '',
318
+ newOpinion: '',
319
+ countersignaturetypeText: '',
320
+ nextNode: '',
321
+ nextReadUserId: [],
322
+ nextOrgId: [],
323
+ noticeType: [],
324
+ nextOperate: '1',
325
+ nextUser: [],
326
+ presetReadUserId: [], //自动分阅
327
+ noticeInfo: '',
328
+ nodeInfo: [],
329
+ userInfo: [],
330
+ handleExplain: '',
331
+ noticeList: []
332
+ }
333
+ };
334
+ },
335
+ computed: {
336
+ types() {
337
+ if (this.isCdjxjTaskHandle == 'true') {
338
+ return ['employee', 'enterprise', 'department'];
339
+ } else {
340
+ return ['employee', 'enterprise', 'department', 'persongroup'];
341
+ }
342
+ }
343
+ },
344
+ created() {
345
+ this.getUserInfo();
346
+ this.getResetFlow();
347
+ },
348
+ mounted() {},
349
+ methods: {
350
+ changeOpinion(val) {
351
+ this.nextNode.newOpinion = val;
352
+ },
353
+ getUserInfo() {
354
+ let mainConfig = util.getStorage('mainConfig');
355
+ if (mainConfig) {
356
+ this.userModel = JSON.parse(mainConfig).userModel;
357
+ } else {
358
+ util
359
+ .ajax({ url: loginUserInfo })
360
+ .then((res) => {
361
+ const { status, data } = res;
362
+ if (status == 'success') {
363
+ this.userModel = data;
364
+ } else {
365
+ let msg = res.msg || '系统错误,请联系管理员!';
366
+ this.$message.error(msg);
367
+ }
368
+ })
369
+ .catch((err) => {
370
+ if (err.message && err.message !== 'canceled') {
371
+ this.$message.error(err.message);
372
+ }
373
+ });
374
+ }
375
+ },
376
+ getIsShowNextUser(val) {
377
+ if (
378
+ val == 7 ||
379
+ val == 8 ||
380
+ val == 9 ||
381
+ val == 10 ||
382
+ val == 11 ||
383
+ val == 12
384
+ ) {
385
+ this.isShowNextUser = false;
386
+ //设置办理角色
387
+ // $("#orgRoleCode").val(handleRoleId);
388
+ if (val == 7 || val == 8) {
389
+ this.nextUserTypes = ['department'];
390
+ this.nextUserTabs = {
391
+ department: {
392
+ param: {
393
+ filid: JSON.parse(sessionStorage.getItem('mainConfig'))
394
+ .userModel.orgId
395
+ }
396
+ }
397
+ };
398
+ this.multiple = true;
399
+ } else if (val == 9 || val == 10) {
400
+ this.nextUserTypes = ['enterprise'];
401
+ this.nextUserTabs = { enterprise: { param: { filid: 'other' } } };
402
+ this.multiple = true;
403
+ } else if (val == 11 || val == 12) {
404
+ this.nextUserTypes = ['department', 'enterprise'];
405
+ this.nextUserTabs = {
406
+ enterprise: { param: { filid: 'other' } },
407
+ department: {
408
+ param: {
409
+ filid: JSON.parse(sessionStorage.getItem('mainConfig'))
410
+ .userModel.orgId
411
+ }
412
+ }
413
+ };
414
+ this.multiple = true;
415
+ }
416
+ }
417
+ if (val == 7 || val == 9 || val == 11) {
418
+ this.multiple = false;
419
+ }
420
+ },
421
+ // 分阅是否多选
422
+ isReadMultiple(nextReadUserSelectType) {
423
+ if (nextReadUserSelectType == 1) {
424
+ this.readMultiple = false;
425
+ } else if (nextReadUserSelectType == 2) {
426
+ this.readMultiple = true;
427
+ } else if (nextReadUserSelectType == 3) {
428
+ this.readMultiple = false;
429
+ } else if (nextReadUserSelectType == 4) {
430
+ this.readMultiple = true;
431
+ } else if (nextReadUserSelectType == 5) {
432
+ this.readMultiple = false;
433
+ } else if (nextReadUserSelectType == 6) {
434
+ this.readMultiple = true;
435
+ }
436
+ },
437
+ changeSelectReadUser(val, type) {
438
+ const { nextUser, mixList } = val;
439
+ this.nextNode[type] = nextUser;
440
+ if (type === 'presetReadUserId') {
441
+ this.mixPresetList = mixList;
442
+ } else {
443
+ this.mixReadList = mixList;
444
+ }
445
+ },
446
+ changeSelectUser(val, type) {
447
+ const { nextUser, options, mixList } = val;
448
+ this.nextNode[type] = nextUser;
449
+ this.mixOrgIdList = mixList;
450
+ },
451
+ getNodeType() {
452
+ util
453
+ .ajax({
454
+ url: findCodeValues,
455
+ params: {
456
+ ccCode: 'notification_type',
457
+ userId: util.getStorage('userId')
458
+ }
459
+ })
460
+ .then((res) => {
461
+ const { status, data } = res;
462
+ if (status === 'success') {
463
+ this.nextNode.noticeList = data;
464
+ this.getFind();
465
+ }
466
+ })
467
+ .catch((err) => {
468
+ this.loading = false;
469
+ if (err.message && err.message !== 'canceled') {
470
+ this.$message.error(err.message);
471
+ }
472
+ });
473
+ },
474
+ //获取通知信息
475
+ getMessage() {
476
+ let params = {
477
+ processDefinitionId: this.processDefinitionId,
478
+ nodeId: this.nextNode.nextNode,
479
+ businessId: this.taskExamine.businessId
480
+ };
481
+ util
482
+ .ajax({ url: getNotificationMsg, params, methods: 'post' })
483
+ .then((res) => {
484
+ if (res.status === 'success') {
485
+ this.nextNode.noticeInfo = res.message;
486
+ }
487
+ })
488
+ .catch((err) => {
489
+ this.loading = false;
490
+ if (err.message && err.message !== 'canceled') {
491
+ this.$message.error(err.message);
492
+ }
493
+ });
494
+ },
495
+ // 提交表单
496
+ subProcess(formName) {
497
+ this.saveProcess(formName);
498
+ },
499
+ saveProcess(formName) {
500
+ this.$refs[formName].validate((valid) => {
501
+ if (valid) {
502
+ const {
503
+ nextNode,
504
+ nextUser,
505
+ noticeInfo,
506
+ noticeType,
507
+ handleExplain,
508
+ presetReadUserId,
509
+ nextReadUserId,
510
+ nextOrgId,
511
+ nextRoleId,
512
+ nextOperate,
513
+ newOpinion
514
+ } = this.nextNode;
515
+ if (noticeType.length === 0) {
516
+ return this.$message.warning('请选择通知方式');
517
+ }
518
+ if (
519
+ this.nodeInfoExtAttr.nodeType != 1 &&
520
+ this.nodeInfoExtAttr.nodeType != 2 &&
521
+ !this.showRoleUser
522
+ ) {
523
+ if (this.isShowNextUser) {
524
+ if (nextUser == '' || (this.multiple && nextUser.length == 0)) {
525
+ return this.$message.warning('请选择下步办理人');
526
+ }
527
+ } else {
528
+ if (nextOrgId == '' || (this.multiple && nextOrgId.length == 0)) {
529
+ return this.$message.warning('请选择办理对象');
530
+ }
531
+ }
532
+ }
533
+ if (
534
+ (this.showRoleUser && nextRoleId == '') ||
535
+ (this.multiple && nextUser.length == 0)
536
+ ) {
537
+ return this.$message.warning('请选择办理角色');
538
+ }
539
+ if (this.isOpinionRequired && !this.newOpinion && !newOpinion) {
540
+ return this.$message.warning('请选择输入审批意见');
541
+ }
542
+ this.loading = true;
543
+ let newNextUser = [];
544
+ if (this.multiple) {
545
+ nextUser && nextUser.map((item) => newNextUser.push(item));
546
+ }
547
+ let newNoticeType = '';
548
+ if (noticeType) {
549
+ newNoticeType = noticeType.join(',');
550
+ }
551
+ let params = {
552
+ processDefinitionId: this.processDefinitionId,
553
+ nextUserId: this.multiple ? newNextUser.join(',') : nextUser,
554
+ nextNodeId: nextNode,
555
+ nextOperate: nextOperate,
556
+ businessId: this.taskExamine.businessId,
557
+ pendingId: this.taskExamine.pendingId,
558
+ notificationType: newNoticeType,
559
+ userId: util.getStorage('userId'),
560
+ notificationMsg: noticeInfo,
561
+ customPresetUserJson: JSON.stringify(this.presetList),
562
+ presetUserJson: JSON.stringify(this.presetUserJson),
563
+ nextReadUserId: this.readMultiple
564
+ ? this.mixReadList && this.mixReadList.join('|')
565
+ : nextReadUserId,
566
+ nextOrgId: !this.isShowNextUser
567
+ ? this.multiple
568
+ ? this.mixOrgIdList && this.mixOrgIdList.join('|')
569
+ : nextOrgId
570
+ : '',
571
+ handleExplain: handleExplain,
572
+ presetReadUserId:
573
+ this.mixPresetList && this.mixPresetList.length > 0
574
+ ? this.mixPresetList.join('|')
575
+ : presetReadUserId.join(','),
576
+ opinion: this.newOpinion || newOpinion
577
+ };
578
+ if (this.activeNames != '1') delete params.customPresetUserJson;
579
+ util
580
+ .ajax({
581
+ url: this.type == 'reset' ? resetProcess : taskContinuation,
582
+ method: 'post',
583
+ data: params
584
+ })
585
+ .then((res) => {
586
+ const { status, message } = res;
587
+ this.loading = false;
588
+ if (status === 'success') {
589
+ this.quit(true);
590
+ this.$message.success('操作成功');
591
+ } else {
592
+ this.$message.error(message || '系统错误,请联系管理员!');
593
+ }
594
+ })
595
+ .catch((err) => {
596
+ this.loading = false;
597
+ if (err.message && err.message !== 'canceled') {
598
+ this.$message.error(err.message);
599
+ }
600
+ });
601
+ } else {
602
+ return false;
603
+ }
604
+ });
605
+ },
606
+ getNodeInfos(nodeId, index) {
607
+ let params = {
608
+ processDefinitionId: this.processDefinitionId,
609
+ nextNodeId: nodeId ? nodeId : this.nextNode.nextNode,
610
+ businessId: this.taskExamine.businessId,
611
+ pendingId: this.taskExamine.pendingId
612
+ };
613
+ util
614
+ .ajax({ url: getNodeInfo, params })
615
+ .then((res) => {
616
+ const {
617
+ status,
618
+ message,
619
+ data: {
620
+ nextUserList,
621
+ nodeExtAttr,
622
+ countersignaturetypeText,
623
+ countersignaturetypeCode
624
+ }
625
+ } = res;
626
+ this.loading = false;
627
+ if (status === 'success') {
628
+ this.nextNode.userInfo = nextUserList;
629
+ this.countersignaturetypeCode = countersignaturetypeCode;
630
+ this.nextNode.countersignaturetypeText = countersignaturetypeText;
631
+ this.isTaskread = nodeExtAttr.isTaskread;
632
+ this.isHandleExplain = nodeExtAttr.isHandleExplain;
633
+ this.isCustomUser = nodeExtAttr.isCustomUser; //是否展示选人组件按钮
634
+ this.presetEdit = nodeExtAttr.presetEdit; //是否展示备选人
635
+ this.nodeInfoExtAttr = nodeExtAttr;
636
+ this.isDefSelectedObj = nodeExtAttr.isDefSelectedObj; //是否默认选中
637
+
638
+ if (
639
+ nodeExtAttr.userSelectionType == 7 ||
640
+ nodeExtAttr.userSelectionType == 8 ||
641
+ nodeExtAttr.userSelectionType == 9 ||
642
+ nodeExtAttr.userSelectionType == 10 ||
643
+ nodeExtAttr.userSelectionType == 11 ||
644
+ nodeExtAttr.userSelectionType == 12
645
+ ) {
646
+ this.getIsShowNextUser(
647
+ nodeExtAttr && nodeExtAttr.userSelectionType
648
+ );
649
+ } else if (
650
+ nodeExtAttr.userSelectionType == 13 ||
651
+ nodeExtAttr.userSelectionType == 14
652
+ ) {
653
+ this.showRoleUser = true;
654
+ if (data.nextRole) {
655
+ this.radioList = [
656
+ { showid: data.nextRole.id, showname: data.nextRole.rolename }
657
+ ];
658
+ if (this.isDefSelectedObj == 1) {
659
+ this.nextNode.nextRoleId.push(data.nextRole.id);
660
+ this.selectUserList.push({
661
+ showname: data.nextRole.rolename,
662
+ showid: data.nextRole.id
663
+ });
664
+ }
665
+ }
666
+ } else {
667
+ const { multiple, params } = this.isMultiple(
668
+ nodeExtAttr.userSelectionType
669
+ );
670
+ this.multiple = multiple;
671
+ this.params = params;
672
+ }
673
+ // this.isReadMultiple(nodeExtAttr.userSelectionType);
674
+
675
+ nextUserList.map((item) => {
676
+ if (
677
+ this.multiple &&
678
+ nodeExtAttr.isDefSelectedObj == 1 &&
679
+ nextUserList !== undefined
680
+ ) {
681
+ this.nextNode.nextUser.push(item.userId);
682
+ this.selectUserList.push({
683
+ showname: item.username,
684
+ showid: item.userId
685
+ });
686
+ }
687
+
688
+ this.options.push({
689
+ showname: item.username,
690
+ showid: item.userId
691
+ });
692
+ });
693
+ if (this.multiple) {
694
+ this.nextNode.nextReadUserId = [];
695
+ } else {
696
+ this.nextNode.nextReadUserId = '';
697
+ }
698
+ if (
699
+ nextUserList.length > 0 &&
700
+ nodeExtAttr.isDefSelectedObj == 1 &&
701
+ !this.multiple
702
+ ) {
703
+ this.nextNode.nextUser = nextUserList[0].userId;
704
+ this.selectUserList.push({
705
+ showname: nextUserList[0].username,
706
+ showid: nextUserList[0].userId
707
+ });
708
+ }
709
+ this.radioList = this.options;
710
+ } else {
711
+ this.$message.error(message || '系统错误,请联系管理员!');
712
+ }
713
+ nodeId && this.$refs.selectUser[index].changeInfo();
714
+ })
715
+ .catch((err) => {
716
+ this.loading = false;
717
+ if (err.message && err.message !== 'canceled') {
718
+ this.$message.error(err.message);
719
+ }
720
+ });
721
+ },
722
+ changeSel(val) {
723
+ this.nextNode.nextUser = [];
724
+ this.options = [];
725
+ this.selectUserList = [];
726
+ this.radioList = [];
727
+ this.loading = true;
728
+ this.getNodeInfos();
729
+ },
730
+ // 取消
731
+ quit(val) {
732
+ if (val === true) return this.$emit('cancel', val);
733
+ this.$emit('cancel', false);
734
+ },
735
+ getFind() {
736
+ util
737
+ .ajax({
738
+ url: findSysCodes
739
+ })
740
+ .then((res) => {
741
+ const { status, message } = res;
742
+ if (status === 'success') {
743
+ this.nextNode.noticeType = message.split(',');
744
+ let arr = [];
745
+ this.nextNode.noticeList.map((item) => {
746
+ this.nextNode.noticeType.map((x) => {
747
+ if (x == item.cciValue) {
748
+ arr.push(x);
749
+ }
750
+ });
751
+ });
752
+ this.nextNode.noticeType = arr;
753
+ this.showNoticeType = true;
754
+ } else {
755
+ this.$message.error(message || '系统错误,请联系管理员!');
756
+ }
757
+ })
758
+ .catch((err) => {
759
+ this.loading = false;
760
+ if (err.message && err.message !== 'canceled') {
761
+ this.$message.error(err.message);
762
+ }
763
+ });
764
+ },
765
+ /**
766
+ * isMultiple
767
+ * @desc:是否多选
768
+ * @author liufan
769
+ * @date 2022年9月13日
770
+ **/
771
+ isMultiple(val, choiceOrgId, choiceDeptId, pOrgId) {
772
+ let multiple = false;
773
+ let params = {};
774
+ if (val == 2 || val == 4 || val == 6 || val == 16 || val == 12) {
775
+ multiple = true;
776
+ }
777
+ if (val == 1 || val == 2 || val == 5) {
778
+ params.filid = this.userModel.orgId;
779
+ params.only_filid = true;
780
+ if (choiceOrgId) {
781
+ params.filid = choiceOrgId;
782
+ }
783
+ }
784
+ if (val == 5 || val == 6) {
785
+ params.filid = this.userModel.orgId;
786
+ params.deptid = this.userModel.orgId;
787
+ if (choiceDeptId) {
788
+ params.deptid = choiceDeptId;
789
+ }
790
+ if (choiceOrgId) {
791
+ params.filid = choiceOrgId;
792
+ }
793
+ }
794
+ if (val == 15 || val == 16) {
795
+ params.filid = this.userModel.orgId;
796
+ if (pOrgId) {
797
+ params.filid = pOrgId;
798
+ }
799
+ }
800
+ return { multiple, params };
801
+ },
802
+ getResetFlow() {
803
+ let params = {
804
+ url:
805
+ this.type == 'continuation'
806
+ ? toTaskContinuationIndex
807
+ : toResetProcessIndex,
808
+ params: {
809
+ appId: this.appId,
810
+ ...this.flowParams
811
+ }
812
+ };
813
+ // 获取节点
814
+ util
815
+ .ajax(params)
816
+ .then((res) => {
817
+ //pc接口返回数据处理
818
+ const { status, message, data } = res;
819
+ if (status == 'success') {
820
+ this.pendtitle = data.pendtitle || data.taskExamine.businessName;
821
+ this.customPresetHintMessage = data.customPresetHintMessage;
822
+ this.readOnlyNotificationType = data.readOnlyNotificationType;
823
+ this.notificationMessageReadOnly =
824
+ data.notificationMessageReadOnly == 'true';
825
+ let flowList = [];
826
+ if (data.taskNodeList && data.taskNodeList.length > 0) {
827
+ for (let key in data.taskNodeList[0]) {
828
+ flowList.push({
829
+ nodeName: data.taskNodeList[0][key],
830
+ nodeId: key
831
+ });
832
+ }
833
+ } else {
834
+ for (let key in data.taskNodeMap) {
835
+ flowList.push({
836
+ nodeName: data.taskNodeMap[key],
837
+ nodeId: key
838
+ });
839
+ }
840
+ }
841
+
842
+ this.nextNode.nodeInfo = flowList;
843
+ this.nextNode.nextNode = flowList[0].nodeId;
844
+ this.taskExamine = data.taskExamine;
845
+ this.processDefinitionId = data.taskExamine.processDefinitionId;
846
+ this.isOpinionRequired =
847
+ data.nodeInfoMap.nodeExtAttr.isOpinionRequired;
848
+ this.isHideDefaultOperation =
849
+ data.nodeInfoMap.nodeExtAttr.isHideDefaultOperation;
850
+ this.defaultNextNode = data.nodeInfoMap.nodeExtAttr.defaultNextNode;
851
+ this.isChooseNextNode =
852
+ data.nodeInfoMap.nodeExtAttr.isChooseNextNode;
853
+ this.isCdjxjTaskHandle = data.isCdjxjTaskHandle;
854
+ this.presetTaskNodeKeyStr = data.presetTaskNodeKeyStr;
855
+ this.presetTaskNodeMap = data.presetTaskNodeMap;
856
+ this.isSinglePage = data.taskExamine.isSinglePage;
857
+ this.isSinglePage &&
858
+ (this.nextNode.opinion = data.taskExamine.opinion);
859
+ // this.nextNode.noticeInfo = data.taskExamine.notificationMsg;
860
+ this.nextNode.nodeName = data.taskExamine.nodeName;
861
+ this.canPresetRead = data.canPresetRead;
862
+ if (data.canPresetRead) {
863
+ let ids =
864
+ data.nodeInfoMap.nodeExtAttr.presetReadCandinateIds.split(',');
865
+ let names =
866
+ data.nodeInfoMap.nodeExtAttr.presetReadCandinateNames.split(
867
+ ','
868
+ );
869
+ ids.map((item, index) => {
870
+ this.presetReadUserId.push({
871
+ showid: item,
872
+ showname: names[index]
873
+ });
874
+ this.selectPresetUserList.push({
875
+ showid: item,
876
+ showname: names[index]
877
+ });
878
+ this.nextNode.presetReadUserId.push(item);
879
+ });
880
+ }
881
+ this.getNodeInfos();
882
+ // this.getPresetFlowInfo();
883
+
884
+ this.getNodeType();
885
+ this.getMessage();
886
+ } else {
887
+ this.$message.error(message || '系统错误,请联系管理员!');
888
+ }
889
+ })
890
+ .catch((err) => {
891
+ this.loading = false;
892
+ if (err.message && err.message !== 'canceled') {
893
+ this.$message.error(err.message);
894
+ }
895
+ });
896
+ }
897
+ }
898
+ };
899
+ </script>