新版车辆监控

This commit is contained in:
DDIsFriend
2023-12-26 17:51:57 +08:00
parent 652f3145a8
commit 5746a6ed72
51 changed files with 8986 additions and 8025 deletions

View File

@@ -512,118 +512,6 @@
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "F856B659-33A4-413D-9CEE-CE923610FAED"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "30"
endingLineNumber = "30"
landmarkName = "tableView(_:cellForRowAt:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "0B656C95-B53D-449C-BA29-EF978D84C5C1"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "92"
endingLineNumber = "92"
landmarkName = "tableView(_:cellForRowAt:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "BD6953AE-C500-4E77-A0D3-4309EAC7AA84"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "247"
endingLineNumber = "247"
landmarkName = "dd_mapView(_:viewFor:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "BCCAE3D0-9342-4A8F-A786-B14F8A01EAF3"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "225"
endingLineNumber = "225"
landmarkName = "dd_mapView(_:viewFor:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "B74288B1-E6B1-4BF4-BBCD-D86BE9208FF0"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "227"
endingLineNumber = "227"
landmarkName = "dd_mapView(_:viewFor:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "9750D698-F3AA-4114-B549-5BFE2C83D0F8"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "253"
endingLineNumber = "253"
landmarkName = "dd_mapView(_:viewFor:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "28B37EB8-258D-4651-ABD8-4F9802840682"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "252"
endingLineNumber = "252"
landmarkName = "dd_mapView(_:viewFor:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
@@ -858,8 +746,8 @@
filePath = "OrderScheduling/Common/View/AppUpdateTool.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "113"
endingLineNumber = "113"
startingLineNumber = "116"
endingLineNumber = "116"
landmarkName = "shouldPresentEntry()"
landmarkType = "7">
</BreakpointContent>
@@ -874,8 +762,8 @@
filePath = "OrderScheduling/Common/View/AppUpdateTool.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "115"
endingLineNumber = "115"
startingLineNumber = "118"
endingLineNumber = "118"
landmarkName = "shouldPresentEntry()"
landmarkType = "7">
</BreakpointContent>
@@ -906,8 +794,8 @@
filePath = "OrderScheduling/Common/View/AppUpdateTool.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "106"
endingLineNumber = "106"
startingLineNumber = "109"
endingLineNumber = "109"
landmarkName = "canUpdate(localVersion:onlineVersion:)"
landmarkType = "7">
</BreakpointContent>
@@ -1381,8 +1269,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "146"
endingLineNumber = "146"
startingLineNumber = "131"
endingLineNumber = "131"
landmarkName = "viewDidLoad()"
landmarkType = "7">
</BreakpointContent>
@@ -1397,8 +1285,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "147"
endingLineNumber = "147"
startingLineNumber = "132"
endingLineNumber = "132"
landmarkName = "viewDidLoad()"
landmarkType = "7">
</BreakpointContent>
@@ -1413,8 +1301,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "134"
endingLineNumber = "134"
startingLineNumber = "119"
endingLineNumber = "119"
landmarkName = "viewDidLoad()"
landmarkType = "7">
<Locations>
@@ -1525,8 +1413,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "115"
endingLineNumber = "115"
startingLineNumber = "100"
endingLineNumber = "100"
landmarkName = "init(models:isPaiban:isAlarm:)"
landmarkType = "7">
</BreakpointContent>
@@ -1541,10 +1429,10 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "108"
endingLineNumber = "108"
landmarkName = "VehicleMonitoringListController"
landmarkType = "3">
startingLineNumber = "93"
endingLineNumber = "93"
landmarkName = "selectCellBlock"
landmarkType = "24">
<Locations>
<Location
uuid = "CFE88CBD-3763-4675-8064-E713AF4352B2 - b0541ce939b4a961"
@@ -1649,8 +1537,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "107"
endingLineNumber = "107"
startingLineNumber = "92"
endingLineNumber = "92"
landmarkName = "VehicleMonitoringListController"
landmarkType = "3">
<Locations>
@@ -2061,8 +1949,8 @@
filePath = "OrderScheduling/Common/View/AppUpdateTool.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "83"
endingLineNumber = "83"
startingLineNumber = "86"
endingLineNumber = "86"
landmarkName = "init()"
landmarkType = "7">
</BreakpointContent>
@@ -2077,8 +1965,8 @@
filePath = "OrderScheduling/Common/View/AppUpdateTool.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "119"
endingLineNumber = "119"
startingLineNumber = "122"
endingLineNumber = "122"
landmarkName = "openAppStore(by:)"
landmarkType = "7">
</BreakpointContent>
@@ -2093,8 +1981,8 @@
filePath = "OrderScheduling/Common/View/AppUpdateTool.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "80"
endingLineNumber = "80"
startingLineNumber = "83"
endingLineNumber = "83"
landmarkName = "init()"
landmarkType = "7">
</BreakpointContent>
@@ -2125,8 +2013,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringListController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "131"
endingLineNumber = "131"
startingLineNumber = "116"
endingLineNumber = "116"
landmarkName = "viewDidLoad()"
landmarkType = "7">
</BreakpointContent>
@@ -2141,8 +2029,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "635"
endingLineNumber = "635"
startingLineNumber = "652"
endingLineNumber = "652"
landmarkName = "viewDidLoad()"
landmarkType = "7">
</BreakpointContent>
@@ -2460,8 +2348,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "162"
endingLineNumber = "162"
startingLineNumber = "186"
endingLineNumber = "186"
landmarkName = "addAction()"
landmarkType = "7">
</BreakpointContent>
@@ -2572,8 +2460,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "273"
endingLineNumber = "273"
startingLineNumber = "222"
endingLineNumber = "222"
landmarkName = "dd_mapView(_:viewFor:)"
landmarkType = "7">
<Locations>
@@ -2620,8 +2508,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "174"
endingLineNumber = "174"
startingLineNumber = "198"
endingLineNumber = "198"
landmarkName = "dd_mapView(_:viewFor:)"
landmarkType = "7">
<Locations>
@@ -2668,8 +2556,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "437"
endingLineNumber = "437"
startingLineNumber = "393"
endingLineNumber = "393"
landmarkName = "reloadData(index:)"
landmarkType = "7">
</BreakpointContent>
@@ -2684,8 +2572,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "435"
endingLineNumber = "435"
startingLineNumber = "391"
endingLineNumber = "391"
landmarkName = "reloadData(index:)"
landmarkType = "7">
</BreakpointContent>
@@ -2700,8 +2588,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "438"
endingLineNumber = "438"
startingLineNumber = "394"
endingLineNumber = "394"
landmarkName = "reloadData(index:)"
landmarkType = "7">
</BreakpointContent>
@@ -3067,8 +2955,8 @@
filePath = "OrderScheduling/Common/View/MessageCount.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "51"
endingLineNumber = "51"
startingLineNumber = "57"
endingLineNumber = "57"
landmarkName = "init()"
landmarkType = "7">
<Locations>
@@ -3115,8 +3003,8 @@
filePath = "OrderScheduling/Common/View/MessageCount.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "61"
endingLineNumber = "61"
startingLineNumber = "67"
endingLineNumber = "67"
landmarkName = "newestMessage()"
landmarkType = "7">
</BreakpointContent>
@@ -3883,8 +3771,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "289"
endingLineNumber = "289"
startingLineNumber = "238"
endingLineNumber = "238"
landmarkName = "dd_mapView(_:didAnnotationViewTapped:)"
landmarkType = "7">
</BreakpointContent>
@@ -4665,8 +4553,8 @@
endingColumnNumber = "9223372036854775807"
startingLineNumber = "219"
endingLineNumber = "219"
landmarkName = "textView(_:shouldInteractWith:in:interaction:)"
landmarkType = "7">
landmarkName = "LoginController"
landmarkType = "21">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
@@ -4711,8 +4599,8 @@
filePath = "OrderScheduling/Common/View/MessageCount.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "47"
endingLineNumber = "47"
startingLineNumber = "53"
endingLineNumber = "53"
landmarkName = "init()"
landmarkType = "7">
</BreakpointContent>
@@ -4791,8 +4679,8 @@
filePath = "OrderScheduling/Global/User/UserPermission.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "33"
endingLineNumber = "33"
startingLineNumber = "36"
endingLineNumber = "36"
landmarkName = "init()"
landmarkType = "7">
<Locations>
@@ -4839,8 +4727,8 @@
filePath = "OrderScheduling/Global/User/UserPermission.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "46"
endingLineNumber = "46"
startingLineNumber = "49"
endingLineNumber = "49"
landmarkName = "init()"
landmarkType = "7">
<Locations>
@@ -4887,8 +4775,8 @@
filePath = "OrderScheduling/Global/User/UserPermission.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "115"
endingLineNumber = "115"
startingLineNumber = "118"
endingLineNumber = "118"
landmarkName = "init()"
landmarkType = "7">
<Locations>
@@ -4935,8 +4823,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "62"
endingLineNumber = "62"
startingLineNumber = "63"
endingLineNumber = "63"
landmarkName = "addAction()"
landmarkType = "7">
</BreakpointContent>
@@ -4951,8 +4839,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "68"
endingLineNumber = "68"
startingLineNumber = "69"
endingLineNumber = "69"
landmarkName = "addAction()"
landmarkType = "7">
</BreakpointContent>
@@ -4967,28 +4855,12 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "671"
endingLineNumber = "671"
startingLineNumber = "696"
endingLineNumber = "696"
landmarkName = "addSubviews()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "4722674D-F37E-49DD-A15D-8677516A28A2"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "676"
endingLineNumber = "676"
landmarkName = "viewWillLayoutSubviews()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
@@ -4999,8 +4871,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "332"
endingLineNumber = "332"
startingLineNumber = "282"
endingLineNumber = "282"
landmarkName = "listContainerView(_:initListFor:)"
landmarkType = "7">
</BreakpointContent>
@@ -5015,8 +4887,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "522"
endingLineNumber = "522"
startingLineNumber = "478"
endingLineNumber = "478"
landmarkName = "selectVehicle(vehicleModel:currentTableViewVehicleModels:selectIndex:mapView:)"
landmarkType = "7">
</BreakpointContent>
@@ -5031,8 +4903,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "370"
endingLineNumber = "370"
startingLineNumber = "323"
endingLineNumber = "323"
landmarkName = "listContainerView(_:initListFor:)"
landmarkType = "7">
</BreakpointContent>
@@ -5047,8 +4919,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "360"
endingLineNumber = "360"
startingLineNumber = "310"
endingLineNumber = "310"
landmarkName = "listContainerView(_:initListFor:)"
landmarkType = "7">
<Locations>
@@ -5095,8 +4967,8 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "376"
endingLineNumber = "376"
startingLineNumber = "329"
endingLineNumber = "329"
landmarkName = "categoryView(_:didSelectedItemAt:)"
landmarkType = "7">
<Locations>
@@ -5143,11 +5015,458 @@
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "384"
endingLineNumber = "384"
startingLineNumber = "340"
endingLineNumber = "340"
landmarkName = "categoryView(_:didSelectedItemAt:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "B2E8C432-EC61-467E-9728-C005CC88ABCC"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "761"
endingLineNumber = "761"
landmarkName = "viewSafeAreaInsetsDidChange()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "18A7778A-24B6-45E2-A6F9-145C627DDB29"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Entry/Entry.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "334"
endingLineNumber = "334"
landmarkName = "showVehicleLogoutEntry(view:name:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "D0FC7FA8-A2B3-4560-A47C-64F0E0E7CF07"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "../../PodRepository/DDUIGestureRecognizer/DDUIGestureRecognizer/Classes/DDUIPanGestureRecognizer/DDUIPanGestureRecognizer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "72"
endingLineNumber = "72"
landmarkName = "panGesAction(ges:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "A84BD2D0-0FD1-45EA-A1C9-A201A28A47DD"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "../../PodRepository/DDUIGestureRecognizer/DDUIGestureRecognizer/Classes/DDUIPanGestureRecognizer/DDUIPanGestureRecognizer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "74"
endingLineNumber = "74"
landmarkName = "panGesAction(ges:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "2B869015-37EA-491E-B89C-3F53998D7530"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "../../PodRepository/DDUIGestureRecognizer/DDUIGestureRecognizer/Classes/DDUIPanGestureRecognizer/DDUIPanGestureRecognizer.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "135"
endingLineNumber = "135"
landmarkName = "getBaseValue(duration:baseValueHandler:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "51600BBB-DECC-43C6-898B-2957D6ED622E"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1148"
endingLineNumber = "1148"
landmarkName = "init(taskModels:)"
landmarkType = "7">
<Locations>
<Location
uuid = "51600BBB-DECC-43C6-898B-2957D6ED622E - 177c1109ec10ed3a"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "OrderScheduling.VehicleMonitoringListDetailView.init(taskModels: Swift.Array&lt;OrderScheduling.VehicleMonitorListDataModel.TaskModel&gt;) -&gt; OrderScheduling.VehicleMonitoringListDetailView"
moduleName = "OrderScheduling"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1124"
endingLineNumber = "1124"
offsetFromSymbolStart = "15392">
</Location>
<Location
uuid = "51600BBB-DECC-43C6-898B-2957D6ED622E - 7e87af4c0e1d5d81"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #13 (SnapKit.ConstraintMaker) -&gt; () in OrderScheduling.VehicleMonitoringListDetailView.init(taskModels: Swift.Array&lt;OrderScheduling.VehicleMonitorListDataModel.TaskModel&gt;) -&gt; OrderScheduling.VehicleMonitoringListDetailView"
moduleName = "OrderScheduling"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1125"
endingLineNumber = "1125"
offsetFromSymbolStart = "616">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "2E7F5594-FA92-4DC5-9572-E25BDD777C18"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1160"
endingLineNumber = "1160"
landmarkName = "init(taskModels:)"
landmarkType = "7">
<Locations>
<Location
uuid = "2E7F5594-FA92-4DC5-9572-E25BDD777C18 - f1c2e8d285fa5433"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #15 () -&gt; () in OrderScheduling.VehicleMonitoringListDetailView.init(taskModels: Swift.Array&lt;OrderScheduling.VehicleMonitorListDataModel.TaskModel&gt;) -&gt; OrderScheduling.VehicleMonitoringListDetailView"
moduleName = "OrderScheduling"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1144"
endingLineNumber = "1144"
offsetFromSymbolStart = "708">
</Location>
<Location
uuid = "2E7F5594-FA92-4DC5-9572-E25BDD777C18 - f1c2e8d285fa5433"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #15 () -&gt; () in OrderScheduling.VehicleMonitoringListDetailView.init(taskModels: Swift.Array&lt;OrderScheduling.VehicleMonitorListDataModel.TaskModel&gt;) -&gt; OrderScheduling.VehicleMonitoringListDetailView"
moduleName = "OrderScheduling"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1144"
endingLineNumber = "1144"
offsetFromSymbolStart = "1284">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "60480BBC-59FE-4C80-9537-30CEC172B651"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1162"
endingLineNumber = "1162"
landmarkName = "init(taskModels:)"
landmarkType = "7">
<Locations>
<Location
uuid = "60480BBC-59FE-4C80-9537-30CEC172B651 - f1c2e8d285fa55f5"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #15 () -&gt; () in OrderScheduling.VehicleMonitoringListDetailView.init(taskModels: Swift.Array&lt;OrderScheduling.VehicleMonitorListDataModel.TaskModel&gt;) -&gt; OrderScheduling.VehicleMonitoringListDetailView"
moduleName = "OrderScheduling"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1138"
endingLineNumber = "1138"
offsetFromSymbolStart = "1980">
</Location>
<Location
uuid = "60480BBC-59FE-4C80-9537-30CEC172B651 - f1c2e8d285fa551a"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #15 () -&gt; () in OrderScheduling.VehicleMonitoringListDetailView.init(taskModels: Swift.Array&lt;OrderScheduling.VehicleMonitorListDataModel.TaskModel&gt;) -&gt; OrderScheduling.VehicleMonitoringListDetailView"
moduleName = "OrderScheduling"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1137"
endingLineNumber = "1137"
offsetFromSymbolStart = "1944">
</Location>
<Location
uuid = "60480BBC-59FE-4C80-9537-30CEC172B651 - 4348c9899b74a3bd"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #16 () -&gt; () in OrderScheduling.VehicleMonitoringListDetailView.init(taskModels: Swift.Array&lt;OrderScheduling.VehicleMonitorListDataModel.TaskModel&gt;) -&gt; OrderScheduling.VehicleMonitoringListDetailView"
moduleName = "OrderScheduling"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1163"
endingLineNumber = "1163"
offsetFromSymbolStart = "2020">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "5D87D52E-9736-4FFC-9926-2335881975BC"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Pods/JXCategoryView/Sources/Common/JXCategoryListContainerView.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "354"
endingLineNumber = "354"
landmarkName = "-didClickSelectedItemAtIndex:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "0C15E3B1-A3CB-490B-96E9-11B227581A90"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Pods/JXCategoryView/Sources/Common/JXCategoryListContainerView.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "351"
endingLineNumber = "351"
landmarkName = "-didClickSelectedItemAtIndex:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "300C4C5D-32E3-4925-9701-C9BE63D6A105"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "988"
endingLineNumber = "988"
landmarkName = "listContainerView(_:initListFor:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "A236B19B-432D-4E54-A029-53C6A01B9087"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1290"
endingLineNumber = "1290"
landmarkName = "updateData(taskModel:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "63CF431F-0027-4859-B2A1-1BD6160E6F75"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "Pods/JXCategoryView/Sources/Common/JXCategoryListContainerView.m"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "359"
endingLineNumber = "359"
landmarkName = "-didClickSelectedItemAtIndex:"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "D335A96D-24B0-44DA-95FD-8B62115D91E4"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1151"
endingLineNumber = "1151"
landmarkName = "init(taskModels:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "C8E37756-C919-4968-858E-C26A9E2E89BF"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1164"
endingLineNumber = "1164"
landmarkName = "init(taskModels:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "97B51B22-1E3F-405E-8B36-2018B4514657"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "993"
endingLineNumber = "993"
landmarkName = "categoryView(_:didSelectedItemAt:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "611259BF-D93F-4692-A438-473357E2D723"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1163"
endingLineNumber = "1163"
landmarkName = "init(taskModels:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "269621BD-3F05-43B4-B84F-2D34E9FBACC2"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "330"
endingLineNumber = "330"
landmarkName = "categoryView(_:didSelectedItemAt:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "4F2CBB95-8B24-428C-ABB0-97BD2DCF8839"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "561"
endingLineNumber = "561"
landmarkName = "showListDetail(vehicleModel:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "0238A35E-3FB5-43F5-B5C4-2F61ED826893"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "136"
endingLineNumber = "136"
landmarkName = "addAction()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "82F38396-1756-4E60-8C3D-5E06B1B714F1"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "178"
endingLineNumber = "178"
landmarkName = "addAction()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints>
</Bucket>

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "vehicleMonitor_busy_cell_onlne_bg.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "vehicleMonitor_busy_cell_onlne_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "vehicleMonitor_busy_cell_onlne_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "vehicleMonitor_cell_call.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "vehicleMonitor_cell_call@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "vehicleMonitor_cell_call@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 627 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "vehicleMonitor_empty_cell_flag_bg.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "vehicleMonitor_empty_cell_flag_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "vehicleMonitor_empty_cell_flag_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "vehicleMonitor_offline_cell_flag_bg.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "vehicleMonitor_offline_cell_flag_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "vehicleMonitor_offline_cell_flag_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "vehicleMonitor_pageNum_bg.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "vehicleMonitor_pageNum_bg@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "vehicleMonitor_pageNum_bg@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 350 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 452 B

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "vehicleMonitoring_back.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "vehicleMonitoring_back@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "vehicleMonitoring_back@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 200 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 337 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 504 B

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "vehicleMonitoring_next_gray.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "vehicleMonitoring_next_gray@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "vehicleMonitoring_next_gray@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 141 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 198 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 255 B

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "vehicleMonitoring_previous_gray.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "vehicleMonitoring_previous_gray@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "vehicleMonitoring_previous_gray@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

