eoss 0.1.0-alpha.21 → 0.1.0-alpha.22

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 (195) hide show
  1. package/lib/account-login.js +129 -129
  2. package/lib/alert.js +2 -2
  3. package/lib/aside.js +2 -2
  4. package/lib/autocomplete.js +216 -216
  5. package/lib/avatar.js +2 -2
  6. package/lib/backtop.js +2 -2
  7. package/lib/badge.js +2 -2
  8. package/lib/breadcrumb.js +2 -2
  9. package/lib/ca-login.js +6 -6
  10. package/lib/calendar.js +2 -2
  11. package/lib/card.js +2 -2
  12. package/lib/carousel-item.js +21 -21
  13. package/lib/carousel.js +16 -16
  14. package/lib/cascader-panel.js +6 -6
  15. package/lib/cascader.js +230 -230
  16. package/lib/checkbox-group.js +138 -138
  17. package/lib/col.js +2 -2
  18. package/lib/collapse-item.js +423 -410
  19. package/lib/collapse.js +426 -412
  20. package/lib/color-picker.js +23 -23
  21. package/lib/container.js +2 -2
  22. package/lib/cron.js +2 -2
  23. package/lib/data-table.js +123 -123
  24. package/lib/date-picker.js +233 -233
  25. package/lib/dialog.js +8 -8
  26. package/lib/divider.js +2 -2
  27. package/lib/drawer.js +4 -4
  28. package/lib/dropdown-item.js +2 -2
  29. package/lib/dropdown-menu.js +6 -6
  30. package/lib/dropdown.js +13 -13
  31. package/lib/email-login.js +124 -124
  32. package/lib/empty.js +2 -2
  33. package/lib/eoss.common.js +21948 -21788
  34. package/lib/flip.js +2 -2
  35. package/lib/flow-group.js +251 -251
  36. package/lib/flow.js +15934 -18947
  37. package/lib/flows.js +9195 -0
  38. package/lib/footer.js +2 -2
  39. package/lib/form-item.js +28 -17
  40. package/lib/form.js +426 -412
  41. package/lib/header.js +2 -2
  42. package/lib/icon.js +128 -128
  43. package/lib/icons.js +2 -2
  44. package/lib/image-viewer.js +6 -6
  45. package/lib/image.js +2 -2
  46. package/lib/index.js +1 -1
  47. package/lib/infinite-scroll.js +2 -2
  48. package/lib/input.js +4 -4
  49. package/lib/link.js +2 -2
  50. package/lib/loading.js +4 -4
  51. package/lib/login.js +190 -156
  52. package/lib/lowcode.js +562 -272
  53. package/lib/main.js +348 -282
  54. package/lib/marquee.js +6 -6
  55. package/lib/menu.js +209 -209
  56. package/lib/message-box.js +8 -8
  57. package/lib/message.js +8 -8
  58. package/lib/notification.js +8 -8
  59. package/lib/option-group.js +2 -2
  60. package/lib/option.js +4 -4
  61. package/lib/page-header.js +2 -2
  62. package/lib/pagination.js +6 -6
  63. package/lib/phone-login.js +124 -124
  64. package/lib/popconfirm.js +2 -2
  65. package/lib/popover.js +209 -209
  66. package/lib/progress.js +2 -2
  67. package/lib/qr-code.js +2 -2
  68. package/lib/qrcode-login.js +123 -123
  69. package/lib/radio-group.js +121 -121
  70. package/lib/rate.js +4 -4
  71. package/lib/row.js +2 -2
  72. package/lib/scrollbar.js +6 -6
  73. package/lib/select.js +470 -457
  74. package/lib/selector-panel.js +141 -141
  75. package/lib/selector.js +130 -130
  76. package/lib/step.js +426 -412
  77. package/lib/steps.js +6 -6
  78. package/lib/submenu.js +4 -4
  79. package/lib/switch.js +4 -4
  80. package/lib/tab-pane.js +2 -2
  81. package/lib/table-column.js +6 -6
  82. package/lib/table.js +460 -460
  83. package/lib/tabs.js +6 -6
  84. package/lib/tag.js +2 -2
  85. package/lib/theme-chalk/autocomplete.css +1 -1
  86. package/lib/theme-chalk/base.css +1 -1
  87. package/lib/theme-chalk/cascader-panel.css +1 -1
  88. package/lib/theme-chalk/cascader.css +1 -1
  89. package/lib/theme-chalk/checkbox-group.css +1 -1
  90. package/lib/theme-chalk/date-picker.css +1 -1
  91. package/lib/theme-chalk/descriptions-item.css +1 -1
  92. package/lib/theme-chalk/descriptions.css +1 -1
  93. package/lib/theme-chalk/empty.css +1 -1
  94. package/lib/theme-chalk/flow.css +1 -1
  95. package/lib/theme-chalk/flows.css +1 -0
  96. package/lib/theme-chalk/form.css +1 -1
  97. package/lib/theme-chalk/index.css +1 -1
  98. package/lib/theme-chalk/input-number.css +1 -1
  99. package/lib/theme-chalk/input.css +1 -1
  100. package/lib/theme-chalk/lowcode.css +1 -1
  101. package/lib/theme-chalk/main.css +1 -1
  102. package/lib/theme-chalk/menu.css +1 -1
  103. package/lib/theme-chalk/message-box.css +1 -1
  104. package/lib/theme-chalk/message.css +1 -1
  105. package/lib/theme-chalk/notification.css +1 -1
  106. package/lib/theme-chalk/pagination.css +1 -1
  107. package/lib/theme-chalk/scrollbar.css +1 -1
  108. package/lib/theme-chalk/select.css +1 -1
  109. package/lib/theme-chalk/selector-panel.css +1 -1
  110. package/lib/theme-chalk/selector.css +1 -1
  111. package/lib/theme-chalk/slider.css +1 -1
  112. package/lib/theme-chalk/table.css +1 -1
  113. package/lib/theme-chalk/tabs.css +1 -1
  114. package/lib/theme-chalk/time-picker.css +1 -1
  115. package/lib/theme-chalk/time-select.css +1 -1
  116. package/lib/theme-chalk/timeline-item.css +1 -1
  117. package/lib/theme-chalk/transfer.css +1 -1
  118. package/lib/theme-chalk/tree.css +1 -1
  119. package/lib/theme-chalk/upload.css +1 -1
  120. package/lib/time-picker.js +8 -8
  121. package/lib/time-select.js +6 -6
  122. package/lib/timeline-item.js +2 -2
  123. package/lib/timeline.js +2 -2
  124. package/lib/tips.js +124 -124
  125. package/lib/toolbar.js +4 -4
  126. package/lib/tooltip.js +209 -209
  127. package/lib/transfer.js +4 -4
  128. package/lib/tree-group.js +122 -122
  129. package/lib/tree.js +121 -121
  130. package/lib/upload.js +131 -131
  131. package/package.json +1 -1
  132. package/packages/carousel/src/carousel.vue +2 -2
  133. package/packages/flow/index.js +4 -4
  134. package/packages/flow/src/component/FreeCirculation.vue +4 -3
  135. package/packages/flow/src/component/SendMsg.vue +2 -4
  136. package/packages/flow/src/component/opinions.vue +203 -226
  137. package/packages/flow/src/component/taskUnionExamine.vue +2 -4
  138. package/packages/flow/src/freeStartFlow.vue +2 -2
  139. package/packages/flow/src/selectUser.vue +36 -1
  140. package/packages/flow/src/supervise.vue +4 -2
  141. package/packages/flows/index.js +7 -0
  142. package/packages/flows/readme.md +600 -0
  143. package/packages/flows/src/components/basis.vue +108 -0
  144. package/packages/flows/src/components/distribute.vue +42 -0
  145. package/packages/flows/src/components/opinions-file.vue +123 -0
  146. package/packages/{flow-copy/src/component → flows/src/components}/opinions.vue +227 -204
  147. package/packages/flows/src/components/quick-actions.vue +64 -0
  148. package/packages/flows/src/components/reject.vue +83 -0
  149. package/packages/flows/src/components/start-flow.vue +210 -0
  150. package/packages/flows/src/flow.vue +510 -0
  151. package/packages/{flow/src/flow.vue → flows/src/flows.vue} +40 -1327
  152. package/packages/form/src/form-item.vue +9 -2
  153. package/packages/form/src/label-wrap.vue +4 -1
  154. package/packages/login/src/login.vue +61 -32
  155. package/packages/lowcode/src/lowcode.vue +141 -40
  156. package/packages/lowcode/src/pages.vue +27 -7
  157. package/packages/lowcode/src/toolbar.vue +3 -18
  158. package/packages/main/src/components/pages.vue +97 -65
  159. package/packages/main/src/components/router-page.vue +0 -2
  160. package/packages/main/src/gzw.vue +3 -2
  161. package/packages/main/src/minxs.js +71 -51
  162. package/packages/select/src/select.vue +5 -0
  163. package/packages/theme-chalk/src/base.scss +6 -0
  164. package/packages/theme-chalk/src/checkbox-group.scss +1 -0
  165. package/packages/theme-chalk/src/common/var.scss +1 -1
  166. package/packages/theme-chalk/src/flow.scss +7 -4
  167. package/packages/theme-chalk/src/flows.scss +141 -0
  168. package/packages/theme-chalk/src/form.scss +1 -1
  169. package/packages/theme-chalk/src/index.scss +1 -0
  170. package/packages/theme-chalk/src/input.scss +1 -0
  171. package/packages/theme-chalk/src/select.scss +3 -1
  172. package/packages/theme-chalk/src/selector.scss +1 -1
  173. package/src/index.js +4 -1
  174. package/packages/flow/src/component/quick-actions.vue +0 -1168
  175. package/packages/flow-copy/index.js +0 -7
  176. package/packages/flow-copy/src/component/Circulate.vue +0 -452
  177. package/packages/flow-copy/src/component/CustomPreset.vue +0 -333
  178. package/packages/flow-copy/src/component/FreeCirculation.vue +0 -275
  179. package/packages/flow-copy/src/component/Preset.vue +0 -273
  180. package/packages/flow-copy/src/component/SendMsg.vue +0 -290
  181. package/packages/flow-copy/src/component/TimeLimit.vue +0 -205
  182. package/packages/flow-copy/src/component/taskUnionExamine.vue +0 -818
  183. package/packages/flow-copy/src/freeStartFlow.vue +0 -2912
  184. package/packages/flow-copy/src/processForm.vue +0 -1411
  185. package/packages/flow-copy/src/processReject.vue +0 -319
  186. package/packages/flow-copy/src/reset.vue +0 -944
  187. package/packages/flow-copy/src/selectUser.vue +0 -513
  188. package/packages/flow-copy/src/startTaskRead.vue +0 -723
  189. package/packages/flow-copy/src/supervise.vue +0 -182
  190. package/packages/flow-copy/src/table.vue +0 -65
  191. /package/packages/{flow-copy → flow}/src/component/FileList.vue +0 -0
  192. /package/packages/{flow-copy → flow}/src/main.vue +0 -0
  193. /package/packages/{flow-copy/src → flows/src/components}/form.vue +0 -0
  194. /package/packages/{flow/src/component → flows/src/components}/message.vue +0 -0
  195. /package/packages/{flow/src/component → flows/src/components}/opinions-list.vue +0 -0
