This commit is contained in:
DDIsFriend
2023-08-24 17:22:55 +08:00
parent 1a0943017a
commit f1ef756b3b
5 changed files with 235 additions and 159 deletions

View File

@@ -356,36 +356,37 @@ extension VehicleMonitoringController : JXCategoryListContainerViewDelegate {
}
public func listContainerView(_ listContainerView: JXCategoryListContainerView!, initListFor index: Int) -> JXCategoryListContentViewDelegate! {
let vc = VehicleMonitoringListController()
var vc : VehicleMonitoringListController?
if USER.supplierType == 2 {
if index == 0 {
vc.reloadCell(models: dataModel?.rosterList,isPaiban: true)
vc = VehicleMonitoringListController(models: dataModel?.rosterList,isPaiban: true)
}else if index == 1 {
vc.reloadCell(models: dataModel?.onLineList)
vc = VehicleMonitoringListController(models: dataModel?.onLineList)
}else if index == 2 {
vc.reloadCell(models: dataModel?.lostConnectionList)
vc = VehicleMonitoringListController(models: dataModel?.lostConnectionList)
}else if index == 3 {
vc.reloadCell(models: dataModel?.leisureList)
vc = VehicleMonitoringListController(models: dataModel?.leisureList)
}else if index == 4 {
vc.reloadCell(models: dataModel?.busyList)
vc = VehicleMonitoringListController(models: dataModel?.busyList)
}else if index == 5 {
vc.reloadCell(models: dataModel?.alarmList,isAlarm: true)
vc = VehicleMonitoringListController(models: dataModel?.alarmList,isAlarm: true)
}
}else{
if index == 0 {
vc.reloadCell(models: dataModel?.onLineList)
vc = VehicleMonitoringListController(models: dataModel?.onLineList)
}else if index == 1 {
vc.reloadCell(models: dataModel?.lostConnectionList)
vc = VehicleMonitoringListController(models: dataModel?.lostConnectionList)
}else if index == 2 {
vc.reloadCell(models: dataModel?.leisureList)
vc = VehicleMonitoringListController(models: dataModel?.leisureList)
}else if index == 3 {
vc.reloadCell(models: dataModel?.busyList)
vc = VehicleMonitoringListController(models: dataModel?.busyList)
}else if index == 4 {
vc.reloadCell(models: dataModel?.alarmList,isAlarm: true)
vc = VehicleMonitoringListController(models: dataModel?.alarmList,isAlarm: true)
}
}
vc.selectCellBlock = {[weak self] model in
vc?.selectCellBlock = {[weak self] model in
// tableview
for index in 0..<(self?.dataModel?.rosterList.count ?? 0) {
let _model = self?.dataModel?.rosterList[index]
@@ -413,8 +414,8 @@ extension VehicleMonitoringController : JXCategoryListContainerViewDelegate {
}
self?.preciousTableView?.reloadData()
model.isSelected = true
vc.vehicleMonitoringListView.tableView.reloadData()
self?.preciousTableView = vc.vehicleMonitoringListView.tableView
vc?.vehicleMonitoringListView.tableView.reloadData()
self?.preciousTableView = vc?.vehicleMonitoringListView.tableView
// annotation
self?.vehicleMonitoringView.maMapView.maMapView.setCenter(CLLocationCoordinate2D(latitude: Double(model.lat ?? "0")!, longitude: Double(model.lon ?? "0")!), animated: true)
@@ -422,9 +423,9 @@ extension VehicleMonitoringController : JXCategoryListContainerViewDelegate {
// annotation
self?.vehicleMonitoringView.maMapView.maMapView.removeAnnotations(self?.mapAnnotaions)
self?.mapAnnotaions.removeAll()
for index in 0..<vc.models.count {
let model = vc.models[index]
let coordinate = CLLocationCoordinate2D(latitude: Double(model.lat ?? "") ?? 0, longitude: Double(model.lon ?? "") ?? 0)
for index in 0..<(vc?.models.count ?? 0) {
let model = vc?.models[index]
let coordinate = CLLocationCoordinate2D(latitude: Double(model?.lat ?? "") ?? 0, longitude: Double(model?.lon ?? "") ?? 0)
let pointAnnotation = MAPointAnnotation.init()
pointAnnotation.annotationClass = VehicleMonitoringPointAnnotation.self
pointAnnotation.coordinate = coordinate
@@ -493,7 +494,7 @@ extension VehicleMonitoringController : JXCategoryViewDelegate {
}
open class VehicleMonitoringController : ZDViewController {
private let vehicleMonitoringView = VehicleMonitoringView(titles:[""])
private let vehicleMonitoringView = VehicleMonitoringView(titles:[])
public var zIndex = 0
private let disposeBag = DisposeBag()
private let reloadRelay = ReplayRelay<Any?>.create(bufferSize: 1)

View File

@@ -90,6 +90,19 @@ open class VehicleMonitoringListController : DDViewController {
private var isAlarm : Bool?
private var emptyView = EmptyView()
public init(models:[VehicleMonitorListDataModel.ItemModel]?,isPaiban:Bool? = false,isAlarm:Bool? = false) {
self.isPaiban = isPaiban
self.isAlarm = isAlarm
if let models {
self.models.append(contentsOf: models)
}
super.init(nibName: nil, bundle: nil)
}
public required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
open override func viewDidLoad() {
super.viewDidLoad()
@@ -102,6 +115,11 @@ open class VehicleMonitoringListController : DDViewController {
}
vehicleMonitoringListView.tableView.backgroundColor = .hex("FAFAFA")
if self.models.isEmpty == false {
emptyView.isHidden = true
}else{
emptyView.isHidden = false
}
vehicleMonitoringListView.tableView.addSubview(emptyView)
emptyView.snp.makeConstraints { make in
make.centerX.centerY.equalToSuperview()
@@ -112,24 +130,6 @@ open class VehicleMonitoringListController : DDViewController {
vehicleMonitoringListView.tableView.delegate = self
vehicleMonitoringListView.tableView.dataSource = self
}
public func reloadCell(models:[VehicleMonitorListDataModel.ItemModel]?,isPaiban:Bool? = false,isAlarm:Bool? = false) {
self.isPaiban = isPaiban
self.isAlarm = isAlarm
self.models.removeAll()
if let models {
self.models.append(contentsOf: models)
}
if self.models.isEmpty == false {
emptyView.isHidden = true
}else{
emptyView.isHidden = false
}
vehicleMonitoringListView.tableView.reloadData()
}
}
open class VehicleMonitoringListView : DDView {
@@ -204,8 +204,8 @@ open class VehicleMonitoringListCell : DDTableViewCell {
radiusView.addSubview(line)
radiusView.snp.makeConstraints { make in
make.height.greaterThanOrEqualTo(auto(44))
make.edges.equalToSuperview()
make.height.greaterThanOrEqualTo(auto(44)).priority(.high)
}
icon.snp.makeConstraints { make in
@@ -228,13 +228,13 @@ open class VehicleMonitoringListCell : DDTableViewCell {
nameLabel.snp.makeConstraints { make in
make.left.equalTo(dateLabel.snp.right).offset(auto(10))
make.width.equalTo(auto(60))
make.centerY.equalToSuperview()
make.top.bottom.equalToSuperview()
}
phoneLabel.snp.makeConstraints { make in
make.left.equalTo(nameLabel.snp.right).offset(auto(5))
make.width.equalTo(auto(100))
make.centerY.equalToSuperview()
make.top.bottom.equalToSuperview()
}
callButton.snp.makeConstraints { make in