Commit 866f9655 authored by lujunye's avatar lujunye

将国家选择改为产品产地选择。

parent 44542111
......@@ -11,12 +11,13 @@ import LGButton
import Photos
import IQKeyboardManagerSwift
import Dollar
import SwiftyJSON
protocol EPViewControllerDelegate {
func EPViewControllerFinishEdit()
}
class EPViewController: BaseViewController,UITableViewDelegate,UITableViewDataSource,TitleAndBtnCellDelegate,GLAlertSelectViewDelegate,GoodsClassViewControllerDelegate,PinPaiListViewControllerDelegate,AddImgCellDelegate,AddGuiGeCellDelegate,CreatNewSpecsViewControllerDelegate,ShangPinGguiGeCellDelegate,UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout,TitleAndSwitchCellDelegate,TitleAndTFCellDelegate,YuShouWeiKuanFaHuoCellDelegate,UITextFieldDelegate,ShowTimeSelectViewDelegate, LMNoteViewControllerDelegate,GeliAlertViewDelegate{
class EPViewController: BaseViewController,UITableViewDelegate,UITableViewDataSource,TitleAndBtnCellDelegate,GLAlertSelectViewDelegate,GoodsClassViewControllerDelegate,PinPaiListViewControllerDelegate,AddImgCellDelegate,AddGuiGeCellDelegate,CreatNewSpecsViewControllerDelegate,ShangPinGguiGeCellDelegate,UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout,TitleAndSwitchCellDelegate,TitleAndTFCellDelegate,YuShouWeiKuanFaHuoCellDelegate,UITextFieldDelegate,ShowTimeSelectViewDelegate, LMNoteViewControllerDelegate,GeliAlertViewDelegate, UIPickerViewDataSource, UIPickerViewDelegate{
func CreatNewSpecsViewControllerCreateNew(datas: Array<GuiGeModel>, selectIdx: IndexPath) {
let vc = CreatNewSpecsViewController()
vc.barTitle = "新增规格"
......@@ -69,10 +70,6 @@ class EPViewController: BaseViewController,UITableViewDelegate,UITableViewDataSo
itemTypeArr = selectArr
}
if selectnum != 10086 {
if view.titleLbl.text == "请选择国家" {
print(itemTypeArr,selectArr)
countrySelect = selectnum
}
if view.titleLbl.text == "请选择运输方式" {
yunShuType = selectnum
}
......@@ -87,9 +84,9 @@ class EPViewController: BaseViewController,UITableViewDelegate,UITableViewDataSo
var titleArr = ["商品信息","商品图片","商品规格","预售设置","其它信息","商品详情"]
let spxxArr = ["商品名称","商品类型","商品分类","品牌","可售库存","起卖数量","是否清真","是否询价"]
var tishixxArr = ["请输入商品名称","请选择商品类型","请选择商品分类","请选择品牌","查看库存","请输入起卖数量"]
var tishixxArr1 = ["请输入关键字","请输入物流费用","请选择国家","热销","请选择运输方式"]
var tishixxArr1 = ["请输入关键字","请输入物流费用","请选择产品产地","热销","请选择运输方式"]
let sptpArr = ["商品封面图(限一张)","商品主图(限五张)"]
let qtxxArr = ["关键字","物流费用","国家","商品状态","运输方式"]
let qtxxArr = ["关键字","物流费用","产品产地","商品状态","运输方式"]
let ysszArr = ["用户付款是否需要审核","预设预付定金时间段","预设预付尾款时间段","预设预付尾款发货时间"]
var ysszHolder = ["0","请选择时段","请选择时段","0"]
var shangPinStatusArr:Array<GeneralInfoGsModel>? = []
......@@ -115,7 +112,7 @@ class EPViewController: BaseViewController,UITableViewDelegate,UITableViewDataSo
var shiFouXJ = false//是否询价
var keyWord = ""//关键字
var wuLiuPrice = ""//物流费用
var countrySelect:Int? = 0//选择国家
// var countrySelect:Int? = 0//选择国家
var guiGeArr:Array<GuiGeModel> = []//规格数组,根据规格资料数量控制右上角新增按钮是否显示
var shiFouSH = false //是否审核
var faHuoTime = ""//发货时间
......@@ -390,10 +387,10 @@ class EPViewController: BaseViewController,UITableViewDelegate,UITableViewDataSo
HUD.flash(.label("请输入物流费用"), delay: 1.2)
return
}
if countrySelect == nil {
HUD.flash(.label("请选择国家"), delay: 1.2)
return
}
// if countrySelect == nil {
// HUD.flash(.label("请选择国家"), delay: 1.2)
// return
// }
if shangPinStatus == nil {
HUD.flash(.label("请选择商品状态"), delay: 1.2)
return
......@@ -661,9 +658,10 @@ class EPViewController: BaseViewController,UITableViewDelegate,UITableViewDataSo
//物流费用
self.wuLiuPrice = (model.data?.goods_res!.logistics)!
//国家
self.countrySelect = (model.data?.goods_res!.coun_id)!-1
self.tishixxArr1.insert(self.countryArr[self.countrySelect!], at: 2)
self.tishixxArr1.remove(at: 3)
//待完善
// self.countrySelect = (model.data?.goods_res!.coun_id)!-1
// self.tishixxArr1.insert(self.countryArr[self.countrySelect!], at: 2)
// self.tishixxArr1.remove(at: 3)
//商品状态
self.shangPinStatus = (model.data?.goods_res?.gs_id)!-1
self.tishixxArr1.insert((model.data?.goods_res!.gs_name)!, at: 3)
......@@ -701,6 +699,7 @@ class EPViewController: BaseViewController,UITableViewDelegate,UITableViewDataSo
super.viewDidLoad()
//MARK:--获取新增商品的基本信息(品牌和分类等)
HUD.flash(.progress)
getIndex()
setBtmBtnUi()
// }
......@@ -1045,20 +1044,8 @@ class EPViewController: BaseViewController,UITableViewDelegate,UITableViewDataSo
vc.dataModelArray = generalInfoModel?.data?.brand
self.navigationController?.pushViewController(vc, animated: true)
}
if cell.nameLbl.text == "国家" {
if glSelectView == nil {
let view = GLAlertSelectView(frame: self.view.bounds)
view.tag = cell.tag
view.titleLbl.text = "请选择国家"
view.delegate = self
view.dataArr = countryArr
if countrySelect != nil {
view.selectNum = countrySelect!
}
self.view.addSubview(view)
glSelectView = view
}
if cell.nameLbl.text == "产品产地" {
createLocSelectView()
}
if cell.nameLbl.text == "商品状态" {
let view = GLAlertSelectView(frame: self.view.bounds)
......@@ -1326,9 +1313,7 @@ class EPViewController: BaseViewController,UITableViewDelegate,UITableViewDataSo
tishixxArr1.remove(at: view.tag+1)
break
case "请选择国家":
countrySelect = selectNum
tishixxArr1.insert(countryArr[selectNum], at: view.tag)
tishixxArr1.remove(at: view.tag+1)
// countrySelect = selectNum
break
default:
......@@ -1988,6 +1973,251 @@ class EPViewController: BaseViewController,UITableViewDelegate,UITableViewDataSo
listTbv.reloadData()
}
//MARK: - 地区选择
var btmView:UIView?
var bgBtn:UIButton?
//设置选择框的列数为3列,继承于UIPickerViewDataSource协议
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 2
}
//设置选择框的行数,继承于UIPickerViewDataSource协议
func pickerView(_ pickerView: UIPickerView,
numberOfRowsInComponent component: Int) -> Int {
if component == 0 {
return self.addressArray.count
} else {
let province = self.addressArray[provinceIndex] as! Dictionary<String,Any>
return (province["city_list"]! as AnyObject).count
}
}
//设置选择框各选项的内容,继承于UIPickerViewDelegate协议
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int,
forComponent component: Int) -> String? {
if component == 0 {
let rowDic = self.addressArray[row] as! Dictionary<String,Any>
return rowDic["area_name"] as? String
}else {
let province = self.addressArray[provinceIndex] as! Dictionary<String,Any>
let city = (province["city_list"] as! NSArray)[row]
as! [String: AnyObject]
return city["area_name"] as? String
}
}
//选中项改变事件(将在滑动停止后触发)
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int,
inComponent component: Int) {
//根据列、行索引判断需要改变数据的区域
switch (component) {
case 0:
provinceIndex = row;
pickerView.reloadComponent(1);
pickerView.selectRow(cityIndex, inComponent: 1, animated: false)
case 1:
cityIndex = row;
default:
break;
}
}
func pickerView(_ pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {
return 50
}
//自定义UIPickerView
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
let genderLbl = UILabel()
genderLbl.textAlignment = .center
genderLbl.font = UIFont.systemFont(ofSize: 15)
genderLbl.textColor = UIColor.init(named: "标题字颜色")
if component == 0 {
let rowDic = self.addressArray[row] as! Dictionary<String,Any>
genderLbl.text = rowDic["area_name"] as? String
}else {
let province = self.addressArray[provinceIndex] as! Dictionary<String,Any>
let city = (province["city_list"] as! NSArray)[row]
as! [String: AnyObject]
genderLbl.text = city["area_name"] as? String
}
return genderLbl
}
//选择器
var pickerView:UIPickerView!
//所以地址数据集合
var addressArray:Array<Any> = []
//选择的省索引
var provinceIndex = 0
//选择的市索引
var cityIndex = 0
var proDict:Dictionary<String,Any> = Dictionary()
var cityDict:Dictionary<String,Any> = Dictionary()
func get_location_id(){
let proDict = addressArray[provinceIndex] as! Dictionary<String,Any>
var cityDict:Dictionary<String,Any> = Dictionary()
var areaDict:Dictionary<String,Any> = Dictionary()
cityDict["area_id"] = ""
areaDict["area_id"] = ""
if (proDict["city_list"] as! NSArray).count > 0 {
cityDict = (proDict["city_list"] as! NSArray)[cityIndex] as! [String: AnyObject]
}
}
func getIndex(){
let path = Bundle.main.path(forResource: "address_new", ofType: "json")
let url = URL(fileURLWithPath: path!)
// 带throws的方法需要抛异常
do {
let data = try Data(contentsOf: url)
let jsonData = JSON(data)
print("地址文件数据",jsonData["data"])
self.addressArray = jsonData["data"].arrayObject!
// if navTitle == "编辑地址" {
for i in 0 ..< addressArray.count {
let item = addressArray[i] as! Dictionary<String,Any>
if item["area_id"] as! Int == provinceIndex {
let citys = item["city_list"] as! Array<Dictionary<String,Any>>
if citys.count == 0 {
provinceIndex = i
}
for j in 0 ..< citys.count {
let cItem = citys[j]
if cItem["area_id"] as! Int == cityIndex {
let districts = cItem["district_list"] as! Array<Dictionary<String,Any>>
if districts.count == 0 {
cityIndex = j
}
}
}
}
proDict = addressArray[provinceIndex] as! Dictionary<String,Any>
// }
}
} catch let error as Error? {
print("读取本地数据出现错误!",error as Any)
}
}
func showAreaSelect(view:UIView){
//创建选择器
pickerView=UIPickerView()
//将dataSource设置成自己
pickerView.dataSource=self
//将delegate设置成自己
pickerView.delegate=self
view.addSubview(pickerView)
pickerView.snp.makeConstraints { (make) in
make.top.equalTo(30)
make.left.right.bottom.equalTo(0)
}
pickerView.selectRow(provinceIndex, inComponent: 0, animated: false)
pickerView(pickerView, didSelectRow: provinceIndex, inComponent: 0)
pickerView.selectRow(cityIndex, inComponent: 1, animated: false)
pickerView(pickerView, didSelectRow: cityIndex, inComponent: 1)
}
var tempProvince_select = -1//临时省id
var tempCity_select = -1//临时市id
var tempArea_select = -1//临时区id
var dzStr = ""
@objc func closeAction(sender:UIButton){
bgBtn?.removeFromSuperview()
btmView?.subviews.forEach({ (view) in
view.removeFromSuperview()
})
btmView?.removeFromSuperview()
btmView = nil
bgBtn = nil
}
@objc func adrSelectFinish(sender:UIButton){
var proName = ""
var cityName = ""
cityDict["area_id"] = ""
cityDict["area_name"] = ""
proName = proDict["area_name"] as! String
if (proDict["city_list"] as! NSArray).count > 0 {
cityDict = (proDict["city_list"] as! NSArray)[cityIndex] as! [String: AnyObject]
cityName = cityDict["area_name"] as! String
}
var selectAdr = proName
if cityName.count > 0 {
selectAdr = proName + "-" + cityName
}
dzStr = "中国-" + selectAdr
tishixxArr1.insert(dzStr, at: 2)
tishixxArr1.remove(at: 3)
bgBtn?.removeFromSuperview()
btmView?.subviews.forEach({ (view) in
view.removeFromSuperview()
})
btmView?.removeFromSuperview()
btmView = nil
bgBtn = nil
listTbv.reloadData()
}
func createLocSelectView(){
if bgBtn == nil {
let btn = UIButton()
self.view.addSubview(btn)
btn.backgroundColor = UIColor.black
btn.alpha = 0.4
btn.addTarget(self, action: #selector(closeAction(sender:)), for: .touchUpInside)
btn.snp.makeConstraints { (make) in
make.top.right.bottom.left.equalTo(0)
}
bgBtn = btn
}
if btmView == nil {
let view = UIView()
view.backgroundColor = UIColor.white
btmView = view
self.view.addSubview(btmView!)
btmView!.snp.makeConstraints { (make) in
make.left.bottom.right.equalTo(0)
make.height.equalTo(240)
}
showAreaSelect(view:btmView!)
let rightBtn = UIButton()
rightBtn.setTitle("确定", for: .normal)
rightBtn.setTitleColor(UIColor(named: "蓝色字体颜色"), for: .normal)
rightBtn.titleLabel?.font = UIFont.systemFont(ofSize: 15)
rightBtn.addTarget(self, action: #selector(adrSelectFinish(sender:)), for: .touchUpInside)
btmView?.addSubview(rightBtn)
rightBtn.snp.makeConstraints { (make) in
make.right.equalTo(-15)
make.top.equalTo(10)
make.height.equalTo(30)
make.width.equalTo(50)
}
let leftBtn = UIButton()
leftBtn.setTitle("取消", for: .normal)
leftBtn.setTitleColor(UIColor(named: "多选按钮字体颜色"), for: .normal)
leftBtn.titleLabel?.font = UIFont.systemFont(ofSize: 15)
leftBtn.addTarget(self, action: #selector(closeAction(sender:)), for: .touchUpInside)
btmView?.addSubview(leftBtn)
leftBtn.snp.makeConstraints { (make) in
make.left.equalTo(15)
make.top.equalTo(10)
make.height.equalTo(30)
make.width.equalTo(50)
}
}
}
}
......@@ -5,19 +5,20 @@
// Created by junye lu on 2020/4/23.
// Copyright © 2020 junye lu. All rights reserved.
//
//产品产地
import UIKit
import LGButton
import Photos
import IQKeyboardManagerSwift
import Dollar
import WebKit
import SwiftyJSON
protocol ProductDetailViewControllerDelegate {
func reloadDataByProductDetailViewController()
}
class ProductDetailViewController: BaseViewController,UITableViewDelegate,UITableViewDataSource,TitleAndBtnCellDelegate,GLAlertSelectViewDelegate,GoodsClassViewControllerDelegate,PinPaiListViewControllerDelegate,AddImgCellDelegate,AddGuiGeCellDelegate,CreatNewSpecsViewControllerDelegate,ShangPinGguiGeCellDelegate,UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout,TitleAndSwitchCellDelegate,TitleAndTFCellDelegate,YuShouWeiKuanFaHuoCellDelegate,UITextFieldDelegate,ShowTimeSelectViewDelegate,LMNoteViewControllerDelegate, GeliAlertViewDelegate{
class ProductDetailViewController: BaseViewController,UITableViewDelegate,UITableViewDataSource,TitleAndBtnCellDelegate,GLAlertSelectViewDelegate,GoodsClassViewControllerDelegate,PinPaiListViewControllerDelegate,AddImgCellDelegate,AddGuiGeCellDelegate,CreatNewSpecsViewControllerDelegate,ShangPinGguiGeCellDelegate,UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout,TitleAndSwitchCellDelegate,TitleAndTFCellDelegate,YuShouWeiKuanFaHuoCellDelegate,UITextFieldDelegate,ShowTimeSelectViewDelegate,LMNoteViewControllerDelegate, GeliAlertViewDelegate, UIPickerViewDataSource, UIPickerViewDelegate{
func CreatNewSpecsViewControllerCreateNew(datas: Array<GuiGeModel>, selectIdx: IndexPath) {
//此处无用
}
......@@ -33,9 +34,6 @@ class ProductDetailViewController: BaseViewController,UITableViewDelegate,UITabl
itemTypeArr = selectArr
}
if selectnum != 10086 {
if view.titleLbl.text == "请选择国家" {
countrySelect = selectnum
}
if view.titleLbl.text == "请选择运输方式" {
yunShuType = selectnum
}
......@@ -50,14 +48,15 @@ class ProductDetailViewController: BaseViewController,UITableViewDelegate,UITabl
let titleArr = ["商品信息","商品图片","商品规格","预售设置","其它信息","商品详情"]
let spxxArr = ["商品名称","商品类型","商品分类","品牌","起卖数量","是否清真","是否询价"]
var tishixxArr = ["请输入商品名称","普通","请选择商品分类","请选择品牌","请输入起卖数量"]
var tishixxArr1 = ["请输入关键字","请输入物流费用","中国","热销","请选择运输方式"] //国家默认值
var tishixxArr1 = ["请输入关键字","请输入物流费用","请选择产品产地","热销","请选择运输方式"] //国家默认值
let sptpArr = ["商品封面图(限一张)","商品主图(限五张)"]
let qtxxArr = ["关键字","物流费用","国家","商品状态","运输方式"]
let qtxxArr = ["关键字","物流费用","产品产地","商品状态","运输方式"]
let ysszArr = ["用户付款是否需要审核","预设预付定金时间段","预设预付尾款时间段","预设预付尾款发货时间"]
var ysszHolder = ["0","请选择时段","请选择时段","0"]
var shangPinStatusArr:Array<GeneralInfoGsModel>? = []
var yunShuTypeArr = ["冷链","常温","热链"]
var countryArr = ["中国"]
// var countryArr = ["中国"]
var layout = UICollectionViewFlowLayout()
var glSelectView:GLAlertSelectView?
......@@ -77,7 +76,7 @@ class ProductDetailViewController: BaseViewController,UITableViewDelegate,UITabl
var shiFouXJ = false//是否询价
var keyWord = ""//关键字
var wuLiuPrice = ""//物流费用
var countrySelect:Int? = 0//选择国家
// var countrySelect:Int? = 0//选择国家
var guiGeArr:Array<GuiGeModel> = []//规格数组,根据规格资料数量控制右上角新增按钮是否显示
var shiFouSH = false //是否审核
var faHuoTime = ""//发货时间
......@@ -134,10 +133,7 @@ class ProductDetailViewController: BaseViewController,UITableViewDelegate,UITabl
}
}
if countrySelect == nil {
HUD.flash(.label("请选择国家"), delay: 1.2)
return
}
if shangPinStatus == nil {
HUD.flash(.label("请选择商品状态"), delay: 1.2)
return
......@@ -278,7 +274,7 @@ class ProductDetailViewController: BaseViewController,UITableViewDelegate,UITabl
super.viewDidLoad()
//MARK:--获取新增商品的基本信息(品牌和分类等)
HUD.flash(.progress)
getIndex()
//MARK:--新增商品和编辑商品所需要的基本信息(无)就页面不正常显示
GeneralInfo(["user_token":UserToken as Any], success: { (data) in
......@@ -595,20 +591,8 @@ class ProductDetailViewController: BaseViewController,UITableViewDelegate,UITabl
vc.dataModelArray = generalInfoModel?.data?.brand
self.navigationController?.pushViewController(vc, animated: true)
}
if cell.nameLbl.text == "国家" {
if glSelectView == nil {
let view = GLAlertSelectView(frame: self.view.bounds)
view.tag = cell.tag
view.titleLbl.text = "请选择国家"
view.delegate = self
view.dataArr = countryArr
if countrySelect != nil {
view.selectNum = countrySelect!
}
self.view.addSubview(view)
glSelectView = view
}
if cell.nameLbl.text == "产品产地" {
createLocSelectView()
}
if cell.nameLbl.text == "商品状态" {
let view = GLAlertSelectView(frame: self.view.bounds)
......@@ -871,12 +855,6 @@ class ProductDetailViewController: BaseViewController,UITableViewDelegate,UITabl
tishixxArr1.insert(yunShuTypeArr[selectNum], at: view.tag)
tishixxArr1.remove(at: view.tag+1)
break
case "请选择国家":
countrySelect = selectNum
tishixxArr1.insert(countryArr[selectNum], at: view.tag)
tishixxArr1.remove(at: view.tag+1)
break
default:
break
}
......@@ -1404,7 +1382,250 @@ class ProductDetailViewController: BaseViewController,UITableViewDelegate,UITabl
isWebH = false
listTbv.reloadData()
}
//MARK: - 地区选择
var btmView:UIView?
var bgBtn:UIButton?
//设置选择框的列数为3列,继承于UIPickerViewDataSource协议
func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 2
}
//设置选择框的行数,继承于UIPickerViewDataSource协议
func pickerView(_ pickerView: UIPickerView,
numberOfRowsInComponent component: Int) -> Int {
if component == 0 {
return self.addressArray.count
} else {
let province = self.addressArray[provinceIndex] as! Dictionary<String,Any>
return (province["city_list"]! as AnyObject).count
}
}
//设置选择框各选项的内容,继承于UIPickerViewDelegate协议
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int,
forComponent component: Int) -> String? {
if component == 0 {
let rowDic = self.addressArray[row] as! Dictionary<String,Any>
return rowDic["area_name"] as? String
}else {
let province = self.addressArray[provinceIndex] as! Dictionary<String,Any>
let city = (province["city_list"] as! NSArray)[row]
as! [String: AnyObject]
return city["area_name"] as? String
}
}
//选中项改变事件(将在滑动停止后触发)
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int,
inComponent component: Int) {
//根据列、行索引判断需要改变数据的区域
switch (component) {
case 0:
provinceIndex = row;
pickerView.reloadComponent(1);
pickerView.selectRow(cityIndex, inComponent: 1, animated: false)
case 1:
cityIndex = row;
default:
break;
}
}
func pickerView(_ pickerView: UIPickerView, rowHeightForComponent component: Int) -> CGFloat {
return 50
}
//自定义UIPickerView
func pickerView(_ pickerView: UIPickerView, viewForRow row: Int, forComponent component: Int, reusing view: UIView?) -> UIView {
let genderLbl = UILabel()
genderLbl.textAlignment = .center
genderLbl.font = UIFont.systemFont(ofSize: 15)
genderLbl.textColor = UIColor.init(named: "标题字颜色")
if component == 0 {
let rowDic = self.addressArray[row] as! Dictionary<String,Any>
genderLbl.text = rowDic["area_name"] as? String
}else {
let province = self.addressArray[provinceIndex] as! Dictionary<String,Any>
let city = (province["city_list"] as! NSArray)[row]
as! [String: AnyObject]
genderLbl.text = city["area_name"] as? String
}
return genderLbl
}
//选择器
var pickerView:UIPickerView!
//所以地址数据集合
var addressArray:Array<Any> = []
//选择的省索引
var provinceIndex = 0
//选择的市索引
var cityIndex = 0
var proDict:Dictionary<String,Any> = Dictionary()
var cityDict:Dictionary<String,Any> = Dictionary()
func get_location_id(){
let proDict = addressArray[provinceIndex] as! Dictionary<String,Any>
var cityDict:Dictionary<String,Any> = Dictionary()
var areaDict:Dictionary<String,Any> = Dictionary()
cityDict["area_id"] = ""
areaDict["area_id"] = ""
if (proDict["city_list"] as! NSArray).count > 0 {
cityDict = (proDict["city_list"] as! NSArray)[cityIndex] as! [String: AnyObject]
}
}
func getIndex(){
let path = Bundle.main.path(forResource: "address_new", ofType: "json")
let url = URL(fileURLWithPath: path!)
// 带throws的方法需要抛异常
do {
let data = try Data(contentsOf: url)
let jsonData = JSON(data)
print("地址文件数据",jsonData["data"])
self.addressArray = jsonData["data"].arrayObject!
// if navTitle == "编辑地址" {
for i in 0 ..< addressArray.count {
let item = addressArray[i] as! Dictionary<String,Any>
if item["area_id"] as! Int == provinceIndex {
let citys = item["city_list"] as! Array<Dictionary<String,Any>>
if citys.count == 0 {
provinceIndex = i
}
for j in 0 ..< citys.count {
let cItem = citys[j]
if cItem["area_id"] as! Int == cityIndex {
let districts = cItem["district_list"] as! Array<Dictionary<String,Any>>
if districts.count == 0 {
cityIndex = j
}
}
}
}
proDict = addressArray[provinceIndex] as! Dictionary<String,Any>
// }
}
} catch let error as Error? {
print("读取本地数据出现错误!",error as Any)
}
}
func showAreaSelect(view:UIView){
//创建选择器
pickerView=UIPickerView()
//将dataSource设置成自己
pickerView.dataSource=self
//将delegate设置成自己
pickerView.delegate=self
view.addSubview(pickerView)
pickerView.snp.makeConstraints { (make) in
make.top.equalTo(30)
make.left.right.bottom.equalTo(0)
}
pickerView.selectRow(provinceIndex, inComponent: 0, animated: false)
pickerView(pickerView, didSelectRow: provinceIndex, inComponent: 0)
pickerView.selectRow(cityIndex, inComponent: 1, animated: false)
pickerView(pickerView, didSelectRow: cityIndex, inComponent: 1)
}
var tempProvince_select = -1//临时省id
var tempCity_select = -1//临时市id
var tempArea_select = -1//临时区id
var dzStr = ""
@objc func closeAction(sender:UIButton){
bgBtn?.removeFromSuperview()
btmView?.subviews.forEach({ (view) in
view.removeFromSuperview()
})
btmView?.removeFromSuperview()
btmView = nil
bgBtn = nil
}
@objc func adrSelectFinish(sender:UIButton){
var proName = ""
var cityName = ""
cityDict["area_id"] = ""
cityDict["area_name"] = ""
proName = proDict["area_name"] as! String
if (proDict["city_list"] as! NSArray).count > 0 {
cityDict = (proDict["city_list"] as! NSArray)[cityIndex] as! [String: AnyObject]
cityName = cityDict["area_name"] as! String
}
var selectAdr = proName
if cityName.count > 0 {
selectAdr = proName + "-" + cityName
}
dzStr = "中国-" + selectAdr
tishixxArr1.insert(dzStr, at: 2)
tishixxArr1.remove(at: 3)
bgBtn?.removeFromSuperview()
btmView?.subviews.forEach({ (view) in
view.removeFromSuperview()
})
btmView?.removeFromSuperview()
btmView = nil
bgBtn = nil
listTbv.reloadData()
}
func createLocSelectView(){
if bgBtn == nil {
let btn = UIButton()
self.view.addSubview(btn)
btn.backgroundColor = UIColor.black
btn.alpha = 0.4
btn.addTarget(self, action: #selector(closeAction(sender:)), for: .touchUpInside)
btn.snp.makeConstraints { (make) in
make.top.right.bottom.left.equalTo(0)
}
bgBtn = btn
}
if btmView == nil {
let view = UIView()
view.backgroundColor = UIColor.white
btmView = view
self.view.addSubview(btmView!)
btmView!.snp.makeConstraints { (make) in
make.left.bottom.right.equalTo(0)
make.height.equalTo(240)
}
showAreaSelect(view:btmView!)
let rightBtn = UIButton()
rightBtn.setTitle("确定", for: .normal)
rightBtn.setTitleColor(UIColor(named: "蓝色字体颜色"), for: .normal)
rightBtn.titleLabel?.font = UIFont.systemFont(ofSize: 15)
rightBtn.addTarget(self, action: #selector(adrSelectFinish(sender:)), for: .touchUpInside)
btmView?.addSubview(rightBtn)
rightBtn.snp.makeConstraints { (make) in
make.right.equalTo(-15)
make.top.equalTo(10)
make.height.equalTo(30)
make.width.equalTo(50)
}
let leftBtn = UIButton()
leftBtn.setTitle("取消", for: .normal)
leftBtn.setTitleColor(UIColor(named: "多选按钮字体颜色"), for: .normal)
leftBtn.titleLabel?.font = UIFont.systemFont(ofSize: 15)
leftBtn.addTarget(self, action: #selector(closeAction(sender:)), for: .touchUpInside)
btmView?.addSubview(leftBtn)
leftBtn.snp.makeConstraints { (make) in
make.left.equalTo(15)
make.top.equalTo(10)
make.height.equalTo(30)
make.width.equalTo(50)
}
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment