Commit 4a170467 authored by pete谢兆麟's avatar pete谢兆麟

1.服务中心适配首页子页UI

2.服务中心订单列表UI,搜索UI
3.服务中心搜索,白名单接口联调
4.服务中心搜索逻辑接入
parent 953ea3a9
......@@ -29,6 +29,8 @@
0435FA7F2BA178C100024EAE /* YHCommonAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0435FA7E2BA178C100024EAE /* YHCommonAlertView.swift */; };
0435FA812BA186D600024EAE /* YHMyFileMethodTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0435FA802BA186D600024EAE /* YHMyFileMethodTableViewCell.swift */; };
0435FA832BA2DEB100024EAE /* YHCardButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0435FA822BA2DEB100024EAE /* YHCardButton.swift */; };
043D2C8A2C0EEF3F00172438 /* YHOrderSearchViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043D2C892C0EEF3F00172438 /* YHOrderSearchViewController.swift */; };
043D2C8C2C0F037B00172438 /* YHServiceOrderSearchViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043D2C8B2C0F037B00172438 /* YHServiceOrderSearchViewModel.swift */; };
044378A42BFC848C001F95AE /* loginBkg.mov in Resources */ = {isa = PBXBuildFile; fileRef = 044378A32BFC848C001F95AE /* loginBkg.mov */; };
044413FD2BC386DA00784A14 /* YHServiceViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044413FC2BC386DA00784A14 /* YHServiceViewController.swift */; };
044413FF2BC391F000784A14 /* YHServiceListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 044413FE2BC391F000784A14 /* YHServiceListViewController.swift */; };
......@@ -500,6 +502,8 @@
0435FA7E2BA178C100024EAE /* YHCommonAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCommonAlertView.swift; sourceTree = "<group>"; };
0435FA802BA186D600024EAE /* YHMyFileMethodTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyFileMethodTableViewCell.swift; sourceTree = "<group>"; };
0435FA822BA2DEB100024EAE /* YHCardButton.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCardButton.swift; sourceTree = "<group>"; };
043D2C892C0EEF3F00172438 /* YHOrderSearchViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHOrderSearchViewController.swift; sourceTree = "<group>"; };
043D2C8B2C0F037B00172438 /* YHServiceOrderSearchViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceOrderSearchViewModel.swift; sourceTree = "<group>"; };
044378A32BFC848C001F95AE /* loginBkg.mov */ = {isa = PBXFileReference; lastKnownFileType = video.quicktime; path = loginBkg.mov; sourceTree = "<group>"; };
044413FC2BC386DA00784A14 /* YHServiceViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceViewController.swift; sourceTree = "<group>"; };
044413FE2BC391F000784A14 /* YHServiceListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHServiceListViewController.swift; sourceTree = "<group>"; };
......@@ -2370,6 +2374,7 @@
044414002BC3979800784A14 /* YHServerHKLifeViewController.swift */,
A514E5DB2B60A2B700C93951 /* YHServiceCenterSecondViewController.swift */,
A5FD63BC2B623C2C00D1D9DA /* YHInformationPerfectListVC.swift */,
043D2C892C0EEF3F00172438 /* YHOrderSearchViewController.swift */,
);
path = C;
sourceTree = "<group>";
......@@ -2449,6 +2454,7 @@
isa = PBXGroup;
children = (
A5C382CE2B5F9A9100C5E65C /* YHServiceCenterMainViewModel.swift */,
043D2C8B2C0F037B00172438 /* YHServiceOrderSearchViewModel.swift */,
);
path = VM;
sourceTree = "<group>";
......@@ -2846,6 +2852,7 @@
045EEE842B9F171A0022A143 /* YHPreviewBasiceInformationViewController.swift in Sources */,
A5ACE9282B4564F7002C94D2 /* YHSmsCodeView.swift in Sources */,
0499E3002C056EE30037E646 /* YHOneKeyLoginView.swift in Sources */,
043D2C8C2C0F037B00172438 /* YHServiceOrderSearchViewModel.swift in Sources */,
0468D4262B495A5400CFB916 /* YHPickPhoneAddressViewController.swift in Sources */,
048B2A4D2BC7DAE800A93BF0 /* YHMyLikeViewModel.swift in Sources */,
04C693622B723AB8004C1758 /* YHMySettingViewController.swift in Sources */,
......@@ -2923,6 +2930,7 @@
045EEE9E2B9F171A0022A143 /* YHWorkExampleModel.swift in Sources */,
045EEE8A2B9F171A0022A143 /* YHPreviewOtherInformationViewController.swift in Sources */,
A5FD63C72B638CA000D1D9DA /* YHSubmintAllInfoSuccessTipView.swift in Sources */,
043D2C8A2C0EEF3F00172438 /* YHOrderSearchViewController.swift in Sources */,
A567E5A32BD7643D00D5D5A0 /* YHHomeBannerView.swift in Sources */,
A5ACE9402B4564F7002C94D2 /* String+Extension.swift in Sources */,
045EEEE42B9F171A0022A143 /* YHMySignatureDetailModel.swift in Sources */,
......
......@@ -9,28 +9,156 @@
import UIKit
class YHOrderDetailViewController: YHBaseViewController {
var centerView: UIView!
var titleLabel: UILabel!
var lineView: UIView!
var orderLabel: UILabel!
var orderNumLabel: UILabel!
var phoneLabel: UILabel!
var phoneNumLabel: UILabel!
var copyButton: UIButton!
var model: YHContactItemModel = YHContactItemModel()
var tableView: UITableView!
var viewModel: YHServiceOrderSearchViewModel = YHServiceOrderSearchViewModel()
override func viewDidLoad() {
super.viewDidLoad()
setView()
getWhiteList()
// Do any additional setup after loading the view.
}
func getWhiteList() {
viewModel.getWhitelist {[weak self] success, error in
guard let self = self else { return }
if success {
let searchButton = {
let button = UIButton(type: .custom)
button.frame = CGRect(x: 0, y: 0, width: 81, height: 21)
button.setImage(UIImage(named: "service_detail_search"), for: .normal)
button.setTitleColor(UIColor.mainTextColor, for: .normal)
button.setTitle("订单搜索", for: .normal)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
button.contentHorizontalAlignment = .right
button.addTarget(self, action: #selector(self.searchButtonClick), for: .touchUpInside)
button.isSelected = false
button.iconInLeft(spacing: 4)
return button
}()
let rightButtonItem = UIBarButtonItem(customView: searchButton)
gk_navRightBarButtonItem = rightButtonItem
gk_navItemRightSpace = 16
}
}
}
@objc func searchButtonClick() {
let vc = YHOrderSearchViewController()
self.navigationController?.pushViewController(vc)
}
func setView() {
gk_navTitle = "我的订单"
gk_navBackgroundColor = UIColor.white
gk_navBarAlpha = 1
tableView = {
let tableView = UITableView(frame:.zero, style:.grouped)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(cellWithClass: YHOrderDetailTableViewCell.self)
return tableView
}()
view.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.right.bottom.equalTo(view)
}
}
}
extension YHOrderDetailViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHOrderDetailTableViewCell.self)
cell.dataSource = model
cell.cellBlock = {[weak self] model in
guard let self = self else { return }
self.navigationController?.popViewController()
}
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 255
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 7))
return view
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 7
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return UIView()
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
}
class YHOrderDetailTableViewCell: UITableViewCell {
typealias CellBlock = (YHContactItemModel) -> ()
var cellBlock: CellBlock?
var centerView: UIView!
var titleLabel: UILabel!
var lineView: UIView!
var orderLabel: UILabel!
var orderNumLabel: UILabel!
var phoneLabel: UILabel!
var phoneNumLabel: UILabel!
var copyButton: UIButton!
var phoneCopyButton: UIButton!
var nameLabel: UILabel!
var nameValueLabel: UILabel!
var showDetailButton: UIButton!
var dataSource: YHContactItemModel? {
didSet {
updateAllViews()
}
}
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
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
selectionStyle = .none
setupUI()
}
func setupUI() {
contentView.backgroundColor = .clear
backgroundColor = .clear
centerView = {
let view = UIView()
view.backgroundColor = .white
......@@ -38,19 +166,19 @@ class YHOrderDetailViewController: YHBaseViewController {
view.masksToBounds = true
return view
}()
view.addSubview(centerView)
addSubview(centerView)
centerView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 16)
make.top.equalTo(8)
make.left.equalTo(16)
make.right.equalTo(-16)
make.height.equalTo(149)
make.bottom.equalTo(8)
}
titleLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 17)
label.textColor = UIColor.mainTextColor
label.text = model.productName
// label.text = model.productName
return label
}()
centerView.addSubview(titleLabel)
......@@ -101,11 +229,40 @@ class YHOrderDetailViewController: YHBaseViewController {
make.height.equalTo(20)
}
nameLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 14)
label.textColor = UIColor.mainTextColor.withAlphaComponent(0.5)
label.text = "签约人姓名:"
return label
}()
centerView.addSubview(nameLabel)
nameLabel.snp.makeConstraints { make in
make.top.equalTo(149.5)
make.left.equalTo(16)
make.height.equalTo(20)
}
nameValueLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 14)
label.textColor = UIColor.mainTextColor
// label.text = model.orderSn
label.textAlignment = .right
return label
}()
centerView.addSubview(nameValueLabel)
nameValueLabel.snp.makeConstraints { make in
make.top.equalTo(149.5)
make.right.equalTo(-16)
make.height.equalTo(20)
}
orderNumLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 14)
label.textColor = UIColor.mainTextColor
label.text = model.orderSn
// label.text = model.orderSn
label.textAlignment = .right
return label
}()
......@@ -120,14 +277,14 @@ class YHOrderDetailViewController: YHBaseViewController {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 14)
label.textColor = UIColor.mainTextColor
label.text = model.mobile
// label.text = model.mobile
label.textAlignment = .right
return label
}()
centerView.addSubview(phoneNumLabel)
phoneNumLabel.snp.makeConstraints { make in
make.top.equalTo(110.5)
make.right.equalTo(-16)
make.right.equalTo(-58)
make.height.equalTo(20)
}
......@@ -147,6 +304,22 @@ class YHOrderDetailViewController: YHBaseViewController {
make.width.equalTo(26)
}
phoneCopyButton = {
let button = UIButton(type: .custom)
button.setTitle("复制", for: .normal)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 13)
button.setTitleColor(UIColor.brandMainColor, for: .normal)
button.addTarget(self, action: #selector(phoneCopyButtonClick), for: .touchUpInside)
return button
}()
centerView.addSubview(phoneCopyButton)
phoneCopyButton.snp.makeConstraints { make in
make.top.equalTo(112.5)
make.right.equalTo(-16)
make.height.equalTo(18)
make.width.equalTo(26)
}
let subLineView = {
let view = UIView()
view.backgroundColor = UIColor.separatorColor
......@@ -159,11 +332,76 @@ class YHOrderDetailViewController: YHBaseViewController {
make.width.equalTo(1)
make.height.equalTo(6)
}
let subLine1View = {
let view = UIView()
view.backgroundColor = UIColor.separatorColor
return view
}()
centerView.addSubview(subLine1View)
subLine1View.snp.makeConstraints { make in
make.centerY.equalTo(phoneCopyButton.snp.centerY)
make.right.equalTo(-50)
make.width.equalTo(1)
make.height.equalTo(6)
}
let bottomLineView = {
let view = UIView()
view.backgroundColor = UIColor.separatorColor
return view
}()
centerView.addSubview(bottomLineView)
bottomLineView.snp.makeConstraints { make in
make.top.equalTo(197)
make.left.right.equalToSuperview()
make.height.equalTo(0.5)
}
showDetailButton = {
let button = UIButton(type: .custom)
button.setImage(UIImage(named: "service_right_icon"), for: .normal)
button.setTitleColor(UIColor.brandMainColor, for: .normal)
button.setTitle("查看详情", for: .normal)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
button.contentHorizontalAlignment = .right
button.addTarget(self, action: #selector(showDetailClick), for: .touchUpInside)
button.isSelected = false
return button
}()
centerView.addSubview(showDetailButton)
showDetailButton.snp.makeConstraints { make in
make.bottom.equalToSuperview()
make.centerX.equalToSuperview()
make.height.equalTo(52)
make.width.equalTo(76)
}
showDetailButton.iconInRight(with: 2)
}
@objc func copyButtonClick() {
let textToCopy = orderNumLabel.text
UIPasteboard.general.string = textToCopy
YHHUD.flash(message: "复制成功")
}
@objc func phoneCopyButtonClick() {
let textToCopy = phoneNumLabel.text
UIPasteboard.general.string = textToCopy
YHHUD.flash(message: "复制成功")
}
@objc func showDetailClick() {
guard let model = dataSource else { return }
if let block = cellBlock {
block(model)
}
}
func updateAllViews() {
guard let model = dataSource else { return }
titleLabel.text = model.productName
orderNumLabel.text = model.orderSn
phoneNumLabel.text = model.mobile
nameValueLabel.text = model.username
}
}
//
// YHOrderSearchViewController.swift
// galaxy
//
// Created by EDY on 2024/6/4.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHOrderSearchViewController: YHBaseViewController {
var tableView: UITableView!
var searchBar: YHSearchInfoBar!
var emptyDataTipsView: YHEmptyDataView!
var items: [YHContactItemModel] = []
var viewModel: YHServiceOrderSearchViewModel = YHServiceOrderSearchViewModel()
override func viewDidLoad() {
super.viewDidLoad()
setView()
}
func setView() {
gk_navTitle = "订单搜索"
gk_navBackgroundColor = UIColor.white
gk_navBarAlpha = 1
let searchView = UIView()
searchView.backgroundColor = .white
view.addSubview(searchView)
searchView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.right.equalToSuperview()
make.height.equalTo(52)
}
searchBar = {
let bar = YHSearchInfoBar()
bar.placeHolder = "请输入签约合同号"
bar.setSearchButtonEnable(false)
bar.searchBlock = {
[weak self] text in
guard let self = self else { return }
self.viewModel.getSearchList(text ?? "", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
self.items = self.viewModel.arrContactList
self.emptyDataTipsView.isHidden = (items.count > 0)
self.tableView.reloadData()
})
}
bar.textChange = {
[weak self] text in
guard let self = self else { return }
if isEmptyString(text) {
bar.setSearchButtonEnable(false)
} else {
bar.setSearchButtonEnable(true)
}
}
return bar
}()
view.addSubview(searchBar)
searchBar.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 8)
make.left.equalTo(20)
make.right.equalTo(-20)
make.height.equalTo(36)
}
emptyDataTipsView = {
let view = YHEmptyDataView.createView("无搜索结果", kEmptySearchBgName)
view.topMargin = 204
view.isHidden = true
return view
}()
tableView = {
let tableView = UITableView(frame:.zero, style:.grouped)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.backgroundView = emptyDataTipsView
tableView.register(cellWithClass: YHOrderDetailTableViewCell.self)
return tableView
}()
view.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 52)
make.left.right.bottom.equalTo(view)
}
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
if items.count == 0 {
searchBar.textField.becomeFirstResponder()
}
}
}
extension YHOrderSearchViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHOrderDetailTableViewCell.self)
cell.dataSource = items[indexPath.row]
cell.cellBlock = {[weak self] model in
guard let self = self else { return }
let vc = YHServiceCenterMainViewController()
vc.model = model
self.navigationController?.pushViewController(vc)
}
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 255
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 7))
return view
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 7
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return UIView()
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
}
......@@ -31,6 +31,21 @@ class YHServiceCenterMainViewController: YHBaseViewController {
}()
lazy var navBar: UIView = {
let bar = UIView()
let backBtn = UIButton()
backBtn.setImage(UIImage(named: "back_icon"), for: .normal)
backBtn.addTarget(self, action: #selector(didBackBtnClicked), for: .touchUpInside)
backBtn.YH_clickEdgeInsets = UIEdgeInsets(top: 20, left: 20, bottom: 20, right: 20)
bar.addSubview(backBtn)
backBtn.snp.makeConstraints { make in
make.width.height.equalTo(21)
make.centerY.equalToSuperview()
make.left.equalToSuperview().offset(16)
}
return bar
}()
private let noDataView : YHServiceNoOrderView = {
let view = YHServiceNoOrderView()
view.isHidden = true
......@@ -95,17 +110,50 @@ class YHServiceCenterMainViewController: YHBaseViewController {
extension YHServiceCenterMainViewController {
func loadData() {
serviceCenterMainReqVM.getContactList {[weak self] success, error in
guard let self = self else { return }
if success == true {
} else {
YHHUD.flash(message: error?.errorMsg ?? "请求出错")
if model.id != -1 {
noDataView.isHidden = true
nameBgImageView.isHidden = false
segmentedView.isHidden = false
listContainerView.isHidden = false
orderButton.isHidden = false
if self.navigationController?.viewControllers.count != 1 {
orderButton.isHidden = true
}
orderId = model.id
mobile = model.mobile
UserDefaults.standard.set(orderId, forKey: "orderIdForPreview")
UserDefaults.standard.synchronize()
for i in 0..<arrItemTitles.count {
let vc = arrItemVCs[i] as YHServiceOrderListView
vc.type = i
if i == 1 {
vc.type = 2
}
if i == 2 {
vc.type = 1
}
vc.orderID = orderId
vc.mobile = mobile
vc.loadData()
}
getStep()
} else {
serviceCenterMainReqVM.getContactList {[weak self] success, error in
guard let self = self else { return }
if success == true {
} else {
YHHUD.flash(message: error?.errorMsg ?? "请求出错")
}
self.handleRightUI()
}
self.handleRightUI()
}
}
@objc func didBackBtnClicked() {
self.navigationController?.popViewController(animated: true)
}
func setupUI() {
gk_navBarAlpha = 0
gk_navigationBar.isHidden = true
......@@ -128,8 +176,17 @@ extension YHServiceCenterMainViewController {
make.top.equalTo(53)
make.left.equalTo(20)
make.height.equalTo(29)
make.right.equalTo(-20)
}
view.addSubview(navBar)
navBar.snp.makeConstraints { make in
make.left.equalToSuperview()
// make.top.equalToSuperview().offset(k_Height_statusBar())
make.height.equalTo(k_Height_NavContentBar)
make.width.equalTo(47)
make.centerY.equalTo(titleLabel.snp.centerY)
}
orderButton = {
let button = UIButton(type: .custom)
button.setTitle("我的订单", for: .normal)
......@@ -145,6 +202,14 @@ extension YHServiceCenterMainViewController {
make.height.equalTo(20)
make.width.equalTo(56)
}
if self.navigationController?.viewControllers.count != 1 {
titleLabel.textAlignment = .center
titleLabel.text = "订单详情"
orderButton.isHidden = true
} else {
navBar.isHidden = true
}
}
override func viewDidLayoutSubviews() {
......@@ -161,12 +226,19 @@ extension YHServiceCenterMainViewController {
make.top.equalTo(nameBgImageView.snp.bottom).offset(14)
make.height.equalTo(48)
}
listContainerView.snp.remakeConstraints { make in
make.right.left.equalToSuperview()
make.top.equalTo(segmentedView.snp.bottom)
make.bottom.equalTo(-k_Height_TabBar)
if self.navigationController?.viewControllers.count != 1 {
listContainerView.snp.remakeConstraints { make in
make.right.left.equalToSuperview()
make.top.equalTo(segmentedView.snp.bottom)
make.bottom.equalToSuperview()
}
} else {
listContainerView.snp.remakeConstraints { make in
make.right.left.equalToSuperview()
make.top.equalTo(segmentedView.snp.bottom)
make.bottom.equalTo(-k_Height_TabBar)
}
}
}
@objc func pushOrderView() {
......@@ -224,6 +296,9 @@ extension YHServiceCenterMainViewController {
segmentedView.isHidden = false
listContainerView.isHidden = false
orderButton.isHidden = false
if self.navigationController?.viewControllers.count != 1 {
orderButton.isHidden = true
}
orderId = model.id
mobile = model.mobile
self.model = model
......
......@@ -17,3 +17,9 @@ class YHServiceCenterProgressModel : YHBaseModel {
var pro_version : Int = 0
var reject_status : Int = 0
}
class YHServiceSearchModel: YHBaseModel {
var id: Int = 0
var dictionary_code: String = ""
var enable_flag: Int = 0
}
//
// YHServiceOrderSearchViewModel.swift
// galaxy
//
// Created by EDY on 2024/6/4.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHServiceOrderSearchViewModel: YHBaseViewModel {
var arrContactList : [YHContactItemModel] = []
//请求白名单
func getWhitelist(callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.bywhitelist
let _ = YHNetRequest.getRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard self != nil else { return }
if json.code == 200 {
let dic = json.data as! Dictionary<String, Any>
let data = dic["Data"]
guard let result = [YHServiceSearchModel].deserialize(from: data as? [Any]) else {
callBackBlock(false,nil)
return
}
if result.count != 0, let model = result.first, model?.dictionary_code.count != 0 {
callBackBlock(true, nil)
} else {
callBackBlock(false,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)
}
}
//请求合同项
func getSearchList(_ order: String, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let params:[String:Any] = ["order_sn": order]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.contractListApi
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 as! Dictionary<String, Any>
let data = dic["orders"]
guard let resultModel = [YHContactItemModel].deserialize(array: data as? [Any]) else {
self.arrContactList = []
callBackBlock(false,nil)
return
}
let lastArray = resultModel.compactMap { $0 }
self.arrContactList = lastArray
callBackBlock(true,nil)
} else {
self.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)
}
}
}
......@@ -62,7 +62,9 @@ class YHAllApiName {
static let updateOtherInfoApi = "infoflow/order/updateOrderOtherInformation"
//服务中心进度列表
static let serviceCenterProgressApi = "infoflow/order/service-list"
static let serviceCenterProgressApi = "infoflow/order/service-list"
//搜索白名单
static let bywhitelist = "infoflow/permissiondict/bywhitelist"
}
struct Family {
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_detail_search@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_detail_search@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "service_right_icon@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "service_right_icon@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