新增adjust及帐单更改

This commit is contained in:
liyuhua
2023-08-08 11:26:07 +08:00
parent 25fe36f693
commit 1048cd66c9
60 changed files with 2109 additions and 100 deletions

View File

@@ -210,6 +210,12 @@ NS_ASSUME_NONNULL_BEGIN
+(void)requestMasterDisableRrEnablememberExchangeRights:(HttpRequestHelperCompletion)completion status:(NSString *)status targetUid:(NSString *)targetUid;
///获取加入房间
+(void)applyHallBtnStateWithHallId:(HttpRequestHelperCompletion)completion hallId:(NSString *)hallId;
/// 获取公会收入列表
/// @param completion 完成
/// @param hallId 公会id
/// @param startTime 查询开始时间时间格式为yy-mm-dd
/// @param endTime 查询开始时间, 时间格式为yy-mm-dd
+(void)getGuildIncomeTotalList:(HttpRequestHelperCompletion)completion hallId:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime;
@end
NS_ASSUME_NONNULL_END

View File

@@ -266,4 +266,12 @@
+(void)applyHallBtnStateWithHallId:(HttpRequestHelperCompletion)completion hallId:(NSString *)hallId{
[self makeRequest:@"hall/getApplyBtnStatus" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__,hallId,nil];
}
///
/// @param completion
/// @param hallId id
/// @param startTime yy-mm-dd
/// @param endTime , yy-mm-dd
+(void)getGuildIncomeTotalList:(HttpRequestHelperCompletion)completion hallId:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime{
[self makeRequest:@"income/totalList" method:HttpRequestHelperMethodGET completion:completion, __FUNCTION__, hallId, startTime,endTime, nil];
}
@end

View File

@@ -0,0 +1,26 @@
//
// XPMineGuildPersonalBillRecordModel.h
// xplan-ios
//
// Created by duoban on 2023/7/28.
//
#import <Foundation/Foundation.h>
@class XPMineGuildPersonalBillRecordItemModel;
NS_ASSUME_NONNULL_BEGIN
@interface XPMineGuildPersonalBillRecordModel : NSObject
@property(nonatomic,copy) NSArray<XPMineGuildPersonalBillRecordItemModel *> *income;
@property(nonatomic,copy) NSString *total;
@end
@interface XPMineGuildPersonalBillRecordItemModel : NSObject
@property(nonatomic,copy) NSString *bagIncome;
@property(nonatomic,copy) NSString *giftUv;
@property(nonatomic,copy) NSString *hallAvatar;
@property(nonatomic,copy) NSString *hallName;
@property(nonatomic,copy) NSString *userNewSendGiftNum;
@property(nonatomic,copy) NSString *normalGiftIncome;
@property(nonatomic,copy) NSString *roomIncome;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,19 @@
//
// XPMineGuildPersonalBillRecordModel.m
// xplan-ios
//
// Created by duoban on 2023/7/28.
//
#import "XPMineGuildPersonalBillRecordModel.h"
@implementation XPMineGuildPersonalBillRecordModel
+ (NSDictionary *)objectClassInArray {
return @{@"income": XPMineGuildPersonalBillRecordItemModel.class};
}
@end
@implementation XPMineGuildPersonalBillRecordItemModel
+ (NSDictionary *)replacedKeyFromPropertyName {
return @{@"userNewSendGiftNum":@"newUserSendGiftNum"};
}
@end

View File

@@ -30,6 +30,11 @@ NS_ASSUME_NONNULL_BEGIN
/// @param startTime 开始时间
/// @param endTime 结束时间
- (void)getHallAnchorTotalIncome:(NSString *)clanId startTime:(NSString *)startTime endTime:(NSString *)endTime;
/// 获取公会收入列表
/// @param hallId 公会id
/// @param startTime 查询开始时间时间格式为yy-mm-dd
/// @param endTime 查询开始时间, 时间格式为yy-mm-dd
-(void)getGuildIncomeTotalListWithhallId:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime;
@end
NS_ASSUME_NONNULL_END

View File

@@ -11,6 +11,7 @@
#import "GuildIncomeRecordModel.h"
#import "GuildPersonIncomeRecordModel.h"
#import "XPGuildIncomeProtocol.h"
#import "XPMineGuildPersonalBillRecordModel.h"
@implementation XPGuildIncomePresenter
@@ -70,5 +71,16 @@
[[self getView] getHallAnchorTotalIncomeFail:msg];
}] uid:uid clanId:clanId startTime:startTime endTime:endTime];
}
///
/// @param hallId id
/// @param startTime yy-mm-dd
/// @param endTime , yy-mm-dd
-(void)getGuildIncomeTotalListWithhallId:(NSString *)hallId startTime:(NSString *)startTime endTime:(NSString *)endTime{
[Api getGuildIncomeTotalList:[self createHttpCompletion:^(BaseModel * _Nonnull data) {
XPMineGuildPersonalBillRecordModel *model = [XPMineGuildPersonalBillRecordModel modelWithDictionary:data.data];
[[self getView]getGuildIncomeTotalListSuccess:model];
} fail:^(NSInteger code, NSString * _Nullable msg) {
} showLoading:YES errorToast:YES] hallId:hallId startTime:startTime endTime:endTime];
}
@end

View File

@@ -8,7 +8,7 @@
#import <Foundation/Foundation.h>
NS_ASSUME_NONNULL_BEGIN
@class GuildIncomeRecordModel, GuildPersonIncomeRecordModel;
@class GuildIncomeRecordModel, GuildPersonIncomeRecordModel,XPMineGuildPersonalBillRecordModel;
@protocol XPGuildIncomeProtocol <NSObject>
///获取家族所有的收入记录成功
@@ -27,6 +27,8 @@ NS_ASSUME_NONNULL_BEGIN
- (void)getHallAnchorTotalIncomeSuccess:(GuildPersonIncomeRecordModel *)incomeInfo;
///获取公会所有个播收入失败
- (void)getHallAnchorTotalIncomeFail:(NSString *)msg;
//获取得公会房间收入成功
-(void)getGuildIncomeTotalListSuccess:(XPMineGuildPersonalBillRecordModel *)model;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,19 @@
//
// XPNewMineHallIncomeCell.h
// YuMi
//
// Created by duoban on 2023/8/7.
//
#import <UIKit/UIKit.h>
#import "GuildIncomeRecordModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPNewMineHallIncomeCell : UITableViewCell
///用户信息
@property (nonatomic,strong) GuildIncomeRecordUserInfoModel *userInfo;
///排名
@property (nonatomic,assign) NSInteger rankNumber;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,218 @@
//
// XPNewMineHallIncomeCell.m
// YuMi
//
// Created by duoban on 2023/8/7.
//
#import "XPNewMineHallIncomeCell.h"
#import "XPMineGuildPersonalBillRecordItemView.h"
@interface XPNewMineHallIncomeCell()
///
@property(nonatomic,strong) UIView *bgView;
///
@property(nonatomic,strong) UILabel *rankView;
///
@property(nonatomic,strong) NetImageView *headView;
///
@property(nonatomic,strong) UILabel *roomNameView;
///
@property(nonatomic,strong) UILabel *typeView;
///
@property(nonatomic,strong) XPMineGuildPersonalBillRecordItemView *roomBillView;
///
@property(nonatomic,strong) XPMineGuildPersonalBillRecordItemView *commonGiftView;
///
@property(nonatomic,strong) XPMineGuildPersonalBillRecordItemView *bagGiftView;
///
@property(nonatomic,strong) XPMineGuildPersonalBillRecordItemView *sendGiftView;
///
@property(nonatomic,strong) XPMineGuildPersonalBillRecordItemView *userGiftView;
@end
@implementation XPNewMineHallIncomeCell
-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
self.contentView.backgroundColor = UIColorFromRGB(0xF5F6FA);
[self.contentView addSubview:self.bgView];
[self.bgView addSubview:self.rankView];
[self.bgView addSubview:self.headView];
[self.bgView addSubview:self.roomNameView];
[self.bgView addSubview:self.typeView];
[self.bgView addSubview:self.roomBillView];
[self.bgView addSubview:self.commonGiftView];
[self.bgView addSubview:self.bagGiftView];
[self.bgView addSubview:self.sendGiftView];
[self.bgView addSubview:self.userGiftView];
}
-(void)installConstraints{
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.equalTo(self.contentView).inset(kGetScaleWidth(10));
make.top.equalTo(self.contentView);
make.height.mas_equalTo(kGetScaleWidth(222));
make.width.mas_greaterThanOrEqualTo(kGetScaleWidth(14));
}];
[self.rankView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(16));
make.top.mas_equalTo(kGetScaleWidth(20));
make.height.mas_equalTo(kGetScaleWidth(28));
}];
[self.headView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(self.rankView.mas_trailing).mas_offset(kGetScaleWidth(8));
make.width.height.mas_equalTo(kGetScaleWidth(40));
make.centerY.equalTo(self.rankView);
}];
[self.roomNameView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(self.headView.mas_trailing).mas_offset(kGetScaleWidth(8));
make.centerY.equalTo(self.rankView);
}];
[self.typeView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.headView.mas_bottom).mas_offset(kGetScaleWidth(10));
make.leading.height.mas_equalTo(kGetScaleWidth(20));
}];
[self.roomBillView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.typeView.mas_bottom).mas_offset(kGetScaleWidth(6));
make.leading.mas_equalTo(kGetScaleWidth(16));
make.width.mas_equalTo(kGetScaleWidth(98));
make.height.mas_equalTo(kGetScaleWidth(52));
}];
[self.commonGiftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.typeView.mas_bottom).mas_offset(kGetScaleWidth(6));
make.centerX.equalTo(self.bgView);
make.width.mas_equalTo(kGetScaleWidth(98));
make.height.mas_equalTo(kGetScaleWidth(52));
}];
[self.bagGiftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.typeView.mas_bottom).mas_offset(kGetScaleWidth(6));
make.trailing.mas_equalTo(-kGetScaleWidth(16));
make.width.mas_equalTo(kGetScaleWidth(98));
make.height.mas_equalTo(kGetScaleWidth(52));
}];
[self.sendGiftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.roomBillView.mas_bottom).mas_offset(kGetScaleWidth(16));
make.leading.mas_equalTo(kGetScaleWidth(16));
make.width.mas_equalTo(kGetScaleWidth(98));
make.height.mas_equalTo(kGetScaleWidth(52));
}];
[self.userGiftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.roomBillView.mas_bottom).mas_offset(kGetScaleWidth(16));
make.centerX.equalTo(self.bgView);
make.width.mas_equalTo(kGetScaleWidth(98));
make.height.mas_equalTo(kGetScaleWidth(52));
}];
}
#pragma mark - Getters And Setters
- (void)setRankNumber:(NSInteger)rankNumber {
_rankNumber = rankNumber;
self.rankView.text = [NSString stringWithFormat:@"%ld.", _rankNumber+1];
}
- (void)setUserInfo:(GuildIncomeRecordUserInfoModel *)userInfo {
_userInfo = userInfo;
if (_userInfo) {
self.headView.imageUrl = _userInfo.hallAvatar;
self.roomNameView.text = _userInfo.hallName;
self.roomBillView.num = [NSString stringWithFormat:@"+%@", _userInfo.roomIncome];
self.commonGiftView.num = [NSString stringWithFormat:@"+%@", _userInfo.normalGiftIncome];
self.bagGiftView.num = [NSString stringWithFormat:@"+%@",_userInfo.bagIncome];
self.sendGiftView.num = [NSString stringWithFormat:@"+%@", _userInfo.giftUv];
self.userGiftView.num = [NSString stringWithFormat:@"+%@", _userInfo.userSendGiftNum];
}
}
#pragma mark -
- (UIView *)bgView{
if(!_bgView){
_bgView = [UIView new];
_bgView.backgroundColor = [UIColor whiteColor];
_bgView.layer.cornerRadius = kGetScaleWidth(10);
_bgView.layer.masksToBounds = YES;
}
return _bgView;
}
- (UILabel *)rankView{
if(!_rankView){
_rankView = [UILabel labelInitWithText:@"" font:kFontMedium(20) textColor:UIColorFromRGB(0x1F1B4F)];
}
return _rankView;
}
- (NetImageView *)headView{
if(!_headView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_headView = [[NetImageView alloc]initWithConfig:config];
_headView.layer.cornerRadius = kGetScaleWidth(40)/2;
_headView.layer.masksToBounds = YES;
}
return _headView;
}
- (UILabel *)roomNameView{
if(!_roomNameView){
_roomNameView = [UILabel labelInitWithText:@"" font:kFontMedium(16) textColor:UIColorFromRGB(0x2B2D33)];
}
return _roomNameView;
}
-(UILabel *)typeView{
if(!_typeView){
_typeView = [UILabel labelInitWithText:YMLocalizedString(@"XPGuildIncomeSectionView5") font:kFontMedium(14) textColor:UIColorFromRGB(0x2B2D33)];
}
return _typeView;
}
- (XPMineGuildPersonalBillRecordItemView *)roomBillView{
if(!_roomBillView){
_roomBillView = [[XPMineGuildPersonalBillRecordItemView alloc]initWithFrame:CGRectZero];
_roomBillView.num = @"+0.0";
_roomBillView.title = YMLocalizedString(@"XPMineGuildPersonalBillRecordContentView0");
}
return _roomBillView;
}
- (XPMineGuildPersonalBillRecordItemView *)commonGiftView{
if(!_commonGiftView){
_commonGiftView = [[XPMineGuildPersonalBillRecordItemView alloc]initWithFrame:CGRectZero];
_commonGiftView.num = @"+0.0";
_commonGiftView.title = YMLocalizedString(@"XPMineGuildPersonalBillRecordContentView1");
}
return _commonGiftView;
}
- (XPMineGuildPersonalBillRecordItemView *)bagGiftView{
if(!_bagGiftView){
_bagGiftView = [[XPMineGuildPersonalBillRecordItemView alloc]initWithFrame:CGRectZero];
_bagGiftView.num = @"+0.0";
_bagGiftView.title = YMLocalizedString(@"XPMineGuildPersonalBillRecordContentView2");
}
return _bagGiftView;
}
- (XPMineGuildPersonalBillRecordItemView *)sendGiftView{
if(!_sendGiftView){
_sendGiftView = [[XPMineGuildPersonalBillRecordItemView alloc]initWithFrame:CGRectZero];
_sendGiftView.num = @"+0.0";
_sendGiftView.title = YMLocalizedString(@"XPMineGuildPersonalBillRecordContentView3");
}
return _sendGiftView;
}
- (XPMineGuildPersonalBillRecordItemView *)userGiftView{
if(!_userGiftView){
_userGiftView = [[XPMineGuildPersonalBillRecordItemView alloc]initWithFrame:CGRectZero];
_userGiftView.num = @"+0.0";
_userGiftView.title = YMLocalizedString(@"XPMineGuildPersonalBillRecordContentView4");
}
return _userGiftView;
}
- (void)awakeFromNib {
[super awakeFromNib];
// Initialization code
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
[super setSelected:selected animated:animated];
// Configure the view for the selected state
}
@end

