Browse Source

添加配置文件,添加用户登录

xushining 3 years ago
parent
commit
2410f136ea

+ 14 - 5
src/assets/script/BackgroundData.js

@@ -1,6 +1,9 @@
 import axios from 'axios';
+import { config } from '../../config';
 
 export default class BackgroundData {
+    /* 当前登录用户 */
+    LoginUser;
     /* 标题栏数据 */
     TopPoint = [
         {
@@ -113,7 +116,7 @@ export default class BackgroundData {
         for (var v in this.TopPoint) {
             val += this.TopPoint[v].pointTag + ',';
         }
-        axios.get(`http://192.168.10.18:8011/ts/latest?keys=${val}`)
+        axios.get(`http://${config.adapterUrl}/ts/latest?keys=${val}`)
             .then(this.onTPMessage)
             .catch(err =>
                 console.log(err)
@@ -126,7 +129,7 @@ export default class BackgroundData {
         for (var v in this.Recommends) {
             val += v + ',';
         }
-        axios.get(`http://192.168.10.18:8011/ts/latest?keys=${val}`)
+        axios.get(`http://${config.adapterUrl}/ts/latest?keys=${val}`)
             .then(this.onRDMessage)
             .catch(err =>
                 console.log(err)
@@ -141,19 +144,19 @@ export default class BackgroundData {
         var tm = enddt.getTime();
         enddt = new Date(tm + 900000);
         var startdt = new Date(tm - 86400000);
-        axios.get(`http://192.168.10.18:8075/alarm/snap/page?pagenum=1&pagesize=500&category1=custom&rank=4&isopened=1&starttime=${this.formatDate(startdt)}&endtime=${this.formatDate(enddt)}`)
+        axios.get(`http://${config.shardingUrl}/alarm/snap/page?pagenum=1&pagesize=500&category1=custom&rank=4&isopened=1&starttime=${this.formatDate(startdt)}&endtime=${this.formatDate(enddt)}`)
             .then(this.onHiddenProblemsMessage)
             .catch(err =>
                 console.log(err)
             );
         // 2、读取一天内所有的open的windturbine报警,以故障结尾的报警填充到故障,其他的填充到缺陷
-        axios.get(`http://192.168.10.18:8075/alarm/snap/page?pagenum=1&pagesize=500&category1=windturbine&isopened=1&starttime=${this.formatDate(startdt)}&endtime=${this.formatDate(enddt)}`)
+        axios.get(`http://${config.shardingUrl}/alarm/snap/page?pagenum=1&pagesize=500&category1=windturbine&isopened=1&starttime=${this.formatDate(startdt)}&endtime=${this.formatDate(enddt)}`)
             .then(this.onDefectsMessage)
             .catch(err =>
                 console.log(err)
             );
         // 3、读取一天内所有open的升压站(SYZ)报警,包含关键字“跳闸”,“开关”,“刀闸”,“断路器”字符的报警信息填充到事故列表
-        axios.get(`http://192.168.10.18:8075/alarm/snap/page?pagenum=1&pagesize=500&category1=SYZ&isopened=1&starttime=${this.formatDate(startdt)}&endtime=${this.formatDate(enddt)}`)
+        axios.get(`http://${config.shardingUrl}/alarm/snap/page?pagenum=1&pagesize=500&category1=SYZ&isopened=1&starttime=${this.formatDate(startdt)}&endtime=${this.formatDate(enddt)}`)
             .then(this.onAccidentsMessage)
             .catch(err =>
                 console.log(err)
@@ -259,6 +262,12 @@ export default class BackgroundData {
         return false;
     }
 
+    login(uname,psd,action){
+        axios.get(`http://${config.calcUrl}/user/login?userName=${uname}&psd=${psd}`)
+        .then(action)
+        .catch(err=>console.log(err));
+    }
+
     /* 单例 */
     static getInstance() {
         if (!BackgroundData.instance) {

+ 3 - 2
src/assets/script/MessageBridge.js

@@ -1,4 +1,5 @@
 import Stomp from 'stompjs'
+import {config} from '../../config';
 
 export default class MessageBridge {
   observers;// 观察者
@@ -14,9 +15,9 @@ export default class MessageBridge {
 
     this.observers = new Array();
 
-    this.calcSocket = new WebSocket("ws://192.168.10.18:8099/wisdom_service", this.onmessage, ["/topic/suggestion", "/topic/sync-command-result", "/topic/fault-count",
+    this.calcSocket = new WebSocket(`ws://${config.calcUrl}/wisdom_service`, this.onmessage, ["/topic/suggestion", "/topic/sync-command-result", "/topic/fault-count",
       "/topic/alarm-count", "/topic/fault-popup", "/topic/popup-remove", "/topic/heartbeat-data"]);
-    this.adapterSocket = new WebSocket("ws://192.168.10.18:8011/wisdom", this.onmessage, ["/topic/windturbine", "/topic/pv"]);
+    this.adapterSocket = new WebSocket(`ws://${config.adapterUrl}/wisdom`, this.onmessage, ["/topic/windturbine", "/topic/pv"]);
   }
 
   /* 单例 */

+ 46 - 29
src/components/TitleBar.vue

@@ -19,7 +19,7 @@
             :show-close="false"
           >
             <el-form :model="form">
-              <el-form-item label="" :label-width="formLabelWidth">
+              <el-form-item :label="loginMessage" :label-width="formLabelWidth">
               </el-form-item>
               <el-form-item label="用户名:" :label-width="formLabelWidth">
                 <el-input
@@ -32,7 +32,7 @@
               </el-form-item>
               <el-form-item label="密&emsp;码:" :label-width="formLabelWidth">
                 <el-input
-                  v-model="form.name"
+                  v-model="form.psd"
                   autocomplete="off"
                   type="text"
                   placeholder="密&emsp;码"
@@ -68,9 +68,7 @@
                   "
                   >取 消</el-button
                 >
-                <el-button type="primary" @click="dialogVisible = false"
-                  >登 录</el-button
-                >
+                <el-button type="primary" @click="login">登 录</el-button>
               </span>
             </template>
           </el-dialog>
@@ -182,9 +180,7 @@
       </el-col>
 
       <el-col :span="1.6">
-        <div @click="dialogVisible = true" style="top:18px;right: 100px;color: #ffffff;position: absolute;">
-            管理员
-        </div>
+        <div @click="userClick" style="top: 18px; right: 100px; color: #ffffff; position: absolute" >{{usreName}}</div>
         <!-- <el-button
           type="text"
           @click="dialogVisible = true"
@@ -193,21 +189,7 @@
 
       <el-col :span="1">
         <div style="margin-top: 7px; position: absolute; right: 10px">
-          <button
-            class="closeButton"
-            style="
-              font-size: 30px;
-              color: white;
-              background: rgb(41, 41, 41);
-              width: 44px;
-              height: 44px;
-              border-radius: 8px;
-              border: none;
-            "
-            v-on:click="mainClose"
-          >
-            ×
-          </button>
+          <button class="closeButton" v-on:click="mainClose">×</button>
         </div>
       </el-col>
     </el-row>
@@ -229,13 +211,10 @@ export default {
       dialogFormVisible: false,
       form: {
         name: "",
-        date1: "",
-        date2: "",
-        delivery: false,
-        type: [],
-        resource: "",
-        desc: "",
+        psd: "",
       },
+      usreName:"未登录...",
+      loginMessage: "", // 登录提示
       formLabelWidth: "120px",
       totalPower: 0, // 实时功率
       dailyPowerGeneration: 0, // 日发电量
@@ -291,6 +270,34 @@ export default {
         }
       }
     },
+
+    /* 登录 */
+    login() {
+      var bd = BackgroundData.getInstance();
+      bd.login(this.form.name,this.form.psd,this.onLoged);
+    },
+
+    onLoged(msg){
+      if(!msg.data){
+        this.loginMessage="登录出现错误,请重新登录";
+        return;
+      }
+      var user = msg.data;
+      if(!user.isValid){
+        this.loginMessage=user.message;
+        return;
+      }
+      BackgroundData.getInstance().LoginUser=user;
+      this.usreName=user.name;
+      this.dialogVisible = false;
+      this.loginMessage='';
+      this.form.name=this.form.psd='';
+    },
+
+    /* 用户点击 */
+    userClick() {
+      this.dialogVisible = true;
+    },
   },
 };
 </script>
@@ -317,4 +324,14 @@ export default {
   margin-bottom: 5px;
   margin-left: -9px;
 }
+
+.closeButton {
+  font-size: 30px;
+  color: white;
+  background: rgb(41, 41, 41);
+  width: 44px;
+  height: 44px;
+  border-radius: 8px;
+  border: none;
+}
 </style>

+ 3 - 1
src/components/area/LabelArea.vue

@@ -1,6 +1,8 @@
 /* 标注区 */
 <template>
     <gy-card title="标注区" area-style="label" circle-style="yellow" content-style="25">
-        <div>动态内容</div>
+        <div>
+            
+        </div>
     </gy-card>
 </template>

+ 1 - 17
src/components/area/mainwindow/TitleBarCard.vue

@@ -3,22 +3,6 @@
         <span class="title">{{title}}</span>
         <span class="value">{{value}}</span>
         <span class="title">{{unit}}</span>
-        <el-dialog
-            title="用户登录"
-            v-model="dialogVisible"
-            width="21%"
-            :before-close="handleClose"
-          >
-            
-            <template #footer>
-              <span class="dialog-footer">
-                <el-button @click="dialogVisible = false">取 消</el-button>
-                <el-button type="primary" @click="dialogVisible = false"
-                  >登 录</el-button
-                >
-              </span>
-            </template>
-          </el-dialog>
     </div>
 </template>
 
@@ -32,7 +16,7 @@ export default {
   },
   data() {
     return {
-      dialogVisible: false,      
+      
     };
   },
   methods: {

+ 5 - 0
src/config.js

@@ -0,0 +1,5 @@
+export const config = {
+    shardingUrl:"192.168.10.18:8075",// 报警地址
+    calcUrl:"192.168.10.18:8099",// 大后台地址
+    adapterUrl:"192.168.10.18:8011",// 数据适配器地址
+};