View File

@@ -0,0 +1,23 @@
{
"images" : [
{
"filename" : "vehicleMonitoring_setting.png",
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "vehicleMonitoring_setting@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "vehicleMonitoring_setting@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 416 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 681 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.0 KiB

View File

@@ -53,6 +53,9 @@ open class AppUpdateTool : NSObject {
.disposed(by: disposeBag)
Observable.combineLatest(requestAppUpdateRelay, USER.refreshTokenSub)
.filter({ (_,_) in
return USER.isLogin == true
})
.observe(on: MainScheduler.instance)
.do(onNext: { (_,_) in
UIApplication.shared.dd_keyWindow.rootViewController?.view.dd_showHUD()

View File

@@ -24,6 +24,9 @@ open class MessageCount : NSObject {
super.init()
Observable.combineLatest(reloadToDoMessageCountRelay, USER.refreshTokenSub)
.filter({ (_,_) in
return USER.isLogin == true
})
.flatMapLatest { (_,_) in
return RQ.toDoMessageCount()
}
@@ -43,6 +46,9 @@ open class MessageCount : NSObject {
.disposed(by: disposeBag)
Observable.combineLatest(reloadReviewFailedMessageCountRelay, USER.refreshTokenSub)
.filter({ (_,_) in
return USER.isLogin == true
})
.flatMapLatest { (_,_) in
return RQ.orderList(parameters: OrderListParameters(pageNum: 1, queryType: .TO_AUDIT_FAILED))
}

View File

@@ -30,6 +30,9 @@ open class UserPermission {
init() {
Observable.combineLatest(relay, USER.refreshTokenSub)
.filter({ (_,_) in
return USER.isLogin == true
})
.flatMapLatest { (_,_) in
return RQ.userOperationPermissions()
}

View File

@@ -204,6 +204,7 @@ public class VehicleMonitorListDataModel : Decodable {
return false
}
var vehicleTypeStr : String?
var taskList : [TaskModel]?
var isSelected : Bool? = false
var zIndex : Int? = 0
@@ -223,6 +224,24 @@ public class VehicleMonitorListDataModel : Decodable {
}
}
public class TaskModel : Decodable {
var userOrderId : Int
var orderCode : String
var serviceId : Int
var serviceName : String
var taskOrderId : Int
var taskVehicleId : Int
var taskStatus : Int
var taskStatusString : String
var flowId : Int
var vehiclePointLongitude : Double
var vehiclePointLatitude : Double
var vehiclePointAddress : String
var destinationLongitude : Double?
var destinationLatitude : Double?
var destinationAddress : String?
}
}
public class OrderPhotoListDataModel : Decodable {

View File

@@ -16,6 +16,7 @@ import JXCategoryView
import SnapKit
import DDTimerSwiftKit_Private
import DDUIGestureRecognizer
import DDUtilsSwiftKit_Private
fileprivate let vehicleMonitoringPannelViewHeight = auto(300)
fileprivate let vehicleMonitoringPannelViewTopInset = auto(40)
@@ -155,6 +156,29 @@ extension VehicleMonitoringController {
})
.disposed(by: disposeBag)
vehicleMonitoringListDetailView.callButton.rx.tap
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in
if let model = self?.selectedModel {
URLLINKS.openUrl(type: .phone, appending: model.driverPhone)
}
})
.disposed(by: disposeBag)
vehicleMonitoringListDetailView.backButton.rx.tap
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in
self?.hideListDetail()
})
.disposed(by: disposeBag)
vehicleMonitoringListDetailView.settingButton.rx.tap
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in
self?.showVehicleEntryRelay.accept(self?.selectedModel)
})
.disposed(by: disposeBag)
// tabBar
preRefreshRelay
.observe(on: MainScheduler.instance)
@@ -189,84 +213,9 @@ extension VehicleMonitoringController : DDMAMapViewDelegate {
}
let labelSize = annotationView?.titleLabel.sizeThatFits(CGSize(width: auto(100), height: .infinity)) ?? .zero
var annotationViewW = labelSize.width
var annotationViewH = auto(50) + labelSize.height
let annotationViewW = labelSize.width
let annotationViewH = auto(50) + labelSize.height
annotationView?.frame = CGRect(origin: (annotationView?.frame.origin)!, size: CGSize(width: annotationViewW, height: annotationViewH))
// annotationView?.stateLabel.text = model?.vehicleStatus?.label
// annotationView?.nameLabel.text = model?.vehicleName
// if model?.isSelected == true {
// var content = ""
// if model?.orderCode?.isEmpty == false {
// content.append("· \((model?.orderCode)!)")
// }
// if model?.serviceName?.isEmpty == false {
// if content.isEmpty == false {
// content.append("\n· \((model?.serviceName)!)")
// }else{
// content.append("· \((model?.serviceName)!)")
// }
// }
// if model?.taskStatusString?.isEmpty == false {
// if content.isEmpty == false {
// content.append("\n· \((model?.taskStatusString)!)")
// }else{
// content.append("· \((model?.taskStatusString)!)")
// }
// }
// if model?.workingCount != nil {
// if content.isEmpty == false {
// content = content + "\n· " + "" + " " + String((model?.workingCount)!)
// }else{
// content = content + "· " + "" + " " + String((model?.workingCount)!)
// }
// }
// annotationView?.contentLabel.text = content
// annotationView?.zIndex = zIndex + 1
// }else{
// annotationView?.contentLabel.text = nil
// }
//
// var vehicleMonitoringPointAnnotationNameInset = vehicleMonitoringPointAnnotationNameLeftInset + vehicleMonitoringPointAnnotationNameRightInset
// if model?.terminalType == .GPS {
// annotationView?.cameraBackgroundImageView.isHidden = false
// annotationView?.nameLabel.snp.updateConstraints({ make in
// make.right.equalToSuperview().offset(-auto(35))
// })
// }else{
// annotationView?.cameraBackgroundImageView.isHidden = true
// annotationView?.nameLabel.snp.updateConstraints({ make in
// make.right.equalToSuperview().offset(-auto(5))
// })
// vehicleMonitoringPointAnnotationNameInset = vehicleMonitoringPointAnnotationNameInset - auto(30)
// }
// let contentSizeH = annotationView?.contentLabel.sizeThatFits(CGSize(width: vehicleMonitoringPointAnnotationW, height: 1000)).height ?? 0
// var nameSizeH = annotationView?.nameLabel.sizeThatFits(CGSize(width: vehicleMonitoringPointAnnotationW - vehicleMonitoringPointAnnotationNameInset, height: 1000)).height ?? 0
// if nameSizeH < vehicleMonitoringPointAnnotationNameAtLeastH {
// nameSizeH = vehicleMonitoringPointAnnotationNameAtLeastH
// }
// annotationView?.frame = CGRect(origin: (annotationView?.frame.origin)!, size: CGSize(width: vehicleMonitoringPointAnnotationW, height: contentSizeH + nameSizeH))
// annotationView?.tapGes.rx.event
// .observe(on: MainScheduler.instance)
// .subscribe(onNext: {[weak self] _ in
// let vc = VehicleMonitorVideoController(vehicleId: model?.vehicleId, deviceCode: nil)
// self?.navigationController?.pushViewController(vc, animated: true)
// })
// .disposed(by: annotationView!.disposeBag)
//
// annotationView?.logoutGes.rx.event
// .observe(on: MainScheduler.instance)
// .subscribe(onNext: {[weak self] _ in
// self?.showVehicleEntryRelay.accept(model)
// })
// .disposed(by: disposeBag)
//
// annotationView?.logout2Ges.rx.event
// .observe(on: MainScheduler.instance)
// .subscribe(onNext: {[weak self] _ in
// self?.showVehicleEntryRelay.accept(model)
// })
// .disposed(by: disposeBag)
return annotationView!
}
@@ -291,6 +240,7 @@ extension VehicleMonitoringController : DDMAMapViewDelegate {
if let tapPointAnnotation = view.annotation as? MAPointAnnotation, let mapModel = self.mapModel {
let model = mapModel[tapPointAnnotation.tag]
selectVehicle(vehicleModel: model, currentTableViewVehicleModels: mapModel, selectIndex: tapPointAnnotation.tag, mapView: mapView)
showListDetail(vehicleModel: model)
}
}
@@ -361,11 +311,14 @@ extension VehicleMonitoringController : JXCategoryListContainerViewDelegate {
if let models = vc?.models,let mapView = self?.vehicleMonitoringView.maMapView.maMapView {
self?.selectVehicle(vehicleModel: model, currentTableViewVehicleModels: models, selectIndex: item, mapView: mapView)
}
self?.showListDetail(vehicleModel: model)
// /// item
// if let lat = model.lat,let lon = model.lon {
// self?.vehicleMonitoringView.maMapView.maMapView.setCenter(CLLocationCoordinate2D(latitude: Double(lat) ?? 0, longitude: Double(lon) ?? 0), animated: true)
// }
//
//
}
return vc
}
@@ -381,6 +334,9 @@ extension VehicleMonitoringController : JXCategoryViewDelegate {
let vc = containerView.validListDict[key]
self?.currentTableView = (vc as? VehicleMonitoringListController)?.vehicleMonitoringListView.tableView
}
if self?.pannelPanGes.panGesValue.expandLevel == .min {
self?.pannelPanGes.expand(.default)
}
}
}
@@ -596,6 +552,63 @@ extension VehicleMonitoringController {
annotationView.titleLabel.text = vehicleModel.vehicleName
}
func showListDetail(vehicleModel: VehicleMonitorListDataModel.ItemModel) {
selectedModel = vehicleModel
vehicleMonitoringListDetailView.stateLabel.text = vehicleModel.vehicleTypeStr
vehicleMonitoringListDetailView.nameLabel.text = vehicleModel.driverName
vehicleMonitoringListDetailView.vehicleLabel.text = vehicleModel.vehicleName
switch vehicleModel.vehicleStatus?.code {
case .offLine,.lostConnection:
vehicleMonitoringListDetailView.icon.image = UIImage(named: "vehicleMonitor_offline_cell_flag_bg")
break
case .onLine,.leisure:
vehicleMonitoringListDetailView.icon.image = UIImage(named: "vehicleMonitor_empty_cell_flag_bg")
break
case .busy:
vehicleMonitoringListDetailView.icon.image = UIImage(named: "vehicleMonitor_busy_cell_onlne_bg")
break
case .BuyBusy:
vehicleMonitoringListDetailView.icon.image = UIImage(named: "vehicleMonitor_busy_cell_onlne_bg")
break
case .none:
vehicleMonitoringListDetailView.icon.image = UIImage(named: "vehicleMonitor_offline_cell_flag_bg")
break
}
vehicleMonitoringListDetailView.updateData(taskModels: vehicleModel.taskList ?? [])
/// pannelView
previousStateOfPannelView = pannelPanGes.panGesValue.expandLevel
pannelPanGes.expand(.min)
///
vehicleMonitoringListDetailView.snp.updateConstraints({ make in
make.left.equalTo(vehicleMonitoringView.snp.right).offset(-vehicleMonitoringView.width)
})
UIView.animate(withDuration: 0.25) {[weak self] in
self?.view.layoutIfNeeded()
}
}
func hideListDetail() {
vehicleMonitoringListDetailView.snp.updateConstraints({ make in
make.left.equalTo(vehicleMonitoringView.snp.right).offset(0)
})
UIView.animate(withDuration: 0.25) {[weak self] in
self?.view.layoutIfNeeded()
}
if previousStateOfPannelView == .min {
pannelPanGes.expand(.min)
}else if previousStateOfPannelView == .default{
pannelPanGes.expand(.default)
}else if previousStateOfPannelView == .max {
pannelPanGes.expand(.max)
}
}
}
open class VehicleMonitoringController : ZDViewController {
@@ -606,6 +619,7 @@ open class VehicleMonitoringController : ZDViewController {
}
private let vehicleMonitoringView = VehicleMonitoringView(titles:[])
private let vehicleMonitoringListDetailView = VehicleMonitoringListDetailView(taskModels: [])
private let pannelPanGes = DDUIPanGestureRecognizer.init()
public var zIndex = 0
private let disposeBag = DisposeBag()
@@ -617,7 +631,10 @@ open class VehicleMonitoringController : ZDViewController {
private var currentTableView : DDTableView? ///
private var selectedVehicleId : Int? ///
private var selectedTableView : DDTableView? ///
private var selectedModel : VehicleMonitorListDataModel.ItemModel?
private var previousStateOfPannelView : DDUIPanGestureRecognizer.ExpandLevel = .min /// pannelview
private var shouldShowSmallAnnotation : Bool? = false /// annotation
private var isShowSmallAnnotation : Bool? = false /// annotation
@@ -645,6 +662,14 @@ open class VehicleMonitoringController : ZDViewController {
func addSubviews() {
view.addSubview(vehicleMonitoringView)
view.addSubview(vehicleMonitoringListDetailView)
vehicleMonitoringListDetailView.snp.makeConstraints { make in
make.left.equalTo(vehicleMonitoringView.snp.right)
make.bottom.equalTo(vehicleMonitoringView)
make.width.equalTo(vehicleMonitoringView)
make.height.equalTo(auto(190))
}
vehicleMonitoringView.maMapView.delegate = self
vehicleMonitoringView.maMapView.maMapView.showsUserLocation = true
vehicleMonitoringView.maMapView.maMapView.userTrackingMode = .follow
@@ -672,9 +697,8 @@ open class VehicleMonitoringController : ZDViewController {
}
}
open override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
open override func viewSafeAreaInsetsDidChange() {
super.viewSafeAreaInsetsDidChange()
SafeAreaInsets.safeAreaInsetsTop = view.safeAreaInsets.top
if view.safeAreaInsets.bottom > 0 {
SafeAreaInsets.safeAreaInsetsBottom = view.safeAreaInsets.bottom
@@ -688,13 +712,16 @@ open class VehicleMonitoringController : ZDViewController {
let vehicleMonitoringPannelViewCornerRadius = auto(16)
vehicleMonitoringView.vehicleMonitoringPannelView.layer.cornerRadius = vehicleMonitoringPannelViewCornerRadius
vehicleMonitoringView.vehicleMonitoringPannelView.layer.masksToBounds = true
vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.snp.remakeConstraints { make in
make.top.equalToSuperview().priority(.high)
make.left.right.equalToSuperview()
make.height.equalTo(auto(40))
}
vehicleMonitoringListDetailView.layer.cornerRadius = vehicleMonitoringPannelViewCornerRadius
vehicleMonitoringListDetailView.layer.masksToBounds = true
categoryContainerView?.snp.remakeConstraints({ make in
make.top.equalTo(vehicleMonitoringView.vehicleMonitoringPannelView.categoryView.snp.bottom)
make.left.right.equalToSuperview()
@@ -703,29 +730,41 @@ open class VehicleMonitoringController : ZDViewController {
let minDisplayHeight = vehicleMonitoringPannelViewTopInset
let maxDisplayHeight = view.height - SafeAreaInsets.safeAreaInsetsTop - SafeAreaInsets.safeAreaInsetsBottom - auto(150)
let defaultDisplayHeight = vehicleMonitoringPannelViewTopInset + auto(150)
vehicleMonitoringView.maMapView.snp.remakeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalToSuperview()
make.bottom.equalToSuperview().offset(-vehicleMonitoringPannelViewTopInset)
make.bottom.equalToSuperview().offset(-vehicleMonitoringPannelViewTopInset + vehicleMonitoringPannelViewCornerRadius)
}
if pannelPanGes.panGesValue.isExpanded == true {
if pannelPanGes.panGesValue.expandLevel == .max {
vehicleMonitoringView.vehicleMonitoringPannelView.snp.remakeConstraints { make in
make.left.right.equalToSuperview()
make.height.equalTo(maxDisplayHeight)
make.bottom.equalToSuperview()
}
}else{
}else if pannelPanGes.panGesValue.expandLevel == .min {
vehicleMonitoringView.vehicleMonitoringPannelView.snp.remakeConstraints { make in
make.left.right.equalToSuperview()
make.height.equalTo(maxDisplayHeight)
make.bottom.equalToSuperview().offset(maxDisplayHeight - vehicleMonitoringPannelViewTopInset)
make.bottom.equalToSuperview().offset(maxDisplayHeight - minDisplayHeight)
}
}else if pannelPanGes.panGesValue.expandLevel == .default {
vehicleMonitoringView.vehicleMonitoringPannelView.snp.remakeConstraints { make in
make.left.right.equalToSuperview()
make.height.equalTo(maxDisplayHeight)
make.bottom.equalToSuperview().offset(maxDisplayHeight - defaultDisplayHeight)
}
}
pannelPanGes.panGesValue.minDisplayHeight = minDisplayHeight
pannelPanGes.panGesValue.maxDisplayHeight = maxDisplayHeight
pannelPanGes.panGesValue.defaultDisplayHeight = defaultDisplayHeight
}
open override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
vehicleMonitoringView.maMapView.maMapView.logoCenter = CGPoint(x: vehicleMonitoringView.maMapView.maMapView.logoCenter.x, y: CGRectGetMaxY(vehicleMonitoringView.maMapView.maMapView.frame) - 30)
}
open override func reloadData() {
@@ -938,3 +977,322 @@ extension MAPointAnnotation {
}
}
}
class VehicleMonitoringListDetailView : DDView, JXCategoryListContainerViewDelegate, JXCategoryViewDelegate {
func number(ofListsInlistContainerView listContainerView: JXCategoryListContainerView!) -> Int {
return taskModels.count
}
func listContainerView(_ listContainerView: JXCategoryListContainerView!, initListFor index: Int) -> JXCategoryListContentViewDelegate! {
let view = VMLDContainerView()
view.updateData(taskModel: taskModels[index])
return view
}
func categoryView(_ categoryView: JXCategoryBaseView!, didSelectedItemAt index: Int) {
pageNumLabel.text = "\(index + 1)/\(taskModels.count)"
}
public var taskModels : [VehicleMonitorListDataModel.TaskModel]
public let backButton : DDButton
public let icon : DDImageView
public let stateLabel : DDLabel
public let vehicleLabel : DDLabel
public let settingButton : DDButton
public let nameLabel : DDLabel
public let callButton : DDButton
public let containerView : DDView
public var categoryView : JXCategoryTitleView
public lazy var categoryContainerView = JXCategoryListContainerView(type: .scrollView, delegate: self)
public let pageNumImageView : DDImageView
public let pageNumLabel : DDLabel
public let previousButton : DDButton
public let nextButton : DDButton
public let emptyContainerView : DDView
public var emptyView = EmptyView()
public let disposeBag = DisposeBag()
public init(taskModels: [VehicleMonitorListDataModel.TaskModel]) {
self.taskModels = taskModels
backButton = DDButton.dd_initCustom()
backButton.setImage(UIImage(named: "vehicleMonitoring_back"), for: .normal)
icon = DDImageView()
stateLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(10)), textColor: .white)
vehicleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(14)), textColor: .hex("11142F"))
settingButton = DDButton.dd_initCustom()
settingButton.setBackgroundImage(UIImage(named: "vehicleMonitoring_setting"), for: .normal)
nameLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(14)), textColor: .hex("11142F"))
callButton = DDButton.dd_initCustom()
callButton.setBackgroundImage(UIImage(named: "vehicleMonitor_call_cell"), for: .normal)
containerView = DDView()
categoryView = JXCategoryTitleView.init()
pageNumImageView = DDImageView(image: UIImage(named: "vehicleMonitor_pageNum_bg"))
pageNumLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(8)), textColor: .white)
previousButton = DDButton.dd_initCustom()
previousButton.setImage(UIImage(named: "vehicleMonitoring_previous_gray"), for: .normal)
nextButton = DDButton.dd_initCustom()
nextButton.setImage(UIImage(named: "vehicleMonitoring_next_gray"), for: .normal)
emptyContainerView = DDView()
super.init(frame: .zero)
backgroundColor = .white
layer.maskedCorners = [.layerMinXMinYCorner,.layerMaxXMinYCorner]
backgroundColor = .hex("F2F7FA")
addSubview(backButton)
addSubview(icon)
stateLabel.textAlignment = .center
icon.addSubview(stateLabel)
addSubview(vehicleLabel)
addSubview(settingButton)
addSubview(nameLabel)
addSubview(callButton)
containerView.backgroundColor = .hex("FAFAFA")
containerView.layer.cornerRadius = auto(5)
containerView.layer.masksToBounds = true
addSubview(containerView)
categoryView.delegate = self
if let categoryContainerView = self.categoryContainerView {
containerView.addSubview(categoryContainerView)
categoryView.listContainer = categoryContainerView
}
categoryContainerView?.addSubview(pageNumImageView)
pageNumLabel.textAlignment = .center
categoryContainerView?.addSubview(pageNumLabel)
categoryContainerView?.addSubview(previousButton)
categoryContainerView?.addSubview(nextButton)
containerView.addSubview(emptyView)
containerView.snp.makeConstraints { make in
make.left.right.equalToSuperview().inset(auto(7))
make.top.equalTo(backButton.snp.bottom).offset(0)
make.bottom.equalToSuperview().offset(-auto(10))
}
categoryContainerView?.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
emptyView.snp.makeConstraints { make in
make.centerX.centerY.equalToSuperview()
}
pageNumImageView.snp.makeConstraints { make in
make.left.top.equalToSuperview()
make.width.equalTo(auto(20))
make.height.equalTo(auto(14))
}
pageNumLabel.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
previousButton.snp.makeConstraints { make in
make.left.equalToSuperview().offset(-auto(10))
make.centerY.equalToSuperview()
make.width.equalTo(auto(30))
make.height.equalTo(auto(40))
}
nextButton.snp.makeConstraints { make in
make.right.equalToSuperview().offset(auto(10))
make.centerY.equalToSuperview()
make.width.equalTo(auto(30))
make.height.equalTo(auto(40))
}
backButton.snp.makeConstraints { make in
make.left.equalTo(0)
make.top.equalTo(0)
make.width.height.equalTo(auto(40))
}
icon.snp.makeConstraints { make in
make.left.equalTo(backButton.snp.right).offset(0)
make.centerY.equalTo(backButton)
make.width.height.equalTo(auto(20))
}
stateLabel.snp.makeConstraints { make in
make.edges.equalTo(icon)
}
vehicleLabel.snp.makeConstraints { make in
make.left.equalTo(icon.snp.right).offset(auto(3))
make.centerY.equalTo(icon)
}
settingButton.snp.makeConstraints { make in
make.left.equalTo(vehicleLabel.snp.right).offset(auto(2.5))
make.centerY.equalTo(icon)
make.width.equalTo(auto(16))
make.height.equalTo(auto(14))
}
callButton.snp.makeConstraints { make in
make.right.equalTo(-auto(20))
make.centerY.equalTo(backButton)
make.width.height.equalTo(auto(25))
}
nameLabel.snp.makeConstraints { make in
make.right.equalTo(callButton.snp.left).offset(-auto(8))
make.centerY.equalTo(callButton)
}
previousButton.rx.tap
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] in
if let index = self?.categoryView.selectedIndex {
if index > 0 {
let newIndex = index - 1
self?.categoryView.selectItem(at: newIndex)
}
}
})
.disposed(by: disposeBag)
nextButton.rx.tap
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] in
if let index = self?.categoryView.selectedIndex, let allCount = self?.taskModels.count {
let validCount = allCount - 1
if index < validCount {
let newIndex = index + 1
self?.categoryView.selectItem(at: newIndex)
}
}
})
.disposed(by: disposeBag)
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
public func updateData(taskModels: [VehicleMonitorListDataModel.TaskModel]) {
self.taskModels = taskModels
let allCount = taskModels.count
if allCount > 0 {
var titles : [String] = []
for index in 0..<allCount {
titles.append("\(index)")
}
categoryView.titles = titles
emptyView.isHidden = true
categoryContainerView?.isHidden = false
}else{
categoryView.titles = nil
emptyView.isHidden = false
categoryContainerView?.isHidden = true
}
categoryView.reloadData()
if allCount > 0 {
categoryView.selectItem(at: 0)
}
}
}
class VMLDContainerView : DDView , JXCategoryListContentViewDelegate {
var orderNumLabel : DDLabel
var titleLabel : DDLabel
var stateLabel : DDLabel
var line : DDView
var incidentTitleLabel : DDLabel
var incidentLabel : DDLabel
var destTitleLabel : DDLabel
var destLabel : DDLabel
override init(frame: CGRect) {
orderNumLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000").alpha(0.7))
titleLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000").alpha(0.7))
stateLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("09B820"))
line = DDView()
incidentTitleLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000").alpha(0.7))
incidentLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000").alpha(0.7))
destTitleLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000").alpha(0.7))
destLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000").alpha(0.7))
super.init(frame: frame)
addSubview(orderNumLabel)
addSubview(titleLabel)
addSubview(stateLabel)
line.backgroundColor = .hex("F1F2F5")
addSubview(line)
addSubview(incidentTitleLabel)
incidentLabel.numberOfLines = 0
addSubview(incidentLabel)
addSubview(destTitleLabel)
destLabel.numberOfLines = 0
addSubview(destLabel)
orderNumLabel.snp.makeConstraints { make in
make.left.equalTo(auto(20))
make.top.equalTo(auto(15))
}
titleLabel.snp.makeConstraints { make in
make.left.equalTo(orderNumLabel.snp.right).offset(auto(5))
make.centerY.equalTo(orderNumLabel)
}
stateLabel.snp.makeConstraints { make in
make.right.equalTo(-auto(20))
make.centerY.equalTo(orderNumLabel)
}
line.snp.makeConstraints { make in
make.top.equalTo(orderNumLabel.snp.bottom).offset(auto(15))
make.height.equalTo(1)
make.left.right.equalToSuperview().inset(auto(20))
}
incidentTitleLabel.setContentCompressionResistancePriority(.defaultHigh, for: .horizontal)
incidentTitleLabel.snp.makeConstraints { make in
make.left.equalTo(orderNumLabel)
make.top.equalTo(line.snp.bottom).offset(auto(15))
}
incidentLabel.setContentCompressionResistancePriority(.defaultLow, for: .horizontal)
incidentLabel.snp.makeConstraints { make in
make.left.equalTo(incidentTitleLabel.snp.right).offset(auto(20))
make.top.equalTo(incidentTitleLabel)
make.right.equalTo(-auto(20))
make.bottom.greaterThanOrEqualTo(incidentTitleLabel)
}
destTitleLabel.setContentCompressionResistancePriority(.defaultHigh, for: .horizontal)
destTitleLabel.snp.makeConstraints { make in
make.left.equalTo(orderNumLabel)
make.top.equalTo(incidentLabel.snp.bottom).offset(auto(20))
}
destLabel.setContentCompressionResistancePriority(.defaultLow, for: .horizontal)
destLabel.snp.makeConstraints { make in
make.left.equalTo(destTitleLabel.snp.right).offset(auto(20))
make.top.equalTo(destTitleLabel)
make.right.equalTo(-auto(20))
make.bottom.greaterThanOrEqualTo(destTitleLabel)
}
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func updateData(taskModel: VehicleMonitorListDataModel.TaskModel) {
orderNumLabel.text = taskModel.orderCode
titleLabel.text = taskModel.serviceName
stateLabel.text = taskModel.taskStatusString
incidentTitleLabel.text = "事发地:"
destTitleLabel.text = "目的地:"
incidentLabel.text = taskModel.vehiclePointAddress
destLabel.text = taskModel.destinationAddress
}
func listView() -> UIView! {
return self
}
}

