Commit 6c4a72de authored by Steven杜宇's avatar Steven杜宇

// 方案

parent 034e747f
......@@ -1221,6 +1221,8 @@
04D8FF592D925E6700703C75 /* YHPlanModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FF582D925E6700703C75 /* YHPlanModel.swift */; };
04D8FF5B2D925E8100703C75 /* YHPlanViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FF5A2D925E8100703C75 /* YHPlanViewModel.swift */; };
04D8FF5D2D925EA900703C75 /* YHPlanViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FF5C2D925EA900703C75 /* YHPlanViewController.swift */; };
04D8FF5F2D93945100703C75 /* YHPlanAnalyzeInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FF5E2D93945100703C75 /* YHPlanAnalyzeInfoCell.swift */; };
04D8FF612D939D2400703C75 /* YHPlanScoreCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04D8FF602D939D2400703C75 /* YHPlanScoreCell.swift */; };
04E4CF3E2D5C6D32004D4013 /* YHCountryMessageView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E4CF3D2D5C6D32004D4013 /* YHCountryMessageView.swift */; };
04E4CF402D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E4CF3F2D5C83AE004D4013 /* YHSelectPhoneCountryViewController.swift */; };
04E507D62D6EE856005F758B /* YHUserLevelAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E507D52D6EE856005F758B /* YHUserLevelAlertView.swift */; };
......@@ -2481,6 +2483,8 @@
04D8FF582D925E6700703C75 /* YHPlanModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPlanModel.swift; sourceTree = "<group>"; };
04D8FF5A2D925E8100703C75 /* YHPlanViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPlanViewModel.swift; sourceTree = "<group>"; };
04D8FF5C2D925EA900703C75 /* YHPlanViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPlanViewController.swift; sourceTree = "<group>"; };
04D8FF5E2D93945100703C75 /* YHPlanAnalyzeInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPlanAnalyzeInfoCell.swift; sourceTree = "<group>"; };
04D8FF602D939D2400703C75 /* YHPlanScoreCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPlanScoreCell.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>"; };
04E507D52D6EE856005F758B /* YHUserLevelAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHUserLevelAlertView.swift; sourceTree = "<group>"; };
......@@ -6624,6 +6628,8 @@
children = (
04D8FF542D9258AA00703C75 /* YHPlanScoreView.swift */,
04D8FF562D925A0800703C75 /* YHPlanScoreChart.swift */,
04D8FF5E2D93945100703C75 /* YHPlanAnalyzeInfoCell.swift */,
04D8FF602D939D2400703C75 /* YHPlanScoreCell.swift */,
);
path = V;
sourceTree = "<group>";
......@@ -7222,6 +7228,7 @@
045C10872D12CA5F00BD2DC0 /* YHServiceOrderProgressTableViewCell.swift in Sources */,
045C10882D12CA5F00BD2DC0 /* YHResignUploadTravelCardDetailModel.swift in Sources */,
045C10892D12CA5F00BD2DC0 /* YHAppointHKResultModel.swift in Sources */,
04D8FF612D939D2400703C75 /* YHPlanScoreCell.swift in Sources */,
045C108A2D12CA5F00BD2DC0 /* YHPreviewInfoSectionHeaderCell.swift in Sources */,
045C108B2D12CA5F00BD2DC0 /* YHSmsCodeInputView.swift in Sources */,
045C108C2D12CA5F00BD2DC0 /* YHActivityDetailCell0.swift in Sources */,
......@@ -7689,6 +7696,7 @@
045C12262D12CA5F00BD2DC0 /* YHIncomeRecordViewController.swift in Sources */,
045C12272D12CA5F00BD2DC0 /* YHTravelDocsPreparationDetailVC.swift in Sources */,
045C12282D12CA5F00BD2DC0 /* YHResignDocumentUploadFileCell.swift in Sources */,
04D8FF5F2D93945100703C75 /* YHPlanAnalyzeInfoCell.swift in Sources */,
045C12292D12CA5F00BD2DC0 /* YHChoiceButtonHoldView.swift in Sources */,
045C122A2D12CA5F00BD2DC0 /* YHInformationAuthorizeViewModel.swift in Sources */,
045C122B2D12CA5F00BD2DC0 /* YHEditWorkViewController.swift in Sources */,
......
......@@ -10,21 +10,85 @@ import UIKit
class YHPlanViewController: YHBaseViewController {
var infoArr: [String] = ["", "", "", ""]
lazy var tableView: UITableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.showsVerticalScrollIndicator = false
tableView.estimatedSectionHeaderHeight = 1.0
tableView.estimatedSectionFooterHeight = 1.0
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(YHPlanAnalyzeInfoCell.self, forCellReuseIdentifier: YHPlanAnalyzeInfoCell.cellReuseIdentifier)
tableView.register(YHPlanScoreCell.self, forCellReuseIdentifier: YHPlanScoreCell.cellReuseIdentifier)
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
return tableView
}()
let v = YHPlanScoreChart(frame: .zero)
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .black
self.view.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.top.equalTo(200)
}
}
}
extension YHPlanViewController: UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
return self.infoArr.count
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let v = YHPlanScoreView(frame: .zero)
self.view.addSubview(v)
v.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(300)
make.height.equalTo(442)
let defaultCell = tableView.dequeueReusableCell(withIdentifier: "UITableViewCell", for: indexPath)
if 0 <= indexPath.section && indexPath.section < self.infoArr.count {
if indexPath.section == 0 {
let cell1 = tableView.dequeueReusableCell(withIdentifier: YHPlanScoreCell.cellReuseIdentifier, for: indexPath)
return cell1
} else {
let cell2 = tableView.dequeueReusableCell(withIdentifier: YHPlanAnalyzeInfoCell.cellReuseIdentifier, for: indexPath)
return cell2
}
}
v.chartView.updateScores([3.0, 3.0, 3.0, 3.0])
return defaultCell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 1.0
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView()
return view
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 1.0
}
}
//
// YHPlanAnalyzeInfoCell.swift
// galaxy
//
// Created by Dufet on 2025/3/26.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import AttributedString
class YHPlanAnalyzeInfoView: UIView {
lazy var titleLabel: UILabel = {
let lable = UILabel()
lable.textColor = UIColor.mainTextColor
lable.textAlignment = .left
lable.font = UIFont.PFSC_M(ofSize: 15)
lable.text = "当前情况"
return lable
}()
lazy var descLabel: UILabel = {
let lable = UILabel()
lable.textColor = UIColor.init(hex: 0x6A7586)
lable.textAlignment = .left
lable.font = UIFont.PFSC_R(ofSize: 13)
lable.numberOfLines = 0
lable.text = "您目前尚未在香港搭建生活关联,基本无法提供在港生活相关证明资料"
return lable
}()
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
backgroundColor = .clear
self.addSubview(titleLabel)
self.addSubview(descLabel)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.top.equalTo(0)
make.height.equalTo(20)
}
descLabel.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.top.equalTo(titleLabel.snp.bottom).offset(4)
make.bottom.equalToSuperview()
}
}
}
class YHPlanAnalyzeInfoCell: UITableViewCell {
static let cellReuseIdentifier = "YHPlanAnalyzeInfoCell"
lazy var whiteContentView: UIView = {
let v = UIView()
v.backgroundColor = .white
v.layer.cornerRadius = 6.0
v.clipsToBounds = true
return v
}()
lazy var titleLabel: UILabel = {
let lable = UILabel()
lable.textColor = UIColor.mainTextColor
lable.textAlignment = .left
lable.font = UIFont.PFSC_B(ofSize: 18)
lable.text = "分析"
return lable
}()
lazy var scoreLabel: UILabel = {
let lable = UILabel()
lable.textAlignment = .right
lable.font = UIFont.PFSC_M(ofSize: 15)
let aa: ASAttributedString = .init("3.0", .font(UIFont(name: "DINAlternate-Bold", size: 24)!), .foreground(UIColor.mainTextColor))
let bb: ASAttributedString = .init("/5.0", .font(UIFont(name: "DINAlternate-Bold", size: 14)!), .foreground(UIColor.mainTextColor))
lable.attributed.text = aa+bb
return lable
}()
lazy var lineView: UIView = {
let v = UIView()
v.backgroundColor = UIColor.init(hex: 0xE9ECF0)
return v
}()
lazy var currentStateVeiw: YHPlanAnalyzeInfoView = {
let v = YHPlanAnalyzeInfoView(frame: .zero)
v.titleLabel.text = "当前情况"
return v
}()
lazy var requireVeiw: YHPlanAnalyzeInfoView = {
let v = YHPlanAnalyzeInfoView(frame: .zero)
v.titleLabel.text = "港府要求"
return v
}()
lazy var suggestVeiw: YHPlanAnalyzeInfoView = {
let v = YHPlanAnalyzeInfoView(frame: .zero)
v.titleLabel.textColor = .init(hex: 0xAE6C32)
v.titleLabel.text = "银河建议"
return v
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
func setupUI() {
selectionStyle = .none
backgroundColor = .clear
contentView.backgroundColor = .clear
contentView.addSubview(whiteContentView)
whiteContentView.addSubview(titleLabel)
whiteContentView.addSubview(scoreLabel)
whiteContentView.addSubview(lineView)
whiteContentView.addSubview(currentStateVeiw)
whiteContentView.addSubview(requireVeiw)
whiteContentView.addSubview(suggestVeiw)
whiteContentView.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.top.equalTo(0)
make.bottom.equalTo(-16)
}
titleLabel.snp.makeConstraints { make in
make.left.equalTo(16)
make.top.equalTo(20)
make.height.equalTo(25)
}
scoreLabel.snp.makeConstraints { make in
make.right.equalTo(-16)
make.top.equalTo(20)
make.height.equalTo(25)
}
lineView.snp.makeConstraints { make in
make.top.equalTo(titleLabel.snp.bottom).offset(12)
make.left.equalTo(16)
make.right.equalTo(-16)
make.height.equalTo(0.5)
}
currentStateVeiw.snp.makeConstraints { make in
make.left.equalTo(16)
make.top.equalTo(lineView.snp.bottom).offset(16)
make.right.equalTo(-16)
}
requireVeiw.snp.makeConstraints { make in
make.left.equalTo(16)
make.top.equalTo(currentStateVeiw.snp.bottom).offset(16)
make.right.equalTo(-16)
}
suggestVeiw.snp.makeConstraints { make in
make.left.equalTo(16)
make.top.equalTo(requireVeiw.snp.bottom).offset(16)
make.right.equalTo(-16)
make.bottom.equalTo(-16)
}
}
}
//
// YHPlanScoreCell.swift
// galaxy
//
// Created by Dufet on 2025/3/26.
// Copyright © 2025 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHPlanScoreCell: UITableViewCell {
static let cellReuseIdentifier = "YHPlanScoreCell"
lazy var scoreView: YHPlanScoreView = {
let v = YHPlanScoreView(frame: .zero)
return v
}()
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
func setupUI() {
backgroundColor = .clear
contentView.backgroundColor = .clear
self.contentView.addSubview(scoreView)
scoreView.snp.makeConstraints { make in
make.edges.equalToSuperview()
make.height.equalTo(442)
}
scoreView.chartView.updateScores([5.0, 5.0, 5.0, 5.0])
}
}
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