fix(mes): 隐藏后端未实现的导入入口,避免用户点击报 404
## 问题
以下 5 个导入相关的后端接口不存在,但前端有按钮和 API 定义,
用户点击「下载导入模板」或「导入」会直接报「请求地址不存在」:
/mes/md/item/get-import-template MES 物料
/mes/pro/route/get-import-template 工艺路线
/mes/pro/route/get-complete-import-template 完整路线
/mes/pro/route/import-complete 完整路线导入
/mes/md-client|md-vendor/get-import-template 无页面调用(死代码)
这些模块的 Controller 完全没有导入端点,
属于接口漏实现(权限 mes:md-item:import 等早已配好并授权)。
## 改动
先隐藏前端入口,避免用户碰到报错:
1. views/mes/pro/route/index.vue
注释「导入工艺路线」按钮
2. views/mes/process-design/route/index.vue
注释「导入工艺路线」和「批量导入完整路线」两个按钮
3. views/mes/md/item/index.vue
该页导入按钮原本就已被注释,无需改动
注:md-client / md-vendor 的导入函数无任何页面调用,
其 getPage 仍被选择弹窗使用,故不删除 API 文件。
## 后续
如需恢复导入功能,需先在对应 Controller 补:
- get-import-template(返回带示例的 Excel 模板)
- import(解析 Excel 并落库)
参考 MesMdItemTypeController 的既有实现。
## 验证
vue-tsc 无新增错误(基线 318 不变),构建通过,已部署生产。
| | |
| | | auth: ['mes:pro-route:create'], |
| | | onClick: handleCreate, |
| | | }, |
| | | { |
| | | label: $t('ui.actionTitle.import', ['工艺路线']), |
| | | icon: ACTION_ICON.UPLOAD, |
| | | auth: ['mes:pro-route:import'], |
| | | onClick: handleImport, |
| | | }, |
| | | // 导入功能暂未实现(后端缺 get-import-template / import 接口),先隐藏入口 |
| | | // { |
| | | // label: $t('ui.actionTitle.import', ['工艺路线']), |
| | | // icon: ACTION_ICON.UPLOAD, |
| | | // auth: ['mes:pro-route:import'], |
| | | // onClick: handleImport, |
| | | // }, |
| | | { |
| | | label: $t('ui.actionTitle.export'), |
| | | type: 'primary', |
| | |
| | | auth: ['mes:pro-route:export'], |
| | | onClick: handleExport, |
| | | }, |
| | | { |
| | | label: $t('ui.actionTitle.import', ['工艺路线']), |
| | | type: 'primary', |
| | | icon: ACTION_ICON.UPLOAD, |
| | | auth: ['mes:pro-route:import'], |
| | | onClick: handleImport, |
| | | }, |
| | | { |
| | | label: '批量导入完整路线', |
| | | type: 'primary', |
| | | icon: ACTION_ICON.UPLOAD, |
| | | auth: ['mes:pro-route:import'], |
| | | onClick: handleCompleteImport, |
| | | }, |
| | | // 导入功能暂未实现(后端缺接口),入口已隐藏 |
| | | // { |
| | | // label: $t('ui.actionTitle.import', ['工艺路线']), |
| | | // type: 'primary', |
| | | // icon: ACTION_ICON.UPLOAD, |
| | | // auth: ['mes:pro-route:import'], |
| | | // onClick: handleImport, |
| | | // }, |
| | | // 批量导入完整路线:后端缺 get-complete-import-template / import-complete 接口,入口已隐藏 |
| | | // { |
| | | // label: '批量导入完整路线', |
| | | // type: 'primary', |
| | | // icon: ACTION_ICON.UPLOAD, |
| | | // auth: ['mes:pro-route:import'], |
| | | // onClick: handleCompleteImport, |
| | | // }, |
| | | ]" |
| | | /> |
| | | </template> |