From 19cb8327f006f12403ea8591a22debd0ea26d43f Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Thu, 02 Apr 2026 11:36:59 +0800
Subject: [PATCH] 新增树分割组件TreePanel
---
ruoyi-ui/src/views/system/config/index.vue | 162 ++++++++++++++++++++++++++----------------------------
1 files changed, 78 insertions(+), 84 deletions(-)
diff --git a/ruoyi-ui/src/views/system/config/index.vue b/ruoyi-ui/src/views/system/config/index.vue
index 7c2f3e9..73fa939 100644
--- a/ruoyi-ui/src/views/system/config/index.vue
+++ b/ruoyi-ui/src/views/system/config/index.vue
@@ -1,12 +1,11 @@
<template>
<div class="app-container">
- <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+ <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="参数名称" prop="configName">
<el-input
v-model="queryParams.configName"
placeholder="请输入参数名称"
clearable
- size="small"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
@@ -16,25 +15,23 @@
v-model="queryParams.configKey"
placeholder="请输入参数键名"
clearable
- size="small"
style="width: 240px"
@keyup.enter.native="handleQuery"
/>
</el-form-item>
<el-form-item label="系统内置" prop="configType">
- <el-select v-model="queryParams.configType" placeholder="系统内置" clearable size="small">
+ <el-select v-model="queryParams.configType" placeholder="系统内置" clearable>
<el-option
- v-for="dict in typeOptions"
- :key="dict.dictValue"
- :label="dict.dictLabel"
- :value="dict.dictValue"
+ v-for="dict in dict.type.sys_yes_no"
+ :key="dict.value"
+ :label="dict.label"
+ :value="dict.value"
/>
</el-select>
</el-form-item>
<el-form-item label="创建时间">
<el-date-picker
v-model="dateRange"
- size="small"
style="width: 240px"
value-format="yyyy-MM-dd"
type="daterange"
@@ -44,7 +41,7 @@
></el-date-picker>
</el-form-item>
<el-form-item>
- <el-button type="cyan" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item>
</el-form>
@@ -53,6 +50,7 @@
<el-col :span="1.5">
<el-button
type="primary"
+ plain
icon="el-icon-plus"
size="mini"
@click="handleAdd"
@@ -62,6 +60,7 @@
<el-col :span="1.5">
<el-button
type="success"
+ plain
icon="el-icon-edit"
size="mini"
:disabled="single"
@@ -72,6 +71,7 @@
<el-col :span="1.5">
<el-button
type="danger"
+ plain
icon="el-icon-delete"
size="mini"
:disabled="multiple"
@@ -82,6 +82,7 @@
<el-col :span="1.5">
<el-button
type="warning"
+ plain
icon="el-icon-download"
size="mini"
@click="handleExport"
@@ -91,11 +92,12 @@
<el-col :span="1.5">
<el-button
type="danger"
+ plain
icon="el-icon-refresh"
size="mini"
- @click="handleClearCache"
+ @click="handleRefreshCache"
v-hasPermi="['system:config:remove']"
- >清理缓存</el-button>
+ >刷新缓存</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
@@ -105,8 +107,12 @@
<el-table-column label="参数主键" align="center" prop="configId" />
<el-table-column label="参数名称" align="center" prop="configName" :show-overflow-tooltip="true" />
<el-table-column label="参数键名" align="center" prop="configKey" :show-overflow-tooltip="true" />
- <el-table-column label="参数键值" align="center" prop="configValue" />
- <el-table-column label="系统内置" align="center" prop="configType" :formatter="typeFormat" />
+ <el-table-column label="参数键值" align="center" prop="configValue" :show-overflow-tooltip="true" />
+ <el-table-column label="系统内置" align="center" prop="configType">
+ <template slot-scope="scope">
+ <dict-tag :options="dict.type.sys_yes_no" :value="scope.row.configType"/>
+ </template>
+ </el-table-column>
<el-table-column label="备注" align="center" prop="remark" :show-overflow-tooltip="true" />
<el-table-column label="创建时间" align="center" prop="createTime" width="180">
<template slot-scope="scope">
@@ -151,15 +157,15 @@
<el-input v-model="form.configKey" placeholder="请输入参数键名" />
</el-form-item>
<el-form-item label="参数键值" prop="configValue">
- <el-input v-model="form.configValue" placeholder="请输入参数键值" />
+ <el-input v-model="form.configValue" type="textarea" placeholder="请输入参数键值" />
</el-form-item>
<el-form-item label="系统内置" prop="configType">
<el-radio-group v-model="form.configType">
<el-radio
- v-for="dict in typeOptions"
- :key="dict.dictValue"
- :label="dict.dictValue"
- >{{dict.dictLabel}}</el-radio>
+ v-for="dict in dict.type.sys_yes_no"
+ :key="dict.value"
+ :label="dict.value"
+ >{{dict.label}}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item label="备注" prop="remark">
@@ -175,10 +181,11 @@
</template>
<script>
-import { listConfig, getConfig, delConfig, addConfig, updateConfig, clearCache } from "@/api/system/config";
+import { listConfig, getConfig, delConfig, addConfig, updateConfig, refreshCache } from "@/api/system/config"
export default {
name: "Config",
+ dicts: ['sys_yes_no'],
data() {
return {
// 遮罩层
@@ -199,8 +206,6 @@
title: "",
// 是否显示弹出层
open: false,
- // 类型数据字典
- typeOptions: [],
// 日期范围
dateRange: [],
// 查询参数
@@ -225,33 +230,26 @@
{ required: true, message: "参数键值不能为空", trigger: "blur" }
]
}
- };
+ }
},
created() {
- this.getList();
- this.getDicts("sys_yes_no").then(response => {
- this.typeOptions = response.data;
- });
+ this.getList()
},
methods: {
/** 查询参数列表 */
getList() {
- this.loading = true;
+ this.loading = true
listConfig(this.addDateRange(this.queryParams, this.dateRange)).then(response => {
- this.configList = response.rows;
- this.total = response.total;
- this.loading = false;
+ this.configList = response.rows
+ this.total = response.total
+ this.loading = false
}
- );
- },
- // 参数系统内置字典翻译
- typeFormat(row, column) {
- return this.selectDictLabel(this.typeOptions, row.configType);
+ )
},
// 取消按钮
cancel() {
- this.open = false;
- this.reset();
+ this.open = false
+ this.reset()
},
// 表单重置
reset() {
@@ -262,75 +260,71 @@
configValue: undefined,
configType: "Y",
remark: undefined
- };
- this.resetForm("form");
+ }
+ this.resetForm("form")
},
/** 搜索按钮操作 */
handleQuery() {
- this.queryParams.pageNum = 1;
- this.getList();
+ this.queryParams.pageNum = 1
+ this.getList()
},
/** 重置按钮操作 */
resetQuery() {
- this.dateRange = [];
- this.resetForm("queryForm");
- this.handleQuery();
+ this.dateRange = []
+ this.resetForm("queryForm")
+ this.handleQuery()
},
/** 新增按钮操作 */
handleAdd() {
- this.reset();
- this.open = true;
- this.title = "添加参数";
+ this.reset()
+ this.open = true
+ this.title = "添加参数"
},
// 多选框选中数据
handleSelectionChange(selection) {
this.ids = selection.map(item => item.configId)
- this.single = selection.length!=1
+ this.single = selection.length != 1
this.multiple = !selection.length
},
/** 修改按钮操作 */
handleUpdate(row) {
- this.reset();
+ this.reset()
const configId = row.configId || this.ids
getConfig(configId).then(response => {
- this.form = response.data;
- this.open = true;
- this.title = "修改参数";
- });
+ this.form = response.data
+ this.open = true
+ this.title = "修改参数"
+ })
},
/** 提交按钮 */
- submitForm: function() {
+ submitForm() {
this.$refs["form"].validate(valid => {
if (valid) {
if (this.form.configId != undefined) {
- updateConfig(this.form).then(response => {
- this.msgSuccess("修改成功");
- this.open = false;
- this.getList();
- });
+ updateConfig(this.form).then(() => {
+ this.$modal.msgSuccess("修改成功")
+ this.open = false
+ this.getList()
+ })
} else {
- addConfig(this.form).then(response => {
- this.msgSuccess("新增成功");
- this.open = false;
- this.getList();
- });
+ addConfig(this.form).then(() => {
+ this.$modal.msgSuccess("新增成功")
+ this.open = false
+ this.getList()
+ })
}
}
- });
+ })
},
/** 删除按钮操作 */
handleDelete(row) {
- const configIds = row.configId || this.ids;
- this.$confirm('是否确认删除参数编号为"' + configIds + '"的数据项?', "警告", {
- confirmButtonText: "确定",
- cancelButtonText: "取消",
- type: "warning"
- }).then(function() {
- return delConfig(configIds);
- }).then(() => {
- this.getList();
- this.msgSuccess("删除成功");
- })
+ const configIds = row.configId || this.ids
+ this.$modal.confirm('是否确认删除参数编号为"' + configIds + '"的数据项?').then(function() {
+ return delConfig(configIds)
+ }).then(() => {
+ this.getList()
+ this.$modal.msgSuccess("删除成功")
+ }).catch(() => {})
},
/** 导出按钮操作 */
handleExport() {
@@ -338,12 +332,12 @@
...this.queryParams
}, `config_${new Date().getTime()}.xlsx`)
},
- /** 清理缓存按钮操作 */
- handleClearCache() {
- clearCache().then(response => {
- this.msgSuccess("清理成功");
- });
+ /** 刷新缓存按钮操作 */
+ handleRefreshCache() {
+ refreshCache().then(() => {
+ this.$modal.msgSuccess("刷新成功")
+ })
}
}
-};
-</script>
\ No newline at end of file
+}
+</script>
--
Gitblit v1.9.3