Commit 6d1348d2 authored by David黄金龙's avatar David黄金龙

完成 我的评分 的接口联调

parent b9f9ad0f
......@@ -87,6 +87,8 @@
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 */; };
......@@ -304,6 +306,8 @@
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>"; };
......@@ -645,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>";
......@@ -1133,7 +1139,7 @@
children = (
A58556BB2B6BD81C003746B2 /* BaseInformation(基本资料) */,
A5167B2D2B6A23D10084C08F /* PersonInfoList(个人信息表) */,
A5167B292B6A174B0084C08F /* MyScore */,
A5167B292B6A174B0084C08F /* MyScore(我的评分) */,
0468D43D2B61F68100CFB916 /* MainApplicantInformation */,
041B52882B5E13EB007EBCEB /* FamilyMember */,
);
......@@ -1385,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 */,
......@@ -1479,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 */,
......
......@@ -29,7 +29,7 @@ class YHInformationPerfectListVC: YHBaseViewController {
}
private lazy var headerTitleDesLable : UILabel = {
let titleLable = UILabel(text: "您好,黄先生")
let titleLable = UILabel(text: "您好,-")
titleLable.font = UIFont.PFSC_B(ofSize: 21)
titleLable.textColor = UIColor.mainTextColor
return titleLable
......@@ -125,13 +125,17 @@ extension YHInformationPerfectListVC {
@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() {
......
......@@ -13,8 +13,7 @@ import GKNavigationBarSwift
*/
class YHScoreDetailViewController: YHBaseViewController {
var orderId : Int?
private let serviceCenterMainReqVM : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
//头部背景图片
......@@ -41,13 +40,11 @@ class YHScoreDetailViewController: YHBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
//0.0
serviceCenterMainReqVM.loadLocalScoreData()
//1.0
initView()
//2.0
loadData()
}
}
......@@ -81,8 +78,20 @@ extension YHScoreDetailViewController {
make.left.equalTo(16)
make.right.equalTo(-16)
}
}
// 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 +136,11 @@ extension YHScoreDetailViewController : UITableViewDelegate,UITableViewDataSourc
if indexPath.section == 0 {
let cell = tableView.dequeueReusableCell(withClass: YHScorePersonInfoCell.self)
cell.dataModel = serviceCenterMainReqVM.myScoreResultData
return cell
}
let cell = tableView.dequeueReusableCell(withClass: YHScoreItemCell.self)
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() {
......
......@@ -12,6 +12,12 @@ 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"))
......@@ -186,4 +192,22 @@ extension YHScorePersonInfoCell {
}
private func updateUI() {
guard let model = dataModel else {
return
}
nameLable.text = model.user_info?.username ?? "-"
phoneLable.text = model.user_info?.mobile ?? "-"
var 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:0x3C86F8)))
let b: ASAttributedString = .init("分", .font(UIFont.PFSC_R(ofSize: 12)),.foreground(UIColor(hex:0x3C86F8)))
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")
......@@ -84,4 +89,19 @@ private extension YHScoreResultView {
make.left.equalTo(nameLable.snp.right).offset(6)
}
}
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
}
}
......@@ -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
......
......@@ -12,9 +12,6 @@ class YHServiceCenterMainViewModel: YHBaseViewModel {
//合同列表 数据
var arrContactList : [YHContactItemModel] = []
//评分相关的 本地数据
var localScoreData : YHScoreDataModel?
//合同对应的状态
var arrContactStausItmes: [YHContactMainItemStatusModel] = []
......@@ -22,10 +19,51 @@ class YHServiceCenterMainViewModel: YHBaseViewModel {
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
......@@ -191,7 +229,7 @@ extension YHServiceCenterMainViewModel {
//其他方法
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 {
......
......@@ -24,6 +24,13 @@ class YHAllApiName {
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"
......@@ -36,5 +43,4 @@ class YHAllApiName {
//提交 温馨提示信息
static let submitSweetNotifyApi = "frontend/users/sweet-notify/submit"
}
}
{
"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