From 654aa6b30ccd30ef1efc0d083a2f48a8d8287a4e Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: 星期三, 06 一月 2021 17:30:39 +0800
Subject: [PATCH] 表格右侧工具栏组件支持显隐列
---
/dev/null | 3 -
ruoyi-ui/src/components/FileUpload/index.vue | 1
ruoyi-ui/src/views/system/user/index.vue | 26 +++++++++----
ruoyi-ui/src/components/RightToolbar/index.vue | 50 +++++++++++++++++++++++--
4 files changed, 65 insertions(+), 15 deletions(-)
diff --git a/ruoyi-ui/src/components/FileUpload/index.vue b/ruoyi-ui/src/components/FileUpload/index.vue
index 841d3ae..d19a012 100644
--- a/ruoyi-ui/src/components/FileUpload/index.vue
+++ b/ruoyi-ui/src/components/FileUpload/index.vue
@@ -90,6 +90,7 @@
return item;
});
} else {
+ this.fileList = [];
return [];
}
},
diff --git a/ruoyi-ui/src/components/RightToolbar/index.vue b/ruoyi-ui/src/components/RightToolbar/index.vue
index 73d2dcc..9bf9722 100644
--- a/ruoyi-ui/src/components/RightToolbar/index.vue
+++ b/ruoyi-ui/src/components/RightToolbar/index.vue
@@ -1,4 +1,3 @@
-<!-- @author Shiyn/ huangmx 20200807浼樺寲-->
<template>
<div class="top-right-btn">
<el-row>
@@ -8,31 +7,74 @@
<el-tooltip class="item" effect="dark" content="鍒锋柊" placement="top">
<el-button size="mini" circle icon="el-icon-refresh" @click="refresh()" />
</el-tooltip>
+ <el-tooltip class="item" effect="dark" content="鏄鹃殣鍒�" placement="top" v-if="columns">
+ <el-button size="mini" circle icon="el-icon-menu" @click="showColumn()" />
+ </el-tooltip>
</el-row>
+ <el-dialog :title="title" :visible.sync="open" append-to-body>
+ <el-transfer
+ :titles="['鏄剧ず', '闅愯棌']"
+ v-model="value"
+ :data="columns"
+ @change="dataChange"
+ ></el-transfer>
+ </el-dialog>
</div>
</template>
<script>
export default {
name: "RightToolbar",
data() {
- return {};
+ return {
+ // 鏄鹃殣鏁版嵁
+ value: [],
+ // 寮瑰嚭灞傛爣棰�
+ title: "鏄剧ず/闅愯棌",
+ // 鏄惁鏄剧ず寮瑰嚭灞�
+ open: false,
+ };
},
props: {
showSearch: {
type: Boolean,
default: true,
},
+ columns: {
+ type: Array,
+ },
},
methods: {
- //鎼滅储
+ // 鎼滅储
toggleSearch() {
this.$emit("update:showSearch", !this.showSearch);
},
- //鍒锋柊
+ // 鍒锋柊
refresh() {
this.$emit("queryTable");
+ },
+ // 鍙充晶鍒楄〃鍏冪礌鍙樺寲
+ dataChange(data) {
+ for (var item in this.columns) {
+ const key = this.columns[item].key;
+ this.columns[item].visible = !data.includes(key);
+ }
+ },
+ // 鎵撳紑鏄鹃殣鍒梔ialog
+ showColumn() {
+ this.open = true;
},
},
};
</script>
+<style lang="scss" scoped>
+::v-deep .el-transfer__button {
+ border-radius: 50%;
+ padding: 12px;
+ display: block;
+ margin-left: 0px;
+}
+::v-deep .el-transfer__button:first-child {
+ margin-bottom: 10px;
+}
+</style>
diff --git a/ruoyi-ui/src/layout/components/global.js b/ruoyi-ui/src/layout/components/global.js
deleted file mode 100644
index 5d2b5b3..0000000
--- a/ruoyi-ui/src/layout/components/global.js
+++ /dev/null
@@ -1,3 +0,0 @@
-import Vue from 'vue'
-const global = new Vue()
-export default global
diff --git a/ruoyi-ui/src/views/system/user/index.vue b/ruoyi-ui/src/views/system/user/index.vue
index 5399b34..078f840 100644
--- a/ruoyi-ui/src/views/system/user/index.vue
+++ b/ruoyi-ui/src/views/system/user/index.vue
@@ -135,17 +135,17 @@
v-hasPermi="['system:user:export']"
>瀵煎嚭</el-button>
</el-col>
- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
+ <right-toolbar :showSearch.sync="showSearch" @queryTable="getList" :columns="columns"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="userList" @selection-change="handleSelectionChange">
<el-table-column type="selection" width="50" align="center" />
- <el-table-column label="鐢ㄦ埛缂栧彿" align="center" prop="userId" />
- <el-table-column label="鐢ㄦ埛鍚嶇О" align="center" prop="userName" :show-overflow-tooltip="true" />
- <el-table-column label="鐢ㄦ埛鏄电О" align="center" prop="nickName" :show-overflow-tooltip="true" />
- <el-table-column label="閮ㄩ棬" align="center" prop="dept.deptName" :show-overflow-tooltip="true" />
- <el-table-column label="鎵嬫満鍙风爜" align="center" prop="phonenumber" width="120" />
- <el-table-column label="鐘舵��" align="center">
+ <el-table-column label="鐢ㄦ埛缂栧彿" align="center" prop="userId" v-if="columns[0].visible" />
+ <el-table-column label="鐢ㄦ埛鍚嶇О" align="center" prop="userName" v-if="columns[1].visible" :show-overflow-tooltip="true" />
+ <el-table-column label="鐢ㄦ埛鏄电О" align="center" prop="nickName" v-if="columns[2].visible" :show-overflow-tooltip="true" />
+ <el-table-column label="閮ㄩ棬" align="center" prop="dept.deptName" v-if="columns[3].visible" :show-overflow-tooltip="true" />
+ <el-table-column label="鎵嬫満鍙风爜" align="center" prop="phonenumber" v-if="columns[4].visible" width="120" />
+ <el-table-column label="鐘舵��" align="center" v-if="columns[5].visible">
<template slot-scope="scope">
<el-switch
v-model="scope.row.status"
@@ -155,7 +155,7 @@
></el-switch>
</template>
</el-table-column>
- <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" width="160">
+ <el-table-column label="鍒涘缓鏃堕棿" align="center" prop="createTime" v-if="columns[6].visible" width="160">
<template slot-scope="scope">
<span>{{ parseTime(scope.row.createTime) }}</span>
</template>
@@ -418,6 +418,16 @@
status: undefined,
deptId: undefined
},
+ // 鍒椾俊鎭�
+ columns: [
+ { key: 0, label: `鐢ㄦ埛缂栧彿`, visible: true },
+ { key: 1, label: `鐢ㄦ埛鍚嶇О`, visible: true },
+ { key: 2, label: `鐢ㄦ埛鏄电О`, visible: true },
+ { key: 3, label: `閮ㄩ棬`, visible: true },
+ { key: 4, label: `鎵嬫満鍙风爜`, visible: true },
+ { key: 5, label: `鐘舵�乣, visible: true },
+ { key: 6, label: `鍒涘缓鏃堕棿`, visible: true }
+ ],
// 琛ㄥ崟鏍¢獙
rules: {
userName: [
--
Gitblit v1.9.3