psj 2 years ago
parent
commit
af2e047894

File diff suppressed because it is too large
+ 14565 - 10
package-lock.json


+ 1 - 0
package.json

@@ -17,6 +17,7 @@
     "echarts-wordcloud": "^2.0.0",
     "element-ui": "^2.15.6",
     "jquery": "^2.2.3",
+    "js-base64": "^3.7.2",
     "js-file-download": "^0.4.12",
     "postcss-px-to-viewport": "^1.1.1",
     "vue": "^2.6.11",

+ 2 - 1
src/components/header/Header.vue

@@ -21,7 +21,7 @@
 <script>
 import {mapMutations, mapState} from "vuex";
 import {mapEletricCardMutations, mapEvaluateMutations} from "@/units/map-units";
-import {} from "@/role_button";
+import selectConfigModuleByRole from "@/role_button";
 
 export default {
   name: "Header",
@@ -84,6 +84,7 @@ export default {
     })
   },
   mounted(){
+    selectConfigModuleByRole(this);
     console.log(this.$route.path);
     for(let i=0;i<this.headerArr.length;i++){
       if(this.headerArr[i].component.indexOf(this.$route.path.substring(1,this.$route.path.length)) > -1){

+ 40 - 15
src/role_button.js

@@ -1,25 +1,30 @@
 import $ from 'jquery'
+import {MessageBox} from "element-ui";
 
 
 var tempConfigButtonMap = {};
 
-export default function selectConfigModuleByRole(){
+export default function selectConfigModuleByRole(obj){
     //判断当前页面上的所有模块 当前角色是否配置使用
     //localStorage.getItem("yml_userkeycode")
     //localStorage.getItem("yml_role")
+    //
+    if(localStorage.getItem("ywtb_role") == "" || localStorage.getItem("ywtb_role") == null){
+        obj.$router.push('/login');
+    }
     var json_data = {
-        "ROLE_ID":"1"//暂时使用测试角色  平台管理
+        "ROLE_ID":localStorage.getItem("ywtb_role")//暂时使用测试角色  平台管理
     };
     tempConfigButtonMap = {};
     $.ajax({
         type: "post",
-        url:"http://10.81.66.9:9250/ptjkInterface/selectAllZymlRoleModuleByRoleCode",
-        //url:"http://localhost:9250/ptjkInterface/selectAllZymlRoleModuleByRoleCode",
+        url:"http://10.81.66.9:9250/ptjkInterface/selectAllZymlRoleModuleByRoleCode?appkey="+localStorage.getItem("ywtb_userkeycode"),
         cache: false, //禁用缓存
         dataType: "json",
         data: JSON.stringify(json_data),
         headers: { 'Content-Type': 'application/json' },
         success: function (res) {
+            userLoginStatus(res,obj);
             var result = res.msg;//将返回的Json格式字符串转换成json对象
             if(result[0].Rows.length > 0){
                 for(var i = 0 ;i < result[0].Rows.length;i++){
@@ -29,23 +34,46 @@ export default function selectConfigModuleByRole(){
             }
         },
         error: function () {
-            alert("服务器错误500")
+            MessageBox.alert('服务器错误500!', '提示', {
+                confirmButtonText: '确定'
+            });
         }
     });
 }
 
+/**
+ 验证用户登录信息  并根据返回状态提示用户是否退出
+ 1.因为调用了新的弹框 所以才写在这里
+ 2.因为有多处同时调用了相同的代码  所以提出代码作为一个单独的方法
+ 3.对于功能相同的代码可以写一遍的 写一遍且只写一遍。
+ */
+export function userLoginStatus(res,obj) {
+    //防止报错
+    if (res == null) {
+        return;
+    }
+    var date = res.msg;
+    if (date[0]["success"] == "false") {
+        MessageBox.alert('您的登录验证已失效,请您重新登录!', '提示', {
+            confirmButtonText: '确定'
+        });
+        obj.$router.push('/login');
+        return;
+    }
+}
+
+
 /**
  * 查询按钮数据
  */
 export function selectConfigButtonByRole(){
     //localStorage.getItem("ptjk_role")
     let json_data = {
-        "ROLE_ID":"1"
+        "ROLE_ID":localStorage.getItem("ywtb_role")//暂时使用测试角色  平台管理
     };
     $.ajax({
         type: "post",
-        url:"http://10.81.66.9:9250/ptjkInterface/selectConfigButtonByRole",
-        //url:"http://localhost:9250/ptjkInterface/selectConfigButtonByRole",
+        url:"http://10.81.66.9:9250/ptjkInterface/selectConfigButtonByRole?appkey="+localStorage.getItem("ywtb_userkeycode"),
         cache: false, //禁用缓存
         dataType: "json",
         data: JSON.stringify(json_data),
@@ -67,12 +95,9 @@ export function selectConfigButtonByRole(){
             }
         },
         error: function () {
-            alert("服务器错误500");
+            MessageBox.alert('服务器错误500!', '提示', {
+                confirmButtonText: '确定'
+            });
         }
     });
-}
-$(document).ready(function () {
-    /*    $(".role_button").hide();
-        selectConfigButtonByRole();*/
-    selectConfigModuleByRole();
-});
+}

+ 1 - 1
src/views/evaluate/Evaluate.vue

@@ -142,7 +142,7 @@ export default {
     }
   },
   mounted() {
-    selectConfigModuleByRole();
+    selectConfigModuleByRole(this);
     this.evaluateFirstLevel('');
     this.evaluateSecondLevel('0');
     this.evaluateTimer('0');

+ 1 - 1
src/views/evaluate/EvaluateRepeat.vue

@@ -422,7 +422,7 @@ export default {
   },
   mounted(){
     this.currentRepeatId = this.evaRepeatId;
-    selectConfigModuleByRole();
+    selectConfigModuleByRole(this);
   },
   computed:{
     ...mapEvaluateState({

+ 1 - 1
src/views/evaluate/EventHandleSituation.vue

@@ -161,7 +161,7 @@ export default {
   },
   mounted(){
     this.commit();
-    selectConfigModuleByRole();
+    selectConfigModuleByRole(this);
     this.$nextTick(function () {
       this.tableHeight = window.innerHeight - this.$refs.Table.$el.offsetTop - 100;
       // 监听窗口大小变化

+ 2 - 1
src/views/handle_analysis/HandleAnalysis.vue

@@ -67,7 +67,7 @@ import AnalysisHandleSituation from "@/components/analysis-handle-situation/Anal
 import AnalysisAverageTime from "@/components/analysis-average-time/AnalysisAverageTime";
 import AnalysisTableModel from "@/views/handle_analysis/c-cpns/AnalysisTableModel";
 import {mapMutations,mapState} from "vuex";
-import {} from "@/role_button";
+import selectConfigModuleByRole from "@/role_button";
 export default {
   name: "HandleAnalysis",
   components:{
@@ -161,6 +161,7 @@ export default {
     }
   },
   mounted() {
+    selectConfigModuleByRole(this);
     if(this.reFresh){
       this.analysisSingleChange([
         {

+ 2 - 1
src/views/handle_situation/HandleSituation.vue

@@ -410,7 +410,7 @@
 import {MessageBox} from "element-ui";
 import {mapMutations, mapState} from "vuex";
 import ElePagination from "@/components/ele-paga/ElePagination";
-import {} from "@/role_button";
+import selectConfigModuleByRole from "@/role_button";
 let Situationrolltimer = ""; // 自动滚动的定时任务
 let Situationchangetimer = ""; // 自动切换的定时任务
 export default {
@@ -884,6 +884,7 @@ export default {
   //   }
   // },
   mounted() {
+    selectConfigModuleByRole(this);
     if(this.handleRefresh){
       // this.handleSituationFirstLevel("1");
       // this.handleSituationSecondLevel("");

+ 96 - 3
src/views/home/Login.vue

@@ -43,7 +43,7 @@
                             <span class="iconfont">密码:</span>
                         </el-col>
                         <el-col :span='22'>
-                            <el-input
+                            <el-input type="password"
                                     class="inps"
                                     placeholder='密码'
                                     v-model="loginForm.passWord"
@@ -65,6 +65,10 @@
 </template>
 
 <script>
+    import {MessageBox} from "element-ui";
+    import {Base64} from "js-base64";
+
+
     export default {
         data() {
             return {
@@ -131,8 +135,97 @@
         methods: {
             //提交登录
             submitForm() {
-                alert("登录中");
-                this.$router.push('/home')
+                if(this.loginForm.userName == "" || this.loginForm.passWord == ""){
+                    return;
+                }
+                this.$request({
+                    url:'/user/userLogin',
+                    method:'post',
+                    data:{
+                        "username":this.loginForm.userName,
+                        "password":Base64.encode(this.loginForm.passWord),
+                        "type":"10"
+                    }
+                }).then(response => {
+                    //var result = eval("(" + data.msg + ")");
+                    var result =response.data.msg;
+                    if (result.length == 0) {
+                        MessageBox.alert('获取登录信息失败!', '提示', {
+                            confirmButtonText: '确定'
+                        });
+                        return;
+                    }
+                    var rowcount = result[0].TotalRowCount;
+                    if (rowcount != "1") {
+                        MessageBox.alert('用户名或密码错误!', '提示', {
+                            confirmButtonText: '确定'
+                        });
+                        return;
+                    }
+                    var rows = result[0].Rows;
+                    if (rows.length != 1) {
+                        MessageBox.alert('用户名或密码错误!', '提示', {
+                            confirmButtonText: '确定'
+                        });
+                        return;
+                    }
+                    var LOGIN_LOCK = rows[0]["LOGIN_LOCK"];
+
+                    if (LOGIN_LOCK == 1) {
+                        var time = new Date(rows[0]["GETTIME"]).getTime() - new Date(rows[0]["LAST_TIME"]).getTime();
+                        time = time / 1000;
+                        if (time < 20) {
+                            MessageBox.alert('当前用户已登录!', '提示', {
+                                confirmButtonText: '确定'
+                            });
+                            return;
+                        }
+                    }
+                    //获取用户信息
+                    var usercode = rows[0].USERID;
+                    var username = rows[0].USERNAME;
+                    var unitcode = rows[0].UNIT;
+                    var unitname = rows[0].UNIT_NAME;
+                    var lasttime = rows[0].LAST_TIME;
+                    var changetime = rows[0].CHANGE_TIME;
+                    var role = rows[0].ROLE_CODE;
+                    var userkeycode = rows[0]["TEMPUSERKEYCODE"];
+                    var role_uuid = rows[0]["ROLE_UUID"];
+                    //保存用户信息
+                    localStorage.setItem("ywtb_usercode", usercode);
+                    localStorage.setItem("ywtb_username", username);
+                    localStorage.setItem("ywtb_unitcode", unitcode);
+                    localStorage.setItem("ywtb_unitname", unitname);
+                    localStorage.setItem("ywtb_lasttime", lasttime);
+                    localStorage.setItem("ywtb_role", role);
+                    localStorage.setItem("ywtb_userkeycode", userkeycode);
+                    localStorage.setItem("ywtb_changetime", changetime);
+                    localStorage.setItem("ywtb_role_uuid", role_uuid);
+                    // alert(userkeycode);
+                    this.editUserinfoLoginStates(usercode,userkeycode);
+                    //
+                })
+
+            },
+            //修改登录状态
+            editUserinfoLoginStates(usercode,userkeycode){
+                this.$request({
+                    url:'/user/editUserinfoLoginStates',
+                    method:'post',
+                    data:{
+                        "CODE":usercode,
+                        "USERKEYCODE":userkeycode,
+                        "LOGIN_LOCK":"1",
+                        "LOGIN_TYPE":"10"
+                    }
+                }).then(response => {
+                    //var result = eval("(" + data.msg + ")");
+                    let result =response.data.msg;
+                    if (result[0]["success"] == "true") {
+                        this.$router.push('/origion/home');
+                        return;
+                    }
+                })
             },
             //重复动画
             drawFrame() {

+ 2 - 2
src/views/matters_guidance/mian_body/MainBody.vue

@@ -311,7 +311,7 @@
 //import {autoRoll,autoChange} from '../../../scroll'
 import {MessageBox} from "element-ui";
 import {mapMutations, mapState} from "vuex";
-import {} from "@/role_button";
+import selectConfigModuleByRole from "@/role_button";
 let rolltimer = ""; // 自动滚动的定时任务
 let changetimer = ""; // 自动切换的定时任务
 export default {
@@ -963,7 +963,7 @@ export default {
     }
   },
   mounted() {
-
+    selectConfigModuleByRole(this);
     if(this.reFresh){
       this.matterGuidanceSingleChange([
         {