mirror of
				https://github.com/dromara/RuoYi-Vue-Plus.git
				synced 2025-11-04 08:13:44 +08:00 
			
		
		
		
	Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
Conflicts: pom.xml ruoyi-common/src/main/java/com/ruoyi/common/utils/html/HTMLFilter.java ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java ruoyi-framework/src/main/java/com/ruoyi/framework/config/RedisConfig.java ruoyi-generator/src/main/resources/vm/vue/index.vue.vm ruoyi-system/src/main/java/com/ruoyi/system/service/SysLoginService.java ruoyi-ui/src/views/monitor/server/index.vue
This commit is contained in:
		@@ -557,7 +557,7 @@ export default {
 | 
			
		||||
    /** ${subTable.functionName}删除按钮操作 */
 | 
			
		||||
    handleDelete${subClassName}() {
 | 
			
		||||
      if (this.checked${subClassName}.length == 0) {
 | 
			
		||||
        this.msgError("请先选择要删除的${subTable.functionName}数据");
 | 
			
		||||
        this.#[[$modal]]#.msgError("请先选择要删除的${subTable.functionName}数据");
 | 
			
		||||
      } else {
 | 
			
		||||
        const ${subclassName}List = this.${subclassName}List;
 | 
			
		||||
        const checked${subClassName} = this.checked${subClassName};
 | 
			
		||||
 
 | 
			
		||||
@@ -25,7 +25,7 @@ import javax.servlet.http.HttpServletRequest;
 | 
			
		||||
 | 
			
		||||
/**
 | 
			
		||||
 * 登录校验方法
 | 
			
		||||
 *
 | 
			
		||||
 * 
 | 
			
		||||
 * @author ruoyi
 | 
			
		||||
 */
 | 
			
		||||
@Component
 | 
			
		||||
@@ -48,7 +48,7 @@ public class SysLoginService
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 登录验证
 | 
			
		||||
     *
 | 
			
		||||
     * 
 | 
			
		||||
     * @param username 用户名
 | 
			
		||||
     * @param password 密码
 | 
			
		||||
     * @param code 验证码
 | 
			
		||||
@@ -81,20 +81,20 @@ public class SysLoginService
 | 
			
		||||
            }
 | 
			
		||||
            else
 | 
			
		||||
            {
 | 
			
		||||
				asyncService.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage(), request);
 | 
			
		||||
                AsyncManager.me().execute(AsyncFactory.recordLogininfor(username, Constants.LOGIN_FAIL, e.getMessage()));
 | 
			
		||||
                throw new ServiceException(e.getMessage());
 | 
			
		||||
            }
 | 
			
		||||
        }
 | 
			
		||||
		asyncService.recordLogininfor(username, Constants.LOGIN_SUCCESS, MessageUtils.message("user.login.success"), request);
 | 
			
		||||
        LoginUser loginUser = (LoginUser) authentication.getPrincipal();
 | 
			
		||||
        recordLoginInfo(loginUser.getUser());
 | 
			
		||||
        recordLoginInfo(loginUser.getUserId());
 | 
			
		||||
        // 生成token
 | 
			
		||||
        return tokenService.createToken(loginUser);
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 校验验证码
 | 
			
		||||
     *
 | 
			
		||||
     * 
 | 
			
		||||
     * @param username 用户名
 | 
			
		||||
     * @param code 验证码
 | 
			
		||||
     * @param uuid 唯一标识
 | 
			
		||||
