Commit 9bc3616f authored by pete谢兆麟's avatar pete谢兆麟

服务中心新接口接入

parent 5ede5b74
...@@ -182,6 +182,9 @@ ...@@ -182,6 +182,9 @@
044D0C202C22D37500C5CF5E /* YHEditHonorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044D0C1F2C22D37500C5CF5E /* YHEditHonorViewController.swift */; }; 044D0C202C22D37500C5CF5E /* YHEditHonorViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044D0C1F2C22D37500C5CF5E /* YHEditHonorViewController.swift */; };
044EE2232C8FE1D000A2FE3A /* YHServiceCenterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044EE2222C8FE1D000A2FE3A /* YHServiceCenterViewController.swift */; }; 044EE2232C8FE1D000A2FE3A /* YHServiceCenterViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044EE2222C8FE1D000A2FE3A /* YHServiceCenterViewController.swift */; };
044EE2252C90138000A2FE3A /* YHServerCenterHoldViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044EE2242C90138000A2FE3A /* YHServerCenterHoldViewController.swift */; }; 044EE2252C90138000A2FE3A /* YHServerCenterHoldViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044EE2242C90138000A2FE3A /* YHServerCenterHoldViewController.swift */; };
044EE2272C91367800A2FE3A /* YHServiceStepThreeSectionView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044EE2262C91367800A2FE3A /* YHServiceStepThreeSectionView.swift */; };
044EE2292C913D6400A2FE3A /* YHServiceCenterStepThreeTableHeadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044EE2282C913D6400A2FE3A /* YHServiceCenterStepThreeTableHeadView.swift */; };
044EE22B2C91683800A2FE3A /* YHServiceCenterViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044EE22A2C91683800A2FE3A /* YHServiceCenterViewModel.swift */; };
04506F552C6F57E600738EA1 /* YHFamilyMemberInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04506F542C6F57E600738EA1 /* YHFamilyMemberInfoCell.swift */; }; 04506F552C6F57E600738EA1 /* YHFamilyMemberInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04506F542C6F57E600738EA1 /* YHFamilyMemberInfoCell.swift */; };
045A08C02C37ABF500BCBABA /* YHSegmentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08BF2C37ABF500BCBABA /* YHSegmentView.swift */; }; 045A08C02C37ABF500BCBABA /* YHSegmentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08BF2C37ABF500BCBABA /* YHSegmentView.swift */; };
045A08C22C37EB8B00BCBABA /* YHMyFileListNoneCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */; }; 045A08C22C37EB8B00BCBABA /* YHMyFileListNoneCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */; };
...@@ -954,6 +957,9 @@ ...@@ -954,6 +957,9 @@
044D0C1F2C22D37500C5CF5E /* YHEditHonorViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHEditHonorViewController.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>"; }; 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>"; }; 044EE2242C90138000A2FE3A /* YHServerCenterHoldViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServerCenterHoldViewController.swift; sourceTree = "<group>"; };
044EE2262C91367800A2FE3A /* YHServiceStepThreeSectionView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceStepThreeSectionView.swift; sourceTree = "<group>"; };
044EE2282C913D6400A2FE3A /* YHServiceCenterStepThreeTableHeadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceCenterStepThreeTableHeadView.swift; sourceTree = "<group>"; };
044EE22A2C91683800A2FE3A /* YHServiceCenterViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceCenterViewModel.swift; sourceTree = "<group>"; };
04506F542C6F57E600738EA1 /* YHFamilyMemberInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFamilyMemberInfoCell.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>"; }; 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>"; }; 045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyFileListNoneCell.swift; sourceTree = "<group>"; };
...@@ -3853,6 +3859,8 @@ ...@@ -3853,6 +3859,8 @@
048787D62BCE96F50036E221 /* YHServiceOrderProgressTableViewCell.swift */, 048787D62BCE96F50036E221 /* YHServiceOrderProgressTableViewCell.swift */,
048787D82BCF68530036E221 /* YHProgressView.swift */, 048787D82BCF68530036E221 /* YHProgressView.swift */,
044BACC62BCFA58E00184C64 /* YHNoDataTipsView.swift */, 044BACC62BCFA58E00184C64 /* YHNoDataTipsView.swift */,
044EE2262C91367800A2FE3A /* YHServiceStepThreeSectionView.swift */,
044EE2282C913D6400A2FE3A /* YHServiceCenterStepThreeTableHeadView.swift */,
); );
path = V; path = V;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -3915,6 +3923,7 @@ ...@@ -3915,6 +3923,7 @@
children = ( children = (
A5C382CE2B5F9A9100C5E65C /* YHServiceCenterMainViewModel.swift */, A5C382CE2B5F9A9100C5E65C /* YHServiceCenterMainViewModel.swift */,
043D2C8B2C0F037B00172438 /* YHServiceOrderSearchViewModel.swift */, 043D2C8B2C0F037B00172438 /* YHServiceOrderSearchViewModel.swift */,
044EE22A2C91683800A2FE3A /* YHServiceCenterViewModel.swift */,
); );
path = VM; path = VM;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -4415,6 +4424,7 @@ ...@@ -4415,6 +4424,7 @@
04CC2EF02BC3DDB2000305DD /* YHServiceBannerView.swift in Sources */, 04CC2EF02BC3DDB2000305DD /* YHServiceBannerView.swift in Sources */,
A598E9DA2C7CA28200F84739 /* YHTravelDocsPreparationListCell.swift in Sources */, A598E9DA2C7CA28200F84739 /* YHTravelDocsPreparationListCell.swift in Sources */,
045EEEA32B9F171A0022A143 /* YHCompanyModel.swift in Sources */, 045EEEA32B9F171A0022A143 /* YHCompanyModel.swift in Sources */,
044EE22B2C91683800A2FE3A /* YHServiceCenterViewModel.swift in Sources */,
0430E64E2C733477000511E2 /* YHAdopterIncomeDetailViewController.swift in Sources */, 0430E64E2C733477000511E2 /* YHAdopterIncomeDetailViewController.swift in Sources */,
045EEEC62B9F171A0022A143 /* YHOtherTextViewItemView.swift in Sources */, 045EEEC62B9F171A0022A143 /* YHOtherTextViewItemView.swift in Sources */,
046A95312C6EFB980059326A /* YHFamilyMemberRiskWarningAlertView.swift in Sources */, 046A95312C6EFB980059326A /* YHFamilyMemberRiskWarningAlertView.swift in Sources */,
...@@ -4442,6 +4452,7 @@ ...@@ -4442,6 +4452,7 @@
045EEEDE2B9F171A0022A143 /* YHEducationInfoCell.swift in Sources */, 045EEEDE2B9F171A0022A143 /* YHEducationInfoCell.swift in Sources */,
0409BEEB2C5B41D4003FCFD7 /* YHPrincipleProfileListCell.swift in Sources */, 0409BEEB2C5B41D4003FCFD7 /* YHPrincipleProfileListCell.swift in Sources */,
A5ACE93A2B4564F7002C94D2 /* NSAttributedString+Extension.swift in Sources */, A5ACE93A2B4564F7002C94D2 /* NSAttributedString+Extension.swift in Sources */,
044EE2292C913D6400A2FE3A /* YHServiceCenterStepThreeTableHeadView.swift in Sources */,
A5F886B42C61CEA700B63CF5 /* YHPictureReviewManager.swift in Sources */, A5F886B42C61CEA700B63CF5 /* YHPictureReviewManager.swift in Sources */,
04E86E662B86EB6F00A35F4B /* YHLoginManager.swift in Sources */, 04E86E662B86EB6F00A35F4B /* YHLoginManager.swift in Sources */,
04A7BD112BA4218B00BD35A2 /* YHMyDocumentsListViewModel.swift in Sources */, 04A7BD112BA4218B00BD35A2 /* YHMyDocumentsListViewModel.swift in Sources */,
...@@ -4747,6 +4758,7 @@ ...@@ -4747,6 +4758,7 @@
04213B2F2C49154900797900 /* YHHomeInfoDetailContainerViewController.swift in Sources */, 04213B2F2C49154900797900 /* YHHomeInfoDetailContainerViewController.swift in Sources */,
047AA3FA2C60739E009C4554 /* YHInvitationWithGiftsSelectItemView.swift in Sources */, 047AA3FA2C60739E009C4554 /* YHInvitationWithGiftsSelectItemView.swift in Sources */,
A567E5A42BD7643D00D5D5A0 /* YHSearchInfoCell.swift in Sources */, A567E5A42BD7643D00D5D5A0 /* YHSearchInfoCell.swift in Sources */,
044EE2272C91367800A2FE3A /* YHServiceStepThreeSectionView.swift in Sources */,
045EEE932B9F171A0022A143 /* YHPreviewInfoSingleLineTitleView.swift in Sources */, 045EEE932B9F171A0022A143 /* YHPreviewInfoSingleLineTitleView.swift in Sources */,
045EEF1D2B9F171A0022A143 /* YHAddressPickView.swift in Sources */, 045EEF1D2B9F171A0022A143 /* YHAddressPickView.swift in Sources */,
A58AC0A12BAC0B2900A30FA9 /* YHFileListItemView.swift in Sources */, A58AC0A12BAC0B2900A30FA9 /* YHFileListItemView.swift in Sources */,
......
...@@ -24,10 +24,14 @@ class YHServerCenterHoldViewController: UIViewController { ...@@ -24,10 +24,14 @@ class YHServerCenterHoldViewController: UIViewController {
} }
vc.orderID = orderId vc.orderID = orderId
vc.mobile = mobile vc.mobile = mobile
vc.arrDataForSeviceCenterProgress = arrDataForSeviceCenterProgress
vc.state = state
vc.loadData() vc.loadData()
} }
} }
} }
var arrDataForSeviceCenterProgress: [YHServiceCenterProgressModel] = []
var state: Int = 0
var canScroll : Bool = false { var canScroll : Bool = false {
didSet { didSet {
for vc in arrItemVCs { for vc in arrItemVCs {
...@@ -125,7 +129,9 @@ class YHServerCenterHoldViewController: UIViewController { ...@@ -125,7 +129,9 @@ class YHServerCenterHoldViewController: UIViewController {
arrItemVCs.append(controllerFour) arrItemVCs.append(controllerFour)
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!! //segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
segmentedView.collectionView.backgroundColor = .clear // segmentedView.backgroundColor = .clear
segmentedView.collectionView.backgroundColor = .white
// segmentedView.contentScrollView?.backgroundColor = .clear
view.addSubview(segmentedView) view.addSubview(segmentedView)
segmentedView.listContainer = listContainerView segmentedView.listContainer = listContainerView
...@@ -141,6 +147,7 @@ class YHServerCenterHoldViewController: UIViewController { ...@@ -141,6 +147,7 @@ class YHServerCenterHoldViewController: UIViewController {
indicator.indicatorWidth = 16 indicator.indicatorWidth = 16
indicator.indicatorColor = UIColor.brandMainColor indicator.indicatorColor = UIColor.brandMainColor
indicator.indicatorCornerRadius = 0 indicator.indicatorCornerRadius = 0
indicator.verticalOffset = 4
segmentedView.indicators = [indicator] segmentedView.indicators = [indicator]
segmentedView.backgroundColor = UIColor(red: 0.95, green: 0.95, blue: 0.95, alpha: 1) segmentedView.backgroundColor = UIColor(red: 0.95, green: 0.95, blue: 0.95, alpha: 1)
......
...@@ -12,16 +12,20 @@ import AttributedString ...@@ -12,16 +12,20 @@ import AttributedString
class YHServiceCenterViewController: YHBaseViewController { class YHServiceCenterViewController: YHBaseViewController {
private let serviceCenterMainReqVM : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel() private let serviceCenterMainReqVM : YHServiceCenterViewModel = YHServiceCenterViewModel()
var titleLabel: UIButton! var titleLabel: UIButton!
var orderButton: UIButton! var orderButton: UIButton!
var headView = YHServiceCenterStepThreeTableHeadView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 100))
var orderId: Int = 0 var orderId: Int = 0
var mobile: String = "" var mobile: String = ""
var model: YHContactItemModel = YHContactItemModel() var model: YHContactItemModel = YHContactItemModel()
var oldModel: YHContactItemModel = YHContactItemModel() var oldModel: YHContactItemModel = YHContactItemModel()
var doneCount: Int = 0 var doneCount: Int = 0
var canScroll : Bool = true var canScroll : Bool = true
var arrDataForSeviceCenterProgress: [YHServiceCenterProgressModel] = []
var state: 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_bkg4") imagV.image = UIImage(named: "service_center_head_bkg4")
...@@ -205,7 +209,6 @@ extension YHServiceCenterViewController { ...@@ -205,7 +209,6 @@ extension YHServiceCenterViewController {
homeTableView.delegate = self homeTableView.delegate = self
homeTableView.dataSource = self homeTableView.dataSource = self
homeTableView.tableHeaderView = UILabel(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 300))
view.addSubview(homeTableView) view.addSubview(homeTableView)
homeTableView.snp.makeConstraints { make in homeTableView.snp.makeConstraints { make in
make.top.equalTo(90) make.top.equalTo(90)
...@@ -234,7 +237,9 @@ extension YHServiceCenterViewController { ...@@ -234,7 +237,9 @@ extension YHServiceCenterViewController {
} }
@objc func selectTimeStep() { @objc func selectTimeStep() {
if self.state == 1 || self.state == 2 {
return
}
} }
} }
...@@ -266,8 +271,33 @@ extension YHServiceCenterViewController { ...@@ -266,8 +271,33 @@ extension YHServiceCenterViewController {
} }
func getStep() { func getStep() {
serviceCenterMainReqVM.getStageInformation(params: ["orderId":orderId]) {[weak self] success, error in serviceCenterMainReqVM.getServiceMainData(orderId: orderId) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
self.state = self.serviceCenterMainReqVM.mainModel.stage
if self.serviceCenterMainReqVM.mainModel.stage == 1 {
self.arrDataForSeviceCenterProgress = self.serviceCenterMainReqVM.mainModel.applySection.list
self.homeTableView.tableHeaderView = UIView()
self.titleLabel.setTitle("申请阶段", for: .normal)
self.titleLabel.setImage(UIImage(named: ""), for: .normal)
}
if self.serviceCenterMainReqVM.mainModel.stage == 2 {
self.arrDataForSeviceCenterProgress = self.serviceCenterMainReqVM.mainModel.certificateSection.list
self.homeTableView.tableHeaderView = UIView()
self.titleLabel.setTitle("办证阶段", for: .normal)
self.titleLabel.setImage(UIImage(named: ""), for: .normal)
}
if self.serviceCenterMainReqVM.mainModel.stage == 3 {
self.arrDataForSeviceCenterProgress = self.serviceCenterMainReqVM.mainModel.renewalSection.list.first?.list ?? []
self.homeTableView.tableHeaderView = headView
self.headView.block = {[weak self] array in
guard let self = self else { return }
self.arrDataForSeviceCenterProgress = array
self.homeTableView.reloadData()
}
self.headView.dataSource = self.serviceCenterMainReqVM.mainModel.renewalSection.list
self.titleLabel.setTitle("续签阶段", for: .normal)
self.titleLabel.setImage(UIImage(named: "service_center_select_step"), for: .normal)
}
self.homeTableView.reloadData() self.homeTableView.reloadData()
} }
} }
...@@ -344,8 +374,10 @@ extension YHServiceCenterViewController : UITableViewDelegate,UITableViewDataSou ...@@ -344,8 +374,10 @@ extension YHServiceCenterViewController : UITableViewDelegate,UITableViewDataSou
cellView.view.snp.makeConstraints { make in cellView.view.snp.makeConstraints { make in
make.edges.equalTo(0) make.edges.equalTo(0)
} }
cellView.arrDataForSeviceCenterProgress = arrDataForSeviceCenterProgress
cellView.mobile = model.mobile cellView.mobile = model.mobile
cellView.orderId = orderId cellView.orderId = orderId
cellView.state = state
return cell return cell
} }
......
...@@ -10,7 +10,6 @@ import UIKit ...@@ -10,7 +10,6 @@ import UIKit
import JXSegmentedView import JXSegmentedView
class YHServiceOrderListView: YHBaseViewController { class YHServiceOrderListView: YHBaseViewController {
private let viewModel : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
let principleViewModel: YHPrincleViewModel = YHPrincleViewModel() let principleViewModel: YHPrincleViewModel = YHPrincleViewModel()
let appointViewModel = YHCerAppointViewModel() let appointViewModel = YHCerAppointViewModel()
public var vcCanScroll : Bool = true public var vcCanScroll : Bool = true
...@@ -22,7 +21,9 @@ class YHServiceOrderListView: YHBaseViewController { ...@@ -22,7 +21,9 @@ class YHServiceOrderListView: YHBaseViewController {
var mobile: String = "" var mobile: String = ""
var homeTableView: UITableView! var homeTableView: UITableView!
var orderType: Int = 0 var orderType: Int = 0
var state: Int = 0
var arrDataForSeviceCenterProgress: [YHServiceCenterProgressModel] = []
lazy var noDataView: YHEmptyDataView = { lazy var noDataView: YHEmptyDataView = {
let view = YHEmptyDataView.createView("暂无", kEmptyCommonBgName) let view = YHEmptyDataView.createView("暂无", kEmptyCommonBgName)
view.backgroundColor = .clear view.backgroundColor = .clear
...@@ -42,45 +43,41 @@ class YHServiceOrderListView: YHBaseViewController { ...@@ -42,45 +43,41 @@ class YHServiceOrderListView: YHBaseViewController {
extension YHServiceOrderListView { extension YHServiceOrderListView {
func loadData() { func loadData() {
if YHLoginManager.shared.isLogin() { var array: [YHServiceCenterProgressModel] = []
viewModel.getStageInformation(params: ["orderId":orderID]) {[weak self] success, error in for item in arrDataForSeviceCenterProgress {
guard let self = self else { return } if type == 0 {
var state = 1 array.append(item)
if self.viewModel.personInfoModel.type == 1 { } else if item.status == type {
state = 1 array.append(item)
} else { }
state = 2 }
} self.arrDataForSeviceCenterProgress = array
viewModel.getNewServiceCenterProgressList(orderID, type, orderType: state) {[weak self] success, error in
guard let self = self else { return } if (self.homeTableView != nil) {
if (self.homeTableView != nil) { if self.arrDataForSeviceCenterProgress.count == 0 {
if self.viewModel.arrDataForSeviceCenterProgress.count == 0 { self.homeTableView.isHidden = true
self.homeTableView.isHidden = true self.noDataView.isHidden = false
self.noDataView.isHidden = false } else {
} else { self.homeTableView.isHidden = false
self.homeTableView.isHidden = false self.noDataView.isHidden = true
self.noDataView.isHidden = true self.homeTableView.reloadData()
self.homeTableView.reloadData() }
} }
if let block = self.block {
if type == 3 {
var oneflag = false
var twoflag = false
for item in self.arrDataForSeviceCenterProgress {
if item.type == 3 {
oneflag = isNeedShowRedPointFor(key: kMyScoreRedPointInfoKey, proVersion: item.pro_version)
} }
if let block = self.block { if item.type == 4 {
if type == 3 { twoflag = isNeedShowRedPointFor(key: kMyPlanRedPointInfoKey, proVersion: item.pro_version)
var oneflag = false
var twoflag = false
for item in self.viewModel.arrDataForSeviceCenterProgress {
if item.type == 3 {
oneflag = isNeedShowRedPointFor(key: kMyScoreRedPointInfoKey, proVersion: item.pro_version)
}
if item.type == 4 {
twoflag = isNeedShowRedPointFor(key: kMyPlanRedPointInfoKey, proVersion: item.pro_version)
}
}
block(type, self.viewModel.arrDataForSeviceCenterProgress.count, oneflag||twoflag)
} else {
block(type, self.viewModel.arrDataForSeviceCenterProgress.count, false)
}
} }
} }
block(type, self.arrDataForSeviceCenterProgress.count, oneflag||twoflag)
} else {
block(type, self.arrDataForSeviceCenterProgress.count, false)
} }
} }
} }
...@@ -142,21 +139,30 @@ extension YHServiceOrderListView { ...@@ -142,21 +139,30 @@ extension YHServiceOrderListView {
extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource { extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int { func numberOfSections(in tableView: UITableView) -> Int {
return self.viewModel.arrDataForSeviceCenterProgress.count return 1
} }
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1 return self.arrDataForSeviceCenterProgress.count
} }
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat { func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return kMargin if state == 3 && (type == 0 || type == 2) {
return 104
} else {
return kMargin
}
} }
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: kMargin)) if state == 3 && (type == 0 || type == 2) {
return view let view = YHServiceStepThreeSectionView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 104))
return view
} else {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: kMargin))
return view
}
} }
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
...@@ -169,29 +175,29 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource { ...@@ -169,29 +175,29 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
let arr = self.viewModel.arrDataForSeviceCenterProgress let arr = self.arrDataForSeviceCenterProgress
if 0 <= indexPath.section, indexPath.section < arr.count { if 0 <= indexPath.row, indexPath.row < arr.count {
let model = arr[indexPath.section] let model = arr[indexPath.row]
if model.type == 27 { if model.type == 27 {
return 146 return 162
} }
return 128 return 144
} }
return 128 return 144
} }
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell0 = tableView.dequeueReusableCell(withClass: YHServiceOrderProgressTableViewCell.self) let cell0 = tableView.dequeueReusableCell(withClass: YHServiceOrderProgressTableViewCell.self)
cell0.selectionStyle = .none cell0.selectionStyle = .none
if indexPath.section < self.viewModel.arrDataForSeviceCenterProgress.count { if indexPath.row < self.arrDataForSeviceCenterProgress.count {
cell0.set(dataModel: self.viewModel.arrDataForSeviceCenterProgress[indexPath.section], orderId: orderID) cell0.set(dataModel: self.arrDataForSeviceCenterProgress[indexPath.row], orderId: orderID)
} }
return cell0 return cell0
} }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let model = self.viewModel.arrDataForSeviceCenterProgress[indexPath.section] let model = self.arrDataForSeviceCenterProgress[indexPath.row]
if model.status == 1 || model.status == 4 { if model.status == 1 || model.status == 4 {
return return
} else { } else {
......
...@@ -7,8 +7,9 @@ ...@@ -7,8 +7,9 @@
// //
import UIKit import UIKit
import SmartCodable
class YHServiceCenterProgressModel : YHBaseModel { struct YHServiceCenterProgressModel : SmartCodable {
var name : String = "" var name : String = ""
var percentage : Int = 0 var percentage : Int = 0
var status : Int = 0 // 0未知 1待开始 2进行中 3 已完成 4 后台进行中 var status : Int = 0 // 0未知 1待开始 2进行中 3 已完成 4 后台进行中
...@@ -16,6 +17,7 @@ class YHServiceCenterProgressModel : YHBaseModel { ...@@ -16,6 +17,7 @@ class YHServiceCenterProgressModel : YHBaseModel {
var type : Int = 0 // 1 证件 2 信息完善 3 我的评分 4 我的方案 5 我的签字 6我的文书 var type : Int = 0 // 1 证件 2 信息完善 3 我的评分 4 我的方案 5 我的签字 6我的文书
var pro_version : Int = 0 var pro_version : Int = 0
var reject_status : Int = 0 var reject_status : Int = 0
} }
class YHServiceSearchModel: YHBaseModel { class YHServiceSearchModel: YHBaseModel {
...@@ -24,8 +26,27 @@ class YHServiceSearchModel: YHBaseModel { ...@@ -24,8 +26,27 @@ class YHServiceSearchModel: YHBaseModel {
var enable_flag: Int = 0 var enable_flag: Int = 0
} }
class YHServiceProgressModel : YHBaseModel { struct YHServiceProgressModel: SmartCodable {
var title : String = "" var title : String = ""
var type : Int = 0 var type : Int = 0
var list : [YHServiceCenterProgressModel] = [] var list : [YHServiceCenterProgressModel] = []
} }
struct YHServiceStepProgressModel: SmartCodable {
var title : String = ""
var type : Int = 0
var list : [YHServiceStepProgressThreeModel] = []
}
struct YHServiceStepProgressThreeModel: SmartCodable {
var personStr : String = ""
var type : Int = 0
var list : [YHServiceCenterProgressModel] = []
}
struct YHServiceCenterMainModel: SmartCodable {
var applySection: YHServiceProgressModel = YHServiceProgressModel()
var certificateSection: YHServiceProgressModel = YHServiceProgressModel()
var renewalSection: YHServiceStepProgressModel = YHServiceStepProgressModel()
var stage: Int = 0 // 1 申请阶段 2办证阶段 3续期阶段
}
//
// YHServiceCenterStepThreeTableHeadView.swift
// galaxy
//
// Created by EDY on 2024/9/11.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHServiceCenterStepThreeTableHeadView: UIView {
typealias Block = ([YHServiceCenterProgressModel]) -> ()
var block: Block?
var dataSource: [YHServiceStepProgressThreeModel] = [] {
didSet {
self.myCollectView.reloadData()
}
}
var bgView: UIView!
var moreButton: UIButton!
var explainLabel: UILabel!
var selectIndex = 0
lazy var myCollectView = {
// 设置布局方向
let flowLayout = UICollectionViewFlowLayout()
flowLayout.itemSize = CGSize(width: 81, height: 26)
flowLayout.minimumInteritemSpacing = 12.0
flowLayout.minimumLineSpacing = 12.0
flowLayout.scrollDirection = .horizontal
let collectinoView = UICollectionView(frame: .zero, collectionViewLayout: flowLayout)
collectinoView.backgroundColor = .clear
collectinoView.contentInset = UIEdgeInsets(top: 16, left: 20, bottom: 16, right: 20)
collectinoView.register(YHServiceSectionStepThreeCollectionViewCell.self, forCellWithReuseIdentifier:YHServiceSectionStepThreeCollectionViewCell.cellReuseIdentifier)
collectinoView.delegate = self
collectinoView.dataSource = self
collectinoView.translatesAutoresizingMaskIntoConstraints = false
collectinoView.alwaysBounceVertical = true
collectinoView.bounces = false
collectinoView.showsHorizontalScrollIndicator = false
collectinoView.showsVerticalScrollIndicator = false
return collectinoView
}()
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = .white
setUpView()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setUpView() {
backgroundColor = .clear
addSubview(myCollectView)
myCollectView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(58)
}
bgView = {
let view = UIView()
view.backgroundColor = UIColor.pageBkgColor
return view
}()
addSubview(bgView)
bgView.snp.makeConstraints { make in
make.bottom.equalToSuperview()
make.height.equalTo(42)
make.left.equalTo(20)
make.right.equalTo(-20)
}
explainLabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor70
label.text = "本期人员:张大大 (首次)、张笑笑 (第2次)"
label.font = UIFont.PFSC_M(ofSize: 13)
return label
}()
bgView.addSubview(explainLabel)
explainLabel.snp.makeConstraints { make in
make.top.bottom.equalToSuperview()
make.left.equalTo(12)
make.right.equalTo(-38)
}
moreButton = {
let button = UIButton(type: .custom)
button.setTitle("更多", for: .normal)
button.setTitleColor(UIColor.brandMainColor, for: .normal)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 13)
button.addTarget(self, action: #selector(showAlert), for: .touchUpInside)
return button
}()
bgView.addSubview(moreButton)
moreButton.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.width.equalTo(26)
make.height.equalTo(18)
make.right.equalTo(-12)
}
// self.myCollectView.es.addInfiniteScrolling {
// self.loadFakeData()
// }
}
@objc func showAlert() {
YHCommonAlertView.show("", explainLabel.text, "我知道了",fullGuestureEnable: false) {
} callBack: {
}
}
}
extension YHServiceCenterStepThreeTableHeadView: UICollectionViewDelegate, UICollectionViewDataSource {
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return dataSource.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: YHServiceSectionStepThreeCollectionViewCell.cellReuseIdentifier, for: indexPath) as! YHServiceSectionStepThreeCollectionViewCell
cell.dataSource = indexPath.row + 1
if indexPath.row == selectIndex {
cell.setSelectedStyle()
} else {
cell.setDeSelectedStyle()
}
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
selectIndex = indexPath.row
let model = dataSource[selectIndex]
explainLabel.text = model.personStr
collectionView.reloadData()
let array = model.list
if let block = block {
block(array)
}
}
}
class YHServiceSectionStepThreeCollectionViewCell: UICollectionViewCell {
static let cellReuseIdentifier = "YHServiceSectionStepThreeCollectionViewCell"
func setSelectedStyle() {
descripeLable.textColor = UIColor.mainTextColor
descripeLable.layer.borderColor = UIColor.mainTextColor.cgColor
}
func setDeSelectedStyle() {
descripeLable.textColor = UIColor.mainTextColor50
descripeLable.layer.borderColor = UIColor.mainTextColor18.cgColor
}
var dataSource: Int = 0 {
didSet {
updataAllSubViews()
}
}
lazy var descripeLable:UILabel = {
let label = UILabel()
label.text = "赴港"
label.textColor = UIColor.mainTextColor
label.font = UIFont.PFSC_R(ofSize: 13)
label.textAlignment = .center
label.layer.borderColor = UIColor.mainTextColor.cgColor
label.layer.borderWidth = 1
return label
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
private func setupUI() {
contentView.addSubview(descripeLable)
descripeLable.snp.makeConstraints { make in
make.top.left.right.bottom.equalToSuperview()
}
}
func updataAllSubViews() {
descripeLable.text = "第\(dataSource)批续签"
}
}
...@@ -535,7 +535,8 @@ extension YHServiceOrderProgressTableViewCell { ...@@ -535,7 +535,8 @@ extension YHServiceOrderProgressTableViewCell {
contentView.addSubview(holdView) contentView.addSubview(holdView)
holdView.snp.makeConstraints { make in holdView.snp.makeConstraints { make in
make.top.bottom.equalToSuperview() make.top.equalTo(8)
make.bottom.equalTo(-8)
make.left.equalTo(kMargin) make.left.equalTo(kMargin)
make.right.equalTo(-kMargin) make.right.equalTo(-kMargin)
} }
......
//
// YHServiceStepThreeSectionView.swift
// galaxy
//
// Created by EDY on 2024/9/11.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHServiceStepThreeSectionView: UIView {
typealias Block = (Int) -> ()
var block: Block?
var oneButton: UIButton!
var twoButton: UIButton!
var threeButton: UIButton!
var fourButton: UIButton!
public override init(frame: CGRect) {
super.init(frame:frame)
initView()
}
private func initView() {
let space = (KScreenWidth - 77 * 4 - 32)/3.0
oneButton = {
let btn = UIButton(type: .custom)
btn.setBackgroundImage(UIImage(named: "service_center_step_section_one"), for: .normal)
btn.addTarget(self, action: #selector(oneBtnClick), for: .touchUpInside)
return btn
}()
addSubview(oneButton)
oneButton.snp.makeConstraints { make in
make.top.equalTo(16)
make.left.equalTo(16)
make.height.equalTo(80)
make.width.equalTo(77)
}
twoButton = {
let btn = UIButton(type: .custom)
btn.setBackgroundImage(UIImage(named: "service_center_step_section_two"), for: .normal)
btn.addTarget(self, action: #selector(twoBtnClick), for: .touchUpInside)
return btn
}()
addSubview(twoButton)
twoButton.snp.makeConstraints { make in
make.top.equalTo(16)
make.left.equalTo(oneButton.snp.right).offset(space)
make.height.equalTo(80)
make.width.equalTo(77)
}
fourButton = {
let btn = UIButton(type: .custom)
btn.setBackgroundImage(UIImage(named: "service_center_step_section_four"), for: .normal)
btn.addTarget(self, action: #selector(fourBtnClick), for: .touchUpInside)
return btn
}()
addSubview(fourButton)
fourButton.snp.makeConstraints { make in
make.top.equalTo(16)
make.right.equalTo(-16)
make.height.equalTo(80)
make.width.equalTo(77)
}
threeButton = {
let btn = UIButton(type: .custom)
btn.setBackgroundImage(UIImage(named: "service_center_step_section_three"), for: .normal)
btn.addTarget(self, action: #selector(threeBtnClick), for: .touchUpInside)
return btn
}()
addSubview(threeButton)
threeButton.snp.makeConstraints { make in
make.top.equalTo(16)
make.right.equalTo(fourButton.snp.left).offset(-space)
make.height.equalTo(80)
make.width.equalTo(77)
}
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
@objc func oneBtnClick() {
if let block = block {
block(1)
}
}
@objc func twoBtnClick() {
if let block = block {
block(2)
}
}
@objc func threeBtnClick() {
if let block = block {
block(3)
}
}
@objc func fourBtnClick() {
if let block = block {
block(4)
}
}
}
...@@ -53,11 +53,11 @@ extension YHServiceCenterMainViewModel { ...@@ -53,11 +53,11 @@ extension YHServiceCenterMainViewModel {
if json.code == 200 { if json.code == 200 {
let dic = json.data let dic = json.data
guard let result = [YHServiceCenterProgressModel].deserialize(from: dic as? [Any]) else { // guard let result = [YHServiceCenterProgressModel].deserialize(from: dic as? [Any]) else {
callBackBlock(false,nil) // callBackBlock(false,nil)
return // return
} // }
self.arrDataForSeviceCenterProgress = result as! [YHServiceCenterProgressModel] // self.arrDataForSeviceCenterProgress = result as! [YHServiceCenterProgressModel]
callBackBlock(true, nil) callBackBlock(true, nil)
} else { } else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg) let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
...@@ -79,9 +79,6 @@ extension YHServiceCenterMainViewModel { ...@@ -79,9 +79,6 @@ extension YHServiceCenterMainViewModel {
let params: [String : Any] = ["orderId": orderId, let params: [String : Any] = ["orderId": orderId,
"status": type] "status": type]
if type == 3 {
}
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.process let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.process
let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [weak self] json, code in let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [weak self] json, code in
...@@ -91,14 +88,11 @@ extension YHServiceCenterMainViewModel { ...@@ -91,14 +88,11 @@ extension YHServiceCenterMainViewModel {
if json.code == 200 { if json.code == 200 {
let dic = json.data let dic = json.data
guard let result = [YHServiceProgressModel].deserialize(from: dic as? [Any]) else { guard let result = [YHServiceProgressModel].deserialize(array: dic as? [Any]) else {
callBackBlock(false,nil) callBackBlock(false,nil)
return return
} }
if type == 3 {
}
var resultItem = YHServiceProgressModel() var resultItem = YHServiceProgressModel()
for item in result { for item in result {
if item?.type == orderType { if item?.type == orderType {
......
//
// YHServiceCenterViewModel.swift
// galaxy
//
// Created by EDY on 2024/9/11.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHServiceCenterViewModel: YHBaseViewModel {
//合同列表 数据
var arrContactList : [YHContactItemModel] = []
//服务中心进度模型
var arrDataForSeviceCenterProgress: [YHServiceCenterProgressModel] = []
var mainModel: YHServiceCenterMainModel = YHServiceCenterMainModel()
}
//请求接口
extension YHServiceCenterViewModel {
//请求合同项
func getContactList(callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.contractListApi
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
arrContactList.removeAll()
if json.code == 200 {
let dic = json.data
DispatchQueue.global().async {
guard let resultModel = YHContactItemHoldModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
DispatchQueue.main.async {
self.arrContactList = []
callBackBlock(false,nil)
}
return
}
DispatchQueue.main.async {
self.arrContactList = resultModel.orders
callBackBlock(true,nil)
}
}
} else {
arrContactList = []
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code),errorMsg: json.msg.count > 0 ? json.msg : "数据错误")
callBackBlock(false,error)
}
} failBlock: { err in
self.arrContactList = []
callBackBlock(false,err)
}
}
func getServiceCenterProgressList(_ orderId: Int, _ type: Int,callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
/*
orderId integer 订单id 可选
status integer 可选 0全部 1待开始 2进行中 3 已完成
let arr = ["orderId":id,"status"]
*/
let params: [String : Any] = ["orderId": orderId,
"status": type]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.serviceCenterProgressApi
let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
let dic = json.data
guard let result = [YHServiceCenterProgressModel].deserialize(array: dic as? [Any]) else {
callBackBlock(false,nil)
return
}
self.arrDataForSeviceCenterProgress = result as! [YHServiceCenterProgressModel]
callBackBlock(true, nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callBackBlock(false,err)
}
} failBlock: { err in
callBackBlock(false,err)
}
}
func getServiceMainData(orderId: Int, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let params: [String : Any] = ["orderId": orderId,
"status": 0]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.main
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
let dic = json.data
DispatchQueue.global().async {
guard let resultModel = YHServiceCenterMainModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
DispatchQueue.main.async {
callBackBlock(false,nil)
}
return
}
DispatchQueue.main.async {
self.mainModel = resultModel
callBackBlock(true,nil)
}
}
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code),errorMsg: json.msg.count > 0 ? json.msg : "数据错误")
callBackBlock(false,error)
}
} failBlock: { err in
callBackBlock(false,err)
}
}
}
...@@ -128,7 +128,7 @@ class YHAllApiName { ...@@ -128,7 +128,7 @@ class YHAllApiName {
//合同列表 //合同列表
static let contractListApi = "infoflow/order/list" static let contractListApi = "infoflow/order/list"
static let main = "super-app/order/process_v2"
//合同填写进度 //合同填写进度
static let contractStatusApi = "infoflow/order/progress" static let contractStatusApi = "infoflow/order/progress"
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_center_step_section_four@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_center_step_section_four@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_center_step_section_one@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_center_step_section_one@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_center_step_section_three@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_center_step_section_three@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_center_step_section_two@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_center_step_section_two@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