This commit is contained in:
DDIsFriend
2023-08-23 09:24:40 +08:00
parent 6bd037c5dd
commit 63ca919ed5
494 changed files with 35308 additions and 6623 deletions

View File

@@ -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) {

View File

@@ -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()
}