View File

@@ -0,0 +1,28 @@
//
// XPMineGuildPersonalBillRecordVC.h
// xplan-ios
//
// Created by duoban on 2023/7/27.
//
#import "BaseViewController.h"
#import "MvpViewController.h"
#import <JXCategoryView/JXCategoryListContainerView.h>
typedef NS_ENUM(NSInteger, GuildBillRecrdTimeType) {
///每日
GuildBillRecrdTimeType_Day = 1,
///每周
GuildBillRecrdTimeType_Week,
///每月
GuildBillRecrdTimeType_Mouth,
};
NS_ASSUME_NONNULL_BEGIN
@interface XPMineGuildPersonalBillRecordVC : MvpViewController<JXCategoryListContentViewDelegate>
@property(nonatomic,assign) GuildBillRecrdTimeType billType;
@property(nonatomic,copy) NSString *hallId;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,257 @@
//
// XPMineGuildPersonalBillRecordVC.m
// xplan-ios
//
// Created by duoban on 2023/7/27.
//
#import "XPMineGuildPersonalBillRecordVC.h"
#import "XPMineGuildPersonalBillRecordHeadView.h"
#import "XPMineGuildPersonalBillRecordItemView.h"
#import "XPGuildTimePickView.h"
#import "XPGuildTimeMonthPickerView.h"
#import "PLTimeUtil.h"
#import "XPGuildIncomePresenter.h"
#import "XPMineGuildPersonalBillRecordModel.h"
#import "XPMineGuildPersonalBillRecordContentView.h"
@interface XPMineGuildPersonalBillRecordVC ()<XPGuildTimePickViewDelegate, XPGuildTimeMonthPickerViewDelegate,XPMineGuildPersonalBillRecordHeadViewDelegate>
///
@property(nonatomic,strong) XPMineGuildPersonalBillRecordHeadView *headView;
@property(nonatomic,strong) XPMineGuildPersonalBillRecordContentView *contentVeiw;
///
@property (nonatomic,strong) NSDate *endDate;
///
@property (nonatomic,strong) NSDate *startDate;
///
@property (nonatomic,strong) NSDate *currentDate;
///
@property (nonatomic,strong) XPGuildTimeMonthPickerView *monthPickerView;
///
@property (nonatomic,copy) NSString *startTimeStr;
///
@property (nonatomic,copy) NSString *endTimeStr;
@property (nonatomic,strong) NSDateFormatter *formatter;
@end
@implementation XPMineGuildPersonalBillRecordVC
- (__kindof id)createPresenter {
return [[XPGuildIncomePresenter alloc] init];
}
- (BOOL)isHiddenNavBar {
return YES;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self installUI];
[self installConstraints];
}
-(void)installUI{
[self.view addSubview:self.headView];
[self.view addSubview:self.contentVeiw];
}
-(void)installConstraints{
[self.headView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(kGetScaleWidth(148));
make.top.mas_equalTo(kGetScaleWidth(0));
make.leading.trailing.equalTo(self.view).inset(kGetScaleWidth(0));
}];
[self.contentVeiw mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.bottom.equalTo(self.view);
make.top.equalTo(self.headView.mas_bottom).mas_offset(kGetScaleWidth(0));
}];
}
- (void)headerRefresh {
[self.presenter getGuildIncomeTotalListWithhallId:self.hallId startTime:self.startTimeStr endTime:self.endTimeStr];
}
#pragma mark - Getters And Setters
- (void)setBillType:(GuildBillRecrdTimeType)billType {
_billType = billType;
switch (_billType) {
case GuildBillRecrdTimeType_Day:
{
self.startDate = [NSDate date];
self.endDate = [NSDate date];
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:self.startDate];
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:self.startDate];
self.headView.time = [NSString stringWithFormat:@"%@ %@ %@",self.startTimeStr,YMLocalizedString(@"XPIncomeRecordGoldDetailsVC1"),self.endTimeStr];
}
break;
case GuildBillRecrdTimeType_Week:
{
[self weekDayWithCurrentDate:[NSDate date]];
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:self.startDate];
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:self.endDate];
self.headView.time = [NSString stringWithFormat:@"%@ %@ %@",self.startTimeStr,YMLocalizedString(@"XPIncomeRecordGoldDetailsVC1"),self.endTimeStr];
break;
}
case GuildBillRecrdTimeType_Mouth:
{
[self monthWithCurrentDate:[NSDate date]];
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:self.startDate];
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:self.endDate];
[self.formatter setDateFormat:YMLocalizedString(@"PLTimeUtil3")];
NSString * currentDay = [self.formatter stringFromDate:[NSDate date]];
self.headView.time = currentDay;
}
break;
default:
break;
}
[self headerRefresh];
}
-(void)getGuildIncomeTotalListSuccess:(XPMineGuildPersonalBillRecordModel *)model{
self.headView.diamond = model.total;
self.contentVeiw.model = model;
}
- (void)weekDayWithCurrentDate:(NSDate *)date {
NSCalendar * calendar = [NSCalendar currentCalendar]; //
NSDateComponents *comps = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitWeekday | NSCalendarUnitDay fromDate:date];
//
// 1 2 3.
NSInteger weekDay = [comps weekday];
//
NSInteger day = [comps day];
long firstDiff,lastDiff;
if (weekDay == 1){
firstDiff = -6;
lastDiff = 0;
} else {
firstDiff = [calendar firstWeekday] - weekDay + 1;
lastDiff = 8 - weekDay;
}
// ()
NSDateComponents *baseDayComp = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date];
//
[baseDayComp setDay:day + firstDiff];
NSDate *firstDayOfWeek = [calendar dateFromComponents:baseDayComp];
self.startDate = firstDayOfWeek;
//
[baseDayComp setDay:day + lastDiff];
NSDate *lastDayOfWeek = [calendar dateFromComponents:baseDayComp];
self.endDate = lastDayOfWeek;
}
#pragma mark - JXCategoryListContentViewDelegate
- (UIView *)listView {
return self.view;
}
#pragma mark - XPMineGuildPersonalBillRecordHeadViewDelegate
- (void)xPMineGuildPersonalBillRecordHeadView:(XPMineGuildPersonalBillRecordHeadView *)view didChooseTime:(UILabel *)sender{
if (self.billType == GuildBillRecrdTimeType_Mouth) {
[self.monthPickerView setDate:[NSDate date] animated:YES];
[self.monthPickerView show];
} else {
XPGuildTimePickView * timeView = [[XPGuildTimePickView alloc] init];
timeView.currentDate = [NSDate date];
timeView.pickDateType = self.billType == GuildBillRecrdTimeType_Week ? XPGuildTimePickTypeWeek : XPGuildTimePickTypeDay;
timeView.delegate = self;
[TTPopup popupView:timeView style:TTPopupStyleActionSheet];
}
}
#pragma mark - XPGuildTimeMonthPickerViewDelegate
- (void)datePicker:(XPGuildTimeMonthPickerView *)datePicker didCancel:(UIButton *)sender {
[TTPopup dismiss];
}
- (void)datePicker:(XPGuildTimeMonthPickerView *)dataPicker didSelectedDate:(NSDate *)date {
[TTPopup dismiss];
[self monthWithCurrentDate:date];
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:date];
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:self.endDate];
[self.formatter setDateFormat:YMLocalizedString(@"PLTimeUtil3")];
NSString * currentDay = [self.formatter stringFromDate:date];
self.headView.time = currentDay;
[self headerRefresh];
}
#pragma mark -XPGuildTimePickViewDelegate
- (void)xPGuildTimePickView:(XPGuildTimePickView *)view didClickCancel:(UIButton *)sender {
[TTPopup dismiss];
}
- (void)xPGuildTimePickView:(XPGuildTimePickView *)view didClickSure:(UIButton *)sender {
[TTPopup dismiss];
if (self.billType == GuildBillRecrdTimeType_Week) {
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:view.startDate];
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:view.endDate];
self.headView.time = [NSString stringWithFormat:@"%@ %@ %@",self.startTimeStr,YMLocalizedString(@"XPIncomeRecordGoldDetailsVC1"),self.endTimeStr];
} else {
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:view.startDate];
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:view.startDate];;
self.headView.time = [NSString stringWithFormat:@"%@ %@ %@",self.startTimeStr,YMLocalizedString(@"XPIncomeRecordGoldDetailsVC1"),self.endTimeStr];
}
[self headerRefresh];
}
///
- (void)monthWithCurrentDate:(NSDate *)newDate {
if (newDate == nil) {
newDate = [NSDate date];
}
double interval = 0;
NSDate *beginDate = nil;
NSDate *endDate = nil;
NSCalendar *calendar = [NSCalendar currentCalendar];
[calendar setFirstWeekday:2];//
BOOL ok = [calendar rangeOfUnit:NSCalendarUnitMonth startDate:&beginDate interval:&interval forDate:newDate];
if (ok) {
endDate = [beginDate dateByAddingTimeInterval:interval-1];
} else {
return;
}
self.startDate = beginDate;
self.endDate = endDate;
}
#pragma mark -
- (XPMineGuildPersonalBillRecordHeadView *)headView{
if(!_headView){
_headView = [[XPMineGuildPersonalBillRecordHeadView alloc]initWithFrame:CGRectZero];
_headView.delegate = self;
_headView.diamond = @"0";
}
return _headView;
}
- (XPGuildTimeMonthPickerView *)monthPickerView {
if (!_monthPickerView) {
_monthPickerView = [[XPGuildTimeMonthPickerView alloc] initWithSuperView:self.view];
_monthPickerView.delegate = self;
_monthPickerView.datePickerMode = HooDatePickerModeYearAndMonth;
[_monthPickerView setTintColor:UIColorFromRGB(0x999999)];//
[_monthPickerView setHighlightColor:UIColorFromRGB(0x333333)];
NSDate * date = [NSDate date];
NSDateComponents *comps = nil; comps = [[NSCalendar sharedCalendar] components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitMonth fromDate:date];
NSDateComponents *adcomps = [[NSDateComponents alloc] init];
[adcomps setYear:-15];
[adcomps setMonth:0];
[adcomps setDay:0];
NSDate *minDate = [[NSCalendar sharedCalendar] dateByAddingComponents:adcomps toDate:date options:0];
NSDateComponents *maxcomps = [[NSDateComponents alloc] init];
[maxcomps setYear:15];
[maxcomps setMonth:0];
[maxcomps setDay:0];
NSDate *maxDate = [[NSCalendar sharedCalendar] dateByAddingComponents:maxcomps toDate:date options:0];
_monthPickerView.minimumDate = minDate;
_monthPickerView.maximumDate = maxDate;
}
return _monthPickerView;
}
- (NSDateFormatter *)formatter {
if (!_formatter) {
_formatter = [[NSDateFormatter alloc] init];
}
return _formatter;
}
- (XPMineGuildPersonalBillRecordContentView *)contentVeiw{
if(!_contentVeiw){
_contentVeiw = [[XPMineGuildPersonalBillRecordContentView alloc]initWithFrame:CGRectZero];
}
return _contentVeiw;
}
@end

