| | |
| | | case none |
| | | } |
| | | |
| | | |
| | | //中途退出所需要 |
| | | class ExitLearnModel{ |
| | | var topicsIds = Set<Int>() |
| | | } |
| | | |
| | | class HomeListenFightViewModel{ |
| | | |
| | | /// 当前页数 |
| | |
| | | //所有回答的 |
| | | var answerItems = Dictionary<Int,Any>() //{page:0,data:String,currectAt:0} |
| | | var answerCount = BehaviorRelay<Int>(value: 1) |
| | | |
| | | var answerItems_1 = Dictionary<String,Set<Int>>() |
| | | |
| | | //回答正确的题 |
| | | func insertCorrectAnswer(teamId:String?,answerId:Int){ |
| | | guard teamId != nil else {return} |
| | | if answerItems_1[teamId!] == nil{ |
| | | answerItems_1[teamId!] = Set<Int>() |
| | | } |
| | | answerItems_1[teamId!]!.insert(answerId) |
| | | } |
| | | } |
| | | |
| | | class HomeListenFightVC: BaseVC { |
| | |
| | | switch viewModel.listenType.value { |
| | | case .lesson1,.lesson2,.lesson3,.lesson4,.lesson5: |
| | | let data = (data as! ListenNewModel).data |
| | | ids = data?.id ?? "" |
| | | toalIntegral = data?.integral ?? 0 |
| | | default:break |
| | | } |
| | |
| | | CommonAlertView.show(content: "未完成全部答题,确认退出吗?") {[weak self] () in |
| | | guard let weakSelf = self else { return } |
| | | |
| | | var temIds = [String]() |
| | | var topicIds = [String]() |
| | | for v in weakSelf.viewModel.answerItems.values{ |
| | | if let v = v as? Listen1Model{ |
| | | temIds.append("\(v.data?.id ?? 0)") |
| | | for sV in v.subjectList{ |
| | | topicIds.append("\(sV.id)") |
| | | } |
| | | } |
| | | } |
| | | let topicIds = weakSelf.viewModel.answerItems_1.keys.sorted() |
| | | let temIds = weakSelf.viewModel.answerItems_1.values.flatMap({$0}).map({"\($0)"}) |
| | | |
| | | switch weakSelf.viewModel.listenType.value{ |
| | | case .lesson1,.lesson2,.lesson3,.lesson4,.lesson5: |
| | | if temIds.count > 0 && topicIds.count > 0{ |
| | | Services.exitLearning(type:weakSelf.viewModel.listenType.value.rawValue,week: weakSelf.viewModel.week.value!, day: weakSelf.viewModel.day.value!, teamIds: temIds, topicIds: topicIds).subscribe(onNext: { data in |
| | | let totalNum = weakSelf.viewModel.correctNum + weakSelf.viewModel.errorNum |
| | | Services.exitLearning(type:weakSelf.viewModel.listenType.value.rawValue,week: weakSelf.viewModel.week.value!, day: weakSelf.viewModel.day.value!, teamIds: temIds, topicIds: topicIds,answerNumber: totalNum,correctNumber:weakSelf.viewModel.correctNum,studyTime:weakSelf.viewModel.times).subscribe(onNext: { data in |
| | | |
| | | }).disposed(by: weakSelf.disposeBag) |
| | | } |