@@ -1,77 +1,25 @@
1
1
  <template>
2
- <es-form
3
- :model="formData"
4
- class="es-flow"
5
- :class="{ 'es-flow-narrow': shrink }"
6
- :style="styles"
7
- v-if="!shrinkAbled"
8
- :rules="formRules"
9
- >
10
- <StartTaskRead
11
- v-if="typeCode == 'read'"
12
- :pending-id="pendingId"
13
- :opinion="value"
14
- type="create"
15
- :simpleTips="simpleTips"
16
- :key="StartTaskReadKey"
17
- typeCode="read"
18
- :param="param"
19
- :selectorConfig="selectorConfig"
20
- :resetAppId="resetAppId"
21
- :taskExamine="taskExamineInfo"
22
- :subParams="subParams"
23
- :news-info="nextNode.notificationMsg"
24
- @cancel="closeProcess($event)"
25
- />
26
-
27
- <FreeCirculation
28
- v-else-if="typeCode == 'freeCirculation'"
29
- :appId="resetAppId"
30
- :params="param"
31
- :showOther="showOther"
32
- :selectorParams="selectorParams"
33
- :formLabelPosition="formLabelPosition"
34
- :simpleTips="simpleTips"
35
- />
36
- <Supervise
37
- v-else-if="typeCode == 'supervise'"
38
- :businessId="businessId"
39
- :appId="resetAppId"
40
- :simpleTips="simpleTips"
41
- @cancel="closeProcess($event)"
42
- />
43
- <reset
44
- v-else-if="newTypeCode == 'reset' || newTypeCode == 'continuation'"
45
- style="height: 100%"
46
- :type="newTypeCode"
47
- :simpleTips="simpleTips"
48
- :appId="resetAppId"
49
- @cancel="closeProcess($event)"
50
- :flowParams="param"
51
- :subParams="subParams"
52
- />
53
- <template v-else>
54
- <!-- 标题区域 -->
55
- <div class="es-flow__title">
56
- <span v-show="!shrink"
57
- >当前节点:<span class="es-flow__title--node-name">
58
- {{ isStartFlow ? nodeName || '拟稿' : NodeName }}
59
- </span></span
60
- >
61
- <es-button
62
- v-if="showShrink"
63
- type="text"
64
- size="medium"
65
- class="es-flow__title--shrink"
66
- :icon="shrink ? 'es-icon-shouqi' : 'es-icon-zhankai'"
67
- @click="setShrink"
68
- ></es-button>
69
- </div>
2
+ <div class="es-flows" :class="{ 'is-hide': !show }" :style="styles">
3
+ <!-- 标题区域 -->
4
+ <div class="es-flows__title">
5
+ <template v-show="show">
6
+ <span>当前节点:</span>
7
+ <span class="es-flows__title--node-name">
8
+ {{ isStartFlow ? nodeName || '拟稿' : NodeName }}
9
+ </span>
10
+ </template>
11
+ <i
12
+ class="es-flows__title--shrink"
13
+ :class="show ? 'es-icon-zhankai' : 'es-icon-shouqi'"
14
+ @click="handleShrink"
15
+ ></i>
16
+ </div>
17
+ <!-- 标题区域 end -->
18
+ <es-form :model="formData" :rules="formRules" v-show="show">
70
19
  <!-- 意见区域 -->
71
20
  <opinions
72
21
  v-if="showOpinion"
73
22
  v-model="formData.opinion"
74
- v-show="!shrink"
75
23
  ref="commonOpinions"
76
24
  :show-file="!isStartFlow && newTypeCode != 'fenyue'"
77
25
  :ownId="pendingId"
@@ -83,1249 +31,17 @@
83
31
  :isBanInputOpinion="isBanInputOpinion"
84
32
  :nodeFixedOpinionSelectList="nodeFixedOpinionSelectList"
85
33
  />
