Commit 0927cee8 authored by David黄金龙's avatar David黄金龙

1、获取 基本资料的 接口

2、对应的数据模型
parent 7655f492
......@@ -56,13 +56,10 @@ extension YHBasicInfoFillViewController {
if tag == 0 {
//点击了保存按钮
printLog("点击了保存按钮")
} else {
//点击了提交按钮
printLog("点击了提交按钮")
}
}
......@@ -70,7 +67,7 @@ extension YHBasicInfoFillViewController {
homeTableView.dataSource = self
view.addSubview(homeTableView)
homeTableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 15)
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.bottom.equalTo(bottomView.snp.top)
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
......@@ -80,19 +77,16 @@ extension YHBasicInfoFillViewController {
private func loadData() {
guard let orderId = orderId else { return}
basicInfoVM.getBasicInfoData()
homeTableView.reloadData()
// let param = ["order_id":orderId]
// serviceCenterMainReqVM.getMyScoreDetail(params: param) { success, error in
// if success == true {
//
// } else {
// YHHUD.flash(message: error?.errorMsg ?? "发生错误,请重试")
// }
// self.homeTableView.reloadData()
// }
let param = ["order_id":orderId]
basicInfoVM.getBasicInfo(params: param) { success, error in
if success == true {
self.homeTableView.reloadData()
} else {
YHHUD.flash(message: error?.errorMsg ?? "发生错误,请重试")
}
self.homeTableView.reloadData()
}
}
}
// MARK: - delegates
......
......@@ -9,19 +9,26 @@
import UIKit
class YHBasicInfoFillViewModel : YHBaseViewModel {
//UI层需要的数据源
var arrBasicInfoSessionDataForEdit : [YHBasicInfoSessionModel] = []
//从网络请求的数据源
private var dataModelForBasicInfo : YHBasicInfoFillModel? {
didSet {
assembleBasicInfoData()
}
}
}
extension YHBasicInfoFillViewModel {
func getBasicInfoData() {
//session1
private func createOrgBasiceInfoData() {
var arrData : [YHBasicInfoSessionModel] = []
do {
//主申请人
let model1 = YHBasicInfoCellModel(question: "1、是否曾在香港或其他地方因任何罪行或违法行为被定罪?", answer: "N", additionDes: "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾在香港或其他地方被拒入境/递解/遣送或要求离境?", answer: "Y", additionDes: "")
let model3 = YHBasicInfoCellModel(question: "3、是否曾被拒绝签发香港或其他地方的签证/进入许可?", answer: "N", additionDes: "")
let model1 = YHBasicInfoCellModel(question: "1、是否曾在香港或其他地方因任何罪行或违法行为被定罪?", answer: "", additionDes: "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾在香港或其他地方被拒入境/递解/遣送或要求离境?", answer: "", additionDes: "")
let model3 = YHBasicInfoCellModel(question: "3、是否曾被拒绝签发香港或其他地方的签证/进入许可?", answer: "", additionDes: "")
let model4 = YHBasicInfoCellModel(question: "4、是否曾触犯香港或任何地方的入境法例?", answer: "", additionDes: "N")
let model5 = YHBasicInfoCellModel(question: "5、是否曾经使用另一个姓名或身份申请香港入境签证/进入许可或进入香港?", answer: "", additionDes: "")
let arr = [model1,model2,model3,model4,model5]
......@@ -30,8 +37,6 @@ extension YHBasicInfoFillViewModel {
arrData.append(sessionModel)
}
do {
//配偶
let model1 = YHBasicInfoCellModel(question: "1、是否曾被拒绝入境/递解/遣送或要求离开香港?", answer: "", additionDes: "")
......@@ -46,8 +51,8 @@ extension YHBasicInfoFillViewModel {
do {
//子女 - xxx
let model1 = YHBasicInfoCellModel(question: "1、是否曾被拒绝入境/递解/遣送或要求离开香港?", answer: "N", additionDes: "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾被拒绝签发签证/进入许可以入境香港?", answer: "Y", additionDes: "")
let model1 = YHBasicInfoCellModel(question: "1、是否曾被拒绝入境/递解/遣送或要求离开香港?", answer: "", additionDes: "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾被拒绝签发签证/进入许可以入境香港?", answer: "", additionDes: "")
let arr = [model1,model2]
let sessionModel = YHBasicInfoSessionModel(sessionTitle: "子女 - xxx", arrQuestionItem: arr)
......@@ -66,4 +71,102 @@ extension YHBasicInfoFillViewModel {
arrBasicInfoSessionDataForEdit = arrData
}
//根据网络数据 组装数据
private func assembleBasicInfoData() {
guard let dataModelForBasicInfo = dataModelForBasicInfo else {
createOrgBasiceInfoData()
return
}
var arrData : [YHBasicInfoSessionModel] = []
do {
//主申请人
let model1 = YHBasicInfoCellModel(question: "1、是否曾在香港或其他地方因任何罪行或违法行为被定罪?", answer: dataModelForBasicInfo.applicant?.has_conviction?.has ?? "", additionDes: dataModelForBasicInfo.applicant?.has_conviction?.info ?? "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾在香港或其他地方被拒入境/递解/遣送或要求离境?", answer: dataModelForBasicInfo.applicant?.has_departure?.has ?? "", additionDes: dataModelForBasicInfo.applicant?.has_departure?.has ?? "")
let model3 = YHBasicInfoCellModel(question: "3、是否曾被拒绝签发香港或其他地方的签证/进入许可?", answer: dataModelForBasicInfo.applicant?.has_deny?.has ?? "", additionDes: dataModelForBasicInfo.applicant?.has_deny?.has ?? "")
let model4 = YHBasicInfoCellModel(question: "4、是否曾触犯香港或任何地方的入境法例?", answer: dataModelForBasicInfo.applicant?.has_breaking_law?.has ?? "", additionDes: dataModelForBasicInfo.applicant?.has_breaking_law?.has ?? "")
let model5 = YHBasicInfoCellModel(question: "5、是否曾经使用另一个姓名或身份申请香港入境签证/进入许可或进入香港?", answer: dataModelForBasicInfo.applicant?.has_other_id?.has ?? "", additionDes: dataModelForBasicInfo.applicant?.has_other_id?.has ?? "")
let arr = [model1,model2,model3,model4,model5]
let sessionModel = YHBasicInfoSessionModel(sessionTitle: "主申请人", arrQuestionItem: arr)
arrData.append(sessionModel)
}
do {
//配偶
let model1 = YHBasicInfoCellModel(question: "1、是否曾被拒绝入境/递解/遣送或要求离开香港?", answer: dataModelForBasicInfo.spouse?.child_departure?.has ?? "", additionDes: dataModelForBasicInfo.spouse?.child_departure?.has ?? "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾被拒绝签发签证/进入许可以入境香港?", answer: dataModelForBasicInfo.spouse?.child_deny?.has ?? "", additionDes: dataModelForBasicInfo.spouse?.child_deny?.has ?? "")
let arr = [model1,model2]
let sessionModel = YHBasicInfoSessionModel(sessionTitle: "配偶", arrQuestionItem: arr)
arrData.append(sessionModel)
}
do {
//子女 - xxx
if let arrChild = dataModelForBasicInfo.child {
for item in arrChild {
let model1 = YHBasicInfoCellModel(question: "1、是否曾被拒绝入境/递解/遣送或要求离开香港?", answer: item.child_departure?.has ?? "", additionDes: item.child_departure?.info ?? "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾被拒绝签发签证/进入许可以入境香港?", answer: item.child_deny?.has ?? "", additionDes: item.child_deny?.info ?? "")
let arr = [model1,model2]
let title = "子女" + "-" + item.subset_name
let sessionModel = YHBasicInfoSessionModel(sessionTitle: title, arrQuestionItem: arr)
arrData.append(sessionModel)
}
}
}
do {
//家庭背景
let model1 = YHBasicInfoCellModel(question:"1、至少一名直系家庭成员(已婚配偶、父母、兄弟姊妹、子女)是现居于香港的香港永久性居民", answer: dataModelForBasicInfo.background?.background_member?.has ?? "", additionDes: dataModelForBasicInfo.background?.background_member?.info ?? "")
let arr = [model1]
let sessionModel = YHBasicInfoSessionModel(sessionTitle: "家庭背景", arrQuestionItem: arr)
arrData.append(sessionModel)
}
arrBasicInfoSessionDataForEdit = arrData
}
}
extension YHBasicInfoFillViewModel {
//获取我的评分结果
func getBasicInfo( params:[String : Any],callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
createOrgBasiceInfoData()
callBackBlock(true,nil)//先返回数据 让界面展示相关的UI
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Basics.basicInfoApi
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 = YHBasicInfoFillModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
callBackBlock(false,nil)
return
}
self.dataModelForBasicInfo = resultModel
//根据返回值 组装 真实的数据
callBackBlock(true,nil)
} failBlock: { err in
callBackBlock(false,err)
}
}
}
......@@ -43,4 +43,12 @@ class YHAllApiName {
//提交 温馨提示信息
static let submitSweetNotifyApi = "frontend/users/sweet-notify/submit"
}
//Basics
struct Basics {
//提交 温馨提示信息
static let basicInfoApi = "frontend/basics/get_basics"
}
}
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