// // RQExamProbabilityViewModel.m // jiaPei // // Created by 张嵘 on 2022/7/29. // Copyright © 2022 JCZ. All rights reserved. // #import "RQExamProbabilityViewModel.h" @interface RQExamProbabilityViewModel () @property (nonatomic, readwrite, strong) RQCommonGroupViewModel *group0; @property (nonatomic, readwrite, copy) NSArray *examResultArr; @property (nonatomic, readwrite, assign) RQHomePageSubjectType homePageSubjectType; @end @implementation RQExamProbabilityViewModel #pragma mark - Public Method - (instancetype)initWithServices:(id)services params:(NSDictionary *)params { if (self = [super initWithServices:services params:params]) { self.examResultArr = params[RQViewModelUtilKey]; } return self; } - (void)initialize { [super initialize]; @weakify(self) self.title = @"成绩单"; self.prefersNavigationBarBottomLineHidden = YES; ///配置数据 [self rq_configureData]; [[[RQNotificationCenter rac_addObserverForName:RQExamProbabilityUpdateNotification object:nil] takeUntil:self.rac_willDeallocSignal] subscribeNext:^(NSNotification * note) { @strongify(self) self.examResultArr = note.object[RQExamResultListItemKey]; self.homePageSubjectType = [note.object[RQExamResultListSubjectKey] intValue]; self.group0 = nil; [self rq_configureData]; }]; // [[RQ_HTTP_Service getMyScore] subscribeNext:^(NSArray *examResultModelArr) { // @strongify(self) // RQSimulateExamSituationItemViewModel *simulateExamSituationItemViewModel = [[RQSimulateExamSituationItemViewModel alloc] init]; // simulateExamSituationItemViewModel.examResultArr = [[examResultModelArr.rac_sequence.signal filter:^BOOL(RQExamResultModel * examResultModel) { // return [examResultModelArr indexOfObject:examResultModel] < 10; // }].toArray.rac_sequence.signal map:^id _Nullable(RQExamResultModel * examResultModel) { // return @(examResultModel.score.integerValue); // }].toArray; // NSMutableArray *arr = self.group0.itemViewModels.mutableCopy; // [arr replaceObjectAtIndex:2 withObject:simulateExamSituationItemViewModel]; // self.group0.itemViewModels = arr.copy; // self.dataSource = @[self.group0]; // }]; } #pragma mark - PrivateMethod - (void)rq_configureData { self.dataSource = @[self.group0]; } - (RQCommonGroupViewModel *)group0 { if (!_group0) { _group0 = [RQCommonGroupViewModel groupViewModel]; [_group0 setCustomStyleWithRQCommonGroupModel:^(RQCommonGroupModel *groupModel) { groupModel.footerHeight = 10.f; groupModel.footerBgColor = RQ_LIST_BACKGROUNDCOLOR; }]; RQExamProbabilyItemViewModel *examProbabilyItemViewModel = [[RQExamProbabilyItemViewModel alloc] init]; examProbabilyItemViewModel.homePageSubjectType = self.homePageSubjectType; RQExerciseSituationItemViewModel *exerciseSituationItemViewModel = [[RQExerciseSituationItemViewModel alloc] init]; exerciseSituationItemViewModel.homePageSubjectType = self.homePageSubjectType; RQSimulateExamSituationItemViewModel *simulateExamSituationItemViewModel = [[RQSimulateExamSituationItemViewModel alloc] init]; simulateExamSituationItemViewModel.examResultArr = self.examResultArr; RQExamHistoryItemViewModel *examHistoryItemViewModel = [[RQExamHistoryItemViewModel alloc] initWithExamResultArr:self.examResultArr]; _group0.itemViewModels = @[examProbabilyItemViewModel, exerciseSituationItemViewModel,simulateExamSituationItemViewModel,examHistoryItemViewModel]; } return _group0; } @end