Browse Source

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

 Conflicts:
	ruoyi-ui/src/assets/styles/ruoyi.scss
	ruoyi-ui/src/components/HeaderSearch/index.vue
	ruoyi-ui/src/components/IconSelect/index.vue
	ruoyi-ui/src/permission.js
	ruoyi-ui/src/views/monitor/job/index.vue
	ruoyi-ui/src/views/system/user/index.vue
	ruoyi/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java
	ruoyi/src/main/java/com/ruoyi/framework/web/domain/BaseEntity.java
	ruoyi/src/main/java/com/ruoyi/project/system/controller/SysPostController.java
	ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml
	ruoyi/src/main/resources/mybatis/system/SysDictDataMapper.xml
	ruoyi/src/main/resources/mybatis/system/SysRoleMapper.xml
	ruoyi/src/main/resources/mybatis/system/SysUserMapper.xml
	ruoyi/src/main/resources/vm/vue/index.vue.vm
	ruoyi/src/main/resources/vm/xml/mapper.xml.vm
疯狂的狮子li 4 years ago
parent
commit
6bb7db31aa

+ 12 - 8
ruoyi-ui/src/assets/styles/ruoyi.scss

@@ -57,12 +57,16 @@
 	margin-top: 6vh !important;
 }
 
-.el-table .el-table__header-wrapper th {
-	word-break: break-word;
-	background-color: #f8f8f9;
-	color: #515a6e;
-	height: 40px;
-	font-size: 13px;
+.el-table {
+	.el-table__header-wrapper, .el-table__fixed-header-wrapper {
+		th {
+			word-break: break-word;
+			background-color: #f8f8f9;
+			color: #515a6e;
+			height: 40px;
+			font-size: 13px;
+		}
+	}
 }
 
 /** 表单布局 **/
@@ -138,7 +142,7 @@
 	padding-left: 15px;
 	margin-bottom: 10px;
 }
-
+  
 /* text color */
 .text-navy {
 	color: #1ab394;
@@ -194,4 +198,4 @@
 	opacity: .8;
 	color: #fff!important;
 	background: #42b983!important;
-}
+}

+ 10 - 2
ruoyi-ui/src/components/HeaderSearch/index.vue

@@ -70,7 +70,12 @@ export default {
       this.show = false
     },
     change(val) {
-      this.$router.push(val.path)
+      if(this.ishttp(val.path)) {
+        // http(s):// 路径新窗口打开
+        window.open(val.path, "_blank");
+      } else {
+        this.$router.push(val.path)
+      }
       this.search = ''
       this.options = []
       this.$nextTick(() => {
@@ -104,7 +109,7 @@ export default {
         if (router.hidden) { continue }
 
         const data = {
-          path: path.resolve(basePath, router.path),
+          path: !this.ishttp(router.path) ? path.resolve(basePath, router.path) : router.path,
           title: [...prefixTitle]
         }
 
@@ -134,6 +139,9 @@ export default {
       } else {
         this.options = []
       }
+    },
+    ishttp(url) {
+      return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1
     }
   }
 }

+ 1 - 2
ruoyi-ui/src/components/IconSelect/index.vue

@@ -25,10 +25,9 @@ export default {
   },
   methods: {
     filterIcons() {
+      this.iconList = icons
       if (this.name) {
         this.iconList = this.iconList.filter(item => item.includes(this.name))
-      } else {
-        this.iconList = icons
       }
     },
     selectedIcon(name) {

+ 1 - 1
ruoyi-ui/src/permission.js

@@ -53,7 +53,7 @@ router.beforeEach((to, from, next) => {
       // 在免登录白名单,直接进入
       next()
     } else {
-      next(`/login?redirect=${to.path}`) // 否则全部重定向到登录页
+      next(`/login?redirect=${to.fullPath}`) // 否则全部重定向到登录页
       NProgress.done()
     }
   }

+ 2 - 2
ruoyi-ui/src/views/monitor/job/index.vue

@@ -133,7 +133,7 @@
 
     <!-- 添加或修改定时任务对话框 -->
     <el-dialog :title="title" :visible.sync="open" width="700px" append-to-body>
-      <el-form ref="form" :model="form" :rules="rules" label-width="100px">
+      <el-form ref="form" :model="form" :rules="rules" label-width="120px">
         <el-row>
           <el-col :span="12">
             <el-form-item label="任务名称" prop="jobName">
@@ -481,4 +481,4 @@ export default {
     }
   }
 };
-</script>
+</script>

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

@@ -208,7 +208,7 @@
           </el-col>
           <el-col :span="12">
             <el-form-item label="归属部门" prop="deptId">
-              <treeselect v-model="form.deptId" :options="deptOptions" placeholder="请选择归属部门" />
+              <treeselect v-model="form.deptId" :options="deptOptions" :disable-branch-nodes="true" :show-count="true" placeholder="请选择归属部门" />
             </el-form-item>
           </el-col>
           <el-col :span="12">

+ 6 - 1
ruoyi/src/main/java/com/ruoyi/framework/aspectj/DataScopeAspect.java

@@ -52,6 +52,11 @@ public class DataScopeAspect
      */
     public static final String DATA_SCOPE_SELF = "5";
 
+    /**
+     * 数据权限过滤关键字
+     */
+    public static final String DATA_SCOPE = "dataScope";
+
     // 配置织入点
     @Pointcut("@annotation(com.ruoyi.framework.aspectj.lang.annotation.DataScope)")
     public void dataScopePointCut()
@@ -138,7 +143,7 @@ public class DataScopeAspect
         if (StringUtils.isNotBlank(sqlString.toString()))
         {
             BaseEntity baseEntity = (BaseEntity) joinPoint.getArgs()[0];
-            baseEntity.setDataScope(" AND (" + sqlString.substring(4) + ")");
+            baseEntity.getParams().put(DATA_SCOPE, " AND (" + sqlString.substring(4) + ")");
         }
     }
 

