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
@@ -0,0 +1,210 @@
1
+ <!-- 开始流程 -->
2
+ <template>
3
+ <div class="es-flows__start-flow">
4
+ <!-- 单流程 -->
5
+ <template v-if="single">
6
+ <es-form-item
7
+ prop="nextNode"
8
+ label="下步操作"
9
+ label-position="top"
10
+ :rules="rules.nextNode"
11
+ >
12
+ <es-radio-group
13
+ v-model="models.nextNode"
14
+ :data="nextNodeList"
15
+ label-key="name"
16
+ value-key="id"
17
+ placeholder="请选择下步操作"
18
+ :append="append"
19
+ ></es-radio-group>
20
+ </es-form-item>
21
+ <es-form-item
22
+ prop="nextNodeId"
23
+ label="下步节点"
24
+ label-position="top"
25
+ :rules="rules.nextNodeId"
26
+ >
27
+ <es-radio-group
28
+ v-model="models.nextNodeId"
29
+ :data="nextNodes"
30
+ label-key="name"
31
+ value-key="id"
32
+ placeholder="请选择下步节点"
33
+ :append="append"
34
+ ></es-radio-group>
35
+ </es-form-item>
36
+ <es-form-item
37
+ prop="nextUserId"
38
+ label="下步办理人"
39
+ label-position="top"
40
+ last
41
+ :rules="rules.nextUserId"
42
+ >
43
+ <es-radio-group
44
+ v-model="models.personnel"
45
+ :data="personnels"
46
+ label-key="name"
47
+ value-key="id"
48
+ placeholder="请选择下步办理人"
49
+ :append="append"
50
+ types=""
51
+ ></es-radio-group>
52
+ </es-form-item>
53
+ <es-selector title="下步办理人" :multiple="false" :types="types"></es-selector>
54
+ </template>
55
+ <es-form-item
56
+ v-else
57
+ class="es-flows__start-flow--select"
58
+ prop="nextNode"
59
+ label="选择流程"
60
+ label-position="top"
61
+ :rules="rule"
62
+ >
63
+ <es-select
64
+ v-model="models.nextNode"
65
+ label-key="name"
66
+ value-key="processDefId"
67
+ placeholder="请选择流程"
68
+ :data="flowList"
69
+ :append="append"
70
+ ></es-select>
71
+ </es-form-item>
72
+ <es-dialog
73
+ title="流程图查看"
74
+ size="max"
75
+ :visible.sync="visible"
76
+ >
77
+ <iframe
78
+ :src="src"
79
+ frameborder="0"
80
+ width="100%"
81
+ height="100%"
82
+ ></iframe>
83
+ </es-dialog>
84
+ </div>
85
+ </template>
86
+
87
+ <script>
88
+ import Message from 'eoss/packages/message';
89
+ export default {
90
+ name: 'StartFlow',
91
+
92
+ components: {},
93
+
94
+ props: {
95
+ // 表单数据支持同步更新
96
+ model: {
97
+ type: [Object, Array],
98
+ default() {
99
+ return {};
100
+ }
101
+ },
102
+ /**
103
+ * 流程列表
104
+ */
105
+ flowList: { type: Array, default: () => [] }
106
+ },
107
+
108
+ data() {
109
+ return {
110
+ rules: {
111
+ nextNode: [{ required: true, message: `请选择下步操作`, trigger: 'blur' }],
112
+ nextNodeId: [{ required: true, message: `请选择下步节点`, trigger: 'blur' }],
113
+ nextUserId: [{ required: true, message: `请选择下步办理人`, trigger: 'blur' }]
114
+ },
115
+ rule:[{ required: true, message: `请选择流程`, trigger: 'blur' }],
116
+ //下步操作列表
117
+ nextNodeList: [
118
+ {
119
+ id: '1',
120
+ name: '自定义'
121
+ }
122
+ ],
123
+ //下步节点列表
124
+ nextNodes: [
125
+ {
126
+ id: '1',
127
+ name: '拟办'
128
+ },
129
+ {
130
+ id: '2',
131
+ name: '批示'
132
+ },
133
+ {
134
+ id: '3',
135
+ name: '中转'
136
+ },
137
+ {
138
+ id: '4',
139
+ name: '办结'
140
+ },
141
+ {
142
+ id: '5',
143
+ name: '承办'
144
+ }
145
+ ],
146
+ //下步办理人列表
147
+ personnels: [
148
+ {
149
+ id: '1',
150
+ name: '张三'
151
+ },
152
+ {
153
+ id: '2',
154
+ name: '李四'
155
+ },
156
+ {
157
+ id: '3',
158
+ name: '王五'
159
+ },
160
+ {
161
+ id: '4',
162
+ name: '赵六'
163
+ }
164
+ ],
165
+ types: ['person'],
166
+ //查看流程的按钮
167
+ append: {
168
+ icon: 'es-icon-shu-jituan',
169
+ event: () => {
170
+ if (!this.models.nextNode) {
171
+ Message.error('请选择流程');
172
+ return;
173
+ }
174
+ this.src = '/dev-api/archives/task/taskHandle/toFlowChartView.dhtml?isStartFlowChartView=true&processDefinitionId=' + 'dwfw:27:6470013';
175
+ this.visible = true;
176
+ }
177
+ },
178
+ //流程图查看弹窗的src
179
+ src: '',
180
+ //流程图查看弹窗是否显示
181
+ visible: false
182
+ };
183
+ },
184
+
185
+ computed: {
186
+ //是否为单流程
187
+ single() {
188
+ return true;
189
+ },
190
+ //表单数据
191
+ models: {
192
+ get() {
193
+ return this.model || this.value;
194
+ },
195
+ set(val) {
196
+ this.$emit('input', val);
197
+ this.$emit('update:model', val);
198
+ }
199
+ }
200
+ },
201
+
202
+ watch: {},
203
+
204
+ created() {},
205
+
206
+ mounted() {},
207
+
208
+ methods: {}
209
+ };
210
+ </script>
@@ -0,0 +1,510 @@
1
+ <template>
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 || '拟稿' : nodeNameValue }}
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">
19
+ <!-- 意见区域 -->
20
+ <opinions
21
+ v-if="showOpinion"
22
+ v-model="formData.opinion"
23
+ ref="commonOpinions"
24
+ :show-file="!isStartFlow && newTypeCode != 'fenyue'"
25
+ :ownId="pendingId"
26
+ :code="attachedCode"
27
+ :rows="rows"
28
+ :placeholder="pendingItemHandleDescription"
29
+ :pendingItemHandleDescription="pendingItemHandleDescription"
30
+ :required="isOpinionRequired == 1"
31
+ :isBanInputOpinion="isBanInputOpinion"
32
+ :nodeFixedOpinionSelectList="nodeFixedOpinionSelectList"
33
+ />
34
+ <!-- 意见区域 end -->
35
+ <!-- 开始流程 -->
36
+ <start-flow v-if="isStartFlow" />
37
+ <!-- 开始流程 end -->
38
+ <!-- 快捷操作 -->
39
+ <quick-actions :types="typeList" :type.sync="typeActive"></quick-actions>
40
+ <!-- 快捷操作 end -->
41
+ </es-form>
42
+ </div>
43
+ </template>
44
+
45
+ <script>
46
+ import Opinions from './components/opinions.vue';
47
+ import StartFlow from './components/start-flow.vue';
48
+ import QuickActions from './components/quick-actions.vue';
49
+ import Message from './components/message.vue';
50
+ import {
51
+ // findSysCodes,
52
+ // getHandleInfoHtml,
53
+ getNodeInfo,
54
+ // tempSave,
55
+ // getProcessDefList,
56
+ // pendedhistoryList,
57
+ // endFlowHtml,
58
+ // taskReadHtml,
59
+ // findCodeValues,
60
+ // toStartTaskReadIndex,
61
+ // loginUserInfo,
62
+ // getAdjunctFileInfos,
63
+ // rejectAndEnd,
64
+ // getFreeStartFlowParams,
65
+ // isCanStartSubFlow,
66
+ // checkForeignOrgStartedCircularRead,
67
+ // checkBusinessIdStartedReadTransferHandle,
68
+ // taskHandleHtml,
69
+ // getNodeInfoForStart,
70
+ // getUrgencyLevelChangedNotificationType
71
+ } from 'eoss/src/config/api';
72
+ import { ajax } from 'eoss/src/utils/ajax';
73
+ import { getStorage } from 'eoss/src/utils/storage';
74
+ export default {
75
+ name: 'EsFlows',
76
+ componentName: 'EsFlows',
77
+ components: {
78
+ Opinions,
79
+ StartFlow,
80
+ QuickActions,
81
+ Message
82
+ },
83
+ props: {
84
+ /**
85
+ * 是否发起流程
86
+ */
87
+ isStartFlow: { type: Boolean, default: false },
88
+ /**
89
+ * 业务ID
90
+ */
91
+ businessId: { type: String, default: '' },
92
+ /**
93
+ * 待办ID
94
+ */
95
+ pendingId: { type: String, default: '' },
96
+ /**
97
+ * 节点名称
98
+ */
99
+ nodeName: { type: String, default: '' },
100
+ /**
101
+ * 流程类型
102
+ */
103
+ typeCode: { type: String, default: '' },
104
+ /**
105
+ * 选择器配置
106
+ */
107
+ selectorConfig: { type: [Object, undefined], default: undefined },
108
+ /**
109
+ * 发起流程类型编码
110
+ */
111
+ flowTypeCode: { type: String, default: '' },
112
+ /**
113
+ * 默认选择流程编码
114
+ */
115
+ defaultProcessKey: { type: String, default: '' },
116
+ /**
117
+ * 是否隐藏流程按钮
118
+ */
119
+ hideBtn: { type: Boolean, default: false },
120
+ /**
121
+ * 是否传阅流程
122
+ */
123
+ isCirculate: { type: Boolean, default: false },
124
+ /**
125
+ * 表单标题位置
126
+ */
127
+ formLabelPosition: {
128
+ type: String,
129
+ default: 'right'
130
+ },
131
+ /**
132
+ * 是否可选中流程列表
133
+ */
134
+ flowListDisabled: {
135
+ type: Boolean,
136
+ default: false
137
+ },
138
+ /**
139
+ * 流程按钮
140
+ */
141
+ btnList: {
142
+ type: Array,
143
+ default: () => [
144
+ { text: '暂存', event: 'save' },
145
+ { text: '提交', event: 'sub', type: 'primary' }
146
+ ]
147
+ },
148
+ /**
149
+ * 流程提交前回调函数
150
+ */
151
+ subFun: {
152
+ type: Function,
153
+ default: (callBack) => {
154
+ callBack();
155
+ }
156
+ },
157
+ /**
158
+ * 紧急程度
159
+ */
160
+ urgencyLevel: {
161
+ type: [String, Number],
162
+ default: ''
163
+ },
164
+ /**
165
+ * 流程提交前回调函数,返回Promise
166
+ */
167
+ beforeSubmit: Function,
168
+ /**
169
+ * 流程标题
170
+ */
171
+ title: { type: String, default: '流程办理' },
172
+ /**
173
+ * 表单标题
174
+ */
175
+ formTitle: { type: String, default: '' },
176
+ /**
177
+ * 是否关闭父级弹窗
178
+ */
179
+ closeParent: Boolean,
180
+ /**
181
+ * 流程提交额外参数
182
+ */
183
+ param: {
184
+ type: Object,
185
+ default: () => {}
186
+ },
187
+ /**
188
+ * 流程提交额外参数
189
+ */
190
+ subParams: {
191
+ type: Object,
192
+ default: () => {}
193
+ },
194
+ /**
195
+ * 人员选择器参数
196
+ */
197
+ selectorParams: {
198
+ type: Object,
199
+ default: () => {
200
+ return {};
201
+ }
202
+ },
203
+ /**
204
+ * 表单标题宽度
205
+ */
206
+ width: {
207
+ type: String
208
+ },
209
+ /**
210
+ * 重设流程的appId
211
+ */
212
+ resetAppId: { type: String },
213
+ userSelectRange: {
214
+ type: String
215
+ },
216
+ /**
217
+ * 意见输入框行数
218
+ */
219
+ rows: {
220
+ type: [String, Number],
221
+ default: 10
222
+ },
223
+ /**
224
+ * 是否展示外单位
225
+ */
226
+ showOther: {
227
+ type: Boolean,
228
+ default: true
229
+ },
230
+ /**
231
+ * 是否展示办结意见
232
+ */
233
+ isEndMessage: { type: Boolean, default: false }
234
+ },
235
+
236
+ computed: {
237
+ formData: {
238
+ get() {
239
+ return this.isStartFlow ? this.nodeInfo : this.nextNode;
240
+ },
241
+ set(val) {
242
+ if (this.isStartFlow) {
243
+ this.nodeInfo = { ...this.nodeInfo, ...val };
244
+ } else {
245
+ this.nextNode = { ...this.nextNode, ...val };
246
+ }
247
+ }
248
+ },
249
+ },
250
+ watch: {
251
+ },
252
+ data() {
253
+ return {
254
+ // 是否展示流程组件
255
+ show: true,
256
+ // 表单校验规则
257
+ formRules: {
258
+ // 意见校验规则
259
+ opinion: { required: true, message: '请输入意见', trigger: 'change' }
260
+ },
261
+ // 流程样式
262
+ styles: {},
263
+ // 当前节点值
264
+ nodeNameValue: '',
265
+ // 快捷操作列表
266
+ typeList: [
267
+ {
268
+ name: '默认',
269
+ value:'default'
270
+ }
271
+ ],
272
+ // 快捷操作选择值
273
+ typeActive: 'default',
274
+ // 表单数据
275
+ nextNode: {
276
+ opinion: '', // 办理意见
277
+ nextNodeId: '', // 下步节点
278
+ addSignMode: 'postAddSign',
279
+ isAddSign: '', // 是否加签
280
+ isRemoveSign: '', // 是否减签
281
+ customLimitTime: '', //限时天数
282
+ customLimitTimeText: '', //限时天数
283
+ nextOperate: '', // 下步操作
284
+ notificationMsg: '', // 通知信息
285
+ addSignUserId: [], // 加签办理人
286
+ removeSignUserId: [], // 减签办理人
287
+ nextUserId: [], // 下步办理人
288
+ nextOrgId: [], //办理对象
289
+ nextCurrentOrgObj: [],
290
+ nextCurrentOrgObjSerialId: [], //本单位用户
291
+ nextOtherOrgObj: [], //外单位
292
+ nextReadUserId: [], //分阅用户
293
+ presetReadUserId: [], //自动分阅
294
+ handleExplain: '', //办理意见
295
+ nextItemHandleDescription: '', //下步说明
296
+ notificationType: [], // 通知方式
297
+ isLimitedTime: '2', // 是否限时办理
298
+ mainSubId: ''
299
+ },
300
+ // 节点信息
301
+ nodeInfo: {
302
+ nextNode: '',
303
+ nextUser: '',
304
+ option: []
305
+ },
306
+ // 是否展示意见
307
+ showOpinion: true,
308
+ };
309
+ },
310
+ created() {
311
+ },
312
+ mounted() {
313
+ },
314
+ methods: {
315
+ /**
316
+ * 处理流程组件展示隐藏
317
+ * @desc: 处理流程组件展示隐藏
318
+ * @return: void
319
+ */
320
+ handleShrink() {
321
+ this.show = !this.show;
322
+ this.styles = !this.show
323
+ ? { width: 0 }
324
+ : { width: this.width ? parseInt(this.width, 10) + 'px' : '' };
325
+ this.$emit('shrink', this.show);
326
+ },
327
+ /**
328
+ * getUserInfo
329
+ * @desc:获取用户信息
330
+ * @author liufan
331
+ * @date 2022年5月25日
332
+ **/
333
+ getUserInfo() {
334
+ const userInfo = getStorage('userInfo');
335
+ let mainConfig = getStorage('mainConfig');
336
+ if (userInfo) {
337
+ this.userModel = JSON.parse(userInfo);
338
+ }else if(mainConfig){
339
+ this.userModel = JSON.parse(mainConfig).userModel;
340
+ } else {
341
+ ajax({ url: loginUserInfo })
342
+ .then((res) => {
343
+ const { status, data } = res;
344
+ if (status == 'success') {
345
+ this.userModel = data;
346
+ } else {
347
+ let msg = res.msg || '系统错误,请联系管理员!';
348
+ error(msg);
349
+ }
350
+ })
351
+ .catch((err) => {});
352
+ }
353
+ },
354
+ /**
355
+ * getNodeInfo
356
+ * @desc:获取节点信息
357
+ * @author liufan
358
+ * @date 2022年5月25日
359
+ **/
360
+ getNodeInfo() {
361
+ let params = {
362
+ processDefinitionId: this.nodeInfo.nextNode,
363
+ nextNodeId: this.nextNode.nextNodeId,
364
+ taskId: this.taskId,
365
+ userId: this.userModel.userId,
366
+ pendingId: this.pendingId,
367
+ businessId: this.businessIds
368
+ };
369
+ ajax({ url: getNodeInfo, params })
370
+ .then((res) => {
371
+ const { status, message, data } = res;
372
+ this.loading && this.loading.close();
373
+ if (status === 'success') {
374
+ this.currentNodeEnableItemHandleDescription =
375
+ data.nodeExtAttr.currentNodeEnableItemHandleDescription == 1;
376
+ this.enableCustomLimitTimeSetting =
377
+ data.nodeExtAttr.enableCustomLimitTimeSetting == 1;
378
+ if (
379
+ this.enableCustomLimitTimeSetting &&
380
+ data.nodeMoreInfo.defaultCustomLimitDays
381
+ ) {
382
+ this.nextNode.customLimitTime =
383
+ this.nextNode.customLimitTimeText =
384
+ data.nodeMoreInfo.defaultCustomLimitDays + '';
385
+ }
386
+ data.otherOrgDisabledObjId &&
387
+ (this.otherOrgDisabledObjId =
388
+ data.otherOrgDisabledObjId.split(','));
389
+ data.currentOrgDisabledObjId &&
390
+ (this.currentOrgDisabledObjId =
391
+ data.currentOrgDisabledObjId.split(','));
392
+ if (data != null) {
393
+ if (
394
+ data.nodeExtAttr.userSelectionType == 7 ||
395
+ data.nodeExtAttr.userSelectionType == 8 ||
396
+ data.nodeExtAttr.userSelectionType == 9 ||
397
+ data.nodeExtAttr.userSelectionType == 10 ||
398
+ data.nodeExtAttr.userSelectionType == 11 ||
399
+ data.nodeExtAttr.userSelectionType == 12
400
+ ) {
401
+ this.getIsShowNextUser(
402
+ data.nodeExtAttr && data.nodeExtAttr.userSelectionType
403
+ );
404
+ } else {
405
+ this.isMultiple(
406
+ data.nodeExtAttr && data.nodeExtAttr.userSelectionType,
407
+ this.choiceOrgId,
408
+ this.choiceDeptId,
409
+ this.pOrgId
410
+ );
411
+ }
412
+ this.isReadMultiple(
413
+ data.nodeExtAttr && data.nodeExtAttr.userSelectionType
414
+ );
415
+ this.isTaskread = data.nodeExtAttr.isTaskread;
416
+ this.isHandleExplain = data.nodeExtAttr.isHandleExplain;
417
+ this.isLimitedTimeHandling =
418
+ data.nodeExtAttr.isLimitedTimeHandling;
419
+ this.nodeType = data.nodeExtAttr.nodeType;
420
+ //如果当前为承办节点/会签节点,则展示本单位外单位办理人选择
421
+ if (this.nodeType === 1 || this.nodeType === 2) {
422
+ this.isMainSubProcess === true
423
+ ? (this.isNodeShowProcess = true)
424
+ : (this.isNodeShowProcess = false);
425
+ this.isMainSubProcess === true
426
+ ? (this.isMainSubProcess = true)
427
+ : (this.isMainSubProcess = false);
428
+ this.isNextUser = false;
429
+ this.isHideCurrentOrg =
430
+ res.data.nodeExtAttr.isHideCurrentOrg == 1 ? false : true; //判断是否隐藏本单位
431
+ this.isHideOtherOrg =
432
+ res.data.nodeExtAttr.isHideOtherOrg == 1 ? false : true; //判断是否隐藏外单位
433
+ } else {
434
+ this.isHideCurrentOrg = false;
435
+ this.isHideOtherOrg = false;
436
+ this.isNodeShowProcess = false;
437
+ this.isMainSubProcess = false;
438
+ this.isNextUser = this.nextNode.nextOperate != 9;
439
+ // this.isMainSubProcess === true
440
+ // ? (this.isMainSubProcess = true)
441
+ // : (this.isMainSubProcess = false);
442
+ }
443
+ this.multiple
444
+ ? (this.nextNode.nextUserId = [])
445
+ : (this.nextNode.nextUserId = '');
446
+ if (
447
+ this.multiple &&
448
+ data.nodeExtAttr.isDefSelectedObj == 1 &&
449
+ data.nextUserList !== undefined
450
+ ) {
451
+ data.nextUserList.map((item) => {
452
+ if (item.userId && item.username) {
453
+ this.nextNode.nextUserId.push(item.userId);
454
+ this.selectUserList.push({
455
+ showname: item.username,
456
+ showid: item.userId
457
+ });
458
+ }
459
+ });
460
+ }
461
+ data.nextUserList.map((item) => {
462
+ if (item.userId && item.username) {
463
+ this.options.push({
464
+ showname: item.username,
465
+ showid: item.userId
466
+ });
467
+ }
468
+ });
469
+ if (data.nodeExtAttr.presetEdit != 0) {
470
+ this.radioList = this.options;
471
+ }
472
+ if (
473
+ !this.multiple &&
474
+ data.nextUserList.length > 0 &&
475
+ data.nodeExtAttr.isDefSelectedObj == 1
476
+ ) {
477
+ this.nextNode.nextUserId = data.nextUserList[0].userId;
478
+ this.selectUserList.push({
479
+ showname: data.nextUserList[0].username,
480
+ showid: data.nextUserList[0].userId
481
+ });
482
+ }
483
+ this.isLimitedTimeHandling =
484
+ data.nodeExtAttr.isLimitedTimeHandling;
485
+ this.isCustomUser = data.nodeExtAttr.isCustomUser;
486
+ this.presetEdit = data.nodeExtAttr.presetEdit;
487
+ this.countersignaturetypeCode = data.countersignaturetypeCode; //是否展示处理方式
488
+ this.handleMode = data.countersignaturetypeText;
489
+ if (data.globalNodeType === 'endEvent') {
490
+ this.isNextUser = data.globalNodeType != 'endEvent';
491
+ data.globalNodeType === 'endEvent' ? (this.endFlow = true) : '';
492
+ }
493
+ }
494
+ this.isCustomPreset &&
495
+ this.$refs.customPreset.getPresetFlowInfo(
496
+ this.nextNode.nextNodeId,
497
+ this.nodeInfo.nextNode,
498
+ true
499
+ );
500
+ } else {
501
+ error(message || '系统错误,请联系管理员!');
502
+ }
503
+ })
504
+ .catch((err) => {
505
+ this.loading && this.loading.close();
506
+ });
507
+ },
508
+ }
509
+ };
510
+ </script>