// // RQSpecialPractiseViewModel.m // jiaPei // // Created by 张嵘 on 2022/6/21. // Copyright © 2022 JCZ. All rights reserved. // #import "RQSpecialPractiseViewModel.h" @interface RQSpecialPractiseViewModel () @property (nonatomic, readwrite, strong) RQCommonGroupViewModel *group0; @property (nonatomic, readwrite, strong) RQCommonGroupViewModel *group1; @property (nonatomic, readwrite, strong) RQCommonGroupViewModel *group2; @property (nonatomic, readwrite, strong) RQCommonGroupViewModel *group3; @property (nonatomic, readwrite, strong) RQCommonGroupViewModel *group4; @property (nonatomic, readwrite, strong) RQCommonGroupViewModel *group5; @property (nonatomic, readwrite, copy) NSArray *zeroArr; @property (nonatomic, readwrite, copy) NSArray *oneArr; @property (nonatomic, readwrite, copy) NSArray *twoArr; @property (nonatomic, readwrite, copy) NSArray *threeArr; @property (nonatomic, readwrite, copy) NSArray *fourArr; @property (nonatomic, readwrite, copy) NSArray *fiveArr; @property (nonatomic, readwrite, copy) NSArray *chapterArr; @property (nonatomic, readwrite, copy) NSArray *pointArr; @end @implementation RQSpecialPractiseViewModel #pragma mark - Public Method - (instancetype)initWithServices:(id)services params:(NSDictionary *)params { if (self = [super initWithServices:services params:params]) { } return self; } - (void)initialize { [super initialize]; self.title = @"专项练习"; ///配置数据 [self rq_configureData]; } #pragma mark - PrivateMethod - (void)rq_configureData { self.dataSource = @[self.group0, self.group1, self.group2, self.group3, self.group4, self.group5]; } #pragma mark - LazyLoad - (RQCommonGroupViewModel *)group0 { if (!_group0) { _group0 = [RQCommonGroupViewModel groupViewModel]; _group0.itemViewModels = self.zeroArr; } return _group0; } - (RQCommonGroupViewModel *)group1 { if (!_group1) { _group1 = [RQCommonGroupViewModel groupViewModel]; [_group1 setCustomStyleWithRQCommonGroupModel:^(RQCommonGroupModel *groupModel) { groupModel.footerHeight = 10.f; }]; _group1.itemViewModels = self.oneArr; } return _group1; } - (RQCommonGroupViewModel *)group2 { if (!_group2) { _group2 = [RQCommonGroupViewModel groupViewModel]; [_group2 setCustomStyleWithRQCommonGroupModel:^(RQCommonGroupModel *groupModel) { groupModel.header = @"未做/已做"; groupModel.headerHeight = 56.f; groupModel.headerBgColor = UIColor.whiteColor; groupModel.footerHeight = 10.f; }]; _group2.itemViewModels = self.twoArr; } return _group2; } - (RQCommonGroupViewModel *)group3 { if (!_group3) { _group3 = [RQCommonGroupViewModel groupViewModel]; [_group3 setCustomStyleWithRQCommonGroupModel:^(RQCommonGroupModel *groupModel) { groupModel.header = @"试题类型"; groupModel.headerHeight = 56.f; groupModel.headerBgColor = UIColor.whiteColor; groupModel.footerHeight = 10.f; }]; _group3.itemViewModels = self.threeArr; } return _group3; } - (RQCommonGroupViewModel *)group4 { if (!_group4) { _group4 = [RQCommonGroupViewModel groupViewModel]; [_group4 setCustomStyleWithRQCommonGroupModel:^(RQCommonGroupModel *groupModel) { groupModel.header = @"内容类型"; groupModel.headerHeight = 56.f; groupModel.headerBgColor = UIColor.whiteColor; groupModel.footerHeight = 10.f; }]; _group4.itemViewModels = self.fourArr; } return _group4; } - (RQCommonGroupViewModel *)group5 { if (!_group5) { _group5 = [RQCommonGroupViewModel groupViewModel]; [_group5 setCustomStyleWithRQCommonGroupModel:^(RQCommonGroupModel *groupModel) { groupModel.header = @"考点练习"; groupModel.headerBgColor = UIColor.whiteColor; groupModel.headerHeight = 56.f; groupModel.footerHeight = 40.f; groupModel.footerBgColor = UIColor.whiteColor; }]; _group5.itemViewModels = self.fiveArr; } return _group5; } - (NSArray *)zeroArr { //福州市-江苏-目前写死 if ([RQ_USER_MANAGER.currentUser.city isEqualToString:@"3501"]) { NSInteger allCount = [RQ_YDTQuestion_Module getQuestionNumWithWithSubject:RQ_YDTQuestion_Module.subject exerciseType:RQExerciseType_Locality]; return @[ [[RQSpecialPracticeItemViewModel alloc] initWithTitleStr:@"本地练习" subTitleStr:[NSString qmui_stringWithNSInteger:allCount] iconImgStr:@"章节练习背景" itemCount:3.f], [[RQSpecialPracticeItemViewModel alloc] initWithTitleStr:@"章节练习" subTitleStr:[NSString qmui_stringWithNSInteger:self.chapterArr.count] iconImgStr:@"章节练习背景" itemCount:3.f], [[RQSpecialPracticeItemViewModel alloc] initWithTitleStr:@"考点练习" subTitleStr:[NSString qmui_stringWithNSInteger:self.pointArr.count] iconImgStr:@"考点练习背景" itemCount:3.f] ]; } return @[ [[RQSpecialPracticeItemViewModel alloc] initWithTitleStr:@"章节练习" subTitleStr:[NSString qmui_stringWithNSInteger:self.chapterArr.count] iconImgStr:@"章节练习背景" itemCount:2.f], [[RQSpecialPracticeItemViewModel alloc] initWithTitleStr:@"考点练习" subTitleStr:[NSString qmui_stringWithNSInteger:self.pointArr.count] iconImgStr:@"考点练习背景" itemCount:2.f] ]; } - (NSArray *)oneArr { return @[ [[RQSpecialAddItemViewModel alloc] initWithTitleStr:@"新规题" iconImgStr:@"新规题"], [[RQSpecialAddItemViewModel alloc] initWithTitleStr:@"易错题" iconImgStr:@"易错题"], [[RQSpecialAddItemViewModel alloc] initWithTitleStr:@"争议题" iconImgStr:@"争议题"], [[RQSpecialAddItemViewModel alloc] initWithTitleStr:@"图标技巧" iconImgStr:@"图标技巧"], ]; } - (NSArray *)twoArr { return @[ [[RQSpecialQuestionItemViewModel alloc] initWithTitleStr:@"未做题" iconImgStr:@"未做题"], [[RQSpecialQuestionItemViewModel alloc] initWithTitleStr:@"已做题" iconImgStr:@"已做题"], ]; } - (NSArray *)threeArr { return (RQ_YDTQuestion_Module.subject == RQHomePageSubjectType_SubjectFour || RQ_YDTQuestion_Module.carType == RQHomePageCarType_Truck)? @[ [[RQSpecialQuestionItemViewModel alloc] initWithTitleStr:@"单选题" iconImgStr:@"单选题"], [[RQSpecialQuestionItemViewModel alloc] initWithTitleStr:@"判断题" iconImgStr:@"判断题"], [[RQSpecialQuestionItemViewModel alloc] initWithTitleStr:@"多选题" iconImgStr:@"多选题"], ] : @[[[RQSpecialQuestionItemViewModel alloc] initWithTitleStr:@"单选题" iconImgStr:@"单选题"], [[RQSpecialQuestionItemViewModel alloc] initWithTitleStr:@"判断题" iconImgStr:@"判断题"],]; } - (NSArray *)fourArr { return (RQ_YDTQuestion_Module.subject == RQHomePageSubjectType_SubjectFour)? @[ [[RQSpecialQuestionItemViewModel alloc] initWithTitleStr:@"文字题" iconImgStr:@"文字题"], [[RQSpecialQuestionItemViewModel alloc] initWithTitleStr:@"图片题" iconImgStr:@"图片题"], [[RQSpecialQuestionItemViewModel alloc] initWithTitleStr:@"动画题" iconImgStr:@"动画题"], ] : @[ [[RQSpecialQuestionItemViewModel alloc] initWithTitleStr:@"文字题" iconImgStr:@"文字题"], [[RQSpecialQuestionItemViewModel alloc] initWithTitleStr:@"图片题" iconImgStr:@"图片题"], ]; } - (NSArray *)fiveArr { return [self.pointArr.rac_sequence.signal map:^id _Nullable(RQYDTPointModel *pointModel) { return [[RQSpecialPointItemViewModel alloc] initWithPointArr:self.pointArr currentPoint:pointModel]; }].toArray; } - (NSArray *)chapterArr { if (!_chapterArr) { _chapterArr = [RQ_YDTQuestion_Module getChapterArr]; } return _chapterArr; } - (NSArray *)pointArr { if (!_pointArr) { _pointArr = [RQ_YDTQuestion_Module getPoint]; } return _pointArr; } @end