Commit 261350f7 authored by Steven杜宇's avatar Steven杜宇

// 资料上传

parent 51c65e92
...@@ -57,7 +57,6 @@ class YHResignMaterialUploadVC: YHBaseViewController { ...@@ -57,7 +57,6 @@ class YHResignMaterialUploadVC: YHBaseViewController {
lazy var tableView: UITableView = { lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.grouped) let tableView = UITableView(frame:.zero, style:.grouped)
if #available(iOS 11.0, *) { if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never tableView.contentInsetAdjustmentBehavior = .never
} }
...@@ -69,8 +68,6 @@ class YHResignMaterialUploadVC: YHBaseViewController { ...@@ -69,8 +68,6 @@ class YHResignMaterialUploadVC: YHBaseViewController {
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell") tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHResignMaterialNameCell.self, forCellReuseIdentifier: YHResignMaterialNameCell.cellReuseIdentifier) tableView.register(YHResignMaterialNameCell.self, forCellReuseIdentifier: YHResignMaterialNameCell.cellReuseIdentifier)
tableView.register(YHCertificateTemplateCell.self, forCellReuseIdentifier: YHCertificateTemplateCell.cellReuseIdentifier) tableView.register(YHCertificateTemplateCell.self, forCellReuseIdentifier: YHCertificateTemplateCell.cellReuseIdentifier)
return tableView return tableView
}() }()
...@@ -95,29 +92,31 @@ class YHResignMaterialUploadVC: YHBaseViewController { ...@@ -95,29 +92,31 @@ class YHResignMaterialUploadVC: YHBaseViewController {
createUI() createUI()
requestMaterialDetail() requestMaterialDetail()
// renameInputView.editBlock = { renameInputView.editBlock = {
// [weak self] text in [weak self] text in
// guard let self = self else { return } guard let self = self else { return }
// if let selectEditItem = selectEditItem, var text = text { if let selectEditItem = selectEditItem, var text = text {
// // 重命名 // 重命名
// text = text + "." + selectEditItem.getFileSuffixName() text = text + "." + selectEditItem.getFileSuffixName()
// YHHUD.show(.progress(message: "重命名中...")) YHHUD.show(.progress(message: "重命名中..."))
// self.viewModel.updateCertificateItem(supplementsId:supplementInfo.id, urlModels:[selectEditItem], operation: "rename", rename: text) { selectEditItem.name = text
// success, error in
// YHHUD.hide() self.viewModel.updateMaterials(material: self.materialModel, addInfoArr: []) {
// if success { success, error in
// YHHUD.flash(message: "重命名成功") YHHUD.hide()
// } else { if success {
// var msg = "重命名失败" YHHUD.flash(message: "重命名成功")
// if let errorMsg = error?.errorMsg, !errorMsg.isEmpty { } else {
// msg = errorMsg var msg = "重命名失败"
// } if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
// YHHUD.flash(message:msg) msg = errorMsg
// } }
// self.requestList() YHHUD.flash(message:msg)
// } }
// } self.requestMaterialDetail()
// } }
}
}
} }
deinit { deinit {
...@@ -126,33 +125,34 @@ class YHResignMaterialUploadVC: YHBaseViewController { ...@@ -126,33 +125,34 @@ class YHResignMaterialUploadVC: YHBaseViewController {
@objc func didClickUploadBtn() { @objc func didClickUploadBtn() {
// if items.count >= 99 { if items.count >= 99 {
// YHHUD.flash(message: "已达上限\n最多上传99张图片或文件") YHHUD.flash(message: "已达上限\n最多上传99张图片或文件")
// return return
// } }
//
// let sheetView = YHCertificateUploadSheetView.sheetView() let sheetView = YHCertificateUploadSheetView.sheetView()
// sheetView.maxSelectImageCount = 99-items.count sheetView.maxSelectImageCount = 99-items.count
// sheetView.uploadFilesBlock = { sheetView.uploadFilesBlock = {
// [weak self] fileUrl in [weak self] fileUrl in
// guard let self = self else { return } guard let self = self else { return }
// print(fileUrl) print(fileUrl)
// self.viewModel.uploadFile(fileUrl, supplementId: supplementId) {
// [weak self] in self.viewModel.uploadFilesWithMaterial(material:self.materialModel, fileUrl: fileUrl) {
// guard let self = self else { return } [weak self] in
// self.requestList() guard let self = self else { return }
// } self.requestMaterialDetail()
// } }
// sheetView.uploadImageBlock = { }
// [weak self] targetImgArr in sheetView.uploadImageBlock = {
// guard let self = self else { return } [weak self] targetImgArr in
guard let self = self else { return }
// self.viewModel.uploadImageArr(targetImgArr, supplementId: supplementId) { // self.viewModel.uploadImageArr(targetImgArr, supplementId: supplementId) {
// [weak self] in // [weak self] in
// guard let self = self else { return } // guard let self = self else { return }
// self.requestList() // self.requestList()
// } // }
// } }
// sheetView.show() sheetView.show()
} }
func createUI() { func createUI() {
...@@ -241,35 +241,47 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource { ...@@ -241,35 +241,47 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
renameInputView.textField.becomeFirstResponder() renameInputView.textField.becomeFirstResponder()
} else if editType == .delete { // 删除 } else if editType == .delete { // 删除
let msg = "您确定要删除文档\(contentItem.name)吗?" let msg = "您确定要删除文档\(contentItem.name)吗?"
YHTwoOptionAlertView.showAlertView(message:msg) { sure in YHTwoOptionAlertView.showAlertView(message:msg) { sure in
if !sure { return } if !sure { return }
// 删除 // 删除
// YHHUD.show(.progress(message: "删除中...")) YHHUD.show(.progress(message: "删除中..."))
// self.viewModel.updateCertificateItem(supplementsId:self.supplementInfo.id, urlModels:[contentItem], operation: "del", rename:"") { var deleteIndex = -1
// success, error in for (index, item) in self.materialModel.info.enumerated() {
// YHHUD.hide() if contentItem.url == item.url {
// if success { deleteIndex = index
// YHHUD.flash(message: "删除成功") break
// } else { }
// var msg = "删除失败" }
// if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
// msg = errorMsg if deleteIndex == -1 { // 没有找到对应资料文件
// } YHHUD.flash(message: "删除成功")
// YHHUD.flash(message:msg) return
// } }
// self.requestList() self.materialModel.info.remove(at: deleteIndex)
// } self.viewModel.updateMaterials(material: self.materialModel, addInfoArr: []) {
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.requestMaterialDetail()
}
} }
} else if editType == .preview { // 预览 } else if editType == .preview { // 预览
print(contentItem.url) print(contentItem.url)
// self.viewModel.getPublicImageUrl(contentItem.url) { success, error in self.viewModel.getPublicImageUrl(contentItem.url) { success, error in
// if let success = success { if let success = success {
// self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName:contentItem.name) self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName:contentItem.name)
// } }
// } }
} }
}.show() }.show()
} }
...@@ -512,17 +524,17 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource { ...@@ -512,17 +524,17 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
} }
} else if indexPath.section == 1 { // 证件列表 } else if indexPath.section == 1 { // 证件列表
// if 0 <= indexPath.row && indexPath.row < items.count { if 0 <= indexPath.row && indexPath.row < items.count {
// let cer = items[indexPath.row] let cer = items[indexPath.row]
// if !cer.url.isEmpty { if !cer.url.isEmpty {
// print(cer.url) print(cer.url)
// self.viewModel.getPublicImageUrl(cer.url) { success, error in self.viewModel.getPublicImageUrl(cer.url) { success, error in
// if let success = success { if let success = success {
// self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName:cer.name) self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName:cer.name)
// } }
// } }
// } }
// } }
} }
} }
...@@ -570,9 +582,10 @@ extension YHResignMaterialUploadVC { ...@@ -570,9 +582,10 @@ extension YHResignMaterialUploadVC {
func requestMaterialDetail() { func requestMaterialDetail() {
YHHUD.show(.progress(message: "加载中..."))
viewModel.getMaterialDeal(orderId: orderId, id: id, materialId: materialId) { viewModel.getMaterialDeal(orderId: orderId, id: id, materialId: materialId) {
[weak self] success, error in [weak self] success, error in
YHHUD.hide()
guard let self = self else { return } guard let self = self else { return }
self.materialModel = self.viewModel.materialDeal self.materialModel = self.viewModel.materialDeal
......
...@@ -114,6 +114,9 @@ class YHMaterialModelItemModel: SmartCodable { ...@@ -114,6 +114,9 @@ class YHMaterialModelItemModel: SmartCodable {
var status: String = "" var status: String = ""
var updated_at: String = "" var updated_at: String = ""
var size: String = ""
var type: String = ""
// 获取文件后缀名 eg:123.pdf -> pdf // 获取文件后缀名 eg:123.pdf -> pdf
func getFileSuffixName()->String { func getFileSuffixName()->String {
let res1 = url.pathExtension.lowercased() let res1 = url.pathExtension.lowercased()
......
...@@ -57,7 +57,7 @@ class YHResignMaterialGroup { ...@@ -57,7 +57,7 @@ class YHResignMaterialGroup {
} }
} }
class YHResignMaterialViewModel: NSObject { class YHResignMaterialViewModel: YHBaseViewModel {
// 全部 // 全部
var allGroup: YHResignMaterialGroup = YHResignMaterialGroup() var allGroup: YHResignMaterialGroup = YHResignMaterialGroup()
// 待上传 // 待上传
...@@ -203,5 +203,110 @@ class YHResignMaterialViewModel: NSObject { ...@@ -203,5 +203,110 @@ class YHResignMaterialViewModel: NSObject {
} }
} }
// 添加/删除/重命名 资料
func updateMaterials(material: YHMaterialModel, addInfoArr:[YHMaterialModelItemModel], callback:((_ success: Bool,_ error:YHErrorModel?)->())?) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.ResignMaterial.uploadMaterials
var params = [
"material_id" : "\(material.id)",
"template_id" : "\(material.template_id)",
"status" : material.status,
"audit_remark" : material.audit_remark,
] as! [String : Any]
var info: [[String : Any]] = []
for item in material.info {
if let dict = item.toDictionary() {
info.append(dict)
}
}
for item in addInfoArr {
if let dict = item.toDictionary() {
info.append(dict)
}
}
params["info"] = info
let _ = YHNetRequest.postRequest(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 isSuccess = json.data?.peel as? Bool else {
let err = YHErrorModel(errorCode: YHErrorCode.dictParseError.rawValue, errorMsg: YHErrorCode.dictParseError.description())
callback?(false, err)
return
}
callback?(isSuccess, 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 uploadFilesWithMaterial(material: YHMaterialModel, fileUrl: URL, callback: (()->())?) {
if let fileData = try? Data(contentsOf: fileUrl) {
// 将文件数据上传到服务器
let size = String(format: "%.2fM", Double(fileData.count)/(1024.0 * 1024.0))
print("\(size)")
// 先OSS上传得到URL
YHHUD.show(.progress(message: "上传中..."))
self.uploadFile(fileUrl.absoluteString) {
[weak self] successUrl, error in
guard let self = self else { return }
YHHUD.hide()
// 再调用业务接口
if let successUrl = successUrl, !successUrl.isEmpty {
let fileName = successUrl.lastPathComponent
let suffixName = successUrl.pathExtension.lowercased()
let model = YHMaterialModelItemModel()
model.url = successUrl
model.name = fileName
model.naming = fileName
let dateFormatter = DateFormatter()
dateFormatter.dateFormat = "YYYY-MM-dd"
let dateString = dateFormatter.string(from: Date())
model.updated_at = dateString
YHHUD.show(.progress(message: "上传中..."))
self.updateMaterials(material: material, addInfoArr: [model]) {
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)
}
callback?()
}
return
}
var msg = "上传图片失败"
if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
msg = errorMsg
}
YHHUD.flash(message: msg)
}
} else {
YHHUD.flash(message: "识别文件失败")
}
}
} }
...@@ -522,6 +522,8 @@ class YHAllApiName { ...@@ -522,6 +522,8 @@ class YHAllApiName {
static let resignMaterialList = "super-app/identity-renewal/renewal-batch-list" static let resignMaterialList = "super-app/identity-renewal/renewal-batch-list"
// 资料模版详情 // 资料模版详情
static let resginTemplateDetail = "super-app/identity-renewal/template-detail" static let resginTemplateDetail = "super-app/identity-renewal/template-detail"
// 文件上传
static let uploadMaterials = "super-app/identity-renewal/renewal-upload"
} }
struct ResignCertificate { 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