View File

@@ -0,0 +1,17 @@
//
// XPMineGuildPersonalBillStatisVC.h
// xplan-ios
//
// Created by duoban on 2023/7/27.
//
#import "BaseViewController.h"
#import "MvpViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPMineGuildPersonalBillStatisVC : MvpViewController
@property (nonatomic,strong) NSString *guildId;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,184 @@
//
// XPMineGuildPersonalBillStatisVC.m
// xplan-ios
//
// Created by duoban on 2023/7/27.
//
#import "XPMineGuildPersonalBillStatisVC.h"
#import "XPMineClanIncomeStatisViewController.h"
///Third
#import <Masonry/Masonry.h>
#import <JXCategoryView/JXCategoryView.h>
#import <JXCategoryView/JXCategoryIndicatorBackgroundView.h>
#import <JXCategoryView/JXCategoryListContainerView.h>
#import "XPNobleSettingNavView.h"
///Tool
///View
#import "XPMineGuildPersonalBillRecordVC.h"
@interface XPMineGuildPersonalBillStatisVC ()<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate,XPNobleSettingNavViewDelegate>
@property (nonatomic, strong) XPNobleSettingNavView *navView;
///
@property (nonatomic, strong) NSArray<NSString *> *titles;
///
@property (nonatomic, strong) JXCategoryTitleView *titleView;
///lineView
@property (nonatomic, strong) JXCategoryListContainerView *contentView;
///
@property (nonatomic,strong) XPMineGuildPersonalBillRecordVC *dayRecordVC;
///
@property (nonatomic,strong) XPMineGuildPersonalBillRecordVC *weekRecordVC;
///
@property (nonatomic,strong) XPMineGuildPersonalBillRecordVC *mouthRecordVC;
@end
@implementation XPMineGuildPersonalBillStatisVC
- (void)viewDidLoad {
[super viewDidLoad];
[self initSubViews];
[self initSubViewConstraints];
}
- (BOOL)isHiddenNavBar {
return YES;
}
#pragma mark - Private Method
- (void)initSubViews {
[self.view addSubview:self.navView];
[self.view addSubview:self.titleView];
[self.view addSubview:self.contentView];
}
- (void)initSubViewConstraints {
[self.navView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.top.mas_equalTo(self.view);
make.height.mas_equalTo(kNavigationHeight);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.navView.mas_bottom).mas_equalTo(10);
make.left.mas_equalTo(self.view);
make.right.mas_equalTo(-kGetScaleWidth(0));
make.height.mas_equalTo(kGetScaleWidth(50));
}];
[self.contentView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.titleView.mas_bottom);
make.left.right.bottom.mas_equalTo(self.view);
}];
}
#pragma mark - JXCategoryViewDelegate
- (NSInteger)numberOfListsInlistContainerView:(JXCategoryListContainerView *)listContainerView {
return self.titles.count;
}
- (id<JXCategoryListContentViewDelegate>)listContainerView:(JXCategoryListContainerView *)listContainerView initListForIndex:(NSInteger)index {
if (index == 0) {
self.dayRecordVC.hallId = self.guildId;
self.dayRecordVC.billType = GuildBillRecrdTimeType_Day;
return self.dayRecordVC;
} else if(index == 1) {
self.weekRecordVC.hallId = self.guildId;
self.weekRecordVC.billType = GuildBillRecrdTimeType_Week;
return self.weekRecordVC;
} else {
self.mouthRecordVC.hallId = self.guildId;
self.mouthRecordVC.billType = GuildBillRecrdTimeType_Mouth;
return self.mouthRecordVC;
}
}
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
}
#pragma mark - XPNobleSettingNavViewDelegate
///
- (void)xPNobleSettingNavView:(XPNobleSettingNavView *)view didClickBackButton:(UIButton *)sender {
[self.navigationController popViewControllerAnimated:YES];
}
#pragma mark - Getters And Setters
- (JXCategoryTitleView *)titleView {
if (!_titleView) {
_titleView = [[JXCategoryTitleView alloc] init];
_titleView.delegate = self;
_titleView.titles = self.titles;
_titleView.backgroundColor = UIColorFromRGB(0xF5F6FA);
_titleView.titleColor = UIColorFromRGB(0x6D6B89);
_titleView.titleSelectedColor = UIColorFromRGB(0x1F1B4F);
_titleView.titleFont = kFontRegular(14);
_titleView.titleSelectedFont = kFontSemibold(16);
_titleView.titleLabelAnchorPointStyle = JXCategoryTitleLabelAnchorPointStyleCenter;
_titleView.contentScrollViewClickTransitionAnimationEnabled = NO;
_titleView.defaultSelectedIndex = 0;
_titleView.cellSpacing = kGetScaleWidth(15);
_titleView.cellWidthIncrement = kGetScaleWidth(4);
_titleView.listContainer = self.contentView;
JXCategoryIndicatorImageView *lineView = [[JXCategoryIndicatorImageView alloc] init];
lineView.indicatorImageViewSize = CGSizeMake(kGetScaleWidth(12), kGetScaleWidth(4));
lineView.verticalMargin = kGetScaleWidth(4);
lineView.indicatorImageView.image = [UIImage gradientColorImageFromColors:@[[DJDKMIMOMColor confirmButtonGradientStartColor], [DJDKMIMOMColor confirmButtonGradientMiddleColor],[DJDKMIMOMColor confirmButtonGradientEndColor]] gradientType:GradientTypeLeftToRight imgSize:CGSizeMake(kGetScaleWidth(12), kGetScaleWidth(4))];
lineView.indicatorImageView.layer.masksToBounds = YES;
lineView.indicatorImageView.layer.cornerRadius = kGetScaleWidth(4)/2;
_titleView.indicators = @[lineView];
}
return _titleView;
}
- (JXCategoryListContainerView *)contentView {
if (!_contentView) {
_contentView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_contentView.defaultSelectedIndex = 0;
}
return _contentView;
}
- (NSArray<NSString *> *)titles {
if (!_titles) {
_titles = @[YMLocalizedString(@"XPMineGuildPersonalBillStatisVC1"), YMLocalizedString(@"XPMineGuildPersonalBillStatisVC2"), YMLocalizedString(@"XPMineGuildPersonalBillStatisVC3")];
}
return _titles;
}
- (XPMineGuildPersonalBillRecordVC *)dayRecordVC {
if (!_dayRecordVC) {
_dayRecordVC = [[XPMineGuildPersonalBillRecordVC alloc] init];
}
return _dayRecordVC;
}
- (XPMineGuildPersonalBillRecordVC *)weekRecordVC {
if (!_weekRecordVC) {
_weekRecordVC = [[XPMineGuildPersonalBillRecordVC alloc] init];
}
return _weekRecordVC;
}
- (XPMineGuildPersonalBillRecordVC *)mouthRecordVC {
if (!_mouthRecordVC) {
_mouthRecordVC = [[XPMineGuildPersonalBillRecordVC alloc] init];
}
return _mouthRecordVC;
}
- (XPNobleSettingNavView *)navView {
if (!_navView) {
_navView = [[XPNobleSettingNavView alloc] init];
_navView.titleLabel.text = YMLocalizedString(@"XPMineGuildPersonalBillStatisVC0");
_navView.titleLabel.font = [UIFont systemFontOfSize:18 weight:UIFontWeightMedium];
_navView.titleLabel.textColor = UIColorFromRGB(0x1F1B4F);
[_navView.backButton setImage:kImage(@"common_nav_back") forState:UIControlStateNormal];
_navView.delegate = self;
}
return _navView;
}
@end

