Commit 2874ecb3 authored by David黄金龙's avatar David黄金龙

Merge branch 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS into develop

* 'develop' of http://gitlab.galaxy-immi.com/mobile-group/galaxy-iOS:
  //  护照修改
  // 证件修改
  //  续签
  续签文书增加一个状态13表示待审核
  续签补件详情页面接口及逻辑
  // 确认
  //  港澳通行证修改
parents 98e55521 3fc029cd
......@@ -100,6 +100,21 @@ class YHCertificateTemplateCell: UITableViewCell {
}
}
var resignUploadDetailTemplateListModel: YHResignUploadDetailTemplateListModel? {
didSet {
if let model = resignUploadDetailTemplateListModel {
if !model.name.isEmpty {
templateView.titleLabel.text = model.name
} else {
templateView.titleLabel.text = "查看资料示例模板"
}
} else {
templateView.titleLabel.text = "查看资料示例模板"
}
}
}
lazy var templateView: YHCertificateSampleTemplateView = {
let view = YHCertificateSampleTemplateView(frame:CGRectZero)
return view
......
......@@ -11,6 +11,8 @@ import AttributedString
class YHResignCertificateDetailHkViewController: YHBaseViewController {
var updateBlock: ((YHResignCertificateInfoModel) ->())?
lazy var viewModel: YHResignCertificateDetailViewModel = {
let vm = YHResignCertificateDetailViewModel()
return vm
......@@ -91,7 +93,8 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
make.top.equalTo(8)
make.height.equalTo(48)
}
loadDetailInfo()
reuqestCertificateDetail()
}
func getTextWithType(type: Int, date:String) -> ASAttributedString {
......@@ -128,7 +131,7 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
if dataModel.cert_info.img_back.count != 0 {
urls[1] = dataModel.cert_info.img_back
}
self.data = viewModel.getBaseDataSource(isShowPrompt)
self.data = viewModel.getBaseDatadSource(isShowPrompt)
// 头部提示
tipsArr = getTipsWithType(date: self.dataModel.valid_date)
tableView.reloadData()
......@@ -154,6 +157,15 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
failString = "请港澳通行证背面"
return false
}
if self.viewModel.dataModel.cert_info.number.count <= 0 { // 证件号码为空
return false
}
if self.viewModel.dataModel.cert_info.address.count <= 0 { // 证件签发地为空
return false
}
if self.viewModel.dataModel.cert_info.issue_start.count == 0 {
return false
}
......@@ -169,11 +181,6 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
return true
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
reuqestCertificateDetail()
}
func reuqestCertificateDetail() {
YHHUD.show(.progress(message: "加载中..."))
self.viewModel.getCertificateDetail(self.cerId) {
......@@ -225,6 +232,8 @@ private extension YHResignCertificateDetailHkViewController {
"img_back": urls[1],
"validate_start": self.viewModel.dataModel.cert_info.validate_start,
"validate_end": self.viewModel.dataModel.cert_info.validate_end,
"number": self.viewModel.dataModel.cert_info.number,
"address": self.viewModel.dataModel.cert_info.address,
"sign_type": "D",
"submit": true,
"is_show": true]
......@@ -234,8 +243,10 @@ private extension YHResignCertificateDetailHkViewController {
]
viewModel.submitResignCertificateUpdate(params) { success, error in
if success {
self.updateBlock?(self.viewModel.dataModel.cert_info)
YHHUD.flash(message: "保存成功")
self.navigationController?.popViewController()
self.navigationController?.popViewController()
} else {
let msg = error?.errorMsg ?? "保存失败,请重试"
YHHUD.flash(message: msg)
......@@ -282,12 +293,19 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
self.viewModel.getHKCardInfoByOcr(url, isBack: 0) { success, result in
YHHUD.hide()
if success, let result = result {
if !result.card_num.isEmpty {
self.dataModel.cert_info.number = result.card_num
}
if !result.issuing_authority.isEmpty {
self.dataModel.cert_info.address = result.issuing_authority
}
if !result.term_begins.isEmpty {
self.dataModel.cert_info.issue_start = result.term_begins
}
if !result.end_of_term.isEmpty {
self.dataModel.cert_info.issue_end = result.end_of_term
}
} else {
// OCR 无法识别
self.failString = "非逗留(D)签证,请检查文件"
......@@ -298,6 +316,12 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
self.viewModel.getHKCardBackInfoByOcr(url, isBack: 1) { success, result in
YHHUD.hide()
if success, let result = result {
if !result.card_num.isEmpty {
self.dataModel.cert_info.number = result.card_num
}
if !result.issuing_authority.isEmpty {
self.dataModel.cert_info.address = result.issuing_authority
}
if !result.back_term_begins.isEmpty { self.dataModel.cert_info.validate_start = result.back_term_begins
}
if !result.back_end_of_term.isEmpty {
......@@ -333,6 +357,7 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
if indexPath.section != 0 {
if urls[0].count == 0 && urls[1].count == 0 {
return 243
} else {
var tatol = 0
for item in data {
......@@ -343,7 +368,7 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
tatol = tatol + 20
}
}
return CGFloat(521 + tatol)
return CGFloat(670 + tatol)
}
}
return UITableView.automaticDimension
......
......@@ -11,6 +11,8 @@ import AttributedString
class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
var updateBlock: ((YHResignCertificateInfoModel) ->())?
lazy var viewModel: YHResignCertificateDetailViewModel = {
let vm = YHResignCertificateDetailViewModel()
return vm
......@@ -91,7 +93,7 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
make.top.equalTo(8)
make.height.equalTo(48)
}
loadDetailInfo()
reuqestCertificateDetail()
}
func getTextWithType(type: Int, date:String) -> ASAttributedString {
......@@ -122,7 +124,7 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
if dataModel.cert_info.img_front.count != 0 {
urls[0] = dataModel.cert_info.img_front
}
self.data = viewModel.getPassPortDataSource(isShowPrompt)
self.data = viewModel.getPassPortdDataSource(isShowPrompt)
// 头部提示
tipsArr = getTipsWithType(date: self.dataModel.valid_date)
tableView.reloadData()
......@@ -145,6 +147,14 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
return false
}
if self.viewModel.dataModel.cert_info.number.count <= 0 { // 证件号码为空
return false
}
if self.viewModel.dataModel.cert_info.address.count <= 0 { // 证件签发地为空
return false
}
if self.viewModel.dataModel.cert_info.issue_start.count == 0 {
return false
}
......@@ -154,11 +164,6 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
return true
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
reuqestCertificateDetail()
}
func reuqestCertificateDetail() {
YHHUD.show(.progress(message: "加载中..."))
self.viewModel.getCertificateDetail(self.cerId) {
......@@ -207,6 +212,8 @@ private extension YHResignCertificateDetailPassPortViewController {
let passPort: [String: Any] = ["name": "护照",
"issue_start": self.viewModel.dataModel.cert_info.issue_start,
"issue_end": self.viewModel.dataModel.cert_info.issue_end,
"number": self.viewModel.dataModel.cert_info.number,
"address": self.viewModel.dataModel.cert_info.address,
"img_front": urls[0],
"submit": true,
"is_show": true]
......@@ -216,6 +223,7 @@ private extension YHResignCertificateDetailPassPortViewController {
]
viewModel.submitResignCertificateUpdate(params) { success, error in
if success {
self.updateBlock?(self.viewModel.dataModel.cert_info)
YHHUD.flash(message: "保存成功")
self.navigationController?.popViewController()
......@@ -259,7 +267,7 @@ extension YHResignCertificateDetailPassPortViewController: UITableViewDelegate,
self.viewModel.getPublicImageUrl(url) {[weak self] success, error in
guard let self = self else { return }
guard let url = success else { return }
self.data = viewModel.getPassPortDataSource(isShowPrompt)
self.data = viewModel.getPassPortdDataSource(isShowPrompt)
self.tableView.reloadData()
}
}
......@@ -288,10 +296,11 @@ extension YHResignCertificateDetailPassPortViewController: UITableViewDelegate,
let message = item.message ?? ""
let isNeed = item.isNeed ?? false
if isShow && message.count == 0 && isNeed {
tatol = tatol + 20
}
}
return CGFloat(345 + tatol)
return CGFloat(520 + tatol)
}
}
return UITableView.automaticDimension
......
......@@ -29,6 +29,9 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
var backSurfaceDeleteButton: UIButton!
var activityIndicator: UIActivityIndicatorView!
var showMessageLabel: UILabel!
var cerInfoLabel: UILabel!
var cerNumberView: YHItemView!
var cerSignPlaceView: YHItemView!
var cardLabel: UILabel!
var signLabel: UILabel!
var cardBeginView: YHItemView!
......@@ -67,6 +70,9 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
var urls: [String]? {
didSet {
guard let firstUrl = urls?.first, firstUrl.count != 0 else {
cerInfoLabel.isHidden = true
cerNumberView.isHidden = true
cerSignPlaceView.isHidden = true
cardLabel.isHidden = true
signLabel.isHidden = true
cardBeginView.isHidden = true
......@@ -75,6 +81,9 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
signEndView.isHidden = true
return
}
cerInfoLabel.isHidden = false
cerNumberView.isHidden = false
cerSignPlaceView.isHidden = false
cardLabel.isHidden = false
signLabel.isHidden = false
cardBeginView.isHidden = false
......@@ -110,7 +119,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
let isShow = item.isShowPrompts ?? false
let message = item.message ?? ""
let isNeed = item.isNeed ?? false
if item.id == .id1 {
if item.id == .id1 { // 卡片有效期开始时间
cardBeginView.dataSource = item
if isShow && message.count == 0 && isNeed {
cardBeginView.snp.updateConstraints { make in
......@@ -122,7 +131,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
}
}
}
if item.id == .id2 {
if item.id == .id2 { // 卡片有效期到期时间
cardEndView.dataSource = item
if isShow && message.count == 0 && isNeed {
cardEndView.snp.updateConstraints { make in
......@@ -139,7 +148,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
failString = "卡片有效期不足,需要为\(self.dataModel.valid_date)或以后"
}
}
if item.id == .id3 {
if item.id == .id3 { // 签注有效期开始时间
signBeginView.dataSource = item
if isShow && message.count == 0 && isNeed {
signBeginView.snp.updateConstraints { make in
......@@ -151,7 +160,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
}
}
}
if item.id == .id4 {
if item.id == .id4 { // 签注有效期到期时间
signEndView.dataSource = item
if isShow && message.count == 0 && isNeed {
signEndView.snp.updateConstraints { make in
......@@ -174,6 +183,32 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
}
}
}
if item.id == .id36 { // 证件信息 证件号码
cerNumberView.dataSource = item
if isShow && message.count == 0 && isNeed {
cerNumberView.snp.updateConstraints { make in
make.height.equalTo(72)
}
} else {
cerNumberView.snp.updateConstraints { make in
make.height.equalTo(52)
}
}
}
if item.id == .id37 { // 证件信息 签发地
cerSignPlaceView.dataSource = item
if isShow && message.count == 0 && isNeed {
cerSignPlaceView.snp.updateConstraints { make in
make.height.equalTo(72)
}
} else {
cerSignPlaceView.snp.updateConstraints { make in
make.height.equalTo(52)
}
}
}
}
}
}
......@@ -394,6 +429,72 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
make.height.equalTo(20)
}
// 【证件信息 UI】
cerInfoLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
label.textColor = UIColor.mainTextColor
label.text = "证件信息"
return label
}()
centerView.addSubview(cerInfoLabel)
cerInfoLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(229)
make.height.equalTo(20)
}
cerNumberView = {
let view = YHItemView()
let line = UIView()
line.backgroundColor = UIColor.separatorColor
view.addSubview(line)
line.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(0.5)
}
return view
}()
cerNumberView.block = {[weak self] model in
guard let self = self else { return }
if let block = self.block {
block(model)
}
}
centerView.addSubview(cerNumberView)
cerNumberView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(cerInfoLabel.snp.bottom)
make.height.equalTo(52)
make.right.equalTo(-18)
}
cerSignPlaceView = {
let view = YHItemView()
let line = UIView()
line.backgroundColor = UIColor.separatorColor
view.addSubview(line)
line.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(0.5)
}
return view
}()
cerSignPlaceView.block = {[weak self] model in
guard let self = self else { return }
if let block = self.block {
block(model)
}
}
centerView.addSubview(cerSignPlaceView)
cerSignPlaceView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(cerNumberView.snp.bottom)
make.height.equalTo(52)
make.right.equalTo(-18)
}
// 【卡片有效期 UI】
cardLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
......@@ -405,7 +506,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
cardLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(229)
make.top.equalTo(cerSignPlaceView.snp.bottom).offset(24)
make.height.equalTo(20)
}
cardBeginView = {
......@@ -465,6 +566,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
make.right.equalTo(-18)
}
// 【签注有效期 UI】
signLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
......
......@@ -24,6 +24,10 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
var frontDeleteButton: UIButton!
var activityIndicator: UIActivityIndicatorView!
var showMessageLabel: UILabel!
var cerInfoLabel: UILabel!
var cerNumberView: YHItemView!
var cerSignPlaceView: YHItemView!
var cardLabel: UILabel!
var cardBeginView: YHItemView!
var cardEndView: YHItemView!
var viewModel: YHBaseViewModel = YHBaseViewModel()
......@@ -50,10 +54,18 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
var urls: [String]? {
didSet {
guard let firstUrl = urls?.first, firstUrl.count != 0 else {
cerInfoLabel.isHidden = true
cerNumberView.isHidden = true
cerSignPlaceView.isHidden = true
cardLabel.isHidden = true
cardBeginView.isHidden = true
cardEndView.isHidden = true
return
}
cerInfoLabel.isHidden = false
cerNumberView.isHidden = false
cerSignPlaceView.isHidden = false
cardLabel.isHidden = false
cardBeginView.isHidden = false
cardEndView.isHidden = false
self.firstUrl = firstUrl
......@@ -103,6 +115,32 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
failString = "有效期不足,需要为\(self.dataModel.valid_date)或以后"
}
}
if item.id == .id36 { // 证件信息 证件号码
cerNumberView.dataSource = item
if isShow && message.count == 0 && isNeed {
cerNumberView.snp.updateConstraints { make in
make.height.equalTo(72)
}
} else {
cerNumberView.snp.updateConstraints { make in
make.height.equalTo(52)
}
}
}
if item.id == .id37 { // 证件信息 签发地
cerSignPlaceView.dataSource = item
if isShow && message.count == 0 && isNeed {
cerSignPlaceView.snp.updateConstraints { make in
make.height.equalTo(72)
}
} else {
cerSignPlaceView.snp.updateConstraints { make in
make.height.equalTo(52)
}
}
}
}
}
}
......@@ -273,6 +311,87 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
make.height.equalTo(20)
}
// 【证件信息 UI】
cerInfoLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
label.textColor = UIColor.mainTextColor
label.text = "证件信息"
return label
}()
centerView.addSubview(cerInfoLabel)
cerInfoLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(229)
make.height.equalTo(20)
}
cerNumberView = {
let view = YHItemView()
let line = UIView()
line.backgroundColor = UIColor.separatorColor
view.addSubview(line)
line.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(0.5)
}
return view
}()
cerNumberView.block = {[weak self] model in
guard let self = self else { return }
if let block = self.block {
block(model)
}
}
centerView.addSubview(cerNumberView)
cerNumberView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(cerInfoLabel.snp.bottom)
make.height.equalTo(52)
make.right.equalTo(-18)
}
cerSignPlaceView = {
let view = YHItemView()
let line = UIView()
line.backgroundColor = UIColor.separatorColor
view.addSubview(line)
line.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(0.5)
}
return view
}()
cerSignPlaceView.block = {[weak self] model in
guard let self = self else { return }
if let block = self.block {
block(model)
}
}
centerView.addSubview(cerSignPlaceView)
cerSignPlaceView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(cerNumberView.snp.bottom)
make.height.equalTo(52)
make.right.equalTo(-18)
}
// 【卡片有效期 UI】
cardLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15)
label.textColor = UIColor.mainTextColor
label.text = "卡片有效期"
return label
}()
centerView.addSubview(cardLabel)
cardLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
make.top.equalTo(cerSignPlaceView.snp.bottom).offset(24)
make.height.equalTo(20)
}
cardBeginView = {
let view = YHItemView()
let line = UIView()
......@@ -293,7 +412,7 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
centerView.addSubview(cardBeginView)
cardBeginView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(229)
make.top.equalTo(cardLabel.snp.bottom).offset(0)
make.height.equalTo(52)
make.right.equalTo(-18)
}
......
......@@ -54,18 +54,27 @@ class YHResignCertificateDetailViewModel: YHBaseViewModel {
}
}
func getBaseDataSource(_ isShowPrompt: Bool) -> [YHItemModel] {
func getBaseDatadSource(_ isShowPrompt: Bool) -> [YHItemModel] {
let item5 = YHItemModel(id: .id36, isNeed: true, title: "证件号码", isUserKeyBoard: true, prompts: "请输入", message: getResultString(dataModel.cert_info.number), isShowPrompts: isShowPrompt, alertMessage:"请输入证件号码")
let item6 = YHItemModel(id: .id37, isNeed: true, title: "签发地", isUserKeyBoard: true, prompts: "请输入", message: getResultString(dataModel.cert_info.address), isShowPrompts: isShowPrompt, alertMessage:"请输入签发地")
let item1 = YHItemModel(id: .id1, isNeed: true, title: "开始时间", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.cert_info.issue_start), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择开始时间")
let item2 = YHItemModel(id: .id2, isNeed: true, title: "到期时间", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.cert_info.issue_end), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择到期时间")
let item3 = YHItemModel(id: .id3, isNeed: true, title: "开始时间", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.cert_info.validate_start), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择开始时间")
let item4 = YHItemModel(id: .id4, isNeed: true, title: "到期时间", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.cert_info.validate_end), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择到期时间")
return [item1, item2, item3, item4]
return [item5, item6, item1, item2, item3, item4]
}
func getPassPortDataSource(_ isShowPrompt: Bool) -> [YHItemModel] {
func getPassPortdDataSource(_ isShowPrompt: Bool) -> [YHItemModel] {
let item3 = YHItemModel(id: .id36, isNeed: true, title: "证件号码", isUserKeyBoard: true, prompts: "请输入", message: getResultString(dataModel.cert_info.number), isShowPrompts: isShowPrompt, alertMessage:"请输入证件号码")
let item4 = YHItemModel(id: .id37, isNeed: true, title: "签发地", isUserKeyBoard: true, prompts: "请输入", message: getResultString(dataModel.cert_info.address), isShowPrompts: isShowPrompt, alertMessage:"请输入签发地")
let item1 = YHItemModel(id: .id5, isNeed: true, title: "签发日期", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.cert_info.issue_start), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择开始时间")
let item2 = YHItemModel(id: .id6, isNeed: true, title: "届满日期", isUserKeyBoard: false, prompts: "请选择", message: getResultString(dataModel.cert_info.issue_end), type: .time, isShowPrompts: isShowPrompt, alertMessage:"请选择到期时间")
return [item1, item2]
return [item3, item4, item1, item2]
}
func updateModel(_ item: YHItemModel) {
......@@ -83,6 +92,10 @@ class YHResignCertificateDetailViewModel: YHBaseViewModel {
dataModel.cert_info.issue_start = item.message ?? ""
case .id6:
dataModel.cert_info.issue_end = item.message ?? ""
case .id36:
dataModel.cert_info.number = item.message ?? ""
case .id37:
dataModel.cert_info.address = item.message ?? ""
default:
break
}
......
......@@ -19,6 +19,7 @@ import Foundation
10-客户已签字确认 定稿中
11-已定稿 已完成
12 已完成
13 待审核
*/
enum YHResignDocumentStatus {
......@@ -32,7 +33,7 @@ enum YHResignDocumentStatus {
switch number {
case 0 ... 5:
return .pendingConfirmation
case 6 ... 8:
case 6 ... 8, 13:
return .underReview
case 9:
return .awaitingSignature
......
......@@ -62,14 +62,18 @@ class YHResignAppointGroup: SmartCodable {
let nowDateString = dateFormatter.string(from: Date())
var confirmStatus = YHResignConfirmHKStatus.waitConfirmHK
// 是否到了预约递交时间
let isArriveSubmitTime = compareDates(self.ready_to_submit_at, nowDateString)
if !isArriveSubmitTime {
// 待确认在港
confirmStatus = .waitConfirmHK
} else {
confirmStatus = !self.determine_hk_at.isEmpty ? .haveConfirmHK : .canConfirmHK
if self.determine_hk_at.isEmpty {
// 是否到了预约递交时间
let isArriveSubmitTime = compareDates(self.ready_to_submit_at, nowDateString)
if isArriveSubmitTime {
confirmStatus = .waitConfirmHK
} else {
confirmStatus = .canConfirmHK
}
} else { // 有确认在港日期
confirmStatus = .haveConfirmHK
}
return confirmStatus
}
......@@ -94,7 +98,7 @@ class YHResignAppointGroup: SmartCodable {
guard let date1 = dateFormatter.date(from: dateString1),
let date2 = dateFormatter.date(from: dateString2) else {
print("日期格式错误")
return false
return true
}
// 比较日期
......
......@@ -92,7 +92,6 @@ class YHResignConfirmInfoListViewController: YHBaseViewController {
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
showRiskAlertView()
requestList()
}
......@@ -218,6 +217,9 @@ extension YHResignConfirmInfoListViewController {
func requestList() {
YHHUD.show(.progress(message: "加载中..."))
self.viewModel.getList(id: stepId) { success, error in
if success {
self.showRiskAlertView()
}
YHHUD.hide()
self.familyArr.removeAll()
self.familyArr.append(contentsOf: self.viewModel.getList())
......
......@@ -143,6 +143,7 @@ class YHResignInfoConfirmModifyViewController: YHBaseViewController {
if let identity = detailMember.identity {
let isValidDateEnough = identity.isValidDateEnough()
if !isValidDateEnough {
YHHUD.flash(message: "证件有效期不足")
return false
}
}
......@@ -231,16 +232,35 @@ extension YHResignInfoConfirmModifyViewController: UITableViewDelegate, UITableV
[weak self] in
guard let self = self else { return }
if let identity = self.detailMember.identity {
if identity.type == 2 {
// 港澳通行证
if identity.type == 2 { // 港澳通行证
let vc = YHResignCertificateDetailHkViewController()
vc.cerId = identity.id
vc.updateBlock = {
[weak self] cerInfo in
guard let self = self else { return }
if let identity = self.detailMember.identity {
identity.number = cerInfo.number
identity.begin = cerInfo.issue_start
identity.end = cerInfo.issue_end
self.updateData()
}
}
self.navigationController?.pushViewController(vc)
} else if identity.type == 3 {
// 护照
} else if identity.type == 3 { // 普通护照
let vc = YHResignCertificateDetailPassPortViewController()
vc.cerId = identity.id
vc.updateBlock = {
[weak self] cerInfo in
guard let self = self else { return }
if let identity = self.detailMember.identity {
identity.number = cerInfo.number
identity.begin = cerInfo.issue_start
identity.end = cerInfo.issue_end
self.updateData()
}
}
self.navigationController?.pushViewController(vc)
}
}
......
......@@ -418,7 +418,7 @@ extension YHResignInfoItemView: UITextFieldDelegate {
return "请输入职业"
} else if self.item.id == .hongKongId {
return "请输入香港身份证号"
return "A123456(A)"
} else if self.item.id == .hongkongAddress {
return "请输入香港地址"
......
......@@ -16,24 +16,12 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
// 订单id
var id: Int = 0
var materialModel: YHMaterialModel = YHMaterialModel() {
didSet {
self.tableView.reloadData()
}
}
var templateModel: YHResignUploadDetailModel = YHResignUploadDetailModel()
var templateArr: [YHResignTemplateItemModel] = []
var categoryId: Int = 0
var supplementId: Int = 0
var materialModel: YHResignUploadDetailModel = YHResignUploadDetailModel()
var templateArr: [YHResignUploadDetailTemplateListModel] = []
var viewModel: YHResignUploadDetailViewModel = YHResignUploadDetailViewModel()
var items:[YHResignUploadDetailFileListModel] = []
var selectEditItem: YHResignUploadDetailFileListModel?
var clickInputViewIndex: Int = 0
lazy var previewFileTool:YHFilePreviewTool = {
let tool = YHFilePreviewTool(targetVC: self)
return tool
......@@ -44,10 +32,10 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
return view
}()
// var renameInputView: YHFileRenameInputView = {
// let view = YHFileRenameInputView.inputView(defalutText: "请输入名称")
// return view
// }()
var reasonInputView: YHFileExplainReasonInputView = {
let view = YHFileExplainReasonInputView.inputView(defalutText: "请输入名称")
return view
}()
lazy var blackMaskView: UIView = {
let view = UIView(frame:UIScreen.main.bounds)
......@@ -70,7 +58,7 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
tableView.delegate = self
tableView.dataSource = self
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHResignMaterialNameCell.self, forCellReuseIdentifier: YHResignMaterialNameCell.cellReuseIdentifier)
tableView.register(YHCertificateTemplateCell.self, forCellReuseIdentifier: YHCertificateTemplateCell.cellReuseIdentifier)
tableView.register(YHResignUploadDetailFileNameCell.self, forCellReuseIdentifier: YHResignUploadDetailFileNameCell.cellReuseIdentifier)
tableView.register(cellWithClass: YHAdopterUploadTableViewCell.self)
tableView.register(cellWithClass: YHAdopterIncomeFileCountTableViewCell.self)
......@@ -108,6 +96,16 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
tableView.reloadData()
}
}
reasonInputView.editBlock = {
[weak self] text in
guard let self = self else { return }
if var text = text {
// 重命名
self.materialModel.unavailable_reason = text
tableView.reloadData()
}
}
}
deinit {
......@@ -125,7 +123,8 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
view.addSubview(tableView)
view.addSubview(blackMaskView)
view.addSubview(renameInputView)
view.addSubview(reasonInputView)
tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.right.equalToSuperview()
......@@ -142,6 +141,11 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
make.height.equalTo(YHFileRenameInputView.height)
make.bottom.equalToSuperview().offset(YHFileRenameInputView.height)
}
reasonInputView.snp.makeConstraints { make in
make.left.right.equalTo(view)
make.height.equalTo(YHFileExplainReasonInputView.height)
make.bottom.equalToSuperview().offset(YHFileExplainReasonInputView.height)
}
}
func uploadImage(_ img: UIImage, imageName:String, callBack:((Bool, String)->())?) {
......@@ -186,7 +190,7 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
let model = YHResignUploadDetailFileListModel()
model.url = successUrl
model.name = fileName
model.uploadedAt = formattedDate
model.updated_at = formattedDate
self.items.append(model)
self.tableView.reloadData()
YHHUD.flash(message: "上传成功")
......@@ -207,6 +211,9 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int {
if self.materialModel.status == 0 || self.materialModel.status == 1 {
return 2
}
return 4
}
......@@ -227,7 +234,7 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
let cell = tableView.dequeueReusableCell(withIdentifier: YHCertificateTemplateCell.cellReuseIdentifier, for: indexPath) as! YHCertificateTemplateCell
cell.update(bottomMargin: 15)
if 0 <= indexPath.row && indexPath.row < templateArr.count {
cell.templateModel = templateArr[indexPath.row]
cell.resignUploadDetailTemplateListModel = templateArr[indexPath.row]
}
return cell
}
......@@ -246,7 +253,7 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
YHCertificateEditItem(type:.delete, title:"删除"),
YHCertificateEditItem(type:.cancel, title:"取消")]
if self.materialModel.status == YHMaterialStatus.completed.rawValue {
if self.materialModel.status == 0 || self.materialModel.status == 1 {
items = [YHCertificateEditItem(type:.preview, title:"预览"),
YHCertificateEditItem(type:.cancel, title:"取消")]
......@@ -259,7 +266,7 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
if editType == .rename { // 重命名
IQKeyboardManager.shared.enable = false
clickInputViewIndex = 0
var name = contentItem.getFileNameWithoutSuffix()
if name.count > 30 {
name = name[safe: ..<30]!
......@@ -273,18 +280,13 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
if !sure { return }
// 删除
var deleteIndex = -1
for (index, item) in self.materialModel.info.enumerated() {
for (index, item) in self.items.enumerated() {
if contentItem.url == item.url {
deleteIndex = index
break
}
}
if deleteIndex == -1 { // 没有找到对应资料文件
YHHUD.flash(message: "删除成功")
return
}
self.materialModel.info.remove(at: deleteIndex)
self.items.remove(at: deleteIndex)
self.tableView.reloadData()
}
......@@ -404,7 +406,7 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
return 56
}
if section == 1 {
return 96
return UITableView.automaticDimension
}
return 0.01
}
......@@ -413,12 +415,11 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
let view = UIView()
if section == 0 { // 证件示例模板
let titlelabel = UILabel()
titlelabel.textColor = UIColor.mainTextColor
titlelabel.textAlignment = .left
titlelabel.font = UIFont.PFSC_M(ofSize:17)
titlelabel.text = "\(self.materialModel.getName())示例模板"
titlelabel.text = "\(self.materialModel.name)示例模板"
titlelabel.numberOfLines = 0
view.addSubview(titlelabel)
......@@ -447,12 +448,59 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
return view
}
if section == 1 {
if self.materialModel.status == 2 {
let rejectView = UIView()
view.addSubview(rejectView)
let warningImgV = UIImageView(image: UIImage(named: "my_cer_upload_warning"))
rejectView.addSubview(warningImgV)
let rejectTitleLabel = UILabel()
rejectTitleLabel.textColor = .failColor
rejectTitleLabel.font = UIFont.PFSC_R(ofSize:12)
rejectTitleLabel.textAlignment = .left
rejectTitleLabel.numberOfLines = 0
rejectTitleLabel.text = "驳回原因:" + self.materialModel.reject_reason
rejectView.addSubview(rejectTitleLabel)
rejectView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.bottom.equalToSuperview().offset(-12)
make.top.equalToSuperview().offset(12)
}
warningImgV.snp.makeConstraints { make in
make.width.height.equalTo(14)
make.left.top.equalTo(0)
}
rejectTitleLabel.snp.makeConstraints { make in
make.top.right.bottom.equalToSuperview()
make.left.equalTo(warningImgV.snp.right).offset(4)
}
}
}
view.frame = CGRect(x: 0, y: 0, width: KScreenWidth, height: 0.01)
return view
}
private func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> CGFloat {
if section == 0 {
return UITableView.automaticDimension
}
// if section == 1 {
// return 60.0
// }
return 0.01
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView()
if section == 0 {
// 证件标题和状态
let titlelabel = UILabel()
titlelabel.textColor = UIColor.mainTextColor
titlelabel.textAlignment = .left
titlelabel.font = UIFont.PFSC_M(ofSize:17)
titlelabel.text = self.materialModel.getName()
titlelabel.text = self.materialModel.name
titlelabel.numberOfLines = 0
view.addSubview(titlelabel)
......@@ -468,23 +516,23 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
var bgColor:UIColor = .clear
if self.materialModel.status == YHMaterialStatus.review.rawValue {
if self.materialModel.status == 0 {
text = "审核中".local
textColor = UIColor(hexString: "#FF9900")!
bgColor = UIColor(hexString: "#FF9900", transparency: 0.08)!
} else if self.materialModel.status == YHMaterialStatus.preUpload.rawValue {
} else if self.materialModel.status == 3 {
text = "待上传".local
textColor = UIColor(hexString: "#2F7EF6")!
bgColor = UIColor(hexString: "#2F7EF6", transparency: 0.08)!
} else if self.materialModel.status == YHMaterialStatus.completed.rawValue {
} else if self.materialModel.status == 1 {
text = "已完成".local
textColor = UIColor(hexString: "#49D2B1")!
bgColor = UIColor(hexString: "#49D2B1", transparency: 0.08)!
} else if self.materialModel.status == YHMaterialStatus.rejected.rawValue {
} else if self.materialModel.status == 2 {
text = "已驳回".local
textColor = UIColor.failColor
bgColor = UIColor(hexString: "#F81D22", transparency: 0.08)!
......@@ -499,9 +547,25 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
tipsLabel.textAlignment = .left
tipsLabel.numberOfLines = 0
tipsLabel.text = "支持的文件格式为jpg/jpeg、png、bmp、doc/docx、xls/xlsx、pdf,最多可上传99张图片或文件"
tipsLabel.text = self.materialModel.description
view.addSubview(tipsLabel)
let noLabel = UILabel()
let c = ASAttributedString.init("如无法提供,请点击这里", .font(UIFont.PFSC_R(ofSize:14)),.foreground(UIColor.labelTextColor2), .underline(.single), .action {
//说明原
if self.materialModel.status == 0 || self.materialModel.status == 1 {
} else {
self.clickInputViewIndex = 1
IQKeyboardManager.shared.enable = false
self.reasonInputView.textField.text = self.materialModel.unavailable_reason
self.reasonInputView.textField.becomeFirstResponder()
}
})
noLabel.attributed.text = c
view.addSubview(noLabel)
titlelabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.top.equalToSuperview()
......@@ -519,86 +583,49 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalTo(titlelabel.snp.bottom).offset(7)
make.bottom.equalToSuperview().offset(-15)
}
if self.materialModel.status != YHMaterialStatus.rejected.rawValue {
return view
}
if self.materialModel.audit_remark.isEmpty { // 无驳回理由
return view
}
// 有驳回理由
let rejectView = UIView()
view.addSubview(rejectView)
let warningImgV = UIImageView(image: UIImage(named: "my_cer_upload_warning"))
rejectView.addSubview(warningImgV)
let rejectTitleLabel = UILabel()
rejectTitleLabel.textColor = .failColor
rejectTitleLabel.font = UIFont.PFSC_R(ofSize:12)
rejectTitleLabel.textAlignment = .left
rejectTitleLabel.text = "驳回原因:"
rejectView.addSubview(rejectTitleLabel)
let rejectContentLabel = UILabel()
rejectContentLabel.textColor = .failColor
rejectContentLabel.font = UIFont.PFSC_R(ofSize:12)
rejectContentLabel.numberOfLines = 0
rejectContentLabel.textAlignment = .left
rejectContentLabel.text = self.materialModel.audit_remark
rejectView.addSubview(rejectContentLabel)
tipsLabel.snp.remakeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalTo(titlelabel.snp.bottom).offset(7)
make.bottom.equalTo(rejectView.snp.top).offset(-20)
make.bottom.equalTo(-32)
}
rejectView.snp.makeConstraints { make in
noLabel.snp.remakeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.bottom.equalToSuperview().offset(-12)
}
warningImgV.snp.makeConstraints { make in
make.width.height.equalTo(14)
make.left.top.equalTo(0)
make.height.equalTo(20)
make.top.equalTo(tipsLabel.snp.bottom).offset(12)
}
rejectTitleLabel.snp.makeConstraints { make in
make.centerY.equalTo(warningImgV)
make.left.equalTo(warningImgV.snp.right).offset(4)
}
rejectContentLabel.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(warningImgV.snp.bottom).offset(7)
make.bottom.equalToSuperview()
if self.materialModel.unavailable_reason.count != 0 {
let bgView = UIView()
bgView.backgroundColor = UIColor.contentBkgColor
view.addSubview(bgView)
let unavailableLabel = UILabel()
unavailableLabel.textColor = .mainTextColor50
unavailableLabel.font = UIFont.PFSC_R(ofSize:14)
unavailableLabel.textAlignment = .left
unavailableLabel.numberOfLines = 0
unavailableLabel.text = self.materialModel.unavailable_reason
bgView.addSubview(unavailableLabel)
tipsLabel.snp.remakeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalTo(titlelabel.snp.bottom).offset(7)
}
bgView.snp.remakeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalTo(noLabel.snp.bottom).offset(12)
make.bottom.equalTo(-10)
}
unavailableLabel.snp.remakeConstraints { make in
make.top.left.equalToSuperview().offset(12)
make.right.bottom.equalToSuperview().offset(-12)
}
}
return view
}
view.frame = CGRect(x: 0, y: 0, width: KScreenWidth, height: 0.01)
return view
}
private func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> CGFloat {
if section == 0 {
return 20.0
}
if section == 1 {
return 60.0
}
return 0.01
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 0.01))
return view
}
......@@ -606,9 +633,8 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
if indexPath.section == 0 { // 模板列表
if 0 <= indexPath.row && indexPath.row < templateArr.count {
let path = templateArr[indexPath.row]
print(path.fileUrl)
if !path.fileUrl.isEmpty {
self.previewFileTool.openXLSXRemoteFile(urlString:path.fileUrl, fileName:"预览")
if !path.url.isEmpty {
self.previewFileTool.openXLSXRemoteFile(urlString:path.url, fileName:"预览")
}
}
......@@ -652,15 +678,28 @@ extension YHResignUploadDocDetailViewController {
let isKeyboardShow = notification.name == UIResponder.keyboardWillShowNotification
self.blackMaskView.isHidden = !isKeyboardShow
let bottomMargin = (isKeyboardShow ? -keyboardFrame.height : YHFileRenameInputView.height)
if !isKeyboardShow {
IQKeyboardManager.shared.enable = true
if clickInputViewIndex == 0 {
let bottomMargin = (isKeyboardShow ? -keyboardFrame.height : YHFileRenameInputView.height)
if !isKeyboardShow {
IQKeyboardManager.shared.enable = true
}
self.renameInputView.snp.updateConstraints { make in
make.bottom.equalToSuperview().offset(bottomMargin)
}
} else {
let bottomMargin = (isKeyboardShow ? -keyboardFrame.height : YHFileExplainReasonInputView.height)
if !isKeyboardShow {
IQKeyboardManager.shared.enable = true
}
self.reasonInputView.snp.updateConstraints { make in
make.bottom.equalToSuperview().offset(bottomMargin)
}
}
self.renameInputView.snp.updateConstraints { make in
make.bottom.equalToSuperview().offset(bottomMargin)
}
self.view.setNeedsLayout()
self.view.layoutIfNeeded()
}
......@@ -672,40 +711,16 @@ extension YHResignUploadDocDetailViewController {
func requestMaterialDetail() {
viewModel.getUploadDocDetail(id: id) {[weak self] success, err in
guard let self = self else { return }
self.materialModel = self.viewModel.mainModel
if self.materialModel.status == 0 || self.materialModel.status == 1 {
self.uploadBtn.isHidden = true
} else {
self.uploadBtn.isHidden = false
}
templateArr = self.viewModel.mainModel.template_list
items = self.viewModel.mainModel.file_list
self.tableView.reloadData()
}
// YHHUD.show(.progress(message: "加载中..."))
// viewModel.getMaterialDeal(orderId: orderId, id: batchId, materialId: materialId) {
// [weak self] success, error in
// YHHUD.hide()
// guard let self = self else { return }
//
// self.materialModel = self.viewModel.materialDeal
// self.items = self.materialModel.info
//
// if self.materialModel.status == YHMaterialStatus.completed.rawValue {
// self.uploadBtn.isHidden = true
// } else {
// self.uploadBtn.isHidden = false
// self.uploadBtn.alpha = (items.count >= 99 ? 0.5 : 1.0)
// }
//
// self.tableView.snp.remakeConstraints { make in
// make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
// make.left.right.equalToSuperview()
// if self.materialModel.status == YHMaterialStatus.completed.rawValue {
// make.bottom.equalToSuperview()
// } else {
// make.bottom.equalTo(self.uploadBtn.snp.top).offset(-34)
// }
// }
// self.tableView.reloadData()
// self.requestTemplate()
//
// if let errorMsg = error?.errorMsg, errorMsg.count > 0 {
// YHHUD.flash(message: errorMsg, duration:3)
// }
// }
}
}
......
......@@ -14,6 +14,8 @@ class YHResignUploadDetailModel: SmartCodable {
var name : String = "" //文书名称
var status : Int = 0 //状态 0:审核中;1:已完成;2:已驳回;3:待上传
var description : String = ""
var unavailable_reason : String = ""
var reject_reason : String = ""
var template_list : [YHResignUploadDetailTemplateListModel] = []
var file_list : [YHResignUploadDetailFileListModel] = []
......@@ -33,7 +35,7 @@ class YHResignUploadDetailTemplateListModel: SmartCodable {
class YHResignUploadDetailFileListModel: SmartCodable {
var name : String = ""
var url : String = ""
var uploadedAt : String = ""
var updated_at : String = ""
required init() {
}
......
......@@ -7,6 +7,7 @@
//
import UIKit
import AttributedString
class YHFileExplainReasonInputView: UIView {
static let height = 294.0
......@@ -35,7 +36,33 @@ class YHFileExplainReasonInputView: UIView {
label.textColor = UIColor.mainTextColor
label.textAlignment = .center
label.font = UIFont.PFSC_B(ofSize:17)
label.text = "文件重命名"
label.text = "补充说明"
return label
}()
lazy var alertLabel: UILabel = {
let label = UILabel()
let a = ASAttributedString.init("*", .font(UIFont.PFSC_R(ofSize:14)),.foreground(UIColor.failColor))
let b = ASAttributedString.init("若无法提供材料,请填写原因:", .font(UIFont.PFSC_R(ofSize:14)),.foreground(UIColor.mainTextColor))
label.attributed.text = a + b
return label
}()
lazy var countLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor18
label.textAlignment = .right
label.font = UIFont.PFSC_B(ofSize:16)
label.text = "0/0"
return label
}()
lazy var reasonLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.failColor
label.font = UIFont.PFSC_B(ofSize:12)
label.text = "请填写原因"
label.isHidden = true
return label
}()
......@@ -115,10 +142,13 @@ class YHFileExplainReasonInputView: UIView {
whiteContentView.addSubview(titleLabel)
whiteContentView.addSubview(closeBtn)
whiteContentView.addSubview(topLine)
whiteContentView.addSubview(alertLabel)
whiteContentView.addSubview(inputContentView)
inputContentView.addSubview(textField)
inputContentView.addSubview(countLabel)
whiteContentView.addSubview(cancelBtn)
whiteContentView.addSubview(confirmBtn)
whiteContentView.addSubview(reasonLabel)
let corner = UIRectCorner(rawValue: UIRectCorner.topLeft.rawValue | UIRectCorner.topRight.rawValue)
let path = UIBezierPath(roundedRect:bounds,byRoundingCorners: corner,cornerRadii:CGSizeMake(kCornerRadius6, kCornerRadius6));
......@@ -145,22 +175,40 @@ class YHFileExplainReasonInputView: UIView {
make.top.equalTo(titleLabel.snp.bottom)
make.height.equalTo(1)
}
alertLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalTo(72)
make.height.equalTo(20)
}
inputContentView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalTo(topLine.snp.bottom).offset(20)
make.height.equalTo(48)
make.top.equalTo(108)
make.height.equalTo(88)
}
textField.snp.makeConstraints { make in
make.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16)
make.height.equalTo(88)
make.top.equalToSuperview()
}
countLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16)
make.height.equalTo(20)
make.centerY.equalToSuperview()
make.bottom.equalTo(-14)
}
reasonLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16)
make.height.equalTo(20)
make.top.equalTo(inputContentView.snp.bottom).offset(4)
}
cancelBtn.snp.makeConstraints { make in
make.left.equalToSuperview().offset(16)
make.right.equalTo(whiteContentView.snp.centerX).offset(-6)
make.top.equalTo(inputContentView.snp.bottom).offset(30)
make.top.equalTo(inputContentView.snp.bottom).offset(32)
make.height.equalTo(45)
}
confirmBtn.snp.makeConstraints { make in
......@@ -190,7 +238,7 @@ extension YHFileExplainReasonInputView {
@objc func didClickConfirmBtn() {
if isEmptyString(textField.text) {
YHHUD.flash(message: "重命名不可为空")
reasonLabel.isHidden = false
return
}
if let editBlock = editBlock {
......@@ -201,5 +249,14 @@ extension YHFileExplainReasonInputView {
}
extension YHFileExplainReasonInputView: UITextViewDelegate {
func textViewDidChange(_ textView: UITextView) {
let maxLength = 50
let currentString: String = textView.text
if currentString.count >= maxLength {
// 截取字符串至最大长度
textView.text = String(currentString.prefix(maxLength))
}
countLabel.text = "\(textView.text.count)/50"
}
}
......@@ -35,7 +35,7 @@ class YHResignUploadDetailFileNameCell: UITableViewCell {
contentItem = model
nameLabel.text = model.name
timeLabel.text = "上传于\(model.uploadedAt)"
timeLabel.text = "上传于\(model.updated_at)"
let suffix = model.getFileSuffixName()
var iconImgName = ""
......
......@@ -60,6 +60,9 @@ enum YHItemID: Int {
case id33 = 32 // 是否海外居住一年以上
case id34 = 33 // 主申请人信息 出生城市国外
case id35 = 34 // 香港ID号码
case id36 = 35 // 证件号码
case id37 = 36 // 证件签发地
}
......
......@@ -322,6 +322,12 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
mainModel.birth_place.foreign = item.message ?? ""
case .id35:
mainModel.hk_id_number = item.message ?? ""
case .id36:
printLog("不需要")
case .id37:
printLog("不需要")
}
}
......
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