import $ from 'jquery'
import {MessageBox} from "element-ui";


var tempConfigButtonMap = {};

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":localStorage.getItem("ywtb_role")//暂时使用测试角色  平台管理
    };
    tempConfigButtonMap = {};
    $.ajax({
        type: "post",
        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++){
                    tempConfigButtonMap[result[0].Rows[i]["MODULE_ID"]] = result[0].Rows[i];
                }
                selectConfigButtonByRole();
            }
        },
        error: function () {
            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":localStorage.getItem("ywtb_role")//暂时使用测试角色  平台管理
    };
    $.ajax({
        type: "post",
        url:"http://10.81.66.9:9250/ptjkInterface/selectConfigButtonByRole?appkey="+localStorage.getItem("ywtb_userkeycode"),
        cache: false, //禁用缓存
        dataType: "json",
        data: JSON.stringify(json_data),
        headers: { 'Content-Type': 'application/json' },
        success: function (res) {
            var result = res.msg;//将返回的Json格式字符串转换成json对象
            if(result[0].Rows.length > 0){
                for(var i = 0 ;i < result[0].Rows.length;i++){
                    tempConfigButtonMap[result[0].Rows[i]["CODE"]] = result[0].Rows[i];
                }
               //显示已经配置的按钮
                var buttons = $(".role_button");
                console.log(JSON.stringify(tempConfigButtonMap) + "11");
                for(let i = 0 ; i <buttons.length ; i++ ){
                    if(tempConfigButtonMap[$(buttons[i]).attr("role_button_code")] == null){
                        $(buttons[i]).css("pointer-events","none");
                        $(buttons[i]).css("color","#AEADAD");
                    }
                }
            }
        },
        error: function () {
            MessageBox.alert('服务器错误500！', '提示', {
                confirmButtonText: '确定'
            });
        }
    });
}