difenduandada
2024-12-31 34abe6963b344c882358274957f4b992456fee40
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
 
                (function() {
                    var nodeEnv = typeof require !== 'undefined' && typeof process !== 'undefined';
                    var __module = nodeEnv ? module : {exports:{}};
                    var __filename = 'preview-scripts/assets/Scripts/mod/invitecode/view/invitecode_my_item.js';
                    var __require = nodeEnv ? function (request) {
                        return cc.require(request);
                    } : function (request) {
                        return __quick_compile_project__.require(request, __filename);
                    };
                    function __define (exports, require, module) {
                        if (!nodeEnv) {__quick_compile_project__.registerModule(__filename, module);}"use strict";
cc._RF.push(module, '4becay08NxDb5s4K4ghmoRI', 'invitecode_my_item');
// Scripts/mod/invitecode/view/invitecode_my_item.js
 
"use strict";
 
// --------------------------------------------------------------------
// @author: xxx@syg.com(必填, 创建模块的人员)
// @description:
//     这里是描述这个窗体的作用的
// <br/>Create: 2019-04-29 14:53:41
// --------------------------------------------------------------------
var PathTool = require("pathtool");
 
var Invitecode_myPanel = cc.Class({
  "extends": BasePanel,
  ctor: function ctor() {
    this.prefabPath = PathTool.getPrefabPath("invitecode", "invitecode_my_item");
  },
  // 可以初始化声明一些变量的
  initConfig: function initConfig() {
    this.ctrl = require("invitecode_controller").getInstance();
    this.tesk_list = Config.invite_code_data.data_tesk_list;
    this.item_list = {};
  },
  // 初始化一些配置数据,可以用于声明一些变量之类的
  initPanel: function initPanel() {
    this.btn_get = this.seekChild("btn_get");
    this.btn_get.active = false;
    this.btn_goto = this.seekChild("btn_goto");
    this.btn_goto.active = false;
    this.has_spr = this.seekChild("has_spr");
    this.has_spr.active = false;
    this.tesk_num_lb = this.seekChild("tesk_num", cc.Label);
    this.title_name_lb = this.seekChild("title_name", cc.Label);
    this.title_name_lb.string = "";
    this.good_cons = this.seekChild("good_cons");
  },
  // 注册事件监听的接口,不需要手动调用,如果是使用gcore.GlobalEvent监听,可以直接调用addGlobalEvent
  registerEvent: function registerEvent() {
    Utils.onTouchEnd(this.btn_get, function () {
      if (this.data) {
        this.ctrl.sender19805(this.data.id);
      }
    }.bind(this), 1);
    Utils.onTouchEnd(this.btn_goto, function () {
      message(Utils.TI18N("您邀请的用户还未达成目标哦~~~"));
    }.bind(this), 1);
  },
  setData: function setData(data) {
    this.data = data;
    if (this.root_wnd) this.onShow();
  },
  // 预制体加载完成之后,添加到对应主节点之后的回调可以设置一些数据了
  onShow: function onShow() {
    if (this.data == null) return;
    var data = this.data;
 
    if (this.tesk_list[data.id]) {
      this.title_name_lb.string = this.tesk_list[data.id].desc || "";
    }
 
    var tesk_data = this.ctrl.getModel().getInviteCodeFinishData(data.id);
 
    if (tesk_data && Utils.next(tesk_data)) {
      this.btn_goto.active = false;
      var num = tesk_data.num || 0;
      var str = cc.js.formatStr("(%s/%s)", num, data.num);
      this.tesk_num_lb.string = str;
      var had = tesk_data.had || 0;
 
      if (num > had) {
        this.has_spr.active = false;
        this.btn_get.active = true;
      } else {
        this.has_spr.active = true;
        this.btn_get.active = false;
      }
    } else {
      this.has_spr.active = false;
      this.btn_goto.active = true;
      var str = cc.js.formatStr("(%s/%s)", 0, data.num);
      this.tesk_num_lb.string = str;
    }
 
    var list = {};
    var index = 0;
 
    if (this.tesk_list[data.id]) {
      for (var i in this.tesk_list[data.id].items) {
        var v = this.tesk_list[data.id].items[i];
 
        if (!this.item_list[i]) {
          var _item = ItemsPool.getInstance().getItem("backpack_item");
 
          _item.initConfig(false, 0.7, false, true);
 
          _item.show();
 
          _item.setParent(this.good_cons);
 
          _item.setPosition(index * 100 + 60, 50);
 
          this.item_list[i] = _item;
          index = index + 1;
        }
 
        var item = this.item_list[i];
        item.setData({
          bid: v[0],
          num: v[1]
        });
      }
    }
  },
  // 面板设置不可见的回调,这里做一些不可见的屏蔽处理
  onHide: function onHide() {},
  // 当面板从主节点释放掉的调用接口,需要手动调用,而且也一定要调用
  onDelete: function onDelete() {
    if (this.item_list) {
      for (var k in this.item_list) {
        this.item_list[k].deleteMe();
        this.item_list[k] = null;
      }
 
      this.item_list = null;
    }
  }
});
 
cc._RF.pop();
                    }
                    if (nodeEnv) {
                        __define(__module.exports, __require, __module);
                    }
                    else {
                        __quick_compile_project__.registerModuleFunc(__filename, function () {
                            __define(__module.exports, __require, __module);
                        });
                    }
                })();
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbImFzc2V0c1xcU2NyaXB0c1xcbW9kXFxpbnZpdGVjb2RlXFx2aWV3XFxpbnZpdGVjb2RlX215X2l0ZW0uanMiXSwibmFtZXMiOlsiUGF0aFRvb2wiLCJyZXF1aXJlIiwiSW52aXRlY29kZV9teVBhbmVsIiwiY2MiLCJDbGFzcyIsIkJhc2VQYW5lbCIsImN0b3IiLCJwcmVmYWJQYXRoIiwiZ2V0UHJlZmFiUGF0aCIsImluaXRDb25maWciLCJjdHJsIiwiZ2V0SW5zdGFuY2UiLCJ0ZXNrX2xpc3QiLCJDb25maWciLCJpbnZpdGVfY29kZV9kYXRhIiwiZGF0YV90ZXNrX2xpc3QiLCJpdGVtX2xpc3QiLCJpbml0UGFuZWwiLCJidG5fZ2V0Iiwic2Vla0NoaWxkIiwiYWN0aXZlIiwiYnRuX2dvdG8iLCJoYXNfc3ByIiwidGVza19udW1fbGIiLCJMYWJlbCIsInRpdGxlX25hbWVfbGIiLCJzdHJpbmciLCJnb29kX2NvbnMiLCJyZWdpc3RlckV2ZW50IiwiVXRpbHMiLCJvblRvdWNoRW5kIiwiZGF0YSIsInNlbmRlcjE5ODA1IiwiaWQiLCJiaW5kIiwibWVzc2FnZSIsIlRJMThOIiwic2V0RGF0YSIsInJvb3Rfd25kIiwib25TaG93IiwiZGVzYyIsInRlc2tfZGF0YSIsImdldE1vZGVsIiwiZ2V0SW52aXRlQ29kZUZpbmlzaERhdGEiLCJuZXh0IiwibnVtIiwic3RyIiwianMiLCJmb3JtYXRTdHIiLCJoYWQiLCJsaXN0IiwiaW5kZXgiLCJpIiwiaXRlbXMiLCJ2IiwiaXRlbSIsIkl0ZW1zUG9vbCIsImdldEl0ZW0iLCJzaG93Iiwic2V0UGFyZW50Iiwic2V0UG9zaXRpb24iLCJiaWQiLCJvbkhpZGUiLCJvbkRlbGV0ZSIsImsiLCJkZWxldGVNZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxJQUFJQSxRQUFRLEdBQUdDLE9BQU8sQ0FBQyxVQUFELENBQXRCOztBQUVBLElBQUlDLGtCQUFrQixH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QUFDbEIsUUFBSSxLQUFLL0MsU0FBVCxFQUFvQjtBQUNoQixXQUFLLElBQUlnRCxDQUFULElBQWMsS0FBS2hELFNBQW5CLEVBQThCO0FBQzFCLGFBQUtBLFNBQUwsQ0FBZWdELENBQWYsRUFBa0JDLFFBQWxCO0FBQ0EsYUFBS2pELFNBQUwsQ0FBZWdELENBQWYsSUFBb0IsSUFBcEI7QUFDSDs7QUFDRCxXQUFLaEQsU0FBTCxHQUFpQixJQUFqQjtBQUNIO0FBQ0o7QUE5RzZCLENBQVQsQ0FBekIiLCJzb3VyY2VSb290IjoiLyIsInNvdXJjZXNDb250ZW50IjpbIi8vIC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBAYXV0aG9yOiB4eHhAc3lnLmNvbSjlv4XloassIOWIm+W7uuaooeWdl+eahOS6uuWRmClcbi8vIEBkZXNjcmlwdGlvbjpcbi8vICAgICDov5nph4zmmK/mj4/ov7Dov5nkuKrnqpfkvZPnmoTkvZznlKjnmoRcbi8vIDxici8+Q3JlYXRlOiAyMDE5LTA0LTI5IDE0OjUzOjQxXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLVxudmFyIFBhdGhUb29sID0gcmVxdWlyZShcInBhdGh0b29sXCIpO1xuXG52YXIgSW52aXRlY29kZV9teVBhbmVsID0gY2MuQ2xhc3Moe1xuICAgIGV4dGVuZHM6IEJhc2VQYW5lbCxcbiAgICBjdG9yOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMucHJlZmFiUGF0aCA9IFBhdGhUb29sLmdldFByZWZhYlBhdGgoXCJpbnZpdGVjb2RlXCIsIFwiaW52aXRlY29kZV9teV9pdGVtXCIpO1xuICAgIH0sXG5cbiAgICAvLyDlj6/ku6XliJ3lp4vljJblo7DmmI7kuIDkupvlj5jph4/nmoRcbiAgICBpbml0Q29uZmlnOiBmdW5jdGlvbiAoKSB7XG4gICAgICAgIHRoaXMuY3RybCA9IHJlcXVpcmUoXCJpbnZpdGVjb2RlX2NvbnRyb2xsZXJcIikuZ2V0SW5zdGFuY2UoKTtcbiAgICAgICAgdGhpcy50ZXNrX2xpc3QgPSBDb25maWcuaW52aXRlX2NvZGVfZGF0YS5kYXRhX3Rlc2tfbGlzdDtcbiAgICAgICAgdGhpcy5pdGVtX2xpc3QgPSB7fTtcbiAgICB9LFxuXG4gICAgLy8g5Yid5aeL5YyW5LiA5Lqb6YWN572u5pWw5o2uLOWPr+S7peeUqOS6juWjsOaYjuS4gOS6m+WPmOmHj+S5i+exu+eahFxuICAgIGluaXRQYW5lbDogZnVuY3Rpb24gKCkge1xuICAgICAgICB0aGlzLmJ0bl9nZXQgPSB0aGlzLnNlZWtDaGlsZChcImJ0bl9nZXRcIik7XG4gICAgICAgIHRoaXMuYnRuX2dldC5hY3RpdmUgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5idG5fZ290byA9IHRoaXMuc2Vla0NoaWxkKFwiYnRuX2dvdG9cIik7XG4gICAgICAgIHRoaXMuYnRuX2dvdG8uYWN0aXZlID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy5oYXNfc3ByID0gdGhpcy5zZWVrQ2hpbGQoXCJoYXNfc3ByXCIpO1xuICAgICAgICB0aGlzLmhhc19zcHIuYWN0aXZlID0gZmFsc2U7XG5cbiAgICAgICAgdGhpcy50ZXNrX251bV9sYiA9IHRoaXMuc2Vla0NoaWxkKFwidGVza19udW1cIiwgY2MuTGFiZWwpO1xuICAgICAgICB0aGlzLnRpdGxlX25hbWVfbGIgPSB0aGlzLnNlZWtDaGlsZChcInRpdGxlX25hbWVcIiwgY2MuTGFiZWwpO1xuICAgICAgICB0aGlzLnRpdGxlX25hbWVfbGIuc3RyaW5nID0gXCJcIjtcbiAgICAgICAgdGhpcy5nb29kX2NvbnMgPSB0aGlzLnNlZWtDaGlsZChcImdvb2RfY29uc1wiKTtcbiAgICB9LFxuXG4gICAgLy8g5rOo5YaM5LqL5Lu255uR5ZCs55qE5o6l5Y+jLOS4jemcgOimgeaJi+WKqOiwg+eUqCzlpoLmnpzmmK/kvb/nlKhnY29yZS5HbG9iYWxFdmVudOebkeWQrCzlj6/ku6Xnm7TmjqXosIPnlKhhZGRHbG9iYWxFdmVudFxuICAgIHJlZ2lzdGVyRXZlbnQ6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgVXRpbHMub25Ub3VjaEVuZCh0aGlzLmJ0bl9nZXQsIGZ1bmN0aW9uICgpIHtcbiAgICAgICAgICAgIGlmICh0aGlzLmRhdGEpIHtcbiAgICAgICAgICAgICAgICB0aGlzLmN0cmwuc2VuZGVyMTk4MDUodGhpcy5kYXRhLmlkKVxuICAgICAgICAgICAgfVxuICAgICAgICB9LmJpbmQodGhpcyksIDEpXG4gICAgICAgIFV0aWxzLm9uVG91Y2hFbmQodGhpcy5idG5fZ290bywgZnVuY3Rpb24gKCkge1xuICAgICAgICAgICAgbWVzc2FnZShVdGlscy5USTE4TihcIuaCqOmCgOivt+eahOeUqOaIt+i/mOacqui+vuaIkOebruagh+WTpn5+flwiKSlcbiAgICAgICAgfS5iaW5kKHRoaXMpLCAxKVxuICAgIH0sXG5cbiAgICBzZXREYXRhOiBmdW5jdGlvbiAoZGF0YSkge1xuICAgICAgICB0aGlzLmRhdGEgPSBkYXRhO1xuICAgICAgICBpZiAodGhpcy5yb290X3duZClcbiAgICAgICAgICAgIHRoaXMub25TaG93KCk7XG4gICAgfSxcblxuICAgIC8vIOmihOWItuS9k+WKoOi9veWujOaIkOS5i+WQjizmt7vliqDliLDlr7nlupTkuLvoioLngrnkuYvlkI7nmoTlm57osIPlj6/ku6Xorr7nva7kuIDkupvmlbDmja7kuoZcbiAgICBvblNob3c6IGZ1bmN0aW9uICgpIHtcbiAgICAgICAgaWYgKHRoaXMuZGF0YSA9PSBudWxsKSByZXR1cm5cbiAgICAgICAgdmFyIGRhdGEgPSB0aGlzLmRhdGE7XG4gICAgICAgIGlmICh0aGlzLnRlc2tfbGlzdFtkYXRhLmlkXSkge1xuICAgICAgICAgICAgdGhpcy50aXRsZV9uYW1lX2xiLnN0cmluZyA9IHRoaXMudGVza19saXN0W2RhdGEuaWRdLmRlc2MgfHwgXCJcIjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciB0ZXNrX2RhdGEgPSB0aGlzLmN0cmwuZ2V0TW9kZWwoKS5nZXRJbnZpdGVDb2RlRmluaXNoRGF0YShkYXRhLmlkKTtcbiAgICAgICAgaWYgKHRlc2tfZGF0YSAmJiBVdGlscy5uZXh0KHRlc2tfZGF0YSkpIHtcbiAgICAgICAgICAgIHRoaXMuYnRuX2dvdG8uYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB2YXIgbnVtID0gdGVza19kYXRhLm51bSB8fCAwO1xuICAgICAgICAgICAgdmFyIHN0ciA9IGNjLmpzLmZvcm1hdFN0cihcIiglcy8lcylcIiwgbnVtLCBkYXRhLm51bSk7XG4gICAgICAgICAgICB0aGlzLnRlc2tfbnVtX2xiLnN0cmluZyA9IHN0cjtcbiAgICAgICAgICAgIHZhciBoYWQgPSB0ZXNrX2RhdGEuaGFkIHx8IDA7XG4gICAgICAgICAgICBpZiAobnVtID4gaGFkKSB7XG4gICAgICAgICAgICAgICAgdGhpcy5oYXNfc3ByLmFjdGl2ZSA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIHRoaXMuYnRuX2dldC5hY3RpdmUgPSB0cnVlO1xuICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICB0aGlzLmhhc19zcHIuYWN0aXZlID0gdHJ1ZTtcbiAgICAgICAgICAgICAgICB0aGlzLmJ0bl9nZXQuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLmhhc19zcHIuYWN0aXZlID0gZmFsc2U7XG4gICAgICAgICAgICB0aGlzLmJ0bl9nb3RvLmFjdGl2ZSA9IHRydWU7XG4gICAgICAgICAgICB2YXIgc3RyID0gY2MuanMuZm9ybWF0U3RyKFwiKCVzLyVzKVwiLCAwLCBkYXRhLm51bSk7XG4gICAgICAgICAgICB0aGlzLnRlc2tfbnVtX2xiLnN0cmluZyA9IHN0cjtcbiAgICAgICAgfVxuXG4gICAgICAgIHZhciBsaXN0ID0ge307XG4gICAgICAgIHZhciBpbmRleCA9IDA7XG4gICAgICAgIGlmICh0aGlzLnRlc2tfbGlzdFtkYXRhLmlkXSkge1xuICAgICAgICAgICAgZm9yICh2YXIgaSBpbiB0aGlzLnRlc2tfbGlzdFtkYXRhLmlkXS5pdGVtcykge1xuICAgICAgICAgICAgICAgIGNvbnN0IHYgPSB0aGlzLnRlc2tfbGlzdFtkYXRhLmlkXS5pdGVtc1tpXTtcbiAgICAgICAgICAgICAgICBpZiAoIXRoaXMuaXRlbV9saXN0W2ldKSB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSBJdGVtc1Bvb2wuZ2V0SW5zdGFuY2UoKS5nZXRJdGVtKFwiYmFja3BhY2tfaXRlbVwiKTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5pbml0Q29uZmlnKGZhbHNlLCAwLjcsIGZhbHNlLCB0cnVlKTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zaG93KCk7XG4gICAgICAgICAgICAgICAgICAgIGl0ZW0uc2V0UGFyZW50KHRoaXMuZ29vZF9jb25zKTtcbiAgICAgICAgICAgICAgICAgICAgaXRlbS5zZXRQb3NpdGlvbihpbmRleCAqIDEwMCArIDYwLCA1MCk7XG4gICAgICAgICAgICAgICAgICAgIHRoaXMuaXRlbV9saXN0W2ldID0gaXRlbTtcbiAgICAgICAgICAgICAgICAgICAgaW5kZXggPSBpbmRleCArIDE7XG4gICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW0gPSB0aGlzLml0ZW1fbGlzdFtpXTtcbiAgICAgICAgICAgICAgICBpdGVtLnNldERhdGEoeyBiaWQ6IHZbMF0sIG51bTogdlsxXSB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAvLyDpnaLmnb/orr7nva7kuI3lj6/op4HnmoTlm57osIMs6L+Z6YeM5YGa5LiA5Lqb5LiN5Y+v6KeB55qE5bGP6JS95aSE55CGXG4gICAgb25IaWRlOiBmdW5jdGlvbiAoKSB7XG5cbiAgICB9LFxuXG4gICAgLy8g5b2T6Z2i5p2/5LuO5Li76IqC54K56YeK5pS+5o6J55qE6LCD55So5o6l5Y+jLOmcgOimgeaJi+WKqOiwg+eUqCzogIzkuJTkuZ/kuIDlrpropoHosIPnlKhcbiAgICBvbkRlbGV0ZTogZnVuY3Rpb24gKCkge1xuICAgICAgICBpZiAodGhpcy5pdGVtX2xpc3QpIHtcbiAgICAgICAgICAgIGZvciAodmFyIGsgaW4gdGhpcy5pdGVtX2xpc3QpIHtcbiAgICAgICAgICAgICAgICB0aGlzLml0ZW1fbGlzdFtrXS5kZWxldGVNZSgpO1xuICAgICAgICAgICAgICAgIHRoaXMuaXRlbV9saXN0W2tdID0gbnVsbDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICAgIHRoaXMuaXRlbV9saXN0ID0gbnVsbDtcbiAgICAgICAgfVxuICAgIH0sXG59KSJdfQ==