123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151 |
- const RankApi = require('../net/RankApi');
- cc.Class({
- extends: cc.Component,
- properties: {
- content: cc.Node,
- myNode: cc.Node,
- allRankSpriteFrame: [cc.SpriteFrame],
- friendRankSpriteFrame: [cc.SpriteFrame],
- secondTabSpriteFrame: [cc.SpriteFrame],
- topDivider: cc.Node,
- allRankTab: cc.Sprite,
- friendRankTab: cc.Sprite,
- companyTab: cc.Sprite,
- artistTab: cc.Sprite,
- companyText: cc.RichText,
- artistText: cc.RichText,
- srcollView: cc.ScrollView,
- },
- onLoad() {
- this.node.height = cc.view.getVisibleSize().height;
- this.contentY = this.content.y;
- this.content.y = this.content.height - cc.view.getVisibleSize().height;
- this.currentTab = 0;
- this.secondTab = 0;
- this.myScript = this.myNode.getComponent('RankItem');
- this.rankListScript = this.srcollView.getComponent('RankList');
- this.show();
- },
- onEnable() {
- this.allRankSelected();
- },
- allRankSelected() {
- // this.allRankTab.node.x = 480;
- // this.friendRankTab.node.x = 496;
- this.allRankTab.node.zIndex = 99;
- this.friendRankTab.node.zIndex = 0;
- this.allRankTab.spriteFrame = this.allRankSpriteFrame[1];
- this.friendRankTab.spriteFrame = this.friendRankSpriteFrame[0];
- this.currentTab = 0;
- this.data = null
- this.companyTabSelected();
- this.getData();
- },
- friendRankSelected() {
- // this.allRankTab.node.x = 496;
- // this.friendRankTab.node.x = 480;
- this.allRankTab.node.zIndex = 0;
- this.friendRankTab.node.zIndex = 99;
- this.allRankTab.spriteFrame = this.allRankSpriteFrame[0];
- this.friendRankTab.spriteFrame = this.friendRankSpriteFrame[1];
- this.currentTab = 1;
- this.data = null
- this.companyTabSelected();
- this.getData();
- },
- companyTabSelected() {
- this.secondTab = 0;
- this.topDivider.x = -140;
- this.companyTab.spriteFrame = this.secondTabSpriteFrame[1];
- this.artistTab.spriteFrame = this.secondTabSpriteFrame[0];
- this.setSelectedText(this.companyText, '经济公司');
- this.setDefaultText(this.artistText, '艺人');
- if (this.data) {
- this.bindData(this.data.companyRank);
- }
- },
- artistTabSelected() {
- this.secondTab = 1;
- this.topDivider.x = 140;
- this.companyTab.spriteFrame = this.secondTabSpriteFrame[0];
- this.artistTab.spriteFrame = this.secondTabSpriteFrame[1];
- this.setDefaultText(this.companyText, '经济公司');
- this.setSelectedText(this.artistText, '艺人');
- if (this.data) {
- this.bindData(this.data.artistRank);
- }
- },
- setDefaultText(richText, message) {
- richText.node.color = new cc.Color(161, 105, 33);
- richText.string = `<outline color=#A16921 width=1><b>${message}<b></outline>`
- },
- setSelectedText(richText, message) {
- richText.node.color = new cc.Color(255, 244, 222);
- richText.string = `<outline color=#c47005 width=2><b>${message}<b></outline>`
- },
- show() {
- this.content.y = -cc.view.getVisibleSize().height;
- let s = cc.sequence(cc.moveTo(0.2, 0, this.contentY + 20).easing(cc.easeCubicActionOut()), cc.moveBy(0.05, 0, -20));
- this.content.runAction(s);
- this.scheduleOnce(() => {
- }, 0.2);
- },
- close() {
- if (this.node && this.node.parent) {
- let self = this;
- let finish = cc.callFunc(() => {
- self.node.destroy();
- }, this)
- this.content.runAction(cc.sequence(cc.moveTo(0.2, 0, -cc.view.getVisibleSize().height).easing(cc.easeCubicActionIn()), finish));
- }
- },
- getData() {
- let promise = null;
- if (this.currentTab === 0) {
- promise = RankApi.getAllRankPromise();
- } else {
- promise = RankApi.getFriendRankPromise();
- }
- this.scheduleOnce(() => {
- promise.then(res => {
- this.data = res.data;
- this.bindData(this.data.companyRank);
- }).catch((code, msg) => {
- console.log(code)
- });
- }, 0.3);
- },
- bindData(pageData) {
- this.srcollView.stopAutoScroll();
- this.srcollView.scrollToTop(0);
- this.myScript.setType(this.secondTab);
- this.myScript.bindMySelf(pageData.me);
- this.rankListScript.bindData(pageData.ranks);
- },
- });
|