+ 0 - 13
ruoyi/src/main/java/com/ruoyi/framework/web/domain/BaseEntity.java

@@ -36,9 +36,6 @@ public class BaseEntity implements Serializable
     /** 备注 */
     private String remark;
 
-    /** 数据权限 */
-    private String dataScope;
-
     /** 开始时间 */
     @JsonIgnore
     private String beginTime;
@@ -110,16 +107,6 @@ public class BaseEntity implements Serializable
         this.remark = remark;
     }
 
-    public String getDataScope()
-    {
-        return dataScope;
-    }
-
-    public void setDataScope(String dataScope)
-    {
-        this.dataScope = dataScope;
-    }
-
     public String getBeginTime()
     {
         return beginTime;

+ 1 - 1
ruoyi/src/main/java/com/ruoyi/project/system/controller/SysPostController.java

@@ -48,7 +48,7 @@ public class SysPostController extends BaseController
     }
     
     @Log(title = "岗位管理", businessType = BusinessType.EXPORT)
-    @PreAuthorize("@ss.hasPermi('system:config:export')")
+    @PreAuthorize("@ss.hasPermi('system:post:export')")
     @GetMapping("/export")
     public AjaxResult export(SysPost post)
     {

+ 1 - 1
ruoyi/src/main/resources/mybatis/system/SysDeptMapper.xml

@@ -40,7 +40,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			AND status = #{status}
 		</if>
 		<!-- 数据范围过滤 -->
-		${dataScope}
+		${params.dataScope}
 		order by d.parent_id, d.order_num
     </select>
     

+ 4 - 3
ruoyi/src/main/resources/mybatis/system/SysDictDataMapper.xml

@@ -38,6 +38,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 				AND status = #{status}
 			</if>
 		</where>
+		order by dict_sort asc
 	</select>
 	
 	<select id="selectDictDataByType" parameterType="SysDictData" resultMap="SysDictDataResult">
@@ -73,7 +74,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 	<update id="updateDictData" parameterType="SysDictData">
  		update sys_dict_data
  		<set>
- 			<if test="dictSort != null and dictSort != ''">dict_sort = #{dictSort},</if>
+ 			<if test="dictSort != null">dict_sort = #{dictSort},</if>
  			<if test="dictLabel != null and dictLabel != ''">dict_label = #{dictLabel},</if>
  			<if test="dictValue != null and dictValue != ''">dict_value = #{dictValue},</if>
  			<if test="dictType != null and dictType != ''">dict_type = #{dictType},</if>
@@ -94,7 +95,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  	
  	<insert id="insertDictData" parameterType="SysDictData">
  		insert into sys_dict_data(
- 			<if test="dictSort != null and dictSort != ''">dict_sort,</if>
+ 			<if test="dictSort != null">dict_sort,</if>
  			<if test="dictLabel != null and dictLabel != ''">dict_label,</if>
  			<if test="dictValue != null and dictValue != ''">dict_value,</if>
  			<if test="dictType != null and dictType != ''">dict_type,</if>
@@ -106,7 +107,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
  			<if test="createBy != null and createBy != ''">create_by,</if>
  			create_time
  		)values(
- 		    <if test="dictSort != null and dictSort != ''">#{dictSort},</if>
+ 		    <if test="dictSort != null">#{dictSort},</if>
  		    <if test="dictLabel != null and dictLabel != ''">#{dictLabel},</if>
  			<if test="dictValue != null and dictValue != ''">#{dictValue},</if>
  			<if test="dictType != null and dictType != ''">#{dictType},</if>

+ 1 - 1
ruoyi/src/main/resources/mybatis/system/SysRoleMapper.xml

@@ -47,7 +47,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			and date_format(r.create_time,'%y%m%d') &lt;= date_format(#{endTime},'%y%m%d')
 		</if>
 		<!-- 数据范围过滤 -->
-		${dataScope}
+		${params.dataScope}
 		order by r.role_sort
 	</select>
     

+ 1 - 1
ruoyi/src/main/resources/mybatis/system/SysUserMapper.xml

@@ -78,7 +78,7 @@ PUBLIC "-//mybatis.org//DTD Mapper 3.0//EN"
 			AND (u.dept_id = #{deptId} OR u.dept_id IN ( SELECT t.dept_id FROM sys_dept t WHERE FIND_IN_SET (#{deptId},ancestors) ))
 		</if>
 		<!-- 数据范围过滤 -->
-		${dataScope}
+		${params.dataScope}
 	</select>
 	
 	<select id="selectUserByUserName" parameterType="String" resultMap="SysUserResult">

+ 2 - 2
ruoyi/src/main/resources/vm/vue/index-tree.vue.vm

@@ -146,7 +146,7 @@
               v-for="dict in ${field}Options"
               :key="dict.dictValue"
               :label="dict.dictLabel"
-              #if($column.javaType == "Integer"):value="parseInt(dict.dictValue)"#else:value="dict.dictValue"#end
+              #if($column.javaType == "Integer" || $column.javaType == "Long"):value="parseInt(dict.dictValue)"#else:value="dict.dictValue"#end
 
             ></el-option>
           </el-select>
@@ -163,7 +163,7 @@
             <el-radio
               v-for="dict in ${field}Options"
               :key="dict.dictValue"
-              #if($column.javaType == "Integer"):label="parseInt(dict.dictValue)"#else:label="dict.dictValue"#end
+              #if($column.javaType == "Integer" || $column.javaType == "Long"):label="parseInt(dict.dictValue)"#else:label="dict.dictValue"#end
 
             >{{dict.dictLabel}}</el-radio>
           </el-radio-group>

+ 2 - 2
ruoyi/src/main/resources/vm/vue/index.vue.vm

@@ -174,7 +174,7 @@
               v-for="dict in ${field}Options"
               :key="dict.dictValue"
               :label="dict.dictLabel"
-              #if($column.javaType == "Integer"):value="parseInt(dict.dictValue)"#else:value="dict.dictValue"#end
+              #if($column.javaType == "Integer" || $column.javaType == "Long"):value="parseInt(dict.dictValue)"#else:value="dict.dictValue"#end
 
             ></el-option>
           </el-select>
@@ -191,7 +191,7 @@
             <el-radio
               v-for="dict in ${field}Options"
               :key="dict.dictValue"
-              #if($column.javaType == "Integer"):label="parseInt(dict.dictValue)"#else:label="dict.dictValue"#end
+              #if($column.javaType == "Integer" || $column.javaType == "Long"):label="parseInt(dict.dictValue)"#else:label="dict.dictValue"#end
 
             >{{dict.dictLabel}}</el-radio>
           </el-radio-group>