View File

@@ -13,11 +13,11 @@
#import <JXCategoryView/JXCategoryListContainerView.h>
#import "DJDKMIMOMColor.h"
#import "UIImage+Utils.h"
#import "XPNewMineHallIncomeVC.h"
#import "XPNewMineGuildIncomeRecordViewController.h"
@interface XPMineMainIncomeStatisViewController ()<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate>
#import "XPNobleSettingNavView.h"
@interface XPMineMainIncomeStatisViewController ()<JXCategoryViewDelegate, JXCategoryListContainerViewDelegate,XPNobleSettingNavViewDelegate>
@property (nonatomic, strong) XPNobleSettingNavView *navView;
///
@property (nonatomic, strong) NSArray<NSString *> *titles;
///
@@ -25,14 +25,16 @@
///lineView
@property (nonatomic, strong) JXCategoryListContainerView *contentView;
///
@property (nonatomic,strong) XPNewMineGuildIncomeRecordViewController *clanIncomeVC;
@property (nonatomic,strong) XPNewMineHallIncomeVC *clanIncomeVC;
///
@property (nonatomic,strong) XPNewMineGuildIncomeRecordViewController *anchorncomeVC;
@end
@implementation XPMineMainIncomeStatisViewController
- (BOOL)isHiddenNavBar {
return YES;
}
- (void)viewDidLoad {
[super viewDidLoad];
self.title = YMLocalizedString(@"XPMineClanIncomeStatisViewController0");
@@ -42,14 +44,19 @@
#pragma mark - Private Method
- (void)initSubViews {
self.view.backgroundColor = [UIColor whiteColor];
self.view.backgroundColor = UIColorFromRGB(0xF5F6FA);
[self.view addSubview:self.navView];
[self.view addSubview:self.titleView];
[self.view addSubview:self.contentView];
}
- (void)initSubViewConstraints {
[self.navView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.top.mas_equalTo(self.view);
make.height.mas_equalTo(kNavigationHeight);
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.view).offset(10);
make.top.mas_equalTo(self.navView.mas_bottom).offset(0);
make.left.right.mas_equalTo(self.view);
make.height.mas_equalTo(30);
}];
@@ -76,7 +83,11 @@
- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
}
#pragma mark - XPNobleSettingNavViewDelegate
///
- (void)xPNobleSettingNavView:(XPNobleSettingNavView *)view didClickBackButton:(UIButton *)sender {
[self.navigationController popViewControllerAnimated:YES];
}
#pragma mark - Getters And Setters
- (void)setClanId:(NSString *)clanId {
_clanId = clanId;
@@ -92,7 +103,7 @@
_titleView = [[JXCategoryTitleView alloc] init];
_titleView.delegate = self;
_titleView.titles = self.titles;
_titleView.backgroundColor = [UIColor whiteColor];
_titleView.backgroundColor = UIColorFromRGB(0xF5F6FA);
_titleView.titleColor = [DJDKMIMOMColor secondTextColor];
_titleView.titleSelectedColor = [DJDKMIMOMColor mainTextColor];
_titleView.titleFont = [UIFont systemFontOfSize:15 weight:UIFontWeightMedium];
@@ -119,6 +130,7 @@
if (!_contentView) {
_contentView = [[JXCategoryListContainerView alloc] initWithType:JXCategoryListContainerType_ScrollView delegate:self];
_contentView.defaultSelectedIndex = 0;
}
return _contentView;
}
@@ -130,10 +142,9 @@
return _titles;
}
- (XPNewMineGuildIncomeRecordViewController *)clanIncomeVC {
- (XPNewMineHallIncomeVC *)clanIncomeVC {
if (!_clanIncomeVC) {
_clanIncomeVC = [[XPNewMineGuildIncomeRecordViewController alloc] init];
_clanIncomeVC.incomeType = NewGuildIncomeType_Clan;
_clanIncomeVC = [[XPNewMineHallIncomeVC alloc] init];
}
return _clanIncomeVC;
}
@@ -147,7 +158,17 @@
}
- (XPNobleSettingNavView *)navView {
if (!_navView) {
_navView = [[XPNobleSettingNavView alloc] init];
_navView.titleLabel.text = YMLocalizedString(@"XPMineGuildPersonalBillStatisVC0");
_navView.titleLabel.font = [UIFont systemFontOfSize:18 weight:UIFontWeightMedium];
_navView.titleLabel.textColor = UIColorFromRGB(0x1F1B4F);
[_navView.backButton setImage:kImage(@"common_nav_back") forState:UIControlStateNormal];
_navView.delegate = self;
}
return _navView;
}
@end

View File

