sign_total_reward.ts 2.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364
  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. const { ccclass, property } = _decorator;
  7. @ccclass('sign_total_reward')
  8. export class sign_total_reward extends Component {
  9. @property(Prefab) total_reward_item:Prefab = null
  10. @property(Node) content:Node = null
  11. private m_cb = null
  12. start() {
  13. }
  14. initView(data_list:sign_total_reward_data[], cb) {
  15. this.m_cb = cb
  16. this.content.removeAllChildren()
  17. for (let index = 0; index < data_list.length; index++) {
  18. const element = data_list[index];
  19. element.temp_is_last_receive = false
  20. if(index<data_list.length-1) {
  21. let next_element = data_list[index+1]
  22. if(next_element.is_receive_status==0) {
  23. element.temp_is_last_receive=true
  24. }
  25. }
  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(index==0) {
  31. item_component.hideLeftLine()
  32. } else if(index==data_list.length-1) {
  33. item_component.hideRightLine()
  34. }
  35. }
  36. }
  37. private onClickItem(item:sign_total_reward_item) {
  38. let data = item.getData()
  39. if(data.receive_status==1) {
  40. return
  41. }
  42. if(data.is_receive_status==0) {
  43. return
  44. }
  45. let opt = {'index':data.index}
  46. http.post(config.API.user_total_receive,opt, (err,d)=>{
  47. if(!err){
  48. let nd = JSON.parse(d)
  49. if(nd.code === config.status.SUCCESS){
  50. console.log("累计领取", nd.content)
  51. this.m_cb && this.m_cb()
  52. }
  53. }
  54. })
  55. }
  56. }