Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
GeliBusinessPlatform
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Analytics
CI / CD Analytics
Repository Analytics
Value Stream Analytics
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ljy
GeliBusinessPlatform
Commits
866f9655
Commit
866f9655
authored
Feb 03, 2021
by
lujunye
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
将国家选择改为产品产地选择。
parent
44542111
Changes
3
Show whitespace changes
Inline
Side-by-side
Showing
3 changed files
with
517 additions
and
66 deletions
+517
-66
GeliBusinessPlatform.xcworkspace/xcuserdata/junyelu.xcuserdatad/UserInterfaceState.xcuserstate
...erdata/junyelu.xcuserdatad/UserInterfaceState.xcuserstate
+0
-0
GeliBusinessPlatform/ViewController/商品详情/EPViewController.swift
...sinessPlatform/ViewController/商品详情/EPViewController.swift
+262
-32
GeliBusinessPlatform/ViewController/商品详情/ProductDetailViewController.swift
...orm/ViewController/商品详情/ProductDetailViewController.swift
+255
-34
No files found.
GeliBusinessPlatform.xcworkspace/xcuserdata/junyelu.xcuserdatad/UserInterfaceState.xcuserstate
View file @
866f9655
No preview for this file type
GeliBusinessPlatform/ViewController/商品详情/EPViewController.swift
View file @
866f9655
...
...
@@ -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
)
}
}
}
}
GeliBusinessPlatform/ViewController/商品详情/ProductDetailViewController.swift
View file @
866f9655
...
...
@@ -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
)
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment