Ver código fonte

!24 修复问题
Merge pull request !24 from 疯狂的狮子li/dev

疯狂的狮子li 4 anos atrás
pai
commit
ae48c160b0

+ 4 - 1
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java

@@ -513,7 +513,10 @@ public class ExcelUtil<T>
         }
         else if (ColumnType.NUMERIC == attr.cellType())
         {
-            cell.setCellValue(StrUtil.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value));
+            if (StrUtil.isNotNull(value))
+            {
+                cell.setCellValue(StrUtil.contains(Convert.toStr(value), ".") ? Convert.toDouble(value) : Convert.toInt(value));
+            }
         }
         else if (ColumnType.IMAGE == attr.cellType())
         {

+ 21 - 31
ruoyi-framework/src/main/java/com/ruoyi/framework/mybatisplus/CreateAndUpdateMetaObjectHandler.java

@@ -7,49 +7,39 @@ import org.apache.ibatis.reflection.MetaObject;
 import java.util.Date;
 
 /**
- * @author woo
- * @date 2021/3/11
+ * MP注入处理器
+ * @author Lion Li
+ * @date 2021/4/25
  */
 public class CreateAndUpdateMetaObjectHandler implements MetaObjectHandler {
+
 	@Override
 	public void insertFill(MetaObject metaObject) {
-		//region 处理创建人信息
-		Object createBy = this.getFieldValByName("createBy", metaObject);
-		Object createTime = this.getFieldValByName("createTime", metaObject);
-		if (createBy == null) {
-			createBy = SecurityUtils.getUsername();
-			this.setFieldValByName("createBy", createBy, metaObject);
+		//根据属性名字设置要填充的值
+		if (metaObject.hasGetter("createTime")) {
+			if (metaObject.getValue("createTime") == null) {
+				this.setFieldValByName("createTime", new Date(), metaObject);
+			}
 		}
-		if (createTime == null) {
-			createTime = new Date();
-			this.setFieldValByName("createTime", createTime, metaObject);
+		if (metaObject.hasGetter("createBy")) {
+			if (metaObject.getValue("createBy") == null) {
+				this.setFieldValByName("createBy", SecurityUtils.getUsername(), metaObject);
+			}
 		}
-		//endregion
 	}
 
 	@Override
 	public void updateFill(MetaObject metaObject) {
-		//region 处理修改人信息
-		Object updateBy = this.getFieldValByName("updateBy", metaObject);
-		Object updateTime = this.getFieldValByName("updateTime", metaObject);
-		if (updateBy == null) {
-			updateBy = SecurityUtils.getUsername();
-			this.setFieldValByName("updateBy", updateBy, metaObject);
+		if (metaObject.hasGetter("updateBy")) {
+			if (metaObject.getValue("updateBy") == null) {
+				this.setFieldValByName("updateBy", SecurityUtils.getUsername(), metaObject);
+			}
 		}
-		if (updateTime == null) {
-			updateTime = new Date();
-			this.setFieldValByName("updateTime", updateTime, metaObject);
+		if (metaObject.hasGetter("updateTime")) {
+			if (metaObject.getValue("updateTime") == null) {
+				this.setFieldValByName("updateTime", new Date(), metaObject);
+			}
 		}
-		//endregion
-	}
-
-	@Override
-	public boolean openInsertFill() {
-		return true;
 	}
 
-	@Override
-	public boolean openUpdateFill() {
-		return true;
-	}
 }

+ 2 - 1
ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysMenuServiceImpl.java

@@ -25,7 +25,7 @@ import java.util.stream.Collectors;
 
 /**
  * 菜单 业务层处理
- *
+ * 
  * @author ruoyi
  */
 @Service
@@ -142,6 +142,7 @@ public class SysMenuServiceImpl extends ServiceImpl<SysMenuMapper, SysMenu> impl
                 router.setRedirect("noRedirect");
                 router.setChildren(buildMenus(cMenus));
             } else if (isMenuFrame(menu)) {
+                router.setMeta(null);
                 List<RouterVo> childrenList = new ArrayList<RouterVo>();
                 RouterVo children = new RouterVo();
                 children.setPath(menu.getPath());

+ 7 - 2
ruoyi-ui/src/components/TopNav/index.vue

@@ -73,7 +73,9 @@ export default {
             if(router.path === "/") {
               router.children[item].path = "/redirect/" + router.children[item].path;
             } else {
-              router.children[item].path = router.path + "/" + router.children[item].path;
+			  if(!this.ishttp(router.children[item].path)) {
+                router.children[item].path = router.path + "/" + router.children[item].path;
+			  }
             }
             router.children[item].parentPath = router.path;
           }
@@ -122,7 +124,7 @@ export default {
     // 菜单选择事件
     handleSelect(key, keyPath) {
       this.currentIndex = key;
-      if (key.indexOf("http://") !== -1 || key.indexOf("https://") !== -1) {
+      if (this.ishttp(key)) {
         // http(s):// 路径新窗口打开
         window.open(key, "_blank");
       } else if (key.indexOf("/redirect") !== -1) {
@@ -147,6 +149,9 @@ export default {
         this.$store.commit("SET_SIDEBAR_ROUTERS", routes);
       }
       return routes;
+    },
+	ishttp(url) {
+      return url.indexOf('http://') !== -1 || url.indexOf('https://') !== -1
     }
   },
 };