Commit bf2aa820 authored by pete谢兆麟's avatar pete谢兆麟

工作经验重命名逻辑

parent 6d140bbc
...@@ -24,6 +24,11 @@ class YHPreviewInfoWorkSummaryView: UIView { ...@@ -24,6 +24,11 @@ class YHPreviewInfoWorkSummaryView: UIView {
var arrFiles : [WorkExpFilePreviewModel] = [] var arrFiles : [WorkExpFilePreviewModel] = []
var viewModel = YHBaseViewModel()
lazy var previewFileTool:YHFilePreviewTool = {
let tool = YHFilePreviewTool(targetVC: UIViewController.current)
return tool
}()
} }
extension YHPreviewInfoWorkSummaryView { extension YHPreviewInfoWorkSummaryView {
...@@ -92,9 +97,17 @@ extension YHPreviewInfoWorkSummaryView { ...@@ -92,9 +97,17 @@ extension YHPreviewInfoWorkSummaryView {
@objc func handleTap(_ gestureRecognizer: UITapGestureRecognizer) { @objc func handleTap(_ gestureRecognizer: UITapGestureRecognizer) {
guard let label = gestureRecognizer.view else { return } guard let label = gestureRecognizer.view else { return }
if label.tag < arrFiles.count { if label.tag < arrFiles.count {
let vc = YHImageViewController() // let vc = YHImageViewController()
vc.imgString = arrFiles[label.tag].fileUrl // vc.imgString = arrFiles[label.tag].fileUrl
UIViewController.current?.navigationController?.pushViewController(vc) // UIViewController.current?.navigationController?.pushViewController(vc)
YHHUD.show(.progress(message: ""))
self.viewModel.getPublicImageUrl(arrFiles[label.tag].fileUrl) { success, error in
YHHUD.hide()
if let success = success {
self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName: self.arrFiles[label.tag].fileName)
}
}
} else { } else {
printLog("error: 数组越界") printLog("error: 数组越界")
} }
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
// //
import UIKit import UIKit
import IQKeyboardManagerSwift
class YHWorkExperienceViewController: YHBaseViewController { class YHWorkExperienceViewController: YHBaseViewController {
var stepView: YHStepView! var stepView: YHStepView!
...@@ -21,7 +22,19 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -21,7 +22,19 @@ class YHWorkExperienceViewController: YHBaseViewController {
var isMore: Bool = false var isMore: Bool = false
var isShowPrompt: Bool = false var isShowPrompt: Bool = false
var isShowMessageSelect: Bool = true var isShowMessageSelect: Bool = true
var selectEditItem = YHWorkExperienceFileModel()
var renameInputView: YHFileRenameInputView = {
let view = YHFileRenameInputView.inputView(defalutText: "请输入名称")
return view
}()
lazy var blackMaskView: UIView = {
let view = UIView(frame:UIScreen.main.bounds)
view.backgroundColor = UIColor(hex: 0x0F1214, alpha: 0.5)
let tap = UITapGestureRecognizer(target: self, action: #selector(dismissed))
view.addGestureRecognizer(tap)
view.isHidden = true
return view
}()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
viewModel = YHWorkExperienceViewModel() viewModel = YHWorkExperienceViewModel()
...@@ -34,7 +47,50 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -34,7 +47,50 @@ class YHWorkExperienceViewController: YHBaseViewController {
getData() getData()
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(_:)), name: UIResponder.keyboardDidShowNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillShow(_:)), name: UIResponder.keyboardDidShowNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(_:)), name: UIResponder.keyboardDidHideNotification, object: nil) NotificationCenter.default.addObserver(self, selector: #selector(keyboardWillHide(_:)), name: UIResponder.keyboardDidHideNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(handleKeyboardNotification(_:)), name: UIResponder.keyboardWillShowNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(handleKeyboardNotification(_:)), name: UIResponder.keyboardWillHideNotification, object: nil)
// Do any additional setup after loading the view. // Do any additional setup after loading the view.
renameInputView.editBlock = {
[weak self] text in
guard let self = self else { return }
if var text = text, let dataSorce = fileDataSource {
// 重命名
self.renameInputView.isHidden = true
text = text + "." + getFileSuffixName(selectEditItem.fileUrl)
for item in dataSorce {
if item.fileUrl == selectEditItem.fileUrl {
item.fileName = text
}
}
self.viewModel.mainModel.file = self.fileDataSource ?? []
self.viewModel.saveWorkDetail(0, orderID: self.orderID, callBackBlock: {flag, error in
})
self.tableView.reloadData()
}
}
}
@objc func handleKeyboardNotification(_ notification: Notification) {
if notification.userInfo != nil {
if stepView.currentIndex == 4 || stepView.currentIndex == 3 {
guard let keyboardFrame = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as AnyObject).cgRectValue else {return }
let isKeyboardShow = notification.name == UIResponder.keyboardWillShowNotification
self.blackMaskView.isHidden = !isKeyboardShow
let bottomMargin = (isKeyboardShow ? 0 : YHFileRenameInputView.height)
if !isKeyboardShow {
IQKeyboardManager.shared.enable = true
}
self.renameInputView.snp.updateConstraints { make in
make.bottom.equalToSuperview().offset(bottomMargin)
}
self.view.setNeedsLayout()
self.view.layoutIfNeeded()
}
}
} }
func getData() { func getData() {
...@@ -167,6 +223,13 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -167,6 +223,13 @@ class YHWorkExperienceViewController: YHBaseViewController {
} }
bottomView.layoutIfNeeded() bottomView.layoutIfNeeded()
bottomView.nextButton.addYinHeGradualLayer() bottomView.nextButton.addYinHeGradualLayer()
view.addSubview(blackMaskView)
view.addSubview(renameInputView)
renameInputView.snp.makeConstraints { make in
make.left.right.equalTo(view)
make.height.equalTo(YHFileRenameInputView.height)
make.bottom.equalToSuperview().offset(YHFileRenameInputView.height)
}
} }
@objc func keyboardWillShow(_ notification: Notification) { @objc func keyboardWillShow(_ notification: Notification) {
...@@ -292,6 +355,32 @@ class YHWorkExperienceViewController: YHBaseViewController { ...@@ -292,6 +355,32 @@ class YHWorkExperienceViewController: YHBaseViewController {
deinit { deinit {
NotificationCenter.default.removeObserver(self) NotificationCenter.default.removeObserver(self)
} }
func getFileNameWithoutSuffix(_ string: String) -> String {
if string.isEmpty {
return string
}
if !string.contains(".") {
return string
}
if !string.pathExtension.isEmpty {
let fileName = (string as NSString).deletingPathExtension
return fileName
}
return ""
}
func getFileSuffixName(_ string: String)->String {
let res1 = string.pathExtension.lowercased()
if !res1.isEmpty {
return res1
}
return ""
}
@objc func dismissed() {
renameInputView.textField.resignFirstResponder()
}
} }
extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSource { extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSource {
...@@ -503,12 +592,23 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo ...@@ -503,12 +592,23 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
cell.experienceListBlock = {[weak self] model, type in cell.experienceListBlock = {[weak self] model, type in
guard let self = self else { return } guard let self = self else { return }
if type == .delete { if type == .delete {
let items = [YHCertificateEditItem(type:.preview, title:"预览"),
let items = [YHCertificateEditItem(type:.rename, title:"重命名"),
YHCertificateEditItem(type:.preview, title:"预览"),
YHCertificateEditItem(type:.delete, title:"删除"), YHCertificateEditItem(type:.delete, title:"删除"),
YHCertificateEditItem(type:.cancel, title:"取消")] YHCertificateEditItem(type:.cancel, title:"取消")]
YHCertificateEditSheetView.sheetView(items:items) { YHCertificateEditSheetView.sheetView(items:items) {
[weak self] editType in [weak self] editType in
guard let self = self else { return } guard let self = self else { return }
if editType == .rename {
self.selectEditItem = model
var name = getFileNameWithoutSuffix(model.fileName)
if name.count > 30 {
name = name[safe: ..<30]!
}
renameInputView.textField.text = name
renameInputView.textField.becomeFirstResponder()
}
if editType == .preview { if editType == .preview {
let vc = YHImageViewController() let vc = YHImageViewController()
vc.imgString = model.fileUrl vc.imgString = model.fileUrl
...@@ -614,12 +714,22 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo ...@@ -614,12 +714,22 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
cell.experienceListBlock = {[weak self] model, type in cell.experienceListBlock = {[weak self] model, type in
guard let self = self else { return } guard let self = self else { return }
if type == .delete { if type == .delete {
let items = [YHCertificateEditItem(type:.preview, title:"预览"), let items = [YHCertificateEditItem(type:.rename, title:"重命名"),
YHCertificateEditItem(type:.preview, title:"预览"),
YHCertificateEditItem(type:.delete, title:"删除"), YHCertificateEditItem(type:.delete, title:"删除"),
YHCertificateEditItem(type:.cancel, title:"取消")] YHCertificateEditItem(type:.cancel, title:"取消")]
YHCertificateEditSheetView.sheetView(items:items) { YHCertificateEditSheetView.sheetView(items:items) {
[weak self] editType in [weak self] editType in
guard let self = self else { return } guard let self = self else { return }
if editType == .rename {
self.selectEditItem = model
var name = getFileNameWithoutSuffix(model.fileName)
if name.count > 30 {
name = name[safe: ..<30]!
}
renameInputView.textField.text = name
renameInputView.textField.becomeFirstResponder()
}
if editType == .preview { if editType == .preview {
let vc = YHImageViewController() let vc = YHImageViewController()
vc.imgString = model.fileUrl vc.imgString = model.fileUrl
......
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