Преглед на файлове

Merge branch 'master' of https://gitee.com/y_project/RuoYi-Cloud

 Conflicts:
	README.md
	pom.xml
	ruoyi-api/pom.xml
	ruoyi-api/ruoyi-api-resource/pom.xml
	ruoyi-api/ruoyi-api-system/pom.xml
	ruoyi-auth/pom.xml
	ruoyi-common/pom.xml
	ruoyi-common/ruoyi-common-core/pom.xml
	ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/PageUtils.java
	ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/ip/IpUtils.java
	ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/utils/poi/ExcelUtil.java
	ruoyi-common/ruoyi-common-core/src/main/java/com/ruoyi/common/core/web/controller/BaseController.java
	ruoyi-common/ruoyi-common-log/pom.xml
	ruoyi-common/ruoyi-common-mybatis/pom.xml
	ruoyi-common/ruoyi-common-redis/pom.xml
	ruoyi-common/ruoyi-common-security/pom.xml
	ruoyi-common/ruoyi-common-swagger/pom.xml
	ruoyi-gateway/pom.xml
	ruoyi-modules/pom.xml
	ruoyi-modules/ruoyi-gen/pom.xml
	ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index-tree.vue.vm
	ruoyi-modules/ruoyi-job/pom.xml
	ruoyi-modules/ruoyi-resource/pom.xml
	ruoyi-modules/ruoyi-system/pom.xml
	ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
	ruoyi-ui/package.json
	ruoyi-ui/src/views/index.vue
	ruoyi-visual/pom.xml
	ruoyi-visual/ruoyi-monitor/pom.xml
疯狂的狮子Li преди 4 години
родител
ревизия
db46e5a8b0

+ 6 - 0
ruoyi-gateway/pom.xml

@@ -68,6 +68,12 @@
             <artifactId>spring-boot-starter-actuator</artifactId>
         </dependency>
 
+        <!-- SpringCloud Loadbalancer -->
+        <dependency>
+            <groupId>org.springframework.cloud</groupId>
+            <artifactId>spring-cloud-loadbalancer</artifactId>
+        </dependency>
+
         <dependency>
             <groupId>cn.hutool</groupId>
             <artifactId>hutool-captcha</artifactId>

+ 23 - 1
ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/index-tree.vue.vm

@@ -78,14 +78,24 @@
           v-hasPermi="['${moduleName}:${businessName}:add']"
         >新增</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="info"
+          plain
+          icon="el-icon-sort"
+          size="mini"
+          @click="toggleExpandAll"
+        >展开/折叠</el-button>
+      </el-col>
       <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
     <el-table
+      v-if="refreshTable"
       v-loading="loading"
       :data="${businessName}List"
       row-key="${treeCode}"
-      default-expand-all
+      :default-expand-all="isExpandAll"
       :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
     >
 #foreach($column in $columns)
