diff --git a/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
index 4ad96df33..2bc699a20 100644
--- a/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
+++ b/ruoyi-generator/src/main/resources/vm/vue/index-tree.vue.vm
@@ -186,11 +186,11 @@
#elseif($column.htmlType == "imageUpload")
-
+
#elseif($column.htmlType == "fileUpload")
-
+
#elseif($column.htmlType == "editor")
@@ -204,8 +204,11 @@
v-for="dict in dict.type.${dictType}"
:key="dict.value"
:label="dict.label"
- #if($column.javaType == "Integer" || $column.javaType == "Long"):value="parseInt(dict.value)"#else:value="dict.value"#end
-
+#if($column.javaType == "Integer" || $column.javaType == "Long")
+ :value="parseInt(dict.value)"
+#else
+ :value="dict.value"
+#end
>
@@ -216,7 +219,7 @@
#elseif($column.htmlType == "checkbox" && "" != $dictType)
-
+
#elseif($column.htmlType == "checkbox" && $dictType)
-
+
请选择字典生成
#elseif($column.htmlType == "radio" && "" != $dictType)
-
+
{{dict.label}}
#elseif($column.htmlType == "radio" && $dictType)
-
+
请选择字典生成
@@ -335,7 +341,7 @@ export default {
#set($comment=$column.columnComment)
#end
$column.javaField: [
- { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select")"change"#else"blur"#end }
+ { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end }
]#if($foreach.count != $columns.size()),#end
#end
#end
@@ -398,10 +404,7 @@ export default {
reset() {
this.form = {
#foreach ($column in $columns)
-#if($column.htmlType == "radio")
- $column.javaField: #if($column.javaType == "Integer" || $column.javaType == "Long")0#else"0"#end#if($foreach.count != $columns.size()),#end
-
-#elseif($column.htmlType == "checkbox")
+#if($column.htmlType == "checkbox")
$column.javaField: []#if($foreach.count != $columns.size()),#end
#else
$column.javaField: null#if($foreach.count != $columns.size()),#end
diff --git a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
index 7a57c7fde..e645b6bb8 100644
--- a/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
+++ b/ruoyi-generator/src/main/resources/vm/vue/index.vue.vm
@@ -133,9 +133,9 @@
#elseif($column.list && $column.htmlType == "imageUpload")
-
-
-
+
+
+
#elseif($column.list && $column.dictType && "" != $column.dictType)
@@ -197,11 +197,11 @@
#elseif($column.htmlType == "imageUpload")
-
+
#elseif($column.htmlType == "fileUpload")
-
+
#elseif($column.htmlType == "editor")
@@ -215,8 +215,11 @@
v-for="dict in dict.type.${dictType}"
:key="dict.value"
:label="dict.label"
- #if($column.javaType == "Integer" || $column.javaType == "Long"):value="parseInt(dict.value)"#else:value="dict.value"#end
-
+#if($column.javaType == "Integer" || $column.javaType == "Long")
+ :value="parseInt(dict.value)"
+#else
+ :value="dict.value"
+#end
>
@@ -227,7 +230,7 @@
#elseif($column.htmlType == "checkbox" && "" != $dictType)
-
+
#elseif($column.htmlType == "checkbox" && $dictType)
-
+
请选择字典生成
#elseif($column.htmlType == "radio" && "" != $dictType)
-
+
{{dict.label}}
#elseif($column.htmlType == "radio" && $dictType)
-
+
请选择字典生成
@@ -412,7 +418,7 @@ export default {
#set($comment=$column.columnComment)
#end
$column.javaField: [
- { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select")"change"#else"blur"#end }
+ { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end }
]#if($foreach.count != $columns.size()),#end
#end
#end
@@ -456,9 +462,7 @@ export default {
reset() {
this.form = {
#foreach ($column in $columns)
-#if($column.htmlType == "radio")
- $column.javaField: #if($column.javaType == "Integer" || $column.javaType == "Long")0#else"0"#end#if($foreach.count != $columns.size()),#end
-#elseif($column.htmlType == "checkbox")
+#if($column.htmlType == "checkbox")
$column.javaField: []#if($foreach.count != $columns.size()),#end
#else
$column.javaField: undefined#if($foreach.count != $columns.size()),#end
diff --git a/ruoyi-generator/src/main/resources/vm/vue/v3/index-tree.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/v3/index-tree.vue.vm
index 01a7367f8..531cdc37b 100644
--- a/ruoyi-generator/src/main/resources/vm/vue/v3/index-tree.vue.vm
+++ b/ruoyi-generator/src/main/resources/vm/vue/v3/index-tree.vue.vm
@@ -135,11 +135,11 @@
#end
#end
-
- 修改
- 新增
- 删除
-
+
+ 修改
+ 新增
+ 删除
+
@@ -165,6 +165,7 @@
value-key="${treeCode}"
placeholder="请选择${comment}"
check-strictly
+ :render-after-expand="false"
/>
#elseif($column.htmlType == "input")
@@ -172,11 +173,11 @@
#elseif($column.htmlType == "imageUpload")
-
+
#elseif($column.htmlType == "fileUpload")
-
+
#elseif($column.htmlType == "editor")
@@ -190,8 +191,11 @@
v-for="dict in ${dictType}"
:key="dict.value"
:label="dict.label"
- #if($column.javaType == "Integer" || $column.javaType == "Long"):value="parseInt(dict.value)"#else:value="dict.value"#end
-
+#if($column.javaType == "Integer" || $column.javaType == "Long")
+ :value="parseInt(dict.value)"
+#else
+ :value="dict.value"
+#end
>
@@ -202,7 +206,7 @@
#elseif($column.htmlType == "checkbox" && "" != $dictType)
-
+
#elseif($column.htmlType == "checkbox" && $dictType)
-
+
请选择字典生成
#elseif($column.htmlType == "radio" && "" != $dictType)
-
+
{{dict.label}}
#elseif($column.htmlType == "radio" && $dictType)
-
+
请选择字典生成
@@ -306,7 +313,7 @@ const data = reactive({
#set($comment=$column.columnComment)
#end
$column.javaField: [
- { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select")"change"#else"blur"#end }
+ { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end }
]#if($foreach.count != $columns.size()),#end
#end
#end
@@ -359,10 +366,7 @@ function cancel() {
function reset() {
form.value = {
#foreach ($column in $columns)
-#if($column.htmlType == "radio")
- $column.javaField: #if($column.javaType == "Integer" || $column.javaType == "Long")0#else"0"#end#if($foreach.count != $columns.size()),#end
-
-#elseif($column.htmlType == "checkbox")
+#if($column.htmlType == "checkbox")
$column.javaField: []#if($foreach.count != $columns.size()),#end
#else
$column.javaField: null#if($foreach.count != $columns.size()),#end
diff --git a/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm b/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm
index d0f4f8bc8..a93922ef5 100644
--- a/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm
+++ b/ruoyi-generator/src/main/resources/vm/vue/v3/index.vue.vm
@@ -147,10 +147,10 @@
#end
#end
-
- 修改
- 删除
-
+
+ 修改
+ 删除
+
@@ -180,11 +180,11 @@
#elseif($column.htmlType == "imageUpload")
-
+
#elseif($column.htmlType == "fileUpload")
-
+
#elseif($column.htmlType == "editor")
@@ -198,8 +198,11 @@
v-for="dict in ${dictType}"
:key="dict.value"
:label="dict.label"
- #if($column.javaType == "Integer" || $column.javaType == "Long"):value="parseInt(dict.value)"#else:value="dict.value"#end
-
+#if($column.javaType == "Integer" || $column.javaType == "Long")
+ :value="parseInt(dict.value)"
+#else
+ :value="dict.value"
+#end
>
@@ -210,7 +213,7 @@
#elseif($column.htmlType == "checkbox" && "" != $dictType)
-
+
#elseif($column.htmlType == "checkbox" && $dictType)
-
+
请选择字典生成
#elseif($column.htmlType == "radio" && "" != $dictType)
-
+
{{dict.label}}
#elseif($column.htmlType == "radio" && $dictType)
-
+
请选择字典生成
@@ -387,7 +393,7 @@ const data = reactive({
#set($comment=$column.columnComment)
#end
$column.javaField: [
- { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select")"change"#else"blur"#end }
+ { required: true, message: "$comment不能为空", trigger: #if($column.htmlType == "select" || $column.htmlType == "radio")"change"#else"blur"#end }
]#if($foreach.count != $columns.size()),#end
#end
#end
@@ -431,9 +437,7 @@ function cancel() {
function reset() {
form.value = {
#foreach ($column in $columns)
-#if($column.htmlType == "radio")
- $column.javaField: #if($column.javaType == "Integer" || $column.javaType == "Long")0#else"0"#end#if($foreach.count != $columns.size()),#end
-#elseif($column.htmlType == "checkbox")
+#if($column.htmlType == "checkbox")
$column.javaField: []#if($foreach.count != $columns.size()),#end
#else
$column.javaField: null#if($foreach.count != $columns.size()),#end
diff --git a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
index 72dc42bb4..31f4c1dc3 100644
--- a/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
+++ b/ruoyi-system/src/main/java/com/ruoyi/system/service/impl/SysConfigServiceImpl.java
@@ -136,6 +136,10 @@ public class SysConfigServiceImpl implements ISysConfigService, ConfigService {
@CachePut(cacheNames = CacheNames.SYS_CONFIG, key = "#config.configKey")
@Override
public String updateConfig(SysConfig config) {
+ SysConfig temp = baseMapper.selectById(config.getConfigId());
+ if (!StringUtils.equals(temp.getConfigKey(), config.getConfigKey())) {
+ CacheUtils.evict(CacheNames.SYS_CONFIG, temp.getConfigKey());
+ }
int row = 0;
if (config.getConfigId() != null) {
row = baseMapper.updateById(config);
diff --git a/ruoyi-ui/package.json b/ruoyi-ui/package.json
index 48ba1f9a4..61a89f433 100644
--- a/ruoyi-ui/package.json
+++ b/ruoyi-ui/package.json
@@ -39,7 +39,7 @@
"axios": "0.24.0",
"clipboard": "2.0.8",
"core-js": "3.25.3",
- "echarts": "4.9.0",
+ "echarts": "5.4.0",
"element-ui": "2.15.10",
"file-saver": "2.0.5",
"fuse.js": "6.4.3",
diff --git a/ruoyi-ui/src/assets/styles/ruoyi.scss b/ruoyi-ui/src/assets/styles/ruoyi.scss
index 16a4740f4..4e298744c 100644
--- a/ruoyi-ui/src/assets/styles/ruoyi.scss
+++ b/ruoyi-ui/src/assets/styles/ruoyi.scss
@@ -73,6 +73,10 @@
color: inherit;
}
+.el-message-box__status + .el-message-box__message{
+ word-break: break-word;
+}
+
.el-dialog:not(.is-fullscreen) {
margin-top: 6vh !important;
}
diff --git a/ruoyi-ui/src/components/HeaderSearch/index.vue b/ruoyi-ui/src/components/HeaderSearch/index.vue
index c44eff56e..c4d76bbb9 100644
--- a/ruoyi-ui/src/components/HeaderSearch/index.vue
+++ b/ruoyi-ui/src/components/HeaderSearch/index.vue
@@ -90,7 +90,6 @@ export default {
threshold: 0.4,
location: 0,
distance: 100,
- maxPatternLength: 32,
minMatchCharLength: 1,
keys: [{
name: 'title',
diff --git a/ruoyi-ui/src/components/RightPanel/index.vue b/ruoyi-ui/src/components/RightPanel/index.vue
index 2d6122bc0..5abeecb00 100644
--- a/ruoyi-ui/src/components/RightPanel/index.vue
+++ b/ruoyi-ui/src/components/RightPanel/index.vue
@@ -39,7 +39,6 @@ export default {
}
},
mounted() {
- this.insertToBody()
this.addEventClick()
},
beforeDestroy() {
@@ -56,11 +55,6 @@ export default {
this.show = false
window.removeEventListener('click', this.closeSidebar)
}
- },
- insertToBody() {
- const elx = this.$refs.rightPanel
- const body = document.querySelector('body')
- body.insertBefore(elx, body.firstChild)
}
}
}
diff --git a/ruoyi-ui/src/plugins/download.js b/ruoyi-ui/src/plugins/download.js
index 85138bb17..a1b21dad9 100644
--- a/ruoyi-ui/src/plugins/download.js
+++ b/ruoyi-ui/src/plugins/download.js
@@ -21,7 +21,7 @@ export default {
const isLogin = await blobValidate(res.data);
if (isLogin) {
const blob = new Blob([res.data], { type: 'application/octet-stream' })
- this.saveAs(blob, decodeURI(res.headers['download-filename']))
+ this.saveAs(blob, decodeURIComponent(res.headers['download-filename']))
} else {
this.printErrMsg(res.data);
}
diff --git a/ruoyi-ui/src/views/dashboard/BarChart.vue b/ruoyi-ui/src/views/dashboard/BarChart.vue
index be0af34f8..88e7ef64c 100644
--- a/ruoyi-ui/src/views/dashboard/BarChart.vue
+++ b/ruoyi-ui/src/views/dashboard/BarChart.vue
@@ -3,7 +3,7 @@