forge-form-designer 前端组件目录。formDesignerSchema.js,补充组件树查找、插入、移动、删除、复制、属性更新等纯函数。BusinessFormDesigner.vue,默认使用新版画布,保留旧 FormCreate 画布回退按钮。git diff --check -- forge-admin-ui/src/views/app-center/components/designer/BusinessFormDesigner.vue forge-admin-ui/src/views/app-center/components/designer/form-first/formDesignerSchema.js forge-admin-ui/src/views/app-center/components/designer/forge-form-designer code-copilot/changes/lowcode-form-designer-smooth-dnd code-copilot/memory/preferences.md
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use 20.19.0 && pnpm exec eslint src/views/app-center/components/designer/BusinessFormDesigner.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormDesigner.vue src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/form-first/formDesignerSchema.js
结果:通过。命令前置的 nvm use 打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use 20.19.0 && pnpm build
结果:通过,Vite 构建完成。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use 20.19.0 仍打印 N/A 未安装提示,但后续 pnpm 命令实际执行成功;后续可单独排查本机 nvm 默认版本配置。pnpm dev -- --host 127.0.0.1 启动失败,报错 EMFILE: too many open files, watch;提升 ulimit -n 65536 后仍失败,判断为本机文件监听限制。pnpm preview -- --host 127.0.0.1 在默认沙箱下绑定端口失败:listen EPERM;经用户授权后以提升权限启动成功。Vite preview 服务已启动并保留供本地检查:
http://localhost:4173/forgecd forge-admin-ui && source ~/.nvm/nvm.sh && nvm use 20.19.0 && pnpm preview -- --host 127.0.0.1rowGap / columnGap。formDesignerSchema 修正同父级向下移动时的插入位置偏移;调整列数时保留字段跨度,只对超出范围的跨度做合法化。row.props.columns,支持后续属性面板调整列数。AiFormLayoutNodes 读取 row.props.columns,保证设计态 row 列数发布后不丢失。forge-form-designer/README.md 说明模块职责边界。git diff --check -- forge-admin-ui/src/views/app-center/components/designer/form-first/formDesignerSchema.js forge-admin-ui/src/views/app-center/components/designer/forge-form-designer forge-admin-ui/src/views/app-center/components/designer/BusinessFormDesigner.vue forge-admin-ui/src/components/ai-form/AiFormLayoutNodes.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/BusinessFormDesigner.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormDesigner.vue src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js src/views/app-center/components/designer/form-first/formDesignerSchema.js src/components/ai-form/AiFormLayoutNodes.vue
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 2m 59s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。NTabs/NTabPane 渲染,新增页签管理:可新增页签、重命名、设置 name、上移/下移、删除,并可一键选中页签内容继续配置。NCollapse/NCollapseItem 渲染,新增面板管理:可新增面板、重命名、设置 name、排序、删除,并可进入面板内容配置。addable、justifyContent、tabsPadding、paneStyle、tabStyle,Collapse 透传 defaultExpandedNames、expandedNames,让更多属性里的配置能直接反映到预览。NButton 渲染,支持按钮文字、类型、尺寸、block、disabled 和更多 Button Props 配置。props.__events,支持声明 click/change/focus/blur/clear/mounted 触发,以及设置值、清空值、设置选项、显隐、禁用启用、打开弹窗、调用接口等动作。cd forge-admin-ui
source ~/.nvm/nvm.sh; nvm use v20.19.0; pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not installed.,但 eslint 实际执行并返回 0。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh; nvm use v20.19.0; NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 25s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。http://localhost:3001/。组件尺寸(size)、可清空(clearable),保留 Naive 文档 prop 名方便对照。AiCrudPage 预览;移除下方额外字段节点区域,避免和 CRUD 自带查询/表格/编辑区域重复。AiCrudPage 根据子字段生成查询、列和编辑 schema。updateCrudFieldConfigById(),支持在 CRUD 区块面板内直接更新任意子字段的表格列配置,不需要先选中隐藏字段。cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 18s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。naive-ui 组件类型定义抽象为属性 schema,覆盖输入、文本域、数字/金额、选择、字典选择、单选/按钮单选、多选、开关、滑块、评分、颜色、级联、树选、日期/时间、Card、Tabs、Collapse 的常用可序列化 props。CheckboxGroup Props 和单个选项的 Checkbox 属性:选项列表支持 label/value/disabled,Checkbox 额外支持 indeterminate、focusable 和 option props JSON,并在 AiFormItem 中透传到真实 n-checkbox。AiCrudPage 设计态预览的 columns/search/edit schema 已消费字段级 CRUD 配置,配置不再只是保存到 schema。cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
git diff --check -- forge-admin-ui/src/components/ai-form/AiFormItem.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 10s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。AiFormItem.vue 单独跑 eslint 会触发该老文件大量既有缩进规则错误;本轮未格式化整文件,使用 git diff --check 和生产构建覆盖新增模板透传的有效性。selected-summary,保留右侧面板标题和“表单”返回按钮,减少与顶部信息重复。size、bordered、embedded、segmented、hoverable;Tabs 支持 type、size、placement、trigger、animated、closable;Collapse 支持 accordion、arrowPlacement、displayDirective、triggerAreas。format、valueFormat、placement、actions、bordered、inputReadonly 等常用配置,并继续通过真实字段 props 下发给 AiFormItem。cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 14s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。node_modules/naive-ui 中的当前版本类型定义为准。props.__crudRoles。AiCrudPage 设计态预览改为按 __crudRoles 过滤生成 searchSchema、columns、editSchema,不再只能默认全部字段或前几个字段。n-card、n-tabs、n-collapse 渲染,同时内部仍保留设计器节点用于选中、配置和拖拽。cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js src/views/app-center/components/designer/form-first/formDesignerSchema.js
结果:通过。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js forge-admin-ui/src/views/app-center/components/designer/form-first/formDesignerSchema.js
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 2m 38s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。n-color-picker,包含组件背景色、组件边框色、表单背景色、表单边框色,并保留“默认”快速清空。AiCrudPage lazy 渲染,基于区块子字段生成 searchSchema、editSchema 和 columns,并传入 apiConfig、rowKey、crudOptions。AiFormItem 已支持能力,补充颜色选择、滑块、评分、按钮单选、级联、树选择、远程选择、日期/时间范围、年月和文本展示模板。cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js src/views/app-center/components/designer/form-first/formDesignerSchema.js
首次结果:失败。原因是手工 patch 引入 tab 缩进,以及 ForgeFormCanvasNode.vue 两处三元表达式不符合项目 multiline-ternary 风格。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint --fix src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过,自动修复缩进和三元表达式格式。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js src/views/app-center/components/designer/form-first/formDesignerSchema.js
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js forge-admin-ui/src/views/app-center/components/designer/form-first/formDesignerSchema.js
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 18s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。ForgePropertyPanel 信息结构:顶部标题与关闭按钮、线型 tabs、纵向配置项,按“基础配置 / 样式配置 / 布局 / 状态 / CRUD”分组。AiForm 已有能力:表单大小、列数、标签位置、标签对齐、标签宽度、行列间距、校验反馈、隐藏必填星号、行内反馈、表单 class 和自定义 style。props.__designerStyle 中的 customStyle、width、height、minHeight、backgroundColor、borderColor、borderStyle、borderRadius、boxShadow、opacity。schema.layout.formStyle,并在 schema normalize 时保留 formStyleText。AiCrudPage props:搜索表单、表格、编辑表单、弹窗、分页、工具栏、导入导出、渲染模式、表格边框/斑马纹/多选等。cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js src/views/app-center/components/designer/form-first/formDesignerSchema.js
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js forge-admin-ui/src/views/app-center/components/designer/form-first/formDesignerSchema.js
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 43s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。ForgeFormCanvasNode -> ForgeFormCanvas -> ForgeFormDesigner 事件链打开右侧属性栏;属性栏打开后切换选中节点会继续更新配置内容。crudBlock 从伪装成 card 的模板改为独立布局组件,默认带 AiCrudPage.apiConfig 风格配置:list/detail/add/update/delete、rowKey、搜索/分页/导入导出/弹窗等选项。crudBlock 设计态画布增加系统 CRUD 预览外壳,并继续保留内部查询字段/表格布局子节点投放能力。forgeToFormCreate 将 crudBlock 回退转换为 elCard,避免旧 FormCreate 预览链路识别未知组件。cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgeFormDesigner.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js src/views/app-center/components/designer/form-first/formDesignerSchema.js src/views/app-center/components/designer/form-first/forgeToFormCreate.js
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormDesigner.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js forge-admin-ui/src/views/app-center/components/designer/form-first/formDesignerSchema.js forge-admin-ui/src/views/app-center/components/designer/form-first/forgeToFormCreate.js
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 30s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。container-type: inline-size,工具条按节点自身宽度响应,而不是按全屏宽度判断。360px 时,拖拽手柄从顶部居中移动到左上角,右侧保留必填开关、复制、删除和更多菜单,解决三列布局下工具重叠。280px 时隐藏“必填”文字,仅保留开关本体,进一步降低窄列拥挤。cd forge-admin-ui
pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过,无输出。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 12s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm build 实际执行成功。DragOutlined 图标旋转为横向显示。validation.required 和 requiredMessage。CopyOutlined 和 DeleteTrashOutlined SVG。cd forge-admin-ui
pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过,无输出。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 23s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm build 实际执行成功。cloneNode() 复制出的节点仍带 .canvas-node 和 scoped 属性,原节点样式里的 position: relative 优先级可能压过 .drag-follow-clone 的 position: fixed;本轮改为在创建 clone 时写入内联 position: fixed/top/left/zIndex/pointerEvents/transition/willChange,确保 clone 一定按 pointer 坐标移动。setPointerCapture(),并把 pointermove/pointerup/pointercancel 监听挂到 window 捕获阶段,避免事件被表单控件或节点内部结构截断。cd forge-admin-ui
pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过,无输出。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 25s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm build 实际执行成功。pointerdown 开启自管拖拽会话。pointermove 直接用 translate3d() 跟随鼠标移动,解决“只有灰色定位块动,被拖动元素不动”的问题。data-forge-node-id、data-forge-parent-id、data-forge-index,pointer 移动时用 elementFromPoint() 直接计算当前落点。moveDesignerComponent(),减少原生 drop 丢失导致“有时换位置不生效”的情况。forge-pointer-dragging,统一 cursor: grabbing 并禁用文本选择,提升拖动顺滑度。draggable 关闭,避免两套拖拽机制互相干扰。cd forge-admin-ui
pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue
结果:通过,无输出。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 10s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm build 实际执行成功。node-wrap 的 dragover.stop 截断事件冒泡后,跟手镜像收不到 document dragover 的问题:镜像位置监听改为捕获阶段。@drag="handleDrag",拖动过程中同时从源节点 drag 事件更新镜像位置,确保被拖动元素和鼠标同步移动。pointerdown 时记录的坐标计算,不再只依赖 dragstart.clientX/clientY,减少镜像与鼠标错位。drag 结束阶段浏览器可能给出 0,0 坐标,本轮增加保护,避免镜像瞬间跳到页面左上角。cd forge-admin-ui
pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过,无输出。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 22s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm build 实际执行成功。designerDragState.js,用共享 designerDropKey 保证画布同一时间只显示一个落点块,避免 root 顶部落点和节点前后落点同时出现造成“双灰块”。dragleave 不再立即清空落点,落点状态由下一次 dragover/drop/dragend 更新,避免表单控件子 DOM 反复触发 leave/enter 导致闪动。drag-follow-clone 跟随鼠标,原生 drag image 用透明 1px 元素遮掉,避免“只剩定位块在动”。cd forge-admin-ui
pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue src/views/app-center/components/designer/forge-form-designer/designerDragState.js
结果:通过,无输出。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/designerDragState.js
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 54s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm build 实际执行成功。http://localhost:4173/forge 已有 Vite preview 监听,PID 72372;该服务不是本轮启动,未停止。AiFormItem 渲染真实表单控件,不再常驻展示字段编码、组件标题和设计器卡片头。createForgeFieldTemplateComponent(),拖入后生成可发布的新字段节点。cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgeFormDesigner.vue src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer forge-admin-ui/src/views/app-center/components/designer/form-first/formDesignerSchema.js forge-admin-ui/src/views/app-center/components/designer/BusinessFormDesigner.vue forge-admin-ui/src/components/ai-form/AiFormLayoutNodes.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 17s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。/app-center/object/crm_follow_record?suiteCode=IN_OUT 进行人工交互确认。draggable="true",但 dragstart 只允许从 6 点拖动手柄触发,避免整块误拖。dragenter / dragover 阶段改为只判断 dataTransfer.types,payload 只在 drop 阶段读取,避免浏览器限制导致落点无法激活。DragOutlined 6 点 SVG。table/tableGrid 的设计器投放规则补齐:表格布局只接收表格单元格,表格单元格可接收字段和布局子项。cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js src/views/app-center/components/designer/form-first/formDesignerSchema.js
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFieldShelf.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgePropertyPanel.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/designerLayoutFactory.js forge-admin-ui/src/views/app-center/components/designer/form-first/formDesignerSchema.js
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 3m 59s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。dragstart 可能由外层 article 触发,不能只检查 event.target.closest('.drag-handle');本轮改为在拖拽手柄 pointerdown 时记录状态,随后外层节点 dragstart 放行。DragOutlined 拖拽手柄,贴近飞书组件顶部工具条布局。--forge-designer-drag-height,根落点和节点前后落点使用该高度渲染,形成和被拖动元素同高的灰色虚线落点块。cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 2m 21s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。dragover 计算:鼠标在节点上半区显示前置灰块,下半区显示后置灰块,松开后按当前灰块位置执行移动。node-overlay 内图标拆开定位:6 点拖拽图标固定在节点框内顶部居中,更多操作图标固定在节点框内右上角,不再两个图标挤在同一组里。beforeActive、afterActive、activeInside 状态,避免灰块残留。cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvas.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 3m 13s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。node-wrap 处理 dragover/drop,灰块只负责显示并设置 pointer-events: none,避免灰块展开后抢走鼠标事件导致反复 dragleave/dragenter。cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && pnpm exec eslint src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过。命令前置的 nvm use 仍打印 N/A: version "N/A" is not yet installed.,但 eslint 实际执行并返回 0。
git diff --check -- forge-admin-ui/src/views/app-center/components/designer/forge-form-designer/ForgeFormCanvasNode.vue
结果:通过,无输出。
cd forge-admin-ui
source ~/.nvm/nvm.sh && nvm use v20.19.0 && NODE_OPTIONS=--max-old-space-size=8192 pnpm build
结果:通过,Vite 构建完成,耗时约 1m 40s。
// 注释警告:Comments in CSS use "/* ... */" instead of "//"。src/store/index.js 动态导入与静态导入混用 chunk 警告。nvm use v20.19.0 仍打印 N/A 未安装提示,但 pnpm 命令实际执行成功。