1)需求分析
2)代码开发
①页面
补充:
*created是vue的生命周期函数;
*登录时将用户存到了localStorage中
*获取用户名,当用户为admin时在按钮中展示‘禁用’,‘启用’按钮
*请求发出
*点击’禁用’/‘启用按钮’,scop.row就是该条数据封装成的json对象
*请求,put请求
②后端
*通用?是因为在“编辑”按钮处可以复用该方法
controller
/**
* 修改员工信息
* @param request
* @param employee
* @return
*/
@PutMapping
public R<String> update(HttpServletRequest request,@RequestBody Employee employee){
Employee emp = (Employee) request.getSession().getAttribute("employee");
log.info(employee.toString());
//设置更新时间
employee.setUpdateTime(LocalDateTime.now());
//设置更新者
employee.setUpdateUser(emp.getId());
//更新
employeeService.updateById(employee);
return R.success("员工信息修改成功");
}
3)修复
①问题:在启用/禁用某些员工时,虽然页面提示成功,但是在数据库并不能执行到修改语句
②原因:id不一致,导致没有修改
③在这个功能中,id的来源:
点击禁用/启用的时候,请求中传给后台的id是错误的,是因为页面中js处理Long型数字只能精确到第16位,后面的四舍五入。丢失了精度
④解决
*消息转换器的作用:将对象转成响应的json,再通过输出流的方式响应到页面
此时可以看到页面回来的数据有双引号裹住了,转成了字符串形式