persagy-vant 0.0.45 → 0.0.46
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/BlueMarkHeader.d.ts +3 -12
- package/es/blue-mark/BlueMarkHeader.mjs +2 -2
- package/es/blue-mark/index.d.ts +2 -8
- package/es/cell/index.css +1 -1
- package/es/cell/index.less +8 -0
- package/es/index.d.ts +1 -1
- package/es/index.mjs +1 -1
- package/es/object-select/ObjectSelect.mjs +2 -1
- package/es/video-preview/VideoPreview.mjs +30 -15
- package/es/video-preview/index.css +1 -1
- package/es/video-preview/index.less +21 -0
- package/lib/blue-mark/BlueMarkHeader.d.ts +3 -12
- package/lib/blue-mark/BlueMarkHeader.js +1 -1
- package/lib/blue-mark/index.d.ts +2 -8
- package/lib/cell/index.css +1 -1
- package/lib/cell/index.less +8 -0
- package/lib/index.css +1 -1
- package/lib/index.d.ts +1 -1
- package/lib/index.js +1 -1
- package/lib/object-select/ObjectSelect.js +2 -1
- package/lib/vant.cjs.js +34 -18
- package/lib/vant.es.js +34 -18
- package/lib/vant.js +34 -18
- package/lib/vant.min.js +1 -1
- package/lib/video-preview/VideoPreview.js +30 -15
- package/lib/video-preview/index.css +1 -1
- package/lib/video-preview/index.less +21 -0
- package/lib/web-types.json +1 -1
- package/package.json +1 -1
- package/skills/use-persagy-vant/SKILL.md +6 -0
- package/skills/use-persagy-vant/references/business-component-catalog.md +3 -0
- package/skills/use-persagy-vant/references/component-catalog.md +4 -3
- package/skills/use-persagy-vant/references/component-variant-selection.md +9 -4
- package/skills/use-persagy-vant/references/design-interaction-baseline.md +1 -1
- package/skills/use-persagy-vant/references/dynamic-panel-policy.md +46 -0
- package/skills/use-persagy-vant/references/element-component-matching.md +3 -1
- package/skills/use-persagy-vant/references/page-recipes.md +3 -3
- package/skills/use-persagy-vant/references/reuse-policy.md +5 -1
- package/skills/use-persagy-vant/references/usage-patterns.md +2 -2
package/package.json
CHANGED
|
@@ -7,6 +7,12 @@ description: 使用 Persagy Vant 为 Vue 3 移动端业务页面规划、实现
|
|
|
7
7
|
|
|
8
8
|
将 Persagy Vant 视为此项目唯一的 UI 与业务组件来源。页面可以组合组件、组织业务数据和编写接口逻辑,但不得重写组件库已经提供的基础控件、交互模式或业务组件。
|
|
9
9
|
|
|
10
|
+
## 动态面板硬约束
|
|
11
|
+
|
|
12
|
+
所有触发的动态面板(包括二级面板、已选展开、筛选、详情和编辑面板)必须由 `ContentPanel`、`FormPanel`、`RadioPanel`、`CheckboxPanel`、`TreeSelectPanel` 或 `ActionSheet` 承载,并按语义选用其 README/demo 已有的样式变体与变量组合。不得以 `Popup`、手写弹层或其他通用容器替代,即使内容少或页面组件覆盖率已达 `90%` 也不例外。不得擅自修改面板组件样式;选用预置变体不等于获得修改 CSS/Less 变量的授权。
|
|
13
|
+
|
|
14
|
+
涉及动态面板时,在选型和编码前必须阅读 [动态面板规范](references/dynamic-panel-policy.md),交付前逐个触发入口核查面板组件、示例/变量和样式未改动情况。此规范优先于其他资料中的通用容器、页面布局和轻量样式扩展建议;组件缺口必须反馈,不得自行绕过。
|
|
15
|
+
|
|
10
16
|
## 强制工作流
|
|
11
17
|
|
|
12
18
|
1. 阅读 `references/reuse-policy.md`,确认复用边界与禁止项。
|
|
@@ -2,6 +2,8 @@
|
|
|
2
2
|
|
|
3
3
|
先按这里选择业务组件。数据结构、完整 API 和 demo 均以对应 `packages/persagy-mobile/src/<component>/README.zh-CN.md` 为准。
|
|
4
4
|
|
|
5
|
+
业务组件触发的动态面板同样必须按 `dynamic-panel-policy.md` 核查六类面板承载及原样式;业务组件优先不构成白名单例外。不能满足时反馈组件缺口,不在页面改写其内部实现。
|
|
6
|
+
|
|
5
7
|
| 场景 | 必须优先使用 | 不要自行实现 |
|
|
6
8
|
| --- | --- | --- |
|
|
7
9
|
| 选择一位人员 | `single-person-select` | 人员搜索、部门分组、单选底部面板 |
|
|
@@ -16,6 +18,7 @@
|
|
|
16
18
|
| 批量勾选条目/录入数量 | `quantity-input` | 已选项展开、清空和批量确认 |
|
|
17
19
|
| 工单列表的组合筛选 | `work-order-filter` | 项目、时间、排序、待办和工单类型筛选 |
|
|
18
20
|
| 业务层级选项 | `tree-select` | 单选/多选树、父子联动和展开收起 |
|
|
21
|
+
| 动态面板中的树形/层级选项 | `tree-select-panel` | 既有树选择面板的单选/多选、搜索、级联和加载,不手动拼装弹层 |
|
|
19
22
|
| 页面底部主次操作 | `bottom-action-bar` | 固定底栏、更多操作、按钮 loading/disabled |
|
|
20
23
|
| 页面一级标题或蓝色业务标识 | `blue-mark-header` / `blue-mark` | 一级标题使用位于白色卡片外层的 `blue-mark-header`;仅作业务标识时使用 `blue-mark` |
|
|
21
24
|
| 展示字段或多类型详情字段 | `label` / `info-card` + `label` | 单个字段回显优先 `label`,左侧标签文本尽量自带冒号;字段成组或类型较多时用 `info-card` 承载,并支持接口字段可见性、更多信息与展开收起 |
|
|
@@ -27,15 +27,16 @@
|
|
|
27
27
|
- `blue-mark`、`blue-mark-header`:一级标题和业务标识;页面一级标题统一使用放在白色卡片外层的 `blue-mark-header`,需要必填标识、右侧操作或展开收起时使用其公开能力,不手写同类标题栏。
|
|
28
28
|
- `title-bar`:白色卡片内的二级标题统一使用默认样式(不使用 `mini`);用 `show-description`、`show-icon`、`show-arrow` 和 `expandable`/`v-model` 组合备注、图标、箭头和展开内容。视觉调整只使用其 `--van-title-bar-*` 公开变量。
|
|
29
29
|
- `card`、`tag`、`badge`、`notice-bar`、`image`、`icon`:内容展示与状态标识。
|
|
30
|
-
- `
|
|
31
|
-
- `content-panel
|
|
30
|
+
- `action-sheet`:上下文动作或专用面板不能承接的混合任务采用已有动作列表变体或模拟器「自定义面板」;插槽只组合已有组件,保持示例原有结构和视觉。动态面板禁止以 `popup`、`share-sheet`、`popover` 等替代,详见 `dynamic-panel-policy.md`;锚定气泡仍按其原用途使用。
|
|
31
|
+
- `content-panel`:承载阅读、详情与确认的分组内容,使用 `v-model:show`、`title`、`confirm-text`、`show-footer` 和 `confirm`/`close` 事件完成打开、确认与关闭;用 `footer` 插槽组合既有操作组件。内部优先组合 `cell`、`blue-mark-header`、`title-bar`、`material-display-bar`;保持既有面板样式,公开 CSS 变量不是自行调整视觉的授权。
|
|
32
|
+
- `tree-select-panel`:树形数据单选/多选的专用面板;从 README/demo 已有单/多选、搜索、级联、分级选择显隐与加载组合中选型,不以 `action-sheet` + `tree-select` 手动复刻。
|
|
32
33
|
- `dialog`、`toast`、`notify`:确认、短反馈与顶部通知;不得重复封装确认弹窗或全局提示。
|
|
33
34
|
- `friendly-tip`、`popover`:基于触发元素的引导说明和轻量操作菜单。一次性友好引导使用 `friendly-tip`,点击空白处关闭;不要手写定位气泡。
|
|
34
35
|
- `swipe`、`swipe-item`、`swipe-cell`、`collapse`、`grid`、`index-bar`:浏览、滑动操作、折叠和网格内容。
|
|
35
36
|
|
|
36
37
|
## 选型规则
|
|
37
38
|
|
|
38
|
-
-
|
|
39
|
+
- 动态面板必须按 `dynamic-panel-policy.md` 从六类面板及其已有变体中选型:阅读/详情/确认用 `content-panel`,表单用 `form-panel`,扁平单选/多选用 `radio-panel` / `checkbox-panel`,树形选择用 `tree-select-panel`,上下文动作或混合任务用 `action-sheet`。不允许轻量 `popup` 例外或擅改面板样式;纯二次确认用 `dialog`,短暂提示用 `toast` / `notify`,不得用反馈组件替代业务面板。
|
|
39
40
|
- 可分页的业务列表:组合 `list`、`pull-refresh`、`empty`、`loading`,不要手写重复加载状态。
|
|
40
41
|
- 页面首次进入:纯色页面背景叠加 `loading type="illustration"`,数据就绪后再展示内容;局部加载按实际范围使用 `loading` 或 `skeleton`。
|
|
41
42
|
- 需要展示字段名称与回显值时优先使用 `label`,并让左侧标签文本尽量自带冒号;字段成组或类型较多时选择 `info-card` + `label`。只有简单、不需要统一字段样式或展开逻辑的内容才组合 `cell-group` 或 `card`。
|
|
@@ -31,12 +31,17 @@
|
|
|
31
31
|
|
|
32
32
|
当“照片/视频”标题只描述其下方上传区域时,标题必须合并进 `uploader` 的 `label`,使用「图片/视频表单」的既有卡片、上传和预览布局。视频通过 `accept="image/*,video/*"` 和既有预览事件处理;不得另绘拍照/上传入口、缩略图或必填星号。
|
|
33
33
|
|
|
34
|
-
##
|
|
34
|
+
## 动态面板的示例匹配
|
|
35
|
+
|
|
36
|
+
所有面板及二级触发严格执行 `dynamic-panel-policy.md`。以下仅作语义匹配提示;必须查看对应组件的完整 README/demo,选择已有样式变体与变量组合,不得擅改面板 CSS/Less 或通过主题覆盖修改视觉。
|
|
35
37
|
|
|
36
38
|
| 页面意图 | 优先模拟器示例 | 典型公开能力 | 不适用时机 |
|
|
37
39
|
| --- | --- | --- | --- |
|
|
38
|
-
|
|
|
39
|
-
|
|
|
40
|
+
| 内容阅读、详情或阅读后确认 | 【内容面板】 | `content-panel` 的公开内容与确认能力 | 实际任务为编辑或选择时 |
|
|
41
|
+
| 字段录入、校验与提交 | 【表单面板】 | `form-panel` 的公开表单与提交能力 | 仅展示或选择时 |
|
|
42
|
+
| 树形/层级选项单选或多选 | 【树选择面板】 | `tree-select-panel` 已有单/多选、搜索、级联与加载组合 | 选项实际是扁平枚举时 |
|
|
43
|
+
| 扁平选项只需要单选 | 【单选面板】 | `radio-panel` 的原选中值与 `select` 事件 | 树形数据,或同时存在非同构字段、复杂条目或批量操作时 |
|
|
44
|
+
| 扁平选项只需要复选 | 【多选面板】 | `checkbox-panel` 的原选中数组与 `confirm` 事件 | 树形数据,或同时存在非同构字段、复杂条目或批量操作时 |
|
|
40
45
|
| 当前上下文下的复杂选择、筛选或批量处理面板;内部同时有标题、关闭、多个非同构条目和确认操作 | 【动作面板】「自定义面板」 | `v-model:show`、`title`、`closeable`、`close-on-click-overlay`、`lock-scroll` 与默认插槽;在示例既有白色卡片内容区组合已有组件 | 仅阅读/确认、标准表单、纯单选或纯多选可完整由 `content-panel`、`form-panel`、`radio-panel`、`checkbox-panel` 承接时 |
|
|
41
46
|
|
|
42
47
|
自定义面板的默认插槽用于组合【标题栏】、【单元格】、【字段展示】、单选/多选和既有操作组件;例如空间选择可保留原选中数组、可选数量、位置字段、标签、全选与下一步事件。保持该模拟器已有的灰色面板背景、标题区与白色卡片内容结构,不复制其 DOM 或覆盖动作面板样式;不得改用 `popup` 或手写遮罩、弹层和固定底栏。
|
|
@@ -89,4 +94,4 @@
|
|
|
89
94
|
- <官网中文组件名>:模拟器示例「<README 中的准确示例标题>」;<页面意图>,使用 `<实际 Props/插槽/变量>`;<未选其他示例的关键原因>。
|
|
90
95
|
```
|
|
91
96
|
|
|
92
|
-
若 README/demo 没有能语义匹配的示例或公开能力,不创建相似自定义结构,也不得自行调整组件样式以强行匹配;在组件缺口记录中说明已评估的示例、不能满足的原因和建议新增的变体/API。仅当产品经理明确提出具体样式调整时,才可在其确认范围内使用 README
|
|
97
|
+
若 README/demo 没有能语义匹配的示例或公开能力,不创建相似自定义结构,也不得自行调整组件样式以强行匹配;在组件缺口记录中说明已评估的示例、不能满足的原因和建议新增的变体/API。仅当产品经理明确提出具体样式调整时,才可在其确认范围内使用 README 已文档化的公开样式变量。涉及动态面板时还必须附上 `dynamic-panel-policy.md` 的逐入口验收记录,不能只记录基础示例或页面覆盖率。
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
## 页面结构与导航
|
|
6
6
|
|
|
7
7
|
- 应用外页面层级不超过 `5` 级;动态面板嵌套不超过 `2` 层。复杂且相对独立的功能使用独立页面;需要即时录入、查看或回显当前页面数据的轻量任务使用动态面板。
|
|
8
|
-
-
|
|
8
|
+
- 所有触发的动态面板严格执行 `dynamic-panel-policy.md`:阅读/详情/确认用 `content-panel`,表单用 `form-panel`,扁平单选/多选用 `radio-panel` / `checkbox-panel`,树形选择用 `tree-select-panel`,上下文动作或专用面板不能承接的混合任务用 `action-sheet` 已有变体。不得用 `popup` 等通用容器替代;不得擅自修改面板样式。通用页面布局建议不覆盖面板既有视觉。
|
|
9
9
|
- 有动态面板可触发时,页面触发器优先使用 `cell` 的【单元格】右图标样式:设置 `right-icon="arrow"` 并使用 `click` 事件打开面板;需要展示当前选择结果时使用 `value` 或 `note`。不得手写同类行入口或箭头图标。
|
|
10
10
|
- 普通下钻页面进入和返回使用左右转场;从左上角关闭的页面优先使用上下转场;展开与收起提供缓动效果。优先复用组件内置动效。
|
|
11
11
|
- 带返回箭头的页面支持从左侧边缘左滑返回;仅在宿主框架支持时启用,不得以页面 CSS 模拟系统手势。
|
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
# 动态面板强制选型与样式保护
|
|
2
|
+
|
|
3
|
+
## 范围与白名单
|
|
4
|
+
|
|
5
|
+
凡由点击、字段选择、菜单、按钮或业务状态触发,承载当前上下文内容、编辑、选择、筛选或动作的动态面板,均适用本规范。盘点必须包含首次打开、嵌套/二级面板、展开已选、更多操作、详情与条件分支;不得只检查初始页面可见部分。
|
|
6
|
+
|
|
7
|
+
| 任务语义 | 必须采用的面板 | 选型要求 |
|
|
8
|
+
| --- | --- | --- |
|
|
9
|
+
| 内容阅读、详情展示、阅读后确认 | 内容面板 `ContentPanel` / `content-panel` | 用公开内容、确认区和插槽承载内容 |
|
|
10
|
+
| 字段录入、编辑、校验与提交 | 表单面板 `FormPanel` / `form-panel` | 在面板既有结构内组合表单与字段 |
|
|
11
|
+
| 扁平选项单选 | 单选面板 `RadioPanel` / `radio-panel` | 采用其已有选项、选中态及选择行为 |
|
|
12
|
+
| 扁平选项多选 | 多选面板 `CheckboxPanel` / `checkbox-panel` | 采用其已有多选、已选回显和确认能力 |
|
|
13
|
+
| 树形/层级数据单选或多选 | 树选择面板 `TreeSelectPanel` / `tree-select-panel` | 优先于用动作面板加树自行拼装;按已有能力选择单/多选、搜索、级联、分级选择显隐与加载组合 |
|
|
14
|
+
| 上下文动作列表,或上述专用面板无法承接的混合选择、筛选、批量处理 | 动作面板 `ActionSheet` / `action-sheet` | 选用已有动作列表变体或「自定义面板」示例;插槽只组合既有组件 |
|
|
15
|
+
|
|
16
|
+
六类面板的所有已文档化样式变体与变量组合均属于候选,不得固定只用基础样式,也不得全部退化为 `ActionSheet`。数据是树形时,不因最终只选一个节点就改用扁平单选面板。
|
|
17
|
+
|
|
18
|
+
禁止使用 `Popup`、`Teleport` + 自绘遮罩、fixed 容器、第三方弹层或自建 wrapper 替代面板骨架;“内容很少”“轻量”“旧页面如此”均不是例外。`Picker`、`Cascader`、`Calendar`、`TreeSelect` 等仅作为合适面板内的内容组件,不能替代面板容器。
|
|
19
|
+
|
|
20
|
+
人员、位置、物料等既有业务组件仍优先承担业务内容,但不能作为绕过面板白名单的理由。核查其 README/demo 和实现中的面板承载:已使用白名单面板时直接复用,不额外嵌套一层;未使用或无法确认时记录组件缺口并反馈维护者,不得在页面中复制、改写其内部面板或私自改动组件库。
|
|
21
|
+
|
|
22
|
+
纯二次确认 `Dialog`、瞬时反馈 `Toast`/`Notify`、锚定气泡/引导及专用媒体预览不是本规范的业务动态面板,仍按原用途使用;不得用这些组件承载选择、表单、筛选或详情来规避白名单。
|
|
23
|
+
|
|
24
|
+
## 变体选择不等于样式修改
|
|
25
|
+
|
|
26
|
+
1. 阅读所选面板完整 README 和 demo;涉及变体时核对类型定义与 `var.less`。以实际安装版本为准,不编造 `variant`、`type`、插槽或主题变量。
|
|
27
|
+
2. 比较语义接近的已有示例,记录准确示例标题(无标题则记录 demo 场景)、Props/插槽/变量组合及其来源。使用已有公开配置切换样式变体,保持示例既有视觉,不复刻示例 DOM。
|
|
28
|
+
3. 默认保持面板背景、圆角、高度/留白、标题与关闭区、白色卡片、确认区、按钮、遮罩、安全区和动效原样。不得通过内联 `style`、`overlay-style`、`class`、`:deep()`、全局 CSS、`!important`、CSS/Less 变量或 `ConfigProvider` 主题覆盖来擅自改变面板视觉;公开样式变量存在不代表允许自由修改。
|
|
29
|
+
4. 页面级布局、24px 留白、二次卡片、轻量扩展或覆盖率例外不能用于改写面板样式。插槽可组合既有组件和业务内容,不得自绘标题/关闭/底栏等面板骨架。
|
|
30
|
+
5. 只有产品经理明确提出具体样式调整与目标并确认后,才可在确认范围内使用当前版本已文档化的公开样式变量;交付记录授权来源、变量与值。不得扩大调整范围、改源码或依赖私有 DOM/class。无授权且现有变体不能满足需求时,按 `component-gap-template.md` 反馈缺口并等待处理。
|
|
31
|
+
|
|
32
|
+
## 逐入口验收
|
|
33
|
+
|
|
34
|
+
动态面板合规必须覆盖全部触发入口,不得以页面整体 `90%` 覆盖率抵扣。逐一打开面板及其二级/条件分支,核对内容、选择回显、确认/取消、禁用、加载和关闭行为;同时检查代码差异中的样式、主题变量和通用弹层替代。无法运行时注明静态核查范围和未验证项,不宣称已完成交互验收。
|
|
35
|
+
|
|
36
|
+
交付中附上以下记录(没有动态面板时明确写“无”):
|
|
37
|
+
|
|
38
|
+
```md
|
|
39
|
+
## 动态面板验收
|
|
40
|
+
- 触发入口/条件与层级:<逐项列出,包括嵌套与展开已选>
|
|
41
|
+
- 任务语义 → 面板组件:<六类之一;业务组件同时注明其面板承载>
|
|
42
|
+
- 示例与变量组合:<准确 README/demo 来源、实际 Props/插槽/预置变体>
|
|
43
|
+
- 样式保护:<未改动;或明确授权来源及公开变量、值、范围>
|
|
44
|
+
- 行为验证:<打开、回显、确认/取消、关闭及相关状态;未验证项说明>
|
|
45
|
+
- 缺口:<无;或能力/承载缺口与反馈,不使用自绘替代>
|
|
46
|
+
```
|
|
@@ -38,12 +38,14 @@
|
|
|
38
38
|
| 多个标签构成一个详情字段 | `label type="tag"` | 保留字段名与标签数组;不改为裸 `tag` 流 |
|
|
39
39
|
| 搜索 | 【搜索】`search variant="pure"` | 保留既有搜索绑定与事件 |
|
|
40
40
|
| 图片、视频、文件上传 | 【文件上传】`uploader` | 图片/视频选择模拟器示例「图片/视频表单」:以组件 `label` 呈现标题,`accept="image/*,video/*"`、`multiple`、`max-count="9"`、`preview-size="70"`;不自绘上传网格 |
|
|
41
|
-
|
|
|
41
|
+
| 阅读/详情/确认、表单、扁平单选/多选、树形选择动态面板 | `content-panel` / `form-panel` / `radio-panel` / `checkbox-panel` / `tree-select-panel` | 按任务类型强制匹配;不能承接的混合任务使用 `action-sheet` 已有变体;禁止轻量 `popup` 例外,见 `dynamic-panel-policy.md` |
|
|
42
42
|
| 当前上下文的复杂动态面板:标题/关闭、多类型选择条目、筛选或批量操作共同出现 | 【动作面板】`action-sheet` | 使用模拟器示例「自定义面板」:默认插槽在既有白色卡片内容结构中组合组件,不手写弹层骨架 |
|
|
43
43
|
| 页面级主次操作 | 【动作栏】`bottom-action-bar` | 固定操作栏,不自行实现 footer |
|
|
44
44
|
|
|
45
45
|
### 3. 变量与模拟器变体匹配
|
|
46
46
|
|
|
47
|
+
动态面板先执行 `dynamic-panel-policy.md` 的六类白名单与样式保护规则;树形单选/多选必须使用 `tree-select-panel`,不得因最终选中数量或面板复杂度改为扁平选择或手动拼装。
|
|
48
|
+
|
|
47
49
|
组件确定后,再根据元素盘点的字段、状态与视觉结构选择 README/demo 中的具体示例。优先使用已有 Props、事件和插槽;不得将 CSS 变量或页面样式作为第一选择。
|
|
48
50
|
|
|
49
51
|
- **标题**:一级标题固定选 `blue-mark-header`;二级标题固定选默认 `title-bar`。仅在存在真实必填、操作、备注、箭头或展开状态时开启相应 Props。
|
|
@@ -25,7 +25,7 @@
|
|
|
25
25
|
|
|
26
26
|
1. 页面含白色卡片时,用 `background` 承载页面内容:一级页面使用 `theme="default"`,其他层级页面使用 `theme="gray"`。
|
|
27
27
|
2. 顶部搜索使用 `search variant="pure"` 的【搜索】纯净样式;沿用既有 `v-model` 与 `search` 事件连接筛选逻辑,不手写搜索输入区域。
|
|
28
|
-
3. 工单场景使用 `work-order-filter
|
|
28
|
+
3. 工单场景使用 `work-order-filter`,其触发面板也须按 `dynamic-panel-policy.md` 核查承载;其他复杂条件按语义使用 `form-panel` 或 `action-sheet` 已有变体组合现有选择组件,不得使用 `popup` 替代。
|
|
29
29
|
4. 搜索触发后自动聚焦;非业务必需时使用 `show-action` 和 `cancel` 提供取消操作。使用 `pull-refresh` + `list` 呈现数据,首屏/分页加载使用 `loading`,无结果使用 `empty`,末页显示无更多数据提示。
|
|
30
30
|
5. 简单列表项使用 `cell` 或 `card`;工单需要展示标签、位置、展开详情或行内操作时使用 `work-order-card`,并与 `background` 组合;状态使用 `tag` 或 `badge`。
|
|
31
31
|
|
|
@@ -56,8 +56,8 @@
|
|
|
56
56
|
|
|
57
57
|
1. 有动态面板可触发时,优先使用 `cell` 的【单元格】右图标样式(`right-icon="arrow"` + `click`)显示当前选择结果并触发面板;结果使用 `value` 或 `note` 回显。
|
|
58
58
|
2. 选项不超过 3 个且文本短时可外露单选;其他单选及所有复杂选择均使用面板。多选枚举选项超过 6 个时,优先选择组件库的底部多选快捷操作能力。
|
|
59
|
-
3.
|
|
60
|
-
4.
|
|
59
|
+
3. 扁平动态单选必须使用 `radio-panel`,通过 `v-model` 和 `select` 同步;扁平动态多选必须使用 `checkbox-panel`,通过 `v-model` 和 `confirm` 同步;树形单选/多选必须使用 `tree-select-panel`。需要录入/提交时使用 `form-panel`,需要阅读/详情/确认时使用 `content-panel`。
|
|
60
|
+
4. 使用业务组件完成选择并按 `dynamic-panel-policy.md` 核查其面板承载;通用场景的 `picker`、`cascader`、`tree-select`、`calendar` 等只作为合适面板内的内容组件。专用面板无法承接的混合任务使用 `action-sheet` 已有变体或「自定义面板」示例;即使轻量内容也不得改用 `popup`。保留面板既有样式,逐个触发入口验收。
|
|
61
61
|
5. 使用对应 `change`、`confirm`、`select` 事件同步页面状态,不读取组件内部 DOM。
|
|
62
62
|
|
|
63
63
|
## 楼层空间选择
|
|
@@ -6,6 +6,7 @@
|
|
|
6
6
|
- 必须阅读目标组件 README 和 demo 后再使用 API。
|
|
7
7
|
- 必须处理 loading、empty、error、disabled 或 submitting 等与页面类型相关的状态;整个页面首次进入时,使用纯色背景叠加 `loading type="illustration"` 进行过渡。
|
|
8
8
|
- 必须在最终回复、PR 描述或交付说明中附上组件复用清单。
|
|
9
|
+
- 所有触发的动态面板必须执行 `dynamic-panel-policy.md` 的六类面板白名单、变体选型、样式保护和逐入口验收;面板合规要求为全部覆盖,不能使用页面 `90%` 覆盖率、轻量内容或通用样式扩展抵扣。
|
|
9
10
|
|
|
10
11
|
## 页面组件覆盖率:所有任务的强制规则
|
|
11
12
|
|
|
@@ -43,7 +44,7 @@
|
|
|
43
44
|
|
|
44
45
|
- 接口调用、页面路由、业务状态、数据转换和权限判断。
|
|
45
46
|
- 仅服务于当前页面的展示组合;不得将其抽成可替代组件库能力的通用组件。
|
|
46
|
-
-
|
|
47
|
+
- 用公开 API、插槽和文档明确的扩展点组合业务内容。样式定制仅限产品经理明确提出并确认的具体调整;动态面板还须遵守 `dynamic-panel-policy.md`,不得把公开 CSS 变量当作自由修改组件样式的授权。
|
|
47
48
|
|
|
48
49
|
## 交付前自查
|
|
49
50
|
|
|
@@ -59,6 +60,9 @@
|
|
|
59
60
|
- 空数据:<处理方式>
|
|
60
61
|
- 失败/提交中:<处理方式>
|
|
61
62
|
|
|
63
|
+
## 动态面板验收
|
|
64
|
+
- <按 dynamic-panel-policy.md 逐入口记录面板、示例/变量、样式保护与行为验证;无则写“无”>
|
|
65
|
+
|
|
62
66
|
## 业务与数据兼容核查
|
|
63
67
|
- 接口调用、请求方法与参数:未改动 / <经授权的变更>
|
|
64
68
|
- 响应字段映射与数据展示内容:未改动 / <经授权的变更>
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
|
|
11
11
|
## 列表页
|
|
12
12
|
|
|
13
|
-
搜索功能统一使用 `search variant="pure"` 的【搜索】纯净样式,并沿用 `v-model`、`search`、`cancel` 连接既有筛选逻辑。组合 `pull-refresh`、`list`、`loading`、`empty` 表达首屏、刷新、分页、无数据和失败状态。筛选条件复杂时优先使用 `work-order-filter
|
|
13
|
+
搜索功能统一使用 `search variant="pure"` 的【搜索】纯净样式,并沿用 `v-model`、`search`、`cancel` 连接既有筛选逻辑。组合 `pull-refresh`、`list`、`loading`、`empty` 表达首屏、刷新、分页、无数据和失败状态。筛选条件复杂时优先使用 `work-order-filter` 并核查其面板承载;需要动态表单时使用 `form-panel`,专用面板不适用的混合任务使用 `action-sheet` 已有变体或「自定义面板」示例。所有触发面板均按 `dynamic-panel-policy.md` 执行,禁止轻量 `popup` 例外,不将筛选逻辑分散在列表项内。
|
|
14
14
|
|
|
15
15
|
## 详情页
|
|
16
16
|
|
|
@@ -24,4 +24,4 @@
|
|
|
24
24
|
|
|
25
25
|
## 样式扩展
|
|
26
26
|
|
|
27
|
-
先查目标组件的 `var.less` 与 `src/style
|
|
27
|
+
先查目标组件的 `var.less` 与 `src/style/`,优先原样使用已有样式变体与变量组合;未有产品经理明确提出并确认的具体调整,不得修改组件视觉。动态面板严格执行 `dynamic-panel-policy.md`,公开变量不构成擅改样式的授权;禁止依赖内部 DOM 层级、覆盖私有 class 或复制组件源码样式。
|