@qilitt-mickey/vue3-temp-skill 1.1.20 → 1.1.21
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/package.json
CHANGED
|
@@ -125,13 +125,25 @@ export function getCustomerList(data: CustomerQuery, url: string) {
|
|
|
125
125
|
|
|
126
126
|
### 独立功能页容器
|
|
127
127
|
|
|
128
|
-
|
|
128
|
+
页面容器分两类,**禁止混用**:
|
|
129
|
+
|
|
130
|
+
| 场景 | 根节点 | 滚动落点 |
|
|
131
|
+
|------|--------|----------|
|
|
132
|
+
| 查询列表 | `el-card.vts-page-card` | 仅表格体内(`tableHeight`) |
|
|
133
|
+
| 长表单 / 详情 / 说明 | `bg-bg_color p-5` + `min-height: 100%` | `.app-main` 内 `el-scrollbar` |
|
|
134
|
+
| 定高画布(地图 / 流程图 / 大屏) | `vts-page-fill` + `h-full` + `overflow-hidden` | **页面内部**自管滚动 |
|
|
129
135
|
|
|
130
136
|
```vue
|
|
137
|
+
<!-- ✅ 详情 / 长表单(默认) -->
|
|
138
|
+
<div class="bg-bg_color p-5" :style="{ minHeight: '100%' }">
|
|
139
|
+
|
|
140
|
+
<!-- ✅ 定高画布(仅地图/流程图/大屏等) -->
|
|
131
141
|
<div class="vts-page-fill h-full pos-relative bg-bg_color p-5 overflow-hidden">
|
|
142
|
+
|
|
143
|
+
<!-- ❌ 详情页禁止 vts-page-fill / h-full / overflow-hidden(会裁切且外层滚不动) -->
|
|
132
144
|
```
|
|
133
145
|
|
|
134
|
-
查询列表定高卡 → `crud-pages
|
|
146
|
+
查询列表定高卡 → `crud-pages`;详情容器与三件套 → `detail-page`。
|
|
135
147
|
## 六、资产分层
|
|
136
148
|
|
|
137
149
|
附加 Hook/组件按功能模块加载(WebSocket、微信、附件、图表等)→ 见各专项与 `project-inventory`。
|
package/references/crud-pages.md
CHANGED
|
@@ -31,11 +31,11 @@ useTableSearch(formQuery, searchFn, url)
|
|
|
31
31
|
|------|------|
|
|
32
32
|
| 查询列表(定高) | `el-card.vts-page-card`(禁止 `100vh` 减顶栏定高);表格绑 `tableHeight`;仅表格体内滚动;分页在表格下方;整页无外层滚动条 |
|
|
33
33
|
| 树 + 表分栏 | 同上;左侧树、右侧表共用定高卡,高度仍走 `useTableSearch` 几何实测 |
|
|
34
|
-
| 长表单 / 详情 / 说明类 | 根节点 `min-height: 100%`(或 `:style="{ minHeight: '100%' }"
|
|
35
|
-
| 非 Card
|
|
34
|
+
| 长表单 / 详情 / 说明类 | 根节点 `min-height: 100%`(或 `:style="{ minHeight: '100%' }"`);**禁止** `vts-page-fill` / `h-full` / `overflow-hidden`;超出由 `.app-main` 内 `el-scrollbar` 滚动 |
|
|
35
|
+
| 非 Card 整页填满(地图/流程图/大屏) | 根节点加 `class="vts-page-fill"` + `height: 100%` / `h-full`;**仅此类定高场景** |
|
|
36
36
|
| Card 内边距 | 一律走 `--vts-card-padding`(桥接 `--card-padding`);换规范 / `--vts-margin` 变化由壳层 flex 链 + Hook 自动跟随 |
|
|
37
37
|
|
|
38
|
-
> **壳层原理**(`lay-content`):`.main-content` 用 `padding: var(--vts-margin)`(不用 margin
|
|
38
|
+
> **壳层原理**(`lay-content`):`.main-content` 用 `padding: var(--vts-margin)`(不用 margin);默认可滚动页 `el-scrollbar__view` / `.grow` 为 `min-height:100%; height:auto`;定高页 `.main-content:has(.vts-page-card|.vts-page-fill)` 为 `height: 100%` 并收回祖先链;`.vts-page-card` 填满。`html/body/#app/.app-wrapper/.main-container/.app-main` 均为 `height:100%; overflow:hidden`。禁止业务页 `100vh` 减顶栏定高。
|
|
39
39
|
|
|
40
40
|
## 列表标准样板(唯一完整示例)
|
|
41
41
|
|
|
@@ -377,6 +377,7 @@ async function onSubmit() {
|
|
|
377
377
|
| 额外模块不绑 `otherRef` | L8 |
|
|
378
378
|
| 只写 `toDetail`、详情路由缺 `activePath` | 三件套整段落盘(见 detail-page) |
|
|
379
379
|
| 裸 `router.push` 开详情 | `toDetail` + meta(见 detail-page) |
|
|
380
|
+
| 详情根节点 `vts-page-fill` / `h-full` / `overflow-hidden` | `min-height: 100%` + `bg-bg_color`;滚动交给壳层 `el-scrollbar`(见 detail-page ④) |
|
|
380
381
|
| `ReTableOperate :buttons` | `:list` |
|
|
381
382
|
| 操作列手写多颗 `el-button` / 自造更多菜单 | `ReTableOperate`;过多靠 `limit`(默认 3)进「更多」 |
|
|
382
383
|
| `@show-collapse` | `@should-show-collapse` |
|
|
@@ -58,6 +58,31 @@ const { id, mark } = getParameter as DetailParameter;
|
|
|
58
58
|
</script>
|
|
59
59
|
```
|
|
60
60
|
|
|
61
|
+
### ④ 详情页容器(滚动约定)
|
|
62
|
+
|
|
63
|
+
详情 / 编辑 / 查看页是**长内容页**,滚动交给壳层 `.app-main` 内 `el-scrollbar`。**禁止**根节点使用 `vts-page-fill` / `h-full` / `overflow-hidden`(那是定高画布专用)。
|
|
64
|
+
|
|
65
|
+
```vue
|
|
66
|
+
<template>
|
|
67
|
+
<div
|
|
68
|
+
v-loading.lock="pageLoading"
|
|
69
|
+
class="bg-bg_color p-5"
|
|
70
|
+
:style="{ minHeight: '100%' }"
|
|
71
|
+
>
|
|
72
|
+
<ReHeaderPage />
|
|
73
|
+
<!-- 表单 / 描述 / 版本记录等 -->
|
|
74
|
+
</div>
|
|
75
|
+
</template>
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
| 禁止 | 原因 |
|
|
79
|
+
|------|------|
|
|
80
|
+
| `class="vts-page-fill"` | 触发定高链,内容被裁切、外层滚不动 |
|
|
81
|
+
| `h-full` + `overflow-hidden` | 把超出内容锁死在视口内 |
|
|
82
|
+
| `el-card.vts-page-card` 包整页长表单 | 列表定高卡专用;详情走外层滚动 |
|
|
83
|
+
|
|
84
|
+
完整布局原理见 `layout-theme`「内容区高度与滚动」;列表页见 `crud-pages`。
|
|
85
|
+
|
|
61
86
|
## 概念
|
|
62
87
|
|
|
63
88
|
| 能力 | 字段 / API | 谁负责 |
|
|
@@ -91,3 +116,4 @@ toDetail(name, parameter, title?, model = "query") // model: "query" | "params"
|
|
|
91
116
|
2. `showLink: false` + `activePath` + 非空 `title` + 默认 `keepAlive`/`moreTags`
|
|
92
117
|
3. 列表只用 `toDetail`,禁止裸 `router.push`
|
|
93
118
|
4. 详情页必调 `initToDetail`;`name` 对齐;参数用 `getParameter`
|
|
119
|
+
5. 详情根容器:`min-height: 100%` + `bg-bg_color`;**禁止** `vts-page-fill` / `h-full` / `overflow-hidden`
|
|
@@ -367,8 +367,8 @@ $sideBarWidth: var(--sidebar-width, 208px);
|
|
|
367
367
|
|------|-------------|----------|
|
|
368
368
|
| 查询列表 | `el-card.vts-page-card`(无 inline `100vh`);表格绑 `useTableSearch().tableHeight` | 仅 `el-table` 体内;分页在表格下方 |
|
|
369
369
|
| 树 + 表分栏 | 同上定高卡;左右并排,高度走 Hook 几何实测 | 同查询列表 |
|
|
370
|
-
| 非 Card 整页填满 | 根节点 `class="vts-page-fill"` + `height: 100%` / `h-full` |
|
|
371
|
-
| 长表单 / 详情 / 说明 | `min-height: 100
|
|
370
|
+
| 非 Card 整页填满 | 根节点 `class="vts-page-fill"` + `height: 100%` / `h-full` | 内部区域自管滚动;**仅地图/流程图/大屏** |
|
|
371
|
+
| 长表单 / 详情 / 说明 | `min-height: 100%`;**禁止** `vts-page-fill` / `h-full` / `overflow-hidden`;不绑 `tableHeight` | `.app-main` 内 `el-scrollbar` |
|
|
372
372
|
| Card 内边距 | `--vts-card-padding` → `--card-padding` | 换规范 / `--vts-margin` 只改令牌;列表高度由壳层 + Hook 跟随 |
|
|
373
373
|
|
|
374
374
|
`.vts-page-card`:flex 填满 `.main-content:has(.vts-page-card)`,`overflow: hidden`,`.el-card__body` 高度 100%。样式在 `element-plus.scss` + `lay-content`。
|