Appearance
add 链路分析
源文件:
docs/front end/dm/lemes-web/src/views/devicemate/information/deviceType/add.vue前端 API:
docs/front end/dm/lemes-web/src/views/devicemate/api/information/deviceType/index.js后端落点:
lemes-cloud/lemes-business-devicemate/lemes-service-dm-device/lemes-service-dm-device-server/src/main/java/com/lenovo/lemes/service/dm/device/controller/DeviceTypeController.java/lemes-cloud/lemes-business-devicemate/lemes-service-dm-device/lemes-service-dm-device-server/src/main/java/com/lenovo/lemes/service/dm/device/service/impl/DeviceTypeServiceImpl.java主表:
device_type
Vue 组件总览
| 组件 | 层级路径 | 角色 | 是否主链路 | 是否直接CRUD | 独立MD | 跳转 | 一句话作用 |
|---|---|---|---|---|---|---|---|
index | index | 主页面 | 是 | 否 | 当前页 | 查看 | 承接 add 页面主入口、列表查询和业务操作入口。 |
spareParts | index > spareParts | 业务链路节点 | 是 | 否 | 否 | 查看 | 负责串联 importFile 等主链路节点,本身不直接提交核心请求。 |
importFile | index > spareParts > importFile | 业务化公共组件 | 是 | 否 | 否 | 查看 | 复用通用组件外壳,但当前页通过 :import-file-ajax 注入业务配置,承接业务处理。 |
spec | index > spec | 业务链路节点 | 是 | 否 | 否 | 查看 | 负责串联 importFile 等主链路节点,本身不直接提交核心请求。 |
importFile | index > spec > importFile | 业务化公共组件 | 是 | 否 | 否 | 查看 | 复用通用组件外壳,但当前页通过 :import-file-ajax 注入业务配置,承接业务处理。 |
safety | index > safety | 业务子模块 | 是 | 是 | 否 | 查看 | 负责 safety 模块的展示、操作编排和删除提交。 |
辅助组件说明
basicInfo:辅助组件,负责页面局部交互或展示,不直接承载新增/编辑主业务逻辑。iTitle:辅助组件,负责页面局部交互或展示,不直接承载新增/编辑主业务逻辑。iTable:负责通用列表渲染、分页、多选、排序和操作列承载,在spareParts/spec/safety中复用。index:辅助组件,负责页面局部交互或展示,不直接承载新增/编辑主业务逻辑。dialogs:负责通用弹窗容器、确认和关闭交互。meterReading:辅助组件,负责页面局部交互或展示,不直接承载新增/编辑主业务逻辑。
技术图

