"use strict";
cc._RF.push(module, '37f92t1dTRJi6+ivqolkPd8', 'action_limit_buy_item');
// Scripts/mod/action/view/action_limit_buy_item.js
"use strict";
var PathTool = require("pathtool");
var ActionController = require("action_controller");
var ActionConst = require("action_const");
var StrongerController = require("stronger_controller");
var CommonScrollView = require("common_scrollview");
var VipController = require("vip_controller");
var HeroController = require("hero_controller");
var ActionLimitBuyItem = cc.Class({
"extends": BasePanel,
ctor: function ctor() {
this.prefabPath = PathTool.getPrefabPath("action", "action_limit_buy_item");
this.ctrl = ActionController.getInstance();
},
// 可以初始化声明一些变量的
initConfig: function initConfig() {},
// 初始化一些配置数据,可以用于声明一些变量之类的
initPanel: function initPanel() {
var self = this;
self.main_container = self.root_wnd.getChildByName("main_container");
self.title_label = self.main_container.getChildByName("title_label").getComponent(cc.Label);
self.goods_con = self.main_container.getChildByName("goods_con");
self.has_bg = self.main_container.getChildByName("has_bg");
self.has_bg.active = false;
self.btn = self.main_container.getChildByName("btn");
self.btn_state = self.btn.getComponent(cc.Button);
self.old_price = self.main_container.getChildByName("old_price");
self.price_line = self.old_price.getChildByName("price_line");
self.limit_rt = self.main_container.getChildByName("limit_label").getComponent(cc.RichText);
self.num = self.btn.getChildByName("num").getComponent(cc.Label);
self.line = self.btn.getChildByName("num").getComponent(cc.LabelOutline);
var scroll_view_size = self.goods_con.getContentSize();
var setting = {
item_class: "backpack_item",
//-- 单元类
start_x: 3,
//-- 第一个单元的X起点
space_x: 15,
//-- x方向的间隔
start_y: 11,
//-- 第一个单元的Y起点
space_y: 4,
//-- y方向的间隔
item_width: 120 * 0.7,
//-- 单元的尺寸width
item_height: 120 * 0.7,
//-- 单元的尺寸height
row: 1,
//-- 行数,作用于水平滚动类型
col: 0,
//-- 列数,作用于垂直滚动类型
scale: 0.7
};
self.item_scrollview = new CommonScrollView();
self.item_scrollview.createScroll(self.goods_con, cc.v2(0, 0), ScrollViewDir.horizontal, ScrollViewStartPos.top, scroll_view_size, setting);
if (this.data) {
this.setData(this.data);
}
},
// 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
registerEvent: function registerEvent() {
var self = this;
this.btn.on('click', function () {
Utils.playButtonSound(1);
if (this.data) {
if (self.data.status == 0 && self.touch_limit_buy == true) {
// self.touch_limit_buy = null
var new_price = Utils.keyfind('aim_args_key', 27, self.data.aim_args) || {};
SDK.pay(new_price.aim_args_val, 1, self.data.aim, self.data.aim_str); // if(self.send_limit_buy_ticket == null){
// self.send_limit_buy_ticket = GlobalTimeTicket:getInstance():add(function()
// self.touch_limit_buy = true
// if self.send_limit_buy_ticket ~= null then
// GlobalTimeTicket:getInstance():remove(self.send_limit_buy_ticket)
// self.send_limit_buy_ticket = null
// end
// end,2)
// }
} else if (self.data.status == 2) {
message(Utils.TI18N("已经购买完了"));
}
}
}, this);
},
// 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
onShow: function onShow(params) {},
// 面板设置不可见的回调,这里做一些不可见的屏蔽处理
onHide: function onHide() {},
setData: function setData(data) {
if (!data) return;
this.data = data;
var self = this;
if (this.root_wnd) {
this.touch_limit_buy = true;
self.data = data;
var list = [];
for (var k = 0; k < data.item_list.length; ++k) {
var v = data.item_list[k];
if (v && v.bid) {
list.push(v);
}
}
self.item_scrollview.setData(list);
self.item_scrollview.addEndCallBack(function () {
self.item_scrollview.scroll_view_compend.enabled = false;
var itemList = self.item_scrollview.getItemList();
for (var _k = 0; _k < itemList.length; ++_k) {
var _v = itemList[_k];
_v.setDefaultTip(true, false);
}
}.bind(this));
var discount = Utils.keyfind('aim_args_key', 26, data.aim_args) || {};
var new_price = Utils.keyfind('aim_args_key', 27, data.aim_args) || {};
var txt = "原价:¥ " + discount.aim_args_val;
self.old_price.getComponent(cc.Label).string = txt;
self.price_line.active = true;
var price_str = "¥ " + new_price.aim_args_val;
self.num.string = price_str;
self.title_label.string = data.aim_str;
var _type = self.getValByKey(data.aim_args, 7) || 0;
var max_num = self.getValByKey(data.aim_args, 2) || 0;
var cur_num = self.getValByKey(data.aim_args, 6) || 0;
var str = "";
if (_type == 1) {
//--日限购
if (max_num >= 0 && max_num != 0 && cur_num >= 0) {
str = "每周限购" + max_num + "个: (" + "" + cur_num + "/" + max_num + ")";
}
} else if (_type == 2) {
// --累计限购
if (max_num >= 0 && max_num != 0 && cur_num >= 0) {
str = "总限购" + max_num + "个: (" + "" + cur_num + "/" + max_num + ")";
}
}
self.limit_rt.string = str;
if (data.sort_index == 2) {
self.btn_state.interactable = false;
self.btn_state.enableAutoGrayEffect = true;
self.line.enabled = false;
} else {
self.btn_state.interactable = true;
self.btn_state.enableAutoGrayEffect = false;
self.line.enabled = true;
}
}
},
getValByKey: function getValByKey(aim_args, key) {
if (!aim_args) {
return 0;
}
var val = 0;
for (var i = 0; i < aim_args.length; ++i) {
var v = aim_args[i];
if (v.aim_args_key == key) {
val = v.aim_args_val;
}
}
return val;
},
// 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
onDelete: function onDelete() {
if (this.item_scrollview) {
this.item_scrollview.deleteMe();
this.item_scrollview = null;
}
}
});
cc._RF.pop();