{"version":3,"file":"/pc/goods/js/list.js.map","sources":["/pc/goods/js/list.js"],"sourcesContent":["/**\n * Created by caixiaohua on 2016/6/6.\n */\n\n define([\"pcbase\",\"ko\",\"galert\",\"goods/js/list_data\",\"strhelp\",\"game\",'jsonpath','highcharts',\"login\",\"router\",\"strhelp\",\"api\"],function (pcbase,ko,galert,list_data,strhelp,game,jsonpath,highcharts,login,router,strhelp,api){\n //define([\"pcbase\",\"ko\",\"galert\",\"goods/js/list_data\",\"strhelp\",\"game\",'jsonpath','resize'],function (pcbase,ko,galert,list_data,strhelp,game,jsonpath,resize){\n return pcbase.extend(function() {\n \"use strict\";\n //声明页面配置\n var my = this;\n var syp = 51;\n var orgList =[];\n this.init = function(){\n this.needLogin =false;\n this.pageSelector = \".page-goods-list\";\n this.model = {\n hotArea:ko.observable(''),//gameInfo里面的热门区id,是字符串\n hotGroup:ko.observable(''),//gameInfo里面的热门服id,是字符串\n minPrice:ko.observable(''),//筛选最小金额\n maxPrice:ko.observable(''),//筛选最大金额\n totalCount:ko.observable(''),//金币商城推荐列表总商品数量\n openJbMall:ko.observable(false),//游戏是否开通金币商城\n openShMall:ko.observable(false),//游戏是否开通收货商城\n isSupportDecimal:ko.observable(false),//是否支持小数\n tipsText:ko.observable(''),//金币商城新增提示浮层内文字\n pRace:ko.observable(''),//金币商城新增种族\n showJbMallList:ko.observable(false),//金币商城列表是否显示\n showShMallList:ko.observable(false),//收货商城列表是否显示\n recJbMallList:ko.observable([]),//金币商城列表\n fromIndex: ko.observable(0),\n isSafeType:ko.observable(),\n baozList: ko.observable([]),\n is_snda_game:ko.observable(),\n is_support_list:ko.observable(),\n is_support_baoz:ko.observable(),//是否支持保障类型\n receiveAreaList: ko.observable([]),\n gameUnit : ko.observable(\"\"),//金币单位\n has_new: ko.observable(),//是否有优惠券\n ticketNotAvailable: ko.observable([]),\n ticketList: ko.observable([]),\n minCoupon:ko.observable({}),\n showGoldCharts:ko.observable(0),//dnf金币比价图\n showmap:ko.observable(\"收缩\"),\n imgmap:ko.observable(\"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAoAAAANCAYAAACQN/8FAAAACXBIWXMAAAsTAAALEwEAmpwYAAAKTWlDQ1BQaG90b3Nob3AgSUNDIHByb2ZpbGUAAHjanVN3WJP3Fj7f92UPVkLY8LGXbIEAIiOsCMgQWaIQkgBhhBASQMWFiApWFBURnEhVxILVCkidiOKgKLhnQYqIWotVXDjuH9yntX167+3t+9f7vOec5/zOec8PgBESJpHmomoAOVKFPDrYH49PSMTJvYACFUjgBCAQ5svCZwXFAADwA3l4fnSwP/wBr28AAgBw1S4kEsfh/4O6UCZXACCRAOAiEucLAZBSAMguVMgUAMgYALBTs2QKAJQAAGx5fEIiAKoNAOz0ST4FANipk9wXANiiHKkIAI0BAJkoRyQCQLsAYFWBUiwCwMIAoKxAIi4EwK4BgFm2MkcCgL0FAHaOWJAPQGAAgJlCLMwAIDgCAEMeE80DIEwDoDDSv+CpX3CFuEgBAMDLlc2XS9IzFLiV0Bp38vDg4iHiwmyxQmEXKRBmCeQinJebIxNI5wNMzgwAABr50cH+OD+Q5+bk4eZm52zv9MWi/mvwbyI+IfHf/ryMAgQAEE7P79pf5eXWA3DHAbB1v2upWwDaVgBo3/ldM9sJoFoK0Hr5i3k4/EAenqFQyDwdHAoLC+0lYqG9MOOLPv8z4W/gi372/EAe/tt68ABxmkCZrcCjg/1xYW52rlKO58sEQjFu9+cj/seFf/2OKdHiNLFcLBWK8ViJuFAiTcd5uVKRRCHJleIS6X8y8R+W/QmTdw0ArIZPwE62B7XLbMB+7gECiw5Y0nYAQH7zLYwaC5EAEGc0Mnn3AACTv/mPQCsBAM2XpOMAALzoGFyolBdMxggAAESggSqwQQcMwRSswA6cwR28wBcCYQZEQAwkwDwQQgbkgBwKoRiWQRlUwDrYBLWwAxqgEZrhELTBMTgN5+ASXIHrcBcGYBiewhi8hgkEQcgIE2EhOogRYo7YIs4IF5mOBCJhSDSSgKQg6YgUUSLFyHKkAqlCapFdSCPyLXIUOY1cQPqQ28ggMor8irxHMZSBslED1AJ1QLmoHxqKxqBz0XQ0D12AlqJr0Rq0Hj2AtqKn0UvodXQAfYqOY4DRMQ5mjNlhXIyHRWCJWBomxxZj5Vg1Vo81Yx1YN3YVG8CeYe8IJAKLgBPsCF6EEMJsgpCQR1hMWEOoJewjtBK6CFcJg4Qxwicik6hPtCV6EvnEeGI6sZBYRqwm7iEeIZ4lXicOE1+TSCQOyZLkTgohJZAySQtJa0jbSC2kU6Q+0hBpnEwm65Btyd7kCLKArCCXkbeQD5BPkvvJw+S3FDrFiOJMCaIkUqSUEko1ZT/lBKWfMkKZoKpRzame1AiqiDqfWkltoHZQL1OHqRM0dZolzZsWQ8ukLaPV0JppZ2n3aC/pdLoJ3YMeRZfQl9Jr6Afp5+mD9HcMDYYNg8dIYigZaxl7GacYtxkvmUymBdOXmchUMNcyG5lnmA+Yb1VYKvYqfBWRyhKVOpVWlX6V56pUVXNVP9V5qgtUq1UPq15WfaZGVbNQ46kJ1Bar1akdVbupNq7OUndSj1DPUV+jvl/9gvpjDbKGhUaghkijVGO3xhmNIRbGMmXxWELWclYD6yxrmE1iW7L57Ex2Bfsbdi97TFNDc6pmrGaRZp3mcc0BDsax4PA52ZxKziHODc57LQMtPy2x1mqtZq1+rTfaetq+2mLtcu0W7eva73VwnUCdLJ31Om0693UJuja6UbqFutt1z+o+02PreekJ9cr1Dund0Uf1bfSj9Rfq79bv0R83MDQINpAZbDE4Y/DMkGPoa5hpuNHwhOGoEctoupHEaKPRSaMnuCbuh2fjNXgXPmasbxxirDTeZdxrPGFiaTLbpMSkxeS+Kc2Ua5pmutG003TMzMgs3KzYrMnsjjnVnGueYb7ZvNv8jYWlRZzFSos2i8eW2pZ8ywWWTZb3rJhWPlZ5VvVW16xJ1lzrLOtt1ldsUBtXmwybOpvLtqitm63Edptt3xTiFI8p0in1U27aMez87ArsmuwG7Tn2YfYl9m32zx3MHBId1jt0O3xydHXMdmxwvOuk4TTDqcSpw+lXZxtnoXOd8zUXpkuQyxKXdpcXU22niqdun3rLleUa7rrStdP1o5u7m9yt2W3U3cw9xX2r+00umxvJXcM970H08PdY4nHM452nm6fC85DnL152Xlle+70eT7OcJp7WMG3I28Rb4L3Le2A6Pj1l+s7pAz7GPgKfep+Hvqa+It89viN+1n6Zfgf8nvs7+sv9j/i/4XnyFvFOBWABwQHlAb2BGoGzA2sDHwSZBKUHNQWNBbsGLww+FUIMCQ1ZH3KTb8AX8hv5YzPcZyya0RXKCJ0VWhv6MMwmTB7WEY6GzwjfEH5vpvlM6cy2CIjgR2yIuB9pGZkX+X0UKSoyqi7qUbRTdHF09yzWrORZ+2e9jvGPqYy5O9tqtnJ2Z6xqbFJsY+ybuIC4qriBeIf4RfGXEnQTJAntieTE2MQ9ieNzAudsmjOc5JpUlnRjruXcorkX5unOy553PFk1WZB8OIWYEpeyP+WDIEJQLxhP5aduTR0T8oSbhU9FvqKNolGxt7hKPJLmnVaV9jjdO31D+miGT0Z1xjMJT1IreZEZkrkj801WRNberM/ZcdktOZSclJyjUg1plrQr1zC3KLdPZisrkw3keeZtyhuTh8r35CP5c/PbFWyFTNGjtFKuUA4WTC+oK3hbGFt4uEi9SFrUM99m/ur5IwuCFny9kLBQuLCz2Lh4WfHgIr9FuxYji1MXdy4xXVK6ZHhp8NJ9y2jLspb9UOJYUlXyannc8o5Sg9KlpUMrglc0lamUycturvRauWMVYZVkVe9ql9VbVn8qF5VfrHCsqK74sEa45uJXTl/VfPV5bdra3kq3yu3rSOuk626s91m/r0q9akHV0IbwDa0b8Y3lG19tSt50oXpq9Y7NtM3KzQM1YTXtW8y2rNvyoTaj9nqdf13LVv2tq7e+2Sba1r/dd3vzDoMdFTve75TsvLUreFdrvUV99W7S7oLdjxpiG7q/5n7duEd3T8Wej3ulewf2Re/ranRvbNyvv7+yCW1SNo0eSDpw5ZuAb9qb7Zp3tXBaKg7CQeXBJ9+mfHvjUOihzsPcw83fmX+39QjrSHkr0jq/dawto22gPaG97+iMo50dXh1Hvrf/fu8x42N1xzWPV56gnSg98fnkgpPjp2Snnp1OPz3Umdx590z8mWtdUV29Z0PPnj8XdO5Mt1/3yfPe549d8Lxw9CL3Ytslt0utPa49R35w/eFIr1tv62X3y+1XPK509E3rO9Hv03/6asDVc9f41y5dn3m978bsG7duJt0cuCW69fh29u0XdwruTNxdeo94r/y+2v3qB/oP6n+0/rFlwG3g+GDAYM/DWQ/vDgmHnv6U/9OH4dJHzEfVI0YjjY+dHx8bDRq98mTOk+GnsqcTz8p+Vv9563Or59/94vtLz1j82PAL+YvPv655qfNy76uprzrHI8cfvM55PfGm/K3O233vuO+638e9H5ko/ED+UPPR+mPHp9BP9z7nfP78L/eE8/sl0p8zAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAADJSURBVHjahM8xSkNhFITRc3+eBBGNWFsKrkBsxMIyhYWdhdhLwCqNlYWQbbgRl+Ea3IFWyVi8JCQx4LQz8925lcc9NIRqxLtyIrlVUIhmXVUT6hoXeNuwVsTyigPxqSrknHZExuvEZ9WuJBMc4xQvkjNMoaONqXvJTb/VEIN+22xE+5CaNq1d4g7fCmWGOUWZS0bKsJM8qPTfZbl8+UKDH/LUVm5saVGuHtD8p0W+2zi5S7U2YgfjT7XbQTvE/ja220H8IoPt4O8At/03FGyaKWYAAAAASUVORK5CYII=\"),\n chart_game_name: ko.observable(),\n chart_area_name: ko.observable(),\n chart_group_name: ko.observable(),\n chart_area_origin_name: ko.observable(),\n chart_group_origin_name: ko.observable(),\n priceChartTips: ko.observable(''),//比价图副标题\n pageNum:ko.observable(0),\n mapEquipText:{ //装备筛选id对应字段名\n \"equip_job\":\"使用职业\",\n \"equip_part\":\"装备部位\",\n \"equip_material\":\"装备材质\"\n },\n ext_goods_type: ko.observable(),\n goodsTypesAll: ko.observable('1,2,5,9,10,12,19,31,35'),\n totalSize: ko.observable(0),\n page: ko.observable(1),\n hasGetDetail: ko.observable(false),\n refer: ko.observable(), //从哪里进入这个页面的\n isMobile: ko.observable(false),\n gameId: ko.observable(),\n gameName: ko.observable(),\n keyword: ko.observable(),\n orderDir: ko.observable('a'),//价格排序\n orderDirPrice: ko.observable('a'),//比例排序\n dnfDirPrice: ko.observable('a'),//单价排序\n orderDirTotalVolume: ko.observable('d'),//总成交量排序\n orderDirInventory:ko.observable('d'), //库存排序\n orderDirDeliver:ko.observable('d'), //平均发货时间\n transaction_mode:ko.observable(''),\n is_support_stock:ko.observable(0), //表示库存交易\n goods_main_detail: ko.observable(),\n p_tips: ko.observable(), //寄售的goods_main_detail就是p_tips\n goodsList: ko.observableArray([]),\n gameOsList: ko.observableArray([]),//操作系统\n gameOperatorList: ko.observableArray([]),//渠道\n areaList: ko.observableArray([]),//所有区\n groupList: ko.observableArray([]),//所有服\n raceList: ko.observableArray([]),//种族\n raceText: ko.observable(),//种族文字\n raceKey: ko.observable(),//种族key\n goodsTypeList: ko.observableArray([]),\n goodsTypes: ko.observable(),\n curGoodsType: ko.observable(''),\n curItemType: ko.observable(''),//当前装备类型\n curItemTypeName: ko.observable(''),//当前装备类型\n areaIdGroups: ko.observableArray([]), //接口参数aera_id_groups\n\n game_app_os: ko.observable(),//操作系统id\n game_app_os_name: ko.observable(),//操作系统名称\n operator_id: ko.observable(),//渠道id\n operator_name: ko.observable(),//渠道名称\n areaId: ko.observable(),\n areaName: ko.observable(''),//当前选中的区\n areaKey: ko.observable(''), //区关键字\n raceId: ko.observable(),//种族\n areaFilterList:ko.observableArray([]),//查找关键字过滤后区\n groupId: ko.observable(),\n groupName: ko.observable(''),//当前选中的服\n groupKey: ko.observable(''), //服关键字\n groupFilterList:ko.observableArray([]),//过滤后服\n propertyList:ko.observableArray([]), //模板数据\n multiPropertyList:ko.observableArray([]), //多选模板数据\n templeteParams:ko.observable({}), //模板选择参数searchProperties\n orderParams:ko.observable({}), //排序参数,\n selectedFilter:ko.observableArray([]),//顶部已选择条件\n currentAreaId:ko.observable(),//\n areaListMulti:ko.observableArray([]),\n tradeMode:ko.observable(''),//深渊票51\n dnfCoinListShow:ko.observable(),// 0:整包 1:库存\n showSignFlag: ko.observable(false),//显示签到\n showSignUrl: ko.observable(''),//签到地址\n signBgUrl: ko.observable(''),//签到入口背景\n selectedFilterArea:ko.observableArray([]), //顶部已选区服\n selListMultiArea:ko.observableArray([]),\n\n selListMultiLev:ko.observableArray([]),\n aNew: ko.observable(''),\n bNew: ko.observable(''),\n gmmNew: ko.observable(''),\n newUserCouponList:ko.observable([]),//新人优惠券列表\n hadNewUserCouponList:ko.observable({}),//该用户有的新人优惠券\n commonGoodsTypeList:ko.observable([]),//通用商品类型\n showInsurance:ko.observable(false),//显示保险开关\n showCsScreen: ko.observable(false),//客服截图服务开关\n csScreenTips:ko.observable('客服截图:该商品委托平台客服上号,完成标准化、全方位的截图'),\n goldList:ko.observableArray([\n\n {\n text:\"推荐价格\",\n name:\"di\",\n key:\"is_best_proportion\",\n tips:\"推荐价格:推荐价格游戏币\"\n },\n {\n text:\"闪电发货\",\n name:\"kuai\",\n key:\"is_quick\",\n tips:\"闪电发货:秒发秒到\"\n },\n {\n text:\"区服互通\",\n name:\"tong\",\n key:\"is_area_trans\",\n tips:\"\"\n },\n {\n text:\"卖家包邮\",\n name:\"mian\",\n key:\"is_free_post\",\n tips:\"卖家包邮:邮寄的5%手续费由卖家承担\"\n },\n {\n text:\"无货赔付\",\n name:\"pei\",\n key:\"is_support_compensation\",\n tips:\"该类商品,若因卖家原因取消交易,将赔偿买家10元,并扣除卖家信用分。\"\n }\n\n ]),\n\n accountList:ko.observableArray([\n {\n text:\"找回包赔\",\n name:\"zhao\",\n key:\"is_indemnity\",\n tips:\"找回包赔:承诺商品找回全额赔付\"\n },\n {\n text:\"官方截图\",\n name:\"tu\",\n key:\"autoscreenshot_flag\",\n tips:\"官方截图:该账号官方已上号截图认证\"\n },\n {\n text:\"估价有奖\",\n name:\"jiang\",\n key:\"is_evaluate_product\",\n tips:\"估价有奖:对该账号估价成交后有奖\"\n }\n ]),\n insuranceList: ko.observableArray([\n {\n text:\"有保障服务\",\n name:\"support-guarantee\",\n key:\"is_accept_insurance\",\n tips:\"已购买保障服务
成交后若30天内卖家原因商品被回收、被找回、被封号,买家可申请理赔。\"\n },\n {\n text:\"无保障服务\",\n name:\"accept-guarantee\",\n key:\"is_support_insurance\",\n tips:\"可自主购买保障服务
购买服务后因卖家原因商品被回收、被找回、被封号,买家可申请理赔。\"\n },\n ]),\n sateTypeList:ko.observableArray([]),\n areaTransList:ko.observableArray([]),//区服互通列表\n showAreaTrans:ko.observable(false),//显示区服互通标记\n supportItemTypeList:ko.observableArray([]),//装备道具类型\n shList:ko.observableArray([]),//收货商城列表\n setJbListSort:function(type){\n // type 是排序的方式,sort-zh 综合,sort-bl 比例\n if(type == 'sort-zh'){\n document.getElementById(type).click();\n }else if(type == 'sort-bl'){\n //如果当前排序方式是比例,并且是升序那么就不需要在执行点击事件。\n if(my.model.orderParams().order_type == 'unit_price' && my.model.orderParams().order_dir == 'a'){\n my.model.getGoodsList();\n }else{\n document.getElementById(type).click();\n }\n }\n },\n getGoodsTypeUrl:function(url){\n //专区参数\n var special = strhelp.urlParamName('special');\n var sourceType = strhelp.urlParamName('sourceType');\n return url + \"&areaId=\" + my.model.areaId() + \"&groupId=\" + my.model.groupId() + \"&gameOs=\" + my.model.game_app_os() + \"&operatorId=\" + my.model.operator_id() + \"&special=\" + special + \"&sourceType=\" + sourceType;\n },\n selectbz:function(data,e){\n var t = $(e.currentTarget);\n var arrayPush = my.model.sateTypeList();\n var isCheck = $(t).prop('checked');\n if(isCheck){\n arrayPush.push(data.id);\n my.model.sateTypeList(arrayPush);\n }else{\n for (var i = 0; i < arrayPush.length; i++) {\n if(arrayPush[i] == data.id){\n my.model.sateTypeList().splice(i,1);\n }else{}\n }\n $(t).find(\".bzput\").attr(\"checked\",false);\n }\n my.model.getGoodsList();\n return true;\n },\n\n isShow: function (data, key) {\n if(data.safe_type_data){\n var nowKey = JSON.parse(data.safe_type_data);\n }else{\n nowKey =[];\n }\n\n // if (nowKey['is_accept_insurance'] == 0 && key == 'is_support_insurance') {//如果is_support_insurance是0,就认为支持投保\n // nowKey['is_support_insurance'] = 1;\n // }\n if (nowKey[key] == 1) {\n return true;\n } else {\n return false;\n }\n },\n isShow4jsp: function (safe_type_data, key) {\n if(safe_type_data){\n var nowKey = safe_type_data;\n }else{\n nowKey =[];\n }\n\n // if (nowKey['is_accept_insurance'] == 0 && key == 'is_support_insurance') {//如果is_support_insurance是0,就认为支持投保\n // nowKey['is_support_insurance'] = 1;\n // }\n if (nowKey[key] == 1) {\n return true;\n } else {\n return false;\n }\n },\n jumpToList: function (obj) {\n if (obj.goods_types == 90000 || obj.goods_types == 90001 || obj.goods_types == 90002) {\n my.model.goodsTypes(9);\n my.model.tradeMode('')\n } else if (obj.goods_types == 90003 || obj.goods_types == 90004) {\n my.model.goodsTypes(19);\n my.model.tradeMode('')\n } else if (obj.trade_mode > 50) {\n my.model.goodsTypes(obj.goods_types);\n my.model.tradeMode(obj.trade_mode)\n } else {\n my.model.tradeMode('')\n my.model.goodsTypes(obj.goods_types);\n }\n location.href = strhelp.getGoodsListUrl(my.model.gameId(), my.model.goodsTypes(), null, null, null, null, null, null, my.model.tradeMode());\n\n },\n\n queryCoupons: function(){\n var self = this;\n // 显示加载提示符\n var goods_type = window.pageParamsConfig.goods_type ? window.pageParamsConfig.goods_type : strhelp.urlParamName('goodType');\n var game_id = my.model.gameId();\n if(!goods_type) {\n goods_type = \"1,2,5,10,12\"\n }\n $.ajax({\n type: \"GET\",\n url: \"/gatew/frontconfigapi\",\n data: {\n \"method\": \"queryCoupons\",\n \"params\": JSON.stringify({\n \"amount\": 99999,\n \"game_id\": game_id,\n \"goods_type\": goods_type,\n })\n },\n success: function(resp) {\n if (resp.return_code == 0 && resp.data && resp.data.available) {\n var hadNewUserCouponList = {}\n var newUserCouponList = my.model.newUserCouponList()\n if(resp.data.available.length > 0){\n var list = resp.data.available || []\n for(var i = 0; i < list.length; i++){\n var itemTypeList = list[i].itemTypes.split(\",\")\n for(var k = 0; k < itemTypeList.length; k++){\n for(var j = 0; j < newUserCouponList.length; j++){\n if(list[i].catId == newUserCouponList[j].catId) {\n // if(true) {\n if(hadNewUserCouponList[itemTypeList[k]]) {\n if(hadNewUserCouponList[itemTypeList[k]] > list[i].minAmount/100) {\n hadNewUserCouponList[itemTypeList[k]] = list[i].minAmount/100\n }\n }else {\n hadNewUserCouponList[itemTypeList[k]] = list[i].minAmount/100\n }\n }\n }\n }\n }\n my.model.hadNewUserCouponList(hadNewUserCouponList)\n }\n }\n },\n error:function(data){\n // 隐藏加载提示符\n console.log(data)\n }\n });\n },\n\n //是否有新的优惠券\n doHaveNewCoupons:function(){\n var params = {\n };\n $.ajax( \"/gatew/actapi/doHaveNewCoupons\",{\n data:params,\n noNeedBlock:true,\n success: function(response){\n var data = response.data;\n if (response.return_code === 0) {\n my.model.has_new(data.has_new);\n var has_new = data.has_new;\n if( has_new==1){\n my.model.queryUserCouponspop();\n }\n } else {\n galert(response.message)\n }\n }\n });\n },\n\n //获取优惠券列表\n queryUserCouponspop:function () {\n $.ajax({\n type: \"GET\",\n url: \"/gatew/frontconfigapi\",\n data: {\n \"method\": \"queryUserCoupons\",\n \"params\": JSON.stringify({\n \"sorted\": 2,\n \"orderby\": 2\n })\n },\n success: function (resp) {\n if (resp.return_code == 0 && resp.data) {\n var list = resp.data.list\n var count = resp.data.count\n $(\".modal-backdrop.fade.in\").remove();\n //var ticketAvailable = self.ticketAvailable()\n if (list) {\n var ticketList = []\n for (var i = 0; i < list.length; i++) {\n var ticke = list[i]\n for (var i = 0; i < list.length; i++) {\n var ticke = list[i]\n ticke.amount = ticke.amount / 100;\n var endTime = new Date(ticke.endTime.replace(/-/g, \"/\")).getTime();\n var nowTime = new Date().getTime();\n var startTime = new Date(ticke.startTime.replace(/-/g, \"/\")).getTime();\n if(nowTime > startTime && nowTime < endTime){\n ticketList.push(ticke)\n }\n }\n my.model.ticketList(ticketList);\n }\n my.model.readNewCoupons();\n $('#yhqlist-get').modal('show');\n $(\".page-goods-list .modal-backdrop.fade.in\").css(\"z-index\",0);\n }\n\n } else if (resp.return_code !== 0) {\n galert(resp.return_message);\n }\n },\n error: function (data) {\n }\n });\n },\n\n\n gotoList:function (data,e) {\n var goodtype = data.itemtypes;\n var gameAppIds =data.gameAppIds;\n $('#yhqlist-get').modal('hide');\n $(\".modal-backdrop.fade.in\").remove();\n if(gameAppIds > 0){\n my.pageInf.gotoGoodsList(gameAppIds,goodtype);\n }else{\n my.pageInf.gotoGameList(gameAppIds,goodtype);\n }\n\n },\n\n //是否显示标志\n readNewCoupons: function () {\n var params = {};\n $.ajax(\"/gatew/actapi/readNewCoupons\", {\n data: params,\n noNeedBlock: true,\n success: function (response) {\n var data = response.data;\n if (response.return_code === 0) {\n } else {\n galert(response.return_message);\n }\n }\n });\n },\n\n //我知道了\n haveKnow: function () {\n $('#yhqlist-get').modal('hide');\n },\n\n queryUserCoupons: function () {\n var self = this;\n $.ajax({\n type: \"GET\",\n url: \"/gatew/frontconfigapi\",\n data: {\n \"method\": \"queryUserCoupons\",\n \"params\": JSON.stringify({\n \"sorted\": 2,\n \"orderby\": 1\n })\n },\n success: function (resp) {\n if (resp.return_code == 0 && resp.data && resp.data.list) {\n var result = self.minCoupon();\n var result2 = {};\n var list = resp.data.list;\n for(var i = 0; i < list.length; i++){\n var ticke = list[i];\n var endTime = new Date(ticke.endTime.replace(/-/g, \"/\")).getTime();\n var nowTime = new Date().getTime();\n var startTime = new Date(ticke.startTime.replace(/-/g, \"/\")).getTime();\n var gameId = my.model.gameId();\n if(nowTime > startTime && nowTime < endTime && (ticke.gameAppIds == gameId || ticke.gameAppIds==-1)) {\n if(result[ticke.itemtypes]){\n if(result[ticke.itemtypes] > ticke.minamount/100){\n result[ticke.itemtypes] = ticke.minamount/100\n }\n }else{\n result[ticke.itemtypes] = ticke.minamount/100\n }\n\n }\n }\n //{\"2,5,10\":xx} 转成 {\"2\":xx,\"5\":xx,\"10\":xx}\n for (var key in result){\n var temparr = key.split(\",\");\n console.log(temparr)\n $.each(temparr,function(index, el) {\n if (!result2[el] || result2[el] > result[key]){\n result2[el] = result[key];\n }\n });\n\n }\n self.minCoupon(result2)\n } else if (resp.return_code !== 0) {\n galert(resp.return_message);\n }\n },\n error: function (data) {\n }\n });\n },\n\n gotoGoodsList: function() {\n my.pageInf.routeToGoodsList(my.model.gameId());\n },\n get_is_support_baoz:function(goodsType){\n if(goodsType==31||goodsType==35){\n return true;\n }else{\n return my.model.is_support_baoz();\n }\n\n },\n getGameInfo: function (callback) {\n var self = this;\n var url = \"/api/accountapi/config/GetGameInfo\";\n var params={\n method:\"GetGameInfo\",\n params:JSON.stringify({ \"game_id\": my.model.gameId() })\n };\n $.ajax({\n url: url,\n data: params,\n success: function (response) {\n if (response.return_code == 0) {\n var data = response.data;\n var is_support_stock = data.ext_info.is_support_stock;\n my.model.is_support_stock(is_support_stock);\n if(data.ext_info){\n my.model.gameUnit(data.ext_info.base_unit_name);\n data.ext_info['common_support_type_user'] && my.model.commonGoodsTypeList(data.ext_info['common_support_type_user']['src_code_cfg'][7]['buy']);\n my.model.getCommonGoodsConfig();\n var hotArea = data.ext_info.hot_areas || '';\n var hotGroup = data.ext_info.hot_areas || '';\n my.model.hotArea(hotArea);\n }\n var is_snda_game = data.is_snda_game;\n my.model.is_snda_game(is_snda_game);\n if(is_snda_game === 1){\n my.model.is_support_baoz(false);\n my.model.is_support_list(true);\n //insuranceTask\n if(data.support_type.indexOf(10) > -1 || data.support_type.indexOf(12) >-1 || data.support_type.indexOf(31) >-1 || data.support_type.indexOf(35) >-1){\n my.model.is_support_baoz(true);\n my.model.is_support_list(false);\n }\n }else if(is_snda_game === 0) {\n my.model.is_support_baoz(true);\n my.model.is_support_list(false);\n }\n }\n callback(data)\n },\n error: function () {\n galert(\"您的网络不给力,请检查网络!\");\n callback()\n }\n\n });\n },\n\n transAreaList:function(list){ //区数据转换成多选格式\n var arr = [];\n $.each(list,function(index, el) {\n var obj = {\n area_id:el.area_id,\n area_name:el.area_name,\n checked:ko.observable(false),\n isCurrent:ko.observable(false),\n grouplist:ko.observableArray([])\n }\n arr.push(obj);\n });\n return arr;\n },\n transGroupList:function(list,area_id){ //服数据转换成多选格式\n var arr = [];\n $.each(list,function(index, el) {\n var obj = {\n group_id:el.group_id,\n group_name:el.group_name,\n area_id:el.area_id,\n area_name:el.area_name,\n checked:ko.observable(false)\n }\n arr.push(obj);\n });\n var arealist = my.model.areaListMulti();\n $.each(arealist,function(index, el) {\n if (area_id == el.area_id){\n el.grouplist(arr);\n }\n });\n my.model.areaListMulti(arealist);\n },\n transTemplate:function(list){ //模板数据换成多选格式\n list = list.filter(function(el){\n return el.id != 'p_race' && el.id != 'camp';\n });\n $.each(list,function(index, el) {\n if (el.id != 'area' && el.type == 'selector'){\n if (el.values[0].values){ //有二级选项\n $.each(el.values,function(index, el) {\n el.checked = ko.observable(false);\n el.isCurrent = ko.observable(false);\n el.area_id = el.id || el.text;\n el.area_name = el.text;\n var group = el.values;\n var area = el;\n $.each(group, function(index, el) {\n el.group_id = el.id;\n el.group_name = el.text;\n el.area_id = area.area_id;\n el.area_name = area.area_name;\n el.checked = ko.observable(false);\n });\n el.grouplist = ko.observableArray([]);\n el.grouplist(group);\n });\n } else { //只有一级选项\n $.each(el.values,function(index, el) {\n el.checked = ko.observable(false);\n el.isCurrent = ko.observable(false);\n el.area_id = el.id || el.text;\n el.area_name = el.text;\n el.group_id = '';\n el.group_name = '';\n });\n }\n\n }\n });\n my.model.multiPropertyList(list);\n },\n multiSelArea:function(data){ //多选区文字点击\n if (my.model.isMobile()){\n my.model.getMobileGameGroup(data.area_id);\n } else {\n my.model.getGroupList(data.area_id);\n }\n $.each(my.model.areaListMulti(),function(index, el) {\n el.isCurrent(false);\n });\n data.isCurrent(true);\n\n },\n multiSelAreaCheckbox:function(data){ //多选区checkbox点击\n if (my.model.isMobile()){\n my.model.getMobileGameGroup(data.area_id,check);\n } else {\n my.model.getGroupList(data.area_id,check);\n }\n\n var arrSel = my.model.selListMultiArea();\n var arrArea = my.model.areaListMulti();\n var temparr = [];\n $.each(arrArea,function(index, el) {\n el.isCurrent(false);\n });\n\n data.isCurrent(true);\n function check(){\n if (data.checked()){ //勾选\n //区下服都勾上\n $.each(arrArea, function(index, val) {\n if (val.area_id == data.area_id){\n $.each(val.grouplist(), function(index, val) {\n val.checked(true);\n });\n }\n });\n my.model.areaListMulti(arrArea);\n //已选显示这个区\n arrSel.push(data);\n my.model.selListMultiArea(arrSel);\n }\n else { //不勾选\n //区下服都去掉勾\n $.each(arrArea, function(index, val) {\n if (val.area_id == data.area_id){\n $.each(val.grouplist(), function(index, val) {\n val.checked(false);\n });\n }\n });\n //已选里去掉这个区的\n $.each(arrSel, function(index, val) {\n if ((val.area_id != data.area_id)){\n temparr.push(val)\n }\n });\n arrSel = [];\n arrSel = temparr;\n my.model.selListMultiArea(arrSel);\n }\n }\n\n return true;\n },\n multiSelGroup:function(data){//多选区点服\n var arrSel = my.model.selListMultiArea();\n var arrArea = my.model.areaListMulti();\n var obj = {\n area_id:data.area_id,\n area_name:data.area_name,\n group_id:data.group_id,\n group_name:data.group_name\n }\n\n var temparr = [];\n if (data.checked()){ //勾选\n //去掉全服\n $.each(arrSel, function(index, val) {\n if ((val.area_id == data.area_id && val.group_id !== -1) || (val.area_id != data.area_id)){\n temparr.push(val)\n }\n });\n arrSel = [];\n arrSel = temparr;\n arrSel.push(obj);\n my.model.selListMultiArea(arrSel);\n $.each(arrArea,function(index, val) {\n if (val.area_id == data.area_id){\n //只要已选条件里该区的服,对应区就选上\n var hasGroupInArea = jsonpath.parse(my.model.selListMultiArea(),\"$.[?(@.area_id=='\" + data.area_id + \"')]\");\n if(!hasGroupInArea){\n val.checked(false);\n } else {\n val.checked(true);\n }\n }\n });\n } else { //不勾选\n $.each(arrSel, function(index, val) {\n if ((val.area_id != data.area_id)){\n temparr.push(val)\n }\n });\n arrSel = [];\n arrSel = temparr;\n my.model.selListMultiArea(arrSel);\n $.each(arrArea,function(index, val) {\n if (val.area_id == data.area_id){\n //全服不勾,留下当前选中的服\n $.each(val.grouplist(), function(index, val) {\n if (val.checked()){\n arrSel.push(val);\n my.model.selListMultiArea(arrSel);\n }\n });\n //只要已选条件里该区的服,对应区就选上\n var hasGroupInArea = jsonpath.parse(my.model.selListMultiArea(),\"$.[?(@.area_id=='\" + data.area_id + \"')]\");\n if(!hasGroupInArea){\n val.checked(false);\n } else {\n val.checked(true);\n }\n }\n });\n }\n return true;\n },\n removeSelListMulti:function(data){ //已选条件删除\n var arrSel = my.model.selListMultiArea();\n var arrArea = my.model.areaListMulti();\n //删除当前项\n $.each(arrSel, function(index, val) {\n if (val.area_id == data.area_id && val.group_id == data.group_id){\n arrSel.splice(index,1);\n return false;\n }\n });\n my.model.selListMultiArea(arrSel);\n $.each(arrArea, function(index, val) {\n if (val.area_id == data.area_id){\n if (data.group_id){ //删除的是单个服\n $.each(val.grouplist(), function(index, val) {\n if (val.group_id == data.group_id){\n val.checked(false);\n }\n });\n } else { //删除的是全区\n $.each(val.grouplist(), function(index, val) {\n val.checked(false);\n });\n }\n //同步区勾选状态\n var hasGroupInArea = jsonpath.parse(my.model.selListMultiArea(),\"$.[?(@.area_id=='\" + data.area_id + \"')]\");\n if(!hasGroupInArea){ //区下没有已选,去掉勾\n val.checked(false);\n } else { //区下至少有一个已选,勾上\n val.checked(true);\n }\n }\n });\n },\n\n multiSelLev1:function(data,list1,parentid){ //多选区文字点击\n $.each(list1,function(index, el) {\n el.isCurrent(false);\n });\n data.isCurrent(true);\n },\n multiSelLev1Checkbox:function(data,list1,parentid){ //多选区checkbox点击\n var arrSel = my.model.selListMultiLev();\n var arrArea = list1;\n var temparr = [];\n $.each(arrArea,function(index, el) {\n el.isCurrent(false);\n });\n\n data.isCurrent(true);\n\n if (data.checked()){ //勾选\n //一级下二级都勾上\n $.each(arrArea, function(index, val) {\n if (val.area_id == data.area_id){\n $.each(val.grouplist(), function(index, val) {\n val.checked(true);\n val.section_id = parentid;\n //已选显示这个一级下面所有二级\n arrSel.push(val);\n });\n }\n });\n my.model.selListMultiLev(arrSel);\n } else { //不勾选\n //区下服都去掉勾\n $.each(arrArea, function(index, val) {\n if (val.area_id == data.area_id){\n $.each(val.grouplist(), function(index, val) {\n val.checked(false);\n });\n }\n });\n //已选里去掉这个区的\n $.each(arrSel, function(index, val) {\n if ((val.area_id != data.area_id)){\n temparr.push(val)\n }\n });\n arrSel = [];\n arrSel = temparr;\n my.model.selListMultiLev(arrSel);\n }\n return true;\n },\n multiSelLev2:function(data,list1,parentid,lev){//多选区二级点击\n var arrSel = my.model.selListMultiLev();\n var arrArea = list1;\n var obj = {\n area_id:data.area_id,\n area_name:data.area_name,\n group_id:data.group_id,\n group_name:data.group_name,\n section_id:parentid\n }\n\n var temparr = [];\n if (data.checked()){ //勾选\n arrSel.push(obj);\n my.model.selListMultiLev(arrSel);\n $.each(arrArea,function(index, val) {\n if (val.area_id == data.area_id){\n //只要已选条件里该区的服,对应区就选上\n var hasGroupInArea = jsonpath.parse(my.model.selListMultiLev(),\"$.[?(@.area_id=='\" + data.area_id + \"')]\");\n if(!hasGroupInArea){\n val.checked(false);\n } else {\n val.checked(true);\n }\n }\n });\n }\n else { //不勾选\n //已选里去掉当前选项\n $.each(arrSel, function(index, val) {\n if ( ((val.area_id == data.area_id) && (val.group_id != data.group_id)) || (val.area_id != data.area_id) ){\n temparr.push(val)\n }\n });\n arrSel = [];\n arrSel = temparr;\n my.model.selListMultiLev(arrSel);\n $.each(arrArea,function(index, val) {\n if (val.area_id == data.area_id){\n //只要已选条件里该区的服,对应区就选上\n var hasGroupInArea = jsonpath.parse(my.model.selListMultiLev(),\"$.[?(@.area_id=='\" + data.area_id + \"')]\");\n if(!hasGroupInArea){\n val.checked(false);\n } else {\n val.checked(true);\n }\n }\n });\n }\n return true;\n },\n removeSelListMultiLev:function(data,list1,lev){ //已选条件删除\n var arrSel = my.model.selListMultiLev();\n var arrArea = list1;\n //删除当前项\n $.each(arrSel, function(index, val) {\n if (val.area_id == data.area_id && val.group_id == data.group_id){\n arrSel.splice(index,1);\n return false;\n }\n });\n my.model.selListMultiLev(arrSel);\n $.each(arrArea, function(index, val) {\n if (val.area_id == data.area_id){\n if (lev != 'lev1'){ //有二级选项\n $.each(val.grouplist(), function(index, val) {\n if (val.group_id == data.group_id){\n val.checked(false);\n }\n });\n } else { //只有一级选项\n //同步区勾选状态\n var hasGroupInArea = jsonpath.parse(my.model.selListMultiLev(),\"$.[?(@.area_id=='\" + data.area_id + \"')]\");\n if(!hasGroupInArea){ //区下没有已选,去掉勾\n val.checked(false);\n } else { //区下至少有一个已选,勾上\n val.checked(true);\n }\n }\n }\n });\n },\n multiConfirmArea:function(data){ //区服多选确认\n var arrSel = my.model.selListMultiArea();//多选已选\n var arr = [];\n if (arrSel.length > 0){\n $.each(arrSel,function(index, val) {\n var flag = 0;\n my.model.getAreaGroupsParam(val.area_id,val.group_id);\n\n if (!val.group_id){ //只选了区\n arr.push({ //加区\n area_id:val.area_id,\n area_name:val.area_name\n });\n my.model.groupName(val.area_name);\n } else { //选了服\n $.each(arr, function(index, el) {\n if ((el.area_id == val.area_id) && (!el.group_id)){\n flag = 1; //arr里已加过这个服的区\n }\n });\n if (!flag){ //arr里还没加过这个服的区\n arr.push({ //加区\n area_id:val.area_id,\n area_name:val.area_name\n });\n arr.push(val); //加服\n my.model.groupName(val.group_name);\n } else { //arr里已加过这个服的区\n arr.push(val); //加服\n my.model.groupName(val.group_name);\n }\n }\n\n\n\n });\n my.model.getGoodsList();\n my.model.selectedFilterArea(arr); //顶部已选\n $('.row[data-id=' + data.id + ']').hide();\n }\n },\n multiConfirm:function(multiPropertyList){ //其他多选确认\n var id = multiPropertyList.id;\n var title = multiPropertyList.text;\n var arrSel = my.model.selListMultiLev();\n //arrSel格式为\n //{\n // section_id:sex,\n // area_id:'man',\n // area_name:'男',\n // group_id:0,\n // group_name:''\n // },{\n // section_id:sex,\n // area_id:'woman',\n // area_name:'女',\n // group_id:0,\n // group_name:''\n // }\n // 转成 {section_id:\"sex\",param:[{text:'男',value:'man'},{text:'女',value:'woman'}]}\n\n var obj = {\n section_id:'',\n param:[]\n }\n\n\n $.each(arrSel,function(index, val1) {\n if (val1.section_id == id){ //找出当前操作的行数据\n if (val1.group_name){ //有二级\n obj['section_id'] = val1.section_id;\n obj['param'].push({\n text:val1.group_name,\n value:val1.group_id\n });\n } else {\n obj['section_id'] = val1.section_id;\n obj['param'].push({\n text:val1.area_name,\n value:val1.area_id\n });\n }\n }\n });\n my.model.setTempleteParams(obj.section_id,obj.param,title);\n },\n getGoodsList:function(obj){ //获取商品\n if (my.model.gameId() == 4 && my.model.goodsTypes() == 9){ //热血传奇元宝汇率不一样,先跳到通用点券\n my.pageInf.gotoMatchTrade(791000218,90000);\n }\n\n var self = this;\n var params = {}\n //params.order_type = 'update_time';\n params.keyword = decodeURIComponent(my.model.keyword()); //search.js已经编码一次了,ajax会再编码给一次,编码两次中文就搜索不出\n // if (!params.keyword) { //有关键字就默认排序,不能按最新排序\n // params.order_type = 'modify_time'; //擦亮只更新modify_time,编辑,下架,上架商品会更新modify_time和update_time\n // params.order_dir = 'd';\n // }\n $.each(my.model.orderParams(),function(index, el) {\n params[index] = el;\n });\n if (!$.isEmptyObject(my.model.templeteParams())){\n if(!my.model.minPrice() && !my.model.maxPrice()){\n my.model.templeteParams()['total_price'] && delete my.model.templeteParams()['total_price']\n }\n var searchProperties = JSON.stringify(my.model.templeteParams());\n //searchProperties = searchProperties.replace(/\"/g,'\\\"');\n params.searchProperties = searchProperties;\n }\n //params.searchProperties = JSON.stringify(my.model.templeteParams());\n params.goods_types = my.model.goodsTypes() || my.model.goodsTypesAll();\n if (!my.model.templeteParams().sell_type){ //没有选择出售模式,就查寄售+担保\n if (params.goods_types == 1) {\n params.goods_types = \"1,31\";\n } else if (params.goods_types == 5) {\n params.goods_types = \"5,35\";\n }\n }\n // 如果走的是‘出售模式’的筛选条件,那么就把筛选的goodstype赋值给goods_types当做参数\n if(obj && obj.goods_types){\n params.goods_types=obj.goods_types;\n }\n if (typeof params.goods_types === 'number'){ //goods_types 如果是int,转string\n params.goods_types = params.goods_types.toString()\n }\n params.game_id = my.model.gameId();\n //params.keyword = my.model.keyword();\n if (my.model.areaIdGroups().length > 0){\n params.area_id_groups = JSON.stringify(my.model.areaIdGroups());\n }\n // 如果是库存交易那么增加这个字段\n var is_support_stock = my.model.is_support_stock()\n if (is_support_stock == 1){\n var transaction_mode = my.model.transaction_mode()\n params.transaction_mode = transaction_mode\n }\n params.page = obj && obj.page || 1;\n params.limit = 15;\n if(my.model.isMobile()){\n params.game_app_os = my.model.game_app_os();\n params.game_operator_id = my.model.operator_id();\n if (my.model.is_snda_game() == 1){//盛趣内部手游不传渠道\n params.game_operator_id = -1;\n }\n }\n if(my.model.tradeMode()!==''){\n params.trade_mode = my.model.tradeMode()\n }\n\n var sateTypeList = my.model.sateTypeList();\n params.safe_type = sateTypeList.join() ;\n\n my.model.curItemType() && (params.item_type = my.model.curItemType());\n // if(params.searchProperties){\n // var bzSearchs = JSON.parse(params.searchProperties);\n // if(bzSearchs.safe_type){\n // params.safe_type = JSON.parse(JSON.parse(params.searchProperties).safe_type).join() ;\n // }\n // }\n\n /* new search start */\n // params.search_id = document.querySelector('#search_id').innerHTML;\n /* new search end */\n\n\n // $.ajax( \"/gatew/gmmGoodsGW/goodsListV2\",{\n $.ajax( api.jsTrade.goodList,{\n data:params,\n success: function(response){\n var data = response.data;\n\n if (response.return_code === 0) {\n list_data.myList.parse(response,my.model);\n $(\"#goods-list-ajax\").show();\n $(\"#goods-list-jsp\").hide();\n if (my.model.goodsList().length == 0){\n $(\"#page-ajax\").hide();\n } else {\n $(\"#page-ajax\").show();\n }\n\n /* new search start */\n // if (document.querySelector('#search_id')) document.querySelector('#search_id').innerHTML = data.search_id;\n /* new search end */\n } else {\n galert(response.return_message);\n }\n\n }\n });\n try{\n _vds.push(['setPageGroup', 'ProductListPage']);\n _vds.push(['setPS1', params.game_id]);\n _vds.push(['setPS2', params.goods_types]);\n _vds.trackPV();\n }catch(ex) {\n }\n },\n gotoDetail:function(book_id){\n my.pageInf.gotoGoodsDetail(book_id);\n },\n\n\n showDetail:function(divHtmlTxt,el){\n var html = \"\";\n var arr = divHtmlTxt;\n var left = $(el).width() + 145;\n var popover = $(el).parent().parent().siblings('.poplist');\n $.each(arr,function(index, el) {\n for (var key in el){\n html += '
' + key + ':' + el[key] + '
';\n }\n });\n var contentHtml = \"购买下列任意区服的商品都可在当前选择的区服中收到:
\"\n + html+\n \"