调度页修改
This commit is contained in:
@@ -38,6 +38,7 @@
|
||||
7940277A2B3BD46B00EC52D4 /* VehicleMonitoringConfigView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794027792B3BD46B00EC52D4 /* VehicleMonitoringConfigView.swift */; };
|
||||
7940277C2B3E9ECB00EC52D4 /* ConditionalSearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7940277B2B3E9ECB00EC52D4 /* ConditionalSearchView.swift */; };
|
||||
7940277E2B43B9B600EC52D4 /* ConditionalSearchTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7940277D2B43B9B600EC52D4 /* ConditionalSearchTool.swift */; };
|
||||
794027842B4E330900EC52D4 /* MapPointAnnotationExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794027832B4E330900EC52D4 /* MapPointAnnotationExtension.swift */; };
|
||||
794FBB0D2A8F040D00D57BB8 /* HistoryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB0C2A8F040D00D57BB8 /* HistoryController.swift */; };
|
||||
794FBB142A8F045F00D57BB8 /* MineController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB132A8F045F00D57BB8 /* MineController.swift */; };
|
||||
794FBB162A8F1A3300D57BB8 /* RescuePhotoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB152A8F1A3300D57BB8 /* RescuePhotoController.swift */; };
|
||||
@@ -143,6 +144,7 @@
|
||||
794027792B3BD46B00EC52D4 /* VehicleMonitoringConfigView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VehicleMonitoringConfigView.swift; sourceTree = "<group>"; };
|
||||
7940277B2B3E9ECB00EC52D4 /* ConditionalSearchView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConditionalSearchView.swift; sourceTree = "<group>"; };
|
||||
7940277D2B43B9B600EC52D4 /* ConditionalSearchTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ConditionalSearchTool.swift; sourceTree = "<group>"; };
|
||||
794027832B4E330900EC52D4 /* MapPointAnnotationExtension.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapPointAnnotationExtension.swift; sourceTree = "<group>"; };
|
||||
794FBB0C2A8F040D00D57BB8 /* HistoryController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryController.swift; sourceTree = "<group>"; };
|
||||
794FBB132A8F045F00D57BB8 /* MineController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineController.swift; sourceTree = "<group>"; };
|
||||
794FBB152A8F1A3300D57BB8 /* RescuePhotoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RescuePhotoController.swift; sourceTree = "<group>"; };
|
||||
@@ -519,6 +521,7 @@
|
||||
79E434242AA1919400AEB16C /* CommonAlertView.swift */,
|
||||
7940277B2B3E9ECB00EC52D4 /* ConditionalSearchView.swift */,
|
||||
7940277D2B43B9B600EC52D4 /* ConditionalSearchTool.swift */,
|
||||
794027832B4E330900EC52D4 /* MapPointAnnotationExtension.swift */,
|
||||
);
|
||||
path = View;
|
||||
sourceTree = "<group>";
|
||||
@@ -968,6 +971,7 @@
|
||||
files = (
|
||||
794FBB232A93519800D57BB8 /* AppUpdateTool.swift in Sources */,
|
||||
79CECC242A8B16D400B95D8B /* VehicleMonitoringListController.swift in Sources */,
|
||||
794027842B4E330900EC52D4 /* MapPointAnnotationExtension.swift in Sources */,
|
||||
79E434282AA1EFA500AEB16C /* SystemCall.swift in Sources */,
|
||||
79B966382AB0651C00308A8D /* VehicleLogoutView.swift in Sources */,
|
||||
791887BD2A83952D007EA0C1 /* Entry.swift in Sources */,
|
||||
|
||||
Binary file not shown.
@@ -221,8 +221,8 @@
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "361"
|
||||
endingLineNumber = "361"
|
||||
startingLineNumber = "484"
|
||||
endingLineNumber = "484"
|
||||
landmarkName = "dd_mapView(_:didAnnotationViewTapped:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -253,8 +253,8 @@
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "140"
|
||||
endingLineNumber = "140"
|
||||
startingLineNumber = "92"
|
||||
endingLineNumber = "92"
|
||||
landmarkName = "addActions()"
|
||||
landmarkType = "7">
|
||||
<Locations>
|
||||
@@ -316,8 +316,8 @@
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "158"
|
||||
endingLineNumber = "158"
|
||||
startingLineNumber = "110"
|
||||
endingLineNumber = "110"
|
||||
landmarkName = "addActions()"
|
||||
landmarkType = "7">
|
||||
<Locations>
|
||||
@@ -5063,8 +5063,8 @@
|
||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1297"
|
||||
endingLineNumber = "1297"
|
||||
startingLineNumber = "1283"
|
||||
endingLineNumber = "1283"
|
||||
landmarkName = "init(taskModels:)"
|
||||
landmarkType = "7">
|
||||
<Locations>
|
||||
@@ -5111,8 +5111,8 @@
|
||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1309"
|
||||
endingLineNumber = "1309"
|
||||
startingLineNumber = "1295"
|
||||
endingLineNumber = "1295"
|
||||
landmarkName = "init(taskModels:)"
|
||||
landmarkType = "7">
|
||||
<Locations>
|
||||
@@ -5159,8 +5159,8 @@
|
||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1311"
|
||||
endingLineNumber = "1311"
|
||||
startingLineNumber = "1297"
|
||||
endingLineNumber = "1297"
|
||||
landmarkName = "init(taskModels:)"
|
||||
landmarkType = "7">
|
||||
<Locations>
|
||||
@@ -5254,8 +5254,8 @@
|
||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1138"
|
||||
endingLineNumber = "1138"
|
||||
startingLineNumber = "1124"
|
||||
endingLineNumber = "1124"
|
||||
landmarkName = "listContainerView(_:initListFor:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -5270,8 +5270,8 @@
|
||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1441"
|
||||
endingLineNumber = "1441"
|
||||
startingLineNumber = "1427"
|
||||
endingLineNumber = "1427"
|
||||
landmarkName = "updateData(taskModel:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -5302,8 +5302,8 @@
|
||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1300"
|
||||
endingLineNumber = "1300"
|
||||
startingLineNumber = "1286"
|
||||
endingLineNumber = "1286"
|
||||
landmarkName = "init(taskModels:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -5318,8 +5318,8 @@
|
||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1313"
|
||||
endingLineNumber = "1313"
|
||||
startingLineNumber = "1299"
|
||||
endingLineNumber = "1299"
|
||||
landmarkName = "init(taskModels:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -5334,8 +5334,8 @@
|
||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1143"
|
||||
endingLineNumber = "1143"
|
||||
startingLineNumber = "1129"
|
||||
endingLineNumber = "1129"
|
||||
landmarkName = "categoryView(_:didSelectedItemAt:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -5350,8 +5350,8 @@
|
||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1312"
|
||||
endingLineNumber = "1312"
|
||||
startingLineNumber = "1298"
|
||||
endingLineNumber = "1298"
|
||||
landmarkName = "init(taskModels:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -5542,8 +5542,8 @@
|
||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "1447"
|
||||
endingLineNumber = "1447"
|
||||
startingLineNumber = "1433"
|
||||
endingLineNumber = "1433"
|
||||
landmarkName = "listView()"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
@@ -6026,5 +6026,293 @@
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "4E190BF4-96BA-4B47-B14F-CE16D9141BDE"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "213"
|
||||
endingLineNumber = "213"
|
||||
landmarkName = "annotationViewStateConfig(annotationView:vehicleModel:shouldShowSmallAnnotation:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "60E30E65-68BC-42F0-B0AE-25800A54DB70"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "218"
|
||||
endingLineNumber = "218"
|
||||
landmarkName = "annotationViewStateConfig(annotationView:vehicleModel:shouldShowSmallAnnotation:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "9174FC5C-B685-41A6-AA71-D28ACEF65927"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "223"
|
||||
endingLineNumber = "223"
|
||||
landmarkName = "annotationViewStateConfig(annotationView:vehicleModel:shouldShowSmallAnnotation:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "3AE73846-1C79-4C01-B945-141FEC62FD77"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "227"
|
||||
endingLineNumber = "227"
|
||||
landmarkName = "annotationViewStateConfig(annotationView:vehicleModel:shouldShowSmallAnnotation:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "BA389DEC-8D28-45F3-8430-FCDAB5E35C19"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "504"
|
||||
endingLineNumber = "504"
|
||||
landmarkName = "dd_mapView(_:mapDidZoomByUser:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "90FD7DDF-044C-4E83-A541-EC85EEF54AE1"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "494"
|
||||
endingLineNumber = "494"
|
||||
landmarkName = "dd_mapView(_:mapDidZoomByUser:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "B7D8F948-3001-4D6E-9CDF-A7B73BCD9B53"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "133"
|
||||
endingLineNumber = "133"
|
||||
landmarkName = "addActions()"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "9CC2973C-D0BA-44D4-8DC9-966EEA5D3171"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "208"
|
||||
endingLineNumber = "208"
|
||||
landmarkName = "annotationViewStateConfig(annotationView:vehicleModel:shouldShowSmallAnnotation:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "B07C5EE0-C44F-4228-889B-59149BF33BFD"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "209"
|
||||
endingLineNumber = "209"
|
||||
landmarkName = "annotationViewStateConfig(annotationView:vehicleModel:shouldShowSmallAnnotation:)"
|
||||
landmarkType = "7">
|
||||
<Locations>
|
||||
<Location
|
||||
uuid = "B07C5EE0-C44F-4228-889B-59149BF33BFD - ebf37b4969d28eed"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "OrderScheduling.DispatchOrderController.annotationViewStateConfig(annotationView: OrderScheduling.DispatchMapStatePointAnnotation, vehicleModel: OrderScheduling.DispatchVehicleListDataModel, shouldShowSmallAnnotation: Swift.Bool) -> ()"
|
||||
moduleName = "OrderScheduling"
|
||||
usesParentBreakpointCondition = "Yes"
|
||||
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "258"
|
||||
endingLineNumber = "258"
|
||||
offsetFromSymbolStart = "6256">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "B07C5EE0-C44F-4228-889B-59149BF33BFD - ebf37b4969d28e32"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "OrderScheduling.DispatchOrderController.annotationViewStateConfig(annotationView: OrderScheduling.DispatchMapStatePointAnnotation, vehicleModel: OrderScheduling.DispatchVehicleListDataModel, shouldShowSmallAnnotation: Swift.Bool) -> ()"
|
||||
moduleName = "OrderScheduling"
|
||||
usesParentBreakpointCondition = "Yes"
|
||||
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "257"
|
||||
endingLineNumber = "257"
|
||||
offsetFromSymbolStart = "6256">
|
||||
</Location>
|
||||
</Locations>
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "7A0E0444-6BBA-4B73-A179-22FEC2172379"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "256"
|
||||
endingLineNumber = "256"
|
||||
landmarkName = "selectVehicle(selectState:vehicleModel:currentTableViewVehicleModels:selectIndex:mapView:)"
|
||||
landmarkType = "7">
|
||||
<Locations>
|
||||
<Location
|
||||
uuid = "7A0E0444-6BBA-4B73-A179-22FEC2172379 - 388ff6065a5f5730"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "OrderScheduling.DispatchOrderController.selectVehicle(selectState: Swift.Bool, vehicleModel: OrderScheduling.DispatchVehicleListDataModel, currentTableViewVehicleModels: Swift.Array<OrderScheduling.DispatchVehicleListDataModel>, selectIndex: Swift.Int, mapView: __C.MAMapView) -> ()"
|
||||
moduleName = "OrderScheduling"
|
||||
usesParentBreakpointCondition = "Yes"
|
||||
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "303"
|
||||
endingLineNumber = "303"
|
||||
offsetFromSymbolStart = "3464">
|
||||
</Location>
|
||||
<Location
|
||||
uuid = "7A0E0444-6BBA-4B73-A179-22FEC2172379 - 388ff6065a5f5751"
|
||||
shouldBeEnabled = "Yes"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
symbolName = "OrderScheduling.DispatchOrderController.selectVehicle(selectState: Swift.Bool, vehicleModel: OrderScheduling.DispatchVehicleListDataModel, currentTableViewVehicleModels: Swift.Array<OrderScheduling.DispatchVehicleListDataModel>, selectIndex: Swift.Int, mapView: __C.MAMapView) -> ()"
|
||||
moduleName = "OrderScheduling"
|
||||
usesParentBreakpointCondition = "Yes"
|
||||
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "302"
|
||||
endingLineNumber = "302"
|
||||
offsetFromSymbolStart = "3592">
|
||||
</Location>
|
||||
</Locations>
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "1B35638B-5E5E-449E-B7FE-35110E19E7F2"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "174"
|
||||
endingLineNumber = "174"
|
||||
landmarkName = "annotationViewStateConfig(annotationView:vehicleModel:shouldShowSmallAnnotation:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "9EC8355F-E862-43EF-A04F-450434857F9F"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "307"
|
||||
endingLineNumber = "307"
|
||||
landmarkName = "modifyMapAnchor()"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "FCC2B82D-08B2-46E6-A9C2-15F0977ECAEE"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "401"
|
||||
endingLineNumber = "401"
|
||||
landmarkName = "tableView(_:cellForRowAt:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
<BreakpointProxy
|
||||
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
|
||||
<BreakpointContent
|
||||
uuid = "62990DC1-3411-4215-BFA8-7F0ACA11EA91"
|
||||
shouldBeEnabled = "No"
|
||||
ignoreCount = "0"
|
||||
continueAfterRunningActions = "No"
|
||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||
startingColumnNumber = "9223372036854775807"
|
||||
endingColumnNumber = "9223372036854775807"
|
||||
startingLineNumber = "432"
|
||||
endingLineNumber = "432"
|
||||
landmarkName = "tableView(_:didSelectRowAt:)"
|
||||
landmarkType = "7">
|
||||
</BreakpointContent>
|
||||
</BreakpointProxy>
|
||||
</Breakpoints>
|
||||
</Bucket>
|
||||
|
||||
@@ -0,0 +1,23 @@
|
||||
//
|
||||
// MapPointAnnotationExtension.swift
|
||||
// OrderScheduling
|
||||
//
|
||||
// Created by 中道 on 2024/1/10.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import DDMAMapKit_Private
|
||||
|
||||
extension MAPointAnnotation {
|
||||
struct DDMAPointAnnotationKey {
|
||||
static var vehicleIdKey : Int = 0
|
||||
}
|
||||
public var vehicleId : Int? {
|
||||
get {
|
||||
return objc_getAssociatedObject(self, &DDMAPointAnnotationKey.vehicleIdKey) as? Int
|
||||
}
|
||||
set {
|
||||
objc_setAssociatedObject(self, &DDMAPointAnnotationKey.vehicleIdKey, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -151,9 +151,12 @@ class DispatchVehicleListDataModel : Decodable {
|
||||
var driverPhone : String?
|
||||
var lon : String?
|
||||
var lat : String?
|
||||
var vehicleStatus : VehicleStatusModel
|
||||
var onlineStatus : OnlineStatusModel
|
||||
var vehicleStatus : VehicleStatusModel?
|
||||
var onlineStatus : OnlineStatusModel?
|
||||
var distance : Double?
|
||||
var vehicleTypeStr : String?
|
||||
var zIndex : Int? = 0
|
||||
var isSelected : Bool? = false
|
||||
}
|
||||
|
||||
class ToDoMessageCountDataModel : Decodable {
|
||||
|
||||
@@ -12,6 +12,8 @@ import RxSwift
|
||||
import RxRelay
|
||||
import DDAutoUIKit_Private
|
||||
import DDMAMapKit_Private
|
||||
import DDUIGestureRecognizer
|
||||
import DDUtilsSwiftKit_Private
|
||||
|
||||
fileprivate let dispatchPannelViewHeight = auto(300)
|
||||
fileprivate let dispatchPannelViewTopInset = auto(45)
|
||||
@@ -29,36 +31,6 @@ extension DispatchOrderController {
|
||||
dispatchOrderView.maMapView.maMapView.addAnnotation(serviceAddressPointAnnotation)
|
||||
dispatchOrderView.maMapView.maMapView.setCenter(serviceAddressCoordinate, animated: true)
|
||||
|
||||
dispatchOrderView.tapGes.rx.event
|
||||
.observe(on: MainScheduler.instance)
|
||||
.subscribe(onNext: {[weak self] _ in
|
||||
self?.dispatchOrderView.coverView.isHidden = true
|
||||
|
||||
self?.dispatchOrderView.dispatchPannelView.snp.updateConstraints({ make in
|
||||
make.bottom.equalToSuperview().offset((dispatchPannelViewHeight - dispatchPannelViewTopInset) - (self?.view.safeAreaInsets.bottom ?? 0))
|
||||
})
|
||||
|
||||
UIView.animate(withDuration: 0.25) {[weak self] in
|
||||
self?.dispatchOrderView.layoutIfNeeded()
|
||||
}
|
||||
})
|
||||
.disposed(by: disposeBag)
|
||||
|
||||
dispatchOrderView.panGes.rx.event
|
||||
.observe(on: MainScheduler.instance)
|
||||
.subscribe(onNext: {[weak self] _ in
|
||||
self?.dispatchOrderView.coverView.isHidden = true
|
||||
|
||||
self?.dispatchOrderView.dispatchPannelView.snp.updateConstraints({ make in
|
||||
make.bottom.equalToSuperview().offset((dispatchPannelViewHeight - dispatchPannelViewTopInset) - (self?.view.safeAreaInsets.bottom ?? 0))
|
||||
})
|
||||
|
||||
UIView.animate(withDuration: 0.25) {[weak self] in
|
||||
self?.dispatchOrderView.layoutIfNeeded()
|
||||
}
|
||||
})
|
||||
.disposed(by: disposeBag)
|
||||
|
||||
dispatchOrderView.dispatchPannelView.onlineButton.rx.tap
|
||||
.observe(on: MainScheduler.instance)
|
||||
.subscribe(onNext: {[weak self] _ in
|
||||
@@ -69,16 +41,6 @@ extension DispatchOrderController {
|
||||
self?.dispatchOrderView.dispatchPannelView.tableView.isHidden = false
|
||||
self?.dispatchOrderView.dispatchPannelView.offlineView.isHidden = true
|
||||
}
|
||||
|
||||
self?.dispatchOrderView.coverView.isHidden = false
|
||||
|
||||
self?.dispatchOrderView.dispatchPannelView.snp.updateConstraints({ make in
|
||||
make.bottom.equalToSuperview().offset(0)
|
||||
})
|
||||
|
||||
UIView.animate(withDuration: 0.25) {[weak self] in
|
||||
self?.dispatchOrderView.layoutIfNeeded()
|
||||
}
|
||||
})
|
||||
.disposed(by: disposeBag)
|
||||
|
||||
@@ -92,16 +54,6 @@ extension DispatchOrderController {
|
||||
self?.dispatchOrderView.dispatchPannelView.tableView.isHidden = true
|
||||
self?.dispatchOrderView.dispatchPannelView.offlineView.isHidden = false
|
||||
}
|
||||
|
||||
self?.dispatchOrderView.coverView.isHidden = false
|
||||
|
||||
self?.dispatchOrderView.dispatchPannelView.snp.updateConstraints({ make in
|
||||
make.bottom.equalToSuperview().offset(0)
|
||||
})
|
||||
|
||||
UIView.animate(withDuration: 0.25) {[weak self] in
|
||||
self?.dispatchOrderView.layoutIfNeeded()
|
||||
}
|
||||
})
|
||||
.disposed(by: disposeBag)
|
||||
|
||||
@@ -167,8 +119,10 @@ extension DispatchOrderController {
|
||||
// 重新计算数组
|
||||
self?.resultArr.removeAll()
|
||||
self?.resultArr.append(contentsOf: array)
|
||||
self?.dispatchOrderView.maMapView.maMapView.removeAnnotations(self?.vehicleAnnotions)
|
||||
self?.vehicleAnnotions.removeAll()
|
||||
self?.dispatchOrderView.maMapView.maMapView.removeAnnotations(self?.dispatchOrderView.maMapView.maMapView.annotations)
|
||||
|
||||
self?.isShowSmallAnnotation = false
|
||||
self?.shouldShowSmallAnnotation = true
|
||||
|
||||
for index in 0..<array.count {
|
||||
let model = array[index]
|
||||
@@ -178,12 +132,13 @@ extension DispatchOrderController {
|
||||
pointAnnotation.coordinate = coordinate
|
||||
pointAnnotation.tag = index
|
||||
self?.dispatchOrderView.maMapView.maMapView.addAnnotation(pointAnnotation)
|
||||
self?.vehicleAnnotions.append(pointAnnotation)
|
||||
}
|
||||
|
||||
if (self?.dispatchOrderView.maMapView.maMapView.annotations.count ?? 0) > 0 , let annotations = self?.dispatchOrderView.maMapView.maMapView.annotations {
|
||||
DispatchQueue.main.async {[weak self] in
|
||||
self?.dispatchOrderView.maMapView.maMapView.showAnnotations(annotations, edgePadding:UIEdgeInsets(top: mapInsetTopSafeArea, left: 0, bottom: dispatchPannelViewHeight + mapInsetBottomSafeArea, right: 0), animated: true)
|
||||
}
|
||||
}
|
||||
self?.dispatchOrderView.dispatchPannelView.tableView.reloadData()
|
||||
}
|
||||
}else{
|
||||
@@ -206,6 +161,167 @@ extension DispatchOrderController {
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
func annotationViewStateConfig(annotationView: DispatchMapStatePointAnnotation,vehicleModel: DispatchVehicleListDataModel, shouldShowSmallAnnotation: Bool) {
|
||||
var backgroundColor : UIColor?
|
||||
var bigImage : UIImage?
|
||||
var middleImage : UIImage?
|
||||
|
||||
switch vehicleModel.vehicleStatus?.code {
|
||||
case .offLine,.lostConnection:
|
||||
backgroundColor = .hex("858585")
|
||||
bigImage = UIImage(named: "vehicleMonitoring_offline_big")
|
||||
middleImage = UIImage(named: "vehicleMonitor_offline_cell_flag_bg")
|
||||
break
|
||||
case .onLine,.leisure:
|
||||
backgroundColor = .hex("067BB9")
|
||||
bigImage = UIImage(named: "vehicleMonitoring_empty_big")
|
||||
middleImage = UIImage(named: "vehicleMonitor_empty_cell_flag_bg")
|
||||
break
|
||||
case .busy:
|
||||
backgroundColor = .hex("F05412")
|
||||
bigImage = UIImage(named: "vehicleMonitoring_busy_big")
|
||||
middleImage = UIImage(named: "vehicleMonitor_busy_cell_onlne_bg")
|
||||
break
|
||||
case .BuyBusy:
|
||||
backgroundColor = .hex("F05412")
|
||||
bigImage = UIImage(named: "vehicleMonitoring_busy_big")
|
||||
middleImage = UIImage(named: "vehicleMonitor_busy_cell_onlne_bg")
|
||||
break
|
||||
case .none:
|
||||
backgroundColor = .hex("858585")
|
||||
bigImage = UIImage(named: "vehicleMonitoring_offline_big")
|
||||
middleImage = UIImage(named: "vehicleMonitor_offline_cell_flag_bg")
|
||||
break
|
||||
}
|
||||
|
||||
switch vehicleModel.onlineStatus?.code {
|
||||
case .onLine:
|
||||
annotationView.bigStateLabel.textColor = .white
|
||||
annotationView.middleStateLabel.textColor = .white
|
||||
break
|
||||
default:
|
||||
annotationView.bigStateLabel.textColor = .hex("CCCCCC")
|
||||
annotationView.middleStateLabel.textColor = .hex("CCCCCC")
|
||||
break
|
||||
}
|
||||
|
||||
if vehicleModel.isSelected == true {
|
||||
annotationView.bigImageView.isHidden = false
|
||||
annotationView.bigStateLabel.isHidden = false
|
||||
annotationView.smallImageView.isHidden = true
|
||||
annotationView.middleImageView.isHidden = true
|
||||
annotationView.bigImageView.image = bigImage
|
||||
annotationView.bigStateLabel.text = vehicleModel.vehicleTypeStr
|
||||
}else{
|
||||
annotationView.bigImageView.isHidden = true
|
||||
annotationView.bigStateLabel.isHidden = true
|
||||
if shouldShowSmallAnnotation == true {
|
||||
annotationView.smallImageView.isHidden = false
|
||||
annotationView.middleImageView.isHidden = true
|
||||
annotationView.middleStateLabel.isHidden = true
|
||||
annotationView.titleLabel.isHidden = true
|
||||
annotationView.smallImageView.backgroundColor = backgroundColor
|
||||
}else{
|
||||
annotationView.smallImageView.isHidden = true
|
||||
annotationView.middleImageView.isHidden = false
|
||||
annotationView.middleStateLabel.isHidden = false
|
||||
annotationView.titleLabel.isHidden = false
|
||||
annotationView.middleImageView.image = middleImage
|
||||
annotationView.middleStateLabel.text = vehicleModel.vehicleTypeStr
|
||||
}
|
||||
}
|
||||
|
||||
annotationView.titleLabel.text = vehicleModel.vehicleName
|
||||
}
|
||||
|
||||
func selectVehicle(selectState: Bool,vehicleModel: DispatchVehicleListDataModel, currentTableViewVehicleModels: [DispatchVehicleListDataModel],selectIndex: Int, mapView: MAMapView) {
|
||||
|
||||
resetSelectedOfDataModel()
|
||||
|
||||
/// 在当前mapModel中查找vehicleId,如果找到的话就先删除再添加
|
||||
if let selectedModel = currentTableViewVehicleModels.first(where: {[weak self] model in
|
||||
return model.vehicleId == self?.selectedVehicleId
|
||||
}) {
|
||||
if let tag = currentTableViewVehicleModels.firstIndex(where: { model in
|
||||
return selectedModel.vehicleId == model.vehicleId
|
||||
}) {
|
||||
if let annotation = mapView.annotations.first(where: { annotation in
|
||||
let pointAnnotation = annotation as? MAPointAnnotation
|
||||
return pointAnnotation?.vehicleId == selectedModel.vehicleId
|
||||
}) {
|
||||
mapView.removeAnnotation(annotation as? MAAnnotation)
|
||||
|
||||
selectedModel.isSelected = false
|
||||
let coordinate = CLLocationCoordinate2D(latitude: Double(selectedModel.lat ?? "0") ?? 0, longitude: Double(selectedModel.lon ?? "0") ?? 0)
|
||||
let pointAnnotation = MAPointAnnotation.init()
|
||||
pointAnnotation.annotationClass = DispatchMapStatePointAnnotation.self
|
||||
pointAnnotation.coordinate = coordinate
|
||||
pointAnnotation.tag = tag
|
||||
mapView.addAnnotation(pointAnnotation)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/// 找到当前的车辆
|
||||
/// 移除之前的annotation
|
||||
if let oldAnnotation = mapView.annotations.first(where: { annotation in
|
||||
let pointAnnotation = annotation as? MAPointAnnotation
|
||||
return pointAnnotation?.tag == selectIndex
|
||||
}) {
|
||||
mapView.removeAnnotation(oldAnnotation as? MAAnnotation)
|
||||
}
|
||||
|
||||
/// 将当前选中设为true
|
||||
vehicleModel.isSelected = selectState
|
||||
zIndex+=1
|
||||
vehicleModel.zIndex = zIndex
|
||||
|
||||
/// 重新添加新的annotation
|
||||
let coordinate = CLLocationCoordinate2D(latitude: Double(vehicleModel.lat ?? "0") ?? 0, longitude: Double(vehicleModel.lon ?? "0") ?? 0)
|
||||
let pointAnnotation = MAPointAnnotation.init()
|
||||
pointAnnotation.annotationClass = DispatchMapStatePointAnnotation.self
|
||||
pointAnnotation.coordinate = coordinate
|
||||
pointAnnotation.tag = selectIndex
|
||||
mapView.addAnnotation(pointAnnotation)
|
||||
|
||||
/// 记录当前的选中车辆id
|
||||
selectedVehicleId = vehicleModel.vehicleId
|
||||
|
||||
/// 刷新tableview
|
||||
dispatchOrderView.dispatchPannelView.tableView.reloadData()
|
||||
}
|
||||
|
||||
func resetSelectedOfDataModel() {
|
||||
// 去掉其他tableview的选中
|
||||
for index in 0..<resultArr.count {
|
||||
let model = resultArr[index]
|
||||
model.isSelected = false
|
||||
}
|
||||
}
|
||||
|
||||
func modifyMapAnchor() {
|
||||
let mapHeight = dispatchOrderView.maMapView.height
|
||||
var deltaH = 0.0
|
||||
if pannelPanGes.panGesValue.expandLevel == .max {
|
||||
deltaH = mapHeight - pannelPanGes.panGesValue.maxDisplayHeight
|
||||
}else if pannelPanGes.panGesValue.expandLevel == .default {
|
||||
deltaH = mapHeight - pannelPanGes.panGesValue.defaultDisplayHeight
|
||||
}else{
|
||||
deltaH = mapHeight - pannelPanGes.panGesValue.minDisplayHeight
|
||||
}
|
||||
let scale = (deltaH/2) / (mapHeight/2)
|
||||
dispatchOrderView.maMapView.maMapView.screenAnchor = CGPoint(x: 0.5, y: 0.5 * scale)
|
||||
}
|
||||
|
||||
func showMapCenter(with vehicleModel: DispatchVehicleListDataModel) {
|
||||
/// 将镜头设置为选中的item,需要修改锚点
|
||||
if let lat = vehicleModel.lat,let lon = vehicleModel.lon {
|
||||
modifyMapAnchor()
|
||||
|
||||
dispatchOrderView.maMapView.maMapView.setCenter(CLLocationCoordinate2D(latitude: Double(lat) ?? 0, longitude: Double(lon) ?? 0), animated: true)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
extension DispatchOrderController : UITableViewDelegate,UITableViewDataSource {
|
||||
@@ -223,32 +339,71 @@ extension DispatchOrderController : UITableViewDelegate,UITableViewDataSource {
|
||||
cell = DispatchOrderPannelCell.init(style: .default, reuseIdentifier: "cell")
|
||||
}
|
||||
let model = resultArr[indexPath.item]
|
||||
switch model.vehicleStatus.code {
|
||||
|
||||
switch model.vehicleStatus?.code {
|
||||
case .offLine,.lostConnection:
|
||||
cell?.icon.image = UIImage(named: "vehicleMonitor_offline_cell_flag_bg")
|
||||
cell?.stateLabel.textColor = .hex("787878")
|
||||
cell?.name.textColor = .hex("787878")
|
||||
cell?.phone.textColor = .hex("787878")
|
||||
cell?.distance.textColor = .hex("787878")
|
||||
break
|
||||
default:
|
||||
case .onLine,.leisure:
|
||||
cell?.icon.image = UIImage(named: "vehicleMonitor_empty_cell_flag_bg")
|
||||
cell?.stateLabel.textColor = .hex("3364B7")
|
||||
cell?.name.textColor = .hex("3364B7")
|
||||
cell?.phone.textColor = .hex("3364B7")
|
||||
cell?.distance.textColor = .hex("3364B7")
|
||||
break
|
||||
case .busy:
|
||||
cell?.icon.image = UIImage(named: "vehicleMonitor_busy_cell_onlne_bg")
|
||||
cell?.stateLabel.textColor = .hex("FA5714")
|
||||
cell?.name.textColor = .hex("FA5714")
|
||||
cell?.distance.textColor = .hex("FA5714")
|
||||
break
|
||||
case .BuyBusy:
|
||||
cell?.icon.image = UIImage(named: "vehicleMonitor_busy_cell_onlne_bg")
|
||||
cell?.stateLabel.textColor = .hex("FA5714")
|
||||
cell?.name.textColor = .hex("FA5714")
|
||||
cell?.distance.textColor = .hex("FA5714")
|
||||
break
|
||||
case .none:
|
||||
cell?.icon.image = UIImage(named: "vehicleMonitor_offline_cell_flag_bg")
|
||||
cell?.stateLabel.textColor = .hex("787878")
|
||||
cell?.name.textColor = .hex("787878")
|
||||
cell?.distance.textColor = .hex("787878")
|
||||
break
|
||||
}
|
||||
|
||||
var status = model.vehicleStatus.label
|
||||
if model.onlineStatus.code == .lostConnection {
|
||||
status = status + "," + model.onlineStatus.label
|
||||
switch model.onlineStatus?.code {
|
||||
case .onLine:
|
||||
cell?.iconStateLabel.textColor = .white
|
||||
break
|
||||
default:
|
||||
cell?.iconStateLabel.textColor = .hex("CCCCCC")
|
||||
break
|
||||
}
|
||||
|
||||
cell?.iconStateLabel.text = model.vehicleTypeStr
|
||||
|
||||
var status = model.vehicleStatus?.label ?? ""
|
||||
if model.onlineStatus?.code == .lostConnection {
|
||||
status = status + "," + (model.onlineStatus?.label ?? "")
|
||||
}
|
||||
cell?.stateLabel.text = (model.vehicleName ?? "")+"/"+status
|
||||
cell?.name.text = model.driverName
|
||||
cell?.phone.text = model.driverPhone
|
||||
|
||||
if let distance = model.distance {
|
||||
cell?.distance.text = String(distance)+"km"
|
||||
}
|
||||
|
||||
cell?.phoneButton.rx.tap
|
||||
.observe(on: MainScheduler.instance)
|
||||
.subscribe(onNext: { _ in
|
||||
if let phone = model.driverPhone {
|
||||
URLLINKS.openUrl(type: .phone, appending: phone)
|
||||
}
|
||||
})
|
||||
.disposed(by: cell!.disposeBag)
|
||||
|
||||
cell?.dispatchButton.rx.tap
|
||||
.subscribe(onNext: {[weak self] _ in
|
||||
self?.dispatchOrderRelay.accept(model)
|
||||
@@ -257,49 +412,27 @@ extension DispatchOrderController : UITableViewDelegate,UITableViewDataSource {
|
||||
|
||||
if USERP.canDealWith == true {
|
||||
cell?.dispatchButton.isHidden = false
|
||||
cell?.stateLabel.snp.updateConstraints({ make in
|
||||
make.width.equalTo(auto(97))
|
||||
})
|
||||
|
||||
cell?.name.snp.updateConstraints({ make in
|
||||
make.width.equalTo(auto(40))
|
||||
})
|
||||
|
||||
cell?.phone.snp.updateConstraints({ make in
|
||||
make.width.equalTo(auto(100))
|
||||
})
|
||||
|
||||
cell?.distance.snp.updateConstraints({ make in
|
||||
make.width.equalTo(auto(60))
|
||||
})
|
||||
|
||||
cell?.dispatchButton.snp.updateConstraints({ make in
|
||||
make.width.equalTo(auto(50))
|
||||
make.right.equalTo(-auto(10))
|
||||
})
|
||||
}else{
|
||||
cell?.dispatchButton.isHidden = true
|
||||
cell?.stateLabel.snp.updateConstraints({ make in
|
||||
make.width.equalTo(auto(107.5))
|
||||
})
|
||||
|
||||
cell?.name.snp.updateConstraints({ make in
|
||||
make.width.equalTo(auto(65))
|
||||
})
|
||||
|
||||
cell?.phone.snp.updateConstraints({ make in
|
||||
make.width.equalTo(auto(112.5))
|
||||
})
|
||||
|
||||
cell?.distance.snp.updateConstraints({ make in
|
||||
make.width.equalTo(auto(60))
|
||||
})
|
||||
|
||||
cell?.dispatchButton.snp.updateConstraints({ make in
|
||||
make.width.equalTo(0)
|
||||
make.right.equalTo(0)
|
||||
})
|
||||
}
|
||||
return cell!
|
||||
}
|
||||
|
||||
public func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
|
||||
let model = resultArr[indexPath.item]
|
||||
selectVehicle(selectState: true,vehicleModel: model, currentTableViewVehicleModels: resultArr, selectIndex: indexPath.item, mapView: dispatchOrderView.maMapView.maMapView)
|
||||
showMapCenter(with: model)
|
||||
}
|
||||
}
|
||||
|
||||
extension DispatchOrderController : DDMAMapViewDelegate {
|
||||
@@ -314,31 +447,21 @@ extension DispatchOrderController : DDMAMapViewDelegate {
|
||||
}
|
||||
annotationView!.annotation = pointAnnotation
|
||||
let model = resultArr[pointAnnotation.tag]
|
||||
annotationView?.stateLabel.text = model.vehicleStatus.label
|
||||
annotationView?.nameLabel.text = model.vehicleName
|
||||
|
||||
switch model.vehicleStatus.code {
|
||||
case .offLine,.lostConnection:
|
||||
annotationView?.pointView.backgroundColor = .hex("787878")
|
||||
annotationView?.verticalView.backgroundColor = .hex("787878")
|
||||
annotationView?.stateImageView.backgroundColor = .hex("787878")
|
||||
break
|
||||
case .onLine,.leisure:
|
||||
annotationView?.pointView.backgroundColor = .hex("2956DB")
|
||||
annotationView?.verticalView.backgroundColor = .hex("2956DB")
|
||||
annotationView?.stateImageView.backgroundColor = .hex("2956DB")
|
||||
break
|
||||
case .busy:
|
||||
annotationView?.pointView.backgroundColor = .hex("BA1717")
|
||||
annotationView?.verticalView.backgroundColor = .hex("BA1717")
|
||||
annotationView?.stateImageView.backgroundColor = .hex("BA1717")
|
||||
break
|
||||
case .BuyBusy:
|
||||
annotationView?.pointView.backgroundColor = .hex("ffa400")
|
||||
annotationView?.verticalView.backgroundColor = .hex("ffa400")
|
||||
annotationView?.stateImageView.backgroundColor = .hex("ffa400")
|
||||
break
|
||||
/// 绑定车辆id到annotation
|
||||
pointAnnotation.vehicleId = model.vehicleId
|
||||
annotationView!.annotation = pointAnnotation
|
||||
annotationView?.zIndex = model.zIndex ?? 0
|
||||
|
||||
if let annotationView, let shouldShowSmallAnnotation {
|
||||
annotationViewStateConfig(annotationView: annotationView, vehicleModel: model, shouldShowSmallAnnotation: shouldShowSmallAnnotation)
|
||||
}
|
||||
|
||||
let labelSize = annotationView?.titleLabel.sizeThatFits(CGSize(width: auto(100), height: .infinity)) ?? .zero
|
||||
let annotationViewW = labelSize.width
|
||||
let annotationViewH = auto(50) + labelSize.height
|
||||
annotationView?.frame = CGRect(origin: (annotationView?.frame.origin)!, size: CGSize(width: annotationViewW, height: annotationViewH))
|
||||
|
||||
return annotationView!
|
||||
}
|
||||
|
||||
@@ -358,7 +481,36 @@ extension DispatchOrderController : DDMAMapViewDelegate {
|
||||
|
||||
public func dd_mapView(_ mapView: MAMapView, didAnnotationViewTapped view: MAAnnotationView) {
|
||||
zIndex += 1
|
||||
view.zIndex = zIndex
|
||||
|
||||
if let tapPointAnnotation = view.annotation as? MAPointAnnotation {
|
||||
let model = resultArr[tapPointAnnotation.tag]
|
||||
selectVehicle(selectState: true,vehicleModel: model, currentTableViewVehicleModels: resultArr, selectIndex: tapPointAnnotation.tag, mapView: mapView)
|
||||
}
|
||||
}
|
||||
|
||||
public func dd_mapView(_ mapView: MAMapView, mapDidZoomByUser wasUserAction: Bool) {
|
||||
/// 缩小过一次后就不需要频繁调用移除添加
|
||||
if mapView.zoomLevel <= 11 {
|
||||
shouldShowSmallAnnotation = true
|
||||
|
||||
if isShowSmallAnnotation == false {
|
||||
let annotations = mapView.annotations
|
||||
mapView.removeAnnotations(annotations)
|
||||
mapView.addAnnotations(annotations)
|
||||
|
||||
isShowSmallAnnotation = true
|
||||
}
|
||||
}else{
|
||||
shouldShowSmallAnnotation = false
|
||||
|
||||
if isShowSmallAnnotation == true {
|
||||
let annotations = mapView.annotations
|
||||
mapView.removeAnnotations(annotations)
|
||||
mapView.addAnnotations(annotations)
|
||||
isShowSmallAnnotation = false
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -369,12 +521,21 @@ open class DispatchOrderController : ZDViewController {
|
||||
private let userOrderId : Int
|
||||
private let taskOrderId : Int
|
||||
private var resultArr : [DispatchVehicleListDataModel] = []
|
||||
private var vehicleAnnotions : [MAPointAnnotation] = []
|
||||
public var zIndex = 0
|
||||
private let serviceAddressLat : Double
|
||||
private let serviceAddressLon : Double
|
||||
private let dispatchOrderRelay = ReplayRelay<DispatchVehicleListDataModel>.create(bufferSize: 1)
|
||||
public var dispatchCompletionHandler: ((Int) -> Void)?
|
||||
|
||||
private var shouldShowSmallAnnotation : Bool? = true /// 用于标记是否需要显示最小的annotation
|
||||
private var isShowSmallAnnotation : Bool? = false /// 用于标记是否已经显示最小的annotation
|
||||
|
||||
public var zIndex = 0 /// 用于annotation的位置靠前靠后
|
||||
|
||||
private var selectedModel : DispatchVehicleListDataModel? /// 用于选中
|
||||
private var selectedVehicleId : Int? /// 用于选中
|
||||
|
||||
private let pannelPanGes = DDUIPanGestureRecognizer.init() /// 用于pannel的拖动效果
|
||||
|
||||
public init(userOrderId:Int,taskOrderId:Int,serviceAddressLat:Double,serviceAddressLon:Double) {
|
||||
self.userOrderId = userOrderId
|
||||
self.taskOrderId = taskOrderId
|
||||
@@ -402,9 +563,17 @@ open class DispatchOrderController : ZDViewController {
|
||||
bottomView.backgroundColor = .white
|
||||
view.addSubview(bottomView)
|
||||
|
||||
dispatchOrderView.maMapView.maMapView.isRotateCameraEnabled = false
|
||||
dispatchOrderView.maMapView.delegate = self
|
||||
dispatchOrderView.dispatchPannelView.tableView.delegate = self
|
||||
dispatchOrderView.dispatchPannelView.tableView.dataSource = self
|
||||
|
||||
pannelPanGes.panGesValue.from = .bottom
|
||||
pannelPanGes.expandLevelChangedHandler = {[weak self] old, new in
|
||||
self?.modifyMapAnchor()
|
||||
}
|
||||
pannelPanGes.panGesValue.expandLevel = .max
|
||||
dispatchOrderView.dispatchPannelView.addGestureRecognizer(pannelPanGes)
|
||||
}
|
||||
|
||||
open override func viewWillLayoutSubviews() {
|
||||
@@ -419,6 +588,18 @@ open class DispatchOrderController : ZDViewController {
|
||||
}
|
||||
}
|
||||
|
||||
open override func viewSafeAreaInsetsDidChange() {
|
||||
super.viewSafeAreaInsetsDidChange()
|
||||
var bottom : CGFloat = 0
|
||||
if view.safeAreaInsets.bottom != 0 {
|
||||
bottom = view.safeAreaInsets.bottom
|
||||
}
|
||||
|
||||
pannelPanGes.panGesValue.minDisplayHeight = dispatchPannelViewTopInset + bottom
|
||||
pannelPanGes.panGesValue.maxDisplayHeight = dispatchPannelViewHeight
|
||||
pannelPanGes.panGesValue.defaultDisplayHeight = dispatchPannelViewHeight
|
||||
}
|
||||
|
||||
open override var preferredStatusBarStyle: UIStatusBarStyle {
|
||||
return .darkContent
|
||||
}
|
||||
@@ -426,9 +607,12 @@ open class DispatchOrderController : ZDViewController {
|
||||
|
||||
open class DispatchOrderPannelCell : DDTableViewCell {
|
||||
private let radiusView : DDView
|
||||
public let icon : DDImageView
|
||||
public let iconStateLabel : DDLabel
|
||||
public let stateLabel : DDLabel
|
||||
public let nameView : DDView
|
||||
public let name : DDLabel
|
||||
public let phone : DDLabel
|
||||
public let phoneButton : DDButton
|
||||
public let distance : DDLabel
|
||||
public let dispatchButton : DDButton
|
||||
public var dispatchLayer : CAGradientLayer = {
|
||||
@@ -445,9 +629,12 @@ open class DispatchOrderPannelCell : DDTableViewCell {
|
||||
|
||||
public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
|
||||
radiusView = DDView()
|
||||
icon = DDImageView()
|
||||
iconStateLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(10)), textColor: .white)
|
||||
stateLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(13)), textColor: .hex("3364B7"))
|
||||
nameView = DDView()
|
||||
name = DDLabel.dd_init(withText: "", font: .mediumFont(auto(13)), textColor: .hex("3364B7"))
|
||||
phone = DDLabel.dd_init(withText: "", font: .mediumFont(auto(13)), textColor: .hex("3364B7"))
|
||||
phoneButton = DDButton.dd_initCustom()
|
||||
distance = DDLabel.dd_init(withText: "", font: .mediumFont(auto(13)), textColor: .hex("3364B7"))
|
||||
dispatchButton = DDButton.dd_initCustom()
|
||||
super.init(style: style, reuseIdentifier: reuseIdentifier)
|
||||
@@ -456,11 +643,18 @@ open class DispatchOrderPannelCell : DDTableViewCell {
|
||||
// stateLabel.lineBreakMode = .byTruncatingMiddle
|
||||
radiusView.backgroundColor = .white
|
||||
contentView.addSubview(radiusView)
|
||||
radiusView.addSubview(icon)
|
||||
iconStateLabel.textAlignment = .center
|
||||
icon.addSubview(iconStateLabel)
|
||||
stateLabel.numberOfLines = 0
|
||||
radiusView.addSubview(stateLabel)
|
||||
radiusView.addSubview(nameView)
|
||||
name.numberOfLines = 0
|
||||
radiusView.addSubview(name)
|
||||
radiusView.addSubview(phone)
|
||||
nameView.isUserInteractionEnabled = true
|
||||
nameView.addSubview(name)
|
||||
phoneButton.setImage(UIImage(named: "vehicleMonitor_call_cell"), for: .normal)
|
||||
phoneButton.isUserInteractionEnabled = true
|
||||
nameView.addSubview(phoneButton)
|
||||
distance.numberOfLines = 0
|
||||
radiusView.addSubview(distance)
|
||||
dispatchButton.layer.cornerRadius = auto(4)
|
||||
@@ -475,26 +669,40 @@ open class DispatchOrderPannelCell : DDTableViewCell {
|
||||
make.height.greaterThanOrEqualTo(auto(44)).priority(.high)
|
||||
}
|
||||
|
||||
icon.snp.makeConstraints { make in
|
||||
make.left.equalToSuperview().offset(auto(10))
|
||||
make.centerY.equalToSuperview()
|
||||
}
|
||||
|
||||
iconStateLabel.snp.makeConstraints { make in
|
||||
make.edges.equalToSuperview()
|
||||
}
|
||||
|
||||
stateLabel.snp.makeConstraints { make in
|
||||
make.left.equalTo(auto(10))
|
||||
make.left.equalTo(icon.snp.right).offset(auto(5))
|
||||
make.centerY.equalToSuperview()
|
||||
make.width.equalTo(auto(95))
|
||||
}
|
||||
|
||||
name.snp.makeConstraints { make in
|
||||
make.left.equalTo(stateLabel.snp.right).offset(auto(5))
|
||||
nameView.snp.makeConstraints { make in
|
||||
make.centerX.equalToSuperview()
|
||||
make.centerY.equalToSuperview()
|
||||
make.width.equalTo(auto(40))
|
||||
make.height.greaterThanOrEqualTo(phoneButton)
|
||||
}
|
||||
|
||||
phone.snp.makeConstraints { make in
|
||||
make.left.equalTo(name.snp.right).offset(auto(5))
|
||||
name.snp.makeConstraints { make in
|
||||
make.left.equalToSuperview()
|
||||
make.centerY.equalToSuperview()
|
||||
}
|
||||
|
||||
phoneButton.snp.makeConstraints { make in
|
||||
make.left.equalTo(name.snp.right)
|
||||
make.right.equalToSuperview()
|
||||
make.centerY.equalToSuperview()
|
||||
make.width.equalTo(auto(100))
|
||||
}
|
||||
|
||||
distance.snp.makeConstraints { make in
|
||||
make.left.equalTo(phone.snp.right).offset(0)
|
||||
make.right.equalTo(dispatchButton.snp.left).offset(-auto(5))
|
||||
make.centerY.equalToSuperview()
|
||||
make.width.equalTo(auto(60))
|
||||
}
|
||||
@@ -524,31 +732,18 @@ open class DispatchOrderPannelCell : DDTableViewCell {
|
||||
open class DispatchOrderView : DDView {
|
||||
public let dispatchPannelView : DispatchOrderPannelView
|
||||
public let maMapView : DDMAMapView
|
||||
public let coverView : DDView
|
||||
public let tapGes : UITapGestureRecognizer
|
||||
public let panGes : UIPanGestureRecognizer
|
||||
public override init(frame: CGRect) {
|
||||
dispatchPannelView = DispatchOrderPannelView()
|
||||
maMapView = DDMAMapView()
|
||||
coverView = DDView()
|
||||
tapGes = UITapGestureRecognizer()
|
||||
panGes = UIPanGestureRecognizer()
|
||||
super.init(frame: frame)
|
||||
|
||||
addSubview(maMapView)
|
||||
coverView.addGestureRecognizer(tapGes)
|
||||
coverView.addGestureRecognizer(panGes)
|
||||
addSubview(coverView)
|
||||
addSubview(dispatchPannelView)
|
||||
|
||||
maMapView.snp.makeConstraints { make in
|
||||
make.edges.equalToSuperview()
|
||||
}
|
||||
|
||||
coverView.snp.makeConstraints { make in
|
||||
make.edges.equalToSuperview()
|
||||
}
|
||||
|
||||
dispatchPannelView.snp.makeConstraints { make in
|
||||
make.bottom.equalToSuperview()
|
||||
make.left.right.equalToSuperview()
|
||||
@@ -613,12 +808,12 @@ open class DispatchOrderPannelView : DDView {
|
||||
tapBackgroundView.snp.makeConstraints { make in
|
||||
make.left.right.equalToSuperview()
|
||||
make.top.equalToSuperview().offset(-auto(20))
|
||||
make.height.equalTo(auto(65))
|
||||
make.height.equalTo(dispatchPannelViewTopInset + auto(20))
|
||||
}
|
||||
|
||||
onlineButton.snp.makeConstraints { make in
|
||||
make.top.equalToSuperview()
|
||||
make.height.equalTo(auto(45))
|
||||
make.height.equalTo(dispatchPannelViewTopInset)
|
||||
make.width.equalToSuperview().multipliedBy(0.5)
|
||||
make.left.equalToSuperview()
|
||||
}
|
||||
@@ -626,7 +821,7 @@ open class DispatchOrderPannelView : DDView {
|
||||
offlineButton.snp.makeConstraints { make in
|
||||
make.top.equalToSuperview()
|
||||
make.right.equalToSuperview()
|
||||
make.height.equalTo(auto(45))
|
||||
make.height.equalTo(dispatchPannelViewTopInset)
|
||||
make.width.equalToSuperview().multipliedBy(0.5)
|
||||
}
|
||||
|
||||
@@ -794,91 +989,127 @@ class DispatchMapSericeAddressPointAnnotation : MAAnnotationView {
|
||||
}
|
||||
}
|
||||
|
||||
class DispatchMapStatePointAnnotation : MAAnnotationView {
|
||||
public let radiusView : DDView
|
||||
public let stateImageView : DDImageView
|
||||
public let stateLabel : DDLabel
|
||||
public let nameLabel : DDLabel
|
||||
public let verticalView : UIView
|
||||
public let pointView : UIView
|
||||
|
||||
open class DispatchMapStatePointAnnotation : MAAnnotationView {
|
||||
public let clearView : DDView
|
||||
public var disposeBag : DisposeBag
|
||||
public var smallImageView : DDImageView
|
||||
public var middleImageView : DDImageView
|
||||
public var bigImageView : DDImageView
|
||||
public var titleLabel : DDLabel
|
||||
public var middleStateLabel : DDLabel
|
||||
public var bigStateLabel : DDLabel
|
||||
public var middleWorkingCountlabel : DDLabel
|
||||
public var bigWorkingCountlabel : DDLabel
|
||||
override init!(annotation: MAAnnotation!, reuseIdentifier: String!) {
|
||||
radiusView = DDView.init()
|
||||
stateImageView = DDImageView.init()
|
||||
stateLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(10)), textColor: .white(alpha: 1.0))
|
||||
nameLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("#2C395F"))
|
||||
verticalView = UIView.init()
|
||||
pointView = UIView.init()
|
||||
clearView = DDView.init()
|
||||
disposeBag = DisposeBag()
|
||||
smallImageView = DDImageView()
|
||||
middleImageView = DDImageView()
|
||||
bigImageView = DDImageView()
|
||||
titleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(11), textColor: .hex("03030F"))
|
||||
middleStateLabel = DDLabel.dd_init(withText: "", font: .mediumFont(10), textColor: .white)
|
||||
bigStateLabel = DDLabel.dd_init(withText: "", font: .mediumFont(18), textColor: .white)
|
||||
middleWorkingCountlabel = DDLabel.dd_init(withText: "", font: .mediumFont(7), textColor: .white)
|
||||
bigWorkingCountlabel = DDLabel.dd_init(withText: "", font: .mediumFont(9), textColor: .white)
|
||||
super.init(annotation: annotation, reuseIdentifier: reuseIdentifier)
|
||||
setUpSubviews()
|
||||
}
|
||||
|
||||
required init?(coder: NSCoder) {
|
||||
required public init?(coder: NSCoder) {
|
||||
fatalError("init(coder:) has not been implemented")
|
||||
}
|
||||
|
||||
open override func prepareForReuse() {
|
||||
super.prepareForReuse()
|
||||
disposeBag = DisposeBag()
|
||||
}
|
||||
|
||||
func setUpSubviews(){
|
||||
backgroundColor = .white
|
||||
frame = CGRect(x: 0, y: 0, width: auto(100), height: auto(30))
|
||||
layer.cornerRadius = auto(4)
|
||||
clearView.isUserInteractionEnabled = false
|
||||
addSubview(clearView)
|
||||
|
||||
radiusView.backgroundColor = .white(alpha: 1)
|
||||
radiusView.layer.cornerRadius = auto(4)
|
||||
radiusView.layer.masksToBounds = true
|
||||
radiusView.isUserInteractionEnabled = false
|
||||
addSubview(radiusView)
|
||||
radiusView.snp.makeConstraints { make in
|
||||
make.top.equalTo(0)
|
||||
make.centerX.equalToSuperview()
|
||||
make.width.equalTo(auto(100))
|
||||
make.height.equalTo(auto(30))
|
||||
}
|
||||
smallImageView.layer.cornerRadius = auto(5)
|
||||
smallImageView.layer.borderColor = UIColor.white.cgColor
|
||||
smallImageView.layer.borderWidth = 1
|
||||
smallImageView.backgroundColor = .hex("858585")
|
||||
clearView.addSubview(smallImageView)
|
||||
|
||||
stateImageView.isUserInteractionEnabled = false
|
||||
radiusView.addSubview(stateImageView)
|
||||
stateImageView.snp.makeConstraints { make in
|
||||
make.left.top.bottom.equalToSuperview()
|
||||
make.centerY.equalToSuperview()
|
||||
make.width.height.equalTo(auto(30))
|
||||
}
|
||||
titleLabel.textAlignment = .center
|
||||
clearView.addSubview(titleLabel)
|
||||
|
||||
stateLabel.textAlignment = .center
|
||||
stateLabel.isUserInteractionEnabled = false
|
||||
stateImageView.addSubview(stateLabel)
|
||||
stateLabel.snp.makeConstraints { make in
|
||||
middleImageView.layer.cornerRadius = auto(11)
|
||||
middleImageView.layer.borderColor = UIColor.white.cgColor
|
||||
middleImageView.layer.borderWidth = 1
|
||||
middleImageView.backgroundColor = .hex("858585")
|
||||
clearView.addSubview(middleImageView)
|
||||
middleImageView.addSubview(middleStateLabel)
|
||||
middleWorkingCountlabel.backgroundColor = .hex("F93D3D")
|
||||
middleWorkingCountlabel.textAlignment = .center
|
||||
middleWorkingCountlabel.layer.borderColor = UIColor.white.cgColor
|
||||
middleWorkingCountlabel.layer.borderWidth = 1
|
||||
middleImageView.addSubview(middleWorkingCountlabel)
|
||||
|
||||
clearView.addSubview(bigImageView)
|
||||
bigImageView.addSubview(bigStateLabel)
|
||||
bigWorkingCountlabel.backgroundColor = .hex("F93D3D")
|
||||
bigWorkingCountlabel.textAlignment = .center
|
||||
bigWorkingCountlabel.layer.borderColor = UIColor.white.cgColor
|
||||
bigWorkingCountlabel.layer.borderWidth = 1
|
||||
bigImageView.addSubview(bigWorkingCountlabel)
|
||||
|
||||
clearView.snp.makeConstraints { make in
|
||||
make.edges.equalToSuperview()
|
||||
}
|
||||
|
||||
nameLabel.textAlignment = .center
|
||||
nameLabel.numberOfLines = 0
|
||||
nameLabel.isUserInteractionEnabled = false
|
||||
radiusView.addSubview(nameLabel)
|
||||
nameLabel.snp.makeConstraints { make in
|
||||
make.left.equalTo(stateImageView.snp.right)
|
||||
make.right.equalToSuperview()
|
||||
make.centerY.equalTo(stateImageView.snp.centerY)
|
||||
}
|
||||
|
||||
verticalView.isUserInteractionEnabled = false
|
||||
addSubview(verticalView)
|
||||
verticalView.snp.makeConstraints { make in
|
||||
make.centerX.equalToSuperview()
|
||||
make.top.equalTo(radiusView.snp.bottom)
|
||||
make.width.equalTo(auto(2.5))
|
||||
make.height.equalTo(auto(15))
|
||||
}
|
||||
|
||||
pointView.isUserInteractionEnabled = false
|
||||
pointView.layer.cornerRadius = auto(5)
|
||||
pointView.layer.borderColor = UIColor.white.cgColor
|
||||
pointView.layer.borderWidth = auto(2)
|
||||
addSubview(pointView)
|
||||
pointView.snp.makeConstraints { make in
|
||||
make.centerX.equalTo(verticalView.snp.centerX)
|
||||
make.top.equalTo(verticalView.snp.bottom).offset(0)
|
||||
smallImageView.snp.makeConstraints { make in
|
||||
make.centerX.centerY.equalToSuperview()
|
||||
make.width.height.equalTo(auto(10))
|
||||
}
|
||||
|
||||
}
|
||||
titleLabel.snp.makeConstraints { make in
|
||||
make.bottom.left.right.equalToSuperview()
|
||||
}
|
||||
|
||||
middleImageView.snp.makeConstraints { make in
|
||||
make.centerX.equalToSuperview()
|
||||
make.top.equalToSuperview().priority(.high)
|
||||
make.width.height.equalTo(auto(22))
|
||||
make.bottom.equalTo(titleLabel.snp.top)
|
||||
}
|
||||
|
||||
middleStateLabel.snp.makeConstraints { make in
|
||||
make.centerX.centerY.equalTo(middleImageView)
|
||||
}
|
||||
|
||||
middleWorkingCountlabel.layer.cornerRadius = auto(5)
|
||||
middleWorkingCountlabel.layer.masksToBounds = true
|
||||
middleWorkingCountlabel.isHidden = true
|
||||
middleWorkingCountlabel.snp.makeConstraints { make in
|
||||
make.top.equalToSuperview().offset(-auto(5))
|
||||
make.right.equalToSuperview().offset(auto(5))
|
||||
make.width.height.equalTo(10)
|
||||
}
|
||||
|
||||
bigImageView.snp.makeConstraints { make in
|
||||
make.centerX.equalToSuperview()
|
||||
make.top.equalToSuperview().priority(.high)
|
||||
make.width.equalTo(auto(42))
|
||||
make.height.equalTo(auto(50))
|
||||
make.bottom.equalTo(titleLabel.snp.top)
|
||||
}
|
||||
|
||||
bigStateLabel.snp.makeConstraints { make in
|
||||
make.centerX.equalToSuperview()
|
||||
make.centerY.equalToSuperview().offset(-auto(4))
|
||||
}
|
||||
|
||||
bigWorkingCountlabel.layer.cornerRadius = auto(7.5)
|
||||
bigWorkingCountlabel.layer.masksToBounds = true
|
||||
bigWorkingCountlabel.isHidden = true
|
||||
bigWorkingCountlabel.snp.makeConstraints { make in
|
||||
make.top.equalToSuperview().offset(-auto(2.5))
|
||||
make.right.equalToSuperview().offset(auto(2.5))
|
||||
make.width.height.equalTo(15)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -705,9 +705,9 @@ extension VehicleMonitoringController {
|
||||
func showMapCenter(with vehicleModel: VehicleMonitorListDataModel.ItemModel) {
|
||||
/// 将镜头设置为选中的item,需要修改锚点
|
||||
if let lat = vehicleModel.lat,let lon = vehicleModel.lon {
|
||||
vehicleMonitoringView.maMapView.maMapView.setCenter(CLLocationCoordinate2D(latitude: Double(lat) ?? 0, longitude: Double(lon) ?? 0), animated: true)
|
||||
|
||||
modifyMapAnchor()
|
||||
|
||||
vehicleMonitoringView.maMapView.maMapView.setCenter(CLLocationCoordinate2D(latitude: Double(lat) ?? 0, longitude: Double(lon) ?? 0), animated: true)
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1114,20 +1114,6 @@ open class VehicleMonitoringPointAnnotation : MAAnnotationView {
|
||||
}
|
||||
}
|
||||
|
||||
extension MAPointAnnotation {
|
||||
struct DDMAPointAnnotationKey {
|
||||
static var vehicleIdKey : Int = 0
|
||||
}
|
||||
public var vehicleId : Int? {
|
||||
get {
|
||||
return objc_getAssociatedObject(self, &DDMAPointAnnotationKey.vehicleIdKey) as? Int
|
||||
}
|
||||
set {
|
||||
objc_setAssociatedObject(self, &DDMAPointAnnotationKey.vehicleIdKey, newValue, .OBJC_ASSOCIATION_RETAIN_NONATOMIC)
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class VehicleMonitoringListDetailView : DDView, JXCategoryListContainerViewDelegate, JXCategoryViewDelegate {
|
||||
func number(ofListsInlistContainerView listContainerView: JXCategoryListContainerView!) -> Int {
|
||||
return taskModels.count
|
||||
|
||||
@@ -5,17 +5,17 @@
|
||||
|
||||
|
||||
|
||||
<testcase classname="fastlane.lanes" name="0: default_platform" time="0.00017">
|
||||
<testcase classname="fastlane.lanes" name="0: default_platform" time="0.000171">
|
||||
|
||||
</testcase>
|
||||
|
||||
|
||||
<testcase classname="fastlane.lanes" name="1: gym" time="64.032872">
|
||||
<testcase classname="fastlane.lanes" name="1: gym" time="83.829695">
|
||||
|
||||
</testcase>
|
||||
|
||||
|
||||
<testcase classname="fastlane.lanes" name="2: pgyer" time="13.002704">
|
||||
<testcase classname="fastlane.lanes" name="2: pgyer" time="39.28511">
|
||||
|
||||
</testcase>
|
||||
|
||||
|
||||
Reference in New Issue
Block a user