diff --git a/README.md b/README.md
index b9eef10..6bbc3f7 100644
--- a/README.md
+++ b/README.md
@@ -6,8 +6,8 @@
* 支持加载动态权限菜单,多方式轻松权限控制。
* 高效率开发,使用代码生成器可以一键生成前后端代码。
* 提供了一个Oracle版本[RuoYi-Vue-Oracle](https://github.com/yangzongzhuan/RuoYi-Vue-Oracle),保持同步更新。
-* 感谢[Vue-Element-Admin](https://github.com/PanJiaChen/vue-element-admin),[eladmin-web](https://gitee.com/elunez/eladmin-web?_from=gitee_search)。
* 不分离版本,请移步[RuoYi](https://gitee.com/y_project/RuoYi),微服务版本,请移步[RuoYi-Cloud](https://gitee.com/y_project/RuoYi-Cloud)
+* 感谢[Vue-Element-Admin](https://github.com/PanJiaChen/vue-element-admin),[eladmin-web](https://gitee.com/elunez/eladmin-web?_from=gitee_search)。
* 阿里云优惠券:[点我进入](https://www.aliyun.com/minisite/goods?userCode=brki8iof&share_source=copy_link),腾讯云优惠券:[点我领取](https://cloud.tencent.com/redirect.php?redirect=1025&cps_key=198c8df2ed259157187173bc7f4f32fd&from=console)
## 内置功能
@@ -46,27 +46,27 @@
|
- |
- |
+ |
+ |
- |
- |
+ |
+ |
- |
- |
+ |
+ |
|
|
- |
- |
+ |
+ |
- |
+ |
|
diff --git a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
index 927a6c2..a7cce44 100644
--- a/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
+++ b/ruoyi-admin/src/main/java/com/ruoyi/web/controller/system/SysRoleController.java
@@ -17,11 +17,17 @@ import com.ruoyi.common.constant.UserConstants;
import com.ruoyi.common.core.controller.BaseController;
import com.ruoyi.common.core.domain.AjaxResult;
import com.ruoyi.common.core.domain.entity.SysRole;
+import com.ruoyi.common.core.domain.model.LoginUser;
import com.ruoyi.common.core.page.TableDataInfo;
import com.ruoyi.common.enums.BusinessType;
import com.ruoyi.common.utils.SecurityUtils;
+import com.ruoyi.common.utils.ServletUtils;
+import com.ruoyi.common.utils.StringUtils;
import com.ruoyi.common.utils.poi.ExcelUtil;
+import com.ruoyi.framework.web.service.SysPermissionService;
+import com.ruoyi.framework.web.service.TokenService;
import com.ruoyi.system.service.ISysRoleService;
+import com.ruoyi.system.service.ISysUserService;
/**
* 角色信息
@@ -35,6 +41,15 @@ public class SysRoleController extends BaseController
@Autowired
private ISysRoleService roleService;
+ @Autowired
+ private TokenService tokenService;
+
+ @Autowired
+ private SysPermissionService permissionService;
+
+ @Autowired
+ private ISysUserService userService;
+
@PreAuthorize("@ss.hasPermi('system:role:list')")
@GetMapping("/list")
public TableDataInfo list(SysRole role)
@@ -103,7 +118,20 @@ public class SysRoleController extends BaseController
return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,角色权限已存在");
}
role.setUpdateBy(SecurityUtils.getUsername());
- return toAjax(roleService.updateRole(role));
+
+ if (roleService.updateRole(role) > 0)
+ {
+ // 更新缓存用户权限
+ LoginUser loginUser = tokenService.getLoginUser(ServletUtils.getRequest());
+ if (StringUtils.isNotNull(loginUser.getUser()) && !loginUser.getUser().isAdmin())
+ {
+ loginUser.setPermissions(permissionService.getMenuPermission(loginUser.getUser()));
+ loginUser.setUser(userService.selectUserByUserName(loginUser.getUser().getUserName()));
+ tokenService.setLoginUser(loginUser);
+ }
+ return AjaxResult.success();
+ }
+ return AjaxResult.error("修改角色'" + role.getRoleName() + "'失败,请联系管理员");
}
/**
diff --git a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
index 9ee2707..188f0b7 100644
--- a/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
+++ b/ruoyi-common/src/main/java/com/ruoyi/common/constant/Constants.java
@@ -61,6 +61,11 @@ public class Constants
* 登录用户 redis key
*/
public static final String LOGIN_TOKEN_KEY = "login_tokens:";
+
+ /**
+ * 防重提交 redis key
+ */
+ public static final String REPEAT_SUBMIT_KEY = "repeat_submit:";
/**
* 验证码有效期(分钟)
diff --git a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
index 5f78380..36e6c10 100644
--- a/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
+++ b/ruoyi-framework/src/main/java/com/ruoyi/framework/interceptor/impl/SameUrlDataInterceptor.java
@@ -5,8 +5,10 @@ import java.util.Map;
import java.util.concurrent.TimeUnit;
import javax.servlet.http.HttpServletRequest;
import org.springframework.beans.factory.annotation.Autowired;
+import org.springframework.beans.factory.annotation.Value;
import org.springframework.stereotype.Component;
import com.alibaba.fastjson.JSONObject;
+import com.ruoyi.common.constant.Constants;
import com.ruoyi.common.core.redis.RedisCache;
import com.ruoyi.common.filter.RepeatedlyRequestWrapper;
import com.ruoyi.common.utils.StringUtils;
@@ -26,7 +28,9 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor
public final String REPEAT_TIME = "repeatTime";
- public final String CACHE_REPEAT_KEY = "repeatData";
+ // 令牌自定义标识
+ @Value("${token.header}")
+ private String header;
@Autowired
private RedisCache redisCache;
@@ -62,7 +66,10 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor
// 请求地址(作为存放cache的key值)
String url = request.getRequestURI();
- Object sessionObj = redisCache.getCacheObject(CACHE_REPEAT_KEY);
+ // 唯一标识(指定key + 消息头)
+ String cache_repeat_key = Constants.REPEAT_SUBMIT_KEY + request.getHeader(header);
+
+ Object sessionObj = redisCache.getCacheObject(cache_repeat_key);
if (sessionObj != null)
{
Map sessionMap = (Map) sessionObj;
@@ -77,7 +84,7 @@ public class SameUrlDataInterceptor extends RepeatSubmitInterceptor
}
Map cacheMap = new HashMap();
cacheMap.put(url, nowDataMap);
- redisCache.setCacheObject(CACHE_REPEAT_KEY, cacheMap, intervalTime, TimeUnit.SECONDS);
+ redisCache.setCacheObject(cache_repeat_key, cacheMap, intervalTime, TimeUnit.SECONDS);
return false;
}
diff --git a/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
index 2b26f79..a6ae202 100644
--- a/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
+++ b/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
@@ -1,6 +1,6 @@
-
+
#foreach($column in $columns)
#if($column.query)
#set($dictType=$column.dictType)
@@ -51,23 +51,30 @@
#end
#end
+ 搜索
+ 重置
+
+
+
+
+
搜索
- 新增
-
-
+
+
+
+
+
+
+
+
+
+
-
+
#foreach($column in $columns)
#if($column.query)
#set($dictType=$column.dictType)
@@ -51,7 +51,7 @@
#end
#end
- 搜索
+ 搜索
重置
@@ -95,6 +95,14 @@
v-hasPermi="['${moduleName}:${businessName}:export']"
>导出
+
+
+
+
+
+
+
+
@@ -260,6 +268,8 @@ export default {
single: true,
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// ${functionName}表格数据
diff --git a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
index 191f1cc..9da14d8 100644
--- a/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
+++ b/ruoyi-system/src/main/resources/mapper/system/SysDeptMapper.xml
@@ -77,8 +77,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
diff --git a/ruoyi-ui/babel.config.js b/ruoyi-ui/babel.config.js
index c8e69f5..b732c91 100644
--- a/ruoyi-ui/babel.config.js
+++ b/ruoyi-ui/babel.config.js
@@ -1,5 +1,13 @@
module.exports = {
presets: [
- '@vue/app'
- ]
+ // https://github.com/vuejs/vue-cli/tree/master/packages/@vue/babel-preset-app
+ '@vue/cli-plugin-babel/preset'
+ ],
+ 'env': {
+ 'development': {
+ // babel-plugin-dynamic-import-node plugin only does one thing by converting all import() to require().
+ // This plugin can significantly increase the speed of hot updates, when you have a large number of pages.
+ 'plugins': ['dynamic-import-node']
+ }
+ }
}
diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json
index a78acad..f359fb6 100644
--- a/ruoyi-ui/package.json
+++ b/ruoyi-ui/package.json
@@ -5,7 +5,7 @@
"author": "若依",
"license": "MIT",
"scripts": {
- "dev": "vue-cli-service serve --open",
+ "dev": "vue-cli-service serve",
"build:prod": "vue-cli-service build",
"build:stage": "vue-cli-service build --mode staging",
"preview": "node build/index.js --preview",
@@ -43,10 +43,11 @@
"@riophae/vue-treeselect": "0.4.0",
"axios": "0.18.1",
"clipboard": "2.0.4",
+ "core-js": "3.6.5",
"echarts": "4.2.1",
"element-ui": "2.13.2",
"file-saver": "2.0.1",
- "js-beautify": "^1.10.2",
+ "js-beautify": "1.10.2",
"fuse.js": "3.4.4",
"js-cookie": "2.2.0",
"jsencrypt": "3.0.0-rc.1",
@@ -65,32 +66,31 @@
"vuex": "3.1.0"
},
"devDependencies": {
- "@vue/cli-plugin-babel": "3.5.3",
- "@vue/cli-plugin-eslint": "^3.9.1",
- "@vue/cli-plugin-unit-jest": "3.5.3",
- "@vue/cli-service": "3.5.3",
+ "@vue/cli-plugin-babel": "4.4.4",
+ "@vue/cli-plugin-eslint": "4.4.4",
+ "@vue/cli-plugin-unit-jest": "4.4.4",
+ "@vue/cli-service": "4.4.4",
"@vue/test-utils": "1.0.0-beta.29",
- "autoprefixer": "^9.5.1",
- "babel-core": "7.0.0-bridge.0",
- "babel-eslint": "10.0.1",
+ "autoprefixer": "9.5.1",
+ "babel-eslint": "10.1.0",
"babel-jest": "23.6.0",
+ "babel-plugin-dynamic-import-node": "2.3.3",
"chalk": "2.4.2",
"chokidar": "2.1.5",
"connect": "3.6.6",
- "eslint": "5.15.3",
- "eslint-plugin-vue": "5.2.2",
+ "eslint": "6.7.2",
+ "eslint-plugin-vue": "6.2.2",
"html-webpack-plugin": "3.2.0",
- "http-proxy-middleware": "^0.19.1",
"husky": "1.3.1",
"lint-staged": "8.1.5",
"mockjs": "1.0.1-beta3",
"plop": "2.3.0",
- "runjs": "^4.3.2",
- "sass": "^1.26.10",
- "sass-loader": "^7.1.0",
+ "runjs": "4.3.2",
+ "sass": "1.26.10",
+ "sass-loader": "8.0.2",
"script-ext-html-webpack-plugin": "2.1.3",
"script-loader": "0.7.2",
- "serve-static": "^1.13.2",
+ "serve-static": "1.13.2",
"svg-sprite-loader": "4.1.3",
"svgo": "1.2.0",
"vue-template-compiler": "2.6.10"
diff --git a/ruoyi-ui/src/assets/styles/ruoyi.scss b/ruoyi-ui/src/assets/styles/ruoyi.scss
index 18dff3a..ffb04a3 100644
--- a/ruoyi-ui/src/assets/styles/ruoyi.scss
+++ b/ruoyi-ui/src/assets/styles/ruoyi.scss
@@ -142,7 +142,28 @@
padding-left: 15px;
margin-bottom: 10px;
}
-
+
+/* button color */
+.el-button--cyan.is-active,
+.el-button--cyan:active {
+ background: #20B2AA;
+ border-color: #20B2AA;
+ color: #FFFFFF;
+}
+
+.el-button--cyan:focus,
+.el-button--cyan:hover {
+ background: #48D1CC;
+ border-color: #48D1CC;
+ color: #FFFFFF;
+}
+
+.el-button--cyan {
+ background-color: #20B2AA;
+ border-color: #20B2AA;
+ color: #FFFFFF;
+}
+
/* text color */
.text-navy {
color: #1ab394;
@@ -198,4 +219,8 @@
opacity: .8;
color: #fff!important;
background: #42b983!important;
+}
+
+.top-right-btn {
+ float: right;
}
\ No newline at end of file
diff --git a/ruoyi-ui/src/utils/request.js b/ruoyi-ui/src/utils/request.js
index cac52c3..4263979 100644
--- a/ruoyi-ui/src/utils/request.js
+++ b/ruoyi-ui/src/utils/request.js
@@ -30,7 +30,7 @@ service.interceptors.response.use(res => {
// 未设置状态码则默认成功状态
const code = res.data.code || 200;
// 获取错误信息
- const message = errorCode[code] || res.data.msg || errorCode['default']
+ const msg = errorCode[code] || res.data.msg || errorCode['default']
if (code === 401) {
MessageBox.confirm(
'登录状态已过期,您可以继续留在该页面,或者重新登录',
@@ -47,13 +47,13 @@ service.interceptors.response.use(res => {
})
} else if (code === 500) {
Message({
- message: message,
+ message: msg,
type: 'error'
})
- return Promise.reject(new Error(message))
+ return Promise.reject(new Error(msg))
} else if (code !== 200) {
Notification.error({
- title: message
+ title: msg
})
return Promise.reject('error')
} else {
@@ -62,8 +62,18 @@ service.interceptors.response.use(res => {
},
error => {
console.log('err' + error)
+ let { message } = error;
+ if (message == "Network Error") {
+ message = "后端接口连接异常";
+ }
+ else if (message.includes("timeout")) {
+ message = "系统接口请求超时";
+ }
+ else if (message.includes("Request failed with status code")) {
+ message = "系统接口" + message.substr(message.length - 3) + "异常";
+ }
Message({
- message: error.message,
+ message: message,
type: 'error',
duration: 5 * 1000
})
diff --git a/ruoyi-ui/src/views/monitor/job/index.vue b/ruoyi-ui/src/views/monitor/job/index.vue
index 3a35e85..bd39c16 100644
--- a/ruoyi-ui/src/views/monitor/job/index.vue
+++ b/ruoyi-ui/src/views/monitor/job/index.vue
@@ -1,6 +1,6 @@
-
+
- 搜索
+ 搜索
重置
@@ -84,6 +84,14 @@
v-hasPermi="['monitor:job:query']"
>日志
+
+
+
+
+
+
+
+
@@ -274,6 +282,8 @@ export default {
single: true,
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 定时任务表格数据
diff --git a/ruoyi-ui/src/views/monitor/job/log.vue b/ruoyi-ui/src/views/monitor/job/log.vue
index 254f486..0ddbba6 100644
--- a/ruoyi-ui/src/views/monitor/job/log.vue
+++ b/ruoyi-ui/src/views/monitor/job/log.vue
@@ -1,6 +1,6 @@
-
+
- 搜索
+ 搜索
重置
@@ -90,6 +90,14 @@
v-hasPermi="['monitor:job:export']"
>导出
+
+
+
+
+
+
+
+
@@ -175,6 +183,8 @@ export default {
ids: [],
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 调度日志表格数据
diff --git a/ruoyi-ui/src/views/monitor/logininfor/index.vue b/ruoyi-ui/src/views/monitor/logininfor/index.vue
index 0a21005..7c83aab 100644
--- a/ruoyi-ui/src/views/monitor/logininfor/index.vue
+++ b/ruoyi-ui/src/views/monitor/logininfor/index.vue
@@ -1,6 +1,6 @@
-
+
- 搜索
+ 搜索
重置
@@ -84,6 +84,14 @@
v-hasPermi="['system:logininfor:export']"
>导出
+
+
+
+
+
+
+
+
@@ -126,6 +134,8 @@ export default {
ids: [],
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 表格数据
diff --git a/ruoyi-ui/src/views/monitor/online/index.vue b/ruoyi-ui/src/views/monitor/online/index.vue
index 1f5a50f..77d0410 100644
--- a/ruoyi-ui/src/views/monitor/online/index.vue
+++ b/ruoyi-ui/src/views/monitor/online/index.vue
@@ -20,7 +20,7 @@
/>
- 搜索
+ 搜索
重置
diff --git a/ruoyi-ui/src/views/monitor/operlog/index.vue b/ruoyi-ui/src/views/monitor/operlog/index.vue
index ba84d3c..d8b2ff4 100644
--- a/ruoyi-ui/src/views/monitor/operlog/index.vue
+++ b/ruoyi-ui/src/views/monitor/operlog/index.vue
@@ -1,6 +1,6 @@
-
+
- 搜索
+ 搜索
重置
@@ -100,6 +100,14 @@
v-hasPermi="['system:config:export']"
>导出
+
+
+
+
+
+
+
+
@@ -195,6 +203,8 @@ export default {
ids: [],
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 表格数据
diff --git a/ruoyi-ui/src/views/system/config/index.vue b/ruoyi-ui/src/views/system/config/index.vue
index 83b77b9..b5b44e0 100644
--- a/ruoyi-ui/src/views/system/config/index.vue
+++ b/ruoyi-ui/src/views/system/config/index.vue
@@ -1,6 +1,6 @@
-
+
- 搜索
+ 搜索
重置
@@ -97,6 +97,14 @@
v-hasPermi="['system:config:remove']"
>清理缓存
+
+
+
+
+
+
+
+
@@ -188,6 +196,8 @@ export default {
single: true,
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 参数表格数据
diff --git a/ruoyi-ui/src/views/system/dept/index.vue b/ruoyi-ui/src/views/system/dept/index.vue
index 4d4d978..d2b4418 100644
--- a/ruoyi-ui/src/views/system/dept/index.vue
+++ b/ruoyi-ui/src/views/system/dept/index.vue
@@ -1,7 +1,7 @@
-
-
+
+
-
+
+ 搜索
+ 重置
+
+
+
+
+
搜索
- 新增
-
-
+
+
+
+
+
+
+
+
+
+
-
+
- 搜索
+ 搜索
重置
@@ -75,6 +75,14 @@
v-hasPermi="['system:dict:export']"
>导出
+
+
+
+
+
+
+
+
@@ -170,6 +178,8 @@ export default {
single: true,
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 字典表格数据
diff --git a/ruoyi-ui/src/views/system/dict/index.vue b/ruoyi-ui/src/views/system/dict/index.vue
index 779c173..6da26ab 100644
--- a/ruoyi-ui/src/views/system/dict/index.vue
+++ b/ruoyi-ui/src/views/system/dict/index.vue
@@ -1,6 +1,6 @@
-
+
- 搜索
+ 搜索
重置
@@ -103,6 +103,14 @@
v-hasPermi="['system:dict:remove']"
>清理缓存
+
+
+
+
+
+
+
+
@@ -196,6 +204,8 @@ export default {
single: true,
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 字典表格数据
diff --git a/ruoyi-ui/src/views/system/menu/index.vue b/ruoyi-ui/src/views/system/menu/index.vue
index 2303a52..6cf8d3b 100644
--- a/ruoyi-ui/src/views/system/menu/index.vue
+++ b/ruoyi-ui/src/views/system/menu/index.vue
@@ -1,7 +1,7 @@
-
-
+
+
-
+
- 搜索
- 新增
+ 搜索
+ 重置
+
+
+ 新增
+
+
+
+
+
+
+
+
+
+
+
-
+
- 搜索
+ 搜索
重置
@@ -65,6 +65,14 @@
v-hasPermi="['system:notice:remove']"
>删除
+
+
+
+
+
+
+
+
@@ -190,6 +198,8 @@ export default {
single: true,
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 公告表格数据
diff --git a/ruoyi-ui/src/views/system/post/index.vue b/ruoyi-ui/src/views/system/post/index.vue
index 046ef22..a3d9f4f 100644
--- a/ruoyi-ui/src/views/system/post/index.vue
+++ b/ruoyi-ui/src/views/system/post/index.vue
@@ -1,6 +1,6 @@
-
+
- 搜索
+ 搜索
重置
@@ -74,6 +74,14 @@
v-hasPermi="['system:post:export']"
>导出
+
+
+
+
+
+
+
+
@@ -164,6 +172,8 @@ export default {
single: true,
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 岗位表格数据
diff --git a/ruoyi-ui/src/views/system/role/index.vue b/ruoyi-ui/src/views/system/role/index.vue
index dddc906..ba74174 100644
--- a/ruoyi-ui/src/views/system/role/index.vue
+++ b/ruoyi-ui/src/views/system/role/index.vue
@@ -1,6 +1,6 @@
-
+
- 搜索
+ 搜索
重置
@@ -94,6 +94,14 @@
v-hasPermi="['system:role:export']"
>导出
+
+
+
+
+
+
+
+
@@ -249,6 +257,8 @@ export default {
single: true,
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 角色表格数据
diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue
index 51c2627..a1ae706 100644
--- a/ruoyi-ui/src/views/system/user/index.vue
+++ b/ruoyi-ui/src/views/system/user/index.vue
@@ -27,7 +27,7 @@
-
+
- 搜索
+ 搜索
重置
@@ -130,6 +130,14 @@
v-hasPermi="['system:user:export']"
>导出
+
+
+
+
+
+
+
+
@@ -356,6 +364,8 @@ export default {
single: true,
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 用户表格数据
diff --git a/ruoyi-ui/src/views/tool/gen/index.vue b/ruoyi-ui/src/views/tool/gen/index.vue
index 06306c2..fcbbfe5 100644
--- a/ruoyi-ui/src/views/tool/gen/index.vue
+++ b/ruoyi-ui/src/views/tool/gen/index.vue
@@ -1,6 +1,6 @@
-
+
- 搜索
+ 搜索
重置
@@ -76,6 +76,14 @@
v-hasPermi="['tool:gen:remove']"
>删除
+
+
+
+
+
+
+
+
@@ -186,6 +194,8 @@ export default {
single: true,
// 非多个禁用
multiple: true,
+ // 显示搜索条件
+ showSearch: true,
// 总条数
total: 0,
// 表数据
diff --git a/ruoyi-ui/vue.config.js b/ruoyi-ui/vue.config.js
index b7f16f3..fb70857 100644
--- a/ruoyi-ui/vue.config.js
+++ b/ruoyi-ui/vue.config.js
@@ -30,6 +30,7 @@ module.exports = {
devServer: {
host: '0.0.0.0',
port: port,
+ open: true,
proxy: {
// detail: https://cli.vuejs.org/config/#devserver-proxy
[process.env.VUE_APP_BASE_API]: {
@@ -71,17 +72,6 @@ module.exports = {
})
.end()
- // set preserveWhitespace
- config.module
- .rule('vue')
- .use('vue-loader')
- .loader('vue-loader')
- .tap(options => {
- options.compilerOptions.preserveWhitespace = true
- return options
- })
- .end()
-
config
.when(process.env.NODE_ENV !== 'development',
config => {