sign_total_reward.ts 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100
  1. import { _decorator, Component, instantiate, Node, Prefab } from 'cc';
  2. import { sign_total_reward_data } from '../../data';
  3. import { sign_total_reward_item } from './sign_total_reward_item';
  4. import { http } from '../../http';
  5. import { config } from '../../config';
  6. import { sign_total_reward_zw_item } from './sign_total_reward_zw_item';
  7. import { uiManager } from '../../manager/uiManager';
  8. const { ccclass, property } = _decorator;
  9. @ccclass('sign_total_reward')
  10. export class sign_total_reward extends Component {
  11. @property(Prefab) total_reward_item:Prefab = null
  12. @property(Prefab) total_reward_zw_item:Prefab = null
  13. @property(Node) content:Node = null
  14. private m_cb = null
  15. start() {
  16. }
  17. initView(total_number:number, data_list:sign_total_reward_data[], cb) {
  18. this.m_cb = cb
  19. this.content.removeAllChildren()
  20. let curr_day = total_number
  21. for (let i = 0; i < 7; i++) {
  22. let is_hav = false
  23. for (let index = 0; index < data_list.length; index++) {
  24. const element = data_list[index];
  25. if(i+1 == element.day_number) {
  26. let item = instantiate(this.total_reward_item)
  27. item.parent = this.content
  28. let item_component = item.getComponent(sign_total_reward_item)
  29. item_component.initView(element,this.onClickItem.bind(this))
  30. if(element.day_number==curr_day) {
  31. item_component.setLastReceive()
  32. }
  33. if(index==0) {
  34. // item_component.hideLeftLine()
  35. } else if(index==data_list.length-1) {
  36. item_component.hideRightLine()
  37. }
  38. is_hav = true
  39. break
  40. }
  41. }
  42. if(is_hav==false) {
  43. let item = instantiate(this.total_reward_zw_item)
  44. item.parent = this.content
  45. let item_component = item.getComponent(sign_total_reward_zw_item)
  46. if(curr_day>=i+1) {
  47. item_component.initView(true)
  48. } else {
  49. item_component.initView(false)
  50. }
  51. }
  52. }
  53. // for (let index = 0; index < data_list.length; index++) {
  54. // const element = data_list[index];
  55. // let item = instantiate(this.total_reward_item)
  56. // item.parent = this.content
  57. // let item_component = item.getComponent(sign_total_reward_item)
  58. // item_component.initView(element,this.onClickItem.bind(this))
  59. // if(index<data_list.length-1) {
  60. // let next_element = data_list[index+1]
  61. // if(next_element.is_receive_status==0) {
  62. // item_component.setLastReceive()
  63. // }
  64. // }
  65. // if(index==0) {
  66. // item_component.hideLeftLine()
  67. // } else if(index==data_list.length-1) {
  68. // item_component.hideRightLine()
  69. // }
  70. // }
  71. }
  72. private onClickItem(item:sign_total_reward_item) {
  73. let data = item.getData()
  74. if(data.receive_status==1) {
  75. return
  76. }
  77. if(data.is_receive_status==0) {
  78. return
  79. }
  80. uiManager.Instance().showLoading()
  81. let opt = {'index':data.index}
  82. http.post(config.API.user_total_receive,opt, (err,d)=>{
  83. uiManager.Instance().hideLoading()
  84. if(!err){
  85. let nd = JSON.parse(d)
  86. if(nd.code === config.status.SUCCESS){
  87. console.log("累计领取", nd.content)
  88. this.m_cb && this.m_cb(data)
  89. }
  90. }
  91. })
  92. }
  93. }