Commit 63a797f9 authored by Steven杜宇's avatar Steven杜宇

// 旅行

parent 3a0ef385
...@@ -65,6 +65,7 @@ class YHBaseViewModel { ...@@ -65,6 +65,7 @@ class YHBaseViewModel {
callBackBlock(false, nil) callBackBlock(false, nil)
return return
} }
self.hkMacoCardOcrInfo = result
callBackBlock(true, nil) callBackBlock(true, nil)
} else { } else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg) let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
......
...@@ -10,22 +10,6 @@ import UIKit ...@@ -10,22 +10,6 @@ import UIKit
class YHCardUploadView: UIView { class YHCardUploadView: UIView {
var titleHeight: CGFloat = 22.0 {
didSet {
self.frontLabel.snp.updateConstraints { make in
make.height.equalTo(titleHeight)
}
}
}
var imgHeight: CGFloat = 99.0 {
didSet {
frontImageButton.snp.updateConstraints { make in
make.height.equalTo(90.0)
}
}
}
typealias UrlBlock = (_ url: String, _ index: Int) -> () typealias UrlBlock = (_ url: String, _ index: Int) -> ()
var urlBlock: UrlBlock? var urlBlock: UrlBlock?
var deleteBlock: UrlBlock? var deleteBlock: UrlBlock?
...@@ -169,3 +153,32 @@ class YHCardUploadView: UIView { ...@@ -169,3 +153,32 @@ class YHCardUploadView: UIView {
} }
} }
extension YHCardUploadView {
func remakeUploadViewConstraints() {
frontLabel.snp.remakeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(0)
make.height.equalTo(20)
}
frontImageButton.snp.remakeConstraints { make in
make.top.equalTo(frontLabel.snp.bottom).offset(12.0)
make.left.bottom.equalToSuperview()
make.height.equalTo(90)
make.right.equalTo(-10)
}
frontDeleteButton.snp.remakeConstraints { make in
make.centerX.equalTo(frontImageButton.snp.right)
make.centerY.equalTo(frontImageButton.snp.top)
make.height.equalTo(21)
make.width.equalTo(21)
}
self.setNeedsLayout()
self.layoutIfNeeded()
}
}
...@@ -138,6 +138,7 @@ class YHTravelDocsPreparationDetailVC: YHBaseViewController { ...@@ -138,6 +138,7 @@ class YHTravelDocsPreparationDetailVC: YHBaseViewController {
for model in list { for model in list {
let item2 = YHTravelCerSectionItem(type: .certificate, tipsArr: []) let item2 = YHTravelCerSectionItem(type: .certificate, tipsArr: [])
if let model = model { if let model = model {
model.latest_validaty_date = self.viewModel.travelDetailModel?.latest_validaty_date ?? ""
item2.cerDetailModel = model item2.cerDetailModel = model
sectionItems.append(item2) sectionItems.append(item2)
} }
...@@ -152,10 +153,11 @@ class YHTravelDocsPreparationDetailVC: YHBaseViewController { ...@@ -152,10 +153,11 @@ class YHTravelDocsPreparationDetailVC: YHBaseViewController {
userId = Int(uid) ?? 0 userId = Int(uid) ?? 0
} }
let cerModel1 = YHTravelDocsPreparationDetailItemModel(type: 3, order_id: self.orderId, order_sn: "", img_back: "", img_front: "", status: 0, issue_start: "", issue_end: "", user_id:userId , user_type: dataModel.type, remark: "", nationality: "\(dataModel.nationality)") let cerModel1 = YHTravelDocsPreparationDetailItemModel(type: 3, order_id: self.orderId, order_sn: "", img_back: "", img_front: "", status: 0, issue_start: "", issue_end: "", user_id:userId , user_type: dataModel.type, remark: "", nationality: "\(dataModel.nationality)")
cerModel1.latest_validaty_date = self.viewModel.travelDetailModel?.latest_validaty_date ?? ""
item.cerDetailModel = cerModel1 item.cerDetailModel = cerModel1
sectionItems.append(item) sectionItems.append(item)
} }
} }
tableView.reloadData() tableView.reloadData()
} }
...@@ -278,6 +280,11 @@ extension YHTravelDocsPreparationDetailVC: UITableViewDelegate, UITableViewDataS ...@@ -278,6 +280,11 @@ extension YHTravelDocsPreparationDetailVC: UITableViewDelegate, UITableViewDataS
if 0 <= indexPath.section && indexPath.section < sectionItems.count { if 0 <= indexPath.section && indexPath.section < sectionItems.count {
let item = sectionItems[indexPath.section] let item = sectionItems[indexPath.section]
cell.updateModel(item.cerDetailModel) cell.updateModel(item.cerDetailModel)
cell.updateBlock = {
[weak self] in
guard let self = self else { return }
self.tableView.reloadData()
}
} }
return cell return cell
} }
......
...@@ -39,6 +39,7 @@ class YHTravelDocsPreparationDetailItemModel: SmartCodable { ...@@ -39,6 +39,7 @@ class YHTravelDocsPreparationDetailItemModel: SmartCodable {
var checkTips: String = "" var checkTips: String = ""
var isNeedShowRejectReason: Bool = false var isNeedShowRejectReason: Bool = false
var rejectReason: String = "" var rejectReason: String = ""
var latest_validaty_date : String = ""
required init() { required init() {
} }
......
...@@ -53,12 +53,18 @@ class YHTravelCertificateItemView: UIView { ...@@ -53,12 +53,18 @@ class YHTravelCertificateItemView: UIView {
detailLabel.text = self.placeHolder detailLabel.text = self.placeHolder
detailLabel.textColor = .placeHolderColor detailLabel.textColor = .placeHolderColor
detailLabel.textAlignment = .left detailLabel.textAlignment = .left
self.setNeedsLayout()
self.layoutIfNeeded()
return return
} }
detailLabel.text = detail detailLabel.text = detail
detailLabel.textColor = .mainTextColor detailLabel.textColor = .mainTextColor
detailLabel.textAlignment = .left detailLabel.textAlignment = .left
self.setNeedsLayout()
self.layoutIfNeeded()
} }
} }
......
...@@ -41,6 +41,9 @@ class YHTravelCertificateUploadCell: UITableViewCell { ...@@ -41,6 +41,9 @@ class YHTravelCertificateUploadCell: UITableViewCell {
static let cellReuseIdentifier = "YHTravelCertificateUploadCell" static let cellReuseIdentifier = "YHTravelCertificateUploadCell"
var dataModel: YHTravelDocsPreparationDetailItemModel = YHTravelDocsPreparationDetailItemModel() var dataModel: YHTravelDocsPreparationDetailItemModel = YHTravelDocsPreparationDetailItemModel()
let viewModel: YHBaseViewModel = YHBaseViewModel()
var updateBlock: (()->())?
lazy var whiteConentView: UIView = { lazy var whiteConentView: UIView = {
let view = UIView() let view = UIView()
...@@ -100,32 +103,38 @@ class YHTravelCertificateUploadCell: UITableViewCell { ...@@ -100,32 +103,38 @@ class YHTravelCertificateUploadCell: UITableViewCell {
lazy var certificateFrontView: YHCardUploadView = { lazy var certificateFrontView: YHCardUploadView = {
let view = YHCardUploadView(frame: .zero) let view = YHCardUploadView(frame: .zero)
view.remakeUploadViewConstraints()
view.urlBlock = { view.urlBlock = {
[weak self] url, index in [weak self] url, index in
guard let self = self else { return } guard let self = self else { return }
self.dataModel.img_front = url self.dataModel.img_front = url
self.updateModel(self.dataModel) self.getOCR(url: url, isBack: 0)
self.updateBlock?()
} }
view.deleteBlock = { view.deleteBlock = {
[weak self] url, index in [weak self] url, index in
guard let self = self else { return } guard let self = self else { return }
self.dataModel.img_front = "" self.dataModel.img_front = ""
self.updateBlock?()
} }
return view return view
}() }()
lazy var certificateBackView: YHCardUploadView = { lazy var certificateBackView: YHCardUploadView = {
let view = YHCardUploadView(frame: .zero) let view = YHCardUploadView(frame: .zero)
view.remakeUploadViewConstraints()
view.urlBlock = { view.urlBlock = {
[weak self] url, index in [weak self] url, index in
guard let self = self else { return } guard let self = self else { return }
self.dataModel.img_back = url self.dataModel.img_back = url
self.updateModel(self.dataModel) self.getOCR(url: url, isBack: 1)
self.updateBlock?()
} }
view.deleteBlock = { view.deleteBlock = {
[weak self] url, index in [weak self] url, index in
guard let self = self else { return } guard let self = self else { return }
self.dataModel.img_back = "" self.dataModel.img_back = ""
self.updateBlock?()
} }
return view return view
}() }()
...@@ -147,9 +156,9 @@ class YHTravelCertificateUploadCell: UITableViewCell { ...@@ -147,9 +156,9 @@ class YHTravelCertificateUploadCell: UITableViewCell {
let itemView = YHTravelCertificateItemView(frame: .zero) let itemView = YHTravelCertificateItemView(frame: .zero)
itemView.title = item.title itemView.title = item.title
itemView.placeHolder = item.placeHolder itemView.placeHolder = item.placeHolder
itemView.detail = item.value
itemView.isNeedShowErrorTips = item.isShowErrorTips itemView.isNeedShowErrorTips = item.isShowErrorTips
itemView.errorTips = item.errorTips itemView.errorTips = item.errorTips
itemView.detail = item.value
itemView.clickBlock = { itemView.clickBlock = {
[weak self] in [weak self] in
guard let self = self else { return } guard let self = self else { return }
...@@ -213,7 +222,7 @@ class YHTravelCertificateUploadCell: UITableViewCell { ...@@ -213,7 +222,7 @@ class YHTravelCertificateUploadCell: UITableViewCell {
// 需要显示被拒原因 // 需要显示被拒原因
let isShowReason = (model.isNeedShowRejectReason && !model.rejectReason.isEmpty) let isShowReason = (model.isNeedShowRejectReason && !model.rejectReason.isEmpty)
rejectReasonLabel.snp.makeConstraints { make in rejectReasonLabel.snp.remakeConstraints { make in
make.left.equalTo(18) make.left.equalTo(18)
make.right.equalTo(-18) make.right.equalTo(-18)
make.top.equalTo(lineView.snp.bottom).offset(isShowReason ? 18 : 0) make.top.equalTo(lineView.snp.bottom).offset(isShowReason ? 18 : 0)
...@@ -247,7 +256,7 @@ class YHTravelCertificateUploadCell: UITableViewCell { ...@@ -247,7 +256,7 @@ class YHTravelCertificateUploadCell: UITableViewCell {
make.bottom.equalTo(0) make.bottom.equalTo(0)
make.left.equalTo(18) make.left.equalTo(18)
make.right.equalTo(-10) make.right.equalTo(-10)
if !hasNoCertiInfo { if hasNoCertiInfo {
make.height.equalTo(0) make.height.equalTo(0)
} }
} }
...@@ -319,19 +328,15 @@ class YHTravelCertificateUploadCell: UITableViewCell { ...@@ -319,19 +328,15 @@ class YHTravelCertificateUploadCell: UITableViewCell {
make.bottom.equalTo(certificateFrontView.snp.top).offset(-18) make.bottom.equalTo(certificateFrontView.snp.top).offset(-18)
} }
certificateFrontView.titleHeight = 20.0
certificateFrontView.imgHeight = 90.0
certificateFrontView.snp.makeConstraints { make in certificateFrontView.snp.makeConstraints { make in
make.left.equalTo(18) make.left.equalTo(18)
make.right.equalTo(certificateBackView.snp.left).offset(-2) make.right.equalTo(certificateBackView.snp.left).offset(0)
make.width.equalTo(certificateBackView.snp.width) make.width.equalTo(certificateBackView.snp.width)
make.height.equalTo(122) make.height.equalTo(122)
} }
certificateBackView.titleHeight = 20.0
certificateBackView.imgHeight = 90.0
certificateBackView.snp.makeConstraints { make in certificateBackView.snp.makeConstraints { make in
make.right.equalTo(-18) make.right.equalTo(-8)
make.top.equalTo(certificateFrontView) make.top.equalTo(certificateFrontView)
make.height.equalTo(122) make.height.equalTo(122)
} }
...@@ -351,3 +356,51 @@ class YHTravelCertificateUploadCell: UITableViewCell { ...@@ -351,3 +356,51 @@ class YHTravelCertificateUploadCell: UITableViewCell {
} }
} }
extension YHTravelCertificateUploadCell {
func getOCR(url: String, isBack:Int) {
self.viewModel.getPublicImageUrl(url) {
[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
//进行ocr识别
YHHUD.show(.progress(message: "识别中..."))
self.viewModel.getHKCardInfoByOcr(url, isBack: isBack) { success, error in
YHHUD.hide()
if success {
if let tmpModel = self.viewModel.smallWhiteBarInfo {
self.dataModel.issue_start = tmpModel.start_time
self.dataModel.issue_end = tmpModel.end_time
let latestDate = self.dataModel.latest_validaty_date
let isValid = self.compareDates(dateString1: latestDate, dateString2: tmpModel.end_time)
if !isValid {
self.dataModel.isNeedCheck = true
self.dataModel.checkTips = "有效期不足,请核查文件"
}
self.updateBlock?()
}
}
}
}
}
// 比较 dateString1 与 dateString2 的日期大小
func compareDates(dateString1: String, dateString2: String) -> Bool {
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "yyyy-MM-dd"
guard let date1 = dateFormatter.date(from: dateString1),
let date2 = dateFormatter.date(from: dateString2) else {
return false
}
if date1 <= date2 {
return false
}
return true
}
}
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