﻿/*
* @summary : 读者服务平台的vue混入对象，复用数据和方法
* @created : 2019-4-02 18:35 zq
* @remark : 工具
*/

// 定义一个混入对象
var commonMixin = {
    data: function () {
        return {
            userLogins: 0,
            userOnline:0,
            utils: wstUtils.extend(wstUtils, wstStringUtils),
            userId: "",
            searchType: "",
            system: "",
            unifyLogin: null,
            navList:[
                {
                    label:"首页",urlLink:"/ir"
                },
                // {
                //     label:"全库检索",urlLink:"/ir/portal/smartSearch"
                // },
                {
                    label:"成果浏览",urlLink:"/ir/smart/searchlist"
                },
                {
                    label:"同济学者",urlLink:"/ir/portal/subpage#/ir/scholar"
                },
                {
                    label:"使用指南",urlLink:"/ir/portal/subpage#/ir/userInfo"
                },
                {
                    label:"关于我们",urlLink:"/ir/portal/subpage#/ir/aboutUs"
                },
                ],
                currentIndex:''
        }
    },

    methods: {

        //获取在线人数
        getUserOnline() {
            var _this = this;
            var options = {};
            options.url = webApp.data.baseApi + 'monitor/UserOnline';
            options.type = 'GET';
            options.param = {};
            options.beforeSend = function (XMLHttpRequest) { };
            options.complete = function (XMLHttpRequest) { };
            options.success = function (d) {
                if (!d.success || d.extra == null || $.isEmptyObject(d.extra)) return;
                _.forEach(d.extra,
                    function (item) {
                        console.log("item is empty", !_.isEmpty(item));
                        if (!_.isEmpty(item)) {
                            _.forEach(item,
                                function (value, key) {
                                    _this.userOnline = + value;
                                });
                        }

                    });

            };
            wstUtils.requestAjax(options);
        },

        //获取登录次数
        getUserLogins() {
            var _this = this;
            var options = {};
            options.url = webApp.data.baseApi + 'selfstats/UserLogins';
            options.type = 'GET';
            options.param = {};
            options.beforeSend = function (XMLHttpRequest) { };
            options.complete = function (XMLHttpRequest) { };
            options.success = function (d) {
                if (d.success == true) {
                    _this.userLogins = d.extra;
                }
            };
            wstUtils.requestAjax(options);
        },
        currentMenu: function (path) {
            console.log(path)
            if (path == '/ir/smart/searchlist') {
                this.currentIndex = 1
            }
        },
        // 打开读者中心首页
        openReaderCenter: function () {
            window.open('/readercenter/center/index');
        },
        isLogin: function () {
            var flag = false;
            var userId = this.userId;
            if (this.utils.isBlank(userId)) {

                const unitIds = ["shou", "ahjzu"];
                let flag = false;
                for (let i=0; i < unitIds.length; i++) {
                    if (unitIds[i] == this.unitId || unitIds[i] == unit) {
                        flag = true;
                        break;
                    }
                }
                if (flag) {
                    wstUtils.showMsg("请先登录系统");
                }
               
                else {
                    this.loginDialog();
                }
               
               // this.loginDialog();
                //this.loginDialog();
            } else {
                flag = true;
            }

            return flag;

        },
        btnClick: function (url) {
            //window.location.href = "/"+system + url;
            window.open(wstUtils.getUrl(url));
        },
        //格式化资源 DS 详细信息(页面统一调用)
        initItem: function (item, i) {

            return webApp.method.initItem(item, i);
        },
        //格式化资源 DS 详细信息(页面统一调用)
        initIRItem: function (item, i) {
            //var ds = item.DS[0];
            // var os=item.OS[0];         
            // if(item.DS.length>=(i+1)){
            //     os=item.OS[i];
            // }
            //if (item.DS.length == 0) {
            //    return null;
            //}
            //if (item.OS.length == 0) {
            //    return null;
            //}
            //var dsDb = item.DS[0].Db;
            //var ds = item.OS[i];
            //var _itemDs = {
            //    all_ds: item.OS,
            //    ds_0: ds,
            //    //classid:(item.OS[i].ClassId || item.ClassId) || '',
            //    id: (ds.Id || item.Id) || '',
            //    dsDb:dsDb,
            //    db:ds.Db || '',
            //    ds: ds.Ds || '',
            //    t: ds.T || '',
            //    TName: (ds.TName || webApp.method.getChinesCatalog(ds.T)) || '',
            //    t_name: (ds.TName || webApp.method.getChinesCatalog(ds.T)) || '',
            //    DbName: item.OS && item.OS.length > 0 ? item.OS[i].DbName || '' : ds.Db_Name,
            //    db_name: item.OS && item.OS.length > 0 ? item.OS[i].DbName || '' : ds.Db_Name,
            //    periodical: (ds.Periodical || item.Periodical) || '',
            //    year: (ds.Year || item.Year) || '',
            //    roll: (ds.PeriodicalRoll || item.PeriodicalRoll) || '',

            //    url: '',
            //    linkurl: '',
            //    downloadurl: '',
            //    ssn: item.SSN || '',
            //    path: item.Path || '',
            //    cataloguename: item.Title || '',
            //    iscollect: item.IsCollect || false,
            //    author: item.Author || '',
            //    click: item.Click || 0,
            //    abstract: item.Abstract || '',
            //    keywords: item.Keyword || '',
            //    rank: item.Rank || [],
            //    title: item.Title || '',
            //    cd: ds.Cd || '',
            //    ref: item.Ref || '',
            //    os: item.OS[i]
            //};
            //if (item.OS && item.OS.length > 0 && item.OS[i].Url) {
            //    _itemDs.url = item.OS[i].Url || '';
            //}
            //if (item.OS[i].LinkUrl) {
            //    _itemDs.linkurl = ((item.OS[i].Host || '') + (item.OS[i].LinkUrl || '')) || '';
            //}

            //return _itemDs;
            return webApp.method.initIRItem(item, i);
        },
        initIRLinkItem: function (item, i) {
            
            const flag=item.DS&& item.DS.length>0;
            if(!flag){
                return {t:""};
            }
            var ds = item.DS[0];
            var dsDb = item.DS[0].Db;
            var _itemDs = {
                all_ds: item.OS,
                ds_0: ds,
              
                id: (ds.Id || item.Id) || '',
                dsDb:dsDb,
                db:ds.Db || '',
                ds: ds.Ds || '',
                t: ds.T || '',
                TName: (ds.TName || webApp.method.getChinesCatalog(ds.T)) || '',
                t_name: (ds.TName || webApp.method.getChinesCatalog(ds.T)) || '',
                DbName:ds.Db_Name,
                db_name:  ds.Db_Name,
                periodical: (ds.Periodical || item.Periodical) || '',
                year: (ds.Year || item.Year) || '',
                roll: (ds.PeriodicalRoll || item.PeriodicalRoll) || ''

              
            };
           
            return _itemDs;
            //return webApp.method.initIRItem(item, i);
        },
        //初始化div属性值(页面统一调用)
        initAttr: function (itemDs) {
            return webApp.method.initAttr(itemDs);
        },
        //获取封面图片
        initCoverImg: function (item) {
            var itemDs = webApp.method.initItem(item, 0);
            return webApp.method.initCoverImg(itemDs);
        },
        //机构知识库/学科服务中获取学者的头像图片
        initLMCoverImg: function (item) {
            return webApp.method.initNewLMCoverImg(item);
        },
        //学科馆员的头像图片
        initLBCoverImg: function (userId, unitId) {
            return webApp.method.initLBCoverImg(userId, unitId);
        },
        // 关注学者/学科/机构的操作 0学者，1学科，2机构，3馆员
        followOperation: function (lmId, type, callback, tipsMsg) {
            var _this = this;
            if (_this.isLogin()) {
                return webApp.method.followOperation(lmId, type, callback, tipsMsg);
            } else {
                $('#myModal').modal('hide');
                wstUtils.showMsg("请登录后再操作！");
            }
        },
        // 取消关注学者/学科/机构的操作 0学者，1学科，2机构，3馆员
        cancelFollowOperation: function (lmId, type, callback, tipsMsg) {
            var _this = this;
            if (_this.isLogin()) {
                return webApp.method.cancelFollowOperation(lmId, type, callback, tipsMsg);
            } else {
                $('#myModal').modal('hide');
                wstUtils.showMsg("请登录后再操作！");
            }
        },
        treeToArrary: function (data) {
            var list = [];
            for (var i = 0; i < data.length; i++) {
                list.push(data[i]);
                if (data[i].children && data[i].children.length > 0) {
                    list = list.concat(this.treeToArrary(data[i].children));
                }
            }

            return list;
        },
        setTreeSelected: function (data) {
            for (var i = 0; i < data.length; i++) {
                var item = data[i];
                item.selected = true;
                data.splice(i, 1, item);

                if (data[i].children && data[i].children.length > 0) {
                    this.setTreeSelected(data[i].children);
                }
            }
        },
        getIRItem: function (item) {
            var irItem = item;
            if (item.OS) {
                irItem.DS = item.OS;
            }
            return irItem;
        },
        //渲染性别
        getGenderName: function (flag) {
            var gender = "";
            if (typeof flag == "boolean") {
                gender = flag ? "1" : "0";
            } else {
                gender = flag;
            }
            if (gender === "1") {
                return "男";
            } else if (gender === "0") {
                return "女";
            } else {
                return "";
            }
        },
        //获取状态名称
        getSateName: function (flag) {
            var statelist = [{flag: 1, name: "已启用"}, {flag: 0, name: "未启用"}];
            var name = "";
            for (var i = 0; i < statelist.length; i++) {
                if (statelist[i].flag == flag) {
                    name = statelist[i].name;
                    break;
                }
            }
            return name;
        },
        //获取消息类型
        getElMsg: function (options) {
            var opts = {type: "success", message: "操作成功"};
            if (options) {
                for (var key in options) {
                    if (options.hasOwnProperty(key)) {
                        if (options[key] != undefined && (options[key] != null && options[key] != "")) {
                            opts[key] = options[key];
                        }

                    }
                }
                return opts;
            }
            var msg = {};
            var msgList = [{
                message: "操作成功",
                type: "success"
            }, {
                message: "操作失败",
                type: "error"
            }];
            for (var i = 0; i < msgList.length; i++) {
                if (opts.type === msgList[i].type) {
                    msg = msgList[i];
                    break;
                }
            }
            if (opts.message) {
                msg.message = opts.message;
            }
            return msg;


        },
        getImgPath: function (_itemDs) {
            return webApp.method.getImgPath(_itemDs.ds_0, _itemDs.classid, _itemDs.year, _itemDs.roll);
        },
        getUrl: function (url) {
            return "/" + this.system + url;
        },
        getLoadingHtml: function (style) {
            let margin = 80;
            let height = 32;
            if (style) {
                if (style.margin) {
                    margin = style.margin;
                }
                if (style.height) {
                    height = style.height;
                }
            }
            let loadingHtml = '<div style="margin: ' + margin + 'px auto; width: 32px;height:' + height + 'px;"><span class="loading_circle"></span></div>';
            //console.log(loadingHtml);
            return loadingHtml;
        },
        //获取最近期刊地址
        getPeriodicalNewUrl: function () {

        },
        showImgDelay: function (num) {
            return "wstUtils.showImgDelay(this," + num + ");";
        },
        //去除html标签和
        formatHtml: function (value) {
            if (value) {
                return value.removeHtml(); //.replaceSpecialChar();
            } else {
                return "";
            }
        },
        dateFormat: function (date, format) {
            var newDate = "";
            if (!wstUtils.isEmpty(date)) {
                var deafultFormat = "yyyy-MM-dd";
                if (!wstUtils.isEmpty(format)) {
                    deafultFormat = format;
                }
                if (typeof date === "string") {
                    newDate = date.toDateOrTime().Format(deafultFormat);
                } else if (typeof date === "object") {
                    newDate = date.Format(deafultFormat)
                } else {
                    newDate = date;
                }


            }
            return newDate;
        },
        isExistInList: function (dataList, key) {
            var tof = false;
            for (var i = 0; i < dataList.length; i++) {

                if (dataList[i].indexOf(key) > -1) {
                    tof = true;
                    break;
                }
            }
            return tof;
        },
        isExistData: function (data, key) {
            var count = 0;
            if (data && data.hasOwnProperty(rows)) {
                count += data[key].length;
            }
            return count > 0;
        },
        getDataSplitStr: function (str) {

        },
        getLangName: function (value) {
            if (value === "eng") {
                return "外文";
            } else if (value === "chi") {
                return "中文";
            }
            return "";
        },
        getLangValue: function (name) {
            if (name === "外文") {
                return "eng";
            } else if (name === "中文") {
                return "chi";
            }
            return "";
        },
        getDataListToStr: function (data, split) {
            var str = "";
            var sp = ",";
            var list = [];
            if (typeof split == "string" && wstStringUtils.isBlank(split)) {
                sp = split;
            }
            if (data && data.length > 0) {
                list = data;
            }
            for (var i = 0; i < list.length; i++) {
                str = list[i] + sp;
            }
            if (!wstStringUtils.isBlank(str)) {
                str = str.substr(0, str.length - 1);
            }
            return str;
        },
        getBindClass: function (index, data) {
            return data[index].class;
        },
        getValidCode: function () {/* 获取验证码 */
            this.validCodeSrc = "/login/" + this.$getUrl("/login/GetValidateCode?f=" + (new Date()).valueOf());

        },
        getIRImg: function () {
            return "/areas/ir/static/content/images/search/icon_ir_book.png";
        },
        //获取为我推荐书籍
        getMajorReadRecommendRes: function (opt, callback) {
            var options = {showMsg: opt.showMsg ? opt.showMsg : false};
            options.param = opt.param ? opt.param : {page: 1, size: 10, t: ""}
            options.url = webApp.data.baseApi + 'SelfStats/MajorReadRecommendRes';
            options.beforeSend = function (XMLHttpRequest) {
                opt.beforeSend && opt.beforeSend();
            };
            options.error = function (XMLHttpRequest, textStatus, errorThrown) {
            };
            options.complete = function (XMLHttpRequest, textStatus) {
            };
            options.success = function (d) {
                callback && callback(d);
            };
            wstUtils.requestAjax(options);

        },
        //获取历史检索
        getHistorySearch: function (opt, callback) {
            var options = {showMsg: opt.showMsg ? opt.showMsg : false};
            options.param = opt.param ? opt.param : {type: 1, key: ''}
            options.url = webApp.data.baseSearchApi + 'Tips';
            options.beforeSend = function (XMLHttpRequest) {
                opt.beforeSend && opt.beforeSend();
            };
            options.error = function (XMLHttpRequest, textStatus, errorThrown) {
            };
            options.complete = function (XMLHttpRequest, textStatus) {
            };
            options.success = function (d) {
                callback && callback(d);
            };
            wstUtils.requestAjax(options);

        },


        //初始化
        initResData: function () {
            var _this = this;
            if (_this.isSearch) {
                _this.getResCatalogData(function (d) {
                    //var data = [];
                    for (var i = 0; i < d.length; i++) {
                        var item = {Cat_Id: d[i].Cat_Id, Cat_Name: d[i].Cat_Name, selected: false};
                        _this.$data.resCatalogData.data.push(item);

                    }
                });

            }
        },

        /**事件开始**/

        getCallBackUrl: function (value, action, callback, id) {
            var url = window.location.href;//wstUtils.getLocationHref();
            var self = this;
            if (!url.indexOf("/login/")) {
                url = webApp.data.readercenter + "/center/index";
            } else {
                if (wstStringUtils.isNotEmpty(id)) {
                    if (url.indexOf("?") != -1 && url.indexOf("&id=2") == -1) {
                        url = url + "&id=" + id;
                    } else {
                        url = url + "?id=" + id;
                    }

                }
            }

            var options = {showMsg: false};
            options.param = {value: value, url: url}
            options.url = webApp.data.readercenter_portal + action;

            options.success = function (d) {
                callback && callback(d);
            };
            wstUtils.requestAjax(options);

        },

        viewDetail: function (item) {
            window.open(this.getBookDetailLink(item));
        },
        /**事件结束**/
        // 获取资源的来源数据库名称，返回List数组
        getScource: function (ds) {
            return webApp.method.getScource(ds);
        },
        // 点击关键词/作者等搜索
        searchKeywords: function (_key, _value) {
            var url = webApp.data.smartsearch;
            let path = {path: "/smartsearch/smart/"}
            if (this.system && this.system == "ir") {
                url = webApp.data.ir;
                path = {path: "/ir/smart/"}
            }
            var senior_content = this.getSearchCondition(this.system);

            if (_key && _value) { // 根据key搜索
                senior_content.conditions = [{"key": _key, "value": _value, "op": 1}];
                //senior_content.searchInput = _text + "：" + _value;
                //senior_content.searchRange = { key: _key, value: _value };
            } else if (_value) { //做为搜索词直接搜索
                senior_content.key = _value;
                senior_content.searchInput = _value;
            } else {
                wstUtils.showMsg('没有获取到数据！');
                return;
            }
            //var args = encodeURIComponent(JSON.stringify(senior_content));
            //url = url + '/smart/searchlist?args=' + args;
            url = url + '/smart/searchlist';
            this.setSearchConditionCookie(senior_content, path);

            this.setSearchKeyDataToCookie(null, path);
            let currentUrl = wstUtils.getLocationHref();
            if (currentUrl && currentUrl.indexOf("/smart/searchlist") > -1) {
                location.href = url;
            } else {
                window.open(url);
            }


        },

        setSearchConditionCookie: function (searchCondition, path) {

            let attr = {path: '/smartsearch/smart/'};
            if (path) {
                attr = path;
            }
            if (this.system == "ir") {
                Cookies.remove('args', attr);
            }

            Cookies.set('args', searchCondition, attr);
        },
        setSearchKeyDataToCookie: function (cookiesData, path) {
            let attr = {path: "/smartsearch/smart/"};
            if (path) {
                attr = path;
            }
            if (!cookiesData) {
                var cookiesData = [
                    {key: "highDs", value: null, attr: attr},
                    {key: "highDstFilter", value: null, attr: attr},
                    {key: "highDbDsFilter", value: null, attr: attr},
                    {key: "highSearcFilter", value: null, attr: attr},
                    {key: "highLastFilter", value: null, attr: attr},
                    {key: "lastFilter", value: this.null, attr: attr},
                    {key: "highSearchProLastFilter", value: null, attr: attr}

                ];
                var searchRange = this.getSearchRange();
                cookiesData.push({
                    key: "searchRange",
                    value: searchRange,
                    attr: attr
                });
            }
            for (let i = 0; i < cookiesData.length; i++) {
                let data = cookiesData[i];
                if (data.value) {
                    Cookies.set(data.key, data.value, data.attr);
                } else {
                    Cookies.remove(data.key, data.attr);
                }
            }

        },
        //获取搜索范围
        getSearchRange: function () {
            return [{key: "Title", value: "题名", selected: false}, {key: "Author", value: "作者", selected: false},
                {key: "Keyword", value: "关键词", selected: false}, {key: "Abstract", value: "摘要", selected: false}];
        },
        getSearchCondition: function (flag) {
            var condition = {
                // analyze: false,//是否判断中英文
                key: '',//状态
                page: 1,//第几页
                //size: 20//,//每页显示的数量
                sort: 0//,//排序,0:相关度，1:时间，2:点击数
                // stats: false,// 是否返回条件信息
                //conditions: [],//搜索条件
                // source: {
                //     Cats: []//大类，如论文、期刊等
                // }

            };
            if (typeof flag == "string" && flag.IgnoreCaseEquals("ir")) {
                condition.key = "";
            }
            return condition;
        },
        // 获取资源详情页URL地址
        getResDetailUrl: function (itemDs, type) {
            // var ret_url = '';
            // var url=;
            // switch (itemDs.t.toLowerCase()) {
            // case 'dfz':
            //    if (itemDs.cataloguename != 'null' && itemDs.cataloguename != "")
            //        ret_url = webApp.method.getRedirectUri() + 'dfzcover?keywords=' + this.searchCondition.key.replace(/\"/g, "'") + '&cid=' + itemDs.classid + '&id=' + itemDs.id + '&db=' + itemDs.db + '&ds=' + itemDs.ds + '&type=' + itemDs.t + '&year=' + itemDs.year + '&roll=' + itemDs.roll + '&downLoadFormat=' + itemDs.df + '&article=' + itemDs.cataloguename + '&itemischild=0';
            //    else
            //        ret_url = webApp.method.getRedirectUri() + 'dfzcover?keywords=' + this.searchCondition.key.replace(/\"/g, "'") + '&cid=' + itemDs.classid + '&id=' + null + '&db=' + itemDs.db + '&ds=' + itemDs.ds + '&type=' + itemDs.t + '&year=' + itemDs.year + '&roll=' + itemDs.roll + '&downLoadFormat=' + itemDs.df + '&article=' + itemDs.cataloguename + '&itemischild=1';
            //    break;
            // default:
            //    ret_url = webApp.method.getRedirectUri() + 'detail?keywords=' + this.searchCondition.key.replace(/\"/g, "'") + '&cid=' + itemDs.classid + '&id=' + itemDs.id + '&db=' + itemDs.db + '&ds=' + itemDs.ds + '&type=' + itemDs.t + '&year=' + itemDs.year + '&roll=' + itemDs.roll;
            //    break;
            // }
            // return ret_url;
            if (type && type === "ir") {
                return this.getIRResDetailUrl(itemDs);
            } else {
                return webApp.method.getResDetailUrl(itemDs);
            }

        },
        // 获取期刊浏览页URL地址
        getPeriodicalUrl: function (itemDs, isNewPer) {
            //let ret_url = "";
            //if (itemDs.t == 'qk' && itemDs.classid ) {
            //    ret_url = webApp.method.getRedirectUri() +
            //        'qkdetail?' +
            //        '&cid=' +
            //        (itemDs.classid || '') +
            //        '&id=' +
            //        (itemDs.id || '') +
            //        '&db=' +
            //        (itemDs.db || '') +
            //        '&ds=' +
            //        (itemDs.ds || '') +
            //        '&type=' +
            //        (itemDs.t || '');

            //    if (!isNewPer) {
            //        ret_url += '&year=' + (itemDs.year || '') +
            //            '&roll=' + (itemDs.roll || '');
            //    }
            //}

            //return ret_url;
            return webApp.method.getPeriodicalUrl(itemDs, isNewPer);
        },
        getIRPeriodicalUrl: function (itemDs, isNewPer) {
            //let ret_url = "";
            //if (itemDs.t == 'qk' && itemDs.classid && itemDs.language == "chi") {
            //    ret_url = webApp.method.getRedirectUri() +
            //        'qkdetail?' +
            //        '&cid=' +
            //        (itemDs.classid || '') +
            //        '&id=' +
            //        (itemDs.id || '') +
            //        '&db=' +
            //        (itemDs.db || '') +
            //        '&ds=' +
            //        (itemDs.ds || '') +
            //        '&type=' +
            //        (itemDs.t || '');

            //    if (!isNewPer) {
            //        ret_url += '&year=' + (itemDs.year || '') +
            //            '&roll=' + (itemDs.roll || '');
            //    }
            //}

            //return ret_url;
            return webApp.method.getIRPeriodicalUrl(itemDs, isNewPer);
        },
        // 获取投稿指南期刊浏览页URL地址
        getGuidePeriodicalUrl: function (item) {
            if (item.Language != 'eng') {
                return webApp.method.getGuidePeriodicalUrl(item);
            }
        },

        // 获取资源详情页URL地址
        getIRResDetailUrl: function (itemOs) {
            var ret_url = '';
            if (!itemOs) {
                return ret_url;
            }
            var url = webApp.data.ir + "/smart/detail?";
            ret_url = "id=" + itemOs.id +
                "&db=" + itemOs.dsDb +
                "&ds=" + itemOs.ds +
                "&type=" + itemOs.t +
                "&year=" + itemOs.year +
                "&roll=" + itemOs.roll;
            ret_url = url + ret_url;

            return ret_url;
            //return webApp.method.getResDetailUrl(itemDs);
        },
        reSearchListUrl: function (isOpen, searchCondition) {
            var _link_url = '';
            switch (this.system) {
                case 'oa':
                    _link_url = webApp.data.oa + '/center/' + 'searchlist';
                    break;
                default:
                    _link_url = webApp.data.smartsearch + '/smart/' + 'searchlist';
                    break;
            }

            var args = encodeURIComponent(JSON.stringify(searchCondition));
            _link_url += "?args=" + args;
            if (!isOpen) {
                location.href = _link_url;
            } else {
                window.open(_link_url);
            }
        },

        //退出
        loginOut: function () {
            var self = this;
            var options = {showMsg: true, type: "post"};
            options.url = '/login' + self.$getUrl('/login/Logout');
            options.success = function (d) {
                if (d.success) {
                    //console.log(self.$getUrl(""));
                    Cookies.remove("Authorization");
                    window.location.href = self.$getIndexUrl("");
                }
            };
            return wstUtils.requestAjax(options);

        },


        // 单位退出
        unitLogOut: function (unifyLogin) {
            if (unifyLogin && unifyLogin.isEnable) {
                var options = {};
                options.url = unifyLogin.loginOut[0];
                options.type = 'post';
                options.showMsg = true;
                options.success = function (d) {
                    Cookies.remove("Authorization");
                };
                return wstUtils.requestAjax(options);
            } else {
                return null;
            }

        },
        //统一认证退出
        unifyLoginOut: function () {
            const self = this;
          
            if (self.unifyLogin) {
              
                const unitLogOut = self.unitLogOut(self.unifyLogin);
                if (unitLogOut) {
                    Cookies.remove("Authorization");
                    const logOutUrl = self.unifyLogin.loginOut[1];
                    wstUtils.createIframe('ifloginout', logOutUrl);
                }
                else {
                    top.window.location.reload();
                }
                

            } else {
                top.window.location.reload();
               
            }
            
        },
        //纸电退出
        picpLoginOut: function () {
            var self = this;
            var options = { showMsg: true, type: "post" };
            options.url =  '/picp/Logout';
            options.success = function (d) {
                if (d.success) {
                   
                    window.location.href = self.$getIndexUrl("");
                }
            };
            return wstUtils.requestAjax(options);

        },
        
        // 获取单位参数
        getUnitParameter: function (id, callback) {
            var self = this;
            var options = {showMsg: false};
            options.type = "GET";
            options.url = '/readercenter/api/publicaction/GetUnitSetParams?key=' + id;
            options.success = function (d) {
                if ($.isFunction(callback)) {
                    callback(d);
                }
            };
            return wstUtils.requestAjax(options);
        },

        // 获取单位参数
        getUnitParameterByDef: function (id) {
           
            var options = { showMsg: false };
            options.type = "GET";
            options.url = '/readercenter/api/publicaction/GetUnitSetParams?key=' + id;
            
            return wstUtils.requestDeferredAjax(options);
        },
        // 获取统一认证登录跳转链接地址
        getUnifyLoginUrl: function () {
            var _this = this;
            //console.log(_this.getUnitParameterByDef("unify_login"));
            return $.when(_this.getUnitParameterByDef("unify_login")).done(function (d) {
                //console.log(d);
                if (d.success && d.extra) {
                    _this.unifyLogin = JSON.parse(d.extra);
                }
            });
        },
        /*  * 获取图片的显示路径
            * 示例 <img src="GetImgPath('../default/inmages','default.jpg')">
            * FilePath 图片文件的存放路径
            * ImgName 图片的命名名称
            * Type 图片的类型  */
        GetImgPath: function(ImgName, ImgType) {
            var path = '';
            var reg = RegExp(/-/);
            if (ImgName != '' && ImgName != null) {
                if (ImgName.match(reg)) {
                    ImgName = ImgName.replace(/-/g, '') + '';
                }
                if (ImgName == '' || ImgName == 'CN') {
                    ImgType = "default";
                }
                switch (ImgType) {
                    case 'opac_book':
                        path = '/Cover/wgdzs/opac/' + ImgName + '.jpg';
                        //示例：Cover/BookCover/9787556303441.jpg
                        break;
                    case 'default':
                        var n = parseInt(28 * Math.random());
                        path = '/Cover/DefaultCover/default/default' + n + '.jpg'
                        break;
                    default:
                        var m = parseInt(28 * Math.random());
                        path = '/Cover/DefaultCover/default/default' + m + '.jpg'
                        break;
                }
            }
            else {
                var n = parseInt(28 * Math.random());
                path = '/Cover/DefaultCover/default/default' + n + '.jpg'
            }
            return path;
        }
    },

    mounted: function () {
        //var _this = this;
        //if (_this.isSearch) {
        //    _this.getResCatalogData(function (d) {
        //        //var data = [];
        //        _this.$data.resCatalogAllData.data = [{ Cat_Id: "all", Cat_Name: "全部", class: "active", selected: true }];
        //        for (var i = 0; i < d.length; i++) {
        //            var item = { Cat_Id: d[i].Cat_Id, Cat_Name: d[i].Cat_Name, class: "",selected:false };
        //            _this.$data.resCatalogData.data.push(item);
        //            _this.$data.resCatalogAllData.data.push(item);
        //        }
        //    });

        //}
        this.currentMenu(window.location.pathname)
    },
    beforeMount: function () {
        this.system = system;
        this.$system = system;
        this.userId = userId;
    }
}


