AgentSkillsCN

vue-crud

生成 Vue3 + Element Plus 标准的 CRUD 模块代码。当用户主动要求使用 company-crud-maker,或需要对现有 Vue 代码进行规范化与重构时,此技能将助您事半功倍。

SKILL.md
--- frontmatter
name: vue-crud
description: 生成 Vue3 + Element Plus 标准 CRUD 模块代码。此技能应在用户主动要求使用 company-crud-maker,或需要规范化/重构现有 Vue 代码时触发。

Company CRUD Maker

基于标准骨架模板和原子化规则,生成 Vue 3 + Element Plus CRUD 模块代码。

核心原则

需要什么功能,就按对应骨架模板生成对应文件。不将多个功能合并到一个文件中。

  • 每个文件严格按照对应骨架模板的结构、class、代码规范生成
  • 使用模板定义的标准 class,不自创 class 名称
  • 生成代码前阅读对应的规则文件

按需生成规则

重要:根据用户指定的页面和按钮智能推断需要生成的内容。

页面推断规则

  1. 显式指定优先:用户在 需要生成的页面 中明确指定的页面必须生成
  2. 按钮自动推断:根据用户定义的按钮自动推断需要的页面
按钮类型自动推断需要的页面
添加、新增DataUpdate
编辑、修改DataUpdate
详情、查看DataShow
导入DataImport

示例

用户需求:

code
需要生成的页面: index, DataTable
顶部按钮: 添加(50%抽屉)

推断结果:

  • ✅ 生成 index.vue、DataTable.vue、DataUpdate.vue
  • ✅ index.vue 包含编辑抽屉和 handleAdd 函数
  • ❌ 不生成 DataShow.vue(用户未指定,也没有"详情/查看"按钮)
  • ❌ index.vue 不包含详情抽屉

index.vue 动态裁剪规则

根据推断结果,index.vue 只包含需要的代码:

推断需要的页面index.vue 包含的代码
DataTable组件导入、ref、基本事件
DataUpdate编辑抽屉、handleAdd、handleUpdate、updateVisible
DataShow详情抽屉、handleShow、showVisible
DataImport导入抽屉、handleImport、importVisible

触发场景

  • "帮我生成一个用户管理的 CRUD 模块"
  • "按照公司规范重构这个 Vue 页面"
  • "使用 company-crud-maker 创建订单列表页"

使用流程

  1. 确定页面类型 → 选择对应的骨架模板
  2. 阅读骨架模板 → 从 assets/ 获取基础框架
  3. 阅读规范清单 → 确认代码符合所有规范
  4. 生成代码 → 确保代码符合所有规则

骨架模板

页面类型模板文件输出文件
模块入口skeleton-indexindex.vue
列表页skeleton-data-tableDataTable.vue
表单页skeleton-data-updateDataUpdate.vue
详情页skeleton-data-showDataShow.vue
导入页skeleton-data-importDataImport.vue
日志表格skeleton-data-log-tableDataLogTable.vue

规范清单

生成代码前阅读相关规范。

必须遵守

规范Impact位置
不使用 .then() 链式调用HIGHapi-request-pattern
ElMessageBox 使用 async/awaitHIGHdialog-message-box
不使用 style 属性HIGHcss-class-standard
列宽使用 $tableItemWidthCalculation(n)HIGHtable-column-width
不手动调用 ElMessageHIGHaction-success-no-message
Vue 组件代码组织顺序HIGHcode-organization-order

代码规范

规范Impact位置
父子组件通信命名规范HIGHcode-naming-convention
函数注释规范MEDIUMcode-function-comment

布局规范

规范Impact位置
详情页/编辑页小标题HIGHpage-subfield-title

API 相关

规范Impact位置
分页参数规范 (offset/rows)HIGHapi-pagination-params

表格相关

规范Impact位置
操作列按钮规范 (>3个用dropdown)HIGHtable-operation-column
筛选区标准样式LOWtable-filter-area

表单相关

规范Impact位置
el-select/el-date-picker 空值处理HIGHform-reset-null-prevention
输入框属性规范MEDIUMform-input-text
选择器属性规范MEDIUMform-select

权限控制

规范Impact位置
表头按钮权限控制HIGHpermission-table-header-button
行内按钮权限控制HIGHpermission-table-row-button
v-if 与 v-show 使用规范MEDIUMpermission-v-if-not-v-show

工具函数

规范Impact位置
日期格式化 (formatDateString)HIGHutil-format-date
敏感信息脱敏HIGHutil-format-sensitive
金额格式化LOWutil-format-amount

交互规范

规范Impact位置
删除操作确认弹窗HIGHaction-delete-confirm

组件规范

规范Impact位置
BaseShowFileList 附件列表展示HIGHcomponent-base-show-file-list
BaseNoData 空状态占位HIGHcomponent-base-no-data
BaseUploadAttachment 附件上传HIGHcomponent-base-upload-attachment
BaseShowImageList 图片列表展示HIGHcomponent-base-show-image-list
BaseUploadCropImage 图片裁剪上传HIGHcomponent-base-upload-crop-image
BaseTagSelect 标签选择器LOWcomponent-base-tag-select
BaseLocationShow 位置信息展示LOWcomponent-base-location-show