Merge branch 'master' of https://gitee.com/y_project/RuoYi-Vue into dev
Conflicts:
README.md
pom.xml
ruoyi-admin/pom.xml
ruoyi-admin/src/main/resources/application.yml
ruoyi-common/pom.xml
ruoyi-common/src/main/java/com/ruoyi/common/core/controller/BaseController.java
ruoyi-common/src/main/java/com/ruoyi/common/core/redis/RedisCache.java
ruoyi-common/src/main/java/com/ruoyi/common/utils/PageUtils.java
ruoyi-common/src/main/java/com/ruoyi/common/utils/ip/IpUtils.java
ruoyi-common/src/main/java/com/ruoyi/common/utils/poi/ExcelUtil.java
ruoyi-framework/pom.xml
ruoyi-framework/src/main/java/com/ruoyi/framework/aspectj/LogAspect.java
ruoyi-generator/pom.xml
ruoyi-generator/src/main/java/com/ruoyi/generator/controller/GenController.java
ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
ruoyi-job/pom.xml
ruoyi-system/pom.xml
ruoyi-system/src/main/resources/mapper/system/SysUserMapper.xml
ruoyi-ui/README.md
ruoyi-ui/bin/package.bat
ruoyi-ui/package.json
ruoyi-ui/src/views/index.vue
| | |
| | | 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) |
| | |
| | | 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)}) |
| | |
| | | this.open = true; |
| | | this.title = "添加${functionName}"; |
| | | }, |
| | | /** 展开/折叠操作 */ |
| | | toggleExpandAll() { |
| | | this.refreshTable = false; |
| | | this.isExpandAll = !this.isExpandAll; |
| | | this.$nextTick(() => { |
| | | this.refreshTable = true; |
| | | }); |
| | | }, |
| | | /** 修改按钮操作 */ |
| | | handleUpdate(row) { |
| | | this.loading = true; |
| | |
| | | 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) |
| | |
| | | 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)}) |
| | |
| | | title.value = "添加${functionName}"; |
| | | } |
| | | |
| | | /** 展开/折叠操作 */ |
| | | function toggleExpandAll() { |
| | | refreshTable.value = false; |
| | | isExpandAll.value = !isExpandAll.value; |
| | | nextTick(() => { |
| | | refreshTable.value = true; |
| | | }); |
| | | } |
| | | |
| | | /** 修改按钮操作 */ |
| | | async function handleUpdate(row) { |
| | | loading.value = true; |
| | |
| | | <id property="deptId" column="dept_id"/> |
| | | <result property="parentId" column="parent_id"/> |
| | | <result property="deptName" column="dept_name"/> |
| | | <result property="ancestors" column="ancestors"/> |
| | | <result property="orderNum" column="order_num"/> |
| | | <result property="leader" column="leader"/> |
| | | <result property="status" column="dept_status"/> |
| | |
| | | u.remark, |
| | | d.dept_id, |
| | | d.parent_id, |
| | | d.ancestors, |
| | | d.dept_name, |
| | | d.order_num, |
| | | d.leader, |
| | |
| | | npm install |
| | | |
| | | # 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题 |
| | | npm install --registry=https://registry.npm.taobao.org |
| | | npm install --registry=https://registry.npmmirror.com |
| | | |
| | | # 启动服务 |
| | | npm run dev |
| | |
| | | @echo off |
| | | echo. |
| | | echo [信息] 安装Web工程,生成node_modules文件。 |
| | | echo [��Ϣ] ��װWeb���̣�����node_modules�ļ��� |
| | | echo. |
| | | |
| | | %~d0 |
| | | cd %~dp0 |
| | | |
| | | cd .. |
| | | npm install --registry=https://registry.npm.taobao.org |
| | | npm install --registry=https://registry.npmmirror.com |
| | | |
| | | pause |
| | | pause |
| | |
| | | "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", |
| | |
| | | <script> |
| | | import { constantRoutes } from "@/router"; |
| | | |
| | | // 隐藏侧边栏路由 |
| | | const hideList = ['/index', '/user/profile']; |
| | | |
| | | export default { |
| | | data() { |
| | | return { |
| | | // 顶部栏初始数 |
| | | visibleNumber: 5, |
| | | // 是否为首次加载 |
| | | isFrist: false, |
| | | // 当前激活菜单的 index |
| | | currentIndex: undefined |
| | | }; |
| | |
| | | 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); |
| | |
| | | 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) {
|
| | |
| | | /** 修改按钮操作 */ |
| | | 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) { |