@@ -20,8 +20,6 @@ typedef NS_ENUM(NSInteger, NewGuildIncomeRecrdTimeType) {
typedef NS_ENUM(NSInteger, NewGuildIncomeType) {
///家族收入
NewGuildIncomeType_Clan = 1,
///公会收入
NewGuildIncomeType_Hall,
///个播
NewGuildIncomeType_Anchor,
};

View File

@@ -54,7 +54,9 @@
@end
@implementation XPNewMineGuildIncomeRecordViewController
- (BOOL)isHiddenNavBar {
return YES;
}
- (__kindof id)createPresenter {
return [[XPGuildIncomePresenter alloc] init];
}
@@ -85,8 +87,6 @@
- (void)headerRefresh {
if (self.incomeType == NewGuildIncomeType_Clan) {
[self.presenter getClanTotalIncome:self.guidId startTime:self.startTimeStr endTime:self.endTimeStr];
} else if(self.incomeType == NewGuildIncomeType_Hall) {
[self.presenter getHallTotalIncome:self.guidId startTime:self.startTimeStr endTime:self.endTimeStr];
} else {
// if (self.clanId.length > 0) {
// [self.presenter getClanAnchorTotalIncome:self.clanId startTime:self.startTimeStr endTime:self.endTimeStr];
@@ -189,13 +189,6 @@
cell.rankNumber = indexPath.row;
cell.userInfo = [self.datasource safeObjectAtIndex1:indexPath.row];
return cell;
} else if(self.incomeType == NewGuildIncomeType_Hall) {
XPGuildPersonIncomeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPGuildPersonIncomeTableViewCell class])];
if (cell == nil) {
cell = [[XPGuildPersonIncomeTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPGuildPersonIncomeTableViewCell class])];
}
cell.userInfo = [self.datasource safeObjectAtIndex1:indexPath.row];
return cell;
} else if(self.incomeType == NewGuildIncomeType_Anchor) {
XPGuildSingleRoomIncomeTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPGuildSingleRoomIncomeTableViewCell class])];
if (cell == nil) {
@@ -221,7 +214,7 @@
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section {
if (section == 0) {
if (self.incomeType == NewGuildIncomeType_Clan || self.incomeType == NewGuildIncomeType_Hall) {
if (self.incomeType == NewGuildIncomeType_Clan) {
if(self.incomeType == NewGuildIncomeType_Clan){
XPGuildIncomeSectionView * newSectionView = [[XPGuildIncomeSectionView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 47) right:124];
@@ -231,12 +224,8 @@
}
XPGuildIncomeSectionView * sectionView = [[XPGuildIncomeSectionView alloc] initWithFrame:CGRectMake(0, 0, KScreenWidth, 47)];
GuildIncomeType type;
if (self.incomeType == NewGuildIncomeType_Hall){
type = GuildIncomeType_Hall;
}else{
type = GuildIncomeType_Anchor;
}
GuildIncomeType type = GuildIncomeType_Anchor;;
sectionView.incomeType = type ;
return sectionView;
} else {
@@ -258,18 +247,7 @@
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
if (self.incomeType == NewGuildIncomeType_Hall) {
if (self.datasource.count > 0) {
GuildPersonIncomeUserInfoModel * memberInfo = [self.datasource safeObjectAtIndex1:indexPath.row];
XPMineGuildIncomeDetailViewController * incomeDetailVC = [[XPMineGuildIncomeDetailViewController alloc] init];
incomeDetailVC.hallId = self.guidId;
incomeDetailVC.startTime = self.startTimeStr;
incomeDetailVC.endTime = self.endTimeStr;
incomeDetailVC.memberInfo = memberInfo;
[self.navigationController pushViewController:incomeDetailVC animated:YES];
}
}
}
#pragma mark - XPGuildIncomeHeaderViewDelegate

View File

@@ -0,0 +1,19 @@
//
// XPNewMineHallIncomeVC.h
// YuMi
//
// Created by duoban on 2023/8/7.
//
#import <JXCategoryView/JXCategoryListContainerView.h>
#import "MvpViewController.h"
#import "XPNewMineGuildIncomeRecordViewController.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPNewMineHallIncomeVC : MvpViewController<JXCategoryListContentViewDelegate>
///时间的类型
@property (nonatomic,assign) NewGuildIncomeRecrdTimeType timeType;
//公会的id 或者是家族的id
@property (nonatomic,copy) NSString *guidId;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,357 @@
//
// XPNewMineHallIncomeVC.m
// YuMi
//
// Created by duoban on 2023/8/7.
//
#import "XPNewMineHallIncomeVC.h"
#import <Masonry/Masonry.h>
#import <MJRefresh/MJRefresh.h>
///Tool
#import "DJDKMIMOMColor.h"
#import "PLTimeUtil.h"
#import "TTPopup.h"
#import "NSDate+DateUtils.h"
///Model
#import "GuildIncomeRecordModel.h"
#import "GuildPersonIncomeRecordModel.h"
///View
#import "XPGuildIncomeRecordTableViewCell.h"
#import "XPGuildPersonIncomeTableViewCell.h"
#import "XPMineGuildEmptyTableViewCell.h"
#import "XPGuildSingleRoomIncomeTableViewCell.h"
#import "XPGuildIncomeSectionView.h"
#import "XPGuildAnchorIncomeSectionView.h"
#import "XPMineGuildPersonalBillRecordHeadView.h"
#import "XPNewGuildTimePickView.h"
#import "XPGuildTimeMonthPickerView.h"
#import "XPMineGuildIncomeDetailViewController.h"
#import "XPNewMineHallIncomeCell.h"
///P
#import "XPGuildIncomePresenter.h"
#import "XPGuildIncomeProtocol.h"
#import "XPNewMineGuildIncomeRecordViewController.h"
@interface XPNewMineHallIncomeVC ()<UITableViewDelegate, UITableViewDataSource, XPGuildIncomeProtocol, XPMineGuildPersonalBillRecordHeadViewDelegate, XPNewGuildTimePickViewDelegate, XPGuildTimeMonthPickerViewDelegate>
///
@property (nonatomic,strong) UITableView *tableView;
///view
@property (nonatomic,strong) XPMineGuildPersonalBillRecordHeadView *headerView;
///
@property (nonatomic,strong) NSArray *datasource;
///
@property (nonatomic,strong) NSDate *endDate;
///
@property (nonatomic,strong) NSDate *startDate;
///
@property (nonatomic,strong) NSDate *currentDate;
///
@property (nonatomic,strong) XPGuildTimeMonthPickerView *monthPickerView;
///
@property (nonatomic,copy) NSString *startTimeStr;
///
@property (nonatomic,copy) NSString *endTimeStr;
@property (nonatomic,strong) NSDateFormatter *formatter;
@end
@implementation XPNewMineHallIncomeVC
- (BOOL)isHiddenNavBar {
return YES;
}
- (__kindof id)createPresenter {
return [[XPGuildIncomePresenter alloc] init];
}
- (void)viewDidLoad {
[super viewDidLoad];
[self initSubViews];
[self initHeaderAndFooterRrfresh];
[self headerRefresh];
}
- (void)viewDidLayoutSubviews {
[super viewDidLayoutSubviews];
[self initSubViewConstraints];
}
- (void)initHeaderAndFooterRrfresh {
MJRefreshNormalHeader *header = [MJRefreshNormalHeader headerWithRefreshingTarget:self refreshingAction:@selector(headerRefresh)];
header.stateLabel.font = [UIFont systemFontOfSize:10.0];
header.lastUpdatedTimeLabel.font = [UIFont systemFontOfSize:10.0];
header.stateLabel.textColor = [DJDKMIMOMColor secondTextColor];
header.lastUpdatedTimeLabel.textColor = [DJDKMIMOMColor secondTextColor];
self.tableView.mj_header = header;
}
- (void)headerRefresh {
[self.presenter getClanTotalIncome:self.guidId startTime:self.startTimeStr endTime:self.endTimeStr];
}
#pragma mark - Private Method
- (void)initSubViews {
self.view.backgroundColor = UIColorFromRGB(0xF5F6FA);
[self.view addSubview:self.headerView];
[self.view addSubview:self.tableView];
}
- (void)initSubViewConstraints {
[self.headerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.view);
make.right.mas_equalTo(self.view);
make.top.mas_equalTo(self.view).offset(0);
make.height.mas_equalTo(kGetScaleWidth(148));
}];
[self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.right.bottom.mas_equalTo(self.view);
make.top.mas_equalTo(self.headerView.mas_bottom);
}];
}
///
- (void)monthWithCurrentDate:(NSDate *)newDate {
if (newDate == nil) {
newDate = [NSDate date];
}
double interval = 0;
NSDate *beginDate = nil;
NSDate *endDate = nil;
NSCalendar *calendar = [NSCalendar currentCalendar];
[calendar setFirstWeekday:2];//
BOOL ok = [calendar rangeOfUnit:NSCalendarUnitMonth startDate:&beginDate interval:&interval forDate:newDate];
if (ok) {
endDate = [beginDate dateByAddingTimeInterval:interval-1];
} else {
return;
}
self.startDate = beginDate;
self.endDate = endDate;
}
- (void)weekDayWithCurrentDate:(NSDate *)date {
NSCalendar * calendar = [NSCalendar currentCalendar]; //
NSDateComponents *comps = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitWeekday | NSCalendarUnitDay fromDate:date];
//
// 1 2 3.
NSInteger weekDay = [comps weekday];
//
NSInteger day = [comps day];
long firstDiff,lastDiff;
if (weekDay == 1){
firstDiff = -6;
lastDiff = 0;
} else {
firstDiff = -(weekDay - 2);
lastDiff = 8 - weekDay;
}
// ()
NSDateComponents *baseDayComp = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth | NSCalendarUnitDay fromDate:date];
//
[baseDayComp setDay:day + firstDiff];
NSDate *firstDayOfWeek = [calendar dateFromComponents:baseDayComp];
self.startDate = firstDayOfWeek;
//
[baseDayComp setDay:day + lastDiff];
NSDate *lastDayOfWeek = [calendar dateFromComponents:baseDayComp];
self.endDate = lastDayOfWeek;
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return self.datasource.count > 0 ? self.datasource.count : 1;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return self.datasource.count > 0 ? kGetScaleWidth(222) : 400;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
if (self.datasource.count > 0) {
XPNewMineHallIncomeCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPNewMineHallIncomeCell class]) forIndexPath:indexPath];
cell.rankNumber = indexPath.row;
cell.userInfo = [self.datasource safeObjectAtIndex1:indexPath.row];
return cell;
}
XPMineGuildEmptyTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:NSStringFromClass([XPMineGuildEmptyTableViewCell class])];
if (cell == nil) {
cell = [[XPMineGuildEmptyTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:NSStringFromClass([XPMineGuildEmptyTableViewCell class])];
}
return cell;
}
#pragma mark - XPGuildIncomeHeaderViewDelegate
- (void)xPNewGuildIncomeHeaderView:(XPMineGuildPersonalBillRecordHeadView *)view didChooseTime:(UIButton *)sender {
if (self.timeType == NewGuildIncomeRecrdTimeType_Mouth) {
[self.monthPickerView setDate:[NSDate date] animated:YES];
[self.monthPickerView show];
} else {
XPNewGuildTimePickView * timeView = [[XPNewGuildTimePickView alloc] init];
timeView.currentDate = [NSDate date];
timeView.pickDateType = self.timeType == NewGuildIncomeRecrdTimeType_Week ? XPNewGuildTimePickTypeWeek : XPNewGuildTimePickTypeDay;
timeView.delegate = self;
[TTPopup popupView:timeView style:TTPopupStyleActionSheet];
}
}
#pragma mark - XPGuildTimeMonthPickerViewDelegate
- (void)datePicker:(XPGuildTimeMonthPickerView *)datePicker didCancel:(UIButton *)sender {
[TTPopup dismiss];
}
- (void)datePicker:(XPGuildTimeMonthPickerView *)dataPicker didSelectedDate:(NSDate *)date {
[TTPopup dismiss];
[self monthWithCurrentDate:date];
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:date];
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:self.endDate];
[self.formatter setDateFormat:YMLocalizedString(@"PLTimeUtil3")];
NSString * currentDay = [self.formatter stringFromDate:date];
self.headerView.time = currentDay;
[self headerRefresh];
}
#pragma mark -XPGuildTimePickViewDelegate
- (void)xPNewGuildTimePickView:(XPNewGuildTimePickView *)view didClickCancel:(UIButton *)sender {
[TTPopup dismiss];
}
- (void)xPNewGuildTimePickView:(XPNewGuildTimePickView *)view didClickSure:(UIButton *)sender {
[TTPopup dismiss];
if (self.timeType == NewGuildIncomeRecrdTimeType_Week) {
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:view.startDate];
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:view.endDate];
self.headerView.time = [NSString stringWithFormat:@"%@ %@ %@",self.startTimeStr,YMLocalizedString(@"XPIncomeRecordGoldDetailsVC1"),self.endTimeStr];
} else {
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:view.startDate];
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:view.startDate];;
self.headerView.time = [NSString stringWithFormat:@"%@ %@ %@",self.startTimeStr,YMLocalizedString(@"XPIncomeRecordGoldDetailsVC1"),self.endTimeStr];
}
[self headerRefresh];
}
#pragma mark - XPGuildIncomeProtocol
- (void)getClanTotalIncomeScuess:(GuildIncomeRecordModel *)incomeInfo {
[self.tableView.mj_header endRefreshing];
self.headerView.diamond = incomeInfo.total;
self.datasource = incomeInfo.income;
[self.tableView reloadData];
}
- (void)getClanTotalIncomeFail:(NSString *)msg {
[self.tableView.mj_header endRefreshing];
}
#pragma mark - JXCategoryListContentViewDelegate
- (UIView *)listView {
return self.view;
}
#pragma mark - Getters And Setters
- (void)setTimeType:(NewGuildIncomeRecrdTimeType)timeType {
_timeType = timeType;
switch (_timeType) {
case NewGuildIncomeRecrdTimeType_Day:
self.startDate = [NSDate date];
self.endDate = [NSDate date];
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:self.startDate];
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:self.startDate];
self.headerView.time = [NSString stringWithFormat:@"%@ %@ %@",self.startTimeStr,YMLocalizedString(@"XPIncomeRecordGoldDetailsVC1"),self.endTimeStr];
break;
case NewGuildIncomeRecrdTimeType_Week:
[self weekDayWithCurrentDate:[NSDate date]];
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:self.startDate];
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:self.endDate];
self.headerView.time = [NSString stringWithFormat:@"%@ %@ %@",self.startTimeStr,YMLocalizedString(@"XPIncomeRecordGoldDetailsVC1"),self.endTimeStr];
break;
case NewGuildIncomeRecrdTimeType_Mouth:
{
[self monthWithCurrentDate:[NSDate date]];
self.startTimeStr = [PLTimeUtil getYYMMDDWithDate:self.startDate];
self.endTimeStr = [PLTimeUtil getYYMMDDWithDate:self.endDate];
[self.formatter setDateFormat:YMLocalizedString(@"PLTimeUtil3")];
NSString * currentDay = [self.formatter stringFromDate:[NSDate date]];
self.headerView.time = currentDay;
break;
}
default:
break;
}
[self headerRefresh];
}
//UItableview headerview
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat sectionHeaderHeight = 37;
if (scrollView.contentOffset.y<=sectionHeaderHeight&&scrollView.contentOffset.y>=0) {
scrollView.contentInset = UIEdgeInsetsMake(-scrollView.contentOffset.y, 0, 0, 0);
} else if (scrollView.contentOffset.y>=sectionHeaderHeight) {
scrollView.contentInset = UIEdgeInsetsMake(-sectionHeaderHeight, 0, 0, 0);
}
}
- (UITableView *)tableView {
if (!_tableView) {
_tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
_tableView.delegate = self;
_tableView.dataSource = self;
_tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
_tableView.backgroundColor = [UIColor clearColor];
if (@available(iOS 11.0, *)) {
_tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
}
[_tableView registerClass:[XPNewMineHallIncomeCell class] forCellReuseIdentifier:NSStringFromClass([XPNewMineHallIncomeCell class])];
}
return _tableView;
}
- (XPMineGuildPersonalBillRecordHeadView *)headerView {
if (!_headerView) {
_headerView = [[XPMineGuildPersonalBillRecordHeadView alloc] init];
_headerView.delegate = self;
}
return _headerView;
}
- (XPGuildTimeMonthPickerView *)monthPickerView {
if (!_monthPickerView) {
_monthPickerView = [[XPGuildTimeMonthPickerView alloc] initWithSuperView:self.view];
_monthPickerView.delegate = self;
_monthPickerView.datePickerMode = HooDatePickerModeYearAndMonth;
[_monthPickerView setTintColor:UIColorFromRGB(0x999999)];//
[_monthPickerView setHighlightColor:UIColorFromRGB(0x333333)];
NSDate * date = [NSDate date];
NSDateComponents *comps = nil; comps = [[NSCalendar sharedCalendar] components:NSCalendarUnitYear|NSCalendarUnitMonth|NSCalendarUnitMonth fromDate:date];
NSDateComponents *adcomps = [[NSDateComponents alloc] init];
[adcomps setYear:-15];
[adcomps setMonth:0];
[adcomps setDay:0];
NSDate *minDate = [[NSCalendar sharedCalendar] dateByAddingComponents:adcomps toDate:date options:0];
NSDateComponents *maxcomps = [[NSDateComponents alloc] init];
[maxcomps setYear:15];
[maxcomps setMonth:0];
[maxcomps setDay:0];
NSDate *maxDate = [[NSCalendar sharedCalendar] dateByAddingComponents:maxcomps toDate:date options:0];
_monthPickerView.minimumDate = minDate;
_monthPickerView.maximumDate = maxDate;
}
return _monthPickerView;
}
- (NSDateFormatter *)formatter {
if (!_formatter) {
_formatter = [[NSDateFormatter alloc] init];
}
return _formatter;
}
@end

