Commit 2ec621ce authored by pete谢兆麟's avatar pete谢兆麟

文书下载

parent 8434f581
...@@ -13,6 +13,7 @@ class YHInvitationWithGiftsHeadView: UIView { ...@@ -13,6 +13,7 @@ class YHInvitationWithGiftsHeadView: UIView {
var bottomImageView: UIImageView! var bottomImageView: UIImageView!
var bgView: UIView! var bgView: UIView!
var marqueeLabel: UILabel! var marqueeLabel: UILabel!
var subMarqueeLabel: UILabel!
var timer: Timer? var timer: Timer?
var currentOffset: CGFloat = 0 var currentOffset: CGFloat = 0
...@@ -24,17 +25,31 @@ class YHInvitationWithGiftsHeadView: UIView { ...@@ -24,17 +25,31 @@ class YHInvitationWithGiftsHeadView: UIView {
} else { } else {
bgView.isHidden = false bgView.isHidden = false
var index = 0 var index = 0
var nextIndex = 1
if dataSource.count == 1 {
nextIndex = 0
}
let model = dataSource.first ?? YHShareCashOutModel() let model = dataSource.first ?? YHShareCashOutModel()
let nextModel = dataSource[nextIndex]
marqueeLabel.text = "\(model.mobile) 已提现 \(model.amount) 元" marqueeLabel.text = "\(model.mobile) 已提现 \(model.amount) 元"
subMarqueeLabel.text = "\(nextModel.mobile) 已提现 \(nextModel.amount) 元"
timer = Timer.scheduledTimer(withTimeInterval: 2.0, repeats: true) { [weak self] _ in timer = Timer.scheduledTimer(withTimeInterval: 2.0, repeats: true) { [weak self] _ in
index = index + 1 index = index + 1
UIView.animate(withDuration: 0.5) { UIView.animate(withDuration: 0.5) {
self?.marqueeLabel.frame.origin.y = -30 self?.marqueeLabel.frame.origin.y = -30
self?.subMarqueeLabel.frame.origin.y = 0
} completion: { flag in } completion: { flag in
let resultIndex = index % dataSource.count let resultIndex = index % dataSource.count
let nextIndex = (index + 1) % dataSource.count
let resultModel = dataSource[resultIndex] let resultModel = dataSource[resultIndex]
let nextModel = dataSource[nextIndex]
self?.marqueeLabel.text = "\(resultModel.mobile) 已提现 \(resultModel.amount) 元" self?.marqueeLabel.text = "\(resultModel.mobile) 已提现 \(resultModel.amount) 元"
self?.subMarqueeLabel.text = "\(nextModel.mobile) 已提现 \(nextModel.amount) 元"
self?.marqueeLabel.frame.origin.y = 0 self?.marqueeLabel.frame.origin.y = 0
self?.subMarqueeLabel.frame.origin.y = 30
} }
} }
} }
...@@ -104,6 +119,20 @@ class YHInvitationWithGiftsHeadView: UIView { ...@@ -104,6 +119,20 @@ class YHInvitationWithGiftsHeadView: UIView {
marqueeLabel.snp.makeConstraints { make in marqueeLabel.snp.makeConstraints { make in
make.left.right.top.bottom.equalToSuperview() make.left.right.top.bottom.equalToSuperview()
} }
subMarqueeLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 14)
label.textColor = .black
label.textAlignment = .center
return label
}()
bgView.addSubview(subMarqueeLabel)
subMarqueeLabel.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(bgView.snp.bottom)
make.height.equalTo(30)
}
} }
deinit { deinit {
......
...@@ -137,6 +137,14 @@ extension YHLifeViewController: UITableViewDelegate, UITableViewDataSource { ...@@ -137,6 +137,14 @@ extension YHLifeViewController: UITableViewDelegate, UITableViewDataSource {
return UIView() return UIView()
} }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let model = self.viewModel.detailModel.products[indexPath.row]
let vc = YHEvaluationViewVC()
// todo 谢
vc.url = YHBaseUrlManager.shared.curH5URL() + "articleDetail.html" + "?id=\(model.id)"
self.navigationController?.pushViewController(vc)
}
} }
extension YHLifeViewController: JXSegmentedListContainerViewListDelegate { extension YHLifeViewController: JXSegmentedListContainerViewListDelegate {
......
...@@ -27,6 +27,7 @@ class YHHomeLifeCategoryDetailModel: SmartCodable { ...@@ -27,6 +27,7 @@ class YHHomeLifeCategoryDetailModel: SmartCodable {
// MARK: - Product // MARK: - Product
class YHProductModel: SmartCodable { class YHProductModel: SmartCodable {
var id: String = ""
var name: String = "" var name: String = ""
var description: String = "" var description: String = ""
var image: String = "" var image: String = ""
......
...@@ -26,6 +26,8 @@ class YHMyDocumentsDetailViewController: YHBaseViewController { ...@@ -26,6 +26,8 @@ class YHMyDocumentsDetailViewController: YHBaseViewController {
var isAuth: Bool = true //小程序分享字段 var isAuth: Bool = true //小程序分享字段
var fileType: String = "sign" var fileType: String = "sign"
var orderID: Int = 0 var orderID: Int = 0
var isDocDownLoad: Bool = true
lazy var blackMaskView: UIView = { lazy var blackMaskView: UIView = {
let view = UIView(frame:UIScreen.main.bounds) let view = UIView(frame:UIScreen.main.bounds)
view.backgroundColor = UIColor(hex: 0x0F1214, alpha: 0.5) view.backgroundColor = UIColor(hex: 0x0F1214, alpha: 0.5)
...@@ -263,6 +265,23 @@ class YHMyDocumentsDetailViewController: YHBaseViewController { ...@@ -263,6 +265,23 @@ class YHMyDocumentsDetailViewController: YHBaseViewController {
YHCheckEamilAlertView.show(nil,text, "取消", "确认") { YHCheckEamilAlertView.show(nil,text, "取消", "确认") {
//进行 //进行
//发送接口 //发送接口
if self.isDocDownLoad {
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
YHHUD.show(.progress(message: "发送中..."))
let params = ["order_id":orderID,"supplement_id":self.viewModel.mainModel?.writing_document.supplement_id ?? 0,"email":text]
self.viewModel?.sendEmailForDoc(params, callBackBlock: { success, error in
YHHUD.hide()
if success {
YHHUD.flash(message: "已发送至邮箱")
} else {
let msg = error?.errorMsg ?? "发送失败"
YHHUD.flash(message: msg)
}
})
} else {
YHHUD.flash(message: "订单ID 为空")
}
} else {
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") { if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
YHHUD.show(.progress(message: "发送中...")) YHHUD.show(.progress(message: "发送中..."))
let params = ["order_id":orderID,"ids":[self.viewModel.mainModel?.writing_document.doc_sign.id ?? 0],"email":text] let params = ["order_id":orderID,"ids":[self.viewModel.mainModel?.writing_document.doc_sign.id ?? 0],"email":text]
...@@ -281,6 +300,7 @@ class YHMyDocumentsDetailViewController: YHBaseViewController { ...@@ -281,6 +300,7 @@ class YHMyDocumentsDetailViewController: YHBaseViewController {
} }
} }
} }
}
bottomButton.layoutIfNeeded() bottomButton.layoutIfNeeded()
bottomButton.addYinHeGradualLayer() bottomButton.addYinHeGradualLayer()
...@@ -454,6 +474,39 @@ extension YHMyDocumentsDetailViewController: UITableViewDelegate, UITableViewDat ...@@ -454,6 +474,39 @@ extension YHMyDocumentsDetailViewController: UITableViewDelegate, UITableViewDat
} }
}) })
} }
if type == .downLoad {
let items = [YHCertificateEditItem(type:.sendEmail, title:"发送至邮箱"),
YHCertificateEditItem(type:.cancel, title:"取消")]
YHCertificateEditSheetView.sheetView(items:items,sheetTitle: "请选择下载方式") {
[weak self] editType in
guard let self = self else { return }
IQKeyboardManager.shared.enable = false
if editType == .sendEmail {
isDocDownLoad = true
emailInputView.textField.text = ""
emailInputView.textField.becomeFirstResponder()
}
}.show()
// YHHUD.show(.progress(message: ""))
// self.viewModel.requestDocumentsTemporaryUrl("\(id)", callBackBlock: {[weak self] success, error in
// YHHUD.hide()
// guard let self = self else { return }
// if success {
// self.viewModel.requestDocumentRecord("\(id)", 1) { success, error in
// }
// guard let url = URL(string: self.viewModel?.urlModel?.url) else { return }
// let tmpVC = SFSafariViewController(url: url)
// tmpVC.dismissButtonStyle = .close
// tmpVC.delegate = self
// tmpVC.modalPresentationStyle = .fullScreen
// present(tmpVC, animated: true, completion: nil)
// } else {
// YHHUD.flash(message: error?.errorMsg ?? "")
// }
// })
}
} }
return cell return cell
} else { } else {
...@@ -549,6 +602,7 @@ extension YHMyDocumentsDetailViewController: UITableViewDelegate, UITableViewDat ...@@ -549,6 +602,7 @@ extension YHMyDocumentsDetailViewController: UITableViewDelegate, UITableViewDat
IQKeyboardManager.shared.enable = false IQKeyboardManager.shared.enable = false
if editType == .sendEmail { if editType == .sendEmail {
isDocDownLoad = false
emailInputView.textField.text = "" emailInputView.textField.text = ""
emailInputView.textField.becomeFirstResponder() emailInputView.textField.becomeFirstResponder()
} }
......
...@@ -298,6 +298,25 @@ class YHMyDocumentsDetailViewModel: YHBaseViewModel { ...@@ -298,6 +298,25 @@ class YHMyDocumentsDetailViewModel: YHBaseViewModel {
} }
} }
func sendEmailForDoc(_ params : [String : Any], callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.sendDocMail
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard self != nil else {
callBackBlock(false, nil)
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)
}
}
func requestSignBack(_ id: String, callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) { func requestSignBack(_ id: 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] = ["id": id] let params: [String : Any] = ["id": id]
......
...@@ -277,6 +277,7 @@ class YHAllApiName { ...@@ -277,6 +277,7 @@ class YHAllApiName {
static let download = "infoflow/sign/download" static let download = "infoflow/sign/download"
// 发送邮箱 // 发送邮箱
static let sendMail = "infoflow/sign/send_mail" static let sendMail = "infoflow/sign/send_mail"
static let sendDocMail = "infoflow/doc/send-mail"
// 提交签字 // 提交签字
static let confirm = "infoflow/my-sign/confirm" static let confirm = "infoflow/my-sign/confirm"
// 查看合同 // 查看合同
......
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