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.
- package/lib/account-login.js +129 -129
- package/lib/alert.js +2 -2
- package/lib/aside.js +2 -2
- package/lib/autocomplete.js +216 -216
- package/lib/avatar.js +2 -2
- package/lib/backtop.js +2 -2
- package/lib/badge.js +2 -2
- package/lib/breadcrumb.js +2 -2
- package/lib/ca-login.js +6 -6
- package/lib/calendar.js +2 -2
- package/lib/card.js +2 -2
- package/lib/carousel-item.js +21 -21
- package/lib/carousel.js +16 -16
- package/lib/cascader-panel.js +6 -6
- package/lib/cascader.js +230 -230
- package/lib/checkbox-group.js +138 -138
- package/lib/col.js +2 -2
- package/lib/collapse-item.js +423 -410
- package/lib/collapse.js +426 -412
- package/lib/color-picker.js +23 -23
- package/lib/container.js +2 -2
- package/lib/cron.js +2 -2
- package/lib/data-table.js +123 -123
- package/lib/date-picker.js +233 -233
- package/lib/dialog.js +8 -8
- package/lib/divider.js +2 -2
- package/lib/drawer.js +4 -4
- package/lib/dropdown-item.js +2 -2
- package/lib/dropdown-menu.js +6 -6
- package/lib/dropdown.js +13 -13
- package/lib/email-login.js +124 -124
- package/lib/empty.js +2 -2
- package/lib/eoss.common.js +21948 -21788
- package/lib/flip.js +2 -2
- package/lib/flow-group.js +251 -251
- package/lib/flow.js +15934 -18947
- package/lib/flows.js +9195 -0
- package/lib/footer.js +2 -2
- package/lib/form-item.js +28 -17
- package/lib/form.js +426 -412
- package/lib/header.js +2 -2
- package/lib/icon.js +128 -128
- package/lib/icons.js +2 -2
- package/lib/image-viewer.js +6 -6
- package/lib/image.js +2 -2
- package/lib/index.js +1 -1
- package/lib/infinite-scroll.js +2 -2
- package/lib/input.js +4 -4
- package/lib/link.js +2 -2
- package/lib/loading.js +4 -4
- package/lib/login.js +190 -156
- package/lib/lowcode.js +562 -272
- package/lib/main.js +348 -282
- package/lib/marquee.js +6 -6
- package/lib/menu.js +209 -209
- package/lib/message-box.js +8 -8
- package/lib/message.js +8 -8
- package/lib/notification.js +8 -8
- package/lib/option-group.js +2 -2
- package/lib/option.js +4 -4
- package/lib/page-header.js +2 -2
- package/lib/pagination.js +6 -6
- package/lib/phone-login.js +124 -124
- package/lib/popconfirm.js +2 -2
- package/lib/popover.js +209 -209
- package/lib/progress.js +2 -2
- package/lib/qr-code.js +2 -2
- package/lib/qrcode-login.js +123 -123
- package/lib/radio-group.js +121 -121
- package/lib/rate.js +4 -4
- package/lib/row.js +2 -2
- package/lib/scrollbar.js +6 -6
- package/lib/select.js +470 -457
- package/lib/selector-panel.js +141 -141
- package/lib/selector.js +130 -130
- package/lib/step.js +426 -412
- package/lib/steps.js +6 -6
- package/lib/submenu.js +4 -4
- package/lib/switch.js +4 -4
- package/lib/tab-pane.js +2 -2
- package/lib/table-column.js +6 -6
- package/lib/table.js +460 -460
- package/lib/tabs.js +6 -6
- package/lib/tag.js +2 -2
- package/lib/theme-chalk/autocomplete.css +1 -1
- package/lib/theme-chalk/base.css +1 -1
- package/lib/theme-chalk/cascader-panel.css +1 -1
- package/lib/theme-chalk/cascader.css +1 -1
- package/lib/theme-chalk/checkbox-group.css +1 -1
- package/lib/theme-chalk/date-picker.css +1 -1
- package/lib/theme-chalk/descriptions-item.css +1 -1
- package/lib/theme-chalk/descriptions.css +1 -1
- package/lib/theme-chalk/empty.css +1 -1
- package/lib/theme-chalk/flow.css +1 -1
- package/lib/theme-chalk/flows.css +1 -0
- package/lib/theme-chalk/form.css +1 -1
- package/lib/theme-chalk/index.css +1 -1
- package/lib/theme-chalk/input-number.css +1 -1
- package/lib/theme-chalk/input.css +1 -1
- package/lib/theme-chalk/lowcode.css +1 -1
- package/lib/theme-chalk/main.css +1 -1
- package/lib/theme-chalk/menu.css +1 -1
- package/lib/theme-chalk/message-box.css +1 -1
- package/lib/theme-chalk/message.css +1 -1
- package/lib/theme-chalk/notification.css +1 -1
- package/lib/theme-chalk/pagination.css +1 -1
- package/lib/theme-chalk/scrollbar.css +1 -1
- package/lib/theme-chalk/select.css +1 -1
- package/lib/theme-chalk/selector-panel.css +1 -1
- package/lib/theme-chalk/selector.css +1 -1
- package/lib/theme-chalk/slider.css +1 -1
- package/lib/theme-chalk/table.css +1 -1
- package/lib/theme-chalk/tabs.css +1 -1
- package/lib/theme-chalk/time-picker.css +1 -1
- package/lib/theme-chalk/time-select.css +1 -1
- package/lib/theme-chalk/timeline-item.css +1 -1
- package/lib/theme-chalk/transfer.css +1 -1
- package/lib/theme-chalk/tree.css +1 -1
- package/lib/theme-chalk/upload.css +1 -1
- package/lib/time-picker.js +8 -8
- package/lib/time-select.js +6 -6
- package/lib/timeline-item.js +2 -2
- package/lib/timeline.js +2 -2
- package/lib/tips.js +124 -124
- package/lib/toolbar.js +4 -4
- package/lib/tooltip.js +209 -209
- package/lib/transfer.js +4 -4
- package/lib/tree-group.js +122 -122
- package/lib/tree.js +121 -121
- package/lib/upload.js +131 -131
- package/package.json +1 -1
- package/packages/carousel/src/carousel.vue +2 -2
- package/packages/flow/index.js +4 -4
- package/packages/flow/src/component/FreeCirculation.vue +4 -3
- package/packages/flow/src/component/SendMsg.vue +2 -4
- package/packages/flow/src/component/opinions.vue +203 -226
- package/packages/flow/src/component/taskUnionExamine.vue +2 -4
- package/packages/flow/src/freeStartFlow.vue +2 -2
- package/packages/flow/src/selectUser.vue +36 -1
- package/packages/flow/src/supervise.vue +4 -2
- package/packages/flows/index.js +7 -0
- package/packages/flows/readme.md +600 -0
- package/packages/flows/src/components/basis.vue +108 -0
- package/packages/flows/src/components/distribute.vue +42 -0
- package/packages/flows/src/components/opinions-file.vue +123 -0
- package/packages/{flow-copy/src/component → flows/src/components}/opinions.vue +227 -204
- package/packages/flows/src/components/quick-actions.vue +64 -0
- package/packages/flows/src/components/reject.vue +83 -0
- package/packages/flows/src/components/start-flow.vue +210 -0
- package/packages/flows/src/flow.vue +510 -0
- package/packages/{flow/src/flow.vue → flows/src/flows.vue} +40 -1327
- package/packages/form/src/form-item.vue +9 -2
- package/packages/form/src/label-wrap.vue +4 -1
- package/packages/login/src/login.vue +61 -32
- package/packages/lowcode/src/lowcode.vue +141 -40
- package/packages/lowcode/src/pages.vue +27 -7
- package/packages/lowcode/src/toolbar.vue +3 -18
- package/packages/main/src/components/pages.vue +97 -65
- package/packages/main/src/components/router-page.vue +0 -2
- package/packages/main/src/gzw.vue +3 -2
- package/packages/main/src/minxs.js +71 -51
- package/packages/select/src/select.vue +5 -0
- package/packages/theme-chalk/src/base.scss +6 -0
- package/packages/theme-chalk/src/checkbox-group.scss +1 -0
- package/packages/theme-chalk/src/common/var.scss +1 -1
- package/packages/theme-chalk/src/flow.scss +7 -4
- package/packages/theme-chalk/src/flows.scss +141 -0
- package/packages/theme-chalk/src/form.scss +1 -1
- package/packages/theme-chalk/src/index.scss +1 -0
- package/packages/theme-chalk/src/input.scss +1 -0
- package/packages/theme-chalk/src/select.scss +3 -1
- package/packages/theme-chalk/src/selector.scss +1 -1
- package/src/index.js +4 -1
- package/packages/flow/src/component/quick-actions.vue +0 -1168
- package/packages/flow-copy/index.js +0 -7
- package/packages/flow-copy/src/component/Circulate.vue +0 -452
- package/packages/flow-copy/src/component/CustomPreset.vue +0 -333
- package/packages/flow-copy/src/component/FreeCirculation.vue +0 -275
- package/packages/flow-copy/src/component/Preset.vue +0 -273
- package/packages/flow-copy/src/component/SendMsg.vue +0 -290
- package/packages/flow-copy/src/component/TimeLimit.vue +0 -205
- package/packages/flow-copy/src/component/taskUnionExamine.vue +0 -818
- package/packages/flow-copy/src/freeStartFlow.vue +0 -2912
- package/packages/flow-copy/src/processForm.vue +0 -1411
- package/packages/flow-copy/src/processReject.vue +0 -319
- package/packages/flow-copy/src/reset.vue +0 -944
- package/packages/flow-copy/src/selectUser.vue +0 -513
- package/packages/flow-copy/src/startTaskRead.vue +0 -723
- package/packages/flow-copy/src/supervise.vue +0 -182
- package/packages/flow-copy/src/table.vue +0 -65
- /package/packages/{flow-copy → flow}/src/component/FileList.vue +0 -0
- /package/packages/{flow-copy → flow}/src/main.vue +0 -0
- /package/packages/{flow-copy/src → flows/src/components}/form.vue +0 -0
- /package/packages/{flow/src/component → flows/src/components}/message.vue +0 -0
- /package/packages/{flow/src/component → flows/src/components}/opinions-list.vue +0 -0
|
@@ -0,0 +1,600 @@
|
|
|
1
|
+
## flows
|
|
2
|
+
|
|
3
|
+
流程办理组件包,用于工作流的发起、审批、驳回、分阅等全流程操作。
|
|
4
|
+
|
|
5
|
+
## 业务逻辑
|
|
6
|
+
|
|
7
|
+
```
|
|
8
|
+
1.获取流程当前节点信息
|
|
9
|
+
通过
|
|
10
|
+
2.发起流程
|
|
11
|
+
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
## 目录结构
|
|
15
|
+
|
|
16
|
+
```
|
|
17
|
+
packages/flows/
|
|
18
|
+
├── index.js # 组件入口
|
|
19
|
+
├── readme.md # 本文档
|
|
20
|
+
└── src/
|
|
21
|
+
├── flow.vue # 完整版主组件(含完整业务逻辑)
|
|
22
|
+
├── flows.vue # 简化版主组件(骨架版)
|
|
23
|
+
└── components/ # 子组件目录
|
|
24
|
+
├── opinions.vue # 意见填写组件(核心)
|
|
25
|
+
├── opinions-file.vue # 意见附件组件
|
|
26
|
+
├── opinions-list.vue # 常用意见列表组件
|
|
27
|
+
├── start-flow.vue # 发起流程组件
|
|
28
|
+
├── quick-actions.vue # 快捷操作组件
|
|
29
|
+
├── reject.vue # 驳回流程组件
|
|
30
|
+
├── basis.vue # 默认流程(流程中)组件
|
|
31
|
+
├── distribute.vue # 分发组件
|
|
32
|
+
├── form.vue # 意见编辑表单组件
|
|
33
|
+
└── message.vue # 消息通知组件
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 组件关系图
|
|
37
|
+
|
|
38
|
+
```
|
|
39
|
+
EsFlows (主组件)
|
|
40
|
+
├── Opinions (意见填写)
|
|
41
|
+
│ ├── OpinionsFile (意见附件)
|
|
42
|
+
│ ├── OpinionsList (常用意见列表)
|
|
43
|
+
│ └── ideas / form.vue (意见编辑表单)
|
|
44
|
+
├── StartFlow (发起流程)
|
|
45
|
+
├── QuickActions (快捷操作)
|
|
46
|
+
├── Message (消息通知)
|
|
47
|
+
├── Reject (驳回流程)
|
|
48
|
+
├── Basis (默认流程)
|
|
49
|
+
└── Distribute (分发)
|
|
50
|
+
```
|
|
51
|
+
|
|
52
|
+
## 主组件说明
|
|
53
|
+
|
|
54
|
+
### EsFlows (flow.vue - 完整版)
|
|
55
|
+
|
|
56
|
+
**组件路径**:[src/flow.vue](file:///Users/huangbo/works/eoss-plus/packages/flows/src/flow.vue)
|
|
57
|
+
|
|
58
|
+
**功能**:流程办理的核心主组件,支持发起流程、流程中审批、驳回、分阅、转办、加签、减签、限时办理等多种场景。
|
|
59
|
+
|
|
60
|
+
#### Props 说明
|
|
61
|
+
|
|
62
|
+
| 参数名 | 类型 | 默认值 | 说明 |
|
|
63
|
+
| ----------------- | ------------------ | --------------------------------------------------------------------- | -------------------------------- |
|
|
64
|
+
| isStartFlow | Boolean | false | 是否发起流程 |
|
|
65
|
+
| businessId | String | '' | 业务 ID |
|
|
66
|
+
| pendingId | String | '' | 待办 ID |
|
|
67
|
+
| nodeName | String | '' | 节点名称 |
|
|
68
|
+
| typeCode | String | '' | 流程类型 |
|
|
69
|
+
| selectorConfig | Object / undefined | undefined | 选择器配置 |
|
|
70
|
+
| flowTypeCode | String | '' | 发起流程类型编码 |
|
|
71
|
+
| defaultProcessKey | String | '' | 默认选择流程编码 |
|
|
72
|
+
| hideBtn | Boolean | false | 是否隐藏流程按钮 |
|
|
73
|
+
| isCirculate | Boolean | false | 是否传阅流程 |
|
|
74
|
+
| formLabelPosition | String | 'right' | 表单标题位置 |
|
|
75
|
+
| flowListDisabled | Boolean | false | 是否可选中流程列表 |
|
|
76
|
+
| btnList | Array | [{text:'暂存',event:'save'},{text:'提交',event:'sub',type:'primary'}] | 流程按钮列表 |
|
|
77
|
+
| subFun | Function | (callBack)=>{callBack()} | 流程提交前回调函数 |
|
|
78
|
+
| urgencyLevel | String / Number | '' | 紧急程度 |
|
|
79
|
+
| beforeSubmit | Function | - | 流程提交前回调函数,返回 Promise |
|
|
80
|
+
| title | String | '流程办理' | 流程标题 |
|
|
81
|
+
| formTitle | String | '' | 表单标题 |
|
|
82
|
+
| closeParent | Boolean | - | 是否关闭父级弹窗 |
|
|
83
|
+
| param | Object | {} | 流程提交额外参数 |
|
|
84
|
+
| subParams | Object | {} | 流程提交额外参数 |
|
|
85
|
+
| selectorParams | Object | {} | 人员选择器参数 |
|
|
86
|
+
| width | String | - | 表单标题宽度 |
|
|
87
|
+
| resetAppId | String | - | 重设流程的 appId |
|
|
88
|
+
| userSelectRange | String | - | 用户选择范围 |
|
|
89
|
+
| rows | String / Number | 10 | 意见输入框行数 |
|
|
90
|
+
| showOther | Boolean | true | 是否展示外单位 |
|
|
91
|
+
| isEndMessage | Boolean | false | 是否展示办结意见 |
|
|
92
|
+
|
|
93
|
+
#### 核心 Data 字段
|
|
94
|
+
|
|
95
|
+
| 字段名 | 类型 | 说明 |
|
|
96
|
+
| ----------------- | ------- | --------------------------------------------------------------- |
|
|
97
|
+
| show | Boolean | 是否展示流程组件 |
|
|
98
|
+
| formData | Object | 表单数据(computed,根据 isStartFlow 切换 nodeInfo / nextNode) |
|
|
99
|
+
| nextNode | Object | 下一节点数据(流程中使用) |
|
|
100
|
+
| nodeInfo | Object | 节点信息(发起流程使用) |
|
|
101
|
+
| formRules | Object | 表单校验规则 |
|
|
102
|
+
| NodeName | String | 当前节点名称 |
|
|
103
|
+
| newTypeCode | String | 当前流程类型编码 |
|
|
104
|
+
| isOpinionRequired | Number | 意见是否必填(0 否 1 是) |
|
|
105
|
+
| isBanInputOpinion | Number | 是否禁止输入意见(0 否 1 是) |
|
|
106
|
+
| showOpinion | Boolean | 是否展示意见区域 |
|
|
107
|
+
| btnType | String | 当前按钮类型(控制下方操作面板显示) |
|
|
108
|
+
| typeList | Array | 快捷操作类型列表 |
|
|
109
|
+
|
|
110
|
+
#### 核心方法
|
|
111
|
+
|
|
112
|
+
| 方法名 | 参数 | 说明 |
|
|
113
|
+
| ----------------------- | ----------------------- | ------------------------------ |
|
|
114
|
+
| getInfo() | - | 获取流程信息(入口方法) |
|
|
115
|
+
| getNodeInfo() | - | 获取节点信息 |
|
|
116
|
+
| getProcess() | - | 获取流程定义列表(发起流程用) |
|
|
117
|
+
| getHedInfo() | - | 获取办理信息 |
|
|
118
|
+
| saveInfo(type, btn) | type:类型, btn:按钮配置 | 暂存 |
|
|
119
|
+
| saveFlowInfo(isSave) | isSave:是否保存 | 保存流程信息 |
|
|
120
|
+
| goView(res) | res:按钮配置 | 更多流程按钮操作分发 |
|
|
121
|
+
| rejectBtn(res) | res:按钮配置 | 点击驳回 |
|
|
122
|
+
| endFlows(res) | res:按钮配置 | 直接办结 |
|
|
123
|
+
| rejectAndEnd(res) | res:按钮配置 | 驳回并办结 |
|
|
124
|
+
| toTransfer(res) | res:按钮配置 | 转办 |
|
|
125
|
+
| taskReadBtn(res) | res:按钮配置 | 分阅 |
|
|
126
|
+
| handleShrink() | - | 收缩/展开流程面板 |
|
|
127
|
+
| flowSuccess(isFreeFlow) | isFreeFlow:是否自由流 | 流程成功回调 |
|
|
128
|
+
| getUserInfo() | - | 获取用户信息 |
|
|
129
|
+
| getAdminMsgType() | - | 获取紧急程度对应的消息通知类型 |
|
|
130
|
+
|
|
131
|
+
#### 事件 (Events)
|
|
132
|
+
|
|
133
|
+
| 事件名 | 参数 | 说明 |
|
|
134
|
+
| ---------------- | ----------- | ---------------- |
|
|
135
|
+
| save | businessIds | 暂存成功事件 |
|
|
136
|
+
| success | - | 流程提交成功事件 |
|
|
137
|
+
| error | - | 流程出错事件 |
|
|
138
|
+
| shrink | show | 收缩/展开事件 |
|
|
139
|
+
| flowChange | val | 流程变更事件 |
|
|
140
|
+
| buttonClick | fun | 按钮点击事件 |
|
|
141
|
+
| endMessageChange | endMessage | 办结意见变化事件 |
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### EsFlows (flows.vue - 简化版)
|
|
146
|
+
|
|
147
|
+
**组件路径**:[src/flows.vue](file:///Users/huangbo/works/eoss-plus/packages/flows/src/flows.vue)
|
|
148
|
+
|
|
149
|
+
**功能**:流程组件的简化骨架版,仅保留意见填写、发起流程、快捷操作的基础结构,适用于需要自定义扩展的场景。
|
|
150
|
+
|
|
151
|
+
> **注意**:入口文件 `index.js` 默认导出的是 `flow.vue` 完整版,如需使用简化版需手动引入。
|
|
152
|
+
|
|
153
|
+
---
|
|
154
|
+
|
|
155
|
+
## 子组件说明
|
|
156
|
+
|
|
157
|
+
### 1. Opinions (意见填写组件)
|
|
158
|
+
|
|
159
|
+
**组件路径**:[src/components/opinions.vue](file:///Users/huangbo/works/eoss-plus/packages/flows/src/components/opinions.vue)
|
|
160
|
+
|
|
161
|
+
**功能**:流程意见填写的核心组件,支持常用意见、意见附件、上一步意见提示等功能。
|
|
162
|
+
|
|
163
|
+
#### Props
|
|
164
|
+
|
|
165
|
+
| 参数名 | 类型 | 默认值 | 说明 |
|
|
166
|
+
| ---------------------------- | --------------- | ------ | ----------------------------- |
|
|
167
|
+
| value | String | - | 审批意见(v-model) |
|
|
168
|
+
| showFile | Boolean | false | 是否显示意见附件 |
|
|
169
|
+
| ownId | String | '' | 意见附件所属 ID |
|
|
170
|
+
| code | String | '' | 意见附件编码 |
|
|
171
|
+
| isBanInputOpinion | Number | 0 | 是否禁止输入意见(0 否 1 是) |
|
|
172
|
+
| pendingItemHandleDescription | String | '' | 待办项办理说明(上一步意见) |
|
|
173
|
+
| nodeFixedOpinionSelectList | Array | [] | 节点固定意见列表 |
|
|
174
|
+
| rows | Number / String | 10 | 输入框行数 |
|
|
175
|
+
| required | Boolean | false | 是否必填 |
|
|
176
|
+
|
|
177
|
+
#### Data
|
|
178
|
+
|
|
179
|
+
| 字段名 | 类型 | 说明 |
|
|
180
|
+
| ------------ | ------- | ------------------------ |
|
|
181
|
+
| fileNum | Number | 附件数量 |
|
|
182
|
+
| showFileList | Boolean | 意见附件弹窗显示状态 |
|
|
183
|
+
| optionList | Array | 常用意见列表 |
|
|
184
|
+
| openList | Boolean | 常用意见设置弹窗显示状态 |
|
|
185
|
+
| disabled | Boolean | 是否禁用 |
|
|
186
|
+
|
|
187
|
+
#### 核心方法
|
|
188
|
+
|
|
189
|
+
| 方法名 | 参数 | 说明 |
|
|
190
|
+
| ---------------------- | -------------- | ----------------- |
|
|
191
|
+
| getCommonOpion() | - | 获取常用意见列表 |
|
|
192
|
+
| handleClickTag(item) | item:标签项 | 点击常用意见标签 |
|
|
193
|
+
| handleCommand(command) | command:命令项 | 下拉菜单选择意见 |
|
|
194
|
+
| validate() | - | 表单校验 |
|
|
195
|
+
| changeOpinion() | - | 意见变化时触发 |
|
|
196
|
+
| upDate(val) | val:意见数据 | 修改常用语 |
|
|
197
|
+
| submit(val) | val:提交数据 | 新增/编辑意见保存 |
|
|
198
|
+
|
|
199
|
+
#### 事件
|
|
200
|
+
|
|
201
|
+
| 事件名 | 参数 | 说明 |
|
|
202
|
+
| ------ | ----- | ----------------------- |
|
|
203
|
+
| input | value | 意见输入事件(v-model) |
|
|
204
|
+
| change | value | 意见变化事件 |
|
|
205
|
+
| blur | value | 失焦事件 |
|
|
206
|
+
| focus | value | 聚焦事件 |
|
|
207
|
+
|
|
208
|
+
#### 数据来源
|
|
209
|
+
|
|
210
|
+
- 常用意见:`commonOpion` 接口
|
|
211
|
+
- 保存常用意见:`saveCommonOpinion` / `updateCommonOpinion` 接口
|
|
212
|
+
- 删除常用意见:`deleteCommonOpion` 接口
|
|
213
|
+
- 系统参数:`findSysParam` 接口(控制意见追加/替换模式)
|
|
214
|
+
|
|
215
|
+
---
|
|
216
|
+
|
|
217
|
+
### 2. OpinionsFile (意见附件组件)
|
|
218
|
+
|
|
219
|
+
**组件路径**:[src/components/opinions-file.vue](file:///Users/huangbo/works/eoss-plus/packages/flows/src/components/opinions-file.vue)
|
|
220
|
+
|
|
221
|
+
**功能**:意见附件上传组件,支持拖拽上传、预览、下载、排序。
|
|
222
|
+
|
|
223
|
+
#### Props
|
|
224
|
+
|
|
225
|
+
| 参数名 | 类型 | 默认值 | 说明 |
|
|
226
|
+
| -------- | ------- | ------ | ----------- |
|
|
227
|
+
| ownId | String | '' | 附件所属 ID |
|
|
228
|
+
| code | String | '' | 附件编码 |
|
|
229
|
+
| fileUrl | String | '' | 附件地址 |
|
|
230
|
+
| deleted | Boolean | true | 是否可删除 |
|
|
231
|
+
| disabled | Boolean | false | 是否禁用 |
|
|
232
|
+
| scale | Boolean | - | 缩放标记 |
|
|
233
|
+
|
|
234
|
+
#### 核心方法
|
|
235
|
+
|
|
236
|
+
| 方法名 | 参数 | 说明 |
|
|
237
|
+
| --------------------------------------- | -------------- | ------------------ |
|
|
238
|
+
| getHeight() | - | 计算组件高度 |
|
|
239
|
+
| handleGetFiles(files) | files:文件列表 | 获取已上传文件列表 |
|
|
240
|
+
| handleSuccess(response, file, fileList) | - | 上传成功回调 |
|
|
241
|
+
| handleRemove(file, fileList) | - | 删除文件回调 |
|
|
242
|
+
|
|
243
|
+
#### 事件
|
|
244
|
+
|
|
245
|
+
| 事件名 | 参数 | 说明 |
|
|
246
|
+
| ------ | ------- | ---------------- |
|
|
247
|
+
| change | fileNum | 文件数量变化事件 |
|
|
248
|
+
|
|
249
|
+
---
|
|
250
|
+
|
|
251
|
+
### 3. OpinionsList (常用意见列表组件)
|
|
252
|
+
|
|
253
|
+
**组件路径**:[src/components/opinions-list.vue](file:///Users/huangbo/works/eoss-plus/packages/flows/src/components/opinions-list.vue)
|
|
254
|
+
|
|
255
|
+
**功能**:常用意见管理列表,支持新增、编辑、删除常用意见。
|
|
256
|
+
|
|
257
|
+
#### Props
|
|
258
|
+
|
|
259
|
+
| 参数名 | 类型 | 默认值 | 说明 |
|
|
260
|
+
| ------ | ----- | ------ | --------------------- |
|
|
261
|
+
| data | Array | [] | 意见列表数据(.sync) |
|
|
262
|
+
|
|
263
|
+
#### Data
|
|
264
|
+
|
|
265
|
+
| 字段名 | 类型 | 说明 |
|
|
266
|
+
| ------------ | ------- | --------------------- |
|
|
267
|
+
| toolbar | Array | 表格工具栏配置 |
|
|
268
|
+
| thead | Array | 表格列配置 |
|
|
269
|
+
| visible | Boolean | 新增/编辑弹窗显示状态 |
|
|
270
|
+
| action | String | 提交接口地址 |
|
|
271
|
+
| formContents | Array | 表单项配置 |
|
|
272
|
+
| formData | Object | 表单数据 |
|
|
273
|
+
|
|
274
|
+
#### 核心方法
|
|
275
|
+
|
|
276
|
+
| 方法名 | 参数 | 说明 |
|
|
277
|
+
| ------------------ | ------------ | ------------------ |
|
|
278
|
+
| handleDelete(data) | data:行数据 | 删除常用语 |
|
|
279
|
+
| getValue() | - | 获取常用语结构详情 |
|
|
280
|
+
| handleSuccess(res) | res:响应数据 | 添加成功回调 |
|
|
281
|
+
| handleError(err) | err:错误信息 | 添加失败回调 |
|
|
282
|
+
|
|
283
|
+
#### 事件
|
|
284
|
+
|
|
285
|
+
| 事件名 | 参数 | 说明 |
|
|
286
|
+
| ----------- | ---- | ------------ |
|
|
287
|
+
| success | - | 操作成功事件 |
|
|
288
|
+
| update:data | data | 数据更新事件 |
|
|
289
|
+
|
|
290
|
+
#### 数据来源
|
|
291
|
+
|
|
292
|
+
- 新增:`saveCommonOpinion` 接口
|
|
293
|
+
- 编辑:`updateCommonOpinion` 接口
|
|
294
|
+
- 删除:`deleteCommonOpion` 接口
|
|
295
|
+
- 获取表单结构:`addCommonOpion` 接口
|
|
296
|
+
|
|
297
|
+
---
|
|
298
|
+
|
|
299
|
+
### 4. StartFlow (发起流程组件)
|
|
300
|
+
|
|
301
|
+
**组件路径**:[src/components/start-flow.vue](file:///Users/huangbo/works/eoss-plus/packages/flows/src/components/start-flow.vue)
|
|
302
|
+
|
|
303
|
+
**功能**:发起流程时使用,支持选择流程定义、下步节点、下步办理人,以及流程图查看。
|
|
304
|
+
|
|
305
|
+
#### Props
|
|
306
|
+
|
|
307
|
+
| 参数名 | 类型 | 默认值 | 说明 |
|
|
308
|
+
| -------- | -------------- | ------ | --------------------------------- |
|
|
309
|
+
| model | Object / Array | {} | 表单数据(v-model / :model.sync) |
|
|
310
|
+
| flowList | Array | [] | 流程列表 |
|
|
311
|
+
|
|
312
|
+
#### Data
|
|
313
|
+
|
|
314
|
+
| 字段名 | 类型 | 说明 |
|
|
315
|
+
| ------------ | ------- | -------------------------------- |
|
|
316
|
+
| rules | Object | 表单校验规则 |
|
|
317
|
+
| nextNodeList | Array | 下步操作列表(mock 数据) |
|
|
318
|
+
| nextNodes | Array | 下步节点列表(mock 数据) |
|
|
319
|
+
| personnels | Array | 下步办理人列表(mock 数据) |
|
|
320
|
+
| append | Object | 选择器后置按钮配置(查看流程图) |
|
|
321
|
+
| visible | Boolean | 流程图弹窗显示状态 |
|
|
322
|
+
| src | String | 流程图 iframe 地址 |
|
|
323
|
+
|
|
324
|
+
#### Computed
|
|
325
|
+
|
|
326
|
+
| 字段名 | 说明 |
|
|
327
|
+
| ------ | ------------------------------------- |
|
|
328
|
+
| single | 是否为单流程模式(当前固定返回 true) |
|
|
329
|
+
| models | 表单数据(双向绑定代理) |
|
|
330
|
+
|
|
331
|
+
> **注意**:当前组件中 `nextNodeList`、`nextNodes`、`personnels` 为 mock 数据,实际使用时需替换为接口数据。
|
|
332
|
+
|
|
333
|
+
---
|
|
334
|
+
|
|
335
|
+
### 5. QuickActions (快捷操作组件)
|
|
336
|
+
|
|
337
|
+
**组件路径**:[src/components/quick-actions.vue](file:///Users/huangbo/works/eoss-plus/packages/flows/src/components/quick-actions.vue)
|
|
338
|
+
|
|
339
|
+
**功能**:快捷操作切换组件,通过按钮组切换不同操作类型,动态渲染对应组件。
|
|
340
|
+
|
|
341
|
+
#### Props
|
|
342
|
+
|
|
343
|
+
| 参数名 | 类型 | 默认值 | 说明 |
|
|
344
|
+
| ------ | ------ | ------ | --------------------- |
|
|
345
|
+
| type | String | - | 当前选中类型(.sync) |
|
|
346
|
+
| types | Array | [] | 操作类型列表 |
|
|
347
|
+
|
|
348
|
+
#### 插槽 / 动态组件
|
|
349
|
+
|
|
350
|
+
通过 `<component :is="tag">` 动态渲染当前类型对应的组件,使用 `v-bind="config"` 传递配置,`v-on="events"` 绑定事件。
|
|
351
|
+
|
|
352
|
+
> **注意**:当前 `tag`、`config`、`events` 未在 data 中定义,需在使用时扩展或由父组件传入。
|
|
353
|
+
|
|
354
|
+
---
|
|
355
|
+
|
|
356
|
+
### 6. Reject (驳回流程组件)
|
|
357
|
+
|
|
358
|
+
**组件路径**:[src/components/reject.vue](file:///Users/huangbo/works/eoss-plus/packages/flows/src/components/reject.vue)
|
|
359
|
+
|
|
360
|
+
**功能**:驳回流程表单,显示当前节点,选择驳回对象。
|
|
361
|
+
|
|
362
|
+
#### Props
|
|
363
|
+
|
|
364
|
+
| 参数名 | 类型 | 默认值 | 说明 |
|
|
365
|
+
| ------ | -------------- | ------ | --------------------------------- |
|
|
366
|
+
| model | Object / Array | {} | 表单数据(v-model / :model.sync) |
|
|
367
|
+
|
|
368
|
+
#### Data
|
|
369
|
+
|
|
370
|
+
| 字段名 | 类型 | 说明 |
|
|
371
|
+
| ---------- | ----- | ------------------------- |
|
|
372
|
+
| personnels | Array | 驳回对象列表(mock 数据) |
|
|
373
|
+
|
|
374
|
+
> **注意**:`personnels` 为 mock 数据,实际使用时需替换为真实的可驳回节点/人员列表。
|
|
375
|
+
|
|
376
|
+
---
|
|
377
|
+
|
|
378
|
+
### 7. Basis (默认流程组件)
|
|
379
|
+
|
|
380
|
+
**组件路径**:[src/components/basis.vue](file:///Users/huangbo/works/eoss-plus/packages/flows/src/components/basis.vue)
|
|
381
|
+
|
|
382
|
+
**功能**:流程中默认操作表单,包含下步操作、下步节点、处理方式、下步办理人选择。
|
|
383
|
+
|
|
384
|
+
#### Props
|
|
385
|
+
|
|
386
|
+
| 参数名 | 类型 | 默认值 | 说明 |
|
|
387
|
+
| ------ | -------------- | ------ | --------------------------------- |
|
|
388
|
+
| model | Object / Array | {} | 表单数据(v-model / :model.sync) |
|
|
389
|
+
|
|
390
|
+
#### Data
|
|
391
|
+
|
|
392
|
+
| 字段名 | 类型 | 说明 |
|
|
393
|
+
| --------- | ------ | ---------------- |
|
|
394
|
+
| rules | Object | 表单校验规则 |
|
|
395
|
+
| userTypes | Array | 办理人选择器类型 |
|
|
396
|
+
|
|
397
|
+
#### 核心方法
|
|
398
|
+
|
|
399
|
+
| 方法名 | 参数 | 说明 |
|
|
400
|
+
| ------------------------- | ------------------------------------ | --------------------- |
|
|
401
|
+
| selecNext(val, isOperate) | val:选中值, isOperate:是否为操作选择 | 选择下步节点/操作回调 |
|
|
402
|
+
|
|
403
|
+
---
|
|
404
|
+
|
|
405
|
+
### 8. Distribute (分发组件)
|
|
406
|
+
|
|
407
|
+
**组件路径**:[src/components/distribute.vue](file:///Users/huangbo/works/eoss-plus/packages/flows/src/components/distribute.vue)
|
|
408
|
+
|
|
409
|
+
**功能**:分发办理组件,选择办理用户并填写办理说明。
|
|
410
|
+
|
|
411
|
+
#### Data
|
|
412
|
+
|
|
413
|
+
| 字段名 | 类型 | 说明 |
|
|
414
|
+
| ------ | ----- | ---------------------------------------------- |
|
|
415
|
+
| types | Array | 办理用户选择器类型(人员、企业、部门、人员组) |
|
|
416
|
+
|
|
417
|
+
---
|
|
418
|
+
|
|
419
|
+
### 9. ideas / Form (意见编辑表单组件)
|
|
420
|
+
|
|
421
|
+
**组件路径**:[src/components/form.vue](file:///Users/huangbo/works/eoss-plus/packages/flows/src/components/form.vue)
|
|
422
|
+
|
|
423
|
+
**功能**:常用意见新增/编辑表单组件。
|
|
424
|
+
|
|
425
|
+
#### Props
|
|
426
|
+
|
|
427
|
+
| 参数名 | 类型 | 默认值 | 说明 |
|
|
428
|
+
| ------------- | ------- | ------- | ---------------- |
|
|
429
|
+
| data | Object | {} | 编辑的数据 |
|
|
430
|
+
| labelWidth | String | '100px' | 表单标题宽度 |
|
|
431
|
+
| showSubBtn | Boolean | true | 是否展示保存按钮 |
|
|
432
|
+
| labelPosition | String | 'left' | 表单标题对齐方式 |
|
|
433
|
+
|
|
434
|
+
#### Data
|
|
435
|
+
|
|
436
|
+
| 字段名 | 类型 | 说明 |
|
|
437
|
+
| ------- | ------- | -------- |
|
|
438
|
+
| newData | Object | 表单数据 |
|
|
439
|
+
| loading | Boolean | 加载状态 |
|
|
440
|
+
|
|
441
|
+
#### 核心方法
|
|
442
|
+
|
|
443
|
+
| 方法名 | 参数 | 说明 |
|
|
444
|
+
| -------------------- | -------------------- | ------------------------- |
|
|
445
|
+
| add(id) | id:意见 ID | 获取意见详情(新增/编辑) |
|
|
446
|
+
| submitForm(formName) | formName:表单 ref 名 | 提交表单 |
|
|
447
|
+
|
|
448
|
+
#### 事件
|
|
449
|
+
|
|
450
|
+
| 事件名 | 参数 | 说明 |
|
|
451
|
+
| ------- | ------------------ | ---------------------- |
|
|
452
|
+
| subMit | {addVisible, data} | 提交成功事件(驼峰) |
|
|
453
|
+
| sub-mit | {addVisible, data} | 提交成功事件(短横线) |
|
|
454
|
+
|
|
455
|
+
#### 数据来源
|
|
456
|
+
|
|
457
|
+
- 新增表单结构:`addCommonOpion` 接口
|
|
458
|
+
- 编辑表单结构:`editCommonOpion` 接口
|
|
459
|
+
|
|
460
|
+
---
|
|
461
|
+
|
|
462
|
+
### 10. Message (消息通知组件)
|
|
463
|
+
|
|
464
|
+
**组件路径**:[src/components/message.vue](file:///Users/huangbo/works/eoss-plus/packages/flows/src/components/message.vue)
|
|
465
|
+
|
|
466
|
+
**功能**:消息通知配置组件,选择通知方式并填写通知内容。
|
|
467
|
+
|
|
468
|
+
#### Props
|
|
469
|
+
|
|
470
|
+
| 参数名 | 类型 | 默认值 | 说明 |
|
|
471
|
+
| --------- | ------- | ------ | -------------------------- |
|
|
472
|
+
| value | Object | {} | 消息数据(v-model) |
|
|
473
|
+
| disableds | String | '' | 禁用的通知类型(逗号分隔) |
|
|
474
|
+
| readonly | Boolean | false | 是否只读 |
|
|
475
|
+
| types | Array | [] | 通知类型列表 |
|
|
476
|
+
|
|
477
|
+
#### Computed
|
|
478
|
+
|
|
479
|
+
| 字段名 | 说明 |
|
|
480
|
+
| ----------- | ---------------------------------- |
|
|
481
|
+
| noticeTypes | 处理后的通知类型列表(含禁用状态) |
|
|
482
|
+
| type | notificationType 的双向绑定代理 |
|
|
483
|
+
| message | notificationMsg 的双向绑定代理 |
|
|
484
|
+
|
|
485
|
+
#### 数据结构 (value)
|
|
486
|
+
|
|
487
|
+
```javascript
|
|
488
|
+
{
|
|
489
|
+
notificationType: [], // 通知方式数组
|
|
490
|
+
notificationMsg: '' // 通知内容
|
|
491
|
+
}
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
---
|
|
495
|
+
|
|
496
|
+
## 交互逻辑与数据流向
|
|
497
|
+
|
|
498
|
+
### 1. 整体数据流
|
|
499
|
+
|
|
500
|
+
```
|
|
501
|
+
父组件 (Props 传入)
|
|
502
|
+
│
|
|
503
|
+
▼
|
|
504
|
+
EsFlows 主组件
|
|
505
|
+
├── 业务数据 (businessId, pendingId, typeCode...)
|
|
506
|
+
├── 用户信息 (getStorage / loginUserInfo 接口)
|
|
507
|
+
└── 流程数据 (各业务接口获取)
|
|
508
|
+
│
|
|
509
|
+
├── v-model ──► Opinions 意见组件
|
|
510
|
+
├── :model ──► StartFlow 发起流程组件
|
|
511
|
+
├── :types ──► QuickActions 快捷操作组件
|
|
512
|
+
└── ... 其他子组件
|
|
513
|
+
```
|
|
514
|
+
|
|
515
|
+
### 2. 发起流程流程
|
|
516
|
+
|
|
517
|
+
1. 父组件传入 `isStartFlow=true` 和 `businessId`
|
|
518
|
+
2. 主组件调用 `getProcess()` 获取流程定义列表
|
|
519
|
+
3. 渲染 `StartFlow` 组件供用户选择流程
|
|
520
|
+
4. 用户选择流程后触发 `handleChange()` 获取节点详情
|
|
521
|
+
5. 用户填写意见后点击提交
|
|
522
|
+
6. 调用 `beforeSubmit` 回调(若有)
|
|
523
|
+
7. 提交数据到后端,触发 `success` 事件
|
|
524
|
+
|
|
525
|
+
### 3. 流程中办理
|
|
526
|
+
|
|
527
|
+
1. 父组件传入 `isStartFlow=false` 和 `pendingId`
|
|
528
|
+
2. 主组件调用 `getHedInfo()` 获取待办信息
|
|
529
|
+
3. 调用 `getNodeInfo()` 获取下一节点信息
|
|
530
|
+
4. 渲染意见区、下步操作/节点/办理人选择
|
|
531
|
+
5. 用户填写意见并选择办理人后提交
|
|
532
|
+
6. 调用 `subFun` / `beforeSubmit` 前置校验
|
|
533
|
+
7. 提交数据,触发 `success` 事件
|
|
534
|
+
|
|
535
|
+
### 4. 驳回流程
|
|
536
|
+
|
|
537
|
+
1. 用户点击「驳回」按钮触发 `rejectBtn()`
|
|
538
|
+
2. 设置 `btnType = 'reject'` 显示驳回面板
|
|
539
|
+
3. 用户选择驳回节点并填写驳回意见
|
|
540
|
+
4. 确认后调用驳回接口
|
|
541
|
+
5. 成功后触发 `success` 事件
|
|
542
|
+
|
|
543
|
+
### 5. 常用意见交互
|
|
544
|
+
|
|
545
|
+
1. 组件挂载时调用 `getCommonOpion()` 获取用户常用意见
|
|
546
|
+
2. 显示前 3 条为快捷标签,其余在下拉菜单
|
|
547
|
+
3. 点击标签直接填入意见框
|
|
548
|
+
4. 点击编辑按钮打开常用意见管理弹窗
|
|
549
|
+
5. 支持新增、编辑、删除常用意见
|
|
550
|
+
|
|
551
|
+
### 6. 意见附件交互
|
|
552
|
+
|
|
553
|
+
1. 非发起流程且非分阅场景显示「意见附件」按钮
|
|
554
|
+
2. 点击按钮打开附件弹窗
|
|
555
|
+
3. `OpinionsFile` 组件负责上传/删除/预览
|
|
556
|
+
4. 附件数量变化通过 `change` 事件回传给父组件
|
|
557
|
+
|
|
558
|
+
---
|
|
559
|
+
|
|
560
|
+
## 数据来源汇总
|
|
561
|
+
|
|
562
|
+
### 核心 API 接口(来自 eoss/src/config/api)
|
|
563
|
+
|
|
564
|
+
| 接口变量名 | 用途 |
|
|
565
|
+
| -------------------------------------- | ------------------------ |
|
|
566
|
+
| getNodeInfo | 获取节点信息 |
|
|
567
|
+
| getNodeInfoForStart | 获取发起流程的节点信息 |
|
|
568
|
+
| tempSave | 暂存 |
|
|
569
|
+
| getProcessDefList | 获取流程定义列表 |
|
|
570
|
+
| pendedhistoryList | 历史记录列表 |
|
|
571
|
+
| endFlowHtml | 直接办结 |
|
|
572
|
+
| taskReadHtml | 分阅办理 |
|
|
573
|
+
| findCodeValues | 查询编码值(通知类型等) |
|
|
574
|
+
| toStartTaskReadIndex | 进入分阅页面 |
|
|
575
|
+
| loginUserInfo | 获取登录用户信息 |
|
|
576
|
+
| getAdjunctFileInfos | 获取附件信息 |
|
|
577
|
+
| rejectAndEnd | 驳回并办结 |
|
|
578
|
+
| getFreeStartFlowParams | 获取自由发起流程参数 |
|
|
579
|
+
| isCanStartSubFlow | 是否可发起子流程 |
|
|
580
|
+
| taskHandleHtml | 任务办理 |
|
|
581
|
+
| getUrgencyLevelChangedNotificationType | 紧急程度变更通知类型 |
|
|
582
|
+
| commonOpion | 获取常用意见列表 |
|
|
583
|
+
| saveCommonOpinion | 保存常用意见 |
|
|
584
|
+
| updateCommonOpinion | 更新常用意见 |
|
|
585
|
+
| deleteCommonOpion | 删除常用意见 |
|
|
586
|
+
| addCommonOpion | 获取新增意见表单结构 |
|
|
587
|
+
| editCommonOpion | 获取编辑意见表单结构 |
|
|
588
|
+
| findSysParam | 查询系统参数 |
|
|
589
|
+
| delAdjunct | 删除附件 |
|
|
590
|
+
|
|
591
|
+
### 本地存储数据(来自 eoss/src/utils/storage)
|
|
592
|
+
|
|
593
|
+
| 存储键名 | 用途 |
|
|
594
|
+
| ---------- | ------------------------------- |
|
|
595
|
+
| mainConfig | 主配置(含 userModel 用户信息) |
|
|
596
|
+
| userId | 用户 ID |
|
|
597
|
+
| userName | 用户名 |
|
|
598
|
+
| theme | 主题色 |
|
|
599
|
+
|
|
600
|
+
---
|