View File

@@ -0,0 +1,16 @@
//
// XPMineGuildPersonalBillRecordContentView.h
// YuMi
//
// Created by duoban on 2023/8/7.
//
#import <UIKit/UIKit.h>
#import "XPMineGuildPersonalBillRecordModel.h"
NS_ASSUME_NONNULL_BEGIN
@interface XPMineGuildPersonalBillRecordContentView : UIView
@property(nonatomic,strong) XPMineGuildPersonalBillRecordModel *model;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,191 @@
//
// XPMineGuildPersonalBillRecordContentView.m
// YuMi
//
// Created by duoban on 2023/8/7.
//
#import "XPMineGuildPersonalBillRecordContentView.h"
#import "XPMineGuildPersonalBillRecordItemView.h"
@interface XPMineGuildPersonalBillRecordContentView()
///
@property(nonatomic,strong) XPMineGuildPersonalBillRecordItemView *roomBillView;
///
@property(nonatomic,strong) XPMineGuildPersonalBillRecordItemView *commonGiftView;
///
@property(nonatomic,strong) XPMineGuildPersonalBillRecordItemView *bagGiftView;
///
@property(nonatomic,strong) XPMineGuildPersonalBillRecordItemView *sendGiftView;
///
@property(nonatomic,strong) XPMineGuildPersonalBillRecordItemView *userGiftView;
///
@property(nonatomic,strong) UIView *bgView;
///
@property(nonatomic,strong) NetImageView *headImageView;
///
@property(nonatomic,strong) UILabel *roomNameVeiw;
///
@property(nonatomic,strong) UILabel *titleVeiw;
@end
@implementation XPMineGuildPersonalBillRecordContentView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self addSubview:self.bgView];
[self.bgView addSubview:self.headImageView];
[self.bgView addSubview:self.roomNameVeiw];
[self.bgView addSubview:self.titleVeiw];
[self.bgView addSubview:self.roomBillView];
[self.bgView addSubview:self.commonGiftView];
[self.bgView addSubview:self.bagGiftView];
[self.bgView addSubview:self.sendGiftView];
[self.bgView addSubview:self.userGiftView];
}
-(void)installConstraints{
[self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.edges.equalTo(self);
}];
[self.headImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.height.mas_equalTo(kGetScaleWidth(48));
make.top.mas_equalTo(kGetScaleWidth(16));
make.leading.mas_equalTo(kGetScaleWidth(20));
}];
[self.roomNameVeiw mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.equalTo(self.headImageView.mas_trailing).mas_offset(kGetScaleWidth(10));
make.centerY.equalTo(self.headImageView);
}];
[self.titleVeiw mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.headImageView.mas_bottom).mas_offset(kGetScaleWidth(10));
make.leading.mas_equalTo(kGetScaleWidth(20));
make.height.mas_equalTo(kGetScaleWidth(20));
}];
[self.roomBillView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.titleVeiw.mas_bottom).mas_offset(kGetScaleWidth(6));
make.leading.mas_equalTo(kGetScaleWidth(16));
make.width.mas_equalTo(kGetScaleWidth(108));
make.height.mas_equalTo(kGetScaleWidth(58));
}];
[self.commonGiftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.titleVeiw.mas_bottom).mas_offset(kGetScaleWidth(6));
make.centerX.equalTo(self.bgView);
make.width.mas_equalTo(kGetScaleWidth(108));
make.height.mas_equalTo(kGetScaleWidth(58));
}];
[self.bagGiftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.titleVeiw.mas_bottom).mas_offset(kGetScaleWidth(6));
make.trailing.mas_equalTo(-kGetScaleWidth(16));
make.width.mas_equalTo(kGetScaleWidth(108));
make.height.mas_equalTo(kGetScaleWidth(58));
}];
[self.sendGiftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.roomBillView.mas_bottom).mas_offset(kGetScaleWidth(16));
make.leading.mas_equalTo(kGetScaleWidth(16));
make.width.mas_equalTo(kGetScaleWidth(108));
make.height.mas_equalTo(kGetScaleWidth(58));
}];
[self.userGiftView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.equalTo(self.roomBillView.mas_bottom).mas_offset(kGetScaleWidth(16));
make.centerX.equalTo(self.bgView);
make.width.mas_equalTo(kGetScaleWidth(108));
make.height.mas_equalTo(kGetScaleWidth(58));
}];
}
-(void)setModel:(XPMineGuildPersonalBillRecordModel *)model{
_model = model;
if(model.income.count > 0){
XPMineGuildPersonalBillRecordItemModel *itemModel = model.income.firstObject;
self.roomBillView.num = [NSString stringWithFormat:@"+%@",itemModel.roomIncome];
self.bagGiftView.num = [NSString stringWithFormat:@"+%@",itemModel.bagIncome];
self.headImageView.imageUrl = itemModel.hallAvatar;
self.roomNameVeiw.text = itemModel.hallName;
self.commonGiftView.num = [NSString stringWithFormat:@"+%@",itemModel.normalGiftIncome];
self.sendGiftView.num = [NSString stringWithFormat:@"+%@",itemModel.giftUv];
self.userGiftView.num = [NSString stringWithFormat:@"+%@",itemModel.userNewSendGiftNum];
}
[self.bgView setCornerWithLeftTopCorner:kGetScaleWidth(16) rightTopCorner:kGetScaleWidth(16) bottomLeftCorner:0 bottomRightCorner:0 size:self.bgView.frame.size];
}
#pragma mark -
- (UIView *)bgView{
if(!_bgView){
_bgView = [UIView new];
_bgView.backgroundColor = [UIColor whiteColor];
}
return _bgView;
}
- (NetImageView *)headImageView{
if(!_headImageView){
NetImageConfig *config = [[NetImageConfig alloc]init];
config.placeHolder = [UIImageConstant defaultAvatarPlaceholder];
_headImageView = [[NetImageView alloc]initWithConfig:config];
_headImageView.layer.cornerRadius = kGetScaleWidth(48)/2;
_headImageView.layer.masksToBounds = YES;
}
return _headImageView;
}
-(UILabel *)roomNameVeiw{
if(!_roomNameVeiw){
_roomNameVeiw = [UILabel labelInitWithText:@"" font:kFontMedium(16) textColor:UIColorFromRGB(0x2B2D33)];
}
return _roomNameVeiw;
}
- (UILabel *)titleVeiw{
if(!_titleVeiw){
_titleVeiw = [UILabel new];
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:YMLocalizedString(@"XPMineGuildPersonalBillRecordContentView5") attributes:@{NSFontAttributeName:kFontMedium(14),NSForegroundColorAttributeName:UIColorFromRGB(0x2B2D33)}];
[textAtt addAttributes:@{NSFontAttributeName:kFontMedium(14),NSForegroundColorAttributeName:UIColorFromRGB(0x1F1B4F)} range:[textAtt.string rangeOfString:YMLocalizedString(@"XPMineGuildPersonalBillRecordContentView6")]];
_titleVeiw.attributedText = textAtt;
}
return _titleVeiw;
}
- (XPMineGuildPersonalBillRecordItemView *)roomBillView{
if(!_roomBillView){
_roomBillView = [[XPMineGuildPersonalBillRecordItemView alloc]initWithFrame:CGRectZero];
_roomBillView.num = @"+0.0";
_roomBillView.title = YMLocalizedString(@"XPMineGuildPersonalBillRecordContentView0");
}
return _roomBillView;
}
- (XPMineGuildPersonalBillRecordItemView *)commonGiftView{
if(!_commonGiftView){
_commonGiftView = [[XPMineGuildPersonalBillRecordItemView alloc]initWithFrame:CGRectZero];
_commonGiftView.num = @"+0.0";
_commonGiftView.title = YMLocalizedString(@"XPMineGuildPersonalBillRecordContentView1");
}
return _commonGiftView;
}
- (XPMineGuildPersonalBillRecordItemView *)bagGiftView{
if(!_bagGiftView){
_bagGiftView = [[XPMineGuildPersonalBillRecordItemView alloc]initWithFrame:CGRectZero];
_bagGiftView.num = @"+0.0";
_bagGiftView.title = YMLocalizedString(@"XPMineGuildPersonalBillRecordContentView2");
}
return _bagGiftView;
}
- (XPMineGuildPersonalBillRecordItemView *)sendGiftView{
if(!_sendGiftView){
_sendGiftView = [[XPMineGuildPersonalBillRecordItemView alloc]initWithFrame:CGRectZero];
_sendGiftView.num = @"+0.0";
_sendGiftView.title = YMLocalizedString(@"XPMineGuildPersonalBillRecordContentView3");
}
return _sendGiftView;
}
- (XPMineGuildPersonalBillRecordItemView *)userGiftView{
if(!_userGiftView){
_userGiftView = [[XPMineGuildPersonalBillRecordItemView alloc]initWithFrame:CGRectZero];
_userGiftView.num = @"+0.0";
_userGiftView.title = YMLocalizedString(@"XPMineGuildPersonalBillRecordContentView4");
}
return _userGiftView;
}
@end

