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 "请输入香港地址"
......
...@@ -16,24 +16,12 @@ class YHResignUploadDocDetailViewController: YHBaseViewController { ...@@ -16,24 +16,12 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
// 订单id // 订单id
var id: Int = 0 var id: Int = 0
var materialModel: YHMaterialModel = YHMaterialModel() { var materialModel: YHResignUploadDetailModel = YHResignUploadDetailModel()
didSet { var templateArr: [YHResignUploadDetailTemplateListModel] = []
self.tableView.reloadData()
}
}
var templateModel: YHResignUploadDetailModel = YHResignUploadDetailModel()
var templateArr: [YHResignTemplateItemModel] = []
var categoryId: Int = 0
var supplementId: Int = 0
var viewModel: YHResignUploadDetailViewModel = YHResignUploadDetailViewModel() var viewModel: YHResignUploadDetailViewModel = YHResignUploadDetailViewModel()
var items:[YHResignUploadDetailFileListModel] = [] var items:[YHResignUploadDetailFileListModel] = []
var selectEditItem: YHResignUploadDetailFileListModel? var selectEditItem: YHResignUploadDetailFileListModel?
var clickInputViewIndex: Int = 0
lazy var previewFileTool:YHFilePreviewTool = { lazy var previewFileTool:YHFilePreviewTool = {
let tool = YHFilePreviewTool(targetVC: self) let tool = YHFilePreviewTool(targetVC: self)
return tool return tool
...@@ -44,10 +32,10 @@ class YHResignUploadDocDetailViewController: YHBaseViewController { ...@@ -44,10 +32,10 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
return view return view
}() }()
// var renameInputView: YHFileRenameInputView = { var reasonInputView: YHFileExplainReasonInputView = {
// let view = YHFileRenameInputView.inputView(defalutText: "请输入名称") let view = YHFileExplainReasonInputView.inputView(defalutText: "请输入名称")
// return view return view
// }() }()
lazy var blackMaskView: UIView = { lazy var blackMaskView: UIView = {
let view = UIView(frame:UIScreen.main.bounds) let view = UIView(frame:UIScreen.main.bounds)
...@@ -70,7 +58,7 @@ class YHResignUploadDocDetailViewController: YHBaseViewController { ...@@ -70,7 +58,7 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
tableView.delegate = self tableView.delegate = self
tableView.dataSource = self tableView.dataSource = self
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell") 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(YHResignUploadDetailFileNameCell.self, forCellReuseIdentifier: YHResignUploadDetailFileNameCell.cellReuseIdentifier)
tableView.register(cellWithClass: YHAdopterUploadTableViewCell.self) tableView.register(cellWithClass: YHAdopterUploadTableViewCell.self)
tableView.register(cellWithClass: YHAdopterIncomeFileCountTableViewCell.self) tableView.register(cellWithClass: YHAdopterIncomeFileCountTableViewCell.self)
...@@ -108,6 +96,16 @@ class YHResignUploadDocDetailViewController: YHBaseViewController { ...@@ -108,6 +96,16 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
tableView.reloadData() 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 { deinit {
...@@ -125,7 +123,8 @@ class YHResignUploadDocDetailViewController: YHBaseViewController { ...@@ -125,7 +123,8 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
view.addSubview(tableView) view.addSubview(tableView)
view.addSubview(blackMaskView) view.addSubview(blackMaskView)
view.addSubview(renameInputView) view.addSubview(renameInputView)
view.addSubview(reasonInputView)
tableView.snp.makeConstraints { make in tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar) make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
...@@ -142,6 +141,11 @@ class YHResignUploadDocDetailViewController: YHBaseViewController { ...@@ -142,6 +141,11 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
make.height.equalTo(YHFileRenameInputView.height) make.height.equalTo(YHFileRenameInputView.height)
make.bottom.equalToSuperview().offset(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)->())?) { func uploadImage(_ img: UIImage, imageName:String, callBack:((Bool, String)->())?) {
...@@ -186,7 +190,7 @@ class YHResignUploadDocDetailViewController: YHBaseViewController { ...@@ -186,7 +190,7 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
let model = YHResignUploadDetailFileListModel() let model = YHResignUploadDetailFileListModel()
model.url = successUrl model.url = successUrl
model.name = fileName model.name = fileName
model.uploadedAt = formattedDate model.updated_at = formattedDate
self.items.append(model) self.items.append(model)
self.tableView.reloadData() self.tableView.reloadData()
YHHUD.flash(message: "上传成功") YHHUD.flash(message: "上传成功")
...@@ -207,6 +211,9 @@ class YHResignUploadDocDetailViewController: YHBaseViewController { ...@@ -207,6 +211,9 @@ class YHResignUploadDocDetailViewController: YHBaseViewController {
extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableViewDataSource { extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableViewDataSource {
func numberOfSections(in tableView: UITableView) -> Int { func numberOfSections(in tableView: UITableView) -> Int {
if self.materialModel.status == 0 || self.materialModel.status == 1 {
return 2
}
return 4 return 4
} }
...@@ -227,7 +234,7 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie ...@@ -227,7 +234,7 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
let cell = tableView.dequeueReusableCell(withIdentifier: YHCertificateTemplateCell.cellReuseIdentifier, for: indexPath) as! YHCertificateTemplateCell let cell = tableView.dequeueReusableCell(withIdentifier: YHCertificateTemplateCell.cellReuseIdentifier, for: indexPath) as! YHCertificateTemplateCell
cell.update(bottomMargin: 15) cell.update(bottomMargin: 15)
if 0 <= indexPath.row && indexPath.row < templateArr.count { if 0 <= indexPath.row && indexPath.row < templateArr.count {
cell.templateModel = templateArr[indexPath.row] cell.resignUploadDetailTemplateListModel = templateArr[indexPath.row]
} }
return cell return cell
} }
...@@ -246,7 +253,7 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie ...@@ -246,7 +253,7 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
YHCertificateEditItem(type:.delete, title:"删除"), YHCertificateEditItem(type:.delete, title:"删除"),
YHCertificateEditItem(type:.cancel, 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:"预览"), items = [YHCertificateEditItem(type:.preview, title:"预览"),
YHCertificateEditItem(type:.cancel, title:"取消")] YHCertificateEditItem(type:.cancel, title:"取消")]
...@@ -259,7 +266,7 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie ...@@ -259,7 +266,7 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
if editType == .rename { // 重命名 if editType == .rename { // 重命名
IQKeyboardManager.shared.enable = false IQKeyboardManager.shared.enable = false
clickInputViewIndex = 0
var name = contentItem.getFileNameWithoutSuffix() var name = contentItem.getFileNameWithoutSuffix()
if name.count > 30 { if name.count > 30 {
name = name[safe: ..<30]! name = name[safe: ..<30]!
...@@ -273,18 +280,13 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie ...@@ -273,18 +280,13 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
if !sure { return } if !sure { return }
// 删除 // 删除
var deleteIndex = -1 var deleteIndex = -1
for (index, item) in self.materialModel.info.enumerated() { for (index, item) in self.items.enumerated() {
if contentItem.url == item.url { if contentItem.url == item.url {
deleteIndex = index deleteIndex = index
break break
} }
} }
self.items.remove(at: deleteIndex)
if deleteIndex == -1 { // 没有找到对应资料文件
YHHUD.flash(message: "删除成功")
return
}
self.materialModel.info.remove(at: deleteIndex)
self.tableView.reloadData() self.tableView.reloadData()
} }
...@@ -404,7 +406,7 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie ...@@ -404,7 +406,7 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
return 56 return 56
} }
if section == 1 { if section == 1 {
return 96 return UITableView.automaticDimension
} }
return 0.01 return 0.01
} }
...@@ -413,12 +415,11 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie ...@@ -413,12 +415,11 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
let view = UIView() let view = UIView()
if section == 0 { // 证件示例模板 if section == 0 { // 证件示例模板
let titlelabel = UILabel() let titlelabel = UILabel()
titlelabel.textColor = UIColor.mainTextColor titlelabel.textColor = UIColor.mainTextColor
titlelabel.textAlignment = .left titlelabel.textAlignment = .left
titlelabel.font = UIFont.PFSC_M(ofSize:17) titlelabel.font = UIFont.PFSC_M(ofSize:17)
titlelabel.text = "\(self.materialModel.getName())示例模板" titlelabel.text = "\(self.materialModel.name)示例模板"
titlelabel.numberOfLines = 0 titlelabel.numberOfLines = 0
view.addSubview(titlelabel) view.addSubview(titlelabel)
...@@ -447,12 +448,59 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie ...@@ -447,12 +448,59 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
return view return view
} }
if section == 1 { 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() let titlelabel = UILabel()
titlelabel.textColor = UIColor.mainTextColor titlelabel.textColor = UIColor.mainTextColor
titlelabel.textAlignment = .left titlelabel.textAlignment = .left
titlelabel.font = UIFont.PFSC_M(ofSize:17) titlelabel.font = UIFont.PFSC_M(ofSize:17)
titlelabel.text = self.materialModel.getName() titlelabel.text = self.materialModel.name
titlelabel.numberOfLines = 0 titlelabel.numberOfLines = 0
view.addSubview(titlelabel) view.addSubview(titlelabel)
...@@ -468,23 +516,23 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie ...@@ -468,23 +516,23 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
var bgColor:UIColor = .clear var bgColor:UIColor = .clear
if self.materialModel.status == YHMaterialStatus.review.rawValue { if self.materialModel.status == 0 {
text = "审核中".local text = "审核中".local
textColor = UIColor(hexString: "#FF9900")! textColor = UIColor(hexString: "#FF9900")!
bgColor = UIColor(hexString: "#FF9900", transparency: 0.08)! bgColor = UIColor(hexString: "#FF9900", transparency: 0.08)!
} else if self.materialModel.status == YHMaterialStatus.preUpload.rawValue { } else if self.materialModel.status == 3 {
text = "待上传".local text = "待上传".local
textColor = UIColor(hexString: "#2F7EF6")! textColor = UIColor(hexString: "#2F7EF6")!
bgColor = UIColor(hexString: "#2F7EF6", transparency: 0.08)! bgColor = UIColor(hexString: "#2F7EF6", transparency: 0.08)!
} else if self.materialModel.status == YHMaterialStatus.completed.rawValue { } else if self.materialModel.status == 1 {
text = "已完成".local text = "已完成".local
textColor = UIColor(hexString: "#49D2B1")! textColor = UIColor(hexString: "#49D2B1")!
bgColor = UIColor(hexString: "#49D2B1", transparency: 0.08)! bgColor = UIColor(hexString: "#49D2B1", transparency: 0.08)!
} else if self.materialModel.status == YHMaterialStatus.rejected.rawValue { } else if self.materialModel.status == 2 {
text = "已驳回".local text = "已驳回".local
textColor = UIColor.failColor textColor = UIColor.failColor
bgColor = UIColor(hexString: "#F81D22", transparency: 0.08)! bgColor = UIColor(hexString: "#F81D22", transparency: 0.08)!
...@@ -499,9 +547,25 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie ...@@ -499,9 +547,25 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
tipsLabel.textAlignment = .left tipsLabel.textAlignment = .left
tipsLabel.numberOfLines = 0 tipsLabel.numberOfLines = 0
tipsLabel.text = "支持的文件格式为jpg/jpeg、png、bmp、doc/docx、xls/xlsx、pdf,最多可上传99张图片或文件" tipsLabel.text = self.materialModel.description
view.addSubview(tipsLabel) 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 titlelabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20) make.left.equalToSuperview().offset(20)
make.top.equalToSuperview() make.top.equalToSuperview()
...@@ -519,86 +583,49 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie ...@@ -519,86 +583,49 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
make.left.equalToSuperview().offset(20) make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20) make.right.equalToSuperview().offset(-20)
make.top.equalTo(titlelabel.snp.bottom).offset(7) make.top.equalTo(titlelabel.snp.bottom).offset(7)
make.bottom.equalToSuperview().offset(-15) make.bottom.equalTo(-32)
}
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)
} }
rejectView.snp.makeConstraints { make in noLabel.snp.remakeConstraints { make in
make.left.equalToSuperview().offset(20) make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20) make.right.equalToSuperview().offset(-20)
make.bottom.equalToSuperview().offset(-12) make.height.equalTo(20)
} make.top.equalTo(tipsLabel.snp.bottom).offset(12)
warningImgV.snp.makeConstraints { make in
make.width.height.equalTo(14)
make.left.top.equalTo(0)
} }
if self.materialModel.unavailable_reason.count != 0 {
rejectTitleLabel.snp.makeConstraints { make in
make.centerY.equalTo(warningImgV) let bgView = UIView()
make.left.equalTo(warningImgV.snp.right).offset(4) bgView.backgroundColor = UIColor.contentBkgColor
} view.addSubview(bgView)
rejectContentLabel.snp.makeConstraints { make in let unavailableLabel = UILabel()
make.left.right.equalToSuperview() unavailableLabel.textColor = .mainTextColor50
make.top.equalTo(warningImgV.snp.bottom).offset(7) unavailableLabel.font = UIFont.PFSC_R(ofSize:14)
make.bottom.equalToSuperview() 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 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 return view
} }
...@@ -606,9 +633,8 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie ...@@ -606,9 +633,8 @@ extension YHResignUploadDocDetailViewController: UITableViewDelegate, UITableVie
if indexPath.section == 0 { // 模板列表 if indexPath.section == 0 { // 模板列表
if 0 <= indexPath.row && indexPath.row < templateArr.count { if 0 <= indexPath.row && indexPath.row < templateArr.count {
let path = templateArr[indexPath.row] let path = templateArr[indexPath.row]
print(path.fileUrl) if !path.url.isEmpty {
if !path.fileUrl.isEmpty { self.previewFileTool.openXLSXRemoteFile(urlString:path.url, fileName:"预览")
self.previewFileTool.openXLSXRemoteFile(urlString:path.fileUrl, fileName:"预览")
} }
} }
...@@ -652,15 +678,28 @@ extension YHResignUploadDocDetailViewController { ...@@ -652,15 +678,28 @@ extension YHResignUploadDocDetailViewController {
let isKeyboardShow = notification.name == UIResponder.keyboardWillShowNotification let isKeyboardShow = notification.name == UIResponder.keyboardWillShowNotification
self.blackMaskView.isHidden = !isKeyboardShow self.blackMaskView.isHidden = !isKeyboardShow
let bottomMargin = (isKeyboardShow ? -keyboardFrame.height : YHFileRenameInputView.height) if clickInputViewIndex == 0 {
let bottomMargin = (isKeyboardShow ? -keyboardFrame.height : YHFileRenameInputView.height)
if !isKeyboardShow {
IQKeyboardManager.shared.enable = true 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.setNeedsLayout()
self.view.layoutIfNeeded() self.view.layoutIfNeeded()
} }
...@@ -672,40 +711,16 @@ extension YHResignUploadDocDetailViewController { ...@@ -672,40 +711,16 @@ extension YHResignUploadDocDetailViewController {
func requestMaterialDetail() { func requestMaterialDetail() {
viewModel.getUploadDocDetail(id: id) {[weak self] success, err in viewModel.getUploadDocDetail(id: id) {[weak self] success, err in
guard let self = self else { return } 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() 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 { ...@@ -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