From 7ae73495487e9bebb986d53ca923a9ebac231618 Mon Sep 17 00:00:00 2001 From: xiangpei <xiangpei@timesnew.cn> Date: 星期五, 16 八月 2024 16:40:54 +0800 Subject: [PATCH] 资产管理动态字段 --- src/components/RightToolbar/index.vue | 75 +++++++++++++++++++++++++++++++++++++ 1 files changed, 75 insertions(+), 0 deletions(-) diff --git a/src/components/RightToolbar/index.vue b/src/components/RightToolbar/index.vue index 67da293..d125e60 100644 --- a/src/components/RightToolbar/index.vue +++ b/src/components/RightToolbar/index.vue @@ -7,6 +7,9 @@ <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"> + <el-button size="mini" circle icon="el-icon-refresh" @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'"> @@ -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,7 @@ } }, created() { + this.getDyColumn() if (this.showColumnsType == 'transfer') { // 鏄鹃殣鍒楀垵濮嬮粯璁ら殣钘忓垪 for (let item in this.columns) { @@ -90,6 +126,45 @@ } }, methods: { + getDyColumn() { + if (this.$route.path.concat("equipment")) { + // 鏌ヨ鍔ㄦ�佸垪 + 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