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

Merge commit '611667f3' into xiezhaolin

# Conflicts:
#	galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/MyDocuments(我的文书)/C/YHMyDocumentsListViewController.swift
parents e143adcf 611667f3
This diff is collapsed.
......@@ -12,19 +12,15 @@ import UIKit
*/
class YHMyDocumentsListViewController: YHBaseViewController {
var bottomButton: UIButton!
var tableView: UITableView!
var dataSource: [YHMyDocumentsListModel]?
var viewModel: YHMyDocumentsListViewModel?
var orderId: Int = 0
var mobile: String = ""
var arrIDs : [Int] = []//保存所有下载的id
private var isEditFlag : Bool = false {
didSet {
updateUIForEditStatus()
}
}
private var isEditFlag : Bool = false
lazy var headSessionView : YHMyDocListHeaderView = {
let view = YHMyDocListHeaderView()
......@@ -93,6 +89,17 @@ extension YHMyDocumentsListViewController {
headSessionView.block = { type in
self.updateUIForClickButton(type: type)
self.isEditFlag = type == .downAll ? true : false
guard let model = self.viewModel?.mainModel else { return }
for item in model.docs {
item.isEditFlag = self.isEditFlag
if self.isEditFlag {
item.isSelectedFlag = true
}
}
self.updateBottomViewNumbers()
self.tableView.reloadData()
}
view.addSubview(bottomView)
......@@ -104,14 +111,24 @@ extension YHMyDocumentsListViewController {
bottomView.block = { (type,flag) in
if type == .downAllCheck {
//todo
self.readyToDownLoad()
} else if type == .allChoice {
guard let model = self.viewModel?.mainModel else { return }
var tag = false
if flag {
//全选
tag = true
} else {
//全选 的 反选
tag = false
}
for item in model.docs {
item.isSelectedFlag = tag
}
self.updateBottomViewNumbers()
}
self.tableView.reloadData()
}
tableView = {
......@@ -131,18 +148,10 @@ extension YHMyDocumentsListViewController {
make.left.right.equalToSuperview()
make.bottom.equalToSuperview()
}
bottomView.layoutIfNeeded()
bottomView.bottomButton.addYinHeGradualLayer()
}
private func updateUIForEditStatus() {
//
}
private func updateUIForClickButton(type : ClickButtonType) {
bottomView.snp.removeConstraints()
tableView.snp.removeConstraints()
......@@ -167,6 +176,53 @@ extension YHMyDocumentsListViewController {
}
}
}
private func updateBottomViewNumbers() {
guard let dataSource = viewModel?.mainModel else { return }
let count = dataSource.docs.count
var selectedCount : Int = 0
for item in dataSource.docs {
if item.isSelectedFlag {
selectedCount += 1
}
}
bottomView.updateNumber(allNumber: count, selectedNumber: selectedCount)
}
private func readyToDownLoad() {
guard let dataSource = viewModel?.mainModel else {
YHHUD.flash(message: "暂无数据")
return
}
arrIDs.removeAll()
for item in dataSource.docs {
if item.isSelectedFlag {
arrIDs.append(item.id)
}
}
if arrIDs.isEmpty {
YHHUD.flash(message: "至少选择一个下载项")
return
}
//弹窗 选择发送邮箱
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
let params = ["order_id":orderID,"ids":arrIDs,"email":"383913637@qq.com"]
viewModel?.sendEmailForDocs(params, callBackBlock: { success, error in
if success {
YHHUD.flash(message: "发送成功")
} else {
let msg = error?.errorMsg ?? "发送失败"
YHHUD.flash(message: msg)
}
})
} else {
YHHUD.flash(message: "订单ID 为空")
}
}
}
extension YHMyDocumentsListViewController: UITableViewDelegate, UITableViewDataSource {
......@@ -185,19 +241,28 @@ extension YHMyDocumentsListViewController: UITableViewDelegate, UITableViewDataS
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let model = viewModel?.mainModel?.docs[indexPath.row]
if model?.file_type == "doc" {
if model?.template_id == 195 {
//跳转赴港计划书
guard let dataSource = viewModel?.mainModel else { return }
let model = dataSource.docs[indexPath.row]
if self.isEditFlag {
//编辑状态下的点击
model.isSelectedFlag = !model.isSelectedFlag
tableView.reloadRows(at: [indexPath], with: UITableView.RowAnimation.none)
updateBottomViewNumbers()
} else {
if model.file_type == "doc" {
if model.template_id == 195 {
//跳转赴港计划书
} else {
let vc = YHMyDocumentsDetailViewController()
vc.id = model.id
self.navigationController?.pushViewController(vc)
}
} else {
let vc = YHMyDocumentsDetailViewController()
vc.id = model?.id ?? 0
let vc = YHMySignatureDetailViewController()
vc.id = model.id
self.navigationController?.pushViewController(vc)
}
} else {
let vc = YHMySignatureDetailViewController()
vc.id = model?.id ?? 0
self.navigationController?.pushViewController(vc)
}
}
}
......
......@@ -27,6 +27,10 @@ class YHMyDocumentsListModel: YHBaseModel {
var contract_lock: Int = 0
var is_second_page: Bool = false
var audi_opinion: String = ""
var isEditFlag : Bool = false //是否为编辑状态
var isSelectedFlag : Bool = true //是否被选择 默认全部全部选择
}
class YHMyDocumentsNameExtraModel: YHBaseModel {
......
......@@ -61,6 +61,17 @@ class YHDocListBottomView: UIView {
view.backgroundColor = .separatorColor
return view
}()
func updateNumber(allNumber : Int,selectedNumber : Int) {
titleLable.text = "已选" + selectedNumber.string + "条"
if allNumber == selectedNumber,selectedNumber > 0 {
checkButton.isSelected = true
} else {
checkButton.isSelected = false
}
}
}
private extension YHDocListBottomView {
......@@ -101,6 +112,10 @@ private extension YHDocListBottomView {
@objc func clickCheckBtn() {
checkButton.isSelected = !checkButton.isSelected
block?(.allChoice,checkButton.isSelected)
if checkButton.isSelected == false {
titleLable.text = "已选" + 0.string + "条"
}
}
@objc func clickDownloadBtn() {
......
......@@ -41,6 +41,7 @@ class YHDocListCell: UITableViewCell {
button.setImage(UIImage(named: "my_doc_check_btn_0"), for: .normal)
button.setImage(UIImage(named: "my_doc_check_btn_1"), for: .selected)
button.addTarget(self, action: #selector(clickCheckBtn), for: .touchUpInside)
button.isUserInteractionEnabled = false
return button
}()
......@@ -115,10 +116,6 @@ class YHDocListCell: UITableViewCell {
make.width.equalTo(42)
make.height.equalTo(20)
}
centerView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.top.equalTo(22)
......@@ -139,53 +136,59 @@ class YHDocListCell: UITableViewCell {
func updateAllViewsForDocs() {
guard let dataSource = dataSourceForDocs else { return }
titleLabel.text = dataSource.doc_type_name
/*
1: '待确认',
* 2: '待签章',
* 3: '已驳回',
* 4: '待核对',
* 5: '已签章',
* 6: '已定稿',
* 7: '已完成'
*/
var statusTxt = ""
var color : UIColor = .brandMainColor
let status = dataSource.document_check_status
if status == 1 {
statusTxt = "待确认"
color = UIColor.brandMainColor
} else if status == 2 {
statusTxt = "待签章"
color = UIColor.brandMainColor
} else if status == 3 {
statusTxt = "已驳回"
color = UIColor.failColor
} else if status == 4 {
statusTxt = "待审核"
color = UIColor.warnColor
} else if status == 5 {
statusTxt = "已签章"
color = UIColor.successColor
} else if status == 6 {
statusTxt = "已定稿"
color = UIColor.labelTextColor2
} else if status == 7 {
statusTxt = "已完成"
color = UIColor.labelTextColor2
if dataSource.isEditFlag {
checkButton.isHidden = false
statusHoldView.isHidden = true
checkButton.isSelected = dataSource.isSelectedFlag
} else {
statusTxt = "--"
color = UIColor.brandMainColor
checkButton.isHidden = true
statusHoldView.isHidden = false
/*
* 1: '待确认',
* 2: '待签章',
* 3: '已驳回',
* 4: '待核对',
* 5: '已签章',
* 6: '已定稿',
* 7: '已完成'
*/
var statusTxt = ""
var color : UIColor = .brandMainColor
let status = dataSource.document_check_status
if status == 1 {
statusTxt = "待确认"
color = UIColor.brandMainColor
} else if status == 2 {
statusTxt = "待签章"
color = UIColor.brandMainColor
} else if status == 3 {
statusTxt = "已驳回"
color = UIColor.failColor
} else if status == 4 {
statusTxt = "待审核"
color = UIColor.warnColor
} else if status == 5 {
statusTxt = "已签章"
color = UIColor.successColor
} else if status == 6 {
statusTxt = "已定稿"
color = UIColor.labelTextColor2
} else if status == 7 {
statusTxt = "已完成"
color = UIColor.labelTextColor2
} else {
statusTxt = "--"
color = UIColor.brandMainColor
}
statusLabel.text = statusTxt
statusLabel.textColor = color
}
statusLabel.text = statusTxt
statusLabel.textColor = color
}
func updateAllViewsForSign() {
guard let dataSource = dataSourceForSign else { return }
}
}
......
......@@ -11,6 +11,7 @@ import UIKit
class YHMyDocumentsListViewModel: YHBaseViewModel {
var mainModel: YHMyDocumentsModel?
// 请求文书列表
func requestDocumentsList(_ orderId: String, _ mobile: String, callBackBlock:@escaping (_ success: Bool?, _ error: YHErrorModel?)->()) {
let params: [String : Any] = ["order_id": orderId,
"mobile": mobile]
......@@ -34,4 +35,24 @@ class YHMyDocumentsListViewModel: YHBaseViewModel {
callBackBlock(false, err)
}
}
//发送邮箱
func sendEmailForDocs(_ params : [String : Any], callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.sendMail
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self 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)
}
}
}
......@@ -54,7 +54,7 @@ class YHSchemeHeadTotalScoreView: UIView {
scoreLabel = {
let label = UILabel()
label.font = UIFont(name: "AlibabaPuHuiTi-Bold", size: 24)
label.font = UIFont.PFSC_B(ofSize: 24)//UIFont(name: "AlibabaPuHuiTi-Bold", size: 24)
label.textColor = UIColor(hex: 0xd48638)
label.textAlignment = .right
label.text = "-"
......
......@@ -208,7 +208,6 @@ class YHAllApiName {
static let submit = "infoflow/my-doc/doc-submit"
// 文书操作记录
static let record = "infoflow/my-doc/document-operation-record"
}
//我的证件
......@@ -219,8 +218,6 @@ class YHAllApiName {
// 清单列表
static let documentListApi = "infoflow/certificate/certificate_document_list"
// 证件列表
static let certificateListApi = "infoflow/needUploadItems"
......
银河APP-iOS
银河APP-iOS
=================
工程文件说明
......
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