86
- <template v-if="showCirculate && newTypeCode != 'fenyue'">
87
- <div
88
- :class="`es-info ${formLabelPosition == 'left' ? 'form-left' : ''}`"
89
- >
90
- <es-form
91
- ref="form"
92
- :model="circulateForm"
93
- label-width="150px"
94
- :label-position="formLabelPosition"
95
- >
96
- <es-form-item
97
- style="margin-top: 20px"
98
- prop="nextNodeId"
99
- label="下步节点"
100
- >
101
- <es-select
102
- v-if="nextNodeCheckType == 'select'"
103
- v-model="circulateForm.nextNodeId"
104
- style="width: 100% !important"
105
- :placeholder="`请选择下步节点`"
106
- >
107
- <es-option label="传阅" value="111"></es-option>
108
- </es-select>
109
- <es-radio-group
110
- v-else-if="nextNodeCheckType == 'radio'"
111
- v-model="circulateForm.nextNodeId"
112
- :data="[{ nodeId: '111', nodeName: '传阅' }]"
113
- value-key="nodeId"
114
- label-key="nodeName"
115
- >
116
- <es-radio
117
- v-for="item of [{ nodeId: '111', nodeName: '传阅' }]"
118
- :key="item.nodeId"
119
- :label="item.nodeId"
120
- >
121
- {{ item.nodeName }}
122
- </es-radio>
123
- </es-radio-group>
124
- </es-form-item>
125
- </es-form>
126
- <circulate
127
- style="margin-top: 10px"
128
- :businessId="businessIds"
129
- :label-position="formLabelPosition"
130
- ref="circulate"
131
- :selectorParams="selectorParams"
132
- :pending-id="pendingId"
133
- :showBtn="false"
134
- :formTitle="formTitle"
135
- :startFlowPageEmbeddedIntoStartFlowIndex="
136
- startFlowPageEmbeddedIntoStartFlowIndex
137
- "
138
- :processDefinitionId="nodeInfo.nextNode"
139
- :simpleTips="simpleTips"
140
- :oldOption="value"
141
- @cancel="closeProcess($event, 'circulateVisible')"
142
- />
143
- </div>
144
-
145
- <es-button
146
- type="primary"
147
- style="width: calc(100% - 18px); margin: 8px auto"
148
- @click="handleClickCirculate()"
149
- >
150
- 提交
151
- </es-button>
152
- </template>
153
- <template v-else>
154
- <quick-actions
155
- ref="quickActions"
156
- v-model="formData"
157
- :typeList="typeList"
158
- :pending-id="pendingId"
159
- :option="value"
160
- :simpleTips="simpleTips"
161
- :show-reject="showReject"
162
- :nextNode="nextNode"
163
- :pendingId="pendingId"
164
- :defaultOpinion="nodeDefaultSubmitOpinion"
165
- :oldOption="value"
166
- :selectorParams="selectorParams"
167
- :flowType="flowType"
168
- :multiple="flowMultiple"
169
- :disabled="flowDisabled"
170
- :opinion="value"
171
- :taskReadType="taskReadType"
172
- :selectorConfig="selectorConfig"
173
- :subParams="subParams"
174
- :taskExamine="taskExamineInfo"
175
- :newsList="newsList"
176
- :freeStartFlowParams="freeStartFlowParams"
177
- :taskParams="taskParams"
178
- :businessId="businessIds"
179
- :nodeInfo="nodeInfo"
180
- :freeStartFlowNextNode="freeStartFlowNextNode"
181
- :formType="processFormType"
182
- :currentNodeIsCircularReadNode="currentNodeIsCircularReadNode"
183
- :isStartFlow="isStartFlow"
184
- :currentOrgName="currentOrgName"
185
- :nextCurrentOrgObjSelect="nextCurrentOrgObjSelect"
186
- :currentOrgDisabledObjId="currentOrgDisabledObjId"
187
- :currentOrgSelectorTabs="currentOrgSelectorTabs"
188
- :otherOrgName="otherOrgName"
189
- :nextOtherOrgObjSelect="nextOtherOrgObjSelect"
190
- :otherOrgDisabledObjId="otherOrgDisabledObjId"
191
- :foreignOrgSelectorTabs="foreignOrgSelectorTabs"
192
- :foreignOrgSelectorParams="foreignOrgSelectorParams"
193
- :endFlow="endFlow"
194
- :newTypeCode="newTypeCode"
195
- :shrink="shrink"
196
- :btnType="btnType"
197
- :startFlowPageEmbeddedIntoStartFlowIndex="
198
- startFlowPageEmbeddedIntoStartFlowIndex
199
- "
200
- :isCanAddSign="isCanAddSign"
201
- :isCanPreAddSign="isCanPreAddSign"
202
- :isCanRemoveSign="isCanRemoveSign"
203
- :removeUsers="removeUsers"
204
- :isSpecial="isSpecial"
205
- :isCustomPreset="isCustomPreset"
206
- :currentOrgSelectorParams="currentOrgSelectorParams"
207
- :isPreset="isPreset"
208
- :isEndMessage="isEndMessage"
209
- :isChooseNextNode="isChooseNextNode"
210
- :isReject="isReject"
211
- :nodeInfos="nodeInfos"
212
- :nextOperateCheckType="nextOperateCheckType"
213
- :isShowNode="isShowNode"
214
- :countersignaturetypeCode="countersignaturetypeCode"
215
- :handleMode="handleMode"
216
- :isNextUser="isNextUser"
217
- :isHideCurrentOrg="isHideCurrentOrg"
218
- :isHideOtherOrg="isHideOtherOrg"
219
- :isMainSubProcess="isMainSubProcess"
220
- :operationList="operationList"
221
- :nextNodeCheckType="nextNodeCheckType"
222
- :isShowNextUser="isShowNextUser"
223
- :radioList="radioList"
224
- :isCustomUser="isCustomUser"
225
- :isCurrentNodeForbiddenChangeCandidate="
226
- isCurrentNodeForbiddenChangeCandidate
227
- "
228
- :options="options"
229
- :presetEdit="presetEdit"
230
- :selectUserList="selectUserList"
231
- :nextUserTypes="nextUserTypes"
232
- :params="params"
233
- :nextUserTabs="nextUserTabs"
234
- :nodeType="nodeType"
235
- :isLimitedTimeHandling="isLimitedTimeHandling"
236
- :isTaskread="isTaskread"
237
- :canPresetRead="canPresetRead"
238
- :enableCustomLimitTimeSetting="enableCustomLimitTimeSetting"
239
- :isHandleExplain="isHandleExplain"
240
- :currentNodeEnableItemHandleDescription="
241
- currentNodeEnableItemHandleDescription
242
- "
243
- :notificationMessageReadOnly="notificationMessageReadOnly"
244
- :readOnlyNotificationType="readOnlyNotificationType"
245
- />
246
- <div
247
- v-show="!isStartFlow && !shrink"
248
- class="es-flow-middle-more-btn"
249
- :style="{
250
- flex: getFlexStyle()
251
- }"
252
- >
253
- <p>快捷操作</p>
254
- <!-- <div
255
- :class="`es-flow-middle-more-btn-item ${
256
- btnType === 'default' ? 'active-btn' : ''
257
- }`"
258
- >
259
- 默认
260
- </div> -->
261
- <div
262
- v-for="item of typeList"
263
- :key="item.key"
264
- @click="goView(item)"
265
- :class="`es-flow-middle-more-btn-item ${
266
- btnType === btnFunValue(item.fun) ? 'active-btn' : ''
267
- }`"
268
- >
269
- {{ item.value }}
270
- </div>
271
- <!-- <div
272
- v-if="rejectObj.fun"
273
- :class="`es-flow-middle-more-btn-item ${
274
- btnType === rejectObj.key ? 'active-btn' : ''
275
- }`"
276
- @click="rejectBtn"
277
- >
278
- {{ rejectObj.value }}
279
- </div> -->
280
- </div>
281
- <ProcessReject
282
- v-if="btnType === 'reject'"
283
- ref="reject"
284
- class="es-info"
285
- :pending-id="pendingId"
286
- :option="value"
287
- :simpleTips="simpleTips"
288
- :show-reject="showReject"
289
- :news-info="nextNode.notificationMsg"
290
- @cancel="closeProcess($event, 'showReject')"
291
- />
292
- <TaskUnionExamine
293
- v-else-if="
294
- btnType === 'toTakeAdvice' ||
295
- btnType === 'toUnionExamine' ||
296
- btnType === 'toStartDraf'
297
- "
298
- ref="toTakeAdvice"
299
- class="es-info"
300
- @cancel="closeProcess($event, 'showTaskUnionExamine')"
301
- :simpleTips="simpleTips"
302
- :pendingId="pendingId"
303
- :defaultOpinion="nodeDefaultSubmitOpinion"
304
- :oldOption="value"
305
- :selectorParams="selectorParams"
306
- :type="flowType"
307
- :multiple="flowMultiple"
308
- :disabled="flowDisabled"
309
- />
310
- <StartTaskRead
311
- v-else-if="btnType === 'toStartTaskRead'"
312
- ref="toStartTaskRead"
313
- class="es-info"
314
- :pending-id="pendingId"
315
- :opinion="value"
316
- :type="taskReadType"
317
- :selectorConfig="selectorConfig"
318
- :simpleTips="simpleTips"
319
- :subParams="subParams"
320
- :taskExamine="taskExamineInfo"
321
- :news-info="nextNode.notificationMsg"
322
- @cancel="closeProcess($event, 'showTaskRead')"
323
- />
324
- <SendMsg
325
- v-else-if="btnType === 'toSendMsg'"
326
- ref="toSendMsg"
327
- class="es-info"
328
- @cancel="closeProcess($event, 'showSendMsg')"
329
- :simpleTips="simpleTips"
330
- :pendingId="pendingId"
331
- :newsList="newsList"
332
- />
333
- <free-start-flow
334
- v-else-if="btnType === 'toFreeStartFlow'"
335
- ref="toFreeStartFlow"
336
- class="es-info"
337
- isStartFlow
338
- v-bind="freeStartFlowParams"
339
- :simpleTips="simpleTips"
340
- @close="showFreeStartFlow = false"
341
- @success="freeStartFlowSuccess"
342
- :btnList="[{ text: '提交', event: 'sub', type: 'primary' }]"
343
- :taskParams="taskParams"
344
- ></free-start-flow>
345
- <ProcessForm
346
- v-else-if="btnType === 'startFlowForm'"
347
- ref="startFlowForm"
348
- class="es-info"
349
- :id="freeStartFlowParams.startFlowBusinessId || businessIds"
350
- :pending-id="pendingId"
351
- :simpleTips="simpleTips"
352
- :is-free-start-flow="
353
- freeStartFlowParams.useScene === 'multiInsMidwayWithSubmitScene'
354
- "
355
- :pendingId="pendingId"
356
- :copy-history="freeStartFlowParams.pendedHistoryHandle"
357
- :process-definition-id="freeStartFlowNextNode || nodeInfo.nextNode"
358
- :opinion="value"
359
- :taskExamineParam="freeStartFlowParams.newFlowStartNodeItemName"
360
- :taskParams="taskParams"
361
- :formType="processFormType"
362
- @cancel="closeProcess($event, 'handleVisible', closeParent)"
363
- />
364
- <es-form
365
- v-show="currentNodeIsCircularReadNode"
366
- ref="nextNode"
367
- style="margin-top: 24px"
368
- :full="false"
369
- :model="isStartFlow ? nodeInfo : nextNode"
370
- label-width="150px"
371
- :label-position="formLabelPosition"
372
- >
373
- <es-form-item
374
- prop="nextCurrentOrgObj"
375
- :label="currentOrgName ? currentOrgName : '本单位'"
376
- >
377
- <SelectUser
378
- :nextUser="nextCurrentOrgObjSelect"
379
- multiple
380
- mix
381
- :disableds="currentOrgDisabledObjId"
382
- @change="disposeAppUnit($event, 'nextCurrentOrgObjSelect')"
383
- :types="currentOrgSelectorTabs"
384
- :params="currentOrgSelectorParams"
385
- />
386
- </es-form-item>
387
- <es-form-item
388
- prop="nextOtherOrgObj"
389
- :label="otherOrgName ? otherOrgName : '外单位'"
390
- >
391
- <SelectUser
392
- :nextUser="nextOtherOrgObjSelect"
393
- multiple
394
- mix
395
- :disableds="otherOrgDisabledObjId"
396
- :where="{ filid: 'other' }"
397
- @change="disposeAppUnit($event, 'nextOtherOrgObjSelect')"
398
- :types="foreignOrgSelectorTabs"
399
- :params="foreignOrgSelectorParams"
400
- />
401
- </es-form-item>
402
- </es-form>
403
- <div
404
- v-show="
405
- (!endFlow ||
406
- nodeInfos.length > 1 ||
407
- taskOperationShiftedNodeList) &&
408
- newTypeCode != 'fenyue' &&
409
- !shrink &&
410
- btnType === 'default'
411
- "
412
- ref="esContent"
413
- :class="`es-info ${formLabelPosition == 'left' ? 'form-left' : ''}`"
414
- >
415
- <div
416
- v-if="
417
- isStartFlow && nodeInfo.option.length > 0 && !flowListDisabled
418
- "
419
- style="border-bottom: 1px solid #dfebf6; padding-bottom: 6px"
420
- >
421
- <div class="news" style="margin-bottom: 6px">
422
- <span class="news-item">选择流程</span
423
- ><i
424
- style="color: #b9bdc9; cursor: pointer"
425
- class="es-icon-shu-jituan"
426
- @click="
427
- () => {
428
- showFlowChart = true;
429
- }
430
- "
431
- ></i>
432
- </div>
433
- <es-radio-group
434
- v-model="nodeInfo.nextNode"
435
- :data="nodeInfo.option"
436
- @change="handleChange"
437
- value-key="processDefId"
438
- label-key="name"
439
- >
440
- <es-radio
441
- v-for="item of nodeInfo.option"
442
- :key="item.processDefId"
443
- :label="item.processDefId"
444
- >
445
- {{ item.name }}
446
- </es-radio>
447
- </es-radio-group>
448
- </div>
449
- <es-form
450
- v-if="!isStartFlow"
451
- ref="nextNode"
452
- style="margin-top: 24px"
453
- :full="false"
454
- :model="isStartFlow ? nodeInfo : nextNode"
455
- :rules="rules"
456
- :label-width="
457
- startFlowPageEmbeddedIntoStartFlowIndex ? '130px' : '150px'
458
- "
459
- :label-position="formLabelPosition"
460
- >
461
- <!-- <es-form-item
462
- v-if="isStartFlow && nodeInfo.option.length > 0 && !flowListDisabled"
463
- prop="nextNode"
464
- label="选择流程"
465
- :rules="[
466
- { required: true, message: `请选择流程`, trigger: 'blur' },
467
- ]"
468
- >
469
- <es-input
470
- placeholder="请输入内容"
471
- class="input-with-select select-process"
472
- :class="{ 'hide-flow-char': isStartFlowChartView != 'true' }"
473
- >
474
- <es-select
475
- slot="prepend"
476
- v-model="nodeInfo.nextNode"
477
- style="width: calc(100% + 40px)"
478
- :placeholder="`请选择流程`"
479
- :key="optionsKey"
480
- @change="handleChange"
481
- >
482
- <es-option
483
- v-for="items in nodeInfo.option"
484
- :key="items.id"
485
- :label="items.name"
486
- :disabled="items.disabled"
487
- :value="items.processDefId"
488
- ></es-option>
489
- </es-select>
490
- <es-button
491
- slot="append"
492
- v-show="isStartFlowChartView == 'true'"
493
- icon="es-icon-picture"
494
- @click="
495
- () => {
496
- showFlowChart = true;
497
- }
498
- "
499
- ></es-button>
500
- </es-input>
501
- </es-form-item> -->
502
- <div v-if="!isStartFlow && nodeInfo.option.length == 0">
503
- <!-- 加签开始 -->
504
- <es-form-item
505
- prop="isAddSign"
506
- v-if="isCanAddSign"
507
- label="是否加签"
508
- :rules="[
509
- { required: true, message: `请选择是否加签`, trigger: 'blur' }
510
- ]"
511
- >
512
- <es-radio-group v-model="nextNode.isAddSign">
513
- <es-radio label="1">是</es-radio>
514
- <es-radio label="2">否</es-radio>
515
- </es-radio-group>
516
- </es-form-item>
517
- <div v-show="nextNode.isAddSign === '1'">
518
- <es-form-item
519
- prop="addSignUserId"
520
- label="增加本环节办理人"
521
- :rules="[
522
- {
523
- required: false,
524
- message: `请选择办理人`,
525
- trigger: 'blur'
526
- }
527
- ]"
528
- >
529
- <SelectUser
530
- :nextUser="nextNode.addSignUserId"
531
- :multiple="true"
532
- title="增加办理人"
533
- @change="changeSelectUser($event, 'addSignUserId', true)"
534
- />
535
- </es-form-item>
536
- <es-form-item
537
- prop="addSignMode"
538
- v-if="isCanPreAddSign"
539
- label="加签模式"
540
- :rules="[{ required: true, trigger: 'blur' }]"
541
- >
542
- <es-radio-group v-model="nextNode.addSignMode">
543
- <es-radio label="preAddSign">前置加签</es-radio>
544
- <es-radio label="postAddSign">后置加签</es-radio>
545
- </es-radio-group>
546
- </es-form-item>
547
- </div>
548
- <!-- 加签结束 -->
549
- <!-- 减签开始 -->
550
- <es-form-item
551
- v-if="isCanRemoveSign"
552
- prop="isRemoveSign"
553
- label="是否减签"
554
- :rules="[
555
- { required: true, message: `请选择是否加签`, trigger: 'blur' }
556
- ]"
557
- >
558
- <es-radio-group v-model="nextNode.isRemoveSign">
559
- <es-radio label="1">是</es-radio>
560
- <es-radio label="2">否</es-radio>
561
- </es-radio-group>
562
- </es-form-item>
563
- <div v-show="nextNode.isRemoveSign === '1'">
564
- <es-form-item
565
- prop="removeSignUserId"
566
- label="删除本环节办理人"
567
- :rules="[
568
- {
569
- required: false,
570
- message: `请选择办理人`,
571
- trigger: 'blur'
572
- }
573
- ]"
574
- >
575
- <es-checkbox-group v-model="nextNode.removeSignUserId">
576
- <es-checkbox
577
- v-for="item of removeUsers"
578
- :key="item.userId"
579
- :label="item.userId"
580
- >{{ item.username }}</es-checkbox
581
- >
582
- </es-checkbox-group>
583
- </es-form-item>
584
- </div>
585
- <!-- 减签结束 -->
586
- <div
587
- v-if="
588
- nextNode.isAddSign != '1' &&
589
- nextNode.isRemoveSign != '1' &&
590
- isSpecial
591
- "
592
- >
593
- <es-form-item
594
- prop="nextOperate"
595
- label="下步操作"
596
- v-if="isChooseNextNode == 1"
597
- :rules="[
598
- {
599
- required: true,
600
- message: `请选择下步操作`,
601
- trigger: 'blur'
602
- }
603
- ]"
604
- >
605
- <es-select
606
- v-if="nextOperateCheckType == 'select'"
607
- v-model="nextNode.nextOperate"
608
- :placeholder="`请选择下步操作`"
609
- :disabled="operationList && operationList.length == 1"
610
- @change="selecNext($event, true)"
611
- >
612
- <es-option
613
- v-for="items in operationList"
614
- :key="items.key"
615
- :label="items.value"
616
- :value="items.key"
617
- ></es-option>
618
- </es-select>
619
- <es-radio-group
620
- v-else-if="nextOperateCheckType == 'radio'"
621
- v-model="nextNode.nextOperate"
622
- :data="operationList"
623
- @change="selecNext($event, true)"
624
- value-key="key"
625
- label-key="value"
626
- >
627
- <es-radio
628
- v-for="item of operationList"
629
- :key="item.key"
630
- :label="item.key"
631
- >
632
- {{ item.value }}
633
- </es-radio>
634
- </es-radio-group>
635
- </es-form-item>
636
- <div>
637
- <es-form-item
638
- v-if="!isReject && nodeInfos.length != 0 && isShowNode"
639
- prop="nextNodeId"
640
- label="下步节点"
641
- :rules="[
642
- {
643
- required: true,
644
- message: `请选择下步节点`,
645
- trigger: 'blur'
646
- }
647
- ]"
648
- >
649
- <es-select
650
- v-if="nextNodeCheckType == 'select'"
651
- v-model="nextNode.nextNodeId"
652
- :placeholder="`请选择下步节点`"
653
- :disabled="nodeInfos && nodeInfos.length == 1"
654
- @change="selecNext($event, false)"
655
- >
656
- <es-option
657
- v-for="items in nodeInfos"
658
- :key="items.id"
659
- :label="items.nodeName"
660
- :value="items.nodeId"
661
- ></es-option>
662
- </es-select>
663
- <es-radio-group
664
- v-else-if="nextNodeCheckType == 'radio'"
665
- v-model="nextNode.nextNodeId"
666
- :data="nodeInfos"
667
- @change="selecNext(nextNode.nextNodeId, false)"
668
- value-key="nodeId"
669
- label-key="nodeName"
670
- >
671
- <es-radio
672
- v-for="item of nodeInfos"
673
- :key="item.nodeId"
674
- :label="item.nodeId"
675
- >
676
- {{ item.nodeName }}
677
- </es-radio>
678
- </es-radio-group>
679
- </es-form-item>
680
- <es-form-item
681
- v-if="countersignaturetypeCode != 0"
682
- prop="handleMode"
683
- label="处理方式"
684
- >
685
- <es-input
686
- v-model="handleMode"
687
- placeholder="请输入内容"
688
- disabled
689
- />
690
- </es-form-item>
691
- <es-form-item
692
- v-if="isNextUser"
693
- :prop="isShowNextUser ? 'nextUserId' : 'nextOrgId'"
694
- :label="isShowNextUser ? '下步办理人' : '办理对象'"
695
- >
696
- <SelectUser
697
- :nextUser="
698
- isShowNextUser
699
- ? nextNode.nextUserId
700
- : nextNode.nextOrgId
701
- "
702
- :radioList="radioList"
703
- :multiple="multiple"
704
- :isCustomUser="!isShowNextUser ? 1 : isCustomUser"
705
- :isCurrentNodeForbiddenChangeCandidate="
706
- isCurrentNodeForbiddenChangeCandidate
707
- "
708
- :options="options"
709
- :mix="multiple"
710
- :presetEdit="presetEdit"
711
- :selectUserList="selectUserList"
712
- @change="
713
- changeSelectUser(
714
- $event,
715
- isShowNextUser ? 'nextUserId' : 'nextOrgId',
716
- true
717
- )
718
- "
719
- :types="nextUserTypes"
720
- :params="isShowNextUser ? params : {}"
721
- :tabs="nextUserTabs"
722
- />
723
- </es-form-item>
724
-
725
- <es-form-item
726
- v-if="isHideCurrentOrg && nextNode.isReturnSubmitter != 1"
727
- prop="nextCurrentOrgObj"
728
- :label="currentOrgName ? currentOrgName : '本单位'"
729
- >
730
- <SelectUser
731
- :nextUser="nextCurrentOrgObjSelect"
732
- multiple
733
- mix
734
- :disableds="currentOrgDisabledObjId"
735
- @change="
736
- disposeAppUnit($event, 'nextCurrentOrgObjSelect')
737
- "
738
- :types="currentOrgSelectorTabs"
739
- :params="currentOrgSelectorParams"
740
- />
741
- </es-form-item>
742
- <es-form-item
743
- v-if="isHideOtherOrg && nextNode.isReturnSubmitter != 1"
744
- prop="nextOtherOrgObj"
745
- :label="otherOrgName ? otherOrgName : '外单位'"
746
- >
747
- <SelectUser
748
- :nextUser="nextOtherOrgObjSelect"
749
- multiple
750
- mix
751
- :where="{ filid: 'other' }"
752
- :disableds="otherOrgDisabledObjId"
753
- @change="disposeAppUnit($event, 'nextOtherOrgObjSelect')"
754
- :types="foreignOrgSelectorTabs"
755
- :params="foreignOrgSelectorParams"
756
- />
757
- </es-form-item>
758
- <es-form-item
759
- v-if="isMainSubProcess && isNodeShowProcess"
760
- prop="mainSubId"
761
- label="主办"
762
- >
763
- <es-select
764
- v-model="nextNode.mainSubId"
765
- :placeholder="`请选择主办`"
766
- >
767
- <es-option
768
- v-for="items in subProcessColumns"
769
- :key="items.id"
770
- :label="items.name"
771
- :value="items.value"
772
- ></es-option>
773
- </es-select>
774
- </es-form-item>
775
- <TimeLimit
776
- v-if="nodeType !== 0 && isLimitedTimeHandling === 1"
777
- :newsList="newsList"
778
- @change="(val) => (nextNode = { ...nextNode, ...val })"
779
- />
780
- <es-form-item
781
- prop="nextReadUserId"
782
- v-if="isTaskread == 1"
783
- label="
784
- 分阅用户
785
- "
786
- >
787
- <SelectUser
788
- :nextUser="nextNode.nextReadUserId"
789
- :multiple="true"
790
- :selectUserList="selectReadUserList"
791
- :options="userOptions"
792
- title="分阅用户"
793
- :mix="true"
794
- :types="types"
795
- @change="changeSelectReadUser($event, 'nextReadUserId')"
796
- :tabs="tabs"
797
- />
798
- </es-form-item>
799
- <es-form-item
800
- prop="presetReadUserId"
801
- v-if="canPresetRead"
802
- label="
803
- 自动分阅
804
- "
805
- >
806
- <SelectUser
807
- :nextUser="nextNode.presetReadUserId"
808
- :multiple="true"
809
- :selectUserList="selectPresetUserList"
810
- :options="presetOptions"
811
- :radioList="presetReadUserId"
812
- :presetEdit="1"
813
- title="分阅用户"
814
- :mix="true"
815
- :types="types"
816
- @change="changeSelectReadUser($event, 'presetReadUserId')"
817
- :tabs="tabs"
818
- />
819
- </es-form-item>
820
- <es-form-item
821
- v-if="enableCustomLimitTimeSetting"
822
- prop="customLimitTime"
823
- label="限时办理"
824
- style="margin-bottom: 10px"
825
- >
826
- <!-- v-if="!showCustomLimitTimeText" -->
827
- <div style="display: flex; width: 100%">
828
- <es-select
829
- style="flex: 1 !important; display: inline-block"
830
- v-model="nextNode.customLimitTimeText"
831
- placeholder="请选择"
832
- @change="handleChangeTime"
833
- sysCode="bpm_custom_limit_time"
834
- ></es-select>
835
- <es-input
836
- style="flex: 1; display: inline-block"
837
- v-model="nextNode.customLimitTime"
838
- placeholder="请输入限时办理的天数"
839
- @change="changeCustomLimitTime"
840
- class="input-with-select custom-limit-time"
841
- >
842
- <!-- <es-button
843
- type="primary"
844
- slot="append"
845
- @click="
846
- () => {
847
- nextNode.customLimitTime = '';
848
- showCustomLimitTimeText = !showCustomLimitTimeText;
849
- }
850
- "
851
- >切换{{
852
- showCustomLimitTimeText ? '选择框' : '文本框'
853
- }}</es-button
854
- > -->
855
- </es-input>
856
- <span style="margin-left: 5px">天</span>
857
- </div>
858
- <!-- slot="prepend" -->
859
- </es-form-item>
860
-
861
- <es-form-item
862
- v-if="isHandleExplain == 1"
863
- prop="handleExplain"
864
- label="办理说明"
865
- >
866
- <es-input
867
- placeholder="请输入办理说明"
868
- v-model="nextNode.handleExplain"
869
- />
870
- </es-form-item>
871
- <es-form-item
872
- v-if="
873
- currentNodeEnableItemHandleDescription &&
874
- !isReject &&
875
- nodeInfos.length != 0 &&
876
- isShowNode &&
877
- isNextUser
878
- "
879
- prop="nextItemHandleDescription"
880
- label="办理说明"
881
- >
882
- <es-input
883
- placeholder="请输入办理说明"
884
- type="textarea"
885
- :autosize="{ minRows: 2 }"
886
- v-model="nextNode.nextItemHandleDescription"
887
- />
888
- </es-form-item>
889
- </div>
890
- </div>
891
- </div>
892
- <CustomPreset
893
- v-if="isCustomPreset"
894
- ref="customPreset"
895
- @changeCustom="
896
- (data) => {
897
- presetList = data;
898
- }
899
- "
900
- @changeActiveNames="(val) => (activeNames = val)"
901
- @loadingEnd="customLoading('end')"
902
- @loadingStart="customLoading('start')"
903
- :nextNode="nextNode.nextNodeId"
904
- :customPresetHintMessage="customPresetHintMessage"
905
- :id="businessIds"
906
- :processDefinitionId="nodeInfo.nextNode"
907
- />
908
- <Preset
909
- v-if="isPreset"
910
- @changePreset="
911
- (data) => {
912
- presetUserJson = data;
913
- }
914
- "
915
- @loadingEnd="customLoading('end')"
916
- @loadingStart="customLoading('start')"
917
- :nodeId="nextNode.nextNodeId"
918
- :businessId="businessIds"
919
- :customPresetHintMessage="customPresetHintMessage"
920
- :processDefinitionId="nodeInfo.nextNode"
921
- :presetTaskNodeMap="presetTaskNodeMap"
922
- :presetTaskNodeKeyStr="presetTaskNodeKeyStr"
923
- />
924
- </es-form>
925
- <ProcessForm
926
- v-if="
927
- isStartFlow &&
928
- nodeInfo.nextNode &&
929
- startFlowPageEmbeddedIntoStartFlowIndex &&
930
- !directCreateCircularReadWhenFlowStarted
931
- "
932
- ref="processFormIndex"
933
- :id="freeStartFlowParams.startFlowBusinessId || businessIds"
934
- :simpleTips="simpleTips"
935
- :is-free-start-flow="
936
- freeStartFlowParams.useScene === 'multiInsMidwayWithSubmitScene'
937
- "
938
- :label-position="formLabelPosition"
939
- :showBtn="false"
940
- :formTitle="formTitle"
941
- :urgencyLevel="urgencyLevel"
942
- :messageType="newsList"
943
- :copy-history="freeStartFlowParams.pendedHistoryHandle"
944
- :process-definition-id="freeStartFlowNextNode || nodeInfo.nextNode"
945
- :opinion="value"
946
- :keyCount="msgTypeCount"
947
- :pendingId="pendingId"
948
- :taskExamineParam="freeStartFlowParams.newFlowStartNodeItemName"
949
- :taskParams="taskParams"
950
- :formType="processFormType"
951
- @cancel="closeProcess($event, 'handleVisible', closeParent)"
952
- />
953
- <circulate
954
- v-else-if="
955
- isStartFlow &&
956
- nodeInfo.nextNode &&
957
- startFlowPageEmbeddedIntoStartFlowIndex &&
958
- directCreateCircularReadWhenFlowStarted
959
- "
960
- ref="flowCirculate"
961
- :label-position="formLabelPosition"
962
- :businessId="businessId"
963
- :startFlowPageEmbeddedIntoStartFlowIndex="
964
- startFlowPageEmbeddedIntoStartFlowIndex
965
- "
966
- :formTitle="formTitle"
967
- :processDefinitionId="nodeInfo.nextNode"
968
- :simpleTips="simpleTips"
969
- :showBtn="false"
970
- :selectorParams="selectorParams"
971
- :oldOption="value"
972
- @cancel="closeProcess($event, 'circulateVisible')"
973
- />
974
- <message
975
- v-if="!isStartFlow && isSpecial && newsList.length > 0"
976
- v-model="formData"
977
- :readonly="notificationMessageReadOnly"
978
- :disableds="readOnlyNotificationType"
979
- :types="newsList"
980
- />
981
- </div>
982
- <es-form
983
- ref="nextNode"
984
- :full="false"
985
- :model="isStartFlow ? nodeInfo : nextNode"
986
- v-if="isEndMessage"
987
- :label-width="
988
- startFlowPageEmbeddedIntoStartFlowIndex ? '130px' : '150px'
989
- "
990
- style="padding: 0px 8px; margin-top: 24px"
991
- :label-position="formLabelPosition"
992
- >
993
- <es-form-item prop="nextItemHandleDescription" label="办结意见">
994
- <es-input
995
- placeholder="请输入办结意见"
996
- type="textarea"
997
- :autosize="{ minRows: 2 }"
998
- v-model="endMessage"
999
- @change="handleEndMessageChange"
1000
- />
1001
- </es-form-item>
1002
- </es-form>
1003
-
1004
- <div class="es-flow-buttons" v-if="newTypeCode != 'fenyue' && !shrink">
1005
- <!-- style="margin-top: 10px" -->
1006
- <div v-if="isSubmitButtonShowAgreeAndDisagree == 1">
1007
- <es-button
1008
- class="es-button-agree"
1009
- type="primary"
1010
- @click="subProcess('同意。')"
1011
- >同意</es-button
1012
- >
1013
- <es-button class="es-button-agree" @click="subProcess('不同意。')"
1014
- >不同意</es-button
1015
- >
1016
- <es-button
1017
- class="es-button-agree-save"
1018
- v-if="!isHideTemporarySave"
1019
- @click="saveInfo()"
1020
- >{{ saveButtonName }}</es-button
1021
- >
1022
- </div>
1023
- <div
1024
- class="es-user-defined"
1025
- v-if="
1026
- (nodeInfos.length > 0 ||
1027
- nodeInfo.option.length > 0 ||
1028
- operationList.length > 0) &&
1029
- btnList.length <= 2
1030
- "
1031
- >
1032
- <es-button
1033
- v-show="isSubmitButtonShowAgreeAndDisagree != 1"
1034
- v-for="item of hideBtn || isHideTemporarySave
1035
- ? btnList.slice(0, 1)
1036
- : btnList"
1037
- :key="item.name"
1038
- :type="item.type"
1039
- :style="btnStyle"
1040
- @click="
1041
- item.event === 'sub' ? subProcess() : saveInfo(false, item)
1042
- "
1043
- >
1044
- {{ item.event == 'save' ? saveButtonName : item.text }}
1045
- </es-button>
1046
-
1047
- <div
1048
- v-if="
1049
- btnList.length > 1 ||
1050
- (!isStartFlow &&
1051
- (rejectObj.fun || pointsReadingObj.fun || typeList))
1052
- "
1053
- placement="top"
1054
- :class="{ 'em-flow-more-btn': !hideBtn }"
1055
- trigger="click"
1056
- >
1057
- <div v-if="!isStartFlow && !hideBtn" class="es-footer-btn">
1058
- <es-button
1059
- v-if="rejectObj.fun"
1060
- @click="rejectBtn"
1061
- style="margin-right: 10px"
1062
- type="danger"
1063
- >
1064
- {{ rejectObj.value }}
1065
- </es-button>
1066
- <!-- <es-button
1067
- v-if="pointsReadingObj.fun"
1068
- class="es-flow-btn"
1069
- @click="taskReadBtn"
1070
- >分阅</es-button
1071
- > -->
1072
- <!-- <es-button
1073
- class="es-flow-btn"
1074
- v-for="item of typeList"
1075
- :key="item.key"
1076
- @click="goView(item)"
1077
- >
1078
- {{ item.value }}
1079
- </es-button> -->
1080
- </div>
1081
- <es-button-group
1082
- slot="reference"
1083
- style="margin: 0px 10px"
1084
- v-if="hideBtn"
1085
- >
1086
- <es-button
1087
- v-show="isSubmitButtonShowAgreeAndDisagree != 1"
1088
- v-for="item of btnList.slice(1)"
1089
- :key="item.name"
1090
- :type="item.type"
1091
- :style="btnStyle"
1092
- @click.stop="
1093
- item.event === 'sub' ? subProcess() : saveInfo(false, item)
1094
- "
1095
- >
1096
- {{ item.event == 'save' ? saveButtonName : item.text }}
1097
- </es-button>
1098
- <es-dropdown
1099
- v-if="
1100
- !isStartFlow &&
1101
- (rejectObj.fun ||
1102
- pointsReadingObj.fun ||
1103
- typeList.length > 0)
1104
- "
1105
- trigger="click"
1106
- placement="top"
1107
- style="border-left: 1px solid #d9d9d9"
1108
- >
1109
- <es-button>...</es-button>
1110
- <es-dropdown-menu slot="dropdown">
1111
- <es-dropdown-item v-for="item of typeList" :key="item.key">
1112
- <div class="es-flow-btn" @click="goView(item)">
1113
- {{ item.value }}
1114
- </div>
1115
- </es-dropdown-item>
1116
- <es-dropdown-item v-if="pointsReadingObj.fun">
1117
- <div class="es-flow-btn" @click="taskReadBtn">分阅</div>
1118
- </es-dropdown-item>
1119
- <es-dropdown-item v-if="rejectObj.fun">
1120
- <div style="color: red" @click="rejectBtn">
1121
- {{ rejectObj.value }}
1122
- </div>
1123
- </es-dropdown-item>
1124
- </es-dropdown-menu>
1125
- </es-dropdown>
1126
- </es-button-group>
1127
- </div>
1128
- </div>
1129
- </div>
1130
- <div v-else-if="!shrink" class="es-fenyue-buttons">
1131
- <es-button
1132
- type="primary"
1133
- size="medium"
1134
- class="es-fenyue-buttons-yj"
1135
- :style="`margin: 10px 0px`"
1136
- @click="taskRead()"
1137
- >
1138
- 阅结
1139
- </es-button>
1140
- <es-button
1141
- v-show="isCanReadTransferHandle"
1142
- size="medium"
1143
- style="margin: 10px 0px; margin-left: 10px"
1144
- :disabled="readTransferHandleDisabled"
1145
- @click="taskReadTransferHandle()"
1146
- >
1147
- 阅转办
1148
- </es-button>
1149
- <es-button
1150
- class="es-flow-btn"
1151
- v-if="isCanFenyue == '1'"
1152
- size="medium"
1153
- style="margin: 10px 0px; margin-left: 10px"
1154
- @click="taskReadBtn"
1155
- >分阅</es-button
1156
- >
1157
- </div>
1158
- </template>
1159
- <!-- 弹窗内容 -->
1160
- <es-dialog
1161
- v-if="circulateVisible"
1162
- append-to-body
1163
- height="400"
1164
- ref="circulateVisible"
1165
- title="发起传阅"
1166
- :close-on-click-modal="false"
1167
- :visible.sync="circulateVisible"
1168
- :closeParent="closeParent"
1169
- >
1170
- <circulate
1171
- :businessId="businessId"
1172
- :processDefinitionId="nodeInfo.nextNode"
1173
- :simpleTips="simpleTips"
1174
- :selectorParams="selectorParams"
1175
- :oldOption="value"
1176
- @cancel="closeProcess($event, 'circulateVisible')"
1177
- />
1178
- </es-dialog>
1179
- <es-dialog
1180
- v-if="handleVisible"
1181
- append-to-body
1182
- height="auto"
1183
- class="flow-dialog"
1184
- ref="handleVisible"
1185
- :title="title"
1186
- :close-on-click-modal="false"
1187
- :visible.sync="handleVisible"
1188
- :closeParent="closeParent"
1189
- >
1190
- <ProcessForm
1191
- :id="freeStartFlowParams.startFlowBusinessId || businessIds"
1192
- :pending-id="pendingId"
1193
- :simpleTips="simpleTips"
1194
- :is-free-start-flow="
1195
- freeStartFlowParams.useScene === 'multiInsMidwayWithSubmitScene'
1196
- "
1197
- :pendingId="pendingId"
1198
- :copy-history="freeStartFlowParams.pendedHistoryHandle"
1199
- :process-definition-id="freeStartFlowNextNode || nodeInfo.nextNode"
1200
- :opinion="value"
1201
- :taskExamineParam="freeStartFlowParams.newFlowStartNodeItemName"
1202
- :taskParams="taskParams"
1203
- :formType="processFormType"
1204
- @cancel="closeProcess($event, 'handleVisible', closeParent)"
1205
- />
1206
- </es-dialog>
1207
- <es-dialog
1208
- append-to-body
1209
- :close-on-click-modal="false"
1210
- title="流程图查看"
1211
- :visible.sync="showFlowChart"
1212
- v-if="showFlowChart"
1213
- >
1214
- <!-- <FlowChart :nodeId="nodeInfo.nextNode" v-if="showFlowChart" /> -->
1215
- <img
1216
- style="width: 100%"
1217
- :src="`${charUrl}/bpm/service/diagram/getpng.png?processDefinitionId=${nodeInfo.nextNode}`"
1218
- alt="加载失败"
1219
- />
1220
- </es-dialog>
1221
- <es-dialog
1222
- v-if="showReject"
1223
- append-to-body
1224
- class="flow-dialog"
1225
- height="400px"
1226
- title="驳回"
1227
- ref="showReject"
1228
- :close-on-click-modal="false"
1229
- :visible.sync="showReject"
1230
- >
1231
- <ProcessReject
1232
- :pending-id="pendingId"
1233
- :option="value"
1234
- :simpleTips="simpleTips"
1235
- :show-reject="showReject"
1236
- :news-info="nextNode.notificationMsg"
1237
- @cancel="closeProcess($event, 'showReject')"
1238
- />
1239
- </es-dialog>
1240
- <es-dialog
1241
- v-if="showTaskRead"
1242
- append-to-body
1243
- class="flow-dialog"
1244
- height="400px"
1245
- ref="showTaskRead"
1246
- :close-on-click-modal="false"
1247
- :title="taskReadType === 'transfer' ? '转办' : '分阅'"
1248
- :visible.sync="showTaskRead"
1249
- >
1250
- <StartTaskRead
1251
- :pending-id="pendingId"
1252
- :opinion="value"
1253
- :type="taskReadType"
1254
- :selectorConfig="selectorConfig"
1255
- :simpleTips="simpleTips"
1256
- :subParams="subParams"
1257
- :taskExamine="taskExamineInfo"
1258
- :news-info="nextNode.notificationMsg"
1259
- @cancel="closeProcess($event, 'showTaskRead')"
1260
- />
1261
- </es-dialog>
1262
- <es-dialog
1263
- v-if="showSendMsg"
1264
- append-to-body
1265
- height="400"
1266
- title="发送消息"
1267
- class="flow-dialog"
1268
- ref="showSendMsg"
1269
- :close-on-click-modal="false"
1270
- :visible.sync="showSendMsg"
1271
- >
1272
- <SendMsg
1273
- @cancel="closeProcess($event, 'showSendMsg')"
1274
- :simpleTips="simpleTips"
1275
- :pendingId="pendingId"
1276
- :newsList="newsList"
1277
- />
1278
- </es-dialog>
1279
- <es-dialog
1280
- v-if="showTaskUnionExamine"
1281
- append-to-body
1282
- height="400"
1283
- class="flow-dialog"
1284
- ref="showTaskUnionExamine"
1285
- :close-on-click-modal="false"
1286
- :title="flowTitle"
1287
- :visible.sync="showTaskUnionExamine"
1288
- >
1289
- <TaskUnionExamine
1290
- @cancel="closeProcess($event, 'showTaskUnionExamine')"
1291
- :simpleTips="simpleTips"
1292
- :pendingId="pendingId"
1293
- :defaultOpinion="nodeDefaultSubmitOpinion"
1294
- :oldOption="value"
1295
- :selectorParams="selectorParams"
1296
- :type="flowType"
1297
- :multiple="flowMultiple"
1298
- :disabled="flowDisabled"
1299
- />
1300
- </es-dialog>
1301
- <es-dialog
1302
- v-if="showFreeStartFlow"
1303
- height="400"
1304
- class="flow-dialog"
1305
- ref="handleVisible"
1306
- :title="title"
1307
- :close-on-click-modal="false"
1308
- :visible.sync="showFreeStartFlow"
1309
- >
1310
- <free-start-flow
1311
- v-if="showFreeStartFlow"
1312
- isStartFlow
1313
- v-bind="freeStartFlowParams"
1314
- :simpleTips="simpleTips"
1315
- @close="showFreeStartFlow = false"
1316
- @success="freeStartFlowSuccess"
1317
- :btnList="[{ text: '提交', event: 'sub', type: 'primary' }]"
1318
- :taskParams="taskParams"
1319
- ></free-start-flow>
1320
- <!-- @success="handleSuccess"
1321
- @save="handleSave" -->
1322
- </es-dialog>
1323
- </template>
1324
- </es-form>
34
+ <!-- 意见区域 end -->
35
+ <!-- 开始流程 -->
36
+ <start-flow />
37
+ <!-- 开始流程 end -->
38
+ </es-form>
39
+ </div>
1325
40
  </template>
1326
41
 
1327
42
  <script>
1328
43
  import Opinions from './component/opinions.vue';
44
+ import StartFlow from './components/start-flow.vue';
1329
45
  import QuickActions from './component/quick-actions.vue';
1330
46
  import Message from './component/message.vue';
1331
47
  import ProcessForm from './processForm.vue';
@@ -1368,10 +84,11 @@ import { success, warning, error, loading } from 'eoss/src/utils/util';
1368
84
  import { ajax } from 'eoss/src/utils/ajax';
1369
85
  import { getStorage } from 'eoss/src/utils/storage';
1370
86
  export default {
1371
- name: 'EsFlow',
1372
- componentName: 'EsFlow',
87
+ name: 'EsFlows',
88
+ componentName: 'EsFlows',
1373
89
  components: {
1374
90
  Opinions,
91
+ StartFlow,
1375
92
  QuickActions,
1376
93
  Message,
1377
94
  ProcessForm,
@@ -1390,10 +107,6 @@ export default {
1390
107
  FreeCirculation
1391
108
  },
1392
109
  props: {
1393
- /**
1394
- * 是否隐藏流程
1395
- */
1396
- showShrink: { type: Boolean, default: true },
1397
110
  /**
1398
111
  * 是否发起流程
1399
112
  */
@@ -1639,9 +352,11 @@ export default {
1639
352
  width: {
1640
353
  immediate: true,
1641
354
  handler(val) {
1642
- if (val) {
1643
- this.styles = { width: parseInt(val, 10) + 'px' };
1644
- }
355
+ this.styles = !this.show
356
+ ? { width: 0 }
357
+ : val
358
+ ? { width: parseInt(val, 10) + 'px' }
359
+ : {};
1645
360
  }
1646
361
  },
1647
362
  businessId(val) {
@@ -1691,6 +406,8 @@ export default {
1691
406
  },
1692
407
  data() {
1693
408
  return {
409
+ // 是否展示流程组件
410
+ show: true,
1694
411
  // 表单校验规则
1695
412
  formRules: {
1696
413
  // 意见校验规则
@@ -1783,7 +500,6 @@ export default {
1783
500
  selectNextCurrentOrgObjList: [],
1784
501
  flowMultiple: true,
1785
502
  isCustomUser: 0,
1786
- shrink: false,
1787
503
  shrinkAbled: false,
1788
504
  freeValid: true,
1789
505
  taskExamineInfo: {},
@@ -1905,9 +621,6 @@ export default {
1905
621
  created() {
1906
622
  this.getUserInfo();
1907
623
  },
1908
- destroyed() {
1909
- this.shrink = false;
1910
- },
1911
624
  mounted() {
1912
625
  this.businessIds = this.businessId;
1913
626
  this.currentOrgSelectorParams.filid = JSON.parse(
@@ -2021,7 +734,7 @@ export default {
2021
734
  this.nodeInfos.length > 1 ||
2022
735
  this.taskOperationShiftedNodeList) &&
2023
736
  this.newTypeCode != 'fenyue' &&
2024
- !this.shrink &&
737
+ !this.show &&
2025
738
  this.btnType === 'default') ||
2026
739
  this.btnType != 'default';
2027
740
  return isDefaultFlex ? 'unset' : '1';
@@ -2236,12 +949,12 @@ export default {
2236
949
  }
2237
950
  }
2238
951
  },
2239
- setShrink() {
2240
- this.shrink = !this.shrink;
2241
- this.styles = this.shrink
952
+ handleShrink() {
953
+ this.show = !this.show;
954
+ this.styles = !this.show
2242
955
  ? { width: 0 }
2243
956
  : { width: this.width ? parseInt(this.width, 10) + 'px' : '' };
2244
- this.$emit('shrink', this.shrink);
957
+ this.$emit('shrink', this.show);
2245
958
  },
2246
959
  customLoading(type) {
2247
960
  if (type != 'end') {
@@ -3884,7 +2597,7 @@ export default {
3884
2597
  if (
3885
2598
  !this.endFlow &&
3886
2599
  this.newTypeCode != 'fenyue' &&
3887
- !this.shrink &&
2600
+ !this.show &&
3888
2601
  this.nextNode.isAddSign != '1' &&
3889
2602
  this.nextNode.isRemoveSign != '1' &&
3890
2603
  this.isSpecial &&