Commit 2c18f7ce authored by David黄金龙's avatar David黄金龙

上传过关证件

parent 1be88d79
...@@ -17,12 +17,23 @@ enum UploadCertificateDetailType : Int { ...@@ -17,12 +17,23 @@ enum UploadCertificateDetailType : Int {
class YHUploadCertificateDetailVC: YHBaseViewController { class YHUploadCertificateDetailVC: YHBaseViewController {
lazy var viewModel: YHUploadCertificateViewModel = {
let vm = YHUploadCertificateViewModel()
return vm
}()
var dataModel : YHUploadCertificateModel = YHUploadCertificateModel() {
didSet {
}
}
var detailType : UploadCertificateDetailType = .SmallWhiteNote
var canEditFlag : Bool = true //已上传状态也可以重新传
lazy var uploadImageVM: YHBaseViewModel = { lazy var uploadImageVM: YHBaseViewModel = {
let vm = YHBaseViewModel() let vm = YHBaseViewModel()
return vm return vm
}() }()
var detailType : UploadCertificateDetailType = .SmallWhiteNote
lazy var topImgView: UIImageView = { lazy var topImgView: UIImageView = {
let view = UIImageView(image: UIImage(named: "xbt_tips")) // 343 90 let view = UIImageView(image: UIImage(named: "xbt_tips")) // 343 90
view.layer.cornerRadius = kCornerRadius6 view.layer.cornerRadius = kCornerRadius6
...@@ -30,7 +41,6 @@ class YHUploadCertificateDetailVC: YHBaseViewController { ...@@ -30,7 +41,6 @@ class YHUploadCertificateDetailVC: YHBaseViewController {
return view return view
}() }()
lazy var whiteContentView: UIView = { lazy var whiteContentView: UIView = {
let view = UIView() let view = UIView()
view.backgroundColor = .white view.backgroundColor = .white
...@@ -110,6 +120,11 @@ class YHUploadCertificateDetailVC: YHBaseViewController { ...@@ -110,6 +120,11 @@ class YHUploadCertificateDetailVC: YHBaseViewController {
}() }()
private var startDateStr : String = ""
private var endDateStr : String = ""
private var uploadImageUrl : String = ""
lazy var lineView2 : UIView = { lazy var lineView2 : UIView = {
let view = UIView() let view = UIView()
view.backgroundColor = .separatorColor view.backgroundColor = .separatorColor
...@@ -121,18 +136,140 @@ class YHUploadCertificateDetailVC: YHBaseViewController { ...@@ -121,18 +136,140 @@ class YHUploadCertificateDetailVC: YHBaseViewController {
return view return view
}() }()
lazy var bottomView : YHFileListBottomView = {
let view = YHFileListBottomView()
view.updateBtnTitle(title: "确认,保存")
view.block = { tag in
self.submitInfo()
}
return view
}()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
setupUI() setupUI()
loadData()
} }
} }
// MARK: - 私有方法
private extension YHUploadCertificateDetailVC { private extension YHUploadCertificateDetailVC {
func isAllInfoOK() -> Bool {
if uploadImageUrl.isEmpty {
var txt = ""
if detailType == .SmallWhiteNote {
txt = "上传小白条"
} else {
txt = "上传香港身份证"
}
YHHUD.flash(message: txt)
return false
}
if detailType == .SmallWhiteNote {
if startDateStr.isEmpty {
YHHUD.flash(message: "选择入境日期")
return false
}
if endDateStr.isEmpty {
YHHUD.flash(message: "选择逗留截止日期")
return false
}
}
return true
}
func submitInfo() {
if isAllInfoOK() {
if detailType == .SmallWhiteNote {
submitSmallWhiteBarInfo()
} else {
submitHKIDCarInfo()
}
}
}
func submitSmallWhiteBarInfo() {
let params : [String : Any] = [
"idcard_url":uploadImageUrl,
"small_white_note_validity_start":startDateStr,
"small_white_note_validity_end":endDateStr,
"user_id": dataModel.user_id,
"order_id":dataModel.order_id,
"user_type":dataModel.user_type,
]
viewModel.submitSmallWhiteBar(params) { success, error in
if success {
YHHUD.flash(message: "保存成功")
} else {
let msg = error?.errorMsg ?? "保存失败,请重试"
YHHUD.flash(message: msg)
}
}
}
func submitHKIDCarInfo() {
let params : [String : Any] = [
"idcard_url":uploadImageUrl,
"user_id": dataModel.user_id,
"order_id":dataModel.order_id,
"user_type":dataModel.user_type,
]
viewModel.submitSmallWhiteBar(params) { success, error in
if success {
YHHUD.flash(message: "保存成功")
} else {
let msg = error?.errorMsg ?? "保存失败,请重试"
YHHUD.flash(message: msg)
}
}
}
@objc func tapItem(gestureRecognizer:UITapGestureRecognizer) {
var title = ""
var defaultDate = ""
if gestureRecognizer.view == startDateItem {
title = "选择入境日期"
defaultDate = startDateStr
} else {
title = "选择逗留截止日期"
defaultDate = endDateStr
}
YHDatePickView.show(type: .yyyymmdd, title:title, lastIsTaday: true, currentDay: defaultDate) { [weak self] dateStr in
guard let self = self else { return }
if gestureRecognizer.view == startDateItem {
startDateStr = dateStr
startDateItem.updateDate(date: dateStr)
} else {
endDateStr = dateStr
endDateItem.updateDate(date: dateStr)
}
}
}
@objc func clickDelImageBtn() { @objc func clickDelImageBtn() {
cardButton.setContent("card_upload", "点击上传") cardButton.setContent("card_upload", "点击上传")
cardButton.setBackgroundImage(UIImage(named: "service_cn_card_front"), for: .normal) cardButton.setBackgroundImage(UIImage(named: "service_cn_card_front"), for: .normal)
delImageButton.isHidden = true delImageButton.isHidden = true
self.uploadImageUrl = ""
} }
@objc func tapExampleMudel() { @objc func tapExampleMudel() {
...@@ -146,6 +283,9 @@ private extension YHUploadCertificateDetailVC { ...@@ -146,6 +283,9 @@ private extension YHUploadCertificateDetailVC {
} }
@objc func clickCardButton() { @objc func clickCardButton() {
if uploadImageUrl.isEmpty {
//选择图片
YHImagePickerView.show() {[weak self] image in YHImagePickerView.show() {[weak self] image in
guard let self = self else { return } guard let self = self else { return }
self.cardButton.setContent("card_loading", "上传中") self.cardButton.setContent("card_loading", "上传中")
...@@ -157,28 +297,62 @@ private extension YHUploadCertificateDetailVC { ...@@ -157,28 +297,62 @@ private extension YHUploadCertificateDetailVC {
self.delImageButton.isHidden = false self.delImageButton.isHidden = false
guard let url = success else { return } guard let url = success else { return }
// self.viewModel.updateModel(self.type, isFront: true, url: url)
print(url) print(url)
self.uploadImageUrl = url
self.cardButton.setBackgroundImage(image, for: .normal) self.cardButton.setBackgroundImage(image, for: .normal)
self.cardButton.isHidden = false self.cardButton.isHidden = false
}
}
} else {
showBigImage()
}
}
// self.viewModel.getPublicImageUrl(url) {[weak self] success, error in func showBigImage() {
// guard let self = self else { return } if !self.uploadImageUrl.isEmpty {
// guard let url = success else { return } let vc = YHImageViewController()
// vc.imgString = self.uploadImageUrl
// if self.type == .identity { UIViewController.current?.navigationController?.pushViewController(vc)
// self.viewModel.requestCnIDCardMessage(url, isBack: 0) {[weak self] success, error in }
// guard self != nil else { return } }
// }
// } else {
// self.viewModel.requestHkIDCardMessage(url, isBack: 0) {[weak self] success, error in func loadData() {
// guard self != nil else { return } let params = [
// } "cert_type": (detailType == .SmallWhiteNote) ? 1 : 2, //证件类型 1-小白条 2-身份证
// } "user_id": dataModel.user_id,
// } "order_id":dataModel.order_id,
"user_type":dataModel.user_type,
] as [String : Any]
viewModel.getCertificateDetailInfo(params) { success, error in
if success {
self.updateUI()
}
}
}
//获取数据后进行更新
func updateUI() {
if let url = viewModel.certificateDetail?.image_url,!url.isYHEmpty() {
uploadImageUrl = url
self.viewModel.getPublicImageUrl(url) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.cardButton.kf.setBackgroundImage(with: URL(string: url), for: .normal, completionHandler: { _ in
self.delImageButton.isHidden = false
})
self.cardButton.setContent("", "")
} }
} }
if detailType == .SmallWhiteNote {
startDateStr = viewModel.certificateDetail?.start_time ?? ""
endDateStr = viewModel.certificateDetail?.end_time ?? ""
startDateItem.updateDate(date: startDateStr)
endDateItem.updateDate(date: endDateStr)
}
} }
func setupUI() { func setupUI() {
...@@ -225,11 +399,6 @@ private extension YHUploadCertificateDetailVC { ...@@ -225,11 +399,6 @@ private extension YHUploadCertificateDetailVC {
} }
} }
titleTextView.attributed.text = """
\("*", .foreground(UIColor.failColor), .font(UIFont.PFSC_M(ofSize: 17)))\(" 张三的第一次赴港激活小白条 ", .foreground(UIColor.mainTextColor), .font(UIFont.PFSC_M(ofSize: 17)))\(.view(customLabel, .original(.center)))
"""
whiteContentView.addSubview(titleTextView) whiteContentView.addSubview(titleTextView)
titleTextView.snp.makeConstraints { make in titleTextView.snp.makeConstraints { make in
...@@ -257,15 +426,11 @@ private extension YHUploadCertificateDetailVC { ...@@ -257,15 +426,11 @@ private extension YHUploadCertificateDetailVC {
if detailType == .SmallWhiteNote { if detailType == .SmallWhiteNote {
whiteContentView.addSubview(cardButton)
cardButton.snp.makeConstraints { make in titleTextView.attributed.text = """
make.left.equalToSuperview().offset(18) \("*", .foreground(UIColor.failColor), .font(UIFont.PFSC_M(ofSize: 17)))\(" \(dataModel.apply_name)的第一次赴港激活小白条 ", .foreground(UIColor.mainTextColor), .font(UIFont.PFSC_M(ofSize: 17)))\(.view(customLabel, .original(.center)))
make.top.equalTo(cardLabel.snp.bottom).offset(9) """
make.height.equalTo(99)
make.width.equalTo(160)
make.bottom.equalToSuperview().offset(-kMargin)
}
} else if detailType == .HongKongCard {
whiteContentView.addSubview(cardButton) whiteContentView.addSubview(cardButton)
cardButton.snp.makeConstraints { make in cardButton.snp.makeConstraints { make in
make.left.equalToSuperview().offset(18) make.left.equalToSuperview().offset(18)
...@@ -306,10 +471,32 @@ private extension YHUploadCertificateDetailVC { ...@@ -306,10 +471,32 @@ private extension YHUploadCertificateDetailVC {
} }
endDateItem.update(title: "逗留截止") endDateItem.update(title: "逗留截止")
}
let tap = UITapGestureRecognizer(target: self, action: #selector(tapItem(gestureRecognizer:)))
startDateItem.addGestureRecognizer(tap)
let tap2 = UITapGestureRecognizer(target: self, action: #selector(tapItem(gestureRecognizer:)))
endDateItem.addGestureRecognizer(tap2)
} else if detailType == .HongKongCard {
titleTextView.attributed.text = """
\("*", .foreground(UIColor.failColor), .font(UIFont.PFSC_M(ofSize: 17)))\(" \(dataModel.apply_name)的香港身份 ", .foreground(UIColor.mainTextColor), .font(UIFont.PFSC_M(ofSize: 17)))\(.view(customLabel, .original(.center)))
"""
whiteContentView.addSubview(cardButton)
cardButton.snp.makeConstraints { make in
make.left.equalToSuperview().offset(18)
make.top.equalTo(cardLabel.snp.bottom).offset(9)
make.height.equalTo(99)
make.width.equalTo(160)
make.bottom.equalToSuperview().offset(-kMargin)
}
}
//可编辑
whiteContentView.addSubview(delImageButton) whiteContentView.addSubview(delImageButton)
delImageButton.snp.makeConstraints { make in delImageButton.snp.makeConstraints { make in
make.centerX.equalTo(cardButton.snp.right) make.centerX.equalTo(cardButton.snp.right)
...@@ -318,5 +505,12 @@ private extension YHUploadCertificateDetailVC { ...@@ -318,5 +505,12 @@ private extension YHUploadCertificateDetailVC {
make.width.equalTo(21) make.width.equalTo(21)
} }
view.addSubview(bottomView)
bottomView.snp.makeConstraints { make in
make.left.equalToSuperview()
make.right.equalToSuperview()
make.bottom.equalToSuperview()
make.height.equalTo(YHFileListBottomView.viewH)
}
} }
} }
...@@ -10,8 +10,6 @@ import UIKit ...@@ -10,8 +10,6 @@ import UIKit
class YHUploadCertificateVC: YHBaseViewController { class YHUploadCertificateVC: YHBaseViewController {
var items: [String] = ["1", "1"]
lazy var viewModel: YHUploadCertificateViewModel = { lazy var viewModel: YHUploadCertificateViewModel = {
let vm = YHUploadCertificateViewModel() let vm = YHUploadCertificateViewModel()
return vm return vm
...@@ -71,7 +69,7 @@ class YHUploadCertificateVC: YHBaseViewController { ...@@ -71,7 +69,7 @@ class YHUploadCertificateVC: YHBaseViewController {
setupUI() setupUI()
orderId = 150661 //for test hjl // orderId = 150661 //for test hjl
loadData() loadData()
} }
} }
...@@ -149,7 +147,6 @@ extension YHUploadCertificateVC: UITableViewDelegate, UITableViewDataSource { ...@@ -149,7 +147,6 @@ extension YHUploadCertificateVC: UITableViewDelegate, UITableViewDataSource {
} }
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if 0 <= indexPath.section && indexPath.section < items.count {
if indexPath.row == 0 { if indexPath.row == 0 {
let warningCell = tableView.dequeueReusableCell(withIdentifier: YHUploadCertificateTitleCell.cellReuseIdentifier, for: indexPath) as! YHUploadCertificateTitleCell let warningCell = tableView.dequeueReusableCell(withIdentifier: YHUploadCertificateTitleCell.cellReuseIdentifier, for: indexPath) as! YHUploadCertificateTitleCell
...@@ -189,10 +186,6 @@ extension YHUploadCertificateVC: UITableViewDelegate, UITableViewDataSource { ...@@ -189,10 +186,6 @@ extension YHUploadCertificateVC: UITableViewDelegate, UITableViewDataSource {
} }
} }
let approveCell = tableView.dequeueReusableCell(withIdentifier: "cell", for: indexPath)
return approveCell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == 0 { if indexPath.row == 0 {
return YHUploadCertificateTitleCell.cellH return YHUploadCertificateTitleCell.cellH
...@@ -201,14 +194,22 @@ extension YHUploadCertificateVC: UITableViewDelegate, UITableViewDataSource { ...@@ -201,14 +194,22 @@ extension YHUploadCertificateVC: UITableViewDelegate, UITableViewDataSource {
} }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if 0 <= indexPath.section && indexPath.section < items.count {
let vc = YHUploadCertificateDetailVC() let vc = YHUploadCertificateDetailVC()
//
if let model = viewModel.uploadCertificateDataListModel {
var tmp : YHUploadCertificateModel?
if indexPath.section == 0 {
tmp = model.small_whites[indexPath.row - 1]
vc.detailType = .SmallWhiteNote vc.detailType = .SmallWhiteNote
} else if indexPath.section == 1 {
tmp = model.id_cards[indexPath.row - 1]
vc.detailType = .HongKongCard
}
if let tmp = tmp {
vc.dataModel = tmp
self.navigationController?.pushViewController(vc) self.navigationController?.pushViewController(vc)
}
} }
} }
......
...@@ -99,5 +99,9 @@ extension YHUploadCertificateDateItem { ...@@ -99,5 +99,9 @@ extension YHUploadCertificateDateItem {
cardLabel.attributed.text = b cardLabel.attributed.text = b
} }
} }
func updateDate(date : String) {
dateTextField.text = date
}
} }
...@@ -131,8 +131,6 @@ private extension YHVisaPaymentVC { ...@@ -131,8 +131,6 @@ private extension YHVisaPaymentVC {
} }
} }
// orderID = 133874//for test hjl
view.addSubview(tableView) view.addSubview(tableView)
view.addSubview(bottomView) view.addSubview(bottomView)
bottomView.snp.makeConstraints { make in bottomView.snp.makeConstraints { make in
...@@ -155,6 +153,7 @@ private extension YHVisaPaymentVC { ...@@ -155,6 +153,7 @@ private extension YHVisaPaymentVC {
if self.viewModel.isAllMemberPay() { if self.viewModel.isAllMemberPay() {
//跳转 //跳转
let vc = YHUploadCertificateVC() let vc = YHUploadCertificateVC()
vc.orderId = orderID
self.navigationController?.push(vc, removeClass: YHVisaPaymentVC.self) self.navigationController?.push(vc, removeClass: YHVisaPaymentVC.self)
} else { } else {
postPaymentResult() postPaymentResult()
......
...@@ -39,6 +39,7 @@ private extension YHFileListBottomView { ...@@ -39,6 +39,7 @@ private extension YHFileListBottomView {
button.layer.cornerRadius = kCornerRadius3 button.layer.cornerRadius = kCornerRadius3
button.clipsToBounds = true button.clipsToBounds = true
button.addTarget(self, action: #selector(submit), for: .touchUpInside) button.addTarget(self, action: #selector(submit), for: .touchUpInside)
button.backgroundColor = UIColor.brandMainColor
return button return button
}() }()
addSubview(nextButton) addSubview(nextButton)
...@@ -49,14 +50,16 @@ private extension YHFileListBottomView { ...@@ -49,14 +50,16 @@ private extension YHFileListBottomView {
make.left.equalTo(kMargin) make.left.equalTo(kMargin)
} }
nextButton.layoutIfNeeded()
nextButton.addYinHeGradualLayer()
} }
@objc func save() {
block?(0)
}
@objc func submit() { @objc func submit() {
block?(1) block?(1)
} }
} }
extension YHFileListBottomView {
func updateBtnTitle(title : String) {
nextButton.setTitle(title, for: .normal)
}
}
...@@ -142,16 +142,6 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget { ...@@ -142,16 +142,6 @@ class YHMyViewController: YHBaseViewController, ConstraintRelatableTarget {
vc.myDefaultNavItemIndex = 2 vc.myDefaultNavItemIndex = 2
self.navigationController?.pushViewController(vc) self.navigationController?.pushViewController(vc)
print("最近浏览") print("最近浏览")
// let view = YHRangeDatePickerSheetView.sheetView()
// view.block = { (startDate,endDate) in
// print("选择的日期是:")
// print(startDate)
// print(endDate)
// }
// view.show() //for test hjl
} }
return view return view
}() }()
......
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