From ce6bea4ba0660495eb8e72d4bb883a673d05bd3a Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期一, 05 七月 2021 09:57:15 +0800
Subject: [PATCH] 限制超级管理员不允许操作
---
ruoyi-ui/src/views/system/config/index.vue | 158 ++++++++++++++++++++++++++++++++++++++++++----------
1 files changed, 127 insertions(+), 31 deletions(-)
diff --git a/ruoyi-ui/src/views/system/config/index.vue b/ruoyi-ui/src/views/system/config/index.vue
index 5e0046d..d942f8f 100644
--- a/ruoyi-ui/src/views/system/config/index.vue
+++ b/ruoyi-ui/src/views/system/config/index.vue
@@ -1,7 +1,7 @@
<template>
<div class="app-container">
- <el-form :inline="true" label-width="68px">
- <el-form-item label="鍙傛暟鍚嶇О">
+ <el-form :model="queryParams" ref="queryForm" :inline="true" v-show="showSearch" label-width="68px">
+ <el-form-item label="鍙傛暟鍚嶇О" prop="configName">
<el-input
v-model="queryParams.configName"
placeholder="璇疯緭鍏ュ弬鏁板悕绉�"
@@ -11,7 +11,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="鍙傛暟閿悕">
+ <el-form-item label="鍙傛暟閿悕" prop="configKey">
<el-input
v-model="queryParams.configKey"
placeholder="璇疯緭鍏ュ弬鏁伴敭鍚�"
@@ -21,7 +21,7 @@
@keyup.enter.native="handleQuery"
/>
</el-form-item>
- <el-form-item label="绯荤粺鍐呯疆">
+ <el-form-item label="绯荤粺鍐呯疆" prop="configType">
<el-select v-model="queryParams.configType" placeholder="绯荤粺鍐呯疆" clearable size="small">
<el-option
v-for="dict in typeOptions"
@@ -45,11 +45,69 @@
</el-form-item>
<el-form-item>
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">鎼滅储</el-button>
- <el-button type="primary" icon="el-icon-plus" size="mini" @click="handleAdd" v-hasPermi="['system:config:add']">鏂板</el-button>
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">閲嶇疆</el-button>
</el-form-item>
</el-form>
- <el-table v-loading="loading" :data="configList">
+ <el-row :gutter="10" class="mb8">
+ <el-col :span="1.5">
+ <el-button
+ type="primary"
+ plain
+ icon="el-icon-plus"
+ size="mini"
+ @click="handleAdd"
+ v-hasPermi="['system:config:add']"
+ >鏂板</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="success"
+ plain
+ icon="el-icon-edit"
+ size="mini"
+ :disabled="single"
+ @click="handleUpdate"
+ v-hasPermi="['system:config:edit']"
+ >淇敼</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="danger"
+ plain
+ icon="el-icon-delete"
+ size="mini"
+ :disabled="multiple"
+ @click="handleDelete"
+ v-hasPermi="['system:config:remove']"
+ >鍒犻櫎</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="warning"
+ plain
+ icon="el-icon-download"
+ size="mini"
+ :loading="exportLoading"
+ @click="handleExport"
+ v-hasPermi="['system:config:export']"
+ >瀵煎嚭</el-button>
+ </el-col>
+ <el-col :span="1.5">
+ <el-button
+ type="danger"
+ plain
+ icon="el-icon-refresh"
+ size="mini"
+ @click="handleRefreshCache"
+ v-hasPermi="['system:config:remove']"
+ >鍒锋柊缂撳瓨</el-button>
+ </el-col>
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+ </el-row>
+
+ <el-table v-loading="loading" :data="configList" @selection-change="handleSelectionChange">
+ <el-table-column type="selection" width="55" align="center" />
<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" />
@@ -58,15 +116,15 @@
<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">
- <span>{{ dateFormat(scope.row.createTime) }}</span>
+ <span>{{ parseTime(scope.row.createTime) }}</span>
</template>
</el-table-column>
<el-table-column label="鎿嶄綔" align="center" class-name="small-padding fixed-width">
<template slot-scope="scope">
- <el-button
- size="mini"
- type="text"
- icon="el-icon-edit"
+ <el-button
+ size="mini"
+ type="text"
+ icon="el-icon-edit"
@click="handleUpdate(scope.row)"
v-hasPermi="['system:config:edit']"
>淇敼</el-button>
@@ -90,7 +148,7 @@
/>
<!-- 娣诲姞鎴栦慨鏀瑰弬鏁伴厤缃璇濇 -->
- <el-dialog :title="title" :visible.sync="open" width="500px">
+ <el-dialog :title="title" :visible.sync="open" width="500px" append-to-body>
<el-form ref="form" :model="form" :rules="rules" label-width="80px">
<el-form-item label="鍙傛暟鍚嶇О" prop="configName">
<el-input v-model="form.configName" placeholder="璇疯緭鍏ュ弬鏁板悕绉�" />
@@ -123,13 +181,24 @@
</template>
<script>
-import { listConfig, getConfig, delConfig, addConfig, updateConfig } from "@/api/system/config";
+import { listConfig, getConfig, delConfig, addConfig, updateConfig, exportConfig, refreshCache } from "@/api/system/config";
export default {
+ name: "Config",
data() {
return {
// 閬僵灞�
loading: true,
+ // 瀵煎嚭閬僵灞�
+ exportLoading: false,
+ // 閫変腑鏁扮粍
+ ids: [],
+ // 闈炲崟涓鐢�
+ single: true,
+ // 闈炲涓鐢�
+ multiple: true,
+ // 鏄剧ず鎼滅储鏉′欢
+ showSearch: true,
// 鎬绘潯鏁�
total: 0,
// 鍙傛暟琛ㄦ牸鏁版嵁
@@ -209,16 +278,29 @@
this.queryParams.pageNum = 1;
this.getList();
},
+ /** 閲嶇疆鎸夐挳鎿嶄綔 */
+ resetQuery() {
+ this.dateRange = [];
+ this.resetForm("queryForm");
+ this.handleQuery();
+ },
/** 鏂板鎸夐挳鎿嶄綔 */
handleAdd() {
this.reset();
this.open = true;
this.title = "娣诲姞鍙傛暟";
},
+ // 澶氶�夋閫変腑鏁版嵁
+ handleSelectionChange(selection) {
+ this.ids = selection.map(item => item.configId)
+ this.single = selection.length!=1
+ this.multiple = !selection.length
+ },
/** 淇敼鎸夐挳鎿嶄綔 */
handleUpdate(row) {
this.reset();
- getConfig(row.configId).then(response => {
+ const configId = row.configId || this.ids
+ getConfig(configId).then(response => {
this.form = response.data;
this.open = true;
this.title = "淇敼鍙傛暟";
@@ -230,23 +312,15 @@
if (valid) {
if (this.form.configId != undefined) {
updateConfig(this.form).then(response => {
- if (response.code === 200) {
- this.msgSuccess("淇敼鎴愬姛");
- this.open = false;
- this.getList();
- } else {
- this.msgError(response.msg);
- }
+ this.msgSuccess("淇敼鎴愬姛");
+ this.open = false;
+ this.getList();
});
} else {
addConfig(this.form).then(response => {
- if (response.code === 200) {
- this.msgSuccess("鏂板鎴愬姛");
- this.open = false;
- this.getList();
- } else {
- this.msgError(response.msg);
- }
+ this.msgSuccess("鏂板鎴愬姛");
+ this.open = false;
+ this.getList();
});
}
}
@@ -254,16 +328,38 @@
},
/** 鍒犻櫎鎸夐挳鎿嶄綔 */
handleDelete(row) {
- this.$confirm('鏄惁纭鍒犻櫎鍚嶇О涓�"' + row.configName + '"鐨勬暟鎹」?', "璀﹀憡", {
+ const configIds = row.configId || this.ids;
+ this.$confirm('鏄惁纭鍒犻櫎鍙傛暟缂栧彿涓�"' + configIds + '"鐨勬暟鎹」?', "璀﹀憡", {
confirmButtonText: "纭畾",
cancelButtonText: "鍙栨秷",
type: "warning"
}).then(function() {
- return delConfig(row.configId);
+ return delConfig(configIds);
}).then(() => {
this.getList();
this.msgSuccess("鍒犻櫎鎴愬姛");
- }).catch(function() {});
+ }).catch(() => {});
+ },
+ /** 瀵煎嚭鎸夐挳鎿嶄綔 */
+ handleExport() {
+ const queryParams = this.queryParams;
+ this.$confirm('鏄惁纭瀵煎嚭鎵�鏈夊弬鏁版暟鎹」?', "璀﹀憡", {
+ confirmButtonText: "纭畾",
+ cancelButtonText: "鍙栨秷",
+ type: "warning"
+ }).then(() => {
+ this.exportLoading = true;
+ return exportConfig(queryParams);
+ }).then(response => {
+ this.download(response.msg);
+ this.exportLoading = false;
+ }).catch(() => {});
+ },
+ /** 鍒锋柊缂撳瓨鎸夐挳鎿嶄綔 */
+ handleRefreshCache() {
+ refreshCache().then(() => {
+ this.msgSuccess("鍒锋柊鎴愬姛");
+ });
}
}
};
--
Gitblit v1.9.3