@jetlinks-web/components 3.3.13 → 3.3.14
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/es/AutoComplete/AutoComplete.md +41 -0
- package/es/BadgeStatus/BadgeStatus.md +37 -0
- package/es/CardSelect/CardSelect.md +56 -0
- package/es/CheckButton/CheckButton.md +37 -0
- package/es/ConfigProvider/ConfigProvider.md +40 -0
- package/es/DragModal/DragModal.md +47 -0
- package/es/EditTable/EditTable.md +62 -0
- package/es/EditTable/components/Search/sort.js +2 -2
- package/es/Ellipsis/Ellipsis.md +45 -0
- package/es/Empty/Empty.md +34 -0
- package/es/FullPage/FullPage.md +31 -0
- package/es/Icon/Icon.md +33 -0
- package/es/LocaleProvider/LocaleProvider.md +25 -0
- package/es/LocaleReciver/LocaleReciver.md +42 -0
- package/es/Markdown/Markdown.md +40 -0
- package/es/PermissionButton/PermissionButton.md +40 -0
- package/es/ProLayout/ProLayout.md +63 -0
- package/es/ProTable/ProTable.md +70 -0
- package/es/RadioButton/RadioButton.md +32 -0
- package/es/Scrollbar/Scrollbar.md +43 -0
- package/es/Search/Search.md +60 -0
- package/es/Skeleton/Skeleton.md +50 -0
- package/es/TimeFormat/TimeFormat.md +25 -0
- package/es/Title/Title.md +33 -0
- package/es/ValueItem/ValueItem.md +58 -0
- package/es/VirtualTable/VirtualTable.md +42 -0
- package/es/components.md +108 -0
- package/lib/AutoComplete/AutoComplete.md +41 -0
- package/lib/BadgeStatus/BadgeStatus.md +37 -0
- package/lib/CardSelect/CardSelect.md +56 -0
- package/lib/CheckButton/CheckButton.md +37 -0
- package/lib/ConfigProvider/ConfigProvider.md +40 -0
- package/lib/DragModal/DragModal.md +47 -0
- package/lib/EditTable/EditTable.md +62 -0
- package/lib/EditTable/components/Search/sort.js +2 -2
- package/lib/Ellipsis/Ellipsis.md +45 -0
- package/lib/Empty/Empty.md +34 -0
- package/lib/FullPage/FullPage.md +31 -0
- package/lib/Icon/Icon.md +33 -0
- package/lib/LocaleProvider/LocaleProvider.md +25 -0
- package/lib/LocaleReciver/LocaleReciver.md +42 -0
- package/lib/Markdown/Markdown.md +40 -0
- package/lib/PermissionButton/PermissionButton.md +40 -0
- package/lib/ProLayout/ProLayout.md +63 -0
- package/lib/ProTable/ProTable.md +70 -0
- package/lib/RadioButton/RadioButton.md +32 -0
- package/lib/Scrollbar/Scrollbar.md +43 -0
- package/lib/Search/Search.md +60 -0
- package/lib/Skeleton/Skeleton.md +50 -0
- package/lib/TimeFormat/TimeFormat.md +25 -0
- package/lib/Title/Title.md +33 -0
- package/lib/ValueItem/ValueItem.md +58 -0
- package/lib/VirtualTable/VirtualTable.md +42 -0
- package/lib/components.md +108 -0
- package/package.json +3 -3
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
### AutoComplete
|
|
2
|
+
|
|
3
|
+
带搜索的输入选择组件,支持单选与多选(tags)两种模式;单选时可输入任意值并自动补全,未匹配的输入值会作为自定义选项回填。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| value | 当前值(可用 `v-model:value`) | `string \| string[]` | - |
|
|
10
|
+
| multiple | 多选模式,为 `true` 时渲染为 Select tags | `boolean` | `true` |
|
|
11
|
+
| searchKey | 选项匹配字段名,默认取 `options` 的 `label` 字段 | `string` | `'label'` |
|
|
12
|
+
| options | 候选项 | `DefaultOptionType[]` | `[]` |
|
|
13
|
+
| 其余 | 透传 ant-design-vue `Select` / `AutoComplete` 全部 props(`selectProps()`) | - | - |
|
|
14
|
+
|
|
15
|
+
#### 事件
|
|
16
|
+
|
|
17
|
+
| 事件 | 说明 | 回调参数 |
|
|
18
|
+
| --- | --- | --- |
|
|
19
|
+
| select | 选中选项时 | `(value, option)` |
|
|
20
|
+
| change | 值变化时 | `(value)` |
|
|
21
|
+
| update:value | 值变化(v-model) | `(value: string \| string[] \| undefined)` |
|
|
22
|
+
|
|
23
|
+
#### 用法
|
|
24
|
+
|
|
25
|
+
```vue
|
|
26
|
+
<template>
|
|
27
|
+
<JAutoComplete
|
|
28
|
+
v-model:value="value"
|
|
29
|
+
:options="[{ label: '设备A', value: 'device-a' }]"
|
|
30
|
+
multiple
|
|
31
|
+
placeholder="输入或选择"
|
|
32
|
+
/>
|
|
33
|
+
</template>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
#### Rules
|
|
37
|
+
|
|
38
|
+
- 单选模式下输入框中未命中任何选项的值,会在 `select` / `blur` 时自动追加为自定义选项。
|
|
39
|
+
- 匹配逻辑同时支持 `value` 与 `searchKey` 命中的字段(含 `label`),默认大小写敏感、去除首尾空格后比较。
|
|
40
|
+
- `multiple` 模式下使用 `Select` 的 `tags` 模式,选项与自定义值合并展示、按值去重。
|
|
41
|
+
- 其余 props(如 `placeholder`、`disabled`、`allowClear`)直接透传给底层组件,`allowClear` 默认开启。
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
### BadgeStatus
|
|
2
|
+
|
|
3
|
+
状态徽标组件,将业务状态值(如 `success` / `error` / 数字)映射为 Ant Design `Badge` 的颜色徽标。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| text | 徽标文本 | `string` | - |
|
|
10
|
+
| status | 状态值,作为 `statusNames` 的键 | `string \| number` | `'default'` |
|
|
11
|
+
| statusNames | 状态值 → 语义色映射表,支持自定义任意业务状态 | `Record<string, string>` | `{ success, warning, error, default }` |
|
|
12
|
+
|
|
13
|
+
#### 用法
|
|
14
|
+
|
|
15
|
+
```vue
|
|
16
|
+
<template>
|
|
17
|
+
<JBadgeStatus :status="row.status" :text="row.statusText" />
|
|
18
|
+
</template>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
自定义状态映射:
|
|
22
|
+
|
|
23
|
+
```vue
|
|
24
|
+
<template>
|
|
25
|
+
<JBadgeStatus
|
|
26
|
+
status="1"
|
|
27
|
+
text="启用"
|
|
28
|
+
:status-names="{ 1: 'success', 0: 'error' }"
|
|
29
|
+
/>
|
|
30
|
+
</template>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
#### Rules
|
|
34
|
+
|
|
35
|
+
- 颜色取自内置语义色板:`success`(绿) / `warning`(橙) / `error`(红) / `processing`(蓝) / `default`(灰),未命中的状态回退为 `default`。
|
|
36
|
+
- `statusNames` 中的值使用语义色名,组件内部通过 `getHexColor` 转为带透明度的 `rgba` 色(默认透明度 0.1)。
|
|
37
|
+
- `text` 为空时仅显示色点,不渲染文字。
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
### CardSelect
|
|
2
|
+
|
|
3
|
+
卡片式选择组件,以网格布局渲染一组卡片供单选或多选,可自定义卡片内容。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| value | 当前选中值,可用 `v-model:value` | `string \| string[]` | - |
|
|
10
|
+
| options | 选项列表 | `{ value, label, describe?, disabled? }[]` | `[]` |
|
|
11
|
+
| multiple | 是否多选 | `boolean` | `false` |
|
|
12
|
+
| disabled | 整体禁用 | `boolean` | `false` |
|
|
13
|
+
| column | 网格列数(仅 `layout="horizontal"` 生效) | `number` | `3` |
|
|
14
|
+
| layout | 布局方向:`horizontal` / `vertical` | `string` | `'horizontal'` |
|
|
15
|
+
| itemLayout | 卡片内部布局方向:`horizontal` / `vertical` | `string` | `'horizontal'` |
|
|
16
|
+
|
|
17
|
+
#### 事件
|
|
18
|
+
|
|
19
|
+
| 事件 | 说明 | 回调参数 |
|
|
20
|
+
| --- | --- | --- |
|
|
21
|
+
| select | 选中时 | `(value, node)`;多选时为 `(values: string[], nodes)` |
|
|
22
|
+
| change | 值变化时 | 同上 |
|
|
23
|
+
| update:value | 值变化(v-model) | `(value)` |
|
|
24
|
+
|
|
25
|
+
#### 插槽
|
|
26
|
+
|
|
27
|
+
| 名称 | 说明 | 作用域参数 |
|
|
28
|
+
| --- | --- | --- |
|
|
29
|
+
| itemRender | 自定义卡片内容 | `{ node }` 当前选项 |
|
|
30
|
+
|
|
31
|
+
#### 用法
|
|
32
|
+
|
|
33
|
+
```vue
|
|
34
|
+
<template>
|
|
35
|
+
<JCardSelect
|
|
36
|
+
v-model:value="value"
|
|
37
|
+
:options="options"
|
|
38
|
+
:column="3"
|
|
39
|
+
multiple
|
|
40
|
+
/>
|
|
41
|
+
</template>
|
|
42
|
+
|
|
43
|
+
<script setup lang="ts">
|
|
44
|
+
const options = [
|
|
45
|
+
{ value: '1', label: '基础版', describe: '适合小规模接入' },
|
|
46
|
+
{ value: '2', label: '专业版', describe: '适合中等规模接入' },
|
|
47
|
+
]
|
|
48
|
+
</script>
|
|
49
|
+
```
|
|
50
|
+
|
|
51
|
+
#### Rules
|
|
52
|
+
|
|
53
|
+
- 多选模式下通过 `multiple` 属性区分;单选时 `value` 为字符串,多选时为字符串数组。
|
|
54
|
+
- `vertical` 布局下 `column` 不生效(强制 1 列)。
|
|
55
|
+
- 选项项可单独设置 `disabled` 禁用,优先于全局 `disabled`。
|
|
56
|
+
- 选中变化会同步通知 Form 上下文(`Form.useInjectFormItemContext`),与表单校验联动。
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
### CheckButton
|
|
2
|
+
|
|
3
|
+
选择按钮组,以按钮形式呈现多选选项,可单独使用或与 `a-checkbox-group` 组合使用。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| multiple | 多选 | `boolean` | `false` |
|
|
10
|
+
| disabled | 失效状态 | `boolean` | `false` |
|
|
11
|
+
| value | 与 CheckboxGroup 组合使用时的值 | `boolean \| string \| number` | - |
|
|
12
|
+
| options | 选择项 | `{ label: string; value: string; disabled?: boolean }[]` | `[]` |
|
|
13
|
+
| class | 类名 | `string` | - |
|
|
14
|
+
| style | CSS 样式 | `CSSProperties` | `{}` |
|
|
15
|
+
|
|
16
|
+
#### 事件
|
|
17
|
+
|
|
18
|
+
| 事件 | 说明 | 回调参数 |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
| change | 变化时回调 | `(keys: string \| string[], nodes: any[])` |
|
|
21
|
+
|
|
22
|
+
#### 用法
|
|
23
|
+
|
|
24
|
+
```vue
|
|
25
|
+
<template>
|
|
26
|
+
<JCheckButton
|
|
27
|
+
v-model:value="value"
|
|
28
|
+
:options="[{ label: '在线', value: 'online' }, { label: '离线', value: 'offline' }]"
|
|
29
|
+
/>
|
|
30
|
+
</template>
|
|
31
|
+
```
|
|
32
|
+
|
|
33
|
+
#### Rules
|
|
34
|
+
|
|
35
|
+
- `options` 中的每项可单独设置 `disabled`。
|
|
36
|
+
- `multiple` 决定单选还是多选,单选时 `change` 返回单个值。
|
|
37
|
+
- 该组件数据录入语义为"选择",与表单组件(CheckboxGroup)组合使用时通过 `value` 对接。
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
### ConfigProvider
|
|
2
|
+
|
|
3
|
+
全局配置 Provider,为 JetLinks 组件体系提供统一的应用级配置与国际化上下文,同时透传 ant-design-vue `ConfigProvider` 的能力。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| IconConfig | 全局 Icon 配置(如 iconfont `scriptUrl`) | `object` | `{}` |
|
|
10
|
+
| MapConfig | 全局地图配置 | `object` | `{}` |
|
|
11
|
+
| SearchConfig | 全局搜索组件配置 | `object` | `{}` |
|
|
12
|
+
| PermissionButtonConfig | 全局权限按钮配置(如自定义 `components`) | `object` | `{}` |
|
|
13
|
+
| FullPageConfig | 全屏页面容器配置(如 `reduceHeight`) | `object` | `{}` |
|
|
14
|
+
| TableConfig | ProTable 全局配置 | `object` | `{}` |
|
|
15
|
+
| componentsLocale | 组件文案语言包 | `object` | 内置 `zh-CN` |
|
|
16
|
+
| 其余 | 透传 ant-design-vue `ConfigProvider` props(如 `locale`、`theme`) | - | - |
|
|
17
|
+
|
|
18
|
+
#### 插槽
|
|
19
|
+
|
|
20
|
+
| 名称 | 说明 |
|
|
21
|
+
| --- | --- |
|
|
22
|
+
| default | 应用内容 |
|
|
23
|
+
| renderEmpty | 自定义全局空状态渲染(默认使用 `JEmpty`) |
|
|
24
|
+
|
|
25
|
+
#### 用法
|
|
26
|
+
|
|
27
|
+
```vue
|
|
28
|
+
<template>
|
|
29
|
+
<JConfigProvider :locale="zhCN" :theme="{ token: { colorPrimary: '#1677ff' } }">
|
|
30
|
+
<router-view />
|
|
31
|
+
</JConfigProvider>
|
|
32
|
+
</template>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
#### Rules
|
|
36
|
+
|
|
37
|
+
- 通过 Vue `provide` 注入以下配置,供全组件体系消费:Icon / Map / Search / PermissionButton / FullPage / ProTable(Table)。
|
|
38
|
+
- 空状态统一由内置 `JEmpty` 兜底,可通过 `renderEmpty` 插槽覆盖。
|
|
39
|
+
- 内部自动包装 `JLocaleProvider`,`componentsLocale` 缺省使用内置中文语言包。
|
|
40
|
+
- 兼容 `ConfigProvider.config()` 静态方法(如 `Message` 主题配置)。
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
### DragModal
|
|
2
|
+
|
|
3
|
+
可拖拽、可缩放的模态弹窗,替代固定尺寸弹窗用于需要调整视口的场景;支持右下角手柄缩放、标题栏拖拽。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| title | 标题;传 `false` 隐藏标题栏 | `string \| boolean` | `''` |
|
|
10
|
+
| width | 初始宽度(px) | `number` | `400` |
|
|
11
|
+
| height | 初始高度(px) | `number` | `100` |
|
|
12
|
+
| dragRang | 最小缩放尺寸 `[最小宽, 最小高]`(px) | `number[] \| number` | `[400, 200]` |
|
|
13
|
+
| bodyStyle | 内容区自定义样式 | `object` | `{}` |
|
|
14
|
+
| footer | 是否显示底部按钮区;传 `false` 隐藏 | `boolean` | `true` |
|
|
15
|
+
|
|
16
|
+
#### 事件
|
|
17
|
+
|
|
18
|
+
| 事件 | 说明 | 回调参数 |
|
|
19
|
+
| --- | --- | --- |
|
|
20
|
+
| cancel | 点击取消 / 关闭按钮 | - |
|
|
21
|
+
| ok | 点击确认按钮 | - |
|
|
22
|
+
| visibleChange | 可见状态变化 | `(visible: boolean)` |
|
|
23
|
+
| heightChange | 拖动改变高度时 | `(height: number)` |
|
|
24
|
+
|
|
25
|
+
#### 插槽
|
|
26
|
+
|
|
27
|
+
| 名称 | 说明 |
|
|
28
|
+
| --- | --- |
|
|
29
|
+
| default | 弹窗内容 |
|
|
30
|
+
| footer | 自定义底部按钮区 |
|
|
31
|
+
|
|
32
|
+
#### 用法
|
|
33
|
+
|
|
34
|
+
```vue
|
|
35
|
+
<template>
|
|
36
|
+
<JDragModal v-model:visible="visible" title="高级筛选" :width="640" :drag-rang="[400, 200]">
|
|
37
|
+
<div>弹窗内容</div>
|
|
38
|
+
</JDragModal>
|
|
39
|
+
</template>
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
#### Rules
|
|
43
|
+
|
|
44
|
+
- 挂载时自动居中于视口;默认位置 `(right - width) / 2, top + 200`。
|
|
45
|
+
- 拖拽/缩放边界以 `dragRang` 为最小宽高,无法缩小到更小。
|
|
46
|
+
- 高度变化通过 `heightChange` 事件实时上报,便于外部记录位置。
|
|
47
|
+
- 底部默认渲染"取消 / 确认"按钮,文案随 `LocaleProvider` 国际化;关闭与取消均触发 `cancel` + `visibleChange(false)`。
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
### EditTable
|
|
2
|
+
|
|
3
|
+
可编辑表格组件,基于虚拟滚动大表(VirtualTable)实现单元格编辑、校验、分组、行内表单、右键菜单与全屏切换,适合大数据的参数/明细录入场景。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| columns | 列配置(ant-design-vue Table columns,支持编辑列) | `array` | `[]` |
|
|
10
|
+
| dataSource | 数据数组 | `array` | `[]` |
|
|
11
|
+
| rowKey | 行主键字段 | `string` | `'id'` |
|
|
12
|
+
| height | 表格高度(px) | `number` | `300` |
|
|
13
|
+
| cellHeight | 行高(px),虚拟滚动按此计算 | `number` | `65` |
|
|
14
|
+
| readonly | 只读模式,内容区覆盖遮罩禁止编辑 | `boolean` | `false` |
|
|
15
|
+
| serial | 序号列配置,`false` 关闭 | `object \| boolean` | `{ width: 70, title: '' }` |
|
|
16
|
+
| searchColumns | 搜索列配置(如 `[{ title: '标识', dataIndex: 'id' }]`) | `array` | 内置 `id` / `name` 两列 |
|
|
17
|
+
| openGroup | 开启分组(表头分组条) | `boolean` | `false` |
|
|
18
|
+
| rowSelection | 行选择配置 | `object` | - |
|
|
19
|
+
| validateRowKey | 是否按行校验 | `boolean` | `false` |
|
|
20
|
+
| disableMenu | 禁用右键菜单 | `boolean` | `true` |
|
|
21
|
+
| 其余 | 透传 ant-design-vue `Table` props(`tableProps()`) | - | - |
|
|
22
|
+
|
|
23
|
+
#### 事件
|
|
24
|
+
|
|
25
|
+
| 事件 | 说明 | 回调参数 |
|
|
26
|
+
| --- | --- | --- |
|
|
27
|
+
| editChange | 单元格编辑变化 | - |
|
|
28
|
+
| scrollDown | 滚动到底部 | - |
|
|
29
|
+
| rightMenuClick | 右键菜单点击 | - |
|
|
30
|
+
| searchVisibleChange | 搜索可见性变化 | - |
|
|
31
|
+
| groupDelete / groupEdit | 分组删除 / 编辑 | - |
|
|
32
|
+
|
|
33
|
+
#### 插槽
|
|
34
|
+
|
|
35
|
+
| 名称 | 说明 | 作用域参数 |
|
|
36
|
+
| --- | --- | --- |
|
|
37
|
+
| extra | 工具栏扩展区 | `{ isFullscreen, fullScreenToggle }` |
|
|
38
|
+
| bodyExtra | 表格主体底部扩展 | - |
|
|
39
|
+
| `#列dataIndex` | 按列自定义单元格渲染 | `{ column, record, index, visibleIndex }` |
|
|
40
|
+
| 其他插槽 | 透传给内部 VirtualTable | - |
|
|
41
|
+
|
|
42
|
+
#### 用法
|
|
43
|
+
|
|
44
|
+
```vue
|
|
45
|
+
<template>
|
|
46
|
+
<JEditTable
|
|
47
|
+
v-model:dataSource="dataSource"
|
|
48
|
+
:columns="columns"
|
|
49
|
+
:height="400"
|
|
50
|
+
:open-group="true"
|
|
51
|
+
@editChange="onEditChange"
|
|
52
|
+
/>
|
|
53
|
+
</template>
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
#### Rules
|
|
57
|
+
|
|
58
|
+
- 编辑字段通过 `FormItem` 注册(与 `JEditTable` 同步安装),单元格渲染约定见 `CellRender.vue`。
|
|
59
|
+
- 校验错误按行/分组聚合,`fieldsErrMap` / `fieldsGroupError` 驱动行高亮与提示。
|
|
60
|
+
- 大数据量下基于虚拟滚动(`virtual.itemHeight = cellHeight`,`threshold = height / cellHeight`),请勿关闭。
|
|
61
|
+
- 分组功能需在 `openGroup` 时配合 `rowSelection` 使用,分组操作会同步更新 `dataSource` 的分组标记。
|
|
62
|
+
- 全屏切换通过工具栏 `extra` 插槽暴露的 `fullScreenToggle` 触发,全屏态表格占满可视区。
|
|
@@ -83,8 +83,8 @@ const __sfc_main__ = Object.assign({
|
|
|
83
83
|
emits: ['click'],
|
|
84
84
|
setup(__props, { emit: __emit }) {
|
|
85
85
|
_useCssVars(_ctx => ({
|
|
86
|
-
"
|
|
87
|
-
"
|
|
86
|
+
"1787918239736-sortIconColor": (sortIconColor.value),
|
|
87
|
+
"1787918239736-sortIconActiveColor": (sortIconActiveColor.value)
|
|
88
88
|
}));
|
|
89
89
|
const props = __props;
|
|
90
90
|
const emit = __emit;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
### Ellipsis
|
|
2
|
+
|
|
3
|
+
文本省略组件,支持单行 / 多行(`lineClamp`)省略,溢出时自动显示 Tooltip 完整内容,也可改为点击展开/收起。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| lineClamp | 多行省略行数;不传则单行省略 | `number \| string` | `1` |
|
|
10
|
+
| tooltip | 是否显示完整内容 Tooltip,`false` 关闭;传对象可配置 Tooltip props | `boolean \| object` | `true` |
|
|
11
|
+
| expandTrigger | 展开方式,`'click'` 时点击切换展开/收起 | `string` | - |
|
|
12
|
+
|
|
13
|
+
#### 插槽
|
|
14
|
+
|
|
15
|
+
| 名称 | 说明 |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| default | 需要省略的内容 |
|
|
18
|
+
| tooltip | Tooltip 内的自定义完整内容(默认复用内容本身) |
|
|
19
|
+
|
|
20
|
+
#### 用法
|
|
21
|
+
|
|
22
|
+
```vue
|
|
23
|
+
<template>
|
|
24
|
+
<!-- 单行省略 + hover 显示完整内容 -->
|
|
25
|
+
<JEllipsis>这是一段很长的描述文字,超出后显示省略号……</JEllipsis>
|
|
26
|
+
|
|
27
|
+
<!-- 两行省略 + 点击展开 -->
|
|
28
|
+
<JEllipsis :line-clamp="2" expand-trigger="click">
|
|
29
|
+
多行内容,默认截断为两行,点击可在展开/收起间切换。
|
|
30
|
+
</JEllipsis>
|
|
31
|
+
|
|
32
|
+
<!-- 自定义 Tooltip 内容 -->
|
|
33
|
+
<JEllipsis :tooltip="{ placement: 'bottom' }">
|
|
34
|
+
<template #tooltip>完整内容详情</template>
|
|
35
|
+
省略的内容
|
|
36
|
+
</JEllipsis>
|
|
37
|
+
</template>
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
#### Rules
|
|
41
|
+
|
|
42
|
+
- 溢出判定基于 `scrollHeight > offsetHeight` 动态计算,未溢出时不弹 Tooltip、不出现省略号。
|
|
43
|
+
- `lineClamp` 使用 `-webkit-line-clamp` 实现,需要 WebKit/Blink 内核支持。
|
|
44
|
+
- `expandTrigger="click"` 时追加 pointer 光标样式;展开后不再触发 Tooltip。
|
|
45
|
+
- 其余属性(class / style 等)自动透传到内容容器。
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
### Empty
|
|
2
|
+
|
|
3
|
+
空状态组件,内置 JetLinks 空数据插画与默认文案(可国际化),透传 ant-design-vue `Empty` 全部能力。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| description | 空状态描述文案 | `string` | 语言包默认(如"暂无数据") |
|
|
10
|
+
| image | 插画图片地址或自定义插画 | `string` | 内置 NoData 插画 |
|
|
11
|
+
| imageStyle | 插画样式 | `CSSProperties` | `{ height: '60px' }` |
|
|
12
|
+
| 其余 | 透传 ant-design-vue `Empty` props | - | - |
|
|
13
|
+
|
|
14
|
+
#### 插槽
|
|
15
|
+
|
|
16
|
+
| 名称 | 说明 |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
| default | 自定义空状态内容(替代插画 + 文案) |
|
|
19
|
+
| 其他具名插槽 | 透传给 ant-design-vue `Empty` |
|
|
20
|
+
|
|
21
|
+
#### 用法
|
|
22
|
+
|
|
23
|
+
```vue
|
|
24
|
+
<template>
|
|
25
|
+
<JEmpty description="暂未接入设备,先创建一个产品再添加设备" />
|
|
26
|
+
</template>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
#### Rules
|
|
30
|
+
|
|
31
|
+
- 未传 `description` 时取 `LocaleProvider` 语言包中的默认文案。
|
|
32
|
+
- 组件自带包裹 `LocaleProvider`,可独立使用。
|
|
33
|
+
- 默认 `imageStyle` 高度 60px,自定义插画时按需覆盖。
|
|
34
|
+
- 描述文案颜色为 `#b3b3b3`、14px,由组件内联样式控制。
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
### FullPage
|
|
2
|
+
|
|
3
|
+
全屏页面容器,自动测量容器顶部偏移并计算 `minHeight`,使内容区撑满剩余视口高度,背景使用主题容器色。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| reduceHeight | 视口高度缩减量(px),顶部还有固定工具条时设置 | `number` | 由 `ConfigProvider` 的 `FullPageConfig` 注入,默认 `24` |
|
|
10
|
+
|
|
11
|
+
#### 插槽
|
|
12
|
+
|
|
13
|
+
| 名称 | 说明 |
|
|
14
|
+
| --- | --- |
|
|
15
|
+
| default | 页面内容 |
|
|
16
|
+
|
|
17
|
+
#### 用法
|
|
18
|
+
|
|
19
|
+
```vue
|
|
20
|
+
<template>
|
|
21
|
+
<JFullPage>
|
|
22
|
+
<div>内容区自动撑满剩余高度</div>
|
|
23
|
+
</JFullPage>
|
|
24
|
+
</template>
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
#### Rules
|
|
28
|
+
|
|
29
|
+
- 通过 `useElementBounding` 实时测量容器 `top`,滚动时高度自动跟随调整。
|
|
30
|
+
- `reduceHeight` 可在 `JConfigProvider` 的 `FullPageConfig` 中全局配置,组件 props 不直接暴露时优先使用全局注入值。
|
|
31
|
+
- 背景色取自 ant-design-vue 主题 token 的 `colorBgContainer`。
|
package/es/Icon/Icon.md
ADDED
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
### Icon
|
|
2
|
+
|
|
3
|
+
图标组件(注册名 `AIcon`),统一承载 ant-design-vue 图标与 iconfont 自定义图标;按 `type` 自动路由到对应图标源。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| type | 图标名,优先匹配 `@ant-design/icons-vue` 导出;未匹配时走 iconfont | `string` | - |
|
|
10
|
+
| scriptUrl | iconfont 的 script 地址(含 `//at.alicdn.com/...` 前缀),优先级高于全局配置 | `string` | 全局 `IconConfig.scriptUrl` |
|
|
11
|
+
| class | 图标类名 | `string` | - |
|
|
12
|
+
| style | 图标样式(透传) | `CSSProperties` | - |
|
|
13
|
+
|
|
14
|
+
#### 事件
|
|
15
|
+
|
|
16
|
+
| 事件 | 说明 |
|
|
17
|
+
| --- | --- |
|
|
18
|
+
| click | 点击图标 |
|
|
19
|
+
|
|
20
|
+
#### 用法
|
|
21
|
+
|
|
22
|
+
```vue
|
|
23
|
+
<template>
|
|
24
|
+
<AIcon type="CloseOutlined" />
|
|
25
|
+
<AIcon type="icon-device" script-url="//at.alicdn.com/t/c/font_xxx.js" />
|
|
26
|
+
</template>
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
#### Rules
|
|
30
|
+
|
|
31
|
+
- `type` 命中 `@ant-design/icons-vue` 导出名时直接渲染 Ant 图标;否则渲染 iconfont 图标,因此两种图标体系可混用。
|
|
32
|
+
- `scriptUrl` 未在组件上传入时,回退到 `JConfigProvider` 的 `IconConfig.scriptUrl` 全局配置。
|
|
33
|
+
- 未配置任何 scriptUrl 且 type 不匹配时渲染空节点,不报错。
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
### LocaleProvider
|
|
2
|
+
|
|
3
|
+
语言包 Provider,向组件树提供统一的文案语言包(默认中文),供 `useLocaleReceiver` 消费。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| locale | 组件文案语言包对象,按组件名分组 | `Record<string, any>` | 内置 `zh-CN` |
|
|
10
|
+
|
|
11
|
+
#### 用法
|
|
12
|
+
|
|
13
|
+
```vue
|
|
14
|
+
<template>
|
|
15
|
+
<JLocaleProvider :locale="enUS">
|
|
16
|
+
<app-content />
|
|
17
|
+
</JLocaleProvider>
|
|
18
|
+
</template>
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
#### Rules
|
|
22
|
+
|
|
23
|
+
- 通过 provide `componentLocaleData` 向下注入;子组件用 `useLocaleReceiver('组件名')` 获取对应分组的文案。
|
|
24
|
+
- `locale` 变化时深监听并重新注入。
|
|
25
|
+
- 通常无需单独使用:`JConfigProvider` 内部已包含本组件,直接配 `componentsLocale` 即可。
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
### LocaleReceiver
|
|
2
|
+
|
|
3
|
+
国际化接收 Hook(目录名 `LocaleReciver`),在组合式 API 中读取 `JLocaleProvider` 注入的语言包片段,供组件消费多语言文案。
|
|
4
|
+
|
|
5
|
+
#### 签名
|
|
6
|
+
|
|
7
|
+
```ts
|
|
8
|
+
useLocaleReceiver<T extends string>(
|
|
9
|
+
componentName: T,
|
|
10
|
+
defaultLocale?: Record<string, any>[T] | Function | ComputedRef,
|
|
11
|
+
propsLocale?: Ref<Record<string, any>[T]>,
|
|
12
|
+
): [ComputedRef<Record<string, any>[T]>]
|
|
13
|
+
```
|
|
14
|
+
|
|
15
|
+
| 参数 | 说明 |
|
|
16
|
+
| --- | --- |
|
|
17
|
+
| componentName | 语言包分组名(如 `'DragModal'`、`'Empty'`),对应 `locale/zh-CN` 中的键 |
|
|
18
|
+
| defaultLocale | 兜底文案,可传对象 / 函数 / 响应式值 |
|
|
19
|
+
| propsLocale | 组件 props 上的语言覆盖 |
|
|
20
|
+
|
|
21
|
+
#### 返回值
|
|
22
|
+
|
|
23
|
+
| 返回值 | 说明 |
|
|
24
|
+
| --- | --- |
|
|
25
|
+
| `[componentLocale]` | 响应式文案对象:`defaultLocale ⊕ 上下文中 componentName 分组 ⊕ propsLocale`(后者覆盖前者) |
|
|
26
|
+
|
|
27
|
+
#### 用法
|
|
28
|
+
|
|
29
|
+
```vue
|
|
30
|
+
<script setup lang="ts">
|
|
31
|
+
import { useLocaleReceiver } from '../LocaleReciver'
|
|
32
|
+
|
|
33
|
+
const [contextLocale] = useLocaleReceiver('DragModal')
|
|
34
|
+
// contextLocale.value.cancel / contextLocale.value.confirm
|
|
35
|
+
</script>
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
#### Rules
|
|
39
|
+
|
|
40
|
+
- 未注入 `JLocaleProvider` 时回退到内置 `zh-CN` 语言包,组件可安全单独使用。
|
|
41
|
+
- 三个来源合并顺序:`defaultLocale` → 上下文语言包 → `propsLocale`,越靠后优先级越高。
|
|
42
|
+
- 该文件是 hook 而非组件,不参与 `app.component` 注册。
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
### Markdown
|
|
2
|
+
|
|
3
|
+
Markdown 渲染组件,基于 `markdown-it` 并预装常用插件(锚点、任务列表、脚注、TOC、代码高亮、上下标、删除线等)。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| source | Markdown 源文本 | `string` | `''` |
|
|
10
|
+
| html | 是否渲染内联 HTML | `boolean` | `false` |
|
|
11
|
+
| breaks | 换行符是否转为 `<br>` | `boolean` | `false` |
|
|
12
|
+
| linkify | 自动识别链接 | `boolean` | `false` |
|
|
13
|
+
| typographer | 排版化(引号、破折号等) | `boolean` | `false` |
|
|
14
|
+
| quotes | 排版引号字符 | `string` | `'"“”‘’'` |
|
|
15
|
+
| xhtmlOut | 输出 XHTML 兼容标签 | `boolean` | `false` |
|
|
16
|
+
| langPrefix | 代码块语言类名前缀 | `string` | `'language-'` |
|
|
17
|
+
| anchor | 锚点插件配置(`markdown-it-anchor`) | `object` | `{}` |
|
|
18
|
+
| highlight | 代码高亮配置(`markdown-it-highlightjs`) | `object` | `{}` |
|
|
19
|
+
| tasklists | 任务列表配置(`markdown-it-task-lists`) | `object` | `{}` |
|
|
20
|
+
| toc | 目录插件配置(`markdown-it-toc-done-right`) | `object` | `{}` |
|
|
21
|
+
| emoji | 表情插件配置 | `object` | `{}` |
|
|
22
|
+
| plugins | 额外插件数组 `{ plugin, options }[]` | `array` | `[]` |
|
|
23
|
+
|
|
24
|
+
#### 用法
|
|
25
|
+
|
|
26
|
+
```vue
|
|
27
|
+
<template>
|
|
28
|
+
<JMarkdown :source="markdownText" />
|
|
29
|
+
</template>
|
|
30
|
+
|
|
31
|
+
<script setup lang="ts">
|
|
32
|
+
const markdownText = '# 设备说明书\n\n- [x] 支持任务列表\n- [ ] 待办项'
|
|
33
|
+
</script>
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
#### Rules
|
|
37
|
+
|
|
38
|
+
- 预装插件:abbr / anchor / deflist / footnote / highlightjs / ins / mark / sub / sup / task-lists / toc。
|
|
39
|
+
- 额外插件通过 `plugins` 传入 `{ plugin, options }`,渲染时按顺序 `markdown.use`。
|
|
40
|
+
- 渲染输出包在高度 100% 的容器中;`source` 变化时自动重新渲染(`onUpdated`)。
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
### PermissionButton
|
|
2
|
+
|
|
3
|
+
权限按钮组件,根据权限码自动控制按钮的可用性:无权限时禁用并提示,有确认需求时内置 Popconfirm / Modal 二次确认,并支持 Tooltip 与自定义确认组件。
|
|
4
|
+
|
|
5
|
+
#### Props
|
|
6
|
+
|
|
7
|
+
| 参数 | 说明 | 类型 | 默认值 |
|
|
8
|
+
| --- | --- | --- | --- |
|
|
9
|
+
| hasPermission | 权限码;`true` 或 `undefined` 视为有权限,支持字符串 / 数组(任一命中) | `string \| string[] \| boolean` | `undefined` |
|
|
10
|
+
| noPermissionTitle | 无权限时 Tooltip 文案 | `string` | 语言包(默认"暂无权限") |
|
|
11
|
+
| popConfirm | 点击后的二次确认配置(ant-design-vue `PopconfirmProps`,可用 `onConfirm` / `onCancel`) | `object` | - |
|
|
12
|
+
| popConfirmBefore | 点击时先执行的异步函数,返回值合并进 `popConfirm`(可用于动态确认内容) | `Function` | - |
|
|
13
|
+
| tooltip | 按钮 Tooltip 配置(`TooltipProps`) | `object` | - |
|
|
14
|
+
| style | 按钮样式 | `CSSProperties` | - |
|
|
15
|
+
| 其余 | 透传 ant-design-vue `Button` props(`buttonProps()`,去除 `icon`) | - | - |
|
|
16
|
+
|
|
17
|
+
#### 插槽
|
|
18
|
+
|
|
19
|
+
| 名称 | 说明 |
|
|
20
|
+
| --- | --- |
|
|
21
|
+
| default | 按钮文字 / 内容 |
|
|
22
|
+
| icon | 按钮图标 |
|
|
23
|
+
| button | 完全自定义按钮节点(跳过内部 Button 渲染,仅保留权限逻辑) |
|
|
24
|
+
|
|
25
|
+
#### 用法
|
|
26
|
+
|
|
27
|
+
```vue
|
|
28
|
+
<template>
|
|
29
|
+
<JPermissionButton has-permission="device:delete" danger :pop-confirm="{ title: '确认删除该设备?' }">
|
|
30
|
+
删除设备
|
|
31
|
+
</JPermissionButton>
|
|
32
|
+
</template>
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
#### Rules
|
|
36
|
+
|
|
37
|
+
- 权限判定基于 `usePermission`(来自 `@jetlinks-web/hooks`);`hasPermission` 传 `true` 或省略时恒有权限。
|
|
38
|
+
- 有权限且配置 `popConfirm` 时:优先使用 `JConfigProvider` 中 `PermissionButtonConfig.components` 自定义确认组件,否则回退 `Modal.confirm`。
|
|
39
|
+
- 无权限时不渲染原始按钮逻辑,改为渲染带提示的禁用态(Tooltip 包裹)。
|
|
40
|
+
- `disabled` 透传自 Button props,与权限判定叠加。
|