younger_times
2023-05-06 a8c2422e12becdfc3da0907ff5b589f7f86d0dd5
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
//
//  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!
    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,successClouse:@escaping ()->Void){
        let pickerView = AttachTypeView.jq_loadNibView()
        pickerView.orderId = orderId
        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.jq_sdimage(url: data.data?.url ?? "")
                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
    }
 
}