From 563c8b9334a3d6feb7829677a1dea1aca7f4166d Mon Sep 17 00:00:00 2001 From: AC-0308 Date: Tue, 22 Jul 2025 17:08:31 +0800 Subject: [PATCH] =?UTF-8?q?doc:=20=F0=9F=93=9D=20=E5=A2=9E=E5=8A=A0?= =?UTF-8?q?=E8=A1=A8=E6=A0=BC(table)=E7=9A=84=E6=96=87=E6=A1=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- packages/opendesign/src/_demo/types.ts | 2 +- .../table/__docs__/__case__/TableBasic.vue | 62 +++++++++++++++++++ .../src/table/__docs__/__case__/TableDiy.vue | 51 +++++++++++++++ .../table/__docs__/__case__/TableDiyHead.vue | 53 ++++++++++++++++ .../__docs__/__case__/TablePagination.vue | 55 ++++++++++++++++ .../src/table/__docs__/__case__/TableSpan.vue | 61 ++++++++++++++++++ .../src/table/__docs__/__case__/data.ts | 32 ++++++++++ .../src/table/__docs__/__case__/tableUsage.ts | 55 ++++++++++++++++ .../src/table/__docs__/index.en-US.md | 21 +++++++ .../src/table/__docs__/index.zh-CN.md | 21 +++++++ 10 files changed, 412 insertions(+), 1 deletion(-) create mode 100644 packages/opendesign/src/table/__docs__/__case__/TableBasic.vue create mode 100644 packages/opendesign/src/table/__docs__/__case__/TableDiy.vue create mode 100644 packages/opendesign/src/table/__docs__/__case__/TableDiyHead.vue create mode 100644 packages/opendesign/src/table/__docs__/__case__/TablePagination.vue create mode 100644 packages/opendesign/src/table/__docs__/__case__/TableSpan.vue create mode 100644 packages/opendesign/src/table/__docs__/__case__/data.ts create mode 100644 packages/opendesign/src/table/__docs__/__case__/tableUsage.ts create mode 100644 packages/opendesign/src/table/__docs__/index.en-US.md create mode 100644 packages/opendesign/src/table/__docs__/index.zh-CN.md diff --git a/packages/opendesign/src/_demo/types.ts b/packages/opendesign/src/_demo/types.ts index 065ab653..47bf954d 100644 --- a/packages/opendesign/src/_demo/types.ts +++ b/packages/opendesign/src/_demo/types.ts @@ -6,7 +6,7 @@ export type DocDemoSchema = } | { type: 'list'; - list: Array; + list: Array | Readonly>; default?: string | number; label?: string; } diff --git a/packages/opendesign/src/table/__docs__/__case__/TableBasic.vue b/packages/opendesign/src/table/__docs__/__case__/TableBasic.vue new file mode 100644 index 00000000..d96d1200 --- /dev/null +++ b/packages/opendesign/src/table/__docs__/__case__/TableBasic.vue @@ -0,0 +1,62 @@ + + +### Basic + + +### Basic + + + + + diff --git a/packages/opendesign/src/table/__docs__/__case__/TableDiy.vue b/packages/opendesign/src/table/__docs__/__case__/TableDiy.vue new file mode 100644 index 00000000..e07fcc04 --- /dev/null +++ b/packages/opendesign/src/table/__docs__/__case__/TableDiy.vue @@ -0,0 +1,51 @@ + + +### Diy + + +### Diy + + + + + diff --git a/packages/opendesign/src/table/__docs__/__case__/TableDiyHead.vue b/packages/opendesign/src/table/__docs__/__case__/TableDiyHead.vue new file mode 100644 index 00000000..6624fe26 --- /dev/null +++ b/packages/opendesign/src/table/__docs__/__case__/TableDiyHead.vue @@ -0,0 +1,53 @@ + + +### 自定义表头 + + +### Costume Header + + + + + diff --git a/packages/opendesign/src/table/__docs__/__case__/TablePagination.vue b/packages/opendesign/src/table/__docs__/__case__/TablePagination.vue new file mode 100644 index 00000000..df60997d --- /dev/null +++ b/packages/opendesign/src/table/__docs__/__case__/TablePagination.vue @@ -0,0 +1,55 @@ + + +### 分页 + + +### Pagination + + + + + diff --git a/packages/opendesign/src/table/__docs__/__case__/TableSpan.vue b/packages/opendesign/src/table/__docs__/__case__/TableSpan.vue new file mode 100644 index 00000000..3926eb19 --- /dev/null +++ b/packages/opendesign/src/table/__docs__/__case__/TableSpan.vue @@ -0,0 +1,61 @@ + + +### 单元格合并 + + +### Cell Merge + + + + + diff --git a/packages/opendesign/src/table/__docs__/__case__/data.ts b/packages/opendesign/src/table/__docs__/__case__/data.ts new file mode 100644 index 00000000..c982081d --- /dev/null +++ b/packages/opendesign/src/table/__docs__/__case__/data.ts @@ -0,0 +1,32 @@ +function getItem(index: number) { + return { + no: index, + key: index, + name: `William Smith ${index}`, + salary: 27000 + index, + address: `${index} Park Road, London`, + email: `william.smith${index}@example.com`, + other: `other info ${index}`, + }; +} + +export function getTableData(total: number, idx = 0) { + const rlt = []; + for (let i = idx; i <= idx + total; i++) { + rlt.push(getItem(i + 1)); + } + return rlt; +} + +export function requestTableData(cursor: number, length: number): Promise<{ total: number, list: any[] }> { + const total = 100; + return new Promise((resolve) => { + const list = getTableData(length, cursor); + setTimeout(() => { + resolve({ + total, + list + }); + }, 1000); + }); +} \ No newline at end of file diff --git a/packages/opendesign/src/table/__docs__/__case__/tableUsage.ts b/packages/opendesign/src/table/__docs__/__case__/tableUsage.ts new file mode 100644 index 00000000..ab5df0b1 --- /dev/null +++ b/packages/opendesign/src/table/__docs__/__case__/tableUsage.ts @@ -0,0 +1,55 @@ +import { reactive } from 'vue'; +import { propsToAttrStr } from '../../../_demo/utils'; +import { DocDemoSchema, DocDemoTemplate } from '../../../_demo/types.ts'; +import { getTableData } from './data.ts'; +import { TableBorderTypes } from '@opensig/opendesign'; + +export const docs = { + 'zh-CN': + '表格用于展示密集数据集,可配置项包括: \n' + + '- 表头内容`columns` \n' + + '- 表格数据`data` \n' + + '- 是否显示边框`border` \n' + + '- 是否小表格`small` \n' + + '- 单元格合并`cellSpan` \n' + + '- 空数据提示文本`emptyLabel` \n' + + '- 是否正在加载`loading` \n' + + '- 加载提示文本`loadingLabel` \n' +}; + +export const schema = { + border: { + type: 'list', + list: TableBorderTypes + }, + loading: { + type: 'boolean', + default: false + }, + small: { + type: 'boolean', + default: false + }, + emptyLabel: { + type: 'string', + default: undefined + }, + loadingLabel: { + type: 'string', + default: undefined + }, +} satisfies Record; + +export const ctx = reactive({ + columns: [ + { label: 'Name', key: 'name' }, + { label: 'Salary', key: 'salary' }, + { label: 'Address', key: 'address' }, + { label: 'Email', key: 'email' }, + ], + data: getTableData(6) +}); + +export const template:DocDemoTemplate = (_props) => { + return ``; +}; \ No newline at end of file diff --git a/packages/opendesign/src/table/__docs__/index.en-US.md b/packages/opendesign/src/table/__docs__/index.en-US.md new file mode 100644 index 00000000..3707ded6 --- /dev/null +++ b/packages/opendesign/src/table/__docs__/index.en-US.md @@ -0,0 +1,21 @@ +--- +sidebar: OTable +--- + +# Data Table + +## Usage + + + +## Cases + + + + + + + +## Api + + \ No newline at end of file diff --git a/packages/opendesign/src/table/__docs__/index.zh-CN.md b/packages/opendesign/src/table/__docs__/index.zh-CN.md new file mode 100644 index 00000000..5efe5fb2 --- /dev/null +++ b/packages/opendesign/src/table/__docs__/index.zh-CN.md @@ -0,0 +1,21 @@ +--- +sidebar: OTable 数据表格 +--- + +# 数据表格 + +## 使用 + + + +## 示例 + + + + + + + +## Api + + \ No newline at end of file -- Gitee