//
|
// AddStudentVC.swift
|
// WanPai
|
//
|
// Created by 杨锴 on 2023/6/12.
|
//
|
|
import UIKit
|
import QMUIKit
|
import JQTools
|
|
class AddStudentVC: BaseVC {
|
|
@IBOutlet weak var img_profile: UIImageView!
|
@IBOutlet weak var view_profile: UIView!
|
@IBOutlet weak var tf_name: QMUITextField!
|
@IBOutlet weak var tf_gender: UITextField!
|
@IBOutlet weak var tf_idCard: UITextField!
|
@IBOutlet weak var tf_height: QMUITextField!
|
@IBOutlet weak var view_height: UIView!
|
@IBOutlet weak var view_weight: UIView!
|
@IBOutlet weak var view_phone: UIView!
|
@IBOutlet weak var tf_weight: QMUITextField!
|
@IBOutlet weak var tf_phone: QMUITextField!
|
@IBOutlet weak var tf_birthday: UITextField!
|
|
var profileImg:UIImage?
|
|
var studentModel = StudentProfileModel()
|
var studentInfo:StudentProfile1Model?
|
var activityDetailPartModel:ActivityDetailPartModel?
|
var type:ItemType!
|
|
var verifyIdCard:Bool = false
|
|
init(type:ItemType,studentInfo:StudentProfile1Model? = nil) {
|
super.init(nibName: nil, bundle: nil)
|
self.type = type
|
self.studentInfo = studentInfo
|
}
|
|
init(activityDetailPartModel:ActivityDetailPartModel? = nil) {
|
super.init(nibName: nil, bundle: nil)
|
self.type = .activity
|
self.activityDetailPartModel = activityDetailPartModel
|
}
|
|
required init?(coder: NSCoder) {
|
fatalError("init(coder:) has not been implemented")
|
}
|
|
override func viewDidLoad() {
|
super.viewDidLoad()
|
if type == .course{
|
title = "添加运动营成员"
|
view_profile.isHidden = false
|
if studentInfo != nil{
|
title = "编辑运动营成员"
|
tf_name.placeholder = "请输入运动营成员姓名"
|
tf_height.placeholder = "请输入运动营成员身高"
|
tf_weight.placeholder = "请输入运动营成员体重"
|
tf_phone.placeholder = "请输入运动营成员联系方式"
|
tf_idCard.placeholder = "请输入运动营成员身份证号"
|
tf_name.text = studentInfo!.stuName
|
tf_idCard.text = studentInfo!.idCard
|
tf_height.text = String(format: "%.0lf", studentInfo!.stuHeight)
|
tf_weight.text = String(format: "%.0lf", studentInfo!.stuWeight)
|
tf_phone.text = studentInfo!.stuPhone
|
tf_birthday.text = studentInfo!.birthday
|
img_profile.sd_setImage(with: URL(string: studentInfo!.stuHeadImg))
|
studentModel.headImg = studentInfo!.stuHeadImg
|
studentModel.stuId = studentInfo!.stuId
|
tf_gender.text = studentModel.sex == .man ? "男":"女"
|
}
|
}else{
|
view_profile.isHidden = true
|
title = "添加人员"
|
tf_name.placeholder = "请输入人员姓名"
|
tf_height.placeholder = "请输入身高"
|
tf_weight.placeholder = "请输入体重"
|
tf_phone.placeholder = "请输入联系方式"
|
tf_idCard.placeholder = "请输入身份证号"
|
if let m = activityDetailPartModel{
|
title = "编辑人员"
|
tf_name.text = m.name
|
tf_idCard.text = m.idcard
|
tf_height.text = String(format: "%.0lf", m.height)
|
tf_weight.text = String(format: "%.0lf", m.weight)
|
tf_phone.text = m.phone
|
tf_birthday.text = m.birthday
|
tf_gender.text = m.gender == .man ? "男":"女"
|
view_height.isHidden = true
|
view_weight.isHidden = true
|
view_phone.isHidden = true
|
|
tf_name.isEnabled = false
|
tf_birthday.isEnabled = false
|
tf_gender.isEnabled = false
|
}
|
}
|
|
let idCardView = IDCardView()
|
idCardView.box.bind { [weak self] text in
|
self?.tf_idCard.text = text
|
}
|
tf_idCard.inputView = idCardView
|
|
let tap = UITapGestureRecognizer(target: self, action: #selector(userImgUploadAction))
|
img_profile.isUserInteractionEnabled = true
|
img_profile.addGestureRecognizer(tap)
|
}
|
|
override func setUI() {
|
tf_birthday.delegate = self
|
tf_gender.delegate = self
|
}
|
|
@objc func userImgUploadAction(){
|
JQ_ImagePickerTool.getSharedInstance().singleImage({ [weak self] image in
|
self?.img_profile.image = image
|
self?.profileImg = image
|
}, clipSize: CGSize(width: JQ_ScreenW, height: JQ_ScreenW))
|
}
|
|
|
@IBAction func completeAction(_ sender: UIButton) {
|
if studentInfo == nil && type == .course{
|
guard profileImg != nil else {alertError(msg: "请上传运动营成员头像");return}
|
}
|
|
guard !tf_name.text!.isEmpty else {alertError(msg: tf_name.placeholder!);return}
|
guard !tf_birthday.text!.isEmpty else {alertError(msg: "请选择生日");return}
|
guard !tf_gender.text!.isEmpty else {alertError(msg: "请选择性别");return}
|
|
if type == .course{
|
guard !tf_height.text!.isEmpty else {alertError(msg: tf_height.placeholder!);return}
|
guard !tf_weight.text!.isEmpty else {alertError(msg: tf_weight.placeholder!);return}
|
guard tf_height.text != "0" else {alertError(msg: "请输入正确的身高");return}
|
guard tf_weight.text != "0" else {alertError(msg: "请输入正确的体重");return}
|
}
|
|
if !tf_phone.isEmpty{
|
guard tf_phone.text!.jq_isPhone else {alertError(msg: "请输入正确的手机号");return}
|
}
|
|
// if !tf_idCard.isEmpty || activityDetailPartModel != nil{
|
//
|
// }
|
guard tf_idCard.text!.jq_idCard() else {alertError(msg: "请输入正确的身份证号码");return}
|
|
studentModel.birthday = tf_birthday.text!
|
studentModel.name = tf_name.text!
|
studentModel.height = tf_height.text!.toDouble
|
studentModel.weight = tf_weight.text!.toDouble
|
studentModel.phone = tf_phone.text!
|
studentModel.idCard = tf_idCard.text!
|
studentModel.name = tf_name.text!
|
|
if profileImg != nil{
|
showHUD("正在上传头像")
|
profileImg!.uploadImgToService().subscribe(onNext: { [weak self] imgUrl in
|
guard let weakSelf = self else { return }
|
weakSelf.studentModel.headImg = imgUrl
|
hiddenHUD()
|
weakSelf.addStudent()
|
}, onError: { error in
|
hiddenHUD()
|
alertError(msg: error.localizedDescription)
|
}).disposed(by: disposeBag)
|
}else{
|
addStudent()
|
}
|
}
|
|
private func addStudent(){
|
if type == .course{
|
if studentInfo == nil{
|
Services.addStudent(studentModel).subscribe(onNext: { [weak self] data in
|
self?.addStudentSuccess(text: "编辑成功")
|
}).disposed(by: disposeBag)
|
}else{
|
Services.editStu(studentModel).subscribe(onNext: {[weak self]data in
|
self?.addStudentSuccess(text: "添加成功")
|
NotificationCenter.default.post(name: StudentUpdate_Nofi, object: nil)
|
}) { error in
|
|
}.disposed(by: disposeBag)
|
}
|
}else{
|
if activityDetailPartModel != nil{
|
activityDetailPartModel!.idcard = tf_idCard.text!
|
Services.editParticipant(activityDetailPartModel!).subscribe(onNext: {[weak self] data in
|
self?.addStudentSuccess(text: "编辑成功")
|
}).disposed(by: disposeBag)
|
|
}else{
|
Services.addParticipant(studentModel).subscribe(onNext: {[weak self] data in
|
self?.addStudentSuccess(text: "添加成功")
|
}).disposed(by: disposeBag)
|
}
|
}
|
}
|
|
private func addStudentSuccess(text:String){
|
alertSuccess(msg: text)
|
DispatchQueue.main.asyncAfter(deadline: .now()+1) {
|
self.navigationController?.popViewController()
|
NotificationCenter.default.post(name: StudentUpdate_Nofi, object: nil)
|
}
|
}
|
|
deinit{
|
JQ_ImagePickerTool.destroy()
|
}
|
}
|
|
extension AddStudentVC:UITextFieldDelegate{
|
func textFieldShouldBeginEditing(_ textField: UITextField) -> Bool {
|
if textField == tf_birthday{
|
view.endEditing(true)
|
CommonDatePickerView.show(before: 60, after: 0, type: .YMD) { year, month, day,_,_ in
|
textField.text = String(format: "%ld-%02ld-%02ld", year!,month!,day!)
|
}
|
return false
|
}
|
|
if textField == tf_gender{
|
|
let alertVC = UIAlertController(title: "性别", message: nil, preferredStyle: .actionSheet)
|
alertVC.addAction(UIAlertAction(title: "男", style: .default) { _ in
|
self.tf_gender.text = "男"
|
})
|
|
alertVC.addAction(UIAlertAction(title: "女", style: .default) { _ in
|
self.tf_gender.text = "女"
|
})
|
|
alertVC.addAction(UIAlertAction(title: "取消", style: .cancel))
|
present(alertVC, animated: true)
|
return false
|
}
|
return true
|
}
|
}
|