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

上传证件部分逻辑

parent 76537e22
......@@ -11,6 +11,7 @@ import UIKit
class YHAddAdoptersViewController: YHBaseViewController {
var tableView: UITableView!
var nextButton: UIButton!
var bottonView: UIView!
var clickIndex = 2
let viewModel = YHAddpterViewModel()
var orderId: Int = 0
......@@ -57,42 +58,41 @@ class YHAddAdoptersViewController: YHBaseViewController {
make.bottom.left.right.equalTo(view)
}
// let bottonView = UIView()
// bottonView.backgroundColor = .white
// view.addSubview(bottonView)
// bottonView.snp.makeConstraints { make in
// make.height.equalTo(98)
// make.bottom.left.right.equalTo(view)
// }
//
// nextButton = {
// let button = UIButton(type: .custom)
// button.backgroundColor = UIColor.brandMainColor
// button.titleLabel?.font = UIFont.PFSC_M(ofSize: 16)
// button.contentHorizontalAlignment = .center
// button.setTitle("下一步,预约赴港办证", for: .normal)
// button.setTitleColor( UIColor(hex:0xffffff), for: .normal)
// button.layer.cornerRadius = kCornerRadius3
// button.addTarget(self, action: #selector(nextStep), for: .touchUpInside)
// return button
// }()
// view.addSubview(nextButton)
// nextButton.snp.makeConstraints { make in
// make.left.equalTo(16)
// make.right.equalTo(-16)
// make.bottom.equalTo(-8 - k_Height_safeAreaInsetsBottom())
// make.height.equalTo(48)
// }
bottonView = UIView()
bottonView.backgroundColor = .white
bottonView.isHidden = true
view.addSubview(bottonView)
bottonView.snp.makeConstraints { make in
make.height.equalTo(98)
make.bottom.left.right.equalTo(view)
}
}
@objc func nextStep() {
nextButton = {
let button = UIButton(type: .custom)
button.backgroundColor = UIColor.brandMainColor
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 16)
button.contentHorizontalAlignment = .center
button.setTitle("下一步,预约赴港办证", for: .normal)
button.setTitleColor( UIColor(hex:0xffffff), for: .normal)
button.layer.cornerRadius = kCornerRadius3
button.addTarget(self, action: #selector(nextStep), for: .touchUpInside)
button.isHidden = true
return button
}()
view.addSubview(nextButton)
nextButton.snp.makeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.bottom.equalTo(-8 - k_Height_safeAreaInsetsBottom())
make.height.equalTo(48)
}
}
@objc func submit() {
@objc func nextStep() {
self.navigationController?.popViewController(animated: true)
}
}
extension YHAddAdoptersViewController: UITableViewDelegate, UITableViewDataSource {
......@@ -116,6 +116,10 @@ extension YHAddAdoptersViewController: UITableViewDelegate, UITableViewDataSourc
let view = YHNoAdopterAlertView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
let window = UIApplication.shared.yhKeyWindow()
window?.addSubview(view)
if self.viewModel.flag?.is_reserved_open == 1 {
self.bottonView.isHidden = false
self.nextButton.isHidden = false
}
}
self.getData()
}
......
......@@ -14,18 +14,24 @@ class YHAdoptedChinaTravelViewController: YHBaseViewController {
var clickIndex = -1
var data: [YHItemModel] = []
var viewModel = YHYHAdopterTravelViewModel()
var model: YHAdopterDependentDataDocModel = YHAdopterDependentDataDocModel()
var urls : [String] = [""]
override func viewDidLoad() {
super.viewDidLoad()
gk_navTitle = "上传中国旅行证"
gk_navBackgroundColor = .white
gk_navBarAlpha = 1
urls = model.url
if urls.count == 0 {
urls = [""]
}
setView()
getData()
}
func getData() {
data = viewModel.getChinaDataSource(false)
viewModel.mainModel = model
tableView.reloadData()
}
......@@ -67,15 +73,29 @@ class YHAdoptedChinaTravelViewController: YHBaseViewController {
make.bottom.equalTo(-8 - k_Height_safeAreaInsetsBottom())
make.height.equalTo(48)
}
if model.status == 1 || model.status == 2 {
nextButton.isHidden = true
} else {
tableView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 8)
make.left.right.equalTo(view)
make.bottom.equalTo(-56 - k_Height_safeAreaInsetsBottom())
}
}
}
@objc func nextStep() {
}
@objc func submit() {
for item in urls {
if item.count == 0 {
self.getData()
YHHUD.flash(message: "您还有信息未填写")
return
}
}
viewModel.postdependentsUpload(urls: urls) {[weak self] success, error in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
}
}
......@@ -88,10 +108,18 @@ extension YHAdoptedChinaTravelViewController: UITableViewDelegate, UITableViewDa
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterCardExplainTableViewCell.self)
cell.titleLabel.text = "中国居留许可签证"
cell.docDataSource = model
return cell
}
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterResidentTableViewCell.self)
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell
}
......
......@@ -14,18 +14,24 @@ class YHAdopterBirthViewController: YHBaseViewController {
var clickIndex = -1
var data: [YHItemModel] = []
var viewModel = YHYHAdopterTravelViewModel()
var model: YHAdopterDependentDataDocModel = YHAdopterDependentDataDocModel()
var urls : [String] = [""]
override func viewDidLoad() {
super.viewDidLoad()
gk_navTitle = "上传出生医学证明"
gk_navBackgroundColor = .white
gk_navBarAlpha = 1
urls = model.url
if urls.count == 0 {
urls = [""]
}
setView()
getData()
}
func getData() {
data = viewModel.getChinaDataSource(false)
viewModel.mainModel = model
tableView.reloadData()
}
......@@ -67,15 +73,29 @@ class YHAdopterBirthViewController: YHBaseViewController {
make.bottom.equalTo(-8 - k_Height_safeAreaInsetsBottom())
make.height.equalTo(48)
}
if model.status == 1 || model.status == 2 {
nextButton.isHidden = true
} else {
tableView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 8)
make.left.right.equalTo(view)
make.bottom.equalTo(-56 - k_Height_safeAreaInsetsBottom())
}
}
}
@objc func nextStep() {
}
@objc func submit() {
for item in urls {
if item.count == 0 {
self.getData()
YHHUD.flash(message: "您还有信息未填写")
return
}
}
viewModel.postdependentsUpload(urls: urls) {[weak self] success, error in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
}
}
......@@ -88,6 +108,7 @@ extension YHAdopterBirthViewController: UITableViewDelegate, UITableViewDataSour
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterExampleTableViewCell.self)
cell.titleLabel.text = "出生医学证明示例模版"
cell.exampleBlock = {[weak self] in
let view = YHAdopterCardExampleView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
view.type = .birth
......@@ -98,10 +119,18 @@ extension YHAdopterBirthViewController: UITableViewDelegate, UITableViewDataSour
}
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterCardExplainTableViewCell.self)
cell.titleLabel.text = "出生医学证明"
cell.docDataSource = model
return cell
}
if indexPath.row == 2 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterResidentTableViewCell.self)
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell
}
......
......@@ -14,18 +14,24 @@ class YHAdopterChinaLifeViewController: YHBaseViewController {
var clickIndex = -1
var data: [YHItemModel] = []
var viewModel = YHYHAdopterTravelViewModel()
var model: YHAdopterDependentDataDocModel = YHAdopterDependentDataDocModel()
var urls : [String] = [""]
override func viewDidLoad() {
super.viewDidLoad()
gk_navTitle = "上传中国居留许可签证"
gk_navBackgroundColor = .white
gk_navBarAlpha = 1
urls = model.url
if urls.count == 0 {
urls = [""]
}
setView()
getData()
}
func getData() {
data = viewModel.getChinaDataSource(false)
viewModel.mainModel = model
tableView.reloadData()
}
......@@ -67,15 +73,29 @@ class YHAdopterChinaLifeViewController: YHBaseViewController {
make.bottom.equalTo(-8 - k_Height_safeAreaInsetsBottom())
make.height.equalTo(48)
}
if model.status == 1 || model.status == 2 {
nextButton.isHidden = true
} else {
tableView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 8)
make.left.right.equalTo(view)
make.bottom.equalTo(-56 - k_Height_safeAreaInsetsBottom())
}
}
}
@objc func nextStep() {
}
@objc func submit() {
for item in urls {
if item.count == 0 {
self.getData()
YHHUD.flash(message: "您还有信息未填写")
return
}
}
viewModel.postdependentsUpload(urls: urls) {[weak self] success, error in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
}
}
......@@ -88,10 +108,18 @@ extension YHAdopterChinaLifeViewController: UITableViewDelegate, UITableViewData
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterCardExplainTableViewCell.self)
cell.titleLabel.text = "中国旅行证"
cell.docDataSource = model
return cell
}
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterResidentTableViewCell.self)
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell
}
......
......@@ -14,18 +14,26 @@ class YHAdopterChinaViewController: YHBaseViewController {
var clickIndex = -1
var data: [YHItemModel] = []
var viewModel = YHYHAdopterTravelViewModel()
var model: YHAdopterDependentDataDocModel = YHAdopterDependentDataDocModel()
var isShowPrompt = false
var urls : [String] = ["",""]
override func viewDidLoad() {
super.viewDidLoad()
gk_navTitle = "上传中国身份证"
gk_navBackgroundColor = .white
gk_navBarAlpha = 1
urls = model.url
if urls.count == 0 {
urls = ["", ""]
}
setView()
getData()
}
func getData() {
data = viewModel.getChinaDataSource(false)
viewModel.mainModel = model
data = viewModel.getChinaDataSource(isShowPrompt)
tableView.reloadData()
}
......@@ -68,15 +76,36 @@ class YHAdopterChinaViewController: YHBaseViewController {
make.bottom.equalTo(-8 - k_Height_safeAreaInsetsBottom())
make.height.equalTo(48)
}
if model.status == 1 || model.status == 2 {
nextButton.isHidden = true
} else {
tableView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 8)
make.left.right.equalTo(view)
make.bottom.equalTo(-56 - k_Height_safeAreaInsetsBottom())
}
}
}
@objc func nextStep() {
}
@objc func submit() {
for item in urls {
if item.count == 0 {
self.isShowPrompt = true
self.getData()
YHHUD.flash(message: "您还有信息未填写")
return
}
}
if self.viewModel.isCanNext(2) {
viewModel.postdependentsUpload(urls: urls) {[weak self] success, error in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
} else {
self.isShowPrompt = true
self.getData()
YHHUD.flash(message: "您还有信息未填写")
}
}
}
......@@ -107,10 +136,25 @@ extension YHAdopterChinaViewController: UITableViewDelegate, UITableViewDataSour
}
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterCardExplainTableViewCell.self)
cell.docDataSource = model
return cell
}
if indexPath.row == 2 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterTravelCardTableViewCell.self)
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
self.viewModel.getPublicImageUrl(url) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.viewModel.requestCnIDCardMessage(url, isBack: 0) {[weak self] success, error in
guard let self = self else { return }
self.tableView.reloadSections([1], with: .none)
}
}
}
return cell
}
}
......@@ -118,11 +162,12 @@ extension YHAdopterChinaViewController: UITableViewDelegate, UITableViewDataSour
cell.dataSource = data[indexPath.row]
cell.informationBlock = {[weak self] model in
guard let self = self else { return }
// self.viewModel.updateModel(model)
// let id = model.id
// if id != .id32 && id != .id4 && id != .id8 && id != .id9 && id != .id12 && id != .id13 && id != .id17 && id != .id18 && id != .id21 && id != .id22 && id != .id23 && id != .id34 && id != .id29 && id != .id30 && id != .id35 {
// self.updateDataSource()
// }
self.viewModel.updateModel(model)
let id = model.id
if id != .id21 && id != .id22 && id != .id23 {
self.data = viewModel.getChinaDataSource(isShowPrompt)
self.tableView.reloadSections([1], with: .none)
}
}
return cell
}
......
......@@ -14,18 +14,24 @@ class YHAdopterIdCardViewController: YHBaseViewController {
var clickIndex = -1
var data: [YHItemModel] = []
var viewModel = YHYHAdopterTravelViewModel()
var model: YHAdopterDependentDataDocModel = YHAdopterDependentDataDocModel()
var urls : [String] = [""]
override func viewDidLoad() {
super.viewDidLoad()
gk_navTitle = "上传证件照片"
gk_navBackgroundColor = .white
gk_navBarAlpha = 1
urls = model.url
if urls.count == 0 {
urls = [""]
}
setView()
getData()
}
func getData() {
data = viewModel.getChinaDataSource(false)
viewModel.mainModel = model
tableView.reloadData()
}
......@@ -67,15 +73,29 @@ class YHAdopterIdCardViewController: YHBaseViewController {
make.bottom.equalTo(-8 - k_Height_safeAreaInsetsBottom())
make.height.equalTo(48)
}
if model.status == 1 || model.status == 2 {
nextButton.isHidden = true
} else {
tableView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 8)
make.left.right.equalTo(view)
make.bottom.equalTo(-56 - k_Height_safeAreaInsetsBottom())
}
}
}
@objc func nextStep() {
}
@objc func submit() {
for item in urls {
if item.count == 0 {
self.getData()
YHHUD.flash(message: "您还有信息未填写")
return
}
}
viewModel.postdependentsUpload(urls: urls) {[weak self] success, error in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
}
}
......@@ -88,11 +108,19 @@ extension YHAdopterIdCardViewController: UITableViewDelegate, UITableViewDataSou
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterCardExplainTableViewCell.self)
cell.titleLabel.text = "证件照片"
cell.alertLabel.text = "要求:2寸白底照"
cell.docDataSource = model
return cell
}
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterResidentTableViewCell.self)
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell
}
......
......@@ -14,18 +14,23 @@ class YHAdopterMarryViewController: YHBaseViewController {
var clickIndex = -1
var data: [YHItemModel] = []
var viewModel = YHYHAdopterTravelViewModel()
var model: YHAdopterDependentDataDocModel = YHAdopterDependentDataDocModel()
var urls : [String] = ["","",""]
override func viewDidLoad() {
super.viewDidLoad()
gk_navTitle = "上传结婚证"
gk_navBackgroundColor = .white
gk_navBarAlpha = 1
urls = model.url
if urls.count == 0 {
urls = ["","",""]
}
setView()
getData()
}
func getData() {
data = viewModel.getChinaDataSource(false)
viewModel.mainModel = model
tableView.reloadData()
}
......@@ -67,15 +72,29 @@ class YHAdopterMarryViewController: YHBaseViewController {
make.bottom.equalTo(-8 - k_Height_safeAreaInsetsBottom())
make.height.equalTo(48)
}
if model.status == 1 || model.status == 2 {
nextButton.isHidden = true
} else {
tableView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 8)
make.left.right.equalTo(view)
make.bottom.equalTo(-56 - k_Height_safeAreaInsetsBottom())
}
}
}
@objc func nextStep() {
}
@objc func submit() {
for item in urls {
if item.count == 0 {
self.getData()
YHHUD.flash(message: "您还有信息未填写")
return
}
}
viewModel.postdependentsUpload(urls: urls) {[weak self] success, error in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
}
}
......@@ -88,6 +107,7 @@ extension YHAdopterMarryViewController: UITableViewDelegate, UITableViewDataSour
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterExampleTableViewCell.self)
cell.titleLabel.text = "结婚证示例模版"
cell.exampleBlock = {[weak self] in
let view = YHAdopterCardExampleView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
view.type = .marry
......@@ -98,11 +118,19 @@ extension YHAdopterMarryViewController: UITableViewDelegate, UITableViewDataSour
}
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterCardExplainTableViewCell.self)
cell.titleLabel.text = "结婚证"
cell.alertLabel.text = "提供主申人的信息页,复婚情况提供最新的结婚证"
cell.docDataSource = model
return cell
}
if indexPath.row == 2 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterMarryCardTableViewCell.self)
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell
}
......
......@@ -105,37 +105,43 @@ class YHAdopterNewPeopleViewController: YHBaseViewController {
bottom.nextblock = { [weak self] in
bottom.nextButton.isEnabled = false
guard let self = self else { return }
if self.viewModel.isCanNext(self.stepView.currentIndex) {
self.viewModel.postDependentsAdd(id: id) {[weak self] success, error in
guard let self = self else { return }
bottom.nextButton.isEnabled = true
bottom.saveButton.isHidden = false
bottom.nextButton.setTitle("确认,保存", for: .normal)
bottom.nextButton.snp.remakeConstraints { make in
make.right.equalTo(-16)
make.top.equalTo(10)
make.height.equalTo(44)
make.left.equalTo(bottom.saveButton.snp.right).offset(10)
}
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
if self.viewModel.mainModel.info.is_read_agreement == 0 {
let view = YHAdopterCardOtherGuideView.sheetView()
view.ischeckBeforeFlag = false
view.block = {
self.viewModel.postIsReadAgreement(id: self.id) { success, error in
if self.stepView.currentIndex == 0 {
if self.viewModel.isCanNext(self.stepView.currentIndex) {
self.viewModel.postDependentsAdd(id: id) {[weak self] success, error in
guard let self = self else { return }
bottom.nextButton.isEnabled = true
bottom.saveButton.isHidden = false
bottom.nextButton.setTitle("确认,保存", for: .normal)
bottom.nextButton.snp.remakeConstraints { make in
make.right.equalTo(-16)
make.top.equalTo(10)
make.height.equalTo(44)
make.left.equalTo(bottom.saveButton.snp.right).offset(10)
}
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.updateDataSource()
if self.viewModel.mainModel.info.is_read_agreement == 0 {
let view = YHAdopterCardOtherGuideView.sheetView()
view.ischeckBeforeFlag = false
view.block = {
self.viewModel.postIsReadAgreement(id: self.id) { success, error in
}
}
view.show()
}
view.show()
}
} else {
bottom.nextButton.isEnabled = true
self.isShowPrompt = true
self.updateDataSource()
YHHUD.flash(message: "您还有信息未填写")
}
} else {
bottom.nextButton.isEnabled = true
self.isShowPrompt = true
self.updateDataSource()
YHHUD.flash(message: "您还有信息未填写")
self.viewModel.getDependentsCheck {[weak self] success, error in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
}
}
bottom.saveBlock = { [weak self] in
guard let self = self else { return }
......@@ -247,27 +253,35 @@ extension YHAdopterNewPeopleViewController: UITableViewDelegate, UITableViewData
self.navigationController?.pushViewController(vc)
case 1://身份证(正反面)
let vc = YHAdopterChinaViewController()
vc.model = model
self.navigationController?.pushViewController(vc)
case 2://户口信息页
let vc = YHAdopterResidentViewController()
vc.model = model
self.navigationController?.pushViewController(vc)
case 3://结婚证信息页
let vc = YHAdopterMarryViewController()
vc.model = model
self.navigationController?.pushViewController(vc)
case 4://证件照片
let vc = YHAdopterIdCardViewController()
vc.model = model
self.navigationController?.pushViewController(vc)
case 5://出生医学证明
let vc = YHAdopterBirthViewController()
vc.model = model
self.navigationController?.pushViewController(vc)
case 6://中国居留许可签证(有效期内)
let vc = YHAdopterChinaLifeViewController()
vc.model = model
self.navigationController?.pushViewController(vc)
case 7://中国旅行证
let vc = YHAdoptedChinaTravelViewController()
vc.model = model
self.navigationController?.pushViewController(vc)
case 8://其他证件(请致电客服咨询后上传相关证件)
let vc = YHAdopterOtherViewController()
vc.model = model
self.navigationController?.pushViewController(vc)
default:
break
......
......@@ -14,18 +14,24 @@ class YHAdopterOtherViewController: YHBaseViewController {
var clickIndex = -1
var data: [YHItemModel] = []
var viewModel = YHYHAdopterTravelViewModel()
var model: YHAdopterDependentDataDocModel = YHAdopterDependentDataDocModel()
var urls : [String] = [""]
override func viewDidLoad() {
super.viewDidLoad()
gk_navTitle = "上传其他相关证件"
gk_navBackgroundColor = .white
gk_navBarAlpha = 1
urls = model.url
if urls.count == 0 {
urls = [""]
}
setView()
getData()
}
func getData() {
data = viewModel.getChinaDataSource(false)
viewModel.mainModel = model
tableView.reloadData()
}
......@@ -67,15 +73,29 @@ class YHAdopterOtherViewController: YHBaseViewController {
make.bottom.equalTo(-8 - k_Height_safeAreaInsetsBottom())
make.height.equalTo(48)
}
if model.status == 1 || model.status == 2 {
nextButton.isHidden = true
} else {
tableView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 8)
make.left.right.equalTo(view)
make.bottom.equalTo(-56 - k_Height_safeAreaInsetsBottom())
}
}
}
@objc func nextStep() {
}
@objc func submit() {
for item in urls {
if item.count == 0 {
self.getData()
YHHUD.flash(message: "您还有信息未填写")
return
}
}
viewModel.postdependentsUpload(urls: urls) {[weak self] success, error in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
}
}
......@@ -88,6 +108,7 @@ extension YHAdopterOtherViewController: UITableViewDelegate, UITableViewDataSour
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterExampleTableViewCell.self)
cell.titleLabel.text = "其他相关证件说明"
cell.exampleBlock = {[weak self] in
let view = YHAdopterCardExampleView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
view.type = .other
......@@ -98,11 +119,19 @@ extension YHAdopterOtherViewController: UITableViewDelegate, UITableViewDataSour
}
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterCardExplainTableViewCell.self)
cell.titleLabel.text = "其他相关证件"
cell.alertLabel.text = "请致电客服咨询后上传相关证件"
cell.docDataSource = model
return cell
}
if indexPath.row == 2 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterResidentTableViewCell.self)
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell
}
......
......@@ -14,18 +14,24 @@ class YHAdopterResidentViewController: YHBaseViewController {
var clickIndex = -1
var data: [YHItemModel] = []
var viewModel = YHYHAdopterTravelViewModel()
var model: YHAdopterDependentDataDocModel = YHAdopterDependentDataDocModel()
var urls : [String] = [""]
override func viewDidLoad() {
super.viewDidLoad()
gk_navTitle = "上传户口信息页"
gk_navBackgroundColor = .white
gk_navBarAlpha = 1
urls = model.url
if urls.count == 0 {
urls = [""]
}
setView()
getData()
}
func getData() {
data = viewModel.getChinaDataSource(false)
viewModel.mainModel = model
tableView.reloadData()
}
......@@ -67,17 +73,30 @@ class YHAdopterResidentViewController: YHBaseViewController {
make.bottom.equalTo(-8 - k_Height_safeAreaInsetsBottom())
make.height.equalTo(48)
}
if model.status == 1 || model.status == 2 {
nextButton.isHidden = true
} else {
tableView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 8)
make.left.right.equalTo(view)
make.bottom.equalTo(-56 - k_Height_safeAreaInsetsBottom())
}
}
}
@objc func nextStep() {
}
@objc func submit() {
for item in urls {
if item.count == 0 {
self.getData()
YHHUD.flash(message: "您还有信息未填写")
return
}
}
viewModel.postdependentsUpload(urls: urls) {[weak self] success, error in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
}
}
extension YHAdopterResidentViewController: UITableViewDelegate, UITableViewDataSource {
......@@ -88,6 +107,7 @@ extension YHAdopterResidentViewController: UITableViewDelegate, UITableViewDataS
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterExampleTableViewCell.self)
cell.titleLabel.text = "户口信息页示例模版"
cell.exampleBlock = {[weak self] in
let view = YHAdopterCardExampleView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
view.type = .resident
......@@ -98,11 +118,19 @@ extension YHAdopterResidentViewController: UITableViewDelegate, UITableViewDataS
}
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterCardExplainTableViewCell.self)
cell.titleLabel.text = "户口信息页"
cell.alertLabel.text = "要求:提供户口的个人页,无需户口本首页"
cell.docDataSource = model
return cell
}
if indexPath.row == 2 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterResidentTableViewCell.self)
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
}
return cell
}
......
......@@ -23,16 +23,17 @@ class YHAdopterTravelViewController: YHBaseViewController {
gk_navTitle = "上传旅行证件"
gk_navBackgroundColor = .white
gk_navBarAlpha = 1
urls = model.url
if urls.count == 0 {
urls = ["", ""]
}
setView()
getData()
}
func getData() {
viewModel.mainModel = model
data = viewModel.getBaseDataSource(isShowPrompt)
urls = model.url
if urls.count == 0 {
urls = ["", ""]
}
tableView.reloadData()
}
......@@ -75,12 +76,31 @@ class YHAdopterTravelViewController: YHBaseViewController {
make.bottom.equalTo(-8 - k_Height_safeAreaInsetsBottom())
make.height.equalTo(48)
}
if model.status == 1 || model.status == 2 {
nextButton.isHidden = true
} else {
tableView.snp.remakeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar + 8)
make.left.right.equalTo(view)
make.bottom.equalTo(-56 - k_Height_safeAreaInsetsBottom())
}
}
}
@objc func nextStep() {
for item in urls {
if item.count == 0 {
self.isShowPrompt = true
self.getData()
YHHUD.flash(message: "您还有信息未填写")
return
}
}
if self.viewModel.isCanNext(1) {
viewModel.postdependentsUpload(urls: urls) {[weak self] success, error in
guard let self = self else { return }
self.navigationController?.popViewController(animated: true)
}
} else {
self.isShowPrompt = true
self.getData()
......@@ -112,22 +132,32 @@ extension YHAdopterTravelViewController: UITableViewDelegate, UITableViewDataSou
if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHAdopterTravelCardTableViewCell.self)
cell.urls = urls
cell.state = model.status
cell.urlBlock = { [weak self] url, index in
guard let self = self else { return }
self.urls[index] = url
self.tableView.reloadData()
self.viewModel.getPublicImageUrl(url) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.viewModel.requestHkIDCardMessage(url, isBack: 0) {[weak self] success, error in
guard let self = self else { return }
self.tableView.reloadData()
}
}
}
return cell
}
}
let cell = tableView.dequeueReusableCell(withClass: YHAdopterTravelItemTableViewCell.self)
cell.dataSource = data[indexPath.row]
cell.state = model.status
cell.informationBlock = {[weak self] model in
guard let self = self else { return }
self.viewModel.updateModel(model)
let id = model.id
if id != .id2 && id != .id3 && id != .id4 {
self.getData()
self.data = viewModel.getBaseDataSource(isShowPrompt)
self.tableView.reloadSections([1], with: .none)
}
}
return cell
......
......@@ -23,3 +23,10 @@ class YHAdopterAddModel: SmartCodable {
}
}
class YHAdopterShowButtonModel: SmartCodable {
var is_reserved_open : Int = 0
required init() {
}
}
......@@ -62,7 +62,7 @@ class YHAdopterDependentDataDocCertificatesModel: SmartCodable {
var gender : Int = 0 // 1男,2女
var marital_status : Int = 0 //婚姻状况
var travel_papers_type : Int = 0 // 旅行证件类型
var current_place : String = "" // 现居地址
var current_place : Int = 0 // 现居地址
var is_forever_identiry : Int = 0 //是否永久身份:1是,2否
var is_live_hk : Int = 0 // 是否正在港:1否,2是
var hk_identity : Int = 0 // 在港身份
......@@ -71,7 +71,7 @@ class YHAdopterDependentDataDocCertificatesModel: SmartCodable {
var before_marriage_name : String = "" // 婚前姓氏
var birthday : String = "" // 出生日期
var birth_place : String = "" // 出生地点
var idcard : String = "" // 身份证号
var id_card : String = "" // 身份证号
var hk_idcard : String = "" //香港身份证号
var travel_papers_number : String = "" //旅行证件号码
var sign_address : String = "" // 签发地点
......
......@@ -12,7 +12,12 @@ class YHAdopterCardExplainTableViewCell: UITableViewCell {
var titleLabel: UILabel!
var subTitleLabel: UILabel!
var alertLabel: UILabel!
var docDataSource: YHAdopterDependentDataDocModel? {
didSet {
updateDocContent()
}
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
......@@ -92,5 +97,28 @@ class YHAdopterCardExplainTableViewCell: UITableViewCell {
}
}
func updateDocContent() {
guard let data = docDataSource else { return }
if data.status == 0 {
subTitleLabel.textColor = UIColor.brandMainColor
subTitleLabel.backgroundColor = UIColor(hex: 0xf0f4fb)
subTitleLabel.text = "待上传"
}
if data.status == 1 {
subTitleLabel.textColor = UIColor(hex: 0xff8000)
subTitleLabel.backgroundColor = UIColor(hex: 0xfff5eb)
subTitleLabel.text = "审核中"
}
if data.status == 2 {
subTitleLabel.textColor = UIColor(hex: 0x3cc694)
subTitleLabel.backgroundColor = UIColor(hex: 0xf0fbf7)
subTitleLabel.text = "已完成"
}
if data.status == 3 {
subTitleLabel.textColor = UIColor(hex: 0xf81d22)
subTitleLabel.backgroundColor = UIColor(hex: 0xfff2f2)
subTitleLabel.text = "已驳回"
}
}
}
......@@ -197,5 +197,7 @@ class YHAdopterIncomeTitleTableViewCell: UITableViewCell {
subTitleLabel.text = "已驳回"
}
failLabel.text = data.reject_reason
titleLabel.text = "旅行证件"
alertLabel.text = "要求:中国籍上传港澳通行证正反面,外籍上传护照正反面"
}
}
......@@ -9,27 +9,39 @@
import UIKit
class YHAdopterResidentTableViewCell: UITableViewCell {
typealias InformationBlock = (_ type: YHCardType, _ image: UIImage, _ isleft: Bool) -> ()
var informationBlock: InformationBlock?
typealias UrlBlock = (_ url: String, _ index: Int) -> ()
var urlBlock: UrlBlock?
var frontLabel: UILabel!
var frontImageButton: YHCardButton!
var frontDeleteButton: UIButton!
var activityIndicator: UIActivityIndicatorView!
var viewModel: YHMainApplicantInformationViewModel! {
var viewModel: YHBaseViewModel = YHBaseViewModel()
var firstUrl: String = ""
var urls: [String]? {
didSet {
if viewModel.mainModel.certificates.cn_identity_card.img_front.count != 0 {
self.viewModel.getPublicImageUrl(viewModel.mainModel.certificates.cn_identity_card.img_front) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.frontImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal, completionHandler: { _ in
self.frontDeleteButton.isHidden = false
})
self.frontImageButton.setContent("", "")
}
guard let firstUrl = urls?.first, firstUrl.count != 0 else { return }
self.firstUrl = firstUrl
self.viewModel.getPublicImageUrl(firstUrl) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.frontImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal, completionHandler: { _ in
self.frontDeleteButton.isHidden = false
if self.state == 1 || self.state == 2 {
self.frontDeleteButton.isHidden = true
}
})
self.frontImageButton.setContent("", "")
}
}
}
var state: Int? {
didSet {
if state == 1 || state == 2 {
frontDeleteButton.isHidden = true
}
}
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
......@@ -131,38 +143,29 @@ class YHAdopterResidentTableViewCell: UITableViewCell {
}
@objc func frontImageClick() {
// if viewModel.mainModel.certificates.cn_identity_card.img_front.count != 0 {
// if viewModel.mainModel.certificates.cn_identity_card.img_front.isEmpty == false {
// let vc = YHImageViewController()
// vc.imgString = viewModel.mainModel.certificates.cn_identity_card.img_front
// UIViewController.current?.navigationController?.pushViewController(vc)
// }
// return
// }
// YHImagePickerView.show() {[weak self] image in
// guard let self = self else { return }
// self.frontImageButton.setContent("card_loading", "上传中")
// self.frontImageButton.startRotationAnimation()
// self.viewModel.uploadImage(image) {[weak self] success, error in
// guard let self = self else { return }
// self.frontImageButton.stopRotationAnimation()
// self.frontImageButton.setContent("", "")
//
// guard let url = success else { return }
//// self.viewModel.updateModel(self.type, isFront: true, url: url)
// self.frontImageButton.setBackgroundImage(image, for: .normal)
// self.frontDeleteButton.isHidden = false
//
// self.viewModel.getPublicImageUrl(url) {[weak self] success, error in
// guard let self = self else { return }
// guard let url = success else { return }
//
//
// self.viewModel.requestHkIDCardMessage(url, isBack: 0) {[weak self] success, error in
// }
// }
// }
// }
if firstUrl.count != 0 {
let vc = YHImageViewController()
vc.imgString = firstUrl
UIViewController.current?.navigationController?.pushViewController(vc)
return
}
YHImagePickerView.show() {[weak self] image in
guard let self = self else { return }
self.frontImageButton.setContent("card_loading", "上传中")
self.frontImageButton.startRotationAnimation()
self.viewModel.uploadImage(image) {[weak self] success, error in
guard let self = self else { return }
self.frontImageButton.stopRotationAnimation()
self.frontImageButton.setContent("", "")
guard let url = success else { return }
self.frontImageButton.setBackgroundImage(image, for: .normal)
self.frontDeleteButton.isHidden = false
if let block = self.urlBlock {
block(url, 0)
}
}
}
}
@objc func frontDeleteClick() {
......
......@@ -23,21 +23,29 @@ class YHAdopterTravelCardTableViewCell: UITableViewCell {
var lastUrl: String = ""
var urls: [String]? {
didSet {
guard let firstUrl = urls?.first else { return }
guard let firstUrl = urls?.first, firstUrl.count != 0 else { return }
self.firstUrl = firstUrl
self.viewModel.getPublicImageUrl(firstUrl) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.frontImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal, completionHandler: { _ in
self.frontDeleteButton.isHidden = false
if self.state == 1 || self.state == 2 {
self.frontDeleteButton.isHidden = true
}
})
self.frontImageButton.setContent("", "")
}
guard let lastUrl = urls?.last else { return }
guard let lastUrl = urls?.last, lastUrl.count != 0 else { return }
self.lastUrl = lastUrl
self.viewModel.getPublicImageUrl(lastUrl) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.backSurfaceImageButton.kf.setBackgroundImage(with: URL(string: url), for: .normal, completionHandler: { _ in
self.backSurfaceDeleteButton.isHidden = false
if self.state == 1 || self.state == 2 {
self.backSurfaceDeleteButton.isHidden = true
}
})
self.backSurfaceImageButton.setContent("", "")
}
......@@ -45,6 +53,15 @@ class YHAdopterTravelCardTableViewCell: UITableViewCell {
}
}
var state: Int? {
didSet {
if state == 1 || state == 2 {
frontDeleteButton.isHidden = true
backSurfaceDeleteButton.isHidden = true
}
}
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
......@@ -212,13 +229,8 @@ class YHAdopterTravelCardTableViewCell: UITableViewCell {
guard let url = success else { return }
self.frontImageButton.setBackgroundImage(image, for: .normal)
self.frontDeleteButton.isHidden = false
self.viewModel.getPublicImageUrl(url) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
if let block = self.urlBlock {
block(url, 0)
}
if let block = self.urlBlock {
block(url, 0)
}
}
}
......@@ -243,12 +255,8 @@ class YHAdopterTravelCardTableViewCell: UITableViewCell {
guard let url = success else { return }
self.backSurfaceImageButton.setBackgroundImage(image, for: .normal)
self.backSurfaceDeleteButton.isHidden = false
self.viewModel.getPublicImageUrl(url) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
if let block = self.urlBlock {
block(url, 1)
}
if let block = self.urlBlock {
block(url, 1)
}
}
}
......
......@@ -12,7 +12,11 @@ class YHAdopterTravelItemTableViewCell: UITableViewCell {
typealias InformationBlock = (_ model: YHItemModel) -> ()
var informationBlock: InformationBlock?
var itemView: YHItemView!
var state: Int? {
didSet {
itemView.state = state ?? 0
}
}
var dataSource: YHItemModel? {
didSet {
updateAllViews()
......
......@@ -11,6 +11,8 @@ import UIKit
class YHAddpterViewModel: YHBaseViewModel {
var model: YHAdopterMainModel?
var addModel: YHAdopterAddModel?
var flag: YHAdopterShowButtonModel?
func getAddpterMainData(orderId: Int, callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let params: [String: Any] = ["order_id": orderId]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Adopter.main
......@@ -51,6 +53,14 @@ class YHAddpterViewModel: YHBaseViewModel {
guard let self = self else { return }
if json.code == 200 {
let dic = json.data
guard let resultModel = YHAdopterShowButtonModel.deserialize(dict: dic as? [AnyHashable : Any]) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
callBackBlock(false,err)
return
}
self.flag = resultModel
callBackBlock(true,nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
......
......@@ -153,4 +153,27 @@ class YHAdopterNewPeopleViewModel: YHBaseViewModel {
callBackBlock(false,err)
}
}
func getDependentsCheck(callBackBlock:@escaping (_ success: Bool,_ error:YHErrorModel?)->()) {
let params: [String: Any] = ["order_id": mainModel.info.order_id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Adopter.dependentsCheck
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
let dic = json.data
callBackBlock(true,nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callBackBlock(false,err)
}
} failBlock: { err in
callBackBlock(false,err)
}
}
}
......@@ -20,6 +20,18 @@ class YHItemView: UIView {
var showPromptLabel: UILabel!
var longTimeButton: UIButton!
var country: String = ""
var state: Int = 0 {
didSet {
if state == 1 || state == 2 {
nextStepImageView.isHidden = true
messageTextField.isEnabled = false
} else {
nextStepImageView.isHidden = false
messageTextField.isEnabled = true
}
}
}
var dataSource: YHItemModel? {
didSet {
updateAllViews()
......@@ -406,6 +418,9 @@ class YHItemView: UIView {
}
@objc func centerClick() {
if state == 1 || state == 2 {
return
}
UIViewController.current?.view.endEditing(true) // 收起键盘
guard let type = dataSource?.type else { return }
switch type {
......
......@@ -495,6 +495,10 @@ class YHAllApiName {
static let dependentsAdd = "super-app/order/information/dependents/add"
static let isReadAgreement = "super-app/order/is-read-agreement"
static let dependentsUpload = "super-app/order/information/dependents/upload"
static let dependentsCheck = "super-app/order/information/dependents/check"
}
}
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