Commit 17c75f24 authored by 刘俊宏's avatar 刘俊宏

寄派方式ing

parent 3d3ef664
...@@ -12,6 +12,8 @@ import WebKit ...@@ -12,6 +12,8 @@ import WebKit
class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableViewDataSource,JiTuoWuXinXiViewDelegate,JiPaiFangShiViewControllerDelegate,ZengZhiServicesViewControllerDelegate,AdressSelectCellDelegate,DZGLViewControllerDelegate,XinZengDiZhiViewControllerDelegate{ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableViewDataSource,JiTuoWuXinXiViewDelegate,JiPaiFangShiViewControllerDelegate,ZengZhiServicesViewControllerDelegate,AdressSelectCellDelegate,DZGLViewControllerDelegate,XinZengDiZhiViewControllerDelegate{
@IBOutlet weak var topCarBtnSelectView: UIView! @IBOutlet weak var topCarBtnSelectView: UIView!
var sender:String? var sender:String?
var sendPhone:String? var sendPhone:String?
...@@ -100,14 +102,14 @@ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableVie ...@@ -100,14 +102,14 @@ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableVie
var send = 0 var send = 0
var receive = 0 var receive = 0
func JiPaiFangShiViewControllerDelegateFinish(send: Int, receive: Int, time: Double) {
func JiPaiFangShiViewControllerDelegateFinish(send: Int, receive: Int, pickup_time: String, day: Int) {
self.send = send self.send = send
self.receive = receive self.receive = receive
listView.reloadData() listView.reloadData()
} }
var itemName = "" var itemName = ""
var tiJi:Float? var tiJi:Float?
var weight:Float? var weight:Float?
......
...@@ -8,17 +8,22 @@ ...@@ -8,17 +8,22 @@
import UIKit import UIKit
protocol JiPaiFangShiViewControllerDelegate { protocol JiPaiFangShiViewControllerDelegate {
func JiPaiFangShiViewControllerDelegateFinish(send:Int,receive:Int,time:Double) //day期望上门 0今天 1明天 2后天
func JiPaiFangShiViewControllerDelegateFinish(send:Int,receive:Int,pickup_time:String,day:Int)
} }
class JiPaiFangShiViewController: BaseViewController ,SendTimeSelectViewDeleagte{ class JiPaiFangShiViewController: BaseViewController ,SendTimeSelectViewDeleagte{
var delegate:JiPaiFangShiViewControllerDelegate? var delegate:JiPaiFangShiViewControllerDelegate?
var sendTimeView:SendTimeSelectView? var sendTimeView:SendTimeSelectView?
@IBAction func selectTimeAction(_ sender: UIButton) { @IBAction func selectTimeAction(_ sender: UIButton) {
if sendTimeView == nil { if sendTimeView == nil && timeData != nil {
let view = SendTimeSelectView(frame:self.view.bounds) let view = SendTimeSelectView(frame:self.view.bounds)
view.delegate = self view.delegate = self
self.view.addSubview(view) self.view.addSubview(view)
sendTimeView = view sendTimeView = view
view.leftSelectIdx = self.leftSelectIdx
view.dataModel = timeData
view.rightSelectIdx = self.rightSelectIdx
} }
} }
@IBAction func submitAction(_ sender: Any) { @IBAction func submitAction(_ sender: Any) {
...@@ -30,7 +35,7 @@ class JiPaiFangShiViewController: BaseViewController ,SendTimeSelectViewDeleagte ...@@ -30,7 +35,7 @@ class JiPaiFangShiViewController: BaseViewController ,SendTimeSelectViewDeleagte
if PLeftBtn.isSelected == false { if PLeftBtn.isSelected == false {
receive = 1 receive = 1
} }
delegate?.JiPaiFangShiViewControllerDelegateFinish(send: send, receive: receive, time: 2) delegate?.JiPaiFangShiViewControllerDelegateFinish(send: send, receive: receive, pickup_time: "8-10" , day: 0)
self.navigationController?.popViewController(animated: true) self.navigationController?.popViewController(animated: true)
} }
@IBOutlet weak var topView: UIView! @IBOutlet weak var topView: UIView!
...@@ -42,6 +47,11 @@ class JiPaiFangShiViewController: BaseViewController ,SendTimeSelectViewDeleagte ...@@ -42,6 +47,11 @@ class JiPaiFangShiViewController: BaseViewController ,SendTimeSelectViewDeleagte
@IBOutlet weak var JRightBtn: UIButton! @IBOutlet weak var JRightBtn: UIButton!
@IBOutlet weak var JLeftBtn: UIButton! @IBOutlet weak var JLeftBtn: UIButton!
@IBOutlet weak var timeViewHeight: NSLayoutConstraint! @IBOutlet weak var timeViewHeight: NSLayoutConstraint!
var pickup_time : String?
var day : Int?
var timeData:appointmentTimeDataModel? = nil
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
...@@ -65,7 +75,39 @@ class JiPaiFangShiViewController: BaseViewController ,SendTimeSelectViewDeleagte ...@@ -65,7 +75,39 @@ class JiPaiFangShiViewController: BaseViewController ,SendTimeSelectViewDeleagte
make.right.equalTo(-15) make.right.equalTo(-15)
make.height.equalTo(55) make.height.equalTo(55)
} }
// Do any additional setup after loading the view. let UserToken = UserDefaults.standard.value(forKey: "user_token")
appointmentTime(["user_token":UserToken as Any], success: { (data) in
let dataModel = data as! appointmentTimeModel
self.timeData = dataModel.data
//需要修改-放上个vc
if dataModel.data?.today == nil {
let keys = dataModel.data?.tomorrow?.keys
let keysArr = keys?.sorted(by: { (str1, str2) -> Bool in
let num1 = str1 as NSString
let num2 = str2 as NSString
return num1.integerValue < num2.integerValue ? true : false
})
let rightIndexKey = keysArr![0]
let rightText = dataModel.data?.tomorrow![rightIndexKey as! String]
self.timeLbl.text = "明天" + rightText!
}else{
let keys = dataModel.data?.today?.keys
let keysArr = keys?.sorted(by: { (str1, str2) -> Bool in
let num1 = str1 as NSString
let num2 = str2 as NSString
return num1.integerValue < num2.integerValue ? true : false
})
let rightIndexKey = keysArr![0]
let rightText = dataModel.data?.tomorrow![rightIndexKey as! String]
self.timeLbl.text = "今天" + rightText!
}
}) { (error) in
}
} }
func setYuanJiao(sender:UIView){ func setYuanJiao(sender:UIView){
let maskPath = UIBezierPath(roundedRect: sender.bounds, let maskPath = UIBezierPath(roundedRect: sender.bounds,
...@@ -75,13 +117,29 @@ class JiPaiFangShiViewController: BaseViewController ,SendTimeSelectViewDeleagte ...@@ -75,13 +117,29 @@ class JiPaiFangShiViewController: BaseViewController ,SendTimeSelectViewDeleagte
masklayer.path = maskPath.cgPath masklayer.path = maskPath.cgPath
sender.layer.mask = masklayer sender.layer.mask = masklayer
} }
var leftSelectIdx : Int? = 0
func SendTimeSelectViewSubmit(date: String) { var rightSelectIdx : Int? = 0
func SendTimeSelectViewSubmit(day: String, time: String, leftSelectIdx: Int, rightSelectIdx: Int) {
timeLbl.text = date timeLbl.text = day + time
sendTimeView?.removeFromSuperview() sendTimeView?.removeFromSuperview()
sendTimeView = nil sendTimeView = nil
self.rightSelectIdx = rightSelectIdx
self.leftSelectIdx = leftSelectIdx
pickup_time = time
switch day {
case "今天":
self.day = 0
case "明天":
self.day = 1
case "后天":
self.day = 2
default:
break
} }
}
func SendTimeSelectViewClose() { func SendTimeSelectViewClose() {
sendTimeView?.removeFromSuperview() sendTimeView?.removeFromSuperview()
sendTimeView = nil sendTimeView = nil
......
...@@ -38,7 +38,7 @@ ...@@ -38,7 +38,7 @@
<constraint firstAttribute="width" constant="5" id="mKv-OP-Izj"/> <constraint firstAttribute="width" constant="5" id="mKv-OP-Izj"/>
</constraints> </constraints>
</imageView> </imageView>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="今天 14:30~16:30" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DPN-ah-dAM"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DPN-ah-dAM">
<rect key="frame" x="159" y="13" width="200" height="15"/> <rect key="frame" x="159" y="13" width="200" height="15"/>
<constraints> <constraints>
<constraint firstAttribute="width" constant="200" id="5kN-KW-gI7"/> <constraint firstAttribute="width" constant="200" id="5kN-KW-gI7"/>
......
...@@ -9,17 +9,79 @@ ...@@ -9,17 +9,79 @@
import UIKit import UIKit
protocol SendTimeSelectViewDeleagte { protocol SendTimeSelectViewDeleagte {
func SendTimeSelectViewClose() func SendTimeSelectViewClose()
func SendTimeSelectViewSubmit(date:String) func SendTimeSelectViewSubmit(day:String,time:String,leftSelectIdx:Int,rightSelectIdx:Int)
} }
class SendTimeSelectView: UIView,UITableViewDelegate,UITableViewDataSource { class SendTimeSelectView: UIView,UITableViewDelegate,UITableViewDataSource {
var dataModel:appointmentTimeDataModel? = nil {
didSet{
if dataModel?.today == nil {
leftListArr = ["明天","后天"]
let keys = dataModel?.tomorrow?.keys
let keysArr = keys?.sorted(by: { (str1, str2) -> Bool in
let num1 = str1 as NSString
let num2 = str2 as NSString
return num1.integerValue < num2.integerValue ? true : false
})
rightListArr = keysArr
leftStr = "明天"
}else{
leftListArr = ["今天","明天","后天"]
let keys = dataModel?.today?.keys
let keysArr = keys?.sorted(by: { (str1, str2) -> Bool in
let num1 = str1 as NSString
let num2 = str2 as NSString
return num1.integerValue < num2.integerValue ? true : false
})
rightListArr = keysArr
leftStr = "今天"
}
tableView(leftListView, didSelectRowAt: IndexPath(row: leftSelectIdx!, section: 0))
leftListView.reloadData()
rightListView.reloadData()
}
}
var delegate:SendTimeSelectViewDeleagte? var delegate:SendTimeSelectViewDeleagte?
let leftListArr = ["今天","明天","后天"] var leftListArr = ["今天","明天","后天"]
let rightListArr = ["1","2","3"] var rightListArr:Array<Any>? = []
var leftStr = "今天"
var contentView:UIView! var contentView:UIView!
var leftSelectIdx:Int? var leftSelectIdx:Int?
var rightSelectIdx:Int? var rightSelectIdx:Int? {
didSet{
rightListView.reloadData()
if rightSelectIdx != nil {
rightListView.scrollToRow(at: IndexPath.init(row: rightSelectIdx!, section: 0), at: .none, animated: false)
}
}
}
@IBAction func submitAction(_ sender: Any) { @IBAction func submitAction(_ sender: Any) {
delegate?.SendTimeSelectViewSubmit(date:"\(leftListArr[leftSelectIdx!]) \(rightListArr[rightSelectIdx!])") if rightSelectIdx == nil {
HUD.flash(.label("请选择上门时间"), delay: 1.2)
return
}
var rightText = ""
switch leftStr {
case "今天":
let rightIndexKey = rightListArr![rightSelectIdx!]
rightText = dataModel?.today![rightIndexKey as! String] as! String
case "明天":
let rightIndexKey = rightListArr![rightSelectIdx!]
rightText = dataModel?.tomorrow![rightIndexKey as! String] as! String
case "后天":
let rightIndexKey = rightListArr![rightSelectIdx!]
rightText = dataModel?.taftert![rightIndexKey as! String] as! String
default:
break
}
delegate?.SendTimeSelectViewSubmit(day:"\(leftListArr[leftSelectIdx!]) ",time:rightText,leftSelectIdx:leftSelectIdx!,rightSelectIdx: rightSelectIdx! )
} }
@IBOutlet weak var rightListView: UITableView! @IBOutlet weak var rightListView: UITableView!
@IBOutlet weak var leftListView: UITableView! @IBOutlet weak var leftListView: UITableView!
...@@ -43,8 +105,7 @@ class SendTimeSelectView: UIView,UITableViewDelegate,UITableViewDataSource { ...@@ -43,8 +105,7 @@ class SendTimeSelectView: UIView,UITableViewDelegate,UITableViewDataSource {
leftListView.register(UINib(nibName: "OnlyLabelCell", bundle: nil), forCellReuseIdentifier: "OnlyLabel") leftListView.register(UINib(nibName: "OnlyLabelCell", bundle: nil), forCellReuseIdentifier: "OnlyLabel")
rightListView.register(UINib(nibName: "OnlyLabelCell", bundle: nil), forCellReuseIdentifier: "OnlyLabel") rightListView.register(UINib(nibName: "OnlyLabelCell", bundle: nil), forCellReuseIdentifier: "OnlyLabel")
tableView(leftListView, didSelectRowAt: IndexPath(row: 0, section: 0))
leftListView.reloadData()
} }
//初始化时将xib中的view添加进来 //初始化时将xib中的view添加进来
override init(frame: CGRect) { override init(frame: CGRect) {
...@@ -57,32 +118,13 @@ class SendTimeSelectView: UIView,UITableViewDelegate,UITableViewDataSource { ...@@ -57,32 +118,13 @@ class SendTimeSelectView: UIView,UITableViewDelegate,UITableViewDataSource {
self.setUI() self.setUI()
} }
// /初始化时将xib中的view添加进来
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
contentView = loadViewFromNib()
addSubview(contentView)
contentView.snp.makeConstraints { (make) in
make.left.top.right.bottom.equalToSuperview()
}
self.setUI()
}
//加载xib
func loadViewFromNib() -> UIView {
let className = type(of: self)
let bundle = Bundle(for: className)
let name = NSStringFromClass(className).components(separatedBy: ".").last
let nib = UINib(nibName: name!, bundle: bundle)
let view = nib.instantiate(withOwner: self, options: nil).first as! UIView
self.setUI()
return view
}
//MARK: - CELL DELEGATE //MARK: - CELL DELEGATE
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
if tableView == leftListView { if tableView == leftListView {
return leftListArr.count return leftListArr.count
} }
return 3
return rightListArr!.count
} }
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
...@@ -105,7 +147,25 @@ class SendTimeSelectView: UIView,UITableViewDelegate,UITableViewDataSource { ...@@ -105,7 +147,25 @@ class SendTimeSelectView: UIView,UITableViewDelegate,UITableViewDataSource {
cell.backgroundColor = UIColor.white cell.backgroundColor = UIColor.white
} }
}else{ }else{
cell.titleLbl.text = rightListArr[indexPath.row] switch leftStr {
case "今天":
let rightIndexKey = rightListArr![indexPath.row]
let rightText = dataModel?.today![rightIndexKey as! String]
cell.titleLbl.text = rightText
case "明天":
let rightIndexKey = rightListArr![indexPath.row]
let rightText = dataModel?.tomorrow![rightIndexKey as! String]
cell.titleLbl.text = rightText
case "后天":
let rightIndexKey = rightListArr![indexPath.row]
let rightText = dataModel?.taftert![rightIndexKey as! String]
cell.titleLbl.text = rightText
default:
break
}
cell.titleLbl.textColor = UIColor(named: "灰色字体颜色") cell.titleLbl.textColor = UIColor(named: "灰色字体颜色")
cell.titleLbl.font = UIFont.systemFont(ofSize: 13) cell.titleLbl.font = UIFont.systemFont(ofSize: 13)
if rightSelectIdx == indexPath.row{ if rightSelectIdx == indexPath.row{
...@@ -120,8 +180,40 @@ class SendTimeSelectView: UIView,UITableViewDelegate,UITableViewDataSource { ...@@ -120,8 +180,40 @@ class SendTimeSelectView: UIView,UITableViewDelegate,UITableViewDataSource {
if tableView == leftListView { if tableView == leftListView {
leftSelectIdx = indexPath.row leftSelectIdx = indexPath.row
rightSelectIdx = nil rightSelectIdx = nil
leftStr = leftListArr[indexPath.row]
switch leftStr {
case "今天":
let keys = dataModel?.today?.keys
let keysArr = keys?.sorted(by: { (str1, str2) -> Bool in
let num1 = str1 as NSString
let num2 = str2 as NSString
return num1.integerValue < num2.integerValue ? true : false
})
rightListArr = keysArr
case "明天":
let keys = dataModel?.tomorrow?.keys
let keysArr = keys?.sorted(by: { (str1, str2) -> Bool in
let num1 = str1 as NSString
let num2 = str2 as NSString
return num1.integerValue < num2.integerValue ? true : false
})
rightListArr = keysArr
case "后天":
let keys = dataModel?.taftert?.keys
let keysArr = keys?.sorted(by: { (str1, str2) -> Bool in
let num1 = str1 as NSString
let num2 = str2 as NSString
return num1.integerValue < num2.integerValue ? true : false
})
rightListArr = keysArr
default:
break
}
rightListView.reloadData() rightListView.reloadData()
leftListView.reloadData() leftListView.reloadData()
} }
if tableView == rightListView { if tableView == rightListView {
...@@ -130,4 +222,24 @@ class SendTimeSelectView: UIView,UITableViewDelegate,UITableViewDataSource { ...@@ -130,4 +222,24 @@ class SendTimeSelectView: UIView,UITableViewDelegate,UITableViewDataSource {
} }
} }
// /初始化时将xib中的view添加进来
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
contentView = loadViewFromNib()
addSubview(contentView)
contentView.snp.makeConstraints { (make) in
make.left.top.right.bottom.equalToSuperview()
}
self.setUI()
}
//加载xib
func loadViewFromNib() -> UIView {
let className = type(of: self)
let bundle = Bundle(for: className)
let name = NSStringFromClass(className).components(separatedBy: ".").last
let nib = UINib(nibName: name!, bundle: bundle)
let view = nib.instantiate(withOwner: self, options: nil).first as! UIView
self.setUI()
return view
}
} }
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15702" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="16097" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<device id="retina6_5" orientation="portrait" appearance="light"/> <device id="retina6_5" orientation="portrait" appearance="light"/>
<dependencies> <dependencies>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15704"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/>
<capability name="Named colors" minToolsVersion="9.0"/> <capability name="Named colors" minToolsVersion="9.0"/>
<capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies> </dependencies>
<objects> <objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SendTimeSelectView" customModule="GeliBusinessPlatform" customModuleProvider="target"> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="SendTimeSelectView" customModule="TestClass" customModuleProvider="target">
<connections> <connections>
<outlet property="bottomView" destination="NDY-nX-rrQ" id="VHN-ZG-jd7"/> <outlet property="bottomView" destination="NDY-nX-rrQ" id="VHN-ZG-jd7"/>
<outlet property="leftListView" destination="QvL-x6-Nh2" id="evH-ki-Zy4"/> <outlet property="leftListView" destination="QvL-x6-Nh2" id="evH-ki-Zy4"/>
......
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