Commit 05a43fad by yuwei

2.0.0项目初始化

parent bb934ebd
...@@ -11,6 +11,8 @@ import org.springframework.stereotype.Service; ...@@ -11,6 +11,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/** /**
* <p> * <p>
* $!{table.comment} 服务实现类 * $!{table.comment} 服务实现类
......
package cn.datax.service.system.api.dto;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 登录日志信息表 实体DTO
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@ApiModel(value = "登录日志信息表Model")
@Data
public class LoginLogDto implements Serializable {
private static final long serialVersionUID=1L;
@ApiModelProperty(value = "主键ID")
private String id;
@ApiModelProperty(value = "操作系统")
private String opOs;
@ApiModelProperty(value = "浏览器类型")
private String opBrowser;
@ApiModelProperty(value = "登录IP地址")
private String opIp;
@ApiModelProperty(value = "登录时间")
private LocalDateTime opDate;
@ApiModelProperty(value = "登录用户ID")
private String userId;
@ApiModelProperty(value = "登录用户名称")
private String userName;
}
package cn.datax.service.system.api.entity;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import java.io.Serializable;
import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.experimental.Accessors;
/**
* <p>
* 登录日志信息表
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Data
@Accessors(chain = true)
@TableName("sys_login_log")
public class LoginLogEntity implements Serializable {
private static final long serialVersionUID=1L;
/**
* 主键
*/
@TableId(value = "id", type = IdType.ASSIGN_ID)
private String id;
/**
* 操作系统
*/
private String opOs;
/**
* 浏览器类型
*/
private String opBrowser;
/**
* 登录IP地址
*/
private String opIp;
/**
* 登录时间
*/
private LocalDateTime opDate;
/**
* 登录用户ID
*/
private String userId;
/**
* 登录用户名称
*/
private String userName;
}
package cn.datax.service.system.api.query;
import cn.datax.common.base.BaseQueryParams;
import lombok.Data;
import lombok.EqualsAndHashCode;
/**
* <p>
* 登录日志信息表 查询实体
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Data
@EqualsAndHashCode(callSuper = true)
public class LoginLogQuery extends BaseQueryParams {
private static final long serialVersionUID=1L;
/**
* 登录用户名称
*/
private String userName;
}
package cn.datax.service.system.api.vo;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import java.io.Serializable;
import java.time.LocalDateTime;
/**
* <p>
* 登录日志信息表 实体VO
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Data
public class LoginLogVo implements Serializable {
private static final long serialVersionUID=1L;
private String id;
private String opOs;
private String opBrowser;
private String opIp;
@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
private LocalDateTime opDate;
private String userId;
private String userName;
}
...@@ -41,6 +41,20 @@ public class LogController extends BaseController { ...@@ -41,6 +41,20 @@ public class LogController extends BaseController {
@Autowired @Autowired
private LogMapper logMapper; private LogMapper logMapper;
/**
* 通过ID查询信息
*
* @param id
* @return
*/
@ApiOperation(value = "获取详细信息", notes = "根据url的id来获取详细信息")
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path")
@GetMapping("/{id}")
public R getLogById(@PathVariable String id) {
LogEntity logEntity = logService.getLogById(id);
return R.ok().setData(logMapper.toVO(logEntity));
}
@ApiOperation(value = "日志分页查询", notes = "") @ApiOperation(value = "日志分页查询", notes = "")
@ApiImplicitParams({ @ApiImplicitParams({
@ApiImplicitParam(name = "logQuery", value = "查询实体logQuery", required = true, dataTypeClass = LogQuery.class) @ApiImplicitParam(name = "logQuery", value = "查询实体logQuery", required = true, dataTypeClass = LogQuery.class)
...@@ -54,4 +68,30 @@ public class LogController extends BaseController { ...@@ -54,4 +68,30 @@ public class LogController extends BaseController {
JsonPage<LogVo> jsonPage = new JsonPage<>(page.getCurrent(), page.getSize(), page.getTotal(), collect); JsonPage<LogVo> jsonPage = new JsonPage<>(page.getCurrent(), page.getSize(), page.getTotal(), collect);
return R.ok().setData(jsonPage); return R.ok().setData(jsonPage);
} }
/**
* 删除
* @param id
* @return
*/
@ApiOperation(value = "删除", notes = "根据url的id来指定删除对象")
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path")
@DeleteMapping("/{id}")
public R deleteLogById(@PathVariable String id) {
logService.deleteLogById(id);
return R.ok();
}
/**
* 批量删除
* @param ids
* @return
*/
@ApiOperation(value = "批量删除角色", notes = "根据url的ids来批量删除对象")
@ApiImplicitParam(name = "ids", value = "ID集合", required = true, dataType = "List", paramType = "path")
@DeleteMapping("/batch/{ids}")
public R deleteLogBatch(@PathVariable List<String> ids) {
logService.deleteLogBatch(ids);
return R.ok();
}
} }
package cn.datax.service.system.controller;
import cn.datax.common.core.JsonPage;
import cn.datax.common.core.R;
import cn.datax.service.system.api.entity.LoginLogEntity;
import cn.datax.service.system.api.vo.LoginLogVo;
import cn.datax.service.system.api.query.LoginLogQuery;
import cn.datax.service.system.mapstruct.LoginLogMapper;
import cn.datax.service.system.service.LoginLogService;
import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiImplicitParam;
import io.swagger.annotations.ApiImplicitParams;
import io.swagger.annotations.ApiOperation;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import cn.datax.common.base.BaseController;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
import java.util.stream.Collectors;
/**
* <p>
* 登录日志信息表 前端控制器
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Api(tags = {"登录日志信息表"})
@RestController
@RequestMapping("/login/logs")
public class LoginLogController extends BaseController {
@Autowired
private LoginLogService loginLogService;
@Autowired
private LoginLogMapper loginLogMapper;
/**
* 通过ID查询信息
*
* @param id
* @return
*/
@ApiOperation(value = "获取详细信息", notes = "根据url的id来获取详细信息")
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path")
@GetMapping("/{id}")
public R getLoginLogById(@PathVariable String id) {
LoginLogEntity loginLogEntity = loginLogService.getLoginLogById(id);
return R.ok().setData(loginLogMapper.toVO(loginLogEntity));
}
/**
* 分页查询信息
*
* @param loginLogQuery
* @return
*/
@ApiOperation(value = "分页查询", notes = "")
@ApiImplicitParams({
@ApiImplicitParam(name = "loginLogQuery", value = "查询实体loginLogQuery", required = true, dataTypeClass = LoginLogQuery.class)
})
@GetMapping("/page")
public R getLoginLogPage(LoginLogQuery loginLogQuery) {
QueryWrapper<LoginLogEntity> queryWrapper = new QueryWrapper<>();
queryWrapper.like(StrUtil.isNotBlank(loginLogQuery.getUserName()), "user_name", loginLogQuery.getUserName());
IPage<LoginLogEntity> page = loginLogService.page(new Page<>(loginLogQuery.getPageNum(), loginLogQuery.getPageSize()), queryWrapper);
List<LoginLogVo> collect = page.getRecords().stream().map(loginLogMapper::toVO).collect(Collectors.toList());
JsonPage<LoginLogVo> jsonPage = new JsonPage<>(page.getCurrent(), page.getSize(), page.getTotal(), collect);
return R.ok().setData(jsonPage);
}
/**
* 添加登录日志
* @return
*/
@ApiOperation(value = "添加信息", notes = "根据request对象添加信息")
@PostMapping()
public R loginLog(HttpServletRequest request) {
loginLogService.saveLoginLog(request);
return R.ok();
}
/**
* 删除
* @param id
* @return
*/
@ApiOperation(value = "删除", notes = "根据url的id来指定删除对象")
@ApiImplicitParam(name = "id", value = "ID", required = true, dataType = "String", paramType = "path")
@DeleteMapping("/{id}")
public R deleteLoginLogById(@PathVariable String id) {
loginLogService.deleteLoginLogById(id);
return R.ok();
}
/**
* 批量删除
* @param ids
* @return
*/
@ApiOperation(value = "批量删除角色", notes = "根据url的ids来批量删除对象")
@ApiImplicitParam(name = "ids", value = "ID集合", required = true, dataType = "List", paramType = "path")
@DeleteMapping("/batch/{ids}")
public R deleteLoginLogBatch(@PathVariable List<String> ids) {
loginLogService.deleteLoginLogBatch(ids);
return R.ok();
}
}
...@@ -28,7 +28,6 @@ import org.springframework.web.bind.annotation.*; ...@@ -28,7 +28,6 @@ import org.springframework.web.bind.annotation.*;
import cn.datax.common.base.BaseController; import cn.datax.common.base.BaseController;
import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -135,11 +134,5 @@ public class UserController extends BaseController { ...@@ -135,11 +134,5 @@ public class UserController extends BaseController {
Map<String, Object> result = userService.getRouteById(id); Map<String, Object> result = userService.getRouteById(id);
return R.ok().setData(result); return R.ok().setData(result);
} }
@PostMapping("/login/log")
public R loginLog(HttpServletRequest request) {
userService.loginLog(request);
return R.ok();
}
} }
package cn.datax.service.system.dao;
import cn.datax.common.base.BaseDao;
import cn.datax.service.system.api.entity.LoginLogEntity;
import org.apache.ibatis.annotations.Mapper;
/**
* <p>
* 登录日志信息表 Mapper 接口
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Mapper
public interface LoginLogDao extends BaseDao<LoginLogEntity> {
}
package cn.datax.service.system.mapstruct;
import cn.datax.common.mapstruct.EntityMapper;
import cn.datax.service.system.api.dto.LoginLogDto;
import cn.datax.service.system.api.entity.LoginLogEntity;
import cn.datax.service.system.api.vo.LoginLogVo;
import org.mapstruct.Mapper;
/**
* <p>
* 登录日志信息表 Mapper 实体映射
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Mapper(componentModel = "spring")
public interface LoginLogMapper extends EntityMapper<LoginLogDto, LoginLogEntity, LoginLogVo> {
}
...@@ -4,6 +4,8 @@ import cn.datax.common.base.BaseService; ...@@ -4,6 +4,8 @@ import cn.datax.common.base.BaseService;
import cn.datax.service.system.api.dto.LogDto; import cn.datax.service.system.api.dto.LogDto;
import cn.datax.service.system.api.entity.LogEntity; import cn.datax.service.system.api.entity.LogEntity;
import java.util.List;
/** /**
* <p> * <p>
* 服务类 * 服务类
...@@ -15,4 +17,10 @@ import cn.datax.service.system.api.entity.LogEntity; ...@@ -15,4 +17,10 @@ import cn.datax.service.system.api.entity.LogEntity;
public interface LogService extends BaseService<LogEntity> { public interface LogService extends BaseService<LogEntity> {
void saveLog(LogDto log); void saveLog(LogDto log);
LogEntity getLogById(String id);
void deleteLogById(String id);
void deleteLogBatch(List<String> ids);
} }
package cn.datax.service.system.service;
import cn.datax.service.system.api.entity.LoginLogEntity;
import cn.datax.common.base.BaseService;
import javax.servlet.http.HttpServletRequest;
import java.util.List;
/**
* <p>
* 登录日志信息表 服务类
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
public interface LoginLogService extends BaseService<LoginLogEntity> {
void saveLoginLog(HttpServletRequest request);
LoginLogEntity getLoginLogById(String id);
void deleteLoginLogById(String id);
void deleteLoginLogBatch(List<String> ids);
}
...@@ -9,7 +9,6 @@ import cn.datax.service.system.api.vo.UserInfo; ...@@ -9,7 +9,6 @@ import cn.datax.service.system.api.vo.UserInfo;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import javax.servlet.http.HttpServletRequest;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
...@@ -38,6 +37,4 @@ public interface UserService extends BaseService<UserEntity> { ...@@ -38,6 +37,4 @@ public interface UserService extends BaseService<UserEntity> {
IPage<UserEntity> pageDataScope(IPage<UserEntity> page, Wrapper<UserEntity> queryWrapper, DataScope dataScope); IPage<UserEntity> pageDataScope(IPage<UserEntity> page, Wrapper<UserEntity> queryWrapper, DataScope dataScope);
Map<String, Object> getRouteById(String id); Map<String, Object> getRouteById(String id);
void loginLog(HttpServletRequest request);
} }
...@@ -11,6 +11,8 @@ import org.springframework.stereotype.Service; ...@@ -11,6 +11,8 @@ import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import java.util.List;
/** /**
* <p> * <p>
* 服务实现类 * 服务实现类
...@@ -34,4 +36,22 @@ public class LogServiceImpl extends BaseServiceImpl<LogDao, LogEntity> implement ...@@ -34,4 +36,22 @@ public class LogServiceImpl extends BaseServiceImpl<LogDao, LogEntity> implement
LogEntity log = logMapper.toEntity(logDto); LogEntity log = logMapper.toEntity(logDto);
logDao.insert(log); logDao.insert(log);
} }
@Override
public LogEntity getLogById(String id) {
LogEntity logEntity = super.getById(id);
return logEntity;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteLogById(String id) {
logDao.deleteById(id);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteLogBatch(List<String> ids) {
logDao.deleteBatchIds(ids);
}
} }
package cn.datax.service.system.service.impl;
import cn.datax.common.core.DataUser;
import cn.datax.common.utils.IPUtil;
import cn.datax.common.utils.SecurityUtil;
import cn.datax.service.system.api.entity.LoginLogEntity;
import cn.datax.service.system.service.LoginLogService;
import cn.datax.service.system.mapstruct.LoginLogMapper;
import cn.datax.service.system.dao.LoginLogDao;
import cn.datax.common.base.BaseServiceImpl;
import eu.bitwalker.useragentutils.UserAgent;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.time.LocalDateTime;
import java.util.List;
/**
* <p>
* 登录日志信息表 服务实现类
* </p>
*
* @author yuwei
* @since 2020-05-29
*/
@Service
@Transactional(propagation = Propagation.SUPPORTS, readOnly = true, rollbackFor = Exception.class)
public class LoginLogServiceImpl extends BaseServiceImpl<LoginLogDao, LoginLogEntity> implements LoginLogService {
@Autowired
private LoginLogDao loginLogDao;
@Autowired
private LoginLogMapper loginLogMapper;
@Override
@Transactional(rollbackFor = Exception.class)
public void saveLoginLog(HttpServletRequest request) {
String ip = IPUtil.getIpAddr(request);
UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
String os = userAgent.getOperatingSystem().getName();
String browser = userAgent.getBrowser().getName();
DataUser user = SecurityUtil.getDataUser();
String userId = user.getId();
String username = user.getUsername();
LoginLogEntity loginLog = new LoginLogEntity();
loginLog.setOpIp(ip).setOpOs(os).setOpBrowser(browser).setUserId(userId).setUserName(username).setOpDate(LocalDateTime.now());
loginLogDao.insert(loginLog);
}
@Override
public LoginLogEntity getLoginLogById(String id) {
LoginLogEntity loginLogEntity = super.getById(id);
return loginLogEntity;
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteLoginLogById(String id) {
loginLogDao.deleteById(id);
}
@Override
@Transactional(rollbackFor = Exception.class)
public void deleteLoginLogBatch(List<String> ids) {
loginLogDao.deleteBatchIds(ids);
}
}
...@@ -2,10 +2,7 @@ package cn.datax.service.system.service.impl; ...@@ -2,10 +2,7 @@ package cn.datax.service.system.service.impl;
import cn.datax.common.base.DataScope; import cn.datax.common.base.DataScope;
import cn.datax.common.core.DataConstant; import cn.datax.common.core.DataConstant;
import cn.datax.common.core.DataUser;
import cn.datax.common.exception.DataException; import cn.datax.common.exception.DataException;
import cn.datax.common.utils.IPUtil;
import cn.datax.common.utils.SecurityUtil;
import cn.datax.service.system.api.dto.UserDto; import cn.datax.service.system.api.dto.UserDto;
import cn.datax.service.system.api.dto.UserPasswordDto; import cn.datax.service.system.api.dto.UserPasswordDto;
import cn.datax.service.system.api.entity.*; import cn.datax.service.system.api.entity.*;
...@@ -24,14 +21,12 @@ import cn.hutool.core.util.StrUtil; ...@@ -24,14 +21,12 @@ import cn.hutool.core.util.StrUtil;
import com.baomidou.mybatisplus.core.conditions.Wrapper; import com.baomidou.mybatisplus.core.conditions.Wrapper;
import com.baomidou.mybatisplus.core.metadata.IPage; import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.core.toolkit.Wrappers; import com.baomidou.mybatisplus.core.toolkit.Wrappers;
import eu.bitwalker.useragentutils.UserAgent;
import org.springframework.beans.factory.annotation.Autowired; import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder; import org.springframework.security.crypto.bcrypt.BCryptPasswordEncoder;
import org.springframework.stereotype.Service; import org.springframework.stereotype.Service;
import org.springframework.transaction.annotation.Propagation; import org.springframework.transaction.annotation.Propagation;
import org.springframework.transaction.annotation.Transactional; import org.springframework.transaction.annotation.Transactional;
import javax.servlet.http.HttpServletRequest;
import java.util.*; import java.util.*;
import java.util.stream.Collectors; import java.util.stream.Collectors;
...@@ -221,15 +216,4 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem ...@@ -221,15 +216,4 @@ public class UserServiceImpl extends BaseServiceImpl<UserDao, UserEntity> implem
} }
return result; return result;
} }
@Override
public void loginLog(HttpServletRequest request) {
String ip = IPUtil.getIpAddr(request);
UserAgent userAgent = UserAgent.parseUserAgentString(request.getHeader("User-Agent"));
String os = userAgent.getOperatingSystem().getName();
String browser = userAgent.getBrowser().getName();
DataUser user = SecurityUtil.getDataUser();
String userId = user.getId();
String username = user.getUsername();
}
} }
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE mapper PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN" "http://mybatis.org/dtd/mybatis-3-mapper.dtd">
<mapper namespace="cn.datax.service.system.dao.LoginLogDao">
<!-- 通用查询映射结果 -->
<resultMap id="BaseResultMap" type="cn.datax.service.system.api.entity.LoginLogEntity">
<result column="id" property="id" />
<result column="op_os" property="opOs" />
<result column="op_browser" property="opBrowser" />
<result column="op_ip" property="opIp" />
<result column="op_date" property="opDate" />
<result column="user_id" property="userId" />
<result column="user_name" property="userName" />
</resultMap>
<!-- 通用查询结果列 -->
<sql id="Base_Column_List">
id,
op_os, op_browser, op_ip, op_date, user_id, user_name
</sql>
</mapper>
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
ref="menu" ref="menu"
node-key="id" node-key="id"
empty-text="加载中,请稍后" empty-text="加载中,请稍后"
:check-strictly="menuCheckstrictly"
:props="menuDefaultProps" :props="menuDefaultProps"
></el-tree> ></el-tree>
</el-form-item> </el-form-item>
...@@ -46,6 +47,7 @@ ...@@ -46,6 +47,7 @@
ref="dept" ref="dept"
node-key="id" node-key="id"
empty-text="加载中,请稍后" empty-text="加载中,请稍后"
:check-strictly="deptCheckstrictly"
:props="deptDefaultProps" :props="deptDefaultProps"
></el-tree> ></el-tree>
</el-form-item> </el-form-item>
...@@ -113,7 +115,9 @@ export default { ...@@ -113,7 +115,9 @@ export default {
deptDefaultProps: { deptDefaultProps: {
children: 'children', children: 'children',
label: 'deptName' label: 'deptName'
} },
menuCheckstrictly: false,
deptCheckstrictly: false
} }
}, },
created () { created () {
...@@ -187,8 +191,12 @@ export default { ...@@ -187,8 +191,12 @@ export default {
this.form = response.data this.form = response.data
let menuCheckedKeys = response.data.menus.map(menu => menu.id) let menuCheckedKeys = response.data.menus.map(menu => menu.id)
let deptCheckedKeys = response.data.depts.map(dept => dept.id) let deptCheckedKeys = response.data.depts.map(dept => dept.id)
this.menuCheckstrictly = true
this.deptCheckstrictly = true
this.$refs.menu.setCheckedKeys(menuCheckedKeys) this.$refs.menu.setCheckedKeys(menuCheckedKeys)
this.$refs.dept.setCheckedKeys(deptCheckedKeys) this.$refs.dept.setCheckedKeys(deptCheckedKeys)
this.menuCheckstrictly = false
this.deptCheckstrictly = false
} }
}) })
} }
......
...@@ -24,6 +24,7 @@ ...@@ -24,6 +24,7 @@
ref="menu" ref="menu"
node-key="id" node-key="id"
empty-text="加载中,请稍后" empty-text="加载中,请稍后"
:check-strictly="menuCheckstrictly"
:props="menuDefaultProps" :props="menuDefaultProps"
></el-tree> ></el-tree>
</el-form-item> </el-form-item>
...@@ -47,6 +48,7 @@ ...@@ -47,6 +48,7 @@
ref="dept" ref="dept"
node-key="id" node-key="id"
empty-text="加载中,请稍后" empty-text="加载中,请稍后"
:check-strictly="deptCheckstrictly"
:props="deptDefaultProps" :props="deptDefaultProps"
></el-tree> ></el-tree>
</el-form-item> </el-form-item>
...@@ -129,7 +131,9 @@ export default { ...@@ -129,7 +131,9 @@ export default {
deptDefaultProps: { deptDefaultProps: {
children: 'children', children: 'children',
label: 'deptName' label: 'deptName'
} },
menuCheckstrictly: false,
deptCheckstrictly: false
} }
}, },
created () { created () {
...@@ -203,8 +207,12 @@ export default { ...@@ -203,8 +207,12 @@ export default {
this.form = response.data this.form = response.data
let menuCheckedKeys = response.data.menus.map(menu => menu.id) let menuCheckedKeys = response.data.menus.map(menu => menu.id)
let deptCheckedKeys = response.data.depts.map(dept => dept.id) let deptCheckedKeys = response.data.depts.map(dept => dept.id)
this.menuCheckstrictly = true
this.deptCheckstrictly = true
this.$refs.menu.setCheckedKeys(menuCheckedKeys) this.$refs.menu.setCheckedKeys(menuCheckedKeys)
this.$refs.dept.setCheckedKeys(deptCheckedKeys) this.$refs.dept.setCheckedKeys(deptCheckedKeys)
this.menuCheckstrictly = false
this.deptCheckstrictly = false
} }
}) })
}, },
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment