younger_times
2023-07-25 b177ecba47250faab4ead4fc2b5ed7a3f2c40696
WanPai/Common/View/ChooseStoreView.swift
@@ -13,7 +13,10 @@
    @IBOutlet weak var view_container: UIView!
    @IBOutlet weak var view_bottomContainer: NSLayoutConstraint!
    @IBOutlet weak var tableView: UITableView!
    private var clouse:(()->Void)!
    private var clouse:((StoreSimpleModel)->Void)!
    private var models = [StoreSimpleModel]()
    private var selectIndex = 0
    private var defaultModel:StoreSimpleModel?
    override func awakeFromNib() {
        super.awakeFromNib()
@@ -27,12 +30,22 @@
        layoutIfNeeded()
    }
    static func show(_ clouse:@escaping ()->Void){
    static func show(models:[StoreSimpleModel],defaultModel:StoreSimpleModel? = nil, clouse:@escaping (StoreSimpleModel)->Void){
        let chooseStoreView = ChooseStoreView.jq_loadNibView()
        chooseStoreView.frame = screnDelegate?.window?.frame ?? .zero
        screnDelegate?.window?.addSubview(chooseStoreView)
        chooseStoreView.view_bottomContainer.constant = 0
        chooseStoreView.defaultModel = defaultModel
        chooseStoreView.clouse = clouse
        chooseStoreView.models = models
        for (index,m) in models.enumerated(){
            if m.storeId == defaultModel?.storeId{
                chooseStoreView.selectIndex = index;break
            }
        }
        chooseStoreView.tableView.reloadData()
        UIView.animate(withDuration: 0.4) {
            chooseStoreView.alpha = 1
            chooseStoreView.layoutIfNeeded()
@@ -56,7 +69,8 @@
            self.layoutIfNeeded()
        } completion: { _ in
            self.removeFromSuperview()
            self.clouse!()
            let model = self.models[self.selectIndex]
            self.clouse!(model)
        }
    }
@@ -67,12 +81,19 @@
}
extension ChooseStoreView:UITableViewDelegate{
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        selectIndex = indexPath.row
        tableView.reloadData()
    }
}
extension ChooseStoreView:UITableViewDataSource{
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        let model = models[indexPath.row]
        let cell = tableView.dequeueReusableCell(withIdentifier: "_CommonSingleTCell") as! CommonSingleTCell
        cell.label_title.text = model.storeName
        cell.img_select.image = indexPath.row == selectIndex ? UIImage(named: "btn_choose_s") : UIImage(named: "btn_choose")
        return cell
    }
@@ -81,6 +102,6 @@
    }
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return 5
        return models.count
    }
}