Commit 341a0b73 authored by pete谢兆麟's avatar pete谢兆麟

工作经验bug修复

parent cffdc855
...@@ -15,6 +15,8 @@ class YHMySignatureDetailViewController: YHBaseViewController { ...@@ -15,6 +15,8 @@ class YHMySignatureDetailViewController: YHBaseViewController {
var tableView: UITableView! var tableView: UITableView!
var dataSource: [YHWorkItemListModel]? var dataSource: [YHWorkItemListModel]?
var viewModel: YHMySignatureDetailViewModel? var viewModel: YHMySignatureDetailViewModel?
var timer = Timer()
var id: Int = 0 var id: Int = 0
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
...@@ -25,6 +27,25 @@ class YHMySignatureDetailViewController: YHBaseViewController { ...@@ -25,6 +27,25 @@ class YHMySignatureDetailViewController: YHBaseViewController {
// Do any additional setup after loading the view. // Do any additional setup after loading the view.
} }
func startTimer() {
let queue = DispatchQueue.global()
timer = Timer.scheduledTimer(withTimeInterval: 2.0, repeats: true) { _ in
queue.async {
self.checkSignatureState()
}
}
}
func checkSignatureState() {
viewModel?.requestSignCallBack("\(id)", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
if success ?? false {
timer.invalidate()
//刷新文件状态
}
})
}
override func viewWillAppear(_ animated: Bool) { override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated) super.viewWillAppear(animated)
getData() getData()
...@@ -118,5 +139,28 @@ extension YHMySignatureDetailViewController: UITableViewDelegate, UITableViewDat ...@@ -118,5 +139,28 @@ extension YHMySignatureDetailViewController: UITableViewDelegate, UITableViewDat
return CGFloat(82) return CGFloat(82)
} }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
viewModel?.requestSignaturePageURL("\(id)", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
if error?.errorCode == 1008611 {
//实名逻辑
self.viewModel?.requestSignaturePersonalURL(callBackBlock: {[weak self] success, error in
guard let self = self else { return }
let vc = YHNewWebViewController()
vc.url = self.viewModel?.personalUrl ?? ""
self.navigationController?.pushViewController(vc)
})
} else {
if success ?? false {
self.startTimer()
let vc = YHNewWebViewController()
vc.url = self.viewModel?.pageUrl ?? ""
self.navigationController?.pushViewController(vc)
} else {
YHHUD.flash(message: error?.errorMsg ?? "")
}
}
})
}
} }
...@@ -20,3 +20,7 @@ class YHMySignatureDetailModel: YHBaseModel { ...@@ -20,3 +20,7 @@ class YHMySignatureDetailModel: YHBaseModel {
var is_show_button: Bool = false var is_show_button: Bool = false
var status: Int = 0 var status: Int = 0
} }
class YHMySignatureURLModel: YHBaseModel {
var url: String = ""
}
...@@ -10,6 +10,8 @@ import UIKit ...@@ -10,6 +10,8 @@ import UIKit
class YHMySignatureDetailViewModel: YHBaseViewModel { class YHMySignatureDetailViewModel: YHBaseViewModel {
var mainModel: YHMySignatureDetailModel? var mainModel: YHMySignatureDetailModel?
var pageUrl: String?
var personalUrl: String?
override init() { override init() {
super.init() super.init()
...@@ -38,4 +40,69 @@ class YHMySignatureDetailViewModel: YHBaseViewModel { ...@@ -38,4 +40,69 @@ class YHMySignatureDetailViewModel: YHBaseViewModel {
callBackBlock(false, err) callBackBlock(false, err)
} }
} }
func requestSignaturePageURL(_ id: String, callBackBlock:@escaping (_ success: Bool?, _ error: YHErrorModel?)->()) {
// let params: [String : Any] = ["order_id": orderId]
let params: [String : Any] = ["id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.pageUrl
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
// let dic = json.data
// guard let result = YHMySignatureURLModel.deserialize(from: dic as? Dictionary) else {
// callBackBlock(false,nil)
// return
// }
self.pageUrl = json.data as? String
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
callBackBlock(false, err)
}
}
func requestSignaturePersonalURL(callBackBlock:@escaping (_ success: Bool?, _ error: YHErrorModel?)->()) {
// let params: [String : Any] = ["order_id": orderId]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.personalUrl
let _ = YHNetRequest.postRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
let dic = json.data
guard let result = YHMySignatureURLModel.deserialize(from: dic as? Dictionary) else {
callBackBlock(false,nil)
return
}
self.personalUrl = result.url
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
callBackBlock(false, err)
}
}
func requestSignCallBack(_ id: String, callBackBlock:@escaping (_ success: Bool?, _ error: YHErrorModel?)->()) {
// let params: [String : Any] = ["order_id": orderId]
let params: [String : Any] = ["id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.callBack
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
callBackBlock(false, err)
}
}
} }
...@@ -17,8 +17,8 @@ class YHMySignatureListViewModel: YHBaseViewModel { ...@@ -17,8 +17,8 @@ class YHMySignatureListViewModel: YHBaseViewModel {
} }
func requestSignatureList(_ orderId: String, callBackBlock:@escaping (_ success: Bool?, _ error: YHErrorModel?)->()) { func requestSignatureList(_ orderId: String, callBackBlock:@escaping (_ success: Bool?, _ error: YHErrorModel?)->()) {
// let params: [String : Any] = ["order_id": orderId] let params: [String : Any] = ["order_id": orderId]
let params: [String : Any] = ["order_id": 134154] // let params: [String : Any] = ["order_id": 134154]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.list let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.list
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象 //1. json字符串 转 对象
......
...@@ -132,6 +132,7 @@ class YHCompanySelectViewController: YHBaseViewController { ...@@ -132,6 +132,7 @@ class YHCompanySelectViewController: YHBaseViewController {
if let backLocationStringController = backLocationStringController { if let backLocationStringController = backLocationStringController {
var model = YHCompanyModelListModel() var model = YHCompanyModelListModel()
model.company_name = searchView.text model.company_name = searchView.text
backLocationStringController(model)
self.navigationController?.popViewController() self.navigationController?.popViewController()
} }
} }
......
...@@ -22,7 +22,6 @@ class YHWorkExperienceListViewController: YHBaseViewController { ...@@ -22,7 +22,6 @@ class YHWorkExperienceListViewController: YHBaseViewController {
viewModel = YHWorkItemListViewModel() viewModel = YHWorkItemListViewModel()
gk_navTitle = "工作经验信息填写" gk_navTitle = "工作经验信息填写"
setView() setView()
getData()
// Do any additional setup after loading the view. // Do any additional setup after loading the view.
} }
......
...@@ -23,9 +23,9 @@ class YHCompanyModel: YHBaseModel { ...@@ -23,9 +23,9 @@ class YHCompanyModel: YHBaseModel {
} }
class YHCompanyModelListModel: YHBaseModel { class YHCompanyModelListModel: YHBaseModel {
var company_id: Int? var company_id: Int? = 0
var company_name: String? var company_name: String? = ""
var company_num: Int? var company_num: Int? = 0
var company_link: String? var company_link: String? = ""
var company_introduce: String? var company_introduce: String? = ""
} }
...@@ -33,6 +33,17 @@ class YHNewWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationDe ...@@ -33,6 +33,17 @@ class YHNewWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationDe
// 添加wkwebview // 添加wkwebview
self.view.addSubview(webView) self.view.addSubview(webView)
// 加载网页的进度条
progBar = UIProgressView(frame: CGRect(x: 0, y: 0, width: self.view.frame.width, height: 30))
progBar.progress = 0.0
progBar.tintColor = UIColor.brandMainColor
webView.addSubview(progBar)
// 监听网页加载的进度
webView.addObserver(self, forKeyPath: "estimatedProgress", options: .new, context: nil)
}
override func viewDidDisappear(_ animated: Bool) {
webView.removeObserver(self, forKeyPath: "estimatedProgress")
} }
// MARK: - WKNavigationDelegate // MARK: - WKNavigationDelegate
...@@ -86,4 +97,23 @@ class YHNewWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationDe ...@@ -86,4 +97,23 @@ class YHNewWebViewController: YHBaseViewController, WKUIDelegate, WKNavigationDe
webView.goForward() webView.goForward()
} }
} }
override func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
if keyPath == "estimatedProgress" {
self.progBar.alpha = 1.0
progBar.setProgress(Float(webView.estimatedProgress), animated: true)
//进度条的值最大为1.0
if(self.webView.estimatedProgress >= 1.0) {
UIView.animate(withDuration: 0.3, delay: 0.1, options: .curveEaseInOut, animations: { () -> Void in
self.progBar.alpha = 0.0
}, completion: { (finished:Bool) -> Void in
self.progBar.progress = 0
})
}
}
}
override class func observeValue(forKeyPath keyPath: String?, of object: Any?, change: [NSKeyValueChangeKey : Any]?, context: UnsafeMutableRawPointer?) {
}
} }
...@@ -182,5 +182,11 @@ class YHAllApiName { ...@@ -182,5 +182,11 @@ class YHAllApiName {
static let list = "infoflow/my-sign/list" static let list = "infoflow/my-sign/list"
// 签字详情 // 签字详情
static let detail = "infoflow/my-sign/detail" static let detail = "infoflow/my-sign/detail"
// 获取签署url
static let pageUrl = "infoflow/sign/page-url"
// 获取实名认证Url
static let personalUrl = "infoflow/sign/personal-auth"
// 获取签署状态
static let callBack = "infoflow/sign/check-is-complete"
} }
} }
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