Commit b297ad0b authored by pete谢兆麟's avatar pete谢兆麟

工作经验列表UI

parent 14b80b9b
......@@ -76,6 +76,12 @@
04E86E0B2B70C13300A35F4B /* YHCodeSueecssViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E0A2B70C13300A35F4B /* YHCodeSueecssViewController.swift */; };
04E86E0D2B70D51D00A35F4B /* YHWebViewViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E0C2B70D51D00A35F4B /* YHWebViewViewController.swift */; };
04E86E0F2B70DE9400A35F4B /* YHSpouseInfoContainerVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E0E2B70DE9400A35F4B /* YHSpouseInfoContainerVC.swift */; };
04E86E132B71CB7700A35F4B /* YHWorkExperienceListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E122B71CB7700A35F4B /* YHWorkExperienceListViewController.swift */; };
04E86E162B71DCE600A35F4B /* YHWorkExperienceListTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E152B71DCE600A35F4B /* YHWorkExperienceListTableViewCell.swift */; };
04E86E182B735D9A00A35F4B /* YHWorkItemView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E172B735D9A00A35F4B /* YHWorkItemView.swift */; };
04E86E1B2B81DC8F00A35F4B /* YHWorkItemListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E1A2B81DC8F00A35F4B /* YHWorkItemListModel.swift */; };
04E86E1E2B81DED300A35F4B /* YHWorkItemListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E1D2B81DED300A35F4B /* YHWorkItemListViewModel.swift */; };
04E86E202B81E35800A35F4B /* YHWorkItemAddView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04E86E1F2B81E35800A35F4B /* YHWorkItemAddView.swift */; };
6203A87EDC96313BBE789D9C /* Pods_galaxy.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 987C69D43AE8D85DC1930DCF /* Pods_galaxy.framework */; };
A51044182B493675006B60BB /* README.md in Resources */ = {isa = PBXBuildFile; fileRef = A51044172B493675006B60BB /* README.md */; };
A510441A2B495DD0006B60BB /* UIView+Extension.swift in Sources */ = {isa = PBXBuildFile; fileRef = A51044192B495DD0006B60BB /* UIView+Extension.swift */; };
......@@ -304,6 +310,12 @@
04E86E0A2B70C13300A35F4B /* YHCodeSueecssViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCodeSueecssViewController.swift; sourceTree = "<group>"; };
04E86E0C2B70D51D00A35F4B /* YHWebViewViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWebViewViewController.swift; sourceTree = "<group>"; };
04E86E0E2B70DE9400A35F4B /* YHSpouseInfoContainerVC.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHSpouseInfoContainerVC.swift; sourceTree = "<group>"; };
04E86E122B71CB7700A35F4B /* YHWorkExperienceListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkExperienceListViewController.swift; sourceTree = "<group>"; };
04E86E152B71DCE600A35F4B /* YHWorkExperienceListTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkExperienceListTableViewCell.swift; sourceTree = "<group>"; };
04E86E172B735D9A00A35F4B /* YHWorkItemView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkItemView.swift; sourceTree = "<group>"; };
04E86E1A2B81DC8F00A35F4B /* YHWorkItemListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkItemListModel.swift; sourceTree = "<group>"; };
04E86E1D2B81DED300A35F4B /* YHWorkItemListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkItemListViewModel.swift; sourceTree = "<group>"; };
04E86E1F2B81E35800A35F4B /* YHWorkItemAddView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHWorkItemAddView.swift; sourceTree = "<group>"; };
58C2405158A4A6632D0E7460 /* Pods-galaxy.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-galaxy.debug.xcconfig"; path = "Target Support Files/Pods-galaxy/Pods-galaxy.debug.xcconfig"; sourceTree = "<group>"; };
987C69D43AE8D85DC1930DCF /* Pods_galaxy.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_galaxy.framework; sourceTree = BUILT_PRODUCTS_DIR; };
A51044172B493675006B60BB /* README.md */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
......@@ -664,6 +676,51 @@
path = Localized;
sourceTree = "<group>";
};
04E86E102B71CACA00A35F4B /* WorkExperience */ = {
isa = PBXGroup;
children = (
04E86E1C2B81DEB900A35F4B /* ViewModel */,
04E86E192B81DC7500A35F4B /* Model */,
04E86E142B71DCB800A35F4B /* V */,
04E86E112B71CB5600A35F4B /* C */,
);
path = WorkExperience;
sourceTree = "<group>";
};
04E86E112B71CB5600A35F4B /* C */ = {
isa = PBXGroup;
children = (
04E86E122B71CB7700A35F4B /* YHWorkExperienceListViewController.swift */,
);
path = C;
sourceTree = "<group>";
};
04E86E142B71DCB800A35F4B /* V */ = {
isa = PBXGroup;
children = (
04E86E152B71DCE600A35F4B /* YHWorkExperienceListTableViewCell.swift */,
04E86E172B735D9A00A35F4B /* YHWorkItemView.swift */,
04E86E1F2B81E35800A35F4B /* YHWorkItemAddView.swift */,
);
path = V;
sourceTree = "<group>";
};
04E86E192B81DC7500A35F4B /* Model */ = {
isa = PBXGroup;
children = (
04E86E1A2B81DC8F00A35F4B /* YHWorkItemListModel.swift */,
);
path = Model;
sourceTree = "<group>";
};
04E86E1C2B81DEB900A35F4B /* ViewModel */ = {
isa = PBXGroup;
children = (
04E86E1D2B81DED300A35F4B /* YHWorkItemListViewModel.swift */,
);
path = ViewModel;
sourceTree = "<group>";
};
4758815B24BAF3CAA24EC6A8 /* Pods */ = {
isa = PBXGroup;
children = (
......@@ -1192,6 +1249,7 @@
A5C382C82B5E101E00C5E65C /* ServiceProcess(流程) */ = {
isa = PBXGroup;
children = (
04E86E102B71CACA00A35F4B /* WorkExperience */,
A58556BB2B6BD81C003746B2 /* BaseInformation(基本资料) */,
A5167B2D2B6A23D10084C08F /* PersonInfoList(个人信息表) */,
A5167B292B6A174B0084C08F /* MyScore(我的评分) */,
......@@ -1408,6 +1466,7 @@
04010B952B6A1DE90093F3BB /* YHSaveAndSubmitView.swift in Sources */,
A5ACE9362B4564F7002C94D2 /* YHNetworkStatusManager.swift in Sources */,
A5ACE92C2B4564F7002C94D2 /* YHLoginStyleButton.swift in Sources */,
04E86E202B81E35800A35F4B /* YHWorkItemAddView.swift in Sources */,
042FBBD42B67A2FE00F9DE23 /* YHFormPickerView.swift in Sources */,
A5ACE92F2B4564F7002C94D2 /* YHMyViewController.swift in Sources */,
A5C5B2E62B4EC0BF00A7C5D1 /* YHDavidTestViewController.swift in Sources */,
......@@ -1418,6 +1477,7 @@
A5573ED22B317BFF00D98EC0 /* AppDelegate.swift in Sources */,
A5ACE9542B4564F7002C94D2 /* YHNavigationController.swift in Sources */,
A5FD63DF2B6639AD00D1D9DA /* YHScoreDataModel.swift in Sources */,
04E86E162B71DCE600A35F4B /* YHWorkExperienceListTableViewCell.swift in Sources */,
A5ACE95E2B4571BF002C94D2 /* YHHomeViewController.swift in Sources */,
0468D4842B6A2F0D00CFB916 /* YHCountryMessage.swift in Sources */,
A5FD63BD2B623C2C00D1D9DA /* YHInformationPerfectListVC.swift in Sources */,
......@@ -1448,8 +1508,11 @@
A5FD63C52B637EE000D1D9DA /* YHSubmitAllInfoCheckView.swift in Sources */,
A5ACE9442B4564F7002C94D2 /* Array+Extension.swift in Sources */,
0468D4282B50D4AF00CFB916 /* YHPrivacyAlertView.swift in Sources */,
04E86E1B2B81DC8F00A35F4B /* YHWorkItemListModel.swift in Sources */,
A58556C22B6C8412003746B2 /* YHScoreResultModel.swift in Sources */,
04E86E1E2B81DED300A35F4B /* YHWorkItemListViewModel.swift in Sources */,
0468D47A2B68A08600CFB916 /* YHAddressPickViewTableViewCell.swift in Sources */,
04E86E132B71CB7700A35F4B /* YHWorkExperienceListViewController.swift in Sources */,
0468D4342B56587B00CFB916 /* YHOSSManager.swift in Sources */,
A5234E372B70802400A33433 /* YHBasicInfoCellModel.swift in Sources */,
A5C382D12B5FAAB300C5E65C /* YHContactItemModel.swift in Sources */,
......@@ -1569,6 +1632,7 @@
042FBBCB2B65058000F9DE23 /* YHChildBasicInfoVC.swift in Sources */,
A5ACE9302B4564F7002C94D2 /* Algorithm.swift in Sources */,
A5C5B32B2B57D17600A7C5D1 /* YHDavidCell5.swift in Sources */,
04E86E182B735D9A00A35F4B /* YHWorkItemView.swift in Sources */,
04E86E0B2B70C13300A35F4B /* YHCodeSueecssViewController.swift in Sources */,
A5ACE92D2B4564F7002C94D2 /* YHLoginPrivacyView.swift in Sources */,
0468D4552B6889A500CFB916 /* YHDatePickView.swift in Sources */,
......
......@@ -336,6 +336,8 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource
} else if indexPath.row == 4 {
//工作经历
let vc = YHWorkExperienceListViewController()
navigationController?.pushViewController(vc)
} else if indexPath.row == 5 {
//其他信息
......
//
// YHWorkExperienceListViewController.swift
// galaxy
//
// Created by EDY on 2024/2/6.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHWorkExperienceListViewController: YHBaseViewController {
var bottomView: UIView!
var bottomButton: UIButton!
var tableView: UITableView!
var dataSource: [YHWorkItemListModel]?
var viewModel: YHWorkItemListViewModel?
override func viewDidLoad() {
super.viewDidLoad()
viewModel = YHWorkItemListViewModel()
gk_navTitle = "工作经验信息填写"
setView()
getData()
// Do any additional setup after loading the view.
}
func getData() {
dataSource = viewModel?.getBaseDataSource()
updateDataSource()
}
func updateDataSource() {
self.tableView.reloadData()
}
func setView() {
tableView = {
let tableView = UITableView(frame:.zero, style:.plain)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(cellWithClass: YHWorkExperienceListTableViewCell.self)
return tableView
}()
view.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.bottom.equalTo(-k_Height_safeAreaInsetsBottom() - 64)
make.left.right.bottom.equalTo(view)
}
bottomView = {
let bottom = UIView()
return bottom
}()
view.addSubview(bottomView)
bottomView.snp.makeConstraints { make in
make.left.right.bottom.equalTo(view)
make.height.equalTo(k_Height_safeAreaInsetsBottom() + 64)
}
}
}
extension YHWorkExperienceListViewController: 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: YHWorkExperienceListTableViewCell.self)
cell.dataSource = dataSource
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
let number = dataSource?.count ?? 0
if number == 0 {
return CGFloat(16 + 216)
} else {
return CGFloat(16 + 154 + 76 * number)
}
}
}
//
// YHWorkItemListModel.swift
// galaxy
//
// Created by EDY on 2024/2/18.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
struct YHWorkItemListModel {
var title: String?
var subTitle: String?
var message: String?
var isShowDelete: Bool?
init(title: String? = nil, subTitle: String? = nil, message: String? = nil, isShowDelete: Bool? = nil) {
self.title = title
self.subTitle = subTitle
self.message = message
self.isShowDelete = isShowDelete
}
}
//
// YHWorkExperienceListTableViewCell.swift
// galaxy
//
// Created by EDY on 2024/2/6.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHWorkExperienceListTableViewCell: UITableViewCell {
typealias ExperienceListBlock = (_ model: YHItemModel) -> ()
var experienceListBlock: ExperienceListBlock?
var centerView: UIView!
var titleLabel: UILabel!
var subTitleLabel: UILabel!
var cannalButton: UIButton!
var moreButton: UIButton!
var mainItemView: UIView!
var bottomView: YHWorkItemAddView!
var dataSource: [YHWorkItemListModel]?{
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() {
backgroundColor = UIColor(hex: 0xe9e9e9)
centerView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = 12
return view
}()
contentView.addSubview(centerView)
centerView.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.top.equalTo(7)
make.bottom.equalTo(-7)
}
titleLabel = {
let label = UILabel()
label.font = kFont(size: 16)
label.text = "主申请人工作经历"
label.textColor = UIColor(hex:0x222222)
return label
}()
centerView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(20)
make.top.equalTo(23)
make.height.equalTo(24)
make.right.equalTo(-20)
}
subTitleLabel = {
let label = UILabel()
label.font = kFont(size: 12)
label.text = "(从最近一份全职工作开始,直至毕业后的第一份工作)"
label.textColor = UIColor(hex:0x888f98)
return label
}()
centerView.addSubview(subTitleLabel)
subTitleLabel.snp.makeConstraints { make in
make.left.equalTo(20)
make.top.equalTo(50)
make.height.equalTo(20)
make.right.equalTo(-20)
}
cannalButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = kBoldFont(size: 14)
button.contentHorizontalAlignment = .center
button.setTitle("取消操作", for: .normal)
button.setTitleColor( UIColor(hex:0x2f7ef6), for: .normal)
button.addTarget(self, action: #selector(cannal), for: .touchUpInside)
button.isHidden = true
return button
}()
centerView.addSubview(cannalButton)
cannalButton.snp.makeConstraints { make in
make.right.equalTo(-18)
make.top.equalTo(24)
make.height.equalTo(20)
make.width.equalTo(60)
}
moreButton = {
let button = UIButton(type: .custom)
button.setBackgroundImage(UIImage(named: "work_more"), for: .normal)
button.addTarget(self, action: #selector(more), for: .touchUpInside)
return button
}()
centerView.addSubview(moreButton)
moreButton.snp.makeConstraints { make in
make.right.equalTo(-18)
make.top.equalTo(24)
make.height.equalTo(24)
make.width.equalTo(24)
}
mainItemView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = 12
return view
}()
centerView.addSubview(mainItemView)
mainItemView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.bottom.equalTo(-65)
make.top.equalTo(85)
}
bottomView = {
let view = YHWorkItemAddView()
return view
}()
centerView.addSubview(bottomView)
bottomView.snp.makeConstraints { make in
make.right.bottom.equalTo(-18)
make.left.equalTo(18)
make.height.equalTo(45)
}
}
func updateAllViews() {
mainItemView.removeSubviews()
for i in 0 ..< (dataSource?.count ?? 0) {
let line = UIView()
line.backgroundColor = UIColor(hex: 0xf0f0f0)
mainItemView.addSubview(line)
line.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(52 * i)
make.height.equalTo(1)
make.right.equalTo(-18)
}
let itemView = YHWorkItemView()
itemView.dataSource = dataSource?[i]
itemView.block = {[weak self] model in
guard let self = self else { return }
if let block = self.experienceListBlock {
block(model)
}
}
mainItemView.addSubview(itemView)
itemView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(52 * i + 1)
make.height.equalTo(51)
make.right.equalTo(-18)
}
}
}
@objc func cannal() {
}
@objc func more() {
}
}
//
// YHWorkItemAddView.swift
// galaxy
//
// Created by EDY on 2024/2/18.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHWorkItemAddView: UIView {
let btnTitleColor:UIColor = .brandMainColor
let btnHeight = 44.0
let cornerRadius = 4.0
var clickBlock:(()->Void)?
var title:String? {
didSet {
addBtn.setTitle(title, for: .normal)
}
}
lazy var addBtn: UIButton = {
let btn = UIButton()
btn.setTitle("新增信息".local, for: .normal)
btn.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
btn.setTitleColor(btnTitleColor, for: .normal)
btn.iconInLeft(spacing: 6)
btn.setImage(UIImage(named: "form_add_info"), for: .normal)
btn.addTarget(self, action: #selector(didClickAddBtn), for: .touchUpInside)
return btn
}()
lazy var dotLineLayer:CAShapeLayer = {
let borderLayer = CAShapeLayer()
borderLayer.position = CGPoint(x: addBtn.bounds.midX, y: addBtn.bounds.midY);
borderLayer.path = UIBezierPath(roundedRect: borderLayer.bounds, cornerRadius: addBtn.layer.cornerRadius).cgPath
borderLayer.lineWidth = 1
//[数组第一个数字表示单个虚线长度,第二个数字表示间隔]
borderLayer.lineDashPattern = [3,1] as [NSNumber]?
//前边是虚线的长度,后边是虚线之间空隙的长度
borderLayer.lineDashPhase = 0.1
//实线边框
borderLayer.fillColor = UIColor.clear.cgColor
borderLayer.strokeColor = btnTitleColor.cgColor
return borderLayer
}()
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = .white
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setupUI() {
addSubview(addBtn)
addBtn.layer.addSublayer(dotLineLayer)
addBtn.snp.makeConstraints { make in
make.left.top.equalToSuperview()
make.right.bottom.equalToSuperview()
}
}
override func layoutSubviews() {
super.layoutSubviews()
print(addBtn.bounds)
dotLineLayer.path = UIBezierPath(roundedRect: addBtn.bounds, cornerRadius: cornerRadius).cgPath
}
@objc func didClickAddBtn() {
if let clickBlock = clickBlock {
clickBlock()
}
}
}
//
// YHWorkItemView.swift
// galaxy
//
// Created by EDY on 2024/2/7.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHWorkItemView: UIView {
typealias ItemBlock = (_ model: YHItemModel) -> ()
var block: ItemBlock?
var titleLabel: UILabel!
var subTitleLabel: UILabel!
var explainLabel: UILabel!
var nextStepImageView: UIImageView!
var deleteButton: UIButton!
var centerButton: UIButton!
var dataSource: YHWorkItemListModel? {
didSet {
updateAllViews()
}
}
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = .white
setUpView()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setUpView() {
titleLabel = {
let label = UILabel()
label.font = kBoldFont(size: 14)
label.textAlignment = .left
label.textColor = UIColor(hex:0x222222)
return label
}()
addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.left.top.bottom.equalToSuperview()
make.width.equalTo(112)
}
subTitleLabel = {
let label = UILabel()
label.font = kBoldFont(size: 12)
label.textAlignment = .left
label.textColor = UIColor(hex:0x888f98)
return label
}()
addSubview(subTitleLabel)
subTitleLabel.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.height.equalTo(20)
make.top.equalTo(40)
}
explainLabel = {
let label = UILabel()
label.font = kBoldFont(size: 14)
label.textAlignment = .right
label.textColor = UIColor(hex:0x888f98)
return label
}()
addSubview(explainLabel)
explainLabel.snp.makeConstraints { make in
make.right.equalTo(-24)
make.left.equalTo(titleLabel.snp.right)
make.height.equalTo(20)
make.centerY.equalTo(titleLabel.snp.centerY)
}
nextStepImageView = {
let imageView = UIImageView()
imageView.image = UIImage(named: "form_right_arrow")
return imageView
}()
addSubview(nextStepImageView)
nextStepImageView.snp.makeConstraints { make in
make.right.equalToSuperview()
make.centerY.equalToSuperview()
make.height.width.equalTo(20)
}
centerButton = {
let button = UIButton(type: .custom)
button.addTarget(self, action: #selector(centerClick), for: .touchUpInside)
return button
}()
addSubview(centerButton)
centerButton.snp.makeConstraints { make in
make.right.top.bottom.equalToSuperview()
make.left.equalTo(112)
}
deleteButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = kFont(size: 14)
button.contentHorizontalAlignment = .center
button.setTitle("删除", for: .normal)
button.setTitleColor( UIColor(hex:0xf81d22), for: .normal)
button.addTarget(self, action: #selector(centerClick), for: .touchUpInside)
button.isHidden = true
return button
}()
addSubview(deleteButton)
deleteButton.snp.makeConstraints { make in
make.right.equalTo(-24)
make.height.equalTo(20)
make.width.equalTo(28)
make.centerY.equalTo(titleLabel.snp.centerY)
}
}
func updateAllViews() {
guard let dataSource = dataSource else { return }
titleLabel.text = dataSource.title
subTitleLabel.text = dataSource.subTitle
explainLabel.text = dataSource.message
if dataSource.isShowDelete ?? false {
deleteButton.isHidden = false
explainLabel.isHidden = true
} else {
deleteButton.isHidden = true
explainLabel.isHidden = false
}
}
@objc func centerClick() {
}
}
//
// YHWorkItemListViewModel.swift
// galaxy
//
// Created by EDY on 2024/2/18.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHWorkItemListViewModel: YHBaseViewModel {
var mainModel: YHMainInformationModel = YHMainInformationModel()
override init() {
super.init()
}
func getBaseDataSource() -> [YHWorkItemListModel] {
let item = YHWorkItemListModel(title: "华为有限公司", subTitle: "后端开发工程师", message: "2019.07-至今", isShowDelete: false)
return [item]
}
}
......@@ -93,7 +93,7 @@ class YHNetRequest: NSObject {
print("sign = \(sign)")
requestHeader.add(name:"sign",value:sign)
requestHeader.add(name: "token", value: "eyJpdiI6Ik1yM1RTNkVqUEJBd0J3OVNEb2FNeWc9PSIsInZhbHVlIjoiQzNZMkxmTldHbXdtU0lFdkNYenNxRXIwYTM0ak5Ec0JCTTJlNnhTcGFqMUx6ZWVwb25aS281WFRxMUhvUFFqOEtEV1RZbmFPMHliUlRvQ0dEY3g4Vzg0QklmcGRmeXFYRlwvcSt0SE83SE8za0VSandjdlV2TENFT05GMlUrRXNVM3hSTzFIa29YU3dKRStaUGpsV1h4OXcwUDZpb1czZTk5RUE3ZFlvSTQ4QkhNS2JURExWY1puRjZZYmxqVFB2Ync2XC9RaDRwWHlXWmdTdlZVWTR5bXpYVG4zRFg0dnlCSFZuOURQSjgyaEE2WndERUV2STRqcmM3bkphRFwvWVhQMFwvQ1o2aEI0YmRpV1JmeDZ2bDJBQ0pXWkZ1a3d5Zm04RU0za21USnlGZUdld053enVvZ25CXC9lKzNVSkhFSHg3dGdyQm9HWDJJcXZqZGdoekUrNEZFSzljWDRjQk9WMGdGaGVjdjNRV09ieFJoZ3gzSjN1ckhzdHhpNStyam4xVjB0QjVJZDk2aDJkNnhPODJON3dHY2J6RWpqNDRGNk9uU0pKV05GQ0o5MnBHcVhabVc3VVNTdXRORE5lT1hXVGdGS1d2bEhPNkdCc1hNbk00a0R3UUJjblJoU1ZWb09PMDBaMkhFYU5hTGE5a1I5V1RNRld5UGIyY0owS3BYVlRmUStmMXl0MWhjV2tMZzJjRXlkY1p3OVJ5cFlEdWVsN1M5YUNpRzIxUlIyc3d6VVpQMmswYzBxY2xyS1d1YkZyb2RzY3pXdGdaMU5JenEzMmhBQ1RwcWFoVHpSVnZXemhiZ1B5eEJKd1I2UVh2eHFZZVZka0VwXC9xanFZU0M2U3Q0dlAybmk0NlJhZ05BdlVMVFNZM3FcL1RYS1pUdHRYU3pmR1ZNbUhXWGNENFA3MEpJeDdrbFZUWmdacERhT2ZxOVVFM0drZHZHc1NUemNnOThGUkxxSHJsOFZ2akxqT1VHaDlkdVFXT0hKZ0w2cSthb1plaTl3VHhObElcL1wvR2RIbVdoQndJNEdcLzByRlpzMDlIbjI5R2FqYldzTmNxRHJwZVJsTFpjWmpqNno4S0Q4cHNCcFcyNXY4SmJnUlVpRlwvY0RIVzRBdFpQMEM0Q25sM1NjbUpIZHZPZ1U2dXZvSkx6Y1BaSWFXZnJQakRTNVlVMFNwUDg3NlJnNW5cL0lISWpYTVlKU1htYjVmQWZUXC82UjlmWkREd0RoU3FWYksyUFwvRnpJWjh5VVhnRFp5VGxHOTE2UGUwVTN5RWlUUlwvWEw0eDFrUGtKWkRCdWFXYkM5SFwvaHc5RFdWZDdmSmJyVlN3Q01ZdkJQQ2JScCs1UFA2QjVhNWE5cCtWbVwvYTZ1dmZBVWlweU4wYXJPblVcL0VtdTN6c2JVamRoTmM1WW0yXC95S3N3UTR0Rm12VmNKU3QyN0JsVjUwVUt2a0hhM0I2SUhiRUxzMU9RbkxIQVNkVTVpTmJwYWFyMWpWbnNJaGljZlRyVm5TZ2t0S2k3ckp1VEdGd2hjYSt3azFLN1wvUFA2eGJuOUFRbHByUmE0VjA2dmVidmdTQkY5UWpDQlg0QVVsZ1RvTE5RUEZTbkxFVWRKcEQ5aDI0XC9JdXNjOCtDVjRnWERcL2ZqXC82RGhMdVZBT3dMd3VLTWhIQXZDanlpVW54RUxlUDFxZjZLMjVsckRuRjlZbmxORENoVHU5MXhhRitBYyt5MmV4WFwvWitlUTZ6VG5aYlh5MW42VkRzY0hcL0ZrVUNrNXVxNVVXYjhnZnRFaWhlUWdXc2Z4NmpEaGplYXFjSUlHNFYra3BvUmt3WGxONjF4bCtaQVFnSmxrT2I2TjhkYndoTE13YWFWNEZNRENMMkEwS1habjhSUWRwd3ZkeGNuNUhMOFhzdkpKRzdnUnBzT2orWGh6WWpRPT0iLCJtYWMiOiIwNTIzOTU3MGIxODIzZjA1YTViZDBmM2Y5ZWZhMDAyZWQ4ZWY4MmQzNGJjY2FmNTFmOTNlZGY5ODA3NTBkZDgxIn0=")
requestHeader.add(name: "token", value: "eyJpdiI6InhISTlXZjA2cXE5Z2pqMDZDa2NrTkE9PSIsInZhbHVlIjoiR3NkRVR0dVdjWE5GN2N3UmNiU0xobVYzZTR6SXlGXC9XVEhWV0xcL1F1YXVBOU9jRDlFZ2pOanBcL1RBMUVkUDlRQ2xhREx0c3dKeHNJQjMwaVVuYkloZHBiUXQzZkJlS2dTWDJrTE90K2FpM0FDWm10a3FFUGZpdW90TDNscStud0tSenRRV2kyV3JVbEZ6eXppUHZ5ajFQMXpBejh0YUZ4Z0VPZkwwdEtwXC9mNjh4bWQySGpSS2pzVkJ1Y3ZrbGFKdGVsMkhkRXJrTlRHbzkxcVdkcE1yWXRja2xDRHVmRUhhdU9ybkJmXC9VRVJnY2RXeVpXMzZVc2h2eUsxYVRmSXR0QXB1WjVsaDBLTllVOEtKWUhSTE5yNXFvYWlaQzdQSWZ0T0V2VTZwTFJjb25OZGdYbE1lNHZOZ0ZWcWhWWkhnUm8rWGJqSE1Jdm1DY3hlWVliY2F0YkplZFwvQ0pMMndtdHFBQUF0MjJYTFNZYk14Tzh0d0g1K2c2M1U2bXFZY3JUbXptbEhCSXR5R3hFZ0JHNmpXTHgzeTJvc0Z2UXpENk5LOTlBN0VjWE8rNmYzTklBN3d0YVVPb2VyS0lNK3FINUZlTmR6UTlBdENuZEtDKzE3emwxMGxvaEc1Sm1mc0E3Y251cU5xcjd4ZzdSbHNNQ2xoRUc4VUJTR24zQ1lRSE5VRGtUd0s0ZTljSlRxRmdwMFVqY0RsMjQwcm1SaVdSN29lNjYrd1JDSlwvSUtiSWpneFpuR2VzeUFBbzNBUUh2MnNVTFZ5bXVLTGVLNFM5TjdzdXpaM1ZFRDdvRUVlRFF0QUY4d2pXcmF4NkFwMGVodXRVUFlxVGhVRmVpYlwvRUJFT05idFhyeXp4TUtcLzN0MlVcL3ZIc2dWSncxaW55TDVUVXFIWjZZMUdHakJKVnpzRkxGeE52RWdLaW9WT0tCb3pTQW1xelNwaTRaQmtGeEpITjVEUU44Q3VGSnBGdzdOcFRyTE9sYmFTT3RrMDJYU3l0XC9PcVJ1OXo2MUpJdm5XSHZFZ0lIMGh5OGR2TEJkNTZjVHFKM1hSYnVEbm9vVFU1VUUzcmRDZ3JhZWRYQWZ1cU9aajVKMHdOMGpxczBSVU5GejNrNzk3bnVBa210dFdCblVBaUs5Y0VIWmxCdE04UlV6T2NEN3ZTN2E0MEhRYmlCNGk3V2xZN1R2ZUM4cVVZZ1Rlb1BndmFcL2phemNnbEhKb05QeHhxa1BldFFqK2ErcWZmYWs1RnNPWEpNK0x4MFo4MTU4OEttZTNxeDMrcCtkNUVwSUd4b1krOXRFdU1UNVFxZyszXC9Lb21TSG5hSFI2OVRVWmxIRm9UcTRlU2kyNWF6K1pQR3lMK1MyS0FvQ2ZFaTViTmdybm1xQ1BscVMzM2tjeUFCQVlvZFdPMTJTb2ttZDl2Q3BuTXVvTnJkUDRpa0g5cE4rWlRcL1l2MWdNdmY0MFVsMFArWWYzWVNmMW5oUnkwWk1mTVc3WUluU3dyQUM4TTZBbHJac0lOMDNiYVhVWks2TCs3QnN0VDlOXC9xaEwyUEtmblVmOXpcL3hoekQ1K3JKWVozVWxrdElKbTdWTHpaMnk2bXFQQ0VJalR1TVpIc1d4bmJjVVIwdTR1VXY1M1wvMEJMODVTWkNreVpCVmh3MWRDeERROGh5YnVsMkVKV2poMFwvYnZHakMycHJmQjUycDQ3b3laUUlTSjdmaDdFMnFtTHhIN1RvUnhhcUhCWXkybkhoMlFwZUVtM0VPUVZrcXp3S0lLMFwvOUtvZnhibE1ZUnp0bGVkcGdqTlp0dGV0cGhCa3hjUmxZXC96SWRFXC83OWxEUnRma1MyYnZqWGhMN0lSM0x2Z0NCTWxIR0pUYjByWDN4Y3JCT3JLTzFzUWkzS3NYTDVDZVJ3MmhEbXlXSENqYWc9PSIsIm1hYyI6Ijc1YmU5YTE4ZGEwNzExZGJlZWQ0MzZhNGVkNWE1NGMzYmE1YWFjNjBhYTgxYjFlYjUyN2M1Yzc4ZjkwNTcyNmMifQ==")
headers = requestHeader
}
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "work_more@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "work_more@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