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