eoss-mobiles 0.1.13

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (285) hide show
  1. package/CHANGELOG.md +55 -0
  2. package/README.md +28 -0
  3. package/lib/action-sheet.js +313 -0
  4. package/lib/button-group.js +421 -0
  5. package/lib/button.js +278 -0
  6. package/lib/calendar.js +301 -0
  7. package/lib/cascader.js +336 -0
  8. package/lib/cell.js +366 -0
  9. package/lib/checkbox.js +2170 -0
  10. package/lib/circle.js +299 -0
  11. package/lib/config/api.js +31 -0
  12. package/lib/count-down.js +299 -0
  13. package/lib/date.js +956 -0
  14. package/lib/empty.js +274 -0
  15. package/lib/eoss-mobile.common.js +15072 -0
  16. package/lib/field.js +440 -0
  17. package/lib/flow.js +5664 -0
  18. package/lib/form.js +714 -0
  19. package/lib/grid-item.js +274 -0
  20. package/lib/grid.js +317 -0
  21. package/lib/image-preview.js +325 -0
  22. package/lib/index.js +1 -0
  23. package/lib/list.js +315 -0
  24. package/lib/loading.js +279 -0
  25. package/lib/nav-bar.js +283 -0
  26. package/lib/pagination.js +323 -0
  27. package/lib/picker.js +2714 -0
  28. package/lib/popover.js +306 -0
  29. package/lib/popup.js +297 -0
  30. package/lib/radio.js +2137 -0
  31. package/lib/rate.js +300 -0
  32. package/lib/search.js +316 -0
  33. package/lib/selector.js +3496 -0
  34. package/lib/skeleton.js +277 -0
  35. package/lib/stepper.js +300 -0
  36. package/lib/switch.js +304 -0
  37. package/lib/tab.js +274 -0
  38. package/lib/table-column.js +2991 -0
  39. package/lib/table.js +2652 -0
  40. package/lib/tabs.js +315 -0
  41. package/lib/tag.js +281 -0
  42. package/lib/theme-chalk/action-sheet.css +0 -0
  43. package/lib/theme-chalk/base.css +1 -0
  44. package/lib/theme-chalk/button-group.css +1 -0
  45. package/lib/theme-chalk/button.css +1 -0
  46. package/lib/theme-chalk/calendar.css +1 -0
  47. package/lib/theme-chalk/cascader.css +1 -0
  48. package/lib/theme-chalk/cell.css +1 -0
  49. package/lib/theme-chalk/checkbox.css +1 -0
  50. package/lib/theme-chalk/circle.css +1 -0
  51. package/lib/theme-chalk/count-down.css +0 -0
  52. package/lib/theme-chalk/date.css +0 -0
  53. package/lib/theme-chalk/empty.css +0 -0
  54. package/lib/theme-chalk/field.css +1 -0
  55. package/lib/theme-chalk/flow.css +1 -0
  56. package/lib/theme-chalk/fonts/iconfont.scss +530 -0
  57. package/lib/theme-chalk/fonts/iconfont.ttf +0 -0
  58. package/lib/theme-chalk/fonts/iconfont.woff +0 -0
  59. package/lib/theme-chalk/form.css +0 -0
  60. package/lib/theme-chalk/grid-item.css +1 -0
  61. package/lib/theme-chalk/grid.css +0 -0
  62. package/lib/theme-chalk/icon.css +1 -0
  63. package/lib/theme-chalk/image-preview.css +0 -0
  64. package/lib/theme-chalk/index.css +1 -0
  65. package/lib/theme-chalk/list.css +0 -0
  66. package/lib/theme-chalk/loading.css +0 -0
  67. package/lib/theme-chalk/nav-bar.css +0 -0
  68. package/lib/theme-chalk/navbar.css +1 -0
  69. package/lib/theme-chalk/pagination.css +1 -0
  70. package/lib/theme-chalk/picker.css +1 -0
  71. package/lib/theme-chalk/popover.css +0 -0
  72. package/lib/theme-chalk/popup.css +0 -0
  73. package/lib/theme-chalk/radio.css +1 -0
  74. package/lib/theme-chalk/rate.css +0 -0
  75. package/lib/theme-chalk/search.css +0 -0
  76. package/lib/theme-chalk/selector.css +1 -0
  77. package/lib/theme-chalk/skeleton.css +0 -0
  78. package/lib/theme-chalk/stepper.css +1 -0
  79. package/lib/theme-chalk/switch.css +1 -0
  80. package/lib/theme-chalk/tab.css +0 -0
  81. package/lib/theme-chalk/table-column.css +0 -0
  82. package/lib/theme-chalk/table.css +1 -0
  83. package/lib/theme-chalk/tabs.css +1 -0
  84. package/lib/theme-chalk/tag.css +1 -0
  85. package/lib/theme-chalk/theme.css +0 -0
  86. package/lib/theme-chalk/tree.css +1 -0
  87. package/lib/theme-chalk/uploader.css +0 -0
  88. package/lib/uploader.js +307 -0
  89. package/lib/utils/axios.js +199 -0
  90. package/lib/utils/date-util.js +320 -0
  91. package/lib/utils/http.js +74 -0
  92. package/lib/utils/rules.js +21 -0
  93. package/lib/utils/store.js +24 -0
  94. package/lib/utils/util.js +1315 -0
  95. package/package.json +153 -0
  96. package/packages/action-sheet/index.js +5 -0
  97. package/packages/action-sheet/src/main.vue +32 -0
  98. package/packages/button/index.js +5 -0
  99. package/packages/button/src/main.vue +15 -0
  100. package/packages/button-group/index.js +5 -0
  101. package/packages/button-group/src/main.vue +80 -0
  102. package/packages/calendar/index.js +5 -0
  103. package/packages/calendar/src/main.vue +34 -0
  104. package/packages/cascader/index.js +5 -0
  105. package/packages/cascader/src/main.vue +40 -0
  106. package/packages/cell/index.js +5 -0
  107. package/packages/cell/src/main.vue +72 -0
  108. package/packages/checkbox/index.js +5 -0
  109. package/packages/checkbox/src/main.vue +149 -0
  110. package/packages/circle/index.js +5 -0
  111. package/packages/circle/src/main.vue +27 -0
  112. package/packages/count-down/index.js +5 -0
  113. package/packages/count-down/src/main.vue +27 -0
  114. package/packages/date/index.js +5 -0
  115. package/packages/date/src/date-time.vue +290 -0
  116. package/packages/date/src/main.vue +319 -0
  117. package/packages/empty/index.js +5 -0
  118. package/packages/empty/src/main.vue +16 -0
  119. package/packages/field/index.js +5 -0
  120. package/packages/field/src/main.vue +130 -0
  121. package/packages/flow/index.js +5 -0
  122. package/packages/flow/src/components/Handle.vue +1031 -0
  123. package/packages/flow/src/components/Message.vue +96 -0
  124. package/packages/flow/src/components/Opinion.vue +112 -0
  125. package/packages/flow/src/components/Reject.vue +202 -0
  126. package/packages/flow/src/components/StartFlow.vue +440 -0
  127. package/packages/flow/src/components/TaskRead.vue +237 -0
  128. package/packages/flow/src/main.vue +43 -0
  129. package/packages/form/index.js +5 -0
  130. package/packages/form/src/main.vue +158 -0
  131. package/packages/grid/index.js +5 -0
  132. package/packages/grid/src/main.vue +28 -0
  133. package/packages/grid-item/index.js +5 -0
  134. package/packages/grid-item/src/main.vue +16 -0
  135. package/packages/image-preview/index.js +5 -0
  136. package/packages/image-preview/src/main.vue +34 -0
  137. package/packages/list/index.js +5 -0
  138. package/packages/list/src/main.vue +32 -0
  139. package/packages/loading/index.js +5 -0
  140. package/packages/loading/src/main.vue +20 -0
  141. package/packages/nav-bar/index.js +5 -0
  142. package/packages/nav-bar/src/main.vue +16 -0
  143. package/packages/pagination/index.js +5 -0
  144. package/packages/pagination/src/main.vue +29 -0
  145. package/packages/picker/index.js +5 -0
  146. package/packages/picker/src/main.vue +500 -0
  147. package/packages/popover/index.js +5 -0
  148. package/packages/popover/src/main.vue +32 -0
  149. package/packages/popup/index.js +5 -0
  150. package/packages/popup/src/main.vue +27 -0
  151. package/packages/radio/index.js +5 -0
  152. package/packages/radio/src/main.vue +147 -0
  153. package/packages/rate/index.js +5 -0
  154. package/packages/rate/src/main.vue +27 -0
  155. package/packages/search/index.js +5 -0
  156. package/packages/search/src/main.vue +39 -0
  157. package/packages/selector/index.js +5 -0
  158. package/packages/selector/src/main.vue +77 -0
  159. package/packages/selector/src/selector-field.vue +225 -0
  160. package/packages/selector/src/selector-tree.vue +472 -0
  161. package/packages/selector/src/tree.vue +179 -0
  162. package/packages/skeleton/index.js +5 -0
  163. package/packages/skeleton/src/main.vue +17 -0
  164. package/packages/stepper/index.js +5 -0
  165. package/packages/stepper/src/main.vue +25 -0
  166. package/packages/switch/index.js +5 -0
  167. package/packages/switch/src/main.vue +29 -0
  168. package/packages/tab/index.js +5 -0
  169. package/packages/tab/src/main.vue +16 -0
  170. package/packages/table/index.js +5 -0
  171. package/packages/table/src/main.vue +830 -0
  172. package/packages/table-column/index.js +5 -0
  173. package/packages/table-column/src/main.vue +742 -0
  174. package/packages/table-column/src/mixins/table.js +12 -0
  175. package/packages/tabs/index.js +5 -0
  176. package/packages/tabs/src/main.vue +34 -0
  177. package/packages/tag/index.js +5 -0
  178. package/packages/tag/src/main.vue +16 -0
  179. package/packages/theme-chalk/README.md +33 -0
  180. package/packages/theme-chalk/lib/action-sheet.css +0 -0
  181. package/packages/theme-chalk/lib/base.css +1 -0
  182. package/packages/theme-chalk/lib/button-group.css +1 -0
  183. package/packages/theme-chalk/lib/button.css +1 -0
  184. package/packages/theme-chalk/lib/calendar.css +1 -0
  185. package/packages/theme-chalk/lib/cascader.css +1 -0
  186. package/packages/theme-chalk/lib/cell.css +1 -0
  187. package/packages/theme-chalk/lib/checkbox.css +1 -0
  188. package/packages/theme-chalk/lib/circle.css +1 -0
  189. package/packages/theme-chalk/lib/count-down.css +0 -0
  190. package/packages/theme-chalk/lib/date.css +0 -0
  191. package/packages/theme-chalk/lib/empty.css +0 -0
  192. package/packages/theme-chalk/lib/field.css +1 -0
  193. package/packages/theme-chalk/lib/flow.css +1 -0
  194. package/packages/theme-chalk/lib/fonts/iconfont.scss +530 -0
  195. package/packages/theme-chalk/lib/fonts/iconfont.ttf +0 -0
  196. package/packages/theme-chalk/lib/fonts/iconfont.woff +0 -0
  197. package/packages/theme-chalk/lib/form.css +0 -0
  198. package/packages/theme-chalk/lib/grid-item.css +1 -0
  199. package/packages/theme-chalk/lib/grid.css +0 -0
  200. package/packages/theme-chalk/lib/icon.css +1 -0
  201. package/packages/theme-chalk/lib/image-preview.css +0 -0
  202. package/packages/theme-chalk/lib/index.css +1 -0
  203. package/packages/theme-chalk/lib/list.css +0 -0
  204. package/packages/theme-chalk/lib/loading.css +0 -0
  205. package/packages/theme-chalk/lib/nav-bar.css +0 -0
  206. package/packages/theme-chalk/lib/navbar.css +1 -0
  207. package/packages/theme-chalk/lib/pagination.css +1 -0
  208. package/packages/theme-chalk/lib/picker.css +1 -0
  209. package/packages/theme-chalk/lib/popover.css +0 -0
  210. package/packages/theme-chalk/lib/popup.css +0 -0
  211. package/packages/theme-chalk/lib/radio.css +1 -0
  212. package/packages/theme-chalk/lib/rate.css +0 -0
  213. package/packages/theme-chalk/lib/search.css +0 -0
  214. package/packages/theme-chalk/lib/selector.css +1 -0
  215. package/packages/theme-chalk/lib/skeleton.css +0 -0
  216. package/packages/theme-chalk/lib/stepper.css +1 -0
  217. package/packages/theme-chalk/lib/switch.css +1 -0
  218. package/packages/theme-chalk/lib/tab.css +0 -0
  219. package/packages/theme-chalk/lib/table-column.css +0 -0
  220. package/packages/theme-chalk/lib/table.css +1 -0
  221. package/packages/theme-chalk/lib/tabs.css +1 -0
  222. package/packages/theme-chalk/lib/tag.css +1 -0
  223. package/packages/theme-chalk/lib/theme.css +0 -0
  224. package/packages/theme-chalk/lib/tree.css +1 -0
  225. package/packages/theme-chalk/lib/uploader.css +0 -0
  226. package/packages/theme-chalk/package.json +35 -0
  227. package/packages/theme-chalk/src/action-sheet.scss +0 -0
  228. package/packages/theme-chalk/src/base.scss +182 -0
  229. package/packages/theme-chalk/src/button-group.scss +26 -0
  230. package/packages/theme-chalk/src/button.scss +3 -0
  231. package/packages/theme-chalk/src/calendar.scss +12 -0
  232. package/packages/theme-chalk/src/cascader.scss +12 -0
  233. package/packages/theme-chalk/src/cell.scss +14 -0
  234. package/packages/theme-chalk/src/checkbox.scss +10 -0
  235. package/packages/theme-chalk/src/circle.scss +7 -0
  236. package/packages/theme-chalk/src/common/var.scss +1525 -0
  237. package/packages/theme-chalk/src/count-down.scss +0 -0
  238. package/packages/theme-chalk/src/date.scss +0 -0
  239. package/packages/theme-chalk/src/empty.scss +0 -0
  240. package/packages/theme-chalk/src/field.scss +28 -0
  241. package/packages/theme-chalk/src/flow.scss +542 -0
  242. package/packages/theme-chalk/src/fonts/iconfont.scss +530 -0
  243. package/packages/theme-chalk/src/fonts/iconfont.ttf +0 -0
  244. package/packages/theme-chalk/src/fonts/iconfont.woff +0 -0
  245. package/packages/theme-chalk/src/form.scss +15 -0
  246. package/packages/theme-chalk/src/grid-item.scss +8 -0
  247. package/packages/theme-chalk/src/grid.scss +0 -0
  248. package/packages/theme-chalk/src/icon.scss +1661 -0
  249. package/packages/theme-chalk/src/image-preview.scss +0 -0
  250. package/packages/theme-chalk/src/index.scss +38 -0
  251. package/packages/theme-chalk/src/list.scss +0 -0
  252. package/packages/theme-chalk/src/loading.scss +0 -0
  253. package/packages/theme-chalk/src/mixins/color.scss +117 -0
  254. package/packages/theme-chalk/src/mixins/mixins.scss +25 -0
  255. package/packages/theme-chalk/src/nav-bar.scss +0 -0
  256. package/packages/theme-chalk/src/navbar.scss +6 -0
  257. package/packages/theme-chalk/src/pagination.scss +10 -0
  258. package/packages/theme-chalk/src/picker.scss +27 -0
  259. package/packages/theme-chalk/src/popover.scss +0 -0
  260. package/packages/theme-chalk/src/popup.scss +0 -0
  261. package/packages/theme-chalk/src/radio.scss +7 -0
  262. package/packages/theme-chalk/src/rate.scss +0 -0
  263. package/packages/theme-chalk/src/search.scss +0 -0
  264. package/packages/theme-chalk/src/selector.scss +218 -0
  265. package/packages/theme-chalk/src/skeleton.scss +0 -0
  266. package/packages/theme-chalk/src/stepper.scss +10 -0
  267. package/packages/theme-chalk/src/switch.scss +6 -0
  268. package/packages/theme-chalk/src/tab.scss +0 -0
  269. package/packages/theme-chalk/src/table-column.scss +0 -0
  270. package/packages/theme-chalk/src/table.scss +42 -0
  271. package/packages/theme-chalk/src/tabs.scss +21 -0
  272. package/packages/theme-chalk/src/tag.scss +13 -0
  273. package/packages/theme-chalk/src/theme.scss +2 -0
  274. package/packages/theme-chalk/src/tree.scss +115 -0
  275. package/packages/theme-chalk/src/uploader.scss +0 -0
  276. package/packages/uploader/index.js +5 -0
  277. package/packages/uploader/src/main.vue +31 -0
  278. package/src/config/api.js +29 -0
  279. package/src/index.js +130 -0
  280. package/src/utils/axios.js +198 -0
  281. package/src/utils/date-util.js +312 -0
  282. package/src/utils/http.js +66 -0
  283. package/src/utils/rules.js +18 -0
  284. package/src/utils/store.js +21 -0
  285. package/src/utils/util.js +1346 -0
