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

// 旅行

parent 3a0ef385
......@@ -65,6 +65,7 @@ class YHBaseViewModel {
callBackBlock(false, nil)
return
}
self.hkMacoCardOcrInfo = result
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
......
......@@ -10,22 +10,6 @@ import UIKit
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) -> ()
var urlBlock: UrlBlock?
var deleteBlock: UrlBlock?
......@@ -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 {
for model in list {
let item2 = YHTravelCerSectionItem(type: .certificate, tipsArr: [])
if let model = model {
model.latest_validaty_date = self.viewModel.travelDetailModel?.latest_validaty_date ?? ""
item2.cerDetailModel = model
sectionItems.append(item2)
}
......@@ -152,10 +153,11 @@ class YHTravelDocsPreparationDetailVC: YHBaseViewController {
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)")
cerModel1.latest_validaty_date = self.viewModel.travelDetailModel?.latest_validaty_date ?? ""
item.cerDetailModel = cerModel1
sectionItems.append(item)
}
}
tableView.reloadData()
}
......@@ -278,6 +280,11 @@ extension YHTravelDocsPreparationDetailVC: UITableViewDelegate, UITableViewDataS
if 0 <= indexPath.section && indexPath.section < sectionItems.count {
let item = sectionItems[indexPath.section]
cell.updateModel(item.cerDetailModel)
cell.updateBlock = {
[weak self] in
guard let self = self else { return }
self.tableView.reloadData()
}
}
return cell
}
......
......@@ -39,6 +39,7 @@ class YHTravelDocsPreparationDetailItemModel: SmartCodable {
var checkTips: String = ""
var isNeedShowRejectReason: Bool = false
var rejectReason: String = ""
var latest_validaty_date : String = ""
required init() {
}
......
......@@ -53,12 +53,18 @@ class YHTravelCertificateItemView: UIView {
detailLabel.text = self.placeHolder
detailLabel.textColor = .placeHolderColor
detailLabel.textAlignment = .left
self.setNeedsLayout()
self.layoutIfNeeded()
return
}
detailLabel.text = detail
detailLabel.textColor = .mainTextColor
detailLabel.textAlignment = .left
self.setNeedsLayout()
self.layoutIfNeeded()
}
}
......
......@@ -41,6 +41,9 @@ class YHTravelCertificateUploadCell: UITableViewCell {
static let cellReuseIdentifier = "YHTravelCertificateUploadCell"
var dataModel: YHTravelDocsPreparationDetailItemModel = YHTravelDocsPreparationDetailItemModel()
let viewModel: YHBaseViewModel = YHBaseViewModel()
var updateBlock: (()->())?
lazy var whiteConentView: UIView = {
let view = UIView()
......@@ -100,32 +103,38 @@ class YHTravelCertificateUploadCell: UITableViewCell {
lazy var certificateFrontView: YHCardUploadView = {
let view = YHCardUploadView(frame: .zero)
view.remakeUploadViewConstraints()
view.urlBlock = {
[weak self] url, index in
guard let self = self else { return }
self.dataModel.img_front = url
self.updateModel(self.dataModel)
self.getOCR(url: url, isBack: 0)
self.updateBlock?()
}
view.deleteBlock = {
[weak self] url, index in
guard let self = self else { return }
self.dataModel.img_front = ""
self.updateBlock?()
}
return view
}()
lazy var certificateBackView: YHCardUploadView = {
let view = YHCardUploadView(frame: .zero)
view.remakeUploadViewConstraints()
view.urlBlock = {
[weak self] url, index in
guard let self = self else { return }
self.dataModel.img_back = url
self.updateModel(self.dataModel)
self.getOCR(url: url, isBack: 1)
self.updateBlock?()
}
view.deleteBlock = {
[weak self] url, index in
guard let self = self else { return }
self.dataModel.img_back = ""
self.updateBlock?()
}
return view
}()
......@@ -147,9 +156,9 @@ class YHTravelCertificateUploadCell: UITableViewCell {
let itemView = YHTravelCertificateItemView(frame: .zero)
itemView.title = item.title
itemView.placeHolder = item.placeHolder
itemView.detail = item.value
itemView.isNeedShowErrorTips = item.isShowErrorTips
itemView.errorTips = item.errorTips
itemView.detail = item.value
itemView.clickBlock = {
[weak self] in
guard let self = self else { return }
......@@ -213,7 +222,7 @@ class YHTravelCertificateUploadCell: UITableViewCell {
// 需要显示被拒原因
let isShowReason = (model.isNeedShowRejectReason && !model.rejectReason.isEmpty)
rejectReasonLabel.snp.makeConstraints { make in
rejectReasonLabel.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(lineView.snp.bottom).offset(isShowReason ? 18 : 0)
......@@ -247,7 +256,7 @@ class YHTravelCertificateUploadCell: UITableViewCell {
make.bottom.equalTo(0)
make.left.equalTo(18)
make.right.equalTo(-10)
if !hasNoCertiInfo {
if hasNoCertiInfo {
make.height.equalTo(0)
}
}
......@@ -319,19 +328,15 @@ class YHTravelCertificateUploadCell: UITableViewCell {
make.bottom.equalTo(certificateFrontView.snp.top).offset(-18)
}
certificateFrontView.titleHeight = 20.0
certificateFrontView.imgHeight = 90.0
certificateFrontView.snp.makeConstraints { make in
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.height.equalTo(122)
}
certificateBackView.titleHeight = 20.0
certificateBackView.imgHeight = 90.0
certificateBackView.snp.makeConstraints { make in
make.right.equalTo(-18)
make.right.equalTo(-8)
make.top.equalTo(certificateFrontView)
make.height.equalTo(122)
}
......@@ -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