// // WalletHomeVC.m // StarAndGuest // // Created by apple on 2021/8/10. // Copyright © 2021 刘惠萍. All rights reserved. // #import "WalletHomeVC.h" #import "xingchuangke-Swift.h" @interface WalletHomeVC () @property (strong, nonatomic) WalletHomeHeaderView *headerView; @property (strong, nonatomic) ModelWallet *model; @end @implementation WalletHomeVC - (WalletHomeHeaderView *)headerView{ if (!_headerView) { _headerView = [WalletHomeHeaderView new]; _headerView.frame = CGRectMake(0, 0, SCREEN_WIDTH, _headerView.height); } return _headerView; } - (void)viewDidLoad { [super viewDidLoad]; [self.view addSubview:[BaseNavView initNavBackTitle:@"我的钱包" rightTitle:@"提现记录" rightBlock:^{ TiXianRecordListViewController *vc = [TiXianRecordListViewController new]; [GB_Nav pushViewController:vc animated:true]; }]]; self.tableView.backgroundColor=COLOR_ADDRESS; self.tableView.tableHeaderView = self.headerView; [self.tableView registerClass:[WalletHomeCell class] forCellReuseIdentifier:@"WalletHomeCell"]; [self requestList]; [self.view addSubview:^(){ UIButton *submitButton = [UIButton buttonWithType:UIButtonTypeCustom]; submitButton.tag = 1; [submitButton addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchUpInside]; submitButton.widthHeight = XY(SCREEN_WIDTH-W(50),44); submitButton.leftBottom = XY(W(25), SCREEN_HEIGHT - W(30)); submitButton.backgroundColor=COLOR_BLUE; [GlobalMethod setRoundView:submitButton color:[UIColor clearColor] numRound:22 width:0]; [submitButton setTitle:@"提现" forState:(UIControlStateNormal)]; self.tableView.height = submitButton.top - NAVIGATIONBAR_HEIGHT-2; return submitButton; }()]; } - (void)btnClick:(UIButton *)sender{ switch (sender.tag) { case 1: { TiXianViewController *vc = [TiXianViewController new]; vc.withdraw = str2F(self.model.profitBalance); vc.machineTypeId = @""; [GB_Nav pushViewController:vc animated:true]; } break; default: break; } } -(void)viewWillAppear:(BOOL)animated{ [super viewWillAppear:animated]; [self requestFindUserById]; self.navigationController.navigationBarHidden = true; } #pragma mark table view delegate - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{ return self.aryDatas.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{ WalletHomeCell *cell = [tableView dequeueReusableCellWithIdentifier:@"WalletHomeCell" forIndexPath:indexPath]; [cell resetCellWithModel:self.aryDatas[indexPath.row]]; return cell; } -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{ return [WalletHomeCell fetchHeight:self.aryDatas[indexPath.row]]; } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ ModelBrand *model = self.aryDatas[indexPath.row]; WalletRecordViewController *vc = [WalletRecordViewController new]; vc.machineTypeId = model.machineTypeId; vc.title = model.machineTypeName; [GB_Nav pushViewController:vc animated:true]; } - (void)requestList{ [RequestApi requestActivityAuthWithCode:@"0001" delegate:self success:^(NSDictionary * _Nonnull response, id _Nonnull mark) { NSArray *allArr=response[@"data"]; if (isAry(allArr)) { NSDictionary *dic=allArr.firstObject; NSArray * ary = [GlobalMethod exchangeDic:dic[@"machineTypeModelList"] toAryWithModelName:@"ModelBrand"]; [self.aryDatas removeAllObjects]; [self.aryDatas addObjectsFromArray:ary]; [self.tableView reloadData]; } } failure:^(NSString * _Nonnull errorStr, id _Nonnull mark) { }]; } -(void)requestFindUserById{ [RequestApi requestFindUserByIdWithDelegate:self success:^(NSDictionary * _Nonnull response, id _Nonnull mark) { ModelWallet *model = [ModelWallet modelObjectWithDictionary:response[@"dataInfo"]]; self.model=model; [self.headerView resetViewWithModel:model]; [self.tableView reloadData]; } failure:^(NSString * _Nonnull errorStr, id _Nonnull mark) { }]; } @end @implementation WalletHomeHeaderView #pragma mark 懒加载 - (UIImageView *)backView{ if (_backView == nil) { _backView = [UIImageView new]; _backView.image = [UIImage imageNamed:@"My-background"]; _backView.widthHeight = XY(SCREEN_WIDTH,W(265)-NAVIGATIONBAR_HEIGHT-(([UIScreen mainScreen].bounds.size.height == 812||[UIScreen mainScreen].bounds.size.height == 896)?0:W(15))); _backView.contentMode = UIViewContentModeBottom; _backView.clipsToBounds = YES; _backView.contentMode = UIViewContentModeScaleAspectFill; _backView.userInteractionEnabled=true; // _backView.backgroundColor = [UIColor colorWithHexString:@"#3875F6"]; } return _backView; } - (UIImageView *)iconImg{ if (_iconImg == nil) { _iconImg = [UIImageView new]; _iconImg.contentMode = UIViewContentModeScaleAspectFill; _iconImg.clipsToBounds = true; _iconImg.widthHeight = XY(W(54),W(54)); [GlobalMethod setRoundView:_iconImg color:[UIColor clearColor] numRound:_iconImg.width/2 width:0]; _iconImg.contentMode = UIViewContentModeScaleAspectFill; } return _iconImg; } - (UILabel *)labelName{ if (_labelName == nil) { _labelName = [UILabel new]; [GlobalMethod setLabel:_labelName widthLimit:0 numLines:0 fontNum:F(14) textColor:[UIColor whiteColor] text:@""]; } return _labelName; } - (UILabel *)labelNum{ if (_labelNum == nil) { _labelNum = [UILabel new]; [GlobalMethod setLabel:_labelNum widthLimit:0 numLines:0 fontNum:F(12) textColor:[UIColor whiteColor] text:@""]; } return _labelNum; } - (UIView *)GBackView{ if (_GBackView == nil) { _GBackView = [UIView new]; _GBackView.backgroundColor = [UIColor whiteColor]; [GlobalMethod setRoundView:_GBackView color:[UIColor clearColor] numRound:6 width:0]; _GBackView.widthHeight = XY(SCREEN_WIDTH-W(30), W(150)); } return _GBackView; } - (UILabel *)labelAll{ if (_labelAll == nil) { _labelAll = [UILabel new]; [GlobalMethod setLabel:_labelAll widthLimit:0 numLines:0 fontNum:F(17) textColor:COLOR_LABEL text:@""]; self.labelAll.font = [UIFont fontWithName:@"Helvetica-Bold" size:17]; } return _labelAll; } - (UILabel *)labelAllAdd{ if (_labelAllAdd == nil) { _labelAllAdd = [UILabel new]; [GlobalMethod setLabel:_labelAllAdd widthLimit:0 numLines:0 fontNum:F(11) textColor:[UIColor colorWithHexString:@"#444444"] text:@""]; } return _labelAllAdd; } - (UILabel *)labelAllMoney{ if (_labelAllMoney == nil) { _labelAllMoney = [UILabel new]; [GlobalMethod setLabel:_labelAllMoney widthLimit:0 numLines:0 fontNum:F(14) textColor:[UIColor colorWithHexString:@"#444444"] text:@""]; } return _labelAllMoney; } - (UILabel *)labelD{ if (_labelD == nil) { _labelD = [UILabel new]; [GlobalMethod setLabel:_labelD widthLimit:0 numLines:0 fontNum:F(17) textColor:COLOR_LABEL text:@""]; self.labelD.font = [UIFont fontWithName:@"Helvetica-Bold" size:17]; } return _labelD; } - (UILabel *)labelDMoney{ if (_labelDMoney == nil) { _labelDMoney = [UILabel new]; [GlobalMethod setLabel:_labelDMoney widthLimit:0 numLines:0 fontNum:F(14) textColor:[UIColor colorWithHexString:@"#444444"] text:@""]; } return _labelDMoney; } - (UILabel *)labelK{ if (_labelK == nil) { _labelK = [UILabel new]; [GlobalMethod setLabel:_labelK widthLimit:0 numLines:0 fontNum:F(17) textColor:COLOR_LABEL text:@""]; self.labelK.font = [UIFont fontWithName:@"Helvetica-Bold" size:F(17)]; } return _labelK; } - (UILabel *)labelKMoney{ if (_labelKMoney == nil) { _labelKMoney = [UILabel new]; [GlobalMethod setLabel:_labelKMoney widthLimit:0 numLines:0 fontNum:F(14) textColor:[UIColor colorWithHexString:@"#444444"] text:@""]; } return _labelKMoney; } #pragma mark 初始化 - (instancetype)initWithFrame:(CGRect)frame{ self = [super initWithFrame:frame]; if (self) { self.backgroundColor = COLOR_ADDRESS; self.width = SCREEN_WIDTH; [self addSubView]; } return self; } //添加subview - (void)addSubView{ [self addSubview:self.backView]; [self.backView addSubview:self.iconImg]; [self.backView addSubview:self.labelName]; [self.backView addSubview:self.labelNum]; [self addSubview:self.GBackView]; [self.GBackView addSubview:self.labelAll]; [self.GBackView addSubview:self.labelAllAdd]; [self.GBackView addSubview:self.labelAllMoney]; [self.GBackView addSubview:self.labelD]; [self.GBackView addSubview:self.labelDMoney]; [self.GBackView addSubview:self.labelK]; [self.GBackView addSubview:self.labelKMoney]; //初始化页面 [self resetViewWithModel:nil]; } #pragma mark 刷新view - (void)resetViewWithModel:(ModelWallet *)model{ [self removeSubViewWithTag:TAG_LINE];//移除线 [self.GBackView removeSubViewWithTag:TAG_LINE];//移除线 self.model = model; //刷新view self.backView.leftTop = XY(0,0); [self.iconImg sd_setImageWithURL:[NSURL URLWithString:UnPackStr(model.headPortrait)] placeholderImage:[UIImage imageNamed:IMAGE_HEAD_DEFAULT] options:SDWebImageAllowInvalidSSLCertificates]; self.iconImg.leftTop = XY(W(20),W(20)); self.iconImg.userInteractionEnabled=true; UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imageClick:)]; [self.iconImg addGestureRecognizer:tap]; [self.labelName fitTitle:UnPackStr(model.nickName) variable:0]; self.labelName.leftTop = XY(W(10)+self.iconImg.right,self.iconImg.top+W(5)); [self.labelNum fitTitle:[NSString stringWithFormat:@"余额:¥%.2f",(model.profitBalance+model.unallocatedBalance)] variable:0]; self.labelNum.leftTop = XY(self.labelName.left,self.labelName.bottom+W(8)); self.GBackView.leftTop = XY(W(15),self.iconImg.bottom+W(12)); [self.labelAll fitTitle:@"账户余额" variable:0]; self.labelAll.leftTop = XY(W(20),W(20)); [self.labelAllAdd fitTitle:@"(=待划拨金额+可提现金额)" variable:0]; self.labelAllAdd.leftCenterY = XY(W(6)+self.labelAll.right,self.labelAll.centerY); [self.labelAllMoney fitTitle:[NSString stringWithFormat:@"¥%.2f",(model.profitBalance+model.unallocatedBalance)] variable:0]; self.labelAllMoney.leftTop = XY(self.labelAll.left,self.labelAll.bottom+W(8)); [self.labelD fitTitle:@"待划拨金额" variable:0]; self.labelD.leftTop = XY(self.labelAll.left,[self.GBackView addLineFrame:CGRectMake(W(10), self.labelAllMoney.bottom+W(18), self.GBackView.width-W(20), 1)]+W(15)); [self.labelDMoney fitTitle:[NSString stringWithFormat:@"¥%.2f",model.unallocatedBalance] variable:0]; self.labelDMoney.leftTop = XY(self.labelAll.left,self.labelD.bottom+W(8)); [self.labelK fitTitle:@"可提现金额" variable:0]; self.labelK.rightTop = XY(self.GBackView.width-W(15),self.labelD.top); [self.labelKMoney fitTitle:[NSString stringWithFormat:@"¥%.2f",model.profitBalance] variable:0]; self.labelKMoney.rightTop = XY(self.labelK.right,self.labelK.bottom+W(8)); self.height = self.GBackView.bottom+W(10); } #pragma mark image Click - (void)imageClick:(UITapGestureRecognizer *)tap{ // UIImageView * view = (UIImageView *)tap.view; // ImageDetailBigView * detailView = [ImageDetailBigView new]; // NSMutableArray *arr = [NSMutableArray array]; // ModelImage *model = [ModelImage new]; // model.url = self.model.profile; // [arr addObject:model]; // detailView.isHide=true; // [detailView resetView:arr isEdit:false index: view.tag]; // [detailView showInView:GB_Nav.lastVC.view imageViewShow:view]; } @end @implementation WalletHomeCell #pragma mark 懒加载 - (UIView *)backView{ if (_backView == nil) { _backView = [UIView new]; _backView.backgroundColor = [UIColor whiteColor]; [GlobalMethod setRoundView:_backView color:[UIColor clearColor] numRound:5 width:0]; } return _backView; } - (UIImageView *)iconImg{ if (_iconImg == nil) { _iconImg = [UIImageView new]; _iconImg.widthHeight = XY(W(50),W(26)); } return _iconImg; } - (UILabel *)labelName{ if (_labelName == nil) { _labelName = [UILabel new]; [GlobalMethod setLabel:_labelName widthLimit:0 numLines:1 fontNum:F(17) textColor:COLOR_LABEL text:@""]; self.labelName.font = [UIFont fontWithName:@"Helvetica-Bold" size:F(17)]; } return _labelName; } - (UILabel *)labelDetail{ if (_labelDetail == nil) { _labelDetail = [UILabel new]; [GlobalMethod setLabel:_labelDetail widthLimit:0 numLines:1 fontNum:F(13) textColor:[UIColor colorWithHexString:@"#444444"] text:@""]; } return _labelDetail; } - (UILabel *)labelX{ if (_labelX == nil) { _labelX = [UILabel new]; [GlobalMethod setLabel:_labelX widthLimit:0 numLines:0 fontNum:F(8) textColor:[UIColor colorWithHexString:@"#3875F6"] text:@""]; [GlobalMethod setRoundView:_labelX color:[UIColor colorWithHexString:@"#3875F6"] numRound:2 width:1]; } return _labelX; } - (UIImageView *)rightView{ if (_rightView == nil) { _rightView = [UIImageView new]; _rightView.image = [UIImage imageNamed:@"more-right"]; _rightView.widthHeight = XY(W(9),W(17)); } return _rightView; } #pragma mark 初始化 - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{ self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]; if (self) { self.contentView.backgroundColor = [UIColor clearColor]; self.backgroundColor = [UIColor clearColor]; self.selectionStyle = UITableViewCellSelectionStyleNone; [self.contentView addSubview:self.backView]; [self.backView addSubview:self.iconImg]; [self.backView addSubview:self.labelName]; [self.backView addSubview:self.labelDetail]; [self.backView addSubview:self.labelX]; [self.backView addSubview:self.rightView]; } return self; } #pragma mark 刷新cell - (void)resetCellWithModel:(ModelBrand *)model{ [self.contentView removeSubViewWithTag:TAG_LINE];//移除线 self.model=model; //刷新view self.backView.widthHeight = XY(SCREEN_WIDTH-W(30), W(65)); self.backView.leftTop = XY(W(15),W(15)); [self.iconImg sd_setImageWithURL:[NSURL URLWithString:UnPackStr(model.icon)] placeholderImage:[UIImage imageNamed:IMAGE_HEAD_DEFAULT]]; self.iconImg.leftCenterY = XY(W(15),self.backView.height/2); self.rightView.rightCenterY = XY(self.backView.width-W(15),self.backView.height/2); [self.labelX fitTitle:@" 详情 " variable:0]; self.labelX.rightCenterY = XY(self.rightView.left-W(10),self.rightView.centerY); [self.labelName fitTitle:UnPackStr(model.machineTypeName) variable:self.labelX.left-self.iconImg.right-W(40)]; self.labelName.leftTop = XY(W(20)+self.iconImg.right,W(15)); [self.labelDetail fitTitle:UnPackStr(model.brief) variable:self.labelX.left-self.iconImg.right-W(40)]; self.labelDetail.leftTop = XY(self.labelName.left,self.labelName.bottom+W(3)); self.height = self.backView.bottom+W(2); } @end