Commit 7602883b authored by Steven杜宇's avatar Steven杜宇

// 优才续签证件管理

parent d47d9c7c
......@@ -16,6 +16,7 @@ class YHResignCertificateDetailEVisaViewController: YHBaseViewController {
var clickIndex = -1
var file: [YHWorkExperienceFileModel] = []
var data: YHResignCertificateModel = YHResignCertificateModel()
var viewModel: YHResignCertificateDetailViewModel = YHResignCertificateDetailViewModel()
var orderId: Int = 0
......@@ -42,6 +43,12 @@ class YHResignCertificateDetailEVisaViewController: YHBaseViewController {
file = [model]
}
tableView.reloadData()
nextButton.snp.remakeConstraints { make in
make.left.equalTo(16)
make.right.equalTo(-16)
make.bottom.equalTo(-8 - k_Height_safeAreaInsetsBottom())
make.height.equalTo(data.status == ResignCertificateStatus.Complete.rawValue ? 0 : 48)
}
}
func setView() {
......@@ -198,6 +205,7 @@ extension YHResignCertificateDetailEVisaViewController: UITableViewDelegate, UIT
let starRange = NSRange(location: 0, length: 2)
questionAttrStr.addAttribute(NSAttributedString.Key.foregroundColor, value: UIColor.failColor, range: starRange)
cell.titleLabel.attributedText = questionAttrStr
cell.dataModel = self.data
cell.dataSource = self.file
cell.experienceListBlock = {[weak self] model, type in
guard let self = self else { return }
......@@ -316,7 +324,7 @@ extension YHResignCertificateDetailEVisaViewController: UITableViewDelegate, UIT
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 145
return UITableView.automaticDimension
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
......
......@@ -27,6 +27,7 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
var data: [YHItemModel] = []
var isShowPrompt = false
var failString: String = ""
var isDisableEdit: Bool = false
lazy var tableView: UITableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
......@@ -48,7 +49,7 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
lazy var bottomView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.backgroundColor = UIColor(hex: 0xF8F9FB)
view.addSubview(bottomBtn)
bottomBtn.snp.makeConstraints { make in
make.left.equalTo(16)
......@@ -139,6 +140,10 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
}
@objc func didSaveBtnClicked() {
if isDisableEdit {
return
}
if !checkInfo() {
isShowPrompt = true
updateData()
......@@ -195,6 +200,11 @@ class YHResignCertificateDetailHkViewController: YHBaseViewController {
self.dataModel = model
self.loadDetailInfo()
self.showExampleView()
isDisableEdit = dataModel.status == ResignCertificateStatus.Complete.rawValue
bottomView.isHidden = isDisableEdit ? true : false
bottomView.snp.updateConstraints { make in
make.height.equalTo(self.isDisableEdit ? 0 : 98)
}
}
}
......@@ -362,23 +372,7 @@ extension YHResignCertificateDetailHkViewController: UITableViewDelegate, UITabl
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section != 0 {
if urls[0].count == 0 && urls[1].count == 0 {
return 211
} else {
var tatol = 0
for item in data {
let isShow = item.isShowPrompts ?? false
let message = item.message ?? ""
let isNeed = item.isNeed ?? false
if isShow && message.count == 0 && isNeed {
tatol += 20
}
}
return CGFloat(649 + tatol)
}
}
return UITableView.automaticDimension
}
......
......@@ -27,6 +27,7 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
var data: [YHItemModel] = []
var isShowPrompt = false
var failString: String = ""
var isDisableEdit: Bool = false
lazy var tableView: UITableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
......@@ -48,7 +49,7 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
lazy var bottomView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.backgroundColor = UIColor(hex: 0xF8F9FB)
view.addSubview(bottomBtn)
bottomBtn.snp.makeConstraints { make in
make.left.equalTo(16)
......@@ -132,6 +133,11 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
}
@objc func didSaveBtnClicked() {
if isDisableEdit {
return
}
if !checkInfo() {
isShowPrompt = true
updateData()
......@@ -178,6 +184,12 @@ class YHResignCertificateDetailPassPortViewController: YHBaseViewController {
self.dataModel = model
self.loadDetailInfo()
self.showExampleView()
isDisableEdit = dataModel.status == ResignCertificateStatus.Complete.rawValue
bottomView.isHidden = isDisableEdit ? true : false
bottomView.snp.updateConstraints { make in
make.height.equalTo(self.isDisableEdit ? 0 : 98)
}
}
}
......@@ -287,23 +299,6 @@ extension YHResignCertificateDetailPassPortViewController: UITableViewDelegate,
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.section != 0 {
if urls[0].count == 0 {
return 211
} else {
var tatol = 0
for item in data {
let isShow = item.isShowPrompts ?? false
let message = item.message ?? ""
let isNeed = item.isNeed ?? false
if isShow && message.count == 0 && isNeed {
tatol += 20
}
}
return CGFloat(501 + tatol)
}
}
return UITableView.automaticDimension
}
......
......@@ -17,10 +17,34 @@ class YHResignCertificateDetailViewController: YHBaseViewController {
var dataModel: YHResignCertificateModel = YHResignCertificateModel() {
didSet {
isDisableEdit = dataModel.status == ResignCertificateStatus.Complete.rawValue
if dataModel.status == ResignCertificateStatus.NotUpload.rawValue {
self.statusLabel.backgroundColor = UIColor.brandMainColor(alpha: 0.08)
self.statusLabel.text = "未上传"
self.statusLabel.textColor = UIColor.brandMainColor
} else if dataModel.status == ResignCertificateStatus.Review.rawValue {
self.statusLabel.backgroundColor = UIColor(hex: 0xFF8000).withAlphaComponent(0.08)
self.statusLabel.text = "审核中"
self.statusLabel.textColor = UIColor(hex: 0xFF8000)
} else if dataModel.status == ResignCertificateStatus.Complete.rawValue {
self.statusLabel.backgroundColor = UIColor(hex: 0x3CC694).withAlphaComponent(0.08)
self.statusLabel.text = "已完成"
self.statusLabel.textColor = UIColor(hex: 0x3CC694)
} else if dataModel.status == ResignCertificateStatus.Rejected.rawValue {
self.statusLabel.backgroundColor = UIColor(hex: 0xF81D22).withAlphaComponent(0.08)
self.statusLabel.text = "已驳回"
self.statusLabel.textColor = UIColor(hex: 0xF81D22)
}
}
}
var detailType: UploadCertificateDetailType = .SmallWhiteNote
var canEditFlag: Bool = true // 已上传状态也可以重新传
var isDisableEdit: Bool = false
lazy var uploadImageVM: YHBaseViewModel = {
let vm = YHBaseViewModel()
......@@ -70,6 +94,18 @@ class YHResignCertificateDetailViewController: YHBaseViewController {
return lable
}()
private lazy var statusLabel: UILabel = {
let lable = UILabel(frame: CGRect(x: 0, y: 0, width: 38, height: 16))
lable.text = "待上传"
lable.font = .PFSC_M(ofSize: 10)
lable.backgroundColor = UIColor(hex: 0x2F7EF6, transparency: 0.08)
lable.textColor = .brandMainColor
lable.layer.cornerRadius = kCornerRadius3
lable.clipsToBounds = true
lable.textAlignment = .center
return lable
}()
lazy var lineView: UIView = {
let view = UIView()
view.backgroundColor = .separatorColor
......@@ -109,6 +145,16 @@ class YHResignCertificateDetailViewController: YHBaseViewController {
return view
}()
private lazy var reasonLabel: UILabel = {
let label = UILabel()
label.font = UIFont.PFSC_R(ofSize: 12)
label.textColor = UIColor.failColor
label.textAlignment = .left
label.numberOfLines = 0
label.text = "被驳回原因:"
return label
}()
private var startDateStr: String = ""
private var endDateStr: String = ""
private var uploadImageUrl: String = ""
......@@ -276,6 +322,9 @@ private extension YHResignCertificateDetailViewController {
}
@objc func tapItem(gestureRecognizer: UITapGestureRecognizer) {
if isDisableEdit {
return
}
var title = ""
var defaultDate = ""
......@@ -386,7 +435,11 @@ private extension YHResignCertificateDetailViewController {
guard let self = self else { return }
guard let url = success else { return }
self.cardButton.kf.setBackgroundImage(with: URL(string: url), for: .normal, completionHandler: { _ in
self.delImageButton.isHidden = false
if self.isDisableEdit {
self.delImageButton.isHidden = true
} else {
self.delImageButton.isHidden = false
}
})
self.cardButton.setContent("", "")
}
......@@ -411,6 +464,23 @@ private extension YHResignCertificateDetailViewController {
}
}
}
bottomView.snp.remakeConstraints { make in
make.left.equalToSuperview()
make.right.equalToSuperview()
make.bottom.equalToSuperview()
make.height.equalTo(isDisableEdit ? 0 : YHFileListBottomView.viewH)
}
reasonLabel.text = "被驳回原因:" + dataModel.audit_remark
reasonLabel.snp.remakeConstraints { make in
make.top.equalTo(lineView.snp.bottom).offset(dataModel.status == ResignCertificateStatus.Rejected.rawValue ? 12 : 0)
make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18)
if dataModel.status != ResignCertificateStatus.Rejected.rawValue {
make.height.equalTo(0)
}
}
}
func setupUI() {
......@@ -470,10 +540,18 @@ private extension YHResignCertificateDetailViewController {
make.height.equalTo(1)
}
whiteContentView.addSubview(reasonLabel)
reasonLabel.snp.makeConstraints { make in
make.top.equalTo(lineView.snp.bottom).offset(12)
make.left.equalToSuperview().offset(18)
make.right.equalToSuperview().offset(-18)
make.height.equalTo(0)
}
whiteContentView.addSubview(cardLabel)
cardLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(18)
make.top.equalTo(lineView.snp.bottom).offset(12)
make.top.equalTo(reasonLabel.snp.bottom).offset(12)
make.height.equalTo(20)
make.width.equalTo(160)
}
......@@ -481,7 +559,7 @@ private extension YHResignCertificateDetailViewController {
if detailType == .SmallWhiteNote {
titleTextView.attributed.text = """
\("*", .foreground(UIColor.failColor), .font(UIFont.PFSC_M(ofSize: 17)))\(" \(dataModel.name)的第一次赴港激活小白条 ", .foreground(UIColor.mainTextColor), .font(UIFont.PFSC_M(ofSize: 17)))\(.view(customLabel, .original(.center)))
\("*", .foreground(UIColor.failColor), .font(UIFont.PFSC_M(ofSize: 17)))\(" \(dataModel.name)的第一次赴港激活小白条 ", .foreground(UIColor.mainTextColor), .font(UIFont.PFSC_M(ofSize: 17)))\(.view(customLabel, .original(.center))) \(.view(statusLabel, .original(.center)))
"""
whiteContentView.addSubview(cardButton)
......@@ -518,7 +596,7 @@ private extension YHResignCertificateDetailViewController {
endDateItem.addGestureRecognizer(tap2)
} else if detailType == .HongKongCard {
titleTextView.attributed.text = """
\("*", .foreground(UIColor.failColor), .font(UIFont.PFSC_M(ofSize: 17)))\(" \(dataModel.name)的香港身份证 ", .foreground(UIColor.mainTextColor), .font(UIFont.PFSC_M(ofSize: 17)))\(.view(customLabel, .original(.center)))
\("*", .foreground(UIColor.failColor), .font(UIFont.PFSC_M(ofSize: 17)))\(" \(dataModel.name)的香港身份证 ", .foreground(UIColor.mainTextColor), .font(UIFont.PFSC_M(ofSize: 17)))\(.view(customLabel, .original(.center))) \(.view(statusLabel, .original(.center)))
"""
whiteContentView.addSubview(cardButton)
......
......@@ -37,6 +37,7 @@ class YHResignCertificateModel: SmartCodable {
var user_type: String = ""
var valid_date: String = ""
var sign_valid_date: String = "" // 签注有效期
var audit_remark: String = ""
var cert_info: YHResignCertificateInfoModel = YHResignCertificateInfoModel()
required init() {
......
......@@ -15,9 +15,12 @@ class YHResignCertificateEvisaTableViewCell: UITableViewCell {
var experienceListBlock: ExperienceListBlock?
typealias NewFileBlock = () -> Void
var newFileBlock: NewFileBlock?
var dataModel: YHResignCertificateModel = YHResignCertificateModel()
var centerView: UIView!
var titleLabel: UILabel!
var statusLabel: UILabel!
var reasonLabel: UILabel!
var lineView: UIView!
var itemView: YHWorkFileItemView!
var bottomView: YHWorkItemAddView!
......@@ -66,9 +69,28 @@ class YHResignCertificateEvisaTableViewCell: UITableViewCell {
make.left.equalTo(18)
make.top.equalTo(16)
make.height.equalTo(24)
make.right.equalTo(-20)
}
statusLabel = {
let lable = UILabel(frame: CGRect(x: 0, y: 0, width: 38, height: 16))
lable.text = "待上传"
lable.font = .PFSC_M(ofSize: 10)
lable.backgroundColor = UIColor(hex: 0x2F7EF6, transparency: 0.08)
lable.textColor = .brandMainColor
lable.layer.cornerRadius = kCornerRadius3
lable.clipsToBounds = true
lable.textAlignment = .center
return lable
}()
centerView.addSubview(statusLabel)
statusLabel.snp.makeConstraints { make in
make.left.equalTo(titleLabel.snp.right).offset(8)
make.centerY.equalTo(titleLabel.snp.centerY)
make.height.equalTo(16)
make.width.equalTo(38)
make.right.lessThanOrEqualTo(-8)
}
lineView = {
let view = UIView()
view.backgroundColor = UIColor.separatorColor
......@@ -82,6 +104,23 @@ class YHResignCertificateEvisaTableViewCell: UITableViewCell {
make.top.equalTo(51.5)
}
reasonLabel = {
let label = UILabel()
label.font = UIFont.PFSC_R(ofSize: 12)
label.textColor = UIColor.failColor
label.textAlignment = .left
label.numberOfLines = 0
label.text = "被驳回原因:"
return label
}()
centerView.addSubview(reasonLabel)
reasonLabel.snp.makeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-20)
make.top.equalTo(lineView.snp.bottom).offset(0)
make.height.equalTo(0)
}
itemView = {
let view = YHWorkFileItemView()
view.block = {[weak self] model, type in
......@@ -97,6 +136,7 @@ class YHResignCertificateEvisaTableViewCell: UITableViewCell {
make.left.equalToSuperview()
make.right.equalToSuperview()
make.height.equalTo(74)
make.top.equalTo(reasonLabel.snp.bottom).offset(0)
make.bottom.equalToSuperview()
}
......@@ -116,6 +156,7 @@ class YHResignCertificateEvisaTableViewCell: UITableViewCell {
make.right.equalTo(-18)
make.left.equalTo(18)
make.height.equalTo(45)
make.top.equalTo(reasonLabel.snp.bottom).offset(0)
make.bottom.equalTo(-16)
}
}
......@@ -129,5 +170,37 @@ class YHResignCertificateEvisaTableViewCell: UITableViewCell {
itemView.dataSource = model.first
bottomView.isHidden = true
itemView.isHidden = false
reasonLabel.isHidden = (dataModel.status != ResignCertificateStatus.Rejected.rawValue)
reasonLabel.text = "被驳回原因:" + dataModel.audit_remark
reasonLabel.snp.remakeConstraints { make in
make.left.equalTo(18)
make.right.equalTo(-18)
if dataModel.status != ResignCertificateStatus.Rejected.rawValue {
make.height.equalTo(0)
}
make.top.equalTo(lineView.snp.bottom).offset(dataModel.status == ResignCertificateStatus.Rejected.rawValue ? 18 : 0)
}
if dataModel.status == ResignCertificateStatus.NotUpload.rawValue {
self.statusLabel.backgroundColor = UIColor.brandMainColor(alpha: 0.08)
self.statusLabel.text = "未上传"
self.statusLabel.textColor = UIColor.brandMainColor
} else if dataModel.status == ResignCertificateStatus.Review.rawValue {
self.statusLabel.backgroundColor = UIColor(hex: 0xFF8000).withAlphaComponent(0.08)
self.statusLabel.text = "审核中"
self.statusLabel.textColor = UIColor(hex: 0xFF8000)
} else if dataModel.status == ResignCertificateStatus.Complete.rawValue {
self.statusLabel.backgroundColor = UIColor(hex: 0x3CC694).withAlphaComponent(0.08)
self.statusLabel.text = "已完成"
self.statusLabel.textColor = UIColor(hex: 0x3CC694)
} else if dataModel.status == ResignCertificateStatus.Rejected.rawValue {
self.statusLabel.backgroundColor = UIColor(hex: 0xF81D22).withAlphaComponent(0.08)
self.statusLabel.text = "已驳回"
self.statusLabel.textColor = UIColor(hex: 0xF81D22)
}
}
}
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