---
description
glob
alwaysApply: true
---

## 技术栈

Vue3 + Element Plus + Pinia + Axios + TypeScript + Vite

## UI 相关编码要求

- 当有上下两个子表时，使用 `src/components/splitDiv/splitDiv.vue` 组件，使用时注意传递对应的 props 和插槽
- 表格相关布局时，使用 `src/components/TableView.vue` 组件，使用时注意传递对应的 props 和插槽
- `ElDialog`组件中`footer`插槽都放在中间位置
- 写入表格`columns`时，如果需要对齐，使用`align`属性，数字相关的列, `align`属性值为`right`，长度一致的列, `align`属性值为`center`, 长度不一致的列, `align`属性值为`left`

## 接口相关

- 所有接口统一放在 `src/api/`目录下，当模块多时，可按模块创建子目录，例如 `src/api/factoryOrderNew/xxx1`、`src/api/factoryOrderNew/xxx2`、`src/api/factoryOrderNew/xxx3`

## TS 类型定义相关

- 所有类型定义统一放在 `src/types/`目录下，当模块多时，可按模块创建子目录，例如 `src/types/factoryOrderNew/xxx1`、`src/types/factoryOrderNew/xxx2`、`src/types/factoryOrderNew/xxx3`

## 代码编写原则

- 只编写解决问题所需的最少代码
- 避免冗余实现和过渡设计
- 实现一个复杂功能时，需要合理拆分组件，使每个文件的代码更易维护
- 封装组件时，要考虑组件的复用性
