eoss-ui 0.6.84 → 0.6.86

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