钱三爷的窝
首页
书籍
开发
软件
其他
搜索
若依VUE前后端分离版如何添加导入功能
开发
|
2025-04-16
|
三爷
在**若依VUE**前后端分离版中,若是需要手动增加导入功能,请按照如下步骤,可快速,且完整的实现: 1. controller中增加如下代码: ```java /** * 导入数据 * @param file * @param updateSupport * @return * @throws Exception */ @Log(title = "导入合同", businessType = BusinessType.IMPORT) @RequiresPermissions("system:incontract:import") @PostMapping("/importData") @ResponseBody public AjaxResult importData(MultipartFile file, boolean updateSupport) throws Exception { ExcelUtil
util = new ExcelUtil
(Incontract.class); List
dataList = util.importExcel(file.getInputStream()); String message = IncontractService.importData(dataList, updateSupport, getLoginName()); return AjaxResult.success(message); } /** * 下载模板文件 * @return */ @RequiresPermissions("system:incontract:view") @GetMapping("/importTemplate") @ResponseBody public AjaxResult importTemplate() { ExcelUtil
util = new ExcelUtil
(Incontract.class); return util.importTemplateExcel("合同数据模板数据"); } ``` 2. service中增加如下代码 **interface** ```java /** * 导入合同数据数据 * * @param dataList 用户数据列表 * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 * @param operName 操作用户 * @return 结果 */ public String importData(List
dataList, Boolean isUpdateSupport, String operName); ``` **service** ```java /** * 导入项目数据 * * @param dataList 项目数据列表 * @param isUpdateSupport 是否更新支持,如果已存在,则进行更新数据 * @param operName 操作用户 * @return 结果 */ @Override public String importData(List
dataList, Boolean isUpdateSupport, String operName) { if (StringUtils.isNull(dataList) || dataList.size() == 0) { throw new ServiceException("导入数据不能为空!"); } int successNum = 0; int failureNum = 0; StringBuilder successMsg = new StringBuilder(); StringBuilder failureMsg = new StringBuilder(); for (Incontract item : dataList) { try { // 验证是否存在这个项目,用合同编号,项目名称,创建人判断 Incontract u = IncontractMapper.selectIncontractByConNo(item.getConNo()); if (StringUtils.isNull(u)) { BeanValidators.validateWithException(validator, item); //item.setCreateTime(); IncontractMapper.insertIncontract(item); successNum++; successMsg.append("
" + successNum + ", 导入成功"); } // else if (isUpdateSupport) // { // BeanValidators.validateWithException(validator, user); // checkUserAllowed(u); // checkUserDataScope(u.getUserId()); // user.setUserId(u.getUserId()); // user.setUpdateBy(operName); // userMapper.updateUser(user); // successNum++; // successMsg.append("
" + successNum + "、账号 " + user.getLoginName() + " 更新成功"); // } else { failureNum++; failureMsg.append("
" + failureNum + "、合同编号: " + item.getConNo() + " 已存在"); } } catch (Exception e) { failureNum++; String msg = "
" + failureNum + "、导入失败:"; failureMsg.append(msg + e.getMessage()); log.error(msg, e); } } if (failureNum > 0) { failureMsg.insert(0, "很抱歉,导入失败!共 " + failureNum + " 条数据格式不正确,错误如下:"); throw new ServiceException(failureMsg.toString()); } else { successMsg.insert(0, "恭喜您,数据已全部导入成功!共 " + successNum + " 条,数据如下:"); } return successMsg.toString(); } ``` 3. view中增加如下代码 javascript 部分 ```js data() { return { ... // 用户导入参数 upload:{ // 是否显示弹出层(用户导入) open: false, // 淡出层标题 title: "", // 是否禁用上传 isUploading: false, // 是否更新已经存在的用户数据 updateSupport: 0, // 设置上传的请求头部 headers: {Authorization: "Bearer " + getToken()}, // 上传的地址 url: process.env.VUE_APP_BASE_API + "/system/incontract/importData" }, ... } } ``` vue部分 ```html
将文件拖到此处,或
点击上传
是否更新已经存在的合同数据
下载模板
提示: 仅允许导入“xls”或“xlsx”格式文件!
```
Python Crash Course 3rd Edition
Learn Python The Hard Way 5th Edition
搜索
Search
最近发表
如何将Html页面表格数据转换成JSON
在HTML表格中显示JSON数据
typecho域名301重定向www域名
玩转ChatGPT:秒变AI提问和追问高手
jwt与token+redis方案优劣
什么是 JWT -- JSON WEB TOKEN
PHP判断请求是否来自移动端
python利用 pymysql 访问mysql出错
Learn Python The Hard Way 5th Edition
若依VUE前后端分离版如何添加导入功能
标签列表
oracle
(1)
行专列
(1)
sql
(1)
重复项
(1)
天涯神帖
(1)
python
(4)
nginx
(1)
短信
(1)
deepseek
(1)
AI
(2)
OpenAI
(1)
Python
(1)
蕾丝猫
(1)
php
(3)
mysql
(1)
apache
(1)
若依
(1)
vue
(1)
导入
(1)
pymysql
(1)
jwt
(2)
redis
(1)
token
(1)
JSON
(2)
Table
(2)