eoss-ui 0.6.43 → 0.6.45

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