123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158 |
- import { _decorator, instantiate, Label, Node, Prefab, RichText, ScrollView, tween, UIOpacity, v3 } from 'cc';
- import { BaseView } from '../../../framework/layer/BaseView';
- import { Framework } from '../../../framework/Framework';
- import { StringUtil } from '../../../framework/util/StringUtil';
- import { ViewID } from '../../../framework/config/LayerConf';
- import { GameEvent } from '../../data/GameEvent';
- import { MailData } from '../../data/MailData';
- import { LoginMgr } from '../../common/LoginManager';
- import List from '../../../framework/list/List';
- import { CommonItem } from '../common/CommonItem';
- const { ccclass, property } = _decorator;
- @ccclass('MailDetail')
- export class MailDetail extends BaseView {
- @property({ type: Label, tooltip: "关闭提示" })
- closeTips: Label = null;
- @property({ type: Label, tooltip: "标题" })
- titleTx: Label = null;
- @property({ type: Label, tooltip: "发件人标题" })
- fromTitle: Label = null;
- @property({ type: Label, tooltip: "发件人文字" })
- fromTx: Label = null;
- @property({ type: Label, tooltip: "主题标题" })
- captionTitle: Label = null;
- @property({ type: Label, tooltip: "主题文字" })
- captionTx: Label = null;
- @property({ type: Label, tooltip: "邮件时间" })
- timeTx: Label = null;
- @property({ type: RichText, tooltip: "邮件内容" })
- msgTx: RichText = null;
- @property({ type: Node, tooltip: "附件背景" })
- awardsBg: Node = null;
- @property({ type: List, tooltip: "附件容器" })
- awardsSv: List = null;
- @property({ type: Label, tooltip: "附件标题" })
- awardsTitle: Label = null;
- @property({ type: Node, tooltip: "附件领取标记" })
- getTips: Node = null;
- @property({ type: Node, tooltip: "领取按钮" })
- getBtn: Node = null;
- @property({ type: Label, tooltip: "领取按钮文字" })
- getBtnTx: Label = null;
- @property({ type: Node, tooltip: "删除按钮" })
- delBtn: Node = null;
- @property({ type: Label, tooltip: "删除按钮文字" })
- delBtnTx: Label = null;
- private data = null;
- onLoad() {
- super.onLoad();
- this.closeTips.string = StringUtil.getLanguageData('点击空白关闭');
- this.titleTx.string = StringUtil.getLanguageData('邮件详情');
- this.fromTitle.string = StringUtil.getLanguageData('来自');
- this.captionTitle.string = StringUtil.getLanguageData('主题');
- this.awardsTitle.string = StringUtil.getLanguageData('附件');
- this.getTips.getComponent(Label).string = StringUtil.getLanguageData('附件已领取');
- this.getBtnTx.string = StringUtil.getLanguageData('领取附件');
- this.delBtnTx.string = StringUtil.getLanguageData('删除邮件');
-
- tween(this.closeTips.node.getComponent(UIOpacity))
- .to(1.2, { opacity: 10 })
- .to(1, { opacity: 255 })
- .union()
- .repeatForever()
- .start()
- }
- onDestroy() {
- super.onDestroy();
- }
- onOpen(data) {
- this.data = data;
- this.updateUI();
- }
- onClose() {
- }
- onShow() {
- }
- onHide() {
- }
- private onTouchButton(event: Event, customStr) {
- let target: any = event.target;
- if (target.name == 'mask') {
- Framework.layer.close(this);
- } else if (target.name == 'del_btn') {
- LoginMgr.sendPost('user', 'batch_del_mail', (data) => {
- // console.log(data);
- MailData.removeMail(data.del_mails);
- Framework.event.fireEvent(GameEvent.MailUpdate);
- Framework.layer.close(this);
- }, { ids: [this.data.id] })
- } else if (target.name == 'get_btn') {
- LoginMgr.sendPost('user', 'read_mail', (data) => {
- // console.log(data);
- MailData.setMailReadById(this.data.id)
- Framework.event.fireEvent(GameEvent.MailUpdate);
- Framework.layer.open(ViewID.MailDetail, null, this.data);
- }, { id: this.data.id })
- }
- }
- private updateUI() {
- this.captionTx.string = MailData.getMailText(this.data.title, true);
- let context = MailData.getMailText(this.data.content, false)
- this.msgTx.string = `<b>${StringUtil.getLanguageData(context)}</b>`;
- if (this.data.award && this.data.award.size > 0) {
- this.awardsBg.active = true;
- this.awardsSv.numItems = this.data.award.size;
- if (Number(this.data.read) == 1) {
- this.getBtn.active = false;
- this.delBtn.active = true;
- this.getTips.active = false;
- } else {
- this.getBtn.active = true;
- this.delBtn.active = false;
- this.getTips.active = false;
- }
- } else {
- this.awardsBg.active = false;
- this.getBtn.active = false;
- this.delBtn.active = true;
- this.getTips.active = false;
- }
- }
- onEventList(item, idx) {
- item.getComponent(CommonItem).refreshItem(this.data.award[idx]);
- }
- }
|