zhangliang2 3 rokov pred
rodič
commit
dfff26a47e

+ 1 - 0
src/components/echarts/lineChart2.vue

@@ -86,6 +86,7 @@ export default {
                     },
                     areaStyle: {
                         color: "rgba(51,151,255,0.2)",
+                        // color: "#aac5ff",
                     },
                 },
             ],

+ 20 - 4
src/router/filter.js

@@ -12,10 +12,26 @@ Router.prototype.push = function push(location) {
 router.beforeEach((to, from, next) => {
     // console.log(to);
     if (to.fullPath === '/' || to.name === '*') {
-        next({
-            path: "/mainPage",
-            replace: true
-        });
+
+        let {
+            code,
+            ticket
+        } = to.query;
+        if (code && ticket) {
+            next({
+                path: "/mainPage",
+                query: {
+                    code,
+                    ticket
+                },
+                replace: true
+            });
+        } else {
+            next({
+                path: "/mainPage",
+                replace: true
+            });
+        }
     } else {
         next();
     }

+ 0 - 3
src/router/index.js

@@ -80,9 +80,6 @@ const routes = [{
     .concat([{
       path: "*",
       name: "*",
-      // meta: {
-      //   tabname: "关于"
-      // },
       component: () => import("../views/mainPage.vue")
     }, ]),
 }];

+ 1 - 1
src/views/page/pageMenu.vue

@@ -191,7 +191,7 @@ export default {
 
 
         // document.cookie = 'Authorization=Bearer 52de2c22-c2f9-4307-b49d-5b5593792352'
-        console.log(this.$route);
+        // console.log(this.$route);
 
         let { code, ticket } = this.$route.query;
         if (code && ticket) {

+ 77 - 0
src/views/sceneLibrary/components/nodeTree.vue

@@ -0,0 +1,77 @@
+<template>
+    <div>
+        <li>
+            <div
+                :class="{ bold: isFolder }"
+                @click="toggle"
+                @dblclick="makeFolder"
+            >
+                {{ item.name }}
+                <span v-if="isFolder">[{{ isOpen ? "-" : "+" }}]</span>
+            </div>
+            <ul v-show="isOpen" v-if="isFolder">
+                <tree-item
+                    class="item"
+                    v-for="(child, index) in item.children"
+                    :key="index"
+                    :item="child"
+                    @make-folder="$emit('make-folder', $event)"
+                    @add-item="$emit('add-item', $event)"
+                ></tree-item>
+                <li class="add" @click="$emit('add-item', item)">+</li>
+            </ul>
+        </li>
+    </div>
+</template>
+
+<script>
+//import  from '';
+
+export default {
+    name: "tree-item", //
+    props: {
+        item: Object,
+    },
+    data: function () {
+        return {
+            isOpen: false,
+        };
+    },
+    computed: {
+        isFolder: function () {
+            return this.item.children && this.item.children.length;
+        },
+    },
+    methods: {
+        toggle: function () {
+            if (this.isFolder) {
+                this.isOpen = !this.isOpen;
+            }
+        },
+        makeFolder: function () {
+            if (!this.isFolder) {
+                this.$emit("make-folder", this.item);
+                this.isOpen = true;
+            }
+        },
+    },
+
+    // mounted() {},
+};
+</script>
+
+<style lang='less' scoped>
+.item {
+    cursor: pointer;
+}
+
+.bold {
+    font-weight: bold;
+}
+
+ul {
+    padding-left: 1em;
+    line-height: 1.5em;
+    list-style-type: dot;
+}
+</style>

+ 22 - 10
src/views/sceneLibrary/scenePacketList.vue

@@ -105,7 +105,6 @@
                         v-autoTrim="{ obj: form, key: 'weight' }"
                         v-model="form.weight"
                         :disabled="editType === 'edit' && isRoot"
-                        @blur="toNum($event)"
                     >
                     </el-input>
                 </el-form-item>
@@ -212,11 +211,19 @@ export default {
                 callback(new Error(rule.message));
                 return;
             }
-            // !/^(0|[1-9]+[0]*)[(\.\d{1,2})]?$/.test(value) &&
-            !/^0|[1-9]+[0]*$/.test(value) &&
+            if (value.startsWith("0")) {
+                callback(new Error(rule.message));
+                return;
+            }
+            if (value.includes(".")) {
                 callback(new Error(rule.message));
+                return;
+            }
+            // !/^(0|[1-9]+[0]*)[(\.\d{1,2})]?$/.test(value) &&
+            !/^[1-9]+[0]*$/.test(value) && callback(new Error(rule.message));
             callback();
         };
+        
         return {
             packageId: "",
             share: "",
@@ -292,7 +299,7 @@ export default {
                     { required: true, message: "请输入", trigger: "blur" },
                     {
                         validator: validateNum,
-                        message: "请输入最多带有2位小数的正数",
+                        message: "请输入正数",
                         trigger: ["blur"],
                     },
                 ],
@@ -331,10 +338,6 @@ export default {
                 query: { packageId: this.packageId },
             });
         },
-        toNum(val){
-            console.log(val);
-            
-        },
         delRow(row) {
             this.$confirm("确认是否删除?", "提示", {
                 confirmButtonText: "确定",
@@ -351,6 +354,8 @@ export default {
                     (i) => i.id === row.id
                 );
                 this.curNode.children.splice(index, 1);
+
+                this.checkWeightValidate();
             });
         },
         // 编辑该级节点信息
@@ -375,7 +380,7 @@ export default {
         addIndicators(row) {
             this.nameDiaTitle = "添加指标";
             this.editType = "add";
-            
+
             this.indicatorsVisible = true;
 
             this.curNode = row;
@@ -428,7 +433,13 @@ export default {
                         }
                         this.curNode.children.push(node);
                     }
-console.log(this.getDataWay.data[0]);
+
+                    // 遍历当前树 拿到所有节点的平行展开数组
+                    this.deepFirstSearch(
+                        this.getDataWay.data[0],
+                        this.nodeList
+                    );
+
                     this.checkWeightValidate();
 
                     this.indicatorsCancel();
@@ -586,6 +597,7 @@ console.log(this.getDataWay.data[0]);
         // 通过深度优先找节点
         deepFirstSearch(node, nodeList, id) {
             if (node) {
+                // 有id则把对应节点赋给当前操作节点
                 if (id && node.id === id) {
                     this.curNode = node;
                 }

+ 85 - 4
src/views/sceneLibrary/templateView.vue

@@ -19,20 +19,29 @@
             <div class="node">3-3</div>
             <div class="node">3-4</div>
         </div> -->
-        <el-tree
+        <!-- <el-tree
             :data="data1"
             :props="defaultProps"
             @node-click="handleNodeClick"
-        ></el-tree>
+        ></el-tree> -->
+
+        <ul id="demo">
+            <tree-item
+                class="item"
+                :item="treeData"
+                @make-folder="makeFolder"
+                @add-item="addItem"
+            ></tree-item>
+        </ul>
     </div>
 </template>
 
 <script>
-//import  from '';
+import treeItem from "./components/nodeTree";
 
 export default {
     name: "templateView", // 模板预览
-    components: {},
+    components: { treeItem },
     data() {
         return {
             data1: [],
@@ -97,6 +106,50 @@ export default {
                 children: "children",
                 label: "sublistName",
             },
+            treeData: {
+                name: "My Tree",
+                children: [
+                    {
+                        name: "hello",
+                    },
+                    {
+                        name: "wat",
+                    },
+                    {
+                        name: "child folder",
+                        children: [
+                            {
+                                name: "child folder",
+                                children: [
+                                    {
+                                        name: "hello",
+                                    },
+                                    {
+                                        name: "wat",
+                                    },
+                                ],
+                            },
+                            {
+                                name: "hello",
+                            },
+                            {
+                                name: "wat",
+                            },
+                            {
+                                name: "child folder",
+                                children: [
+                                    {
+                                        name: "hello",
+                                    },
+                                    {
+                                        name: "wat",
+                                    },
+                                ],
+                            },
+                        ],
+                    },
+                ],
+            },
         };
     },
 
@@ -106,6 +159,15 @@ export default {
         handleNodeClick(data) {
             console.log(data);
         },
+        makeFolder: function (item) {
+            this.$set(item, "children", []);
+            this.addItem(item);
+        },
+        addItem: function (item) {
+            item.children.push({
+                name: "new stuff",
+            });
+        },
     },
 
     mounted() {
@@ -154,5 +216,24 @@ export default {
             margin-bottom: 0;
         }
     }
+
+    body {
+        font-family: Menlo, Consolas, monospace;
+        color: #444;
+    }
+
+    .item {
+        cursor: pointer;
+    }
+
+    .bold {
+        font-weight: bold;
+    }
+
+    ul {
+        padding-left: 1em;
+        line-height: 1.5em;
+        list-style-type: dot;
+    }
 }
 </style>

+ 12 - 4
vue.config.js

@@ -76,14 +76,22 @@ module.exports = {
         open: true, //配置自动启动浏览器
         hot: true,
         proxy: { // 配置跨域处理 可以设置多个
+            '/simulation/oauth': {
+                target: 'http://10.15.12.70', // windowstest
+                changeOrigin: true,
+                secure: false, // 如果是https接口,需要配置这个参数
+                pathRewrite: {
+                    '^/simulation/oauth': '/simulation/oauth'
+                }
+            },
             '/simulation/resource/common': {
                 // target: 'http://10.10.83.145:6888/user-center',
                 // target: 'http://10.15.12.70/simulation',
                 // target: 'http://10.15.12.70:7001', // 登录
                 // target: 'http://10.15.12.73:7003',  // 王志强
-                // target: 'http://10.15.12.70',  // windowstest
+                target: 'http://10.15.12.70', // windowstest
                 // target: 'http://192.168.30.75',  // gq
-                target: 'http://47.94.105.148',  // aliyun
+                // target: 'http://47.94.105.148',  // aliyun
                 // target: 'http://10.15.12.74:8001',
                 changeOrigin: true,
                 secure: false, // 如果是https接口,需要配置这个参数
@@ -92,13 +100,13 @@ module.exports = {
                 }
             },
             '/simulation/resource/server': {
-                // target: 'http://10.15.12.73:7003',  // 王志强
+                target: 'http://10.15.12.73:7003', // 王志强
                 // target: 'http://10.15.12.88:7003',  // 王耀栋
                 // target: 'http://10.15.12.72:7003',  // 王晓峰
                 // target: 'http://10.15.12.87:7003',  // 赵艳
                 // target: 'http://10.15.12.70',  // windowstest
                 // target: 'http://192.168.30.75',  // gq
-                target: 'http://47.94.105.148',  // aliyun
+                // target: 'http://47.94.105.148',  // aliyun
                 changeOrigin: true,
                 secure: false, // 如果是https接口,需要配置这个参数
                 pathRewrite: {