Commit 2be49d1f authored by lujunye's avatar lujunye

asdfsadfasfdsfdsfd阿斯顿发送到发斯蒂芬

parent 1e8316a1
{
"images" : [
{
"filename" : "编组 3.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "编组 3@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "编组 3@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "编组.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "编组@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "编组@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "编组 2.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "编组 2@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "编组 2@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"filename" : "编组 3.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "编组 3@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "编组 3@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
...@@ -64,7 +64,24 @@ func SetTopFrame(view:UIView,height:CGFloat){ ...@@ -64,7 +64,24 @@ func SetTopFrame(view:UIView,height:CGFloat){
make.height.equalTo(height) make.height.equalTo(height)
} }
} }
func timeStampToString(timeStamp: Double, outputFormatter: String)->String {
//时间戳为毫秒级要/1000 (13位数), 秒就不用除1000(10位数),参数带没带000
let timeString = String.init(format: "%d", timeStamp)
let timeSta:TimeInterval
if timeString.count == 10 {
timeSta = TimeInterval(timeStamp)
}else{
timeSta = TimeInterval(timeStamp / 1000)
}
let date = NSDate(timeIntervalSince1970: timeSta)
let dfmatter = DateFormatter()
//设定时间格式,这里可以设置成自己需要的格式yyyy-MM-dd HH:mm:ss
dfmatter.dateFormat = outputFormatter
return dfmatter.string(from: date as Date)
}
func IsOldIos() ->Bool{ func IsOldIos() ->Bool{
if #available(iOS 11.0, *){ if #available(iOS 11.0, *){
return false return false
......
...@@ -354,5 +354,7 @@ ...@@ -354,5 +354,7 @@
<string>Logistics/stateJudge</string> <string>Logistics/stateJudge</string>
<key>支付操作</key> <key>支付操作</key>
<string>Logistics/pphPayment</string> <string>Logistics/pphPayment</string>
<key>拼拼货预约时间</key>
<string>Logistics/pphAppointmentTime</string>
</dict> </dict>
</plist> </plist>
...@@ -116,7 +116,18 @@ func cancelOrder(_ params:[String:Any],success:@escaping (_ res:Any)->(),failtur ...@@ -116,7 +116,18 @@ func cancelOrder(_ params:[String:Any],success:@escaping (_ res:Any)->(),failtur
failture(error) failture(error)
} }
} }
//MARK:--拼拼货预约时间
/*
user_token 验证token
*/
func pphAppointmentTime(_ params:[String:Any],success:@escaping (_ res:Any)->(),failture:@escaping(_ error:Error)->()) {
NetworkRequest.sharedInstance.postRequest("拼拼货预约时间", params, { (rep:DataResponse<pphAppointmentTime_model>) in
}, success: { (data) in
success(data)
}) { (error) in
failture(error)
}
}
//MARK:--查询是否开通格利支付和余额是否足够 //MARK:--查询是否开通格利支付和余额是否足够
/* /*
user_token 验证token user_token 验证token
......
...@@ -141,7 +141,60 @@ class rechargeOperationData_model: Mappable { ...@@ -141,7 +141,60 @@ class rechargeOperationData_model: Mappable {
rep_code <- map["rep_code"] rep_code <- map["rep_code"]
} }
} }
//MARK: - 拼拼货预约时间
class pphAppointmentTime_model: Mappable {
var code:Int?
var message : String?
var data :Array<pphAppointmentTimeData_model>?
required init?( map: Map) {
}
func mapping(map: Map) {
code <- map["code"]
message <- map["message"]
data <- map["data"]
}
}
class pphAppointmentTimeData_model: Mappable {
var val:String?
var stime : Double?
var h_time :Array<pphAppointmentTimeDataHour_model>?
required init?( map: Map) {
}
func mapping(map: Map) {
val <- map["val"]
stime <- map["stime"]
h_time <- map["h_time"]
}
}
class pphAppointmentTimeDataHour_model: Mappable {
var val:String?
var m_time :Array<pphAppointmentTimeDataMin_model>?
required init?( map: Map) {
}
func mapping(map: Map) {
val <- map["val"]
m_time <- map["m_time"]
}
}
class pphAppointmentTimeDataMin_model: Mappable {
var val:String?
required init?( map: Map) {
}
func mapping(map: Map) {
val <- map["val"]
}
}
//MARK: - 拼拼货查看订单详情 //MARK: - 拼拼货查看订单详情
class orderDetails_model: Mappable { class orderDetails_model: Mappable {
var code:Int? var code:Int?
...@@ -196,33 +249,27 @@ class cargoContactListData: Mappable { ...@@ -196,33 +249,27 @@ class cargoContactListData: Mappable {
} }
class pph_info_data: Mappable { class pph_info_data: Mappable {
var payedAmount:Float? //实际支付金额(订单支付之后按这个价格为准) var shipperMobile : String? //货主联系电话
var payType2 : Int? var time : String?//预计行车时间
var truckType :Int? var status:Int? //状态1派车中2待接货3待送达4已送达5已取消
var payStatus:Int? //是否支付完成0未支付1已支付
var cargoContactList:Array<cargoContactListData>?
var arriveDate:Int? //送达时间
var mid : Int? //货主mid var mid : Int? //货主mid
var cargoContactList:Array<cargoContactListData>?
var indate:Double?//下单时间
var cargoNo : String? //订单号
var demo:String? //订单备注 var demo:String? //订单备注
var payType2 : Int?
var driverName:String?
var driverOffer:Int? //司机收款
var truckType :String?
var payedAmount:Float? //实际支付金额(订单支付之后按这个价格为准)
var arriveDate:Int? //送达时间
var driverMid:Int? //司机mid var driverMid:Int? //司机mid
var shipperMobile : String? //货主联系电话
var sysAmount:Float?//估计价格(订单支付前按这个价格为准) var sysAmount:Float?//估计价格(订单支付前按这个价格为准)
var sysMileage:Float?//估计里程 var sysMileage:Float?//估计里程
var cargoNo : String? //订单号
var driverMobile:String?//司机电话 var driverMobile:String?//司机电话
var driverOffer:Int? //司机收款
var deliverDate : Int? //用车时间 var deliverDate : Int? //用车时间
var indate:Int?//下单时间
var id:Int? //订单id var id:Int? //订单id
var time : String?//预计行车时间
var payStatus:Int? //是否支付完成0未支付1已支付
var status:Int? //状态1派车中2待接货3待送达4已送达5已取消
required init?( map: Map) { required init?( map: Map) {
...@@ -231,6 +278,7 @@ class pph_info_data: Mappable { ...@@ -231,6 +278,7 @@ class pph_info_data: Mappable {
payedAmount <- map["payedAmount"] payedAmount <- map["payedAmount"]
payType2 <- map["payType2"] payType2 <- map["payType2"]
truckType <- map["truckType"] truckType <- map["truckType"]
driverName <- map["driverName"]
cargoContactList <- map["cargoContactList"] cargoContactList <- map["cargoContactList"]
arriveDate <- map["arriveDate"] arriveDate <- map["arriveDate"]
...@@ -258,21 +306,20 @@ class pph_info_data: Mappable { ...@@ -258,21 +306,20 @@ class pph_info_data: Mappable {
} }
class orderDetailsData_model: Mappable { class orderDetailsData_model: Mappable {
var order_sn:String? //关联订单号 var order_sn:String? //关联订单号
var lwb_no : String?
var delivery_status:Int?
var sale_plat : String? //关联平台 var sale_plat : String? //关联平台
var freight :Float? //实际运费
var pay_time:String? //支付时间 var pay_time:String? //支付时间
var lwb_no : String?
var pph_info :pph_info_data? var pph_info :pph_info_data?
var freight :Float? //实际运费
required init?( map: Map) { required init?( map: Map) {
} }
func mapping(map: Map) { func mapping(map: Map) {
order_sn <- map["order_sn"] order_sn <- map["order_sn"]
sale_plat <- map["sale_plat"] sale_plat <- map["sale_plat"]
delivery_status <- map["delivery_status"]
freight <- map["freight"] freight <- map["freight"]
pay_time <- map["pay_time"] pay_time <- map["pay_time"]
lwb_no <- map["lwb_no"] lwb_no <- map["lwb_no"]
pph_info <- map["pph_info"] pph_info <- map["pph_info"]
......
...@@ -57,10 +57,10 @@ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableVie ...@@ -57,10 +57,10 @@ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableVie
case 2://未设置支付密码 case 2://未设置支付密码
HUD.flash(.label("请设置支付密码"), delay: 1.2) HUD.flash(.label("请设置支付密码"), delay: 1.2)
break break
case 3://资金不足额 // case 3://资金不足额
HUD.flash(.label("资金余额不足"), delay: 1.2) // HUD.flash(.label("资金余额不足"), delay: 1.2)
break // break
case 4://资金足额 case 3,4://资金足额
var tempArr:Array<addPinPinOrder_adrInfo> = [] var tempArr:Array<addPinPinOrder_adrInfo> = []
...@@ -91,17 +91,16 @@ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableVie ...@@ -91,17 +91,16 @@ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableVie
infos.append(info) infos.append(info)
} }
let infosData = dataChangeString(sender: infos) let infosData = dataChangeString(sender: infos)
// if pph_time.count == 0 {
let dfmatter = DateFormatter() // HUD.flash(.label("请选择用车时间"), delay: 1.2)
dfmatter.dateFormat="yyyy-MM-dd hh:mm:ss" // return
let date = dfmatter.date(from: pph_time + ":00") // }
let dateStamp:TimeInterval = date!.timeIntervalSince1970
let dateSt = CLongLong(round(dateStamp*1000))
let dict = ["user_token":UserToken as Any, let dict = ["user_token":UserToken as Any,
"uid":pphCarTypesArr[pph_selectCarType].id as Any, "uid":pphCarTypesArr[pph_selectCarType].id as Any,
"price":totalPrice as Any, "price":totalPrice as Any,
"orderType":1 as Any, "orderType":1 as Any,
"startDate":dateSt as Any, "startDate":"" as Any,
"demo":"" as Any, "demo":"" as Any,
"typeid":pphCarTypesArr[pph_selectCarType].type as Any, "typeid":pphCarTypesArr[pph_selectCarType].type as Any,
"tailplate":0 as Any, "tailplate":0 as Any,
...@@ -210,9 +209,11 @@ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableVie ...@@ -210,9 +209,11 @@ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableVie
var pph_send_arr:Array<addPinPinOrder_adrInfo> = [] var pph_send_arr:Array<addPinPinOrder_adrInfo> = []
var pph_receive_arr:Array<addPinPinOrder_adrInfo> = [] var pph_receive_arr:Array<addPinPinOrder_adrInfo> = []
var pph_time = "" var pph_time = ""
func P_P_H_Time_Select_View_Time_Select(time: String) { var timeStamp = -1
pph_time = time func P_P_H_Time_Select_View_Time_Select(time:Double) {
timeStamp = Int(time)
pph_time = timeStampToString(timeStamp: Double(timeStamp), outputFormatter: "yyyy-MM-dd HH:mm:ss")
print("abc = ",timeStamp,pph_time)
pph_listView.reloadData() pph_listView.reloadData()
} }
@IBAction func check_contract_action(_ sender: Any) { @IBAction func check_contract_action(_ sender: Any) {
...@@ -1900,6 +1901,8 @@ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableVie ...@@ -1900,6 +1901,8 @@ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableVie
if indexPath.section == 3 { if indexPath.section == 3 {
let view = P_P_H_Time_Select_View(frame: self.view.bounds) let view = P_P_H_Time_Select_View(frame: self.view.bounds)
view.delegate = self view.delegate = self
view.userToken = UserToken as! String
print("P_P_H_Time_Select_View ==",UserToken)
self.view.addSubview(view) self.view.addSubview(view)
} }
if indexPath.section == 1 { if indexPath.section == 1 {
...@@ -2508,7 +2511,7 @@ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableVie ...@@ -2508,7 +2511,7 @@ class XiaYunDanViewController: BaseViewController,UITableViewDelegate,UITableVie
if indexPath.section == 3 { if indexPath.section == 3 {
let cell = tableView.dequeueReusableCell(withIdentifier: "TitleAndBtnCell") as! TitleAndBtnCell let cell = tableView.dequeueReusableCell(withIdentifier: "TitleAndBtnCell") as! TitleAndBtnCell
cell.nameLbl.text = "请选择用车时间" cell.nameLbl.text = "请选择用车时间"
cell.contentLbl.text = pph_time cell.contentLbl.text = pph_time as String
cell.btn.isUserInteractionEnabled = false cell.btn.isUserInteractionEnabled = false
return cell return cell
} }
......
...@@ -11,8 +11,38 @@ import LGButton ...@@ -11,8 +11,38 @@ import LGButton
class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource { class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource {
var top_img = UIImage(named: "pph_order")
var status_str = "派单中"
var order_time_str = ""
var status_type_str = "待分配"
var id:Int = -1
var userToken = ""
var wb_no = ""
@IBAction func cancel_action(_ sender: Any) {
if btm_title_lbl.text == "取消订单" {
cancelOrder(["wb_no":wb_no as Any,"user_token":userToken as Any]) { (data) in
HUD.hide()
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "logistDetail"), object: nil, userInfo: nil)
} failture: { (err) in
}
}else{
let phone = "telprompt://" + mobile
if UIApplication.shared.canOpenURL(URL(string: phone)!) {
UIApplication.shared.openURL(URL(string: phone)!)
}
}
}
var sendArr:Array<cargoContactListData> = []
var receiveArr:Array<cargoContactListData> = []
var carType = "-"
var driver = "-"
var plan = "-"
var order = "-"
var cost = "-"
var pay_time = "-"
var mobile = "-"
@IBOutlet weak var title_lbl_h: NSLayoutConstraint! @IBOutlet weak var title_lbl_h: NSLayoutConstraint!
@IBOutlet weak var btm_title_lbl: UILabel! @IBOutlet weak var btm_title_lbl: UILabel!
@IBOutlet weak var action_btn: LGButton! @IBOutlet weak var action_btn: LGButton!
...@@ -31,9 +61,73 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource ...@@ -31,9 +61,73 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource
list_view.register(UINib(nibName: "PPH_Detail_Cell", bundle: nil), forCellReuseIdentifier: "PPH_Detail_Cell") list_view.register(UINib(nibName: "PPH_Detail_Cell", bundle: nil), forCellReuseIdentifier: "PPH_Detail_Cell")
list_view.register(UINib(nibName: "PPH_XQ_Cell", bundle: nil), forCellReuseIdentifier: "PPH_XQ_Cell") list_view.register(UINib(nibName: "PPH_XQ_Cell", bundle: nil), forCellReuseIdentifier: "PPH_XQ_Cell")
list_view.backgroundColor = UIColor(named: "app底色") list_view.backgroundColor = UIColor(named: "app底色")
print("id",id)
if id != -1 {
orderDetails(["user_token":userToken as Any,"id":id as Any]) {[self] (data) in
let model = data as! orderDetails_model
let modelData = model.data
switch modelData?.pph_info?.status {
case 2:
top_img = UIImage(named: "pph_wait")
status_str = "待接货"
break
case 3:
top_img = UIImage(named: "pph_logistics")
status_str = "待送达"
break
case 4:
top_img = UIImage(named: "pph_complete")
status_str = "已送达"
break
case 5:
top_img = UIImage(named: "pph_cancel")
status_str = "已取消"
break
default:
break
}
order_time_str = timeStampToString(timeStamp: (modelData?.pph_info?.indate)!, outputFormatter: "yyyy-MM-dd hh:mm:ss")
status_type_str = "拼拼货" + (modelData?.lwb_no)!
modelData?.pph_info?.cargoContactList?.forEach({ (item) in
if item.type == 1 || item.type == 4 {
sendArr.append(item)
}
if item.type == 2 || item.type == 3 {
receiveArr.append(item)
}
})
if (modelData?.pph_info?.status)! > 3 {
title_lbl_h.constant = 0
action_btn.isHidden = true
}else if (modelData?.pph_info?.status)! < 4 && (modelData?.pph_info?.status)! > 1{
btm_title_lbl.text = "联系司机"
}
carType = (modelData?.pph_info?.truckType)!
let f = (modelData?.pph_info!.driverMobile)!.prefix(3)
let l = (modelData?.pph_info!.driverMobile)!.suffix(3)
mobile = (modelData?.pph_info!.driverMobile)!
if (modelData?.pph_info?.driverName!.count)! > 0 {
driver = (modelData?.pph_info!.driverName)! + "(\(f)*****\(l)"
}
if (modelData?.sale_plat!.count)! > 0 {
plan = (modelData?.sale_plat)!
}
if (modelData?.order_sn!.count)! > 0 {
order = (modelData?.order_sn)!
}
cost = \(modelData!.freight!)"
pay_time = (modelData?.pay_time!)!
list_view.reloadData()
} failture: { (err) in
}
}
} }
//MARK: - tableview delegate //MARK: - tablevi(ew delegate
func numberOfSections(in tableView: UITableView) -> Int { func numberOfSections(in tableView: UITableView) -> Int {
return 3 return 3
} }
...@@ -47,13 +141,21 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource ...@@ -47,13 +141,21 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource
if section == 2 { if section == 2 {
return 1 return 1
} }
return 3 if section == 1 {
return receiveArr.count
}
return sendArr.count
} }
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.section > 1 { if indexPath.section > 1 {
let cell = tableView.dequeueReusableCell(withIdentifier: "PPH_XQ_Cell") as! PPH_XQ_Cell let cell = tableView.dequeueReusableCell(withIdentifier: "PPH_XQ_Cell") as! PPH_XQ_Cell
cell.carType_lbl.text = carType
cell.driver_lbl.text = driver
cell.plan_lbl.text = plan
cell.order_lbl.text = order
cell.cost_lbl.text = cost
cell.time_lbl.text = pay_time
return cell return cell
} }
let cell = tableView.dequeueReusableCell(withIdentifier: "PPH_Detail_Cell") as! PPH_Detail_Cell let cell = tableView.dequeueReusableCell(withIdentifier: "PPH_Detail_Cell") as! PPH_Detail_Cell
...@@ -61,25 +163,35 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource ...@@ -61,25 +163,35 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource
cell.top_line.isHidden = true cell.top_line.isHidden = true
cell.bottom_line.isHidden = false cell.bottom_line.isHidden = false
if indexPath.section == 0 { if indexPath.section == 0 {
let model = sendArr[indexPath.row]
cell.status_lbl.text = "装"
cell.status_lbl.backgroundColor = UIColor(named: "green")
if indexPath.row != 0 { if indexPath.row != 0 {
cell.status_lbl.backgroundColor = UIColor(named: "green")
cell.top_left_view.isHidden = true cell.top_left_view.isHidden = true
cell.top_right_view.isHidden = true cell.top_right_view.isHidden = true
cell.top_line.isHidden = false cell.top_line.isHidden = false
cell.status_lbl.text = "装"
} }
cell.title_lbl.text = model.shopName
cell.adr_lbl.text = model.address
cell.conect_lbl.text = model.linkMan! + " " + model.mobile!
cell.commend_lbl.text = model.note
} }
if indexPath.section == 1 { if indexPath.section == 1 {
let model = receiveArr[indexPath.row]
cell.top_left_view.isHidden = true cell.top_left_view.isHidden = true
cell.top_right_view.isHidden = true cell.top_right_view.isHidden = true
cell.top_line.isHidden = false cell.top_line.isHidden = false
cell.status_lbl.backgroundColor = UIColor(named: "#FAA376") cell.status_lbl.backgroundColor = UIColor(named: "#FAA376")
cell.status_lbl.text = "卸" cell.status_lbl.text = "卸"
if indexPath.row == 2 { if indexPath.row == receiveArr.count - 1 {
cell.isLast = true cell.isLast = true
cell.bottom_line.isHidden = true cell.bottom_line.isHidden = true
cell.layoutIfNeeded() cell.layoutIfNeeded()
} }
cell.title_lbl.text = model.shopName
cell.adr_lbl.text = model.address
cell.conect_lbl.text = model.linkMan! + " " + model.mobile!
cell.commend_lbl.text = model.note
} }
return cell return cell
} }
...@@ -100,6 +212,7 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource ...@@ -100,6 +212,7 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.00001 return 0.00001
} }
//MARK: - headerView //MARK: - headerView
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? { func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: ScreenWidth, height: 225)) let view = UIView(frame: CGRect(x: 0, y: 0, width: ScreenWidth, height: 225))
...@@ -117,10 +230,10 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource ...@@ -117,10 +230,10 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource
make.centerX.equalTo(view.snp_centerX) make.centerX.equalTo(view.snp_centerX)
make.width.height.equalTo(45) make.width.height.equalTo(45)
} }
img.image = UIImage(named: "white_clock") img.image = top_img
let lbl = UILabel() let lbl = UILabel()
lbl.text = "派单中" lbl.text = status_str
view.addSubview(lbl) view.addSubview(lbl)
lbl.snp.makeConstraints { (make) in lbl.snp.makeConstraints { (make) in
make.left.right.equalTo(0) make.left.right.equalTo(0)
...@@ -180,7 +293,7 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource ...@@ -180,7 +293,7 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource
topView.addSubview(timeStrLbl) topView.addSubview(timeStrLbl)
timeStrLbl.font = UIFont.systemFont(ofSize: 13) timeStrLbl.font = UIFont.systemFont(ofSize: 13)
timeStrLbl.textColor = UIColor(named: "标题字颜色") timeStrLbl.textColor = UIColor(named: "标题字颜色")
timeStrLbl.text = "2021.1.1 1:1" timeStrLbl.text = order_time_str
timeStrLbl.snp.makeConstraints { (make) in timeStrLbl.snp.makeConstraints { (make) in
make.centerY.equalTo(timeTitle.snp_centerY) make.centerY.equalTo(timeTitle.snp_centerY)
make.right.equalTo(-15) make.right.equalTo(-15)
...@@ -200,7 +313,7 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource ...@@ -200,7 +313,7 @@ class PPH_YDXQ_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource
topView.addSubview(status_lbl) topView.addSubview(status_lbl)
status_lbl.font = UIFont.systemFont(ofSize: 13) status_lbl.font = UIFont.systemFont(ofSize: 13)
status_lbl.textColor = UIColor(named: "标题字颜色") status_lbl.textColor = UIColor(named: "标题字颜色")
status_lbl.text = "待处理" status_lbl.text = status_type_str
status_lbl.snp.makeConstraints { (make) in status_lbl.snp.makeConstraints { (make) in
make.top.equalTo(line1.snp_bottom).offset(15) make.top.equalTo(line1.snp_bottom).offset(15)
make.right.equalTo(-15) make.right.equalTo(-15)
......
...@@ -43,6 +43,9 @@ ...@@ -43,6 +43,9 @@
<color key="value" name="green"/> <color key="value" name="green"/>
</userDefinedRuntimeAttribute> </userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes> </userDefinedRuntimeAttributes>
<connections>
<action selector="cancel_action:" destination="-1" eventType="touchUpInside" id="iNk-Ex-0Ah"/>
</connections>
</view> </view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="取消订单" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Sz-F9-Hgh"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="取消订单" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Sz-F9-Hgh">
<rect key="frame" x="0.0" y="813" width="414" height="49"/> <rect key="frame" x="0.0" y="813" width="414" height="49"/>
......
...@@ -74,8 +74,13 @@ class P_P_H_Adr_VC: BaseViewController,SJMapViewControllerDelegate, UIPickerView ...@@ -74,8 +74,13 @@ class P_P_H_Adr_VC: BaseViewController,SJMapViewControllerDelegate, UIPickerView
@IBAction func submit_action(_ sender: Any) { @IBAction func submit_action(_ sender: Any) {
let arr = city_lbl.text?.components(separatedBy: "-") let arr = city_lbl.text?.components(separatedBy: "-")
if arr?.count == 0 { if arr?.count == 0 {
HUD.flash(.label("请选择地址"), delay: 1.2)
return return
} }
// if phoneTf.text?.count != 11 {
// HUD.flash(.label("请输入正确的手机号码"), delay: 1.2)
// return
// }
var type = 3 var type = 3
if isSend { if isSend {
type = 4 type = 4
......
...@@ -10,11 +10,17 @@ import UIKit ...@@ -10,11 +10,17 @@ import UIKit
import SwiftDate import SwiftDate
protocol P_P_H_Time_Select_View_Delegate { protocol P_P_H_Time_Select_View_Delegate {
func P_P_H_Time_Select_View_Time_Select(time:String) func P_P_H_Time_Select_View_Time_Select(time:Double)
} }
class P_P_H_Time_Select_View: UIView,UIPickerViewDelegate,UIPickerViewDataSource { class P_P_H_Time_Select_View: UIView,UIPickerViewDelegate,UIPickerViewDataSource {
var contentView:UIView! var contentView:UIView!
var time_str = "" var userToken = ""{
didSet{
getTimeSet()
}
}
var time_str:Double = -1
@IBOutlet weak var picker_view: UIPickerView! @IBOutlet weak var picker_view: UIPickerView!
var delegate:P_P_H_Time_Select_View_Delegate? var delegate:P_P_H_Time_Select_View_Delegate?
@IBAction func close_action(_ sender: UIButton) { @IBAction func close_action(_ sender: UIButton) {
...@@ -22,30 +28,18 @@ class P_P_H_Time_Select_View: UIView,UIPickerViewDelegate,UIPickerViewDataSource ...@@ -22,30 +28,18 @@ class P_P_H_Time_Select_View: UIView,UIPickerViewDelegate,UIPickerViewDataSource
} }
@IBAction func submitAction(_ sender: Any) { @IBAction func submitAction(_ sender: Any) {
var hour = hourArr[hourSelect] let day = modelArr[daySelect]
if hour.count < 2 { let hour = day.h_time![hourSelect]
hour = "0" + hour let hour_str = hour.val as! NSString
} let min = hour.m_time![minSelect].val as! NSString
var min = minArr[minSelect]
if min.count < 2 {
min = "0" + min
}
if dayArr[daySelect] == "今天" {
time_str = dateConvertString(date: DateInRegion().dateAt(.startOfDay).date) + " " + hour + ":" + min
}else if dayArr[daySelect] == "明天" {
time_str = dateConvertString(date: DateInRegion().dateAt(.startOfDay).date + 1.days) + " " + hour + ":" + min
}else{
time_str = dateConvertString(date: DateInRegion().dateAt(.startOfDay).date + daySelect.days + 1.days) + " " + hour + ":" + min
}
delegate?.P_P_H_Time_Select_View_Time_Select(time: time_str) time_str = day.stime! + hour_str.doubleValue * 3600 + min.doubleValue * 60
//submit
delegate?.P_P_H_Time_Select_View_Time_Select(time: time_str * 1000)
self.removeFromSuperview() self.removeFromSuperview()
} }
var dayArr:Array<String> = [] var modelArr:Array<pphAppointmentTimeData_model> = []
var hourArr:Array<String> = []
var minArr:Array<String> = []
func numberOfComponents(in pickerView: UIPickerView) -> Int { func numberOfComponents(in pickerView: UIPickerView) -> Int {
return 3 return 3
} }
...@@ -55,42 +49,55 @@ class P_P_H_Time_Select_View: UIView,UIPickerViewDelegate,UIPickerViewDataSource ...@@ -55,42 +49,55 @@ class P_P_H_Time_Select_View: UIView,UIPickerViewDelegate,UIPickerViewDataSource
var minSelect = 0 var minSelect = 0
func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int { func pickerView(_ pickerView: UIPickerView, numberOfRowsInComponent component: Int) -> Int {
switch component { if modelArr.count > 0 {
case 0: switch component {
return dayArr.count case 0:
case 1: return modelArr.count
return hourArr.count case 1:
default: let arr = modelArr[daySelect].h_time!
return minArr.count return arr.count
default:
let arr = modelArr[daySelect].h_time!
let arr2 = arr[hourSelect].m_time!
return arr2.count
}
} }
return 0
} }
//设置选择框各选项的内容,继承于UIPickerViewDelegate协议 //设置选择框各选项的内容,继承于UIPickerViewDelegate协议
func pickerView(_ pickerView: UIPickerView, titleForRow row: Int, func pickerView(_ pickerView: UIPickerView, titleForRow row: Int,
forComponent component: Int) -> String? { forComponent component: Int) -> String? {
switch component { if modelArr.count > 0 {
case 0: switch component {
return dayArr[row] case 0:
case 1: return modelArr[row].val!
return hourArr[row] case 1:
default: let arr = modelArr[daySelect].h_time
return minArr[row] return arr![row].val
default:
let arr = modelArr[daySelect].h_time
let arr2 = arr![hourSelect].m_time
return arr2![row].val!
}
} }
return ""
} }
func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int, func pickerView(_ pickerView: UIPickerView, didSelectRow row: Int,
inComponent component: Int) { inComponent component: Int) {
if modelArr.count == 0 {
return
}
//根据列、行索引判断需要改变数据的区域 //根据列、行索引判断需要改变数据的区域
switch (component) { switch (component) {
case 0: case 0:
daySelect = row; daySelect = row;
currentTime()
pickerView.reloadComponent(1); pickerView.reloadComponent(1);
pickerView.reloadComponent(2); pickerView.reloadComponent(2);
pickerView.selectRow(hourSelect, inComponent: 1, animated: false) pickerView.selectRow(hourSelect, inComponent: 1, animated: false)
pickerView.selectRow(minSelect, inComponent: 2, animated: false) pickerView.selectRow(minSelect, inComponent: 2, animated: false)
case 1: case 1:
hourSelect = row; hourSelect = row;
currentTime()
pickerView.reloadComponent(2); pickerView.reloadComponent(2);
pickerView.selectRow(minSelect, inComponent: 2, animated: false) pickerView.selectRow(minSelect, inComponent: 2, animated: false)
case 2: case 2:
...@@ -109,102 +116,23 @@ class P_P_H_Time_Select_View: UIView,UIPickerViewDelegate,UIPickerViewDataSource ...@@ -109,102 +116,23 @@ class P_P_H_Time_Select_View: UIView,UIPickerViewDelegate,UIPickerViewDataSource
contentView.snp.makeConstraints { (make) in contentView.snp.makeConstraints { (make) in
make.left.top.right.bottom.equalToSuperview() make.left.top.right.bottom.equalToSuperview()
} }
getTimeSet()
} }
func getTimeSet(){ func getTimeSet(){
picker_view.delegate = self picker_view.delegate = self
picker_view.dataSource = self picker_view.dataSource = self
pphAppointmentTime(["user_token":userToken as Any]) {[self] (data) in
getDayArr() let model = data as! pphAppointmentTime_model
modelArr.removeAll()
currentTime() model.data?.forEach({ (item) in
modelArr.append(item)
})
picker_view.reloadAllComponents()
} } failture: { (err) in
func currentTime() {
hourArr.removeAll()
minArr.removeAll()
   let dateformatter = DateFormatter()
    dateformatter.dateFormat = "YYYY-MM-dd~HH:mm"
let arr = dateformatter.string(from: Date()).components(separatedBy: "~")
let str = arr.last
let arr2 = str!.components(separatedBy: ":")
//分钟
let min = arr2.last! as! NSString
//小时
let hour = arr2.first as! NSString
if daySelect == 0 {
let num = 24 - hour.integerValue
if min.integerValue < 50 {
for i in 0 ..< num {
hourArr.append("\(hour.integerValue + i)")
}
}else{
for i in 0 ..< num - 1 {
hourArr.append("\(hour.integerValue + i + 1)")
}
}
}else{
for i in 0 ..< 24 {
hourArr.append("\(i)")
}
}
let selectHour = hourArr[hourSelect] as! NSString
let selectDay = dayArr[daySelect]
let today = DateInRegion().dateAt(.startOfDay).date.day
if selectHour.integerValue > hour.integerValue || selectDay != "今天" {
for i in 0 ..< 6 {
minArr.append("\(i * 10)")
}
}else{
var tempArr:Array<NSString> = []
for i in 0 ..< 6 {
tempArr.append("\(i * 10)" as NSString)
}
tempArr.forEach { (item) in
if item.integerValue > min.integerValue {
minArr.append(item as String)
}
}
} }
} }
func getDayArr(){
let monEndDay = DateInRegion().dateAt(.endOfMonth).date.day
let today = DateInRegion().dateAt(.startOfDay).date.day
let dayCount = monEndDay - today
if dayCount >= 28 {
for i in 0 ..< dayCount {
if i == 0 {
dayArr.append("今天")
}else if i == 1 {
dayArr.append("明天")
}else{
dayArr.append("\(i + today)")
}
}
}else{
for i in 0 ..< dayCount {
if i == 0 {
dayArr.append("今天")
}else if i == 1 {
dayArr.append("明天")
}else{
dayArr.append("\(i + today)")
}
}
let nextMonth = 28 - dayCount
for i in 0 ..< nextMonth{
dayArr.append("\(i + 1)")
}
}
}
///初始化时将xib中的view添加进来 ///初始化时将xib中的view添加进来
required init?(coder aDecoder: NSCoder) { required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder) super.init(coder: aDecoder)
...@@ -213,7 +141,6 @@ class P_P_H_Time_Select_View: UIView,UIPickerViewDelegate,UIPickerViewDataSource ...@@ -213,7 +141,6 @@ class P_P_H_Time_Select_View: UIView,UIPickerViewDelegate,UIPickerViewDataSource
contentView.snp.makeConstraints { (make) in contentView.snp.makeConstraints { (make) in
make.left.top.right.bottom.equalToSuperview() make.left.top.right.bottom.equalToSuperview()
} }
getTimeSet()
} }
//加载xib //加载xib
func loadViewFromNib() -> UIView { func loadViewFromNib() -> UIView {
......
...@@ -109,7 +109,7 @@ class PPH_SUC_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource { ...@@ -109,7 +109,7 @@ class PPH_SUC_VC: BaseViewController,UITableViewDelegate,UITableViewDataSource {
var userToken = "" var userToken = ""
@IBAction func cancel_order(_ sender: Any) { @IBAction func cancel_order(_ sender: Any) {
cancelOrder(["user_token":userToken as Any,"wb_no":wb_no as Any]) { (data) in cancelOrder(["user_token":userToken as Any,"wb_no":wb_no as Any]) { (data) in
HUD.flash(.label("取消订单完成!"), delay: 1.2) HUD.flash(.label("取消订单成功"), delay: 1.2)
self.navigationController?.popToRootViewController(animated: true) self.navigationController?.popToRootViewController(animated: true)
} failture: { (err) in } failture: { (err) in
......
...@@ -13,12 +13,21 @@ class YDLBVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,UISea ...@@ -13,12 +13,21 @@ class YDLBVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,UISea
print("取消订单") print("取消订单")
let rowModel = datas[sender.tag] let rowModel = datas[sender.tag]
HUD.flash(.progress) HUD.flash(.progress)
cancelLogisticsOrder(["wb_no":rowModel.wb_no as Any,"user_token":UserToken as Any], success: { (data) in if rowModel.lc_name == "拼拼货" {
//通知刷新 cancelOrder(["wb_no":rowModel.wb_no as Any,"user_token":UserToken as Any]) { (data) in
HUD.hide() HUD.hide()
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "logistDetail"), object: nil, userInfo: nil) NotificationCenter.default.post(name: NSNotification.Name(rawValue: "logistDetail"), object: nil, userInfo: nil)
}) { (err) in } failture: { (err) in
}
}else{
cancelLogisticsOrder(["wb_no":rowModel.wb_no as Any,"user_token":UserToken as Any], success: { (data) in
//通知刷新
HUD.hide()
NotificationCenter.default.post(name: NSNotification.Name(rawValue: "logistDetail"), object: nil, userInfo: nil)
}) { (err) in
}
} }
} }
...@@ -85,6 +94,9 @@ class YDLBVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,UISea ...@@ -85,6 +94,9 @@ class YDLBVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,UISea
if item.isKind(of: UIButton.self){ if item.isKind(of: UIButton.self){
let btn = item as! UIButton let btn = item as! UIButton
switch btn.titleLabel!.text { switch btn.titleLabel!.text {
case "拼拼货":
wlgsArr.append(btn)
break
case "鑫源物流": case "鑫源物流":
wlgsArr.append(btn) wlgsArr.append(btn)
break break
...@@ -227,6 +239,19 @@ class YDLBVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,UISea ...@@ -227,6 +239,19 @@ class YDLBVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,UISea
// btnUISet(btn: sender) // btnUISet(btn: sender)
// } // }
switch sender.titleLabel?.text { switch sender.titleLabel?.text {
case "拼拼货":
for item in wlgsArr {
if item.titleLabel!.text == sender.titleLabel?.text{
item.isSelected = true
item.setTitleColor(UIColor.white, for: .normal)
item.backgroundColor = UIColor(named: "按钮渐变色上")
}else{
item.isSelected = false
item.setTitleColor(UIColor(named: "个人中心灰色字体"), for: .normal)
item.backgroundColor = UIColor(named: "多选按钮背景颜色")
}
}
break
case "鑫源物流": case "鑫源物流":
for item in wlgsArr { for item in wlgsArr {
if item.titleLabel!.text == sender.titleLabel?.text{ if item.titleLabel!.text == sender.titleLabel?.text{
...@@ -521,6 +546,8 @@ class YDLBVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,UISea ...@@ -521,6 +546,8 @@ class YDLBVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,UISea
lc_id = "11" lc_id = "11"
case "鑫源物流": case "鑫源物流":
lc_id = "12" lc_id = "12"
case "拼拼货":
lc_id = "16"
default: default:
lc_id = "" lc_id = ""
break break
...@@ -566,6 +593,12 @@ class YDLBVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,UISea ...@@ -566,6 +593,12 @@ class YDLBVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,UISea
let vc = WaybillDetailViewController() let vc = WaybillDetailViewController()
vc.lwb_no = rowModel.lwb_no! vc.lwb_no = rowModel.lwb_no!
self.navigationController?.pushViewController(vc, animated: true) self.navigationController?.pushViewController(vc, animated: true)
}else if rowModel.lc_name == "拼拼货"{
let vc = PPH_YDXQ_VC()
vc.id = rowModel.id!
vc.wb_no = rowModel.wb_no!
vc.userToken = UserToken as! String
self.navigationController?.pushViewController(vc, animated: true)
}else{ }else{
let vc = YunDanXiangQingViewController() let vc = YunDanXiangQingViewController()
vc.orderID = rowModel.id vc.orderID = rowModel.id
...@@ -809,7 +842,7 @@ class YDLBVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,UISea ...@@ -809,7 +842,7 @@ class YDLBVc: BaseViewController,UITableViewDelegate,UITableViewDataSource,UISea
cell.receiverLbl.text = rowModel.r_city_name! cell.receiverLbl.text = rowModel.r_city_name!
cell.statusLbl.text = rowModel.delivery_status_cn! cell.statusLbl.text = rowModel.delivery_status_cn!
cell.standerLbl.text = "订单平台:" + rowModel.sale_plat! cell.standerLbl.text = "订单平台:" + rowModel.sale_plat!
if rowModel.sale_plat?.count == 0 { if rowModel.sale_plat?.count == 0 {
......
...@@ -701,6 +701,30 @@ ...@@ -701,6 +701,30 @@
<action selector="btnClick:" destination="-1" eventType="touchUpInside" id="W7B-iV-Ahq"/> <action selector="btnClick:" destination="-1" eventType="touchUpInside" id="W7B-iV-Ahq"/>
</connections> </connections>
</button> </button>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="TqD-uK-V4Y">
<rect key="frame" x="101" y="415" width="73" height="30"/>
<color key="backgroundColor" name="多选按钮背景颜色"/>
<constraints>
<constraint firstAttribute="height" constant="30" id="4PP-1N-twj"/>
<constraint firstAttribute="width" constant="73" id="kEa-KP-RZt"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
<state key="normal" title="拼拼货">
<color key="titleColor" name="个人中心灰色字体"/>
</state>
<state key="selected">
<color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
</state>
<userDefinedRuntimeAttributes>
<userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
<real key="value" value="3"/>
</userDefinedRuntimeAttribute>
</userDefinedRuntimeAttributes>
<connections>
<action selector="btnClick:" destination="-1" eventType="touchUpInside" id="FTu-Bx-08h"/>
</connections>
</button>
</subviews> </subviews>
<color key="backgroundColor" systemColor="systemBackgroundColor"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/>
<constraints> <constraints>
...@@ -735,6 +759,7 @@ ...@@ -735,6 +759,7 @@
<constraint firstItem="eBn-ZQ-kRE" firstAttribute="top" secondItem="lQu-wS-luP" secondAttribute="bottom" constant="15" id="Ra7-2t-3eO"/> <constraint firstItem="eBn-ZQ-kRE" firstAttribute="top" secondItem="lQu-wS-luP" secondAttribute="bottom" constant="15" id="Ra7-2t-3eO"/>
<constraint firstItem="LGt-SE-ga1" firstAttribute="leading" secondItem="zcv-YD-IHi" secondAttribute="leading" constant="15" id="Rsi-T2-XOu"/> <constraint firstItem="LGt-SE-ga1" firstAttribute="leading" secondItem="zcv-YD-IHi" secondAttribute="leading" constant="15" id="Rsi-T2-XOu"/>
<constraint firstItem="lQu-wS-luP" firstAttribute="leading" secondItem="zcv-YD-IHi" secondAttribute="leading" constant="15" id="RyH-zu-PcS"/> <constraint firstItem="lQu-wS-luP" firstAttribute="leading" secondItem="zcv-YD-IHi" secondAttribute="leading" constant="15" id="RyH-zu-PcS"/>
<constraint firstItem="TqD-uK-V4Y" firstAttribute="centerX" secondItem="jLq-pi-MtE" secondAttribute="centerX" id="UJI-5C-Boy"/>
<constraint firstItem="iG8-ad-CAE" firstAttribute="centerY" secondItem="gav-SN-u6S" secondAttribute="centerY" id="VfP-T6-Ufa"/> <constraint firstItem="iG8-ad-CAE" firstAttribute="centerY" secondItem="gav-SN-u6S" secondAttribute="centerY" id="VfP-T6-Ufa"/>
<constraint firstItem="iG8-ad-CAE" firstAttribute="leading" secondItem="gav-SN-u6S" secondAttribute="trailing" constant="15" id="Vt4-q4-moW"/> <constraint firstItem="iG8-ad-CAE" firstAttribute="leading" secondItem="gav-SN-u6S" secondAttribute="trailing" constant="15" id="Vt4-q4-moW"/>
<constraint firstItem="T6r-F3-LjK" firstAttribute="leading" secondItem="zcv-YD-IHi" secondAttribute="leading" constant="15" id="WPV-mX-Ox4"/> <constraint firstItem="T6r-F3-LjK" firstAttribute="leading" secondItem="zcv-YD-IHi" secondAttribute="leading" constant="15" id="WPV-mX-Ox4"/>
...@@ -772,6 +797,7 @@ ...@@ -772,6 +797,7 @@
<constraint firstItem="wOP-Ki-lQ5" firstAttribute="leading" secondItem="zcv-YD-IHi" secondAttribute="leading" constant="15" id="rfd-4O-fZs"/> <constraint firstItem="wOP-Ki-lQ5" firstAttribute="leading" secondItem="zcv-YD-IHi" secondAttribute="leading" constant="15" id="rfd-4O-fZs"/>
<constraint firstItem="XMu-zq-EhP" firstAttribute="top" secondItem="sQ8-Ex-yU3" secondAttribute="bottom" constant="15" id="s7c-NU-JcE"/> <constraint firstItem="XMu-zq-EhP" firstAttribute="top" secondItem="sQ8-Ex-yU3" secondAttribute="bottom" constant="15" id="s7c-NU-JcE"/>
<constraint firstItem="lmi-Tf-AWO" firstAttribute="leading" secondItem="zcv-YD-IHi" secondAttribute="leading" constant="15" id="sh8-AP-Fvl"/> <constraint firstItem="lmi-Tf-AWO" firstAttribute="leading" secondItem="zcv-YD-IHi" secondAttribute="leading" constant="15" id="sh8-AP-Fvl"/>
<constraint firstItem="TqD-uK-V4Y" firstAttribute="centerY" secondItem="sQ8-Ex-yU3" secondAttribute="centerY" id="tWb-WK-mnX"/>
<constraint firstItem="LGt-SE-ga1" firstAttribute="top" secondItem="YAK-sz-pnE" secondAttribute="bottom" constant="15" id="tlb-NK-qde"/> <constraint firstItem="LGt-SE-ga1" firstAttribute="top" secondItem="YAK-sz-pnE" secondAttribute="bottom" constant="15" id="tlb-NK-qde"/>
<constraint firstItem="eih-w3-GJh" firstAttribute="leading" secondItem="zcv-YD-IHi" secondAttribute="leading" id="vBp-rf-lMO"/> <constraint firstItem="eih-w3-GJh" firstAttribute="leading" secondItem="zcv-YD-IHi" secondAttribute="leading" id="vBp-rf-lMO"/>
<constraint firstItem="IOi-sC-dEe" firstAttribute="top" secondItem="wOP-Ki-lQ5" secondAttribute="bottom" constant="15" id="vN5-hb-q2W"/> <constraint firstItem="IOi-sC-dEe" firstAttribute="top" secondItem="wOP-Ki-lQ5" secondAttribute="bottom" constant="15" id="vN5-hb-q2W"/>
......
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