pit-docs-mcp 1.0.2
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/README.md +180 -0
- package/dist/codegen.d.ts +5 -0
- package/dist/codegen.d.ts.map +1 -0
- package/dist/codegen.js +112 -0
- package/dist/constants.d.ts +6 -0
- package/dist/constants.d.ts.map +1 -0
- package/dist/constants.js +10 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +115 -0
- package/dist/resources.d.ts +3 -0
- package/dist/resources.d.ts.map +1 -0
- package/dist/resources.js +80 -0
- package/dist/tools.d.ts +3 -0
- package/dist/tools.d.ts.map +1 -0
- package/dist/tools.js +258 -0
- package/dist/utils.d.ts +26 -0
- package/dist/utils.d.ts.map +1 -0
- package/dist/utils.js +198 -0
- package/docs/codegen/pit-simplify-web.md +686 -0
- package/docs/pitBusinessUi/README.md +102 -0
- package/docs/pitBusinessUi/add-date-picker.md +57 -0
- package/docs/pitBusinessUi/add-operation.md +64 -0
- package/docs/pitBusinessUi/batch-download.md +44 -0
- package/docs/pitBusinessUi/bill-tree-dialog.md +82 -0
- package/docs/pitBusinessUi/collapse.md +88 -0
- package/docs/pitBusinessUi/date-time-picker.md +74 -0
- package/docs/pitBusinessUi/design-report-explain.md +47 -0
- package/docs/pitBusinessUi/dialog.md +89 -0
- package/docs/pitBusinessUi/dic-radio.md +67 -0
- package/docs/pitBusinessUi/dic.md +78 -0
- package/docs/pitBusinessUi/document-preview.md +54 -0
- package/docs/pitBusinessUi/drawer.md +67 -0
- package/docs/pitBusinessUi/editor.md +63 -0
- package/docs/pitBusinessUi/expand-search-form.md +65 -0
- package/docs/pitBusinessUi/file-preview.md +56 -0
- package/docs/pitBusinessUi/flow-table-status.md +47 -0
- package/docs/pitBusinessUi/icon-box.md +74 -0
- package/docs/pitBusinessUi/image-preview.md +55 -0
- package/docs/pitBusinessUi/image.md +53 -0
- package/docs/pitBusinessUi/input-formatter.md +100 -0
- package/docs/pitBusinessUi/input-number.md +47 -0
- package/docs/pitBusinessUi/input-select.md +68 -0
- package/docs/pitBusinessUi/input.md +56 -0
- package/docs/pitBusinessUi/jm-preview.md +47 -0
- package/docs/pitBusinessUi/json-editor.md +71 -0
- package/docs/pitBusinessUi/loading-btn.md +64 -0
- package/docs/pitBusinessUi/monaco.md +82 -0
- package/docs/pitBusinessUi/money-input.md +59 -0
- package/docs/pitBusinessUi/pagination.md +70 -0
- package/docs/pitBusinessUi/password-strength.md +59 -0
- package/docs/pitBusinessUi/positive-number.md +63 -0
- package/docs/pitBusinessUi/preview-image.md +62 -0
- package/docs/pitBusinessUi/preview-office.md +50 -0
- package/docs/pitBusinessUi/preview.md +57 -0
- package/docs/pitBusinessUi/quill.md +52 -0
- package/docs/pitBusinessUi/runflow-btn.md +52 -0
- package/docs/pitBusinessUi/search-date-picker.md +60 -0
- package/docs/pitBusinessUi/select-bid-list.md +66 -0
- package/docs/pitBusinessUi/select-color.md +38 -0
- package/docs/pitBusinessUi/select-contract-tree.md +41 -0
- package/docs/pitBusinessUi/select-dept.md +38 -0
- package/docs/pitBusinessUi/select-project-unit.md +48 -0
- package/docs/pitBusinessUi/select-section-tree.md +45 -0
- package/docs/pitBusinessUi/select-section.md +66 -0
- package/docs/pitBusinessUi/select-string.md +60 -0
- package/docs/pitBusinessUi/select-system-unit.md +41 -0
- package/docs/pitBusinessUi/select-user-by-role.md +51 -0
- package/docs/pitBusinessUi/switch.md +43 -0
- package/docs/pitBusinessUi/table-contract.md +66 -0
- package/docs/pitBusinessUi/table-operation.md +81 -0
- package/docs/pitBusinessUi/table.md +75 -0
- package/docs/pitBusinessUi/tag.md +86 -0
- package/docs/pitBusinessUi/textarea.md +65 -0
- package/docs/pitBusinessUi/transfer-direct.md +57 -0
- package/docs/pitBusinessUi/transfer-user-project.md +78 -0
- package/docs/pitBusinessUi/transfer.md +68 -0
- package/docs/pitBusinessUi/tree-lazy.md +72 -0
- package/docs/pitBusinessUi/tree-select-name.md +59 -0
- package/docs/pitBusinessUi/tree-select-plus.md +106 -0
- package/docs/pitBusinessUi/tree-select.md +86 -0
- package/docs/pitBusinessUi/upload-avatar.md +60 -0
- package/docs/pitBusinessUi/upload-file-dialog.md +86 -0
- package/docs/pitBusinessUi/upload-file.md +77 -0
- package/docs/pitBusinessUi/upload-list-card.md +62 -0
- package/docs/pitBusinessUi/upload-table.md +77 -0
- package/docs/pitBusinessUi/user-transform.md +72 -0
- package/docs/pitBusinessUi/utils.md +272 -0
- package/docs/pitBusinessUtils/README.md +144 -0
- package/docs/pitBusinessUtils/auth.md +170 -0
- package/docs/pitBusinessUtils/clipboard.md +72 -0
- package/docs/pitBusinessUtils/filePreview.md +60 -0
- package/docs/pitBusinessUtils/formValidate.md +75 -0
- package/docs/pitBusinessUtils/generateTitle.md +49 -0
- package/docs/pitBusinessUtils/get-page-title.md +65 -0
- package/docs/pitBusinessUtils/i18n.md +130 -0
- package/docs/pitBusinessUtils/jwks.md +82 -0
- package/docs/pitBusinessUtils/oss.md +391 -0
- package/docs/pitBusinessUtils/passwordValidate.md +120 -0
- package/docs/pitBusinessUtils/pit.md +496 -0
- package/docs/pitBusinessUtils/print.md +126 -0
- package/docs/pitBusinessUtils/request.md +137 -0
- package/docs/pitBusinessUtils/scroll-to.md +68 -0
- package/docs/pitBusinessUtils/utils.md +762 -0
- package/docs/pitBusinessUtils/validate.md +224 -0
- package/docs/pitElementUi/alert.md +238 -0
- package/docs/pitElementUi/avatar.md +147 -0
- package/docs/pitElementUi/backtop.md +60 -0
- package/docs/pitElementUi/badge.md +120 -0
- package/docs/pitElementUi/base-tabs.md +73 -0
- package/docs/pitElementUi/border.md +135 -0
- package/docs/pitElementUi/breadcrumb.md +44 -0
- package/docs/pitElementUi/button.md +301 -0
- package/docs/pitElementUi/calendar.md +66 -0
- package/docs/pitElementUi/card.md +170 -0
- package/docs/pitElementUi/carousel.md +212 -0
- package/docs/pitElementUi/cascader.md +1966 -0
- package/docs/pitElementUi/checkbox.md +283 -0
- package/docs/pitElementUi/collapse.md +131 -0
- package/docs/pitElementUi/color-picker.md +123 -0
- package/docs/pitElementUi/color.md +244 -0
- package/docs/pitElementUi/container.md +240 -0
- package/docs/pitElementUi/custom-theme.md +131 -0
- package/docs/pitElementUi/date-picker.md +448 -0
- package/docs/pitElementUi/datetime-picker.md +254 -0
- package/docs/pitElementUi/descriptions.md +191 -0
- package/docs/pitElementUi/dialog-header.md +53 -0
- package/docs/pitElementUi/dialog.md +239 -0
- package/docs/pitElementUi/divider.md +61 -0
- package/docs/pitElementUi/drawer.md +307 -0
- package/docs/pitElementUi/dropdown.md +308 -0
- package/docs/pitElementUi/empty.md +61 -0
- package/docs/pitElementUi/font-family.md +90 -0
- package/docs/pitElementUi/form-base.md +1239 -0
- package/docs/pitElementUi/form-item-checkbox-group.md +48 -0
- package/docs/pitElementUi/form-item-date.md +60 -0
- package/docs/pitElementUi/form-item-dic.md +18 -0
- package/docs/pitElementUi/form-item-editor.md +16 -0
- package/docs/pitElementUi/form-item-input-money.md +19 -0
- package/docs/pitElementUi/form-item-input-number.md +20 -0
- package/docs/pitElementUi/form-item-input.md +18 -0
- package/docs/pitElementUi/form-item-radio-group.md +21 -0
- package/docs/pitElementUi/form-item-select.md +21 -0
- package/docs/pitElementUi/form-item-switch.md +15 -0
- package/docs/pitElementUi/form-item-textarea.md +20 -0
- package/docs/pitElementUi/form-item-tree-select.md +27 -0
- package/docs/pitElementUi/form-item-upload-card.md +18 -0
- package/docs/pitElementUi/form-item-upload.md +1 -0
- package/docs/pitElementUi/form-two.md +102 -0
- package/docs/pitElementUi/form.md +952 -0
- package/docs/pitElementUi/i18n.md +228 -0
- package/docs/pitElementUi/icon-custom.md +99 -0
- package/docs/pitElementUi/icon-line-custom.md +12 -0
- package/docs/pitElementUi/icon.md +28 -0
- package/docs/pitElementUi/image.md +178 -0
- package/docs/pitElementUi/infiniteScroll.md +87 -0
- package/docs/pitElementUi/input-number.md +197 -0
- package/docs/pitElementUi/input-select.md +1 -0
- package/docs/pitElementUi/input.md +800 -0
- package/docs/pitElementUi/installation.md +9 -0
- package/docs/pitElementUi/layout-column.md +376 -0
- package/docs/pitElementUi/layout-tree.md +715 -0
- package/docs/pitElementUi/layout.md +354 -0
- package/docs/pitElementUi/link.md +66 -0
- package/docs/pitElementUi/loading.md +208 -0
- package/docs/pitElementUi/menu.md +403 -0
- package/docs/pitElementUi/message-box.md +326 -0
- package/docs/pitElementUi/message.md +219 -0
- package/docs/pitElementUi/notification.md +311 -0
- package/docs/pitElementUi/page-header.md +40 -0
- package/docs/pitElementUi/pagination.md +200 -0
- package/docs/pitElementUi/popconfirm.md +60 -0
- package/docs/pitElementUi/popover.md +167 -0
- package/docs/pitElementUi/progress.md +178 -0
- package/docs/pitElementUi/quickstart.md +290 -0
- package/docs/pitElementUi/radio.md +211 -0
- package/docs/pitElementUi/rate.md +135 -0
- package/docs/pitElementUi/result.md +76 -0
- package/docs/pitElementUi/select-tree.md +661 -0
- package/docs/pitElementUi/select.md +586 -0
- package/docs/pitElementUi/skeleton.md +316 -0
- package/docs/pitElementUi/slider.md +237 -0
- package/docs/pitElementUi/steps.md +154 -0
- package/docs/pitElementUi/switch.md +142 -0
- package/docs/pitElementUi/table.md +4023 -0
- package/docs/pitElementUi/tabs.md +303 -0
- package/docs/pitElementUi/tag.md +203 -0
- package/docs/pitElementUi/time-picker.md +199 -0
- package/docs/pitElementUi/timeline.md +154 -0
- package/docs/pitElementUi/tooltip.md +177 -0
- package/docs/pitElementUi/transfer.md +249 -0
- package/docs/pitElementUi/transition.md +155 -0
- package/docs/pitElementUi/tree.md +1157 -0
- package/docs/pitElementUi/typography.md +151 -0
- package/docs/pitElementUi/upload-table.md +39 -0
- package/docs/pitElementUi/upload.md +392 -0
- package/docs/pitElementUi/virtual-list.md +154 -0
- package/docs/pitElementUi/virtual-select-tree.md +243 -0
- package/docs/pitElementUi/virtual-select.md +451 -0
- package/docs/pitElementUi/virtual-table-column.md +1 -0
- package/docs/pitElementUi/virtual-table.md +490 -0
- package/docs/pitElementUi/virtual-tree.md +119 -0
- package/package.json +33 -0
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
# pit-textarea 文本域
|
|
2
|
+
|
|
3
|
+
对 `el-input` `type="textarea"` 的封装,统一 `maxlength`、`rows`、`show-word-limit`,均可从全局配置读取默认值。
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| value / v-model | 绑定值 | String / Number | `""` |
|
|
10
|
+
| rows | 显示行数(未传则读取 `$Business.textareaRow`) | Number | — |
|
|
11
|
+
| maxlength | 最大字符数(未传则读取 `$Business.textareaMaxlength`) | Number | — |
|
|
12
|
+
| autosize | 自适应高度配置 | Object | `{ minRows: 2, maxRows: 8 }` |
|
|
13
|
+
| disabled | 是否禁用 | Boolean | `false` |
|
|
14
|
+
| readonly | 是否只读 | Boolean | `false` |
|
|
15
|
+
| clearable | 是否可清空 | Boolean | `true` |
|
|
16
|
+
| placeholder | 占位文本 | String | — |
|
|
17
|
+
|
|
18
|
+
> 其余 `el-input` 属性通过 `v-bind="$attrs"` 透传。
|
|
19
|
+
|
|
20
|
+
## Events
|
|
21
|
+
|
|
22
|
+
| 事件名 | 说明 | 参数 |
|
|
23
|
+
| --- | --- | --- |
|
|
24
|
+
| input | 值变化(v-model) | `String / Number` |
|
|
25
|
+
| change | 值变化 | `String / Number` |
|
|
26
|
+
|
|
27
|
+
## 示例
|
|
28
|
+
|
|
29
|
+
### 基础用法
|
|
30
|
+
|
|
31
|
+
```vue
|
|
32
|
+
<pit-textarea v-model="form.remark" placeholder="请输入备注" />
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
### 指定行数与最大长度
|
|
36
|
+
|
|
37
|
+
```vue
|
|
38
|
+
<pit-textarea v-model="form.desc" :rows="5" :maxlength="500" />
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
### 固定高度(禁用自适应)
|
|
42
|
+
|
|
43
|
+
```vue
|
|
44
|
+
<pit-textarea v-model="form.content" :autosize="false" :rows="8" />
|
|
45
|
+
```
|
|
46
|
+
|
|
47
|
+
### 只读展示
|
|
48
|
+
|
|
49
|
+
```vue
|
|
50
|
+
<pit-textarea v-model="form.content" readonly />
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 修改全局默认配置
|
|
54
|
+
|
|
55
|
+
```js
|
|
56
|
+
Vue.use(PitBusinessUI, {
|
|
57
|
+
textareaMaxlength: 200,
|
|
58
|
+
textareaRow: 4
|
|
59
|
+
})
|
|
60
|
+
```
|
|
61
|
+
|
|
62
|
+
## 注意事项
|
|
63
|
+
|
|
64
|
+
- 组件已默认开启 `show-word-limit`,不需要额外配置。
|
|
65
|
+
- `autosize` 默认为 `{ minRows: 2, maxRows: 8 }`;如需禁用自适应,传 `:autosize="false"`。
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
# pit-transfer-direct 直接穿梭框
|
|
2
|
+
|
|
3
|
+
功能更丰富的穿梭框,左侧支持标签页切换(流程中用户 / 全部用户 / 常用人员),右侧展示已选人员,支持单击直接选中、双击快速添加。
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| value / v-model | 已选项数组 | Array | `[]` |
|
|
10
|
+
| treeData | 左侧树形数据 | Array | `[]` |
|
|
11
|
+
| selectedRoot | 初始已选根节点数据 | Object | `{}` |
|
|
12
|
+
| lazyLoad | 树懒加载函数(`el-tree` load 签名) | Function | `null` |
|
|
13
|
+
| rowSelectable | 节点是否可选回调 `(data) => Boolean` | Function | — |
|
|
14
|
+
| isHiddenTab | 是否隐藏标签页(直接显示树,不显示 tab) | Boolean | `true` |
|
|
15
|
+
| isInProcess | 是否展示"流程中用户"标签页 | Boolean | `false` |
|
|
16
|
+
| processParams | 获取流程中用户的参数(`{ procDefId, activityId }`) | Object | `{}` |
|
|
17
|
+
| isShowCommonUser | 是否展示"常用人员"标签页 | Boolean | `false` |
|
|
18
|
+
| multiple | 是否多选 | Boolean | `false` |
|
|
19
|
+
| defaultExpandAll | 是否默认展开所有节点 | Boolean | `true` |
|
|
20
|
+
| lazy | 是否懒加载 | Boolean | `false` |
|
|
21
|
+
| iconFun | 节点图标回调 `(data) => String` | Function | `() => ''` |
|
|
22
|
+
|
|
23
|
+
## Events
|
|
24
|
+
|
|
25
|
+
| 事件名 | 说明 | 参数 |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| input | 值变化(v-model) | `Array` |
|
|
28
|
+
| changeTab | 切换标签页时触发 | `tabName: String` |
|
|
29
|
+
|
|
30
|
+
## Slots
|
|
31
|
+
|
|
32
|
+
| 插槽名 | 说明 |
|
|
33
|
+
| --- | --- |
|
|
34
|
+
| search | 左侧顶部搜索区域 |
|
|
35
|
+
|
|
36
|
+
## 示例
|
|
37
|
+
|
|
38
|
+
```vue
|
|
39
|
+
<pit-transfer-direct
|
|
40
|
+
v-model="selectedUsers"
|
|
41
|
+
:tree-data="userTree"
|
|
42
|
+
:multiple="true"
|
|
43
|
+
:is-in-process="true"
|
|
44
|
+
:process-params="{ procDefId: procId, activityId: actId }">
|
|
45
|
+
<template #search>
|
|
46
|
+
<el-input v-model="keyword" placeholder="搜索姓名" @keyup.enter.native="doSearch">
|
|
47
|
+
<el-button slot="append" icon="el-icon-search" @click="doSearch" />
|
|
48
|
+
</el-input>
|
|
49
|
+
</template>
|
|
50
|
+
</pit-transfer-direct>
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
## 注意事项
|
|
54
|
+
|
|
55
|
+
- `isHiddenTab="true"`(默认)时直接展示单棵树;设为 `false` 时显示标签页。
|
|
56
|
+
- 双击节点(`treeDblclick`)在单选模式下可直接确认选中。
|
|
57
|
+
- 常用人员数据通过内部 API 获取(`reqApiGetCommonUserListByBusiness`),使用该功能需确保后端接口可用。
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
# pit-transfer-user-project 用户选择器(弹窗)
|
|
2
|
+
|
|
3
|
+
将 `PitTransferDirect` 封装在弹窗内,通过输入框触发打开,选中人员后回显名称、提交 ID(逗号字符串)。支持单选/多选,内部自动拉取项目用户树。
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| value / v-model | 已选人员 ID(逗号分隔字符串,多选时回显名称拼接) | String / Array | `""` |
|
|
10
|
+
| placeholder | 输入框占位文字 | String | 国际化默认值 |
|
|
11
|
+
| disabled | 是否禁用 | Boolean | `false` |
|
|
12
|
+
| multiple | 是否多选 | Boolean | `false` |
|
|
13
|
+
| clearable | 是否在输入框显示清空图标 | Boolean | `true` |
|
|
14
|
+
| title | 弹窗标题 | String | 国际化"选择用户" |
|
|
15
|
+
| isApprove | 是否在审批界面使用(影响内部逻辑) | Boolean | `false` |
|
|
16
|
+
| acquiesceVal | 导入数据时的默认显示名(无 ID 但需回显) | String | `""` |
|
|
17
|
+
| isDisabled | 与 disabled 相同,兼容旧用法 | Boolean | `false` |
|
|
18
|
+
| isInProcess | 是否显示"流程中用户"标签页 | Boolean | `false` |
|
|
19
|
+
| processParams | 获取流程中用户的参数 | Object | `{ procDefId: '', activityId: '' }` |
|
|
20
|
+
| isShowCommonUser | 是否显示"常用人员"标签页 | Boolean | `false` |
|
|
21
|
+
| rowSelectable | 节点是否可选回调 `(data) => Boolean` | Function | — |
|
|
22
|
+
| iconFun | 节点图标回调 `(data) => String` | Function | — |
|
|
23
|
+
|
|
24
|
+
## Events
|
|
25
|
+
|
|
26
|
+
| 事件名 | 说明 | 参数 |
|
|
27
|
+
| --- | --- | --- |
|
|
28
|
+
| input | 值变化(v-model) | `value`(ID 字符串) |
|
|
29
|
+
|
|
30
|
+
## Slots
|
|
31
|
+
|
|
32
|
+
| 插槽名 | 说明 | 作用域 |
|
|
33
|
+
| --- | --- | --- |
|
|
34
|
+
| activator | 自定义触发区域(替换默认输入框) | `{ open }` |
|
|
35
|
+
|
|
36
|
+
## 示例
|
|
37
|
+
|
|
38
|
+
### 单选
|
|
39
|
+
|
|
40
|
+
```vue
|
|
41
|
+
<pit-transfer-user-project
|
|
42
|
+
v-model="form.userId"
|
|
43
|
+
title="选择负责人" />
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### 多选(选多人,逗号分隔)
|
|
47
|
+
|
|
48
|
+
```vue
|
|
49
|
+
<pit-transfer-user-project
|
|
50
|
+
v-model="form.userIds"
|
|
51
|
+
:multiple="true"
|
|
52
|
+
title="选择审批人" />
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 流程场景(显示流程中进行人)
|
|
56
|
+
|
|
57
|
+
```vue
|
|
58
|
+
<pit-transfer-user-project
|
|
59
|
+
v-model="form.nextUserId"
|
|
60
|
+
:is-in-process="true"
|
|
61
|
+
:process-params="{ procDefId: procId, activityId: nodeId }"
|
|
62
|
+
title="选择下一审批人" />
|
|
63
|
+
```
|
|
64
|
+
|
|
65
|
+
### 自定义触发器
|
|
66
|
+
|
|
67
|
+
```vue
|
|
68
|
+
<pit-transfer-user-project v-model="form.userId">
|
|
69
|
+
<template #activator="{ open }">
|
|
70
|
+
<el-button @click="open">选择人员</el-button>
|
|
71
|
+
</template>
|
|
72
|
+
</pit-transfer-user-project>
|
|
73
|
+
```
|
|
74
|
+
|
|
75
|
+
## 注意事项
|
|
76
|
+
|
|
77
|
+
- 组件内部自动调用 `getUserSelectorProject` API 获取项目用户树,使用前请确保登录态和 `localStorage.projectId` 存在。
|
|
78
|
+
- `value` 回显时,若为导入数据(无匹配 ID),可通过 `acquiesceVal` 传入显示名。
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
# pit-transfer 树形穿梭框
|
|
2
|
+
|
|
3
|
+
左侧显示树形结构(支持搜索过滤),右侧展示已选项列表,支持逐项删除或清空。
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| value / v-model | 已选节点 ID 数组 | Array | `[]` |
|
|
10
|
+
| treeData | 树形数据 | Array | `[]` |
|
|
11
|
+
| props | 字段映射(value/label/children) | Object | `{ value: 'id', label: 'fullName', children: 'children' }` |
|
|
12
|
+
| height | 穿梭框总高度 | String | `"380px"` |
|
|
13
|
+
| loading | 左侧树是否加载中 | Boolean | `false` |
|
|
14
|
+
| type | 业务类型标识(预留,用于区分不同业务场景) | String | `""` |
|
|
15
|
+
| limit | 最多可选数量(`"all"` 表示无限制) | String / Number | `"all"` |
|
|
16
|
+
|
|
17
|
+
## Events
|
|
18
|
+
|
|
19
|
+
| 事件名 | 说明 | 参数 |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| input | 值变化(v-model) | `Array`(已选 ID 数组) |
|
|
22
|
+
| change | 值变化 | `Array` |
|
|
23
|
+
|
|
24
|
+
## 示例
|
|
25
|
+
|
|
26
|
+
### 基础用法
|
|
27
|
+
|
|
28
|
+
```vue
|
|
29
|
+
<template>
|
|
30
|
+
<pit-transfer
|
|
31
|
+
v-model="selectedIds"
|
|
32
|
+
:tree-data="orgTree"
|
|
33
|
+
:loading="treeLoading" />
|
|
34
|
+
</template>
|
|
35
|
+
|
|
36
|
+
<script>
|
|
37
|
+
export default {
|
|
38
|
+
data() {
|
|
39
|
+
return {
|
|
40
|
+
selectedIds: [],
|
|
41
|
+
orgTree: [],
|
|
42
|
+
treeLoading: false
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
async created() {
|
|
46
|
+
this.treeLoading = true
|
|
47
|
+
const res = await this.$api.getOrgTree()
|
|
48
|
+
this.orgTree = res.data
|
|
49
|
+
this.treeLoading = false
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
</script>
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
### 限制选择数量
|
|
56
|
+
|
|
57
|
+
```vue
|
|
58
|
+
<pit-transfer
|
|
59
|
+
v-model="selectedIds"
|
|
60
|
+
:tree-data="userTree"
|
|
61
|
+
:limit="5" />
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
## 注意事项
|
|
65
|
+
|
|
66
|
+
- 左侧树仅勾选叶子节点(`getCheckedNodes(true)`)。
|
|
67
|
+
- 右侧展示 `fullName` 字段,若数据结构不同,可在父组件处理后传入。
|
|
68
|
+
- 需要与 `limit` 配合时,超出限制后不会选中新项(逻辑需在父组件中处理)。
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
# pit-tree-lazy 懒加载树
|
|
2
|
+
|
|
3
|
+
基于 `el-popover` + `el-tree(lazy)` 实现的懒加载树形选择器,支持单选/多选,使用 Popover 浮层展示树结构,选中值回显在 `el-select` 中。
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| disabled | 是否禁用 | Boolean | `false` |
|
|
10
|
+
| placeholder | 占位文字 | String | 国际化默认值 |
|
|
11
|
+
| getGroupSequence | 懒加载数据获取函数(接收节点参数,返回 Promise) | Function | `() => {}` |
|
|
12
|
+
| defaultProps | 树字段映射(value/label/children/isLeaf) | Object | `{ value: 'id', label: 'billName', children: 'children', isLeaf: 'isLeaf' }` |
|
|
13
|
+
| isActiveLeaf | 是否只能选叶子节点 | Boolean | `false` |
|
|
14
|
+
| multiple | 是否多选 | Boolean | `false` |
|
|
15
|
+
| clearable | 是否可清空 | Boolean | `false` |
|
|
16
|
+
| collapseTags | 多选时是否折叠 Tag | Boolean | `false` |
|
|
17
|
+
| nodeKey | 节点唯一键字段名 | String | `"id"` |
|
|
18
|
+
| checkStrictly | 父子不互相关联 | Boolean | `false` |
|
|
19
|
+
| checkedKeys | 默认选中节点 key 数组 | Array | `[]` |
|
|
20
|
+
| size | 尺寸(medium/small/mini) | String | `"medium"` |
|
|
21
|
+
| width | 树面板宽度 | String | `"250px"` |
|
|
22
|
+
| height | 树面板高度 | String | `"300px"` |
|
|
23
|
+
| defaultExpand | 默认展开节点 key 数组 | Array | `[]` |
|
|
24
|
+
| maxHeight | 下拉最大高度 | String | `"400px"` |
|
|
25
|
+
| pId | 根节点 ID(懒加载时传递的父级 ID) | String | `"-1"` |
|
|
26
|
+
| clear | 是否清空选中(外部触发清空) | Boolean | `false` |
|
|
27
|
+
|
|
28
|
+
## Events
|
|
29
|
+
|
|
30
|
+
| 事件名 | 说明 | 参数 |
|
|
31
|
+
| --- | --- | --- |
|
|
32
|
+
| node-click | 点击节点时触发 | `nodeData, node, component` |
|
|
33
|
+
| check-change | 节点勾选状态改变(多选) | `nodeData, checked, indeterminate` |
|
|
34
|
+
|
|
35
|
+
## 示例
|
|
36
|
+
|
|
37
|
+
### 单选懒加载
|
|
38
|
+
|
|
39
|
+
```vue
|
|
40
|
+
<pit-tree-lazy
|
|
41
|
+
:get-group-sequence="loadBillTree"
|
|
42
|
+
:default-props="{ value: 'id', label: 'name', isLeaf: 'isLeaf' }"
|
|
43
|
+
@node-click="handleNodeClick" />
|
|
44
|
+
|
|
45
|
+
<script>
|
|
46
|
+
methods: {
|
|
47
|
+
async loadBillTree(node, resolve) {
|
|
48
|
+
const res = await this.$api.getBillTree({ pId: node.data?.id || '-1' })
|
|
49
|
+
resolve(res.data || [])
|
|
50
|
+
},
|
|
51
|
+
handleNodeClick(data) {
|
|
52
|
+
this.form.billId = data.id
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
</script>
|
|
56
|
+
```
|
|
57
|
+
|
|
58
|
+
### 多选 + 折叠标签
|
|
59
|
+
|
|
60
|
+
```vue
|
|
61
|
+
<pit-tree-lazy
|
|
62
|
+
multiple
|
|
63
|
+
collapse-tags
|
|
64
|
+
:get-group-sequence="loadTree"
|
|
65
|
+
@check-change="handleCheck" />
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
## 注意事项
|
|
69
|
+
|
|
70
|
+
- 懒加载通过 `getGroupSequence` prop 传入,函数签名同 `el-tree` 的 `load`:`(node, resolve) => void`。
|
|
71
|
+
- 点击已选项旁的遮罩层(mask)可以关闭下拉 Popover。
|
|
72
|
+
- 与 `PitTreeSelectPlus` 的 `lazy` 模式不同:本组件使用 `el-popover` 展示树,而非 `vue-treeselect`,适合需要更灵活树行为的场景。
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
# pit-tree-select-name 树形下拉(名称显示版)
|
|
2
|
+
|
|
3
|
+
`PitTreeSelectPlus` 的变体,在已选值的展示标签上调用 `getFullName(node.raw)` 方法,将节点数据拼接为完整名称显示(适用于需要显示单位全称或带层级路径的场景)。
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
与 `PitTreeSelectPlus` 相同,但不支持 `lazy`/`loadOptions` 懒加载。
|
|
8
|
+
|
|
9
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
10
|
+
| --- | --- | --- | --- |
|
|
11
|
+
| value / v-model | 绑定值(ID 字符串,多选逗号分隔) | String | `""` |
|
|
12
|
+
| options | 树形数据 | Array | `[]` |
|
|
13
|
+
| props | 字段映射 | Object | `{ value: 'id', label: 'fullName', children: 'children', disabled: 'disabled' }` |
|
|
14
|
+
| label | 显示字段名 | String | `""` |
|
|
15
|
+
| nodeKey | 主键字段名 | String | `""` |
|
|
16
|
+
| placeholder | 占位文字 | String | 国际化默认值 |
|
|
17
|
+
| disabled | 是否禁用 | Boolean | `false` |
|
|
18
|
+
| clearable | 是否可清空 | Boolean | `true` |
|
|
19
|
+
| multiple | 是否多选 | Boolean | `false` |
|
|
20
|
+
| flat | 是否平级模式 | Boolean | `false` |
|
|
21
|
+
| lastLevel | 是否只能选叶子节点 | Boolean | `false` |
|
|
22
|
+
| maxHeight | 最大高度(px) | Number | `200` |
|
|
23
|
+
| isAll | 显示全选 | Boolean | `false` |
|
|
24
|
+
| appendToBody | 插入 body | Boolean | `true` |
|
|
25
|
+
| selfAndBelow | 过滤自身及下级 | Boolean | `false` |
|
|
26
|
+
| selfAndBelowId | 自身节点 ID | String | `""` |
|
|
27
|
+
| disabledFn | 节点禁用回调 | Function | `null` |
|
|
28
|
+
|
|
29
|
+
## Events
|
|
30
|
+
|
|
31
|
+
| 事件名 | 说明 | 参数 |
|
|
32
|
+
| --- | --- | --- |
|
|
33
|
+
| input | 值变化(v-model) | `value` |
|
|
34
|
+
| change | 值变化 | `value, nodeData` |
|
|
35
|
+
|
|
36
|
+
## Slots
|
|
37
|
+
|
|
38
|
+
| 插槽名 | 说明 |
|
|
39
|
+
| --- | --- |
|
|
40
|
+
| option-label | 自定义下拉选项标签(作用域同 PitTreeSelectPlus) |
|
|
41
|
+
|
|
42
|
+
## 与 PitTreeSelectPlus 的区别
|
|
43
|
+
|
|
44
|
+
| 特性 | PitTreeSelectPlus | PitTreeSelectName |
|
|
45
|
+
| --- | --- | --- |
|
|
46
|
+
| 已选标签展示 | `labelAlias \|\| label` 字段值 | `getFullName(node.raw)` 拼接结果 |
|
|
47
|
+
| 懒加载 | ✅ 支持 | ❌ 不支持 |
|
|
48
|
+
|
|
49
|
+
> `getFullName` 是全局混入方法,通常将单位名称、层级路径等拼接,具体规则由各项目定义。
|
|
50
|
+
|
|
51
|
+
## 示例
|
|
52
|
+
|
|
53
|
+
```vue
|
|
54
|
+
<pit-tree-select-name
|
|
55
|
+
v-model="form.unitId"
|
|
56
|
+
:options="unitTree"
|
|
57
|
+
label="fullName"
|
|
58
|
+
node-key="id" />
|
|
59
|
+
```
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
# pit-tree-select-plus 树形下拉(增强版)
|
|
2
|
+
|
|
3
|
+
基于 `@riophae/vue-treeselect` 封装的增强树形下拉,支持多选、懒加载、全选、搜索嵌套等高级功能。
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| value / v-model | 绑定值(单选为 ID 字符串;多选为逗号分隔字符串) | String | `""` |
|
|
10
|
+
| options | 树形数据 | Array | `[]` |
|
|
11
|
+
| props | 字段映射(value/label/children/disabled) | Object | `{ value: 'id', label: 'fullName', children: 'children', disabled: 'disabled' }` |
|
|
12
|
+
| label | 显示字段名(会覆盖 props.label) | String | `""` |
|
|
13
|
+
| labelAlias | 显示字段别名(优先级高于 label) | String | `""` |
|
|
14
|
+
| nodeKey | 主键字段名(会覆盖 props.value) | String | `""` |
|
|
15
|
+
| placeholder | 占位文字 | String | 国际化默认值 |
|
|
16
|
+
| disabled | 是否禁用 | Boolean | `false` |
|
|
17
|
+
| clearable | 是否可清空 | Boolean | `true` |
|
|
18
|
+
| multiple | 是否多选 | Boolean | `false` |
|
|
19
|
+
| flat | 是否启用平级模式(父子不联动) | Boolean | `false` |
|
|
20
|
+
| lastLevel | 是否只能选叶子节点 | Boolean | `false` |
|
|
21
|
+
| maxHeight | 下拉面板最大高度(px) | Number | `200` |
|
|
22
|
+
| isAll | 多选时是否显示全选复选框 | Boolean | `false` |
|
|
23
|
+
| appendToBody | 下拉面板是否插入 body | Boolean | `true` |
|
|
24
|
+
| lazy | 是否懒加载 | Boolean | `false` |
|
|
25
|
+
| loadOptions | 懒加载方法(lazy=true 时必填) | Function | — |
|
|
26
|
+
| limit | 多选最多显示标签数 | Number | — |
|
|
27
|
+
| disabledFn | 节点禁用回调 `(node) => Boolean` | Function | `null` |
|
|
28
|
+
| selfAndBelow | 是否过滤自身及下级节点 | Boolean | `false` |
|
|
29
|
+
| selfAndBelowId | 自身节点 ID | String | `""` |
|
|
30
|
+
| defaultExpandLevel | 默认展开层级 | Number | — |
|
|
31
|
+
|
|
32
|
+
## Events
|
|
33
|
+
|
|
34
|
+
| 事件名 | 说明 | 参数 |
|
|
35
|
+
| --- | --- | --- |
|
|
36
|
+
| input | 值变化(v-model) | `value` |
|
|
37
|
+
| change | 值变化 | `value, nodeData` |
|
|
38
|
+
| clearData | 清空事件 | — |
|
|
39
|
+
|
|
40
|
+
## Slots
|
|
41
|
+
|
|
42
|
+
| 插槽名 | 说明 |
|
|
43
|
+
| --- | --- |
|
|
44
|
+
| option-label | 自定义选项标签内容(作用域:`{ node, shouldShowCount, count, labelClassName, countClassName }`) |
|
|
45
|
+
|
|
46
|
+
## 示例
|
|
47
|
+
|
|
48
|
+
### 单选
|
|
49
|
+
|
|
50
|
+
```vue
|
|
51
|
+
<pit-tree-select-plus
|
|
52
|
+
v-model="form.orgId"
|
|
53
|
+
:options="orgTree"
|
|
54
|
+
:props="{ value: 'id', label: 'orgName', children: 'children' }" />
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
### 多选 + 全选
|
|
58
|
+
|
|
59
|
+
```vue
|
|
60
|
+
<pit-tree-select-plus
|
|
61
|
+
v-model="form.bidIds"
|
|
62
|
+
:options="bidTree"
|
|
63
|
+
multiple
|
|
64
|
+
is-all
|
|
65
|
+
:flat="true" />
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 懒加载模式
|
|
69
|
+
|
|
70
|
+
```vue
|
|
71
|
+
<pit-tree-select-plus
|
|
72
|
+
v-model="form.id"
|
|
73
|
+
:options="rootNodes"
|
|
74
|
+
:lazy="true"
|
|
75
|
+
:load-options="handleLoadOptions" />
|
|
76
|
+
|
|
77
|
+
<script>
|
|
78
|
+
import { LOAD_CHILDREN_OPTIONS } from '@riophae/vue-treeselect'
|
|
79
|
+
methods: {
|
|
80
|
+
async handleLoadOptions({ action, parentNode, callback }) {
|
|
81
|
+
if (action === LOAD_CHILDREN_OPTIONS) {
|
|
82
|
+
const children = await this.$api.getChildren(parentNode.id)
|
|
83
|
+
parentNode.children = children
|
|
84
|
+
callback()
|
|
85
|
+
}
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
</script>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 显示别名(bidShortName 优先,其次 bidName)
|
|
92
|
+
|
|
93
|
+
```vue
|
|
94
|
+
<pit-tree-select-plus
|
|
95
|
+
v-model="form.bidId"
|
|
96
|
+
:options="bidTree"
|
|
97
|
+
label="bidName"
|
|
98
|
+
label-alias="bidShortName"
|
|
99
|
+
node-key="bidId" />
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
## 注意事项
|
|
103
|
+
|
|
104
|
+
- `labelAlias` 字段优先级高于 `label`,若节点数据有 `labelAlias` 字段则展示 alias,否则降级到 `label`。
|
|
105
|
+
- `flat` 模式下父子节点互不影响,多选时可独立勾选任意层级。
|
|
106
|
+
- 与 `PitTreeSelect` 的区别:本组件底层是 `vue-treeselect`,UI/交互更丰富(搜索嵌套、全选、限制数量等),但对大数据量的渲染性能略低于基于 `el-tree` 的 `PitTreeSelect`。
|
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
# pit-tree-select 树形下拉
|
|
2
|
+
|
|
3
|
+
基于 `el-select` + `el-tree` 实现的树形结构下拉选择器,支持单选/多选、搜索过滤。
|
|
4
|
+
|
|
5
|
+
## Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| value / v-model | 绑定值(单选为节点 value 字段值;多选为逗号分隔的字符串) | String | `""` |
|
|
10
|
+
| options | 树形数据 | Array | `[]` |
|
|
11
|
+
| props | 字段映射配置 | Object | `{ value: 'id', label: 'fullName', children: 'children' }` |
|
|
12
|
+
| placeholder | 占位文字 | String | 国际化默认值 |
|
|
13
|
+
| disabled | 是否禁用 | Boolean | `false` |
|
|
14
|
+
| clearable | 是否可清空 | Boolean | `false` |
|
|
15
|
+
| filterable | 是否可搜索 | Boolean | `true` |
|
|
16
|
+
| multiple | 是否多选 | Boolean | `false` |
|
|
17
|
+
| accordion | 是否手风琴模式 | Boolean | `false` |
|
|
18
|
+
| defaultExpandAll | 默认展开所有节点 | Boolean | `true` |
|
|
19
|
+
| lastLevel | 是否只能选叶子节点 | Boolean | `false` |
|
|
20
|
+
| lastLevelKey | 判断叶子节点的字段名 | String | `"hasChildren"` |
|
|
21
|
+
| lastLevelValue | 叶子节点判断值 | any | `false` |
|
|
22
|
+
| treeNodeKey | 自定义树节点 node-key(默认取 props.value) | String / Number | — |
|
|
23
|
+
| dropdownWidth | 下拉面板宽度 | String | — |
|
|
24
|
+
|
|
25
|
+
## Events
|
|
26
|
+
|
|
27
|
+
| 事件名 | 说明 | 参数 |
|
|
28
|
+
| --- | --- | --- |
|
|
29
|
+
| input | 值变化(v-model) | `value, nodeData` |
|
|
30
|
+
| change | 值变化 | `value, nodeData` |
|
|
31
|
+
| visible-change | 下拉显示/隐藏 | `Boolean` |
|
|
32
|
+
|
|
33
|
+
## Slots
|
|
34
|
+
|
|
35
|
+
| 插槽名 | 说明 | 作用域 |
|
|
36
|
+
| --- | --- | --- |
|
|
37
|
+
| default | 自定义树节点内容 | `{ node, data }` |
|
|
38
|
+
|
|
39
|
+
## 示例
|
|
40
|
+
|
|
41
|
+
### 单选
|
|
42
|
+
|
|
43
|
+
```vue
|
|
44
|
+
<pit-tree-select
|
|
45
|
+
v-model="form.orgId"
|
|
46
|
+
:options="orgTree"
|
|
47
|
+
:props="{ value: 'id', label: 'name', children: 'children' }" />
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
### 多选(逗号分隔字符串)
|
|
51
|
+
|
|
52
|
+
```vue
|
|
53
|
+
<pit-tree-select
|
|
54
|
+
v-model="form.bidIds"
|
|
55
|
+
:options="bidTree"
|
|
56
|
+
multiple
|
|
57
|
+
clearable />
|
|
58
|
+
```
|
|
59
|
+
|
|
60
|
+
### 只能选叶子节点
|
|
61
|
+
|
|
62
|
+
```vue
|
|
63
|
+
<pit-tree-select
|
|
64
|
+
v-model="form.sectionId"
|
|
65
|
+
:options="sectionTree"
|
|
66
|
+
:last-level="true"
|
|
67
|
+
last-level-key="hasChildren"
|
|
68
|
+
:last-level-value="false" />
|
|
69
|
+
```
|
|
70
|
+
|
|
71
|
+
### 自定义节点内容
|
|
72
|
+
|
|
73
|
+
```vue
|
|
74
|
+
<pit-tree-select v-model="form.id" :options="tree">
|
|
75
|
+
<template v-slot="{ data }">
|
|
76
|
+
<i :class="data.icon"></i>
|
|
77
|
+
<span>{{ data.name }}</span>
|
|
78
|
+
</template>
|
|
79
|
+
</pit-tree-select>
|
|
80
|
+
```
|
|
81
|
+
|
|
82
|
+
## 注意事项
|
|
83
|
+
|
|
84
|
+
- 多选时 `value` 为英文逗号拼接的 ID 字符串(`"id1,id2,id3"`),非数组。
|
|
85
|
+
- 下拉宽度默认跟随触发元素宽度,可通过 `dropdownWidth` 自定义(如 `"300px"`)。
|
|
86
|
+
- `lastLevel` 与 `lastLevelKey`/`lastLevelValue` 配合使用:当节点的 `lastLevelKey` 字段值 === `lastLevelValue` 时,该节点可被选中;否则点击无效。
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
# pit-upload-avatar 头像上传
|
|
2
|
+
|
|
3
|
+
正方形头像上传组件,支持预览、删除;禁用状态下仅展示图片(不可上传/删除)。
|
|
4
|
+
|
|
5
|
+
## 前置依赖
|
|
6
|
+
|
|
7
|
+
- `this.request` — 全局请求实例(用于 `getToken`)
|
|
8
|
+
- `pit-business-utils` — `getToken`、`reqOssPresignedObjectUrl`
|
|
9
|
+
- OSS 上传接口 `this.env.VUE_APP_BASE_API + /api/oss/upload`
|
|
10
|
+
|
|
11
|
+
## Props
|
|
12
|
+
|
|
13
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
14
|
+
| --- | --- | --- | --- |
|
|
15
|
+
| value / v-model | 已上传文件 ID(OSS record ID) | String | `""` |
|
|
16
|
+
| size | 头像宽高(正方形,单位 px) | Number | `126` |
|
|
17
|
+
| disabled | 是否禁用(只读展示) | Boolean | `false` |
|
|
18
|
+
| fileSize | 文件大小上限(MB) | Number | `5` |
|
|
19
|
+
| fileType | 允许上传的图片格式数组(空数组不限制) | Array | `[]` |
|
|
20
|
+
| formatMsg | 格式校验失败提示文字 | String | 国际化默认值 |
|
|
21
|
+
| sizeMsg | 大小校验失败提示文字 | String | 国际化默认值 |
|
|
22
|
+
| bucketAccessPolicy | OSS Bucket 访问策略 | String / Number | — |
|
|
23
|
+
|
|
24
|
+
## Events
|
|
25
|
+
|
|
26
|
+
| 事件名 | 说明 | 参数 |
|
|
27
|
+
| --- | --- | --- |
|
|
28
|
+
| input | 上传成功或删除后触发(v-model) | `String`(文件 ID,删除时为 `""`) |
|
|
29
|
+
|
|
30
|
+
## 示例
|
|
31
|
+
|
|
32
|
+
### 基础用法
|
|
33
|
+
|
|
34
|
+
```vue
|
|
35
|
+
<pit-upload-avatar v-model="form.avatarId" />
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
### 自定义尺寸与格式限制
|
|
39
|
+
|
|
40
|
+
```vue
|
|
41
|
+
<pit-upload-avatar
|
|
42
|
+
v-model="form.photoId"
|
|
43
|
+
:size="80"
|
|
44
|
+
:file-size="2"
|
|
45
|
+
:file-type="['jpg', 'png']" />
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 只读展示
|
|
49
|
+
|
|
50
|
+
```vue
|
|
51
|
+
<pit-upload-avatar
|
|
52
|
+
v-model="form.avatarId"
|
|
53
|
+
:disabled="true" />
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
## 注意事项
|
|
57
|
+
|
|
58
|
+
- 组件注入 `elForm` / `elFormItem`,在 `el-form` 的 `disabled` 状态下自动切换为只读模式。
|
|
59
|
+
- 禁用时头像可通过 `el-image` 内置预览放大,但不可上传/删除。
|
|
60
|
+
- 上传前调用 `reqOssPresignedObjectUrl` 生成预签名 URL 用于预览回显。
|