searchWords.SearchWords.Index.js 14.4 KB
webpackJsonp([151],[
/* 0 */
/***/ function(module, exports, __webpack_require__) {

	/**
	 * Created by wangqianjun on 16/2/23.
	 */
	var $ = __webpack_require__(1),
	    common = __webpack_require__(2);

	// 热搜词状态
	var StatusEnum = {
	    ON: 2,// 开启
	    OFF: 1 // 关闭
	};
	//界面分类值
	var PagEnum = {
	    DEF_HOT_SEARCH_WORDS: 1, //默认搜索词管理页面
	    PULL_DOWN_WORDS: 2,//下拉词管理页面
	    HOT_SEARCH_WORDS: 3,//热搜词管理页面
	    SYNONYMS_: 4,//同义词管理页面
	    DISABLE_WORDS: 5//停用词管理页面
	};
	//界面分类显示
	var titles = {
	    1: {
	        name1: "默认搜索词列表",
	        name2: "默认搜索词列表",
	        title: "默认搜索词",
	        tips: '注:默认搜索词是默认显示在前台搜索框里的词或者短语'
	    },
	    2: {
	        name1: "下拉词列表",
	        name2: "下拉词列表",
	        title: "下拉词",
	        tips: '注:下拉词是前台输入框获取焦点之后下拉显示的词'
	    },
	    3: {
	        name1: "热搜词列表",
	        name2: "热搜词列表",
	        title: "热搜词",
	        tips: '注:热搜词是前台搜索框下面的词'
	    },
	    4: {
	        name1: "同义词列表",
	        name2: "同义词列表",
	        title: "同义词",
	        tips: '注:同义词,比如阿迪达斯和三叶草就是一对同义词'
	    },
	    5: {
	        name1: "停用词列表",
	        name2: "停用词列表",
	        title: "停用词",
	        tips: '注:停用词是指搜索引擎不进行拆分检索的词'
	    }
	};
	// 下拉框
	new common.dropDown({
	    el: "#status-filter"
	});
	new common.dropDown({
	    el: "#channelIds-filter"
	});
	new common.dropDown({
	    el: "#channel-ops"
	});

	// 初始化日期插件
	new common.edit("#filter").init();
	var edit = new common.edit2(".modal-body");
	var Bll = {
	    module: null,
	    getQueryString: function (name) {
	        var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
	        var r = window.location.search.substr(1).match(reg);
	        if (r != null)return unescape(r[2]);
	        return null;
	    },
	    _render1: function () {
	        if(parseInt(type) == PagEnum.DEF_HOT_SEARCH_WORDS || parseInt(type) == PagEnum.HOT_SEARCH_WORDS){
	            $('#channelIds-filter').parent().show();
	        }else{
	            $('#channelIds-filter').parent().hide();
	        }
	        //只有默认搜索词才显示时间选择
	        if (parseInt(type) == PagEnum.DEF_HOT_SEARCH_WORDS) {
	            $('#starttime-filter').parent().show();
	            $('#endtime-filter').parent().show();
	            // $('#channel-ops').parent().parent().show();
	        } else {
	            $('#starttime-filter').parent().hide();
	            $('#endtime-filter').parent().hide();
	            $('#channel-ops').parent().parent().hide();
	        }
	        var tem = common.util.__template2($("#template").html(), titles[parseInt(type)]);
	        $(".media-body").html(tem);
	    },
	    __render: function (selecter, templater, data) {
	        $(selecter).html(common.util.__template2($("#" + templater).html(), data));
	    },
	    //弹框
	    toast: function (url, module, hint) {
	        module.tips = titles[module._type].tips;
	        Bll.module = module;
	        var d = new common.dialog({
	            title: hint + titles[module._type].title,
	            content: common.util.__template2($("#template-content").html(), Bll.module),
	            width: '40%',
	            button: [
	                {
	                    value: "保存",
	                    callback: function () {
	                        if (edit.validate()) {
	                            common.util.__ajax({
	                                url: url,
	                                data: Bll.module
	                            }, function () {
	                                g.reload();
	                                d.close();
	                            });
	                        }
	                        return false;
	                    },
	                    css: "btn-primary"
	                },
	                {
	                    "value": "取消",
	                    "css": "btn-info"
	                }
	            ]
	        });
	        Bll.__editRender();
	    },
	    renderDialog: function (templater) {
	        Bll.__render(".modal-body", templater, Bll.module);
	        Bll.__editRender();
	    },
	    __editRender: function () {
	        edit.init();
	    }
	};
	/**
	 * 全局变量,当前界面的类型
	 * @type {*}
	 */
	var type = Bll.getQueryString("type");
	/**
	 * 加载界面
	 */
	Bll._render1();
	/**
	 * 界面表格
	 * @type {common.grid}
	 */
	var g = new common.grid({
	    el: '#search-words-list',
	    parms: function () {
	        switch (parseInt(type)) {
	            //默认搜索词管理页面
	            case PagEnum.DEF_HOT_SEARCH_WORDS :
	                return {
	                    type: type,
	                    status: $.trim(common.util.__input("status-filter")),
	                    channelIds: $.trim(common.util.__input("channelIds-filter")),
	                    startTime: $.trim($('#starttime-filter').val()),
	                    endTime: $.trim($('#endtime-filter').val()),
	                    content: $.trim($('#content-filter').val())
	                };
	            //热搜词管理页面
	            case PagEnum.HOT_SEARCH_WORDS :
	            //下拉词管理页面
	            case PagEnum.PULL_DOWN_WORDS :
	            //同义词管理页面
	            case PagEnum.SYNONYMS_ :
	            //停用词管理页面
	            case PagEnum.DISABLE_WORDS :
	                return {
	                    type: type,
	                    status: $.trim(common.util.__input("status-filter")),
	                    channelIds: $.trim(common.util.__input("channelIds-filter")),
	                    content: $.trim($('#content-filter').val())
	                };
	        }
	    },
	    columns: (function () {
	        switch (parseInt(type)) {
	            //默认搜索词管理页面
	            case PagEnum.DEF_HOT_SEARCH_WORDS :
	                return [
	                    {display: "序号", name: "id"},
	                    {display: "内容", name: "content"},
	                    {display: "频道", name: "channelNames"},
	                    { display: "PC链接", name:"matchPcUrl" },
	                    { display: "移动端链接", name:"matchAppUrl" },
	                    {
	                        display: "状态", name: "status", render: function (item) {
	                        if (item.status === StatusEnum.ON) {
	                            return "<span>开启</span>";
	                        } else {
	                            return "<span>关闭</span>";
	                        }
	                    }
	                    },
	                    {display: "开始时间", name: "startTime"},
	                    {display: "结束时间", name: "endTime"},
	                    {display: "添加人", name: "creatorUsrname"},
	                    {display: "添加时间", name: "createdTime"},
	                    {display: "修改人", name: "modifyUsrname"},
	                    {display: "修改时间", name: "modifyTime"},
	                    {
	                        display: "操作", name: "", render: function (item) {
	                        return '<a class="btn btn-xs btn-info modify"  data-index="' + item.__index + '">修改</a>';
	                    }
	                    }
	                ];

	            //下拉词管理页面
	            case PagEnum.PULL_DOWN_WORDS :
	                return [
	                    {display: "序号", name: "id"},
	                    {display: "内容", name: "content"},
	                    {
	                        display: "状态", name: "status", render: function (item) {
	                        if (item.status === StatusEnum.ON) {
	                            return "<span>开启</span>";
	                        } else {
	                            return "<span>关闭</span>";
	                        }
	                    }
	                    },
	                    {display: "排序", name: "sort"},
	                    {display: "商品数", name: "goodsNum"},
	                    {display: "添加人", name: "creatorUsrname"},
	                    {display: "添加时间", name: "createdTime"},
	                    {display: "修改人", name: "modifyUsrname"},
	                    {display: "修改时间", name: "modifyTime"},
	                    {
	                        display: "操作", name: "", render: function (item) {
	                        return '<a class="btn btn-xs btn-info modify" data-index="' + item.__index + '">修改</a>';
	                    }
	                    }
	                ];

	            //热搜词管理页面
	            case PagEnum.HOT_SEARCH_WORDS :
	                return [
	                    {display: "序号", name: "id"},
	                    {display: "内容", name: "content"},
	                    {display: "频道", name: "channelNames"},
	                    {
	                        display: "链接", name: "url", render: function (item) {
	                        var url = item.url ? item.url : "";
	                        return '<a href="' + url + '" target="_blank"> ' + url + '</a>' //'+item.url?item.url:""+'
	                    }
	                    },
	                    {
	                        display: "状态", name: "status", render: function (item) {
	                        if (item.status === StatusEnum.ON) {
	                            return "<span>开启</span>";
	                        } else {
	                            return "<span>关闭</span>";
	                        }
	                    }
	                    },
	                    {display: "排序", name: "sort"},
	                    {display: "添加人", name: "creatorUsrname"},
	                    {display: "添加时间", name: "createdTime"},
	                    {display: "修改人", name: "modifyUsrname"},
	                    {display: "修改时间", name: "modifyTime"},
	                    {
	                        display: "操作", name: "", render: function (item) {
	                        return '<a class="btn btn-xs btn-info modify" data-index="' + item.__index + '">修改</a>';
	                    }
	                    }
	                ];

	            //同义词管理页面
	            case PagEnum.SYNONYMS_ :
	                return [
	                    {display: "序号", name: "id"},
	                    {display: "内容", name: "content"},
	                    {
	                        display: "状态", name: "status", render: function (item) {
	                        if (item.status === StatusEnum.ON) {
	                            return "<span>开启</span>";
	                        } else {
	                            return "<span>关闭</span>";
	                        }
	                    }
	                    },
	                    {display: "添加人", name: "creatorUsrname"},
	                    {display: "添加时间", name: "createdTime"},
	                    {display: "修改人", name: "modifyUsrname"},
	                    {display: "修改时间", name: "modifyTime"},
	                    {
	                        display: "操作", name: "", render: function (item) {
	                        return '<a class="btn btn-xs btn-info modify" data-index="' + item.__index + '">修改</a>';
	                    }
	                    }
	                ];

	            //停用词管理页面
	            case PagEnum.DISABLE_WORDS :
	                return [
	                    {display: "序号", name: "id"},
	                    {display: "内容", name: "content"},
	                    {
	                        display: "状态", name: "status", render: function (item) {
	                        if (item.status === StatusEnum.ON) {
	                            return "<span>开启</span>";
	                        } else {
	                            return "<span>关闭</span>";
	                        }
	                    }
	                    },
	                    {display: "添加人", name: "creatorUsrname"},
	                    {display: "添加时间", name: "createdTime"},
	                    {display: "修改人", name: "modifyUsrname"},
	                    {display: "修改时间", name: "modifyTime"},
	                    {
	                        display: "操作", name: "", render: function (item) {
	                        return '<a class="btn btn-xs btn-info modify"  data-index="' + item.__index + '">修改</a>';
	                    }
	                    }
	                ];
	        }
	    })()
	});
	g.init('/operation/terms/searchWordsList');

	/**
	 * 监听输入框变化
	 */
	$(document).on("change", ".observe", function () {
	    var $this = $(this);
	    var name = $this.data("field");
	    Bll.module = common.util.__buildobj(name, '.', Bll.module, function (obj, name1) {
	        obj[name1] = $this.val();
	    });
	});

	$(document).on("click", "input[name='searchType']", function() {
	    var type = $(this).val();
	    Bll.module["searchType"] = type;
	    switch (type) {
	        case "1": 
	        $(".search_type2").hide();
	        $("#matchPcUrl").removeAttr("required");
	        $("#matchAppAction").removeAttr("required");
	        $("#matchAppUrl").removeAttr("required");
	        break; 
	        case "2": 
	        $(".search_type2").show();
	        $("#matchPcUrl").attr("required", "required");
	        $("#matchAppAction").attr("required", "required");
	        $("#matchAppUrl").attr("required", "required");
	        break;
	    }
	});

	/**
	 * 查询按钮
	 */
	$("#filter-btn").click(function () {
	    g.reload(1);
	});
	/**
	 * 添加
	 */
	$("#filter-add").click(function () {
	    var item = {
	        "type": parseInt(type),
	        "content": "",
	        "channelIds": "",
	        "url": "",
	        "startTime": "",
	        "endTime": "",
	        "goodsNum": 0,
	        "sort": 1
	    };
	    item._status = "add";
	    item._type = parseInt(type);
	    Bll.toast('/operations/terms/add', item, "添加");
	});
	/**
	 * 修改
	 */
	$(document).on("click", ".modify", function () {
	    var item = g.rows[$(this).data('index')];
	    item._status = "update";
	    item._type = parseInt(type);
	    Bll.toast('/operations/terms/modify', item, "修改");
	});





/***/ }
]);