Commit 94b2a09e authored by Steven杜宇's avatar Steven杜宇

// 资料上传界面

parent 7c7f9773
......@@ -136,6 +136,7 @@
0430E68E2C7875F4000511E2 /* YHAdopterDependentDataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0430E68D2C7875F4000511E2 /* YHAdopterDependentDataModel.swift */; };
0430E6902C7EC78C000511E2 /* YHCardUploadView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0430E68F2C7EC78C000511E2 /* YHCardUploadView.swift */; };
0430E6922C7EF08B000511E2 /* YHAdopterOtherCardTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0430E6912C7EF08B000511E2 /* YHAdopterOtherCardTableViewCell.swift */; };
0431F8822C942D88003B84F4 /* YHResignMaterialNameCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0431F8812C942D88003B84F4 /* YHResignMaterialNameCell.swift */; };
04358E042C77322700811928 /* YHHaveGrabbedNumberListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04358E032C77322700811928 /* YHHaveGrabbedNumberListCell.swift */; };
04358E062C77334B00811928 /* YHHaveGrabbedNumberInfoView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04358E052C77334B00811928 /* YHHaveGrabbedNumberInfoView.swift */; };
04358E082C77657000811928 /* YHReAppointViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04358E072C77657000811928 /* YHReAppointViewController.swift */; };
......@@ -933,6 +934,7 @@
0430E68D2C7875F4000511E2 /* YHAdopterDependentDataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAdopterDependentDataModel.swift; sourceTree = "<group>"; };
0430E68F2C7EC78C000511E2 /* YHCardUploadView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCardUploadView.swift; sourceTree = "<group>"; };
0430E6912C7EF08B000511E2 /* YHAdopterOtherCardTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHAdopterOtherCardTableViewCell.swift; sourceTree = "<group>"; };
0431F8812C942D88003B84F4 /* YHResignMaterialNameCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHResignMaterialNameCell.swift; sourceTree = "<group>"; };
04358E032C77322700811928 /* YHHaveGrabbedNumberListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHaveGrabbedNumberListCell.swift; sourceTree = "<group>"; };
04358E052C77334B00811928 /* YHHaveGrabbedNumberInfoView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHHaveGrabbedNumberInfoView.swift; sourceTree = "<group>"; };
04358E072C77657000811928 /* YHReAppointViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHReAppointViewController.swift; sourceTree = "<group>"; };
......@@ -2051,6 +2053,7 @@
isa = PBXGroup;
children = (
0449EEED2C8EF8CB00A397FD /* YHResignMaterialCell.swift */,
0431F8812C942D88003B84F4 /* YHResignMaterialNameCell.swift */,
);
path = V;
sourceTree = "<group>";
......@@ -3221,34 +3224,34 @@
path = M;
sourceTree = "<group>";
};
04B4B8D82C9068F500ED82BC /* ResignDocumentManagement(续签文书管理) */ = {
isa = PBXGroup;
children = (
041892222C91BCE500B9FB94 /* M */,
04B4B8DA2C90693E00ED82BC /* C */,
04B4B8D92C90693700ED82BC /* V */,
);
path = "ResignDocumentManagement(续签文书管理)";
sourceTree = "<group>";
};
04B4B8D92C90693700ED82BC /* V */ = {
isa = PBXGroup;
children = (
041892202C91BBAA00B9FB94 /* YHResignDocumentCell.swift */,
041892252C91BDF500B9FB94 /* YHResignDocumentHeaderCell.swift */,
041892272C91BE3300B9FB94 /* YHResignDocumentContentCell.swift */,
);
path = V;
sourceTree = "<group>";
};
04B4B8DA2C90693E00ED82BC /* C */ = {
isa = PBXGroup;
children = (
04B4B8DB2C90696E00ED82BC /* YHResignDocumentManagementVC.swift */,
);
path = C;
sourceTree = "<group>";
};
04B4B8D82C9068F500ED82BC /* ResignDocumentManagement(续签文书管理) */ = {
isa = PBXGroup;
children = (
041892222C91BCE500B9FB94 /* M */,
04B4B8DA2C90693E00ED82BC /* C */,
04B4B8D92C90693700ED82BC /* V */,
);
path = "ResignDocumentManagement(续签文书管理)";
sourceTree = "<group>";
};
04B4B8D92C90693700ED82BC /* V */ = {
isa = PBXGroup;
children = (
041892202C91BBAA00B9FB94 /* YHResignDocumentCell.swift */,
041892252C91BDF500B9FB94 /* YHResignDocumentHeaderCell.swift */,
041892272C91BE3300B9FB94 /* YHResignDocumentContentCell.swift */,
);
path = V;
sourceTree = "<group>";
};
04B4B8DA2C90693E00ED82BC /* C */ = {
isa = PBXGroup;
children = (
04B4B8DB2C90696E00ED82BC /* YHResignDocumentManagementVC.swift */,
);
path = C;
sourceTree = "<group>";
};
04CE1AB52C2AD91F001CB80A /* Activity(活动) */ = {
isa = PBXGroup;
children = (
......@@ -4899,6 +4902,7 @@
0430E6862C76DF6A000511E2 /* YHAdopterMainModel.swift in Sources */,
A56D2D612B62020C009C83A8 /* YHContractMainItemStatusCell.swift in Sources */,
045EEECF2B9F171A0022A143 /* YHScoreOptionsView.swift in Sources */,
0431F8822C942D88003B84F4 /* YHResignMaterialNameCell.swift in Sources */,
04CE1AD22C2AD91F001CB80A /* YHActivityModel.swift in Sources */,
044EE23A2C92BEF900A2FE3A /* YHResignCertificateListViewModel.swift in Sources */,
04256E002C7440A500A37BA4 /* YHFamilyWarmTipsCell.swift in Sources */,
......
......@@ -85,6 +85,12 @@ class YHCertificateTemplateCell: UITableViewCell {
}
}
var templateModel: YHResignTemplateItemModel? {
didSet {
templateView.titleLabel.text = "查看资料示例模版"
}
}
lazy var templateView: YHCertificateSampleTemplateView = {
let view = YHCertificateSampleTemplateView(frame:CGRectZero)
return view
......
......@@ -11,6 +11,10 @@ import JXSegmentedView
class YHResignMaterialListVC: YHBaseViewController {
var orderId: Int = 0
var id: Int = 0
var items:[YHResignMaterialInfo] = [] {
didSet {
self.tableView.reloadData()
......@@ -120,18 +124,21 @@ extension YHResignMaterialListVC: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
if 0 <= indexPath.section && indexPath.section < items.count {
// let item = items[indexPath.section]
//
// if item.checkStatus == YHCertificateUploadStatus.preUpload.rawValue { // 待上传
// showUploadSheetView(supplementId:item.id)
// return
// }
// // 非待上传的进入详情
// let vc = YHCertificateUploadContentListVC()
// vc.orderId = orderId ?? 0
// vc.categoryId = categoryInfo.categoryId
// vc.supplementId = item.id
// self.navigationController?.pushViewController(vc)
let list = items[indexPath.section]
if 0 <= indexPath.row, indexPath.row < list.materials.count {
let item = list.materials[indexPath.row]
// if item.status == YHMaterialStatus.preUpload.rawValue { // 待上传
// // showUploadSheetView(supplementId:item.id)
// return
// }
// 非待上传的进入详情
let vc = YHResignMaterialUploadVC()
vc.materialId = item.id
vc.orderId = self.orderId
vc.id = self.id
self.navigationController?.pushViewController(vc)
}
}
}
......
......@@ -14,30 +14,27 @@ class YHResignMaterialUploadVC: YHBaseViewController {
// 进入该页面以下三个参数必传
var orderId : Int = 0
var categoryId: Int = 0
var supplementId: Int = 0
var id : Int = 0
var materialId : Int = 0
private var categoryInfo = YHCategoryData()
private var supplementInfo = YHSupplementInfo() {
var materialModel: YHMaterialModel = YHMaterialModel() {
didSet {
templateArr.removeAll()
if supplementInfo.templateInfo.materialPath.count > 0 {
let template = supplementInfo.templateInfo.materialPath[0]
template.type = 0
templateArr.append(template)
}
if supplementInfo.templateInfo.guideFilePath.count > 0 {
let guide = supplementInfo.templateInfo.guideFilePath[0]
guide.type = 1
templateArr.append(guide)
}
self.tableView.reloadData()
}
}
var viewModel: YHCertificateViewModel = YHCertificateViewModel()
var templateArr:[YHMaterialPath] = []
var items:[YHContentUrl] = []
var selectEditItem: YHContentUrl?
var templateModel: YHResignTemplateDetail = YHResignTemplateDetail()
var templateArr: [YHResignTemplateItemModel] = []
var categoryId: Int = 0
var supplementId: Int = 0
var viewModel: YHResignMaterialViewModel = YHResignMaterialViewModel()
var items:[YHMaterialModelItemModel] = []
var selectEditItem: YHMaterialModelItemModel?
lazy var previewFileTool:YHFilePreviewTool = {
let tool = YHFilePreviewTool(targetVC: self)
return tool
......@@ -70,7 +67,7 @@ class YHResignMaterialUploadVC: YHBaseViewController {
tableView.delegate = self
tableView.dataSource = self
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHCertificateNameCell.self, forCellReuseIdentifier: YHCertificateNameCell.cellReuseIdentifier)
tableView.register(YHResignMaterialNameCell.self, forCellReuseIdentifier: YHResignMaterialNameCell.cellReuseIdentifier)
tableView.register(YHCertificateTemplateCell.self, forCellReuseIdentifier: YHCertificateTemplateCell.cellReuseIdentifier)
......@@ -85,53 +82,42 @@ class YHResignMaterialUploadVC: YHBaseViewController {
btn.backgroundColor = UIColor.brandMainColor
btn.layer.cornerRadius = kCornerRadius3
btn.addTarget(self, action: #selector(didClickUploadBtn), for: .touchUpInside)
btn.isHidden = true
return btn
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .white
self.gk_navTitle = "上传内容"
self.gk_navTitle = "资料上传"
addKeyBoardNotify()
createUI()
items.removeAll()
if supplementInfo.contentUrl.count > 0 {
items.append(contentsOf: supplementInfo.contentUrl)
}
tableView.reloadData()
requestList()
renameInputView.editBlock = {
[weak self] text in
guard let self = self else { return }
if let selectEditItem = selectEditItem, var text = text {
// 重命名
text = text + "." + selectEditItem.getFileSuffixName()
YHHUD.show(.progress(message: "重命名中..."))
self.viewModel.updateCertificateItem(supplementsId:supplementInfo.id, urlModels:[selectEditItem], operation: "rename", rename: text) {
success, error in
YHHUD.hide()
if success {
YHHUD.flash(message: "重命名成功")
} else {
var msg = "重命名失败"
if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
msg = errorMsg
}
YHHUD.flash(message:msg)
}
self.requestList()
}
}
}
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
NotificationCenter.default.post(name: YhConstant.YhNotification.refreshCertificateFileListNotifiction, object: nil)
requestMaterialDetail()
// renameInputView.editBlock = {
// [weak self] text in
// guard let self = self else { return }
// if let selectEditItem = selectEditItem, var text = text {
// // 重命名
// text = text + "." + selectEditItem.getFileSuffixName()
// YHHUD.show(.progress(message: "重命名中..."))
// self.viewModel.updateCertificateItem(supplementsId:supplementInfo.id, urlModels:[selectEditItem], operation: "rename", rename: text) {
// success, error in
// YHHUD.hide()
// if success {
// YHHUD.flash(message: "重命名成功")
// } else {
// var msg = "重命名失败"
// if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
// msg = errorMsg
// }
// YHHUD.flash(message:msg)
// }
// self.requestList()
// }
// }
// }
}
deinit {
......@@ -140,33 +126,33 @@ class YHResignMaterialUploadVC: YHBaseViewController {
@objc func didClickUploadBtn() {
if items.count >= 99 {
YHHUD.flash(message: "已达上限\n最多上传99张图片或文件")
return
}
let sheetView = YHCertificateUploadSheetView.sheetView()
sheetView.maxSelectImageCount = 99-items.count
sheetView.uploadFilesBlock = {
[weak self] fileUrl in
guard let self = self else { return }
print(fileUrl)
self.viewModel.uploadFile(fileUrl, supplementId: supplementId) {
[weak self] in
guard let self = self else { return }
self.requestList()
}
}
sheetView.uploadImageBlock = {
[weak self] targetImgArr in
guard let self = self else { return }
self.viewModel.uploadImageArr(targetImgArr, supplementId: supplementId) {
[weak self] in
guard let self = self else { return }
self.requestList()
}
}
sheetView.show()
// if items.count >= 99 {
// YHHUD.flash(message: "已达上限\n最多上传99张图片或文件")
// return
// }
//
// let sheetView = YHCertificateUploadSheetView.sheetView()
// sheetView.maxSelectImageCount = 99-items.count
// sheetView.uploadFilesBlock = {
// [weak self] fileUrl in
// guard let self = self else { return }
// print(fileUrl)
// self.viewModel.uploadFile(fileUrl, supplementId: supplementId) {
// [weak self] in
// guard let self = self else { return }
// self.requestList()
// }
// }
// sheetView.uploadImageBlock = {
// [weak self] targetImgArr in
// guard let self = self else { return }
// self.viewModel.uploadImageArr(targetImgArr, supplementId: supplementId) {
// [weak self] in
// guard let self = self else { return }
// self.requestList()
// }
// }
// sheetView.show()
}
func createUI() {
......@@ -175,14 +161,10 @@ class YHResignMaterialUploadVC: YHBaseViewController {
view.addSubview(tableView)
view.addSubview(blackMaskView)
view.addSubview(renameInputView)
tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.right.equalTo(view)
if supplementInfo.checkStatus == YHCertificateUploadStatus.finish.rawValue {
make.bottom.equalToSuperview()
} else {
make.bottom.equalTo(uploadBtn.snp.top).offset(-34)
}
make.left.right.bottom.equalToSuperview()
}
uploadBtn.snp.makeConstraints { make in
make.left.equalToSuperview().offset(16)
......@@ -190,7 +172,6 @@ class YHResignMaterialUploadVC: YHBaseViewController {
make.height.equalTo(48.0)
make.bottom.equalToSuperview().offset(-8-k_Height_safeAreaInsetsBottom())
}
renameInputView.snp.makeConstraints { make in
make.left.right.equalTo(view)
make.height.equalTo(YHFileRenameInputView.height)
......@@ -219,12 +200,12 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
let cell = tableView.dequeueReusableCell(withIdentifier: YHCertificateTemplateCell.cellReuseIdentifier, for: indexPath) as! YHCertificateTemplateCell
cell.update(bottomMargin: 15)
if 0 <= indexPath.row && indexPath.row < templateArr.count {
cell.templatePath = templateArr[indexPath.row]
cell.templateModel = templateArr[indexPath.row]
}
return cell
}
let cell = tableView.dequeueReusableCell(withIdentifier: YHCertificateNameCell.cellReuseIdentifier, for: indexPath) as! YHCertificateNameCell
let cell = tableView.dequeueReusableCell(withIdentifier: YHResignMaterialNameCell.cellReuseIdentifier, for: indexPath) as! YHResignMaterialNameCell
if 0 <= indexPath.row && indexPath.row < items.count {
let item = items[indexPath.row]
cell.updateModel(item)
......@@ -238,7 +219,8 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
YHCertificateEditItem(type:.delete, title:"删除"),
YHCertificateEditItem(type:.cancel, title:"取消")]
if supplementInfo.checkStatus == YHCertificateUploadStatus.finish.rawValue {
if self.materialModel.status == YHMaterialStatus.completed.rawValue {
items = [YHCertificateEditItem(type:.preview, title:"预览"),
YHCertificateEditItem(type:.cancel, title:"取消")]
}
......@@ -264,30 +246,30 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
YHTwoOptionAlertView.showAlertView(message:msg) { sure in
if !sure { return }
// 删除
YHHUD.show(.progress(message: "删除中..."))
self.viewModel.updateCertificateItem(supplementsId:self.supplementInfo.id, urlModels:[contentItem], operation: "del", rename:"") {
success, error in
YHHUD.hide()
if success {
YHHUD.flash(message: "删除成功")
} else {
var msg = "删除失败"
if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
msg = errorMsg
}
YHHUD.flash(message:msg)
}
self.requestList()
}
// YHHUD.show(.progress(message: "删除中..."))
// self.viewModel.updateCertificateItem(supplementsId:self.supplementInfo.id, urlModels:[contentItem], operation: "del", rename:"") {
// success, error in
// YHHUD.hide()
// if success {
// YHHUD.flash(message: "删除成功")
// } else {
// var msg = "删除失败"
// if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
// msg = errorMsg
// }
// YHHUD.flash(message:msg)
// }
// self.requestList()
// }
}
} else if editType == .preview { // 预览
print(contentItem.url)
self.viewModel.getPublicImageUrl(contentItem.url) { success, error in
if let success = success {
self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName:contentItem.name)
}
}
// self.viewModel.getPublicImageUrl(contentItem.url) { success, error in
// if let success = success {
// self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName:contentItem.name)
// }
// }
}
}.show()
}
......@@ -305,10 +287,10 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
private func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> CGFloat {
if section == 0 {
if supplementInfo.templateInfo.isNeedShowTemplate() {
return UITableView.automaticDimension
}
return 0.0
// if supplementInfo.templateInfo.isNeedShowTemplate() {
// return UITableView.automaticDimension
// }
return UITableView.automaticDimension
}
return UITableView.automaticDimension
}
......@@ -318,15 +300,15 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
let view = UIView()
if section == 0 { // 证件示例模版
if !supplementInfo.templateInfo.isNeedShowTemplate() {
return view
}
// if !supplementInfo.templateInfo.isNeedShowTemplate() {
// return view
// }
let titlelabel = UILabel()
titlelabel.textColor = UIColor.mainTextColor
titlelabel.textAlignment = .left
titlelabel.font = UIFont.PFSC_M(ofSize:17)
titlelabel.text = "\(supplementInfo.name)示例模版"
titlelabel.text = "\(self.materialModel.name)示例模版"
titlelabel.numberOfLines = 0
view.addSubview(titlelabel)
......@@ -341,8 +323,8 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
tipsLabel.textAlignment = .left
tipsLabel.font = UIFont.PFSC_R(ofSize:14)
tipsLabel.numberOfLines = 0
if !supplementInfo.templateInfo.description.isEmpty {
tipsLabel.text = "注意事项:\n\(supplementInfo.templateInfo.description)"
if !self.templateModel.remark.isEmpty {
tipsLabel.text = "注意事项:\n\(self.templateModel.remark)"
}
view.addSubview(tipsLabel)
......@@ -360,7 +342,7 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
titlelabel.textColor = UIColor.mainTextColor
titlelabel.textAlignment = .left
titlelabel.font = UIFont.PFSC_M(ofSize:17)
titlelabel.text = supplementInfo.name
titlelabel.text = self.materialModel.name
titlelabel.numberOfLines = 0
view.addSubview(titlelabel)
......@@ -374,21 +356,25 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
var text = ""
var textColor:UIColor = .clear
var bgColor:UIColor = .clear
if supplementInfo.checkStatus == YHCertificateUploadStatus.review.rawValue {
if self.materialModel.status == YHMaterialStatus.review.rawValue {
text = "审核中".local
textColor = UIColor(hexString: "#FF9900")!
bgColor = UIColor(hexString: "#FF9900", transparency: 0.08)!
} else if supplementInfo.checkStatus == YHCertificateUploadStatus.preUpload.rawValue {
} else if self.materialModel.status == YHMaterialStatus.preUpload.rawValue {
text = "待上传".local
textColor = UIColor(hexString: "#2F7EF6")!
bgColor = UIColor(hexString: "#2F7EF6", transparency: 0.08)!
} else if supplementInfo.checkStatus == YHCertificateUploadStatus.finish.rawValue {
} else if self.materialModel.status == YHMaterialStatus.completed.rawValue {
text = "已完成".local
textColor = UIColor(hexString: "#49D2B1")!
bgColor = UIColor(hexString: "#49D2B1", transparency: 0.08)!
} else if supplementInfo.checkStatus == YHCertificateUploadStatus.rejected.rawValue {
} else if self.materialModel.status == YHMaterialStatus.rejected.rawValue {
text = "已驳回".local
textColor = UIColor.failColor
bgColor = UIColor(hexString: "#F81D22", transparency: 0.08)!
......@@ -425,11 +411,11 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
make.bottom.equalToSuperview().offset(-15)
}
if supplementInfo.checkStatus != YHCertificateUploadStatus.rejected.rawValue {
if self.materialModel.status == YHMaterialStatus.rejected.rawValue {
return view
}
if supplementInfo.auditContent.isEmpty { // 无驳回理由
if self.materialModel.audit_remark.isEmpty { // 无驳回理由
return view
}
......@@ -452,7 +438,7 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
rejectContentLabel.font = UIFont.PFSC_R(ofSize:12)
rejectContentLabel.numberOfLines = 0
rejectContentLabel.textAlignment = .left
rejectContentLabel.text = supplementInfo.auditContent
rejectContentLabel.text = self.materialModel.audit_remark
rejectView.addSubview(rejectContentLabel)
tipsLabel.snp.remakeConstraints { make in
......@@ -526,24 +512,24 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
if indexPath.section == 0 { // 模版列表
if 0 <= indexPath.row && indexPath.row < templateArr.count {
let path = templateArr[indexPath.row]
print(path.url)
if !path.url.isEmpty {
self.previewFileTool.openXLSXRemoteFile(urlString:path.url, fileName:"预览")
print(path.file_url)
if !path.file_url.isEmpty {
self.previewFileTool.openXLSXRemoteFile(urlString:path.file_url, fileName:"预览")
}
}
} else if indexPath.section == 1 { // 证件列表
if 0 <= indexPath.row && indexPath.row < items.count {
let cer = items[indexPath.row]
if !cer.url.isEmpty {
print(cer.url)
self.viewModel.getPublicImageUrl(cer.url) { success, error in
if let success = success {
self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName:cer.name)
}
}
}
}
// if 0 <= indexPath.row && indexPath.row < items.count {
// let cer = items[indexPath.row]
// if !cer.url.isEmpty {
// print(cer.url)
// self.viewModel.getPublicImageUrl(cer.url) { success, error in
// if let success = success {
// self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName:cer.name)
// }
// }
// }
// }
}
}
......@@ -589,47 +575,51 @@ extension YHResignMaterialUploadVC {
extension YHResignMaterialUploadVC {
func requestList() {
let params:[String:Any] = [
"order_id" : orderId,
"node": "1",
"state": "1",
"category_id": categoryId,
"supplement_ids": supplementId]
print(params)
viewModel.getCertificateList(params: params) {
func requestMaterialDetail() {
viewModel.getMaterialDeal(orderId: orderId, id: id, materialId: materialId) {
[weak self] listInfo, error in
[weak self] success, error in
guard let self = self else { return }
items.removeAll()
if let listInfo = listInfo {
categoryInfo = listInfo.categoryData
let arr = listInfo.supplementList
if arr.count > 0 {
supplementInfo = arr[0]
}
for item in arr {
items.append(contentsOf: item.contentUrl)
}
}
self.materialModel = self.viewModel.materialDeal
self.items = self.materialModel.info
if categoryInfo.checkStatus == YHCertificateUploadStatus.finish.rawValue {
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)
}
}
}
func requestTemplate() {
viewModel.getTemplateInfo(templateId: self.materialModel.template_id) {
[weak self] success, error in
guard let self = self else { return }
self.templateModel = self.viewModel.templateDeail
self.templateArr = self.templateModel.file_url
self.tableView.reloadData()
}
}
}
......@@ -13,12 +13,27 @@ class YHResinMaterialManageContainerVC: YHBaseViewController {
static let segmentHeight = 40.0
let viewModel = YHResignMaterialViewModel()
var orderId: Int = 151336
var id: Int = 351
var titles = ["全部", "待上传(0)", "已驳回(0)", "审核中(0)", "已完成(0)"]
let itemVCs:[YHResignMaterialListVC] = [YHResignMaterialListVC(),
YHResignMaterialListVC(),
YHResignMaterialListVC(),
YHResignMaterialListVC(),
YHResignMaterialListVC()]
lazy var itemVCs:[YHResignMaterialListVC] = {
let vc0 = self.createListVC()
let vc1 = self.createListVC()
let vc2 = self.createListVC()
let vc3 = self.createListVC()
let vc4 = self.createListVC()
return [vc0, vc1, vc2, vc3, vc4]
}()
func createListVC() -> YHResignMaterialListVC {
let vc0 = YHResignMaterialListVC()
vc0.orderId = self.orderId
vc0.id = self.id
return vc0
}
//分类title 所对应的VC
lazy var listContainerView: JXSegmentedListContainerView! = {
......@@ -104,8 +119,8 @@ class YHResinMaterialManageContainerVC: YHBaseViewController {
func requestData() {
let params: [String : Any] = ["order_id" : 151336,
"id" : 351]
let params: [String : Any] = ["order_id" : orderId,
"id" : id]
viewModel.getMaterialList(param: params) { success, error in
for (index, vc) in self.itemVCs.enumerated() {
if index == 0 {
......
......@@ -52,7 +52,7 @@ class YHMaterialModel: SmartCodable {
// 资料类型(CERT=证件资料 WORK=工作资料 LIVE=生活资料)
var mtype: String = ""
var name: String = ""
var info: String = ""
var info: [YHMaterialModelItemModel] = []
var upload_require: String = ""
var audit_at: String = ""
var audit_uid: Int = 0
......@@ -63,7 +63,7 @@ class YHMaterialModel: SmartCodable {
var created_at: String = ""
var updated_at: String = ""
var deleted_at: String = ""
required init() {
}
......@@ -81,3 +81,68 @@ class YHMembersModel: SmartCodable {
}
}
class YHResignTemplateDetail: SmartCodable {
var id: Int = 0
var type: Int = 0
var name: String = ""
var remark: String = ""
var file_url: [YHResignTemplateItemModel] = []
required init() {
}
}
class YHResignTemplateItemModel: SmartCodable {
var name: String = ""
var file_url: String = ""
required init() {
}
}
class YHMaterialModelItemModel: SmartCodable {
var uid: String = ""
var url: String = ""
var name: String = ""
var naming: String = ""
var status: String = ""
var updated_at: String = ""
// 获取文件后缀名 eg:123.pdf -> pdf
func getFileSuffixName()->String {
let res1 = url.pathExtension.lowercased()
if !res1.isEmpty {
return res1
}
let res2 = name.pathExtension.lowercased()
if !res2.isEmpty {
return res2
}
return ""
}
// 获取文件名(不包含后缀) eg:123.pdf -> 123
func getFileNameWithoutSuffix()->String {
if name.isEmpty {
return name
}
if !name.contains(".") {
return name
}
if !name.pathExtension.isEmpty {
let fileName = (name as NSString).deletingPathExtension
return fileName
}
return ""
}
required init() {
}
}
//
// YHResignMaterialNameCell.swift
// galaxy
//
// Created by edy on 2024/9/13.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHResignMaterialNameCell: UITableViewCell {
static let cellReuseIdentifier = "YHResignMaterialNameCell"
var editBlock:((YHMaterialModelItemModel)->())?
var whiteView: UIView!
var iconImgV: UIImageView!
var nameLabel: UILabel!
var timeLabel: UILabel!
var editBtn: UIButton!
var contentItem: YHMaterialModelItemModel!
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
func updateModel(_ model: YHMaterialModelItemModel) {
contentItem = model
nameLabel.text = model.name
timeLabel.text = "上传于\(model.updated_at)"
let suffix = model.getFileSuffixName()
var iconImgName = ""
if suffix == "jpeg" {
iconImgName = "my_cer_type_jpg"
} else if suffix == "jpg" {
iconImgName = "my_cer_type_jpg"
} else if suffix == "png" {
iconImgName = "my_cer_type_png"
} else if suffix == "pdf" {
iconImgName = "my_cer_type_pdf"
} else if suffix == "doc" || suffix == "docx" {
iconImgName = "my_cer_type_word"
} else if suffix == "ppt" || suffix == "pptx" {
iconImgName = "my_cer_type_ppt"
} else if suffix == "bmp" {
iconImgName = "my_cer_type_bmp"
} else if suffix == "tiff" {
iconImgName = "my_cer_type_tiff"
}
iconImgV.image = UIImage(named: iconImgName)
}
@objc func didEditBtnClicked() {
if let editBlock = editBlock {
editBlock(contentItem)
}
}
func setupUI() {
self.selectionStyle = .none
contentView.backgroundColor = .white
whiteView = UIView()
contentView.addSubview(whiteView)
iconImgV = UIImageView(image:UIImage(named:"my_cer_type_jpg"))
whiteView.addSubview(iconImgV)
nameLabel = UILabel()
nameLabel.textColor = UIColor.mainTextColor
nameLabel.textAlignment = .left
nameLabel.numberOfLines = 0
nameLabel.font = UIFont.PFSC_M(ofSize:14)
whiteView.addSubview(nameLabel)
timeLabel = UILabel()
timeLabel.textColor = UIColor.labelTextColor2
timeLabel.textAlignment = .left
timeLabel.font = UIFont.PFSC_R(ofSize:11)
whiteView.addSubview(timeLabel)
editBtn = UIButton()
editBtn.setImage(UIImage(named:"my_cer_btn_edit"), for:.normal)
editBtn.YH_clickEdgeInsets = UIEdgeInsets(top: 30, left: 30, bottom: 30, right: 30)
editBtn.addTarget(self, action: #selector(didEditBtnClicked), for: .touchUpInside)
whiteView.addSubview(editBtn)
whiteView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview()
make.top.equalToSuperview()
make.bottom.equalToSuperview().offset(-14)
}
iconImgV.snp.makeConstraints { make in
make.width.height.equalTo(31)
make.centerY.equalToSuperview()
make.left.equalToSuperview().offset(6)
}
nameLabel.snp.makeConstraints { make in
make.left.equalTo(iconImgV.snp.right).offset(18)
make.top.equalToSuperview().offset(7)
make.right.equalTo(editBtn.snp.left)
}
timeLabel.snp.makeConstraints { make in
make.left.right.equalTo(nameLabel)
make.top.equalTo(nameLabel.snp.bottom).offset(2)
make.bottom.equalToSuperview().offset(-7)
make.height.equalTo(20)
}
editBtn.snp.makeConstraints { make in
make.width.height.equalTo(16)
make.centerY.equalToSuperview()
make.right.equalToSuperview().offset(-20-6)
}
}
}
......@@ -28,7 +28,7 @@ class YHResignMaterialGroup {
var lifes:[YHMaterialModel] = []
// 证件资料
var cers: [YHMaterialModel] = []
func getTotalCount() -> Int {
return works.count + lifes.count + cers.count
}
......@@ -69,6 +69,12 @@ class YHResignMaterialViewModel: NSObject {
// 已完成
var finishGroup: YHResignMaterialGroup = YHResignMaterialGroup()
// 某个具体资料详情
var materialDeal: YHMaterialModel = YHMaterialModel()
// 某个具体资料模版
var templateDeail: YHResignTemplateDetail = YHResignTemplateDetail()
func clear() {
self.allGroup.clear()
self.preuploadGroup.clear()
......@@ -135,4 +141,67 @@ class YHResignMaterialViewModel: NSObject {
}
return group
}
func getMaterialDeal(orderId: Int, id: Int, materialId: Int, callback:((_ success: Bool,_ error:YHErrorModel?)->())?) {
let params = ["order_id" : orderId,
"id" : id,
"material_id" : materialId]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.ResignMaterial.resignMaterialList
let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
guard let dic = json.data?.peel as? [String : Any], let resultModel = YHMaterialListModel.deserialize(from: dic) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
callback?(false, err)
return
}
if let first = resultModel.material.first {
self.materialDeal = first
}
callback?(true, nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callback?(false, err)
}
} failBlock: { err in
callback?(false, err)
}
}
func getTemplateInfo(templateId: Int, callback:((_ success: Bool,_ error:YHErrorModel?)->())?) {
let params = ["template_id" : templateId]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.ResignMaterial.resginTemplateDetail
let _ = YHNetRequest.getRequest(url: strUrl,params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
printLog("model 是 ==> \(json)")
if json.code == 200 {
guard let dic = json.data?.peel as? [String : Any], let resultModel = YHResignTemplateDetail.deserialize(from: dic) else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
callback?(false, err)
return
}
self.templateDeail = resultModel
callback?(true, nil)
} else {
let err = YHErrorModel(errorCode: Int32(json.code), errorMsg: json.msg.isEmpty ? "" : json.msg)
callback?(false, err)
}
} failBlock: { err in
callback?(false, err)
}
}
}
......@@ -518,7 +518,10 @@ class YHAllApiName {
// 续签资料
struct ResignMaterial {
// 资料列表
static let resignMaterialList = "super-app/identity-renewal/renewal-batch-list"
// 资料模版详情
static let resginTemplateDetail = "super-app/identity-renewal/template-detail"
}
struct ResignCertificate {
......
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