natasha hai 11 meses
pai
achega
7237b7dd82
Modificáronse 1 ficheiros con 34 adicións e 10 borrados
  1. 34 10
      src/components/inputModules/common/TreeView.vue

+ 34 - 10
src/components/inputModules/common/TreeView.vue

@@ -4,7 +4,18 @@
     style="font-size: 14px"
     v-loading="loading"
   >
-    <Tree :draggable="draggable" :value="treeData" ref="tree">
+    <el-tree
+      :data="treeData"
+      :props="defaultProps"
+      @node-click="handleNodeClick"
+    >
+      <div class="custom-tree-node" slot-scope="{ node }">
+        <div>
+          <span style="margin-right: 10px">{{ node.label }}</span>
+        </div>
+      </div></el-tree
+    >
+    <!-- <Tree :draggable="draggable" :value="treeData" ref="tree">
       <div
         :style="{
           paddingLeft:
@@ -47,9 +58,6 @@
           v-if="node.is_courseware === 'false'"
           :title="node.name"
         >
-          <!-- <template>
-                        <i class="el-icon-folder-add"></i>
-                    </template>-->
           {{ node.name }}
         </span>
         <span
@@ -69,7 +77,7 @@
           {{ node.name }}
         </span>
       </div>
-    </Tree>
+    </Tree> -->
   </div>
 </template>
 <script>
@@ -117,6 +125,16 @@ export default {
       nodeName: "",
       pidList: [],
       loading: false,
+      defaultProps: {
+        children: "children",
+        label: "label",
+        isLeaf: (data, node) => {
+          if (data.is_leaf === "true") {
+            // 实体门店 叶子结点 不展示icon
+            return true;
+          }
+        },
+      },
     };
   },
   watch: {
@@ -190,6 +208,7 @@ export default {
           item.label = item.name;
           item.pid = data.id;
           item.nodexIndex = nodeIndex;
+          item.isLeaf = item.is_leaf === "true";
           if (item.nodes) {
             item.children = item.nodes;
             item.lists = item.nodes;
@@ -199,10 +218,12 @@ export default {
       }
     },
     handleNodeClick(data) {
-      this.activeIndex = data.id;
-      this.nodeLevel = data.level_index;
-      this.nodeName = data.name;
-      this.changeId(data.id, data.name, data.is_free_trial);
+      if (data.isLeaf) {
+        this.activeIndex = data.id;
+        this.nodeLevel = data.level_index;
+        this.nodeName = data.name;
+        this.changeId(data.id, data.name, data.is_free_trial);
+      }
     },
     // 返给父级当前高亮节点的index以及level
     handleParentIndex() {
@@ -271,6 +292,9 @@ export default {
 }
 </style>
 <style lang="scss">
+.el-tree-node__expand-icon.is-leaf {
+  opacity: 0;
+}
 .he_tree_view .he-tree .tree-node {
   border: 0;
   padding: 0;
@@ -309,4 +333,4 @@ export default {
     font-weight: normal !important;
   }
 }
-</style>
+</style>