Commit ccc88569 authored by Steven杜宇's avatar Steven杜宇

// 预约

parent e437ce98
...@@ -17,6 +17,7 @@ class YHResignAppointTimeViewController: YHBaseViewController { ...@@ -17,6 +17,7 @@ class YHResignAppointTimeViewController: YHBaseViewController {
// 所有预约人员 // 所有预约人员
var allAppointUsers: [YHResignAppointMember] = [] var allAppointUsers: [YHResignAppointMember] = []
let viewModel = YHResignAppointViewModel()
// 申请人是否在港 // 申请人是否在港
var togetherArr: [YHResignAppointTogetherSetting] = [] var togetherArr: [YHResignAppointTogetherSetting] = []
lazy var togetherSetting = { lazy var togetherSetting = {
...@@ -273,13 +274,13 @@ class YHResignAppointTimeViewController: YHBaseViewController { ...@@ -273,13 +274,13 @@ class YHResignAppointTimeViewController: YHBaseViewController {
for group in self.selectGroupArr { for group in self.selectGroupArr {
group.isClickSubmit = false group.isClickSubmit = false
if group.users.count <= 0 { // 说明是一起递交 if group.users.count <= 0 { // 说明是一起递交
let allUserIds = allAppointUsers.map { let allUserInfoArr = allAppointUsers.map {
let item = $0 let dict = ["member_id" : "\($0.id)"]
return "\(item.id)" return dict
} }
let dict = ["ready_to_submit_at" : group.ready_to_submit_at, let dict = ["ready_to_submit_at" : group.ready_to_submit_at,
"leave_hk_at" : group.notleaveHK ? group.leave_hk_at : "", "leave_hk_at" : group.notleaveHK ? "" : group.leave_hk_at,
"users" : allUserIds] as! [String : Any] "users" : allUserInfoArr] as! [String : Any]
batchs.append(dict) batchs.append(dict)
} else { // 说明是分批递交 } else { // 说明是分批递交
...@@ -287,13 +288,13 @@ class YHResignAppointTimeViewController: YHBaseViewController { ...@@ -287,13 +288,13 @@ class YHResignAppointTimeViewController: YHBaseViewController {
let item = $0 let item = $0
return item.isSelected return item.isSelected
} }
let selectUserIds = selectUser.map { let allUserInfoArr = selectUser.map {
let item = $0 let dict = ["member_id" : "\($0.id)"]
return "\(item.id)" return dict
} }
let dict = ["ready_to_submit_at" : group.ready_to_submit_at, let dict = ["ready_to_submit_at" : group.ready_to_submit_at,
"leave_hk_at" : group.leave_hk_at, "leave_hk_at" : group.notleaveHK ? "" : group.leave_hk_at,
"users" : selectUserIds] as! [String : Any] "users" : allUserInfoArr] as! [String : Any]
batchs.append(dict) batchs.append(dict)
} }
} }
...@@ -302,7 +303,19 @@ class YHResignAppointTimeViewController: YHBaseViewController { ...@@ -302,7 +303,19 @@ class YHResignAppointTimeViewController: YHBaseViewController {
"is_together" : self.togetherSetting.is_together, "is_together" : self.togetherSetting.is_together,
"batch" : batchs] "batch" : batchs]
printLog(param) printLog(param)
YHHUD.show(.progress(message: "加载中..."))
viewModel.submitAppointInfo(params: param) {
[weak self] success, error in
YHHUD.hide()
guard let self = self else { return }
if success {
YHHUD.flash(message: "提交成功")
self.navigationController?.popViewController(animated: true)
return
}
let msg = error?.errorMsg ?? "提交失败"
YHHUD.flash(message: msg)
}
} }
} }
...@@ -354,6 +367,11 @@ extension YHResignAppointTimeViewController: UITableViewDelegate, UITableViewDat ...@@ -354,6 +367,11 @@ extension YHResignAppointTimeViewController: UITableViewDelegate, UITableViewDat
model.notleaveHK = isOn model.notleaveHK = isOn
self.tableView.reloadData() self.tableView.reloadData()
} }
cell2.refreshBlock = {
[weak self] in
guard let self = self else { return }
self.tableView.reloadData()
}
return cell2 return cell2
} }
// 分组选择cell // 分组选择cell
...@@ -370,6 +388,11 @@ extension YHResignAppointTimeViewController: UITableViewDelegate, UITableViewDat ...@@ -370,6 +388,11 @@ extension YHResignAppointTimeViewController: UITableViewDelegate, UITableViewDat
model.notleaveHK = isOn model.notleaveHK = isOn
self.tableView.reloadData() self.tableView.reloadData()
} }
cell3.refreshBlock = {
[weak self] in
guard let self = self else { return }
self.tableView.reloadData()
}
return cell3 return cell3
} }
......
...@@ -21,6 +21,7 @@ class YHResignAppointTimeMultipleCell: UITableViewCell { ...@@ -21,6 +21,7 @@ class YHResignAppointTimeMultipleCell: UITableViewCell {
var selectUserBlock: ((_ member: YHResignAppointMember, _ isSelect: Bool, _ groupIndex: Int)->())? var selectUserBlock: ((_ member: YHResignAppointMember, _ isSelect: Bool, _ groupIndex: Int)->())?
// switch按钮点击事件 // switch按钮点击事件
var switchBlock: ((Bool)->())? var switchBlock: ((Bool)->())?
var refreshBlock: (()->())?
lazy var whiteContentView: UIView = { lazy var whiteContentView: UIView = {
let view = UIView() let view = UIView()
...@@ -98,6 +99,12 @@ class YHResignAppointTimeMultipleCell: UITableViewCell { ...@@ -98,6 +99,12 @@ class YHResignAppointTimeMultipleCell: UITableViewCell {
view.clickBlock = { view.clickBlock = {
[weak self] in [weak self] in
guard let self = self else { return } guard let self = self else { return }
self.selectDetailDate(title: "选择在港递交时间") {
[weak self] dateStr in
guard let self = self else { return }
self.model.ready_to_submit_at = "2024-11-04 17:44:58"
self.refreshBlock?()
}
} }
return view return view
}() }()
...@@ -112,6 +119,12 @@ class YHResignAppointTimeMultipleCell: UITableViewCell { ...@@ -112,6 +119,12 @@ class YHResignAppointTimeMultipleCell: UITableViewCell {
view.clickBlock = { view.clickBlock = {
[weak self] in [weak self] in
guard let self = self else { return } guard let self = self else { return }
self.selectDetailDate(title: "选择离港时间") {
[weak self] dateStr in
guard let self = self else { return }
self.model.leave_hk_at = "2024-12-04 17:44:58"
self.refreshBlock?()
}
} }
return view return view
}() }()
...@@ -198,6 +211,14 @@ class YHResignAppointTimeMultipleCell: UITableViewCell { ...@@ -198,6 +211,14 @@ class YHResignAppointTimeMultipleCell: UITableViewCell {
self.layoutIfNeeded() self.layoutIfNeeded()
} }
func selectDetailDate(title: String, selectBlock:((_ dateStr: String)->())?) {
YHDatePickView.show(type: .yyyymmdd, title:title, lastIsTaday: false, currentDay:"") {
[weak self] dateStr in
guard let self = self else { return }
selectBlock?(dateStr)
}
}
func setupUI() { func setupUI() {
self.selectionStyle = .none self.selectionStyle = .none
...@@ -307,17 +328,17 @@ extension YHResignAppointTimeMultipleCell: UICollectionViewDelegate, UICollectio ...@@ -307,17 +328,17 @@ extension YHResignAppointTimeMultipleCell: UICollectionViewDelegate, UICollectio
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) { func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
if 0 <= indexPath.item && indexPath.item < arr.count { if 0 <= indexPath.item && indexPath.item < arr.count {
let member = arr[indexPath.item] let member = arr[indexPath.item]
let selectArr = arr.filter { let selectArr = arr.filter {
return $0.isSelected == true return $0.isSelected == true
}
if selectArr.count == 1, member.isSelected == true, member.id == selectArr[0].id {
// 分组中仅有一个选中用户 且点击的是该用户
YHHUD.flash(message: "每一批赴港申请人不可为空,请确保每位申请人都在列")
return
}
selectUserBlock?(member, !member.isSelected, self.model.itemIndex)
} }
if selectArr.count == 1, member.isSelected == true, member.id == selectArr[0].id {
// 分组中仅有一个选中用户 且点击的是该用户
YHHUD.flash(message: "每一批赴港申请人不可为空,请确保每位申请人都在列")
return
}
selectUserBlock?(member, !member.isSelected, self.model.itemIndex)
}
} }
} }
...@@ -15,6 +15,7 @@ class YHResignAppointTimeSingleCell: UITableViewCell { ...@@ -15,6 +15,7 @@ class YHResignAppointTimeSingleCell: UITableViewCell {
var model = YHResignAppointTimeSettingModel() var model = YHResignAppointTimeSettingModel()
var switchBlock: ((Bool)->())? var switchBlock: ((Bool)->())?
var refreshBlock: (()->())?
lazy var whiteContentView: UIView = { lazy var whiteContentView: UIView = {
let view = UIView() let view = UIView()
...@@ -43,6 +44,12 @@ class YHResignAppointTimeSingleCell: UITableViewCell { ...@@ -43,6 +44,12 @@ class YHResignAppointTimeSingleCell: UITableViewCell {
view.clickBlock = { view.clickBlock = {
[weak self] in [weak self] in
guard let self = self else { return } guard let self = self else { return }
self.selectDetailDate(title: "选择在港递交时间") {
[weak self] dateStr in
guard let self = self else { return }
self.model.ready_to_submit_at = "2024-11-04 17:44:58"
self.refreshBlock?()
}
} }
return view return view
}() }()
...@@ -57,6 +64,12 @@ class YHResignAppointTimeSingleCell: UITableViewCell { ...@@ -57,6 +64,12 @@ class YHResignAppointTimeSingleCell: UITableViewCell {
view.clickBlock = { view.clickBlock = {
[weak self] in [weak self] in
guard let self = self else { return } guard let self = self else { return }
self.selectDetailDate(title: "选择离港时间") {
[weak self] dateStr in
guard let self = self else { return }
self.model.leave_hk_at = "2024-12-04 17:44:58"
self.refreshBlock?()
}
} }
return view return view
}() }()
...@@ -126,6 +139,14 @@ class YHResignAppointTimeSingleCell: UITableViewCell { ...@@ -126,6 +139,14 @@ class YHResignAppointTimeSingleCell: UITableViewCell {
self.layoutIfNeeded() self.layoutIfNeeded()
} }
func selectDetailDate(title: String, selectBlock:((_ dateStr: String)->())?) {
YHDatePickView.show(type: .yyyymmdd, title:title, lastIsTaday: false, currentDay:"") {
[weak self] dateStr in
guard let self = self else { return }
selectBlock?(dateStr)
}
}
func setupUI() { func setupUI() {
self.selectionStyle = .none self.selectionStyle = .none
......
...@@ -94,4 +94,21 @@ class YHResignAppointViewModel: NSObject { ...@@ -94,4 +94,21 @@ class YHResignAppointViewModel: NSObject {
callBack(false,err) callBack(false,err)
} }
} }
// 提交预约
func submitAppointInfo(params: [String : Any], callBack: @escaping (_ success: Bool,_ error: YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.ResignAppoint.submitAppoint
let _ = YHNetRequest.postRequest(url: strUrl, params:params) { [weak self] json, code in
//1. json字符串 转 对象
guard let _ = self else { return }
if json.code == 200 {
callBack(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBack(false, error)
}
} failBlock: { err in
callBack(false, err)
}
}
} }
...@@ -554,6 +554,8 @@ class YHAllApiName { ...@@ -554,6 +554,8 @@ class YHAllApiName {
static let appointUserList = "super-app/renewal/user" static let appointUserList = "super-app/renewal/user"
// 预约列表预约 // 预约列表预约
static let appointInfoList = "super-app/renewal/reservation/list" static let appointInfoList = "super-app/renewal/reservation/list"
// 提交预约
static let submitAppoint = "super-app/renewal/reservation/submit"
} }
// 在港记录 // 在港记录
......
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