From 018b738e71f40cdacb2fc03a6e90b7c6b0b79078 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期三, 04 九月 2024 02:20:40 +0800 Subject: [PATCH] mongo统计 --- src/components/RightToolbar/index.vue | 77 ++++++++++++++++++++++++++++++++++++++ 1 files changed, 76 insertions(+), 1 deletions(-) diff --git a/src/components/RightToolbar/index.vue b/src/components/RightToolbar/index.vue index 67da293..f0f9310 100644 --- a/src/components/RightToolbar/index.vue +++ b/src/components/RightToolbar/index.vue @@ -7,11 +7,14 @@ <el-tooltip class="item" effect="dark" content="鍒锋柊" placement="top"> <el-button size="mini" circle icon="el-icon-refresh" @click="refresh()" /> </el-tooltip> + <el-tooltip v-show="$route.path.includes('equipment')" class="item" effect="dark" content="鑷畾涔夊垪" placement="top"> + <el-button size="mini" circle icon="el-icon-collection-tag" @click="addDynamicColumn()" /> + </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()" v-if="showColumnsType == 'transfer'"/> <el-dropdown trigger="click" :hide-on-click="false" style="padding-left: 12px" v-if="showColumnsType == 'checkbox'"> <el-button size="mini" circle icon="el-icon-menu" /> - <el-dropdown-menu slot="dropdown"> + <el-dropdown-menu slot="dropdown" style="max-height: 650px;overflow-y: auto"> <template v-for="item in columns"> <el-dropdown-item :key="item.key"> <el-checkbox :checked="item.visible" @change="checkboxChange($event, item.label)" :label="item.label" /> @@ -29,13 +32,45 @@ @change="dataChange" ></el-transfer> </el-dialog> + + + <el-dialog + title="娣诲姞鍔ㄦ�佸垪" + :visible.sync="showDynamicColumn" + width="500px" + :before-close="dynamicColumnClose"> + <div> + <div style="margin-bottom: 8px"> + <el-button style="float: right" type="primary" @click="addColumn" size="small">鏂板涓�鏉�</el-button> + </div> + <div v-for="(dynamicColumn, index) in dynamicColumnList" :key="index"> + <el-form :inline="true" size="small"> + <el-form-item label="鍒楀悕" prop="labelValue"> + <div style="display: flex; flex-direction: row"> + <el-input v-model="dynamicColumn.labelValue"></el-input> + <el-button style="margin-left: 8px" type="danger" @click="delColumn(dynamicColumn.id, index)">鍒犻櫎</el-button> + </div> + </el-form-item> + </el-form> + </div> + </div> + + <span slot="footer" class="dialog-footer"> + <el-button size="small" @click="dynamicColumnClose">鍙� 娑�</el-button> + <el-button type="primary" size="small" :disabled="!dynamicColumnList || dynamicColumnList.length < 1" @click="saveColumns">淇� 瀛�</el-button> + </span> + </el-dialog> + </div> </template> <script> +import { addDynamicColumn, deleteDynamicColumnById, editDynamicColumn, getDynamicColumnList } from '@/api/platform/dynamicColumn' export default { name: "RightToolbar", data() { return { + dynamicColumnList: [], + showDynamicColumn: false, // 鏄鹃殣鏁版嵁 value: [], // 寮瑰嚭灞傛爣棰� @@ -80,6 +115,9 @@ } }, created() { + if (this.$route.path.includes("equipment")) { + this.getDyColumn() + } if (this.showColumnsType == 'transfer') { // 鏄鹃殣鍒楀垵濮嬮粯璁ら殣钘忓垪 for (let item in this.columns) { @@ -90,6 +128,43 @@ } }, methods: { + getDyColumn() { + // 鏌ヨ鍔ㄦ�佸垪 + let params = { + tableName: 't_monitor' + } + getDynamicColumnList(params).then(res => { + this.dynamicColumnList = res.data + }) + }, + addDynamicColumn() { + this.showDynamicColumn = true + }, + saveColumns() { + editDynamicColumn(this.dynamicColumnList).then(res => { + this.$message.success("淇濆瓨鎴愬姛") + this.showDynamicColumn = false + }) + }, + addColumn() { + this.dynamicColumnList.push({ + id: null, + labelValue: '' + }) + }, + delColumn(id, index) { + if (! id) { + this.dynamicColumnList.splice(index, 1) + return + } + deleteDynamicColumnById(id).then(res => { + this.$message.success("鍒犻櫎鎴愬姛") + this.getDyColumn(); + }) + }, + dynamicColumnClose() { + this.showDynamicColumn = false + }, // 鎼滅储 toggleSearch() { this.$emit("update:showSearch", !this.showSearch); -- Gitblit v1.8.0