Commit 959f39ea authored by pete谢兆麟's avatar pete谢兆麟

服务中心框架修改

parent 8c20fe22
......@@ -179,6 +179,8 @@
044D0C1C2C22C30B00C5CF5E /* YHEditSchoolViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044D0C1B2C22C30B00C5CF5E /* YHEditSchoolViewController.swift */; };
044D0C1E2C22CFBF00C5CF5E /* YHEditWorkViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044D0C1D2C22CFBF00C5CF5E /* YHEditWorkViewController.swift */; };
044D0C202C22D37500C5CF5E /* YHEditHonorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044D0C1F2C22D37500C5CF5E /* YHEditHonorViewController.swift */; };
044EE2232C8FE1D000A2FE3A /* YHServiceCenterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044EE2222C8FE1D000A2FE3A /* YHServiceCenterViewController.swift */; };
044EE2252C90138000A2FE3A /* YHServerCenterHoldViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044EE2242C90138000A2FE3A /* YHServerCenterHoldViewController.swift */; };
04506F552C6F57E600738EA1 /* YHFamilyMemberInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04506F542C6F57E600738EA1 /* YHFamilyMemberInfoCell.swift */; };
045A08C02C37ABF500BCBABA /* YHSegmentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08BF2C37ABF500BCBABA /* YHSegmentView.swift */; };
045A08C22C37EB8B00BCBABA /* YHMyFileListNoneCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */; };
......@@ -947,6 +949,8 @@
044D0C1B2C22C30B00C5CF5E /* YHEditSchoolViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHEditSchoolViewController.swift; sourceTree = "<group>"; };
044D0C1D2C22CFBF00C5CF5E /* YHEditWorkViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHEditWorkViewController.swift; sourceTree = "<group>"; };
044D0C1F2C22D37500C5CF5E /* YHEditHonorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHEditHonorViewController.swift; sourceTree = "<group>"; };
044EE2222C8FE1D000A2FE3A /* YHServiceCenterViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceCenterViewController.swift; sourceTree = "<group>"; };
044EE2242C90138000A2FE3A /* YHServerCenterHoldViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServerCenterHoldViewController.swift; sourceTree = "<group>"; };
04506F542C6F57E600738EA1 /* YHFamilyMemberInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFamilyMemberInfoCell.swift; sourceTree = "<group>"; };
045A08BF2C37ABF500BCBABA /* YHSegmentView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSegmentView.swift; sourceTree = "<group>"; };
045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyFileListNoneCell.swift; sourceTree = "<group>"; };
......@@ -3797,6 +3801,8 @@
isa = PBXGroup;
children = (
A5ACE9192B4564F7002C94D2 /* YHServiceCenterMainViewController.swift */,
044EE2222C8FE1D000A2FE3A /* YHServiceCenterViewController.swift */,
044EE2242C90138000A2FE3A /* YHServerCenterHoldViewController.swift */,
04E41DE72BD240570077EAE3 /* YHOrderDetailViewController.swift */,
048787D42BCE880B0036E221 /* YHServiceOrderListViewController.swift */,
A5FD63BC2B623C2C00D1D9DA /* YHInformationPerfectListVC.swift */,
......@@ -4548,6 +4554,7 @@
A567E5B32BD7643D00D5D5A0 /* YHServiceOrderAlertView.swift in Sources */,
A592FE932BA6CFFC0062FACA /* YHCertificateEntryBottomView.swift in Sources */,
A5ACE93B2B4564F7002C94D2 /* UIFont+Extension.swift in Sources */,
044EE2232C8FE1D000A2FE3A /* YHServiceCenterViewController.swift in Sources */,
A567E5A92BD7643D00D5D5A0 /* YHSearchInfoHistoryView.swift in Sources */,
045EEE802B9F171A0022A143 /* YHAcademicPreviewModel.swift in Sources */,
04256E122C75BD2700A37BA4 /* YHPayMemberContentItem.swift in Sources */,
......@@ -4771,6 +4778,7 @@
045EEEAF2B9F171A0022A143 /* YHWorkExperienceTextItemView.swift in Sources */,
A5ACE9492B4564F7002C94D2 /* YHHUDSuccessView.swift in Sources */,
04B360EF2C620975001EB053 /* YHPrincipleUploadStatusCell.swift in Sources */,
044EE2252C90138000A2FE3A /* YHServerCenterHoldViewController.swift in Sources */,
045EEE9C2B9F171A0022A143 /* YHCompanyViewModel.swift in Sources */,
A58556BA2B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift in Sources */,
045EEEC92B9F171A0022A143 /* YHOtherInfoSessionView.swift in Sources */,
......
......@@ -194,7 +194,7 @@ extension AppDelegate {
let homeVC = YHHomeHoldViewPageViewController()
tabBarController.delegate = homeVC
let v0 = YHNavigationController(rootVC:homeVC)
let v1 = YHNavigationController(rootVC:YHServiceCenterMainViewController())
let v1 = YHNavigationController(rootVC:YHServiceCenterViewController())
let v2 = YHNavigationController(rootVC:YHCommunityViewController())
let v3 = YHNavigationController(rootVC:YHMyViewController())
......
......@@ -183,7 +183,7 @@ private extension YHStartPageViewController {
let homeVC = YHHomeHoldViewPageViewController()
tabBarController.delegate = homeVC
let v0 = YHNavigationController(rootVC:homeVC)
let v1 = YHNavigationController(rootVC:YHServiceCenterMainViewController())
let v1 = YHNavigationController(rootVC:YHServiceCenterViewController())
let v2 = YHNavigationController(rootVC:YHCommunityViewController())
let v3 = YHNavigationController(rootVC:YHMyViewController())
......
......@@ -117,7 +117,7 @@ extension YHOrderSearchViewController: UITableViewDelegate, UITableViewDataSourc
if self.mobile == model.mobile {
self.navigationController?.popToRootViewController(animated: true)
} else {
let vc = YHServiceCenterMainViewController()
let vc = YHServiceCenterViewController()
vc.model = model
self.navigationController?.pushViewController(vc)
}
......
//
// YHServerCenterHoldViewController.swift
// galaxy
//
// Created by EDY on 2024/9/10.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import JXSegmentedView
class YHServerCenterHoldViewController: UIViewController {
var mobile: String = ""
var orderId: Int = 0 {
didSet {
for i in 0..<arrItemTitles.count {
let vc = arrItemVCs[i] as YHServiceOrderListView
vc.type = i
if i == 1 {
vc.type = 2
}
if i == 2 {
vc.type = 1
}
vc.orderID = orderId
vc.mobile = mobile
vc.loadData()
}
}
}
var canScroll : Bool = false {
didSet {
for vc in arrItemVCs {
vc.vcCanScroll = canScroll
}
}
}
var controllerOne: YHServiceOrderListView = YHServiceOrderListView()
var controllerTwo: YHServiceOrderListView = YHServiceOrderListView()
var controllerThree: YHServiceOrderListView = YHServiceOrderListView()
var controllerFour: YHServiceOrderListView = YHServiceOrderListView()
var arrItemTitles = ["全部", "进行中", "待开始", "已完成"]
var arrItemVCs: [YHServiceOrderListView] = []
var segmentedView : JXSegmentedView = JXSegmentedView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 48))
lazy var segmentedDataSource: JXSegmentedDotDataSource = {
let dataSource = JXSegmentedDotDataSource()
dataSource.isTitleColorGradientEnabled = true
dataSource.titles = arrItemTitles
dataSource.titleNormalFont = UIFont.PFSC_M(ofSize: 14)
dataSource.titleNormalColor = .labelTextColor2
dataSource.titleSelectedFont = UIFont.PFSC_M(ofSize: 14)
dataSource.titleSelectedColor = .mainTextColor
dataSource.isItemSpacingAverageEnabled = false
dataSource.itemWidth = JXSegmentedViewAutomaticDimension
dataSource.itemSpacing = 16
dataSource.dotStates = [false, false, false, false]
dataSource.dotSize = CGSize(width: 6, height: 6)
return dataSource
}()
//分类title 所对应的VC
lazy var listContainerView: JXSegmentedListContainerView! = {
return JXSegmentedListContainerView(dataSource: self, type: .scrollView)
}()
override func viewDidLoad() {
super.viewDidLoad()
setupView()
// Do any additional setup after loading the view.
}
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
segmentedView.snp.remakeConstraints { make in
make.right.equalTo(-4)
make.left.equalTo(4)
make.top.equalTo(0)
make.height.equalTo(48)
}
listContainerView.snp.remakeConstraints { make in
make.right.left.equalToSuperview()
make.top.equalTo(segmentedView.snp.bottom)
make.bottom.equalToSuperview()
}
}
func setupView() {
view.backgroundColor = .clear
controllerOne.type = 0
controllerOne.orderID = orderId
controllerOne.block = {[weak self] type, count, flag in
guard let self = self else { return }
arrItemTitles[0] = "全部(\(count))"
self.updata(flag: flag, type: 0)
}
controllerTwo.type = 2
controllerTwo.orderID = orderId
controllerTwo.block = {[weak self] type, count, flag in
guard let self = self else { return }
arrItemTitles[1] = "进行中(\(count))"
self.updata(flag: flag, type: 2)
}
controllerThree.type = 1
controllerThree.orderID = orderId
controllerThree.block = {[weak self] type, count, flag in
guard let self = self else { return }
arrItemTitles[2] = "待开始(\(count))"
self.updata(flag: flag, type: 1)
}
controllerFour.type = 3
controllerFour.orderID = orderId
controllerFour.block = {[weak self] type, count, flag in
guard let self = self else { return }
arrItemTitles[3] = "已完成(\(count))"
self.updata(flag: flag, type: 3)
}
arrItemVCs.append(controllerOne)
arrItemVCs.append(controllerTwo)
arrItemVCs.append(controllerThree)
arrItemVCs.append(controllerFour)
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
segmentedView.collectionView.backgroundColor = .clear
view.addSubview(segmentedView)
segmentedView.listContainer = listContainerView
view.addSubview(listContainerView)
//分类Title
segmentedView.dataSource = segmentedDataSource
segmentedView.delegate = self
//配置指示器
let indicator = JXSegmentedIndicatorLineView()
indicator.indicatorWidth = 16
indicator.indicatorColor = UIColor.brandMainColor
indicator.indicatorCornerRadius = 0
segmentedView.indicators = [indicator]
segmentedView.backgroundColor = UIColor(red: 0.95, green: 0.95, blue: 0.95, alpha: 1)
segmentedView.defaultSelectedIndex = 1
}
func updata(flag: Bool, type: Int){
DispatchQueue.main.async {
self.segmentedDataSource.titles = self.arrItemTitles
if type == 3 {
self.segmentedDataSource.dotStates = [false,false,false,flag]
}
self.segmentedView.reloadData()
}
}
}
extension YHServerCenterHoldViewController: JXSegmentedViewDelegate {
func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
// NotificationCenter.default.post(name: Notification.Name(rawValue: "scrollViewDidEndDragging"), object: nil)
}
/// 正在滚动中的回调
///
/// - Parameters:
/// - segmentedView: JXSegmentedView
/// - leftIndex: 正在滚动中,相对位置处于左边的index
/// - rightIndex: 正在滚动中,相对位置处于右边的index
/// - percent: 从左往右计算的百分比
func segmentedView(_ segmentedView: JXSegmentedView, scrollingFrom leftIndex: Int, to rightIndex: Int, percent: CGFloat) {
// NotificationCenter.default.post(name: Notification.Name(rawValue: "scrollViewWillBeginDragging"), object: nil)
}
}
extension YHServerCenterHoldViewController: JXSegmentedListContainerViewDataSource {
func numberOfLists(in listContainerView: JXSegmentedListContainerView) -> Int {
if let titleDataSource = segmentedView.dataSource as? JXSegmentedBaseDataSource {
return titleDataSource.dataSource.count
}
return 0
}
func listContainerView(_ listContainerView: JXSegmentedListContainerView, initListAt index: Int) -> JXSegmentedListContainerViewListDelegate {
return arrItemVCs[index]
}
}
......@@ -22,7 +22,6 @@ class YHServiceCenterMainViewController: YHBaseViewController {
var mobile: String = ""
var model: YHContactItemModel = YHContactItemModel()
var oldModel: YHContactItemModel = YHContactItemModel()
var doneCount: Int = 0
private lazy var topBkg : UIView = {
let imagV = UIImageView()
imagV.image = UIImage(named: "service_center_head_bkg4")
......@@ -446,7 +445,6 @@ extension YHServiceCenterMainViewController {
guard let self = self else { return }
arrItemTitles[3] = "已完成(\(count))"
self.updata(flag: flag, type: 3)
doneCount = count
self.getStep()
}
arrItemVCs.append(controllerOne)
......
//
// YHServiceCenterViewController.swift
// galaxy
//
// Created by EDY on 2024/9/10.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import JXSegmentedView
import AttributedString
class YHServiceCenterViewController: YHBaseViewController {
private let serviceCenterMainReqVM : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
var titleLabel: UIButton!
var orderButton: UIButton!
var orderId: Int = 0
var mobile: String = ""
var model: YHContactItemModel = YHContactItemModel()
var oldModel: YHContactItemModel = YHContactItemModel()
var doneCount: Int = 0
var canScroll : Bool = true
private lazy var topBkg : UIView = {
let imagV = UIImageView()
imagV.image = UIImage(named: "service_center_head_bkg4")
imagV.contentMode = .scaleAspectFill
imagV.isUserInteractionEnabled = true
return imagV
}()
lazy var navBar: UIView = {
let bar = UIView()
let backBtn = UIButton()
backBtn.setImage(UIImage(named: "back_icon"), for: .normal)
backBtn.addTarget(self, action: #selector(didBackBtnClicked), for: .touchUpInside)
backBtn.YH_clickEdgeInsets = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
bar.addSubview(backBtn)
backBtn.snp.makeConstraints { make in
make.width.height.equalTo(21)
make.centerY.equalToSuperview()
make.left.equalToSuperview().offset(16)
}
return bar
}()
private let noDataView : YHServiceNoOrderView = {
let view = YHServiceNoOrderView()
view.isHidden = true
return view
}()
var myCellHeight : CGFloat {
get {
return view.bounds.size.height - 90 - k_Height_TabBar
}
}
var myDefaultIndex : Int = 0 {
didSet {
DispatchQueue.global().asyncAfter(wallDeadline: .now() ) {[weak self] in
DispatchQueue.main.async {
// self?.cellView.myDefaultNavItemIndex = self?.myDefaultIndex ?? 0
}
}
}
}
lazy var cellView: YHServerCenterHoldViewController = {
let ttt = YHServerCenterHoldViewController()
// ttt.myDefaultNavItemIndex = self.myDefaultIndex
return ttt
}()
var homeTableView: UITableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.showsHorizontalScrollIndicator = false
tableView.showsVerticalScrollIndicator = false
return tableView
}()
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
addListView()
noDataView.clickBackBtnClickBlock = {[weak self] in
guard self != nil else { return }
//跳转测评页
let vc = YHH5WebViewVC()
vc.url = YHBaseUrlManager.shared.curH5URL() + "superAppBridge.html#/evaluation?channel=APP-zrll"
vc.isShowRightShareItemFlag = true
self?.navigationController?.pushViewController(vc)
}
noDataView.clickShowBtnClickBlock = {
YHServiceOrderAlertView.show()
}
NotificationCenter.default.addObserver(self, selector: #selector(logoutSuccess), name: YhConstant.YhNotification.didLogoutSuccessNotifiction, object: nil)
noDataView.isHidden = false
homeTableView.isHidden = true
NotificationCenter.default.addObserver(self, selector: #selector(leaveTopOp), name:Notification.Name(rawValue: "leaveTop0"), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(beginDragging), name:Notification.Name(rawValue: "scrollViewWillBeginDragging0"), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(endDragging), name:Notification.Name(rawValue: "scrollViewDidEndDragging0"), object: nil)
}
@objc func logoutSuccess() {
self.model = YHContactItemModel()
self.oldModel = YHContactItemModel()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
loadData()
}
}
extension YHServiceCenterViewController {
func loadData() {
if model.id != -1 {
noDataView.isHidden = true
homeTableView.isHidden = false
if self.navigationController?.viewControllers.count != 2 && self.navigationController?.viewControllers.count != 1 {
orderButton.isHidden = true
}
orderId = model.id
mobile = model.mobile
UserDefaults.standard.set(orderId, forKey: "orderIdForPreview")
UserDefaults.standard.synchronize()
getStep()
} else {
serviceCenterMainReqVM.getContactList {[weak self] success, error in
guard let self = self else { return }
if success == true {
} else {
YHHUD.flash(message: error?.errorMsg ?? "请求出错")
}
self.handleRightUI()
}
}
}
@objc func didBackBtnClicked() {
self.navigationController?.popViewController(animated: true)
}
func setupUI() {
gk_navBarAlpha = 0
gk_navigationBar.isHidden = true
view.backgroundColor = .white
view.addSubview(topBkg)
topBkg.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(202)
}
titleLabel = {
let button = UIButton(type: .custom)
button.setTitle("申请阶段", for: .normal)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 21)
button.setTitleColor(UIColor.mainTextColor, for: .normal)
button.setImage(UIImage(named: "service_center_select_step"), for: .normal)
button.addTarget(self, action: #selector(selectTimeStep), for: .touchUpInside)
return button
}()
view.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.top.equalTo(53)
make.left.equalTo(20)
make.height.equalTo(29)
make.width.equalTo(102)
}
titleLabel.iconInRight(with: 8)
view.addSubview(navBar)
navBar.snp.makeConstraints { make in
make.left.equalToSuperview()
// make.top.equalToSuperview().offset(k_Height_statusBar())
make.height.equalTo(k_Height_NavContentBar)
make.width.equalTo(47)
make.centerY.equalTo(titleLabel.snp.centerY)
}
orderButton = {
let button = UIButton(type: .custom)
button.setImage(UIImage(named: "service_center_more"), for: .normal)
button.addTarget(self, action: #selector(pushOrderView), for: .touchUpInside)
return button
}()
view.addSubview(orderButton)
orderButton.snp.makeConstraints { make in
make.right.equalTo(-20)
make.centerY.equalTo(titleLabel.snp.centerY)
make.height.equalTo(24)
make.width.equalTo(24)
}
homeTableView.delegate = self
homeTableView.dataSource = self
homeTableView.tableHeaderView = UILabel(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 300))
view.addSubview(homeTableView)
homeTableView.snp.makeConstraints { make in
make.top.equalTo(90)
make.left.right.equalToSuperview()
make.bottom.equalTo(-k_Height_TabBar)
}
if self.navigationController?.viewControllers.count != 2 && self.navigationController?.viewControllers.count != 1 {
titleLabel.setTitle("订单详情", for: .normal)
orderButton.isHidden = true
} else {
navBar.isHidden = true
}
NotificationCenter.default.addObserver(self, selector: #selector(goToServiceTabFromFileListPage), name: YhConstant.YhNotification.didClickFileListBackToServiceTabNotifiction, object: nil)
}
@objc func pushOrderView() {
let vc = YHOrderDetailViewController()
vc.model = oldModel
vc.backDate = { [weak self] model in
guard let self = self else { return }
self.model = model
}
self.navigationController?.pushViewController(vc)
}
@objc func selectTimeStep() {
}
}
extension YHServiceCenterViewController {
private func handleRightUI() {
if serviceCenterMainReqVM.arrContactList.isEmpty {
noDataView.isHidden = false
homeTableView.isHidden = true
} else {
guard let model = serviceCenterMainReqVM.arrContactList.first else {
return
}
noDataView.isHidden = true
homeTableView.isHidden = false
if self.navigationController?.viewControllers.count != 2 && self.navigationController?.viewControllers.count != 1 {
orderButton.isHidden = true
}
orderId = model.id
mobile = model.mobile
self.model = model
self.oldModel = model
UserDefaults.standard.set(orderId, forKey: "orderIdForPreview")
UserDefaults.standard.synchronize()
getStep()
}
}
func getStep() {
serviceCenterMainReqVM.getStageInformation(params: ["orderId":orderId]) {[weak self] success, error in
guard let self = self else { return }
self.homeTableView.reloadData()
}
}
func addListView() {
view.addSubview(noDataView)
noDataView.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalTo(236)
make.width.equalTo(KScreenWidth)
make.height.equalTo(265)
}
}
}
extension YHServiceCenterViewController {
@objc func goToServiceTabFromFileListPage() {
// 进行中有数据则切换到进行中,进行中无数据则切换到全部
YHHUD.show(.progress(message: "加载中..."))
self.serviceCenterMainReqVM.getServiceCenterProgressList(self.orderId, 2) {
[weak self] success, error in
YHHUD.hide()
guard let self = self else { return }
var targetTabIndex = 0 // 全部
if self.serviceCenterMainReqVM.arrDataForSeviceCenterProgress.count > 0 {
// 进行中
targetTabIndex = 1
}
// self.segmentedView.selectItemAt(index: targetTabIndex)
// self.segmentedView.listContainer?.didClickSelectedItem(at: targetTabIndex)
UIViewController.current?.navigationController?.popToRootViewController(animated: true)
goTabBarBy(tabType: .service)
}
}
}
extension YHServiceCenterViewController : UITableViewDelegate,UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 0.001
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 0.001))
return view
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.001
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 0.001))
return view
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return myCellHeight
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = UITableViewCell()
cellView.view.frame = CGRect(x: 0, y: 0, width: cell.contentView.bounds.size.width, height: myCellHeight)
cell.contentView.addSubview(cellView.view)
cellView.view.snp.makeConstraints { make in
make.edges.equalTo(0)
}
cellView.mobile = model.mobile
cellView.orderId = orderId
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
}
}
extension YHServiceCenterViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let bottomCellOffset: CGFloat = homeTableView.rect(forSection: 0).origin.y
if (scrollView.contentOffset.y >= bottomCellOffset) {
scrollView.contentOffset = CGPointMake(0, bottomCellOffset)
if canScroll == true {
// canScroll = false
// //传递参数到 子VC
// cellView.canScroll = true
}
canScroll = false
//传递参数到 子VC
cellView.canScroll = true
}else{
if canScroll == false {
scrollView.contentOffset = CGPoint(x: 0, y: bottomCellOffset)
}
}
self.homeTableView.showsVerticalScrollIndicator = false
}
}
extension YHServiceCenterViewController {
@objc func leaveTopOp() {
canScroll = true
}
@objc func beginDragging() {
homeTableView.isScrollEnabled = false
canScroll = false
}
@objc func endDragging() {
homeTableView.isScrollEnabled = true
canScroll = true
}
}
......@@ -13,6 +13,7 @@ class YHServiceOrderListView: YHBaseViewController {
private let viewModel : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
let principleViewModel: YHPrincleViewModel = YHPrincleViewModel()
let appointViewModel = YHCerAppointViewModel()
public var vcCanScroll : Bool = true
typealias Block = (Int,Int,Bool) -> ()
var block: Block?
......@@ -33,6 +34,8 @@ class YHServiceOrderListView: YHBaseViewController {
super.viewDidLoad()
setupUI()
loadData()
NotificationCenter.default.addObserver(self, selector: #selector(beginDragging), name:Notification.Name(rawValue: "scrollViewWillBeginDragging0"), object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(endDragging), name:Notification.Name(rawValue: "scrollViewDidEndDragging0"), object: nil)
}
}
......@@ -86,7 +89,7 @@ extension YHServiceOrderListView {
gk_navBarAlpha = 0
gk_navigationBar.isHidden = true
homeTableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
let tableView = YHGestureTableView(frame: .zero, style: .grouped)
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.showsHorizontalScrollIndicator = false
......@@ -196,12 +199,12 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
if model.type == 1 {
let vc = YHMineCertificateEntryViewController()
vc.orderId = orderID
navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 2 {
let vc = YHInformationPerfectListVC()
vc.orderId = orderID
navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 3 { // 评分
......@@ -209,23 +212,23 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
let vc = YHScoreDetailViewController()
vc.orderId = orderID
// vc.model = serviceCenterMainReqVM.allInfoScoreModel
navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 4 { // 方案
handleRedPointFor(key: kMyPlanRedPointInfoKey, model: model)
let vc = YHMineSchemeViewController()
navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 5 {
let vc = YHMySignatureListViewController()
vc.orderId = orderID
navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 6 {
let vc = YHMyDocumentsListViewController()
vc.orderId = orderID
vc.mobile = mobile
navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 11 || model.type == 12 || model.type == 14 {
......@@ -236,37 +239,38 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
let vc = YHPrincipleWaitResultViewController()
vc.status = model.type
vc.orderId = orderID
navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 13 { //原则批已获批~
let vc = YHPrincipleApprovedResultVC()
vc.orderId = orderID
navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 15 {
//正式批已获批~
let vc = YHOfficialApprovalResultVC()
self.navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 21 {
//新增受养人
let vc = YHAddAdoptersViewController()
vc.orderId = orderID
navigationController?.pushViewController(vc)
// navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 22 {
//家庭信息确认
let vc = YHFamilyInfoConfirmViewController()
vc.orderId = orderID
self.navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 23 {
//电子签字缴费
let vc = YHVisaPaymentVC()
vc.orderID = orderID
navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 24 {
//赴港时间预约
let vc = YHCertificateAppointViewController()
vc.orderId = orderID
self.navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 25 {
// 赴港行程指引
......@@ -291,7 +295,7 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
alert.confirmBlock = {
let vc = YHCertificateAppointViewController()
vc.orderId = self.orderID
self.navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
}
alert.show()
......@@ -311,7 +315,7 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
vc.isFullScreenFlag = false
vc.navTitle = "赴港行程指引"
vc.isNeedRefreshDataFlag = true
self.navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
}
}
}
......@@ -320,12 +324,12 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
//旅行证件准备
let vc = YHTravelDocsPreparationListViewController()
vc.orderId = orderID
navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
} else if model.type == 27 {
//上传过关证件
let vc = YHUploadCertificateVC()
vc.orderId = orderID
navigationController?.pushViewController(vc)
UIViewController.current?.navigationController?.pushViewController(vc)
}
}
}
......@@ -357,3 +361,34 @@ extension YHServiceOrderListView: JXSegmentedListContainerViewListDelegate {
return view
}
}
extension YHServiceOrderListView: UIScrollViewDelegate {
//控制滑动交互
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let scrollViewSet: CGFloat = scrollView.contentOffset.y
if vcCanScroll == false {//不能滚动时
scrollView.contentOffset = CGPoint(x: 0, y: 0)
} else {
if (scrollViewSet <= 0) {
scrollView.contentOffset = CGPoint(x: 0, y: 0)
vcCanScroll = false
NotificationCenter.default.post(name: Notification.Name(rawValue: "leaveTop0"), object: nil)
} else {
scrollView.contentOffset = CGPoint(x: 0, y: scrollViewSet)
}
}
}
}
extension YHServiceOrderListView {
@objc func beginDragging() {
homeTableView.isScrollEnabled = false
vcCanScroll = false
}
@objc func endDragging() {
homeTableView.isScrollEnabled = true
vcCanScroll = true
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_center_more@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_center_more@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_center_select_step@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_center_select_step@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment