| | |
| | | // |
| | | // StoresChooseView.swift |
| | | // WanPai |
| | | // |
| | | // Created by 杨锴 on 2023/6/9. |
| | | // |
| | | // |
| | | // StoresChooseView.swift |
| | | // WanPai |
| | | // |
| | | // Created by 杨锴 on 2023/6/9. |
| | | // |
| | | |
| | | import UIKit |
| | | import JQTools |
| | | import RxSwift |
| | | |
| | | class StoresChooseView: UIView,JQNibView{ |
| | | |
| | | @IBOutlet weak var view_container: UIView! |
| | | @IBOutlet weak var label_currently: UILabel! |
| | | @IBOutlet weak var label_province: UILabel! |
| | | @IBOutlet weak var label_city: UILabel! |
| | | |
| | | |
| | | private var provinceModel:CityProfileModel? |
| | | private var cityModel:CityProfileModel? |
| | | private var storeModel:CityProfileModel? |
| | | |
| | | private var provincesModel = [CityProfileModel]() |
| | | private var citysModel = [CityProfileModel]() |
| | | private var storesModel = [CityProfileModel]() |
| | | |
| | | |
| | | private var clouse:((String)->Void)! |
| | | private let disposeBag = DisposeBag() |
| | | |
| | | override func awakeFromNib() { |
| | | super.awakeFromNib() |
| | |
| | | layoutIfNeeded() |
| | | } |
| | | |
| | | static func show(){ |
| | | static func show(_ clouse:@escaping (String)->Void){ |
| | | let storesView = StoresChooseView.jq_loadNibView() |
| | | storesView.clouse = clouse |
| | | storesView.frame = screnDelegate?.window?.frame ?? .zero |
| | | screnDelegate?.window?.addSubview(storesView) |
| | | |
| | | UIView.animate(withDuration: 0.4) { |
| | | storesView.view_container.transform = CGAffineTransform(scaleX: 1.0, y: 1.0) |
| | | storesView.alpha = 1 |
| | | }completion: { _ in |
| | | storesView.getData() |
| | | } |
| | | } |
| | | |
| | | private func getData(_ provinceId:String? = nil){ |
| | | Services.queryProvinceAndCity(pcode: provinceId).subscribe(onNext: { [weak self] data in |
| | | guard let weakSelf = self else { return } |
| | | if provinceId == nil{ |
| | | weakSelf.provincesModel = data.data ?? [] |
| | | }else{ |
| | | weakSelf.citysModel = data.data ?? [] |
| | | } |
| | | }).disposed(by: disposeBag) |
| | | } |
| | | |
| | | private func getStore(_ cityCode:String){ |
| | | Services.queryStoreAtCity(cityCode: cityCode).subscribe(onNext: { [weak self] data in |
| | | guard let weakSelf = self else { return } |
| | | weakSelf.storesModel = data.data ?? [] |
| | | }).disposed(by: disposeBag) |
| | | } |
| | | |
| | | private func close(){ |
| | |
| | | self.removeFromSuperview() |
| | | } |
| | | } |
| | | |
| | | @IBAction func tapChooseAction(_ sender: TapBtn) { |
| | | JQ_MenuView().show(self, tapView: sender, items: ["1","2","3","3","3","3","3","3","3","3"], menuWidth: sender.jq_width, tableHei: 200) { index, str in |
| | | |
| | | |
| | | @IBAction func provinceAction(_ sender: TapBtn) { |
| | | guard provincesModel.count != 0 else { |
| | | alertError(msg: "省级获取失败,正在重新获取") |
| | | getData() |
| | | return |
| | | } |
| | | |
| | | let names = provincesModel.map({$0.name}) |
| | | JQ_MenuView().show(self, tapView: sender, items: names, menuWidth: sender.jq_width, tableHei: 200) { [weak self] index, str in |
| | | guard let weakSelf = self else { return } |
| | | weakSelf.provinceModel = weakSelf.provincesModel[index] |
| | | weakSelf.label_province.text = weakSelf.provinceModel?.name ?? "" |
| | | weakSelf.getData(weakSelf.provinceModel!.code) |
| | | } |
| | | } |
| | | |
| | | |
| | | @IBAction func cityAction(_ sender: TapBtn) { |
| | | guard provinceModel != nil else {alertError(msg: "请先选择省份");return} |
| | | guard citysModel.count != 0 else {alertError(msg: "当前城市未开通");return} |
| | | JQ_MenuView().show(self, tapView: sender, items: citysModel.map({$0.name}), menuWidth: sender.jq_width, tableHei: 200) { [weak self] index, str in |
| | | guard let weakSelf = self else { return } |
| | | weakSelf.cityModel = weakSelf.citysModel[index] |
| | | weakSelf.label_city.text = weakSelf.cityModel?.name ?? "" |
| | | weakSelf.getStore(weakSelf.cityModel!.code) |
| | | } |
| | | } |
| | | |
| | | |
| | | @IBAction func storeAction(_ sender: TapBtn) { |
| | | guard provincesModel.count != 0 else { |
| | | alertError(msg: "请先选择省份");return |
| | | } |
| | | |
| | | guard citysModel.count != 0 else { |
| | | alertError(msg: "请先选城市");return |
| | | } |
| | | |
| | | JQ_MenuView().show(self, tapView: sender, items: storesModel.map({$0.name}), menuWidth: sender.jq_width, tableHei: 200) { [weak self] index, str in |
| | | guard let weakSelf = self else { return } |
| | | weakSelf.storeModel = weakSelf.storesModel[index] |
| | | weakSelf.label_currently.text = weakSelf.storeModel?.name ?? "" |
| | | } |
| | | } |
| | | |
| | | |
| | | @IBAction func closeAction(_ sender: UIButton) { |
| | | close() |
| | | } |
| | | |
| | | @IBAction func completeAction(_ sender: UIButton) { |
| | | guard storeModel != nil else { |
| | | alertError(msg: "请选择门店名称");return |
| | | } |
| | | |
| | | close() |
| | | clouse?(storeModel!.code) |
| | | } |
| | | |
| | | } |