View File

@@ -26,64 +26,49 @@ extension VehicleMonitoringListController : UITableViewDelegate,UITableViewDataS
cell = VehicleMonitoringListCell(style: .default, reuseIdentifier: "cell")
}
let model = models[indexPath.item]
cell?.icon.isHidden = !(model.isSelected ?? false)
cell?.indexLabel.text = String(indexPath.item + 1)+"."
///
if isPaiban == true {
cell?.dateLabel.text = (model.rosterStartTime?.components(separatedBy: " ").last ?? "") + "~" + (model.rosterEndTime?.components(separatedBy: " ").last ?? "")
cell?.phoneLabel.isHidden = true
cell?.dateLabel.snp.updateConstraints({ make in
make.width.equalTo(auto(160))
})
cell?.nameLabel.snp.updateConstraints({ make in
make.width.equalTo(auto(80))
})
cell?.phoneLabel.snp.updateConstraints({ make in
make.width.equalTo(0)
})
cell?.dateLabel.isHidden = false
cell?.dateLabel.text = "\("2023-12-12 00:00:00")\n~\n\("2023-12-12 00:00:00")"
}else if isAlarm == true {
cell?.dateLabel.isHidden = true
}else{
var status = model.vehicleStatus?.label ?? ""
if model.onlineStatus?.code == .lostConnection {
status = status + "," + (model.onlineStatus?.label ?? "掉线")
}
cell?.dateLabel.text = (model.vehicleName ?? "")+"/"+status
cell?.phoneLabel.isHidden = false
cell?.dateLabel.snp.updateConstraints({ make in
make.width.equalTo(auto(80))
})
cell?.nameLabel.snp.updateConstraints({ make in
make.width.equalTo(auto(60))
})
cell?.phoneLabel.snp.updateConstraints({ make in
make.width.equalTo(auto(100))
})
cell?.dateLabel.isHidden = false
cell?.dateLabel.text = nil
}
if model.isSelected == true {
cell?.flagIcon.isHidden = false
}else{
cell?.flagIcon.isHidden = true
}
cell?.nameLabel.text = model.driverName
cell?.phoneLabel.text = model.driverPhone
if self.isAlarm == true {
if model.alarmType?.code == .busy {
cell?.indexLabel.textColor = .hex("1C62D9")
cell?.dateLabel.textColor = .hex("1C62D9")
cell?.nameLabel.textColor = .hex("1C62D9")
cell?.phoneLabel.textColor = .hex("1C62D9")
}else{
cell?.indexLabel.textColor = .hex("787878")
cell?.dateLabel.textColor = .hex("787878")
cell?.nameLabel.textColor = .hex("787878")
cell?.phoneLabel.textColor = .hex("787878")
}
cell?.vehicleLabel.text = model.vehicleName
cell?.stateLabel.text = model.vehicleTypeStr
if let workingCount = model.workingCount,workingCount > 0 {
cell?.workingCountLabel.isHidden = false
cell?.workingCountLabel.text = String(workingCount)
}else{
if model.onlineStatus?.code == .onLine {
cell?.indexLabel.textColor = .hex("1C62D9")
cell?.dateLabel.textColor = .hex("1C62D9")
cell?.nameLabel.textColor = .hex("1C62D9")
cell?.phoneLabel.textColor = .hex("1C62D9")
}else{
cell?.indexLabel.textColor = .hex("787878")
cell?.dateLabel.textColor = .hex("787878")
cell?.nameLabel.textColor = .hex("787878")
cell?.phoneLabel.textColor = .hex("787878")
}
cell?.workingCountLabel.isHidden = true
}
switch model.vehicleStatus?.code {
case .offLine,.lostConnection:
cell?.icon.image = UIImage(named: "vehicleMonitor_offline_cell_flag_bg")
break
case .onLine,.leisure:
cell?.icon.image = UIImage(named: "vehicleMonitor_empty_cell_flag_bg")
break
case .busy:
cell?.icon.image = UIImage(named: "vehicleMonitor_busy_cell_onlne_bg")
break
case .BuyBusy:
cell?.icon.image = UIImage(named: "vehicleMonitor_busy_cell_onlne_bg")
break
case .none:
cell?.icon.image = UIImage(named: "vehicleMonitor_offline_cell_flag_bg")
break
}
cell?.callButton.rx.tap
@@ -176,51 +161,47 @@ open class VehicleMonitoringListView : DDView {
open class VehicleMonitoringListCell : DDTableViewCell {
public var disposeBag : DisposeBag
private let radiusView : DDView
public let flagIcon : DDImageView
public let icon : DDImageView
public let indexLabel : DDLabel
public let workingCountLabel : DDLabel
public let stateLabel : DDLabel
public let vehicleLabel : DDLabel
public let dateLabel : DDLabel
public let nameLabel : DDLabel
public let phoneLabel : DDLabel
public let callButton : DDButton
public var callLayer : CAGradientLayer = {
var layer = CAGradientLayer.init()
layer.startPoint = CGPoint(x: 0, y: 0)
layer.endPoint = CGPoint(x: 1, y: 1)
layer.locations = [0.0,1.0]
layer.colors = [UIColor.hex("FF5A2C").cgColor,UIColor.hex("FE9D4D").cgColor]
layer.cornerRadius = auto(4)
layer.masksToBounds = true
return layer
}()
private let line : DDView
public override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
disposeBag = DisposeBag()
radiusView = DDView()
icon = DDImageView(image: UIImage(named: "vehicleMonitoring_cellSelected"))
indexLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(13)), textColor: .hex("1C62D9"))
dateLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(13)), textColor: .hex("1C62D9"))
nameLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(13)), textColor: .hex("1C62D9"))
phoneLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(13)), textColor: .hex("1C62D9"))
flagIcon = DDImageView(image: UIImage(named: "vehicleMonitoring_cellSelected"))
icon = DDImageView()
workingCountLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(7)), textColor: .white)
stateLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(10)), textColor: .white)
vehicleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(13.5)), textColor: .hex("0B0B0B"))
dateLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("0B0B0B"))
nameLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(13.5)), textColor: .hex("0B0B0B"))
callButton = DDButton.dd_initCustom()
callButton.setImage(UIImage(named:"vehicleMonitor_call_cell"), for: .normal)
line = DDView()
super.init(style: style, reuseIdentifier: reuseIdentifier)
selectionStyle = .none
contentView.addSubview(radiusView)
icon.isHidden = true
radiusView.addSubview(icon)
radiusView.addSubview(indexLabel)
radiusView.addSubview(flagIcon)
stateLabel.textAlignment = .center
icon.addSubview(stateLabel)
workingCountLabel.layer.cornerRadius = auto(2)
workingCountLabel.layer.masksToBounds = true
workingCountLabel.textAlignment = .center
workingCountLabel.backgroundColor = .hex("F93D3D")
icon.addSubview(workingCountLabel)
vehicleLabel.numberOfLines = 0
radiusView.addSubview(vehicleLabel)
dateLabel.numberOfLines = 0
dateLabel.textAlignment = .center
radiusView.addSubview(dateLabel)
nameLabel.numberOfLines = 0
radiusView.addSubview(nameLabel)
radiusView.addSubview(phoneLabel)
callButton.layer.cornerRadius = auto(4)
callButton.layer.insertSublayer(callLayer, at: 0)
callButton.setTitle("呼叫", for: .normal)
callButton.titleLabel?.font = .mediumFont(auto(13))
radiusView.addSubview(callButton)
line.backgroundColor = .hex("F2F3F6")
radiusView.addSubview(line)
@@ -230,42 +211,51 @@ open class VehicleMonitoringListCell : DDTableViewCell {
make.height.greaterThanOrEqualTo(auto(44)).priority(.high)
}
icon.snp.makeConstraints { make in
make.left.equalTo(auto(15))
flagIcon.snp.makeConstraints { make in
make.left.equalTo(auto(10))
make.centerY.equalToSuperview()
}
indexLabel.snp.makeConstraints { make in
make.left.equalTo(icon.snp.right).offset(auto(5))
icon.snp.makeConstraints { make in
make.left.equalTo(flagIcon.snp.right).offset(auto(5))
make.centerY.equalToSuperview()
}
stateLabel.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
workingCountLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(-auto(5))
make.right.equalToSuperview().offset(auto(5))
make.width.height.equalTo(auto(10))
}
vehicleLabel.snp.makeConstraints { make in
make.left.equalTo(icon.snp.right).offset(auto(7))
make.centerY.equalToSuperview()
make.right.lessThanOrEqualTo(radiusView.snp.centerX)
}
dateLabel.snp.makeConstraints { make in
make.left.equalTo(indexLabel.snp.right).offset(auto(3))
make.width.equalTo(auto(80))
make.top.equalToSuperview().offset(auto(5))
make.bottom.equalToSuperview().offset(-auto(5))
}
nameLabel.snp.makeConstraints { make in
make.left.equalTo(dateLabel.snp.right).offset(auto(10))
make.width.equalTo(auto(60))
make.top.bottom.equalToSuperview()
}
phoneLabel.snp.makeConstraints { make in
make.left.equalTo(nameLabel.snp.right).offset(auto(5))
make.width.equalTo(auto(100))
make.top.bottom.equalToSuperview()
make.left.equalTo(vehicleLabel.snp.right).offset(auto(7))
make.centerY.equalToSuperview()
make.top.bottom.greaterThanOrEqualToSuperview().inset(auto(7))
}
callButton.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-auto(10))
make.centerY.equalToSuperview()
make.width.equalTo(auto(50))
make.height.equalTo(auto(20))
make.width.equalTo(auto(24))
make.height.equalTo(auto(24))
}
nameLabel.snp.makeConstraints { make in
make.right.equalTo(callButton.snp.left).offset(-auto(7))
make.centerY.equalToSuperview()
make.left.greaterThanOrEqualTo(radiusView.snp.centerX)
}
line.snp.makeConstraints { make in
make.bottom.equalToSuperview()
make.left.equalToSuperview()
@@ -280,7 +270,6 @@ open class VehicleMonitoringListCell : DDTableViewCell {
open override func layoutSubviews() {
super.layoutSubviews()
callLayer.frame = CGRectMake(0, 0, auto(50), auto(20))
}
open override func prepareForReuse() {

View File

@@ -39,7 +39,7 @@ target 'OrderScheduling' do
pod 'Bugly'
pod 'SwiftyRSA'
pod 'DDPersistenceKit_Private'
pod 'DDUIGestureRecognizer'
pod 'DDUIGestureRecognizer', :path => '/Users/zd/Desktop/PodRepository/DDUIGestureRecognizer'
post_install do |installer|
installer.pods_project.targets.each do |target|

View File

@@ -351,7 +351,7 @@ DEPENDENCIES:
- DDProgressHUDKit_Private
- DDTimerSwiftKit_Private
- DDToastKit_Private
- DDUIGestureRecognizer
- DDUIGestureRecognizer (from `/Users/zd/Desktop/PodRepository/DDUIGestureRecognizer`)
- DDUtilsSwiftKit_Private
- DDWebImageKit_Private
- DDZFPlayerKit_Private/ControlView
@@ -387,7 +387,6 @@ SPEC REPOS:
- DDProgressHUDKit_Private
- DDTimerSwiftKit_Private
- DDToastKit_Private
- DDUIGestureRecognizer
- DDUtilsSwiftKit_Private
- DDWebImageKit_Private
- DDZFPlayerKit_Private
@@ -416,6 +415,10 @@ SPEC REPOS:
- SwiftyRSA
- ZLPhotoBrowser
EXTERNAL SOURCES:
DDUIGestureRecognizer:
:path: "/Users/zd/Desktop/PodRepository/DDUIGestureRecognizer"
SPEC CHECKSUMS:
Alamofire: 3ca42e259043ee0dc5c0cdd76c4bc568b8e42af7
AMapFoundation-NO-IDFA: 6ce0ef596d4eb8d934ff498e56747b6de1247b05
@@ -440,7 +443,7 @@ SPEC CHECKSUMS:
DDProgressHUDKit_Private: 1e219062ddeb7801a4bb13b367efa1f3fbf17f1e
DDTimerSwiftKit_Private: cce3fe58b1b581fe4cddb3fb84fcde31b4e83541
DDToastKit_Private: b6ae3709d110cadca503a037419f3709d1755256
DDUIGestureRecognizer: d600dd06894cdb2992776f2000acfc863e3521ed
DDUIGestureRecognizer: a982a64f406b79649e61bb04ea74edf766d9abc7
DDUtilsSwiftKit_Private: 03575cb3204cd43f3521049263f4b6cae3e64700
DDWebImageKit_Private: b905111547e44626773b729bae9030403a9a0c76
DDZFPlayerKit_Private: 5f63a8101e35ffd7b2568f551cbf33b8bedc48ba
@@ -460,6 +463,6 @@ SPEC CHECKSUMS:
SwiftyRSA: 8c6dd1ea7db1b8dc4fb517a202f88bb1354bc2c6
ZLPhotoBrowser: 0563c2bfc7b247b65d023d646012f46cba94101b
PODFILE CHECKSUM: c1aff6879724f747081d832143c7e8cc9a9560d8
PODFILE CHECKSUM: 9fc07eabd4fa5dd9a6251d8c52567b53b4ea6e85
COCOAPODS: 1.11.3

View File

@@ -0,0 +1,29 @@
{
"name": "DDUIGestureRecognizer",
"version": "0.1.3",
"summary": "A short description of DDUIGestureRecognizer.",
"description": "TODO: Add long description of the pod here.",
"homepage": "https://github.com/DDIsFriend/DDUIGestureRecognizer",
"license": {
"type": "MIT",
"file": "LICENSE"
},
"authors": {
"DDIsFriend": "DDIsFriend@163.com"
},
"source": {
"git": "git@github.com:DDIsFriend/DDUIGestureRecognizer.git",
"tag": "0.1.3"
},
"platforms": {
"ios": "12.0"
},
"swift_versions": "4.0",
"subspecs": [
{
"name": "DDUIPanGestureRecognizer",
"source_files": "DDUIGestureRecognizer/Classes/DDUIPanGestureRecognizer/**/*"
}
],
"swift_version": "4.0"
}

11
Pods/Manifest.lock generated
View File

@@ -351,7 +351,7 @@ DEPENDENCIES:
- DDProgressHUDKit_Private
- DDTimerSwiftKit_Private
- DDToastKit_Private
- DDUIGestureRecognizer
- DDUIGestureRecognizer (from `/Users/zd/Desktop/PodRepository/DDUIGestureRecognizer`)
- DDUtilsSwiftKit_Private
- DDWebImageKit_Private
- DDZFPlayerKit_Private/ControlView
@@ -387,7 +387,6 @@ SPEC REPOS:
- DDProgressHUDKit_Private
- DDTimerSwiftKit_Private
- DDToastKit_Private
- DDUIGestureRecognizer
- DDUtilsSwiftKit_Private
- DDWebImageKit_Private
- DDZFPlayerKit_Private
@@ -416,6 +415,10 @@ SPEC REPOS:
- SwiftyRSA
- ZLPhotoBrowser
EXTERNAL SOURCES:
DDUIGestureRecognizer:
:path: "/Users/zd/Desktop/PodRepository/DDUIGestureRecognizer"
SPEC CHECKSUMS:
Alamofire: 3ca42e259043ee0dc5c0cdd76c4bc568b8e42af7
AMapFoundation-NO-IDFA: 6ce0ef596d4eb8d934ff498e56747b6de1247b05
@@ -440,7 +443,7 @@ SPEC CHECKSUMS:
DDProgressHUDKit_Private: 1e219062ddeb7801a4bb13b367efa1f3fbf17f1e
DDTimerSwiftKit_Private: cce3fe58b1b581fe4cddb3fb84fcde31b4e83541
DDToastKit_Private: b6ae3709d110cadca503a037419f3709d1755256
DDUIGestureRecognizer: d600dd06894cdb2992776f2000acfc863e3521ed
DDUIGestureRecognizer: a982a64f406b79649e61bb04ea74edf766d9abc7
DDUtilsSwiftKit_Private: 03575cb3204cd43f3521049263f4b6cae3e64700
DDWebImageKit_Private: b905111547e44626773b729bae9030403a9a0c76
DDZFPlayerKit_Private: 5f63a8101e35ffd7b2568f551cbf33b8bedc48ba
@@ -460,6 +463,6 @@ SPEC CHECKSUMS:
SwiftyRSA: 8c6dd1ea7db1b8dc4fb517a202f88bb1354bc2c6
ZLPhotoBrowser: 0563c2bfc7b247b65d023d646012f46cba94101b
PODFILE CHECKSUM: c1aff6879724f747081d832143c7e8cc9a9560d8
PODFILE CHECKSUM: 9fc07eabd4fa5dd9a6251d8c52567b53b4ea6e85
COCOAPODS: 1.11.3

File diff suppressed because it is too large Load Diff

View File

@@ -5,7 +5,7 @@ OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fm
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/DDUIGestureRecognizer
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../../PodRepository/DDUIGestureRecognizer
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES

View File

@@ -5,7 +5,7 @@ OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -import-underlying-module -Xcc -fm
PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
PODS_ROOT = ${SRCROOT}
PODS_TARGET_SRCROOT = ${PODS_ROOT}/DDUIGestureRecognizer
PODS_TARGET_SRCROOT = ${PODS_ROOT}/../../../PodRepository/DDUIGestureRecognizer
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier}
SKIP_INSTALL = YES