Vue.component('login-dialog', {
    template: `
    <div class="modal fade" id="loginModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
    <div class="modal-dialog modal-dialog_v1">
        <div class="modal-content">
            <button class="modal-btn" type="button" data-dismiss="modal" aria-hidden="true"></button>
            <div class="modal-body-logo" v-if="unit != 'wjxy'"><img src="/Areas/ReaderCenter/Static/Content/images/logo-gray.png" /></div>
            <div class="modal-body">
                <div v-if="unifyLogin && unifyLogin.isEnable" class="switchLogo" v-bind:class="switchLogin?'switchLogoShow':'switchLogoHide'" v-bind:title="switchLogin?'密码登录请点击这里':'统一身份认证让你更加方便快捷'" v-on:click="switchLogoLogin()"></div>
                <div class="modal-logo">
                    <img v-bind:src="logo" height="40" />
                    登录获取更多个人专属服务
                </div>
                <div class="modal-login" v-show="!switchLogin">
                    
                    <form class="modal-login-input modal-login-input1">
                        <i class="fa fa-user-circle-o"></i>
                        <input placeholder="请输入用户名" type="username" id="UserId" />
                    </form>
                    <form class="modal-login-input modal-login-input2">
                        <i class="fa fa-unlock-alt"></i>
                        <input placeholder="请输入密码" id="UserPassWord" type="password" autocomplete="username new-password" />
                    </form>
                    
                    <div id="slideBar">
                        <div class="slide-box">
                            <div class="slide-img-block">
                                <div class="slide-loading"></div>
                                <div class="slide-img-border">
                                    <div class="scroll-background slide-top"></div>
                                    <div class="slide-img-div" id="slide-img-div">
                                        <div class="slide-refresh" id="refreshBtn" title="更换图片"><i class="fa fa-refresh"></i>刷新</div>
                                        <div class="slide-refresh slide-close" id="closeBtn" title="关闭验证"><i class="fa fa-close"></i>关闭</div>
                                        <div class="slide-img-nopadding">
                                            <img class="slide-img" id="slideImg" src="" />
                                            <div class="slide-block" id="slideBlock"></div>
                                            <div class="slide-box-shadow" id="cutBlock"></div>
                                        </div>
                                        <div class="scroll-background  slide-img-hint-info" id="slideHintInfo">
                                            <div class="slide-img-hint">
                                                <div class="scroll-background slide-icon" id="slideIcon"></div>
                                                <div class="slide-text">
                                                    <span class="slide-text-type" id="slideType"></span>
                                                    <span class="slide-text-content" id="slideContent"></span>
                                                </div>
                                            </div>
                                        </div>
                                    </div>
                                    <div class="scroll-background slide-bottom">
                                        <div class="slide-bottom-no-logo"></div>
                                    </div>
                                </div>
                            </div>
                            <div class="scroll-background scroll-bar">
                                <div class="scroll-background slide-btn" id="slideBtn"></div>
                                <div class="slide-title" id="slideHint"> 拖动滑块，完成拼图验证自动登录</div>
                            </div>
                        </div>
                    </div>
                    <div class="modal-login-check">
                        <div class="news-list-check-text" v-bind:class="$parent.isSelected ? 'active' : ''">
                            <span class="news-list-check" v-on:click="$parent.rememberPwd"></span>记住密码
                        </div>

                        <!--<div class="news-list-check-text check-red" v-bind:class="isBinding ? 'active' : ''">
                            <span class="news-list-check" v-on:click="rememberBinding"></span>
                            <i data-toggle="modal" data-target="#myModal">绑定OPAC系统</i>
                        </div>-->

                    </div>
                    <div class="modal-login-dsf" id="thirdLogin">
                        <span>or</span>
                    </div>
                </div>
                <div class="modal-login" v-show="switchLogin">
                    <a v-bind:href="loginInUrl" class="unifyLogin">
                        <img src="/Areas/readercenter/Static/Content/images/unifyLogin.png">
                        <h3>统一身份认证</h3>
                    </a>
                </div>

             

            </div>
        </div><!-- /.modal-content -->
    </div><!-- /.modal -->
</div>`,
    props: ['logo'],
    mixins: [commonMixin],
    data: function () {
        return {
            userOnline:0,
            unit: unit,
            isBinding: false,
            switchLogin: false //,
            //unifyLogin: null,  //统一认证登录地址
        }
    },

    methods: {
        

        rememberBinding:function(){

        },
        switchLogoLogin: function () {
            this.switchLogin = !this.switchLogin;
            }
                //,
    //// 获取统一认证登录跳转链接地址
    //getUnifyLoginUrl: function () {
    //    var _this = this;
    //    webApp.method.getSysParameter("unify_login", function (d) {
    //        if (d.success && d.extra ) {
    //            _this.unifyLogin = JSON.parse(d.extra);


    //        }
    //    });
    //}
},
    created: function () {
        var _this = this;
        // 获取统一认证登录跳转链接地址
        _this.getUnifyLoginUrl().done(function () {
            _this.$root.unifyLogin = _this.unifyLogin;
            _this.$nextTick(function () {
                if (_this.unifyLogin && _this.unifyLogin.isEnable) {
                    this.switchLogin = true;
                }
            });
            

        });
    },
    computed: {
        loginInUrl: function () {
            let url = "javascript:void(0)";
            if (this.unifyLogin && this.unifyLogin.isEnable) {
                url = this.unifyLogin.loginIn;
            }
            return url;
        }
    },
    mounted: function () {

    },
    watch: {
    }
});