/*
 * @Author: mojunshou 1637302775@qq.com
 * @Date: 2025-03-20 18:39:37
 * @LastEditors: mojunshou 1637302775@qq.com
 * @LastEditTime: 2025-04-29 16:28:24
 * @Description: 红包列表item
 */
import { _decorator, Label, Node, ProgressBar, Sprite } from 'cc';
import { oops } from 'db://oops-framework/core/Oops';
import { GameComponent } from 'db://oops-framework/module/common/GameComponent';
import { smc } from '../common/SingletonModuleComp';
import { TableLevelConfig } from '../common/table/TableLevelConfig';
import { ServerHandler } from '../common/manager/ServerHandler';
import { DCHandler } from '../common/manager/DCHandler';

const { ccclass, property } = _decorator;

/** 显示对象控制 */
@ccclass('RedPackeItemView')
export class RedPackeItemView extends GameComponent {
    @property(Node)
    private receiveNode: Node = null!;
    @property(Node)
    private receivedNode: Node = null!;
    @property(Node)
    private unReceiveNode: Node = null!;
    @property(Label)
    private lab_title: Label = null!;
    @property(Label)
    private lab_progress: Label = null!;
    @property(ProgressBar)
    private pro_progress: ProgressBar = null!;
    private sp_icon: Sprite = null!;
    @property(Label)
    private lab_num: Label = null!;

    data: any = {
        id: 0,
        title_num: 0,
        cur_num: 0,
        total_num: 0,
        status: 0,
        reward: [],
        level: 0
    }

    protected start() {
        this.setButton();
    }


    setItem(data: any, idx: number) {
        this.data.id = data.id;
        this.data.level = data.level;
        this.data.title_num = data.target;
        this.data.cur_num = smc.account.AccountModel.xcCount;
        this.data.total_num = data.target;
        this.data.status = data.status;
        this.data.reward = data.reward;
        this.updateData();
    }

    //更新数据
    private updateData() {
        this.unReceiveNode.active = this.data.status == 0;
        this.receiveNode.active = this.data.status == 1;
        this.receivedNode.active = this.data.status == 2;
        this.lab_title.string = this.data.title_num + "次";
        this.lab_num.string = this.data.reward[0].propNum + "元";
        this.lab_progress.string = `${this.data.cur_num}/${this.data.total_num}`;
        const loadNum = this.data.cur_num / this.data.total_num > 1 ? 1 : this.data.cur_num / this.data.total_num;
        this.pro_progress.progress = loadNum;
    }


    //进行中按钮
    private btn_none() {
        oops.gui.toast("完成任务即可领取红包~");
    }


    //可领取按钮
    private btn_receive() {
        //发送领取红包请求
        if (this.data.status == 1) {
            // console.log("发送领取红包请求");
            ServerHandler.inst.getDailyReward(this.data.level);
            DCHandler.inst.reportData(3000902, this.data.level);
        }
    }










}