//
|
// AttachTypeView.swift
|
// BrokerDriver
|
//
|
// Created by 无故事王国 on 2023/5/4.
|
//
|
|
import UIKit
|
import RxSwift
|
|
class AttachTypeView: UIView,JQNibView{
|
@IBOutlet weak var view_container: UIView!
|
@IBOutlet weak var VStack: UIStackView!
|
@IBOutlet weak var label_content: UILabel!
|
@IBOutlet weak var imgV: UIImageView!
|
@IBOutlet weak var btn_type: TapButton!
|
|
private var orderId:String!
|
private var disposeBag:DisposeBag!
|
private var recordEnum:RecordEnum!
|
private var uploadModel:UploadModel?
|
private var successClouse:(()->Void)?
|
|
override func awakeFromNib() {
|
super.awakeFromNib()
|
alpha = 0
|
view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
|
VStack.isHidden = true
|
layoutIfNeeded()
|
disposeBag = DisposeBag()
|
recordEnum = RecordEnum(rawValue: 1)
|
label_content.text = recordEnum.str
|
}
|
|
static func show(orderId:String,recordEnum:RecordEnum? = nil,successClouse:@escaping ()->Void){
|
let pickerView = AttachTypeView.jq_loadNibView()
|
pickerView.orderId = orderId
|
pickerView.recordEnum = recordEnum
|
if let recordEnum{
|
pickerView.label_content.text = recordEnum.str
|
pickerView.btn_type.isEnabled = false
|
}else{
|
pickerView.recordEnum = RecordEnum(rawValue: 1)
|
}
|
pickerView.successClouse = successClouse
|
pickerView.frame = screnDelegate?.window?.frame ?? .zero
|
screnDelegate?.window?.addSubview(pickerView)
|
UIView.animate(withDuration: 0.4) {
|
pickerView.alpha = 1
|
pickerView.view_container.transform = CGAffineTransform(scaleX: 1.0, y: 1.0)
|
pickerView.layoutIfNeeded()
|
}
|
}
|
|
@IBAction func tapAction(_ sender: TapButton) {
|
VStack.isHidden = !VStack.isHidden
|
}
|
|
@IBAction func closeAction(_ sender: UIButton) {
|
UIView.animate(withDuration: 0.5) {[weak self] () in
|
self?.alpha = 0
|
self?.view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
|
} completion: { _ in
|
self.removeFromSuperview()
|
}
|
}
|
|
@IBAction func submitAction(_ sender: UIButton) {
|
guard uploadModel != nil else {alert(msg: "Please upload image");return}
|
let model = HomeDetailAttachVC.AttachmentType(orderId: orderId, file: uploadModel!.url, name: uploadModel!.deleteUrl, category: recordEnum)
|
Services.addOrderAttachment(model: model).subscribe(onNext: { data in
|
if data.code == 200{
|
alert(msg: "Upload successed")
|
UIView.animate(withDuration: 0.5) {[weak self] () in
|
self?.alpha = 0
|
self?.view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1)
|
} completion: { _ in
|
self.removeFromSuperview()
|
self.successClouse?()
|
}
|
}
|
}) { error in
|
alert(msg: error.localizedDescription)
|
}.disposed(by: disposeBag)
|
}
|
|
@IBAction func uploadImgAction(_ sender: TapButton) {
|
PhotoPickerView.show {[weak self] data in
|
guard let weakSelf = self else { return }
|
Services.uploadFile(file: data).subscribe(onNext: {[weak self] data in
|
self?.uploadModel = data.data
|
self?.imgV.sd_setImage(with:URL(string: data.data?.url), placeholderImage: nil, options: .progressiveLoad, progress: { p1, p2, url in
|
|
}, completed: { image, error, type, url in
|
|
})
|
self?.imgV.isHidden = false
|
}) { error in
|
alert(msg: error.localizedDescription)
|
}.disposed(by: weakSelf.disposeBag)
|
}
|
}
|
|
@IBAction func contentTapAction(_ sender: UIButton) {
|
label_content.text = sender.titleLabel?.text ?? ""
|
VStack.isHidden = true
|
}
|
|
}
|