Commit 502f58ef authored by pete谢兆麟's avatar pete谢兆麟

Merge branch 'develop' into xiezhaolin

# Conflicts:
#	galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/FamilyMember/View/PickerView/YHFormPickerView.swift
#	galaxy/galaxy/Classes/Tools/NetWork/YHNetRequest.swift
parents 001f2ce1 28ba8925
......@@ -86,6 +86,9 @@
A5573EF52B317C0100D98EC0 /* galaxyUITestsLaunchTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5573EF42B317C0100D98EC0 /* galaxyUITestsLaunchTests.swift */; };
A56D2D612B62020C009C83A8 /* YHContractMainItemStatusCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = A56D2D602B62020C009C83A8 /* YHContractMainItemStatusCell.swift */; };
A57F1F252B48F09200B644E6 /* ATAuthSDK_D.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 04808C032B4686510056D53C /* ATAuthSDK_D.framework */; };
A58556BA2B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58556B92B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift */; };
A58556C02B6C82AF003746B2 /* YHScoreResultBaseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58556BF2B6C82AF003746B2 /* YHScoreResultBaseModel.swift */; };
A58556C22B6C8412003746B2 /* YHScoreResultModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = A58556C12B6C8412003746B2 /* YHScoreResultModel.swift */; };
A58951C52B398D1000225C19 /* Launch Screen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = A58951C42B398D1000225C19 /* Launch Screen.storyboard */; };
A5ACE9272B4564F7002C94D2 /* YHLoginViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8DB2B4564F7002C94D2 /* YHLoginViewController.swift */; };
A5ACE9282B4564F7002C94D2 /* YHSmsCodeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = A5ACE8DE2B4564F7002C94D2 /* YHSmsCodeView.swift */; };
......@@ -302,6 +305,9 @@
A5573EF22B317C0100D98EC0 /* galaxyUITests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = galaxyUITests.swift; sourceTree = "<group>"; };
A5573EF42B317C0100D98EC0 /* galaxyUITestsLaunchTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = galaxyUITestsLaunchTests.swift; sourceTree = "<group>"; };
A56D2D602B62020C009C83A8 /* YHContractMainItemStatusCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHContractMainItemStatusCell.swift; sourceTree = "<group>"; };
A58556B92B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPersonInfoFillStepModel.swift; sourceTree = "<group>"; };
A58556BF2B6C82AF003746B2 /* YHScoreResultBaseModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHScoreResultBaseModel.swift; sourceTree = "<group>"; };
A58556C12B6C8412003746B2 /* YHScoreResultModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHScoreResultModel.swift; sourceTree = "<group>"; };
A58951C42B398D1000225C19 /* Launch Screen.storyboard */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; path = "Launch Screen.storyboard"; sourceTree = "<group>"; };
A5ACE8DB2B4564F7002C94D2 /* YHLoginViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHLoginViewController.swift; sourceTree = "<group>"; };
A5ACE8DE2B4564F7002C94D2 /* YHSmsCodeView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = YHSmsCodeView.swift; sourceTree = "<group>"; };
......@@ -643,20 +649,22 @@
name = Frameworks;
sourceTree = "<group>";
};
A5167B292B6A174B0084C08F /* MyScore */ = {
A5167B292B6A174B0084C08F /* MyScore(我的评分) */ = {
isa = PBXGroup;
children = (
A5167B2C2B6A17660084C08F /* C */,
A5167B2B2B6A175F0084C08F /* V */,
A5167B2A2B6A175A0084C08F /* M */,
);
path = MyScore;
path = "MyScore(我的评分)";
sourceTree = "<group>";
};
A5167B2A2B6A175A0084C08F /* M */ = {
isa = PBXGroup;
children = (
A5FD63DE2B6639AD00D1D9DA /* YHScoreDataModel.swift */,
A58556BF2B6C82AF003746B2 /* YHScoreResultBaseModel.swift */,
A58556C12B6C8412003746B2 /* YHScoreResultModel.swift */,
);
path = M;
sourceTree = "<group>";
......@@ -778,6 +786,37 @@
path = galaxyUITests;
sourceTree = "<group>";
};
A58556BB2B6BD81C003746B2 /* BaseInformation(基本资料) */ = {
isa = PBXGroup;
children = (
A58556BC2B6BD84C003746B2 /* M */,
A58556BD2B6BD85A003746B2 /* V */,
A58556BE2B6BD85E003746B2 /* C */,
);
path = "BaseInformation(基本资料)";
sourceTree = "<group>";
};
A58556BC2B6BD84C003746B2 /* M */ = {
isa = PBXGroup;
children = (
);
path = M;
sourceTree = "<group>";
};
A58556BD2B6BD85A003746B2 /* V */ = {
isa = PBXGroup;
children = (
);
path = V;
sourceTree = "<group>";
};
A58556BE2B6BD85E003746B2 /* C */ = {
isa = PBXGroup;
children = (
);
path = C;
sourceTree = "<group>";
};
A5ACE8D72B4564F7002C94D2 /* Classes */ = {
isa = PBXGroup;
children = (
......@@ -972,6 +1011,7 @@
A5C382D02B5FAAB300C5E65C /* YHContactItemModel.swift */,
A5FD63C02B62616D00D1D9DA /* YHInformationPerfectModel.swift */,
A5FD63C22B63438A00D1D9DA /* YHContactMainItemStatusModel.swift */,
A58556B92B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift */,
);
path = M;
sourceTree = "<group>";
......@@ -1097,8 +1137,9 @@
A5C382C82B5E101E00C5E65C /* ServiceProcess(流程) */ = {
isa = PBXGroup;
children = (
A58556BB2B6BD81C003746B2 /* BaseInformation(基本资料) */,
A5167B2D2B6A23D10084C08F /* PersonInfoList(个人信息表) */,
A5167B292B6A174B0084C08F /* MyScore */,
A5167B292B6A174B0084C08F /* MyScore(我的评分) */,
0468D43D2B61F68100CFB916 /* MainApplicantInformation */,
041B52882B5E13EB007EBCEB /* FamilyMember */,
);
......@@ -1350,6 +1391,7 @@
A5FD63C52B637EE000D1D9DA /* YHSubmitAllInfoCheckView.swift in Sources */,
A5ACE9442B4564F7002C94D2 /* Array+Extension.swift in Sources */,
0468D4282B50D4AF00CFB916 /* YHPrivacyAlertView.swift in Sources */,
A58556C22B6C8412003746B2 /* YHScoreResultModel.swift in Sources */,
0468D47A2B68A08600CFB916 /* YHAddressPickViewTableViewCell.swift in Sources */,
0468D4342B56587B00CFB916 /* YHOSSManager.swift in Sources */,
A5C382D12B5FAAB300C5E65C /* YHContactItemModel.swift in Sources */,
......@@ -1430,6 +1472,7 @@
A5C382CC2B5EA11800C5E65C /* YHContractCell.swift in Sources */,
042FBBC12B63B21700F9DE23 /* YHFormItemDegreeInfoCell.swift in Sources */,
A5ACE9492B4564F7002C94D2 /* YHHUDSuccessView.swift in Sources */,
A58556BA2B6BCF1A003746B2 /* YHPersonInfoFillStepModel.swift in Sources */,
A5FD63D42B65F99500D1D9DA /* YHScoreItemCell.swift in Sources */,
A5ACE9432B4564F7002C94D2 /* UILable+Extension.swift in Sources */,
A5ACE9382B4564F7002C94D2 /* UIApplication+Extension.swift in Sources */,
......@@ -1443,6 +1486,7 @@
0468D47B2B68A08600CFB916 /* YHAddressPresentAnimated.swift in Sources */,
A5C382CF2B5F9A9100C5E65C /* YHServiceCenterMainViewModel.swift in Sources */,
0468D4782B68A08600CFB916 /* YHAddressModel.swift in Sources */,
A58556C02B6C82AF003746B2 /* YHScoreResultBaseModel.swift in Sources */,
A5C5B2EA2B4ECA4D00A7C5D1 /* YHDavidModel0.swift in Sources */,
A5ACE9572B4564F7002C94D2 /* YHBasicContentView.swift in Sources */,
042FBBC92B64DC8900F9DE23 /* YHFormItemExpireDateCell.swift in Sources */,
......
......@@ -139,6 +139,11 @@ class YHHomeViewController: YHBaseViewController {
//2.网络请求
requestData()
//for test hjl
// testModelParse()//for test hjl 添加 数据类型 转换
}
......@@ -150,6 +155,65 @@ class YHHomeViewController: YHBaseViewController {
// MARK: - 私有方法
extension YHHomeViewController {
func testModelParse() {
// SmartConfig.debugMode = .verbose
let json = """
{
"data": "balabala Team",
"errorCode": 0,
"errorMessage": "操作成功",
"success":true,
"test": {
"test1": "test1-value",
"test2": "test2-value",
"test333": "test3-value",
},
"testArr":[
{
"test1": "test1-value",
"test2": "test2-value",
"test333": "test3-value",
},
{
"test1": "test1-value",
"test2": "test2-value",
"test333": "test3-value",
},
{
"test1": "test1-value",
"test2": "test2-value",
"test333": "test3-value",
}
]
}
"""
//1. json字符串 转 对象
guard let model = NetBaseModel.deserialize(json: json) else { return }
print("model 是 ==>",model)
print(model)
//2. 对象 转 dictionary
let dic = model.toDictionary()
print("dic 是 ==>",dic as Any)
//3. dictionary 转 string
let jsonString = dic?.jsonString()
print("jsonString 是 ==>",jsonString ?? "")
//4.model 转 string
let jsonString2 = model.toJSONString()
print("jsonString2 是 ==>",jsonString2 ?? "")
//5. dic 转 model
guard let model1 = NetBaseModel.deserialize(dict: dic) else { return }
print("model1 是 ==>",model1)
}
@objc func leaveTopOp() {
canScroll = true
}
......
......@@ -12,11 +12,9 @@ import UIKit
*信息完善列表
*/
class YHInformationPerfectListVC: YHBaseViewController {
// private let serviceCenterMainReqVM : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
var orderId : Int?
private let serviceCenterMainReqVM : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
private var arrData : [YHInformationPerfectModel] = []
private var myTargetIndex : Int32 = 1 //for test hjl
private var hasSubmitFlag : Bool = false {
didSet {
submitBtn.isHidden = hasSubmitFlag
......@@ -25,21 +23,22 @@ class YHInformationPerfectListVC: YHBaseViewController {
if hasSubmitFlag == true {
headerTitleDesLable.text = "您已提交信息表"
} else {
headerTitleDesLable.text = "您好,DavidHuang先生"
headerTitleDesLable.text = "您好," + (serviceCenterMainReqVM.informationFillStepModel?.applicantName ?? "-")
}
}
}
private lazy var headerTitleDesLable : UILabel = {
let titleLable = UILabel(text: "您好,黄先生")
titleLable.font = UIFont.PFSC_M(ofSize: 21)
let titleLable = UILabel(text: "您好,-")
titleLable.font = UIFont.PFSC_B(ofSize: 21)
titleLable.textColor = UIColor.mainTextColor
return titleLable
}()
private lazy var topBkg : UIView = {
let imagV = UIImageView()
imagV.image = UIImage(named: "service_center_head_bkg")
imagV.image = UIImage(named: "service_center_head_bkg2")
imagV.contentMode = .scaleAspectFill
return imagV
......@@ -80,38 +79,63 @@ class YHInformationPerfectListVC: YHBaseViewController {
super.viewDidLoad()
setupUI()
loadData()
}
}
extension YHInformationPerfectListVC {
func submitSweetNotify() {
let params = ["option":1,"orderId":orderId]
serviceCenterMainReqVM.submitSweetNotifyOp(params: params as [String : Any]) { success, error in
if success == true {
self.hasSubmitFlag = true
} else {
YHHUD.flash(message: error?.errorMsg ?? "发生错误,请重试")
}
}
}
func showTipsAlert() {
YHInformationFillTipsAlertView.showCheckView { agree in
if agree == true {
printLog("点击了 确认 按钮")
self.submitSweetNotify()
} else {
printLog("点击了 取消 按钮")
}
}
}
}
extension YHInformationPerfectListVC {
func loadData() {
// self.serviceCenterMainReqVM.getContactList { success, error in
// if success == true {
//
// }
// self.homeTableView.reloadData()
// }
guard let orderId = orderId else { return}
self.serviceCenterMainReqVM.getPersonInfoFillStep(params: ["orderId":orderId]) { success, error in
if success == true {
if self.serviceCenterMainReqVM.informationFillStepModel?.sweet_notify_status == 0 {
self.showTipsAlert()
}
if self.serviceCenterMainReqVM.myInfoFillStep > 6 {
self.hasSubmitFlag = true
} else {
self.hasSubmitFlag = false
}
}
self.homeTableView.reloadData()
}
}
@objc func goScoreVC() {
//我的评分
navigationController?.pushViewController(YHScoreDetailViewController())
let vc = YHScoreDetailViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
@objc func goInfoListVC() {
//个人信息表
navigationController?.pushViewController(YHPersonInformMainViewController())
let vc = YHPersonInformMainViewController()
vc.orderId = orderId
navigationController?.pushViewController(vc)
}
@objc func clickSubmitBtn() {
......@@ -138,38 +162,10 @@ extension YHInformationPerfectListVC {
gk_navBarAlpha = 1.0
gk_navLineHidden = true
let arr = [1,2,3,4,5,6]
let target = myTargetIndex //for test hjl 待填写的项目
for item in arr {
let model = YHInformationPerfectModel()
model.type = item
arrData.append(model)
if item < target {
model.isFinished = true
} else {
model.isFinished = false
}
if item == target {
model.isDoing = true
}
if item == target + 1 {
model.isNextDoingCell = true
} else {
model.isNextDoingCell = false
}
}
view.addSubview(topBkg)
topBkg.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(216)
make.height.equalTo(259)
}
......@@ -186,18 +182,20 @@ extension YHInformationPerfectListVC {
submitBtn.setTitle("提交信息", for: .normal)
submitBtn.setTitleColor(UIColor.white, for: .normal)
submitBtn.setBackgroundImage(UIImage.from(color: UIColor(hex: 0x4D9FF8, alpha: 1.0)), for: .normal)
submitBtn.layer.cornerRadius = 8
submitBtn.layer.cornerRadius = kCornerRadius6
submitBtn.clipsToBounds = true
myBottomView.addSubview(submitBtn)
submitBtn.addTarget(self, action: #selector(clickSubmitBtn), for: .touchUpInside)
submitBtn.snp.makeConstraints { make in
make.top.equalTo(8)
make.left.equalTo(16)
make.right.equalTo(-16)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.height.equalTo(48)
}
submitBtn.layoutIfNeeded()
submitBtn.backgroundGradient()
submitBtn.isHidden = hasSubmitFlag
submitHoldView.isHidden = !hasSubmitFlag
......@@ -205,8 +203,8 @@ extension YHInformationPerfectListVC {
myBottomView.addSubview(submitHoldView)
submitHoldView.snp.makeConstraints { make in
make.top.equalTo(8)
make.left.equalTo(16)
make.right.equalTo(-16)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.height.equalTo(48)
}
......@@ -214,13 +212,13 @@ extension YHInformationPerfectListVC {
let scoreButton = {
let button = UIButton(type: .custom)
button.backgroundColor = UIColor(hex:0xffffff)
button.titleLabel?.font = kBoldFont(size: 14)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 16)
button.contentHorizontalAlignment = .center
button.setTitle("我的评分", for: .normal)
button.setTitleColor( UIColor(hex:0x3c86f8), for: .normal)
button.layer.cornerRadius = 8
button.setTitleColor(UIColor.brandMainColor, for: .normal)
button.layer.cornerRadius = kCornerRadius6
button.layer.borderWidth = 1
button.layer.borderColor = UIColor(hex: 0x3c86f8).cgColor
button.layer.borderColor = UIColor.brandMainColor.cgColor
button.addTarget(self, action: #selector(goScoreVC), for: .touchUpInside)
return button
}()
......@@ -233,11 +231,12 @@ extension YHInformationPerfectListVC {
let infoButton = {
let button = UIButton(type: .custom)
button.backgroundColor = UIColor(hex:0x3c86f8)
button.titleLabel?.font = kBoldFont(size: 14)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 16)
button.contentHorizontalAlignment = .center
button.setTitle("个人信息表", for: .normal)
button.setTitleColor( UIColor(hex:0xffffff), for: .normal)
button.layer.cornerRadius = 8
button.setTitleColor(.white, for: .normal)
button.layer.cornerRadius = kCornerRadius6
button.clipsToBounds = true
button.addTarget(self, action: #selector(goInfoListVC), for: .touchUpInside)
return button
}()
......@@ -246,6 +245,8 @@ extension YHInformationPerfectListVC {
make.right.top.bottom.equalToSuperview()
make.left.equalTo(submitHoldView.snp.centerX).offset(6)
}
infoButton.layoutIfNeeded()
infoButton.backgroundGradient()
homeTableView.delegate = self
homeTableView.dataSource = self
......@@ -272,6 +273,7 @@ extension YHInformationPerfectListVC {
let desLable = UILabel(text: "此表由主申请人填写,我们将会根据您的个人信息制作资料清单,请按顺序填写,提交后1-2个工作日内联系您哦~")
desLable.font = UIFont.PFSC_R(ofSize: 12)
desLable.numberOfLines = 0
desLable.textColor = UIColor.mainTextColor
desLable.lineBreakMode = .byWordWrapping
myHeadView.addSubview(desLable)
......@@ -295,7 +297,7 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 6
return serviceCenterMainReqVM.arrInfoFillStep.count
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
......@@ -305,15 +307,15 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let newCell = tableView.dequeueReusableCell(withClass: YHInformationPerfectCell.self)
newCell.selectionStyle = .none
newCell.dataModel = arrData[indexPath.row]
newCell.dataModel = serviceCenterMainReqVM.arrInfoFillStep[indexPath.row]
return newCell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
printLog("点击了 \(indexPath.section)section --- \(indexPath.row)row")
let model = arrData[indexPath.row]
if (indexPath.row + 1 > myTargetIndex) {
let model = serviceCenterMainReqVM.arrInfoFillStep[indexPath.row]
if (indexPath.row + 1 > serviceCenterMainReqVM.myInfoFillStep) {
let message = "请先完成" + model.name + "填写"
YHHUD.flash(message: message)
} else {
......
......@@ -161,7 +161,9 @@ extension YHServiceCenterSecondViewController : UITableViewDelegate,UITableViewD
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
if indexPath.row == 0 {
navigationController?.pushViewController(YHInformationPerfectListVC())
let vc = YHInformationPerfectListVC()
vc.orderId = orderId
navigationController?.pushViewController(vc)
} else if indexPath.row == 1 {
} else {
......
......@@ -47,8 +47,8 @@ class YHInformationPerfectModel {
var isFinished : Bool = false {
didSet {
status = isFinished ? "已完成" : "待完善"
color = isFinished ? UIColor(hex: 0x222222, alpha: 1.0) : UIColor(hex: 0x888F98, alpha: 1.0)
statusColor = isFinished ? UIColor(hex: 0x3ECDC3, alpha: 1.0) : UIColor(hex: 0x888F98, alpha: 1.0)
color = isFinished ? UIColor.mainTextColor : UIColor.labelTextColor2
statusColor = isFinished ? UIColor.successColor : UIColor.labelTextColor2
if type != 1 {
icon = isFinished ? icon : (icon + "_grey")
}
......@@ -57,8 +57,8 @@ class YHInformationPerfectModel {
var isDoing : Bool = false {
didSet {
color = isDoing ? UIColor(hex: 0x222222, alpha: 1.0) : UIColor(hex: 0x888F98, alpha: 1.0)
statusColor = isDoing ? UIColor(hex: 0x3F8BF8, alpha: 1.0) : UIColor(hex: 0x888F98, alpha: 1.0)
color = isFinished ? UIColor.mainTextColor : UIColor.labelTextColor2
statusColor = isDoing ? UIColor.brandMainColor : UIColor.labelTextColor2
if type != 1 {
icon = isDoing ? icon : (icon + "_grey")
}
......
//
// YHPersonInfoFillStepModel.swift
// galaxy
//
// Created by davidhuangA on 2024/2/1.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
struct YHPersonInfoFillStepModel: SmartCodable {
var step : Int = 0
var applicantName : String = ""
var sweet_notify_status : Int = 0
}
......@@ -159,7 +159,7 @@ extension YHBrotherInfoVC : UITableViewDelegate, UITableViewDataSource {
if cellType == .inputText { // 输入文字cell
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemInputTextCell.cellReuseIdentifier, for: indexPath) as! YHFormItemInputTextCell
cell.titleLabel.text = item.getTitle()
cell.title = item.getTitle()
return cell
}
......
......@@ -168,9 +168,9 @@ extension YHCertificateViewController : UITableViewDelegate, UITableViewDataSour
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemInputTextCell.cellReuseIdentifier, for: indexPath) as! YHFormItemInputTextCell
let titleItem = arr[0] as! YHFormTitleItem
if detailItem.type == .chinaIdentityCardNumber {
cell.titleLabel.text = (titleItem.type == .chinaIdCardInfo ? "中国身份证号" : "证件号码")
cell.title = (titleItem.type == .chinaIdCardInfo ? "中国身份证号" : "证件号码")
} else {
cell.titleLabel.text = detailItem.getTitle()
cell.title = detailItem.getTitle()
}
return cell
}
......@@ -190,7 +190,7 @@ extension YHCertificateViewController : UITableViewDelegate, UITableViewDataSour
return cell
}
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemEnterDetailCell.cellReuseIdentifier, for: indexPath) as! YHFormItemEnterDetailCell
cell.titleLabel.text = detailItem.getTitle()
cell.title = detailItem.getTitle()
return cell
}
......
......@@ -177,7 +177,7 @@ extension YHChildBasicInfoVC : UITableViewDelegate, UITableViewDataSource {
if cellType == .inputText { // 输入文字cell
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemInputTextCell.cellReuseIdentifier, for: indexPath) as! YHFormItemInputTextCell
cell.titleLabel.text = item.getTitle()
cell.title = item.getTitle()
return cell
}
......
......@@ -92,7 +92,7 @@ class YHChildInitialInfoVC: YHBaseViewController {
if child.isFollow() { // 随行才加后面的信息
// 国籍
let title1 = YHFormTitleItem(type: .country)
let title1 = YHFormTitleItem(type: .nationality)
let item10 = YHFormDetailItem(type: .nationOrArea)
let arr1:[YHFormItemProtocol] = [title1, item10]
......
......@@ -70,8 +70,11 @@ class YHFamilyMemberFormVC: YHBaseViewController {
self.gk_navTitle = "家庭成员信息填写".local
view.backgroundColor = UIColor(hexString:"#F8F8F8")
createUI()
requestFamilyInfo()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
requestFamilyInfo()
}
init(orderId: Int) {
......@@ -208,7 +211,7 @@ extension YHFamilyMemberFormVC {
"not_fill_num":"",
"follow":0]]
self.familyRequest.addFamilyMember(params: dict) { [weak self] success, error in
self.familyRequest.addOrSaveFamilyMember(params: dict) { [weak self] success, error in
guard let self = self else { return }
if success {
self.requestFamilyInfo()
......@@ -220,9 +223,7 @@ extension YHFamilyMemberFormVC {
func deleteFamilyMember(orderId:Int, memberId:Int, callBack:((Bool)->Void)?) {
if orderId > 0 && memberId > 0 {
let dict = ["id":memberId, "orderId": orderId]
self.familyRequest.deleteFamilyMember(params: dict) { [weak self] success, error in
guard let self = self else { return }
self.familyRequest.deleteFamilyMember(params: dict) { success, error in
if let callBack = callBack {
callBack(success)
}
......@@ -435,18 +436,20 @@ extension YHFamilyMemberFormVC : UITableViewDelegate, UITableViewDataSource {
if item is YHFamilyMember {
let detailItem = item as! YHFamilyMember
// 父母
if detailItem.relationType == .father || detailItem.relationType == .mother {
let vc = YHParentInfoVC()
vc.parentInfo = detailItem
self.navigationController?.pushViewController(vc)
return
}
// 配偶
if detailItem.relationType == .spouse {
let vc = YHSpouseInfoVC()
vc.spouse = detailItem
vc.orderId = orderId
self.navigationController?.pushViewController(vc)
return
}
// 父母
if detailItem.relationType == .father || detailItem.relationType == .mother {
let vc = YHParentInfoVC()
vc.parentInfo = detailItem
self.navigationController?.pushViewController(vc)
return
}
......
......@@ -179,7 +179,7 @@ extension YHParentInfoVC : UITableViewDelegate, UITableViewDataSource {
if cellType == .inputText { // 输入文字cell
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemInputTextCell.cellReuseIdentifier, for: indexPath) as! YHFormItemInputTextCell
cell.titleLabel.text = item.getTitle()
cell.title = item.getTitle()
return cell
}
......
......@@ -79,34 +79,96 @@ class YHSpouseBasicInfoVC: YHBaseViewController {
func loadBasicInfo() {
guard let spouse = spouse else { return }
items.removeAll()
// 配偶信息
let title0 = YHFormTitleItem(type: .spouseInfo)
let item01 = YHFormDetailItem(type: .everName)
let item02 = YHFormDetailItem(type: .befourMarryFirstName)
let item00 = YHFormDetailItem(type: .spouseName)
item00.placeHolder = "请输入".local
item00.value = spouse.subsetName
let item01 = YHFormDetailItem(type: .everName, isNeed: false)
item01.placeHolder = "选填".local
item01.value = spouse.usedName
let item02 = YHFormDetailItem(type: .befourMarryFirstName, isNeed: false)
item02.placeHolder = "如有则填写,仅支持输入字".local
item02.value = spouse.surname
let item03 = YHFormDetailItem(type: .birthday)
item03.placeHolder = "请选择".local
item03.value = spouse.birthday
let item04 = YHFormDetailItem(type: .birthNation)
item04.value = String(spouse.isBirthOverSeas())
let item05 = YHFormDetailItem(type: .birthCity)
let arr0:[YHFormItemProtocol] = [title0, item01, item02, item03, item04, item05]
if spouse.isBirthOverSeas() {
item05.value = spouse.birthPlace?.foreign
item05.placeHolder = "请输入".local
} else {
item05.value = spouse.birthPlace?.area?.joined(separator: ",")
item05.placeHolder = "请选择".local
}
let arr0:[YHFormItemProtocol] = [title0, item00, item01, item02, item03, item04, item05]
// 职业信息
let title1 = YHFormTitleItem(type: .occupationInfo)
let item10 = YHFormDetailItem(type: .occupation)
item10.value = spouse.occupation
item10.placeHolder = "请输入".local
let item11 = YHFormDetailItem(type: .occupationName)
item11.value = spouse.occupationName
item11.placeHolder = "请输入".local
let arr1:[YHFormItemProtocol] = [title1, item10, item11]
// 职业信息
let title2 = YHFormTitleItem(type: .degreeInfo)
let item20 = YHFormDetailItem(type: .ownDegree)
item20.placeHolder = "请选择".local
item20.value = spouse.hasDegreeStr()
let item21 = YHFormDetailItem(type: .degreeDetailInfo)
let item22 = YHFormDetailItem(type: .degreeDetailInfo)
// let item21 = YHFormDetailItem(type: .degreeDetailInfo)
// let item22 = YHFormDetailItem(type: .degreeDetailInfo)
let item23 = YHFormAddItem(type: .addDegree)
let arr2:[YHFormItemProtocol] = [title2, item20, item21, item22, item23]
let arr2:[YHFormItemProtocol] = [title2, item20, item23]
// 在港信息
let title3 = YHFormTitleItem(type: .inHongKongInfo)
let item30 = YHFormDetailItem(type: .isNowInHK)
item30.value = String(spouse.isNowInHK())
var arr3:[YHFormItemProtocol] = [title3, item30]
if spouse.isNowInHK() { // 目前在港才显示 逗留期限和在港身份
let item31 = YHFormDetailItem(type: .stayHKDate)
item31.placeHolder = "请选择".local
item31.value = spouse.childInHk?.info
let title3 = YHFormTitleItem(type: .hkIdentityCardInfo)
let item30 = YHFormDetailItem(type: .isHaveHkIdentityCard)
let item31 = YHFormDetailItem(type: .hkIdentityCardNumber)
let arr3:[YHFormItemProtocol] = [title3, item30, item31]
let item32 = YHFormDetailItem(type: .roleInHK)
item32.placeHolder = "请选择".local
item32.value = spouse.hkIdentity
items.append(contentsOf: [arr0, arr1, arr2, arr3])
arr3.append(contentsOf: [item31, item32])
}
// 香港身份证
let title4 = YHFormTitleItem(type: .hkIdentityCardInfo)
let item40 = YHFormDetailItem(type: .isHaveHkIdentityCard)
item40.value = String(spouse.isHaveHKIdentityCard())
var arr4:[YHFormItemProtocol] = [title4, item40]
if spouse.isHaveHKIdentityCard() { // 办理过香港身份证才显示证号
let item41 = YHFormDetailItem(type: .hkIdentityCardNumber)
item41.value = spouse.hkIdentityCard
arr4.append(item41)
}
items.append(contentsOf: [arr0, arr1, arr2, arr3, arr4])
tableView.reloadData()
}
......@@ -120,6 +182,19 @@ class YHSpouseBasicInfoVC: YHBaseViewController {
}
if item is YHFormDetailItem {
let detailItem = item as! YHFormDetailItem
if detailItem.type == .birthCity {
var isBirthOverSeas = false
if let spouse = spouse {
isBirthOverSeas = spouse.isBirthOverSeas()
}
if isBirthOverSeas {
return .inputText
} else {
return .selectSheet
}
}
if detailItem.type == .spouseName
|| detailItem.type == .everName
|| detailItem.type == .befourMarryFirstName
......@@ -129,7 +204,6 @@ class YHSpouseBasicInfoVC: YHBaseViewController {
return .inputText
}
if detailItem.type == .birthday
|| detailItem.type == .birthCity
|| detailItem.type == .occupation
|| detailItem.type == .stayHKDate
|| detailItem.type == .roleInHK
......@@ -181,31 +255,93 @@ extension YHSpouseBasicInfoVC : UITableViewDelegate, UITableViewDataSource {
return cell
}
if cellType == .addItem { // 新增item cell
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemAddCell.cellReuseIdentifier, for: indexPath) as! YHFormItemAddCell
cell.title = item.getTitle()
return cell
}
if item is YHFormDetailItem {
let detailItem = item as! YHFormDetailItem
if cellType == .inputText { // 输入文字cell
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemInputTextCell.cellReuseIdentifier, for: indexPath) as! YHFormItemInputTextCell
cell.titleLabel.text = item.getTitle()
cell.isMust = detailItem.isNeed
cell.placeHolder = detailItem.placeHolder
cell.title = detailItem.getTitle()
cell.text = detailItem.value
cell.textChange = {
[weak self] text in
guard let self = self else { return }
if detailItem.type == .spouseName {
self.spouse?.subsetName = text
} else if detailItem.type == .everName {
self.spouse?.usedName = text
} else if detailItem.type == .befourMarryFirstName {
self.spouse?.surname = text
} else if detailItem.type == .birthCity {
self.spouse?.birthPlace?.foreign = text
} else if detailItem.type == .occupationName {
self.spouse?.occupationName = text
} else if detailItem.type == .hkIdentityCardNumber {
self.spouse?.hkIdentityCard = text
}
}
return cell
}
if cellType == .selectSheet { // 点击选择列表cell
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemSelectSheetCell.cellReuseIdentifier, for: indexPath) as! YHFormItemSelectSheetCell
cell.title = item.getTitle()
cell.isMust = detailItem.isNeed
cell.placeHolder = detailItem.placeHolder
cell.title = detailItem.getTitle()
cell.detail = detailItem.value
return cell
}
if cellType == .twoChoice { // 双项选择cell
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemDoubleChoiceCell.cellReuseIdentifier, for: indexPath) as! YHFormItemDoubleChoiceCell
cell.isMust = detailItem.isNeed
cell.title = item.getTitle()
let answers = [YHFormChoiceItem(title: "是".local, isSelect: true),
YHFormChoiceItem(title: "否".local, isSelect: false)]
cell.answerArr = nil
if detailItem.type == .birthNation { // 出生国家
var select = false
if let value = detailItem.value {
select = Bool(value)!
}
let answers = [YHFormChoiceItem(title: "国内".local, isSelect: !select),
YHFormChoiceItem(title: "国外".local, isSelect: select)]
cell.answerArr = answers
return cell
cell.answerBlock = {
[weak self] (answers, index) in
guard let self = self else { return }
let selectItem = answers[index]
self.spouse?.setBirthOverSeas(selectItem.title == "国外".local)
self.loadBasicInfo()
}
} else if detailItem.type == .isHaveHkIdentityCard || detailItem.type == .isNowInHK { // 是否办理过香港身份证 是否在岗
var select = false
if let value = detailItem.value {
select = Bool(value)!
}
let answers = [YHFormChoiceItem(title: "是".local, isSelect: select),
YHFormChoiceItem(title: "否".local, isSelect: !select)]
cell.answerArr = answers
cell.answerBlock = {
[weak self] (answers, index) in
guard let self = self else { return }
let selectItem = answers[index]
if detailItem.type == .isNowInHK {
self.spouse?.setNowIsInHK(selectItem.title == "是".local)
} else if detailItem.type == .isHaveHkIdentityCard {
self.spouse?.setHaveHKIdentityCard(selectItem.title == "是".local)
}
self.loadBasicInfo()
}
}
if cellType == .addItem { // 新增item cell
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemAddCell.cellReuseIdentifier, for: indexPath) as! YHFormItemAddCell
cell.title = item.getTitle()
return cell
}
......@@ -215,6 +351,7 @@ extension YHSpouseBasicInfoVC : UITableViewDelegate, UITableViewDataSource {
cell.title = item.getTitle()
return cell
}
}
return createDefaultCell(indexPath)
}
......@@ -271,8 +408,74 @@ extension YHSpouseBasicInfoVC : UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let vc = YHParentInfoVC()
self.navigationController?.pushViewController(vc)
if !(0..<items.count).contains(indexPath.section) { return }
let arr:[YHFormItemProtocol] = items[indexPath.section]
if !(0..<arr.count).contains(indexPath.row) { return }
let item = arr[indexPath.row]
if item is YHFormDetailItem {
let detailItem = item as! YHFormDetailItem
if detailItem.type == .birthday || detailItem.type == .stayHKDate { // 出生日期/获准滞留至
YHDatePickView.show(type: .yyyymmdd) { [weak self] date in
guard let self = self else { return }
if detailItem.type == .birthday {
self.spouse?.birthday = date
} else if detailItem.type == .stayHKDate {
self.spouse?.childInHk?.info = date
}
self.loadBasicInfo()
}
} else if detailItem.type == .birthCity { // 出生城市
var isBirthOverSeas = false
if let spouse = spouse {
isBirthOverSeas = spouse.isOverSeasOver1Year()
}
// 出生国外时 出生城市是输入框
if isBirthOverSeas { return }
let vc = YHAddressViewController()
vc.backLocationStringController = {
[weak self] (string1, string2, string3, string4) in
guard let self = self else { return }
print("\(string1)\n\(string2)\n\(string3)\n\(string4)")
self.spouse?.birthPlace?.area = [string2, string3, string4]
self.loadBasicInfo()
}
self.present(vc, animated: true)
} else if detailItem.type == .roleInHK { // 在港身份
let identity = self.spouse?.hkIdentity ?? ""
YHFormPickerView.show(type: .identity, selectTitle:identity ) {
[weak self] selectType in
guard let self = self else { return }
self.spouse?.hkIdentity = selectType.title
self.loadBasicInfo()
}
} else if detailItem.type == .occupation {
let occupation = self.spouse?.occupation ?? ""
YHFormPickerView.show(type: .occupation, selectTitle:occupation ) {
[weak self] selectType in
guard let self = self else { return }
self.spouse?.occupation = selectType.title
self.loadBasicInfo()
}
} else if detailItem.type == .ownDegree {
let hasDegree = self.spouse?.hasDegree ?? "无学位"
YHFormPickerView.show(type: .ownDegree, selectTitle:hasDegree ) {
[weak self] selectType in
guard let self = self else { return }
let ownDegree = (selectType.title == YHFormPickerViewSubType.ownDegree(.hasDegree).title)
self.spouse?.setHasDegree(ownDegree)
self.loadBasicInfo()
}
}
}
}
func createCorner(cell:UITableViewCell, arr:Array<Any>, indexPath:IndexPath) {
......
......@@ -8,7 +8,17 @@
import UIKit
class YHSpouseInfoVC: YHBaseViewController {
@objc protocol YHSpouseInfoVCProtocol {
@objc optional func updateStepView()
}
class YHSpouseInfoVC: YHBaseViewController, YHSpouseInfoVCProtocol {
let familyRequest:YHFamilyRequestViewModel = YHFamilyRequestViewModel()
var orderId:Int = 0
var spouse:YHFamilyMember? {
didSet {
......@@ -19,8 +29,9 @@ class YHSpouseInfoVC: YHBaseViewController {
}
var currentIndex = 0 {
didSet {
currentIndex %= 4
currentIndex %= self.children.count
stepView.currentIndex = currentIndex
for (i, vc) in self.children.enumerated() {
vc.view.isHidden = (currentIndex != i)
......@@ -33,11 +44,6 @@ class YHSpouseInfoVC: YHBaseViewController {
var stepView:YHStepView = {
let step = YHStepView()
step.dataSource = ["初始信息", "证件上传", "基本信息", "证件信息"]
step.block = { (index) in
// guard let self = self else { return }
}
return step
}()
......@@ -57,15 +63,12 @@ class YHSpouseInfoVC: YHBaseViewController {
func createUI() {
self.addChild(initalInfoVC)
self.addChild(uploadVC)
self.addChild(passportInfoVC)
self.addChild(basicInfoVC)
guard let spouse = spouse else { return }
self.view.addSubview(basicInfoVC.view)
self.view.addSubview(passportInfoVC.view)
self.view.addSubview(uploadVC.view)
self.view.addSubview(initalInfoVC.view)
initalInfoVC.delegate = self
updateStepView()
currentIndex = 0
......@@ -81,7 +84,7 @@ class YHSpouseInfoVC: YHBaseViewController {
bottomView.saveBlock = {
[weak self] in
guard let self = self else { return }
self.didClickSaveBtn()
self.save()
}
stepView.snp.makeConstraints { make in
......@@ -102,7 +105,70 @@ class YHSpouseInfoVC: YHBaseViewController {
}
func didClickSaveBtn() {
func updateStepView() {
guard let spouse = spouse else { return }
for vc in self.children {
vc.willMove(toParent: nil)
vc.removeFromParent()
}
if spouse.isFollow() {
self.addChild(initalInfoVC)
self.addChild(uploadVC)
self.addChild(passportInfoVC)
self.addChild(basicInfoVC)
self.view.addSubview(basicInfoVC.view)
self.view.addSubview(passportInfoVC.view)
self.view.addSubview(uploadVC.view)
self.view.addSubview(initalInfoVC.view)
stepView.dataSource = ["初始信息".local, "证件上传".local, "证件信息".local, "基本信息".local]
stepView.block = {[weak self] (index) in
guard let self = self else { return }
print("follow:%d", self.orderId)
}
} else {
self.addChild(initalInfoVC)
self.addChild(basicInfoVC)
self.view.addSubview(basicInfoVC.view)
self.view.addSubview(initalInfoVC.view)
stepView.dataSource = ["初始信息".local, "基本信息".local]
stepView.block = {[weak self] (index) in
guard let self = self else { return }
print("follow:%d", self.orderId)
}
}
self.view.bringSubviewToFront(stepView)
self.view.bringSubviewToFront(bottomView)
}
}
extension YHSpouseInfoVC {
func save() {
guard let spouse = spouse else { return }
guard let info = spouse.toDictionary() else { return }
let dict:[String: Any] = ["orderId":self.orderId,
"relation":spouse.relationType.rawValue,
"step":spouse.step,
"next":false,
"info":info]
self.familyRequest.addOrSaveFamilyMember(params:dict) { [weak self] success, error in
guard let self = self else { return }
if success {
}
}
}
}
......@@ -12,6 +12,7 @@ import SmartCodable
class YHSpouseInitialInfoVC: YHBaseViewController {
var spouse:YHFamilyMember?
weak var delegate:YHSpouseInfoVCProtocol?
lazy var items:[[YHFormItemProtocol]] = [[YHFormItemProtocol]]()
......@@ -32,7 +33,7 @@ class YHSpouseInitialInfoVC: YHBaseViewController {
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHFormItemDoubleChoiceCell.self, forCellReuseIdentifier: YHFormItemDoubleChoiceCell.cellReuseIdentifier)
tableView.register(YHFormItemInputTextCell.self, forCellReuseIdentifier: YHFormItemInputTextCell.cellReuseIdentifier)
tableView.register(YHFormItemEnterDetailCell.self, forCellReuseIdentifier: YHFormItemEnterDetailCell.cellReuseIdentifier)
tableView.register(YHFormItemSelectSheetCell.self, forCellReuseIdentifier: YHFormItemSelectSheetCell.cellReuseIdentifier)
tableView.register(YHFormItemTitleCell.self, forCellReuseIdentifier: YHFormItemTitleCell.cellReuseIdentifier)
tableView.register(YHFormItemAddCell.self, forCellReuseIdentifier: YHFormItemAddCell.cellReuseIdentifier)
return tableView
......@@ -56,43 +57,60 @@ class YHSpouseInitialInfoVC: YHBaseViewController {
// 随行
let title0 = YHFormTitleItem(type: .accompany)
let item0 = YHFormDetailItem(type: .isAccompanyToHK)
item0.value = String(spouse.follow == 1)
item0.value = String(spouse.isFollow())
let arr0:[YHFormItemProtocol] = [title0, item0]
items.append(arr0)
if spouse.isFollow() { // 随行才加后面的信息
// 国籍
let title1 = YHFormTitleItem(type: .country)
let title1 = YHFormTitleItem(type: .nationality)
let item10 = YHFormDetailItem(type: .nationOrArea)
item10.value = spouse.nationality
item10.placeHolder = "请选择".local
let arr1:[YHFormItemProtocol] = [title1, item10]
// 居住信息
var arr2 = [YHFormItemProtocol]()
let title2 = YHFormTitleItem(type: .liveInfo)
let item20 = YHFormDetailItem(type: .isLiveTother)
item20.value = String(spouse.finishFollow == 1)
item20.value = String(spouse.isLiveTother())
arr2.append(title2)
arr2.append(item20)
if !spouse.isLiveTother() { // 不同住 才需填写国家/地区
let item21 = YHFormDetailItem(type: .nationOrArea)
item21.value = spouse.address?.country
item21.placeHolder = "请选择".local
arr2.append(item21)
// 国家/地区已填写 才显示现居住城市和详细地址两行
if let address = spouse.address {
if let country = address.country, !country.isEmpty {
// 居住信息中选择中国才会显示现居住城市
let isLiveInChina = country.contains("中国".local)
if isLiveInChina {
let item22 = YHFormDetailItem(type: .liveCity)
if let area = address.area {
item22.value = area.joined(separator: "/")
}
item22.placeHolder = "请选择城市".local
arr2.append(item22)
}
let item23 = YHFormDetailItem(type: .detailAddress)
item23.value = address.details
item23.placeHolder = "请填写小区、楼栋、单元室等"
arr2.append(item22)
item23.placeHolder = (isLiveInChina ? "请填写小区、楼栋、单元室等".local : "请填写国外居住地".local)
arr2.append(item23)
if !isLiveInChina {// 在国外
// 是否在海外居住满1年及以上
let item24 = YHFormDetailItem(type: .isLiveOverSeasMore1Year)
item24.value = String(spouse.isOverSeasOver1Year())
arr2.append(item24)
}
}
}
}
......@@ -153,9 +171,11 @@ extension YHSpouseInitialInfoVC : UITableViewDelegate, UITableViewDataSource {
let detailItem = item as! YHFormDetailItem
if detailItem.type == .isAccompanyToHK || detailItem.type == .isHandleHKPassPort || detailItem.type == .isLiveTother {
// 是否随行到香港 / 是否办理港澳通行证 / // 是否与主申请人同住 均用双项按钮cell
if detailItem.type == .isAccompanyToHK || detailItem.type == .isHandleHKPassPort || detailItem.type == .isLiveTother || detailItem.type == .isLiveOverSeasMore1Year {
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemDoubleChoiceCell.cellReuseIdentifier, for: indexPath) as! YHFormItemDoubleChoiceCell
cell.isMust = detailItem.isNeed
cell.title = detailItem.getTitle()
var select = false
......@@ -169,25 +189,34 @@ extension YHSpouseInitialInfoVC : UITableViewDelegate, UITableViewDataSource {
[weak self] (arr, selectIndex) in
guard let self = self else { return }
let selectItem:YHFormChoiceItem = arr[selectIndex]
let option = (selectItem.title == "是".local ? true : false)
if detailItem.type == .isAccompanyToHK { // 是否随行
self?.spouse?.setFollow(option)
self?.loadSponseInfo()
self.spouse?.setFollow(option)
self.loadSponseInfo()
if let delegate = self.delegate {
delegate.updateStepView?()
}
} else if detailItem.type == .isHandleHKPassPort { // 是否办理港澳通行证
self?.spouse?.setNeedHandleHKPassPort(option)
self?.loadSponseInfo()
self.spouse?.setNeedHandleHKPassPort(option)
self.loadSponseInfo()
} else if detailItem.type == .isLiveTother { // 是否与主申请人同住
self?.spouse?.setLiveTother(option)
self.spouse?.setLiveTother(option)
if option {
self?.spouse?.address?.country = nil
self?.spouse?.address?.details = nil
self?.spouse?.address?.area = nil
self.spouse?.address?.country = nil
self.spouse?.address?.details = nil
self.spouse?.address?.area = nil
}
self?.loadSponseInfo()
self.loadSponseInfo()
} else if detailItem.type == .isLiveOverSeasMore1Year { // 是否在海外居住满1年及以上
self.spouse?.setOverSearsOver1Year(option)
self.loadSponseInfo()
}
}
return cell
......@@ -196,11 +225,11 @@ extension YHSpouseInitialInfoVC : UITableViewDelegate, UITableViewDataSource {
if detailItem.type == .nationOrArea || detailItem.type == .liveCity {
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemEnterDetailCell.cellReuseIdentifier, for: indexPath) as! YHFormItemEnterDetailCell
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemSelectSheetCell.cellReuseIdentifier, for: indexPath) as! YHFormItemSelectSheetCell
cell.isMust = detailItem.isNeed
cell.title = detailItem.getTitle()
cell.detailLabel.text = detailItem.value
cell.detailLabel.textAlignment = .left
cell.placeHolder = detailItem.placeHolder
cell.detail = detailItem.value
return cell
}
......@@ -208,8 +237,8 @@ extension YHSpouseInitialInfoVC : UITableViewDelegate, UITableViewDataSource {
let cell = tableView.dequeueReusableCell(withIdentifier: YHFormItemInputTextCell.cellReuseIdentifier, for: indexPath) as! YHFormItemInputTextCell
cell.isMust = detailItem.isNeed
cell.title = detailItem.getTitle()
cell.textField.text = detailItem.value
cell.textField.placeholder = detailItem.placeHolder
cell.text = detailItem.value
cell.placeHolder = detailItem.placeHolder
cell.textChange = {
[weak self] text in
guard let self = self else { return }
......@@ -253,7 +282,8 @@ extension YHSpouseInitialInfoVC : UITableViewDelegate, UITableViewDataSource {
let detailItem = item as! YHFormDetailItem
if detailItem.type == .isLiveTother ||
detailItem.type == .isAccompanyToHK ||
detailItem.type == .isHandleHKPassPort
detailItem.type == .isHandleHKPassPort ||
detailItem.type == .isLiveOverSeasMore1Year
{
return UITableView.automaticDimension
}
......@@ -286,30 +316,36 @@ extension YHSpouseInitialInfoVC : UITableViewDelegate, UITableViewDataSource {
if item is YHFormDetailItem {
let detailItem = item as! YHFormDetailItem
if detailItem.type == .nationOrArea ||
detailItem.type == .liveCity ||
detailItem.type == .detailAddress
{
YHFormPickerView.show(type:.certificate, selectType: .certificate(.passport)) { [weak self] selectType in
let res = selectType.title
if let self = self {
// 选国籍/现居住城市/详细地址
if detailItem.type == .nationOrArea {
let vc = YHSelectCountryViewController()
vc.backLocationStringController = {
[weak self] country in
guard let self = self else { return }
let title = arr[0] as! YHFormTitleItem
if title.type == .liveInfo {
self.spouse?.address?.country = res
} else if title.type == .country {
self.spouse?.nationality = res
}
if title.type == .nationality {
self.spouse?.nationality = country
} else if title.type == .liveInfo {
self.spouse?.address?.country = country
} else if detailItem.type == .liveCity {
self.spouse?.address?.area = [res, res]
} else if detailItem.type == .detailAddress {
self.spouse?.address?.details = res
}
self.loadSponseInfo()
}
self.navigationController?.pushViewController(vc)
} else if detailItem.type == .liveCity {
let vc = YHAddressViewController()
vc.backLocationStringController = {
[weak self] (string1, string2, string3, string4) in
guard let self = self else { return }
print("\(string1)\n\(string2)\n\(string3)\n\(string4)")
self.spouse?.address?.area = [string2, string3, string4]
self.loadSponseInfo()
}
self.present(vc, animated: true)
}
}
}
......
......@@ -30,7 +30,7 @@ enum YHFormTitleItemType:Int, CaseIterable {
// 随行
case accompany
// 国籍
case country
case nationality
// 居住信息
case liveInfo
// 港澳通信证
......@@ -88,6 +88,8 @@ enum YHFormDetailItemType:Int {
case liveCity
// 详细地址
case detailAddress
// 是否在海外居住满1年及以上
case isLiveOverSeasMore1Year
// 是否办理
case isHandleHKPassPort
......@@ -208,7 +210,7 @@ class YHFormTitleItem : YHFormItemProtocol {
return "子女".local
case .accompany:
return "随行".local
case .country:
case .nationality:
return "国籍".local
case .liveInfo:
return "居住信息".local
......@@ -258,7 +260,7 @@ class YHFormTitleItem : YHFormItemProtocol {
return "".local
case .accompany:
return "".local
case .country:
case .nationality:
return "".local
case .liveInfo:
return "".local
......@@ -323,70 +325,50 @@ class YHFormDetailItem : YHFormItemProtocol {
return "现居住城市".local
case .detailAddress:
return "详细地址".local
case .isLiveOverSeasMore1Year:
return "是否在海外居住满1年及以上".local
case .isHandleHKPassPort:
return "是否办理".local
// 证件类别
case .certificateType:
return "证件类别".local
// 证件号码
case .certificateNumber:
return "证件号码".local
// 证件号码
case .chinaIdentityCardNumber:
return "中国身份证号".local
// 旅行证件号码
case .traverlPassportNumber:
return "旅行证件号码".local
// 签发日期
case .certificateSignDate:
return "签发日期".local
// 届满日期
case .certificateValidDate:
return "届满日期".local
case .certificateSignPlace:
return "签发地".local
// 配偶姓名
case .spouseName:
return "配偶姓名".local
// 曾用名
case .everName:
return "曾用名".local
// 婚前姓氏
case .befourMarryFirstName:
return "婚前姓氏".local
// 出生日期
case .birthday:
return "出生日期".local
// 出生国家/地区
case .birthNation:
return "出生国家/地区".local
// 出生城市
case .birthCity:
return "出生城市".local
// 职业
case .occupation:
return "职业".local
// 职业名称
case .occupationName:
return "职业名称".local
// 是否拥有学位
case .ownDegree:
return "是否拥有学位".local
// 目前是否在港
case .isNowInHK:
return "目前是否在港".local
// 获准逗留至
case .stayHKDate:
return "获准逗留至".local
// 在港身份
case .roleInHK:
return "在港身份".local
// 是否办理过(香港身份证)
case .isHaveHkIdentityCard:
return "是否办理过".local
// 香港身份证号码
case .hkIdentityCardNumber:
return "香港身份证号码".local
case .degreeDetailInfo:
......@@ -474,98 +456,82 @@ enum YHFamilyMemberType: Int {
class YHFamilyMember: SmartCodable, YHFormItemProtocol {
// 是否随行
func isFollow() -> Bool {
return follow == 1
}
func setFollow(_ follow:Bool) {
self.follow = (follow ? 1 : 0)
}
// 是否要办理港澳通行证
func isNeedHandleHKPassPort() -> Bool {
return self.isHandled == 1
}
func setNeedHandleHKPassPort(_ need:Bool) {
self.isHandled = (need ? 1 : 0)
}
// 是否与主申请人同住
func isLiveTother() -> Bool {
return self.finishFollow == 1
}
func setLiveTother(_ together:Bool) {
self.finishFollow = (together ? 1 : 0)
}
var id: Int = 0
// 是否已故
var deceased: Int = 0
var custody: Int = 0
// 国籍
var nationality: String?
var orderId: Int = 0
// 关系 1父亲 2母亲 3配偶 4子女 5兄弟姐妹
var relation: String?
// 是否拥有学位
var hasDegree: String?
// mark any
// var hasDegreeJson: [YHHasDegreeJson]?
var hasDegreeJson: SmartAny?
// 是否随行至香港
var follow: Int = 0
var statement: Int = 0
// 姓名
var subsetName: String?
// mark any
// var subsetNamePinyin: YHSubsetNamePinyin?
var subsetNamePinyin: SmartAny?
// 曾用名
var usedName: String?
// 出生日期
var birthday: String?
// 出生国家地区 (国内/国外)
var birthPlaceAboard: Int = 0
// mark any
// var birthPlace: YHAddress?
var birthPlace: SmartAny?
// 出生地址信息
var birthPlace: YHAddress?
// 职业
var occupation: String?
// 职业名称
var occupationName: String?
// mark any
var operatorAme: SmartAny?
// mark any
// var childHasHkId: YHChildStepchildClass?
var childHasHkId: SmartAny?
// 香港身份证号
var hkIdentityCard: String?
// 性别
var sex: Int = 0
// 婚姻状况
var married: String?
// 是否与主申请人同住
var nows: Int = 0
// 居住地址
var address: YHAddress?
// mark any
// var childStepchild: YHChildStepchildClass?
var childStepchild: SmartAny?
// mark any
// var childInHk: YHChildStepchildClass?
var childInHk: SmartAny?
// 香港身份证信息
var childHasHkId: YHChildStepchildClass?
var childStepchild: YHChildStepchildClass?
// 在港信息
var childInHk: YHChildStepchildClass?
// mark any
var countryIdentity: SmartAny?
// 在港身份
var hkIdentity: String?
var hkIdentityOther: String?
// 现居住国家
var liveCountry: String?
// 是否要办理港澳通行证
var isHandled: Int = 0
var finishFollow: Int = 0
var step: Int = 0
// 未填写项数
var notFillNum: Int = 0
// 是否在海外居住满1年及以上
var isLiveOverseaYear: Int = 0
// 婚前刑事
var surname: String?
// mark any
......@@ -618,6 +584,97 @@ class YHFamilyMember: SmartCodable, YHFormItemProtocol {
}
// 是否随行
func isFollow() -> Bool {
return follow == 1
}
func setFollow(_ value:Bool) {
self.follow = (value ? 1 : 0)
}
// 是否要办理港澳通行证
func isNeedHandleHKPassPort() -> Bool {
return self.isHandled == 1
}
func setNeedHandleHKPassPort(_ value:Bool) {
self.isHandled = (value ? 1 : 0)
}
// 是否与主申请人同住
func isLiveTother() -> Bool {
return self.nows == 1
}
func setLiveTother(_ value:Bool) {
self.nows = (value ? 1 : 0)
}
// 是否在海外居住满1年及以上
func isOverSeasOver1Year() -> Bool {
return self.isLiveOverseaYear == 1
}
func setOverSearsOver1Year(_ value:Bool) {
self.isLiveOverseaYear = value ? 1 : 0
}
// 是否出生国外
func isBirthOverSeas() -> Bool {
return self.birthPlaceAboard == 1
}
func setBirthOverSeas(_ value:Bool) {
return self.birthPlaceAboard = value ? 1 : 0
}
// 目前是否在港
func isNowInHK() -> Bool {
if let inHK = self.childInHk {
if inHK.has == "Y" {
return true
} else if inHK.has == "N" {
return false
}
}
return false
}
func setNowIsInHK(_ value:Bool) {
self.childInHk?.has = value ? "Y" : "N"
}
// 是否办理过香港身份证
func isHaveHKIdentityCard() -> Bool {
if let hasHkId = self.childHasHkId {
if hasHkId.has == "Y" {
return true
} else if hasHkId.has == "N" {
return false
}
}
return false
}
func setHaveHKIdentityCard(_ value:Bool) {
self.childHasHkId?.has = value ? "Y" : "N"
}
// 是否拥有学位
func hasDegreeStr() -> String? {
if hasDegree == "1" {
return "有学位"
} else {
return "无学位"
}
}
func setHasDegree(_ val:Bool) {
self.hasDegree = val ? "1" : "0"
}
var relationType:YHFamilyMemberType {
if relation == "1" {
......
......@@ -43,7 +43,7 @@ class YHFamilyRequestViewModel {
}
// 添加家庭成员
func addFamilyMember(params:[String:Any], callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
func addOrSaveFamilyMember(params:[String:Any], callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
YHHUD.show(.progress(message: "数据加载中..."))
......@@ -76,9 +76,8 @@ class YHFamilyRequestViewModel {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.familyMemberDeleteApi
let _ = YHNetRequest.postRequest(url: strUrl, params:params) {[weak self] json, code in
let _ = YHNetRequest.postRequest(url: strUrl, params:params) { json, code in
YHHUD.hide()
guard let self = self else { return }
guard let model = NetBaseModel.deserialize(dict: json) else {
let error : YHErrorModel = YHErrorModel(errorCode:YHErrorCode.dictParseError.rawValue,errorMsg: YHErrorCode.dictParseError.description())
callBackBlock(false,error)
......
......@@ -21,6 +21,7 @@
print(selectType.title)
}
*/
......@@ -30,17 +31,22 @@ enum YHFormPickerViewType: Int {
// 按自然顺序递增
case none = 0
// 学位
case degree = 1
case degree
// 学位有无
case ownDegree
// 婚姻
case marriage = 2
case marriage
// 授课形式
case edution = 3
case edution
// 职业
case occupation = 4
case occupation
// 性别
case gender = 5
case gender
// 证件
case certificate = 6
case certificate
// 在港身份
case identity
}
enum YHFormPickerViewSubType {
......@@ -48,10 +54,12 @@ enum YHFormPickerViewSubType {
case none
case marriage(YHPickerViewMarriageType)
case degree(YHPickerViewDegreeType)
case ownDegree(YHPickerViewHasDegreeType)
case education(YHPickerViewEducationType)
case occupation(YHPickerViewOccupationType)
case gender(YHPickerViewGenderType)
case certificate(YHPickerViewCertificateType)
case identity(YHPickerViewIdentityType)
var title:String {
switch self {
......@@ -59,6 +67,11 @@ enum YHFormPickerViewSubType {
case .none:
return "".local
case .ownDegree(.hasDegree):
return "有学位".local
case .ownDegree(.noDegree):
return "无学位".local
case .marriage(.unmarriage):
return "未婚".local
case .marriage(.marriaged):
......@@ -112,6 +125,16 @@ enum YHFormPickerViewSubType {
return "联合国通行证".local
case .certificate(.officialPassport):
return "公务护照".local
case .identity(.student):
return "学生".local
case .identity(.employment):
return "就业".local
case .identity(.residence):
return "居留".local
case .identity(.visit):
return "访问".local
case .identity(.other):
return "其他".local
}
}
......@@ -176,72 +199,13 @@ enum YHFormPickerViewSubType {
case .certificate(.officialPassport):
return 6
case .ownDegree(_):
return 0
case .identity(_):
return 1
}
}
static func getType(_ title: String?) -> YHFormPickerViewSubType {
guard let title = title else { return .none }
if title == "未婚".local {
return .marriage(.unmarriage)
} else if title == "已婚".local {
return .marriage(.marriaged)
} else if title == "分居".local {
return .marriage(.separated)
} else if title == "离婚".local {
return .marriage(.divorced)
} else if title == "丧偶".local {
return .marriage(.widowed)
} else if title == "学士学位".local {
return .degree(.bachelor)
} else if title == "硕士学位".local {
return .degree(.master)
} else if title == "硕士学位".local {
return .degree(.doctor)
} else if title == "全日制".local {
return .education(.fullTime)
} else if title == "兼读制".local {
return .education(.partTime)
} else if title == "遥距课程".local {
return .education(.distanceCourses)
} else if title == "在职".local {
return .occupation(.onTheJob)
} else if title == "退休".local {
return .occupation(.retire)
} else if title == "无业".local {
return .occupation(.unemployed)
} else if title == "学生".local {
return .occupation(.student)
} else if title == "男".local {
return .gender(.male)
} else if title == "女".local {
return .gender(.female)
} else if title == "护照".local {
return .certificate(.passport)
} else if title == "外交护照".local {
return .certificate(.diplomaticPassport)
} else if title == "旅游通行证".local {
return .certificate(.travelPassport)
} else if title == "公务护照".local {
return .certificate(.officialPassport)
} else if title == "中国发无国籍旅游证件".local {
return .certificate(.chineseStatelessTravelPassport)
} else if title == "其他无国籍旅行证件".local {
return .certificate(.otherStatelessTravelPassport)
} else if title == "联合国通行证".local {
return .certificate(.unitedNationsPassport)
}
return .none
}
}
......@@ -312,6 +276,26 @@ enum YHPickerViewCertificateType: Int {
}
enum YHPickerViewIdentityType {
// 学生
case student
// 就业
case employment
// 居留
case residence
// 访问
case visit
// 其他
case other
}
enum YHPickerViewHasDegreeType {
// 无学位
case noDegree
// 有学位
case hasDegree
}
class YHFormPickerViewItem {
......@@ -329,14 +313,14 @@ class YHFormPickerView: UIView {
let type: YHFormPickerViewType
var selectType:YHFormPickerViewSubType?
var selectTitle:String? {
private var selectType:YHFormPickerViewSubType?
private var selectTitle:String? {
didSet {
let type:YHFormPickerViewSubType = YHFormPickerViewSubType.getType(selectTitle)
let type:YHFormPickerViewSubType = getSubType(selectTitle)
selectType = type
}
}
var selectBlock:((YHFormPickerViewSubType)->Void)?
private var selectBlock:((YHFormPickerViewSubType)->Void)?
var title: String? {
didSet {
......@@ -460,6 +444,19 @@ class YHFormPickerView: UIView {
YHFormPickerViewItem(type: .certificate(.travelPassport)),
YHFormPickerViewItem(type: .certificate(.unitedNationsPassport)),
YHFormPickerViewItem(type: .certificate(.otherStatelessTravelPassport))],
// 在港身份
.identity:
[YHFormPickerViewItem(type: .identity(.student)),
YHFormPickerViewItem(type: .identity(.employment)),
YHFormPickerViewItem(type: .identity(.residence)),
YHFormPickerViewItem(type: .identity(.visit)),
YHFormPickerViewItem(type: .identity(.other))],
.ownDegree:
[YHFormPickerViewItem(type: .ownDegree(.noDegree)),
YHFormPickerViewItem(type: .ownDegree(.hasDegree))]
]
}()
......@@ -604,6 +601,10 @@ class YHFormPickerView: UIView {
return "选择性别"
case .certificate:
return "选择证件"
case .identity:
return "选择在港身份"
case .ownDegree:
return "是否拥有学位"
}
}
}
......@@ -660,3 +661,98 @@ extension YHFormPickerView: UIPickerViewDelegate, UIPickerViewDataSource {
return label
}
}
extension YHFormPickerView {
func getSubType(_ title: String?) -> YHFormPickerViewSubType {
guard let title = title else { return .none }
switch type {
case .none:
return .none
case .degree:
if title == "学士学位".local {
return .degree(.bachelor)
} else if title == "硕士学位".local {
return .degree(.master)
} else if title == "硕士学位".local {
return .degree(.doctor)
}
case .marriage:
if title == "未婚".local {
return .marriage(.unmarriage)
} else if title == "已婚".local {
return .marriage(.marriaged)
} else if title == "分居".local {
return .marriage(.separated)
} else if title == "离婚".local {
return .marriage(.divorced)
} else if title == "丧偶".local {
return .marriage(.widowed)
}
case .edution:
if title == "全日制".local {
return .education(.fullTime)
} else if title == "兼读制".local {
return .education(.partTime)
} else if title == "遥距课程".local {
return .education(.distanceCourses)
}
case .occupation:
if title == "在职".local {
return .occupation(.onTheJob)
} else if title == "退休".local {
return .occupation(.retire)
} else if title == "无业".local {
return .occupation(.unemployed)
} else if title == "学生".local {
return .occupation(.student)
}
case .gender:
if title == "男".local {
return .gender(.male)
} else if title == "女".local {
return .gender(.female)
}
case .certificate:
if title == "护照".local {
return .certificate(.passport)
} else if title == "外交护照".local {
return .certificate(.diplomaticPassport)
} else if title == "旅游通行证".local {
return .certificate(.travelPassport)
} else if title == "公务护照".local {
return .certificate(.officialPassport)
} else if title == "中国发无国籍旅游证件".local {
return .certificate(.chineseStatelessTravelPassport)
} else if title == "其他无国籍旅行证件".local {
return .certificate(.otherStatelessTravelPassport)
} else if title == "联合国通行证".local {
return .certificate(.unitedNationsPassport)
}
case .identity:
if title == "学生".local {
return .identity(.student)
} else if title == "就业".local {
return .identity(.employment)
} else if title == "居留".local {
return .identity(.residence)
} else if title == "访问".local {
return .identity(.visit)
} else if title == "其他".local {
return .identity(.other)
}
case .ownDegree:
if title == "无学位".local {
return .ownDegree(.noDegree)
} else if title == "有学位".local {
return .ownDegree(.hasDegree)
}
}
return .none
}
}
......@@ -12,7 +12,7 @@ class YHFormItemAddCell: UITableViewCell {
static let cellReuseIdentifier = "YHFormItemAddCell"
let btnTitleColor = UIColor(hexString:"#4388FF")
let btnTitleColor:UIColor = .brandMainColor
let btnHeight = 44.0
let cornerRadius = 4.0
......@@ -27,7 +27,7 @@ class YHFormItemAddCell: UITableViewCell {
lazy var addBtn: UIButton = {
let btn = UIButton()
btn.setTitle("新增信息".local, for: .normal)
btn.titleLabel?.font = UIFont.PFSC_R(ofSize: 14)
btn.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
btn.setTitleColor(btnTitleColor, for: .normal)
btn.iconInLeft(spacing: 6)
......
......@@ -24,29 +24,36 @@ class YHFormChoiceItem {
class YHFormItemDoubleChoiceCell: UITableViewCell {
static let cellReuseIdentifier = "YHFormItemDoubleChoiceCell"
let btnWidth = 70.0
let btnHeight = 32.0
let btnTitleSelectColor = UIColor(hex: 0x4487F9)
let btnTitleDefaultColor = UIColor(hex:0x222222)
let btnBgDefaultColor = UIColor(hex:0xF8F9FB)
let btnBgSelectColor = UIColor(hex:0x4487F9, alpha: 0.08)
let answerBaseTag = 9527
private let btnWidth = 70.0
private let btnHeight = 32.0
private let btnTitleSelectColor = UIColor.brandMainColor
private let btnTitleDefaultColor = UIColor.mainTextColor
private let btnBgDefaultColor = UIColor.contentBkgColor
private let btnBgSelectColor = UIColor.brandMainColor.withAlphaComponent(0.08)
private let answerBaseTag = 9527
// 是否必须字段
var isMust:Bool = false
var answerBlock:(([YHFormChoiceItem], Int)->Void)?
var title:String? {
didSet {
if let question = title {
let str = "*"+question
if let title = title, !title.isEmpty {
let str = (isMust ? ("*"+title) : title)
let attributes: [NSAttributedString.Key: Any] = [
.font: UIFont.PFSC_R(ofSize: 14),
.foregroundColor: UIColor(hex:0x222222)
]
.foregroundColor: UIColor.mainTextColor]
let questionAttrStr = NSMutableAttributedString(string: str, attributes: attributes)
if isMust {
let starRange = NSRange(location: 0, length: 1)
questionAttrStr.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor(hex:0xFF3A3A), range: starRange)
}
titleLabel.attributedText = questionAttrStr
} else {
titleLabel.text = ""
}
}
}
......@@ -74,22 +81,23 @@ class YHFormItemDoubleChoiceCell: UITableViewCell {
}
// 更新答案按钮选中状态
func updateAnswerButton(_ btn:UIButton, _ isSelect:Bool) {
private func updateAnswerButton(_ btn:UIButton, _ isSelect:Bool) {
btn.layer.borderColor = (isSelect ? btnTitleSelectColor : .clear).cgColor
btn.setTitleColor((isSelect ? btnTitleSelectColor : btnTitleDefaultColor), for: .normal)
btn.backgroundColor = (isSelect ? btnBgSelectColor : btnBgDefaultColor)
}
lazy var titleLabel: UILabel = {
private lazy var titleLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor(hexString:"#333333")
label.textColor = .mainTextColor
label.textAlignment = .left
label.numberOfLines = 0
label.font = UIFont.systemFont(ofSize: 14)
label.font = UIFont.PFSC_R(ofSize: 14)
label.lineBreakMode = .byCharWrapping
return label
}()
lazy var answer1Btn: UIButton = {
private lazy var answer1Btn: UIButton = {
let btn = UIButton()
btn.setTitle("", for: .normal)
......@@ -105,7 +113,7 @@ class YHFormItemDoubleChoiceCell: UITableViewCell {
return btn
}()
lazy var answer2Btn: UIButton = {
private lazy var answer2Btn: UIButton = {
let btn = UIButton()
btn.setTitle("", for: .normal)
btn.titleLabel?.font = UIFont.PFSC_R(ofSize: 14)
......@@ -134,8 +142,6 @@ class YHFormItemDoubleChoiceCell: UITableViewCell {
self.selectionStyle = .none
title = " 1、是否曾在香港或其他地方因任何罪行或违法行为被定罪?是否曾在香港或其他地方因任何罪行或违法行为被定罪?是否曾在香港或其他地方因任何罪行或违法行为被定罪?是否曾在香港或其他地方因任何罪行或违法行为被定罪?是否曾在香港或其他地方因任何罪行或违法行为被定罪? "
contentView.addSubview(titleLabel)
contentView.addSubview(answer2Btn)
contentView.addSubview(answer1Btn)
......@@ -160,6 +166,7 @@ class YHFormItemDoubleChoiceCell: UITableViewCell {
}
}
@objc func didClickResponseBtn(btn: UIButton) {
let selectIndex = btn.tag-answerBaseTag
......
......@@ -12,6 +12,8 @@ class YHFormItemEnterDetailCell: UITableViewCell {
static let cellReuseIdentifier = "YHFormItemEnterDetailCell"
private let titleFont: UIFont = UIFont.PFSC_M(ofSize: 14)
private let titleColor:UIColor = .mainTextColor
// 是否必填 如必填title会展示红色*
var isMust = false
var deleteBlock:(()->Void)?
......@@ -26,11 +28,11 @@ class YHFormItemEnterDetailCell: UITableViewCell {
var title:String? {
didSet {
if let title = title {
if let title = title, !title.isEmpty {
let str = (isMust ? ("*"+title) : title)
let attributes: [NSAttributedString.Key: Any] = [
.font: UIFont.PFSC_R(ofSize: 14),
.foregroundColor: UIColor(hex:0x222222)
.font: titleFont,
.foregroundColor:titleColor
]
let questionAttrStr = NSMutableAttributedString(string: str, attributes: attributes)
if isMust {
......@@ -38,17 +40,19 @@ class YHFormItemEnterDetailCell: UITableViewCell {
questionAttrStr.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor(hex:0xFF3A3A), range: starRange)
}
titleLabel.attributedText = questionAttrStr
} else {
titleLabel.text = ""
}
}
}
lazy var titleLabel: UILabel = {
private lazy var titleLabel: UILabel = {
let label = UILabel()
label.text = "XXXXXXX"
label.textColor = UIColor(hexString:"#333333")
label.textColor = titleColor
label.textAlignment = .left
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 14)
label.font = titleFont
return label
}()
......@@ -62,17 +66,17 @@ class YHFormItemEnterDetailCell: UITableViewCell {
return label
}()
lazy var arrowImgView: UIImageView = {
private lazy var arrowImgView: UIImageView = {
let imgView = UIImageView(image: UIImage(named: "form_right_arrow"))
return imgView
}()
lazy var deleteButton: UIButton = {
private lazy var deleteButton: UIButton = {
let btn = UIButton()
btn.setTitle("删除".local, for: .normal)
btn.titleLabel?.font = UIFont.PFSC_R(ofSize: 14)
btn.setTitleColor(UIColor(hex: 0xF81D22), for: .normal)
btn.setTitleColor(.failColor, for: .normal)
btn.addTarget(self, action: #selector(didClickDeleteBtn(btn:)), for: .touchUpInside)
btn.isHidden = true
return btn
......
......@@ -20,7 +20,7 @@ class YHFormItemExpireDateCell: UITableViewCell {
var title:String? {
didSet {
if let title = title {
if let title = title, !title.isEmpty {
let str = (isMust ? ("*"+title) : title)
let attributes: [NSAttributedString.Key: Any] = [
.font: UIFont.PFSC_R(ofSize: 14),
......@@ -31,6 +31,8 @@ class YHFormItemExpireDateCell: UITableViewCell {
questionAttrStr.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor(hex:0xFF3A3A), range: starRange)
}
titleLabel.attributedText = questionAttrStr
} else {
titleLabel.text = ""
}
}
}
......
......@@ -19,11 +19,11 @@ class YHFormItemInputTextCell: UITableViewCell {
var title:String? {
didSet {
if let title = title {
if let title = title, !title.isEmpty {
let str = (isMust ? ("*"+title) : title)
let attributes: [NSAttributedString.Key: Any] = [
.font: UIFont.PFSC_R(ofSize: 14),
.foregroundColor: UIColor(hex:0x222222)
.foregroundColor: UIColor.mainTextColor
]
let questionAttrStr = NSMutableAttributedString(string: str, attributes: attributes)
if isMust {
......@@ -31,26 +31,44 @@ class YHFormItemInputTextCell: UITableViewCell {
questionAttrStr.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor(hex:0xFF3A3A), range: starRange)
}
titleLabel.attributedText = questionAttrStr
} else {
titleLabel.text = ""
}
}
}
lazy var titleLabel: UILabel = {
var placeHolder:String? {
didSet {
if let placeHolder = placeHolder {
textField.attributedPlaceholder = NSAttributedString(string: placeHolder, attributes: [NSAttributedString.Key.foregroundColor : UIColor.placeHolderColor])
} else {
textField.attributedPlaceholder = nil
}
}
}
var text:String? {
didSet {
textField.text = text
}
}
private lazy var titleLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor(hexString:"#333333")
label.textColor = .mainTextColor
label.textAlignment = .left
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 14)
return label
}()
lazy var textField:UITextField = {
private lazy var textField:UITextField = {
let textField = UITextField()
textField.backgroundColor = .clear
textField.placeholder = "请如实填写"
textField.font = UIFont.PFSC_R(ofSize: 14)
textField.tintColor = UIColor(hex: 0xC0C0C0)
textField.textColor = UIColor(hex: 0x222222)
textField.placeholder = "请输入"
textField.font = UIFont.PFSC_M(ofSize: 14)
textField.tintColor = UIColor.mainTextColor
textField.textColor = UIColor.mainTextColor
textField.addTarget(self, action: #selector(textFieldChanged(textField:)), for: .editingChanged)
return textField
}()
......
......@@ -12,17 +12,21 @@ import UIKit
class YHFormItemSelectSheetCell: UITableViewCell {
static let cellReuseIdentifier = "YHFormItemSelectSheetCell"
private let titleColor = UIColor.mainTextColor
private let detailColor = UIColor.mainTextColor
private let placeHolderColor = UIColor.placeHolderColor
// 是否必填 如必填title会展示红色*
var isMust = false
var placeHolder:String?
var title:String? {
didSet {
if let title = title {
if let title = title, !title.isEmpty {
let str = (isMust ? ("*"+title) : title)
let attributes: [NSAttributedString.Key: Any] = [
.font: UIFont.PFSC_R(ofSize: 14),
.foregroundColor: UIColor(hex:0x222222)
.foregroundColor:titleColor
]
let questionAttrStr = NSMutableAttributedString(string: str, attributes: attributes)
if isMust {
......@@ -30,34 +34,31 @@ class YHFormItemSelectSheetCell: UITableViewCell {
questionAttrStr.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor(hex:0xFF3A3A), range: starRange)
}
titleLabel.attributedText = questionAttrStr
} else {
titleLabel.text = ""
}
}
}
var tips:String? {
didSet {
tipsLabel.text = tips
}
}
var detail:String? {
didSet {
detailLabel.text = detail
if let detail = detail, !detail.isEmpty {
tipsLabel.isHidden = true
detailLabel.isHidden = false
detailLabel.text = detail
detailLabel.textColor = detailColor
} else {
tipsLabel.isHidden = false
detailLabel.isHidden = true
detailLabel.text = placeHolder
detailLabel.textColor = placeHolderColor
}
}
}
lazy var titleLabel: UILabel = {
private lazy var titleLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor(hexString:"#333333")
label.textColor = titleColor
label.textAlignment = .left
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 14)
......@@ -66,24 +67,13 @@ class YHFormItemSelectSheetCell: UITableViewCell {
private lazy var detailLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor(hexString: "#222222")
label.textColor = detailColor
label.textAlignment = .left
label.font = UIFont.PFSC_R(ofSize: 14)
label.isHidden = true
label.font = UIFont.PFSC_M(ofSize: 14)
return label
}()
private lazy var tipsLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor(hexString: "#C0C0C0")
label.text = "请选择".local
label.textAlignment = .left
label.font = UIFont.PFSC_R(ofSize: 14)
label.isHidden = false
return label
}()
lazy var arrowImgView: UIImageView = {
private lazy var arrowImgView: UIImageView = {
let imgView = UIImageView(image: UIImage(named: "form_right_arrow"))
return imgView
}()
......@@ -102,7 +92,6 @@ class YHFormItemSelectSheetCell: UITableViewCell {
self.selectionStyle = .none
contentView.addSubview(titleLabel)
contentView.addSubview(detailLabel)
contentView.addSubview(tipsLabel)
contentView.addSubview(arrowImgView)
titleLabel.snp.makeConstraints { make in
......@@ -117,9 +106,6 @@ class YHFormItemSelectSheetCell: UITableViewCell {
make.centerY.equalToSuperview()
}
tipsLabel.snp.makeConstraints { make in
make.edges.equalTo(detailLabel)
}
arrowImgView.snp.makeConstraints { make in
make.size.equalTo(CGSizeMake(20, 20))
make.right.equalToSuperview().offset(-16)
......
......@@ -19,10 +19,10 @@ class YHFormItemTitleCell: UITableViewCell {
lazy var titleLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor(hexString:"#333333")
label.textColor = .mainTextColor
label.textAlignment = .left
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 16)
label.font = UIFont.PFSC_M(ofSize: 17)
return label
}()
......@@ -31,7 +31,7 @@ class YHFormItemTitleCell: UITableViewCell {
label.textColor = .labelTextColor2
label.textAlignment = .left
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 14)
label.font = UIFont.PFSC_R(ofSize: 12)
return label
}()
......@@ -40,7 +40,7 @@ class YHFormItemTitleCell: UITableViewCell {
let btn = UIButton()
btn.setTitle("取消操作".local, for: .normal)
btn.titleLabel?.font = UIFont.PFSC_R(ofSize: 14)
btn.setTitleColor(UIColor(hex: 0x4487F9), for: .normal)
btn.setTitleColor(.brandMainColor, for: .normal)
btn.tag = cancelTag
btn.addTarget(self, action: #selector(didClickOperatorBtn(btn:)), for: .touchUpInside)
btn.isHidden = true
......@@ -58,7 +58,7 @@ class YHFormItemTitleCell: UITableViewCell {
lazy var bottomLineView:UIView = {
let view = UIView()
view.backgroundColor = UIColor(hex: 0xF0F0F0)
view.backgroundColor = .separatorColor
return view
}()
......
......@@ -55,6 +55,7 @@ class YHStepView: UIScrollView {
}
func setUpView(_ array: [String]) {
self.removeSubviews()
for i in 0 ..< array.count {
let button = UIButton(type: .custom)
button.setBackgroundImage(UIImage(named: "service_step_fail"), for: .normal)
......
......@@ -13,8 +13,7 @@ import GKNavigationBarSwift
*/
class YHScoreDetailViewController: YHBaseViewController {
var orderId : Int?
private let serviceCenterMainReqVM : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
//头部背景图片
......@@ -41,34 +40,27 @@ class YHScoreDetailViewController: YHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
//0.0
serviceCenterMainReqVM.loadLocalScoreData()
//1.0
initView()
//2.0
loadData()
}
}
// MARK: - private methods
extension YHScoreDetailViewController {
private func initView()->Void {
gk_navigationBar.isHidden = false
gk_backStyle = .white
gk_navTitle = "我的评分"
gk_navBackgroundColor = UIColor(hex: 0x528bf1)
gk_navTitleColor = .white
gk_navBarAlpha = 1
view.addSubview(headBkgImagV)
headBkgImagV.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.right.equalToSuperview()
make.height.equalTo(326)
make.top.left.right.equalToSuperview()
make.height.equalTo(414)
}
......@@ -78,11 +70,23 @@ extension YHScoreDetailViewController {
homeTableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.bottom.equalToSuperview()
make.left.equalTo(16)
make.right.equalTo(-16)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
}
}
// homeTableView.backgroundColor = .purple //for test hjl
private func loadData() {
guard let orderId = orderId else { return}
let param = ["order_id":orderId]
serviceCenterMainReqVM.getMyScoreDetail(params: param) { success, error in
if success == true {
} else {
YHHUD.flash(message: error?.errorMsg ?? "发生错误,请重试")
}
self.homeTableView.reloadData()
}
}
}
......@@ -127,15 +131,13 @@ extension YHScoreDetailViewController : UITableViewDelegate,UITableViewDataSourc
if indexPath.section == 0 {
let cell = tableView.dequeueReusableCell(withClass: YHScorePersonInfoCell.self)
cell.selectionStyle = .none
cell.dataModel = serviceCenterMainReqVM.myScoreResultData
return cell
}
let cell = tableView.dequeueReusableCell(withClass: YHScoreItemCell.self)
cell.selectionStyle = .none
cell.optionData = self.serviceCenterMainReqVM.localScoreData?[indexPath.row + 1]
return cell
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true)
printLog("点击了 tableView Cell \(indexPath.row)")
}
}
......@@ -53,7 +53,23 @@ class YHScoreSessionModel : SmartCodable {
var name : String = "" //"年龄得分"
var score : String = "" //(最高30分)
var options : [YHScoreOptiosModel] = []
var resultData : YHScoreResultBaseModel? {
didSet {
for (index,item) in options.enumerated() {
if let model = resultData {
if model.answer.isEmpty == true {
item.isSelected = false
} else {
if model.answer.contains(index+1) {
item.isSelected = true
continue
}
}
}
item.isSelected = false
}
}
}
required init() {
}
}
//
// YHScoreResultModel.swift
// galaxy
//
// Created by davidhuangA on 2024/2/2.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
struct YHScoreResultBaseModel: SmartCodable {
var result : String = ""
var answer : [Int] = []
var score : Int = 0
}
//
// YHScoreResultModel.swift
// galaxy
//
// Created by davidhuangA on 2024/2/2.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
struct YHScoreResultModel: SmartCodable {
var age_score : YHScoreResultBaseModel?
var language_score : YHScoreResultBaseModel?
var background_score : YHScoreResultBaseModel?
var work_experience_score : YHScoreResultBaseModel?
var education_score : YHScoreResultBaseModel?
var talent_list_score : YHScoreResultBaseModel?
var total_score : YHScoreSumscore?
var user_info : YHScoreUserInfo?
}
struct YHScoreUserInfo : SmartCodable {
var head_url : String = ""
var mobile : String = ""
var username : String = ""
}
struct YHScoreSumscore : SmartCodable {
var sum_score : Int = 0
}
......@@ -44,11 +44,6 @@ class YHScoreItemCell: UITableViewCell {
var titleView : YHScoreTitleView!
private var scoreOptionsView1 : YHScoreOptionsView!
private var scoreOptionsView2 : YHScoreOptionsView!
private var scoreOptionsView3 : YHScoreOptionsView!
private var scoreOptionsView4 : YHScoreOptionsView!
}
extension YHScoreItemCell {
......@@ -94,9 +89,7 @@ extension YHScoreItemCell {
make.right.equalTo(titleView.snp.right)
make.height.equalTo(YHScoreTitleView.viewH)
}
resultView.dataModel = optionData?.resultData
var tagView : UIView = resultView
for (index,item) in arrData.enumerated() {
......
......@@ -41,10 +41,10 @@ class YHScoreOptionsView: UIView {
private lazy var customLabel : UILabel = {
let customLabel = UILabel(frame: CGRect(x: 0, y: 0, width: 40, height: 20))
customLabel.text = "-"
customLabel.font = .PFSC_R(ofSize: 12)
customLabel.font = .PFSC_M(ofSize: 12)
customLabel.backgroundColor = UIColor(hex:0xF8F9FB)
customLabel.textColor = UIColor(hex: 0x888F98)
customLabel.layer.cornerRadius = 4
customLabel.layer.cornerRadius = 3
customLabel.clipsToBounds = true
customLabel.textAlignment = .center
return customLabel
......@@ -68,9 +68,9 @@ private extension YHScoreOptionsView {
addSubview(nameTextView)
nameTextView.snp.makeConstraints { make in
make.top.equalTo(16)
make.top.equalTo(kMargin)
make.left.right.equalToSuperview()
make.bottom.equalTo(bottomLine.snp.top).offset(-16)
make.bottom.equalTo(bottomLine.snp.top).offset(-kMargin)
}
}
......@@ -86,17 +86,17 @@ private extension YHScoreOptionsView {
if model.isSelected == true {
nameTextView.attributed.text = """
\(model.scoreName, .foreground(UIColor(hex: 0x3C86F8)), .font(UIFont.PFSC_R(ofSize: 14))) \(.view(customLabel, .original(.center)))
\(model.scoreName, .foreground(UIColor.brandMainColor), .font(UIFont.PFSC_R(ofSize: 14))) \(.view(customLabel, .original(.center)))
"""
customLabel.backgroundColor = UIColor(hex:0x3C86F8,alpha:0.12)
customLabel.textColor = UIColor(hex: 0x3C86F8)
customLabel.backgroundColor = UIColor.brandMainColor8
customLabel.textColor = UIColor.brandMainColor
} else {
nameTextView.attributed.text = """
\(model.scoreName, .foreground(UIColor(hex: 0x4E4E4E)), .font(UIFont.PFSC_R(ofSize: 14))) \(.view(customLabel, .original(.center)))
"""
customLabel.backgroundColor = UIColor(hex:0xF8F9FB)
customLabel.textColor = UIColor(hex: 0x888F98)
customLabel.textColor = UIColor.labelTextColor2
}
}
}
......@@ -12,17 +12,25 @@ import AttributedString
class YHScorePersonInfoCell: UITableViewCell {
static let cellReuseIdentifier = "YHScorePersonInfoCell"
var dataModel : YHScoreResultModel? {
didSet {
updateUI()
}
}
//头像
private lazy var headImagV : UIImageView = {
let imageV = UIImageView(image: UIImage(named: "score_header_default"))
imageV.contentMode = .scaleAspectFit
imageV.contentMode = .scaleAspectFill
imageV.layer.cornerRadius = 20.5
imageV.clipsToBounds = true
return imageV
}()
//姓名
private lazy var nameLable : UILabel = {
let lable0 = UILabel(text: "DavidHuang")
lable0.textColor = UIColor(hex: 0x222222)
lable0.textColor = UIColor.mainTextColor
lable0.font = UIFont.PFSC_M(ofSize: 16)
return lable0
}()
......@@ -30,7 +38,7 @@ class YHScorePersonInfoCell: UITableViewCell {
//电话号码
private lazy var phoneLable : UILabel = {
let lable0 = UILabel(text: "15818743775")
lable0.textColor = UIColor(hex: 0x888F98)
lable0.textColor = UIColor.labelTextColor2
lable0.font = UIFont.PFSC_R(ofSize: 12)
return lable0
}()
......@@ -40,7 +48,7 @@ class YHScorePersonInfoCell: UITableViewCell {
private lazy var scoreLable : UILabel = {
let lable0 = UILabel(text: "92 分")
lable0.textColor = UIColor(hex: 0x3C86F8)
lable0.font = UIFont.PFSC_B(ofSize: 43)
lable0.font = UIFont.PFSC_B(ofSize: 68)
lable0.textAlignment = .right
return lable0
}()
......@@ -76,59 +84,65 @@ extension YHScorePersonInfoCell {
let lable0 = UILabel(text: "香港优才评分报告")
lable0.textColor = .white
lable0.font = UIFont.PFSC_B(ofSize: 24)
lable0.font = UIFont.PFSC_B(ofSize: 26)
contentView.addSubview(lable0)
lable0.snp.makeConstraints { make in
make.top.equalTo(32)
make.left.equalTo(8)
make.right.equalTo(-8)
make.height.equalTo(34)
make.top.equalTo(26.5)
make.left.equalTo(7)
make.right.equalTo(7)
make.height.equalTo(36.5)
}
let lable1 = UILabel(text: "根据您填写的资料情况生成")
lable1.textColor = UIColor(hex: 0xffffff,alpha: 0.8)
lable1.font = UIFont.PFSC_R(ofSize: 12)
lable1.font = UIFont.PFSC_R(ofSize: 13)
contentView.addSubview(lable1)
lable1.snp.makeConstraints { make in
make.top.equalTo(lable0.snp.bottom).offset(6)
make.left.equalTo(lable0.snp.left)
make.left.equalTo(25)
make.right.equalTo(lable0.snp.right)
make.height.equalTo(17)
make.height.equalTo(18)
}
let iconImagV = UIImageView(image: UIImage(named: "score_icon_0"))
iconImagV.contentMode = .scaleAspectFill
contentView.addSubview(iconImagV)
iconImagV.snp.makeConstraints { make in
make.centerY.equalTo(lable1)
make.left.equalTo(lable0.snp.left)
make.width.equalTo(10)
make.height.equalTo(12)
}
let holdView = UIView()
holdView.backgroundColor = .white
holdView.layer.cornerRadius = 12
holdView.layer.cornerRadius = kCornerRadius6
holdView.clipsToBounds = true
contentView.addSubview(holdView)
holdView.snp.makeConstraints { make in
make.top.equalTo(lable1.snp.bottom).offset(30)
make.top.equalTo(lable1.snp.bottom).offset(28.5)
make.left.right.equalToSuperview()
make.height.equalTo(89)
make.height.equalTo(74)
make.bottom.equalToSuperview().offset(-14)
}
let holdViewBkgV = UIImageView(image: UIImage(named: "score_icon_bkg1"))
holdViewBkgV.contentMode = .scaleAspectFill
holdView.addSubview(holdViewBkgV)
holdViewBkgV.snp.makeConstraints { make in
make.edges.equalTo(0)
}
let bkgImageV = UIImageView(image: UIImage(named: "score_icon_bkg"))
bkgImageV.contentMode = .scaleAspectFill
holdView.addSubview(bkgImageV)
bkgImageV.snp.makeConstraints { make in
make.top.right.bottom.equalToSuperview()
make.width.equalTo(178)
}
let interHoldView = UIView()
interHoldView.layer.borderWidth = 1
interHoldView.layer.borderColor = UIColor(red: 0.235, green: 0.525, blue: 0.973, alpha: 0.2).cgColor
interHoldView.layer.cornerRadius = 10
interHoldView.clipsToBounds = true
holdView.addSubview(interHoldView)
interHoldView.snp.makeConstraints { make in
make.top.left.equalTo(4)
make.right.bottom.equalTo(-4)
make.top.equalTo(15)
make.right.equalTo(-31.5)
make.width.equalTo(68)
make.height.equalTo(74)
}
......@@ -136,54 +150,55 @@ extension YHScorePersonInfoCell {
holdView.addSubview(headImagV)
headImagV.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalTo(21)
make.width.height.equalTo(42)
make.left.equalTo(18)
make.width.height.equalTo(41)
}
holdView.addSubview(nameLable)
nameLable.snp.makeConstraints { make in
make.top.equalTo(headImagV.snp.top)
make.left.equalTo(headImagV.snp.right).offset(12)
make.height.equalTo(24)
make.width.equalTo(200)
make.left.equalTo(headImagV.snp.right).offset(15)
make.height.equalTo(23)
make.right.equalToSuperview().offset(-kMargin)
}
holdView.addSubview(phoneLable)
phoneLable.snp.makeConstraints { make in
make.top.equalTo(nameLable.snp.bottom)
make.left.equalTo(headImagV.snp.right).offset(12)
make.left.equalTo(nameLable.snp.left)
make.height.equalTo(20)
make.width.equalTo(200)
}
holdView.addSubview(scoreLable)
contentView.addSubview(scoreLable)
scoreLable.snp.makeConstraints { make in
make.top.equalTo(10)
make.right.equalToSuperview().offset(-21)
make.height.equalTo(50)
make.bottom.equalTo(holdView.snp.top).offset(-kMargin)
make.right.equalTo(holdView.snp.right).offset(-5)
make.height.equalTo(79)
}
let a: ASAttributedString = .init("95", .font(UIFont.PFSC_R(ofSize: 43)),.foreground(UIColor(hex:0x3C86F8)))
let a: ASAttributedString = .init("-", .font(UIFont.PFSC_R(ofSize: 43)),.foreground(UIColor(hex:0x3C86F8)))
let b: ASAttributedString = .init("分", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor(hex:0x3C86F8)))
scoreLable.attributed.text = a + b
}
let lable3 = UILabel(text: "综合得分")
lable3.textColor = UIColor(hex: 0x888F98)
lable3.font = UIFont.PFSC_R(ofSize: 12)
lable3.textAlignment = .right
contentView.addSubview(lable3)
lable3.snp.makeConstraints { make in
make.top.equalTo(scoreLable.snp.bottom).offset(-4)
make.right.equalTo(scoreLable.snp.right)
make.height.equalTo(20)
private func updateUI() {
guard let model = dataModel else {
return
}
nameLable.text = "DavidHuang for test"//model.user_info?.username ?? "-"
phoneLable.text = model.user_info?.mobile ?? "-"
let score : String = String(model.total_score?.sum_score ?? 0)
let a: ASAttributedString = .init(NSAttributedString(string: score), .font(UIFont.PFSC_R(ofSize: 43)),.foreground(UIColor(hex:0xFFEEB0)))
let b: ASAttributedString = .init("分", .font(UIFont.PFSC_M(ofSize: 16)),.foreground(.white))
scoreLable.attributed.text = a + b
}
}
......@@ -9,11 +9,16 @@
import UIKit
class YHScoreResultView: UIView {
var dataModel : YHScoreResultBaseModel? {
didSet {
updateUI()
}
}
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
......@@ -22,7 +27,7 @@ class YHScoreResultView: UIView {
//固定高度
static let viewH : CGFloat = 52.0
static let viewH : CGFloat = 60.5
//icon
......@@ -64,24 +69,61 @@ private extension YHScoreResultView {
make.height.equalTo(0.5)
}
addSubview(iconImageV)
let holdView = UIView()
holdView.backgroundColor = UIColor.contentBkgColor
holdView.layer.cornerRadius = kCornerRadius6
holdView.clipsToBounds = true
addSubview(holdView)
holdView.snp.makeConstraints { make in
make.bottom.equalTo(bottomLine.snp.top).offset(-kMargin)
make.left.right.equalToSuperview()
make.height.equalTo(44)
}
holdView.addSubview(iconImageV)
iconImageV.snp.makeConstraints { make in
make.left.equalToSuperview()
make.centerY.equalToSuperview().offset(-0.5)
make.left.equalTo(12)
make.centerY.equalToSuperview()
make.width.height.equalTo(14)
}
addSubview(nameLable)
holdView.addSubview(nameLable)
nameLable.snp.makeConstraints { make in
make.centerY.equalTo(iconImageV.snp.centerY)
make.left.equalTo(iconImageV.snp.right).offset(12)
make.bottom.equalTo(bottomLine.snp.top)
make.centerY.equalToSuperview()
make.left.equalTo(iconImageV.snp.right).offset(8)
}
addSubview(desLable)
let line = UIView()
line.backgroundColor = UIColor.labelTextColor2
holdView.addSubview(line)
line.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalTo(nameLable.snp.right).offset(20)
make.height.equalTo(13.5)
make.width.equalTo(0.5)
}
holdView.addSubview(desLable)
desLable.snp.makeConstraints { make in
make.centerY.equalTo(nameLable.snp.centerY)
make.left.equalTo(nameLable.snp.right).offset(6)
make.centerY.equalToSuperview()
make.left.equalTo(line.snp.right).offset(20)
}
}
private func updateUI() {
guard let model = dataModel else { return }
if model.answer.isEmpty {
iconImageV.image = UIImage(named: "score_satisfy_1")
nameLable.text = "不满足"
} else {
iconImageV.image = UIImage(named: "score_satisfy_0")
nameLable.text = model.result
}
let score = "得分:" + String(model.score) + "分"
desLable.text = score
}
}
......@@ -23,47 +23,34 @@ class YHScoreTitleView: UIView {
//固定高度
static let viewH : CGFloat = 52.0
static let viewH : CGFloat = 56.0
private lazy var nameLable : UILabel = {
let lable0 = UILabel(text: "年龄得分")
lable0.textColor = UIColor(hex: 0x222222)
let lable0 = UILabel(text: "-")
lable0.textColor = UIColor.mainTextColor
lable0.font = UIFont.PFSC_M(ofSize: 17)
return lable0
}()
private lazy var desLable : UILabel = {
let lable0 = UILabel(text: "(最高30分)")
lable0.textColor = UIColor(hex: 0x888F98)
let lable0 = UILabel(text: "-")
lable0.textColor = UIColor.labelTextColor2
lable0.font = UIFont.PFSC_R(ofSize: 14)
return lable0
}()
private lazy var bottomLine : UIView = {
let view = UIView()
view.backgroundColor = UIColor(hex:0xF0F0F0)
return view
}()
}
private extension YHScoreTitleView {
func setupUI() {
addSubview(bottomLine)
bottomLine.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(0.5)
}
addSubview(nameLable)
nameLable.snp.makeConstraints { make in
make.top.left.equalToSuperview()
make.bottom.equalTo(bottomLine.snp.top)
make.centerY.equalToSuperview()
make.left.equalToSuperview()
make.height.equalTo(24)
}
addSubview(desLable)
desLable.snp.makeConstraints { make in
make.centerY.equalTo(nameLable.snp.centerY)
......
......@@ -22,7 +22,7 @@ class YHMainApplicantInfoViewController: YHPersonInfoBaseViewController {
}
private extension YHMainApplicantInfoViewController {
func fakeData() {
func installData() {
do {
//国家信息
let tmp0 = YHPersonInfoBaseModel(name: "国家/国籍:", description: "中国-China")
......@@ -97,7 +97,8 @@ private extension YHMainApplicantInfoViewController {
}
func setupUI() {
fakeData()
installData()
self.homeTableView.register(YHPersonInfoCommonCell.self,forCellReuseIdentifier: YHPersonInfoCommonCell.cellReuseIdentifier)
self.homeTableView.reloadData()
}
......
......@@ -21,17 +21,17 @@ class YHPersonInfoControllerHoldViewController: UIViewController {
let arrItemTitles = ["主申请人信息","家庭成员信息","基本资料","学历/专业资格","工作经验","其他信息"]
var arrItemVCs : [YHPersonInfoBaseViewController] = []
var segmentedView : JXSegmentedView = JXSegmentedView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 58))
var segmentedView : JXSegmentedView = JXSegmentedView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 55))
lazy var segmentedDataSource: JXSegmentedBaseDataSource = {
let dataSource = JXSegmentedTitleDataSource()
dataSource.isTitleColorGradientEnabled = true
// dataSource.isTitleColorGradientEnabled = true
dataSource.titles = arrItemTitles
dataSource.titleNormalFont = UIFont.PFSC_R(ofSize: 16)
dataSource.titleSelectedColor = UIColor(hex: 0x888F98)
dataSource.titleSelectedColor = UIColor.labelTextColor2
dataSource.titleSelectedFont = UIFont.PFSC_M(ofSize: 18)
dataSource.titleSelectedColor = UIColor(hex: 0x4388FF)
dataSource.titleSelectedFont = UIFont.PFSC_M(ofSize: 16)
dataSource.titleSelectedColor = UIColor.brandMainColor
dataSource.isItemSpacingAverageEnabled = false
dataSource.itemWidth = JXSegmentedViewAutomaticDimension
......@@ -48,11 +48,6 @@ class YHPersonInfoControllerHoldViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
// for _ in arrItemTitles {
// let vc = YHMainApplicantInfoViewController()
// arrItemVCs.append(vc)
// }
do {
let vc = YHMainApplicantInfoViewController()
arrItemVCs.append(vc)
......@@ -103,7 +98,8 @@ class YHPersonInfoControllerHoldViewController: UIViewController {
indicator.indicatorWidth = 16
indicator.indicatorHeight = 4
indicator.indicatorCornerRadius = 2
indicator.indicatorColor = UIColor(hex:0x4388FF)
indicator.verticalOffset = 4
indicator.indicatorColor = UIColor.brandMainColor
segmentedView.indicators = [indicator]
}
......@@ -124,8 +120,8 @@ class YHPersonInfoControllerHoldViewController: UIViewController {
override func viewDidLayoutSubviews() {
super.viewDidLayoutSubviews()
segmentedView.frame = CGRect(x: 0, y: 0, width: view.bounds.size.width, height: 58)
listContainerView.frame = CGRect(x: 0, y: 58, width: view.bounds.size.width, height: view.bounds.size.height - 58)
segmentedView.frame = CGRect(x: 0, y: 0, width: view.bounds.size.width, height: 55)
listContainerView.frame = CGRect(x: 0, y: 55, width: view.bounds.size.width, height: view.bounds.size.height - 55)
segmentedView.backgroundColor = .white
......
......@@ -10,8 +10,9 @@ import UIKit
import GKNavigationBarSwift
class YHPersonInformMainViewController: YHBaseViewController {
var canScroll : Bool = true
var orderId : Int?
var canScroll : Bool = true
var myCellHeight : CGFloat {
get {
return view.bounds.size.height - k_Height_NavigationtBarAndStatuBar
......@@ -31,7 +32,7 @@ class YHPersonInformMainViewController: YHBaseViewController {
var myHeadView : UIView = {
let view = UIView(frame: CGRect(x: 16, y: 0, width: KScreenWidth - 16 * 2, height: 128))
let view = UIView(frame: CGRect(x: kMargin, y: 0, width: KScreenWidth - kMargin * 2, height: 131))
return view
}()
......@@ -39,23 +40,27 @@ class YHPersonInformMainViewController: YHBaseViewController {
//头像
private lazy var headImagV : UIImageView = {
let imageV = UIImageView(image: UIImage(named: "score_header_default"))
imageV.contentMode = .scaleAspectFit
imageV.contentMode = .scaleAspectFill
imageV.layer.cornerRadius = 26.5
imageV.clipsToBounds = true
imageV.layer.borderWidth = 2
imageV.layer.borderColor = UIColor.white.cgColor
return imageV
}()
//姓名
private lazy var nameLable : UILabel = {
let lable0 = UILabel(text: "DavidHuang")
lable0.textColor = UIColor(hex: 0x222222)
lable0.font = UIFont.PFSC_M(ofSize: 16)
lable0.textColor = UIColor.mainTextColor
lable0.font = UIFont.PFSC_M(ofSize: 19)
return lable0
}()
//电话号码
private lazy var phoneLable : UILabel = {
let lable0 = UILabel(text: "15818743775")
lable0.textColor = UIColor(hex: 0x888F98)
lable0.font = UIFont.PFSC_R(ofSize: 12)
lable0.textColor = UIColor.labelTextColor2
lable0.font = UIFont.PFSC_R(ofSize: 14)
return lable0
}()
......@@ -129,6 +134,7 @@ extension YHPersonInformMainViewController {
gk_navBackgroundColor = .white
gk_navTitleColor = UIColor(hex:0x0F1214)
gk_navBarAlpha = 1
gk_navTitleFont = UIFont.PFSC_B(ofSize: 17)
......@@ -145,13 +151,13 @@ extension YHPersonInformMainViewController {
let headSubView = UIView()
headSubView.backgroundColor = .clear
headSubView.layer.cornerRadius = 12
headSubView.layer.cornerRadius = kCornerRadius6
headSubView.clipsToBounds = true
myHeadView.addSubview(headSubView)
headSubView.snp.makeConstraints { make in
make.top.equalTo(17)
make.left.equalTo(16)
make.right.equalTo(-16)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.height.equalTo(105)
}
......@@ -167,16 +173,18 @@ extension YHPersonInformMainViewController {
headSubView.addSubview(headImagV)
headImagV.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalTo(21)
make.width.height.equalTo(42)
make.left.equalTo(20.5)
make.width.height.equalTo(53)
}
headSubView.addSubview(nameLable)
nameLable.snp.makeConstraints { make in
make.top.equalTo(headImagV.snp.top)
make.left.equalTo(headImagV.snp.right).offset(12)
make.height.equalTo(24)
make.right.equalTo(-12)
make.height.equalTo(26.5)
make.right.equalTo(-kMargin)
}
headSubView.addSubview(phoneLable)
......@@ -184,41 +192,23 @@ extension YHPersonInformMainViewController {
make.top.equalTo(nameLable.snp.bottom)
make.left.equalTo(headImagV.snp.right).offset(12)
make.height.equalTo(20)
make.right.equalTo(-12)
make.right.equalTo(-20.5)
}
let iconImageV = UIImageView(image: UIImage(named: "person_info_head_icon"))
iconImageV.contentMode = .scaleAspectFill
headSubView.addSubview(iconImageV)
iconImageV.snp.makeConstraints { make in
make.top.bottom.right.equalToSuperview()
make.width.equalTo(125)
}
// self.homeTableView.es.addPullToRefresh {
// self.loadFirstItem()
// private func loadFirstItem() {
// DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
// self.homeTableView.es.stopPullToRefresh(ignoreDate: true,ignoreFooter: false)
// self.homeTableView.reloadData()
// }
// }
//
// private func loadFakeData() {
// DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
// self.homeTableView.es.stopLoadingMore()
// self.homeTableView.reloadData()
// }
// self.homeTableView.es.startPullToRefresh()
// self.homeTableView.es.addInfiniteScrolling {
// self.loadFakeData()
// }
}
private func loadFirstItem() {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
self.homeTableView.es.stopPullToRefresh(ignoreDate: true,ignoreFooter: false)
self.homeTableView.reloadData()
}
}
private func loadFakeData() {
DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
self.homeTableView.es.stopLoadingMore()
self.homeTableView.reloadData()
}
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
......
......@@ -20,7 +20,7 @@ class YHPersonInfoCellView: UIView {
//title
private lazy var nameLable : UILabel = {
let lable0 = UILabel(text: "--")
lable0.textColor = UIColor(hex: 0x888F98)
lable0.textColor = UIColor.labelTextColor2
lable0.font = UIFont.PFSC_R(ofSize: 14)
lable0.numberOfLines = 0
lable0.lineBreakMode = .byCharWrapping
......@@ -31,7 +31,7 @@ class YHPersonInfoCellView: UIView {
//title
private lazy var subtitleLable : UILabel = {
let lable0 = UILabel(text: "--")
lable0.textColor = UIColor(hex: 0x222222)
lable0.textColor = UIColor.mainTextColor
lable0.font = UIFont.PFSC_R(ofSize: 14)
lable0.numberOfLines = 0
lable0.lineBreakMode = .byWordWrapping
......
......@@ -30,7 +30,7 @@ class YHPersonInfoCommonCell: UITableViewCell {
}
private lazy var holdView : UIView = {
private lazy var holdView : YHPersonInfoSessionHoldView = {
let contryInfoView = YHPersonInfoSessionHoldView()
return contryInfoView
}()
......
......@@ -27,7 +27,7 @@ class YHPersonInfoIdentificationCardView: UIView {
private lazy var titleLable : UILabel = {
let lable = UILabel()
lable.textColor = UIColor(hex: 0x222222)
lable.textColor = UIColor.mainTextColor
lable.font = UIFont.PFSC_M(ofSize: 14)
return lable
}()
......@@ -55,7 +55,7 @@ class YHPersonInfoIdentificationCardView: UIView {
private lazy var subtitleFrontLable : UILabel = {
let lable = UILabel()
lable.textColor = UIColor(hex: 0x888F98)
lable.textColor = UIColor.labelTextColor2
lable.font = UIFont.PFSC_R(ofSize: 14)
lable.text = "身份证头像面"
lable.textAlignment = .center
......@@ -65,7 +65,7 @@ class YHPersonInfoIdentificationCardView: UIView {
private lazy var subtitleBackLable : UILabel = {
let lable = UILabel()
lable.textColor = UIColor(hex: 0x888F98)
lable.textColor = UIColor.labelTextColor2
lable.font = UIFont.PFSC_R(ofSize: 14)
lable.text = "身份证国徽面"
lable.textAlignment = .center
......@@ -88,21 +88,21 @@ extension YHPersonInfoIdentificationCardView {
make.top.equalTo(18)
make.left.equalTo(18)
make.right.equalTo(-18)
make.height.equalTo(17)
make.height.equalTo(20)
}
addSubview(subtitleFrontLable)
subtitleFrontLable.snp.makeConstraints { make in
make.top.equalTo(titleLable.snp.bottom).offset(20)
make.height.equalTo(17)
make.left.equalTo(16)
make.top.equalTo(titleLable.snp.bottom).offset(18)
make.height.equalTo(20)
make.left.equalTo(titleLable.snp.left)
make.right.equalTo(self.snp.centerX).offset(-4)
}
addSubview(frontImagV)
frontImagV.snp.makeConstraints { make in
make.top.equalTo(subtitleFrontLable.snp.bottom).offset(13)
make.top.equalTo(subtitleFrontLable.snp.bottom).offset(11)
make.height.equalTo(95)
make.left.equalTo(subtitleFrontLable.snp.left)
make.right.equalTo(subtitleFrontLable.snp.right)
......@@ -112,8 +112,8 @@ extension YHPersonInfoIdentificationCardView {
addSubview(subtitleBackLable)
subtitleBackLable.snp.makeConstraints { make in
make.top.equalTo(titleLable.snp.bottom).offset(20)
make.height.equalTo(17)
make.top.equalTo(subtitleFrontLable.snp.top)
make.height.equalTo(20)
make.right.equalTo(-18)
make.left.equalTo(self.snp.centerX).offset(4)
}
......@@ -121,7 +121,7 @@ extension YHPersonInfoIdentificationCardView {
addSubview(backImagV)
backImagV.snp.makeConstraints { make in
make.top.equalTo(subtitleBackLable.snp.bottom).offset(13)
make.top.equalTo(subtitleBackLable.snp.bottom).offset(11)
make.height.equalTo(95)
make.left.equalTo(subtitleBackLable.snp.left)
make.right.equalTo(subtitleBackLable.snp.right)
......@@ -131,7 +131,7 @@ extension YHPersonInfoIdentificationCardView {
addSubview(bottomLine)
bottomLine.snp.makeConstraints { make in
make.top.equalTo(backImagV.snp.bottom).offset(15)
make.top.equalTo(backImagV.snp.bottom).offset(15.5)
make.height.equalTo(0.5)
make.left.right.equalToSuperview()
......
......@@ -12,7 +12,7 @@ class YHPersonInfoSessionHoldView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = .white
layer.cornerRadius = 6
layer.cornerRadius = kCornerRadius6
clipsToBounds = true
}
......
......@@ -21,7 +21,7 @@ class YHPersonInfoSessionView: UIView {
//title
private lazy var nameLable : UILabel = {
let lable0 = UILabel(text: "--")
lable0.textColor = UIColor(hex: 0x222222)
lable0.textColor = UIColor.mainTextColor
lable0.font = UIFont.PFSC_M(ofSize: 17)
lable0.numberOfLines = 0
lable0.lineBreakMode = .byWordWrapping
......@@ -44,8 +44,8 @@ class YHPersonInfoSessionView: UIView {
addSubview(nameLable)
nameLable.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalToSuperview().offset(16)
make.bottom.equalTo(bottomLine.snp.top).offset(-16)
make.top.equalToSuperview().offset(kMargin)
make.bottom.equalTo(bottomLine.snp.top).offset(-kMargin)
}
}
}
......
......@@ -47,7 +47,7 @@ class YHContractMainItemStatusCell: UITableViewCell {
private lazy var itemNameLable : UILabel = {
let lable = UILabel()
lable.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable.font = UIFont(name: "PingFangSC-Medium", size: 17)
lable.font = UIFont.PFSC_M(ofSize: 17)
lable.text = "信息完善"
return lable
}()
......@@ -71,22 +71,33 @@ class YHContractMainItemStatusCell: UITableViewCell {
return view
}()
private lazy var gofinishHoldView : UIView = {
let view = UIView()
return view
}()
private var myNextImgV : UIImageView!
}
extension YHContractMainItemStatusCell {
func updateUI() {
gofinishHoldView.isHidden = true
goUnfinishHoldView.isHidden = true
myNextImgV.isHidden = true
iconImageV.image = UIImage(named: dataModel?.iconName ?? "")
itemNameLable.text = dataModel?.itemName ?? ""
if dataModel?.type == 1 {
gofinishHoldView.isHidden = !(dataModel?.isFinished ?? false)
goUnfinishHoldView.isHidden = dataModel?.isFinished ?? false
} else if dataModel?.type == 2 {
gofinishHoldView.isHidden = !(dataModel?.isFinished ?? false)
goUnfinishHoldView.isHidden = dataModel?.isFinished ?? false
} else if dataModel?.type == 3 {
myNextImgV.isHidden = false
}
}
func setupUI() {
......@@ -176,6 +187,18 @@ extension YHContractMainItemStatusCell {
make.right.equalTo(statusLable.snp.left).offset(-4)
make.width.height.equalTo(14)
}
myNextImgV = UIImageView()
myNextImgV.image = UIImage(named: "service_center_right_next_icon")
myNextImgV.contentMode = .scaleAspectFill
holdView.addSubview(myNextImgV)
myNextImgV.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.right.equalTo(-kMargin)
make.width.height.equalTo(20)
}
}
}
......@@ -76,7 +76,7 @@ class YHInformationFillTipsAlertView: UIView {
centerView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = 8
view.layer.cornerRadius = kCornerRadius8
return view
}()
addSubview(centerView)
......@@ -99,14 +99,15 @@ class YHInformationFillTipsAlertView: UIView {
checkBtn.addTarget(self, action: #selector(onClickReadyBtn), for: .touchUpInside)
checkBtn.setTitle("准备完毕", for: .normal)
checkBtn.setTitleColor(.white, for: .normal)
checkBtn.layer.cornerRadius = 8
checkBtn.layer.cornerRadius = kCornerRadius6
checkBtn.clipsToBounds = true
checkBtn.titleLabel?.font = UIFont.PFSC_M(ofSize: 16)
bottomView.addSubview(checkBtn)
checkBtn.snp.makeConstraints { make in
make.bottom.equalToSuperview().offset(-40)
make.left.equalTo(16)
make.right.equalTo(-16)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.height.equalTo(48)
}
checkBtn.layoutIfNeeded()//非常重要!!!!
......@@ -115,8 +116,8 @@ class YHInformationFillTipsAlertView: UIView {
let lable00 = UILabel(text: "我确认我所提供的材料真实有效,并知悉其中内容。")
lable00.font = kFont(size: 12)
lable00.textColor = UIColor(red: 0.533, green: 0.561, blue: 0.596, alpha: 1)
lable00.font = UIFont.PFSC_R(ofSize: 12)
lable00.textColor = UIColor.labelTextColor2
let tap = UITapGestureRecognizer(target: self, action: #selector(onClickAgree))
lable00.isUserInteractionEnabled = true
lable00.addGestureRecognizer(tap)
......@@ -151,8 +152,8 @@ class YHInformationFillTipsAlertView: UIView {
let lable01 = UILabel(text: "信息填写提示")
lable01.font = UIFont.PFSC_B(ofSize: 18)
lable01.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable01.font = UIFont.PFSC_M(ofSize: 17)
lable01.textColor = UIColor.mainTextColor
topView.addSubview(lable01)
lable01.snp.makeConstraints { make in
......@@ -164,7 +165,7 @@ class YHInformationFillTipsAlertView: UIView {
let line = UIView()
line.backgroundColor = UIColor(red: 0.941, green: 0.941, blue: 0.941, alpha: 1)
line.backgroundColor = UIColor(hexString: "#F0F0F0")
topView.addSubview(line)
line.snp.makeConstraints { make in
make.left.equalTo(21)
......
......@@ -58,8 +58,8 @@ extension YHInformationFillTipsCell {
//添加元素
let lable0 = UILabel(text: " 您好!欢迎来到香港优才申请系统,请按照实际情况填写。")
lable0.font = kFont(size: 14)
lable0.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable0.font = UIFont.PFSC_R(ofSize: 14)
lable0.textColor = UIColor.mainTextColor
lable0.numberOfLines = 0
lable0.lineBreakMode = .byWordWrapping
......@@ -72,12 +72,12 @@ extension YHInformationFillTipsCell {
let lable1 = UILabel(text: " 1. 如您填写途中想离开系统,记得点击保存,在您有空闲的时间再继续进行填写;")
lable1.font = UIFont.PFSC_R(ofSize: 14)
lable1.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable1.textColor = UIColor.mainTextColor
lable1.numberOfLines = 0
lable1.lineBreakMode = .byWordWrapping
let a: ASAttributedString = .init(" 1. 如您填写途中想离开系统,", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)))
let b: ASAttributedString = .init("记得点击保存", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor(hex:0x3271F5)))
let c: ASAttributedString = .init(",在您有空闲的时间再继续进行填写;", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)))
let a: ASAttributedString = .init(" 1. 如您填写途中想离开系统,", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor.mainTextColor))
let b: ASAttributedString = .init("记得点击保存", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor.brandMainColor))
let c: ASAttributedString = .init(",在您有空闲的时间再继续进行填写;", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor.mainTextColor))
lable1.attributed.text = a + b + c
holdView.addSubview(lable1)
......@@ -88,13 +88,13 @@ extension YHInformationFillTipsCell {
let lable2 = UILabel(text: " 2. 此次填写将花费您30-40分钟,系统将根据您所填写的信息,形成详细资料清单,一起为香港身份起航吧~")
lable2.font = UIFont.PFSC_R(ofSize: 14)
lable2.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable2.textColor = UIColor.mainTextColor
lable2.numberOfLines = 0
lable2.lineBreakMode = .byWordWrapping
let aa: ASAttributedString = .init(" 2. 此次填写将花费您", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)))
let bb: ASAttributedString = .init("30-40分钟", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor(hex:0x3271F5)))
let cc: ASAttributedString = .init(",系统将根据您所填写的信息,形成详细资料清单,一起为香港身份起航吧~", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)))
let aa: ASAttributedString = .init(" 2. 此次填写将花费您", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor.mainTextColor))
let bb: ASAttributedString = .init("30-40分钟", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor.brandMainColor))
let cc: ASAttributedString = .init(",系统将根据您所填写的信息,形成详细资料清单,一起为香港身份起航吧~", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor.mainTextColor))
lable2.attributed.text = aa + bb + cc
......@@ -106,8 +106,8 @@ extension YHInformationFillTipsCell {
}
let holdView2 = UIView()
holdView2.backgroundColor = UIColor(red: 0.973, green: 0.976, blue: 0.984, alpha: 1)
holdView2.layer.cornerRadius = 8
holdView2.backgroundColor = UIColor.contentBkgColor
holdView2.layer.cornerRadius = kCornerRadius6
holdView2.clipsToBounds = true
holdView.addSubview(holdView2)
holdView2.snp.makeConstraints { make in
......@@ -117,7 +117,7 @@ extension YHInformationFillTipsCell {
let view0 = UIView()
view0.backgroundColor = UIColor(red: 0.196, green: 0.443, blue: 0.961, alpha: 1)
view0.backgroundColor = UIColor.brandMainColor
holdView2.addSubview(view0)
view0.snp.makeConstraints { make in
make.top.equalTo(15.5)
......@@ -130,7 +130,7 @@ extension YHInformationFillTipsCell {
let lable3 = UILabel(text: "准备材料:")
lable3.font = UIFont.PFSC_M(ofSize: 14)
lable3.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable3.textColor = UIColor.mainTextColor
holdView2.addSubview(lable3)
lable3.snp.makeConstraints { make in
make.centerY.equalTo(view0)
......@@ -155,7 +155,7 @@ extension YHInformationFillTipsCell {
let lable4 = UILabel(text: "身份证正反面照片(外国国籍准备护照)")
lable4.font = UIFont.PFSC_R(ofSize: 14)
lable4.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable4.textColor = UIColor.mainTextColor
holdView2.addSubview(lable4)
lable4.snp.makeConstraints { make in
make.centerY.equalTo(imageV0)
......@@ -176,7 +176,7 @@ extension YHInformationFillTipsCell {
let lable5 = UILabel(text: "护照(如有)")
lable5.font = UIFont.PFSC_R(ofSize: 14)
lable5.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable5.textColor = UIColor.mainTextColor
holdView2.addSubview(lable5)
lable5.snp.makeConstraints { make in
make.centerY.equalTo(imageV1)
......@@ -198,7 +198,7 @@ extension YHInformationFillTipsCell {
let lable6 = UILabel(text: "港澳通行证正反面照片(如有)")
lable6.font = UIFont.PFSC_R(ofSize: 14)
lable6.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable6.textColor = UIColor.mainTextColor
holdView2.addSubview(lable6)
lable6.snp.makeConstraints { make in
make.centerY.equalTo(imageV2)
......@@ -220,7 +220,7 @@ extension YHInformationFillTipsCell {
let lable7 = UILabel(text: "简历/工作总结")
lable7.font = UIFont.PFSC_R(ofSize: 14)
lable7.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable7.textColor = UIColor.mainTextColor
holdView2.addSubview(lable7)
lable7.snp.makeConstraints { make in
make.centerY.equalTo(imageV3)
......@@ -232,17 +232,23 @@ extension YHInformationFillTipsCell {
let holdView3 = UIView()
holdView3.backgroundColor = UIColor(red: 0.973, green: 0.976, blue: 0.984, alpha: 1)
holdView3.layer.cornerRadius = 8
holdView3.backgroundColor = UIColor.clear
holdView3.layer.cornerRadius = kCornerRadius6
holdView3.clipsToBounds = true
holdView3.layer.borderWidth = 1
holdView3.layer.borderColor = UIColor(hexString: "#E4EEFF").cgColor
holdView.addSubview(holdView3)
holdView3.snp.makeConstraints { make in
make.top.equalTo(holdView2.snp.bottom).offset(12)
make.left.right.equalToSuperview()
make.bottom.equalToSuperview().offset(-8)//for test hjl
make.bottom.equalToSuperview().offset(-8)
}
let imageV4 = UIImageView()
imageV4.image = UIImage(named: "tips_icon")
imageV4.contentMode = .scaleAspectFill
......@@ -255,8 +261,8 @@ extension YHInformationFillTipsCell {
let lable8 = UILabel(text: "温馨提示:")
lable8.font = UIFont.PFSC_R(ofSize: 12)
lable8.textColor = UIColor(red: 0.263, green: 0.533, blue: 1, alpha: 1)
lable8.font = UIFont.PFSC_M(ofSize: 12)
lable8.textColor = UIColor.brandMainColor
holdView3.addSubview(lable8)
lable8.snp.makeConstraints { make in
make.centerY.equalTo(imageV4)
......@@ -270,12 +276,11 @@ extension YHInformationFillTipsCell {
lable9.numberOfLines = 0
lable9.lineBreakMode = .byWordWrapping
lable9.font = UIFont.PFSC_R(ofSize: 12)
lable9.textColor = UIColor(red: 0.263, green: 0.533, blue: 1, alpha: 1)
lable9.textColor = UIColor.brandMainColor
holdView3.addSubview(lable9)
lable9.snp.makeConstraints { make in
make.top.equalTo(lable8.snp.bottom).offset(7)
make.left.equalTo(imageV4.snp.left)
// make.height.equalTo(28)
make.right.equalToSuperview().offset(-16)
}
......@@ -284,7 +289,7 @@ extension YHInformationFillTipsCell {
lable10.numberOfLines = 0
lable10.lineBreakMode = .byWordWrapping
lable10.font = UIFont.PFSC_R(ofSize: 12)
lable10.textColor = UIColor(red: 0.533, green: 0.561, blue: 0.596, alpha: 1)
lable10.textColor = UIColor.labelTextColor2
holdView3.addSubview(lable10)
lable10.snp.makeConstraints { make in
make.top.equalTo(lable9.snp.bottom).offset(7)
......@@ -292,5 +297,16 @@ extension YHInformationFillTipsCell {
make.right.equalToSuperview().offset(-16)
make.bottom.equalToSuperview().offset(-18)
}
holdView3.layoutIfNeeded()
let imageV44 = UIImageView()
imageV44.frame = holdView3.bounds
imageV44.image = UIImage(named: "tips_cell_bkg")
imageV44.contentMode = .scaleAspectFill
imageV44.layer.zPosition = -1
holdView3.addSubview(imageV44)
// imageV44.snp.makeConstraints { make in
// make.edges.equalTo(0)
// }
}
}
......@@ -54,8 +54,8 @@ class YHInformationPerfectCell: UITableViewCell {
private lazy var itemNameLable : UILabel = {
let lable = UILabel()
lable.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable.font = UIFont(name: "PingFangSC-Medium", size: 17)
lable.textColor = UIColor.mainTextColor
lable.font = UIFont.PFSC_M(ofSize: 16)
lable.text = "主申请人信息"
return lable
}()
......@@ -63,8 +63,8 @@ class YHInformationPerfectCell: UITableViewCell {
private lazy var itemStatusLable : UILabel = {
let lable = UILabel()
lable.textColor = UIColor(red: 0.133, green: 0.133, blue: 0.133, alpha: 1)
lable.font = UIFont(name: "PingFangSC-Medium", size: 17)
lable.textColor = UIColor.successColor
lable.font = UIFont.PFSC_M(ofSize: 14)
lable.text = "已完成"
lable.textAlignment = .right
return lable
......@@ -103,6 +103,9 @@ extension YHInformationPerfectCell {
func updateUI() {
itemNameLable.text = dataModel?.name
itemNameLable.textColor = dataModel?.color
if dataModel?.isDoing == true {
itemNameLable.textColor = UIColor.mainTextColor
}
itemStatusLable.text = dataModel?.status
itemStatusLable.textColor = dataModel?.statusColor
......@@ -169,7 +172,7 @@ extension YHInformationPerfectCell {
midImagV.layer.zPosition = 10
midImagV.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalTo(16)
make.left.equalTo(kMargin)
make.width.height.equalTo(14)
}
......@@ -178,29 +181,29 @@ extension YHInformationPerfectCell {
topImagV.snp.makeConstraints { make in
make.centerX.equalTo(midImagV)
make.top.equalToSuperview()
make.bottom.equalTo(midImagV.snp.top)
make.width.equalTo(4)
make.bottom.equalTo(midImagV.snp.top).offset(-4)
make.width.equalTo(2)
}
contentView.addSubview(bottomImagV)
bottomImagV.snp.makeConstraints { make in
make.centerX.equalTo(midImagV)
make.top.equalTo(midImagV.snp.bottom)
make.width.equalTo(4)
make.top.equalTo(midImagV.snp.bottom).offset(4)
make.width.equalTo(2)
make.bottom.equalToSuperview()
}
let holdView = UIView()
holdView.backgroundColor = .white
holdView.layer.cornerRadius = 12
holdView.layer.cornerRadius = kCornerRadius6
holdView.clipsToBounds = true
contentView.addSubview(holdView)
holdView.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.height.equalTo(68)
make.right.equalTo(-16)
make.right.equalTo(-kMargin)
make.left.equalTo(midImagV.snp.right).offset(16)
}
......@@ -215,7 +218,7 @@ extension YHInformationPerfectCell {
holdView.addSubview(nextImgV)
nextImgV.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.right.equalTo(-18)
make.right.equalTo(-kMargin)
make.width.height.equalTo(16)
}
......
......@@ -61,7 +61,7 @@ class YHSubmintAllInfoSuccessTipView: UIView {
centerView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = 12
view.layer.cornerRadius = kCornerRadius8
return view
}()
addSubview(centerView)
......@@ -89,8 +89,8 @@ class YHSubmintAllInfoSuccessTipView: UIView {
let lable = UILabel(text: "提交成功")
lable.textAlignment = .center
lable.font = kFont(name: "PingFangSC-Medium", size: 17)
lable.textColor = UIColor(hex:0x222222)
lable.font = UIFont.PFSC_M(ofSize: 17)
lable.textColor = UIColor.mainTextColor
headBkgImagV.addSubview(lable)
lable.snp.makeConstraints { make in
......@@ -102,8 +102,8 @@ class YHSubmintAllInfoSuccessTipView: UIView {
let lable2 = UILabel(text: "根据您填写的资料,您的评分如下:")
lable2.textAlignment = .center
lable2.font = kFont(name: "PingFangSC-Medium", size: 14)
lable2.textColor = UIColor(hex:0x222222)
lable2.font = UIFont.PFSC_R(ofSize: 14)
lable2.textColor = UIColor.mainTextColor
centerView.addSubview(lable2)
lable2.snp.makeConstraints { make in
......@@ -127,26 +127,27 @@ class YHSubmintAllInfoSuccessTipView: UIView {
make.height.equalTo(50)
}
let a: ASAttributedString = .init("90", .font(UIFont.PFSC_R(ofSize: 32)),.foreground(UIColor(hex:0xFF9900)))
let b: ASAttributedString = .init("分", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor(hex:0x888F98)))
let a: ASAttributedString = .init("90", .font(UIFont.PFSC_M(ofSize: 43)),.foreground(UIColor.warnColor))
let b: ASAttributedString = .init("分", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor.labelTextColor2))
messageLabel.attributed.text = a + b
disAgressButton = {
let button = UIButton(type: .custom)
button.backgroundColor = UIColor(hex:0xffffff)
button.titleLabel?.font = kBoldFont(size: 14)
button.backgroundColor = .white
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
button.contentHorizontalAlignment = .center
button.setTitle("取消", for: .normal)
button.setTitleColor( UIColor(hex:0x3c86f8), for: .normal)
button.layer.cornerRadius = 8
button.setTitleColor(UIColor.brandMainColor, for: .normal)
button.layer.cornerRadius = kCornerRadius6
button.clipsToBounds = true
button.layer.borderWidth = 1
button.layer.borderColor = UIColor(hex: 0x3c86f8).cgColor
button.layer.borderColor = UIColor.brandMainColor.cgColor
button.addTarget(self, action: #selector(disagree), for: .touchUpInside)
return button
}()
centerView.addSubview(disAgressButton)
disAgressButton.snp.makeConstraints { make in
make.left.equalTo(16)
make.left.equalTo(kMargin)
make.bottom.equalTo(-21)
make.width.equalTo(128)
make.height.equalTo(45)
......@@ -154,22 +155,24 @@ class YHSubmintAllInfoSuccessTipView: UIView {
agreeButton = {
let button = UIButton(type: .custom)
button.backgroundColor = UIColor(hex:0x3c86f8)
button.titleLabel?.font = kBoldFont(size: 14)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
button.contentHorizontalAlignment = .center
button.setTitle("评分详情", for: .normal)
button.setTitleColor( UIColor(hex:0xffffff), for: .normal)
button.layer.cornerRadius = 8
button.setTitleColor(.white, for: .normal)
button.layer.cornerRadius = kCornerRadius6
button.clipsToBounds = true
button.addTarget(self, action: #selector(agree), for: .touchUpInside)
return button
}()
centerView.addSubview(agreeButton)
agreeButton.snp.makeConstraints { make in
make.right.equalTo(-16)
make.right.equalTo(-kMargin)
make.bottom.equalTo(-21)
make.width.equalTo(128)
make.height.equalTo(45)
}
agreeButton.layoutIfNeeded()
agreeButton.backgroundGradient()
}
......
......@@ -72,9 +72,8 @@ class YHSubmitAllInfoCheckView: UIView {
messageLabel = {
let label = UILabel()
label.text = "确定是否提交信息?提交后将不能修改"
label.font = kFont(size: 16)
label.textColor = UIColor(hex:0x222222)
label.textAlignment = .left
label.font = UIFont.PFSC_R(ofSize: 16)
label.textColor = UIColor.mainTextColor
label.numberOfLines = 0
return label
}()
......@@ -82,26 +81,27 @@ class YHSubmitAllInfoCheckView: UIView {
messageLabel.snp.makeConstraints { make in
make.left.equalTo(22)
make.right.equalTo(-22)
make.height.equalTo(42)
// make.height.equalTo(42)
make.top.equalTo(40)
}
disAgressButton = {
let button = UIButton(type: .custom)
button.backgroundColor = UIColor(hex:0xffffff)
button.titleLabel?.font = kBoldFont(size: 14)
button.backgroundColor = .white
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
button.contentHorizontalAlignment = .center
button.setTitle("取消", for: .normal)
button.setTitleColor( UIColor(hex:0x3c86f8), for: .normal)
button.layer.cornerRadius = 8
button.setTitleColor(UIColor.brandMainColor, for: .normal)
button.layer.cornerRadius = kCornerRadius6
button.clipsToBounds = true
button.layer.borderWidth = 1
button.layer.borderColor = UIColor(hex: 0x3c86f8).cgColor
button.layer.borderColor = UIColor.brandMainColor.cgColor
button.addTarget(self, action: #selector(disagree), for: .touchUpInside)
return button
}()
centerView.addSubview(disAgressButton)
disAgressButton.snp.makeConstraints { make in
make.left.equalTo(16)
make.left.equalTo(kMargin)
make.bottom.equalTo(-21)
make.width.equalTo(128)
make.height.equalTo(45)
......@@ -109,22 +109,24 @@ class YHSubmitAllInfoCheckView: UIView {
agreeButton = {
let button = UIButton(type: .custom)
button.backgroundColor = UIColor(hex:0x3c86f8)
button.titleLabel?.font = kBoldFont(size: 14)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
button.contentHorizontalAlignment = .center
button.setTitle("确认", for: .normal)
button.setTitleColor( UIColor(hex:0xffffff), for: .normal)
button.layer.cornerRadius = 8
button.clipsToBounds = true
button.setTitleColor(.white, for: .normal)
button.layer.cornerRadius = kCornerRadius6
button.addTarget(self, action: #selector(agree), for: .touchUpInside)
return button
}()
centerView.addSubview(agreeButton)
agreeButton.snp.makeConstraints { make in
make.right.equalTo(-16)
make.right.equalTo(-kMargin)
make.bottom.equalTo(-21)
make.width.equalTo(128)
make.height.equalTo(45)
}
agreeButton.layoutIfNeeded()
agreeButton.backgroundGradient()
}
......
......@@ -12,15 +12,58 @@ class YHServiceCenterMainViewModel: YHBaseViewModel {
//合同列表 数据
var arrContactList : [YHContactItemModel] = []
//评分相关的 本地数据
var localScoreData : YHScoreDataModel?
//合同对应的状态
var arrContactStausItmes: [YHContactMainItemStatusModel] = []
//信息完善列表
var arrInfoFillStep : [YHInformationPerfectModel] = []
var myInfoFillStep : Int = 0
var informationFillStepModel : YHPersonInfoFillStepModel?
//我的评分
var myScoreResultData : YHScoreResultModel?//网络请求的结果数据
var localScoreData : YHScoreDataModel? //本地缓存的数据
}
//请求接口
extension YHServiceCenterMainViewModel {
//获取我的评分结果
func getMyScoreDetail( params:[String : Any],callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
loadLocalScoreData()
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.scoreDetailApi
let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
guard let model = NetBaseModel.deserialize(dict: json) else {
let error : YHErrorModel = YHErrorModel(errorCode:YHErrorCode.dictParseError.rawValue,errorMsg: YHErrorCode.dictParseError.description())
callBackBlock(false,error)
return
}
printLog("model 是 ==> \(model)")
let dic = model.data?.peel
guard let resultModel = YHScoreResultModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
callBackBlock(false,nil)
return
}
self.myScoreResultData = resultModel
if let localScoreData = self.localScoreData {
localScoreData.age_score!.resultData = resultModel.age_score
localScoreData.language_score!.resultData = resultModel.language_score
localScoreData.background_score!.resultData = resultModel.background_score
localScoreData.work_experience_score!.resultData = resultModel.work_experience_score
localScoreData.education_score!.resultData = resultModel.education_score
localScoreData.talent_list_score!.resultData = resultModel.talent_list_score
}
callBackBlock(true,nil)
} failBlock: { err in
callBackBlock(false,err)
}
}
//请求合同项
func getContactList(callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.contractListApi
......@@ -35,12 +78,12 @@ extension YHServiceCenterMainViewModel {
printLog("model 是 ==> \(model)")
let dic = model.data?.peel
guard let resultModel = YHContactItemHoldModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
self.arrContactList = []
arrContactList = []
callBackBlock(false,nil)
return
}
self.arrContactList = resultModel.orders
arrContactList = resultModel.orders
callBackBlock(true,nil)
} failBlock: { err in
callBackBlock(false,err)
......@@ -102,12 +145,91 @@ extension YHServiceCenterMainViewModel {
callBackBlock(false,err)
}
}
//请求 信息表的填写状态
func getPersonInfoFillStep( params:[String : Any],callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Order.informationStepApi
let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
guard let model = NetBaseModel.deserialize(dict: json) else {
let error : YHErrorModel = YHErrorModel(errorCode:YHErrorCode.dictParseError.rawValue,errorMsg: YHErrorCode.dictParseError.description())
self.arrInfoFillStep = []
informationFillStepModel = nil
callBackBlock(false,error)
return
}
printLog("model 是 ==> \(model)")
let dic = model.data?.peel
guard let resultModel = YHPersonInfoFillStepModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
self.arrInfoFillStep = []
informationFillStepModel = nil
callBackBlock(false,nil)
return
}
informationFillStepModel = resultModel
myInfoFillStep = resultModel.step
let arr = [1,2,3,4,5,6]
let target = myInfoFillStep //for test hjl 待填写的项目
for item in arr {
let model = YHInformationPerfectModel()
model.type = item
arrInfoFillStep.append(model)
if item < target {
model.isFinished = true
} else {
model.isFinished = false
}
if item == target {
model.isDoing = true
}
if item == target + 1 {
model.isNextDoingCell = true
} else {
model.isNextDoingCell = false
}
}
callBackBlock(true,nil)
} failBlock: { err in
self.arrInfoFillStep = []
self.informationFillStepModel = nil
callBackBlock(false,err)
}
}
//提交 温馨提示弹窗
func submitSweetNotifyOp( params:[String : Any],callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Users.submitSweetNotifyApi
let _ = YHNetRequest.postRequest(url: strUrl,params: params) {json, code in
//1. json字符串 转 对象
guard let model = NetBaseModel.deserialize(dict: json) else {
let error : YHErrorModel = YHErrorModel(errorCode:YHErrorCode.dictParseError.rawValue,errorMsg: YHErrorCode.dictParseError.description())
callBackBlock(false,error)
return
}
printLog("model 是 ==> \(model)")
callBackBlock(true,nil)
} failBlock: { err in
callBackBlock(false,err)
}
}
}
//其他方法
extension YHServiceCenterMainViewModel {
//加载本地 plist数据
func loadLocalScoreData() {
private func loadLocalScoreData() {
if let path = Bundle.main.path(forResource: "scoreOptionData", ofType: "plist") {
if let plistData = FileManager.default.contents(atPath: path) {
do {
......
......@@ -58,8 +58,11 @@ extension UIColor {
//内容背景色
static let contentBkgColor : UIColor = UIColor(hexString: "#F8F9FB")!
//占位符颜色
static let placeHolderColor: UIColor = UIColor(hexString: "#C0C0C0")!
// 分割线颜色
static let separatorColor: UIColor = UIColor(hexString: "#F0F0F0")!
public convenience init(r : CGFloat, g : CGFloat, b : CGFloat,alpha:CGFloat = 1.0) {
......
......@@ -20,13 +20,27 @@ class YHAllApiName {
struct Order {
//合同列表
static let contractListApi = "frontend/order/list"
//合同填写进度
static let contractStatusApi = "frontend/order/progress"
//信息表的填写进度
static let informationStepApi = "frontend/order/information/step"
//我的评分结果
static let scoreDetailApi = "frontend/order-assessment/score_detail"
// 获取家庭成员信息 添加家庭成员也用这个
static let familyInfoApi = "frontend/order/information/family"
// 删除家庭成员信息
static let familyMemberDeleteApi = "frontend/order/information/family/delete"
}
//Users
struct Users {
//提交 温馨提示信息
static let submitSweetNotifyApi = "frontend/users/sweet-notify/submit"
}
}
......@@ -92,8 +92,7 @@ class YHNetRequest: NSObject {
print("sign = \(sign)")
requestHeader.add(name:"sign",value:sign)
// requestHeader.add(name: "token", value: "eyJpdiI6InkrcVNJK2tyMDMzekZOcHE1NklOUUE9PSIsInZhbHVlIjoiRTNMY0VoM2p1b2JvMVoxY28wa2RCRWtMdzA3N1BIaUhqN2F5d3Y5VXp6KzhlNHpTMzdWODlJckNaeUczZkNNamZDbWY0U1c2VGJJOVVBeVpDWUVqV29ISzRkNzh3d2ZZbDFKMk9vN3pRR0g4ZUlXTTliWTNoUzdyNHpQNGtKU1Z3YzMzTnRUMERPQXcwTmpEcXQzSU5qRWt6MlhMWXVEUDB5THNwTWMzZTE1cEtUOUFpXC9xTlB4UFBmeXJ6cHhnNkR6TktFK3hhejJ0OG82cWFGRG5hMkN1dU1zblwvRk8xSEhXTno4Z3Z1WjExYXRHNE1zZXo4Yzh5cW1WSjlNVnBJU1dFOUFYbDBIXC83Q1BtZ3dhK2REa3NFQjI1ODZJalY3U1c0WHM5aG0xSDNzUjJcL0ZPVEhqR1lRTFI3UjBJRVFcL0NRZVlrbWZ4eGJvNUxtZDNJNUdGME45WkwzN1Byc1U5MTdod3RNMFc3TEt5cVNha211aEN6V0g4eFo4YStOYVFYdXhYaTJ6RFN0bTRkb1U3NUV1ZG01XC9UM3pMdlhRSm1VNUpcL0ZwMnpXdkR5XC9hTDJrVW9pamxYRTROOENRSTRsUlVJQ1lGR1phSmJZVVVEK1R6NTZLbkN4WlA5REJhbzN5Qzc4bEE3OTEyTDBJSmZic2dKSkpPWXpaOVF0T1NId05GdGVCYnNBNXVmOWt6MG9GUjRHcEFKVWVJSG1QXC8rTElxZGFTUERlQjdDS1FzUVI2VHJSYXVlZWZ3ZUlVK28rM1VaeGhPXC9OVWFoU0lqUHFkRWdiSG8wcUlcL2IyNWVZUzZ2ZE93ZmZkQXFYXC9CSHJNU0VcL1RPb2RYWW1OVnFhd251UFhjTnI3b2lraVJWcG16SkxRdjFnc1BlaHVTSEdpSTlUMmlBTjF5eFgyb09GSzR6UUdmRHlMZFZNT3JTNmowWGdYNVR5WFM5TnVVNTVYdHduWnV0ZTVNUGNHNngyVGNtK0Q3YTN0ekVZb1E3UFBJd2hmblJEdmZLdk5nUExmaWJJU2hWRVBmdHMzRUM0SW1hTnNSRWt6VWY5NDhodUJJelZvSDNHbjBJMitvb2ZKNGVKMW05SjQ4QVcyTGVtY1JDK2doWE52Kzh6K2xqMVpMWXgxT1NUWUo0UWdocktxbFBxMGx1S0RlbXlJalwvNkhRWUV5dktRcGoxZ3MzT1NWWDN5TGpJQ0hlb1Jta05zdmRpTmdWOXNBYXJidVFnTTlSRG4wUjhEMXg3WWdXUkZSM0JiTlNVaDlBYjZEVFBxdm1lZkw4UGpjRXJMSlVQRFwvNG5zYmp3cVc4emd5bmI4VGU4dW1kS3RhdHhpMGY3NzVKRnVBVjhoVjBHc2VhRmZpS3V4aEdZZFpob3NcLzR1MHpCOUp4ZE92NkZoYU8xc3JuMVdQQjl0QmdoOENCVHZneG1xVFJ1eHVOSVIzN2xnNEVNZ01yeFhzMitESVM0QzdVTmJiUmNkaW1XS2VuR3lqclJNRWk4WmNjK0FyZXh2Qldxd25EU1h1MHE4WElPMnZtSVhQNHBYV1l4QXlKV0dBaUlGem5aMUFGNDFBTmgrMHNIeFVSTWtKUERxQkJvOFJ1anI1SGJZd2hJM1NWbFJnMXdSTUJKMytKeThucDlERVBrK3lkVUVnY1diRkRRXC90aEl2OCtyTFVaQjZcLzlnN01TaXcrVlF0TFVFdGNLbitrVU1WZnlobkVuQXZYSCtqc083cUNXYlRjS21sVDd4ak5FMDlMM05WeHMya3FBblYyVXRNSjI4MklXSmdaUnZqdGxOWTZXS1ZYNXpobTlPWGN0alwvODhoVzM4OEJDeDl3WmZrcGREYnJwbUVRaWdXb2dzMnVcL1ZEYXVxUUtjR1I2WjJuVHNidmlZUHBqREg3bmcyalB2QWdBdz09IiwibWFjIjoiYWYyZTgyMWJkZmUxYzUxOThmYjBiYTI3ZGRhNTk3NWU2NTBlODgzMjZjYmExYzEzZDEwZDA4NGU5YmUzNmIwNiJ9")
requestHeader.add(name: "token", value: "eyJpdiI6InhISTlXZjA2cXE5Z2pqMDZDa2NrTkE9PSIsInZhbHVlIjoiR3NkRVR0dVdjWE5GN2N3UmNiU0xobVYzZTR6SXlGXC9XVEhWV0xcL1F1YXVBOU9jRDlFZ2pOanBcL1RBMUVkUDlRQ2xhREx0c3dKeHNJQjMwaVVuYkloZHBiUXQzZkJlS2dTWDJrTE90K2FpM0FDWm10a3FFUGZpdW90TDNscStud0tSenRRV2kyV3JVbEZ6eXppUHZ5ajFQMXpBejh0YUZ4Z0VPZkwwdEtwXC9mNjh4bWQySGpSS2pzVkJ1Y3ZrbGFKdGVsMkhkRXJrTlRHbzkxcVdkcE1yWXRja2xDRHVmRUhhdU9ybkJmXC9VRVJnY2RXeVpXMzZVc2h2eUsxYVRmSXR0QXB1WjVsaDBLTllVOEtKWUhSTE5yNXFvYWlaQzdQSWZ0T0V2VTZwTFJjb25OZGdYbE1lNHZOZ0ZWcWhWWkhnUm8rWGJqSE1Jdm1DY3hlWVliY2F0YkplZFwvQ0pMMndtdHFBQUF0MjJYTFNZYk14Tzh0d0g1K2c2M1U2bXFZY3JUbXptbEhCSXR5R3hFZ0JHNmpXTHgzeTJvc0Z2UXpENk5LOTlBN0VjWE8rNmYzTklBN3d0YVVPb2VyS0lNK3FINUZlTmR6UTlBdENuZEtDKzE3emwxMGxvaEc1Sm1mc0E3Y251cU5xcjd4ZzdSbHNNQ2xoRUc4VUJTR24zQ1lRSE5VRGtUd0s0ZTljSlRxRmdwMFVqY0RsMjQwcm1SaVdSN29lNjYrd1JDSlwvSUtiSWpneFpuR2VzeUFBbzNBUUh2MnNVTFZ5bXVLTGVLNFM5TjdzdXpaM1ZFRDdvRUVlRFF0QUY4d2pXcmF4NkFwMGVodXRVUFlxVGhVRmVpYlwvRUJFT05idFhyeXp4TUtcLzN0MlVcL3ZIc2dWSncxaW55TDVUVXFIWjZZMUdHakJKVnpzRkxGeE52RWdLaW9WT0tCb3pTQW1xelNwaTRaQmtGeEpITjVEUU44Q3VGSnBGdzdOcFRyTE9sYmFTT3RrMDJYU3l0XC9PcVJ1OXo2MUpJdm5XSHZFZ0lIMGh5OGR2TEJkNTZjVHFKM1hSYnVEbm9vVFU1VUUzcmRDZ3JhZWRYQWZ1cU9aajVKMHdOMGpxczBSVU5GejNrNzk3bnVBa210dFdCblVBaUs5Y0VIWmxCdE04UlV6T2NEN3ZTN2E0MEhRYmlCNGk3V2xZN1R2ZUM4cVVZZ1Rlb1BndmFcL2phemNnbEhKb05QeHhxa1BldFFqK2ErcWZmYWs1RnNPWEpNK0x4MFo4MTU4OEttZTNxeDMrcCtkNUVwSUd4b1krOXRFdU1UNVFxZyszXC9Lb21TSG5hSFI2OVRVWmxIRm9UcTRlU2kyNWF6K1pQR3lMK1MyS0FvQ2ZFaTViTmdybm1xQ1BscVMzM2tjeUFCQVlvZFdPMTJTb2ttZDl2Q3BuTXVvTnJkUDRpa0g5cE4rWlRcL1l2MWdNdmY0MFVsMFArWWYzWVNmMW5oUnkwWk1mTVc3WUluU3dyQUM4TTZBbHJac0lOMDNiYVhVWks2TCs3QnN0VDlOXC9xaEwyUEtmblVmOXpcL3hoekQ1K3JKWVozVWxrdElKbTdWTHpaMnk2bXFQQ0VJalR1TVpIc1d4bmJjVVIwdTR1VXY1M1wvMEJMODVTWkNreVpCVmh3MWRDeERROGh5YnVsMkVKV2poMFwvYnZHakMycHJmQjUycDQ3b3laUUlTSjdmaDdFMnFtTHhIN1RvUnhhcUhCWXkybkhoMlFwZUVtM0VPUVZrcXp3S0lLMFwvOUtvZnhibE1ZUnp0bGVkcGdqTlp0dGV0cGhCa3hjUmxZXC96SWRFXC83OWxEUnRma1MyYnZqWGhMN0lSM0x2Z0NCTWxIR0pUYjByWDN4Y3JCT3JLTzFzUWkzS3NYTDVDZVJ3MmhEbXlXSENqYWc9PSIsIm1hYyI6Ijc1YmU5YTE4ZGEwNzExZGJlZWQ0MzZhNGVkNWE1NGMzYmE1YWFjNjBhYTgxYjFlYjUyN2M1Yzc4ZjkwNTcyNmMifQ")
requestHeader.add(name: "token", value: "eyJpdiI6InkrcVNJK2tyMDMzekZOcHE1NklOUUE9PSIsInZhbHVlIjoiRTNMY0VoM2p1b2JvMVoxY28wa2RCRWtMdzA3N1BIaUhqN2F5d3Y5VXp6KzhlNHpTMzdWODlJckNaeUczZkNNamZDbWY0U1c2VGJJOVVBeVpDWUVqV29ISzRkNzh3d2ZZbDFKMk9vN3pRR0g4ZUlXTTliWTNoUzdyNHpQNGtKU1Z3YzMzTnRUMERPQXcwTmpEcXQzSU5qRWt6MlhMWXVEUDB5THNwTWMzZTE1cEtUOUFpXC9xTlB4UFBmeXJ6cHhnNkR6TktFK3hhejJ0OG82cWFGRG5hMkN1dU1zblwvRk8xSEhXTno4Z3Z1WjExYXRHNE1zZXo4Yzh5cW1WSjlNVnBJU1dFOUFYbDBIXC83Q1BtZ3dhK2REa3NFQjI1ODZJalY3U1c0WHM5aG0xSDNzUjJcL0ZPVEhqR1lRTFI3UjBJRVFcL0NRZVlrbWZ4eGJvNUxtZDNJNUdGME45WkwzN1Byc1U5MTdod3RNMFc3TEt5cVNha211aEN6V0g4eFo4YStOYVFYdXhYaTJ6RFN0bTRkb1U3NUV1ZG01XC9UM3pMdlhRSm1VNUpcL0ZwMnpXdkR5XC9hTDJrVW9pamxYRTROOENRSTRsUlVJQ1lGR1phSmJZVVVEK1R6NTZLbkN4WlA5REJhbzN5Qzc4bEE3OTEyTDBJSmZic2dKSkpPWXpaOVF0T1NId05GdGVCYnNBNXVmOWt6MG9GUjRHcEFKVWVJSG1QXC8rTElxZGFTUERlQjdDS1FzUVI2VHJSYXVlZWZ3ZUlVK28rM1VaeGhPXC9OVWFoU0lqUHFkRWdiSG8wcUlcL2IyNWVZUzZ2ZE93ZmZkQXFYXC9CSHJNU0VcL1RPb2RYWW1OVnFhd251UFhjTnI3b2lraVJWcG16SkxRdjFnc1BlaHVTSEdpSTlUMmlBTjF5eFgyb09GSzR6UUdmRHlMZFZNT3JTNmowWGdYNVR5WFM5TnVVNTVYdHduWnV0ZTVNUGNHNngyVGNtK0Q3YTN0ekVZb1E3UFBJd2hmblJEdmZLdk5nUExmaWJJU2hWRVBmdHMzRUM0SW1hTnNSRWt6VWY5NDhodUJJelZvSDNHbjBJMitvb2ZKNGVKMW05SjQ4QVcyTGVtY1JDK2doWE52Kzh6K2xqMVpMWXgxT1NUWUo0UWdocktxbFBxMGx1S0RlbXlJalwvNkhRWUV5dktRcGoxZ3MzT1NWWDN5TGpJQ0hlb1Jta05zdmRpTmdWOXNBYXJidVFnTTlSRG4wUjhEMXg3WWdXUkZSM0JiTlNVaDlBYjZEVFBxdm1lZkw4UGpjRXJMSlVQRFwvNG5zYmp3cVc4emd5bmI4VGU4dW1kS3RhdHhpMGY3NzVKRnVBVjhoVjBHc2VhRmZpS3V4aEdZZFpob3NcLzR1MHpCOUp4ZE92NkZoYU8xc3JuMVdQQjl0QmdoOENCVHZneG1xVFJ1eHVOSVIzN2xnNEVNZ01yeFhzMitESVM0QzdVTmJiUmNkaW1XS2VuR3lqclJNRWk4WmNjK0FyZXh2Qldxd25EU1h1MHE4WElPMnZtSVhQNHBYV1l4QXlKV0dBaUlGem5aMUFGNDFBTmgrMHNIeFVSTWtKUERxQkJvOFJ1anI1SGJZd2hJM1NWbFJnMXdSTUJKMytKeThucDlERVBrK3lkVUVnY1diRkRRXC90aEl2OCtyTFVaQjZcLzlnN01TaXcrVlF0TFVFdGNLbitrVU1WZnlobkVuQXZYSCtqc083cUNXYlRjS21sVDd4ak5FMDlMM05WeHMya3FBblYyVXRNSjI4MklXSmdaUnZqdGxOWTZXS1ZYNXpobTlPWGN0alwvODhoVzM4OEJDeDl3WmZrcGREYnJwbUVRaWdXb2dzMnVcL1ZEYXVxUUtjR1I2WjJuVHNidmlZUHBqREg3bmcyalB2QWdBdz09IiwibWFjIjoiYWYyZTgyMWJkZmUxYzUxOThmYjBiYTI3ZGRhNTk3NWU2NTBlODgzMjZjYmExYzEzZDEwZDA4NGU5YmUzNmIwNiJ9")
headers = requestHeader
}
......
{
"images" : [
{
"filename" : "Rectangle 2418.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Rectangle 2418@2x.png",
"filename" : "信息表背景图@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Rectangle 2418@3x.png",
"filename" : "信息表背景图@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
{
"images" : [
{
"filename" : "Group 3431.png",
"idiom" : "universal",
"scale" : "1x"
},
......
{
"images" : [
{
"filename" : "Group 3119.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 3119@2x.png",
"filename" : "未授权不可查看@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 3119@3x.png",
"filename" : "未授权不可查看@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
{
"images" : [
{
"filename" : "Group 2499.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 2499@2x.png",
"filename" : "Group 2505@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 2499@3x.png",
"filename" : "Group 2505@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
{
"images" : [
{
"filename" : "Ellipse 18.png",
"idiom" : "universal",
"scale" : "1x"
},
......
{
"images" : [
{
"filename" : "Ellipse 18.png",
"idiom" : "universal",
"scale" : "1x"
},
......
{
"images" : [
{
"filename" : "Group 2849.png",
"idiom" : "universal",
"scale" : "1x"
},
......
{
"images" : [
{
"filename" : "Rectangle 2490.png",
"idiom" : "universal",
"scale" : "1x"
},
......
{
"images" : [
{
"filename" : "Group 33334300.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 33334300@2x.png",
"filename" : "Group 3040@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 33334300@3x.png",
"filename" : "Group 3040@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
{
"images" : [
{
"filename" : "截屏2023-04-10 上午9.43.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "截屏2023-04-10 上午9.43@2x.png",
"filename" : "填写列表头图@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "截屏2023-04-10 上午9.43@3x.png",
"filename" : "填写列表头图@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
{
"images" : [
{
"filename" : "Group 3098.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 3098@2x.png",
"filename" : "更多内容敬请期待@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 3098@3x.png",
"filename" : "更多内容敬请期待@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
{
"images" : [
{
"filename" : "Group 3380.png",
"idiom" : "universal",
"scale" : "1x"
},
......
{
"images" : [
{
"filename" : "Group 3379.png",
"idiom" : "universal",
"scale" : "1x"
},
......
{
"images" : [
{
"filename" : "Group 3381.png",
"idiom" : "universal",
"scale" : "1x"
},
......
{
"images" : [
{
"filename" : "Rectangle 2519.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Rectangle 2519@2x.png",
"filename" : "提交成功弹窗头图@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Rectangle 2519@3x.png",
"filename" : "提交成功弹窗头图@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Rectangle 2461@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Rectangle 2461@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "温馨提示.png",
"idiom" : "universal",
"scale" : "1x"
},
......
{
"images" : [
{
"filename" : "Group 3460.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 3460@2x.png",
"filename" : "Group 3471@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 3460@3x.png",
"filename" : "Group 3471@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
{
"images" : [
{
"filename" : "Group 581.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 581@2x.png",
"filename" : "Group 582@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 581@3x.png",
"filename" : "Group 582@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
{
"images" : [
{
"filename" : "Group 33335867.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 33335867@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 33335867@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "我的评分-卡片背景图.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "我的评分-卡片背景图@2x.png",
"filename" : "Group 33333280@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "我的评分-卡片背景图@3x.png",
"filename" : "Group 33333280@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Rectangle 2418@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Rectangle 2418@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "Group 2919.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 2919@2x.png",
"filename" : "Group 2699@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 2919@3x.png",
"filename" : "Group 2699@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
......
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