eoss-ui 0.7.50 → 0.7.51

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