XiaoRuby
2023-08-26 81a36e224bc95d7041bdaadd0fc12c35d4498850
src/views/standardLibrary/index.vue
@@ -2,7 +2,10 @@
  <div class="standard-library-main">
    <div class="content-main">
      <div class="library-bom" style="width: 300px">
        <el-input v-model="filterText" placeholder="输入关键字进行过滤" />
        <el-input
          v-model="filterText"
          placeholder="输入关键字进行过滤"
        ></el-input>
        <el-button type="text">全部</el-button>
        <el-tree
          ref="tree"
@@ -41,13 +44,14 @@
          <el-table
            :data="tableData"
            style="width: 100%; margin-bottom: 20px"
            row-key="name"
            row-key="id"
            border
            height="calc(100vh - 250px)"
            default-expand-all
            ref="multipleTable"
            @select="selectTr"
            @select-all="selectAll"
            @selection-change="handleSelectionChange"
            :tree-props="{ children: 'children', hasChildren: 'hasChildren' }"
          >
            <el-table-column type="selection" label="序号"> </el-table-column>
@@ -198,7 +202,7 @@
  methods: {
    filterNode(value, data) {
      if (!value) return true;
      return data.label.indexOf(value) !== -1;
      return data.name.indexOf(value) !== -1;
    },
    // 获取bom树的标准数据
    async getStandardTree() {
@@ -229,7 +233,6 @@
          ".el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node .el-tree-node__children .el-tree-node"
        );
        firstNode.click();
        // console.log(firstNode);
      });
    },
    getDefault(arr, index) {
@@ -250,7 +253,6 @@
        this.getParentData(node.parent, node.data.name);
        // 存下选中节点
        this.selectData = data;
        // eslint-disable-next-line prefer-const
        this.getTableByClick(data);
      }
      if (!("children" in data)) {
@@ -282,7 +284,6 @@
          }
        });
        this.tableData = res.data;
        console.log(`output->this.tableData`, this.tableData);
        this.selectDataList();
      });
    },
@@ -316,7 +317,6 @@
    },
    async subAddTreeForm() {
      this.addTreeFormVisible = false;
      console.log(this.addTreeForm.addTypeArr.length);
      let res = null;
      try {
        switch (this.addTreeForm.addTypeArr.length) {
@@ -346,14 +346,14 @@
        this.$message.error("添加失败");
      }
      console.log(res);
      this.$message.success("添加成功");
      this.addTreeForm = {};
      this.addTreeForm = {
        addTypeArr: [],
      };
      this.getStandardTree();
      this.getTableByClick(this.selectData);
    },
    changeCascader(data) {
      console.log(data);
      this.addTreeForm.addTypeArr = data;
    },
    closeAddTreeForm() {
@@ -400,21 +400,6 @@
      this.isAllSelect = !this.isAllSelect;
      let data = this.tableData;
      this.toggleSelect(data, this.isAllSelect, "all");
      // 自定义
      if (this.isAllSelect) {
        val.forEach((i) => {
          if (i.id !== undefined) {
            this.deleteList.push(i.id);
          } else {
            i.children.forEach((c) => {
              this.deleteList.push(c.id);
            });
          }
        });
      } else {
        this.deleteList.splice(0, this.deleteList.length);
      }
      console.log(`output->this.`, this.deleteList);
    },
    //选择某行
    selectTr(selection, row) {
@@ -423,34 +408,6 @@
        this.isAllSelect = row.isChecked;
        this.toggleSelect(row, row.isChecked, "tr");
      });
      if (row.isChecked === true) {
        if (row.children !== undefined) {
          row.children.forEach((i) => {
            this.deleteList.push(i.id);
          });
        } else {
          this.deleteList.push(row.id);
        }
      } else if (row.isChecked === false) {
        if (row.children !== undefined) {
          row.children.forEach((i) => {
            this.deleteList.findIndex((c, index) => {
              if (c === i.id) {
                this.deleteList.splice(index, 1);
                return;
              }
            });
          });
        }
        this.deleteList.findIndex((c, index) => {
          if (c === row.id) {
            this.deleteList.splice(index, 1);
            return;
          }
        });
      }
      console.log(`output->this.deleteList`, this.deleteList);
    },
    //递归子级
    toggleSelect(data, flag, type) {
@@ -484,6 +441,15 @@
        }
      });
    },
    handleSelectionChange(val) {
      this.deleteList = []
      val.forEach((v) => {
        if(v.id !== undefined){
          this.deleteList.push(v.id)
        }
      })
      console.log(`output->this.deleteList`,this.deleteList)
    },
    // 表格树全部选中配置  结束
    deleteListClick() {
      deleteListApi(this.deleteList).then((res) => {