Commit 33875590 authored by pete谢兆麟's avatar pete谢兆麟

服务中心 列表page

parent ce8f7cff
...@@ -244,6 +244,8 @@ ...@@ -244,6 +244,8 @@
048097712BA18D66000B9DCA /* YHCertificateSearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048097702BA18D66000B9DCA /* YHCertificateSearchBar.swift */; }; 048097712BA18D66000B9DCA /* YHCertificateSearchBar.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048097702BA18D66000B9DCA /* YHCertificateSearchBar.swift */; };
048787D12BCE61B20036E221 /* YHServiceNoOrderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048787D02BCE61B20036E221 /* YHServiceNoOrderView.swift */; }; 048787D12BCE61B20036E221 /* YHServiceNoOrderView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048787D02BCE61B20036E221 /* YHServiceNoOrderView.swift */; };
048787D32BCE6B7D0036E221 /* YHServiceOrderAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048787D22BCE6B7D0036E221 /* YHServiceOrderAlertView.swift */; }; 048787D32BCE6B7D0036E221 /* YHServiceOrderAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048787D22BCE6B7D0036E221 /* YHServiceOrderAlertView.swift */; };
048787D52BCE880B0036E221 /* YHServiceOrderListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048787D42BCE880B0036E221 /* YHServiceOrderListViewController.swift */; };
048787D72BCE96F50036E221 /* YHServiceOrderProgressTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048787D62BCE96F50036E221 /* YHServiceOrderProgressTableViewCell.swift */; };
048B2A442BC7901900A93BF0 /* YHHomeWebViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048B2A432BC7901900A93BF0 /* YHHomeWebViewModel.swift */; }; 048B2A442BC7901900A93BF0 /* YHHomeWebViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048B2A432BC7901900A93BF0 /* YHHomeWebViewModel.swift */; };
048B2A462BC7912400A93BF0 /* YHWebModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048B2A452BC7912400A93BF0 /* YHWebModel.swift */; }; 048B2A462BC7912400A93BF0 /* YHWebModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048B2A452BC7912400A93BF0 /* YHWebModel.swift */; };
048B2A482BC7CE4800A93BF0 /* YHFourKingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048B2A472BC7CE4800A93BF0 /* YHFourKingViewController.swift */; }; 048B2A482BC7CE4800A93BF0 /* YHFourKingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 048B2A472BC7CE4800A93BF0 /* YHFourKingViewController.swift */; };
...@@ -690,6 +692,8 @@ ...@@ -690,6 +692,8 @@
048097702BA18D66000B9DCA /* YHCertificateSearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateSearchBar.swift; sourceTree = "<group>"; }; 048097702BA18D66000B9DCA /* YHCertificateSearchBar.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateSearchBar.swift; sourceTree = "<group>"; };
048787D02BCE61B20036E221 /* YHServiceNoOrderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceNoOrderView.swift; sourceTree = "<group>"; }; 048787D02BCE61B20036E221 /* YHServiceNoOrderView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceNoOrderView.swift; sourceTree = "<group>"; };
048787D22BCE6B7D0036E221 /* YHServiceOrderAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceOrderAlertView.swift; sourceTree = "<group>"; }; 048787D22BCE6B7D0036E221 /* YHServiceOrderAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceOrderAlertView.swift; sourceTree = "<group>"; };
048787D42BCE880B0036E221 /* YHServiceOrderListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceOrderListViewController.swift; sourceTree = "<group>"; };
048787D62BCE96F50036E221 /* YHServiceOrderProgressTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceOrderProgressTableViewCell.swift; sourceTree = "<group>"; };
048B2A432BC7901900A93BF0 /* YHHomeWebViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomeWebViewModel.swift; sourceTree = "<group>"; }; 048B2A432BC7901900A93BF0 /* YHHomeWebViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHomeWebViewModel.swift; sourceTree = "<group>"; };
048B2A452BC7912400A93BF0 /* YHWebModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWebModel.swift; sourceTree = "<group>"; }; 048B2A452BC7912400A93BF0 /* YHWebModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWebModel.swift; sourceTree = "<group>"; };
048B2A472BC7CE4800A93BF0 /* YHFourKingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFourKingViewController.swift; sourceTree = "<group>"; }; 048B2A472BC7CE4800A93BF0 /* YHFourKingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFourKingViewController.swift; sourceTree = "<group>"; };
...@@ -2103,6 +2107,7 @@ ...@@ -2103,6 +2107,7 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
A5ACE9192B4564F7002C94D2 /* YHServiceCenterMainViewController.swift */, A5ACE9192B4564F7002C94D2 /* YHServiceCenterMainViewController.swift */,
048787D42BCE880B0036E221 /* YHServiceOrderListViewController.swift */,
044413FC2BC386DA00784A14 /* YHServiceViewController.swift */, 044413FC2BC386DA00784A14 /* YHServiceViewController.swift */,
044413FE2BC391F000784A14 /* YHServiceListViewController.swift */, 044413FE2BC391F000784A14 /* YHServiceListViewController.swift */,
044414002BC3979800784A14 /* YHServerHKLifeViewController.swift */, 044414002BC3979800784A14 /* YHServerHKLifeViewController.swift */,
...@@ -2130,6 +2135,7 @@ ...@@ -2130,6 +2135,7 @@
049AC4C72BC513AB00F857F4 /* YHOrderListView.swift */, 049AC4C72BC513AB00F857F4 /* YHOrderListView.swift */,
049AC4C92BC5141600F857F4 /* YHServerNoOrderView.swift */, 049AC4C92BC5141600F857F4 /* YHServerNoOrderView.swift */,
048787D02BCE61B20036E221 /* YHServiceNoOrderView.swift */, 048787D02BCE61B20036E221 /* YHServiceNoOrderView.swift */,
048787D62BCE96F50036E221 /* YHServiceOrderProgressTableViewCell.swift */,
); );
path = V; path = V;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -2483,6 +2489,7 @@ ...@@ -2483,6 +2489,7 @@
044867B82BA1C75700DFAD4A /* YHCertificateUploadFailTipsView.swift in Sources */, 044867B82BA1C75700DFAD4A /* YHCertificateUploadFailTipsView.swift in Sources */,
045EEF002B9F171A0022A143 /* YHFormItemEnterDetailCell.swift in Sources */, 045EEF002B9F171A0022A143 /* YHFormItemEnterDetailCell.swift in Sources */,
A5ACE9362B4564F7002C94D2 /* YHNetworkStatusManager.swift in Sources */, A5ACE9362B4564F7002C94D2 /* YHNetworkStatusManager.swift in Sources */,
048787D52BCE880B0036E221 /* YHServiceOrderListViewController.swift in Sources */,
A5D0012A2BABC84A001F003C /* YHFileListHeaerView.swift in Sources */, A5D0012A2BABC84A001F003C /* YHFileListHeaerView.swift in Sources */,
044414052BC3B9DE00784A14 /* YHServiceTableFootView.swift in Sources */, 044414052BC3B9DE00784A14 /* YHServiceTableFootView.swift in Sources */,
045EEEEF2B9F171A0022A143 /* YHCertificateInfoController.swift in Sources */, 045EEEEF2B9F171A0022A143 /* YHCertificateInfoController.swift in Sources */,
...@@ -2717,6 +2724,7 @@ ...@@ -2717,6 +2724,7 @@
045EEEB52B9F171A0022A143 /* YHWorkIntroductionItemView.swift in Sources */, 045EEEB52B9F171A0022A143 /* YHWorkIntroductionItemView.swift in Sources */,
045EEF202B9F171A0022A143 /* YHCardExampleView.swift in Sources */, 045EEF202B9F171A0022A143 /* YHCardExampleView.swift in Sources */,
04A6715E2B9FFCA700C1FB91 /* YHCertificateNameCell.swift in Sources */, 04A6715E2B9FFCA700C1FB91 /* YHCertificateNameCell.swift in Sources */,
048787D72BCE96F50036E221 /* YHServiceOrderProgressTableViewCell.swift in Sources */,
04EA23082BB50753009DA928 /* YHDocumentMessageTableViewCell.swift in Sources */, 04EA23082BB50753009DA928 /* YHDocumentMessageTableViewCell.swift in Sources */,
045EEE8E2B9F171A0022A143 /* YHPreviewInfoWorkSummaryView.swift in Sources */, 045EEE8E2B9F171A0022A143 /* YHPreviewInfoWorkSummaryView.swift in Sources */,
045EEECE2B9F171A0022A143 /* YHScoreDetailViewController.swift in Sources */, 045EEECE2B9F171A0022A143 /* YHScoreDetailViewController.swift in Sources */,
......
...@@ -13,9 +13,13 @@ class YHServiceCenterMainViewController: YHBaseViewController { ...@@ -13,9 +13,13 @@ class YHServiceCenterMainViewController: YHBaseViewController {
private let serviceCenterMainReqVM : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel() private let serviceCenterMainReqVM : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
var titleLabel: UILabel!
var nameBgImageView: UIImageView!
var nameLabel: UILabel!
var orderId: Int = 0
private lazy var topBkg : UIView = { private lazy var topBkg : UIView = {
let imagV = UIImageView() let imagV = UIImageView()
imagV.image = UIImage(named: "service_center_head_bkg") imagV.image = UIImage(named: "service_center_head_bkg4")
imagV.contentMode = .scaleAspectFill imagV.contentMode = .scaleAspectFill
return imagV return imagV
...@@ -27,25 +31,30 @@ class YHServiceCenterMainViewController: YHBaseViewController { ...@@ -27,25 +31,30 @@ class YHServiceCenterMainViewController: YHBaseViewController {
return view return view
}() }()
private func loginOp() { let arrItemTitles = ["全部(6)","进行中(2)", "待开始(4)", "已完成(0)"]
let vc = UINavigationController(rootVC: YHPhoneLoginViewController()) var arrItemVCs : [YHServiceOrderListView] = []
vc.modalPresentationStyle = .custom var segmentedView : JXSegmentedView = JXSegmentedView(frame: CGRect(x: 0, y: k_Height_safeAreaInsetsTop(), width: KScreenWidth, height: 48))
self.navigationController?.present(vc, animated: true) lazy var segmentedDataSource: JXSegmentedBaseDataSource = {
} let dataSource = JXSegmentedTitleDataSource()
dataSource.isTitleColorGradientEnabled = true
dataSource.titles = arrItemTitles
var homeTableView: UITableView = {
let tableView = UITableView(frame: .zero, style: .grouped) dataSource.titleNormalFont = UIFont.PFSC_M(ofSize: 14)
tableView.backgroundColor = .clear dataSource.titleNormalColor = .labelTextColor2
tableView.separatorStyle = .none
tableView.showsHorizontalScrollIndicator = false dataSource.titleSelectedFont = UIFont.PFSC_M(ofSize: 14)
tableView.showsVerticalScrollIndicator = false dataSource.titleSelectedColor = .mainTextColor
tableView.rowHeight = UITableView.automaticDimension
tableView.estimatedRowHeight = 81.0 dataSource.isItemSpacingAverageEnabled = false
tableView.register(YHContractCell.self,forCellReuseIdentifier: YHContractCell.cellReuseIdentifier) dataSource.itemWidth = JXSegmentedViewAutomaticDimension
return tableView dataSource.itemSpacing = 16
return dataSource
}() }()
//分类title 所对应的VC
lazy var listContainerView: JXSegmentedListContainerView! = {
return JXSegmentedListContainerView(dataSource: self, type: .scrollView)
}()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
...@@ -78,14 +87,10 @@ class YHServiceCenterMainViewController: YHBaseViewController { ...@@ -78,14 +87,10 @@ class YHServiceCenterMainViewController: YHBaseViewController {
extension YHServiceCenterMainViewController { extension YHServiceCenterMainViewController {
func loadData() { func loadData() {
serviceCenterMainReqVM.getContactList {[weak self] success, error in
if YHLoginManager.shared.isLogin() == false { guard let self = self else { return }
return
}
serviceCenterMainReqVM.getContactList { success, error in
if success == true { if success == true {
} else { } else {
YHHUD.flash(message: error?.errorMsg ?? "请求出错") YHHUD.flash(message: error?.errorMsg ?? "请求出错")
} }
...@@ -94,104 +99,133 @@ extension YHServiceCenterMainViewController { ...@@ -94,104 +99,133 @@ extension YHServiceCenterMainViewController {
} }
func setupUI() { func setupUI() {
gk_navTitle = "服务" gk_navBarAlpha = 0
gk_navBarAlpha = 1.0
view.backgroundColor = .white view.backgroundColor = .white
view.addSubview(topBkg) view.addSubview(topBkg)
topBkg.snp.makeConstraints { make in topBkg.snp.makeConstraints { make in
make.top.left.right.equalToSuperview() make.top.left.right.equalToSuperview()
make.height.equalTo(216) make.height.equalTo(202)
}
view.addSubview(noDataView)
noDataView.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.centerY.equalToSuperview()
make.width.equalTo(KScreenWidth)
make.height.equalTo(225)
} }
view.addSubview(homeTableView) titleLabel = {
homeTableView.snp.makeConstraints { make in let label = UILabel()
make.left.right.equalToSuperview() label.text = "我的服务"
make.top.equalTo(k_Height_NavigationtBarAndStatuBar) label.font = UIFont.PFSC_M(ofSize: 21)
make.bottom.equalToSuperview().offset(-k_Height_TabBar) label.textColor = UIColor.mainTextColor
return label
}()
view.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.top.equalTo(53)
make.left.equalTo(20)
make.height.equalTo(29)
} }
homeTableView.delegate = self
homeTableView.dataSource = self
self.homeTableView.isHidden = true
self.noDataView.isHidden = false
NotificationCenter.default.addObserver(self, selector: #selector(loginSuccess), name: YhConstant.YhNotification.didLoginSuccessNotifiction, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(loginSuccess), name: YhConstant.YhNotification.didLoginSuccessNotifiction, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(logoutSuccess), name: YhConstant.YhNotification.didLogoutSuccessNotifiction, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(logoutSuccess), name: YhConstant.YhNotification.didLogoutSuccessNotifiction, object: nil)
} }
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension YHServiceCenterMainViewController : UITableViewDelegate,UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return self.serviceCenterMainReqVM.arrContactList.count
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return kMargin
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { override func viewDidLayoutSubviews() {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: kMargin)) super.viewDidLayoutSubviews()
return view
} segmentedView.frame = CGRect(x: 0, y: k_Height_safeAreaInsetsTop() + 98, width: view.bounds.size.width, height: 48)
listContainerView.frame = CGRect(x: 0, y: k_Height_safeAreaInsetsTop() + 48 + 98, width: view.bounds.size.width, height: view.bounds.size.height - 48 - k_Height_safeAreaInsetsTop() - 98 - k_Height_TabBar)
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0
} }
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return UIView() //// MARK: - UITableViewDelegate 和 UITableViewDataSource
//extension YHServiceCenterMainViewController : UITableViewDelegate,UITableViewDataSource {
// func numberOfSections(in tableView: UITableView) -> Int {
// return self.serviceCenterMainReqVM.arrContactList.count
// }
//
// func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
//
// return 1
// }
//
// func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
// return kMargin
// }
//
// func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
// let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: kMargin))
// return view
// }
//
// func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
// return 0
// }
//
// func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
// return UIView()
// }
//
//
// func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
// return 81
// }
//
// func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// let cell0 = tableView.dequeueReusableCell(withClass: YHContractCell.self)
// cell0.selectionStyle = .none
//
// if indexPath.section < self.serviceCenterMainReqVM.arrContactList.count {
// cell0.dataModel = self.serviceCenterMainReqVM.arrContactList[indexPath.section]
// }
// return cell0
// }
//
// func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// tableView.deselectRow(at: indexPath, animated: true)
// printLog("点击了 tableView Cell \(indexPath.section)")
//
//
// //获取订单号
// let orderId = serviceCenterMainReqVM.arrContactList[indexPath.section].id
// UserDefaults.standard.set(orderId, forKey: "orderIdForPreview")
// UserDefaults.standard.synchronize()
//
// let vc = YHServiceCenterSecondViewController()
// vc.orderId = orderId
// vc.mobile = serviceCenterMainReqVM.arrContactList[indexPath.section].mobile
// self.navigationController?.pushViewController(vc)
// }
//}
extension YHServiceCenterMainViewController: JXSegmentedViewDelegate {
func segmentedView(_ segmentedView: JXSegmentedView, didSelectedItemAt index: Int) {
// NotificationCenter.default.post(name: Notification.Name(rawValue: "scrollViewDidEndDragging"), object: nil)
} }
/// 正在滚动中的回调
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { ///
return 81 /// - 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)
} }
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell0 = tableView.dequeueReusableCell(withClass: YHContractCell.self) extension YHServiceCenterMainViewController: JXSegmentedListContainerViewDataSource {
cell0.selectionStyle = .none func numberOfLists(in listContainerView: JXSegmentedListContainerView) -> Int {
if let titleDataSource = segmentedView.dataSource as? JXSegmentedBaseDataSource {
if indexPath.section < self.serviceCenterMainReqVM.arrContactList.count { return titleDataSource.dataSource.count
cell0.dataModel = self.serviceCenterMainReqVM.arrContactList[indexPath.section]
} }
return cell0 return 0
} }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
printLog("点击了 tableView Cell \(indexPath.section)")
func listContainerView(_ listContainerView: JXSegmentedListContainerView, initListAt index: Int) -> JXSegmentedListContainerViewListDelegate {
//获取订单号 return arrItemVCs[index]
let orderId = serviceCenterMainReqVM.arrContactList[indexPath.section].id
UserDefaults.standard.set(orderId, forKey: "orderIdForPreview")
UserDefaults.standard.synchronize()
let vc = YHServiceCenterSecondViewController()
vc.orderId = orderId
vc.mobile = serviceCenterMainReqVM.arrContactList[indexPath.section].mobile
self.navigationController?.pushViewController(vc)
} }
} }
extension YHServiceCenterMainViewController { extension YHServiceCenterMainViewController {
@objc func loginSuccess() { @objc func loginSuccess() {
printLog("登录成功,进行相应的 UI刷新操作") printLog("登录成功,进行相应的 UI刷新操作")
...@@ -203,24 +237,87 @@ extension YHServiceCenterMainViewController { ...@@ -203,24 +237,87 @@ extension YHServiceCenterMainViewController {
} }
private func handleRightUI() { private func handleRightUI() {
if YHLoginManager.shared.isLogin() == false { if serviceCenterMainReqVM.arrContactList.isEmpty {
noDataView.isHidden = true noDataView.isHidden = false
homeTableView.isHidden = true
} else { } else {
if serviceCenterMainReqVM.arrContactList.isEmpty { noDataView.isHidden = true
homeTableView.isHidden = true guard let model = serviceCenterMainReqVM.arrContactList.first else {
noDataView.isHidden = false return
} else {
homeTableView.isHidden = false
noDataView.isHidden = true
} }
orderId = model.id
UserDefaults.standard.set(orderId, forKey: "orderIdForPreview")
UserDefaults.standard.synchronize()
addListView()
} }
homeTableView.reloadData()
} }
}
func addListView() {
nameBgImageView = {
let view = UIImageView()
view.image = UIImage(named: "service_name_bg")
return view
}()
view.addSubview(nameBgImageView)
nameBgImageView.snp.makeConstraints { make in
make.top.equalTo(92)
make.left.equalTo(20)
make.right.equalTo(-20)
make.height.equalTo(50)
}
nameLabel = {
let label = UILabel()
label.text = "您好,张先生,您当前处于身份申请阶段"
label.font = UIFont.PFSC_M(ofSize: 12)
label.textColor = UIColor.brandMainColor
return label
}()
nameBgImageView.addSubview(nameLabel)
nameLabel.snp.makeConstraints { make in
make.top.equalTo(21)
make.left.equalTo(14)
make.right.equalTo(-14)
make.height.equalTo(17)
}
view.addSubview(noDataView)
noDataView.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.centerY.equalToSuperview()
make.width.equalTo(KScreenWidth)
make.height.equalTo(225)
}
self.noDataView.isHidden = false
for i in 0..<arrItemTitles.count {
let vc = YHServiceOrderListView()
vc.type = i
vc.orderID = orderId
arrItemVCs.append(vc)
}
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
segmentedView.dataSource = segmentedDataSource
segmentedView.delegate = self
segmentedView.collectionView.backgroundColor = .white
view.addSubview(segmentedView)
extension YHServiceCenterMainViewController: JXSegmentedListContainerViewListDelegate { segmentedView.listContainer = listContainerView
func listView() -> UIView { view.addSubview(listContainerView)
return view
//分类Title
segmentedView.dataSource = segmentedDataSource
segmentedView.delegate = self
//配置指示器
let indicator = JXSegmentedIndicatorLineView()
indicator.indicatorWidth = 16
indicator.indicatorColor = .blue
segmentedView.indicators = [indicator]
segmentedView.backgroundColor = UIColor(red: 0.95, green: 0.95, blue: 0.95, alpha: 1)
} }
} }
//
// YHServiceOrderListView.swift
// galaxy
//
// Created by EDY on 2024/4/16.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import JXSegmentedView
class YHServiceOrderListView: YHBaseViewController {
private let viewModel : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
var orderID: Int = 0
var type: Int = 0
var homeTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
loadData()
}
}
extension YHServiceOrderListView {
func loadData() {
viewModel.getServiceCenterProgressList(orderID, type) {[weak self] success, error in
guard let self = self else { return }
self.homeTableView.reloadData()
}
}
func setupUI() {
gk_navBarAlpha = 0
gk_navigationBar.isHidden = true
homeTableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.showsHorizontalScrollIndicator = false
tableView.showsVerticalScrollIndicator = false
tableView.rowHeight = UITableView.automaticDimension
tableView.estimatedRowHeight = 81.0
tableView.dataSource = self
tableView.delegate = self
tableView.register(cellWithClass: YHServiceOrderProgressTableViewCell.self)
return tableView
}()
view.addSubview(homeTableView)
homeTableView.snp.makeConstraints { make in
make.top.right.left.bottom.equalToSuperview()
}
}
}
extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return self.viewModel.arrDataForSeviceCenterProgress.count
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return kMargin
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: kMargin))
return view
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return UIView()
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 144
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell0 = tableView.dequeueReusableCell(withClass: YHServiceOrderProgressTableViewCell.self)
cell0.selectionStyle = .none
if indexPath.section < self.viewModel.arrDataForSeviceCenterProgress.count {
cell0.dataModel = self.viewModel.arrDataForSeviceCenterProgress[indexPath.section]
}
return cell0
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
// tableView.deselectRow(at: indexPath, animated: true)
// printLog("点击了 tableView Cell \(indexPath.section)")
//
//
// //获取订单号
// let orderId = viewModel.arrContactList[indexPath.section].id
// UserDefaults.standard.set(orderId, forKey: "orderIdForPreview")
// UserDefaults.standard.synchronize()
//
// let vc = YHServiceCenterSecondViewController()
// vc.orderId = orderId
// vc.mobile = viewModel.arrContactList[indexPath.section].mobile
// self.navigationController?.pushViewController(vc)
}
}
extension YHServiceOrderListView: JXSegmentedListContainerViewListDelegate {
func listView() -> UIView {
return view
}
func listWillAppear() {
loadData()
}
}
//
// YHServiceOrderProgressTableViewCell.swift
// galaxy
//
// Created by EDY on 2024/4/16.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHServiceOrderProgressTableViewCell: UITableViewCell {
var titleLabel: UILabel!
var messageLabel: UILabel!
var buttonLabel: UILabel!
var progressImageView: UIImageView!
var progressLabel: UILabel!
var progress: UIView!
var dataModel : YHServiceCenterProgressModel? {
didSet {
updateUI()
}
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
extension YHServiceOrderProgressTableViewCell {
func updateUI() {
guard let model = dataModel else { return }
messageLabel.text = "您还有" + "\(model.num)" + "份信息待填写哦~"
// 1 证件 2 信息完善 3 我的评分 4 我的方案 5 我的签字 6我的文书
if model.type == 1 {
titleLabel.text = "我的证件"
}
if model.type == 2 {
titleLabel.text = "我的信息"
}
if model.type == 3 {
titleLabel.text = "我的评分"
}
if model.type == 4 {
titleLabel.text = "我的方案"
}
if model.type == 5 {
titleLabel.text = "我的签字"
}
if model.type == 6 {
titleLabel.text = "我的文书"
}
// 0未知 1待开始 2进行中 3 已完成
if model.status == 1 {
buttonLabel.text = "待开始"
}
if model.status == 2 {
buttonLabel.text = "进行中"
}
if model.status == 3 {
buttonLabel.text = "已完成"
}
progressLabel.text = "\(model.percentage)"
// contractNameLable.text = dataModel?.productName ?? "-" + " - " + (dataModel?.username ?? "-")
// let str = "合同编号:" + (dataModel?.orderSn ?? "-")
// contractIdLable.text = str
}
func setupUI() {
let holdView = UIView()
holdView.backgroundColor = .white
holdView.layer.cornerRadius = kCornerRadius6
holdView.clipsToBounds = true
backgroundColor = .clear
contentView.backgroundColor = .clear
contentView.addSubview(holdView)
holdView.snp.makeConstraints { make in
make.top.bottom.equalToSuperview()
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
}
titleLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 17)
label.textColor = UIColor.mainTextColor
return label
}()
holdView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.top.equalTo(21)
make.left.equalTo(21)
make.height.equalTo(24)
}
messageLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 13)
label.textColor = UIColor.mainTextColor
return label
}()
holdView.addSubview(messageLabel)
messageLabel.snp.makeConstraints { make in
make.top.equalTo(49)
make.left.equalTo(21)
make.height.equalTo(18)
}
buttonLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 13)
label.textColor = .white
label.backgroundColor = UIColor.brandMainColor
label.layer.cornerRadius = kCornerRadius4
return label
}()
holdView.addSubview(buttonLabel)
buttonLabel.snp.makeConstraints { make in
make.bottom.equalTo(-19)
make.left.equalTo(21)
make.height.equalTo(27)
make.width.equalTo(57)
}
progressImageView = {
let view = UIImageView()
return view
}()
holdView.addSubview(progressImageView)
progressImageView.snp.makeConstraints { make in
make.top.equalTo(24)
make.right.equalTo(-32)
make.height.equalTo(80)
make.width.equalTo(80)
}
progressLabel = {
let label = UILabel()
// label.font = UIFont.PFSC_M(ofSize: 13)
// label.textColor = UIColor.mainTextColor
return label
}()
holdView.addSubview(progressLabel)
progressLabel.snp.makeConstraints { make in
make.center.equalTo(progressImageView.snp.center)
make.width.equalTo(36)
make.height.equalTo(29)
}
}
}
...@@ -34,14 +34,16 @@ class YHServiceCenterMainViewModel: YHBaseViewModel { ...@@ -34,14 +34,16 @@ class YHServiceCenterMainViewModel: YHBaseViewModel {
//请求接口 //请求接口
extension YHServiceCenterMainViewModel { extension YHServiceCenterMainViewModel {
//服务中心进度列表 //服务中心进度列表
func getServiceCenterProgressList( params:[String : Any],callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) { func getServiceCenterProgressList(_ orderId: Int, _ type: Int,callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
/* /*
orderId integer 订单id 可选 orderId integer 订单id 可选
status integer 可选 0全部 1待开始 2进行中 3 已完成 status integer 可选 0全部 1待开始 2进行中 3 已完成
let arr = ["orderId":id,"status"] let arr = ["orderId":id,"status"]
*/ */
let params: [String : Any] = ["orderId": orderId,
"status": type]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.serviceCenterProgressApi let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.serviceCenterProgressApi
let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [weak self] json, code in let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [weak self] json, code in
......
...@@ -12,7 +12,7 @@ class YHMyLikeViewModel: YHBaseViewModel { ...@@ -12,7 +12,7 @@ class YHMyLikeViewModel: YHBaseViewModel {
var arrHomeNewsData: [YHHomeListModel]? var arrHomeNewsData: [YHHomeListModel]?
var likeCollectCountInfo: YHCollectionModel = YHCollectionModel() var likeCollectCountInfo: YHCollectionModel = YHCollectionModel()
private var curPageIndex : Int = 1 private var curPageIndex : Int = 1
private var page_Size : Int = 6 private var page_Size : Int = 10
private var totalCount : Int = 0 private var totalCount : Int = 0
var hasMoreForHomeNews : Bool = true var hasMoreForHomeNews : Bool = true
} }
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_center_head_bkg4@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_center_head_bkg4@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_name_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_name_bg@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