Kaynağa Gözat

添加登录校验、修改登录页面样式、智慧检修的可靠性分析添加对比弹窗

darker 3 yıl önce
ebeveyn
işleme
8555a04df5

+ 6 - 4
src/App.vue

@@ -1,7 +1,7 @@
 <template>
   <!-- <div v-if="!showSisView && isLogined" class="main"> -->
-    <!-- <div  class="main"> -->
-    <div v-if="token !==''" class="main">
+    <div  class="main">
+    <!-- <div v-if="token !==''" class="main"> -->
     <div class="header-body">
       <div class="header-title">
         <svg
@@ -235,7 +235,7 @@ l16.229-16.229l16.229,16.229l42.867-42.867C115.034,45.228,109.133,42.189,102.956
         </svg>
       </div>
       <div class="header-menu-body">
-        <Header @onMenuClick="HeaderMenuClick" />
+        <Header v-if="!showSisView && isLogined" @onMenuClick="HeaderMenuClick" />
       </div>
     </div>
     <div
@@ -244,7 +244,7 @@ l16.229-16.229l16.229,16.229l42.867-42.867C115.034,45.228,109.133,42.189,102.956
       @mouseenter="showMenu"
       @mouseleave="hideMenu"
     >
-      <Menu :root="root" />
+      <Menu v-if="!showSisView && isLogined" :root="root" />
     </div>
     <div class="main-body">
       <router-view />
@@ -358,7 +358,9 @@ export default {
 
   watch: {
     $route(res) {
+      console.log('resRoute:',res)
       this.showSisView = res.fullPath === "/sisView";
+      this.isLogined = res.path !=='/login'
     },
   },
 };

+ 1 - 13
src/main.js

@@ -4,19 +4,7 @@ import router from './router';
 import store from './store';
 import 'font-awesome/css/font-awesome.min.css';
 
-router.beforeEach((to,from,next)=>{
-  if(to.path === '/login'){
-    next()
-  }else{
-    let token = localStorage.getItem('token')
-    console.log('loginToken:',token)
-    if(token === null || token === ""){
-      next({path:'/login'})
-    }else{
-      next()
-    }
-  }
-})
+
 // 引入 element-ui
 import ElementPlus from 'element-plus';
 import 'element-plus/dist/index.css';

+ 20 - 7
src/router/index.js

