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