Commit d95ddf73 authored by Steven杜宇's avatar Steven杜宇

Merge branch 'develop' into duyu

# Conflicts:
#	galaxy/galaxy/Classes/Tools/NetWork/YHNetRequest.swift
parents 5109ce30 1979031d
......@@ -55,14 +55,16 @@ extension YHBasicInfoFillViewController {
bottomView.block = { tag in
if tag == 0 {
//点击了保存按钮
printLog("点击了保存按钮")
// let arr = self.basicInfoVM.arrBasicInfoSessionDataForEdit
// printLog(arr)
printLog("点击了保存按钮")
self.saveData()
} else {
//点击了提交按钮
printLog("点击了提交按钮")
self.submitData()
}
}
......@@ -70,29 +72,136 @@ 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)
}
}
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()
}
}
private func saveData() {
//保存
let arr = basicInfoVM.arrBasicInfoSessionDataForEdit
var param : [String : Any] = ["order_id":orderId as Any,"save_type": "save"]
for item in arr {
if item.sessionTitle == "主申请人" {
var applicant : [String : Any] = [:]
for (index0,item0) in item.arrQuestionItem.enumerated() {
if index0 == 0 {
let value = ["answer":item0.answer,"info":item0.answer == "Y" ? item0.info : ""]
applicant.updateValue(value, forKey: "has_breaking_law")
} else if index0 == 1 {
let value = ["answer":item0.answer,"info":item0.answer == "Y" ? item0.info : ""]
applicant.updateValue(value, forKey: "has_conviction")
} else if index0 == 2 {
let value = ["answer":item0.answer,"info":item0.answer == "Y" ? item0.info : ""]
applicant.updateValue(value, forKey: "has_deny")
} else if index0 == 3 {
let value = ["answer":item0.answer,"info":item0.answer == "Y" ? item0.info : ""]
applicant.updateValue(value, forKey: "has_departure")
} else if index0 == 4 {
let value = ["answer":item0.answer,"info":item0.answer == "Y" ? item0.info : ""]
applicant.updateValue(value, forKey: "has_other_id")
} else {
printLog("其他数据没有处理")
}
}
applicant.updateValue(basicInfoVM.dataModelForBasicInfo?.applicant?.id ?? 0, forKey: "id")
param.updateValue(applicant, forKey: "applicant")
} else if item.sessionTitle == "配偶" {
var applicant : [String : Any] = [:]
for (index0,item0) in item.arrQuestionItem.enumerated() {
if index0 == 0 {
let value = ["answer":item0.answer,"info":item0.answer == "Y" ? item0.info : ""]
applicant.updateValue(value, forKey: "child_deny")
} else if index0 == 1 {
let value = ["answer":item0.answer,"info":item0.answer == "Y" ? item0.info : ""]
applicant.updateValue(value, forKey: "child_departure")
} else {
printLog("其他数据没有处理")
}
}
applicant.updateValue(basicInfoVM.dataModelForBasicInfo?.spouse?.id ?? 0, forKey: "id")
applicant.updateValue(basicInfoVM.dataModelForBasicInfo?.spouse?.subset_name ?? 0, forKey: "subset_name")
param.updateValue(applicant, forKey: "spouse")
} else if item.sessionTitle.hasPrefix("子女") {
var arr : [[String:Any]] = []
if let tArr = param["child"] as? [[String : Any]] {
arr = tArr
}
var applicant : [String : Any] = [:]
for (index0,item0) in item.arrQuestionItem.enumerated() {
if index0 == 0 {
let value = ["answer":item0.answer,"info":item0.answer == "Y" ? item0.info : ""]
applicant.updateValue(value, forKey: "child_deny")
} else if index0 == 1 {
let value = ["answer":item0.answer,"info":item0.answer == "Y" ? item0.info : ""]
applicant.updateValue(value, forKey: "child_departure")
} else {
printLog("其他数据没有处理")
}
}
applicant.updateValue(item.model?.id ?? 0, forKey: "id")
applicant.updateValue(item.model?.subset_name ?? "", forKey: "subset_name")
arr.append(applicant)
param.updateValue(arr, forKey: "child")
} else if item.sessionTitle == "家庭背景" {
var applicant : [String : Any] = [:]
for (index0,item0) in item.arrQuestionItem.enumerated() {
if index0 == 0 {
let value = ["answer":item0.answer,"info":item0.answer == "Y" ? item0.info : ""]
applicant.updateValue(value, forKey: "background_member")
} else {
printLog("其他数据没有处理")
}
}
applicant.updateValue(basicInfoVM.dataModelForBasicInfo?.spouse?.id ?? 0, forKey: "id")
applicant.updateValue(basicInfoVM.dataModelForBasicInfo?.spouse?.subset_name ?? 0, forKey: "subset_name")
param.updateValue(applicant, forKey: "background")
} else {
}
}
printLog(param)
basicInfoVM.saveBasicInfo(params: param) { success, error in
if success == true {
YHHUD.flash(message: "保存成功")
} else {
let msg = error?.errorMsg ?? "保存失败"
YHHUD.flash(message: msg)
}
}
}
private func submitData() {
//提交
}
}
// MARK: - delegates
......
......@@ -11,10 +11,14 @@ import UIKit
class YHBasicInfoCellModel {
var question : String = ""
var answer : String = ""
var additionDes : String = ""
init(question: String, answer: String, additionDes: String) {
var info : String = ""
var model : backgroundModel?
var type : Int = 0 //0- 输入型 1-选择型
init(question: String, answer: String, info: String, type : Int = 0) {
self.question = question
self.answer = answer
self.additionDes = additionDes
self.info = info
self.type = type
}
}
......@@ -11,6 +11,8 @@ import UIKit
class YHBasicInfoSessionModel {
var sessionTitle : String = ""
var arrQuestionItem : [YHBasicInfoCellModel] = []
var model : SpouseModel?
init(sessionTitle: String, arrQuestionItem: [YHBasicInfoCellModel]) {
self.sessionTitle = sessionTitle
self.arrQuestionItem = arrQuestionItem
......
......@@ -8,7 +8,7 @@
import UIKit
class YHBasicInfoFillView: UIView {
class YHBasicInfoFillView: UIView, UITextViewDelegate {
override init(frame: CGRect) {
super.init(frame: frame)
......@@ -93,6 +93,16 @@ class YHBasicInfoFillView: UIView {
}()
//多选框 holdView
private lazy var mutilChoiceHoldView : UIView = {
let view = UIView()
view.backgroundColor = UIColor.contentBkgColor
view.layer.cornerRadius = kCornerRadius6
view.clipsToBounds = true
return view
}()
var title:String? {
didSet {
if let question = title {
......@@ -103,7 +113,7 @@ class YHBasicInfoFillView: UIView {
]
let questionAttrStr = NSMutableAttributedString(string: str, attributes: attributes)
let starRange = NSRange(location: 0, length: 1)
questionAttrStr.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor(hex:0xFF3A3A), range: starRange)
questionAttrStr.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.failColor, range: starRange)
titleLabel.attributedText = questionAttrStr
}
}
......@@ -116,6 +126,13 @@ class YHBasicInfoFillView: UIView {
updateUI()
}
}
private var lastSelectedBtn : UIButton?
private var myTextView : UITextView!
private var arrCheckBtns : [UIButton] = []
private let kTipsString : String = "如选择“是”,请详细说明"
}
......@@ -153,10 +170,51 @@ private extension YHBasicInfoFillView {
}
addSubview(additionHoldView)
additionHoldView.isHidden = true
let redDot = UIImageView(image: UIImage(named: "basic_info_red_dot"))
additionHoldView.addSubview(redDot)
redDot.snp.makeConstraints { make in
make.left.equalTo(12)
make.top.equalTo(19)
make.width.height.equalTo(6)
}
let textView : UITextView = UITextView()
textView.backgroundColor = .clear
textView.font = UIFont.PFSC_R(ofSize: 14)
additionHoldView.addSubview(textView)
textView.snp.makeConstraints { make in
make.top.equalTo(redDot.snp.top).offset(-7)
make.left.equalTo(redDot.snp.right).offset(2)
make.right.equalTo(-12)
make.bottom.equalTo(-6)
}
myTextView = textView
myTextView.delegate = self
// NotificationCenter.default.addObserver(self, selector: #selector(textViewDidChange?(<#T##textView: UITextView##UITextView#>)), name: textDidChangeNotification, object: nil)
textView.contentInset = UIEdgeInsets(top: -8, left: 0, bottom: 0, right: 0)
addSubview(mutilChoiceHoldView)
mutilChoiceHoldView.isHidden = true
mutilChoiceHoldView.snp.makeConstraints { make in
make.edges.equalTo(0)
}
}
@objc func didClickResponseBtn(btn: UIButton) {
printLog("点击了按钮哈 \(btn.tag)")
if lastSelectedBtn == btn {
printLog("连续点击了同一个按钮......")
return
}
lastSelectedBtn = btn
btn.isSelected = true
updateAnswerButton(btn, true)
......@@ -166,6 +224,8 @@ private extension YHBasicInfoFillView {
updateAnswerButton(answer2Btn, false)
additionHoldView.snp.removeConstraints()
mutilChoiceHoldView.snp.removeConstraints()
bottomLine.snp.remakeConstraints { make in
make.top.equalTo(answer1Btn.snp.bottom).offset(12)
make.left.right.equalToSuperview()
......@@ -174,31 +234,55 @@ private extension YHBasicInfoFillView {
}
additionHoldView.isHidden = true
bottomLine.isHidden = false
mutilChoiceHoldView.isHidden = true
model?.answer = "N"
} else {
answer1Btn.isSelected = false
updateAnswerButton(answer1Btn, false)
bottomLine.snp.removeConstraints()
additionHoldView.snp.remakeConstraints { make in
make.top.equalTo(answer1Btn.snp.bottom).offset(12)
make.left.right.equalToSuperview()
make.height.equalTo(78)
make.bottom.equalToSuperview().offset(-18)
}
model?.answer = "Y"
if model?.type == 0 {
additionHoldView.snp.remakeConstraints { make in
make.top.equalTo(answer1Btn.snp.bottom).offset(12)
make.left.right.equalToSuperview()
make.height.equalTo(78)
make.bottom.equalToSuperview().offset(-18)
}
model?.answer = "Y"
additionHoldView.isHidden = false
bottomLine.isHidden = true
mutilChoiceHoldView.isHidden = true
} else {
mutilChoiceHoldView.snp.remakeConstraints { make in
make.top.equalTo(answer1Btn.snp.bottom).offset(12)
make.left.right.equalToSuperview()
// make.height.equalTo(78)
make.bottom.equalToSuperview().offset(-18)
}
model?.answer = "Y"
additionHoldView.isHidden = true
bottomLine.isHidden = true
mutilChoiceHoldView.isHidden = false
}
additionHoldView.isHidden = false
bottomLine.isHidden = true
}
additionHoldView.layoutIfNeeded()
bottomLine.layoutIfNeeded()
mutilChoiceHoldView.layoutIfNeeded()
block?()
}
......@@ -214,13 +298,164 @@ private extension YHBasicInfoFillView {
private func updateUI() {
guard let model = model else { return }
title = model.question
if model.answer == "Y" {
didClickResponseBtn(btn: answer2Btn)
arrCheckBtns.removeAll()
if model.type == 1 {
additionHoldView.isHidden = true
mutilChoiceHoldView.isHidden = false
let lable = UILabel()
let str = "* 选择成员:"
let attributes: [NSAttributedString.Key: Any] = [
.font: UIFont.PFSC_R(ofSize: 14),
.foregroundColor: UIColor.mainTextColor
]
let questionAttrStr = NSMutableAttributedString(string: str, attributes: attributes)
let starRange = NSRange(location: 0, length: 1)
questionAttrStr.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.failColor, range: starRange)
lable.attributedText = questionAttrStr
mutilChoiceHoldView.addSubview(lable)
lable.snp.makeConstraints { make in
make.top.equalTo(12)
make.left.equalTo(12)
make.height.equalTo(20)
make.right.equalTo(-12)
}
guard let subModel = model.model else { return }
var targetView : UIView = lable
let targetId = Int(subModel.background_member?.info ?? "0")
for (index,item) in subModel.subset.enumerated() {
let name = item.subset_name.count > 0 ? item.subset_name : "--"
let btn = UIButton(type: .custom)
btn.setTitle(name, for: .normal)
btn.setTitle(name, for: .selected)
btn.titleLabel?.font = UIFont.PFSC_M(ofSize: 14)
btn.setTitleColor(UIColor.mainTextColor, for: .normal)
btn.setTitleColor(UIColor.brandMainColor, for: .selected)
btn.setImage(UIImage(named: "basic_info_check_0"), for: .normal)
btn.setImage(UIImage(named: "basic_info_check_1"), for: .selected)
btn.iconInLeft(spacing: 6)
btn.tag = item.id
btn.addTarget(self, action: #selector(clickCheckBtn(sender:)), for: .touchUpInside)
mutilChoiceHoldView.addSubview(btn)
if targetId == item.id {
btn.isSelected = true
} else {
btn.isSelected = false
}
if index == subModel.subset.count - 1 {
btn.snp.makeConstraints { make in
make.top.equalTo(targetView.snp.bottom).offset(kMargin)
make.left.equalTo(16)
make.height.equalTo(30)
make.bottom.equalToSuperview().offset(-kMargin)
}
} else {
btn.snp.makeConstraints { make in
make.top.equalTo(targetView.snp.bottom).offset(kMargin)
make.left.equalTo(16)
make.height.equalTo(30)
}
}
title = model.question
if model.answer == "Y" {
didClickResponseBtn(btn: answer2Btn)
myTextView.text = model.info.count > 0 ? model.info : kTipsString
} else {
if model.answer == "N" {
didClickResponseBtn(btn: answer1Btn)
}
}
targetView = btn
arrCheckBtns.append(btn)
}
} else {
additionHoldView.isHidden = false
mutilChoiceHoldView.isHidden = true
title = model.question
if model.answer == "Y" {
didClickResponseBtn(btn: answer2Btn)
myTextView.text = model.info.count > 0 ? model.info : kTipsString
} else {
if model.answer == "N" {
didClickResponseBtn(btn: answer1Btn)
}
}
}
if myTextView.text == kTipsString {
myTextView.textColor = UIColor(hexString: "#C0C0C0")
} else {
myTextView.textColor = UIColor.mainTextColor
}
}
}
extension YHBasicInfoFillView : UITextFieldDelegate {
func textViewShouldBeginEditing(_ textView: UITextView) -> Bool {
if textView.text == kTipsString {
textView.text = ""
}
textView.textColor = UIColor.mainTextColor
return true
}
func textViewShouldEndEditing(_ textView: UITextView) -> Bool {
if textView.text.isEmpty || textView.text == "" {
textView.textColor = UIColor(hexString: "#C0C0C0")
textView.text = kTipsString
}
textView.textColor = UIColor.mainTextColor
return true
}
internal func textViewDidChange(_ textView: UITextView) {
if textView.text == kTipsString {
model?.info = ""
} else {
if model.answer == "N" {
didClickResponseBtn(btn: answer1Btn)
model?.info = textView.text
}
textView.textColor = UIColor.mainTextColor
}
@objc func clickCheckBtn(sender : UIButton) {
//修改成单选逻辑
if sender.isSelected != true {
for item in arrCheckBtns {
item.isSelected = false
}
sender.isSelected = true
model?.info = String(sender.tag)
}
}
}
......@@ -9,33 +9,38 @@
import UIKit
class YHBasicInfoFillViewModel : YHBaseViewModel {
//UI层需要的数据源
var arrBasicInfoSessionDataForEdit : [YHBasicInfoSessionModel] = []
//从网络请求的数据源
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 model4 = YHBasicInfoCellModel(question: "4、是否曾触犯香港或任何地方的入境法例?", answer: "", additionDes: "N")
let model5 = YHBasicInfoCellModel(question: "5、是否曾经使用另一个姓名或身份申请香港入境签证/进入许可或进入香港?", answer: "", additionDes: "")
let model1 = YHBasicInfoCellModel(question: "1、是否曾在香港或其他地方因任何罪行或违法行为被定罪?", answer: "", info: "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾在香港或其他地方被拒入境/递解/遣送或要求离境?", answer: "", info: "")
let model3 = YHBasicInfoCellModel(question: "3、是否曾被拒绝签发香港或其他地方的签证/进入许可?", answer: "", info: "")
let model4 = YHBasicInfoCellModel(question: "4、是否曾触犯香港或任何地方的入境法例?", answer: "", info: "")
let model5 = YHBasicInfoCellModel(question: "5、是否曾经使用另一个姓名或身份申请香港入境签证/进入许可或进入香港?", answer: "", info: "")
let arr = [model1,model2,model3,model4,model5]
let sessionModel = YHBasicInfoSessionModel(sessionTitle: "主申请人", arrQuestionItem: arr)
arrData.append(sessionModel)
}
do {
//配偶
let model1 = YHBasicInfoCellModel(question: "1、是否曾被拒绝入境/递解/遣送或要求离开香港?", answer: "", additionDes: "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾被拒绝签发签证/进入许可以入境香港?", answer: "", additionDes: "")
let model1 = YHBasicInfoCellModel(question: "1、是否曾被拒绝入境/递解/遣送或要求离开香港?", answer: "", info: "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾被拒绝签发签证/进入许可以入境香港?", answer: "", info: "")
let arr = [model1,model2]
let sessionModel = YHBasicInfoSessionModel(sessionTitle: "配偶", arrQuestionItem: arr)
......@@ -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: "", info: "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾被拒绝签发签证/进入许可以入境香港?", answer: "", info: "")
let arr = [model1,model2]
let sessionModel = YHBasicInfoSessionModel(sessionTitle: "子女 - xxx", arrQuestionItem: arr)
......@@ -57,7 +62,74 @@ extension YHBasicInfoFillViewModel {
do {
//家庭背景
let model1 = YHBasicInfoCellModel(question:"1、至少一名直系家庭成员(已婚配偶、父母、兄弟姊妹、子女)是现居于香港的香港永久性居民", answer: "", additionDes: "")
let model1 = YHBasicInfoCellModel(question:"1、至少一名直系家庭成员(已婚配偶、父母、兄弟姊妹、子女)是现居于香港的香港永久性居民", answer: "", info: "")
let arr = [model1]
let sessionModel = YHBasicInfoSessionModel(sessionTitle: "家庭背景", arrQuestionItem: arr)
arrData.append(sessionModel)
}
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 ?? "", info: dataModelForBasicInfo.applicant?.has_conviction?.info ?? "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾在香港或其他地方被拒入境/递解/遣送或要求离境?", answer: dataModelForBasicInfo.applicant?.has_departure?.has ?? "", info: dataModelForBasicInfo.applicant?.has_departure?.has ?? "")
let model3 = YHBasicInfoCellModel(question: "3、是否曾被拒绝签发香港或其他地方的签证/进入许可?", answer: dataModelForBasicInfo.applicant?.has_deny?.has ?? "", info: dataModelForBasicInfo.applicant?.has_deny?.has ?? "")
let model4 = YHBasicInfoCellModel(question: "4、是否曾触犯香港或任何地方的入境法例?", answer: dataModelForBasicInfo.applicant?.has_breaking_law?.has ?? "", info: dataModelForBasicInfo.applicant?.has_breaking_law?.has ?? "")
let model5 = YHBasicInfoCellModel(question: "5、是否曾经使用另一个姓名或身份申请香港入境签证/进入许可或进入香港?", answer: dataModelForBasicInfo.applicant?.has_other_id?.has ?? "", info: 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 ?? "", info: dataModelForBasicInfo.spouse?.child_departure?.has ?? "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾被拒绝签发签证/进入许可以入境香港?", answer: dataModelForBasicInfo.spouse?.child_deny?.has ?? "", info: 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 ?? "", info: item.child_departure?.info ?? "")
let model2 = YHBasicInfoCellModel(question: "2、是否曾被拒绝签发签证/进入许可以入境香港?", answer: item.child_deny?.has ?? "", info: item.child_deny?.info ?? "")
let arr = [model1,model2]
let title = "子女" + "-" + item.subset_name
let sessionModel = YHBasicInfoSessionModel(sessionTitle: title, arrQuestionItem: arr)
sessionModel.model = item
arrData.append(sessionModel)
}
}
}
do {
//家庭背景
let model1 = YHBasicInfoCellModel(question:"1、至少一名直系家庭成员(已婚配偶、父母、兄弟姊妹、子女)是现居于香港的香港永久性居民", answer: dataModelForBasicInfo.background?.background_member?.has ?? "", info: dataModelForBasicInfo.background?.background_member?.info ?? "",type: 1)
model1.model = dataModelForBasicInfo.background
let arr = [model1]
let sessionModel = YHBasicInfoSessionModel(sessionTitle: "家庭背景", arrQuestionItem: arr)
......@@ -67,3 +139,63 @@ extension YHBasicInfoFillViewModel {
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)
}
}
//保存基本资料信息
func saveBasicInfo( params:[String : Any],callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Basics.updateBasicInfoApi
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,15 @@ class YHAllApiName {
//提交 温馨提示信息
static let submitSweetNotifyApi = "frontend/users/sweet-notify/submit"
}
//Basics
struct Basics {
//获取 基本资料信息
static let basicInfoApi = "frontend/basics/get_basics"
//保存基本资料信息
static let updateBasicInfoApi = "frontend/basics/update_basics"
}
}
......@@ -93,7 +93,7 @@ class YHNetRequest: NSObject {
print("sign = \(sign)")
requestHeader.add(name:"sign",value:sign)
requestHeader.add(name: "token", value: "eyJpdiI6Ik5aeEVDclZTK0FISEFBZUgxN2VkdGc9PSIsInZhbHVlIjoiRFRJOHlObzVrZlp4T2tVYW1MSE1ZK0Z3dXlyK3p4QlczNmxsTXdkdW5GQVY4Q2VqZlNNUDdrdVpsb0JcLytpYmJheUp2MWZTUE5pOWgrVWRLdEtIUkx4R1wvS3F6SmRSQ0dWeFVXanFINGkyRWNMTXB4TVlcLzhjXC9NSzVoMFwvZ1ZOaVIwb0VqWlo1VERPSHY2RWJhME1RdWtkXC8yanBQdm9lMWM4WXJVK1BnMDd6SncwVVlWMDNnbSswSnM3eVwveFRRck03M3pOaDFSc3g0UmlYMTJQdmZpSkhUWHVMa21RV2xRbXBkalVTTUFicmFaN2NVNXl1ZTJOeEJoKzhrMnZtdzdvM1U5Qmh4WXNiSEFERUpiZHNWNkxoM2ZkVVRUdFlMMU1MQnIyaWNxNSt4S1NocDVEbnNqeHphUCtVVk1qTlVnMk1ydVNPamJ0c2tDQ1wvWFk1SkxtSWtDMU9oT3ZqaFpuNU5aVUVicHpYVU56VnlqK01Cb20welJMbkQrcTFWOHFUbzlPK0RGdDRcLzJ1T094MjNjYTVZZmJcL2txRE93cEFUYzlKWWdVWE9cLzFnYnVwTFZ4VUtqMFQ5QlgzZitDQjhyNURpU3p0bktqblBicUxPekNBcWRWM0g0WklSOEc0T0RPVkNBMGZQdEtWV3ZqN3IrcHZDYm9UNjREdnA3U1RZY1Z1dFE3K1RRM2F2eGY0QXc2dGlha0RBUDVpVHdFWE53dzl2eVczVk9VNTJSa1Fzb1J4ZGd0c0RCdktPQ1FWOUQ5Y0krckQ3bFc4NkNJMHliSXlnNGtYU1ZCUHRZWTdCKzA5d1wvdldzWTlpeUdYaEg4eGhITHpRSUthMWpSVlZvZVhwZ3BvamxCTHFSUXJmQ1hQNThYbUNNanZnVGs0b3RDTUFmYkdsYTEzeEtnTXJpZVU0QnJHWDJoUk9sUklzaFFhUkJiNWk0Z2E0cUUwejU4RmF2RnE4Z2U0eEo3VmZ2SmFMTlVacFBvSFlZUmM2N3liVTdhTk5NWU9YS0xtalk3QUN3NWV2UTlPeE5hMmk0aHU4MSt0YjNJQytFczRMa2l6XC9jV0Jxc01QYU0yYXdTXC92RXBxTFNVOVd6SlwvRm9KM21jUHlcL2diRlMyU3REeEl0K1RxSjRuck8xaXlOaWY4NXVzMVBibXpVSEZJWkVZQnFUd2k5TUVJcDUwUEFjTmljTzYyaWFYaFkzZUtkR294d29LUzBUTFF1Y0xxbWtMNFF4ZlZkN2k4YktEUnRGekU3OEdaN2J3TUR4T2FpVHRKaGlqRWNcL2c5dlwvOUVEVmdLNUhBSk1wSGV5UXVoOFJydlczc09HU1EyeXI4SFZZQmJJQWx1cGFIaXhmK1VJNmdoNmwrOElMZXFxSHZtazQreW84RFBlOXFnVDI2bm1tZWl0K01OcU1DSGJEQXdnWW9Hc0ptWFVJbXVXdEpyT2FKUHprTzJ1MkxFSEViZGV4cFpuOWRXK3dUdVR4bmJHZ1VRRGJycFRBME5lWUtaT0JCYjViSWVvcVJ3RXllb2tQZ1VkUWFqVWo0UHQzMUQwWVMwZ05rTTU0Nk1QQUdxTm9rZFNISVYrTG5DWlArNkt5RkZxajdZN1luakRKQVdUaVpnOUhCUExYMEVKRXRRT3QyZTI4cU9TdlBrbWxVZkFLSWZFbXNha3lCZUhFRVpyTmxQOERjbVwvMytCc0JpNnZcL1Nvek9yR2pUWGF2XC9VMzN4OEY5T3VsdUNGRFNWbHZZMnBzNHhMeEdIR21majBOOUJNbEhlK1J4S3dFTnlJamdTeFQyTWlTTlhCUWxnSDF6VmNhWHIzVGpoREY5clB2XC9uZHZjSm1iTHZ1bjFIUUFRait6dUJlUk1WQ1FhdXFoN002YlQ5MVwvQVMzYzJJQ0RFR1czdEtqMFBTQT09IiwibWFjIjoiOGVlZjBmNTVmMzEwNjhkZjVmYTlkYzAwYzllMjJmNjUyZmRmN2U1ODFiZTIzNzRjMDVjMTNiOTNhOWRhMmVkYSJ9")
requestHeader.add(name: "token", value: "eyJpdiI6IlwvQVwvWnQ5N2lnbkx6WDVvVU8yUkFBUT09IiwidmFsdWUiOiJZVmVhV0hsTnFjYUlrUzBPOHRDcHh5eTE0RUEzVXVnSE00c1RkSmpjcENhK05nRkZHdWxLbzNSNXhJM1gwVzdySlJybTF2Q3VVelwvQ0N5YWxjcVgwNVR6eHFHd1hGRUE2eE9sUnlPbExZaTRWUDk0R3gxUGhDRFdTWmtPWUc4YWVcL0o2akdqODJRTFdLTkRvUmprbm5pdlo1Vm1keE5vdVwvc3lyRG5waHhTTGdWckZsUWNFaURtUFJyOHZ4SlwvVFd0VUloVEVvZDN6VHJQQklkbVwvZzBBb1wvM2VZXC9PampiYWx1YzRGQSs4OVBlTjgwYk4yaEFFSFNxUktiVkVieElVU283aHZwdkFuNHNJN0hoQWJLWm1tVEdHV0NOWGtxeWRjWHR4SGdHMytUbEh1S0FYbmNZUmtxWVYzUFdtc214amJHUGFNRW9iRHI4MEdwdlpiYlZRUmhIMWE0V2ZOcnJNNno0bGd4bGp1azZDSXVtcld6bFdLb0VmWVpOU25JUm8rUU0xMVlYWlZxUGQyS2xjUzJrR21VaExhdG5zbGM3cjZzRmlHbW4zZFNrTllOXC9OWWsxKzcyM3Vrdko3eFlYem5HWDkySnFVRGZKajBEVzRwZXcwRFpaWDJpMDVZQk1vSG8wTDJxazBWdWFJZXFEWUtIRU81aFFtZGtXRzZGdVZsQ1BZbDBKb2IzRkRwT2tPcVA5cXp4TTk1ZzJaTGUreStteUVDWldvc0RDXC9GWjJObytGblR3dVhVdzF6dE51b3NMTlMxYVNhVVp0MTk4aGFSVE9vYUp5OEl5SWo2TFlydElvRUhlbGFLU1U1RjFESVwvTFwvaE1ubWhid0RJd3NzVmRBeEd5ZytPam5kUFlqdnpQVCswNVk4SVdDZ21CODFETG1PemduR3g5cW5mNU5WOU56Mzhxalk2bUFCVld2eDZhSE5EUlI2NnIxRkhmOU94dmQrYXZzRU9UNFJBZWVCcmVwMGQ1dlRsSmdvbGpPa1dPVVwvTWIrd2ZlVURiZ3NOMnhQR1RZYk5Hc25OQWlIcEVQXC80YllpSnlsSEZDVWdERVdQS1RoRzBpSTB4Rjh4Y1hscmZBUUhCdm5pc0ZOa0NxVjd1S3VBRUVMeDU0aWNMc1FzZ0JWeWlDTWZVK2dHOG81czBCanFBekdCYTFWRzBic3AyVmMycDZRNGhjVGcxZEEzMllYZ2oyQ0MrXC9IRFU3UHFUeUhzNFQwTmkrbW9EK0dST2M0RFF0Nk5CbkN0RjdNemc4TEt0cDgwbVRsUlwvQkp5N3RDR01OQURSUXc3OWNCWjY4bU93ZmtyaDI2SmtRV3YwdVBJTFBCRkJHZVl6ODJnbE41VnpYZVBoZXd6b0lcL2NIQVpqZEhLNktSZDRXS2VtbEZWTUk2TFpDK0grV1lsNGJ0ekVuU1hcLzh3bUdOTWo0REx5SXBcL3JueGxENUM1eFRXQ0J5VTkyQUJrZ1hZUFJZeE0xRTRDNER6V2tjN0FmckExanZJWHg3cHFWRWowdTJGS2hPdUtrWk9DZTdsYzhha3ZRSGY1MDNIeGE2WWRrK1RZQU1uUXUxR09kZ1ExbjNZc3dXb00zVDRTa2R5Y1hYRXRDRmhlZnV0RVQxRzRzNWxhOVBsVmZrSlZzakhaMkVkcmttMkU2RXVaTmpBS2c4RkVQR3JlVDcxNWJoR3prTzlsZXRrRWR2c1pIaWx4MFIrMm5scXZ4T2JcL0lzK29PYzc4MDBaRVg3c2ZJdUJPWjRHOTA3cjg4eDNzXC8xUkVIY3VQWmpxVmUyY1BDRGFNYlVXY3BvT1Q1cXZCXC9wXC9rMGllXC81MkxUaG1QXC85ZjhER1M0aDREVlpuaVdqOTd0clpwSUY3cWdvV3FiN3pUbTVmMHlhXC85WnNPS1JJdm5vc05CMEtXdVE9PSIsIm1hYyI6ImViMTE5NmQyMjVmOTgxMmYzMjQ5NGI0M2I2NDAwNWQ2OWE5YTNlMzVhODcyMzAxZTU1NzVkNWU3Y2M5YTU3ZjgifQ==")
headers = requestHeader
}
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Rectangle 2490@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Rectangle 2490@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 3040@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 3040@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "_@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "_@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment