diff --git a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate index 907db46..e287613 100644 Binary files a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate and b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index 12db369..cbc8c0e 100644 --- a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -2029,9 +2029,9 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "652" - endingLineNumber = "652" - landmarkName = "viewDidAppear(_:)" + startingLineNumber = "662" + endingLineNumber = "662" + landmarkName = "viewDidLoad()" landmarkType = "7"> @@ -2348,8 +2348,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "186" - endingLineNumber = "186" + startingLineNumber = "194" + endingLineNumber = "194" landmarkName = "addAction()" landmarkType = "7"> @@ -2460,9 +2460,9 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "222" - endingLineNumber = "222" - landmarkName = "addAction()" + startingLineNumber = "230" + endingLineNumber = "230" + landmarkName = "dd_mapView(_:viewFor:)" landmarkType = "7"> @@ -2572,9 +2572,9 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "391" - endingLineNumber = "391" - landmarkName = "dd_mapView(_:viewFor:)" + startingLineNumber = "399" + endingLineNumber = "399" + landmarkName = "reloadData(index:)" landmarkType = "7"> @@ -2588,9 +2588,9 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "394" - endingLineNumber = "394" - landmarkName = "dd_mapView(_:viewFor:)" + startingLineNumber = "402" + endingLineNumber = "402" + landmarkName = "reloadData(index:)" landmarkType = "7"> @@ -3771,9 +3771,9 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "238" - endingLineNumber = "238" - landmarkName = "addAction()" + startingLineNumber = "246" + endingLineNumber = "246" + landmarkName = "dd_mapView(_:didAnnotationViewTapped:)" landmarkType = "7"> @@ -4839,8 +4839,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "69" - endingLineNumber = "69" + startingLineNumber = "74" + endingLineNumber = "74" landmarkName = "addAction()" landmarkType = "7"> @@ -4855,9 +4855,9 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "696" - endingLineNumber = "696" - landmarkName = "init(titles:)" + startingLineNumber = "706" + endingLineNumber = "706" + landmarkName = "addSubviews()" landmarkType = "7"> @@ -4871,9 +4871,9 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "282" - endingLineNumber = "282" - landmarkName = "dd_mapView(_:viewFor:)" + startingLineNumber = "290" + endingLineNumber = "290" + landmarkName = "listContainerView(_:initListFor:)" landmarkType = "7"> @@ -4887,9 +4887,9 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "478" - endingLineNumber = "478" - landmarkName = "listContainerView(_:initListFor:)" + startingLineNumber = "486" + endingLineNumber = "486" + landmarkName = "selectVehicle(vehicleModel:currentTableViewVehicleModels:selectIndex:mapView:)" landmarkType = "7"> @@ -4903,9 +4903,9 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "323" - endingLineNumber = "323" - landmarkName = "dd_mapView(_:viewFor:)" + startingLineNumber = "331" + endingLineNumber = "331" + landmarkName = "listContainerView(_:initListFor:)" landmarkType = "7"> @@ -4919,9 +4919,9 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "310" - endingLineNumber = "310" - landmarkName = "dd_mapView(_:viewFor:)" + startingLineNumber = "318" + endingLineNumber = "318" + landmarkName = "listContainerView(_:initListFor:)" landmarkType = "7"> @@ -5031,9 +5031,9 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "761" - endingLineNumber = "761" - landmarkName = "init?(coder:)" + startingLineNumber = "771" + endingLineNumber = "771" + landmarkName = "viewSafeAreaInsetsDidChange()" landmarkType = "7"> @@ -5111,8 +5111,10 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "1148" - endingLineNumber = "1148"> + startingLineNumber = "1159" + endingLineNumber = "1159" + landmarkName = "init(taskModels:)" + landmarkType = "7"> + startingLineNumber = "1171" + endingLineNumber = "1171" + landmarkName = "init(taskModels:)" + landmarkType = "7"> + startingLineNumber = "1173" + endingLineNumber = "1173" + landmarkName = "init(taskModels:)" + landmarkType = "7"> + startingLineNumber = "1000" + endingLineNumber = "1000" + landmarkName = "listContainerView(_:initListFor:)" + landmarkType = "7"> + startingLineNumber = "1301" + endingLineNumber = "1301" + landmarkName = "updateData(taskModel:)" + landmarkType = "7"> + startingLineNumber = "1162" + endingLineNumber = "1162" + landmarkName = "init(taskModels:)" + landmarkType = "7"> + startingLineNumber = "1175" + endingLineNumber = "1175" + landmarkName = "init(taskModels:)" + landmarkType = "7"> + startingLineNumber = "1005" + endingLineNumber = "1005" + landmarkName = "categoryView(_:didSelectedItemAt:)" + landmarkType = "7"> + startingLineNumber = "1174" + endingLineNumber = "1174" + landmarkName = "init(taskModels:)" + landmarkType = "7"> @@ -5412,9 +5430,9 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "561" - endingLineNumber = "561" - landmarkName = "reloadData(index:)" + startingLineNumber = "569" + endingLineNumber = "569" + landmarkName = "showListDetail(vehicleModel:)" landmarkType = "7"> @@ -5428,8 +5446,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "136" - endingLineNumber = "136" + startingLineNumber = "144" + endingLineNumber = "144" landmarkName = "addAction()" landmarkType = "7"> @@ -5444,11 +5462,59 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "178" - endingLineNumber = "178" + startingLineNumber = "186" + endingLineNumber = "186" landmarkName = "addAction()" landmarkType = "7"> + + + + + + + + + + + + diff --git a/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift b/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift index a31db60..a13f388 100644 --- a/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift +++ b/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift @@ -62,23 +62,31 @@ extension VehicleMonitoringController { .subscribe(onNext: {[weak self] response in if response?.success == true { self?.dataModel = response?.data - let roster = String(response?.data?.vehicleMonitorCount.rosterCount ?? 0)+"\n"+"排班" - let onLineCount = String(response?.data?.vehicleMonitorCount.onLineCount ?? 0)+"\n"+"上线" - let lostConnectionCount = String(response?.data?.vehicleMonitorCount.lostConnectionCount ?? 0)+"\n"+"掉线" - let leisureCount = String(response?.data?.vehicleMonitorCount.leisureCount ?? 0)+"\n"+"空闲" - let busyCount = String(response?.data?.vehicleMonitorCount.busyCount ?? 0)+"\n"+"忙碌" + let rosterTitle = "排班" + let rosterCount = NSNumber(value: response?.data?.vehicleMonitorCount.rosterCount ?? 0) + let onLineTitle = "上线" + let onLineCount = NSNumber(value: response?.data?.vehicleMonitorCount.onLineCount ?? 0) + let lostConnectionTitle = "掉线" + let lostConnectionCount = NSNumber(value: response?.data?.vehicleMonitorCount.lostConnectionCount ?? 0) + let leisureTitle = "空闲" + let leisureCount = NSNumber(value: response?.data?.vehicleMonitorCount.leisureCount ?? 0) + let busyTitle = "忙碌" + let busyCount = NSNumber(value: response?.data?.vehicleMonitorCount.busyCount ?? 0) // let alarmCount = String(response?.data?.vehicleMonitorCount.alarmCount ?? 0)+"\n"+"报警" if USER.supplierType == 1 { - self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.titles = [roster,onLineCount,lostConnectionCount,leisureCount,busyCount] + self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.titles = [rosterTitle,onLineTitle,lostConnectionTitle,leisureTitle,busyTitle] + self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.counts = [rosterCount,onLineCount,lostConnectionCount,leisureCount,busyCount] }else{ - self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.titles = [onLineCount,lostConnectionCount,leisureCount,busyCount] + self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.titles = [onLineTitle,lostConnectionTitle,leisureTitle,busyTitle] } /// 选中信息也要置空 self?.currentTableView = nil self?.selectedTableView = nil self?.selectedVehicleId = nil + self?.selectedModel = nil + /// 刷新列表数据 self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.reloadDataWithoutListContainer() self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.listContainer.reloadData() self?.categoryView(self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView, didSelectedItemAt: self?.vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.selectedIndex ?? 0) @@ -620,33 +628,35 @@ open class VehicleMonitoringController : ZDViewController { private let vehicleMonitoringView = VehicleMonitoringView(titles:[]) private let vehicleMonitoringListDetailView = VehicleMonitoringListDetailView(taskModels: []) - private let pannelPanGes = DDUIPanGestureRecognizer.init() - public var zIndex = 0 - private let disposeBag = DisposeBag() - private let reloadRelay = ReplayRelay.create(bufferSize: 1) - private var dataModel : VehicleMonitorListDataModel? - private var mapModel : [VehicleMonitorListDataModel.ItemModel]? public lazy var categoryContainerView = JXCategoryListContainerView(type: .scrollView, delegate: self) - + private let pannelPanGes = DDUIPanGestureRecognizer.init() /// 用于pannel的拖动效果 + private let reloadRelay = ReplayRelay.create(bufferSize: 1) /// 仅刷新列表数据 + private var dataModel : VehicleMonitorListDataModel? /// 总数据 + private var mapModel : [VehicleMonitorListDataModel.ItemModel]? /// category列表数据 + public var zIndex = 0 /// 用于annotation的位置靠前靠后 + private var currentTableView : DDTableView? /// 用于选中 private var selectedVehicleId : Int? /// 用于选中 private var selectedTableView : DDTableView? /// 用于选中 - private var selectedModel : VehicleMonitorListDataModel.ItemModel? + private var selectedModel : VehicleMonitorListDataModel.ItemModel? /// 用于选中 private var previousStateOfPannelView : DDUIPanGestureRecognizer.ExpandLevel = .min /// 用于记录显示详情前,pannelview的弹出状态,返回时保持这个状态 private var shouldShowSmallAnnotation : Bool? = false /// 用于标记是否需要显示最小的annotation private var isShowSmallAnnotation : Bool? = false /// 用于标记是否已经显示最小的annotation - private let messageTapGes = UITapGestureRecognizer() - private let messageView = MessageView() - private var preRefreshRelay = ReplayRelay.create(bufferSize: 1) - private let vehicleLogoutView = VehicleLogoutView() - private var showVehicleEntryRelay = ReplayRelay.create(bufferSize: 1) + private let messageTapGes = UITapGestureRecognizer() /// 消息按钮点击事件 + private let messageView = MessageView() /// 消息按钮 + public let refreshButton = DDButton.dd_initCustom() /// 刷新按钮 + + private var preRefreshRelay = ReplayRelay.create(bufferSize: 1) /// 刷新列表数据以及消息的数据 + private let vehicleLogoutView = VehicleLogoutView() /// 车辆退出界面 + private var showVehicleEntryRelay = ReplayRelay.create(bufferSize: 1) /// 车辆退出点击事件 private var vehicleLogoutModel : VehicleMonitorListDataModel.ItemModel? private var vehicleLogoutRelay = ReplayRelay.create(bufferSize: 1) - public let refreshButton = DDButton.dd_initCustom() + private let disposeBag = DisposeBag() + open override func viewDidLoad() { super.viewDidLoad() dd_navigationItemTitle = "车辆监控" @@ -807,18 +817,18 @@ open class VehicleMonitoringView : DDView { open class VehicleMonitoringPannelView : DDView { public let radiusView : DDView - public let categoryView : JXCategoryTitleView + public let categoryView : JXCategoryNumberView public init(titles:[String]) { radiusView = DDView() - categoryView = JXCategoryTitleView.init() + categoryView = JXCategoryNumberView.init() categoryView.titles = titles super.init(frame: .zero) backgroundColor = .hex("FBFBFB") radiusView.backgroundColor = .clear addSubview(radiusView) - categoryView.titleNumberOfLines = 2 + categoryView.titleNumberOfLines = 1 categoryView.titleColor = .hex("737373").alpha(0.55) categoryView.titleSelectedColor = .hex("3678FF") categoryView.titleFont = .mediumFont(auto(14)) @@ -826,8 +836,10 @@ open class VehicleMonitoringPannelView : DDView { let indicator = JXCategoryIndicatorLineView() indicator.indicatorColor = .hex("3678FF") indicator.verticalMargin = 0 - indicator.indicatorWidth = auto(18) categoryView.indicators = [indicator] + + categoryView.numberBackgroundColor = .red + categoryView.numberLabelOffset = CGPoint(x: 5, y: 0) radiusView.addSubview(categoryView) radiusView.snp.makeConstraints { make in @@ -897,8 +909,6 @@ open class VehicleMonitoringPointAnnotation : MAAnnotationView { middleImageView.addSubview(middleStateLabel) middleWorkingCountlabel.backgroundColor = .hex("F93D3D") middleWorkingCountlabel.textAlignment = .center - middleWorkingCountlabel.layer.cornerRadius = auto(2) - middleWorkingCountlabel.layer.masksToBounds = true middleWorkingCountlabel.layer.borderColor = UIColor.white.cgColor middleWorkingCountlabel.layer.borderWidth = 1 middleImageView.addSubview(middleWorkingCountlabel) @@ -907,8 +917,6 @@ open class VehicleMonitoringPointAnnotation : MAAnnotationView { bigImageView.addSubview(bigStateLabel) bigWorkingCountlabel.backgroundColor = .hex("F93D3D") bigWorkingCountlabel.textAlignment = .center - bigWorkingCountlabel.layer.cornerRadius = auto(3) - bigWorkingCountlabel.layer.masksToBounds = true bigWorkingCountlabel.layer.borderColor = UIColor.white.cgColor bigWorkingCountlabel.layer.borderWidth = 1 bigImageView.addSubview(bigWorkingCountlabel) @@ -937,6 +945,8 @@ open class VehicleMonitoringPointAnnotation : MAAnnotationView { make.centerX.centerY.equalTo(middleImageView) } + middleWorkingCountlabel.layer.cornerRadius = auto(5) + middleWorkingCountlabel.layer.masksToBounds = true middleWorkingCountlabel.snp.makeConstraints { make in make.top.equalToSuperview().offset(-auto(5)) make.right.equalToSuperview().offset(auto(5)) @@ -956,6 +966,8 @@ open class VehicleMonitoringPointAnnotation : MAAnnotationView { make.centerY.equalToSuperview().offset(-auto(4)) } + bigWorkingCountlabel.layer.cornerRadius = auto(7.5) + bigWorkingCountlabel.layer.masksToBounds = true bigWorkingCountlabel.snp.makeConstraints { make in make.top.equalToSuperview().offset(-auto(2.5)) make.right.equalToSuperview().offset(auto(2.5)) @@ -1008,8 +1020,7 @@ class VehicleMonitoringListDetailView : DDView, JXCategoryListContainerViewDeleg public let pageNumLabel : DDLabel public let previousButton : DDButton public let nextButton : DDButton - public let emptyContainerView : DDView - public var emptyView = EmptyView() + public var emptyLabel : DDLabel public let disposeBag = DisposeBag() public init(taskModels: [VehicleMonitorListDataModel.TaskModel]) { @@ -1032,7 +1043,7 @@ class VehicleMonitoringListDetailView : DDView, JXCategoryListContainerViewDeleg previousButton.setImage(UIImage(named: "vehicleMonitoring_previous_gray"), for: .normal) nextButton = DDButton.dd_initCustom() nextButton.setImage(UIImage(named: "vehicleMonitoring_next_gray"), for: .normal) - emptyContainerView = DDView() + emptyLabel = DDLabel.dd_init(withText: "暂无执行中订单", font: .mediumFont(auto(18)), textColor: .hex("11142F").alpha(0.6)) super.init(frame: .zero) backgroundColor = .white layer.maskedCorners = [.layerMinXMinYCorner,.layerMaxXMinYCorner] @@ -1063,7 +1074,7 @@ class VehicleMonitoringListDetailView : DDView, JXCategoryListContainerViewDeleg categoryContainerView?.addSubview(previousButton) categoryContainerView?.addSubview(nextButton) - containerView.addSubview(emptyView) + containerView.addSubview(emptyLabel) containerView.snp.makeConstraints { make in make.left.right.equalToSuperview().inset(auto(7)) @@ -1075,7 +1086,7 @@ class VehicleMonitoringListDetailView : DDView, JXCategoryListContainerViewDeleg make.edges.equalToSuperview() } - emptyView.snp.makeConstraints { make in + emptyLabel.snp.makeConstraints { make in make.centerX.centerY.equalToSuperview() } @@ -1181,11 +1192,11 @@ class VehicleMonitoringListDetailView : DDView, JXCategoryListContainerViewDeleg titles.append("\(index)") } categoryView.titles = titles - emptyView.isHidden = true + emptyLabel.isHidden = true categoryContainerView?.isHidden = false }else{ categoryView.titles = nil - emptyView.isHidden = false + emptyLabel.isHidden = false categoryContainerView?.isHidden = true } categoryView.reloadData() diff --git a/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift b/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift index afff6c5..ab04be4 100644 --- a/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift +++ b/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift @@ -190,8 +190,6 @@ open class VehicleMonitoringListCell : DDTableViewCell { radiusView.addSubview(flagIcon) stateLabel.textAlignment = .center icon.addSubview(stateLabel) - workingCountLabel.layer.cornerRadius = auto(2) - workingCountLabel.layer.masksToBounds = true workingCountLabel.textAlignment = .center workingCountLabel.backgroundColor = .hex("F93D3D") icon.addSubview(workingCountLabel) @@ -225,6 +223,8 @@ open class VehicleMonitoringListCell : DDTableViewCell { make.edges.equalToSuperview() } + workingCountLabel.layer.cornerRadius = auto(5) + workingCountLabel.layer.masksToBounds = true workingCountLabel.snp.makeConstraints { make in make.top.equalToSuperview().offset(-auto(5)) make.right.equalToSuperview().offset(auto(5))