Migrate old admin modules and local crud deps

Port pages for data forms, score admin, student maintenance,
vacation records, menu routing, and workbench. Add team switching,
dynamic menu loading, viewport scaling, and bundled local fast-crud
packages.
This commit is contained in:
2026-11-02 12:21:25 +08:00
parent 47dd605067
commit 792131228a
232 changed files with 60676 additions and 604 deletions
+60
View File
@@ -0,0 +1,60 @@
# lib:新平台自封装组件
本目录存放**本项目自己二次封装**的组件构建产物,源码在 `F:\源码\fast-crud`,构建后复制到这里。
| 目录 | 对应源码 | 说明 |
| --- | --- | --- |
| `fast-crud/` | `F:\源码\fast-crud\packages\fast-crud` | 表格核心(按钮样式、列对齐与排序、下载导出、插槽兼容等定制都在这里) |
| `ui-element/` | `F:\源码\fast-crud\packages\ui\ui-element` | Element Plus 适配器(图标等定制) |
| `ui-interface/` | — | 未做二次开发,直接使用官方包 `@fast-crud/ui-interface`(在 `package.json` 中声明) |
## 为什么放在这里
- 不再覆盖 `node_modules/@fast-crud/*`:执行 `pnpm install` 不会把定制内容冲掉。
- 官方包 `@fast-crud/fast-crud`、`@fast-crud/ui-element` 已从 `package.json` 依赖中移除,避免误用官方版本。
- 引入方式:`vite.config.ts` 里做了别名映射,代码里仍然写 `@fast-crud/fast-crud`、`@fast-crud/ui-element`,无需改业务代码:
```ts
resolve: {
alias: {
"@fast-crud/fast-crud": resolve(__dirname, "lib/fast-crud"),
"@fast-crud/ui-element": resolve(__dirname, "lib/ui-element")
}
}
```
## 更新流程(改完 fast-crud 源码后)
1. 在 `F:\源码\fast-crud\packages\fast-crud` 构建(只跑 vite build,跳过有问题的 tsc):
```powershell
cd F:\源码\fast-crud\packages\fast-crud
pnpm exec vite build --emptyOutDir
```
2. 在 `F:\源码\fast-crud\packages\ui\ui-element` 同样构建(改了适配器才需要):
```powershell
cd F:\源码\fast-crud\packages\ui\ui-element
pnpm exec vite build --emptyOutDir
```
3. 覆盖本目录的 dist:
```powershell
Remove-Item "F:\老项目\new-school-iot-admin\lib\fast-crud\dist" -Recurse -Force
Copy-Item "F:\源码\fast-crud\packages\fast-crud\dist" "F:\老项目\new-school-iot-admin\lib\fast-crud\dist" -Recurse
```
4. 清 Vite 预构建缓存并重启开发服务:
```powershell
Remove-Item "F:\老项目\new-school-iot-admin\node_modules\.vite" -Recurse -Force
cd F:\老项目\new-school-iot-admin
pnpm dev
```
## 注意
- `lib/` 下是构建产物,**不要手改**;要改行为请改 `F:\源码\fast-crud` 源码后重新构建。
- 版本号用 `1.29.0-local.1`,表示「基于官方 1.29.0 的本地定制版」,不要改成官方版本号。