Commit 5546c8eb authored by Steven杜宇's avatar Steven杜宇

// vip

parent db5f0ae5
......@@ -1207,6 +1207,8 @@
04AFEF4D2D5EEF860007A011 /* YHUserVipInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF4C2D5EEF860007A011 /* YHUserVipInfoView.swift */; };
04AFEF4F2D684EEC0007A011 /* YHVipLevelRightViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF4E2D684EEC0007A011 /* YHVipLevelRightViewController.swift */; };
04AFEF512D6878030007A011 /* YHVipLevelRightInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF502D6878030007A011 /* YHVipLevelRightInfoCell.swift */; };
04AFEF532D6C62220007A011 /* YHVipLevelRightInfoModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF522D6C62210007A011 /* YHVipLevelRightInfoModel.swift */; };
04AFEF552D6C71430007A011 /* YHVipLevelRightTitleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */; };
04E4CF3E2D5C6D32004D4013 /* YHCountryMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E4CF3D2D5C6D32004D4013 /* YHCountryMessageView.swift */; };
04E4CF402D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E4CF3F2D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift */; };
04EA376D2BEA06EF00DBAF64 /* WebKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04EA376C2BEA06EF00DBAF64 /* WebKit.framework */; };
......@@ -2452,6 +2454,8 @@
04AFEF4C2D5EEF860007A011 /* YHUserVipInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHUserVipInfoView.swift; sourceTree = "<group>"; };
04AFEF4E2D684EEC0007A011 /* YHVipLevelRightViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightViewController.swift; sourceTree = "<group>"; };
04AFEF502D6878030007A011 /* YHVipLevelRightInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightInfoCell.swift; sourceTree = "<group>"; };
04AFEF522D6C62210007A011 /* YHVipLevelRightInfoModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightInfoModel.swift; sourceTree = "<group>"; };
04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVipLevelRightTitleCell.swift; sourceTree = "<group>"; };
04E4CF3D2D5C6D32004D4013 /* YHCountryMessageView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCountryMessageView.swift; sourceTree = "<group>"; };
04E4CF3F2D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHSelectPhoneCountryViewController.swift; sourceTree = "<group>"; };
04EA376C2BEA06EF00DBAF64 /* WebKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = WebKit.framework; path = System/Library/Frameworks/WebKit.framework; sourceTree = SDKROOT; };
......@@ -5746,6 +5750,7 @@
048D6AE02D5F17C400BC6F4C /* YHMembershipLevel.swift */,
043671402D64935200E8D9BA /* YHMemberCenterCellContent.swift */,
043671422D66DDB500E8D9BA /* YHMemberCenterInfo.swift */,
04AFEF522D6C62210007A011 /* YHVipLevelRightInfoModel.swift */,
);
path = Model;
sourceTree = "<group>";
......@@ -5822,6 +5827,7 @@
0436713C2D6470A400E8D9BA /* YHMemberCenterActionCell.swift */,
0436713E2D64817500E8D9BA /* YHMemberCenterFooterView.swift */,
04AFEF502D6878030007A011 /* YHVipLevelRightInfoCell.swift */,
04AFEF542D6C71430007A011 /* YHVipLevelRightTitleCell.swift */,
);
path = V;
sourceTree = "<group>";
......@@ -7254,6 +7260,7 @@
0436713F2D64817500E8D9BA /* YHMemberCenterFooterView.swift in Sources */,
045C110B2D12CA5F00BD2DC0 /* YHInformationPerfectCell.swift in Sources */,
045C110C2D12CA5F00BD2DC0 /* YHOrderTipsItemView.swift in Sources */,
04AFEF532D6C62220007A011 /* YHVipLevelRightInfoModel.swift in Sources */,
045C110D2D12CA5F00BD2DC0 /* YHConfigModel.swift in Sources */,
045C110E2D12CA5F00BD2DC0 /* YHResignAppointScheduleListViewController.swift in Sources */,
045C110F2D12CA5F00BD2DC0 /* YHFileListEmptyView.swift in Sources */,
......@@ -7488,6 +7495,7 @@
045C11D82D12CA5F00BD2DC0 /* YHResignDocumentCompleteModel.swift in Sources */,
045C11D92D12CA5F00BD2DC0 /* YHResignDocumentHeaderCell.swift in Sources */,
045C11DA2D12CA5F00BD2DC0 /* YHBasicInfoFillViewModel.swift in Sources */,
04AFEF552D6C71430007A011 /* YHVipLevelRightTitleCell.swift in Sources */,
045C11DB2D12CA5F00BD2DC0 /* YHBasicInfoFillView.swift in Sources */,
045C11DC2D12CA5F00BD2DC0 /* YHFamilyInfoConfirmViewController.swift in Sources */,
045C11DD2D12CA5F00BD2DC0 /* YHScoreDataModel.swift in Sources */,
......
......@@ -290,8 +290,12 @@ class YHMyNewViewController: YHBaseViewController {
@objc func didClickSettingBtn(btn: UIButton) {
if !checkLogin() { return }
let vc = YHMySettingViewController()
// let vc = YHMySettingViewController()
// self.navigationController?.pushViewController(vc)
let vc = YHVipLevelRightViewController()
self.navigationController?.pushViewController(vc)
}
}
......
////
//// YHVipLevelRightViewController.swift
//// galaxy
////
//// Created by Dufet on 2025/2/21.
//// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
////
//
//import UIKit
// YHVipLevelRightViewController.swift
// galaxy
//
//class YHVipLevelRightViewController: YHBaseViewController {
// Created by Dufet on 2025/2/21.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
// lazy var tableView: UITableView = {
// let tableView = UITableView(frame: CGRect.zero, style:.grouped)
// tableView.contentInsetAdjustmentBehavior = .never
// tableView.showsVerticalScrollIndicator = false
// tableView.backgroundColor = UIColor.white
// tableView.separatorStyle = .none
// tableView.register(YHHomeIdentityCell.self, forCellReuseIdentifier: YHHomeIdentityCell.cellReuseIdentifier)
// tableView.delegate = self
// tableView.dataSource = self
// tableView.tableHeaderView = self.headerView
// tableView.separatorStyle = .none
// return tableView
// }()
//
//
// override func viewDidLoad() {
// super.viewDidLoad()
//
// // Do any additional setup after loading the view.
// }
//}
//
//extension YHVipLevelRightViewController {
//
// func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
// let cell = tableView.dequeueReusableCell(withIdentifier: YHHomeIdentityCell.cellReuseIdentifier, for: indexPath) as! YHHomeIdentityCell
// if 0 <= indexPath.row, indexPath.row < self.imgItems.count {
// let item = self.imgItems[indexPath.row]
// cell.image = item.img
// }
// return cell
// }
//
// func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
// if 0 <= indexPath.row, indexPath.row < self.imgItems.count {
// let item = self.imgItems[indexPath.row]
// return item.getSize().height
// }
// return KScreenWidth
// }
//
// func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// return self.imgItems.count
// }
//
// func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
// return 0.01
// }
//
// func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
// return 0.01
// }
//
// func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
// return UIView()
// }
//
// func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
// return UIView()
// }
//}
import UIKit
class YHVipLevelRightViewController: YHBaseViewController, UITableViewDataSource, UITableViewDelegate {
let titleListTag = 9527
let valueListTag = 9528
var arr:[YHVipLevelRightInfoModel] = [
YHVipLevelRightInfoModel(type: .baseRightSection, title: "基础权益", text1: "5项", text2: "5项", text3: "5项", text4: "5项"),
YHVipLevelRightInfoModel(type: .text, title: "专属顾问", text1: "4小时*5天专人", text2: "8小时*5天专人", text3: "4小时*5天专人", text4: "8小时*5天专人"),
YHVipLevelRightInfoModel(type: .own, title: "专属积分消费", level1: 1, level2: 1, level3: 1, level4: 1),
YHVipLevelRightInfoModel(type: .own, title: "精品下午茶", level1: 1, level2: 1, level3: 1, level4: 1),
YHVipLevelRightInfoModel(type: .own, title: "线下沙龙", level1: 1, level2: 1, level3: 1, level4: 1),
YHVipLevelRightInfoModel(type: .own, title: "上门解答咨询", level1: 1, level2: 1, level3: 1, level4: 1),
YHVipLevelRightInfoModel(type: .hightRightSection, title: "高端权益", text1: "0项", text2: "2项", text3: "3项", text4: "8项"),
YHVipLevelRightInfoModel(type: .own, title: "高端早教盒子", level1: 0, level2: 1, level3: 1, level4: 1),
YHVipLevelRightInfoModel(type: .own, title: "会客体验中心", level1: 0, level2: 1, level3: 1, level4: 1),
YHVipLevelRightInfoModel(type: .own, title: "中港车接送服务", level1: 0, level2: 0, level3: 1, level4: 1),
YHVipLevelRightInfoModel(type: .own, title: "香港用车服务", level1: 0, level2: 0, level3: 0, level4: 1),
YHVipLevelRightInfoModel(type: .own, title: "国际驾照续期", level1: 0, level2: 0, level3: 0, level4: 1),
YHVipLevelRightInfoModel(type: .own, title: "香港择校规划", level1: 0, level2: 0, level3: 0, level4: 1),
YHVipLevelRightInfoModel(type: .own, title: "品牌策划方案 ", level1: 0, level2: 0, level3: 0, level4: 1),
YHVipLevelRightInfoModel(type: .own, title: " 高端私董会", level1: 0, level2: 0, level3: 0, level4: 1),
]
lazy var tableView1: UITableView = {
let tableView = UITableView(frame: CGRect.zero, style:.grouped)
tableView.tag = titleListTag
tableView.contentInsetAdjustmentBehavior = .never
tableView.showsVerticalScrollIndicator = false
tableView.backgroundColor = UIColor.white
tableView.bounces = false
tableView.separatorStyle = .none
tableView.register(YHVipLevelRightTitleCell.self, forCellReuseIdentifier: YHVipLevelRightTitleCell.cellReuseIdentifier)
tableView.delegate = self
tableView.dataSource = self
tableView.separatorStyle = .none
return tableView
}()
lazy var tableView2: UITableView = {
let tableView = UITableView(frame: CGRect.zero, style:.grouped)
tableView.tag = valueListTag
tableView.contentInsetAdjustmentBehavior = .never
tableView.showsVerticalScrollIndicator = false
tableView.backgroundColor = UIColor.white
tableView.bounces = false
tableView.separatorStyle = .none
tableView.register(YHVipLevelRightInfoCell.self, forCellReuseIdentifier: YHVipLevelRightInfoCell.cellReuseIdentifier)
tableView.delegate = self
tableView.dataSource = self
tableView.separatorStyle = .none
return tableView
}()
lazy var scrollView: UIScrollView = {
let v = UIScrollView()
v.backgroundColor = .yellow
v.isPagingEnabled = true
v.bounces = false
v.contentInsetAdjustmentBehavior = .never
v.showsHorizontalScrollIndicator = false
return v
}()
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(tableView1)
view.addSubview(scrollView)
scrollView.addSubview(tableView2)
tableView1.snp.makeConstraints { make in
make.left.bottom.equalToSuperview()
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.width.equalTo(KScreenWidth/3.0)
}
scrollView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.equalTo(tableView1.snp.right)
make.right.bottom.equalToSuperview()
}
tableView2.snp.makeConstraints { make in
make.left.right.top.bottom.equalToSuperview()
make.width.equalTo(KScreenWidth/3.0*4.0)
make.height.equalTo(scrollView)
}
}
}
extension YHVipLevelRightViewController {
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if tableView.tag == titleListTag {
let cell = tableView.dequeueReusableCell(withIdentifier: YHVipLevelRightTitleCell.cellReuseIdentifier, for: indexPath) as! YHVipLevelRightTitleCell
if 0 <= indexPath.row, indexPath.row < arr.count {
let model = arr[indexPath.row]
cell.updateModel(model)
cell.backgroundColor = indexPath.row%2 == 0 ? .init(hex: 0xF8F9FB) : .white
}
return cell
}
let cell = tableView.dequeueReusableCell(withIdentifier: YHVipLevelRightInfoCell.cellReuseIdentifier, for: indexPath) as! YHVipLevelRightInfoCell
if 0 <= indexPath.row, indexPath.row < arr.count {
let model = arr[indexPath.row]
cell.updateModel(model)
cell.backgroundColor = indexPath.row%2 == 0 ? .init(hex: 0xF8F9FB) : .white
}
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 44.0
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return arr.count
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 0.01
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
return UIView()
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return UIView()
}
}
extension YHVipLevelRightViewController: UIScrollViewDelegate {
func scrollViewDidScroll(_ scrollView: UIScrollView) {
if scrollView.tag == titleListTag {
tableView2.contentOffset.y = scrollView.contentOffset.y
} else if scrollView.tag == valueListTag {
tableView1.contentOffset.y = scrollView.contentOffset.y
}
}
}
//
// YHVipLevelRightInfoModel.swift
// galaxy
//
// Created by Dufet on 2025/2/24.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
enum YHVipLevelRightInfoType: Int {
case baseRightSection = 1
case hightRightSection = 2
case text = 3
case own = 4
}
class YHVipLevelRightInfoModel {
var type: YHVipLevelRightInfoType = .own
var title: String = ""
var level1: Int = 0
var level2: Int = 0
var level3: Int = 0
var level4: Int = 0
var text1: String = ""
var text2: String = ""
var text3: String = ""
var text4: String = ""
init(type: YHVipLevelRightInfoType = .own, title: String, level1: Int = 0, level2: Int = 0, level3: Int = 0, level4: Int = 0, text1: String = "", text2: String = "", text3: String = "", text4: String = "") {
self.type = type
self.title = title
self.level1 = level1
self.level2 = level2
self.level3 = level3
self.level4 = level4
self.text1 = text1
self.text2 = text2
self.text3 = text3
self.text4 = text4
}
}
......@@ -8,10 +8,69 @@
import UIKit
class YHVipLevelRightInfoView: UIView {
lazy var lineView: UIView = {
let v = UIView()
v.backgroundColor = .init(hex: 0xE9ECF0)
return v
}()
lazy var textLabel: UILabel = {
let label = UILabel()
label.text = ""
label.textColor = .init(hex: 0x435163)
label.textAlignment = .center
label.font = .PFSC_R(ofSize: 12)
return label
}()
lazy var iconImgV: UIImageView = {
let v = UIImageView(image: UIImage(named: ""))
return v
}()
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func clear() {
self.textLabel.text = ""
self.iconImgV.image = UIImage(named: "")
}
func createUI() {
self.addSubview(textLabel)
self.addSubview(iconImgV)
self.addSubview(lineView)
lineView.snp.makeConstraints { make in
make.left.top.right.equalToSuperview()
make.width.equalTo(0.5)
}
textLabel.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
iconImgV.snp.makeConstraints { make in
make.width.height.equalTo(16)
make.centerX.equalToSuperview()
make.centerY.equalToSuperview()
}
}
}
class YHVipLevelRightInfoCell: UITableViewCell {
static let cellReuseIdentifier = "YHVipLevelRightInfoCell"
static let baseTag = 9527
required init?(coder: NSCoder) {
super.init(coder: coder)
......@@ -27,6 +86,75 @@ class YHVipLevelRightInfoCell: UITableViewCell {
self.backgroundColor = .clear
self.selectionStyle = .none
var lastV: YHVipLevelRightInfoView? = nil
for index in 0...3 {
let v = YHVipLevelRightInfoView(frame: .zero)
v.tag = Self.baseTag + index
contentView.addSubview(v)
v.snp.makeConstraints { make in
make.top.bottom.equalToSuperview()
make.width.equalTo(self.snp.width).multipliedBy(1.0/4.0)
if let last = lastV {
make.left.equalTo(last.snp.right)
} else {
make.left.equalToSuperview()
}
}
lastV = v
}
}
func updateModel(_ model: YHVipLevelRightInfoModel) {
let v0 = self.contentView.viewWithTag(Self.baseTag+0) as! YHVipLevelRightInfoView
let v1 = self.contentView.viewWithTag(Self.baseTag+1) as! YHVipLevelRightInfoView
let v2 = self.contentView.viewWithTag(Self.baseTag+2) as! YHVipLevelRightInfoView
let v3 = self.contentView.viewWithTag(Self.baseTag+3) as! YHVipLevelRightInfoView
v0.clear()
v1.clear()
v2.clear()
v3.clear()
if model.type == .baseRightSection {
v0.textLabel.text = model.text1
v1.textLabel.text = model.text2
v2.textLabel.text = model.text3
v3.textLabel.text = model.text4
v0.textLabel.textColor = .brandMainColor
v1.textLabel.textColor = .brandMainColor
v2.textLabel.textColor = .brandMainColor
v3.textLabel.textColor = .brandMainColor
} else if model.type == .hightRightSection {
v0.textLabel.text = model.text1
v1.textLabel.text = model.text2
v2.textLabel.text = model.text3
v3.textLabel.text = model.text4
v0.textLabel.textColor = .init(hex: 0xEDA43D)
v1.textLabel.textColor = .init(hex: 0xEDA43D)
v2.textLabel.textColor = .init(hex: 0xEDA43D)
v3.textLabel.textColor = .init(hex: 0xEDA43D)
} else if model.type == .text {
v0.textLabel.text = model.text1
v1.textLabel.text = model.text2
v2.textLabel.text = model.text3
v3.textLabel.text = model.text4
v0.textLabel.textColor = .init(hex: 0x435163)
v1.textLabel.textColor = .init(hex: 0x435163)
v2.textLabel.textColor = .init(hex: 0x435163)
v3.textLabel.textColor = .init(hex: 0x435163)
} else if model.type == .own {
let img1 = model.level1 == 1 ? "mine_vip_right_own_1" : "mine_vip_right_own_0"
let img2 = model.level2 == 1 ? "mine_vip_right_own_1" : "mine_vip_right_own_0"
let img3 = model.level3 == 1 ? "mine_vip_right_own_1" : "mine_vip_right_own_0"
let img4 = model.level4 == 1 ? "mine_vip_right_own_1" : "mine_vip_right_own_0"
v0.iconImgV.image = UIImage(named: img1)
v1.iconImgV.image = UIImage(named: img2)
v2.iconImgV.image = UIImage(named: img3)
v3.iconImgV.image = UIImage(named: img4)
}
}
}
//
// YHVipLevelRightTitleCell.swift
// galaxy
//
// Created by Dufet on 2025/2/24.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHVipLevelRightTitleCell: UITableViewCell {
static let cellReuseIdentifier = "YHVipLevelRightTitleCell"
lazy var titleLabel: UILabel = {
let label = UILabel()
label.text = ""
label.textColor = .mainTextColor
label.textAlignment = .center
label.font = .PFSC_R(ofSize: 12)
return label
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
func setupUI() {
self.backgroundColor = .clear
self.selectionStyle = .none
self.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
}
func updateModel(_ model: YHVipLevelRightInfoModel) {
titleLabel.text = model.title
if model.type == .baseRightSection {
titleLabel.textColor = .brandMainColor
titleLabel.font = .PFSC_B(ofSize: 14)
} else if model.type == .hightRightSection {
titleLabel.textColor = .init(hex: 0xEDA43D)
titleLabel.font = .PFSC_B(ofSize: 14)
} else if model.type == .text {
titleLabel.textColor = .mainTextColor
titleLabel.font = .PFSC_R(ofSize: 12)
} else if model.type == .own {
titleLabel.textColor = .mainTextColor
titleLabel.font = .PFSC_R(ofSize: 12)
}
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Frame 2033197217@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Frame 2033197217@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Frame 2033197219@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Frame 2033197219@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