@@ -293,6 +303,10 @@ export default {
       title: "",
       // 是否显示弹出层
       open: false,
+      // 是否展开,默认全部展开
+      isExpandAll: true,
+      // 重新渲染表格状态
+      refreshTable: true,
 #foreach ($column in $columns)
 #if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
 #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
@@ -423,6 +437,14 @@ export default {
       this.open = true;
       this.title = "添加${functionName}";
     },
+    /** 展开/折叠操作 */
+    toggleExpandAll() {
+      this.refreshTable = false;
+      this.isExpandAll = !this.isExpandAll;
+      this.$nextTick(() => {
+        this.refreshTable = true;
+      });
+    },
     /** 修改按钮操作 */
     handleUpdate(row) {
 	  this.loading = true;

+ 21 - 1
ruoyi-modules/ruoyi-gen/src/main/resources/vm/vue/v3/index-tree.vue.vm

@@ -76,14 +76,23 @@
           v-hasPermi="['${moduleName}:${businessName}:add']"
         >新增</el-button>
       </el-col>
+      <el-col :span="1.5">
+        <el-button
+          type="info"
+          plain
+          icon="Sort"
+          @click="toggleExpandAll"
+        >展开/折叠</el-button>
+      </el-col>
       <right-toolbar v-model:showSearch="showSearch" @queryTable="getList"></right-toolbar>
     </el-row>
 
     <el-table
+      v-if="refreshTable"
       v-loading="loading"
       :data="${businessName}List"
       row-key="${treeCode}"
-      default-expand-all
+      :default-expand-all="isExpandAll"
       :tree-props="{children: 'children', hasChildren: 'hasChildren'}"
     >
 #foreach($column in $columns)
@@ -282,6 +291,8 @@ const buttonLoading = ref(false);
 const loading = ref(true);
 const showSearch = ref(true);
 const title = ref("");
+const isExpandAll = ref(true);
+const refreshTable = ref(true);
 #foreach ($column in $columns)
 #if($column.htmlType == "datetime" && $column.queryType == "BETWEEN")
 #set($AttrName=$column.javaField.substring(0,1).toUpperCase() + ${column.javaField.substring(1)})
@@ -404,6 +415,15 @@ async function handleAdd(row) {
   title.value = "添加${functionName}";
 }
 
+/** 展开/折叠操作 */
+function toggleExpandAll() {
+  refreshTable.value = false;
+  isExpandAll.value = !isExpandAll.value;
+  nextTick(() => {
+    refreshTable.value = true;
+  });
+}
+
 /** 修改按钮操作 */
 async function handleUpdate(row) {
   loading.value = true;

+ 3 - 1
ruoyi-modules/ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml

@@ -32,7 +32,8 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 		<id     property="deptId"   column="dept_id"     />
 		<result property="parentId" column="parent_id"   />
 		<result property="deptName" column="dept_name"   />
-		<result property="orderNum" column="order_num"   />
+        <result property="ancestors" column="ancestors"  />
+        <result property="orderNum" column="order_num"   />
 		<result property="leader"   column="leader"      />
 		<result property="status"   column="dept_status" />
 	</resultMap>
@@ -66,6 +67,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
                u.remark,
                d.dept_id,
                d.parent_id,
+               d.ancestors,
                d.dept_name,
                d.order_num,
                d.leader,

+ 1 - 1
ruoyi-ui/README.md

@@ -11,7 +11,7 @@ cd ruoyi-ui
 npm install
 
 # 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
-npm install --registry=https://registry.npm.taobao.org
+npm install --registry=https://registry.npmmirror.com
 
 # 启动服务
 npm run dev

+ 1 - 1
ruoyi-ui/bin/package.bat

@@ -7,6 +7,6 @@ echo.
 cd %~dp0
 
 cd ..
-npm install --registry=https://registry.npm.taobao.org
+npm install --registry=https://registry.npmmirror.com
 
 pause

+ 1 - 1
ruoyi-ui/package.json

@@ -47,7 +47,7 @@
     "highlight.js": "9.18.5",
     "js-beautify": "1.13.0",
     "js-cookie": "3.0.1",
-    "jsencrypt": "3.2.1",
+    "jsencrypt": "3.0.0-rc.1",
     "nprogress": "0.2.0",
     "quill": "1.3.7",
     "screenfull": "5.0.2",

+ 4 - 10
ruoyi-ui/src/components/TopNav/index.vue

@@ -30,13 +30,14 @@
 <script>
 import { constantRoutes } from "@/router";
 
+// 隐藏侧边栏路由
+const hideList = ['/index', '/user/profile'];
+
 export default {
   data() {
     return {
       // 顶部栏初始数
       visibleNumber: 5,
-      // 是否为首次加载
-      isFrist: false,
       // 当前激活菜单的 index
       currentIndex: undefined
     };
@@ -88,17 +89,10 @@ export default {
     activeMenu() {
       const path = this.$route.path;
       let activePath = path;
-      if (path.lastIndexOf("/") > 0) {
+      if (path !== undefined && path.lastIndexOf("/") > 0 && hideList.indexOf(path) === -1) {
         const tmpPath = path.substring(1, path.length);
         activePath = "/" + tmpPath.substring(0, tmpPath.indexOf("/"));
         this.$store.dispatch('app/toggleSideBarHide', false);
-      } else if ("/index" == path || "" == path) {
-        if (!this.isFrist) {
-          this.isFrist = true;
-        } else {
-          activePath = "index";
-        }
-        this.$store.dispatch('app/toggleSideBarHide', true);
       } else if(!this.$route.children) {
         activePath = path;
         this.$store.dispatch('app/toggleSideBarHide', true);

+ 1 - 1
ruoyi-ui/src/layout/index.vue

@@ -102,7 +102,7 @@ export default {
   }
 
   .sidebarHide .fixed-header {
-    width: calc(100%);
+    width: 100%;
   }
 
   .mobile .fixed-header {

+ 2 - 2
ruoyi-ui/src/plugins/tab.js

@@ -55,10 +55,10 @@ export default {
     return store.dispatch('tagsView/delOthersViews', obj || router.currentRoute);
   },
   // 添加tab页签
-  openPage(title, url) {
+  openPage(title, url, params) {
     var obj = { path: url, meta: { title: title } }
     store.dispatch('tagsView/addView', obj);
-    return router.push(url);
+    return router.push({ path: url, query: params });
   },
   // 修改tab页签
   updatePage(obj) {

+ 1 - 1
ruoyi-ui/src/views/index.vue

@@ -4,7 +4,7 @@
       <el-col :sm="24" :lg="12" style="padding-left: 20px">
         <h2>RuoYi-Cloud-Plus后台管理系统</h2>
         <p>
-          一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。
+          一直想做一款后台管理系统,看了很多优秀的开源项目但是发现没有合适自己的。于是利用空闲休息时间开始自己写一套后台系统。如此有了若依管理系统,她可以用于所有的Web应用程序,如网站管理后台,网站会员中心,CMS,CRM,OA等等,当然,您也可以对她进行深度定制,以做出更强系统。所有前端后台代码封装过后十分精简易上手,出错概率低。同时支持移动客户端访问。系统会陆续更新一些实用功能。
         </p>
         <p>
           <b>当前版本:</b> <span>v{{ version }}</span>

+ 3 - 1
ruoyi-ui/src/views/tool/gen/index.vue

@@ -318,7 +318,9 @@ export default {
     /** 修改按钮操作 */
     handleEditTable(row) {
       const tableId = row.tableId || this.ids[0];
-      this.$router.push({ path: '/tool/gen-edit/index/' + tableId, query: { pageNum: this.queryParams.pageNum } });
+      const tableName = row.tableName || this.tableNames[0];
+      const params = { pageNum: this.queryParams.pageNum };
+      this.$tab.openPage("修改[" + tableName + "]生成配置", '/tool/gen-edit/index/' + tableId, params);
     },
     /** 删除按钮操作 */
     handleDelete(row) {