ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-generator/src/main/resources/vm/vue/index.vue.vm | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/components/Pagination/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/permission.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/utils/request.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/utils/ruoyi.js | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/views/system/dept/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/views/system/notice/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/views/system/user/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
ruoyi-ui/src/views/system/user/profile/userInfo.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
ruoyi-generator/src/main/java/com/ruoyi/generator/util/VelocityUtils.java
@@ -244,6 +244,21 @@ public static String getDicts(GenTable genTable) { List<GenTableColumn> columns = genTable.getColumns(); Set<String> dicts = new HashSet<String>(); addDicts(dicts, columns); if (ObjectUtil.isNotNull(genTable.getSubTable())) { List<GenTableColumn> subColumns = genTable.getSubTable().getColumns(); addDicts(dicts, subColumns); } return StringUtils.join(dicts, ", "); } /** * 添加字典列表 * * @param dicts 字典列表 * @param columns 列集合 */ public static void addDicts(Set<String> dicts, List<GenTableColumn> columns) { for (GenTableColumn column : columns) { if (!column.isSuperColumn() && StringUtils.isNotEmpty(column.getDictType()) && StringUtils.equalsAny( column.getHtmlType(), @@ -251,7 +266,6 @@ dicts.add("'" + column.getDictType() + "'"); } } return StringUtils.join(dicts, ", "); } /** ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
@@ -44,7 +44,7 @@ v-model="queryParams.${column.javaField}" type="date" value-format="yyyy-MM-dd" placeholder="选择${comment}"> placeholder="请选择${comment}"> </el-date-picker> </el-form-item> #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN") @@ -268,7 +268,7 @@ v-model="form.${field}" type="datetime" value-format="yyyy-MM-dd HH:mm:ss" placeholder="选择${comment}"> placeholder="请选择${comment}"> </el-date-picker> </el-form-item> #elseif($column.htmlType == "textarea") @@ -300,12 +300,39 @@ #set($comment=$column.columnComment) #end #if($column.pk || $javaField == ${subTableFkclassName}) #elseif($column.list && "" != $javaField) <el-table-column label="$comment" prop="${javaField}"> #elseif($column.list && $column.htmlType == "input") <el-table-column label="$comment" prop="${javaField}" width="150"> <template slot-scope="scope"> <el-input v-model="scope.row.$javaField" placeholder="请输入$comment" /> </template> </el-table-column> #elseif($column.list && $column.htmlType == "datetime") <el-table-column label="$comment" prop="${javaField}" width="240"> <template slot-scope="scope"> <el-date-picker clearable v-model="scope.row.$javaField" type="date" value-format="yyyy-MM-dd" placeholder="请选择$comment" /> </template> </el-table-column> #elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType) <el-table-column label="$comment" prop="${javaField}" width="150"> <template slot-scope="scope"> <el-select v-model="scope.row.$javaField" placeholder="请选择$comment"> <el-option v-for="dict in dict.type.$column.dictType" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </template> </el-table-column> #elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType) <el-table-column label="$comment" prop="${javaField}" width="150"> <template slot-scope="scope"> <el-select v-model="scope.row.$javaField" placeholder="请选择$comment"> <el-option label="请选择字典生成" value="" /> </el-select> </template> </el-table-column> #end #end </el-table> ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm
@@ -43,7 +43,7 @@ v-model="queryParams.${column.javaField}" type="date" value-format="YYYY-MM-DD" placeholder="选择${comment}"> placeholder="请选择${comment}"> </el-date-picker> </el-form-item> #elseif($column.htmlType == "datetime" && $column.queryType == "BETWEEN") @@ -259,7 +259,7 @@ v-model="form.${field}" type="datetime" value-format="YYYY-MM-DD HH:mm:ss" placeholder="选择${comment}"> placeholder="请选择${comment}"> </el-date-picker> </el-form-item> #elseif($column.htmlType == "textarea") @@ -291,12 +291,44 @@ #set($comment=$column.columnComment) #end #if($column.pk || $javaField == ${subTableFkclassName}) #elseif($column.list && "" != $javaField) <el-table-column label="$comment" prop="${javaField}"> #elseif($column.list && $column.htmlType == "input") <el-table-column label="$comment" prop="${javaField}" width="150"> <template #default="scope"> <el-input v-model="scope.row.$javaField" placeholder="请输入$comment" /> </template> </el-table-column> #elseif($column.list && $column.htmlType == "datetime") <el-table-column label="$comment" prop="${javaField}" width="240"> <template #default="scope"> <el-date-picker clearable v-model="scope.row.$javaField" type="date" value-format="YYYY-MM-DD" placeholder="请选择$comment"> </el-date-picker> </template> </el-table-column> #elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" != $column.dictType) <el-table-column label="$comment" prop="${javaField}" width="150"> <template #default="scope"> <el-select v-model="scope.row.$javaField" placeholder="请选择$comment"> <el-option v-for="dict in $column.dictType" :key="dict.value" :label="dict.label" :value="dict.value" ></el-option> </el-select> </template> </el-table-column> #elseif($column.list && ($column.htmlType == "select" || $column.htmlType == "radio") && "" == $column.dictType) <el-table-column label="$comment" prop="${javaField}" width="150"> <template #default="scope"> <el-select v-model="scope.row.$javaField" placeholder="请选择$comment"> <el-option label="请选择字典生成" value="" /> </el-select> </template> </el-table-column> #end #end </el-table> ruoyi-ui/src/components/Pagination/index.vue
@@ -1,7 +1,6 @@ <template> <div :class="{'hidden':hidden}" class="pagination-container"> <el-pagination v-if="pageShow" :background="background" :current-page.sync="currentPage" :page-size.sync="pageSize" @@ -64,7 +63,6 @@ }, data() { return { pageShow: true }; }, computed: { @@ -88,10 +86,7 @@ methods: { handleSizeChange(val) { if (this.currentPage * val > this.total) { this.pageShow = false; this.$nextTick(() => { this.pageShow = true }) this.currentPage = 1 } this.$emit('pagination', { page: this.currentPage, limit: val }) if (this.autoScroll) { ruoyi-ui/src/permission.js
@@ -4,6 +4,7 @@ import NProgress from 'nprogress' import 'nprogress/nprogress.css' import { getToken } from '@/utils/auth' import { isRelogin } from '@/utils/request' NProgress.configure({ showSpinner: false }) @@ -19,8 +20,10 @@ NProgress.done() } else { if (store.getters.roles.length === 0) { isRelogin.show = true // 判断当前用户是否已拉取完user_info信息 store.dispatch('GetInfo').then(() => { isRelogin.show = false store.dispatch('GenerateRoutes').then(accessRoutes => { // 根据roles权限生成可访问的路由表 router.addRoutes(accessRoutes) // 动态添加可访问路由表 ruoyi-ui/src/utils/request.js
@@ -9,7 +9,7 @@ let downloadLoadingInstance; // 是否显示重新登录 let isReloginShow; export let isRelogin = { show: false }; axios.defaults.headers['Content-Type'] = 'application/json;charset=utf-8' // 对应国际化资源文件后缀 @@ -78,23 +78,20 @@ return res.data } if (code === 401) { if (!isReloginShow) { isReloginShow = true; if (!isRelogin.show) { isRelogin.show = true; MessageBox.confirm('登录状态已过期,您可以继续留在该页面,或者重新登录', '系统提示', { confirmButtonText: '重新登录', cancelButtonText: '取消', type: 'warning' } ).then(() => { isReloginShow = false; isRelogin.show = false; store.dispatch('LogOut').then(() => { // 如果是登录页面不需要重新加载 if (window.location.hash.indexOf("#/login") != 0) { location.href = process.env.VUE_APP_CONTEXT_PATH + "index"; } }) }).catch(() => { isReloginShow = false; isRelogin.show = false; }); } return Promise.reject('无效的会话,或者会话已过期,请重新登录。') ruoyi-ui/src/utils/ruoyi.js
@@ -70,6 +70,9 @@ // 回显数据字典 export function selectDictLabel(datas, value) { if (value === undefined) { return ""; } var actions = []; Object.keys(datas).some((key) => { if (datas[key].value == ('' + value)) { @@ -77,6 +80,9 @@ return true; } }) if (actions.length === 0) { actions.push(value); } return actions.join(''); } @@ -89,11 +95,16 @@ var currentSeparator = undefined === separator ? "," : separator; var temp = value.split(currentSeparator); Object.keys(value.split(currentSeparator)).some((val) => { var match = false; Object.keys(datas).some((key) => { if (datas[key].value == ('' + temp[val])) { actions.push(datas[key].label + currentSeparator); match = true; } }) if (!match) { actions.push(temp[val] + currentSeparator); } }) return actions.join('').substring(0, actions.join('').length - 1); } ruoyi-ui/src/views/system/dept/index.vue
@@ -206,7 +206,7 @@ email: [ { type: "email", message: "'请输入正确的邮箱地址", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] } ], ruoyi-ui/src/views/system/notice/index.vue
@@ -135,7 +135,7 @@ </el-col> <el-col :span="12"> <el-form-item label="公告类型" prop="noticeType"> <el-select v-model="form.noticeType" placeholder="请选择"> <el-select v-model="form.noticeType" placeholder="请选择公告类型"> <el-option v-for="dict in dict.type.sys_notice_type" :key="dict.value" ruoyi-ui/src/views/system/user/index.vue
@@ -248,7 +248,7 @@ <el-row> <el-col :span="12"> <el-form-item label="用户性别"> <el-select v-model="form.sex" placeholder="请选择"> <el-select v-model="form.sex" placeholder="请选择性别"> <el-option v-for="dict in dict.type.sys_user_sex" :key="dict.value" @@ -273,7 +273,7 @@ <el-row> <el-col :span="12"> <el-form-item label="岗位"> <el-select v-model="form.postIds" multiple placeholder="请选择"> <el-select v-model="form.postIds" multiple placeholder="请选择岗位"> <el-option v-for="item in postOptions" :key="item.postId" @@ -286,7 +286,7 @@ </el-col> <el-col :span="12"> <el-form-item label="角色"> <el-select v-model="form.roleIds" multiple placeholder="请选择"> <el-select v-model="form.roleIds" multiple placeholder="请选择角色"> <el-option v-for="item in roleOptions" :key="item.roleId" ruoyi-ui/src/views/system/user/profile/userInfo.vue
@@ -42,7 +42,7 @@ { required: true, message: "邮箱地址不能为空", trigger: "blur" }, { type: "email", message: "'请输入正确的邮箱地址", message: "请输入正确的邮箱地址", trigger: ["blur", "change"] } ],