Commit 9e910ef8 authored by pete谢兆麟's avatar pete谢兆麟

续签补件详情页面接口及逻辑

parent c3955047
...@@ -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
......
...@@ -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 = ""
......
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