//
|
// JobDetailVC.swift
|
// OKProject
|
//
|
// Created by 无故事王国 on 2022/5/17.
|
// Copyright © 2022 yangwang. All rights reserved.
|
//
|
|
import UIKit
|
import FFPage
|
import SPPageMenu
|
|
class JobDetailVC: YYViewController {
|
|
private var menuView: SPPageMenu!
|
var id:Int!
|
private var jobListModel:JobListModel?
|
|
lazy var adapterVC:FFAdapterViewController = {
|
let adapterVC = FFAdapterViewController()
|
adapterVC.style = .subRefresh
|
adapterVC.ignoreTopSpeace = navH
|
return adapterVC
|
}()
|
|
lazy var headerVC:JobDetailHeaderVC = {
|
let headerVC = JobDetailHeaderVC()
|
return headerVC
|
}()
|
|
|
lazy var menuVC:JobDetailMenuVC = {
|
let menuVC = JobDetailMenuVC()
|
return menuVC
|
}()
|
|
lazy var pageVC:FFPageViewController = {
|
let pageViewController = FFPageViewController()
|
pageViewController.view.backgroundColor = .clear
|
pageViewController.delegate = self
|
pageViewController.scrollview.backgroundColor = .clear
|
return pageViewController
|
}()
|
|
private let menu = ["职位信息","评论"]
|
|
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
|
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
|
}
|
|
required init?(coder: NSCoder) {
|
fatalError("init(coder:) has not been implemented")
|
}
|
|
override func viewDidLoad() {
|
super.viewDidLoad()
|
navigationItem.title = "招聘详情"
|
}
|
|
//MARK: - UI
|
override func setupViews() {
|
super.setupViews()
|
|
adapterVC.headHeight = 152
|
adapterVC.categroyHeight = 51
|
adapterVC.headViewController = headerVC
|
adapterVC.categroyViewController = menuVC
|
adapterVC.pageViewController = pageVC
|
adapterVC.ignoreTopSpeace = navH
|
|
|
addChild(adapterVC)
|
view.addSubview(adapterVC.view)
|
adapterVC.didMove(toParent: self)
|
|
// 分类委托
|
menuVC.pageMenu.delegate = self
|
menuVC.pageMenu.bridgeScrollView = pageVC.scrollview
|
}
|
|
override func bindRx() {
|
APIManager.shared.provider.rx.request(.getRecruitDetail(id: id)).map(YYModel<JobListModel>.self).validate().subscribe(onSuccess: {data in
|
self.jobListModel = data.data
|
self.headerVC.setJobListModel(data.data)
|
self.pageVC.reloadData()
|
}) { error in
|
|
}.disposed(by: disposeBag)
|
}
|
|
//MARK: - Layouts
|
override func defineLayouts() {
|
super.defineLayouts()
|
}
|
}
|
|
|
extension JobDetailVC : FFPageViewControllerDelegate{
|
|
func totalPagesOfpageViewController(_ pageViewConteoller: FFPageViewController) -> UInt {
|
return 2
|
}
|
|
func pageViewController(_ pageViewConteoller: FFPageViewController, controllerForPage page: Int) -> UIViewController {
|
if page == 0{
|
let vc = JobDetailCarInfoVC()
|
vc.jobListModel = jobListModel
|
return vc
|
}
|
|
let vc = CarDetailCarCommentVC()
|
vc.scrollView = adapterVC.scrollview
|
vc.orderId = jobListModel?.id
|
vc.type = .job
|
return vc
|
}
|
|
func pageViewController(_ pageViewController: FFPageViewController, currentPageChanged currentPage: Int) {
|
|
}
|
|
}
|
|
extension JobDetailVC : SPPageMenuDelegate {
|
func pageMenu(_ pageMenu: SPPageMenu, itemSelectedAt index: Int) {
|
pageVC.scroll(toPage: index, animation: true)
|
}
|
}
|