linan 5 年之前
父节点
当前提交
3931106740

+ 8 - 1
src/router/routes.js

@@ -10,6 +10,8 @@ import MessageBind from '../views/messageManagement/MessageBind.vue'
 import MessagePoint from '../views/messageManagement/MessagePoint.vue'
 import MessageServicMer from '../views/messageManagement/MessageServicMer.vue'
 import MessageTemplate from '../views/messageManagement/MessageTemplate.vue'
+/* 树目录结构 */
+import TreeManagement from '../views/treeStructure/TreeManagement.vue'
 
 
 /* 模板 */
@@ -75,7 +77,12 @@ export default [
 				name: 'messageTemplate',
 				component: MessageTemplate
 			},
-			
+			// 树目录结构 
+			{
+				path: '/treeManagement',
+				name: 'treeManagement',
+				component: TreeManagement
+			},
 			// 模板
 			{
 				path: '/aa',

+ 13 - 9
src/views/Home/Home.vue

@@ -123,9 +123,6 @@ export default {
             { name: "设备类型", routerName: "deviceInfo", key: "0" }
         ];
     },
-    mounted() {
-        console.log(this);
-    },
     methods: {
         // 收取菜单按钮
         onMenuCollapse() {
@@ -146,16 +143,16 @@ export default {
         },
         // 点击菜单项
         onClickMenu(item) {
-            let key = "" + new Date().getTime() + Math.floor(Math.random() * 10)
-            console.log(item);
+            // console.log(item);
             // 如果要跳转的路由和当前路由一致就 return
             if (this.$router.history.current.name == item.routerName) return;
             this.$router.push({
                 name: item.routerName
             });
             // 如果tags中已经存在
-            // if(this.tags.includes(item.routerName)) return
-            console.log(this.tags.includes(item.routerName))
+            // console.log(includes(item.routerName))
+            console.log(item.routerName)
+            let key = "" + new Date().getTime() + Math.floor(Math.random() * 10)
             this.tags.push({
                 name: item.optionName,
                 routerName: item.routerName,
@@ -163,11 +160,18 @@ export default {
                 type: "success"
             });
             this.changeTagColor(key)
-            localStorage.setItem("tagsNavList", JSON.stringify(this.tags));
+            // localStorage.setItem("tagsNavList", JSON.stringify(this.tags));
+            // 查看当前 tags里有没有传进来的路由,返回 true false
+            let tags = this.tags
+            function includes(routerName) {
+                return tags.find(item => {
+                    return item.routerName == routerName
+                })
+            }
         },
         // 点击 tag
         clickTag(tag) {
-            console.log(tag);
+            console.log(tag.routerName);
             if (this.$router.history.current.name == tag.routerName) return;
             this.$router.push({
                 name: tag.routerName

+ 14 - 1
src/views/Home/mencCofig.js

@@ -62,7 +62,19 @@ export const menuData = [
             
         ]
     },
-    // 有子菜单 字菜单不分组的
+    {
+        oneMenuName: "树目录结构",
+        iconClassName: "el-icon-message",
+        index: '4',
+        disabled: false,
+        childList: [ 
+            {
+                optionName: '树目录管理',
+                index: '4-1',
+                routerName: "treeManagement"
+            }
+        ]
+    },
     {
         oneMenuName: "模板",
         iconClassName: "el-icon-menu",
@@ -102,6 +114,7 @@ export const menuData = [
             
         ]
     },
+    
 ]
 
 // export default {menuData}

+ 2 - 2
src/views/deviceManagement/DeviceType.vue

@@ -70,7 +70,7 @@ export default {
         };
     },
     mounted() {
-        this.loadTypes(-1); //根级别分类
+        this.loadTypes(); //根级别分类
     },
     watch: {
         filterText(val) {
@@ -96,7 +96,7 @@ export default {
                 method: "GET",
                 data: { parentId: pid },
                 success: res => {
-                    console.log(res);
+                    console.log(res)
                     if (pid > 0) {
                         let p = this.findTypesByid(
                             { id: -1, children: this.typeDataTree },

+ 77 - 0
src/views/treeStructure/TreeManagement.vue

@@ -0,0 +1,77 @@
+<template>
+    <div class="TreeManagement">
+        <header>
+            <el-row>
+                <el-select v-model="value" filterable placeholder="请选择">
+                    <el-option
+                        v-for="item in options"
+                        :key="item.id"
+                        :label="item.nodeName"
+                        :value="item.id"
+                    ></el-option>
+                </el-select>
+                <el-button>查找</el-button>
+            </el-row>
+        </header>
+    </div>
+</template>
+
+<script>
+import { mapActions } from "vuex";
+
+export default {
+    name: "TreeManagement",
+    data() {
+        return {
+            options: [
+                {
+                    value: "选项1",
+                    nodeName: "黄金糕"
+                },
+                {
+                    value: "选项2",
+                    label: "双皮奶"
+                },
+                {
+                    value: "选项3",
+                    label: "蚵仔煎"
+                },
+                {
+                    value: "选项4",
+                    label: "龙须面"
+                },
+                {
+                    value: "选项5",
+                    label: "北京烤鸭"
+                }
+            ],
+            value: ""
+        };
+    },
+    created() {
+        this.get("-1")
+    },
+    methods: {
+        ...mapActions(["fetch"]),
+        get(parentId) {
+            this.fetch({
+                api: "/publics/treenode/listNodeByParent",
+                method: "POST",
+                data: {
+                    parentId,
+                    hasSub:false
+                },
+                success: res => {
+                    console.log(res);
+                    this.options = res
+                },
+                fail: err => {
+                    console.log(err);
+                    if (err.errMsg) this.$message.error(err.errMsg);
+                    else this.$message.error("服务器发生异常");
+                }
+            });
+        }
+    }
+};
+</script>