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

Merge commit 'd8500052' into xiezhaolin

parents 9cde577c d8500052
This diff is collapsed.
...@@ -59,14 +59,14 @@ extension YHBasicInfoFillCell { ...@@ -59,14 +59,14 @@ extension YHBasicInfoFillCell {
make.bottom.equalToSuperview() make.bottom.equalToSuperview()
} }
let sessionView = YHPersonInfoSessionView() let sessionView = YHPreviewInfoSingleLineTitleView()
sessionView.updateTitle(title: dataModel.sessionTitle) sessionView.updateTitle(title: dataModel.sessionTitle)
holdView1.addSubview(sessionView) holdView1.addSubview(sessionView)
sessionView.snp.makeConstraints { make in sessionView.snp.makeConstraints { make in
make.top.equalToSuperview() make.top.equalToSuperview()
make.right.equalToSuperview().offset(-18) make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18) make.left.equalToSuperview().offset(18)
make.height.equalTo(YHPersonInfoSessionView.viewH) make.height.equalTo(YHPreviewInfoSingleLineTitleView.viewH)
} }
......
//
// YHFamilyMemberViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/1/29.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
/*
*家庭成员信息
*/
class YHFamilyMemberViewController: YHPersonInfoBaseViewController {
override func viewDidLoad() {
super.viewDidLoad()
view.backgroundColor = .green
// Do any additional setup after loading the view.
}
}
//
// YHPersonInfoBaseModel.swift
// galaxy
//
// Created by davidhuangA on 2024/1/30.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
struct YHPersonInfoBaseModel: SmartCodable {
var name : String = ""
var description : String = ""
}
...@@ -7,12 +7,11 @@ ...@@ -7,12 +7,11 @@
// //
import UIKit import UIKit
import JXSegmentedView
/* /*
*主申请人信息 *主申请人信息 预览
*/ */
class YHMainApplicantInfoViewController: YHPersonInfoBaseViewController { class YHMainApplicantInfoPreviewViewController: YHPersonInfoBaseViewController {
var arrData : [YHPersonInfoCellModel] = [] var arrData : [YHPreviewInfoSessionModel] = []
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
setupUI() setupUI()
...@@ -21,66 +20,66 @@ class YHMainApplicantInfoViewController: YHPersonInfoBaseViewController { ...@@ -21,66 +20,66 @@ class YHMainApplicantInfoViewController: YHPersonInfoBaseViewController {
} }
private extension YHMainApplicantInfoViewController { private extension YHMainApplicantInfoPreviewViewController {
func installData() { func installData() {
do { do {
//国家信息 //国家信息
let tmp0 = YHPersonInfoBaseModel(name: "国家/国籍:", description: "中国-China") let tmp0 = YHPreviewQuestionAndAnswerModel(question: "国家/国籍:", answer: "中国-China")
let tmp1 = YHPersonInfoBaseModel(name: "港澳通行证:", description: "未办理") let tmp1 = YHPreviewQuestionAndAnswerModel(question: "港澳通行证:", answer: "未办理")
let arr = [tmp0,tmp1] let arr = [tmp0,tmp1]
let model1 = YHPersonInfoCellModel(cellType: 0, cellTitle: "国籍信息", cellData0: arr) let model1 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "国籍信息", cellData0: arr)
arrData.append(model1) arrData.append(model1)
} }
do { do {
//基本信息 //基本信息
let tmp0 = YHPersonInfoBaseModel(name: "主申请人:", description: "DavidHuang") let tmp0 = YHPreviewQuestionAndAnswerModel(question: "主申请人:", answer: "DavidHuang")
let tmp1 = YHPersonInfoBaseModel(name: "曾用名:", description: "--") let tmp1 = YHPreviewQuestionAndAnswerModel(question: "曾用名:", answer: "--")
let tmp2 = YHPersonInfoBaseModel(name: "婚前姓氏:", description: "--") let tmp2 = YHPreviewQuestionAndAnswerModel(question: "婚前姓氏:", answer: "--")
let tmp3 = YHPersonInfoBaseModel(name: "出生日期:", description: "1990年8月18日") let tmp3 = YHPreviewQuestionAndAnswerModel(question: "出生日期:", answer: "1990年8月18日")
let tmp4 = YHPersonInfoBaseModel(name: "出生城市:", description: "国内 吉林省/吉林市") let tmp4 = YHPreviewQuestionAndAnswerModel(question: "出生城市:", answer: "国内 吉林省/吉林市")
let tmp5 = YHPersonInfoBaseModel(name: "性别:", description: "男") let tmp5 = YHPreviewQuestionAndAnswerModel(question: "性别:", answer: "男")
let tmp6 = YHPersonInfoBaseModel(name: "婚姻状况:", description: "已婚") let tmp6 = YHPreviewQuestionAndAnswerModel(question: "婚姻状况:", answer: "已婚")
let tmp7 = YHPersonInfoBaseModel(name: "手机号:", description: "13572984488") let tmp7 = YHPreviewQuestionAndAnswerModel(question: "手机号:", answer: "13572984488")
let tmp8 = YHPersonInfoBaseModel(name: "邮箱:", description: "13572984488@nn.com") let tmp8 = YHPreviewQuestionAndAnswerModel(question: "邮箱:", answer: "13572984488@nn.com")
let tmp9 = YHPersonInfoBaseModel(name: "现居住地址:", description: "现居住地址:现居住地址:现居住地址:现居住地址:现居住地址:现居住地址:") let tmp9 = YHPreviewQuestionAndAnswerModel(question: "现居住地址:", answer: "现居住地址:现居住地址:现居住地址:现居住地址:现居住地址:现居住地址:")
let tmp10 = YHPersonInfoBaseModel(name: "详细地址:", description: "锐度公园世家北区10-1-701锐度公园世家北区10-1-701") let tmp10 = YHPreviewQuestionAndAnswerModel(question: "详细地址:", answer: "锐度公园世家北区10-1-701锐度公园世家北区10-1-701")
let tmp11 = YHPersonInfoBaseModel(name: "是否办理过香港身份证:", description: "是") let tmp11 = YHPreviewQuestionAndAnswerModel(question: "是否办理过香港身份证:", answer: "是")
let tmp12 = YHPersonInfoBaseModel(name: "香港身份证:", description: "否") let tmp12 = YHPreviewQuestionAndAnswerModel(question: "香港身份证:", answer: "否")
let arr = [tmp0,tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7,tmp8,tmp9,tmp10,tmp11,tmp12] let arr = [tmp0,tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7,tmp8,tmp9,tmp10,tmp11,tmp12]
let model2 = YHPersonInfoCellModel(cellType: 0, cellTitle: "基本信息", cellData0: arr) let model2 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "基本信息", cellData0: arr)
arrData.append(model2) arrData.append(model2)
} }
do { do {
//证件信息 //证件信息
let tmp0 = YHPersonInfoBaseModel(name: "中国身份证号码:", description: "2203381990287633390") let tmp0 = YHPreviewQuestionAndAnswerModel(question: "中国身份证号码:", answer: "2203381990287633390")
let tmp1 = YHPersonInfoBaseModel(name: "签发地:", description: "北京市分局") let tmp1 = YHPreviewQuestionAndAnswerModel(question: "签发地:", answer: "北京市分局")
let tmp2 = YHPersonInfoBaseModel(name: "签发日期:", description: "2018-07-17") let tmp2 = YHPreviewQuestionAndAnswerModel(question: "签发日期:", answer: "2018-07-17")
let tmp3 = YHPersonInfoBaseModel(name: "届满日期:", description: "2028-07-31") let tmp3 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: "2028-07-31")
let model0 = YHPersonInfoCellModel1(cellTitle: "中国身份证", cellData: [tmp0,tmp1,tmp2,tmp3]) let model0 = YHPersonInfoCellModel1(cellTitle: "中国身份证", cellData: [tmp0,tmp1,tmp2,tmp3])
let tmp4 = YHPersonInfoBaseModel(name: "旅行社证件号码:", description: "c2345639") let tmp4 = YHPreviewQuestionAndAnswerModel(question: "旅行社证件号码:", answer: "c2345639")
let tmp5 = YHPersonInfoBaseModel(name: "签发地:", description: "北京市分局") let tmp5 = YHPreviewQuestionAndAnswerModel(question: "签发地:", answer: "北京市分局")
let tmp6 = YHPersonInfoBaseModel(name: "签发日期:", description: "2018-07-17") let tmp6 = YHPreviewQuestionAndAnswerModel(question: "签发日期:", answer: "2018-07-17")
let tmp7 = YHPersonInfoBaseModel(name: "届满日期:", description: "2028-07-31") let tmp7 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: "2028-07-31")
let model1 = YHPersonInfoCellModel1(cellTitle: "港澳通行证", cellData: [tmp4,tmp5,tmp6,tmp7]) let model1 = YHPersonInfoCellModel1(cellTitle: "港澳通行证", cellData: [tmp4,tmp5,tmp6,tmp7])
let tmp8 = YHPersonInfoBaseModel(name: "证件类别:", description: "护照") let tmp8 = YHPreviewQuestionAndAnswerModel(question: "证件类别:", answer: "护照")
let tmp9 = YHPersonInfoBaseModel(name: "证件号码:", description: "p2345639") let tmp9 = YHPreviewQuestionAndAnswerModel(question: "证件号码:", answer: "p2345639")
let tmp10 = YHPersonInfoBaseModel(name: "签发地:", description: "北京市分局") let tmp10 = YHPreviewQuestionAndAnswerModel(question: "签发地:", answer: "北京市分局")
let tmp11 = YHPersonInfoBaseModel(name: "签发日期:", description: "2028-07-31") let tmp11 = YHPreviewQuestionAndAnswerModel(question: "签发日期:", answer: "2028-07-31")
let tmp12 = YHPersonInfoBaseModel(name: "届满日期:", description: "2028-07-31") let tmp12 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: "2028-07-31")
let model2 = YHPersonInfoCellModel1(cellTitle: "护照及其他旅行证件", cellData: [tmp8,tmp9,tmp10,tmp11,tmp12]) let model2 = YHPersonInfoCellModel1(cellTitle: "护照及其他旅行证件", cellData: [tmp8,tmp9,tmp10,tmp11,tmp12])
let arr = [model0,model1,model2] let arr = [model0,model1,model2]
let model3 = YHPersonInfoCellModel(cellType: 1, cellTitle: "证件信息", cellData1: arr) let model3 = YHPreviewInfoSessionModel(cellType: .idCardInfoType, cellTitle: "证件信息", cellData1: arr)
arrData.append(model3) arrData.append(model3)
} }
...@@ -91,7 +90,7 @@ private extension YHMainApplicantInfoViewController { ...@@ -91,7 +90,7 @@ private extension YHMainApplicantInfoViewController {
let model2 = YHPersonInfoCellModel2(cellTitle: "港澳通行证",frontUrl: "", backUrl: "", idType: 2) let model2 = YHPersonInfoCellModel2(cellTitle: "港澳通行证",frontUrl: "", backUrl: "", idType: 2)
let arr = [model1,model2] let arr = [model1,model2]
let model4 = YHPersonInfoCellModel(cellType: 2, cellTitle: "证件照片", cellData2: arr) let model4 = YHPreviewInfoSessionModel(cellType: .idPictureType, cellTitle: "证件照片", cellData2: arr)
arrData.append(model4) arrData.append(model4)
} }
} }
...@@ -99,7 +98,7 @@ private extension YHMainApplicantInfoViewController { ...@@ -99,7 +98,7 @@ private extension YHMainApplicantInfoViewController {
func setupUI() { func setupUI() {
installData() installData()
self.homeTableView.register(YHPersonInfoCommonCell.self,forCellReuseIdentifier: YHPersonInfoCommonCell.cellReuseIdentifier) self.homeTableView.register(YHPreviewInfoCell.self,forCellReuseIdentifier: YHPreviewInfoCell.cellReuseIdentifier)
self.homeTableView.reloadData() self.homeTableView.reloadData()
} }
} }
...@@ -107,13 +106,13 @@ private extension YHMainApplicantInfoViewController { ...@@ -107,13 +106,13 @@ private extension YHMainApplicantInfoViewController {
// MARK: - UITableViewDelegate 和 UITableViewDataSource // MARK: - UITableViewDelegate 和 UITableViewDataSource
extension YHMainApplicantInfoViewController { extension YHMainApplicantInfoPreviewViewController {
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return arrData.count return arrData.count
} }
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHPersonInfoCommonCell.self) let cell = tableView.dequeueReusableCell(withClass: YHPreviewInfoCell.self)
cell.selectionStyle = .none cell.selectionStyle = .none
cell.model = arrData[indexPath.row] cell.model = arrData[indexPath.row]
return cell return cell
......
...@@ -49,27 +49,31 @@ class YHPersonInfoControllerHoldViewController: UIViewController { ...@@ -49,27 +49,31 @@ class YHPersonInfoControllerHoldViewController: UIViewController {
super.viewDidLoad() super.viewDidLoad()
do { do {
let vc = YHMainApplicantInfoViewController() //主申请人
let vc = YHMainApplicantInfoPreviewViewController()
arrItemVCs.append(vc) arrItemVCs.append(vc)
} }
do { do {
let vc = YHFamilyMemberViewController()
let vc = YHPreviewFamilyMemberViewController()
arrItemVCs.append(vc) arrItemVCs.append(vc)
} }
do { do {
let vc = YHFamilyMemberViewController() //基本资料
let vc = YHPreviewBasiceInformationViewController()
arrItemVCs.append(vc) arrItemVCs.append(vc)
} }
do { do {
let vc = YHFamilyMemberViewController() let vc = YHPreviewFamilyMemberViewController()
arrItemVCs.append(vc) arrItemVCs.append(vc)
} }
do { do {
let vc = YHFamilyMemberViewController() let vc = YHPreviewFamilyMemberViewController()
arrItemVCs.append(vc) arrItemVCs.append(vc)
} }
do { do {
let vc = YHFamilyMemberViewController() //其他信息
let vc = YHPreviewOtherInformationViewController()
arrItemVCs.append(vc) arrItemVCs.append(vc)
} }
......
//
// YHPreviewBasiceInformationViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/2/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
/*
*基本资料信息 预览
*/
class YHPreviewBasiceInformationViewController: YHPersonInfoBaseViewController {
var arrData : [YHPreviewInfoSessionModel] = []
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
}
}
private extension YHPreviewBasiceInformationViewController {
func installData() {
do {
//主申请人
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "1、是否曾在香港或其他地方因任何罪行或违法行为被被定罪:", answer: "是",remark: "这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。")
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "2、是否曾在香港或其他地方被拒入境/递解/遣送或要求离境?", answer: "否")
let tmp2 = YHPreviewQuestionAndAnswerModel(question: "3、是否曾被拒绝签发香港或其他地方的签证/进入许可?", answer: "否")
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "4、是否曾触犯香港或任何地方的入境法例?", answer: "是",remark: "我是测试数据哈我是测试数据哈我是测试数据哈我是测试数据哈我是测试数据哈我是测试数据哈我是测试数据哈我是测试数据哈")
let tmp4 = YHPreviewQuestionAndAnswerModel(question: "5、是否曾经使用另一个姓名或身份申请香港入境签证/进入许可或进入香港?", answer: "否")
let arr = [tmp0,tmp1,tmp2,tmp3,tmp4]
let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "主申请人", cellData0: arr)
arrData.append(model1)
}
do {
//配偶
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "1、是否曾被拒绝入境/递解/遣送或要求离开香港?", answer: "是",remark: "这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。")
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "2、是否曾被拒绝签发签证/进入许可以入境香港?", answer: "否")
let arr = [tmp0,tmp1]
let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "配偶", cellData0: arr)
arrData.append(model1)
}
do {
//子女-1
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "1、是否曾被拒绝入境/递解/遣送或要求离开香港?", answer: "是",remark: "这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。")
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "2、是否曾被拒绝签发签证/进入许可以入境香港?", answer: "否")
let arr = [tmp0,tmp1]
let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "子女-1", cellData0: arr)
arrData.append(model1)
}
do {
//子女-2
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "1、是否曾被拒绝入境/递解/遣送或要求离开香港?", answer: "是",remark: "这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。这里是详细的犯罪记录或违法行为说明,这里是详细的犯罪记录或违法行为说明。")
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "2、是否曾被拒绝签发签证/进入许可以入境香港?", answer: "否")
let arr = [tmp0,tmp1]
let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "子女-2", cellData0: arr)
arrData.append(model1)
}
do {
//家庭背景
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "1、至少一名直系家庭成员(已婚配偶、父母、兄弟姐妹、子女)是现居于香港的香港永久性居民", answer: "不满足")
let arr = [tmp0]
let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "家庭背景", cellData0: arr)
arrData.append(model1)
}
do {
//家庭背景2
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "1、至少一名直系家庭成员(已婚配偶、父母、兄弟姐妹、子女)是现居于香港的香港永久性居民", answer: "满足",remark: "张三、李四、王五")
let arr = [tmp0]
let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "家庭背景2-测试满足的情况", cellData0: arr)
arrData.append(model1)
}
}
func setupUI() {
installData()
self.homeTableView.register(YHPreviewInfoCell.self,forCellReuseIdentifier: YHPreviewInfoCell.cellReuseIdentifier)
self.homeTableView.reloadData()
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension YHPreviewBasiceInformationViewController {
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return arrData.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHPreviewInfoCell.self)
cell.selectionStyle = .none
cell.model = arrData[indexPath.row]
return cell
}
}
//
// YHOtherInfoPreviewViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/2/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
/*
*其他信息 预览
*/
class YHPreviewOtherInformationViewController: YHPersonInfoBaseViewController {
var arrData : [YHPreviewInfoSessionModel] = []
override func viewDidLoad() {
super.viewDidLoad()
setupUI()
}
}
private extension YHPreviewOtherInformationViewController {
func installData() {
do {
//居住信息
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "开始时间:", answer: "1990年8月")
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "结束时间:", answer: "2013年7月")
let model0 = YHPersonInfoCellModel1(cellTitle: "国家1:中国", cellData: [tmp0,tmp1])
let tmp2 = YHPreviewQuestionAndAnswerModel(question: "开始时间:", answer: "1990年8月")
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "结束时间:", answer: "2013年7月")
let model1 = YHPersonInfoCellModel1(cellTitle: "国家1:中国2", cellData: [tmp2,tmp3])
let tmp4 = YHPreviewQuestionAndAnswerModel(question: "开始时间:", answer: "1990年8月")
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "结束时间:", answer: "2013年7月")
let model2 = YHPersonInfoCellModel1(cellTitle: "国家1:中国3", cellData: [tmp4,tmp5])
let arr = [model0,model1,model2]
let model3 = YHPreviewInfoSessionModel(cellType: .idCardInfoType, cellTitle: "居住信息", cellData1: arr)
arrData.append(model3)
}
do {
//语言能力
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "中文及英文", answer: "国外大学(英语国家)毕业,英文授课,获得学位证。(如为中外联合办学,在中国上课的,不算)")
let arr = [tmp0]
let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "语言能力", cellData0: arr)
arrData.append(model1)
}
do {
//专业技能行业
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "1、最能代表你的专业技能的行业是?(单选)", answer: "无",remark: "我的自定义专业我的自定义专业我的自定义专业我的自定义专业我的自定义专业我的自定义专业我的自定义专业我的自定义专业我的自定义专业我的自定义专业我的自定义专业我的自定义专业我的自定义专业我的自定义专业我的自定义专业我的自定义专业")
let arr = [tmp0]
let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "专业技能行业", cellData0: arr)
arrData.append(model1)
}
do {
//专业技能行业
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "1、您是否有行业内的专业资格证书?", answer: "否")
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "2、您是否在期刊或杂志上发表论文、文章、书籍等(与工作、资质有关的)?", answer: "是")
let tmp2 = YHPreviewQuestionAndAnswerModel(question: "3、您是否有大学奖学金证明、专利证书、获奖证书(工作单位颁发的可以)?", answer: "是")
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "4、您是否被媒体采访过,专访您的文章被发表在杂志上或网络上?", answer: "是")
let tmp4 = YHPreviewQuestionAndAnswerModel(question: "5、专业奖项:", answer: "这里是一片文案说明说明示例,这里是一片文案说明说明示例,这里是一片文案说明说明示例,这里是一片文案说明说明示例,这里是一片文案说明说明示例,这里是一片文案说明说明示例")
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "6、学业奖项:", answer: "--")
let tmp6 = YHPreviewQuestionAndAnswerModel(question: "7、其他资料:", answer: "这里是一片文案说明说明示例,这里是一片文案说明说明示例,这里是一片文案说明说明示例,这里是一片文案说明说明示例,这里是一片文案说明说明示例,这里是一片文案说明。")
let arr = [tmp0,tmp1,tmp2,tmp3,tmp4,tmp5,tmp6]
let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "辅助资料", cellData0: arr)
arrData.append(model1)
}
}
func setupUI() {
installData()
self.homeTableView.register(YHPreviewInfoCell.self,forCellReuseIdentifier: YHPreviewInfoCell.cellReuseIdentifier)
self.homeTableView.reloadData()
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension YHPreviewOtherInformationViewController {
override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return arrData.count
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHPreviewInfoCell.self)
cell.selectionStyle = .none
cell.model = arrData[indexPath.row]
return cell
}
}
...@@ -7,9 +7,9 @@ ...@@ -7,9 +7,9 @@
// //
import UIKit import UIKit
import SmartCodable //import SmartCodable
struct YHPersonInfoCellModel1: SmartCodable { struct YHPersonInfoCellModel1 {
var cellTitle : String = "" var cellTitle : String = ""
var cellData : [YHPersonInfoBaseModel] = [] var cellData : [YHPreviewQuestionAndAnswerModel] = []
} }
...@@ -9,10 +9,19 @@ ...@@ -9,10 +9,19 @@
import UIKit import UIKit
import SmartCodable import SmartCodable
struct YHPersonInfoCellModel: SmartCodable { enum YHPreviewInfoSessionModelType: Int {
var cellType : Int = 0 // 0-国籍信息 类型 1-证件信息 类型 2-证件照片 类型 case countryInfoType = 0 //0-国籍信息 类型
case idCardInfoType = 1 //1-证件信息 类型
case idPictureType = 2 //2-证件照片 类型
case questionAndAnswer = 3 //3-问答 类型
}
struct YHPreviewInfoSessionModel {
var cellType : YHPreviewInfoSessionModelType = .countryInfoType
var cellTitle : String = "" var cellTitle : String = ""
var cellData0 : [YHPersonInfoBaseModel]? = nil var cellData0 : [YHPreviewQuestionAndAnswerModel]? = nil
var cellData1 : [YHPersonInfoCellModel1]? = nil var cellData1 : [YHPersonInfoCellModel1]? = nil
var cellData2 : [YHPersonInfoCellModel2]? = nil var cellData2 : [YHPersonInfoCellModel2]? = nil
} }
//
// YHPreviewQuestionAndAnswerModel.swift
// galaxy
//
// Created by davidhuangA on 2024/2/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
//import SmartCodable
struct YHPreviewQuestionAndAnswerModel {
var question : String = ""
var answer : String = ""
var remark : String?
init(question: String, answer: String, remark: String? = nil) {
self.question = question
self.answer = answer
self.remark = remark
}
}
//
// YHPreviewInfoCommonCell.swift
// galaxy
//
// Created by davidhuangA on 2024/1/30.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHPreviewInfoCell: UITableViewCell {
static let cellReuseIdentifier = "YHPreviewInfoCell"
var model : YHPreviewInfoSessionModel? {
didSet{
updateUI()
}
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
private lazy var holdView : YHPreviewInfoHoldView = {
let contryInfoView = YHPreviewInfoHoldView()
return contryInfoView
}()
}
extension YHPreviewInfoCell {
func updateUI() {
contentView.removeSubviews()
backgroundColor = .clear
contentView.backgroundColor = .clear
contentView.addSubview(holdView)
holdView.removeSubviews()
holdView.snp.makeConstraints { make in
make.top.equalTo(14)
make.left.bottom.equalToSuperview()
make.width.equalTo(contentView.snp.width)
}
if model?.cellType == .countryInfoType {
guard let model = model else { return }
let view = YHPreviewInfoNameAndSubNameItemsView(frame: .zero)
view.dataModel = model
holdView.addSubview(view)
view.snp.makeConstraints { make in
make.edges.equalTo(0)
}
}
else if model?.cellType == .idCardInfoType {
guard let model = model else { return }
let view = YHPreviewInfoCertificateInformationItemsView(frame: .zero)
view.dataModel = model
holdView.addSubview(view)
view.snp.makeConstraints { make in
make.edges.equalTo(0)
}
}
else if model?.cellType == .idPictureType {
guard let model = model else { return }
let view = YHPreviewInfoCertificatePictureItemsView(frame: .zero)
view.dataModel = model
holdView.addSubview(view)
view.snp.makeConstraints { make in
make.edges.equalTo(0)
}
}
else if model?.cellType == .questionAndAnswer {
guard let model = model else { return }
let view = YHPreviewInfoQuestionAndAnswerItemsView(frame: .zero)
view.dataModel = model
holdView.addSubview(view)
view.snp.makeConstraints { make in
make.edges.equalTo(0)
}
}
else {
}
}
}
//
// YHPreviewInfoCertificateInformationItemsView.swift
// galaxy
//
// Created by davidhuangA on 2024/2/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
/*
*证件信息 类型 view
*/
class YHPreviewInfoCertificateInformationItemsView: UIView {
var dataModel : YHPreviewInfoSessionModel? {
didSet {
updateUI()
}
}
}
extension YHPreviewInfoCertificateInformationItemsView {
func updateUI() {
guard let model = dataModel else { return }
guard let arrData = model.cellData1,arrData.count > 0 else { return }
let sessionView = YHPreviewInfoSingleLineTitleView()
sessionView.updateTitle(title: model.cellTitle)
addSubview(sessionView)
sessionView.snp.makeConstraints { make in
make.top.equalToSuperview()
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
make.height.equalTo(YHPreviewInfoSingleLineTitleView.viewH)
}
var tmp : UIView = sessionView
for (index0,item0) in arrData.enumerated() {
let lable = UILabel()
lable.text = item0.cellTitle
lable.textColor = UIColor.mainTextColor
lable.font = UIFont.PFSC_M(ofSize: 14)
addSubview(lable)
lable.snp.makeConstraints { make in
make.top.equalTo(tmp.snp.bottom).offset(18)
make.left.equalTo(18)
make.right.equalTo(-18)
make.height.equalTo(17)
}
tmp = lable
let arrData0 = item0.cellData
if arrData0.count > 0 {
for(index,item) in arrData0.enumerated() {
let cellView = YHPreviewInfoNameAndSubNameItemView()
cellView.update(title: item.question, subtitle: item.answer)
addSubview(cellView)
if index == 0 {
//第一个
cellView.snp.makeConstraints { make in
make.top.equalTo(tmp.snp.bottom).offset(10) //for test hjl
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
}
} else if index == arrData0.count - 1 {
//最后一个
if index0 == arrData.count - 1 {
//最后一个cell
cellView.snp.makeConstraints { make in
make.top.equalTo(tmp.snp.bottom)
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
make.bottom.equalToSuperview().offset(-21)
}
} else {
cellView.snp.makeConstraints { make in
make.top.equalTo(tmp.snp.bottom)
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
}
let bottomLine = UIView()
bottomLine.backgroundColor = UIColor(hex: 0xF0F0F0)
addSubview(bottomLine)
bottomLine.snp.makeConstraints { make in
make.top.equalTo(cellView.snp.bottom).offset(28)
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
make.height.equalTo(0.5)
}
tmp = bottomLine
continue
}
} else {
//中间
cellView.snp.makeConstraints { make in
make.top.equalTo(tmp.snp.bottom)
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
}
}
tmp = cellView
}
}
}
}
}
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
import UIKit import UIKit
class YHPersonInfoIdentificationCardView: UIView { class YHPreviewInfoCertificatePictureItemView: UIView {
var dataModel : YHPersonInfoCellModel2? { var dataModel : YHPersonInfoCellModel2? {
didSet { didSet {
...@@ -25,7 +25,7 @@ class YHPersonInfoIdentificationCardView: UIView { ...@@ -25,7 +25,7 @@ class YHPersonInfoIdentificationCardView: UIView {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
private lazy var titleLable : UILabel = { private lazy var cellTitleLable : UILabel = {
let lable = UILabel() let lable = UILabel()
lable.textColor = UIColor.mainTextColor lable.textColor = UIColor.mainTextColor
lable.font = UIFont.PFSC_M(ofSize: 14) lable.font = UIFont.PFSC_M(ofSize: 14)
...@@ -53,7 +53,7 @@ class YHPersonInfoIdentificationCardView: UIView { ...@@ -53,7 +53,7 @@ class YHPersonInfoIdentificationCardView: UIView {
}() }()
private lazy var subtitleFrontLable : UILabel = { private lazy var frontLable : UILabel = {
let lable = UILabel() let lable = UILabel()
lable.textColor = UIColor.labelTextColor2 lable.textColor = UIColor.labelTextColor2
lable.font = UIFont.PFSC_R(ofSize: 14) lable.font = UIFont.PFSC_R(ofSize: 14)
...@@ -63,7 +63,7 @@ class YHPersonInfoIdentificationCardView: UIView { ...@@ -63,7 +63,7 @@ class YHPersonInfoIdentificationCardView: UIView {
}() }()
private lazy var subtitleBackLable : UILabel = { private lazy var backLable : UILabel = {
let lable = UILabel() let lable = UILabel()
lable.textColor = UIColor.labelTextColor2 lable.textColor = UIColor.labelTextColor2
lable.font = UIFont.PFSC_R(ofSize: 14) lable.font = UIFont.PFSC_R(ofSize: 14)
...@@ -81,10 +81,10 @@ class YHPersonInfoIdentificationCardView: UIView { ...@@ -81,10 +81,10 @@ class YHPersonInfoIdentificationCardView: UIView {
} }
extension YHPersonInfoIdentificationCardView { extension YHPreviewInfoCertificatePictureItemView {
func setupUI() { func setupUI() {
addSubview(titleLable) addSubview(cellTitleLable)
titleLable.snp.makeConstraints { make in cellTitleLable.snp.makeConstraints { make in
make.top.equalTo(18) make.top.equalTo(18)
make.left.equalTo(18) make.left.equalTo(18)
make.right.equalTo(-18) make.right.equalTo(-18)
...@@ -92,27 +92,27 @@ extension YHPersonInfoIdentificationCardView { ...@@ -92,27 +92,27 @@ extension YHPersonInfoIdentificationCardView {
} }
addSubview(subtitleFrontLable) addSubview(frontLable)
subtitleFrontLable.snp.makeConstraints { make in frontLable.snp.makeConstraints { make in
make.top.equalTo(titleLable.snp.bottom).offset(18) make.top.equalTo(cellTitleLable.snp.bottom).offset(18)
make.height.equalTo(20) make.height.equalTo(20)
make.left.equalTo(titleLable.snp.left) make.left.equalTo(cellTitleLable.snp.left)
make.right.equalTo(self.snp.centerX).offset(-4) make.right.equalTo(self.snp.centerX).offset(-4)
} }
addSubview(frontImagV) addSubview(frontImagV)
frontImagV.snp.makeConstraints { make in frontImagV.snp.makeConstraints { make in
make.top.equalTo(subtitleFrontLable.snp.bottom).offset(11) make.top.equalTo(frontLable.snp.bottom).offset(11)
make.height.equalTo(95) make.height.equalTo(95)
make.left.equalTo(subtitleFrontLable.snp.left) make.left.equalTo(frontLable.snp.left)
make.right.equalTo(subtitleFrontLable.snp.right) make.right.equalTo(frontLable.snp.right)
} }
addSubview(subtitleBackLable) addSubview(backLable)
subtitleBackLable.snp.makeConstraints { make in backLable.snp.makeConstraints { make in
make.top.equalTo(subtitleFrontLable.snp.top) make.top.equalTo(frontLable.snp.top)
make.height.equalTo(20) make.height.equalTo(20)
make.right.equalTo(-18) make.right.equalTo(-18)
make.left.equalTo(self.snp.centerX).offset(4) make.left.equalTo(self.snp.centerX).offset(4)
...@@ -121,10 +121,10 @@ extension YHPersonInfoIdentificationCardView { ...@@ -121,10 +121,10 @@ extension YHPersonInfoIdentificationCardView {
addSubview(backImagV) addSubview(backImagV)
backImagV.snp.makeConstraints { make in backImagV.snp.makeConstraints { make in
make.top.equalTo(subtitleBackLable.snp.bottom).offset(11) make.top.equalTo(backLable.snp.bottom).offset(11)
make.height.equalTo(95) make.height.equalTo(95)
make.left.equalTo(subtitleBackLable.snp.left) make.left.equalTo(backLable.snp.left)
make.right.equalTo(subtitleBackLable.snp.right) make.right.equalTo(backLable.snp.right)
} }
...@@ -141,12 +141,12 @@ extension YHPersonInfoIdentificationCardView { ...@@ -141,12 +141,12 @@ extension YHPersonInfoIdentificationCardView {
} }
extension YHPersonInfoIdentificationCardView { extension YHPreviewInfoCertificatePictureItemView {
func updateUI() { func updateUI() {
guard let dataModel = dataModel else { return } guard let dataModel = dataModel else { return }
titleLable.text = dataModel.cellTitle cellTitleLable.text = dataModel.cellTitle
subtitleFrontLable.text = dataModel.idType == 1 ? "身份证头像面" : "港澳通行证正面" frontLable.text = dataModel.idType == 1 ? "身份证头像面" : "港澳通行证正面"
subtitleBackLable.text = dataModel.idType == 1 ? "身份证国徽面" : "港澳通行证反面" backLable.text = dataModel.idType == 1 ? "身份证国徽面" : "港澳通行证反面"
} }
} }
......
//
// YHPreviewInfoCertificatePictureItemsView.swift
// galaxy
//
// Created by davidhuangA on 2024/2/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
/*
*证件照片 类型 view
*/
class YHPreviewInfoCertificatePictureItemsView: UIView {
var dataModel : YHPreviewInfoSessionModel? {
didSet {
updateUI()
}
}
}
extension YHPreviewInfoCertificatePictureItemsView {
func updateUI() {
guard let model = dataModel else { return }
guard let arrData = model.cellData2,arrData.count > 0 else { return }
let sessionView = YHPreviewInfoSingleLineTitleView()
sessionView.updateTitle(title: model.cellTitle)
addSubview(sessionView)
sessionView.snp.makeConstraints { make in
make.top.equalToSuperview()
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
make.height.equalTo(YHPreviewInfoSingleLineTitleView.viewH)
}
var tmp : UIView = sessionView
for (index0,item0) in arrData.enumerated() {
let view = YHPreviewInfoCertificatePictureItemView()
view.dataModel = item0
addSubview(view)
if index0 == arrData.count - 1 {
view.snp.makeConstraints { make in
make.top.equalTo(tmp.snp.bottom)
make.right.equalToSuperview()
make.left.equalToSuperview()
make.bottom.equalToSuperview()
view.bottomLine.isHidden = true
}
} else {
view.snp.makeConstraints { make in
make.top.equalTo(tmp.snp.bottom)
make.right.equalToSuperview()
make.left.equalToSuperview()
}
view.bottomLine.isHidden = false
}
tmp = view
}
}
}
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
import UIKit import UIKit
class YHPersonInfoSessionHoldView: UIView { class YHPreviewInfoHoldView: UIView {
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
backgroundColor = .white backgroundColor = .white
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
// //
import UIKit import UIKit
class YHPersonInfoCellView: UIView { class YHPreviewInfoNameAndSubNameItemView: UIView {
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
setupUI() setupUI()
...@@ -60,7 +60,7 @@ class YHPersonInfoCellView: UIView { ...@@ -60,7 +60,7 @@ class YHPersonInfoCellView: UIView {
} }
} }
extension YHPersonInfoCellView { extension YHPreviewInfoNameAndSubNameItemView {
func update(title : String,subtitle : String) { func update(title : String,subtitle : String) {
nameLable.text = title nameLable.text = title
subtitleLable.text = subtitle subtitleLable.text = subtitle
......
//
// YHPreviewInfoNameAndSubNameItemsView.swift
// galaxy
//
// Created by davidhuangA on 2024/2/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHPreviewInfoNameAndSubNameItemsView: UIView {
var dataModel : YHPreviewInfoSessionModel? {
didSet {
updateUI()
}
}
}
extension YHPreviewInfoNameAndSubNameItemsView {
func updateUI() {
guard let model = dataModel else { return }
guard let arrData = model.cellData0,arrData.count > 0 else { return }
let sessionView = YHPreviewInfoSingleLineTitleView()
sessionView.updateTitle(title: model.cellTitle)
addSubview(sessionView)
sessionView.snp.makeConstraints { make in
make.top.equalToSuperview()
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
make.height.equalTo(YHPreviewInfoSingleLineTitleView.viewH)
}
if arrData.count == 1 {
let item = arrData[0]
let cellView = YHPreviewInfoNameAndSubNameItemView()
cellView.update(title: item.question, subtitle: item.answer)
addSubview(cellView)
cellView.snp.makeConstraints { make in
make.top.equalTo(sessionView.snp.bottom)
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
make.bottom.equalToSuperview().offset(-21)
}
} else {
var tmp : UIView = sessionView
for(index,item) in arrData.enumerated() {
let cellView = YHPreviewInfoNameAndSubNameItemView()
cellView.update(title: item.question, subtitle: item.answer)
addSubview(cellView)
if index == arrData.count - 1 {
cellView.snp.makeConstraints { make in
make.top.equalTo(tmp.snp.bottom)
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
make.bottom.equalToSuperview().offset(-21)
}
} else {
cellView.snp.makeConstraints { make in
make.top.equalTo(tmp.snp.bottom)
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
}
}
tmp = cellView
}
}
}
}
//
// YHPreviewInfoQuestionAndAnswerView.swift
// galaxy
//
// Created by davidhuangA on 2024/2/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHPreviewInfoQuestionAndAnswerItemView: UIView {
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
//title
private lazy var nameLable : UILabel = {
let lable0 = UILabel(text: "--")
lable0.textColor = UIColor.labelTextColor2
lable0.font = UIFont.PFSC_R(ofSize: 14)
lable0.numberOfLines = 0
lable0.lineBreakMode = .byCharWrapping
return lable0
}()
//subtitleLable
private lazy var subtitleLable : UILabel = {
let lable0 = UILabel(text: "--")
lable0.textColor = UIColor.mainTextColor
lable0.font = UIFont.PFSC_R(ofSize: 14)
lable0.numberOfLines = 0
lable0.lineBreakMode = .byWordWrapping
// lable0.textAlignment = .right
return lable0
}()
//remarkLable
private lazy var remarkLable : UILabel = {
let lable0 = UILabel(text: "--")
lable0.textColor = UIColor.labelTextColor2
lable0.font = UIFont.PFSC_R(ofSize: 14)
lable0.numberOfLines = 0
lable0.lineBreakMode = .byWordWrapping
lable0.text = "--"
return lable0
}()
private lazy var remarkHoldView : UIView = {
let view = UIView()
view.backgroundColor = .contentBkgColor
view.layer.cornerRadius = kCornerRadius6
view.clipsToBounds = true
view.isHidden = true
return view
}()
// private lazy var remarkTextField : UITextView = {
// let lable0 = UITextView(frame: .zero)
// lable0.contentInset = UIEdgeInsets(top: 20, left: 12, bottom: 12, right: 12)
// lable0.textColor = UIColor.labelTextColor2
// lable0.font = UIFont.PFSC_R(ofSize: 14)
// lable0.backgroundColor = .contentBkgColor
// lable0.layer.cornerRadius = kCornerRadius6
// lable0.clipsToBounds = true
// lable0.isEditable = false
// lable0.isSelectable = false
// lable0.isScrollEnabled = false
// lable0.text = "我是测试数据哈"
// lable0.isHidden = true
// return lable0
// }()
private func setupUI() {
addSubview(nameLable)
nameLable.snp.makeConstraints { make in
make.top.equalToSuperview().offset(18)
make.left.equalToSuperview()
make.right.equalToSuperview()
make.height.equalTo(20)
}
addSubview(subtitleLable)
// subtitleLable.snp.makeConstraints { make in
// make.top.equalTo(nameLable.snp.bottom).offset(8)
// make.right.equalToSuperview()
// make.left.equalToSuperview()
//
// make.bottom.equalToSuperview()
// }
}
var dataModel : YHPreviewQuestionAndAnswerModel? {
didSet {
updateUI()
}
}
}
extension YHPreviewInfoQuestionAndAnswerItemView {
func updateUI() {
guard let model = dataModel else { return }
removeSubviews()
setupUI()
nameLable.text = model.question
subtitleLable.text = model.answer
if let remark = model.remark {
subtitleLable.snp.makeConstraints { make in
make.top.equalTo(nameLable.snp.bottom).offset(8)
make.right.equalToSuperview()
make.left.equalToSuperview()
}
addSubview(remarkHoldView)
remarkHoldView.snp.makeConstraints { make in
make.top.equalTo(subtitleLable.snp.bottom).offset(8)
make.right.equalToSuperview()
make.left.equalToSuperview()
}
remarkHoldView.addSubview(remarkLable)
remarkLable.snp.makeConstraints { make in
make.top.left.equalTo(12)
make.bottom.right.equalTo(-12)
}
remarkLable.text = remark
remarkHoldView.isHidden = false
remarkHoldView.snp.makeConstraints { make in
make.top.equalTo(subtitleLable.snp.bottom).offset(8)
make.right.equalToSuperview()
make.left.equalToSuperview()
make.bottom.equalToSuperview()
}
} else {
subtitleLable.snp.makeConstraints { make in
make.top.equalTo(nameLable.snp.bottom).offset(8)
make.right.equalToSuperview()
make.left.equalToSuperview()
make.bottom.equalToSuperview()
}
}
}
}
//
// YHPreviewInfoQuestionAndAnswerItemsView.swift
// galaxy
//
// Created by davidhuangA on 2024/2/25.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHPreviewInfoQuestionAndAnswerItemsView: UIView {
var dataModel : YHPreviewInfoSessionModel? {
didSet {
updateUI()
}
}
}
extension YHPreviewInfoQuestionAndAnswerItemsView {
func updateUI() {
guard let model = dataModel else { return }
guard let arrData = model.cellData0,arrData.count > 0 else { return }
let sessionView = YHPreviewInfoSingleLineTitleView()
sessionView.updateTitle(title: model.cellTitle)
addSubview(sessionView)
sessionView.snp.makeConstraints { make in
make.top.equalToSuperview()
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
make.height.equalTo(YHPreviewInfoSingleLineTitleView.viewH)
}
if arrData.count == 1 {
let item = arrData[0]
let cellView = YHPreviewInfoQuestionAndAnswerItemView()
cellView.dataModel = item
addSubview(cellView)
cellView.snp.makeConstraints { make in
make.top.equalTo(sessionView.snp.bottom)
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
make.bottom.equalToSuperview().offset(-21)
}
} else {
var tmp : UIView = sessionView
for(index,item) in arrData.enumerated() {
let cellView = YHPreviewInfoQuestionAndAnswerItemView()
cellView.dataModel = item
addSubview(cellView)
if index == arrData.count - 1 {
cellView.snp.makeConstraints { make in
make.top.equalTo(tmp.snp.bottom)
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
make.bottom.equalToSuperview().offset(-21)
}
} else {
cellView.snp.makeConstraints { make in
make.top.equalTo(tmp.snp.bottom)
make.right.equalToSuperview().offset(-18)
make.left.equalToSuperview().offset(18)
}
}
tmp = cellView
}
}
}
}
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
import UIKit import UIKit
class YHPersonInfoSessionView: UIView { class YHPreviewInfoSingleLineTitleView: UIView {
static let viewH : CGFloat = 52 static let viewH : CGFloat = 52
override init(frame: CGRect) { override init(frame: CGRect) {
super.init(frame: frame) super.init(frame: frame)
...@@ -49,7 +49,7 @@ class YHPersonInfoSessionView: UIView { ...@@ -49,7 +49,7 @@ class YHPersonInfoSessionView: UIView {
} }
} }
extension YHPersonInfoSessionView { extension YHPreviewInfoSingleLineTitleView {
func updateTitle(title : String) { func updateTitle(title : String) {
nameLable.text = title nameLable.text = title
} }
......
...@@ -39,7 +39,7 @@ class YHWebViewViewController: YHBaseViewController, WKUIDelegate, WKNavigationD ...@@ -39,7 +39,7 @@ class YHWebViewViewController: YHBaseViewController, WKUIDelegate, WKNavigationD
// 加载网页的进度条 // 加载网页的进度条
progBar = UIProgressView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 30)) progBar = UIProgressView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 30))
progBar.progress = 0.0 progBar.progress = 0.0
progBar.tintColor = UIColor.red progBar.tintColor = UIColor.brandMainColor
webview.addSubview(progBar) webview.addSubview(progBar)
// 监听网页加载的进度 // 监听网页加载的进度
webview.addObserver(self, forKeyPath: "estimatedProgress", options: .new, context: nil) webview.addObserver(self, forKeyPath: "estimatedProgress", options: .new, context: nil)
......
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