update
This commit is contained in:
@@ -14,6 +14,7 @@ import RxCocoa
|
||||
import RxRelay
|
||||
import JXCategoryView
|
||||
import SnapKit
|
||||
import DDTimerKit_Private
|
||||
|
||||
fileprivate let vehicleMonitoringPannelViewHeight = auto(300)
|
||||
fileprivate let vehicleMonitoringPannelViewTopInset = auto(90)
|
||||
@@ -62,10 +63,18 @@ extension VehicleMonitoringController {
|
||||
NotificationCenter.default.post(name: NSNotification.Name(rawValue: Notification_reloadRescusControolerToDoMessageCount), object: nil)
|
||||
|
||||
reloadRelay
|
||||
.observe(on: MainScheduler.instance)
|
||||
.do(onNext: {[weak self] _ in
|
||||
self?.view.dd_showHUD()
|
||||
})
|
||||
.flatMapLatest { _ in
|
||||
return RQ.vehicleMonitorList()
|
||||
}
|
||||
.observe(on: MainScheduler.instance)
|
||||
.do(onNext: {[weak self] _ in
|
||||
self?.view.dd_hideHUD()
|
||||
})
|
||||
.observe(on: MainScheduler.instance)
|
||||
.subscribe(onNext: {[weak self] response in
|
||||
if response?.success == true {
|
||||
self?.dataModel = response?.data
|
||||
@@ -76,12 +85,13 @@ extension VehicleMonitoringController {
|
||||
let busyCount = String(response?.data?.vehicleMonitorCount.busyCount ?? 0)+"\n"+"忙碌"
|
||||
let alarmCount = String(response?.data?.vehicleMonitorCount.alarmCount ?? 0)+"\n"+"报警"
|
||||
if USER.supplierType == 2 {
|
||||
self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.titles = [roster,onLineCount,lostConnectionCount,leisureCount,busyCount,alarmCount]
|
||||
self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.titles = [roster,onLineCount,lostConnectionCount,leisureCount,busyCount]
|
||||
}else{
|
||||
self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.titles = [onLineCount,lostConnectionCount,leisureCount,busyCount,alarmCount]
|
||||
self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.titles = [onLineCount,lostConnectionCount,leisureCount,busyCount]
|
||||
}
|
||||
self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.reloadData()
|
||||
self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.selectItem(at: 0)
|
||||
self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.reloadDataWithoutListContainer()
|
||||
self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.listContainer.reloadData()
|
||||
self?.categoryView(self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView, didSelectedItemAt: self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.selectedIndex ?? 0)
|
||||
}else{
|
||||
self?.view.dd_makeToast(response?.msg)
|
||||
}
|
||||
@@ -143,9 +153,41 @@ extension VehicleMonitoringController {
|
||||
}
|
||||
})
|
||||
.disposed(by: disposeBag)
|
||||
|
||||
pendingTapGes.rx.event
|
||||
.observe(on: MainScheduler.instance)
|
||||
.subscribe(onNext: { _ in
|
||||
WEBTOOL.open(name: .todoList,appending: nil)
|
||||
})
|
||||
.disposed(by: disposeBag)
|
||||
|
||||
// vehicleMonitoringView.refreshButton.rx.tap
|
||||
// .subscribe(onNext: {[weak self] _ in
|
||||
// self?.reloadRelay.accept(nil)
|
||||
// })
|
||||
// .disposed(by: disposeBag)
|
||||
// vehicleMonitoringView.refreshButton.sendActions(for: .touchUpInside)
|
||||
// var duration = 0
|
||||
// DDTimerManager.dd_share().dd_addTimer(withName: refresh_vehicle_monitoring_key, timeInterval: 1, repeatCount: 0, delay: 0) {[weak self] (manager, obj, index) in
|
||||
// if duration == 0 {
|
||||
// duration = 60
|
||||
// self?.reloadRelay.accept(nil)
|
||||
// }
|
||||
// duration-=1
|
||||
// DispatchQueue.main.async {[weak self] in
|
||||
// self?.vehicleMonitoringView.refreshButton.setTitle("自动刷新倒计时:"+"\(duration)s", for: .normal)
|
||||
// }
|
||||
// }
|
||||
}
|
||||
|
||||
public func refreshData() {
|
||||
reloadRelay.accept(nil)
|
||||
}
|
||||
|
||||
public override func viewWillAppear(_ animated: Bool) {
|
||||
super.viewWillAppear(animated)
|
||||
NotificationCenter.default.post(name: NSNotification.Name(rawValue: Notification_reloadRescusControolerToDoMessageCount), object: nil)
|
||||
}
|
||||
}
|
||||
|
||||
extension VehicleMonitoringController : DDMAMapViewDelegate {
|
||||
@@ -505,10 +547,6 @@ open class VehicleMonitoringController : DDViewController {
|
||||
}
|
||||
}
|
||||
|
||||
open override func viewWillAppear(_ animated: Bool) {
|
||||
super.viewWillAppear(animated)
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
// MARK: UI
|
||||
@@ -518,12 +556,14 @@ open class VehicleMonitoringView : DDView {
|
||||
public let coverView : DDView
|
||||
public let tapGes : UITapGestureRecognizer
|
||||
public let panGes : UIPanGestureRecognizer
|
||||
public let refreshButton : DDButton
|
||||
public init(titles:[String]) {
|
||||
vehicleMonitoringPannelView = VehicleMonitoringPannelView(titles:titles)
|
||||
maMapView = DDMAMapView()
|
||||
coverView = DDView()
|
||||
tapGes = UITapGestureRecognizer()
|
||||
panGes = UIPanGestureRecognizer()
|
||||
refreshButton = DDButton.dd_initCustom()
|
||||
super.init(frame: .zero)
|
||||
|
||||
maMapView.maMapView.logoCenter = CGPoint(x: 100, y: 100)
|
||||
@@ -534,6 +574,11 @@ open class VehicleMonitoringView : DDView {
|
||||
addSubview(coverView)
|
||||
vehicleMonitoringPannelView.layer.cornerRadius = auto(16)
|
||||
addSubview(vehicleMonitoringPannelView)
|
||||
refreshButton.setTitle("手动刷新", for: .normal)
|
||||
refreshButton.setTitleColor(.hex("000000"), for: .normal)
|
||||
refreshButton.titleLabel?.font = .mediumFont(auto(14))
|
||||
refreshButton.isHidden = true
|
||||
addSubview(refreshButton)
|
||||
|
||||
maMapView.snp.makeConstraints { make in
|
||||
make.top.left.right.equalToSuperview()
|
||||
@@ -549,6 +594,12 @@ open class VehicleMonitoringView : DDView {
|
||||
make.left.right.equalToSuperview()
|
||||
make.height.equalTo(vehicleMonitoringPannelViewHeight)
|
||||
}
|
||||
|
||||
refreshButton.snp.makeConstraints { make in
|
||||
make.bottom.equalTo(vehicleMonitoringPannelView.snp.top).offset(-auto(0))
|
||||
make.right.equalTo(-auto(20))
|
||||
make.height.equalTo(auto(30))
|
||||
}
|
||||
}
|
||||
|
||||
required public init?(coder: NSCoder) {
|
||||
|
||||
@@ -88,6 +88,8 @@ open class VehicleMonitoringListController : DDViewController {
|
||||
public var selectCellBlock: ((VehicleMonitorListDataModel.ItemModel) -> Void)?
|
||||
private var isPaiban : Bool?
|
||||
private var isAlarm : Bool?
|
||||
private var emptyView = EmptyView()
|
||||
|
||||
open override func viewDidLoad() {
|
||||
super.viewDidLoad()
|
||||
|
||||
@@ -99,6 +101,13 @@ open class VehicleMonitoringListController : DDViewController {
|
||||
make.edges.equalToSuperview()
|
||||
}
|
||||
|
||||
vehicleMonitoringListView.tableView.addSubview(emptyView)
|
||||
emptyView.snp.makeConstraints { make in
|
||||
make.centerX.centerY.equalToSuperview()
|
||||
make.width.equalTo(auto(303))
|
||||
make.height.equalTo(auto(94))
|
||||
}
|
||||
|
||||
vehicleMonitoringListView.tableView.delegate = self
|
||||
vehicleMonitoringListView.tableView.dataSource = self
|
||||
}
|
||||
@@ -111,6 +120,13 @@ open class VehicleMonitoringListController : DDViewController {
|
||||
if let models {
|
||||
self.models.append(contentsOf: models)
|
||||
}
|
||||
|
||||
if self.models.isEmpty == false {
|
||||
emptyView.isHidden = true
|
||||
}else{
|
||||
emptyView.isHidden = false
|
||||
}
|
||||
|
||||
vehicleMonitoringListView.tableView.reloadData()
|
||||
}
|
||||
}
|
||||
@@ -175,6 +191,7 @@ open class VehicleMonitoringListCell : DDTableViewCell {
|
||||
dateLabel.numberOfLines = 0
|
||||
dateLabel.textAlignment = .center
|
||||
radiusView.addSubview(dateLabel)
|
||||
nameLabel.numberOfLines = 0
|
||||
radiusView.addSubview(nameLabel)
|
||||
radiusView.addSubview(phoneLabel)
|
||||
callButton.layer.cornerRadius = auto(4)
|
||||
@@ -208,7 +225,7 @@ open class VehicleMonitoringListCell : DDTableViewCell {
|
||||
}
|
||||
|
||||
nameLabel.snp.makeConstraints { make in
|
||||
make.left.equalTo(dateLabel.snp.right).offset(auto(5))
|
||||
make.left.equalTo(dateLabel.snp.right).offset(auto(10))
|
||||
make.width.equalTo(auto(60))
|
||||
make.centerY.equalToSuperview()
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user