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 { ...@@ -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 = { lazy var templateView: YHCertificateSampleTemplateView = {
let view = YHCertificateSampleTemplateView(frame:CGRectZero) let view = YHCertificateSampleTemplateView(frame:CGRectZero)
return view return view
......
...@@ -11,6 +11,8 @@ import AttributedString ...@@ -11,6 +11,8 @@ import AttributedString
class YHResignCertificateDetailHkViewController: YHBaseViewController { class YHResignCertificateDetailHkViewController: YHBaseViewController {
var updateBlock: ((YHResignCertificateInfoModel) ->())?
lazy var viewModel: YHResignCertificateDetailViewModel = { lazy var viewModel: YHResignCertificateDetailViewModel = {
let vm = YHResignCertificateDetailViewModel() let vm = YHResignCertificateDetailViewModel()
return vm return vm
...@@ -91,7 +93,8 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController { ...@@ -91,7 +93,8 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
make.top.equalTo(8) make.top.equalTo(8)
make.height.equalTo(48) make.height.equalTo(48)
} }
loadDetailInfo() reuqestCertificateDetail()
} }
func getTextWithType(type: Int, date:String) -> ASAttributedString { func getTextWithType(type: Int, date:String) -> ASAttributedString {
...@@ -128,7 +131,7 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController { ...@@ -128,7 +131,7 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
if dataModel.cert_info.img_back.count != 0 { if dataModel.cert_info.img_back.count != 0 {
urls[1] = dataModel.cert_info.img_back urls[1] = dataModel.cert_info.img_back
} }
self.data = viewModel.getBaseDataSource(isShowPrompt) self.data = viewModel.getBaseDatadSource(isShowPrompt)
// 头部提示 // 头部提示
tipsArr = getTipsWithType(date: self.dataModel.valid_date) tipsArr = getTipsWithType(date: self.dataModel.valid_date)
tableView.reloadData() tableView.reloadData()
...@@ -154,6 +157,15 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController { ...@@ -154,6 +157,15 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
failString = "请港澳通行证背面" failString = "请港澳通行证背面"
return false 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 { if self.viewModel.dataModel.cert_info.issue_start.count == 0 {
return false return false
} }
...@@ -169,11 +181,6 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController { ...@@ -169,11 +181,6 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
return true return true
} }
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
reuqestCertificateDetail()
}
func reuqestCertificateDetail() { func reuqestCertificateDetail() {
YHHUD.show(.progress(message: "加载中...")) YHHUD.show(.progress(message: "加载中..."))
self.viewModel.getCertificateDetail(self.cerId) { self.viewModel.getCertificateDetail(self.cerId) {
...@@ -225,6 +232,8 @@ private extension YHResignCertificateDetailHkViewController { ...@@ -225,6 +232,8 @@ private extension YHResignCertificateDetailHkViewController {
"img_back": urls[1], "img_back": urls[1],
"validate_start": self.viewModel.dataModel.cert_info.validate_start, "validate_start": self.viewModel.dataModel.cert_info.validate_start,
"validate_end": self.viewModel.dataModel.cert_info.validate_end, "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", "sign_type": "D",
"submit": true, "submit": true,
"is_show": true] "is_show": true]
...@@ -234,8 +243,10 @@ private extension YHResignCertificateDetailHkViewController { ...@@ -234,8 +243,10 @@ private extension YHResignCertificateDetailHkViewController {
] ]
viewModel.submitResignCertificateUpdate(params) { success, error in viewModel.submitResignCertificateUpdate(params) { success, error in
if success { if success {
self.updateBlock?(self.viewModel.dataModel.cert_info)
YHHUD.flash(message: "保存成功") YHHUD.flash(message: "保存成功")
self.navigationController?.popViewController() self.navigationController?.popViewController()
} else { } else {
let msg = error?.errorMsg ?? "保存失败,请重试" let msg = error?.errorMsg ?? "保存失败,请重试"
YHHUD.flash(message: msg) YHHUD.flash(message: msg)
...@@ -282,12 +293,19 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl ...@@ -282,12 +293,19 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
self.viewModel.getHKCardInfoByOcr(url, isBack: 0) { success, result in self.viewModel.getHKCardInfoByOcr(url, isBack: 0) { success, result in
YHHUD.hide() YHHUD.hide()
if success, let result = result { 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 { if !result.term_begins.isEmpty {
self.dataModel.cert_info.issue_start = result.term_begins self.dataModel.cert_info.issue_start = result.term_begins
} }
if !result.end_of_term.isEmpty { if !result.end_of_term.isEmpty {
self.dataModel.cert_info.issue_end = result.end_of_term self.dataModel.cert_info.issue_end = result.end_of_term
} }
} else { } else {
// OCR 无法识别 // OCR 无法识别
self.failString = "非逗留(D)签证,请检查文件" self.failString = "非逗留(D)签证,请检查文件"
...@@ -298,6 +316,12 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl ...@@ -298,6 +316,12 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
self.viewModel.getHKCardBackInfoByOcr(url, isBack: 1) { success, result in self.viewModel.getHKCardBackInfoByOcr(url, isBack: 1) { success, result in
YHHUD.hide() YHHUD.hide()
if success, let result = result { 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_term_begins.isEmpty { self.dataModel.cert_info.validate_start = result.back_term_begins
} }
if !result.back_end_of_term.isEmpty { if !result.back_end_of_term.isEmpty {
...@@ -333,6 +357,7 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl ...@@ -333,6 +357,7 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
if indexPath.section != 0 { if indexPath.section != 0 {
if urls[0].count == 0 && urls[1].count == 0 { if urls[0].count == 0 && urls[1].count == 0 {
return 243 return 243
} else { } else {
var tatol = 0 var tatol = 0
for item in data { for item in data {
...@@ -343,7 +368,7 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl ...@@ -343,7 +368,7 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
tatol = tatol + 20 tatol = tatol + 20
} }
} }
return CGFloat(521 + tatol) return CGFloat(670 + tatol)
} }
} }
return UITableView.automaticDimension return UITableView.automaticDimension
......
...@@ -11,6 +11,8 @@ import AttributedString ...@@ -11,6 +11,8 @@ import AttributedString
class YHResignCertificateDetailPassPortViewController: YHBaseViewController { class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
var updateBlock: ((YHResignCertificateInfoModel) ->())?
lazy var viewModel: YHResignCertificateDetailViewModel = { lazy var viewModel: YHResignCertificateDetailViewModel = {
let vm = YHResignCertificateDetailViewModel() let vm = YHResignCertificateDetailViewModel()
return vm return vm
...@@ -91,7 +93,7 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController { ...@@ -91,7 +93,7 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
make.top.equalTo(8) make.top.equalTo(8)
make.height.equalTo(48) make.height.equalTo(48)
} }
loadDetailInfo() reuqestCertificateDetail()
} }
func getTextWithType(type: Int, date:String) -> ASAttributedString { func getTextWithType(type: Int, date:String) -> ASAttributedString {
...@@ -122,7 +124,7 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController { ...@@ -122,7 +124,7 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
if dataModel.cert_info.img_front.count != 0 { if dataModel.cert_info.img_front.count != 0 {
urls[0] = dataModel.cert_info.img_front urls[0] = dataModel.cert_info.img_front
} }
self.data = viewModel.getPassPortDataSource(isShowPrompt) self.data = viewModel.getPassPortdDataSource(isShowPrompt)
// 头部提示 // 头部提示
tipsArr = getTipsWithType(date: self.dataModel.valid_date) tipsArr = getTipsWithType(date: self.dataModel.valid_date)
tableView.reloadData() tableView.reloadData()
...@@ -145,6 +147,14 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController { ...@@ -145,6 +147,14 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
return false 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 { if self.viewModel.dataModel.cert_info.issue_start.count == 0 {
return false return false
} }
...@@ -154,11 +164,6 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController { ...@@ -154,11 +164,6 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
return true return true
} }
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
reuqestCertificateDetail()
}
func reuqestCertificateDetail() { func reuqestCertificateDetail() {
YHHUD.show(.progress(message: "加载中...")) YHHUD.show(.progress(message: "加载中..."))
self.viewModel.getCertificateDetail(self.cerId) { self.viewModel.getCertificateDetail(self.cerId) {
...@@ -207,6 +212,8 @@ private extension YHResignCertificateDetailPassPortViewController { ...@@ -207,6 +212,8 @@ private extension YHResignCertificateDetailPassPortViewController {
let passPort: [String: Any] = ["name": "护照", let passPort: [String: Any] = ["name": "护照",
"issue_start": self.viewModel.dataModel.cert_info.issue_start, "issue_start": self.viewModel.dataModel.cert_info.issue_start,
"issue_end": self.viewModel.dataModel.cert_info.issue_end, "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], "img_front": urls[0],
"submit": true, "submit": true,
"is_show": true] "is_show": true]
...@@ -216,6 +223,7 @@ private extension YHResignCertificateDetailPassPortViewController { ...@@ -216,6 +223,7 @@ private extension YHResignCertificateDetailPassPortViewController {
] ]
viewModel.submitResignCertificateUpdate(params) { success, error in viewModel.submitResignCertificateUpdate(params) { success, error in
if success { if success {
self.updateBlock?(self.viewModel.dataModel.cert_info)
YHHUD.flash(message: "保存成功") YHHUD.flash(message: "保存成功")
self.navigationController?.popViewController() self.navigationController?.popViewController()
...@@ -259,7 +267,7 @@ extension YHResignCertificateDetailPassPortViewController: UITableViewDelegate, ...@@ -259,7 +267,7 @@ extension YHResignCertificateDetailPassPortViewController: UITableViewDelegate,
self.viewModel.getPublicImageUrl(url) {[weak self] success, error in self.viewModel.getPublicImageUrl(url) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
guard let url = success else { return } guard let url = success else { return }
self.data = viewModel.getPassPortDataSource(isShowPrompt) self.data = viewModel.getPassPortdDataSource(isShowPrompt)
self.tableView.reloadData() self.tableView.reloadData()
} }
} }
...@@ -288,10 +296,11 @@ extension YHResignCertificateDetailPassPortViewController: UITableViewDelegate, ...@@ -288,10 +296,11 @@ extension YHResignCertificateDetailPassPortViewController: UITableViewDelegate,
let message = item.message ?? "" let message = item.message ?? ""
let isNeed = item.isNeed ?? false let isNeed = item.isNeed ?? false
if isShow && message.count == 0 && isNeed { if isShow && message.count == 0 && isNeed {
tatol = tatol + 20 tatol = tatol + 20
} }
} }
return CGFloat(345 + tatol) return CGFloat(520 + tatol)
} }
} }
return UITableView.automaticDimension return UITableView.automaticDimension
......
...@@ -29,6 +29,9 @@ class YHResignCertificateHKTableViewCell: UITableViewCell { ...@@ -29,6 +29,9 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
var backSurfaceDeleteButton: UIButton! var backSurfaceDeleteButton: UIButton!
var activityIndicator: UIActivityIndicatorView! var activityIndicator: UIActivityIndicatorView!
var showMessageLabel: UILabel! var showMessageLabel: UILabel!
var cerInfoLabel: UILabel!
var cerNumberView: YHItemView!
var cerSignPlaceView: YHItemView!
var cardLabel: UILabel! var cardLabel: UILabel!
var signLabel: UILabel! var signLabel: UILabel!
var cardBeginView: YHItemView! var cardBeginView: YHItemView!
...@@ -67,6 +70,9 @@ class YHResignCertificateHKTableViewCell: UITableViewCell { ...@@ -67,6 +70,9 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
var urls: [String]? { var urls: [String]? {
didSet { didSet {
guard let firstUrl = urls?.first, firstUrl.count != 0 else { guard let firstUrl = urls?.first, firstUrl.count != 0 else {
cerInfoLabel.isHidden = true
cerNumberView.isHidden = true
cerSignPlaceView.isHidden = true
cardLabel.isHidden = true cardLabel.isHidden = true
signLabel.isHidden = true signLabel.isHidden = true
cardBeginView.isHidden = true cardBeginView.isHidden = true
...@@ -75,6 +81,9 @@ class YHResignCertificateHKTableViewCell: UITableViewCell { ...@@ -75,6 +81,9 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
signEndView.isHidden = true signEndView.isHidden = true
return return
} }
cerInfoLabel.isHidden = false
cerNumberView.isHidden = false
cerSignPlaceView.isHidden = false
cardLabel.isHidden = false cardLabel.isHidden = false
signLabel.isHidden = false signLabel.isHidden = false
cardBeginView.isHidden = false cardBeginView.isHidden = false
...@@ -110,7 +119,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell { ...@@ -110,7 +119,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
let isShow = item.isShowPrompts ?? false let isShow = item.isShowPrompts ?? false
let message = item.message ?? "" let message = item.message ?? ""
let isNeed = item.isNeed ?? false let isNeed = item.isNeed ?? false
if item.id == .id1 { if item.id == .id1 { // 卡片有效期开始时间
cardBeginView.dataSource = item cardBeginView.dataSource = item
if isShow && message.count == 0 && isNeed { if isShow && message.count == 0 && isNeed {
cardBeginView.snp.updateConstraints { make in cardBeginView.snp.updateConstraints { make in
...@@ -122,7 +131,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell { ...@@ -122,7 +131,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
} }
} }
} }
if item.id == .id2 { if item.id == .id2 { // 卡片有效期到期时间
cardEndView.dataSource = item cardEndView.dataSource = item
if isShow && message.count == 0 && isNeed { if isShow && message.count == 0 && isNeed {
cardEndView.snp.updateConstraints { make in cardEndView.snp.updateConstraints { make in
...@@ -139,7 +148,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell { ...@@ -139,7 +148,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
failString = "卡片有效期不足,需要为\(self.dataModel.valid_date)或以后" failString = "卡片有效期不足,需要为\(self.dataModel.valid_date)或以后"
} }
} }
if item.id == .id3 { if item.id == .id3 { // 签注有效期开始时间
signBeginView.dataSource = item signBeginView.dataSource = item
if isShow && message.count == 0 && isNeed { if isShow && message.count == 0 && isNeed {
signBeginView.snp.updateConstraints { make in signBeginView.snp.updateConstraints { make in
...@@ -151,7 +160,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell { ...@@ -151,7 +160,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
} }
} }
} }
if item.id == .id4 { if item.id == .id4 { // 签注有效期到期时间
signEndView.dataSource = item signEndView.dataSource = item
if isShow && message.count == 0 && isNeed { if isShow && message.count == 0 && isNeed {
signEndView.snp.updateConstraints { make in signEndView.snp.updateConstraints { make in
...@@ -174,6 +183,32 @@ class YHResignCertificateHKTableViewCell: UITableViewCell { ...@@ -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 { ...@@ -394,6 +429,72 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
make.height.equalTo(20) 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 = { cardLabel = {
let label = UILabel() let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15) label.font = UIFont.PFSC_M(ofSize: 15)
...@@ -405,7 +506,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell { ...@@ -405,7 +506,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
cardLabel.snp.makeConstraints { make in cardLabel.snp.makeConstraints { make in
make.left.equalTo(18) make.left.equalTo(18)
make.right.equalTo(-18) make.right.equalTo(-18)
make.top.equalTo(229) make.top.equalTo(cerSignPlaceView.snp.bottom).offset(24)
make.height.equalTo(20) make.height.equalTo(20)
} }
cardBeginView = { cardBeginView = {
...@@ -465,6 +566,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell { ...@@ -465,6 +566,7 @@ class YHResignCertificateHKTableViewCell: UITableViewCell {
make.right.equalTo(-18) make.right.equalTo(-18)
} }
// 【签注有效期 UI】
signLabel = { signLabel = {
let label = UILabel() let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 15) label.font = UIFont.PFSC_M(ofSize: 15)
......
...@@ -24,6 +24,10 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell { ...@@ -24,6 +24,10 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
var frontDeleteButton: UIButton! var frontDeleteButton: UIButton!
var activityIndicator: UIActivityIndicatorView! var activityIndicator: UIActivityIndicatorView!
var showMessageLabel: UILabel! var showMessageLabel: UILabel!
var cerInfoLabel: UILabel!
var cerNumberView: YHItemView!
var cerSignPlaceView: YHItemView!
var cardLabel: UILabel!
var cardBeginView: YHItemView! var cardBeginView: YHItemView!
var cardEndView: YHItemView! var cardEndView: YHItemView!
var viewModel: YHBaseViewModel = YHBaseViewModel() var viewModel: YHBaseViewModel = YHBaseViewModel()
...@@ -50,10 +54,18 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell { ...@@ -50,10 +54,18 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
var urls: [String]? { var urls: [String]? {
didSet { didSet {
guard let firstUrl = urls?.first, firstUrl.count != 0 else { guard let firstUrl = urls?.first, firstUrl.count != 0 else {
cerInfoLabel.isHidden = true
cerNumberView.isHidden = true
cerSignPlaceView.isHidden = true
cardLabel.isHidden = true
cardBeginView.isHidden = true cardBeginView.isHidden = true
cardEndView.isHidden = true cardEndView.isHidden = true
return return
} }
cerInfoLabel.isHidden = false
cerNumberView.isHidden = false
cerSignPlaceView.isHidden = false
cardLabel.isHidden = false
cardBeginView.isHidden = false cardBeginView.isHidden = false
cardEndView.isHidden = false cardEndView.isHidden = false
self.firstUrl = firstUrl self.firstUrl = firstUrl
...@@ -103,6 +115,32 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell { ...@@ -103,6 +115,32 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
failString = "有效期不足,需要为\(self.dataModel.valid_date)或以后" 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 { ...@@ -273,6 +311,87 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
make.height.equalTo(20) 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 = { cardBeginView = {
let view = YHItemView() let view = YHItemView()
let line = UIView() let line = UIView()
...@@ -293,7 +412,7 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell { ...@@ -293,7 +412,7 @@ class YHResignCertificatePassportTableViewCell: UITableViewCell {
centerView.addSubview(cardBeginView) centerView.addSubview(cardBeginView)
cardBeginView.snp.makeConstraints { make in cardBeginView.snp.makeConstraints { make in
make.left.equalTo(18) make.left.equalTo(18)
make.top.equalTo(229) make.top.equalTo(cardLabel.snp.bottom).offset(0)
make.height.equalTo(52) make.height.equalTo(52)
make.right.equalTo(-18) make.right.equalTo(-18)
} }
......
...@@ -54,18 +54,27 @@ class YHResignCertificateDetailViewModel: YHBaseViewModel { ...@@ -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 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 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 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:"请选择到期时间") 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 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:"请选择到期时间") 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) { func updateModel(_ item: YHItemModel) {
...@@ -83,6 +92,10 @@ class YHResignCertificateDetailViewModel: YHBaseViewModel { ...@@ -83,6 +92,10 @@ class YHResignCertificateDetailViewModel: YHBaseViewModel {
dataModel.cert_info.issue_start = item.message ?? "" dataModel.cert_info.issue_start = item.message ?? ""
case .id6: case .id6:
dataModel.cert_info.issue_end = item.message ?? "" dataModel.cert_info.issue_end = item.message ?? ""
case .id36:
dataModel.cert_info.number = item.message ?? ""
case .id37:
dataModel.cert_info.address = item.message ?? ""
default: default:
break break
} }
......
...@@ -19,6 +19,7 @@ import Foundation ...@@ -19,6 +19,7 @@ import Foundation
10-客户已签字确认 定稿中 10-客户已签字确认 定稿中
11-已定稿 已完成 11-已定稿 已完成
12 已完成 12 已完成
13 待审核
*/ */
enum YHResignDocumentStatus { enum YHResignDocumentStatus {
...@@ -32,7 +33,7 @@ enum YHResignDocumentStatus { ...@@ -32,7 +33,7 @@ enum YHResignDocumentStatus {
switch number { switch number {
case 0 ... 5: case 0 ... 5:
return .pendingConfirmation return .pendingConfirmation
case 6 ... 8: case 6 ... 8, 13:
return .underReview return .underReview
case 9: case 9:
return .awaitingSignature return .awaitingSignature
......
...@@ -62,14 +62,18 @@ class YHResignAppointGroup: SmartCodable { ...@@ -62,14 +62,18 @@ class YHResignAppointGroup: SmartCodable {
let nowDateString = dateFormatter.string(from: Date()) let nowDateString = dateFormatter.string(from: Date())
var confirmStatus = YHResignConfirmHKStatus.waitConfirmHK var confirmStatus = YHResignConfirmHKStatus.waitConfirmHK
// 是否到了预约递交时间
let isArriveSubmitTime = compareDates(self.ready_to_submit_at, nowDateString)
if !isArriveSubmitTime { if self.determine_hk_at.isEmpty {
// 待确认在港 // 是否到了预约递交时间
confirmStatus = .waitConfirmHK let isArriveSubmitTime = compareDates(self.ready_to_submit_at, nowDateString)
} else { if isArriveSubmitTime {
confirmStatus = !self.determine_hk_at.isEmpty ? .haveConfirmHK : .canConfirmHK confirmStatus = .waitConfirmHK
} else {
confirmStatus = .canConfirmHK
}
} else { // 有确认在港日期
confirmStatus = .haveConfirmHK
} }
return confirmStatus return confirmStatus
} }
...@@ -94,7 +98,7 @@ class YHResignAppointGroup: SmartCodable { ...@@ -94,7 +98,7 @@ class YHResignAppointGroup: SmartCodable {
guard let date1 = dateFormatter.date(from: dateString1), guard let date1 = dateFormatter.date(from: dateString1),
let date2 = dateFormatter.date(from: dateString2) else { let date2 = dateFormatter.date(from: dateString2) else {
print("日期格式错误") print("日期格式错误")
return false return true
} }
// 比较日期 // 比较日期
......
...@@ -92,7 +92,6 @@ class YHResignConfirmInfoListViewController: YHBaseViewController { ...@@ -92,7 +92,6 @@ class YHResignConfirmInfoListViewController: YHBaseViewController {
override func viewWillAppear(_ animated: Bool) { override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated) super.viewWillAppear(animated)
showRiskAlertView()
requestList() requestList()
} }
...@@ -218,6 +217,9 @@ extension YHResignConfirmInfoListViewController { ...@@ -218,6 +217,9 @@ extension YHResignConfirmInfoListViewController {
func requestList() { func requestList() {
YHHUD.show(.progress(message: "加载中...")) YHHUD.show(.progress(message: "加载中..."))
self.viewModel.getList(id: stepId) { success, error in self.viewModel.getList(id: stepId) { success, error in
if success {
self.showRiskAlertView()
}
YHHUD.hide() YHHUD.hide()
self.familyArr.removeAll() self.familyArr.removeAll()
self.familyArr.append(contentsOf: self.viewModel.getList()) self.familyArr.append(contentsOf: self.viewModel.getList())
......
...@@ -143,6 +143,7 @@ class YHResignInfoConfirmModifyViewController: YHBaseViewController { ...@@ -143,6 +143,7 @@ class YHResignInfoConfirmModifyViewController: YHBaseViewController {
if let identity = detailMember.identity { if let identity = detailMember.identity {
let isValidDateEnough = identity.isValidDateEnough() let isValidDateEnough = identity.isValidDateEnough()
if !isValidDateEnough { if !isValidDateEnough {
YHHUD.flash(message: "证件有效期不足")
return false return false
} }
} }
...@@ -231,16 +232,35 @@ extension YHResignInfoConfirmModifyViewController: UITableViewDelegate, UITableV ...@@ -231,16 +232,35 @@ extension YHResignInfoConfirmModifyViewController: UITableViewDelegate, UITableV
[weak self] in [weak self] in
guard let self = self else { return } guard let self = self else { return }
if let identity = self.detailMember.identity { if let identity = self.detailMember.identity {
if identity.type == 2 { if identity.type == 2 { // 港澳通行证
// 港澳通行证
let vc = YHResignCertificateDetailHkViewController() let vc = YHResignCertificateDetailHkViewController()
vc.cerId = identity.id 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) self.navigationController?.pushViewController(vc)
} else if identity.type == 3 { } else if identity.type == 3 { // 普通护照
// 护照
let vc = YHResignCertificateDetailPassPortViewController() let vc = YHResignCertificateDetailPassPortViewController()
vc.cerId = identity.id 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) self.navigationController?.pushViewController(vc)
} }
} }
......
...@@ -418,7 +418,7 @@ extension YHResignInfoItemView: UITextFieldDelegate { ...@@ -418,7 +418,7 @@ extension YHResignInfoItemView: UITextFieldDelegate {
return "请输入职业" return "请输入职业"
} else if self.item.id == .hongKongId { } else if self.item.id == .hongKongId {
return "请输入香港身份证号" return "A123456(A)"
} else if self.item.id == .hongkongAddress { } else if self.item.id == .hongkongAddress {
return "请输入香港地址" return "请输入香港地址"
......
...@@ -14,6 +14,8 @@ class YHResignUploadDetailModel: SmartCodable { ...@@ -14,6 +14,8 @@ class YHResignUploadDetailModel: SmartCodable {
var name : String = "" //文书名称 var name : String = "" //文书名称
var status : Int = 0 //状态 0:审核中;1:已完成;2:已驳回;3:待上传 var status : Int = 0 //状态 0:审核中;1:已完成;2:已驳回;3:待上传
var description : String = "" var description : String = ""
var unavailable_reason : String = ""
var reject_reason : String = ""
var template_list : [YHResignUploadDetailTemplateListModel] = [] var template_list : [YHResignUploadDetailTemplateListModel] = []
var file_list : [YHResignUploadDetailFileListModel] = [] var file_list : [YHResignUploadDetailFileListModel] = []
...@@ -33,7 +35,7 @@ class YHResignUploadDetailTemplateListModel: SmartCodable { ...@@ -33,7 +35,7 @@ class YHResignUploadDetailTemplateListModel: SmartCodable {
class YHResignUploadDetailFileListModel: SmartCodable { class YHResignUploadDetailFileListModel: SmartCodable {
var name : String = "" var name : String = ""
var url : String = "" var url : String = ""
var uploadedAt : String = "" var updated_at : String = ""
required init() { required init() {
} }
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
// //
import UIKit import UIKit
import AttributedString
class YHFileExplainReasonInputView: UIView { class YHFileExplainReasonInputView: UIView {
static let height = 294.0 static let height = 294.0
...@@ -35,7 +36,33 @@ class YHFileExplainReasonInputView: UIView { ...@@ -35,7 +36,33 @@ class YHFileExplainReasonInputView: UIView {
label.textColor = UIColor.mainTextColor label.textColor = UIColor.mainTextColor
label.textAlignment = .center label.textAlignment = .center
label.font = UIFont.PFSC_B(ofSize:17) 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 return label
}() }()
...@@ -115,10 +142,13 @@ class YHFileExplainReasonInputView: UIView { ...@@ -115,10 +142,13 @@ class YHFileExplainReasonInputView: UIView {
whiteContentView.addSubview(titleLabel) whiteContentView.addSubview(titleLabel)
whiteContentView.addSubview(closeBtn) whiteContentView.addSubview(closeBtn)
whiteContentView.addSubview(topLine) whiteContentView.addSubview(topLine)
whiteContentView.addSubview(alertLabel)
whiteContentView.addSubview(inputContentView) whiteContentView.addSubview(inputContentView)
inputContentView.addSubview(textField) inputContentView.addSubview(textField)
inputContentView.addSubview(countLabel)
whiteContentView.addSubview(cancelBtn) whiteContentView.addSubview(cancelBtn)
whiteContentView.addSubview(confirmBtn) whiteContentView.addSubview(confirmBtn)
whiteContentView.addSubview(reasonLabel)
let corner = UIRectCorner(rawValue: UIRectCorner.topLeft.rawValue | UIRectCorner.topRight.rawValue) let corner = UIRectCorner(rawValue: UIRectCorner.topLeft.rawValue | UIRectCorner.topRight.rawValue)
let path = UIBezierPath(roundedRect:bounds,byRoundingCorners: corner,cornerRadii:CGSizeMake(kCornerRadius6, kCornerRadius6)); let path = UIBezierPath(roundedRect:bounds,byRoundingCorners: corner,cornerRadii:CGSizeMake(kCornerRadius6, kCornerRadius6));
...@@ -145,22 +175,40 @@ class YHFileExplainReasonInputView: UIView { ...@@ -145,22 +175,40 @@ class YHFileExplainReasonInputView: UIView {
make.top.equalTo(titleLabel.snp.bottom) make.top.equalTo(titleLabel.snp.bottom)
make.height.equalTo(1) 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 inputContentView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20) make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20) make.right.equalToSuperview().offset(-20)
make.top.equalTo(topLine.snp.bottom).offset(20) make.top.equalTo(108)
make.height.equalTo(48) make.height.equalTo(88)
} }
textField.snp.makeConstraints { make in 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.left.equalToSuperview().offset(16)
make.right.equalToSuperview().offset(-16) make.right.equalToSuperview().offset(-16)
make.height.equalTo(20) 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 cancelBtn.snp.makeConstraints { make in
make.left.equalToSuperview().offset(16) make.left.equalToSuperview().offset(16)
make.right.equalTo(whiteContentView.snp.centerX).offset(-6) 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) make.height.equalTo(45)
} }
confirmBtn.snp.makeConstraints { make in confirmBtn.snp.makeConstraints { make in
...@@ -190,7 +238,7 @@ extension YHFileExplainReasonInputView { ...@@ -190,7 +238,7 @@ extension YHFileExplainReasonInputView {
@objc func didClickConfirmBtn() { @objc func didClickConfirmBtn() {
if isEmptyString(textField.text) { if isEmptyString(textField.text) {
YHHUD.flash(message: "重命名不可为空") reasonLabel.isHidden = false
return return
} }
if let editBlock = editBlock { if let editBlock = editBlock {
...@@ -201,5 +249,14 @@ extension YHFileExplainReasonInputView { ...@@ -201,5 +249,14 @@ extension YHFileExplainReasonInputView {
} }
extension YHFileExplainReasonInputView: UITextViewDelegate { 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 { ...@@ -35,7 +35,7 @@ class YHResignUploadDetailFileNameCell: UITableViewCell {
contentItem = model contentItem = model
nameLabel.text = model.name nameLabel.text = model.name
timeLabel.text = "上传于\(model.uploadedAt)" timeLabel.text = "上传于\(model.updated_at)"
let suffix = model.getFileSuffixName() let suffix = model.getFileSuffixName()
var iconImgName = "" var iconImgName = ""
......
...@@ -60,6 +60,9 @@ enum YHItemID: Int { ...@@ -60,6 +60,9 @@ enum YHItemID: Int {
case id33 = 32 // 是否海外居住一年以上 case id33 = 32 // 是否海外居住一年以上
case id34 = 33 // 主申请人信息 出生城市国外 case id34 = 33 // 主申请人信息 出生城市国外
case id35 = 34 // 香港ID号码 case id35 = 34 // 香港ID号码
case id36 = 35 // 证件号码
case id37 = 36 // 证件签发地
} }
......
...@@ -322,6 +322,12 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel { ...@@ -322,6 +322,12 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
mainModel.birth_place.foreign = item.message ?? "" mainModel.birth_place.foreign = item.message ?? ""
case .id35: case .id35:
mainModel.hk_id_number = item.message ?? "" 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