@@ -5,12 +5,12 @@ import {
 import Home from "../views/Home/Home.vue"
 
 const routes = [{
-path:"/login",
-name:"Login",
-component: () =>
-import( /* webpackChunkName: "Login" */ "../views/layout/login-page.vue"),
+	path: "/login",
+	name: "Login",
+	component: () =>
+		import( /* webpackChunkName: "Login" */ "../views/layout/login-page.vue"),
 },
-	{
+{
 	path: "/",
 	redirect: "/monitor/home"
 },
@@ -871,8 +871,21 @@ const router = createRouter({
 	routes
 });
 
+// router.beforeEach((to, from, next) => {
+// 	next();
+// });
 router.beforeEach((to, from, next) => {
-	next();
-});
+	if (to.path === '/login') {
+		next()
+	} else {
+		let token = localStorage.getItem('token')
+		console.log('loginToken:', token)
+		if (token === null || token === "") {
+			next({ path: '/login' })
+		} else {
+			next()
+		}
+	}
+})
 
 export default router;

+ 79 - 2
src/views/NewPages/alarm-center-1.vue

@@ -70,8 +70,9 @@
       <table-3 :data="tableData" :height="'85vh'">
         <template v-for="(item, i) in column" :key="i" #[item]="scope">
           <div class="bar">
-            <div
+            <div 
               class="bar-percent"
+              @click="showChart()"
               :style="{
                 width:
                   (scope.data.count &&
@@ -87,6 +88,7 @@
           <div class="bar">
             <div
               class="bar-percent"
+               @click="showChart()"
               :style="{
                 width:
                   (scope.data.count &&
@@ -102,17 +104,55 @@
         </template>
       </table-3>
     </panel-3>
+    <el-dialog :title="对比"
+    v-model="dialogVisible"
+     width="70%"
+      top="10vh"
+      custom-class="modal"
+      :close-on-click-modal="false">
+              <multiple-y-line-chart-normal
+        height="500px"
+        :list="Powertrend"
+        :yAxises="PowertrendYAxises"
+        :showLegend="true"
+      />
+    </el-dialog>
   </div>
 </template>
 
 <script>
 import Panel3 from "../../components/coms/panel/panel3.vue";
 import Table3 from "../../components/coms/table/table3.vue";
+import MultipleYLineChartNormal from "../../components/chart/line/multiple-y-line-chart-normal.vue";
 export default {
-  components: { Panel3, Table3 },
+  components: { Panel3, Table3,MultipleYLineChartNormal },
   data() {
     return {
+        dialogVisible: false,
       wpvalue: "",
+        Powertrend: [
+        {
+          title: "",
+          yAxisIndex: 0, // 使用单位
+          value: [],
+        },
+      ],
+            PowertrendYAxises: [
+        {
+          name: "功率",
+          min: 0,
+          max: null,
+          unit: "(万kWh)",
+          position: "left",
+        },
+        {
+          name: "风速",
+          min: 0,
+          max: 25,
+          unit: "(m/s)",
+          position: "right",
+        },
+      ],
       wpoptions: "",
       options: [],
       cascaderOptions: [],
@@ -214,6 +254,43 @@ export default {
     });
   },
   methods: {
+    //对比
+    showChart(){
+let that = this;
+that.dialogVisible = true
+  let Powertrend = [
+            {
+              title: "实发功率",
+              smooth: true,
+              value: [],
+            },
+            {
+              title: "理论功率",
+              smooth: true,
+              value: [],
+            },
+            {
+              title: "保证功率",
+              smooth: true,
+              value: [],
+            },
+            {
+              title: "4小时预测功率",
+              smooth: true,
+              value: [],
+            },
+            {
+              title: "24小时预测功率",
+              smooth: true,
+              value: [],
+            },
+            {
+              title: "平均风速",
+              smooth: true,
+              value: [],
+            },
+          ];
+    },
     tabSelect(tab) {},
 
     async search() {

+ 14 - 9
src/views/layout/login-page.vue

@@ -1,12 +1,11 @@
 <template>
   <div class="login-panel">
-     {{token}}
     <el-form class="mg-b-16">
       <el-form-item class="mg-b-8">
-        <el-input v-model="username" placeholder="请输入登录名"></el-input>
+        <el-input  v-model="username" placeholder="请输入登录名"></el-input>
       </el-form-item>
       <el-form-item class="mg-b-8">
-        <el-input v-model="password" placeholder="请输入密码" show-password></el-input>
+        <el-input  v-model="password" placeholder="请输入密码" show-password></el-input>
       </el-form-item>
     </el-form>
     <button style="width:100%;" class="btn" @click="Login">登录</button>
@@ -30,16 +29,19 @@ export default {
         localStorage.setItem("token",'2222')
             this.token=localStorage.getItem('token')
   console.log("token:",this.token)
-      this.$emit("onLogin", {
-        username: this.username,
-        password: this.password,
-        token:this.token
-      });
+      // this.$emit("onLogin", {
+      //   username: this.username,
+      //   password: this.password,
+      //   token:this.token
+      // });
       if(this.username !== "" && this.password !== ""){
       this.$router.push('/monitor/home')
       console.log(this.username,"---",this.password)
       }else{
-        alert('请输入完整')
+       this.BASE.showMsg({
+                type: "warning",
+                msg: "请输入完整的账号或密码",
+              });
       }
     
   
@@ -48,6 +50,9 @@ export default {
       // this.$router.push('/')
     },
   },
+  created(){
+    console.log('username:',this.username,'----','password:',this.password)
+  }
 };
 </script>