diff --git a/bin/package.bat b/bin/package.bat new file mode 100644 index 0000000..c693ec0 --- /dev/null +++ b/bin/package.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [信息] 打包Web工程,生成war/jar包文件。 +echo. + +%~d0 +cd %~dp0 + +cd .. +call mvn clean package -Dmaven.test.skip=true + +pause \ No newline at end of file diff --git a/jing-common/jing-common-core/src/main/java/com/jing/common/core/exception/PreAuthorizeException.java b/jing-common/jing-common-core/src/main/java/com/jing/common/core/exception/PreAuthorizeException.java new file mode 100644 index 0000000..81610e5 --- /dev/null +++ b/jing-common/jing-common-core/src/main/java/com/jing/common/core/exception/PreAuthorizeException.java @@ -0,0 +1,15 @@ +package com.jing.common.core.exception; + +/** + * 鏉冮檺寮傚父 + * + * @author ruoyi + */ +public class PreAuthorizeException extends RuntimeException +{ + private static final long serialVersionUID = 1L; + + public PreAuthorizeException() + { + } +} diff --git a/jing-common/jing-common-core/src/main/java/com/jing/common/core/utils/PageUtils.java b/jing-common/jing-common-core/src/main/java/com/jing/common/core/utils/PageUtils.java new file mode 100644 index 0000000..7e9197a --- /dev/null +++ b/jing-common/jing-common-core/src/main/java/com/jing/common/core/utils/PageUtils.java @@ -0,0 +1,35 @@ +package com.jing.common.core.utils; + +import com.github.pagehelper.PageHelper; +import com.jing.common.core.utils.sql.SqlUtil; +import com.jing.common.core.web.page.PageDomain; +import com.jing.common.core.web.page.TableSupport; + +/** + * 鍒嗛〉宸ュ叿绫 + * + * @author ruoyi + */ +public class PageUtils extends PageHelper +{ + /** + * 璁剧疆璇锋眰鍒嗛〉鏁版嵁 + */ + public static void startPage() + { + PageDomain pageDomain = TableSupport.buildPageRequest(); + Integer pageNum = pageDomain.getPageNum(); + Integer pageSize = pageDomain.getPageSize(); + String orderBy = SqlUtil.escapeOrderBySql(pageDomain.getOrderBy()); + Boolean reasonable = pageDomain.getReasonable(); + PageHelper.startPage(pageNum, pageSize, orderBy).setReasonable(reasonable); + } + + /** + * 娓呯悊鍒嗛〉鐨勭嚎绋嬪彉閲 + */ + public static void clearPage() + { + PageHelper.clearPage(); + } +} diff --git a/jing-common/jing-common-core/src/main/java/com/jing/common/core/web/page/PageDomain.java b/jing-common/jing-common-core/src/main/java/com/jing/common/core/web/page/PageDomain.java new file mode 100644 index 0000000..556247a --- /dev/null +++ b/jing-common/jing-common-core/src/main/java/com/jing/common/core/web/page/PageDomain.java @@ -0,0 +1,101 @@ +package com.jing.common.core.web.page; + +import com.jing.common.core.utils.StringUtils; + +/** + * 鍒嗛〉鏁版嵁 + * + * @author ruoyi + */ +public class PageDomain +{ + /** 褰撳墠璁板綍璧峰绱㈠紩 */ + private Integer pageNum; + + /** 姣忛〉鏄剧ず璁板綍鏁 */ + private Integer pageSize; + + /** 鎺掑簭鍒 */ + private String orderByColumn; + + /** 鎺掑簭鐨勬柟鍚慸esc鎴栬卆sc */ + private String isAsc = "asc"; + + /** 鍒嗛〉鍙傛暟鍚堢悊鍖 */ + private Boolean reasonable = true; + + public String getOrderBy() + { + if (StringUtils.isEmpty(orderByColumn)) + { + return ""; + } + return StringUtils.toUnderScoreCase(orderByColumn) + " " + isAsc; + } + + public Integer getPageNum() + { + return pageNum; + } + + public void setPageNum(Integer pageNum) + { + this.pageNum = pageNum; + } + + public Integer getPageSize() + { + return pageSize; + } + + public void setPageSize(Integer pageSize) + { + this.pageSize = pageSize; + } + + public String getOrderByColumn() + { + return orderByColumn; + } + + public void setOrderByColumn(String orderByColumn) + { + this.orderByColumn = orderByColumn; + } + + public String getIsAsc() + { + return isAsc; + } + + public void setIsAsc(String isAsc) + { + if (StringUtils.isNotEmpty(isAsc)) + { + // 鍏煎鍓嶇鎺掑簭绫诲瀷 + if ("ascending".equals(isAsc)) + { + isAsc = "asc"; + } + else if ("descending".equals(isAsc)) + { + isAsc = "desc"; + } + this.isAsc = isAsc; + } + } + + public Boolean getReasonable() + { + if (StringUtils.isNull(reasonable)) + { + return Boolean.TRUE; + } + return reasonable; + } + + public void setReasonable(Boolean reasonable) + { + this.reasonable = reasonable; + } +} diff --git a/jing-common/jing-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports b/jing-common/jing-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports new file mode 100644 index 0000000..b88f79a --- /dev/null +++ b/jing-common/jing-common-swagger/src/main/resources/META-INF/spring/org.springframework.boot.autoconfigure.AutoConfiguration.imports @@ -0,0 +1,3 @@ +# com.jing.common.swagger.config.SwaggerAutoConfiguration +# com.jing.common.swagger.config.SwaggerWebConfiguration +# com.jing.common.swagger.config.SwaggerBeanPostProcessor diff --git a/jing-ui/bin/package.bat b/jing-ui/bin/package.bat new file mode 100644 index 0000000..0e5bc0f --- /dev/null +++ b/jing-ui/bin/package.bat @@ -0,0 +1,12 @@ +@echo off +echo. +echo [信息] 安装Web工程,生成node_modules文件。 +echo. + +%~d0 +cd %~dp0 + +cd .. +npm install --registry=https://registry.npmmirror.com + +pause \ No newline at end of file diff --git a/jing-ui/package.json b/jing-ui/package.json new file mode 100644 index 0000000..40f1d13 --- /dev/null +++ b/jing-ui/package.json @@ -0,0 +1,90 @@ +{ + "name": "ruoyi", + "version": "3.6.4", + "description": "jing绯荤粺", + "author": "鑻ヤ緷", + "license": "MIT", + "scripts": { + "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", + "lint": "eslint --ext .js,.vue src" + }, + "husky": { + "hooks": { + "pre-commit": "lint-staged" + } + }, + "lint-staged": { + "src/**/*.{js,vue}": [ + "eslint --fix", + "git add" + ] + }, + "keywords": [ + "vue", + "admin", + "dashboard", + "element-ui", + "boilerplate", + "admin-template", + "management-system" + ], + "repository": { + "type": "git", + "url": "https://gitee.com/y_project/RuoYi-Cloud.git" + }, + "dependencies": { + "@riophae/vue-treeselect": "0.4.0", + "axios": "0.24.0", + "clipboard": "2.0.8", + "core-js": "3.25.3", + "echarts": "5.4.0", + "element-ui": "2.15.14", + "file-saver": "2.0.5", + "fuse.js": "6.4.3", + "highlight.js": "9.18.5", + "js-beautify": "1.13.0", + "js-cookie": "3.0.1", + "jsencrypt": "3.0.0-rc.1", + "nprogress": "0.2.0", + "quill": "1.3.7", + "screenfull": "5.0.2", + "sortablejs": "1.10.2", + "vue": "2.6.12", + "vue-count-to": "1.0.13", + "vue-cropper": "0.5.5", + "vue-meta": "2.4.0", + "vue-router": "3.4.9", + "vuedraggable": "2.24.3", + "vuex": "3.6.0" + }, + "devDependencies": { + "@vue/cli-plugin-babel": "4.4.6", + "@vue/cli-plugin-eslint": "4.4.6", + "@vue/cli-service": "4.4.6", + "babel-eslint": "10.1.0", + "babel-plugin-dynamic-import-node": "2.3.3", + "chalk": "4.1.0", + "compression-webpack-plugin": "6.1.2", + "connect": "3.6.6", + "eslint": "7.15.0", + "eslint-plugin-vue": "7.2.0", + "lint-staged": "10.5.3", + "runjs": "4.4.2", + "sass": "1.32.13", + "sass-loader": "10.1.1", + "script-ext-html-webpack-plugin": "2.1.5", + "svg-sprite-loader": "5.1.1", + "vue-template-compiler": "2.6.12" + }, + "engines": { + "node": ">=8.9", + "npm": ">= 3.0.0" + }, + "browserslist": [ + "> 1%", + "last 2 versions" + ] +} diff --git a/jing-ui/src/assets/icons/svg/password.svg b/jing-ui/src/assets/icons/svg/password.svg new file mode 100644 index 0000000..6c64def --- /dev/null +++ b/jing-ui/src/assets/icons/svg/password.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/jing-ui/src/assets/images/pay.png b/jing-ui/src/assets/images/pay.png new file mode 100644 index 0000000..bb8b967 Binary files /dev/null and b/jing-ui/src/assets/images/pay.png differ diff --git a/jing-ui/src/views/dashboard/PanelGroup.vue b/jing-ui/src/views/dashboard/PanelGroup.vue new file mode 100644 index 0000000..1a1081f --- /dev/null +++ b/jing-ui/src/views/dashboard/PanelGroup.vue @@ -0,0 +1,181 @@ + + + + +