persagy-vant 0.0.28 → 0.0.30
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/blue-mark/CollapseToggle.d.ts +4 -0
- package/es/blue-mark/CollapseToggle.mjs +11 -1
- package/es/blue-mark/index.css +1 -1
- package/es/blue-mark/index.d.ts +3 -0
- package/es/blue-mark/index.less +25 -0
- package/es/blue-mark/style/index.mjs +1 -0
- package/es/blue-mark/style/less.mjs +1 -0
- package/es/collapse-toggle/index.css +1 -0
- package/es/collapse-toggle/index.d.ts +2 -0
- package/es/collapse-toggle/index.less +1 -0
- package/es/collapse-toggle/index.mjs +4 -0
- package/es/index.d.ts +2 -1
- package/es/index.mjs +4 -1
- package/es/info-card/InfoCard.d.ts +128 -0
- package/es/info-card/InfoCard.mjs +84 -0
- package/es/info-card/index.css +1 -0
- package/es/info-card/index.d.ts +88 -0
- package/es/info-card/index.less +60 -0
- package/es/info-card/index.mjs +8 -0
- package/es/info-card/style/index.mjs +8 -0
- package/es/info-card/style/less.mjs +8 -0
- package/es/info-card/var.css +0 -0
- package/es/info-card/var.less +7 -0
- package/es/label/Label.d.ts +3 -0
- package/es/label/Label.mjs +9 -2
- package/es/label/index.css +1 -1
- package/es/label/index.d.ts +2 -0
- package/es/label/index.less +35 -0
- package/es/label/var.less +5 -0
- package/es/loading/Loading.d.ts +1 -1
- package/es/loading/Loading.mjs +40 -4
- package/es/loading/assets/building.gif +0 -0
- package/es/loading/index.css +1 -1
- package/es/loading/index.less +14 -0
- package/es/material-add/style/index.mjs +2 -1
- package/es/material-add/style/less.mjs +2 -1
- package/es/multi-person-select/style/index.mjs +2 -1
- package/es/multi-person-select/style/less.mjs +2 -1
- package/es/object-select/style/index.mjs +2 -1
- package/es/object-select/style/less.mjs +2 -1
- package/es/single-person-select/style/index.mjs +2 -1
- package/es/single-person-select/style/less.mjs +2 -1
- package/es/tag/Tag.mjs +1 -1
- package/es/vue-sfc-shim.d.ts +5 -0
- package/es/work-order-filter/style/index.mjs +2 -1
- package/es/work-order-filter/style/less.mjs +2 -1
- package/lib/blue-mark/CollapseToggle.d.ts +4 -0
- package/lib/blue-mark/CollapseToggle.js +11 -1
- package/lib/blue-mark/index.css +1 -1
- package/lib/blue-mark/index.d.ts +3 -0
- package/lib/blue-mark/index.less +25 -0
- package/lib/blue-mark/style/index.js +1 -0
- package/lib/blue-mark/style/less.js +1 -0
- package/lib/collapse-toggle/index.css +1 -0
- package/lib/collapse-toggle/index.d.ts +2 -0
- package/lib/collapse-toggle/index.js +23 -0
- package/lib/collapse-toggle/index.less +1 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +2 -1
- package/lib/index.js +4 -1
- package/lib/index.less +7 -6
- package/lib/info-card/InfoCard.d.ts +128 -0
- package/lib/info-card/InfoCard.js +113 -0
- package/lib/info-card/index.css +1 -0
- package/lib/info-card/index.d.ts +88 -0
- package/lib/info-card/index.js +37 -0
- package/lib/info-card/index.less +60 -0
- package/lib/info-card/style/index.js +8 -0
- package/lib/info-card/style/less.js +8 -0
- package/lib/info-card/var.css +0 -0
- package/lib/info-card/var.less +7 -0
- package/lib/label/Label.d.ts +3 -0
- package/lib/label/Label.js +9 -2
- package/lib/label/index.css +1 -1
- package/lib/label/index.d.ts +2 -0
- package/lib/label/index.less +35 -0
- package/lib/label/var.less +5 -0
- package/lib/loading/Loading.d.ts +1 -1
- package/lib/loading/Loading.js +40 -4
- package/lib/loading/assets/building.gif +0 -0
- package/lib/loading/index.css +1 -1
- package/lib/loading/index.less +14 -0
- package/lib/material-add/style/index.js +2 -1
- package/lib/material-add/style/less.js +2 -1
- package/lib/multi-person-select/style/index.js +2 -1
- package/lib/multi-person-select/style/less.js +2 -1
- package/lib/object-select/style/index.js +2 -1
- package/lib/object-select/style/less.js +2 -1
- package/lib/single-person-select/style/index.js +2 -1
- package/lib/single-person-select/style/less.js +2 -1
- package/lib/tag/Tag.js +1 -1
- package/lib/vant.cjs.js +541 -410
- package/lib/vant.es.js +541 -410
- package/lib/vant.js +541 -410
- package/lib/vant.min.js +1 -1
- package/lib/vue-sfc-shim.d.ts +5 -0
- package/lib/web-types.json +1 -1
- package/lib/work-order-filter/style/index.js +2 -1
- package/lib/work-order-filter/style/less.js +2 -1
- package/package.json +2 -1
- package/skills/use-persagy-vant/SKILL.md +2 -2
- package/skills/use-persagy-vant/agents/openai.yaml +1 -1
- package/skills/use-persagy-vant/references/business-component-catalog.md +3 -1
- package/skills/use-persagy-vant/references/component-catalog.md +7 -2
- package/skills/use-persagy-vant/references/component-documentation.md +45 -0
- package/skills/use-persagy-vant/references/design-interaction-baseline.md +4 -3
- package/skills/use-persagy-vant/references/page-recipes.md +10 -7
|
@@ -2,7 +2,6 @@ require("../../style/base.css");
|
|
|
2
2
|
require("../../badge/index.css");
|
|
3
3
|
require("../../icon/index.css");
|
|
4
4
|
require("../../filter-tag/index.css");
|
|
5
|
-
require("../../blue-mark/index.css");
|
|
6
5
|
require("../../loading/index.css");
|
|
7
6
|
require("../../picker/index.css");
|
|
8
7
|
require("../../datetime-picker/index.css");
|
|
@@ -18,4 +17,6 @@ require("../../bottom-action-bar/index.css");
|
|
|
18
17
|
require("../../radio-group/index.css");
|
|
19
18
|
require("../../radio/index.css");
|
|
20
19
|
require("../../cell/index.css");
|
|
20
|
+
require("../../divider/index.css");
|
|
21
|
+
require("../../blue-mark/index.css");
|
|
21
22
|
require("../index.css");
|
|
@@ -2,7 +2,6 @@ require("../../style/base.less");
|
|
|
2
2
|
require("../../badge/index.less");
|
|
3
3
|
require("../../icon/index.less");
|
|
4
4
|
require("../../filter-tag/index.less");
|
|
5
|
-
require("../../blue-mark/index.less");
|
|
6
5
|
require("../../loading/index.less");
|
|
7
6
|
require("../../picker/index.less");
|
|
8
7
|
require("../../datetime-picker/index.less");
|
|
@@ -18,4 +17,6 @@ require("../../bottom-action-bar/index.less");
|
|
|
18
17
|
require("../../radio-group/index.less");
|
|
19
18
|
require("../../radio/index.less");
|
|
20
19
|
require("../../cell/index.less");
|
|
20
|
+
require("../../divider/index.less");
|
|
21
|
+
require("../../blue-mark/index.less");
|
|
21
22
|
require("../index.less");
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "persagy-vant",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.30",
|
|
4
4
|
"description": "Lightweight Mobile UI Components built on Vue",
|
|
5
5
|
"main": "lib/vant.cjs.js",
|
|
6
6
|
"module": "es/index.mjs",
|
|
@@ -22,6 +22,7 @@
|
|
|
22
22
|
"test": "vant-cli test",
|
|
23
23
|
"build": "vant-cli build",
|
|
24
24
|
"build:site": "vant-cli build-site",
|
|
25
|
+
"prepack": "pnpm build",
|
|
25
26
|
"release": "standard-version",
|
|
26
27
|
"release:alpha": "npm run release -- --prerelease alpha",
|
|
27
28
|
"release:patch": "npm run release -- --release-as patch",
|
|
@@ -12,7 +12,7 @@ description: 使用 Persagy Vant 为 Vue 3 移动端业务页面规划、实现
|
|
|
12
12
|
1. 阅读 `references/reuse-policy.md`,确认复用边界与禁止项。
|
|
13
13
|
2. 阅读 `references/design-interaction-baseline.md`,将其中适用的设计、状态和反馈规则落实到页面;如与产品需求冲突,以明确的产品需求为准并说明差异。
|
|
14
14
|
3. 阅读 `references/business-component-catalog.md`,按用户任务先确定业务组件;再从 `references/component-catalog.md` 补齐基础组件。
|
|
15
|
-
4.
|
|
15
|
+
4. 按 `references/component-documentation.md` 的查阅流程读取每个被选中组件的 README 和 demo:在组件库仓库中使用 `packages/persagy-mobile/src/<component>/README.zh-CN.md`,在业务项目中使用 `node_modules/persagy-vant/es/<component>/README.zh-CN.md`。涉及视觉、插槽或类型扩展时,同时查阅 `var.less`、类型定义和 demo;API、事件、插槽和导入方式均以这些资料为准。
|
|
16
16
|
5. 按 `references/page-recipes.md` 组合页面,补齐加载、空数据、错误、禁用和提交中状态。
|
|
17
17
|
6. 使用组件提供的 props、事件、插槽、Less 变量或公开 class 扩展点;不得复制组件内部 DOM、样式或私有逻辑。
|
|
18
18
|
7. 输出或提交前,按 `references/reuse-policy.md` 和 `references/design-interaction-baseline.md` 完成自查,并附上“组件复用清单”和“规范落实项”。
|
|
@@ -26,5 +26,5 @@ description: 使用 Persagy Vant 为 Vue 3 移动端业务页面规划、实现
|
|
|
26
26
|
## 资料边界
|
|
27
27
|
|
|
28
28
|
- 组件库仓库中的 `packages/persagy-mobile/src/<component>/README.zh-CN.md`,或已安装包中的 `node_modules/persagy-vant/es/<component>/README.zh-CN.md`,连同类型定义和 demo,是组件 API 的唯一事实来源。
|
|
29
|
-
- `references/`
|
|
29
|
+
- `references/` 用于选型、组件文档查阅、复用规则、页面组合与设计交互基线,不能据此编造不存在的 props 或事件。
|
|
30
30
|
- 当前目录是对外分发版本;随 `persagy-vant` 发布版本一起更新。组件库维护、扩展或新增组件不属于本 Skill 的授权范围。
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
| 业务层级选项 | `tree-select` | 单选/多选树、父子联动和展开收起 |
|
|
16
16
|
| 页面底部主次操作 | `bottom-action-bar` | 固定底栏、更多操作、按钮 loading/disabled |
|
|
17
17
|
| 蓝色标识或业务标注 | `blue-mark` | 相同视觉的业务标签/标记 |
|
|
18
|
+
| 展示多类型详情字段 | `info-card` + `label` | 文字、强调、链接、标签、图片/视频字段回显、接口字段可见性、更多信息与展开收起 |
|
|
18
19
|
| 视频预览 | `video-preview` | 视频预览容器与交互 |
|
|
19
20
|
| AI 对话面板/移动端 bot | `bot-mobile` 系列(`BotMobile`/`BotMobilePrompts`/`BotMobileContextTags`/`BotMobileSheet`/`BotMobileView`/`BotFab`/`BotHistoryDrawer`/`BotVoiceBar`/`BotSessionList`) | 对话流、消息渲染、示例输入、上下文标签、呼出面板、纯展示消息渲染、悬浮入口、会话历史抽屉、按住说话和全部会话列表 |
|
|
20
21
|
| 展示和处理工单 | `work-order-card` | 工单标题、标签、位置、展开详情和卡片内操作 |
|
|
@@ -23,7 +24,8 @@
|
|
|
23
24
|
|
|
24
25
|
- **创建或编辑工单**:`form` + `field` + `location-select`/`object-select` + `single-person-select`/`multi-person-select` + `material-add` + `bottom-action-bar`。
|
|
25
26
|
- **工单列表**:`work-order-filter` + `pull-refresh` + `list` + `card` + `empty`。
|
|
26
|
-
-
|
|
27
|
+
- **工单列表(包含展开信息或行内操作)**:按页面层级选择 `background` 主题 + `work-order-filter` + `pull-refresh` + `list` + `work-order-card` + `empty`;不要在工单卡片页面省略背景容器。
|
|
27
28
|
- **按楼层选择空间**:`floor-select`;不要自行组合楼座标签、楼层导航和空间选择列表。
|
|
28
29
|
- **批量任务或物料确认**:`quantity-input` 或 `material-add` + `bottom-action-bar` + `dialog`。
|
|
29
30
|
- **巡检/维修详情**:`nav-bar` + `cell-group`/`card` + `tag` + `action-bar`/`bottom-action-bar`。
|
|
31
|
+
- **字段型业务详情**:多类型字段优先使用 `info-card` + `label`,按字段内容选择 `label` 的默认、加粗、链接、标签、图片视频或纵向布局;图片或视频字段通过 `click-media` 事件连接 `image-preview` 或 `video-preview`,不要在页面内重复实现媒体字段布局。
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
# 基础组件目录
|
|
2
2
|
|
|
3
|
-
本文件用于快速选型,不替代 API
|
|
3
|
+
本文件用于快速选型,不替代 API 文档。选中组件后的查阅顺序见 `component-documentation.md`;props、事件、插槽、样式变量和导入方式必须以 `packages/persagy-mobile/src/<component>/README.zh-CN.md`、类型定义和 demo 为准。
|
|
4
4
|
|
|
5
5
|
## 页面骨架与状态
|
|
6
6
|
|
|
7
|
-
- `background
|
|
7
|
+
- `background`:含白色卡片的页面优先使用此容器;一级页面使用 `theme="default"`,其他层级页面使用 `theme="gray"`。仅在没有白色卡片且无明确背景设计时使用 `--van-gray-1`。
|
|
8
8
|
- `nav-bar`、`tabbar`、`tab`、`tabs`、`sidebar`:页面与分区导航。标签较多时优先使用 `tabs` 的滚动或更多面板能力;筛选型分区选择 `type="filter"`。
|
|
9
9
|
- `cell`、`cell-group`、`row`、`col`、`space`、`divider`:信息布局与分组。
|
|
10
10
|
- `empty`、`loading`、`skeleton`、`overlay`、`pull-refresh`、`list`、`pagination`:加载、空态、刷新与列表分页。
|
|
11
|
+
- `collapse-toggle`:卡片内容区的展开/收起触发器;需要两侧分割线时使用其公开 `divider` 能力,不要自绘“查看更多/收起”控件。
|
|
11
12
|
- `bottom-action-bar`、`action-bar`、`submit-bar`:固定操作区;不要自行实现 fixed footer。
|
|
12
13
|
|
|
13
14
|
## 表单与通用选择
|
|
@@ -19,6 +20,9 @@
|
|
|
19
20
|
|
|
20
21
|
## 内容与反馈
|
|
21
22
|
|
|
23
|
+
- `label`:详情字段的名称与回显值展示,覆盖默认、加粗、链接、标签、图片视频及纵向布局;不要为同类字段自行拼接样式。按字段内容选择其公开展示类型。
|
|
24
|
+
- `info-card`:多种类型字段的白色信息卡片,可接收字段数组或插槽,并提供更多字段、固定分割线与展开收起能力;字段类型较多时优先使用。
|
|
25
|
+
- `blue-mark`、`blue-mark-header`:分组/卡片标题及标题栏操作;标题栏需要必填标识、右侧操作或展开收起时优先使用 `blue-mark-header`。
|
|
22
26
|
- `card`、`tag`、`badge`、`notice-bar`、`image`、`icon`:内容展示与状态标识。
|
|
23
27
|
- `popup`、`action-sheet`、`share-sheet`、`popover`:动作选择与自定义容器。
|
|
24
28
|
- `dialog`、`toast`、`notify`:确认、短反馈与顶部通知;不得重复封装确认弹窗或全局提示。
|
|
@@ -29,6 +33,7 @@
|
|
|
29
33
|
|
|
30
34
|
- 需要承载自定义表单/内容:使用 `popup`;仅确认操作:使用 `dialog`;短暂提示:使用 `toast` 或 `notify`。
|
|
31
35
|
- 可分页的业务列表:组合 `list`、`pull-refresh`、`empty`、`loading`,不要手写重复加载状态。
|
|
36
|
+
- 详情页的字段组优先选择 `info-card`;只有简单、不需要统一字段样式或展开逻辑的内容才组合 `cell-group` 或 `card`。
|
|
32
37
|
- 选择入口默认使用 `field` 或 `cell`,具体选择面板优先从 `business-component-catalog.md` 选择。
|
|
33
38
|
- 页面有主操作时优先使用 `bottom-action-bar`;在表单提交语义明确时使用 `submit-bar`。
|
|
34
39
|
- 非破坏性的局部快捷操作使用 `popover`;会影响全局数据或需要确认的操作不使用气泡菜单。
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
# 组件说明查阅与维护
|
|
2
|
+
|
|
3
|
+
组件 README 是组件能力、API、事件、插槽、类型和样式变量的唯一事实来源。组件目录只用于选型,页面配方只用于组合;不得在它们中复制完整 API 或变量表。
|
|
4
|
+
|
|
5
|
+
## 页面实现时的查阅流程
|
|
6
|
+
|
|
7
|
+
1. 从 `business-component-catalog.md` 和 `component-catalog.md` 确定候选组件。
|
|
8
|
+
2. 阅读所选组件的 `README.zh-CN.md`:先确认适用场景和演示,再确认实现所需的 Props、事件与插槽。
|
|
9
|
+
3. 需要视觉适配时,读取该组件 `var.less` 中的公开变量;需要复杂数据或事件时,读取类型定义;需要组合方式时,读取 demo。
|
|
10
|
+
4. 仅使用已文档化的公开能力。README 未列出的能力不得假定存在;无法满足时按 `component-gap-template.md` 输出缺口说明。
|
|
11
|
+
|
|
12
|
+
## 需求到资料的映射
|
|
13
|
+
|
|
14
|
+
| 产品需求 | 必读资料 |
|
|
15
|
+
| --- | --- |
|
|
16
|
+
| 选择合适组件 | 组件目录、业务组件目录、对应 README 的介绍和 demo |
|
|
17
|
+
| 配置交互、按钮、校验或回调 | README 的 Props、Events、Slots、类型定义 |
|
|
18
|
+
| 调整间距、色彩、尺寸或层级 | README 的样式变量和 `var.less` |
|
|
19
|
+
| 组合多个组件完成页面 | 页面配方、各组件 demo |
|
|
20
|
+
| 评估是否需要新组件 | 组件目录、README、组件缺口模板 |
|
|
21
|
+
|
|
22
|
+
## 给产品经理的请求方式
|
|
23
|
+
|
|
24
|
+
在需求中写明业务目标和涉及组件,并要求先读组件说明。例如:
|
|
25
|
+
|
|
26
|
+
```md
|
|
27
|
+
使用 $use-persagy-vant 实现工单详情页。先读取 `info-card`、`label`、`bottom-action-bar` 的组件说明和 demo;按其公开 Props、事件、插槽与样式变量实现需求,不新增同类组件。
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
无需指定组件时,也可以要求 AI 先完成选型:
|
|
31
|
+
|
|
32
|
+
```md
|
|
33
|
+
使用 $use-persagy-vant 实现可编辑的工单详情。先从组件目录选择组件,再阅读所选组件说明后实现;交付时列出组件复用清单和实际使用的扩展能力。
|
|
34
|
+
```
|
|
35
|
+
|
|
36
|
+
## 组件 README 的维护标准
|
|
37
|
+
|
|
38
|
+
每个组件 README 至少维护以下内容:
|
|
39
|
+
|
|
40
|
+
1. **适用场景**:解决什么问题;易误用时说明不适用场景。
|
|
41
|
+
2. **代码演示**:基础用法及有代表性的扩展能力。
|
|
42
|
+
3. **公开能力**:Props、Events、Slots、类型定义和样式变量。
|
|
43
|
+
4. **常用组合**:仅在组件有明确搭配对象时说明,避免重复页面配方。
|
|
44
|
+
|
|
45
|
+
新增或修改 API、事件、插槽、样式变量和推荐组合时,必须在同一改动中更新双语 README、demo 和组件目录的简短选型描述。
|
|
@@ -10,10 +10,11 @@
|
|
|
10
10
|
|
|
11
11
|
## 布局与视觉
|
|
12
12
|
|
|
13
|
-
-
|
|
13
|
+
- 页面含白色卡片时,优先使用 `background` 组件承载页面内容:一级页面(首页)使用 `theme="default"`,其他层级页面使用 `theme="gray"`。无白色卡片且无明确背景设计时,使用 `--van-gray-1`。
|
|
14
|
+
- 信息展示和录入控件以白色卡片承载;背景主题与页面层级不一致时,以明确的页面原型为准。
|
|
14
15
|
- 卡片内容与页面左右边缘保持 `16px` 间距;卡片之间间距 `8px`。
|
|
15
16
|
- 模块之间、控件之间使用 `8px` 或 `12px` 间距;仅左右排布的两组字段,纵向间距不得小于 `8px`。
|
|
16
|
-
-
|
|
17
|
+
- 存在多种字段展示类型(文字、强调文字、链接、标签、图片/视频或纵向字段)时,优先使用 `info-card` + `label`;按字段内容选择 `label` 的公开展示类型和纵向布局。字段无数据时整项隐藏,使用 `info-card` 时通过字段的 `visible: false` 实现。
|
|
17
18
|
- 触发器没有内置按压态时,叠加 `5%` 黑色透明遮罩作为按压反馈;有内置按压态的组件不重复添加。
|
|
18
19
|
- 字体跟随设备系统字体。常规层级使用:一级标题 `16px` 加粗、二级标题与正文 `14px`、补充说明 `12px`、底部菜单最小 `10px`;有明确业务需要时可调整。
|
|
19
20
|
- 信息层级最多使用四级:一级标题优先采用 `blue-mark`,二级使用灰底加粗文本,三级使用白底加粗文本,四级使用弱化的卡片内容;特殊业务可按组件文档调整。
|
|
@@ -48,7 +49,7 @@
|
|
|
48
49
|
- 操作成功或失败均提供全局反馈;重要或高风险信息使用 `dialog`、`notice-bar` 等强提醒样式。
|
|
49
50
|
- 所有不可用操作都必须可被点击或聚焦后说明具体不可用原因,提示文案为“`<具体原因>`”,不得只展示禁用态而无解释。
|
|
50
51
|
- 友好提示仅展示一次,点击空白区域后消失。
|
|
51
|
-
-
|
|
52
|
+
- 折叠/展开内容默认展开第一组数据;详情字段组优先使用 `info-card`,其他卡片内容使用 `collapse-toggle` 或 `blue-mark-header` 的公开展开能力。
|
|
52
53
|
- 保存筛选条件后,筛选对应数据并提示“保存成功”;筛选图标右上角显示徽标标记。
|
|
53
54
|
- 重要文本优先完整换行;采用省略时,提供下钻、展开、气泡或全局提示等方式查看完整内容。长度不稳定的内容可在最大高度后提供“展开”入口。
|
|
54
55
|
|
|
@@ -12,16 +12,19 @@
|
|
|
12
12
|
|
|
13
13
|
## 可筛选的业务列表
|
|
14
14
|
|
|
15
|
-
1.
|
|
16
|
-
2.
|
|
17
|
-
3.
|
|
18
|
-
4.
|
|
15
|
+
1. 页面含白色卡片时,用 `background` 承载页面内容:一级页面使用 `theme="default"`,其他层级页面使用 `theme="gray"`。
|
|
16
|
+
2. 顶部使用 `search` 或已有的筛选触发入口。
|
|
17
|
+
3. 工单场景使用 `work-order-filter`;其他复杂条件使用 `popup` + `form` + 现有选择组件。
|
|
18
|
+
4. 搜索触发后自动聚焦;非业务必需时提供取消操作。使用 `pull-refresh` + `list` 呈现数据,首屏/分页加载使用 `loading`,无结果使用 `empty`,末页显示无更多数据提示。
|
|
19
|
+
5. 简单列表项使用 `cell` 或 `card`;工单需要展示标签、位置、展开详情或行内操作时使用 `work-order-card`,并与 `background` 组合;状态使用 `tag` 或 `badge`。
|
|
19
20
|
|
|
20
21
|
## 详情与处理页
|
|
21
22
|
|
|
22
|
-
1.
|
|
23
|
-
2.
|
|
24
|
-
3.
|
|
23
|
+
1. 页面含白色卡片时,用 `background` 承载页面内容:一级页面使用 `theme="default"`,其他层级页面使用 `theme="gray"`。
|
|
24
|
+
2. 多类型字段详情优先用 `info-card` 承载;简单内容再用 `cell-group`、`card`、`divider` 组织分组。
|
|
25
|
+
3. 字段回显使用 `label`,按字段内容选择默认、加粗、链接、标签、图片视频或纵向布局;媒体点击接入 `image-preview` 或 `video-preview`。
|
|
26
|
+
4. `info-card` 的接口字段使用 `visible: false` 隐藏无数据项。需要更多字段时优先使用其固定分割线或展开收起能力;其他卡片内容的展开收起使用 `collapse-toggle` 或 `blue-mark-header`,不自行绘制触发器。
|
|
27
|
+
5. 主要处理动作使用 `bottom-action-bar`;可能造成数据变更的操作先经 `dialog`。
|
|
25
28
|
|
|
26
29
|
## 编辑与全局操作
|
|
27
30
|
|