@@ -116,12 +116,15 @@ public class SysLoginService
 | 
			
		||||
 | 
			
		||||
    /**
 | 
			
		||||
     * 记录登录信息
 | 
			
		||||
     *
 | 
			
		||||
     * @param userId 用户ID
 | 
			
		||||
     */
 | 
			
		||||
    public void recordLoginInfo(SysUser user)
 | 
			
		||||
    public void recordLoginInfo(Long userId)
 | 
			
		||||
    {
 | 
			
		||||
        user.setLoginIp(ServletUtils.getClientIP());
 | 
			
		||||
        user.setLoginDate(DateUtils.getNowDate());
 | 
			
		||||
		user.setUpdateBy(user.getUserName());
 | 
			
		||||
        userService.updateUserProfile(user);
 | 
			
		||||
        SysUser sysUser = new SysUser();
 | 
			
		||||
        sysUser.setUserId(userId);
 | 
			
		||||
        sysUser.setLoginIp(IpUtils.getIpAddr(ServletUtils.getRequest()));
 | 
			
		||||
        sysUser.setLoginDate(DateUtils.getNowDate());
 | 
			
		||||
        userService.updateUserProfile(sysUser);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -4,8 +4,8 @@
 | 
			
		||||
      <el-tab-pane label="基本信息" name="basic">
 | 
			
		||||
        <basic-info-form ref="basicInfo" :info="info" />
 | 
			
		||||
      </el-tab-pane>
 | 
			
		||||
      <el-tab-pane label="字段信息" name="cloum">
 | 
			
		||||
        <el-table ref="dragTable" :data="cloumns" row-key="columnId" :max-height="tableHeight">
 | 
			
		||||
      <el-tab-pane label="字段信息" name="columnInfo">
 | 
			
		||||
        <el-table ref="dragTable" :data="columns" row-key="columnId" :max-height="tableHeight">
 | 
			
		||||
          <el-table-column label="序号" type="index" min-width="5%" class-name="allowDrag" />
 | 
			
		||||
          <el-table-column
 | 
			
		||||
            label="字段列名"
 | 
			
		||||
@@ -141,13 +141,13 @@ export default {
 | 
			
		||||
  data() {
 | 
			
		||||
    return {
 | 
			
		||||
      // 选中选项卡的 name
 | 
			
		||||
      activeName: "cloum",
 | 
			
		||||
      activeName: "columnInfo",
 | 
			
		||||
      // 表格的高度
 | 
			
		||||
      tableHeight: document.documentElement.scrollHeight - 245 + "px",
 | 
			
		||||
      // 表信息
 | 
			
		||||
      tables: [],
 | 
			
		||||
      // 表列信息
 | 
			
		||||
      cloumns: [],
 | 
			
		||||
      columns: [],
 | 
			
		||||
      // 字典信息
 | 
			
		||||
      dictOptions: [],
 | 
			
		||||
      // 菜单信息
 | 
			
		||||
@@ -161,7 +161,7 @@ export default {
 | 
			
		||||
    if (tableId) {
 | 
			
		||||
      // 获取表详细信息
 | 
			
		||||
      getGenTable(tableId).then(res => {
 | 
			
		||||
        this.cloumns = res.data.rows;
 | 
			
		||||
        this.columns = res.data.rows;
 | 
			
		||||
        this.info = res.data.info;
 | 
			
		||||
        this.tables = res.data.tables;
 | 
			
		||||
      });
 | 
			
		||||
@@ -184,7 +184,7 @@ export default {
 | 
			
		||||
        const validateResult = res.every(item => !!item);
 | 
			
		||||
        if (validateResult) {
 | 
			
		||||
          const genTable = Object.assign({}, basicForm.model, genForm.model);
 | 
			
		||||
          genTable.columns = this.cloumns;
 | 
			
		||||
          genTable.columns = this.columns;
 | 
			
		||||
          genTable.params = {
 | 
			
		||||
            treeCode: genTable.treeCode,
 | 
			
		||||
            treeName: genTable.treeName,
 | 
			
		||||
@@ -220,10 +220,10 @@ export default {
 | 
			
		||||
    const sortable = Sortable.create(el, {
 | 
			
		||||
      handle: ".allowDrag",
 | 
			
		||||
      onEnd: evt => {
 | 
			
		||||
        const targetRow = this.cloumns.splice(evt.oldIndex, 1)[0];
 | 
			
		||||
        this.cloumns.splice(evt.newIndex, 0, targetRow);
 | 
			
		||||
        for (let index in this.cloumns) {
 | 
			
		||||
          this.cloumns[index].sort = parseInt(index) + 1;
 | 
			
		||||
        const targetRow = this.columns.splice(evt.oldIndex, 1)[0];
 | 
			
		||||
        this.columns.splice(evt.newIndex, 0, targetRow);
 | 
			
		||||
        for (let index in this.columns) {
 | 
			
		||||
          this.columns[index].sort = parseInt(index) + 1;
 | 
			
		||||
        }
 | 
			
		||||
      }
 | 
			
		||||
    });
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user