From 693a33f660891c98b8b95490d020c428c5da9871 Mon Sep 17 00:00:00 2001 From: 抓蛙师 <770492966@qq.com> Date: 星期一, 19 九月 2022 21:46:32 +0800 Subject: [PATCH] 完善功能:前端可以配置多排序参数支持依次排序 如:{isAsc:"asc",orderByColumn:"id"} {isAsc:"asc",orderByColumn:"id,createTime"} {isAsc:"asc,desc",orderByColumn:"id,createTime"} 共三种配置方式 --- ruoyi-ui/src/components/RightToolbar/index.vue | 80 ++++++++++++++++++++++++++++++++++++--- 1 files changed, 73 insertions(+), 7 deletions(-) diff --git a/ruoyi-ui/src/components/RightToolbar/index.vue b/ruoyi-ui/src/components/RightToolbar/index.vue index 73d2dcc..776fcee 100644 --- a/ruoyi-ui/src/components/RightToolbar/index.vue +++ b/ruoyi-ui/src/components/RightToolbar/index.vue @@ -1,38 +1,104 @@ -<!-- @author Shiyn/ huangmx 20200807浼樺寲--> <template> - <div class="top-right-btn"> + <div class="top-right-btn" :style="style"> <el-row> - <el-tooltip class="item" effect="dark" :content="showSearch ? '闅愯棌鎼滅储' : '鏄剧ず鎼滅储'" placement="top"> + <el-tooltip class="item" effect="dark" :content="showSearch ? '闅愯棌鎼滅储' : '鏄剧ず鎼滅储'" placement="top" v-if="search"> <el-button size="mini" circle icon="el-icon-search" @click="toggleSearch()" /> </el-tooltip> <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, + }, + search: { + type: Boolean, + default: true, + }, + gutter: { + type: Number, + default: 10, + }, }, - + computed: { + style() { + const ret = {}; + if (this.gutter) { + ret.marginRight = `${this.gutter / 2}px`; + } + return ret; + } + }, + created() { + // 鏄鹃殣鍒楀垵濮嬮粯璁ら殣钘忓垪 + for (let item in this.columns) { + if (this.columns[item].visible === false) { + this.value.push(parseInt(item)); + } + } + }, methods: { - //鎼滅储 + // 鎼滅储 toggleSearch() { this.$emit("update:showSearch", !this.showSearch); }, - //鍒锋柊 + // 鍒锋柊 refresh() { this.$emit("queryTable"); + }, + // 鍙充晶鍒楄〃鍏冪礌鍙樺寲 + dataChange(data) { + for (let 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> -- Gitblit v1.9.3