From e5c21244bd817fc2dd62ef38facc9b959bde9ee3 Mon Sep 17 00:00:00 2001
From: linwe <872216996@qq.com>
Date: Mon, 20 Nov 2023 17:44:38 +0800
Subject: [PATCH] 标签代码优化

---
 src/views/userHouse/lable/list.vue |  177 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++-
 1 files changed, 173 insertions(+), 4 deletions(-)

diff --git a/src/views/userHouse/lable/list.vue b/src/views/userHouse/lable/list.vue
index 4a0d30b..a48682e 100644
--- a/src/views/userHouse/lable/list.vue
+++ b/src/views/userHouse/lable/list.vue
@@ -1,11 +1,180 @@
 <template>
-  <div id="">
-    111111111111111111
-  </div>
-</template>
+ <el-row>
+   <el-col :span="24">
+     <basicContainer>
+       <avue-crud ref="crud" :option="option" :before-open="beforeOpen" :before-close="beforeClose" :data="data"
+         @tree-load="treeLoad" @row-save="rowSave" @row-del="rowDel" @refresh-change="refreshChange" @row-update="rowUpdate"
+         @on-load="onLoad">
+         <template #menu="{row,size}">
+           <el-button :size="size" type="text" icon="el-icon-circle-plus-outline" size="small" @click="handleAdd(row)">新增子级
+           </el-button>
+         </template>
+       </avue-crud>
+     </basicContainer>
+   </el-col>
 
+ </el-row>
+</template>
 <script>
+  import {
+    getTreeList,
+    add,
+    update,
+    remove
+  } from '@/api/label/label'
+
+  export default {
+    data() {
+      return {
+        query: {
+          parentId: 0
+        },
+        data: [],
+        loading: true,
+        page: {
+          pageSize: 10,
+          currentPage: 1,
+          total: 0
+        },
+        parentId: undefined,
+        option: {
+          lazy: true,
+          rowKey: 'id',
+          defaultExpandAll:true,
+          column: [{
+            label: '名称',
+            prop: 'name'
+          }, {
+            label: 'ID',
+            prop: 'id',
+            display: false
+          }, {
+            label: '排序',
+            prop: 'sort',
+          }, {
+            label: '父级id',
+            prop: 'parentId',
+            type: "tree",
+            dicData: [],
+            hide: true,
+            addDisabled: false,
+            props: {
+              label: "name",
+              value: 'id'
+            },
+          }]
+        },
+        data1: [],
+        selectionList: [],
+      }
+    },
+
+    methods: {
+
+      refreshChange() {
+        this.onLoad();
+      },
+
+      beforeOpen(done, type) {
+        if (["add", "edit"].includes(type)) {
+          this.initData();
+        }
+        done();
+      },
+
+      beforeClose(done) {
+        this.parentId = "";
+        const column = this.findObject(this.option.column, "parentId");
+        column.value = "";
+        column.addDisabled = false;
+        done();
+      },
+
+      initData() {
+        const column = this.findObject(this.option.column, "parentId");
+        column.dicData = this.data;
+      },
+
+      selectionClear() {
+        this.selectionList = [];
+      },
+
+      onLoad(page, params = {}) {
+        this.loading = true;
+        getTreeList().then(res => {
+          const data = res.data.data;
+          this.data = data;
+          this.loading = false;
+          this.selectionClear();
+        });
+      },
+
+      rowDel(row, index, done) {
+        console.log("*************")
+        this.$confirm("确定将选择数据删除?", {
+            confirmButtonText: "确定",
+            cancelButtonText: "取消",
+            type: "warning"
+          })
+          .then(() => {
+            return remove(row.id);
+          })
+          .then(() => {
+            this.$message({
+              type: "success",
+              message: "操作成功!"
+            });
+            done(row);
+          });
+      },
+
+      rowSave(row, done) {
+        row.parentId = this.parentId;
+        row.labelName = row.name
+        add(row).then(() => {
+          this.initFlag = false;
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "操作成功!"
+          });
+          done();
+        }, error => {
+          window.console.log(error);
+          loading();
+        });
+      },
+
+      rowUpdate(row, index, done) {
+        const column = this.findObject(this.option.column, "parentId");
+        column.value = row.id;
+        done(row)
+      },
+
+      handleAdd(row) {
+        const column = this.findObject(this.option.column, "parentId");
+        column.value = row.id;
+        column.addDisabled = true;
+        this.parentId = row.id
+        this.$refs.crud.rowAdd()
+      },
+
+      treeLoad(tree, treeNode, resolve) {
+        setTimeout(() => {
+          resolve([{
+            id: new Date().getTime(),
+            date: '2016-05-01',
+            name: '王小虎',
+            address: '上海市普陀区金沙江路 1519 弄',
+            hasChildren: true
+          }])
+        }, 1000)
+      }
+    }
+  }
 </script>
 
+
+
 <style>
 </style>

--
Gitblit v1.9.3