调度页修改
This commit is contained in:
@@ -38,6 +38,7 @@
|
|||||||
7940277A2B3BD46B00EC52D4 /* VehicleMonitoringConfigView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794027792B3BD46B00EC52D4 /* VehicleMonitoringConfigView.swift */; };
|
7940277A2B3BD46B00EC52D4 /* VehicleMonitoringConfigView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794027792B3BD46B00EC52D4 /* VehicleMonitoringConfigView.swift */; };
|
||||||
7940277C2B3E9ECB00EC52D4 /* ConditionalSearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7940277B2B3E9ECB00EC52D4 /* ConditionalSearchView.swift */; };
|
7940277C2B3E9ECB00EC52D4 /* ConditionalSearchView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7940277B2B3E9ECB00EC52D4 /* ConditionalSearchView.swift */; };
|
||||||
7940277E2B43B9B600EC52D4 /* ConditionalSearchTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7940277D2B43B9B600EC52D4 /* ConditionalSearchTool.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 */; };
|
794FBB0D2A8F040D00D57BB8 /* HistoryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB0C2A8F040D00D57BB8 /* HistoryController.swift */; };
|
||||||
794FBB142A8F045F00D57BB8 /* MineController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB132A8F045F00D57BB8 /* MineController.swift */; };
|
794FBB142A8F045F00D57BB8 /* MineController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB132A8F045F00D57BB8 /* MineController.swift */; };
|
||||||
794FBB162A8F1A3300D57BB8 /* RescuePhotoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB152A8F1A3300D57BB8 /* RescuePhotoController.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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
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>"; };
|
794FBB152A8F1A3300D57BB8 /* RescuePhotoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RescuePhotoController.swift; sourceTree = "<group>"; };
|
||||||
@@ -519,6 +521,7 @@
|
|||||||
79E434242AA1919400AEB16C /* CommonAlertView.swift */,
|
79E434242AA1919400AEB16C /* CommonAlertView.swift */,
|
||||||
7940277B2B3E9ECB00EC52D4 /* ConditionalSearchView.swift */,
|
7940277B2B3E9ECB00EC52D4 /* ConditionalSearchView.swift */,
|
||||||
7940277D2B43B9B600EC52D4 /* ConditionalSearchTool.swift */,
|
7940277D2B43B9B600EC52D4 /* ConditionalSearchTool.swift */,
|
||||||
|
794027832B4E330900EC52D4 /* MapPointAnnotationExtension.swift */,
|
||||||
);
|
);
|
||||||
path = View;
|
path = View;
|
||||||
sourceTree = "<group>";
|
sourceTree = "<group>";
|
||||||
@@ -968,6 +971,7 @@
|
|||||||
files = (
|
files = (
|
||||||
794FBB232A93519800D57BB8 /* AppUpdateTool.swift in Sources */,
|
794FBB232A93519800D57BB8 /* AppUpdateTool.swift in Sources */,
|
||||||
79CECC242A8B16D400B95D8B /* VehicleMonitoringListController.swift in Sources */,
|
79CECC242A8B16D400B95D8B /* VehicleMonitoringListController.swift in Sources */,
|
||||||
|
794027842B4E330900EC52D4 /* MapPointAnnotationExtension.swift in Sources */,
|
||||||
79E434282AA1EFA500AEB16C /* SystemCall.swift in Sources */,
|
79E434282AA1EFA500AEB16C /* SystemCall.swift in Sources */,
|
||||||
79B966382AB0651C00308A8D /* VehicleLogoutView.swift in Sources */,
|
79B966382AB0651C00308A8D /* VehicleLogoutView.swift in Sources */,
|
||||||
791887BD2A83952D007EA0C1 /* Entry.swift in Sources */,
|
791887BD2A83952D007EA0C1 /* Entry.swift in Sources */,
|
||||||
|
|||||||
Binary file not shown.
@@ -221,8 +221,8 @@
|
|||||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "361"
|
startingLineNumber = "484"
|
||||||
endingLineNumber = "361"
|
endingLineNumber = "484"
|
||||||
landmarkName = "dd_mapView(_:didAnnotationViewTapped:)"
|
landmarkName = "dd_mapView(_:didAnnotationViewTapped:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -253,8 +253,8 @@
|
|||||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "140"
|
startingLineNumber = "92"
|
||||||
endingLineNumber = "140"
|
endingLineNumber = "92"
|
||||||
landmarkName = "addActions()"
|
landmarkName = "addActions()"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
<Locations>
|
<Locations>
|
||||||
@@ -316,8 +316,8 @@
|
|||||||
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
filePath = "OrderScheduling/Rescue/ViewController/DispatchOrderController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "158"
|
startingLineNumber = "110"
|
||||||
endingLineNumber = "158"
|
endingLineNumber = "110"
|
||||||
landmarkName = "addActions()"
|
landmarkName = "addActions()"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
<Locations>
|
<Locations>
|
||||||
@@ -5063,8 +5063,8 @@
|
|||||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1297"
|
startingLineNumber = "1283"
|
||||||
endingLineNumber = "1297"
|
endingLineNumber = "1283"
|
||||||
landmarkName = "init(taskModels:)"
|
landmarkName = "init(taskModels:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
<Locations>
|
<Locations>
|
||||||
@@ -5111,8 +5111,8 @@
|
|||||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1309"
|
startingLineNumber = "1295"
|
||||||
endingLineNumber = "1309"
|
endingLineNumber = "1295"
|
||||||
landmarkName = "init(taskModels:)"
|
landmarkName = "init(taskModels:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
<Locations>
|
<Locations>
|
||||||
@@ -5159,8 +5159,8 @@
|
|||||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1311"
|
startingLineNumber = "1297"
|
||||||
endingLineNumber = "1311"
|
endingLineNumber = "1297"
|
||||||
landmarkName = "init(taskModels:)"
|
landmarkName = "init(taskModels:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
<Locations>
|
<Locations>
|
||||||
@@ -5254,8 +5254,8 @@
|
|||||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1138"
|
startingLineNumber = "1124"
|
||||||
endingLineNumber = "1138"
|
endingLineNumber = "1124"
|
||||||
landmarkName = "listContainerView(_:initListFor:)"
|
landmarkName = "listContainerView(_:initListFor:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -5270,8 +5270,8 @@
|
|||||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1441"
|
startingLineNumber = "1427"
|
||||||
endingLineNumber = "1441"
|
endingLineNumber = "1427"
|
||||||
landmarkName = "updateData(taskModel:)"
|
landmarkName = "updateData(taskModel:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -5302,8 +5302,8 @@
|
|||||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1300"
|
startingLineNumber = "1286"
|
||||||
endingLineNumber = "1300"
|
endingLineNumber = "1286"
|
||||||
landmarkName = "init(taskModels:)"
|
landmarkName = "init(taskModels:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -5318,8 +5318,8 @@
|
|||||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1313"
|
startingLineNumber = "1299"
|
||||||
endingLineNumber = "1313"
|
endingLineNumber = "1299"
|
||||||
landmarkName = "init(taskModels:)"
|
landmarkName = "init(taskModels:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -5334,8 +5334,8 @@
|
|||||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1143"
|
startingLineNumber = "1129"
|
||||||
endingLineNumber = "1143"
|
endingLineNumber = "1129"
|
||||||
landmarkName = "categoryView(_:didSelectedItemAt:)"
|
landmarkName = "categoryView(_:didSelectedItemAt:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -5350,8 +5350,8 @@
|
|||||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1312"
|
startingLineNumber = "1298"
|
||||||
endingLineNumber = "1312"
|
endingLineNumber = "1298"
|
||||||
landmarkName = "init(taskModels:)"
|
landmarkName = "init(taskModels:)"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -5542,8 +5542,8 @@
|
|||||||
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
|
||||||
startingColumnNumber = "9223372036854775807"
|
startingColumnNumber = "9223372036854775807"
|
||||||
endingColumnNumber = "9223372036854775807"
|
endingColumnNumber = "9223372036854775807"
|
||||||
startingLineNumber = "1447"
|
startingLineNumber = "1433"
|
||||||
endingLineNumber = "1447"
|
endingLineNumber = "1433"
|
||||||
landmarkName = "listView()"
|
landmarkName = "listView()"
|
||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
@@ -6026,5 +6026,293 @@
|
|||||||
landmarkType = "7">
|
landmarkType = "7">
|
||||||
</BreakpointContent>
|
</BreakpointContent>
|
||||||
</BreakpointProxy>
|
</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>
|
</Breakpoints>
|
||||||
</Bucket>
|
</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 driverPhone : String?
|
||||||
var lon : String?
|
var lon : String?
|
||||||
var lat : String?
|
var lat : String?
|
||||||
var vehicleStatus : VehicleStatusModel
|
var vehicleStatus : VehicleStatusModel?
|
||||||
var onlineStatus : OnlineStatusModel
|
var onlineStatus : OnlineStatusModel?
|
||||||
var distance : Double?
|
var distance : Double?
|
||||||
|
var vehicleTypeStr : String?
|
||||||
|
var zIndex : Int? = 0
|
||||||
|
var isSelected : Bool? = false
|
||||||
}
|
}
|
||||||
|
|
||||||
class ToDoMessageCountDataModel : Decodable {
|
class ToDoMessageCountDataModel : Decodable {
|
||||||
|
|||||||
@@ -12,6 +12,8 @@ import RxSwift
|
|||||||
import RxRelay
|
import RxRelay
|
||||||
import DDAutoUIKit_Private
|
import DDAutoUIKit_Private
|
||||||
import DDMAMapKit_Private
|
import DDMAMapKit_Private
|
||||||
|
import DDUIGestureRecognizer
|
||||||
|
import DDUtilsSwiftKit_Private
|
||||||
|
|
||||||
fileprivate let dispatchPannelViewHeight = auto(300)
|
fileprivate let dispatchPannelViewHeight = auto(300)
|
||||||
fileprivate let dispatchPannelViewTopInset = auto(45)
|
fileprivate let dispatchPannelViewTopInset = auto(45)
|
||||||
@@ -29,36 +31,6 @@ extension DispatchOrderController {
|
|||||||
dispatchOrderView.maMapView.maMapView.addAnnotation(serviceAddressPointAnnotation)
|
dispatchOrderView.maMapView.maMapView.addAnnotation(serviceAddressPointAnnotation)
|
||||||
dispatchOrderView.maMapView.maMapView.setCenter(serviceAddressCoordinate, animated: true)
|
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
|
dispatchOrderView.dispatchPannelView.onlineButton.rx.tap
|
||||||
.observe(on: MainScheduler.instance)
|
.observe(on: MainScheduler.instance)
|
||||||
.subscribe(onNext: {[weak self] _ in
|
.subscribe(onNext: {[weak self] _ in
|
||||||
@@ -69,16 +41,6 @@ extension DispatchOrderController {
|
|||||||
self?.dispatchOrderView.dispatchPannelView.tableView.isHidden = false
|
self?.dispatchOrderView.dispatchPannelView.tableView.isHidden = false
|
||||||
self?.dispatchOrderView.dispatchPannelView.offlineView.isHidden = true
|
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)
|
.disposed(by: disposeBag)
|
||||||
|
|
||||||
@@ -92,16 +54,6 @@ extension DispatchOrderController {
|
|||||||
self?.dispatchOrderView.dispatchPannelView.tableView.isHidden = true
|
self?.dispatchOrderView.dispatchPannelView.tableView.isHidden = true
|
||||||
self?.dispatchOrderView.dispatchPannelView.offlineView.isHidden = false
|
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)
|
.disposed(by: disposeBag)
|
||||||
|
|
||||||
@@ -167,8 +119,10 @@ extension DispatchOrderController {
|
|||||||
// 重新计算数组
|
// 重新计算数组
|
||||||
self?.resultArr.removeAll()
|
self?.resultArr.removeAll()
|
||||||
self?.resultArr.append(contentsOf: array)
|
self?.resultArr.append(contentsOf: array)
|
||||||
self?.dispatchOrderView.maMapView.maMapView.removeAnnotations(self?.vehicleAnnotions)
|
self?.dispatchOrderView.maMapView.maMapView.removeAnnotations(self?.dispatchOrderView.maMapView.maMapView.annotations)
|
||||||
self?.vehicleAnnotions.removeAll()
|
|
||||||
|
self?.isShowSmallAnnotation = false
|
||||||
|
self?.shouldShowSmallAnnotation = true
|
||||||
|
|
||||||
for index in 0..<array.count {
|
for index in 0..<array.count {
|
||||||
let model = array[index]
|
let model = array[index]
|
||||||
@@ -178,11 +132,12 @@ extension DispatchOrderController {
|
|||||||
pointAnnotation.coordinate = coordinate
|
pointAnnotation.coordinate = coordinate
|
||||||
pointAnnotation.tag = index
|
pointAnnotation.tag = index
|
||||||
self?.dispatchOrderView.maMapView.maMapView.addAnnotation(pointAnnotation)
|
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 {
|
if (self?.dispatchOrderView.maMapView.maMapView.annotations.count ?? 0) > 0 , let annotations = self?.dispatchOrderView.maMapView.maMapView.annotations {
|
||||||
self?.dispatchOrderView.maMapView.maMapView.showAnnotations(annotations, edgePadding:UIEdgeInsets(top: mapInsetTopSafeArea, left: 0, bottom: dispatchPannelViewHeight + mapInsetBottomSafeArea, right: 0), animated: true)
|
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()
|
self?.dispatchOrderView.dispatchPannelView.tableView.reloadData()
|
||||||
}
|
}
|
||||||
@@ -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 {
|
extension DispatchOrderController : UITableViewDelegate,UITableViewDataSource {
|
||||||
@@ -223,32 +339,71 @@ extension DispatchOrderController : UITableViewDelegate,UITableViewDataSource {
|
|||||||
cell = DispatchOrderPannelCell.init(style: .default, reuseIdentifier: "cell")
|
cell = DispatchOrderPannelCell.init(style: .default, reuseIdentifier: "cell")
|
||||||
}
|
}
|
||||||
let model = resultArr[indexPath.item]
|
let model = resultArr[indexPath.item]
|
||||||
switch model.vehicleStatus.code {
|
|
||||||
|
switch model.vehicleStatus?.code {
|
||||||
case .offLine,.lostConnection:
|
case .offLine,.lostConnection:
|
||||||
|
cell?.icon.image = UIImage(named: "vehicleMonitor_offline_cell_flag_bg")
|
||||||
cell?.stateLabel.textColor = .hex("787878")
|
cell?.stateLabel.textColor = .hex("787878")
|
||||||
cell?.name.textColor = .hex("787878")
|
cell?.name.textColor = .hex("787878")
|
||||||
cell?.phone.textColor = .hex("787878")
|
|
||||||
cell?.distance.textColor = .hex("787878")
|
cell?.distance.textColor = .hex("787878")
|
||||||
break
|
break
|
||||||
default:
|
case .onLine,.leisure:
|
||||||
|
cell?.icon.image = UIImage(named: "vehicleMonitor_empty_cell_flag_bg")
|
||||||
cell?.stateLabel.textColor = .hex("3364B7")
|
cell?.stateLabel.textColor = .hex("3364B7")
|
||||||
cell?.name.textColor = .hex("3364B7")
|
cell?.name.textColor = .hex("3364B7")
|
||||||
cell?.phone.textColor = .hex("3364B7")
|
|
||||||
cell?.distance.textColor = .hex("3364B7")
|
cell?.distance.textColor = .hex("3364B7")
|
||||||
break
|
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
|
switch model.onlineStatus?.code {
|
||||||
if model.onlineStatus.code == .lostConnection {
|
case .onLine:
|
||||||
status = status + "," + model.onlineStatus.label
|
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?.stateLabel.text = (model.vehicleName ?? "")+"/"+status
|
||||||
cell?.name.text = model.driverName
|
cell?.name.text = model.driverName
|
||||||
cell?.phone.text = model.driverPhone
|
|
||||||
if let distance = model.distance {
|
if let distance = model.distance {
|
||||||
cell?.distance.text = String(distance)+"km"
|
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
|
cell?.dispatchButton.rx.tap
|
||||||
.subscribe(onNext: {[weak self] _ in
|
.subscribe(onNext: {[weak self] _ in
|
||||||
self?.dispatchOrderRelay.accept(model)
|
self?.dispatchOrderRelay.accept(model)
|
||||||
@@ -257,49 +412,27 @@ extension DispatchOrderController : UITableViewDelegate,UITableViewDataSource {
|
|||||||
|
|
||||||
if USERP.canDealWith == true {
|
if USERP.canDealWith == true {
|
||||||
cell?.dispatchButton.isHidden = false
|
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
|
cell?.dispatchButton.snp.updateConstraints({ make in
|
||||||
make.width.equalTo(auto(50))
|
make.width.equalTo(auto(50))
|
||||||
|
make.right.equalTo(-auto(10))
|
||||||
})
|
})
|
||||||
}else{
|
}else{
|
||||||
cell?.dispatchButton.isHidden = true
|
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
|
cell?.dispatchButton.snp.updateConstraints({ make in
|
||||||
make.width.equalTo(0)
|
make.width.equalTo(0)
|
||||||
|
make.right.equalTo(0)
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
return cell!
|
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 {
|
extension DispatchOrderController : DDMAMapViewDelegate {
|
||||||
@@ -314,31 +447,21 @@ extension DispatchOrderController : DDMAMapViewDelegate {
|
|||||||
}
|
}
|
||||||
annotationView!.annotation = pointAnnotation
|
annotationView!.annotation = pointAnnotation
|
||||||
let model = resultArr[pointAnnotation.tag]
|
let model = resultArr[pointAnnotation.tag]
|
||||||
annotationView?.stateLabel.text = model.vehicleStatus.label
|
|
||||||
annotationView?.nameLabel.text = model.vehicleName
|
|
||||||
|
|
||||||
switch model.vehicleStatus.code {
|
/// 绑定车辆id到annotation
|
||||||
case .offLine,.lostConnection:
|
pointAnnotation.vehicleId = model.vehicleId
|
||||||
annotationView?.pointView.backgroundColor = .hex("787878")
|
annotationView!.annotation = pointAnnotation
|
||||||
annotationView?.verticalView.backgroundColor = .hex("787878")
|
annotationView?.zIndex = model.zIndex ?? 0
|
||||||
annotationView?.stateImageView.backgroundColor = .hex("787878")
|
|
||||||
break
|
if let annotationView, let shouldShowSmallAnnotation {
|
||||||
case .onLine,.leisure:
|
annotationViewStateConfig(annotationView: annotationView, vehicleModel: model, shouldShowSmallAnnotation: shouldShowSmallAnnotation)
|
||||||
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
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
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!
|
return annotationView!
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -358,7 +481,36 @@ extension DispatchOrderController : DDMAMapViewDelegate {
|
|||||||
|
|
||||||
public func dd_mapView(_ mapView: MAMapView, didAnnotationViewTapped view: MAAnnotationView) {
|
public func dd_mapView(_ mapView: MAMapView, didAnnotationViewTapped view: MAAnnotationView) {
|
||||||
zIndex += 1
|
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 userOrderId : Int
|
||||||
private let taskOrderId : Int
|
private let taskOrderId : Int
|
||||||
private var resultArr : [DispatchVehicleListDataModel] = []
|
private var resultArr : [DispatchVehicleListDataModel] = []
|
||||||
private var vehicleAnnotions : [MAPointAnnotation] = []
|
|
||||||
public var zIndex = 0
|
|
||||||
private let serviceAddressLat : Double
|
private let serviceAddressLat : Double
|
||||||
private let serviceAddressLon : Double
|
private let serviceAddressLon : Double
|
||||||
private let dispatchOrderRelay = ReplayRelay<DispatchVehicleListDataModel>.create(bufferSize: 1)
|
private let dispatchOrderRelay = ReplayRelay<DispatchVehicleListDataModel>.create(bufferSize: 1)
|
||||||
public var dispatchCompletionHandler: ((Int) -> Void)?
|
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) {
|
public init(userOrderId:Int,taskOrderId:Int,serviceAddressLat:Double,serviceAddressLon:Double) {
|
||||||
self.userOrderId = userOrderId
|
self.userOrderId = userOrderId
|
||||||
self.taskOrderId = taskOrderId
|
self.taskOrderId = taskOrderId
|
||||||
@@ -402,9 +563,17 @@ open class DispatchOrderController : ZDViewController {
|
|||||||
bottomView.backgroundColor = .white
|
bottomView.backgroundColor = .white
|
||||||
view.addSubview(bottomView)
|
view.addSubview(bottomView)
|
||||||
|
|
||||||
|
dispatchOrderView.maMapView.maMapView.isRotateCameraEnabled = false
|
||||||
dispatchOrderView.maMapView.delegate = self
|
dispatchOrderView.maMapView.delegate = self
|
||||||
dispatchOrderView.dispatchPannelView.tableView.delegate = self
|
dispatchOrderView.dispatchPannelView.tableView.delegate = self
|
||||||
dispatchOrderView.dispatchPannelView.tableView.dataSource = 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() {
|
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 {
|
open override var preferredStatusBarStyle: UIStatusBarStyle {
|
||||||
return .darkContent
|
return .darkContent
|
||||||
}
|
}
|
||||||
@@ -426,9 +607,12 @@ open class DispatchOrderController : ZDViewController {
|
|||||||
|
|
||||||
open class DispatchOrderPannelCell : DDTableViewCell {
|
open class DispatchOrderPannelCell : DDTableViewCell {
|
||||||
private let radiusView : DDView
|
private let radiusView : DDView
|
||||||
|
public let icon : DDImageView
|
||||||
|
public let iconStateLabel : DDLabel
|
||||||
public let stateLabel : DDLabel
|
public let stateLabel : DDLabel
|
||||||
|
public let nameView : DDView
|
||||||
public let name : DDLabel
|
public let name : DDLabel
|
||||||
public let phone : DDLabel
|
public let phoneButton : DDButton
|
||||||
public let distance : DDLabel
|
public let distance : DDLabel
|
||||||
public let dispatchButton : DDButton
|
public let dispatchButton : DDButton
|
||||||
public var dispatchLayer : CAGradientLayer = {
|
public var dispatchLayer : CAGradientLayer = {
|
||||||
@@ -445,9 +629,12 @@ open class DispatchOrderPannelCell : DDTableViewCell {
|
|||||||
|
|
||||||
public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
|
public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
|
||||||
radiusView = DDView()
|
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"))
|
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"))
|
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"))
|
distance = DDLabel.dd_init(withText: "", font: .mediumFont(auto(13)), textColor: .hex("3364B7"))
|
||||||
dispatchButton = DDButton.dd_initCustom()
|
dispatchButton = DDButton.dd_initCustom()
|
||||||
super.init(style: style, reuseIdentifier: reuseIdentifier)
|
super.init(style: style, reuseIdentifier: reuseIdentifier)
|
||||||
@@ -456,11 +643,18 @@ open class DispatchOrderPannelCell : DDTableViewCell {
|
|||||||
// stateLabel.lineBreakMode = .byTruncatingMiddle
|
// stateLabel.lineBreakMode = .byTruncatingMiddle
|
||||||
radiusView.backgroundColor = .white
|
radiusView.backgroundColor = .white
|
||||||
contentView.addSubview(radiusView)
|
contentView.addSubview(radiusView)
|
||||||
|
radiusView.addSubview(icon)
|
||||||
|
iconStateLabel.textAlignment = .center
|
||||||
|
icon.addSubview(iconStateLabel)
|
||||||
stateLabel.numberOfLines = 0
|
stateLabel.numberOfLines = 0
|
||||||
radiusView.addSubview(stateLabel)
|
radiusView.addSubview(stateLabel)
|
||||||
|
radiusView.addSubview(nameView)
|
||||||
name.numberOfLines = 0
|
name.numberOfLines = 0
|
||||||
radiusView.addSubview(name)
|
nameView.isUserInteractionEnabled = true
|
||||||
radiusView.addSubview(phone)
|
nameView.addSubview(name)
|
||||||
|
phoneButton.setImage(UIImage(named: "vehicleMonitor_call_cell"), for: .normal)
|
||||||
|
phoneButton.isUserInteractionEnabled = true
|
||||||
|
nameView.addSubview(phoneButton)
|
||||||
distance.numberOfLines = 0
|
distance.numberOfLines = 0
|
||||||
radiusView.addSubview(distance)
|
radiusView.addSubview(distance)
|
||||||
dispatchButton.layer.cornerRadius = auto(4)
|
dispatchButton.layer.cornerRadius = auto(4)
|
||||||
@@ -475,26 +669,40 @@ open class DispatchOrderPannelCell : DDTableViewCell {
|
|||||||
make.height.greaterThanOrEqualTo(auto(44)).priority(.high)
|
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
|
stateLabel.snp.makeConstraints { make in
|
||||||
make.left.equalTo(auto(10))
|
make.left.equalTo(icon.snp.right).offset(auto(5))
|
||||||
make.centerY.equalToSuperview()
|
make.centerY.equalToSuperview()
|
||||||
make.width.equalTo(auto(95))
|
make.width.equalTo(auto(95))
|
||||||
}
|
}
|
||||||
|
|
||||||
name.snp.makeConstraints { make in
|
nameView.snp.makeConstraints { make in
|
||||||
make.left.equalTo(stateLabel.snp.right).offset(auto(5))
|
make.centerX.equalToSuperview()
|
||||||
make.centerY.equalToSuperview()
|
make.centerY.equalToSuperview()
|
||||||
make.width.equalTo(auto(40))
|
make.height.greaterThanOrEqualTo(phoneButton)
|
||||||
}
|
}
|
||||||
|
|
||||||
phone.snp.makeConstraints { make in
|
name.snp.makeConstraints { make in
|
||||||
make.left.equalTo(name.snp.right).offset(auto(5))
|
make.left.equalToSuperview()
|
||||||
|
make.centerY.equalToSuperview()
|
||||||
|
}
|
||||||
|
|
||||||
|
phoneButton.snp.makeConstraints { make in
|
||||||
|
make.left.equalTo(name.snp.right)
|
||||||
|
make.right.equalToSuperview()
|
||||||
make.centerY.equalToSuperview()
|
make.centerY.equalToSuperview()
|
||||||
make.width.equalTo(auto(100))
|
|
||||||
}
|
}
|
||||||
|
|
||||||
distance.snp.makeConstraints { make in
|
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.centerY.equalToSuperview()
|
||||||
make.width.equalTo(auto(60))
|
make.width.equalTo(auto(60))
|
||||||
}
|
}
|
||||||
@@ -524,31 +732,18 @@ open class DispatchOrderPannelCell : DDTableViewCell {
|
|||||||
open class DispatchOrderView : DDView {
|
open class DispatchOrderView : DDView {
|
||||||
public let dispatchPannelView : DispatchOrderPannelView
|
public let dispatchPannelView : DispatchOrderPannelView
|
||||||
public let maMapView : DDMAMapView
|
public let maMapView : DDMAMapView
|
||||||
public let coverView : DDView
|
|
||||||
public let tapGes : UITapGestureRecognizer
|
|
||||||
public let panGes : UIPanGestureRecognizer
|
|
||||||
public override init(frame: CGRect) {
|
public override init(frame: CGRect) {
|
||||||
dispatchPannelView = DispatchOrderPannelView()
|
dispatchPannelView = DispatchOrderPannelView()
|
||||||
maMapView = DDMAMapView()
|
maMapView = DDMAMapView()
|
||||||
coverView = DDView()
|
|
||||||
tapGes = UITapGestureRecognizer()
|
|
||||||
panGes = UIPanGestureRecognizer()
|
|
||||||
super.init(frame: frame)
|
super.init(frame: frame)
|
||||||
|
|
||||||
addSubview(maMapView)
|
addSubview(maMapView)
|
||||||
coverView.addGestureRecognizer(tapGes)
|
|
||||||
coverView.addGestureRecognizer(panGes)
|
|
||||||
addSubview(coverView)
|
|
||||||
addSubview(dispatchPannelView)
|
addSubview(dispatchPannelView)
|
||||||
|
|
||||||
maMapView.snp.makeConstraints { make in
|
maMapView.snp.makeConstraints { make in
|
||||||
make.edges.equalToSuperview()
|
make.edges.equalToSuperview()
|
||||||
}
|
}
|
||||||
|
|
||||||
coverView.snp.makeConstraints { make in
|
|
||||||
make.edges.equalToSuperview()
|
|
||||||
}
|
|
||||||
|
|
||||||
dispatchPannelView.snp.makeConstraints { make in
|
dispatchPannelView.snp.makeConstraints { make in
|
||||||
make.bottom.equalToSuperview()
|
make.bottom.equalToSuperview()
|
||||||
make.left.right.equalToSuperview()
|
make.left.right.equalToSuperview()
|
||||||
@@ -613,12 +808,12 @@ open class DispatchOrderPannelView : DDView {
|
|||||||
tapBackgroundView.snp.makeConstraints { make in
|
tapBackgroundView.snp.makeConstraints { make in
|
||||||
make.left.right.equalToSuperview()
|
make.left.right.equalToSuperview()
|
||||||
make.top.equalToSuperview().offset(-auto(20))
|
make.top.equalToSuperview().offset(-auto(20))
|
||||||
make.height.equalTo(auto(65))
|
make.height.equalTo(dispatchPannelViewTopInset + auto(20))
|
||||||
}
|
}
|
||||||
|
|
||||||
onlineButton.snp.makeConstraints { make in
|
onlineButton.snp.makeConstraints { make in
|
||||||
make.top.equalToSuperview()
|
make.top.equalToSuperview()
|
||||||
make.height.equalTo(auto(45))
|
make.height.equalTo(dispatchPannelViewTopInset)
|
||||||
make.width.equalToSuperview().multipliedBy(0.5)
|
make.width.equalToSuperview().multipliedBy(0.5)
|
||||||
make.left.equalToSuperview()
|
make.left.equalToSuperview()
|
||||||
}
|
}
|
||||||
@@ -626,7 +821,7 @@ open class DispatchOrderPannelView : DDView {
|
|||||||
offlineButton.snp.makeConstraints { make in
|
offlineButton.snp.makeConstraints { make in
|
||||||
make.top.equalToSuperview()
|
make.top.equalToSuperview()
|
||||||
make.right.equalToSuperview()
|
make.right.equalToSuperview()
|
||||||
make.height.equalTo(auto(45))
|
make.height.equalTo(dispatchPannelViewTopInset)
|
||||||
make.width.equalToSuperview().multipliedBy(0.5)
|
make.width.equalToSuperview().multipliedBy(0.5)
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -794,91 +989,127 @@ class DispatchMapSericeAddressPointAnnotation : MAAnnotationView {
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
class DispatchMapStatePointAnnotation : MAAnnotationView {
|
open class DispatchMapStatePointAnnotation : MAAnnotationView {
|
||||||
public let radiusView : DDView
|
public let clearView : DDView
|
||||||
public let stateImageView : DDImageView
|
public var disposeBag : DisposeBag
|
||||||
public let stateLabel : DDLabel
|
public var smallImageView : DDImageView
|
||||||
public let nameLabel : DDLabel
|
public var middleImageView : DDImageView
|
||||||
public let verticalView : UIView
|
public var bigImageView : DDImageView
|
||||||
public let pointView : UIView
|
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!) {
|
override init!(annotation: MAAnnotation!, reuseIdentifier: String!) {
|
||||||
radiusView = DDView.init()
|
clearView = DDView.init()
|
||||||
stateImageView = DDImageView.init()
|
disposeBag = DisposeBag()
|
||||||
stateLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(10)), textColor: .white(alpha: 1.0))
|
smallImageView = DDImageView()
|
||||||
nameLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("#2C395F"))
|
middleImageView = DDImageView()
|
||||||
verticalView = UIView.init()
|
bigImageView = DDImageView()
|
||||||
pointView = UIView.init()
|
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)
|
super.init(annotation: annotation, reuseIdentifier: reuseIdentifier)
|
||||||
setUpSubviews()
|
setUpSubviews()
|
||||||
}
|
}
|
||||||
|
|
||||||
required init?(coder: NSCoder) {
|
required public init?(coder: NSCoder) {
|
||||||
fatalError("init(coder:) has not been implemented")
|
fatalError("init(coder:) has not been implemented")
|
||||||
}
|
}
|
||||||
|
|
||||||
|
open override func prepareForReuse() {
|
||||||
|
super.prepareForReuse()
|
||||||
|
disposeBag = DisposeBag()
|
||||||
|
}
|
||||||
|
|
||||||
func setUpSubviews(){
|
func setUpSubviews(){
|
||||||
backgroundColor = .white
|
clearView.isUserInteractionEnabled = false
|
||||||
frame = CGRect(x: 0, y: 0, width: auto(100), height: auto(30))
|
addSubview(clearView)
|
||||||
layer.cornerRadius = auto(4)
|
|
||||||
|
|
||||||
radiusView.backgroundColor = .white(alpha: 1)
|
smallImageView.layer.cornerRadius = auto(5)
|
||||||
radiusView.layer.cornerRadius = auto(4)
|
smallImageView.layer.borderColor = UIColor.white.cgColor
|
||||||
radiusView.layer.masksToBounds = true
|
smallImageView.layer.borderWidth = 1
|
||||||
radiusView.isUserInteractionEnabled = false
|
smallImageView.backgroundColor = .hex("858585")
|
||||||
addSubview(radiusView)
|
clearView.addSubview(smallImageView)
|
||||||
radiusView.snp.makeConstraints { make in
|
|
||||||
make.top.equalTo(0)
|
|
||||||
make.centerX.equalToSuperview()
|
|
||||||
make.width.equalTo(auto(100))
|
|
||||||
make.height.equalTo(auto(30))
|
|
||||||
}
|
|
||||||
|
|
||||||
stateImageView.isUserInteractionEnabled = false
|
titleLabel.textAlignment = .center
|
||||||
radiusView.addSubview(stateImageView)
|
clearView.addSubview(titleLabel)
|
||||||
stateImageView.snp.makeConstraints { make in
|
|
||||||
make.left.top.bottom.equalToSuperview()
|
|
||||||
make.centerY.equalToSuperview()
|
|
||||||
make.width.height.equalTo(auto(30))
|
|
||||||
}
|
|
||||||
|
|
||||||
stateLabel.textAlignment = .center
|
middleImageView.layer.cornerRadius = auto(11)
|
||||||
stateLabel.isUserInteractionEnabled = false
|
middleImageView.layer.borderColor = UIColor.white.cgColor
|
||||||
stateImageView.addSubview(stateLabel)
|
middleImageView.layer.borderWidth = 1
|
||||||
stateLabel.snp.makeConstraints { make in
|
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()
|
make.edges.equalToSuperview()
|
||||||
}
|
}
|
||||||
|
|
||||||
nameLabel.textAlignment = .center
|
smallImageView.snp.makeConstraints { make in
|
||||||
nameLabel.numberOfLines = 0
|
make.centerX.centerY.equalToSuperview()
|
||||||
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)
|
|
||||||
make.width.height.equalTo(auto(10))
|
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) {
|
func showMapCenter(with vehicleModel: VehicleMonitorListDataModel.ItemModel) {
|
||||||
/// 将镜头设置为选中的item,需要修改锚点
|
/// 将镜头设置为选中的item,需要修改锚点
|
||||||
if let lat = vehicleModel.lat,let lon = vehicleModel.lon {
|
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()
|
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 {
|
class VehicleMonitoringListDetailView : DDView, JXCategoryListContainerViewDelegate, JXCategoryViewDelegate {
|
||||||
func number(ofListsInlistContainerView listContainerView: JXCategoryListContainerView!) -> Int {
|
func number(ofListsInlistContainerView listContainerView: JXCategoryListContainerView!) -> Int {
|
||||||
return taskModels.count
|
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>
|
||||||
|
|
||||||
|
|
||||||
<testcase classname="fastlane.lanes" name="1: gym" time="64.032872">
|
<testcase classname="fastlane.lanes" name="1: gym" time="83.829695">
|
||||||
|
|
||||||
</testcase>
|
</testcase>
|
||||||
|
|
||||||
|
|
||||||
<testcase classname="fastlane.lanes" name="2: pgyer" time="13.002704">
|
<testcase classname="fastlane.lanes" name="2: pgyer" time="39.28511">
|
||||||
|
|
||||||
</testcase>
|
</testcase>
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user