@@ -0,0 +1,1031 @@
1
+ <template>
2
+ <div class="process-handle">
3
+ <div class="process-content">
4
+ <!-- 当前节点 -->
5
+ <div class="present-node">
6
+ <div class="label">当前节点:</div>
7
+ <div>{{ processObj.taskExamine.nodeName }}</div>
8
+ </div>
9
+ <!-- 意见 -->
10
+ <Opinion
11
+ :code="processObj.attachedCode"
12
+ :ownId="pendingId"
13
+ @onInputOpintion="onInputOpintion"
14
+ :isOpinionRequired="isOpinionRequired"
15
+ :disabled="isBanInputOpinion != 0"
16
+ :isHiddenOftenOpinion="isHiddenOftenOpinion == 1 ? false : true"
17
+ ></Opinion>
18
+ <!-- 审核内容 -->
19
+ <div class="special-box input-box" v-if="isSpecial">
20
+ <!-- 加签 -->
21
+ <div
22
+ class="item"
23
+ :class="{ itemRadio: form.isAddSign === '1' }"
24
+ v-if="isCanAddSign"
25
+ >
26
+ <em-input name="radio" label="是否增加本环节办理人" :required="true">
27
+ <template slot="input">
28
+ <em-radio-group
29
+ v-model="form.isAddSign"
30
+ :data="isAddSignList"
31
+ direction="horizontal"
32
+ />
33
+ </template>
34
+ </em-input>
35
+ </div>
36
+ <div
37
+ class="item item-user"
38
+ label="增加办理人"
39
+ v-if="form.isAddSign === '1'"
40
+ >
41
+ <em-selector
42
+ label="增加办理人"
43
+ required
44
+ multiple
45
+ :objType="objType"
46
+ v-model="addSignUserSelectList"
47
+ @change="disposeAppUser($event, 'addSignUserSelectList')"
48
+ />
49
+ </div>
50
+ <!-- 减签 -->
51
+ <div
52
+ class="item"
53
+ :class="{ itemRadio: form.isRemoveSign === '1' }"
54
+ v-if="isCanRemoveSign"
55
+ >
56
+ <em-input name="radio" label="是否减签" :required="true">
57
+ <template slot="input">
58
+ <em-radio-group
59
+ v-model="form.isRemoveSign"
60
+ :data="isAddSignList"
61
+ direction="horizontal"
62
+ />
63
+ </template>
64
+ </em-input>
65
+ </div>
66
+ <div
67
+ class="item item-user"
68
+ label="减少办理人"
69
+ v-if="form.isRemoveSign === '1'"
70
+ >
71
+ <em-selector
72
+ label="减少办理人"
73
+ required
74
+ multiple
75
+ :objType="objType"
76
+ v-model="removeSignUserSelectList"
77
+ @change="disposeAppUser($event, 'removeSignUserSelectList')"
78
+ />
79
+ </div>
80
+ <!-- 下一步所有相关操作-->
81
+ <div
82
+ v-if="
83
+ form.isRemoveSign !== '1' &&
84
+ form.isAddSign !== '1' &&
85
+ !isHiddenNextStepInfo
86
+ "
87
+ >
88
+ <div @click="isNextBox = !isNextBox" class="shrink-btn">
89
+ {{ isNextBox ? '收起下一步操作和节点' : '展开下一步操作和节点' }}
90
+ </div>
91
+ <div class="next-box" v-show="isNextBox">
92
+ <!-- 下一步操作 -->
93
+ <div class="item" v-if="!isHiddenNextStepInfo">
94
+ <em-picker
95
+ title="下步操作"
96
+ label="下步操作"
97
+ required
98
+ show-toolbar
99
+ v-model="form.nextOperateName"
100
+ label-width="100%"
101
+ :columns="taskOperations"
102
+ value-key="key"
103
+ label-key="value"
104
+ @confirm="changeNextOperate"
105
+ />
106
+ </div>
107
+ <!-- 下步节点 -->
108
+ <div class="item" v-if="nodeList && nodeList.length > 0">
109
+ <em-picker
110
+ title="下步节点"
111
+ label="下步节点"
112
+ required
113
+ show-toolbar
114
+ v-model="form.nextNodeName"
115
+ label-width="100%"
116
+ :columns="nodeList"
117
+ value-key="nodeId"
118
+ label-key="nodeName"
119
+ @confirm="onConfirmNextNode"
120
+ />
121
+ </div>
122
+ </div>
123
+ <!-- 处理方式提示文字 -->
124
+ <div class="item" v-if="countersignaturetypeCode">
125
+ <van-field
126
+ v-model="countersignaturetypeText"
127
+ label="处理方式"
128
+ :disabled="true"
129
+ />
130
+ </div>
131
+ <!-- 下一步办理人 -->
132
+ <div class="item item-user" v-if="isNextUser">
133
+ <em-selector
134
+ v-model="nextUserSelectList"
135
+ :multiple="!isRadio"
136
+ :objType="objType"
137
+ required
138
+ :nextUserList="nextUserList"
139
+ :param="{
140
+ pid: pid
141
+ }"
142
+ label="下步办理人"
143
+ @change="disposeAppUser($event, 'nextUserSelectList')"
144
+ />
145
+ </div>
146
+ <!-- 办理角色-->
147
+ <div class="item" v-if="isDealRole">
148
+ <em-input
149
+ value="办理角色"
150
+ label="办理角色"
151
+ :disabled="true"
152
+ placeholder="请选择"
153
+ />
154
+ </div>
155
+ <!-- 办理对象-->
156
+ <div class="item" v-if="isDealObject">
157
+ <em-input
158
+ value="办理对象"
159
+ label="办理对象"
160
+ :disabled="true"
161
+ placeholder="请选择"
162
+ />
163
+ </div>
164
+ <!-- 本单位-->
165
+ <!-- v-if="isHideCurrentOrg" -->
166
+ <div class="item" v-if="isHideCurrentOrg">
167
+ <em-selector
168
+ v-model="nextCurrentOrgObjSelect"
169
+ multiple
170
+ :objType="'enterprise'"
171
+ :tabs="'department,employee'"
172
+ :param="{
173
+ pid: 'root',
174
+ filid: userInfo.orgId
175
+ }"
176
+ :isOtherUnit="false"
177
+ :label="currentOrgName ? currentOrgName : '本单位'"
178
+ @change="disposeAppUnit($event, 'nextCurrentOrgObjSelect')"
179
+ />
180
+ </div>
181
+ <!-- 外单位 -->
182
+ <!-- v-if="isHideOtherOrg" -->
183
+ <div class="item" v-if="isHideOtherOrg">
184
+ <em-selector
185
+ v-model="nextOtherOrgObjSelect"
186
+ multiple
187
+ :objType="'enterprise'"
188
+ :param="{
189
+ pid: pid,
190
+ filid: userInfo.orgId
191
+ }"
192
+ :tabs="'department'"
193
+ :isOtherUnit="true"
194
+ :label="otherOrgName ? otherOrgName : '外单位'"
195
+ @change="disposeAppUnit($event, 'nextOtherOrgObjSelect')"
196
+ />
197
+ </div>
198
+ <!-- 主办 -->
199
+ <div class="item" v-if="isMainSubProcess">
200
+ <van-field
201
+ value="主办"
202
+ label="主办"
203
+ :disabled="true"
204
+ placeholder="请选择"
205
+ />
206
+ </div>
207
+ <!-- 办理说明 -->
208
+ <div class="item" v-if="isHandleExplain">
209
+ <van-field
210
+ value="办理说明"
211
+ label="办理说明"
212
+ :disabled="true"
213
+ placeholder="请选择"
214
+ />
215
+ </div>
216
+ </div>
217
+ <!-- 分阅 -->
218
+ <div
219
+ class="item"
220
+ v-if="
221
+ form.isRemoveSign !== '1' && form.isAddSign !== '1' && isTaskread
222
+ "
223
+ >
224
+ <div class="item item-user">
225
+ <em-selector
226
+ v-model="nextReadUserSelectList"
227
+ multiple
228
+ :objType="objType"
229
+ required
230
+ :param="{
231
+ pid: pid
232
+ }"
233
+ label="分阅用户"
234
+ @change="disposeAppUser($event, 'nextReadUserSelectList')"
235
+ />
236
+ </div>
237
+ </div>
238
+ <!-- 限时办理 -->
239
+ <!-- v-if="isLimitedTimeHandling" -->
240
+ <div class="item" v-if="isLimitedTimeHandling">
241
+ <em-input name="radio" label="是否限时办理" :required="true">
242
+ <template slot="input">
243
+ <em-radio-group
244
+ v-model="form.isLimitedTime"
245
+ :data="isAddSignList"
246
+ direction="horizontal"
247
+ />
248
+ </template>
249
+ </em-input>
250
+ </div>
251
+ <div class="item item-limited-time" v-if="form.isLimitedTime === '1'">
252
+ <em-input name="radio" label="限时办理时间" :required="true">
253
+ <template slot="input">
254
+ <div class="item-limited-time-content">
255
+ <div>
256
+ <em-input
257
+ placeholder="请输入天数"
258
+ v-model="form.limitedTimeDay"
259
+ type="digit"
260
+ />
261
+ </div>
262
+ <div class="day-text">天</div>
263
+ <div>
264
+ <em-input
265
+ :value="form.limitedTimeHour"
266
+ clickable
267
+ readonly
268
+ placeholder="请选择小时"
269
+ @click="openTimeList('limitedTimeHour')"
270
+ />
271
+ </div>
272
+ <div class="day-text">时</div>
273
+ </div>
274
+ </template>
275
+ </em-input>
276
+ </div>
277
+ <div class="item item-limited-time" v-if="form.isLimitedTime === '1'">
278
+ <em-input name="radio" label="提前通知时间" :required="true">
279
+ <template slot="input">
280
+ <div class="item-limited-time-content">
281
+ <div>
282
+ <em-input
283
+ placeholder="请输入天数"
284
+ v-model="form.advanceNoticeDay"
285
+ type="digit"
286
+ />
287
+ </div>
288
+ <div class="day-text">天</div>
289
+ <div>
290
+ <em-input
291
+ :value="form.advanceNoticeHour"
292
+ clickable
293
+ placeholder="请选择小时"
294
+ readonly
295
+ @click="openTimeList('advanceNoticeHour')"
296
+ />
297
+ </div>
298
+ <div class="day-text">时</div>
299
+ </div>
300
+ </template>
301
+ </em-input>
302
+ </div>
303
+ <van-popup v-model="showTimeList" round position="bottom">
304
+ <van-picker
305
+ show-toolbar
306
+ :columns="timeList"
307
+ @cancel="showTimeList = false"
308
+ @confirm="onConfirmTimeList"
309
+ />
310
+ </van-popup>
311
+ <!-- 催办通知方式 -->
312
+ <div class="item-msg item-msg1" v-if="isLimitedTimeHandling">
313
+ <Message
314
+ ref="message"
315
+ :label="'催办通知方式'"
316
+ :code="'notification_type'"
317
+ @onInputMsg="onInputMsgUrge"
318
+ :required="true"
319
+ ></Message>
320
+ </div>
321
+ <!-- 通知方式 -->
322
+ <div class="item-msg item-msg2">
323
+ <Message
324
+ ref="message"
325
+ :code="'notification_type'"
326
+ :defaultNotificationType="defaultNotificationType"
327
+ :defaultNotificationMsg="form.notificationMsg"
328
+ @onInputMsg="onInputMsg"
329
+ ></Message>
330
+ </div>
331
+ </div>
332
+ </div>
333
+ <div class="btn-list">
334
+ <div class="btn" @click="navigateBack">取消</div>
335
+ <div class="btn" @click="onSubmit()">确定</div>
336
+ </div>
337
+ </div>
338
+ </template>
339
+
340
+ <script>
341
+ import {
342
+ getHandleInfoHtml,
343
+ getNodeInfoHtml,
344
+ taskHandleHtml
345
+ } from '../../../../src/config/api.js';
346
+ import request from '../../../../src/utils/http.js';
347
+ import Opinion from './Opinion.vue';
348
+ import Message from './Message.vue';
349
+ export default {
350
+ name: 'Handle',
351
+ inheritAttrs: false,
352
+ components: {
353
+ Opinion,
354
+ Message
355
+ },
356
+ props: {
357
+ pendingId: String, //待办id
358
+ identityIds: String, //用户id
359
+ businessId: String, //业务id
360
+ beforeSubmit: Function,
361
+ orgId: String, //单位id
362
+ depId: String, //部门id
363
+ baseUrl: String
364
+ },
365
+ data() {
366
+ return {
367
+ nextNodeDefault: 0,
368
+ showAppUnit: false, // 弹窗单位
369
+ pid: 'root', //树选中pid
370
+ objType: 'enterprise', //树点击对象
371
+ selectType: 'employee', // 树 选择类型
372
+ isNextBox: false, // 是否展开隐藏下步操作
373
+ isOtherUnit: true, //是否是外单位
374
+ isHiddenOftenOpinion: undefined, //是否隐藏常用意见
375
+ isAddSignList: [{ name: '是', value: '1' }, { name: '否', value: '2' }],
376
+ form: {
377
+ opinion: undefined, // 审批意见
378
+ isAddSign: undefined, //是否加签
379
+ addSignUserId: undefined, //加签人员id
380
+ isRemoveSign: undefined, //是否减签
381
+ removeSignUserId: undefined, //减签人员id
382
+ nextOperate: undefined, // 下步操作
383
+ nextOperateName: undefined, // 下步操作显示
384
+ nextNodeId: undefined, // 下步节点,
385
+ nextNodeName: undefined, // 下步节点显示
386
+ isReturnSubmitter: undefined, //是否返回提交人
387
+ isSubFlow: undefined, //是否子流程
388
+ isUndertakeReply: undefined, //是否承办回复
389
+ isTakeAdviceReply: undefined, //是否征求意见回复回复
390
+ isUndertakeEnd: undefined, //是否承办办结
391
+ isTakeAdviceEnd: undefined, //是否征求意见办结
392
+ isReadDealReply: undefined, //是否阅办回复
393
+ isReadDealEnd: undefined, //是否阅办办结
394
+ caOpinion: undefined, //加密意见
395
+ isReturnRejectNode: undefined, //是否提交驳回节点
396
+ isSerialSubmit: undefined, //串行默认提交
397
+ loginType: undefined, //登录方式
398
+ nodeOpinionTemplate: undefined, //意见模板
399
+ businessSubCenterCode: undefined, //业务中心编码
400
+ nextRoleId: undefined, // 下步办理角色id
401
+ nextOrgId: undefined, //下步办理机构
402
+ nextCurrentOrgObj: undefined, // 本单位对象
403
+ nextCurrentOrgObjSerialId: undefined, //本单位办理对象序列id
404
+ nextOtherOrgObj: undefined, //外单位对象
405
+ nextOtherOrgObjSerialId: undefined, //外单位办理对象序列id
406
+ mainSubId: undefined, //主办id
407
+ nextReadUserId: undefined, //分阅用户
408
+ handleExplain: undefined, //办理说明
409
+ notificationMsg: undefined, //通知消息
410
+ nextUserId: undefined, //下步办理人
411
+ isLimitedTime: '2', //是否限时办理
412
+ limitedTimeDay: undefined, //限时办理时间 天
413
+ limitedTimeHour: undefined, //限时办理时间 时
414
+ advanceNoticeDay: undefined, //限时办理 天
415
+ advanceNoticeHour: undefined, //限时办理 时
416
+ advanceNoticeType: [] //催办通知方式
417
+ },
418
+ isOpinionRequired: 0, // 意见是否必填
419
+ isBanInputOpinion: 0, //意见是否禁用
420
+ showTimeList: false, //选择限时办理弹出层
421
+ timeList: [], // 选择限时办理时间数组
422
+ nextUserList: [], //下步办理人数组
423
+ nextCurrentOrgObjSelect: [], // 选中本单位
424
+ nextOtherOrgObjSelect: [], //选中外单位
425
+ nextReadUserSelectList: [], //分阅选择数组
426
+ addSignUserSelectList: [], //增加办理人选择数组
427
+ removeSignUserSelectList: [], //减少办理人选择数组
428
+ nextUserSelectList: [], //下步办理人选择数组
429
+ showAppUser: false, // 办理人遮罩层
430
+ showNextOperate: false, // 下一步操作遮罩层
431
+ showNextNodeList: false, // 下一步流程节点遮罩层
432
+ nodeList: [], // 流程节点列表
433
+ selectList: [], // 当前选中办理人
434
+ opinionList: [], // 意见列表
435
+ processObj: { taskExamine: { nodeName: undefined } }, //流程信息
436
+ peopleObj: {}, //办理人信息
437
+ userInfo: {}, // 用户信息
438
+ isCanAddSign: false, //是否显示加签
439
+ isCanRemoveSign: false, //是否显示减签
440
+ isSpecial: true, //判断审核内容是否显示(是否是正常的办理页面)
441
+ taskOperations: [], //下一步操作
442
+ countersignaturetypeCode: false, //用来判断处理方式是否显示
443
+ countersignaturetypeText: undefined, // 处理方式
444
+ isCustomPreset: true, // 是否允许预设节点
445
+ isHideCurrentOrg: false, //是否隐藏本单位(承办)
446
+ isHideOtherOrg: false, //是否隐藏外单位(承办)
447
+ isHandleExplain: false, // 是否允许办理说明
448
+ isTaskread: false, //是否分阅
449
+ defaultNotificationType: undefined, ///默认选中通知类型
450
+ selectUnitType: 'department', //单位树选择类型
451
+ isHiddenNextStepInfo: false, //是否隐藏下一步节点信息和接收人信息
452
+ presetEdit: true, //预设是否允许编辑
453
+ isLimitedTimeHandling: false, //是否支持发起子流程限时办理
454
+ userSelectionType: undefined, //处理人选择方式
455
+ orgSelectionType: undefined, //办理机构选择方式
456
+ notificationType: undefined, // 通知方式
457
+ nodeType: undefined, // 节点类型(普通节点0,承办节点1,会签节点2,阅办节点3)
458
+ deptRoleCode: undefined, //本单位角色
459
+ orgRoleCode: undefined, //外单位角色
460
+ appointNotUserIds: undefined, //业务指定非处理人
461
+ handleRoleId: undefined, //办理角色(一般选择范围是部门/单位使用)
462
+ nextRole: undefined, //下步节点默认角色
463
+ filterCandinateIds: undefined, //节点过滤办理人
464
+ selectorDefShowDeptId: undefined, //选择器默认展示部门
465
+ isRadio: true, //下步办理人是否单选
466
+ otherOrgName: undefined, //外单位名字
467
+ currentOrgName: undefined, //本单位名字
468
+ isMainSubProcess: false, // 判断是否子-主流程
469
+ isNextUser: false, // 判断是否显示下步办理人
470
+ isDealObject: false, //判断是否显示办理对象
471
+ isDealRole: false, //判断是否显示办理角色
472
+ nextUserflag: false,
473
+ isCustomUserClick: false, //下步办理人选择是否可以点击
474
+ timeListLable: undefined, //用来判断是哪里点开的时间遮罩层
475
+ nodeDefaultSubmitOpinion: undefined //默认提交意见
476
+ };
477
+ },
478
+ created() {
479
+ // 获取用户信息
480
+ // 生成时间数组
481
+ this.timeList = new Array();
482
+ for (let i = 0; i < 25; i++) {
483
+ this.timeList.push(i);
484
+ }
485
+ this.$toast.loading({
486
+ message: '加载中...',
487
+ forbidClick: true,
488
+ loadingType: 'spinner',
489
+ overlay: true,
490
+ duration: 0
491
+ });
492
+ // 获取审核详情后去获取节点信息和办理人信息。
493
+ Promise.all([this.getProcessObj()]).then(() => {
494
+ if (this.form.nextNodeId) {
495
+ this.getNodeObj(this.form.nextNodeId);
496
+ } else {
497
+ this.$toast.clear();
498
+ }
499
+ });
500
+ },
501
+
502
+ methods: {
503
+ //限时办理时间确认
504
+ onConfirmTimeList(val) {
505
+ this.form[this.timeListLable] = val;
506
+ this.showTimeList = false;
507
+ },
508
+ // 通知消息回调
509
+ onInputMsg(obj) {
510
+ this.form.notificationType = obj.notificationType.join(',');
511
+ this.form.notificationMsg = obj.notificationMsg;
512
+ },
513
+ // 催办通知消息回调
514
+ onInputMsgUrge(obj) {
515
+ this.form.advanceNoticeType = obj.notificationType.join(',');
516
+ this.form.advanceNoticeMsg = obj.notificationMsg;
517
+ },
518
+ // 打来限时办理时间选择遮罩层
519
+ openTimeList(label) {
520
+ this.timeListLable = label;
521
+ this.showTimeList = true;
522
+ },
523
+
524
+ // 导航栏左侧按钮
525
+ navigateBack() {
526
+ this.$parent.$emit('close');
527
+ },
528
+ // 提交流程
529
+ onSubmit() {
530
+ let idStr = '';
531
+ this.nextUserSelectList.map((r, i) => {
532
+ idStr =
533
+ idStr +
534
+ r.showid +
535
+ (i === this.nextUserSelectList.length - 1 ? '' : ',');
536
+ });
537
+ this.form.nextUserId = idStr;
538
+ if (
539
+ this.isSpecial &&
540
+ this.isNextUser &&
541
+ !this.form.nextUserId &&
542
+ idStr === ''
543
+ ) {
544
+ this.$toast('请选择办理人');
545
+ return;
546
+ }
547
+ if (!this.form.nextNodeId && this.nodeList.length > 0 && this.isSpecial) {
548
+ this.$toast('请选择流程节点');
549
+ return;
550
+ }
551
+ if (
552
+ !this.form.opinion &&
553
+ this.isOpinionRequired == 1 &&
554
+ !this.nodeDefaultSubmitOpinion
555
+ ) {
556
+ this.$toast('请选择输入审批意见');
557
+ return;
558
+ }
559
+ let str = '';
560
+ if (this.form.opinion) {
561
+ str = this.form.opinion.replace(/\s+/g, '');
562
+ }
563
+ if ((!this.form.opinion || str === '') && this.nodeDefaultSubmitOpinion) {
564
+ this.form.opinion = this.nodeDefaultSubmitOpinion;
565
+ }
566
+
567
+ if (this.form.isLimitedTime === '1' && this.form.limitedTimeDay) {
568
+ this.$toast('请填写限时办理天数');
569
+ return;
570
+ }
571
+ if (this.form.isLimitedTime === '1' && this.form.limitedTimeHour) {
572
+ this.$toast('请选择限时办理时间');
573
+ return;
574
+ }
575
+ if (this.form.isLimitedTime === '1' && this.form.advanceNoticeDay) {
576
+ this.$toast('请填写提前通知天数');
577
+ return;
578
+ }
579
+ if (this.form.isLimitedTime === '1' && this.form.advanceNoticeHour) {
580
+ this.$toast('请选择提通知时间');
581
+ return;
582
+ }
583
+ if (this.form.isLimitedTime === '1' && this.form.advanceNoticeType) {
584
+ this.$toast('请选择催办通知方式');
585
+ return;
586
+ }
587
+ delete this.form.nextNodeName;
588
+ delete this.form.nextOperateName;
589
+ if (!this.isSpecial) {
590
+ delete this.form.nextOperate;
591
+ delete this.form.nextNodeId;
592
+ }
593
+ if (this.form.nextOperate == 9) {
594
+ this.form.isReturnRejectNode = 1;
595
+ this.form.processDefinitionId = this.processObj.taskExamine.processDefinitionId;
596
+ }
597
+ if (this.beforeSubmit) {
598
+ this.beforeSubmit({ pendingId: this.pendingId, ...this.form });
599
+ return;
600
+ }
601
+ this.$toast.loading({
602
+ message: '加载中...',
603
+ forbidClick: true,
604
+ loadingType: 'spinner',
605
+ overlay: true,
606
+ duration: 0
607
+ });
608
+ const _that = this;
609
+ request({
610
+ url: _that.baseUrl ? _that.baseUrl + taskHandleHtml : taskHandleHtml,
611
+ params: {
612
+ pendingId: _that.pendingId,
613
+ ..._that.form
614
+ }
615
+ }).then(res => {
616
+ this.$toast.clear();
617
+ if (res.rCode == 0) {
618
+ this.$toast('操作成功');
619
+ this.$parent.$emit('success');
620
+ } else {
621
+ this.$emit('error');
622
+ this.$toast(res.msg);
623
+ }
624
+ });
625
+ },
626
+ // 删除
627
+ delteList(label, i) {
628
+ if (label === 'nextUserSelectList') {
629
+ let _this = this;
630
+ let id = _this.nextUserSelectList[i].showid;
631
+ this.nextUserList.find(i => {
632
+ if (i.userId === id) {
633
+ _this.$set(i, 'checked', false);
634
+ }
635
+ });
636
+ this[label].splice(i, 1);
637
+ } else {
638
+ this[label].splice(i, 1);
639
+ }
640
+ },
641
+ // 选择办理人
642
+ onClickPeople(id) {
643
+ this.showAppUser = true;
644
+ this.selectList = this[id];
645
+ this.$nextTick(function() {
646
+ this.$refs.selectTree.getContent(id);
647
+ });
648
+ },
649
+ // 选择单位
650
+ onClickOrg(id) {
651
+ this.isOtherUnit = id === 'nextCurrentOrgObjSelect' ? false : true;
652
+ this.selectUnitType =
653
+ id === 'nextCurrentOrgObjSelect' ? 'department,employee' : 'department';
654
+ this.showAppUnit = true;
655
+ this.$nextTick(function() {
656
+ this.$refs.selectTreeUnit.getContent(id);
657
+ });
658
+ },
659
+ // 切换下一步操作
660
+ changeNextOperate(val) {
661
+ if (val == -1) {
662
+ } else if (val == 0) {
663
+ } else if (val == 1) {
664
+ } else if (val == 2) {
665
+ } else if (val == 3) {
666
+ } else if (val == 4) {
667
+ } else if (val == 5) {
668
+ } else if (val == 6) {
669
+ } else if (val == 7) {
670
+ } else if (val == 8) {
671
+ } else if (val == 9) {
672
+ }
673
+ this.form.nextOperate = val.key;
674
+ this.form.nextOperateName = val.value;
675
+ this.nodeList = val.taskNodeList;
676
+ if (this.nodeList) {
677
+ this.form.nextNodeId = this.nodeList[this.nextNodeDefault].nodeId;
678
+ this.form.nextNodeName = this.nodeList[this.nextNodeDefault].nodeName;
679
+ this.$toast.loading({
680
+ message: '加载中...',
681
+ forbidClick: true,
682
+ loadingType: 'spinner',
683
+ overlay: true,
684
+ duration: 0
685
+ });
686
+ this.getNodeObj(this.form.nextNodeId);
687
+ }
688
+
689
+ this.showNextOperate = false;
690
+ },
691
+
692
+ // 确认流程节点操作
693
+ onConfirmNextNode(val) {
694
+ this.form.nextNodeId = val.nodeId;
695
+ this.form.nextNodeName = val.nodeName;
696
+ this.$toast.loading({
697
+ message: '加载中...',
698
+ forbidClick: true,
699
+ loadingType: 'spinner',
700
+ overlay: true,
701
+ duration: 0
702
+ });
703
+ this.getNodeObj(this.form.nextNodeId);
704
+ this.showNextNodeList = false;
705
+ },
706
+ // 意见回调
707
+ onInputOpintion(val) {
708
+ this.form.opinion = val;
709
+ },
710
+ // 办理人选择完回调
711
+ disposeAppUser(res, type) {
712
+ this[type] = res.list;
713
+ let label = '';
714
+ if (type) {
715
+ label = type.substring(0, type.lastIndexOf('SelectList'));
716
+ } else {
717
+ label = res.label.substring(0, res.label.lastIndexOf('SelectList'));
718
+ }
719
+
720
+ let idStr = '';
721
+ if (res.list) {
722
+ res.list.map((r, i) => {
723
+ idStr = idStr + r.showid + (i === res.list.length - 1 ? '' : ',');
724
+ });
725
+ } else {
726
+ res.map((r, i) => {
727
+ idStr = idStr + r.showid + (i === res.length - 1 ? '' : ',');
728
+ });
729
+ }
730
+ this.form[label + 'Id'] = idStr;
731
+ },
732
+ // 单位选择完回调
733
+ disposeAppUnit(res, type) {
734
+ let label = type.substring(0, type.lastIndexOf('Select'));
735
+ let idStr = '';
736
+ res.list.map((r, i) => {
737
+ idStr = idStr + r.showid + (i === res.list.length - 1 ? '' : ',');
738
+ });
739
+ this.form[label] = idStr;
740
+ },
741
+ // 获取发起流程信息
742
+ getProcessObj() {
743
+ let that = this;
744
+ return new Promise(function(resolve, reiect) {
745
+ request({
746
+ url: that.baseUrl
747
+ ? that.baseUrl + getHandleInfoHtml
748
+ : getHandleInfoHtml,
749
+ params: {
750
+ pendingId: that.pendingId,
751
+ identityIds: that.identityIds
752
+ }
753
+ }).then(res => {
754
+ if (res.rCode == 0) {
755
+ that.isHiddenOftenOpinion =
756
+ res.results.nodeInfoMap.nodeExtAttr.isHiddenOftenOpinion;
757
+ that.nodeDefaultSubmitOpinion =
758
+ res.results.nodeInfoMap.nodeExtAttr.nodeDefaultSubmitOpinion;
759
+ that.form.notificationMsg = res.results.defaultNotificationMessage;
760
+ that.defaultNotificationType = res.results.defaultNotificationType.split(
761
+ ','
762
+ );
763
+ that.isCanAddSign = res.results.isCanAddSign;
764
+ if (that.isCanAddSign) {
765
+ that.form.isAddSign = '2';
766
+ }
767
+ that.isCanRemoveSign = res.results.isCanRemoveSign;
768
+ if (that.isCanRemoveSign) {
769
+ that.form.isRemoveSign = '2';
770
+ }
771
+ that.isSpecial = res.results.isSpecial;
772
+ that.processObj = res.results;
773
+ that.taskOperations = res.results.taskOperations;
774
+ if (that.taskOperations && that.taskOperations.length > 0) {
775
+ let isSelected = false;
776
+ that.taskOperations.map(item => {
777
+ if (item.isSelected) {
778
+ isSelected = true;
779
+ that.form.nextOperate = item.key;
780
+ that.form.nextOperateName = item.value;
781
+ if (!item.taskNodeList || item.taskNodeList.length === 0) {
782
+ that.form.nextNodeId = undefined;
783
+ that.form.nextNodeName = undefined;
784
+ } else {
785
+ that.nodeList = item.taskNodeList;
786
+ let info = [];
787
+ that.nodeList.map((x, y) => {
788
+ if (
789
+ x.nodeId ===
790
+ res.results.nodeInfoMap.nodeExtAttr.defaultNextNode
791
+ ) {
792
+ info.push(x);
793
+ that.nextNodeDefault = y;
794
+ }
795
+ });
796
+ if (info.length > 0) {
797
+ that.form.nextNodeId = info[0].nodeId;
798
+ that.form.nextNodeName = info[0].nodeName;
799
+ }
800
+ // that.form.nextNodeId = that.nodeList[0].nodeId;
801
+ // that.form.nextNodeName = that.nodeList[0].nodeName;
802
+ }
803
+ // if (item.key == 9) {
804
+ // that.isHiddenNextStepInfo = true;
805
+ // }
806
+ }
807
+ });
808
+ if (isSelected) {
809
+ that.form.nextOperate = that.taskOperations[0].key;
810
+ that.form.nextOperateName = that.taskOperations[0].value;
811
+ that.nodeList = that.taskOperations[0].taskNodeList;
812
+ if (that.nodeList && that.nodeList.length > 0) {
813
+ that.form.nextNodeId = that.nodeList[0].nodeId;
814
+ that.form.nextNodeName = that.nodeList[0].nodeName;
815
+ }
816
+ }
817
+ }
818
+ that.isOpinionRequired =
819
+ res.results.nodeInfoMap.nodeExtAttr.isOpinionRequired;
820
+ that.isBanInputOpinion =
821
+ res.results.nodeInfoMap.nodeExtAttr.isBanInputOpinion;
822
+ if (!that.isOpinionRequired) {
823
+ that.isOpinionRequired = 0;
824
+ }
825
+ if (!that.isBanInputOpinion) {
826
+ that.isBanInputOpinion = 0;
827
+ }
828
+ // that.countersignaturetypeText = res.results.taskExamine.nodeName
829
+ if (res.results.taskExamine) {
830
+ that.countersignaturetypeText = res.results.taskExamine.nodeName;
831
+ }
832
+ that.countersignaturetypeCode =
833
+ res.results.countersignaturetypeCode !== 0 &&
834
+ res.results.countersignaturetypeCode != undefined
835
+ ? true
836
+ : false;
837
+ that.isMainSubProcess =
838
+ res.results.isMainSubProcess === true ? true : false;
839
+ that.isCustomPreset = res.results.isCustomPreset;
840
+ // form.isRemoveSign !== '1' &&
841
+ // form.isAddSign !== '1' &&
842
+ // nodeList &&
843
+ // nodeList.length > 0 &&
844
+ // isHiddenNextStepInfo
845
+ resolve();
846
+ } else {
847
+ that.$toast(res.message);
848
+ reiect();
849
+ }
850
+ });
851
+ });
852
+ },
853
+ // 获取节点信息(获取节点属性及办理人)
854
+ getNodeObj(res) {
855
+ const _that = this;
856
+ request({
857
+ url: _that.baseUrl ? _that.baseUrl + getNodeInfoHtml : getNodeInfoHtml,
858
+ params: {
859
+ processDefinitionId: this.processObj.taskExamine.processDefinitionId,
860
+ nextNodeId: res,
861
+ taskId: this.processObj.taskExamine.taskId,
862
+ pendingId: this.pendingId,
863
+ businessId: this.businessId
864
+ }
865
+ }).then(res => {
866
+ this.$toast.clear();
867
+ if (res.rCode == 0) {
868
+ this.appointNotUserIds = res.results.appointNotUserIds;
869
+ this.handleRoleId = res.results.handleRoleId;
870
+ this.nextRole = res.results.nextRole;
871
+ this.filterCandinateIds = res.results.nodeExtAttr.filterCandinateIds;
872
+ this.selectorDefShowDeptId =
873
+ res.results.nodeExtAttr.selectorDefShowDeptId;
874
+ this.userSelectionType = res.results.nodeExtAttr.userSelectionType;
875
+ this.changePidObjtype();
876
+ this.orgSelectionType = res.results.nodeExtAttr.orgSelectionType;
877
+ this.notificationType = res.results.nodeExtAttr.notificationType;
878
+ this.nodeType = res.results.nodeExtAttr.nodeType;
879
+ this.deptRoleCode = res.results.nodeExtAttr.deptRoleCode;
880
+ this.orgRoleCode = res.results.nodeExtAttr.orgRoleCode;
881
+ this.presetEdit = res.results.nodeExtAttr.presetEdit;
882
+ this.isLimitedTimeHandling =
883
+ res.results.nodeExtAttr.isLimitedTimeHandling;
884
+ this.peopleObj = res.results.nodeExtr;
885
+ this.nextUserList = res.results.nextUserList.filter(
886
+ x => x.userId && x.username
887
+ );
888
+ let _this = this;
889
+ this.nextUserList.map(r => {
890
+ _this.$set(r, 'checked', false);
891
+ });
892
+
893
+ this.isHandleExplain =
894
+ res.results.nodeExtAttr.isHandleExplain == 1 ? true : false; //判断是否隐藏办理说明
895
+ this.isCustomUserClick =
896
+ res.results.nodeExtAttr.isCustomUser == 1 ? true : false; // 判断办理人是否可点击显示弹框
897
+ this.isTaskread =
898
+ res.results.nodeExtAttr.isTaskread == 1 ? true : false; // 判断是否显示分阅
899
+ this.countersignaturetypeCode =
900
+ res.results.countersignaturetypeCode !== 0 ? true : false; //判断是否隐藏处理方式
901
+ this.countersignaturetypeText = res.results.countersignaturetypeText;
902
+ //如果当前为承办节点/会签节点,则展示本单位外单位办理人选择
903
+ if (this.nodeType === 1 || this.nodeType === 2) {
904
+ this.isMainSubProcess === true
905
+ ? (this.isMainSubProcess = true)
906
+ : (this.isMainSubProcess = false);
907
+ this.isNextUser = false;
908
+ this.isHideCurrentOrg =
909
+ res.results.nodeExtAttr.isHideCurrentOrg == 1 ? false : true; //判断是否隐藏本单位
910
+ this.isHideOtherOrg =
911
+ res.results.nodeExtAttr.isHideOtherOrg == 1 ? false : true; //判断是否隐藏外单位
912
+ } else {
913
+ this.isHideCurrentOrg = false;
914
+ this.isHideOtherOrg = false;
915
+ this.isMainSubProcess = false;
916
+ this.isNextUser = true;
917
+ // this.isMainSubProcess === true
918
+ // ? (this.isMainSubProcess = true)
919
+ // : (this.isMainSubProcess = false);
920
+ }
921
+ // userSelectionType 机构内单选人1,机构内多选人2,所有机构单选人3,所有部门多选人4,本部门单选人5,本部门多选人6,本单位单选部门7,本单位多选部门8,单选单位9,多选单位10,单选机构11,多选机构12,本部门角色13,本单位角色14
922
+ this.userSelectionType == 2 ||
923
+ this.userSelectionType == 4 ||
924
+ this.userSelectionType == 6 ||
925
+ this.userSelectionType == 8 ||
926
+ this.userSelectionType == 10 ||
927
+ this.userSelectionType == 11 ||
928
+ this.userSelectionType == 12
929
+ ? (this.isRadio = false)
930
+ : (this.isRadio = true); //判断办理人单选多选
931
+
932
+ if (
933
+ this.userSelectionType == 7 ||
934
+ this.userSelectionType == 8 ||
935
+ this.userSelectionType == 9 ||
936
+ this.userSelectionType == 10 ||
937
+ this.userSelectionType == 11 ||
938
+ this.userSelectionType == 12
939
+ ) {
940
+ this.isDealObject = true;
941
+ this.isNextUser = false;
942
+ }
943
+ if (this.userSelectionType == 13 || this.userSelectionType == 14) {
944
+ this.isNextUser = false;
945
+ this.isDealObject = false;
946
+ this.isDealRole = true;
947
+ this.nextUserflag = true;
948
+ }
949
+ this.isHiddenNextStepInfo =
950
+ res.results.nodeExtAttr.isHiddenNextStepInfo == 1 &&
951
+ this.nextUserflag
952
+ ? true
953
+ : false; // 判断是否隐藏下一步节点信息和接收人信息
954
+ if (res.results.globalNodeType === 'endEvent') {
955
+ this.isNextUser = false;
956
+ this.form.nextUserId = '流程办结';
957
+ } else {
958
+ this.isNextUser = true; //判断是否是流程办结 办结下步办理人不显示
959
+ }
960
+ this.changeDefPeople(
961
+ res.results.nodeExtAttr.isDefSelectedObj,
962
+ res.results.nodeExtAttr.isSelectedAllObj
963
+ );
964
+ this.changePidObjtype();
965
+ } else {
966
+ this.$toast(res.message);
967
+ }
968
+ });
969
+ },
970
+ // 修改默认办理人
971
+ changeDefPeople(def, all) {
972
+ this.nextUserSelectList = [];
973
+ if ((def == 1 && all == 1) || (def == 0 && all == 1)) {
974
+ let ids = '';
975
+ this.nextUserList.map((r, i) => {
976
+ r.showid = r.userId;
977
+ r.showname = r.username;
978
+ this.$set(r, 'checked', true);
979
+ this.nextUserSelectList.push(r);
980
+ ids += r.userId + (i === this.nextUserList.length - 1 ? '' : ',');
981
+ });
982
+ this.form.nextUserId = ids;
983
+ } else if (
984
+ def == 1 &&
985
+ (!all || all == 0) &&
986
+ this.nextUserList.length > 0
987
+ ) {
988
+ this.nextUserList[0].showid = this.nextUserList[0].userId;
989
+ this.nextUserList[0].showname = this.nextUserList[0].username;
990
+ this.$set(this.nextUserList[0], 'checked', true);
991
+ this.nextUserSelectList.push(this.nextUserList[0]);
992
+ this.form.nextUserId = this.nextUserSelectList[0].userId;
993
+ }
994
+ },
995
+ // 根据返回的办理人类型来判断 选择人员树的范围
996
+ changePidObjtype() {
997
+ if (this.userSelectionType === 1 || this.userSelectionType === 2) {
998
+ this.pid = this.orgId;
999
+ this.objtype = 'enterprise';
1000
+ this.selectType = 'employee';
1001
+ } else if (this.userSelectionType === 3 || this.userSelectionType === 4) {
1002
+ this.pid = 'root';
1003
+ this.objtype = 'employee';
1004
+ } else if (this.userSelectionType === 5 || this.userSelectionType === 6) {
1005
+ this.pid = this.depId;
1006
+ this.objtype = 'employee';
1007
+ } else if (
1008
+ this.userSelectionType === 11 ||
1009
+ this.userSelectionType === 12
1010
+ ) {
1011
+ this.selectType = 'employee';
1012
+ this.objtype = 'enterprise';
1013
+ } else if (this.userSelectionType === 13) {
1014
+ this.pid = this.depId;
1015
+ this.selectType = 'employee';
1016
+ } else if (this.userSelectionType === 14) {
1017
+ this.pid = this.orgId;
1018
+ this.selectType = 'employee';
1019
+ } else if (
1020
+ this.userSelectionType === 15 ||
1021
+ this.userSelectionType === 16
1022
+ ) {
1023
+ this.pid = this.orgId;
1024
+ this.selectType = 'employee';
1025
+ }
1026
+ }
1027
+ }
1028
+ };
1029
+ </script>
1030
+
1031
+ <style></style>