{"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,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\"),\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 = \"
\" + html+ \"
\";\n $(el).closest('.media-list').find('.popover').hide();\n popover.find('.popover-content').html(contentHtml);\n popover.css('left', left).show();\n },\n\n\n showArea:function(divHtmlTxt,el){\n var html = \"\";\n $(el).closest('.media-list').find('.popover').hide();\n var obj = JSON.parse(divHtmlTxt);\n var allLength = obj.length-1;\n var left = $(el).width() + 40;\n var top = el.offset().top- el.parents(\".guarante\").offset().top - 30;\n var popover = $(el).parent().siblings('.popTips');\n var temp=[];\n $.each(obj,function(index, el) {\n temp.push(el.group_name);\n });\n html = temp.join('/');\n var contentHtml =\n \"
\"\n +\"

购买下列任意区服的商品都可在当前选择的区服中收到:

\"\n + html+\n \"
\";\n\n popover.find('.popover-content').html(contentHtml);\n popover.css( {'left':left,'top':top}).show();\n },\n\n\n ishowmap:function(data,e){\n var t= e.currentTarget;\n var nowtetx = $(t).find(\"span\").html();\n if(nowtetx==\"收缩\"){\n my.model.showmap(\"展开比价图\");\n my.model.imgmap(\"data:image/png;base64,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\");\n $(\".ishowmap\").siblings().hide();\n }else if(nowtetx==\"展开比价图\"){\n my.model.showmap(\"收缩\");\n my.model.imgmap(\"data:image/png;base64,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\");\n $(\".gameinfo\").siblings().show();\n }\n },\n\n keyuPrice:function(data,e){\n var t= e.currentTarget;\n var nowPrice = $(t);\n strhelp.checkPrice(nowPrice);\n },\n /**\n * 获取商品详情\n * @param {object} data [商品列表信息 ]\n * @param {object} el [商品列表dom元素]\n * @param {string} type [保障类型]\n * @param {Function} callback [回调函数]\n * @return {[type]} [description]\n */\n getDetail:function(data,el,type,callback){\n var self = this;\n var url = \"\";\n // var params = {\n // 'book_id':data.book_id\n // };\n var isCommonGoods = game.isCommonGoods(my.model.gameId(),data.goods_type);\n var params = {\n params: JSON.stringify({\n 'book_id':data.book_id\n })\n \n };\n if (data.goods_type == 10 || data.goods_type == 12){\n //url = \"/gmmweb/GoodsGW/accountGoodsDetail\";\n url = \"/gmminf/accountapi/goods?method=GetGoodsStatus\";\n } else if (data.goods_type == 1){\n //url = \"/gmmweb/GoodsGW/consignGoodsDetail\";\n url = \"/gmminf/tradeapi/goods?method=GetGoodsStatus\";\n } else if (data.goods_type == 5){\n //url = \"/gmmweb/GoodsGW/coinGoodsDetail\";\n url = \"/gmminf/tradeapi/goods?method=GetGoodsStatus\";\n } else if (data.goods_type == 2){\n url = \"/gatew/consignapi/goods/getgoodsstatus\";\n } else if (isCommonGoods){\n url = \"/gatew/commonapi/goods/commonGoodsInfo\"\n }else if(data.goods_type == 31 || data.goods_type == 35){\n url = api.security.queryDetail;\n params = {\n bookId: data.book_id\n };\n }\n $.ajax( url,{\n data:params,\n noNeedBlock:true,\n success: function(response){\n var data = response.data;\n var p_tips = data.p_tips || data.pDetail;\n if (response.return_code === 0) {\n list_data.goodsDetail.parse(response,my.model);\n var goods_main_detail=\"\";\n var gameId = my.model.gameId();\n if (data.goods_type == 2 ){\n goods_main_detail = my.model.p_tips();\n }else if (data.goods_type == 5 ){\n // if(gameId==\"791000336\"){\n // var ptips = my.model.p_tips()[0];\n // var tipsarr = [];\n // for ( var key in ptips){\n // if(key==\"物品数量\"){\n // tipsarr.push({\n // \"物品数量\":ptips[key]\n // })\n // }\n // if(key==\"金币数量\"){\n // tipsarr.push({\n // \"金币数量\":ptips[key]\n // })\n // }\n // }\n // goods_main_detail = tipsarr;\n // }else{\n if(gameId==\"791000283\" && type == 'cionArea'){\n var detail = JSON.stringify(response.data);\n my.model.getReceiveAreaList(detail,el);\n }\n // goods_main_detail = my.model.goods_main_detail();\n var ptips = my.model.p_tips()[0];\n var tipsarr = [];\n for ( var key in ptips){\n if(key==\"物品数量\"){\n tipsarr.push({\n \"物品数量\":ptips[key]\n })\n }\n if(key==\"金币数量\"){\n tipsarr.push({\n \"金币数量\":ptips[key]\n })\n }\n if(key==\"深渊票数量\"){\n tipsarr.push({\n \"深渊票数量\":ptips[key]\n })\n }\n }\n goods_main_detail = tipsarr;\n //}\n\n }else if(data.goods_type == 1){\n if(gameId==\"791000283\" && type == 'cionArea'){\n var detail = JSON.stringify(response.data);\n my.model.getReceiveAreaList(detail,el);\n }\n // goods_main_detail = my.model.goods_main_detail();\n goods_main_detail = my.model.convertPtips(p_tips);\n }else if(data.goodsType == 31 || data.goodsType == 35){\n var pDetail=response.data.pDetail;\n var pTips=[{}];\n for(var key=0;key 0){\n // $.each(sortAreaList,function(index,item){\n // item.hotArea = '0';\n // })\n $.each(hotAreaList.reverse(),function(key,value){\n $.each(sortAreaList,function(index,item){\n if(item.area_id == value){\n item.hotArea = '1';\n sortAreaList.unshift(item);\n sortAreaList.splice(index + 1,1);\n }\n })\n })\n }\n my.model.areaList(sortAreaList);\n my.model.areaFilterList(sortAreaList || []);\n my.model.areaListMulti(my.model.transAreaList(sortAreaList));\n // console.log(sortAreaList);\n cb && cb();\n } else {\n my.model.areaList([]);\n }\n } else {\n galert(response.return_message);\n }\n }\n });\n },\n // 是否显示模版展示更多按钮\n showListMore:function(type){\n // 如果有type查区/服不走初始化全部的逻辑,只查询固定的元素高度\n if(type){\n var item = $('.filter .col-md-12 > .row[data-id='+ type + ']')[0];\n if($(item).find(\".filter-type\").height() > $(item).height()){\n $(item).find(\".more\").show();\n }else{\n $(item).find(\".more\").hide();\n }\n }else{//初始化遍历全部元素设置更多是否显示\n //区服超过两行显示更多按钮,其他超过一行才会显示更多按钮\n $.each($('.filter .col-md-12 > .row'),function(index,item){\n if($(item).find(\".filter-type\").height() > $(item).height()){\n $(item).find(\".more\").show();\n }else{\n $(item).find(\".more\").hide();\n }\n })\n }\n },\n //设置顶部搜索\n setTopfilterSearch : function(obj,type){\n // type 分别是 gameName goodsType area group\n if( type == 'gameName'){\n // 游戏需要先点击字符分组\n var game_name_spy = game.getGameByGameId(obj.game_id).game_name_spy.slice(0,1).toUpperCase();\n setTimeout(function(){\n $(\".dropdown-menu.gamename .sort a[title=\" + game_name_spy + \"]\" ).click();\n $(\".dropdown-menu.gamename .section li[title=\" + obj.game_name + \"] a\").click();\n },1000)\n }else if( type == 'goodsType'){\n setTimeout(function(){\n $(\".dropdown-menu.type .section li[title=\" + obj.goods_types_name + \"] a\").click();\n },1000)\n }else if( type == 'area'){\n setTimeout(function(){\n // $(\".dropdown-menu.zone .section li[title=\" + obj.area_name + \"] a\").click();\n $(\".dropdown-menu.zone .section a[data-key=\" + obj.area_id + \"]\").click();\n },1000)\n }else if( type == 'group'){\n setTimeout(function(){\n $(\".dropdown-menu.server .section li[title=\" + obj.group_name + \"] a\").click();\n },1100)\n }else if( type == 'keyword'){\n setTimeout(function(){\n $(\".menu .search .form-inline .form-group .form-control\").val(my.model.keyword());\n },1000)\n }else if( type == 'race'){\n setTimeout(function(){\n $(\".dropdown-menu.race .section li[title=\" + obj.race_name + \"] a\").click();\n },1100)\n }\n },\n getGroupList:function(area_id,cb){ //查服\n var params = {\n game_id:my.model.gameId(),\n area_id:area_id,\n type:\"group\",\n count:1000\n };\n // $.ajax( \"/gmmweb/CfgGW/getGameAreaGroupList\",{\n $.ajax( \"/gatew/CfgGW/getGameAreaGroupList\",{ \n data:params,\n success: function(response){\n var data = response.data;\n if (response.return_code === 0){\n if(response.data || response.data.groupList){\n my.model.groupList(response.data.groupList || []);\n my.model.groupFilterList(response.data.groupList || []);\n my.model.transGroupList(response.data.groupList,area_id);\n my.model.showListMore('group');\n cb && cb();\n } else {\n my.model.groupList([]);\n }\n } else {\n galert(response.return_message);\n }\n }\n });\n },\n selGoodsType:function(obj){ //选商品类型\n my.model.curGoodsType(obj.goods_types_name);\n var isCommonGoods = game.isCommonGoods(my.model.gameId(), obj.goods_types);\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 // 只有在库存列表里面的时候才显示库存排序\n var is_support_stock = my.model.is_support_stock()\n if (obj.goods_types == 5 && is_support_stock == 1){\n $('#inventory_tabs').css('display', 'flex');\n if (my.model.dnfCoinListShow() == 1){\n my.model.transaction_mode(10);\n $('#inventory_sort').css('display', 'block');\n $('#total_price_sort').css('display', 'none');\n $(\"#inventory_tabs button[data-type='stock']\").addClass('active').siblings().removeClass('active');\n } else if (my.model.dnfCoinListShow() == 0){\n my.model.transaction_mode(0);\n $('#inventory_sort').css('display', 'none');\n $('#total_price_sort').css('display', 'block');\n $(\"#inventory_tabs button[data-type='pack']\").addClass('active').siblings().removeClass('active');\n }\n } else if (isCommonGoods) {\n $('#inventory_sort').css('display', 'none');\n $('#price_sort').css('display', 'block');\n $('#total_price_sort').css('display', 'none');\n } else{\n my.model.transaction_mode(0)\n $('#inventory_tabs').css('display', 'none');\n $('#inventory_sort').css('display', 'none');\n $('#total_price_sort').css('display', 'block');\n }\n my.model.resetSort();\n //my.model.getGoodsList(); //首屏jsp渲染\n if (obj.goods_types != 'all'){\n my.model.getTemplate();\n }\n\n var goodType = obj.goods_types;\n var tradeMode = obj.trade_mode;\n var game_id = my.model.gameId();\n\n if(goodType == '5' && ( tradeMode < 50 || !tradeMode)){\n my.model.getChartConfig(my.model.getBijiaOrigin());\n }else{\n $(\".page-goods-list .goldcharts\").hide();\n }\n var is_snda_game = my.model.is_snda_game();\n if(obj.goods_types == 5 || obj.goods_types == 1 || obj.goods_types == 35 || obj.goods_types == 31){\n if(is_snda_game === 1){\n my.model.is_support_baoz(true);\n my.model.is_support_list(false);//装备金币也显示保障类型和jsp一致\n }else if(is_snda_game === 0) {\n my.model.is_support_baoz(false);\n my.model.is_support_list(false);\n }\n }else if(obj.goods_types == 2 ){\n my.model.is_support_baoz(true);\n my.model.is_support_list(false);\n }else{\n if(is_snda_game==1) {\n my.model.is_support_baoz(true);\n my.model.is_support_list(false);\n }else{\n my.model.is_support_baoz(false);\n my.model.is_support_list(true);\n }\n }\n\n },\n switchListType:function(type){\n my.model.transaction_mode(type)\n if (type == 10){\n $('#inventory_sort').css('display', 'block');\n $('#total_price_sort').css('display', 'none');\n }else{\n $('#inventory_sort').css('display', 'none');\n $('#total_price_sort').css('display', 'block');\n }\n my.model.getTemplate()\n my.model.getGoodsList({});\n },\n clearGoodsType:function(){ //清除商品类型\n var url = strhelp.getGoodsListUrl(my.model.gameId());\n window.location.href = url + '?keyword=' + my.model.keyword() + \"&areaId=\" + my.model.areaId() + \"&groupId=\" + my.model.groupId() + \"&gameOs=\" + my.model.game_app_os() + \"&operatorId=\" + my.model.operator_id();;\n $('.row[data-type=templete]').hide();\n },\n clearAllFilter: function() {\n var url = strhelp.getGoodsListUrl(my.model.gameId());\n window.location.href = url;\n my.model.sateTypeList([]);\n my.model.curGoodsType('');\n my.model.goodsTypes(my.model.goodsTypesAll());\n my.model.tradeMode('');\n my.model.game_app_os('');\n my.model.game_app_os_name('');\n my.model.operator_id('');\n my.model.operator_name('');\n my.model.selectedFilter([]);//选择\n my.model.templeteParams({});//模板参数\n //my.model.areaName('');\n my.model.groupName('');\n my.model.selectedFilterArea([]);//区服\n my.model.areaIdGroups([])//区服参数\n my.model.resetSort();\n my.model.curItemType('');\n my.model.curItemTypeName('');\n my.model.getGoodsList();\n $('.row[data-type=templete]').hide();\n if(my.model.showGoldCharts()){\n my.model.chart_area_name('');\n my.model.chart_group_name('');\n my.model.getchart();\n }\n $(\".page-goods-list .goldcharts\").hide();\n $('#inventory_tabs').css('display', 'none');\n $('#inventory_sort').css('display', 'none');\n $('#total_price_sort').css('display', 'block');\n },\n clearGameOs:function(){ //清除操作系统\n my.model.game_app_os('');\n my.model.game_app_os_name('');\n my.model.operator_id('');\n my.model.operator_name('');\n my.model.areaId('');\n my.model.groupId('');\n my.model.selectedFilter([]);//选择\n my.model.templeteParams({});//模板参数\n my.model.groupName('');\n my.model.selectedFilterArea([]);//区服\n my.model.areaIdGroups([])//区服参数\n my.model.getGoodsList();\n $('.row[data-type=templete]').hide();\n },\n clearGameOperator:function(){ //清除渠道\n my.model.operator_id('');\n my.model.operator_name('');\n my.model.areaId('');\n my.model.groupId('');\n my.model.selectedFilter([]);//选择\n my.model.templeteParams({});//模板参数\n my.model.groupName('');\n my.model.selectedFilterArea([]);//区服\n my.model.areaIdGroups([])//区服参数\n my.model.getGoodsList();\n $('.row[data-type=templete]').hide();\n },\n getAreaGroupsParam:function(area_id,group_id){ //转成区服参数\n var area_groups = my.model.areaIdGroups();//接口参数aera_id_groups\n var areaGroupsObj = {};\n var flag = 0; //区服参数里否已有这个区\n var flag2 = 0; //区服参数里否已有这个区服\n areaGroupsObj = {\n area_id:area_id\n }\n $.each(area_groups, function(index, val) {\n if (val['area_id'] == area_id){ //区服参数里已有这个区\n if (val['groups']){\n $.each(val['groups'], function(index, el) {\n if (el == group_id){//区服参数里已有这个区服\n flag2 = 1;\n }\n });\n if (!flag2){\n group_id && val['groups'].push(group_id);\n }\n } else {\n val['groups'] = [];\n group_id && val['groups'].push(group_id);\n }\n flag = 1;\n }\n });\n if (!flag){\n if (group_id){\n areaGroupsObj['groups'] = [];\n areaGroupsObj['groups'].push(group_id);\n }\n area_groups.push(areaGroupsObj);\n }\n my.model.areaIdGroups(area_groups);\n },\n clearAreaGroupsParam:function(area_id,group_id){ //清除区服参数\n var area_groups = my.model.areaIdGroups();//接口参数aera_id_groups\n $.each(area_groups, function(index, val) {\n if (val['area_id'] == area_id){ //区服参数里已有这个区\n if (!group_id){\n area_groups.splice(index,1);\n return false;\n } else {\n val['groups'].splice($.inArray(group_id,val['groups']),1);\n if (val['groups'].length === 0){\n delete val['groups'];\n }\n }\n }\n });\n my.model.areaIdGroups(area_groups);\n },\n selGameOs:function(obj){ //选操作系统\n my.model.game_app_os(obj.game_app_os);\n my.model.game_app_os_name(obj.game_app_os_name);\n if (!my.model.operator_id()){\n my.model.getGameOperator(obj.game_app_os);\n my.model.getGoodsList();\n }\n },\n selGameOperator:function(obj){ //选渠道\n my.model.operator_id(obj.operator_id);\n my.model.operator_name(obj.operator_name);\n if (!my.model.areaId()){\n my.model.getMobileGameArea(obj.operator_id);\n my.model.getGoodsList();\n }\n },\n selArea:function(obj,fromUrl){ //选区\n // console.log(obj);\n my.model.areaName(obj.area_name)\n if (my.model.isMobile()){\n my.model.getAreaGroupsParam(obj.area_id);\n //my.model.areaName(obj.area_name);\n my.model.areaId(obj.area_id);\n if (!fromUrl) { //jsp首屏列表不调用ajax\n my.model.getGoodsList();\n }\n //my.model.getMobileGameGroup(obj.area_id);\n var areaList = my.model.areaListMulti();\n var data;\n $.each(areaList,function(index, el) {\n if (el.area_id == obj.area_id){\n data = el;\n }\n });\n //my.model.multiSelArea(data);\n var arr = []\n arr.push({\n area_id:obj.area_id,\n area_name:obj.area_name,\n tag:'single'\n });\n my.model.selectedFilterArea(arr);\n } else {\n my.model.getAreaGroupsParam(obj.area_id);\n //my.model.areaName(obj.area_name);\n my.model.areaId(obj.area_id);\n if (!fromUrl) { //jsp首屏列表不调用ajax\n my.model.getGoodsList();\n }\n my.model.getGroupList(obj.area_id);\n var areaList = my.model.areaListMulti();\n var data;\n $.each(areaList,function(index, el) {\n if (el.area_id == obj.area_id){\n data = el;\n }\n });\n my.model.multiSelArea(data);\n var arr = []\n arr.push({\n area_id:obj.area_id,\n area_name:obj.area_name,\n tag:'single'\n });\n my.model.selectedFilterArea(arr);\n }\n },\n clearAreaGroups:function(data){\n if(my.model.showGoldCharts()) {\n my.model.chart_area_name('');\n my.model.chart_group_name('');\n my.model.getchart();\n }\n var selArea = my.model.selectedFilterArea(); //顶部已选\n var arrSel = my.model.selListMultiArea(); //多选已选\n var arrArea = my.model.areaListMulti(); //多选数据模型\n var tempSelArea = [];\n var tempArrSel = [];\n var arrArea2 = [];//区数组\n $.each(selArea, function(index, val) {\n if (!val.group_id){\n arrArea2.push(val);\n }\n });\n function arr_del(arr,d){\n return arr.slice(0,d-1).concat(arr.slice(d));\n }\n //删除参数和顶部已选模型\n if (data.group_id){ //服\n if (data.tag == 'single') { //单选\n my.model.groupName('');\n my.model.groupId('');//清除model中的id,如果不清除那么切换商品类型URL会带历史选中的区服\n }\n $.each(selArea, function(index, val) {\n if ((val['area_id'] == data.area_id) && (val['group_id'] == data.group_id)){\n my.model.clearAreaGroupsParam(data.area_id,data.group_id);\n selArea = arr_del(selArea,index+1);\n // 判断多选删除之后是否显示服\n var count = 0;\n $.each(selArea,function(index,item){\n if(item.group_id){\n count++;\n }\n })\n // 如果多选删除之后没有服,那么就把服显示出来\n if(count==0){\n my.model.groupName('');\n }\n }\n });\n my.model.selectedFilterArea(selArea);\n } else { //区\n if (arrArea2.length == 1) { //单选\n //my.model.areaName('');\n my.model.groupName('');\n my.model.areaId('');//清除model中的id,如果不清除那么切换商品类型URL会带历史选中的区服\n my.model.groupId('');//清除model中的id,如果不清除那么切换商品类型URL会带历史选中的区服\n }\n $.each(selArea, function(index, val) {\n if (val['area_id'] != data.area_id){\n tempSelArea.push(val);\n }\n });\n my.model.selectedFilterArea(tempSelArea);\n my.model.clearAreaGroupsParam(data.area_id);\n }\n\n //删除多选,多选已选模型里对应数据\n $.each(arrArea,function(index, val) {\n if (val.area_id == data.area_id){\n val.checked(false);\n $.each(val.grouplist(),function(index, el) {\n el.checked(false);\n });\n }\n });\n my.model.areaListMulti(arrArea);\n $.each(arrSel, function(index, val) {\n if (val.area_id != data.area_id){\n tempArrSel.push(val);\n }\n });\n my.model.selListMultiArea(tempArrSel);\n\n //已选没有区,显示区行\n if (my.model.selectedFilterArea().length === 0){\n $('.row[data-id=area]').show();\n $('.row[data-id=group]').hide();\n }\n my.model.showJbMallList(false);//隐藏金币商城列表\n my.model.showShMallList(false);//隐藏收货商城列表\n if(my.model.goodsTypes() == 5 || my.model.goodsTypes() == 35){//如果是金币那么会自动点击综合排序无需请求列表\n my.model.setJbListSort('sort-zh');\n }else{\n my.model.getGoodsList();\n }\n // 去掉互通标识\n },\n filterArea:function(){ //区服过滤\n if (my.model.areaKey()){\n var c = jsonpath.parse(my.model.areaList(),\"$.[?(/\" + my.model.areaKey() + \"/.test(@.area_name))]\");\n my.model.areaFilterList(c || []);\n } else {\n my.model.areaFilterList(my.model.areaList());\n }\n },\n selGroup:function(obj,data,fromUrl){ //选服\n if (my.model.showGoldCharts()){\n my.model.chart_area_name(obj.area_name);\n my.model.chart_group_name(obj.group_name);\n my.model.getchart();\n }\n my.model.getAreaGroupsParam(my.model.areaId(),obj.group_id);\n my.model.groupName(obj.group_name);\n my.model.groupId(obj.group_id);\n // 金币商城start\n var isPrace = false;// 判断模版中是否有种族\n var isSelectPrace = false; //判断当前选中是否有种族\n $.each(my.model.propertyList(),function(index,item){\n if(item.id == 'p_race' || item.id == 'camp'){\n isPrace = true;//有种族\n }\n })\n //没有种族就直接调金币商城的方法\n if(!isPrace && (my.model.goodsTypes() == 5 || my.model.goodsTypes() == 35)){\n my.model.getRecJbMallList(obj);\n my.model.getRecShMallList(obj);\n }else if(isPrace){// 如果有种族就判断当前选中的是否已经包含了种族\n var selectedFilter = my.model.selectedFilter();\n $.each(selectedFilter,function(index,item){\n if((item.id == 'p_race' || item.id == 'camp') && (my.model.goodsTypes() == 5 || my.model.goodsTypes() == 35)){\n obj.p_race = item.value;\n isSelectPrace = true;\n my.model.getRecJbMallList(obj);\n my.model.getRecShMallList(obj);\n }\n })\n }\n // 金币商城end\n if (!fromUrl) { //jsp首屏列表不调用ajax\n if(my.model.goodsTypes() == 5 || my.model.goodsTypes() == 35){\n if((isPrace && isSelectPrace) || !isPrace){//有种族并且选择了种族 || 没有种族,就按照比例排序请求列表\n my.model.setJbListSort('sort-bl');\n }else{//否则就直接请求列表\n my.model.getGoodsList();\n }\n }else{//账号装备直接请求列表\n my.model.getGoodsList();\n }\n }else{\n if(my.model.goodsTypes() == 5 || my.model.goodsTypes() == 35){\n if((isPrace && isSelectPrace) || !isPrace){//有种族并且选择了种族 || 没有种族,就按照比例排序请求列表\n my.model.setJbListSort('sort-bl');\n }\n }\n }\n var selArea = my.model.selectedFilterArea(); //顶部已选\n var arr = []\n selArea.push({\n area_id:obj.area_id,\n area_name:obj.area_name,\n group_id:obj.group_id,\n group_name:obj.group_name,\n tag:'single'\n });\n my.model.selectedFilterArea(selArea);\n // 装备游戏币选择服之后添加互通标识,由商品列表接口返回标记is_transareagroup,这里不用了\n // if (my.model.goodsTypes() == 1 || my.model.goodsTypes() == 31 || my.model.goodsTypes() == 5 || my.model.goodsTypes() == 35) {\n // my.model.queryTransregionallAreaGroup();\n // }\n },\n selRace:function(obj){ //选操作系统\n my.model.raceId(obj.race_id);\n my.model.setTempleteParams(my.model.raceKey(),[{text: obj.race_name,value: obj.race_id}],my.model.raceText())\n $(\".racelist\").hide();\n },\n getRecJbMallList:function(obj){\n my.model.getGameQueryConfig(2);//查游戏是否支持填写小数\n var query_params={\n 'pageNo': 1,\n 'pageSize': 15,\n 'pRace': obj.p_race || '',\n 'gameId': my.model.gameId(),\n 'areaId': obj.area_id,\n 'groupId':obj.group_id\n }\n $.ajax({\n url: api.jbMall.list,\n data: query_params,\n success: function (response) {\n if (response.return_code == 0) {\n my.model.showJbMallList(true);\n var data = response.data;\n my.model.totalCount(data.totalCount);\n data.records.forEach(function(item,index){\n item.sellType = 'num'; //购买类型\n item.inputContentAmount = ko.observable(item.minAmount); //输入购买数量\n item.inputContentMoney = ko.observable(item.minAmountYuan); //输入购买金额\n var totalAmount = Number(item.minAmountYuan) * Number(item.priceHint);\n var totalPrice = (Math.ceil(Number(item.inputContentAmount())/Number(item.priceHint)*100)/100).toFixed(2);//向上取到分\n item.totalPrice = ko.observable(totalPrice);//计算总价格\n if(my.model.isSupportDecimal()){\n item.totalAmount = ko.observable(totalAmount.toFixed(2));//计算总数量\n }else{\n item.totalAmount = ko.observable(Math.ceil(totalAmount));\n my.model.blurChangeMoney(null,item);//重新计算输入框内的价格\n }\n if(index<3){\n item.rec = 1;//前三个有推荐\n }\n });\n var list = data.records.slice(0,3)\n my.model.recJbMallList(list);\n }else{\n galert(response.return_message);\n }\n },\n error:function(){\n galert(\"您的网络不给力,请检查网络!\");\n },\n })\n },\n getRecShMallList:function(obj){\n my.model.getGameQueryConfig(3);//查游戏是否支持填写小数\n var query_params={\n 'pageNo': 1,\n 'pageSize': 15,\n 'pRace': obj.p_race || '',\n 'gameId': my.model.gameId(),\n 'areaId': obj.area_id,\n 'groupId':obj.group_id\n }\n $.ajax({\n url: api.shMall.list,\n data: query_params,\n success: function (response) {\n if (response.return_code == 0) {\n my.model.showShMallList(true);\n var data = response.data;\n my.model.totalCount(data.totalCount);\n data.records.forEach(function(item,index){\n item.inputContentAmount = ko.observable(item.minBagQty); //输入购买数量\n item.orgIndex = index;\n var deliveryModeDesc = item.deliveryModeDesc.split(\"、\");\n deliveryModeDesc = deliveryModeDesc.map(function(item,index){\n return item.replace(/交易/g,\"\");\n })\n item.deliveryModeDesc = deliveryModeDesc;\n var totalAmount = Number(item.minBagQty);\n var totalPrice = (Math.floor(Number(item.inputContentAmount())*Number(item.eachPrice)*100)/100).toFixed(2);//向上取到分\n item.totalPrice = ko.observable(totalPrice);//计算总价格\n if(my.model.isSupportDecimal()){\n item.totalAmount = ko.observable(totalAmount.toFixed(2));//计算总数量\n }else{\n item.totalAmount = ko.observable(totalAmount);\n my.model.blurChangeMoney(null,item);//重新计算输入框内的价格\n }\n });\n orgList = data.records;\n my.model.initShList(orgList);\n }else{\n galert(response.return_message);\n }\n },\n error:function(){\n galert(\"您的网络不给力,请检查网络!\");\n },\n })\n },\n //获取开通金币商城的游戏\n getMerchantGameList:function(securedType){\n var query_params = {\n openFlag:0,\n securedType:securedType\n };\n $.ajax(api.jbMall.merchantGameList, {\n data: query_params,\n success: function (response) {\n if (response.return_code === 0) {\n var list = response.data;\n if (securedType == 2){ //金币商城\n var openJbMall = list.some(function(game){\n return game.gameId == my.model.gameId();\n })\n my.model.openJbMall(openJbMall);\n } else if (securedType == 3){ //收货商城\n var openShMall = list.some(function(game){\n return game.gameId == my.model.gameId();\n })\n my.model.openShMall(openShMall);\n }\n } else {\n galert(response.return_message);\n }\n },\n error: function () {\n galert(\"网络故障,请稍后再试!\");\n }\n });\n },\n // 切换购买类型\n selectSellType:function(e,type,index,data){\n // var goods = my.model.recJbMallList()[index];\n data.sellType = type;\n // 获取输入框的父元素div\n var elArray = $(e.currentTarget).parent().nextAll();\n elArray.each(function(i,item){\n var sellType = $(item).attr(\"data-sell\");\n //如果当前切换的是对应输入框的父元素那么就显示\n if(sellType == type){\n $(item).siblings().removeClass(\"active\");\n $(item).addClass('active');\n }\n })\n $(e.currentTarget).siblings().removeClass(\"active\");\n $(e.currentTarget).addClass('active');\n },\n getGameQueryConfig:function(securedType){\n var query_params = {\n 'gameId': my.model.gameId(),\n securedType: securedType\n }\n $.ajax({\n url: api.jbMall.queryConfig,\n data: query_params,\n success: function (response) {\n if (response.return_code == 0) {\n var data = response.data;\n my.model.isSupportDecimal(data.hasUnitPoint);\n }else{\n galert(response.return_message);\n }\n },\n error:function(){\n galert(\"您的网络不给力,请检查网络!\");\n },\n })\n },\n changeIptContent:function(e,type,index,data){\n if(type == 'num'){\n if(my.model.isSupportDecimal()){\n var obj = data.inputContentAmount();\n obj = obj.replace(/[^\\d\\.]/g,'');\n obj = obj.replace(/^\\./g,'');\n obj = obj.replace(/\\.{2,}/g,'');\n obj = obj.replace('.','$#$').replace(/\\./g,'').replace('$#$','.');\n obj = obj.replace(/^(\\-)*(\\d+)\\.(\\d\\d).*$/,'$1$2.$3');\n data.inputContentAmount(obj)\n my.model.computePrice(data);\n }else{\n var obj = data.inputContentAmount();\n obj = obj.replace(/[^\\d]/g,'');\n data.inputContentAmount(obj)\n my.model.computePrice(data);\n }\n }else if(type == 'money'){\n var obj = data.inputContentMoney();\n obj = obj.replace(/[^\\d\\.]/g,'');\n obj = obj.replace(/^\\./g,'');\n obj = obj.replace(/\\.{2,}/g,'');\n obj = obj.replace('.','$#$').replace(/\\./g,'').replace('$#$','.');\n obj = obj.replace(/^(\\-)*(\\d+)\\.(\\d\\d).*$/,'$1$2.$3');\n data.inputContentMoney(obj);\n my.model.computeAmount(data);\n }\n },\n blurChangeAmount:function(e,data){\n var buyAmount = '';\n if(Number(data.inputContentAmount()) > Number(data.minAmount)){\n if(my.model.isSupportDecimal()){\n buyAmount = (Math.floor( (Number(data.totalPrice()) * Number(data.priceHint)*100).toFixed(6) )/100).toFixed(2); //再根据向上到分的金额算出数量,如果数量有小数就向下取保留2位小数\n }else{\n buyAmount = Math.floor( (Number(data.totalPrice()) * Number(data.priceHint)).toFixed(6) ); //再根据向上到分的金额算出数量,如果数量有小数就向下取整\n }\n data.inputContentAmount(buyAmount);\n }else{\n data.inputContentAmount(data.minAmount);\n my.model.computePrice(data);\n }\n },\n blurChangeMoney:function(e,data){\n if (data.inputContentMoney){\n if(Number(data.inputContentMoney()) > Number(data.minAmountYuan)){\n var buyPrice = (Math.ceil( (Number(data.totalAmount())/Number(data.priceHint)*100).toFixed(6) )/100).toFixed(2); //再根据取整后的金币数量算出金额,金额向上取到分\n data.inputContentMoney(buyPrice);\n }else{\n data.inputContentMoney(data.minAmountYuan);\n my.model.computeAmount(data);\n }\n }\n },\n changeShIpt:function(e,type,index,data){\n if(my.model.isSupportDecimal()){\n var obj = data.inputContentAmount();\n obj = obj.replace(/[^\\d\\.]/g,'');\n obj = obj.replace(/^\\./g,'');\n obj = obj.replace(/\\.{2,}/g,'');\n obj = obj.replace('.','$#$').replace(/\\./g,'').replace('$#$','.');\n obj = obj.replace(/^(\\-)*(\\d+)\\.(\\d\\d).*$/,'$1$2.$3');\n data.inputContentAmount(obj)\n my.model.computePriceSh(data);\n }else{\n var obj = data.inputContentAmount();\n obj = obj.replace(/[^\\d]/g,'');\n data.inputContentAmount(obj)\n my.model.computePriceSh(data);\n }\n },\n blurShIpt:function(e,data){\n var buyAmount = '';\n if(Number(data.inputContentAmount()) > Number(data.minBagQty)){\n // if(my.model.isSupportDecimal()){\n // buyAmount = (Math.floor( (Number(data.totalPrice()) * Number(data.priceHint)*100).toFixed(6) )/100).toFixed(2); //再根据向上到分的金额算出数量,如果数量有小数就向下取保留2位小数\n // }else{\n // buyAmount = Math.floor( (Number(data.totalPrice()) * Number(data.priceHint)).toFixed(6) ); //再根据向上到分的金额算出数量,如果数量有小数就向下取整\n // }\n // data.inputContentAmount(buyAmount);\n }else{\n data.inputContentAmount(data.minBagQty);\n }\n my.model.computePriceSh(data);\n },\n computePrice:function(data){\n var totalPrice = (Math.ceil( (Number(data.inputContentAmount())/Number(data.priceHint)*100).toFixed(6) )/100).toFixed(2);//向上取到分\n data.totalPrice(totalPrice)\n },\n computeAmount:function(data){\n var amount = '';\n if(my.model.isSupportDecimal()){\n amount = (Math.floor( (Number(data.inputContentMoney()) * Number(data.priceHint)*100).toFixed(6) )/100).toFixed(2); //向下取保留2位小数\n }else{\n amount = Math.floor( (Number(data.inputContentMoney()) * Number(data.priceHint)).toFixed(6) ); //向下取整\n }\n data.totalAmount(amount);\n },\n computePriceSh:function(data){\n //根据输入金币数量算出金额\n var computedMoney = (Math.floor( (Number(data.inputContentAmount())/Number(data.priceHint)*100).toFixed(6) )/100).toFixed(2);//分后面去掉\n data.totalPrice(computedMoney)\n },\n confirmBuyGoods:function(index,data){\n var bookId = data.bookId;\n var amount = '';//输入的购买数量\n var price = '';//输入的购买金额\n var minAmount = data.minAmount;//最小购买数量\n var minAmountYuan = data.minAmountYuan;//最小购买金额\n var goodsType = data.goodsType;\n //专区参数\n var special = strhelp.urlParamName('special');\n var sourceType = strhelp.urlParamName('sourceType');\n if(data.sellType == 'num'){\n if(data.inputContentAmount() >= Number(data.minAmount)){\n amount = data.inputContentAmount();\n window.location.href = \"/pc/goods/consignbuy_jbmall.html?goodsType=\" + goodsType + \"&bookId=\" + bookId + \"&amount=\" + amount + \"&price=\" + price + \"&minAmount=\" + minAmount + \"&minAmountYuan=\" + minAmountYuan + \"&special=\" + special + \"&sourceType=\" + sourceType;\n }else{\n var unitName = data.unitName;\n var text = \"购买数量不能少于\" + minAmount + unitName\n my.model.tipsText(text)\n $('#modal-all-new').modal();\n }\n }else if(data.sellType == 'money'){\n if(data.inputContentMoney() >= Number(data.minAmountYuan)){\n price = data.inputContentMoney();\n window.location.href = \"/pc/goods/consignbuy_jbmall.html?goodsType=\" + goodsType + \"&bookId=\" + bookId + \"&amount=\" + amount + \"&price=\" + price + \"&minAmount=\" + minAmount + \"&minAmountYuan=\" + minAmountYuan + \"&special=\" + special + \"&sourceType=\" + sourceType;\n }else{\n var unitName = data.unitName;\n var text = \"购买金额不能少于\" + minAmountYuan + \"元\"\n my.model.tipsText(text)\n $('#modal-all-new').modal();\n }\n }\n },\n gotoJbMallApply:function(){\n var url = \"/pc/my/jbmall_apply.html\";\n // window.location.href = \"/pc/my/jbmall_apply.html\"\n window.open(url,\"_blank\");\n },\n gotoShMallApply:function(){\n var url = \"/pc/my/jbmall_apply.html?type=3\";\n window.open(url,\"_blank\");\n },\n gotoAllMallList:function(){\n var gameId = my.model.gameId();\n var areaId = my.model.areaId();\n var groupId = my.model.groupId();\n var pRace = JSON.stringify(my.model.pRace());\n var gameName = my.model.gameName();\n var areaName = my.model.areaName();\n var groupName = my.model.groupName();\n window.open(\"/pc/goods/jbmall_list.html?gameId=\" + gameId + \"&areaId=\" + areaId + \"&groupId=\" + groupId + \"&pRace=\" + pRace + \"&gameName=\" + gameName + \"&areaName=\" + areaName + \"&groupName=\" + groupName);\n },\n clearGroup:function(data){ //清除服\n\n my.model.clearAreaGroupsParam(data.area_id,data.group_id);\n\n my.model.groupName('');\n my.model.groupId(0);\n my.model.getGoodsList();\n },\n filterGroup:function(){ //区服过滤\n if (my.model.groupKey()){\n var c = jsonpath.parse(my.model.groupList(),\"$.[?(/\" + my.model.groupKey() + \"/.test(@.group_name))]\");\n my.model.groupFilterList(c);\n } else {\n my.model.groupFilterList(my.model.groupList());\n }\n },\n getTemplate:function(){ //获得搜索模板\n var goods_type = my.model.goodsTypes();\n var game_id = my.model.gameId();\n var query_params=\"\";\n var tempurl=\"\"\n if( game_id==791000336 && goods_type==5){//魔兽世界\n query_params={\n type:3,\n level:0,\n game_id:game_id,\n goods_type:goods_type\n };\n tempurl=\"/gate/frontconfigapi/QueryGameTemplateByLevel\";\n }\n //地下城勇士或配了走新搜索模板的游戏\n else if((game_id== 791000283 && goods_type==2) || game.getGameByGameId(game_id).ext_info.QueryTemplateByLevel == 1 ){\n query_params={\n type:3,\n level:1,\n game_id:game_id,\n goods_type:goods_type,\n action_type:0,\n pre_level_values:''\n };\n tempurl=\"/gate/frontconfigapi/QueryGameTemplateByLevel\";\n }\n else{\n query_params={\n 'goods_type':my.model.goodsTypes() || my.model.goodsTypesAll(),\n 'game_id':my.model.gameId()\n };\n tempurl=\"/gatew/gmmCfgGW/getGoodsSearchTemplate\";\n\n }\n\n // 库存交易模板\n var is_support_stock = my.model.is_support_stock();\n var transaction_mode = my.model.transaction_mode();\n //var tradeMode = my.model.tradeMode() || strhelp.urlParamName('tradeMode');\n var tradeMode = my.model.tradeMode();\n if (is_support_stock == 1 && goods_type==5){\n // if( transaction_mode == 10 ){\n if (tradeMode == 51){\n query_params={\n type:3,\n level:0,\n game_id:game_id,\n goods_type:goods_type,\n action_type:0,\n trade_mode:tradeMode,\n pre_level_values:''\n };\n tempurl=\"/gate/frontconfigapi/QueryGameTemplateByTradeMode\";\n }else{\n query_params={\n type:3,\n level:0,\n game_id:game_id,\n goods_type:goods_type,\n action_type:0,\n pre_level_values:''\n };\n tempurl=\"/gate/frontconfigapi/QueryGameTemplateByLevel\";\n }\n }\n\n $.ajax( tempurl,{\n data:query_params,\n success: function(response){\n var data = response.data;\n if (response.return_code === 0) {\n list_data.accountGoodsSearchTemplate.parse(response,my.model);\n var temp =[];\n $.each(my.model.propertyList(),function (index ,el) {\n if(el.id ==\"safe_type\"){\n my.model.baozList(el);\n my.model.isSafeType(true);\n }else{\n // my.model.isSafeType(false);\n temp.push(el);\n }\n }\n )\n my.model.propertyList(temp);\n my.model.transTemplate(my.model.propertyList());\n //单选项高度超出一行时,显示更多操作\n var sellist = $('.page-goods-list .singlesel .filter-type');\n sellist.each(function(){\n var container = $(this).closest('.singlesel');\n if ($(this).height() > container.height()){\n container.siblings('.rightblock').find('.btn-fold.more').show();\n container.siblings('.rightblock.inputrange-ope').addClass('hasmore');\n }\n });\n var sateTypeList = my.model.sateTypeList();\n var safeAll = $(\"#safe_type .bzlist .bzput\");\n $.each(safeAll,function (index,el) {\n if(sateTypeList.indexOf(el.id)> -1){\n $(el).prop(\"checked\",true);\n }\n })\n my.model.showListMore();\n } else {\n galert(response.return_message);\n }\n\n }\n });\n },\n showConfirm : function(goods_type,book_id){\n my.pageInf.consignbuy(book_id,goods_type);\n },\n setTempleteParams:function(p_key,param,p_title,inputrange){ //单选,设置模板参数searchProperties\n //param 格式为 [{text:'男',value:'man'},{text:'女',value:'woman'}]\n //参数说明:text是头部已选文字,p_key是选项行id即key,value是val,如果有inputrange是inputrange输入框\n function transparam(arr,single){ //传格式['man','woman']\n var valuelist;\n valuelist = [];\n $.each(arr, function(index, val) {\n valuelist.push(val.value);\n });\n if (inputrange && valuelist[0] && valuelist[1] && (Number(valuelist[0]) > Number(valuelist[1])) ){ //范围类型,左边比右边大,也支持(排除xxx以上和xxx以下)\n var temp = valuelist[0]\n valuelist[0] = valuelist[1]\n valuelist[1] = temp\n }\n valuelist = JSON.stringify(valuelist);\n valuelist = valuelist.replace(/\"/g,'\\\"');\n return valuelist;\n }\n\n\n var flag = 0; //searchProperties里是否有相同的参数\n var query = my.model.templeteParams(); //arr是searchProperties\n\n\n var arr2 = my.model.selectedFilter();\n\n for(var key in query){\n if (key == p_key){ //查 searchProperties里是否已有点击筛选条件\n flag = 1;\n }\n }\n if (!flag){\n query[p_key] = []\n }\n query[p_key] = transparam(param);\n if (inputrange){\n if(p_key == 'total_price'){\n\n }else{\n arr2.push({\n id:p_key,\n title:p_title,\n text:param[0].text\n });\n }\n } else {\n $.each(param,function(index, el) {\n arr2.push({\n id:p_key,\n title:p_title,\n text:el.text,\n value:el.value\n });\n });\n }\n\n my.model.templeteParams(query);\n my.model.selectedFilter(arr2);\n if(p_key=='sell_type'){ //选了出售模式,就搜索寄售或担保\n var sell_type = JSON.parse(query[p_key])[0]; \n my.model.goodsTypes(sell_type);\n my.model.getGoodsList({\n 'goods_types':sell_type\n });\n }else if(p_key=='p_race' || p_key=='camp'){\n var groupName = my.model.groupName();\n var goodsType = my.model.goodsTypes();\n var areaName = my.model.areaName();\n my.model.pRace(param[0]);\n if(areaName && groupName && (goodsType ==5 || goodsType == 35)){\n var obj = {\n game_id : my.model.gameId(),\n area_id : my.model.areaId(),\n group_id : my.model.groupId(),\n p_race : my.model.pRace().value\n }\n my.model.getRecJbMallList(obj);\n my.model.getRecShMallList(obj);\n my.model.setJbListSort('sort-bl');\n }else{\n //顶部搜索进来要带上参数里区服\n my.model.getAreaGroupsParam(my.model.areaId(),my.model.groupId());\n my.model.getGoodsList();\n }\n }else{\n my.model.getGoodsList();\n }\n $('.row[data-id=' + p_key + ']').hide();\n if (p_key == 'item_type'){\n my.model.curItemType(param[0].text); //设置当前武器类型\n //装备二级选项显示更多\n var selRow = $('.row[data-title=\"' + param[0].text + '\"]');\n var container = selRow.find('.singlesel');\n if (selRow.find('ul').height() > container.height()){\n container.siblings('.rightblock').find('.btn-fold.more').show();\n container.siblings('.rightblock.inputrange-ope').addClass('hasmore');\n }\n }\n },\n clearTempleteParams:function(id,value,noreload){ //清除模板参数searchProperties\n var arrArea = my.model.multiPropertyList();//模板数据模型\n var arrSel = my.model.selListMultiLev();//已选数据模型\n var temparr = [];\n //删接口参数\n var query = my.model.templeteParams();\n for(var key in query){\n if (key == id){ //searchProperties里找到当前删除项\n var curKeyArr = query[key]; //当前key的value数组\n curKeyArr = JSON.parse(curKeyArr);\n if (value){\n // if ($.isArray(curKeyArr)){ //是多选\n // curKeyArr.splice($.inArray(value,curKeyArr),1);\n // } else { //是单选\n // delete el[key];\n // }\n curKeyArr.splice($.inArray(value,curKeyArr),1);\n if (curKeyArr.length === 0){//key里没有value了\n //参数里删除这个key\n delete query[key];\n //删除模型里对应数据\n $.each(arrArea,function(index, val) {\n if (val.id == id){\n if (val.values[0].values){ //有二级选项\n $.each(val.values,function(index, el) {//一级选项不勾\n el.checked(false);\n $.each(el.values,function(index, el2) {//二级选项不勾\n el2.checked(false);\n });\n });\n\n } else {\n $.each(val.values,function(index, el) {\n el.checked(false);\n });\n }\n }\n });\n my.model.multiPropertyList(arrArea);\n $.each(arrSel, function(index, val) {\n if (val.section_id != id){\n temparr.push(val);\n }\n });\n my.model.selListMultiLev(temparr);\n $('.row[data-id=' + id + ']').show();\n } else {\n curKeyArr = JSON.stringify(curKeyArr).replace(/\"/g,'\\\"');\n query[key] = curKeyArr;\n }\n } else { //inputrange\n delete query[key];\n $('.row[data-id=' + id + ']').show();\n }\n break;\n }\n }\n\n my.model.templeteParams(query);\n\n //删顶部选择项\n var arr2 = my.model.selectedFilter();\n $.each(arr2,function(index, el) {\n if (el.id == id && el.value == value) {\n arr2.splice(index,1);\n return false;\n }\n });\n if (id == 'item_type'){\n $.each(arr2,function(index, el) {\n if (el.id == 'equip_job' || el.id == 'equip_part' || el.id == 'equip_material') {\n arr2.splice(index,1);\n return false;\n }\n });\n my.model.curItemType('');\n }\n\n my.model.selectedFilter(arr2);\n if (id == 'item_type'){\n //noreload参数=true,可以只删除请求参数,不会请求goodslist,否则这里会请求3次goodslist\n my.model.clearTempleteParams('equip_job',null,true);\n my.model.clearTempleteParams('equip_part',null,true);\n my.model.clearTempleteParams('equip_material',null,true);\n my.model.getGoodsList();\n } else if (id == 'equip_job' || id == 'equip_part' || id == 'equip_material') {\n !noreload && my.model.getGoodsList();\n } else if (id == 'sell_type'){ //清除的是出售模式\n if (value == '31') { \n my.model.goodsTypes(1);//恢复到页面进入时的状态,getgoodslist里会处理成寄售+担保\n } else if (value == '35'){\n my.model.goodsTypes(5);\n }\n my.model.getGoodsList();\n } else if(id == 'p_race' || id == 'camp'){\n my.model.showJbMallList(false);\n my.model.showShMallList(false);\n if(my.model.goodsTypes() == 5 || my.model.goodsTypes() == 35){//如果是金币那么会自动点击综合排序无需请求列表\n my.model.setJbListSort('sort-zh');\n }else{\n my.model.getGoodsList();\n }\n $(\".racelist\").show();\n }else {\n my.model.getGoodsList();\n }\n },\n setOrderParams:function(val){ //设置排序参数\n $.each(val,function(index, el) {\n my.model.orderParams()[index] = el;\n });\n console.log(my.model.orderParams())\n my.model.getGoodsList();\n my.model.pageNum(0);//触发pager.js里变更\n my.model.pageNum(1);\n },\n popDetail:function(data,e){ //商品列表标题鼠标hover浮层\n if (data.ext_goods_type >= 90000){\n return;\n }\n var el = $(e.currentTarget);\n var bookid = data.book_id;\n var tooltip_data=el.attr(\"tooltip_info\");\n var tooltip_obj = {};//浮层详情信息\n if (tooltip_data){ //已加载过详情\n tooltip_obj = JSON.parse(tooltip_data);\n if (tooltip_obj.status === 0){ //加载详情中status=0\n return;\n } else{ //已加载详情status=1\n my.model.showDetail(tooltip_obj.html_text,el);\n }\n\n } else{ //未加载详情status=0\n tooltip_obj = {\n status:0,\n html_text:\"\"\n };\n el.attr(\"tooltip_info\",JSON.stringify(tooltip_obj));\n my.model.getDetail(data,el);\n }\n },\n popDetail4jsp:function(ext_goods_type,book_id,goods_type,e){ //商品列表标题鼠标hover浮层\n if (ext_goods_type >= 90000){\n return;\n }\n var el = $(e.currentTarget);\n var bookid = book_id;\n var tooltip_data=el.attr(\"tooltip_info\");\n var tooltip_obj = {};//浮层详情信息\n if (tooltip_data){ //已加载过详情\n tooltip_obj = JSON.parse(tooltip_data);\n if (tooltip_obj.status === 0){ //加载详情中status=0\n return;\n } else{ //已加载详情status=1\n my.model.showDetail(tooltip_obj.html_text,el);\n }\n\n } else{ //未加载详情status=0\n tooltip_obj = {\n status:0,\n html_text:\"\"\n };\n el.attr(\"tooltip_info\",JSON.stringify(tooltip_obj));\n my.model.getDetail4jsp(goods_type,book_id,el);\n }\n },\n // 获取支持跨区区服列表\n getReceiveAreaList: function(detail,el){\n var self = this;\n var data = JSON.parse(detail)\n var goods_type = data.goods_type;\n var game_id = data.game_id;\n var area_id = data.area_id;\n var group_id = data.group_id;\n $.ajax({\n type: \"GET\",\n url: \"/gate/frontconfigapi\",\n data: {\n \"method\": \"getgameareagrouptransregionallist\",\n \"params\": JSON.stringify({\n \"game_id\": game_id,\n \"area_id\": area_id,\n \"group_id\": group_id,\n })\n },\n success: function(resp) {\n if (resp.return_code == 0 && resp.data) {\n el.attr(\"crossArea\",1);\n var transregional_info = JSON.stringify(resp.data.transregional_info);\n my.model.receiveAreaList(transregional_info);\n my.model.showArea(transregional_info,el);\n } else if (resp.return_code !== 0) {\n galert(resp.return_message);\n }\n },\n error:function(data){\n console.log(data)\n }\n });\n },\n\n //不用了\n // popArea:function(data,e,cionArea){ //商品列表标题鼠标hover浮层\n // var el = $(e.currentTarget);\n // var crossArea = el.attr(\"crossArea\");\n // if(crossArea == 1){\n // var transregional_info = my.model.receiveAreaList();\n // my.model.showArea(transregional_info,el);\n // }else{\n // my.model.getDetail(data,el,cionArea);\n // }\n // },\n\n showTips: function (parent, e, data) { //右侧保障类型鼠标hover浮层\n var goodType = (window.pageParamsConfig.goods_type ? window.pageParamsConfig.goods_type : strhelp.urlParamName('goodType')) || my.model.goodsTypes();\n var el = $(e.currentTarget);\n var left = el.width() + 60;\n // var top = el.offset().top - el.parents(\".guarante\").offset().top - 30;\n var top = el.offset().top - el.parents(\".guarante\").offset().top + 20;\n var popover = el.parent().siblings('.popTips');\n var tips = '';\n if (data.name == 'tong') {\n var crossArea = el.attr(\"crossArea\");\n if (crossArea == 1) {\n var transregional_info = my.model.receiveAreaList();\n my.model.showArea(transregional_info, el);\n } else {\n my.model.getDetail(parent, el, \"cionArea\");\n }\n } else if (data.name == 'zhao') { //找回包赔要查包赔天数\n var callback = function(detail) {\n var valArray = detail.p_tips;\n var baopeiDay = 0;\n valArray = valArray.replace(/\\n/g,'');\n var list = (valArray && typeof valArray == 'string') ? JSON.parse(valArray) : valArray;\n for (var key in list){\n if(key == \"售后承诺\") {\n var reg = /\\d+/g;\n var day = list['售后承诺'].match(reg) || [];\n baopeiDay = day[0];\n }\n if(key == \"找回包赔\") {//找回包赔改为售后承诺,这里是兼容老的线上数据\n var reg = /\\d+/g;\n var day = list['找回包赔'].match(reg) || [];\n baopeiDay = day[0];\n }\n }\n data.tips = \"找回包赔:卖家承诺\" + baopeiDay + \"天内商品找回全额赔付\";\n popover.find('.popover-content').html(data.tips);\n $(\".guarante .popover\").hide();\n popover.css({'top': top}).show();\n }\n my.model.getDetail(parent, el, \"zhao\",callback);\n } else if (data.name == 'support-guarantee'){\n var callback = function(detail){\n var account_insurance_time;\n if(detail.p_values && typeof detail.p_values == \"string\"){\n var p_values = JSON.parse(detail.p_values);\n account_insurance_time = p_values.account_insurance_time || detail.accountInsuranceTime;\n }else {\n account_insurance_time = detail.p_values && detail.p_values.account_insurance_time || detail.accountInsuranceTime;\n }\n data.tips = data.tips.replace(/\\d+/,account_insurance_time);\n popover.find('.popover-content').html(data.tips);\n $(\".guarante .popover\").hide();\n popover.css({'top': top}).show();\n }\n my.model.getDetail(parent,el,'support-guarantee',callback);\n } else {\n popover.find('.popover-content').html(data.tips);\n $(\".guarante .popover\").hide();\n popover.css({'top': top}).show();\n }\n },\n\n showTips4jsp: function (goods_type,book_id, e, data) { //右侧保障类型鼠标hover浮层\n var goodType = (window.pageParamsConfig.goods_type ? window.pageParamsConfig.goods_type : strhelp.urlParamName('goodType')) || my.model.goodsTypes();\n var el = $(e.currentTarget);\n var left = el.width() + 60;\n // var top = el.offset().top - el.parents(\".guarante\").offset().top - 30;\n var top = el.offset().top - el.parents(\".guarante\").offset().top + 20;\n var popover = el.parent().siblings('.popTips');\n var tips = '';\n if (data.name == 'tong') {\n var crossArea = el.attr(\"crossArea\");\n if (crossArea == 1) {\n var transregional_info = my.model.receiveAreaList();\n my.model.showArea(transregional_info, el);\n } else {\n my.model.getDetail4jsp(goods_type,book_id, el, \"cionArea\");\n }\n } else if (data.name == 'zhao') { //找回包赔要查包赔天数\n var callback = function(detail) {\n var valArray = detail.p_tips;\n var baopeiDay = 0;\n valArray = valArray.replace(/\\n/g,'');\n var list = (valArray && typeof valArray == 'string') ? JSON.parse(valArray) : valArray;\n for (var key in list){\n if(key == \"售后承诺\") {\n var reg = /\\d+/g;\n var day = list['售后承诺'].match(reg) || [];\n baopeiDay = day[0];\n }\n if(key == \"找回包赔\") {//找回包赔改为售后承诺,这里是兼容老的线上数据\n var reg = /\\d+/g;\n var day = list['找回包赔'].match(reg) || [];\n baopeiDay = day[0];\n }\n }\n data.tips = \"找回包赔:卖家承诺\" + baopeiDay + \"天内商品找回全额赔付\";\n popover.find('.popover-content').html(data.tips);\n $(\".guarante .popover\").hide();\n popover.css({'top': top}).show();\n }\n my.model.getDetail4jsp(goods_type,book_id, el, \"zhao\",callback);\n } else if (data.name == 'support-guarantee'){\n var callback = function(detail){\n var account_insurance_time;\n if(detail.p_values && typeof detail.p_values == \"string\"){\n var p_values = JSON.parse(detail.p_values);\n account_insurance_time = p_values.account_insurance_time || detail.accountInsuranceTime;\n }else {\n account_insurance_time = detail.p_values && detail.p_values.account_insurance_time || detail.accountInsuranceTime;\n }\n data.tips = data.tips.replace(/\\d+/,account_insurance_time);\n popover.find('.popover-content').html(data.tips);\n $(\".guarante .popover\").hide();\n popover.css({'top': top}).show();\n }\n my.model.getDetail4jsp(goods_type,book_id,el,'support-guarantee',callback);\n } else {\n popover.find('.popover-content').html(data.tips);\n $(\".guarante .popover\").hide();\n popover.css({'top': top}).show();\n }\n },\n //互通提示\n showHuTips: function (e) {\n var el = $(e.currentTarget);\n var left = el[0].offsetLeft - 45;\n var top = el[0].offsetTop + 20;\n var popover = el.parent().siblings('.popHuTips');\n popover.css({'top': top + 'px','left':left + 'px'}).show();\n },\n //互通提示\n hideHuTips:function(e){\n var el = $(e.currentTarget);\n el.parent().siblings('.popHuTips').hide();\n },\n hideDetail:function(data,e){\n var el = $(e.currentTarget);\n el.parent().parent().siblings('.popover').hide();\n },\n hideDetailTip:function(data,e){\n var el = $(e.currentTarget);\n el.parent().siblings('.popover').hide();\n },\n setInputRange:function(data,e){ //inputrange值点击后填入输入框\n var el = $(e.currentTarget);\n var input1 = $(el).closest('.singlesel').siblings('.inputrange-ope').find('.input1');\n var input2 = $(el).closest('.singlesel').siblings('.inputrange-ope').find('.input2');\n input1.val(data.value1);\n input2.val(data.value2);\n if (!data.value1 && !data.value2){\n\n }\n //自动点击确定\n $(el).closest('.singlesel').siblings('.inputrange-ope').find('.btn').click();\n input1.val('');\n input2.val('');\n },\n getDetailUrl:function(goods_type,book_id,game_id,price,ext_goods_type){\n var transaction_mode = my.model.transaction_mode()\n var url = my.pageInf.getDetailUrl(goods_type,book_id,game_id,price,transaction_mode);\n return url;\n },\n\n getchart:function(){\n var self = this;\n var gameId = my.model.gameId();\n var chartgameName = game.getGameByGameId(gameId)['game_name'];\n !my.model.chart_area_name() && my.model.chart_area_name(my.model.chart_area_origin_name())\n !my.model.chart_group_name() && my.model.chart_group_name(my.model.chart_group_origin_name())\n var chartgamearea = my.model.chart_area_name()\n var chartgamegroup = my.model.chart_group_name()\n var params={\n game_name:chartgameName,\n game_area:chartgamearea,\n game_group:chartgamegroup\n }\n $.ajax( \"/gatew/consigntradeapi/goods/querydnfpriceouter\",{\n data:params,\n success: function(response){\n var data = response.data;\n if (response.return_code === 0) {\n if(!$.isEmptyObject(data)){\n if(data.alist[0].exec_time=='2017-12-15 11:00:00'){\n data.alist.shift();\n }\n var dateArray = [];//横坐标\n var alist=[]\n var blist=[]\n var gmmlist=[]\n for(var keys in data){//去重并生成y轴数据\n var res=[];\n var tempjson={};\n for (var index in data[keys]){\n if(!tempjson[data[keys][index].exec_time]){\n res.push({\n exec_time:data[keys][index].exec_time,\n goods_price:data[keys][index].goods_price,\n });\n var goodprice = Number(data[keys][index].goods_price)\n var priceint = 0;\n if(goodprice!=0){\n priceint= Number((1/goodprice).toFixed(2));\n }\n\n switch(keys){\n case 'alist':\n alist.push(priceint);\n break\n case 'blist':\n blist.push(priceint);\n break\n case 'gmmlist':\n gmmlist.push(priceint);\n break\n default:\n break\n }\n tempjson[data[keys][index].exec_time]=1;\n }\n }\n data[keys]=res\n }\n my.model.aNew(alist[alist.length - 1])\n my.model.bNew(blist[blist.length - 1])\n my.model.gmmNew(gmmlist[gmmlist.length - 1])\n var len=0\n var longestname=''\n for(var key in data){//找到去重后最长的数组\n if(data[key].length>len){\n len=data[key].length;\n longestname=key;\n }\n }\n for(var ind in data[longestname]){//生成x轴数据\n var temp = data[longestname][ind].exec_time;\n var style={}\n // if(!(ind==0||temp.split(' ')[1]=='00:00:00')){\n // temp=''\n // }else{\n // temp=temp.split(' ')[0].split('-')\n // temp=temp[1]+'月'+temp[2]+'日'\n // }\n temp=temp.split(' ')[0].split('-')\n temp=temp[1]+'.'+temp[2]\n dateArray.push(temp)\n }\n\n var chart = Highcharts.chart('container', {\n title: {\n text: '游戏币比价图',\n style:{\n fontWeight:700,\n },\n margin:5,\n x:15\n },\n credits:{\n enabled:false,\n },\n // subtitle: {\n // text: my.model.priceChartTips() ? '提示:'+my.model.priceChartTips() : '',\n // x:5,\n // y:35,\n // style: {\n // fontWeight: 700,\n // fontSize: 14,\n // color: '#ff5a00'\n // }\n // },\n xAxis: {\n categories: dateArray,\n tickInterval: 24\n },\n yAxis: [{\n title: {\n text: '单价(1元=XX' + game.getGameByGameId(gameId).ext_info.base_unit_name + ')' ,\n align:\"high\",\n rotation:0,\n offset: -75,\n y: my.model.priceChartTips() ? -20 : -10,\n },\n lineWidth:1,\n labels:{\n x:-8\n }\n },{\n title: {\n text: '1小时更新一次',\n align:\"high\",\n rotation:0,\n offset: -75,\n y: my.model.priceChartTips() ? -20 : -10,\n },\n opposite: true,\n labels:{\n x:-8\n }\n }],\n legend: {\n align: 'center',\n verticalAlign: 'bottom'\n },\n colors: ['#bd94c4','#618ffc','#f96024'],\n plotOptions: {\n series: {\n marker:{\n enabled:true,\n symbol: 'circle',\n radius: 2\n }\n }\n },\n series: [{\n name: 'A平台',\n data: alist\n }, {\n name: 'B平台',\n data: blist\n }, {\n name: 'G买卖',\n data: gmmlist\n }],\n responsive: {\n rules: [{\n condition: {\n maxWidth: 500\n },\n chartOptions: {\n legend: {\n layout: 'horizontal',\n align: 'center',\n verticalAlign: 'bottom'\n }\n }\n }]\n }\n });\n }else{\n $('.page-goods-list .goldcharts').hide()\n }\n } else {\n $('.page-goods-list .goldcharts').hide()\n galert(response.return_message);\n }\n }\n });\n\n },\n //dnf比较开关配置\n getChartConfig:function(callback){\n var self = this;\n var params={\n method:\"GetGameInfo\",\n params:JSON.stringify({\n \"game_id\":my.model.gameId()\n })\n };\n\n $.ajax( \"/api/accountapi/config\",{\n data:params,\n success: function(response){\n var data = response.data;\n if (response.return_code === 0) {\n my.model.showGoldCharts(!!data.ext_info.price_chart_open_flag)\n data.ext_info.price_chart_tips && my.model.priceChartTips(data.ext_info.price_chart_tips)\n if (data.ext_info.price_chart_open_flag == 1){\n callback && callback()\n $(\".page-goods-list .goldcharts\").show();\n } else {\n $(\".page-goods-list .goldcharts\").hide();\n }\n }\n }\n });\n },\n //获取商品保险开关\n getInsuranceSwitch:function(){\n var self = this;\n var params={\n method:\"GetVersion\",\n params:JSON.stringify({\n \"object_id\":'insurance_switch_cfg'\n })\n };\n $.ajax( \"/gate/frontconfigapi\",{\n data:params,\n success: function(response){\n var data = response.data;\n if(data.memo['game_id_'+my.model.gameId()]===1) {\n my.model.showInsurance(true)\n // console.log(my.model.showInsurance())\n }\n \n }\n });\n },\n //获取比价图默认的区服\n getBijiaOrigin: function(){\n\n\n\n var self = this;\n var params={\n method:\"GetVersion\",\n params:JSON.stringify({\n \"object_id\":'price_chart_areagroup_cfg'\n })\n };\n\n $.ajax( \"/gate/frontconfigapi\",{\n data:params,\n success: function(response){\n var data = response.data;\n if (response.return_code === 0) {\n var data = response.data.memo.data\n for(var i = 0; i < data.length; i++){\n if(data[i].game_name === my.model.gameName()){\n my.model.chart_area_origin_name(data[i].game_area)\n my.model.chart_group_origin_name(data[i].game_group)\n my.model.getchart()\n }\n }\n }\n }\n });\n },\n\n //获取新人优惠券信息\n getNewCouponList: function(cb){\n var self = this;\n var params={\n method:\"GetVersion\",\n params:JSON.stringify({\n \"object_id\":'new_users_coupon_config'\n })\n };\n\n $.ajax( \"/gate/frontconfigapi\",{\n data:params,\n success: function(response){\n var data = response.data;\n if (response.return_code === 0) {\n var data = response.data.memo.new_user_coupons\n my.model.newUserCouponList(data)\n if(login.hasLoggedIn()) {\n cb && cb()\n }else {\n var hadNewUserCouponList = {}\n var newUserCouponList = my.model.newUserCouponList()\n for(var i = 0; i < newUserCouponList.length; i++) {\n var list = newUserCouponList[i]\n var itemTypesList = list.itemTypes.split(\",\")\n for(var j = 0; j < itemTypesList.length; j++) {\n if(hadNewUserCouponList[itemTypesList[j]]) {\n hadNewUserCouponList[itemTypesList[j]] > list.minamount /100 && (hadNewUserCouponList[itemTypesList[j]] = list.minamount /100)\n }else {\n hadNewUserCouponList[itemTypesList[j]] = list.minamount /100\n }\n }\n }\n my.model.hadNewUserCouponList(hadNewUserCouponList)\n }\n }\n }\n });\n },\n\n //获取dnf金币默认列表类型\n getDnfCoinShow: function(cb){\n var self = this;\n var params={\n method:\"GetVersion\",\n params:JSON.stringify({\n \"object_id\":'dnf_list_show_flag'\n })\n };\n $.ajax( \"/gate/frontconfigapi\",{\n data:params,\n success: function(response){\n var data = response.data;\n if (response.return_code === 0) {\n var type = data.memo.data.show_flag //0:整包 1:库存\n my.model.dnfCoinListShow(type);\n cb && cb();\n // if (type == 0){\n // my.model.switchListType(0);\n // $(\"#inventory_tabs button[data-type='pack']\").click();\n // $('#inventory_sort').css('display', 'none');\n // $('#total_price_sort').css('display', 'block');\n // } else if (type == 1){\n // my.model.switchListType(10);\n // $(\"#inventory_tabs button[data-type='stock']\").click();\n // $('#inventory_sort').css('display', 'block');\n // $('#total_price_sort').css('display', 'none');\n // }\n }\n }\n });\n },\n openDnfSign:function(){\n // $('#dnf-sign-pop').modal('show');\n window.location.href = 'https://a.gmmsj.com/zfbzfwlq';\n },\n //获取dnf金币默认列表类型\n getDnfSignConfig: function () {\n var self = this;\n self.showSignFlag(false);\n var goodType = window.pageParamsConfig.goods_type ? window.pageParamsConfig.goods_type : strhelp.urlParamName('goodType');\n var params = {\n method: \"GetVersion\",\n params: JSON.stringify({\n \"object_id\": 'game_qiandao'\n })\n };\n $.ajax(\"/gate/frontconfigapi\", {\n data: params,\n success: function (response) {\n if (response.return_code === 0) {\n var data = response.data.memo.data;\n for (var i = 0; i < data.length; i++) {\n if (data[i].open_flag == 1) {\n data[i].goods_type.split(',').forEach(function (item, index) {\n if (goodType == item) {\n self.showSignFlag(true);\n self.showSignUrl(data[i].url);\n self.signBgUrl(data[i].sign_url);\n return;\n }\n })\n }\n }\n }\n }\n });\n },\n //goodslist全部类型添加通用商品\n getCommonGoodsConfig:function(){\n var self = this;\n var commonGoodsTypeList = my.model.commonGoodsTypeList();\n var goodsTypesAll = my.model.goodsTypesAll();\n goodsTypesAll = goodsTypesAll.split(\",\");//goodsTypesAll的全部商品类型转数组\n if (commonGoodsTypeList && Array.isArray(commonGoodsTypeList)){\n commonGoodsTypeList.forEach(function (item) {\n goodsTypesAll.push(item.goods_type);//goodsTypesAll的全部商品类型all里增加通用商品\n })\n }\n goodsTypesAll = goodsTypesAll.join();//goodsTypeList的全部商品类型all转回字符串\n my.model.goodsTypesAll(goodsTypesAll);\n },\n setListCol:function(){\n var col = '';\n if(my.model.is_support_baoz()){\n if(my.model.goodsTypes()==5){\n col = 'col-md-6 set-width'\n }else{\n col = 'col-md-6'\n }\n }else if(!my.model.is_support_baoz() && (my.model.goodsTypes()==5 || my.model.goodsTypes()==35)){\n col = 'col-md-6'\n }else {\n col = 'col-md-8'\n }\n return col\n },\n //获取截图服务开关\n getCsScreenSwitch:function(){\n var params = {\n game_id: my.model.gameId()\n };\n $.ajax( api.jsTrade.checkGameOpenCsScreenShotFlag ,{\n data:params,\n success: function(response){\n var open_flag = response.data.open_flag;\n open_flag == 1 && my.model.showCsScreen(true);\n }\n });\n },\n //获取互通开关\n queryTransregionallAreaGroup:function(){\n my.model.showAreaTrans(false);\n var params = {\n gameId: my.model.gameId(),\n areaId: my.model.areaId(),\n groupId: my.model.groupId()\n };\n $.ajax(api.security.queryTransregionallAreaGroup,{\n data:params,\n success: function(response){\n if (response.return_code == 0) {\n if (response.data && (response.data.length > 0)){\n var list = response.data && response.data[0] || [];\n list.forEach(function(item){\n if (item.groupId == my.model.groupId()){\n my.model.showAreaTrans(true);\n }\n })\n }\n } else {\n galert(response.return_message);\n }\n },\n error: function () {\n galert(\"网络故障,请稍后再试!\");\n }\n });\n },\n //检查是否显示互通标记\n checkAreaTrans:function(safe_type_data,goods_type){\n var is_transareagroup = 0;\n if (goods_type == 1 || goods_type == 31 || goods_type == 5 || goods_type == 35){\n if (safe_type_data && typeof safe_type_data === 'string'){\n is_transareagroup = JSON.parse(safe_type_data).is_transareagroup;\n }\n return is_transareagroup == 1 ? true : false;//装备金币,不是本区服,显示互通标记\n } else {\n return false;\n }\n },\n //获取装备道具配置\n getItemConfig:function(){\n var self = this\n var url = \"/gate/frontconfigapi/GetVersion\";\n var query_params = {\n object_id: 'game_id_' + my.model.gameId() + '_item_type_cfg'\n }\n $.ajax({\n url:url,\n data: query_params,\n success: function(response){\n if(response.return_code == 0 ){\n $(\".goods-type-name\").hide();\n var itemList = response.data.memo;\n my.model.supportItemTypeList(itemList);\n var itemType = strhelp.urlParamName('itemType') || window.pageParamsConfig.goods_type;\n if (itemType){\n var obj = {}\n itemList.forEach(function(item){\n if (item.item_type == itemType){\n my.model.selItemType(item);\n }\n })\n }\n }\n }\n });\n \n },\n selItemType:function(data, e){\n my.model.curItemType(data.item_type);\n my.model.curItemTypeName(data.item_type_name);\n my.model.goodsTypes(data.goods_type);\n my.model.getGoodsList();\n my.model.getTemplate();\n },\n clearItemType:function(){ //清除装备类型\n my.model.curItemType('');\n my.model.curItemTypeName('');\n my.model.getGoodsList();\n my.model.multiPropertyList([]);\n },\n //获取种族\n getRaceList:function(data){\n var race_camp = \"\";\n if (data.ext_info && data.ext_info.race_camp){\n race_camp = data.ext_info && data.ext_info.race_camp;\n my.model.raceList(race_camp.options);\n } else {\n my.model.raceList([]);\n }\n },\n //启用收货商城滚动\n initShList:function(orgList){\n // var obj = {\"price\":\"1金=0.1255元\",\"minValue\":1000,\"unitName\":\"金\"}\n // for (var i = 0; i < 9; i++){\n // orgList[i] = JSON.parse(JSON.stringify(obj))\n // }\n // orgList.forEach(function(item,index){\n // item.orgIndex = index\n // item.inputContentAmount = ko.observable();\n // })\n var tempList = [];//临时数组\n var shList = [];//最终数组\n if (orgList.length >= 6){\n for (var i = 0; i < 3; i+=2){//从原始数据放3个数组进shList,每个数组里有2个对象 [[{},{}],[{},{}],[{},{}]]\n tempList = orgList.slice(i,i + 2);\n shList.push(tempList);\n }\n if(orgList.length % 2 == 0){\n shList.unshift([orgList[orgList.length-2],orgList[orgList.length-1]]);\n }else{\n shList.unshift([orgList[orgList.length-1]]);\n }\n } else if (orgList.length < 6 && orgList.length > 0){\n for (var i = 0; i < orgList.length; i+=2){//从原始数据放3个数组进shList,每个数组里有2个对象 [[\n tempList = orgList.slice(i,i + 2);\n shList.push(tempList);\n }\n if(orgList.length > 2){\n if(orgList.length % 2 == 0){\n shList.unshift([orgList[orgList.length-2],orgList[orgList.length-1]]);\n }else{\n shList.unshift([orgList[orgList.length-1]]);\n }\n }\n } else if (orgList.length == 0){\n shList = [];\n }\n if (shList.length == 2){ //只有两列,补足第三列\n shList.unshift(shList[1]);\n }\n my.model.shList(shList)\n console.log(my.model.shList());\n var width = $(\".shmall-container .item\").width(); //每个滚动单位的宽度\n if (shList.length == 1){\n $(\".shmall-container\").css(\"transform\",\"translateX(0px)\");\n } else {\n $(\".shmall-container\").css(\"transform\",\"translateX(-\" + width + \"px)\");\n }\n $(\".shmall-container-outer\").width($(\".shmall-container .item\").width() + \"px\");\n },\n //出货\n sellCoin:function(index,data){\n if (Number(data.inputContentAmount()) > Number(data.availQty)){\n galert(\"剩余收货数量不足,请重新输入\",function(){\n data.inputContentAmount(\"\");\n });\n return;\n } else if (Number(data.inputContentAmount()) < Number(data.minBagQty)){\n galert(\"出货数量不能少于\" + data.minBagQty + data.unitName,function(){\n data.inputContentAmount(\"\");\n });\n return;\n }\n\n var bookId = data.bookId;\n var amount = data.inputContentAmount();//输入的购买数量\n var goodsType = data.goodsType;\n window.open(\"/pc/goods/consignbuy_shmall.html?goodsType=\" + goodsType + \"&bookId=\" + bookId + \"&amount=\" + amount,\"_blank\");\n },\n moveShList:function(direction){\n var width = $(\".shmall-container .item\").width();\n $(\".shmall-container\").addClass(\"transition\");\n var shList = my.model.shList();//二维数组[[{},{}],[{},{}],[{},{}]]\n var newItem = [];\n if (direction == \"right\"){ //左箭头往右滚\n $(\".shmall-container\").css(\"transform\",\"translateX(0px)\");\n var firstGroup = shList[0]; //第一个数组\n var firstItem = firstGroup[0]; //第一个商品\n var firstOrgindex = firstItem.orgIndex; //第一个商品的原始index\n if (firstOrgindex == 0){//已经是第一个元素了\n if (orgList.length % 2 === 0) { //偶数\n newItem = orgList.slice(-2);//加最后两个商品\n } else {\n newItem = orgList.slice(-1);//加最后一个商品\n }\n } else {\n newItem = orgList.slice(firstOrgindex - 2,firstOrgindex);//加前两个商品\n }\n shList.splice(2,1); //删除最后两个商品\n my.model.shList(shList);\n setTimeout(function(){\n $(\".shmall-container\").removeClass(\"transition\");\n shList.unshift(newItem);//商品加到最前面\n my.model.shList(shList);\n $(\".shmall-container\").css(\"transform\",\"translateX(-\" + width + \"px)\");\n },200)\n } else { //右箭头往左滚\n $(\".shmall-container\").css(\"transform\",\"translateX(-\" + width*2 + \"px)\");\n var lastGroup = shList[shList.length - 1]; //最后一个数组\n var lastItem = lastGroup[lastGroup.length - 1]; //最后一个商品\n var lastOrgindex = lastItem.orgIndex; //最后一个商品的原始index\n if (lastOrgindex == orgList.length - 1){//已经是最后一个元素了\n newItem = orgList.slice(0,2);//加最前两个商品\n } else {\n newItem = orgList.slice(lastOrgindex + 1,lastOrgindex + 3);//加后两个商品\n }\n shList[3] = newItem;//商品加到最后面\n my.model.shList(shList);\n setTimeout(function(){\n $(\".shmall-container\").removeClass(\"transition\");\n shList.splice(0,1); //删除前两个商品\n my.model.shList(shList);\n $(\".shmall-container\").css(\"transform\",\"translateX(-\" + width + \"px)\");\n },200)\n }\n }\n };\n };\n\n this.bindEvent = function(){\n // $('body').on('resize', function(event) {\n // var winHeight = $(window).height(),\n // bodyHeight = $('body').height();\n // console.log('winHeight:' + winHeight)\n // console.log('bodyHeight:' + bodyHeight)\n // if (bodyHeight > winHeight){\n // $('#footer').removeClass('fixed');\n // } else {\n // $('#footer').addClass('fixed');\n // }\n // });\n //排序切换\n $(document).on('click', my.pageSelector + ' .panel.list .nav li', function(event) {\n $(this).addClass('active').siblings().removeClass('active');\n });\n $(document).on('click', my.pageSelector + ' #inventory_tabs .btn', function(event) {\n $(this).addClass('active').siblings().removeClass('active');\n });\n //inputrange项输入值\n $(document).on('click', my.pageSelector + ' .inputrange-ope button', function(event) {\n var id = $(this).closest('.row').attr('data-id');\n var title = $(this).closest('.row').attr('data-title');\n var val1 = $(this).siblings('.form-group').find('.input1').val();\n var val2 = $(this).siblings('.form-group').find('.input2').val();\n var unit = $(this).closest('.row').attr('data-unit');\n var text = '';\n if (!val1 && val2) {\n text = val2 + '以下';\n } else if (!val2 && val1) { \n text = val1 - 1 + '以上';//1000以上,val是1001\n } else if (!val1 && !val2){\n my.model.getGoodsList({});\n return false;\n } else {\n text = val1 + '到' + val2 + unit;\n }\n var param = [{\n text:text,\n value:val1\n },{\n text:text,\n value:val2\n }]\n my.model.setTempleteParams(id,param,title,true);\n\n });\n $(document).on('click', my.pageSelector + ' .input-price-filter button', function(event) {\n var id = $(this).closest('.input-price-filter').attr('data-id');\n var title = $(this).closest('.input-price-filter').attr('data-title');\n var val1 = my.model.minPrice();\n var val2 = my.model.maxPrice();\n var unit = $(this).closest('.input-price-filter').attr('data-unit');\n var text = '';\n if (!val1 && val2) {\n text = val2 + '以下';\n } else if (!val2 && val1) { \n text = val1 - 1 + '以上';//1000以上,val是1001\n } else if (!val1 && !val2){\n my.model.clearTempleteParams('price');\n // my.model.getGoodsList({});\n return false;\n } else {\n text = val1 + '到' + val2 + unit;\n }\n var param = [{\n text:text,\n value:val1\n },{\n text:text,\n value:val2\n }]\n my.model.setTempleteParams(id,param,title,true);\n });\n //更多\n $(document).on('click', my.pageSelector + ' .btn-fold', function(event) {\n if($(this).hasClass(\"more\")){\n $(this).parent().siblings(\".singlesel\").find(\".group-all-search\").show();\n $(this).siblings(\".btn.btn-edit\").show();\n }else{\n $(this).parent().siblings(\".singlesel\").find(\".group-all-search\").hide();\n if($(this).closest(\".serlist\").length == 0){\n $(this).siblings(\".btn.btn-edit\").hide();\n }else{\n $(this).siblings(\".btn.btn-edit\").show();\n }\n }\n \n $(this).hide();\n $(this).siblings('.btn-fold').show();\n $(this).closest('.row').find('.singlesel').toggleClass('fold');\n });\n //切换多选编辑界面\n $(document).on('click', my.pageSelector + ' .btn-edit', function(event) {\n $(this).parent().siblings('.singlesel').toggle();\n $(this).parent().siblings('.multisel').toggle();\n var more = $(this).siblings('span');\n if (more.css('visibility') == 'visible'){\n more.css('visibility', 'hidden');\n } else {\n more.css('visibility', 'visible');\n }\n });\n //多选操作区点击\n $(document).on('click',my.pageSelector + ' .sellist1 li', function(event) {\n $(this).addClass('cur').siblings('li').removeClass('cur');\n });\n //多选操作区取消\n $(document).on('click',my.pageSelector + ' .multisel .cancel', function(event) {\n var more = $(this).closest('.multisel').siblings('.rightblock').find('span');\n if (more.css('visibility') == 'visible'){\n more.css('visibility', 'hidden');\n } else {\n more.css('visibility', 'visible');\n }\n $(this).closest('.multisel').hide();\n $(this).closest('.multisel').siblings('.singlesel').show();\n });\n //多选操作区取消\n $(document).on('click',my.pageSelector + ' .multisel .confirm', function(event) {\n $(this).closest('.multisel').hide();\n $(this).closest('.multisel').siblings('.singlesel').show();\n });\n //筛选二级下拉\n $(document).on('click', my.pageSelector + ' .dropdown', function(event) {\n var self = this;\n var container = $(this).closest('.row');\n var ul = $(this).find('.dropdown-menu');\n var dataid = $(this).attr('data-id');\n var newul = container.find('.dropdown-menu-new[data-id=' + dataid + ']');\n var arrow = $(this).find('.iconfont');\n if (newul.length === 0){\n newul = ul.clone().addClass('dropdown-menu-new').attr('data-id', dataid).appendTo(container).show();\n newul.siblings('.dropdown-menu-new').hide();\n } else {\n newul.siblings('.dropdown-menu-new').hide();\n newul.toggle();\n }\n var thisOffsetTop = $(this).offset().top;\n var parentOffsetTop = $(this).parent().offset().top;\n var newtop = (thisOffsetTop - parentOffsetTop > 0) ? thisOffsetTop - parentOffsetTop + 36 : 36;\n newul.css('top', newtop);\n $(this).toggleClass('open');\n $(this).siblings('li').removeClass('open');\n $(this).siblings('li').find('.iconfont').removeClass('icon-up-sd').addClass('icon-down-sd');\n if (arrow.hasClass('icon-up-sd')){\n arrow.removeClass('icon-up-sd').addClass('icon-down-sd');\n } else {\n arrow.removeClass('icon-down-sd').addClass('icon-up-sd');\n }\n });\n $(document).on('click', my.pageSelector + ' .dropdown-menu-new li', function(event) {\n var ulid = $(this).parent().attr('data-id');\n var parentId = $(this).attr('data-parent-id');\n var parentTitle = $(this).attr('data-parent-title');\n var id = $(this).attr('data-id');\n var text = $(this).text();\n my.model.setTempleteParams(parentId,[{text:text,value:id}],parentTitle);\n $('.dropdown[data-id=' + ulid + ']').removeClass('open');\n $('.dropdown[data-id=' + ulid + ']').find('.iconfont').removeClass('icon-up-sd').addClass('icon-down-sd');\n $(this).parent().hide();\n });\n };\n //定义入口函数\n this.entry = function() {\n this.model.totalSize(window.totalSize);\n // strhelp.checkParams(\"gameId\");\n // 取到game_id\n var game_id = window.pageParamsConfig.game_id ? window.pageParamsConfig.game_id : strhelp.urlParamName('gameId');\n var goodType = window.pageParamsConfig.goods_type ? window.pageParamsConfig.goods_type : strhelp.urlParamName('goodType');\n var tradeMode = window.pageParamsConfig.trade_mode ? window.pageParamsConfig.trade_mode : strhelp.urlParamName('tradeMode');\n if(tradeMode){\n my.model.tradeMode(tradeMode);//设置tradeMode\n }\n if(goodType == '5' && (tradeMode < 50 || !tradeMode)){\n this.model.getChartConfig(my.model.getBijiaOrigin());\n }\n\n var area_id = strhelp.urlParamName('areaId');\n var group_id = strhelp.urlParamName('groupId');\n var race_id = strhelp.urlParamName('raceId');\n var keyword = decodeURI(strhelp.urlParamName('keyword'));\n var refer = strhelp.urlParamName('refer');\n var gameOs = strhelp.urlParamName('gameOs');\n var operatorId = strhelp.urlParamName('operatorId');\n var area_name = '';\n var group_name = '';\n var race_name = '';\n this.model.keyword(keyword);\n this.model.gameId(game_id);\n this.model.areaId(area_id);\n this.model.groupId(group_id);\n this.model.game_app_os(gameOs);\n this.model.operator_id(operatorId);\n this.model.getGoodsType(game_id);//取商品类型\n this.model.getGameName(game_id);//取游戏名字\n this.model.getIsMobile(game_id);//判断是否手游\n this.model.refer(refer);\n this.model.goodsTypes(goodType);\n this.model.setTopfilterSearch({},'keyword')\n router.getPageModule(\"common/js/search\",function(pageModel){\n pageModel.model.queryAdvert({'ad_position':'goods_list_top','game_id':game_id, 'goods_type':goodType});\n },1);\n\n // 请求完是否库存接口后 再进行下一步\n\n this.model.getGameInfo(function(gameinfo){\n\n function checkGoodsType(goodType){\n my.model.goodsTypes(goodType);\n var typelist = my.model.goodsTypeList();\n var typeName = '';\n if(tradeMode){//判断是不是深渊票\n my.model.tradeMode(tradeMode);\n $.each(typelist, function(index, val) {\n if (val.typeTradeMode == tradeMode){\n typeName = val.typeName;\n }\n });\n }else{\n $.each(typelist, function(index, val) {\n if (val.typeCode == goodType && !val.typeTradeMode){\n typeName = val.typeName;\n }\n });\n }\n my.model.selGoodsType({goods_types:goodType,goods_types_name:typeName,trade_mode:tradeMode});\n my.model.setTopfilterSearch({goods_types:goodType,goods_types_name:typeName},\"goodsType\")\n }\n function checkOs(){\n var gameOsList = my.model.gameOsList();\n if (operatorId){\n my.model.operator_id(operatorId);\n my.model.getGameOperator(gameOs,checkOperator);\n }\n $.each(gameOsList,function(index, val) {\n if (val.game_app_os == gameOs){\n my.model.selGameOs({\n 'game_app_os':val.game_app_os,\n 'game_app_os_name':val.game_app_os_name\n });\n return false;\n\n }\n });\n }\n function checkOperator(){\n var gameOperatorList = my.model.gameOperatorList();\n if (area_id){\n my.model.areaId(area_id);\n my.model.getMobileGameArea(operatorId,checkArea);\n }\n $.each(gameOperatorList,function(index, val) {\n if (val.operator_id == operatorId){\n my.model.selGameOperator({\n 'operator_id':val.operator_id,\n 'operator_name':val.operator_name\n });\n return false\n }\n });\n }\n function checkArea(){\n my.model.areaId(area_id);\n var arealist = my.model.areaList();\n $.each(arealist,function(index, val) {\n if (val.area_id == area_id){\n area_name = val.area_name;\n area_id = val.area_id;\n }\n });\n my.model.selArea({area_id:area_id,area_name:area_name},true);\n my.model.setTopfilterSearch({area_id:area_id,area_name:area_name},'area');\n if (my.model.isMobile()){\n\n } else{\n if (group_id){\n my.model.getGroupList(area_id,checkGroup);\n }\n }\n\n }\n function checkGroup(){\n my.model.groupId(group_id);\n var grouplist = my.model.groupList();\n $.each(grouplist,function(index, val) {\n if (val.group_id == group_id){\n group_name = val.group_name;\n group_id = val.group_id;\n }\n });\n my.model.selGroup({\n area_id:area_id,\n area_name:area_name,\n group_id:group_id,\n group_name:group_name\n },null,true);\n my.model.setTopfilterSearch({group_id:group_id,group_name:group_name},'group');\n }\n function checkRace(gameinfo){\n my.model.getRaceList(gameinfo)\n my.model.raceId(race_id);\n var racelist = my.model.raceList();\n $.each(racelist,function(index, val) {\n if (val.value == race_id){\n race_name = val.text;\n }\n });\n var race_camp = {};\n if (gameinfo.ext_info && gameinfo.ext_info.race_camp){\n race_camp = gameinfo.ext_info && gameinfo.ext_info.race_camp;\n my.model.raceText(race_camp.text);\n my.model.raceKey(race_camp.id);\n } \n if (race_id){\n my.model.selRace({\n race_id:race_id,\n race_name:race_name\n });\n my.model.setTopfilterSearch({\n race_id:race_id,\n race_name:race_name\n },'race');\n }\n }\n //根据地址参数选择条件\n\n if (my.model.isMobile()){\n my.model.setTopfilterSearch({game_id:my.model.gameId(),game_name:my.model.gameName()},'gameName');\n if (goodType){\n if (goodType){\n checkGoodsType(goodType);\n if (gameOs){\n my.model.game_app_os(gameOs);\n my.model.getGameOs(checkOs);\n } else{\n my.model.getGameOs();\n }\n }\n } else if (gameOs){\n my.model.game_app_os(gameOs);\n my.model.getGameOs(checkOs);\n } else {\n my.model.getGameOs();\n //my.model.getGoodsList({}); //首屏jsp渲染\n }\n } else{\n // if(refer){\n my.model.setTopfilterSearch({game_id:my.model.gameId(),game_name:my.model.gameName()},'gameName');\n // }\n if (goodType || area_id || group_id){\n if (goodType){\n checkGoodsType(goodType);\n my.model.getAreaList(game_id);\n }\n if (area_id){\n my.model.getAreaList(game_id,checkArea);\n }\n } else {\n //checkGoodsType('10');\n //my.model.getGoodsList({}); //首屏jsp渲染\n my.model.getAreaList(game_id);\n }\n }\n checkRace(gameinfo);\n var is_support_stock = my.model.is_support_stock()\n if (goodType == 5 && is_support_stock == 1){\n $('#inventory_tabs').css('display', 'flex');\n $('#inventory_sort').css('display', 'block');\n $('#total_price_sort').css('display', 'none');\n if (my.model.gameId() == '791000283'){\n my.model.getDnfCoinShow(function(){\n checkGoodsType(goodType)\n })\n }\n }\n if (my.model.gameId() == '791000283'){\n my.model.getDnfCoinShow()\n }\n setTimeout(function(){\n my.model.getItemConfig();//等区服参数处理完\n },1000);\n \n });\n my.model.getInsuranceSwitch();\n my.model.getNewCouponList(my.model.queryCoupons)\n my.model.getDnfSignConfig();\n my.model.getMerchantGameList(2);\n my.model.getMerchantGameList(3);\n my.model.getCsScreenSwitch();\n if (login.hasLoggedIn()){\n my.model.queryUserCoupons();\n my.model.doHaveNewCoupons();\n }\n };\n })\n\n});\n"],"names":["define","pcbase","ko","galert","list_data","strhelp","game","jsonpath","highcharts","login","router","api","extend","my","this","orgList","init","needLogin","pageSelector","model","hotArea","observable","hotGroup","minPrice","maxPrice","totalCount","openJbMall","openShMall","isSupportDecimal","tipsText","pRace","showJbMallList","showShMallList","recJbMallList","fromIndex","isSafeType","baozList","is_snda_game","is_support_list","is_support_baoz","receiveAreaList","gameUnit","has_new","ticketNotAvailable","ticketList","minCoupon","showGoldCharts","showmap","imgmap","chart_game_name","chart_area_name","chart_group_name","chart_area_origin_name","chart_group_origin_name","priceChartTips","pageNum","mapEquipText","equip_job","equip_part","equip_material","ext_goods_type","goodsTypesAll","totalSize","page","hasGetDetail","refer","isMobile","gameId","gameName","keyword","orderDir","orderDirPrice","dnfDirPrice","orderDirTotalVolume","orderDirInventory","orderDirDeliver","transaction_mode","is_support_stock","goods_main_detail","p_tips","goodsList","observableArray","gameOsList","gameOperatorList","areaList","groupList","raceList","raceText","raceKey","goodsTypeList","goodsTypes","curGoodsType","curItemType","curItemTypeName","areaIdGroups","game_app_os","game_app_os_name","operator_id","operator_name","areaId","areaName","areaKey","raceId","areaFilterList","groupId","groupName","groupKey","groupFilterList","propertyList","multiPropertyList","templeteParams","orderParams","selectedFilter","currentAreaId","areaListMulti","tradeMode","dnfCoinListShow","showSignFlag","showSignUrl","signBgUrl","selectedFilterArea","selListMultiArea","selListMultiLev","aNew","bNew","gmmNew","newUserCouponList","hadNewUserCouponList","commonGoodsTypeList","showInsurance","showCsScreen","csScreenTips","goldList","text","name","key","tips","accountList","insuranceList","sateTypeList","areaTransList","showAreaTrans","supportItemTypeList","shList","setJbListSort","type","document","getElementById","click","order_type","order_dir","getGoodsList","getGoodsTypeUrl","url","special","urlParamName","sourceType","selectbz","data","e","t","$","currentTarget","arrayPush","isCheck","prop","push","id","i","length","splice","find","attr","isShow","safe_type_data","nowKey","JSON","parse","isShow4jsp","jumpToList","obj","goods_types","trade_mode","location","href","getGoodsListUrl","queryCoupons","goods_type","window","pageParamsConfig","game_id","ajax","method","params","stringify","amount","success","resp","return_code","available","list","itemTypeList","itemTypes","split","k","j","catId","minAmount","error","doHaveNewCoupons","noNeedBlock","response","queryUserCouponspop","message","sorted","orderby","count","remove","ticke","endTime","Date","replace","getTime","nowTime","startTime","readNewCoupons","modal","css","return_message","gotoList","goodtype","itemtypes","gameAppIds","pageInf","gotoGoodsList","gotoGameList","haveKnow","queryUserCoupons","self","result","result2","minamount","temparr","each","index","el","routeToGoodsList","get_is_support_baoz","goodsType","getGameInfo","callback","ext_info","base_unit_name","getCommonGoodsConfig","hot_areas","support_type","indexOf","transAreaList","arr","area_id","area_name","checked","isCurrent","grouplist","transGroupList","group_id","group_name","arealist","transTemplate","filter","values","group","area","multiSelArea","getMobileGameGroup","getGroupList","multiSelAreaCheckbox","check","arrArea","val","arrSel","multiSelGroup","hasGroupInArea","removeSelListMulti","multiSelLev1","list1","multiSelLev1Checkbox","parentid","section_id","multiSelLev2","removeSelListMultiLev","lev","multiConfirmArea","flag","getAreaGroupsParam","hide","multiConfirm","title","param","val1","value","setTempleteParams","gotoMatchTrade","decodeURIComponent","isEmptyObject","searchProperties","sell_type","toString","area_id_groups","limit","game_operator_id","safe_type","join","item_type","jsTrade","goodList","myList","show","_vds","trackPV","ex","gotoDetail","book_id","gotoGoodsDetail","showDetail","divHtmlTxt","html","left","width","popover","parent","siblings","contentHtml","closest","showArea","top","offset","parents","temp","ishowmap","nowtetx","keyuPrice","nowPrice","checkPrice","getDetail","isCommonGoods","security","queryDetail","bookId","pDetail","goodsDetail","detail","getReceiveAreaList","ptips","tipsarr","物品数量","金币数量","深渊票数量","convertPtips","pTips","tooltip_obj","status","html_text","removeAttr","getDetail4jsp","valArray","Array","isArray","pageGoto","resetSort","addClass","removeClass","next","priceSort","event","hasClass","goodType","sortType","unit_price","quantity","total_price","deliver_time","sold_bag_qty","param_order_dir","setOrderParams","getIsMobile","gameid","getGameByGameId","getGameName","getGoodsType","typeTradeMode","getGameOs","cb","getGameOperator","showListMore","getMobileGameArea","getAreaList","hotAreaList","sortAreaList","reverse","item","unshift","height","setTopfilterSearch","game_name_spy","slice","toUpperCase","setTimeout","game_name","goods_types_name","race_name","selGoodsType","getTemplate","getChartConfig","getBijiaOrigin","switchListType","clearGoodsType","clearAllFilter","getchart","clearGameOs","clearGameOperator","area_groups","areaGroupsObj","flag2","clearAreaGroupsParam","inArray","selGameOs","selGameOperator","selArea","fromUrl","tag","clearAreaGroups","arr_del","d","concat","tempSelArea","tempArrSel","arrArea2","filterArea","c","selGroup","isPrace","isSelectPrace","p_race","getRecJbMallList","getRecShMallList","selRace","race_id","getGameQueryConfig","query_params","pageNo","pageSize","jbMall","records","forEach","sellType","inputContentAmount","inputContentMoney","minAmountYuan","totalAmount","Number","priceHint","totalPrice","Math","ceil","toFixed","blurChangeMoney","rec","shMall","minBagQty","orgIndex","deliveryModeDesc","map","floor","eachPrice","initShList","getMerchantGameList","securedType","openFlag","merchantGameList","some","selectSellType","elArray","nextAll","queryConfig","hasUnitPoint","changeIptContent","computePrice","computeAmount","blurChangeAmount","buyAmount","buyPrice","changeShIpt","computePriceSh","blurShIpt","computedMoney","confirmBuyGoods","price","unitName","gotoJbMallApply","open","gotoShMallApply","gotoAllMallList","clearGroup","filterGroup","tempurl","level","QueryTemplateByLevel","action_type","pre_level_values","accountGoodsSearchTemplate","sellist","container","safeAll","showConfirm","consignbuy","p_key","p_title","inputrange","transparam","valuelist","query","arr2","selRow","clearTempleteParams","noreload","curKeyArr","el2","popDetail","tooltip_data","popDetail4jsp","transregional_info","showTips","crossArea","baopeiDay","reg","day","match","account_insurance_time","p_values","accountInsuranceTime","showTips4jsp","showHuTips","offsetLeft","offsetTop","hideHuTips","hideDetail","hideDetailTip","setInputRange","input1","input2","value1","value2","getDetailUrl","chartgameName","chartgamearea","chartgamegroup","game_area","game_group","alist","exec_time","shift","dateArray","blist","gmmlist","keys","res","tempjson","goods_price","goodprice","priceint","len","longestname","ind","Highcharts","chart","style","fontWeight","margin","x","credits","enabled","xAxis","categories","tickInterval","yAxis","align","rotation","y","lineWidth","labels","opposite","legend","verticalAlign","colors","plotOptions","series","marker","symbol","radius","responsive","rules","condition","maxWidth","chartOptions","layout","price_chart_open_flag","price_chart_tips","getInsuranceSwitch","object_id","memo","getNewCouponList","new_user_coupons","hasLoggedIn","itemTypesList","getDnfCoinShow","show_flag","openDnfSign","getDnfSignConfig","open_flag","sign_url","setListCol","col","getCsScreenSwitch","checkGameOpenCsScreenShotFlag","queryTransregionallAreaGroup","checkAreaTrans","is_transareagroup","getItemConfig","itemList","itemType","selItemType","item_type_name","clearItemType","getRaceList","race_camp","options","tempList","sellCoin","availQty","moveShList","direction","newItem","firstGroup","firstItem","firstOrgindex","lastGroup","lastItem","lastOrgindex","bindEvent","on","val2","unit","toggleClass","toggle","more","ul","dataid","newul","arrow","clone","appendTo","thisOffsetTop","parentOffsetTop","newtop","ulid","parentId","parentTitle","entry","decodeURI","gameOs","operatorId","getPageModule","pageModel","queryAdvert","ad_position","gameinfo","checkGoodsType","typelist","typeName","typeCode","checkOs","checkOperator","checkArea","checkGroup","checkRace","racelist"],"mappings":"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"}