| | |
| | | |
| | | /// 当前页数 |
| | | var currentPage = BehaviorRelay<Int>(value: 0) |
| | | var subPage = BehaviorRelay<Int>(value: 1) //小题目角标 |
| | | var maxPage = BehaviorRelay<Int>(value: 5) |
| | | var listenType = BehaviorRelay<ListenType>(value:.lesson1) |
| | | var times:Int = 0 |
| | |
| | | },onError: { _ in |
| | | weakSelf.showGameLevel() |
| | | }).disposed(by: weakSelf.disposeBag) |
| | | } cancelClouse: {[weak self] in |
| | | self?.navigationController?.popViewController(animated: true) |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | private func setPages(){ |
| | | switch viewModel.listenType.value{ |
| | | case .lesson1,.lesson2,.lesson3,.lesson5: |
| | | case .lesson1,.lesson2,.lesson5: |
| | | label_pageNum.text = "已完成:\(viewModel.answerCount.value)/\((data as! ListenNewModel).subjectList.flatMap({$0}).count)" |
| | | case .lesson3: |
| | | label_pageNum.text = "已完成:\(viewModel.currentPage.value + 1)/\((data as! ListenNewModel).subjectList.count)" |
| | | case .lesson4: |
| | | //两题为一组:需要/2 |
| | | label_pageNum.text = "已完成:\(viewModel.answerCount.value)/\((data as! ListenNewModel).subjectList.flatMap({$0}).count / 2)" |
| | |
| | | default:break |
| | | } |
| | | |
| | | //正确率 |
| | | let accracy = Int(Double(viewModel.correctNum) / Double(viewModel.correctNum + viewModel.errorNum) * 100) |
| | | |
| | | //有答题过程 |
| | | //完成进度 |
| | | var isComplete = false |
| | | switch viewModel.listenType.value { |
| | | case .lesson1:isComplete = studyScheduleModel?.listen == 100 |
| | | case .lesson2:isComplete = studyScheduleModel?.look == 100 |
| | | case .lesson3:isComplete = studyScheduleModel?.induction == 100 |
| | | case .lesson4:isComplete = studyScheduleModel?.answer == 100 |
| | | case .lesson5:isComplete = studyScheduleModel?.pair == 100 |
| | | default:isComplete = false |
| | | } |
| | | |
| | | Services.completeLearing(type: viewModel.listenType.value.rawValue, studyTime: viewModel.times, studyIds: ids, isComplete: isComplete).subscribe(onNext: {data in |
| | | Services.completeLearing(type: viewModel.listenType.value.rawValue, studyTime: viewModel.times, studyIds: ids, quarter: viewModel.quarter.value!, week: viewModel.week.value!, day: viewModel.day.value!, accracy: accracy).subscribe(onNext: {data in |
| | | NotificationCenter.default.post(name: Refresh_ListenSchedule_Noti, object: nil) |
| | | }).disposed(by: disposeBag) |
| | | |
| | |
| | | |
| | | @objc func beforeAction(){ |
| | | listenFightLine = .before |
| | | var beforePage = max(0, viewModel.currentPage.value - 1) |
| | | let beforePage = max(0, viewModel.currentPage.value - 1) |
| | | switch viewModel.listenType.value { |
| | | case .lesson1,.lesson2: |
| | | let temp = (beforePage * 4) + 1 |
| | | viewModel.answerCount.accept(max(1,temp)) |
| | | default:break |
| | | } |
| | | |
| | | |
| | | pageVC.scroll(toPage: beforePage, animation: true) |
| | | viewModel.currentPage.accept(beforePage) |
| | | |