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

// 资料上传

parent 51c65e92
......@@ -57,7 +57,6 @@ class YHResignMaterialUploadVC: YHBaseViewController {
lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.grouped)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
......@@ -69,8 +68,6 @@ class YHResignMaterialUploadVC: YHBaseViewController {
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHResignMaterialNameCell.self, forCellReuseIdentifier: YHResignMaterialNameCell.cellReuseIdentifier)
tableView.register(YHCertificateTemplateCell.self, forCellReuseIdentifier: YHCertificateTemplateCell.cellReuseIdentifier)
return tableView
}()
......@@ -95,29 +92,31 @@ class YHResignMaterialUploadVC: YHBaseViewController {
createUI()
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()
// }
// }
// }
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: "重命名中..."))
selectEditItem.name = text
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()
}
}
}
}
deinit {
......@@ -126,33 +125,34 @@ 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 }
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.uploadFilesWithMaterial(material:self.materialModel, fileUrl: fileUrl) {
[weak self] in
guard let self = self else { return }
self.requestMaterialDetail()
}
}
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()
}
sheetView.show()
}
func createUI() {
......@@ -241,35 +241,47 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
renameInputView.textField.becomeFirstResponder()
} else if editType == .delete { // 删除
let msg = "您确定要删除文档\(contentItem.name)吗?"
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: "删除中..."))
var deleteIndex = -1
for (index, item) in self.materialModel.info.enumerated() {
if contentItem.url == item.url {
deleteIndex = index
break
}
}
if deleteIndex == -1 { // 没有找到对应资料文件
YHHUD.flash(message: "删除成功")
return
}
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 { // 预览
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()
}
......@@ -512,17 +524,17 @@ extension YHResignMaterialUploadVC: UITableViewDelegate, UITableViewDataSource {
}
} 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)
}
}
}
}
}
}
......@@ -570,9 +582,10 @@ extension YHResignMaterialUploadVC {
func requestMaterialDetail() {
YHHUD.show(.progress(message: "加载中..."))
viewModel.getMaterialDeal(orderId: orderId, id: id, materialId: materialId) {
[weak self] success, error in
YHHUD.hide()
guard let self = self else { return }
self.materialModel = self.viewModel.materialDeal
......
......@@ -114,6 +114,9 @@ class YHMaterialModelItemModel: SmartCodable {
var status: String = ""
var updated_at: String = ""
var size: String = ""
var type: String = ""
// 获取文件后缀名 eg:123.pdf -> pdf
func getFileSuffixName()->String {
let res1 = url.pathExtension.lowercased()
......
......@@ -57,7 +57,7 @@ class YHResignMaterialGroup {
}
}
class YHResignMaterialViewModel: NSObject {
class YHResignMaterialViewModel: YHBaseViewModel {
// 全部
var allGroup: YHResignMaterialGroup = YHResignMaterialGroup()
// 待上传
......@@ -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 {
static let resignMaterialList = "super-app/identity-renewal/renewal-batch-list"
// 资料模版详情
static let resginTemplateDetail = "super-app/identity-renewal/template-detail"
// 文件上传
static let uploadMaterials = "super-app/identity-renewal/renewal-upload"
}
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