View File

@@ -0,0 +1,27 @@
//
// XPMineGuildPersonalBillRecordHeadView.h
// xplan-ios
//
// Created by duoban on 2023/7/27.
//
#import <UIKit/UIKit.h>
@class XPMineGuildPersonalBillRecordHeadView;
@protocol XPMineGuildPersonalBillRecordHeadViewDelegate <NSObject>
///选择日期
- (void)xPMineGuildPersonalBillRecordHeadView:(XPMineGuildPersonalBillRecordHeadView *_Nonnull)view didChooseTime:(UILabel *_Nullable)sender;
@end
NS_ASSUME_NONNULL_BEGIN
@interface XPMineGuildPersonalBillRecordHeadView : UIView
@property(nonatomic,copy) NSString *diamond;
@property(nonatomic,copy) NSString *time;
@property(nonatomic,weak) id<XPMineGuildPersonalBillRecordHeadViewDelegate>delegate;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,118 @@
//
// XPMineGuildPersonalBillRecordHeadView.m
// xplan-ios
//
// Created by duoban on 2023/7/27.
//
#import "XPMineGuildPersonalBillRecordHeadView.h"
@interface XPMineGuildPersonalBillRecordHeadView()
///
@property(nonatomic,strong) UIImageView *bgImageView;
///
@property(nonatomic,strong) UILabel *titleView;
///
@property(nonatomic,strong) UILabel *diamondNumView;
///
@property(nonatomic,strong) UILabel *timeVeiw;
@end
@implementation XPMineGuildPersonalBillRecordHeadView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
[self addSubview:self.bgImageView];
[self.bgImageView addSubview:self.titleView];
[self.bgImageView addSubview:self.diamondNumView];
[self.bgImageView addSubview:self.timeVeiw];
}
-(void)installConstraints{
[self.bgImageView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.equalTo(self).inset(0);
make.top.mas_equalTo(kGetScaleWidth(0));
make.height.mas_equalTo(kGetScaleWidth(148));
}];
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(31));
make.leading.mas_equalTo(kGetScaleWidth(35));
make.height.mas_equalTo(kGetScaleWidth(20));
}];
[self.diamondNumView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(kGetScaleWidth(35));
make.top.mas_equalTo(kGetScaleWidth(59));
make.height.mas_equalTo(kGetScaleWidth(32));
}];
[self.timeVeiw mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(kGetScaleWidth(108));
make.leading.mas_equalTo(kGetScaleWidth(35));
}];
}
-(void)setDiamond:(NSString *)diamond{
_diamond = diamond;
_diamondNumView.text = _diamond;
}
-(void)chooseTime{
if(self.delegate && [self.delegate respondsToSelector:@selector(xPMineGuildPersonalBillRecordHeadView:didChooseTime:)]){
[self.delegate xPMineGuildPersonalBillRecordHeadView:self didChooseTime:self.timeVeiw];
}
}
- (void)setTime:(NSString *)time{
_time = time;
NSString *getTime = [NSString stringWithFormat:@"%@ ",_time];
NSMutableAttributedString * starAttribute = [[NSMutableAttributedString alloc]initWithString:getTime attributes:@{NSFontAttributeName:kFontRegular(12),NSForegroundColorAttributeName:UIColorFromRGB(0x6D6B89)}];
UIImage *iconImage = kImage(@"mine_guild_bill_record_arrow");
NSTextAttachment * attachment = [[NSTextAttachment alloc] init];
attachment.bounds = CGRectMake(0, roundf(self.timeVeiw.font.capHeight - iconImage.size.height)/2.f, iconImage.size.width, iconImage.size.height);;
attachment.image = iconImage;
[starAttribute insertAttributedString:[NSMutableAttributedString attributedStringWithAttachment:attachment] atIndex:getTime.length];
_timeVeiw.attributedText = starAttribute;
}
#pragma mark -
- (UIImageView *)bgImageView{
if(!_bgImageView){
_bgImageView = [UIImageView new];
_bgImageView.image = kImage(@"mine_guild_bill_record_bg");
_bgImageView.userInteractionEnabled = YES;
}
return _bgImageView;
}
- (UILabel *)titleView{
if(!_titleView){
_titleView = [UILabel labelInitWithText:YMLocalizedString(@"XPMineGuildPersonalBillRecordHeadView2") font:kFontMedium(14) textColor:[UIColor whiteColor]];
NSMutableAttributedString *textAtt = [[NSMutableAttributedString alloc]initWithString:YMLocalizedString(@"XPMineGuildPersonalBillRecordHeadView3") attributes:@{NSFontAttributeName:kFontMedium(14),NSForegroundColorAttributeName:UIColorFromRGB(0x1F1B4F)}];
[textAtt addAttributes:@{NSFontAttributeName:kFontRegular(14),NSForegroundColorAttributeName:UIColorFromRGB(0x1F1B4F)} range:[textAtt.string rangeOfString:YMLocalizedString(@"XPMineGuildPersonalBillRecordHeadView4")]];
_titleView.attributedText = textAtt;
}
return _titleView;
}
- (UILabel *)diamondNumView{
if(!_diamondNumView){
_diamondNumView = [UILabel labelInitWithText:@"" font:kFontMedium(24) textColor:UIColorFromRGB(0x9168FA)];
}
return _diamondNumView;
}
-(UILabel *)timeVeiw{
if(!_timeVeiw){
_timeVeiw = [UILabel new];
_timeVeiw.font = kFontMedium(12);
_timeVeiw.textColor = [UIColor whiteColor];
_timeVeiw.userInteractionEnabled = YES;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(chooseTime)];
[_timeVeiw addGestureRecognizer:tap];
}
return _timeVeiw;
}
@end

View File

@@ -0,0 +1,17 @@
//
// XPMineGuildPersonalBillRecordItemView.h
// xplan-ios
//
// Created by duoban on 2023/7/27.
//
#import <UIKit/UIKit.h>
NS_ASSUME_NONNULL_BEGIN
@interface XPMineGuildPersonalBillRecordItemView : UIView
@property(nonatomic,copy) NSString *num;
@property(nonatomic,copy) NSString *title;
@end
NS_ASSUME_NONNULL_END

View File

@@ -0,0 +1,65 @@
//
// XPMineGuildPersonalBillRecordItemView.m
// xplan-ios
//
// Created by duoban on 2023/7/27.
//
#import "XPMineGuildPersonalBillRecordItemView.h"
@interface XPMineGuildPersonalBillRecordItemView()
@property(nonatomic,strong) UILabel *numView;
@property(nonatomic,strong) UILabel *titleView;
@end
@implementation XPMineGuildPersonalBillRecordItemView
-(instancetype)initWithFrame:(CGRect)frame{
self = [super initWithFrame:frame];
if(self){
[self installUI];
[self installConstraints];
}
return self;
}
-(void)installUI{
self.backgroundColor = UIColorRGBAlpha(0xBBBCCF, 0.1);
self.layer.cornerRadius = kGetScaleWidth(6);
self.layer.masksToBounds = YES;
[self addSubview:self.numView];
[self addSubview:self.titleView];
}
-(void)installConstraints{
[self.titleView mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(-kGetScaleWidth(8));
make.centerX.equalTo(self);
}];
[self.numView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.trailing.equalTo(self).inset(kGetScaleWidth(5));
make.bottom.equalTo(self.titleView.mas_top).mas_offset(-kGetScaleWidth(2));
make.top.mas_equalTo(kGetScaleWidth(0));
}];
}
- (void)setNum:(NSString *)num{
_num = num;
_numView.text = _num;
}
- (void)setTitle:(NSString *)title{
_title = title;
_titleView.text = _title;
}
#pragma mark -
- (UILabel *)numView{
if(!_numView){
_numView = [UILabel labelInitWithText:@"+0" font:kFontSemibold(12) textColor:UIColorFromRGB(0x2B2D33)];
_numView.textAlignment = NSTextAlignmentCenter;
_numView.numberOfLines = 2;
}
return _numView;
}
-(UILabel *)titleView{
if(!_titleView){
_titleView = [UILabel labelInitWithText:@"" font:kFontRegular(11) textColor:UIColorFromRGB(0x696D7A)];
_titleView.textAlignment = NSTextAlignmentCenter;
}
return _titleView;
}
@end

View File

@@ -150,7 +150,7 @@
if (_totalIncome == nil) {
_totalIncome = @"0";
}
NSString * title = [NSString stringWithFormat:YMLocalizedString(@"XPGuildIncomeHeaderView2"), [NSString getDealNumwithstring:_totalIncome]];
NSString * title = [NSString stringWithFormat:YMLocalizedString(@"XPGuildIncomeHeaderView2"), _totalIncome];
NSRange range = [title rangeOfString:YMLocalizedString(@"XPGuildIncomeHeaderView3")];
NSMutableAttributedString * attribute = [[NSMutableAttributedString alloc] initWithString:title attributes:@{NSFontAttributeName:[UIFont systemFontOfSize:23],NSForegroundColorAttributeName:[UIColor whiteColor]}];
[attribute addAttribute:NSFontAttributeName value:[UIFont systemFontOfSize:18] range:range];

View File

@@ -34,6 +34,8 @@
#import "XPMineUserInfoViewController.h"
#import "XPMineMainGuildListVC.h"
#import "SessionViewController.h"
#import "XPNewMineGuildItemView.h"
#import "XPMineGuildPersonalBillStatisVC.h"
///P
#import "XPGuildPresenter.h"
#import "XPGuildProtocol.h"
@@ -89,12 +91,16 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
@property (nonatomic,strong) TTActionSheetConfig *addMemberItem;
///
@property (nonatomic,strong) TTActionSheetConfig *removeMemberItem;
///
@property (nonatomic,strong) TTActionSheetConfig *memberIncomeItem;
///
@property (nonatomic,strong) TTActionSheetConfig *singleIncomeItem;
///
@property(nonatomic,strong) XPNewMineGuildItemView *checkView;
///
@property(nonatomic,strong) XPNewMineGuildItemView *memberView;
///
@property (nonatomic,strong) TTActionSheetConfig *managerSetItem;
@property(nonatomic,strong) XPNewMineGuildItemView *managerView;
@property(nonatomic,strong) UIStackView *itemStackView;
///
@property (nonatomic,strong) UIView *addRoomView;
///
@@ -186,7 +192,13 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
[self.headerView addSubview:self.avatarImageView];
[self.headerView addSubview:self.idLabel];
self.headerView.frame = CGRectMake(0, 0, KScreenWidth, 174 + kSafeAreaTopHeight);
[self.headerView addSubview:self.itemStackView];
[self.itemStackView addArrangedSubview:self.checkView];
[self.itemStackView addArrangedSubview:self.memberView];
[self.itemStackView addArrangedSubview:self.managerView];
self.headerView.frame = CGRectMake(0, 0, KScreenWidth, 285);
self.tableView.tableHeaderView = self.headerView;
@@ -209,12 +221,6 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
[self.navigationController pushViewController:removeVC animated:YES];
};
self.memberIncomeItem.clickAction = ^{
@kStrongify(self);
XPMineGuildIncomeStatisViewController * personIncomeVC = [[XPMineGuildIncomeStatisViewController alloc] init];
personIncomeVC.hallId = self.clanDetailInfo.hall.hallId;
[self.navigationController pushViewController:personIncomeVC animated:YES];
};
self.singleIncomeItem.clickAction = ^{
@kStrongify(self);
@@ -228,12 +234,7 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
vc.isFromHall = YES;
[self.navigationController pushViewController:vc animated:YES];
};
self.managerSetItem.clickAction = ^{
@kStrongify(self);
XPMineMangerListViewController * managerList = [[XPMineMangerListViewController alloc] init];
managerList.guildId = self.clanDetailInfo.hall.hallId;
[self.navigationController pushViewController:managerList animated:YES];
};
}
@@ -299,6 +300,27 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
make.centerX.mas_equalTo(self.headerView);
make.top.mas_equalTo(self.avatarImageView.mas_bottom).offset(10);
}];
CGFloat spacing = (KScreenWidth - 112*3)/4;
[self.itemStackView mas_makeConstraints:^(MASConstraintMaker *make) {
make.leading.mas_equalTo(spacing);
make.trailing.mas_equalTo(-spacing);
make.top.mas_equalTo(221);
make.height.mas_equalTo(52);
}];
CGFloat width = 112;
[self.checkView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(52);
make.width.mas_equalTo(width);
}];
[self.memberView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(52);
make.width.mas_equalTo(width);
}];
[self.managerView mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(52);
make.width.mas_equalTo(width);
}];
}
#pragma mark - UITableViewDelegate And UITableViewDataSource
@@ -499,15 +521,17 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
self.removeMemberItem.title = obj.name;
[array addObject:self.removeMemberItem];
}else if ([obj.code isEqualToString:@"look_hall_income"]) {
self.memberIncomeItem.title = obj.name;
[array addObject:self.memberIncomeItem];
self.memberView.text = obj.name;
self.memberView.hidden = NO;
}else if ([obj.code isEqualToString:@"single_room_income"]) {
self.singleIncomeItem.title = obj.name;
[array addObject:self.singleIncomeItem];
}else if ([obj.code isEqualToString:@"hall_manager_set"]) {
self.managerSetItem.title = obj.name;
[array addObject:self.managerSetItem];
}
self.managerView.text = obj.name;
self.managerView.hidden = NO;
}else if ([obj.code isEqualToString:@"hall_serial"]) {
self.checkView.hidden = NO;
}
}
}];
self.managerAuthList = array.copy;
@@ -624,6 +648,21 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
break;
}
}
-(void)checkBillAction{
XPMineGuildPersonalBillStatisVC *billVC = [[XPMineGuildPersonalBillStatisVC alloc]init];
billVC.guildId = self.clanDetailInfo.hall.hallId;
[self.navigationController pushViewController:billVC animated:YES];
}
-(void)checkMemberIncomeAction{
XPMineGuildIncomeStatisViewController * personIncomeVC = [[XPMineGuildIncomeStatisViewController alloc] init];
personIncomeVC.hallId = self.clanDetailInfo.hall.hallId;
[self.navigationController pushViewController:personIncomeVC animated:YES];
}
-(void)checkManagerSetAction{
XPMineMangerListViewController * managerList = [[XPMineMangerListViewController alloc] init];
managerList.guildId = self.clanDetailInfo.hall.hallId;
[self.navigationController pushViewController:managerList animated:YES];
}
#pragma mark - Getters And Setters
- (UIView *)navView {
@@ -789,13 +828,7 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
return _removeMemberItem;
}
- (TTActionSheetConfig *)memberIncomeItem {
if (!_memberIncomeItem) {
_memberIncomeItem = [[TTActionSheetConfig alloc] init];
_memberIncomeItem.titleColor = [DJDKMIMOMColor alertTitleColor];
}
return _memberIncomeItem;
}
- (TTActionSheetConfig *)singleIncomeItem {
if (!_singleIncomeItem) {
@@ -811,12 +844,51 @@ UIKIT_EXTERN NSString *kInviteMemeberSuccess;
}
return _addGuildItem;
}
- (TTActionSheetConfig *)managerSetItem {
if (!_managerSetItem) {
_managerSetItem = [[TTActionSheetConfig alloc] init];
_managerSetItem.titleColor = [DJDKMIMOMColor alertTitleColor];
}
return _managerSetItem;
- (XPNewMineGuildItemView *)checkView{
if(!_checkView){
_checkView = [[XPNewMineGuildItemView alloc]initWithFrame:CGRectZero];
_checkView.bgImage = kImage(@"mine_guild_guild_check");
_checkView.text = YMLocalizedString(@"XPGuildHeaderView4");
_checkView.hidden = YES;
_checkView.textColor = UIColorFromRGB(0x308BE0);
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(checkBillAction)];
[_checkView addGestureRecognizer:tap];
}
return _checkView;
}
- (XPNewMineGuildItemView *)memberView{
if(!_memberView){
_memberView = [[XPNewMineGuildItemView alloc]initWithFrame:CGRectZero];
_memberView.bgImage = kImage(@"mine_guild_guild_meber");
_memberView.textColor = UIColorFromRGB(0xE1489B);
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(checkMemberIncomeAction)];
[_memberView addGestureRecognizer:tap];
_memberView.hidden = YES;
}
return _memberView;
}
- (XPNewMineGuildItemView *)managerView{
if(!_managerView){
_managerView = [[XPNewMineGuildItemView alloc]initWithFrame:CGRectZero];
_managerView.textColor = UIColorFromRGB(0x8843E0);
_managerView.bgImage = kImage(@"mine_guild_guild_manager");
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(checkManagerSetAction)];
[_managerView addGestureRecognizer:tap];
_managerView.hidden = YES;
}
return _managerView;
}
- (UIStackView *)itemStackView {
if (!_itemStackView) {
_itemStackView = [[UIStackView alloc] init];
_itemStackView.axis = UILayoutConstraintAxisHorizontal;
_itemStackView.distribution = UIStackViewDistributionFill;
_itemStackView.alignment = UIStackViewAlignmentLeading;
CGFloat spacing = (KScreenWidth - 112*3)/4;
_itemStackView.spacing = spacing;
}
return _itemStackView;
}
- (UIView *)addRoomView{
if (!_addRoomView){

View File

@@ -18,7 +18,10 @@ NS_ASSUME_NONNULL_BEGIN
@end
@interface XPNobleSettingNavView : UIView
///返回按钮
@property (nonatomic,strong) UIButton *backButton;
///显示文本
@property (nonatomic,strong) UILabel *titleLabel;
///代理
@property (nonatomic,weak) id<XPNobleSettingNavViewDelegate> delegate;

View File

@@ -14,10 +14,8 @@
@interface XPNobleSettingNavView ()
///
@property (nonatomic,strong) UIButton *backButton;
///
@property (nonatomic,strong) UILabel *titleLabel;
@end
@implementation XPNobleSettingNavView