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

服务中心新接口接入

parent 5ede5b74
......@@ -182,6 +182,9 @@
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 */; };
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 */; };
045A08C02C37ABF500BCBABA /* YHSegmentView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08BF2C37ABF500BCBABA /* YHSegmentView.swift */; };
045A08C22C37EB8B00BCBABA /* YHMyFileListNoneCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 045A08C12C37EB8B00BCBABA /* YHMyFileListNoneCell.swift */; };
......@@ -954,6 +957,9 @@
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>"; };
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>"; };
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>"; };
......@@ -3853,6 +3859,8 @@
048787D62BCE96F50036E221 /* YHServiceOrderProgressTableViewCell.swift */,
048787D82BCF68530036E221 /* YHProgressView.swift */,
044BACC62BCFA58E00184C64 /* YHNoDataTipsView.swift */,
044EE2262C91367800A2FE3A /* YHServiceStepThreeSectionView.swift */,
044EE2282C913D6400A2FE3A /* YHServiceCenterStepThreeTableHeadView.swift */,
);
path = V;
sourceTree = "<group>";
......@@ -3915,6 +3923,7 @@
children = (
A5C382CE2B5F9A9100C5E65C /* YHServiceCenterMainViewModel.swift */,
043D2C8B2C0F037B00172438 /* YHServiceOrderSearchViewModel.swift */,
044EE22A2C91683800A2FE3A /* YHServiceCenterViewModel.swift */,
);
path = VM;
sourceTree = "<group>";
......@@ -4415,6 +4424,7 @@
04CC2EF02BC3DDB2000305DD /* YHServiceBannerView.swift in Sources */,
A598E9DA2C7CA28200F84739 /* YHTravelDocsPreparationListCell.swift in Sources */,
045EEEA32B9F171A0022A143 /* YHCompanyModel.swift in Sources */,
044EE22B2C91683800A2FE3A /* YHServiceCenterViewModel.swift in Sources */,
0430E64E2C733477000511E2 /* YHAdopterIncomeDetailViewController.swift in Sources */,
045EEEC62B9F171A0022A143 /* YHOtherTextViewItemView.swift in Sources */,
046A95312C6EFB980059326A /* YHFamilyMemberRiskWarningAlertView.swift in Sources */,
......@@ -4442,6 +4452,7 @@
045EEEDE2B9F171A0022A143 /* YHEducationInfoCell.swift in Sources */,
0409BEEB2C5B41D4003FCFD7 /* YHPrincipleProfileListCell.swift in Sources */,
A5ACE93A2B4564F7002C94D2 /* NSAttributedString+Extension.swift in Sources */,
044EE2292C913D6400A2FE3A /* YHServiceCenterStepThreeTableHeadView.swift in Sources */,
A5F886B42C61CEA700B63CF5 /* YHPictureReviewManager.swift in Sources */,
04E86E662B86EB6F00A35F4B /* YHLoginManager.swift in Sources */,
04A7BD112BA4218B00BD35A2 /* YHMyDocumentsListViewModel.swift in Sources */,
......@@ -4747,6 +4758,7 @@
04213B2F2C49154900797900 /* YHHomeInfoDetailContainerViewController.swift in Sources */,
047AA3FA2C60739E009C4554 /* YHInvitationWithGiftsSelectItemView.swift in Sources */,
A567E5A42BD7643D00D5D5A0 /* YHSearchInfoCell.swift in Sources */,
044EE2272C91367800A2FE3A /* YHServiceStepThreeSectionView.swift in Sources */,
045EEE932B9F171A0022A143 /* YHPreviewInfoSingleLineTitleView.swift in Sources */,
045EEF1D2B9F171A0022A143 /* YHAddressPickView.swift in Sources */,
A58AC0A12BAC0B2900A30FA9 /* YHFileListItemView.swift in Sources */,
......
......@@ -24,10 +24,14 @@ class YHServerCenterHoldViewController: UIViewController {
}
vc.orderID = orderId
vc.mobile = mobile
vc.arrDataForSeviceCenterProgress = arrDataForSeviceCenterProgress
vc.state = state
vc.loadData()
}
}
}
var arrDataForSeviceCenterProgress: [YHServiceCenterProgressModel] = []
var state: Int = 0
var canScroll : Bool = false {
didSet {
for vc in arrItemVCs {
......@@ -125,7 +129,9 @@ class YHServerCenterHoldViewController: UIViewController {
arrItemVCs.append(controllerFour)
//segmentedViewDataSource一定要通过属性强持有!!!!!!!!!
segmentedView.collectionView.backgroundColor = .clear
// segmentedView.backgroundColor = .clear
segmentedView.collectionView.backgroundColor = .white
// segmentedView.contentScrollView?.backgroundColor = .clear
view.addSubview(segmentedView)
segmentedView.listContainer = listContainerView
......@@ -141,6 +147,7 @@ class YHServerCenterHoldViewController: UIViewController {
indicator.indicatorWidth = 16
indicator.indicatorColor = UIColor.brandMainColor
indicator.indicatorCornerRadius = 0
indicator.verticalOffset = 4
segmentedView.indicators = [indicator]
segmentedView.backgroundColor = UIColor(red: 0.95, green: 0.95, blue: 0.95, alpha: 1)
......
......@@ -12,16 +12,20 @@ import AttributedString
class YHServiceCenterViewController: YHBaseViewController {
private let serviceCenterMainReqVM : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
private let serviceCenterMainReqVM : YHServiceCenterViewModel = YHServiceCenterViewModel()
var titleLabel: UIButton!
var orderButton: UIButton!
var headView = YHServiceCenterStepThreeTableHeadView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 100))
var orderId: Int = 0
var mobile: String = ""
var model: YHContactItemModel = YHContactItemModel()
var oldModel: YHContactItemModel = YHContactItemModel()
var doneCount: Int = 0
var canScroll : Bool = true
var arrDataForSeviceCenterProgress: [YHServiceCenterProgressModel] = []
var state: Int = 0
private lazy var topBkg : UIView = {
let imagV = UIImageView()
imagV.image = UIImage(named: "service_center_head_bkg4")
......@@ -205,7 +209,6 @@ extension YHServiceCenterViewController {
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)
......@@ -234,7 +237,9 @@ extension YHServiceCenterViewController {
}
@objc func selectTimeStep() {
if self.state == 1 || self.state == 2 {
return
}
}
}
......@@ -266,8 +271,33 @@ extension YHServiceCenterViewController {
}
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 }
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()
}
}
......@@ -344,8 +374,10 @@ extension YHServiceCenterViewController : UITableViewDelegate,UITableViewDataSou
cellView.view.snp.makeConstraints { make in
make.edges.equalTo(0)
}
cellView.arrDataForSeviceCenterProgress = arrDataForSeviceCenterProgress
cellView.mobile = model.mobile
cellView.orderId = orderId
cellView.state = state
return cell
}
......
......@@ -10,7 +10,6 @@ import UIKit
import JXSegmentedView
class YHServiceOrderListView: YHBaseViewController {
private let viewModel : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
let principleViewModel: YHPrincleViewModel = YHPrincleViewModel()
let appointViewModel = YHCerAppointViewModel()
public var vcCanScroll : Bool = true
......@@ -22,7 +21,9 @@ class YHServiceOrderListView: YHBaseViewController {
var mobile: String = ""
var homeTableView: UITableView!
var orderType: Int = 0
var state: Int = 0
var arrDataForSeviceCenterProgress: [YHServiceCenterProgressModel] = []
lazy var noDataView: YHEmptyDataView = {
let view = YHEmptyDataView.createView("暂无", kEmptyCommonBgName)
view.backgroundColor = .clear
......@@ -42,45 +43,41 @@ class YHServiceOrderListView: YHBaseViewController {
extension YHServiceOrderListView {
func loadData() {
if YHLoginManager.shared.isLogin() {
viewModel.getStageInformation(params: ["orderId":orderID]) {[weak self] success, error in
guard let self = self else { return }
var state = 1
if self.viewModel.personInfoModel.type == 1 {
state = 1
} else {
state = 2
}
viewModel.getNewServiceCenterProgressList(orderID, type, orderType: state) {[weak self] success, error in
guard let self = self else { return }
if (self.homeTableView != nil) {
if self.viewModel.arrDataForSeviceCenterProgress.count == 0 {
self.homeTableView.isHidden = true
self.noDataView.isHidden = false
} else {
self.homeTableView.isHidden = false
self.noDataView.isHidden = true
self.homeTableView.reloadData()
}
var array: [YHServiceCenterProgressModel] = []
for item in arrDataForSeviceCenterProgress {
if type == 0 {
array.append(item)
} else if item.status == type {
array.append(item)
}
}
self.arrDataForSeviceCenterProgress = array
if (self.homeTableView != nil) {
if self.arrDataForSeviceCenterProgress.count == 0 {
self.homeTableView.isHidden = true
self.noDataView.isHidden = false
} else {
self.homeTableView.isHidden = false
self.noDataView.isHidden = true
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 type == 3 {
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)
}
if item.type == 4 {
twoflag = isNeedShowRedPointFor(key: kMyPlanRedPointInfoKey, proVersion: item.pro_version)
}
}
block(type, self.arrDataForSeviceCenterProgress.count, oneflag||twoflag)
} else {
block(type, self.arrDataForSeviceCenterProgress.count, false)
}
}
}
......@@ -142,21 +139,30 @@ extension YHServiceOrderListView {
extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return self.viewModel.arrDataForSeviceCenterProgress.count
return 1
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
return self.arrDataForSeviceCenterProgress.count
}
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? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: kMargin))
return view
if state == 3 && (type == 0 || type == 2) {
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 {
......@@ -169,29 +175,29 @@ extension YHServiceOrderListView : UITableViewDelegate,UITableViewDataSource {
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
let arr = self.viewModel.arrDataForSeviceCenterProgress
if 0 <= indexPath.section, indexPath.section < arr.count {
let model = arr[indexPath.section]
let arr = self.arrDataForSeviceCenterProgress
if 0 <= indexPath.row, indexPath.row < arr.count {
let model = arr[indexPath.row]
if model.type == 27 {
return 146
return 162
}
return 128
return 144
}
return 128
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.set(dataModel: self.viewModel.arrDataForSeviceCenterProgress[indexPath.section], orderId: orderID)
if indexPath.row < self.arrDataForSeviceCenterProgress.count {
cell0.set(dataModel: self.arrDataForSeviceCenterProgress[indexPath.row], orderId: orderID)
}
return cell0
}
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 {
return
} else {
......
......@@ -7,8 +7,9 @@
//
import UIKit
import SmartCodable
class YHServiceCenterProgressModel : YHBaseModel {
struct YHServiceCenterProgressModel : SmartCodable {
var name : String = ""
var percentage : Int = 0
var status : Int = 0 // 0未知 1待开始 2进行中 3 已完成 4 后台进行中
......@@ -16,6 +17,7 @@ class YHServiceCenterProgressModel : YHBaseModel {
var type : Int = 0 // 1 证件 2 信息完善 3 我的评分 4 我的方案 5 我的签字 6我的文书
var pro_version : Int = 0
var reject_status : Int = 0
}
class YHServiceSearchModel: YHBaseModel {
......@@ -24,8 +26,27 @@ class YHServiceSearchModel: YHBaseModel {
var enable_flag: Int = 0
}
class YHServiceProgressModel : YHBaseModel {
struct YHServiceProgressModel: SmartCodable {
var title : String = ""
var type : Int = 0
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 {
contentView.addSubview(holdView)
holdView.snp.makeConstraints { make in
make.top.bottom.equalToSuperview()
make.top.equalTo(8)
make.bottom.equalTo(-8)
make.left.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 {
if json.code == 200 {
let dic = json.data
guard let result = [YHServiceCenterProgressModel].deserialize(from: dic as? [Any]) else {
callBackBlock(false,nil)
return
}
self.arrDataForSeviceCenterProgress = result as! [YHServiceCenterProgressModel]
// guard let result = [YHServiceCenterProgressModel].deserialize(from: 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)
......@@ -79,9 +79,6 @@ extension YHServiceCenterMainViewModel {
let params: [String : Any] = ["orderId": orderId,
"status": type]
if type == 3 {
}
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.process
let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [weak self] json, code in
......@@ -91,14 +88,11 @@ extension YHServiceCenterMainViewModel {
if json.code == 200 {
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)
return
}
if type == 3 {
}
var resultItem = YHServiceProgressModel()
for item in result {
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 {
//合同列表
static let contractListApi = "infoflow/order/list"
static let main = "super-app/order/process_v2"
//合同填写进度
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