调度页修改

This commit is contained in:
DDIsFriend
2024-01-10 15:05:58 +08:00
parent 5dfbdef91b
commit d7108d3367
8 changed files with 798 additions and 263 deletions

View File

@@ -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 */,

View File

@@ -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) -&gt; ()"
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) -&gt; ()"
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&lt;OrderScheduling.DispatchVehicleListDataModel&gt;, selectIndex: Swift.Int, mapView: __C.MAMapView) -&gt; ()"
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&lt;OrderScheduling.DispatchVehicleListDataModel&gt;, selectIndex: Swift.Int, mapView: __C.MAMapView) -&gt; ()"
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>

View File

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

View File

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

View File

@@ -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,12 +132,13 @@ 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 {
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.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()
} }
}else{ }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()
/// mapModelvehicleId
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 { /// idannotation
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)
}
} }
} }

View File

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

View File

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