Flow 布局:
standard
Summary 布局:
standard
1. 页面概览
- 当前节点对应文件
docs/front end/dm/lemes-web/src/views/devicemate/information/deviceType/add.vue。 - 当前节点识别到 5 个重点组件、27 个辅助组件。
- 当前节点识别到 2 条业务页面跳转链路、2 个真实接口。
2. 上游入口
deviceType通过 <el-button> @click 跳转到当前页,路由为/default/devicemate/information/deviceType/add。
3. 业务页面跳转链路
- <el-button> @click ->
/default/devicemate/information/deviceType/deviceType->deviceType,该目标页已在上游链路展开,当前只保留回跳引用。 - <el-button> @click ->
/default/devicemate/information/deviceType/deviceType->deviceType,该目标页已在上游链路展开,当前只保留回跳引用。
4. 前端真实调用链
- <el-button> @click -> submit ->
addDeviceTypeAjax - activated 生命周期 -> activated ->
getStoreMainListAjax
5. 接口总览
| method | path | 功能 | 所属节点 | 前端触发 | 后端入口 |
|---|---|---|---|---|---|
| POST | /dm-device/deviceType/add | 新增提交 | 主页面 | <el-button> @click -> submit -> addDeviceTypeAjax | save |
| GET | /dm-device/deviceType/queryStoreMainList | 业务请求 | 主页面 | activated 生命周期 -> activated -> getStoreList -> getStoreMainListAjax | queryStoreMain |
6. 接口详细说明
6.1 POST /dm-device/deviceType/add
接口信息
- 请求地址:
/dm-device/deviceType/add - 请求方式:
POST - 功能简述:新增提交
- 所属页面:主页面
- 前端触发链路:
- <el-button> @click -> submit -> addDeviceTypeAjax
- 后端入口:
save - Service 方法:
saveDeviceType
入参
- 后端接口实际接收对象:
DeviceTypeVo - 参数位置:
body
json
{}- 当前链路未展开到更细的字段级定义。
出参
外层响应:ResultData
业务数据体:框架统一成功响应
当前链路重点在业务动作与后端处理,公共包裹字段未继续展开。
后端逻辑链路
- 校验
- Controller 入口为
save(@Validated @RequestBody DeviceTypeVo vo),由@Validated和请求对象注解触发基础参数校验。
- 预处理
- Service 内先构造
LambdaQueryWrapper作为条件容器。 - 新增时会先通过 Redis 序列号服务生成
partNo。
- 核心业务
- 使用 ServiceImpl 通用查询能力拉取目标数据集合。
- 导入成功数据最终通过
saveOrUpdateBatch(...)批量写入主表。
- 状态变更
- 会向
part_main插入一条新记录,并在有附件时回写附件targetId。
- 数据影响
- 主表新增一条物料主数据;附件记录绑定到新生成的业务 id。
- 收尾
- 当前链路未识别出额外步骤。
数据链路
| 接口 | 调用类型 | 库名.表名 | mapper.page | sql作用(简写) |
|---|---|---|---|---|
POST /dm-device/deviceType/add | 新增 | ?.device_type | MyBatis-Plus save | 新增物料主数据 |
POST /dm-device/deviceType/add | 远程写入 | ?.附件数据 | fileClient.updateFile | 回写附件 targetId,绑定业务对象 |
数据流走向
- 数据来源:
- 前端页面通过 <el-button> @click -> submit -> addDeviceTypeAjax 触发请求
- 数据处理路径:
- Controller:
save - Service:
saveDeviceType - 使用 ServiceImpl 通用查询能力拉取目标数据集合。
- 导入成功数据最终通过
saveOrUpdateBatch(...)批量写入主表。 - 数据落点:
- ?.device_type
- ?.附件数据
备注
- 前端请求路径含服务前缀
/dm-device,合理推断该前缀来自网关或服务路由。
6.2 GET /dm-device/deviceType/queryStoreMainList
接口信息
- 请求地址:
/dm-device/deviceType/queryStoreMainList - 请求方式:
GET - 功能简述:业务请求
- 所属页面:主页面
- 前端触发链路:
- activated 生命周期 -> activated -> getStoreList -> getStoreMainListAjax
- 后端入口:
queryStoreMain - Service 方法:
queryStoreMain
入参
参数位置:
unknown当前链路未展开到更细的字段级定义。
出参
外层响应:ResultData
业务数据体:框架统一成功响应
当前链路重点在业务动作与后端处理,公共包裹字段未继续展开。
后端逻辑链路
- 校验
- 当前链路未识别出额外步骤。
- 预处理
- 当前链路未识别出额外步骤。
- 核心业务
- 当前链路未识别出额外步骤。
- 状态变更
- 当前链路未识别出额外步骤。
- 数据影响
- 当前链路未识别出额外步骤。
- 收尾
- 当前链路未识别出额外步骤。
数据链路
- 当前链路未识别到明确数据库表操作。
数据流走向
- 数据来源:
- 前端页面通过 activated 生命周期 -> activated -> getStoreList -> getStoreMainListAjax 触发请求
- 数据处理路径:
- Controller:
queryStoreMain - Service:
queryStoreMain - 数据落点:
- 当前链路未识别到明确数据落点。
备注
- 前端请求路径含服务前缀
/dm-device,合理推断该前缀来自网关或服务路由。
重点组件说明
组件:index
- 角色:主页面
- 层级路径:
index - 是否直接CRUD:否
- 一句话作用:承接 add 页面主入口、列表查询和业务操作入口。
- 业务动作:新增提交
- 下游重点组件:
spareParts/spec/safety
组件:spareParts
- 角色:业务链路节点
- 层级路径:
index > spareParts - 父组件:
index - 是否直接CRUD:否
- 一句话作用:负责串联
importFile等主链路节点,本身不直接提交核心请求。 - 详细说明:不单独生成 MD,说明保留在当前主页面文档。
- 下游重点组件:
importFile
组件:importFile
- 角色:业务化公共组件
- 层级路径:
index > spareParts > importFile - 父组件:
spareParts - 是否直接CRUD:否
- 一句话作用:复用通用组件外壳,但当前页通过
:import-file-ajax注入业务配置,承接业务处理。 - 详细说明:不单独生成 MD,说明保留在当前主页面文档。
组件:spec
- 角色:业务链路节点
- 层级路径:
index > spec - 父组件:
index - 是否直接CRUD:否
- 一句话作用:负责串联
importFile等主链路节点,本身不直接提交核心请求。 - 详细说明:不单独生成 MD,说明保留在当前主页面文档。
- 下游重点组件:
importFile
组件:importFile
- 角色:业务化公共组件
- 层级路径:
index > spec > importFile - 父组件:
spec - 是否直接CRUD:否
- 一句话作用:复用通用组件外壳,但当前页通过
:import-file-ajax注入业务配置,承接业务处理。 - 详细说明:不单独生成 MD,说明保留在当前主页面文档。
组件:safety
- 角色:业务子模块
- 层级路径:
index > safety - 父组件:
index - 是否直接CRUD:是
- 一句话作用:负责 safety 模块的展示、操作编排和删除提交。
- 业务动作:删除提交
- 详细说明:不单独生成 MD,说明保留在当前主页面文档。
7. 子组件列表
deviceType:路由路径/default/devicemate/information/deviceType/deviceType,当前为回跳引用
8. 修改入口
- 改当前节点逻辑:先看上游入口,再看组件总览和业务页面跳转链路,最后核对接口与后端落点。
- 改跳页逻辑:不仅要改当前页的方法和参数,还要同步检查目标页文档是否受影响。
- 重点组件较多,改组件分类或主链路时要同时看组件链和路由链。