diff --git a/OrderScheduling.xcodeproj/project.pbxproj b/OrderScheduling.xcodeproj/project.pbxproj index c293962..4f399a8 100644 --- a/OrderScheduling.xcodeproj/project.pbxproj +++ b/OrderScheduling.xcodeproj/project.pbxproj @@ -35,6 +35,7 @@ 791887C62A84D9DF007EA0C1 /* DispatchOrderController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 791887C52A84D9DF007EA0C1 /* DispatchOrderController.swift */; }; 792EE0952AA74E0A00A212AB /* PushNotiCommonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792EE0942AA74E0A00A212AB /* PushNotiCommonView.swift */; }; 792EE0972AA74E5800A212AB /* PushNotiCommonTool.swift in Sources */ = {isa = PBXBuildFile; fileRef = 792EE0962AA74E5800A212AB /* PushNotiCommonTool.swift */; }; + 7940277A2B3BD46B00EC52D4 /* VehicleMonitoringConfigView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794027792B3BD46B00EC52D4 /* VehicleMonitoringConfigView.swift */; }; 794FBB0D2A8F040D00D57BB8 /* HistoryController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB0C2A8F040D00D57BB8 /* HistoryController.swift */; }; 794FBB142A8F045F00D57BB8 /* MineController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB132A8F045F00D57BB8 /* MineController.swift */; }; 794FBB162A8F1A3300D57BB8 /* RescuePhotoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 794FBB152A8F1A3300D57BB8 /* RescuePhotoController.swift */; }; @@ -137,6 +138,7 @@ 791887C52A84D9DF007EA0C1 /* DispatchOrderController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DispatchOrderController.swift; sourceTree = ""; }; 792EE0942AA74E0A00A212AB /* PushNotiCommonView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushNotiCommonView.swift; sourceTree = ""; }; 792EE0962AA74E5800A212AB /* PushNotiCommonTool.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PushNotiCommonTool.swift; sourceTree = ""; }; + 794027792B3BD46B00EC52D4 /* VehicleMonitoringConfigView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = VehicleMonitoringConfigView.swift; sourceTree = ""; }; 794FBB0C2A8F040D00D57BB8 /* HistoryController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HistoryController.swift; sourceTree = ""; }; 794FBB132A8F045F00D57BB8 /* MineController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineController.swift; sourceTree = ""; }; 794FBB152A8F1A3300D57BB8 /* RescuePhotoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RescuePhotoController.swift; sourceTree = ""; }; @@ -619,6 +621,7 @@ isa = PBXGroup; children = ( 79B966372AB0651C00308A8D /* VehicleLogoutView.swift */, + 794027792B3BD46B00EC52D4 /* VehicleMonitoringConfigView.swift */, ); path = View; sourceTree = ""; @@ -966,6 +969,7 @@ 79CECC192A89EE6A00B95D8B /* ReviewFailedController.swift in Sources */, 791887C62A84D9DF007EA0C1 /* DispatchOrderController.swift in Sources */, 7918877B2A7CDD1A007EA0C1 /* Initial.swift in Sources */, + 7940277A2B3BD46B00EC52D4 /* VehicleMonitoringConfigView.swift in Sources */, 791887C42A84BFDB007EA0C1 /* Tool.swift in Sources */, 794FBB162A8F1A3300D57BB8 /* RescuePhotoController.swift in Sources */, 79E434252AA1919400AEB16C /* CommonAlertView.swift in Sources */, diff --git a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate index e287613..99371f9 100644 Binary files a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate and b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/UserInterfaceState.xcuserstate differ diff --git a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist index cbc8c0e..45be3aa 100644 --- a/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist +++ b/OrderScheduling.xcworkspace/xcuserdata/zd.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist @@ -2029,8 +2029,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "662" - endingLineNumber = "662" + startingLineNumber = "691" + endingLineNumber = "691" landmarkName = "viewDidLoad()" landmarkType = "7"> @@ -2348,8 +2348,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "194" - endingLineNumber = "194" + startingLineNumber = "222" + endingLineNumber = "222" landmarkName = "addAction()" landmarkType = "7"> @@ -2460,8 +2460,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "230" - endingLineNumber = "230" + startingLineNumber = "258" + endingLineNumber = "258" landmarkName = "dd_mapView(_:viewFor:)" landmarkType = "7"> @@ -2508,8 +2508,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "206" - endingLineNumber = "206" + startingLineNumber = "234" + endingLineNumber = "234" landmarkName = "dd_mapView(_:viewFor:)" landmarkType = "7"> @@ -2556,8 +2556,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "401" - endingLineNumber = "401" + startingLineNumber = "429" + endingLineNumber = "429" landmarkName = "reloadData(index:)" landmarkType = "7"> @@ -2572,8 +2572,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "399" - endingLineNumber = "399" + startingLineNumber = "427" + endingLineNumber = "427" landmarkName = "reloadData(index:)" landmarkType = "7"> @@ -2588,8 +2588,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "402" - endingLineNumber = "402" + startingLineNumber = "430" + endingLineNumber = "430" landmarkName = "reloadData(index:)" landmarkType = "7"> @@ -3771,8 +3771,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "246" - endingLineNumber = "246" + startingLineNumber = "274" + endingLineNumber = "274" landmarkName = "dd_mapView(_:didAnnotationViewTapped:)" landmarkType = "7"> @@ -4855,8 +4855,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "706" - endingLineNumber = "706" + startingLineNumber = "735" + endingLineNumber = "735" landmarkName = "addSubviews()" landmarkType = "7"> @@ -4871,8 +4871,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "290" - endingLineNumber = "290" + startingLineNumber = "318" + endingLineNumber = "318" landmarkName = "listContainerView(_:initListFor:)" landmarkType = "7"> @@ -4887,8 +4887,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "486" - endingLineNumber = "486" + startingLineNumber = "514" + endingLineNumber = "514" landmarkName = "selectVehicle(vehicleModel:currentTableViewVehicleModels:selectIndex:mapView:)" landmarkType = "7"> @@ -4903,8 +4903,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "331" - endingLineNumber = "331" + startingLineNumber = "359" + endingLineNumber = "359" landmarkName = "listContainerView(_:initListFor:)" landmarkType = "7"> @@ -4919,8 +4919,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "318" - endingLineNumber = "318" + startingLineNumber = "346" + endingLineNumber = "346" landmarkName = "listContainerView(_:initListFor:)" landmarkType = "7"> @@ -4967,8 +4967,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "337" - endingLineNumber = "337" + startingLineNumber = "365" + endingLineNumber = "365" landmarkName = "categoryView(_:didSelectedItemAt:)" landmarkType = "7"> @@ -5015,8 +5015,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "348" - endingLineNumber = "348" + startingLineNumber = "376" + endingLineNumber = "376" landmarkName = "categoryView(_:didSelectedItemAt:)" landmarkType = "7"> @@ -5031,8 +5031,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "771" - endingLineNumber = "771" + startingLineNumber = "800" + endingLineNumber = "800" landmarkName = "viewSafeAreaInsetsDidChange()" landmarkType = "7"> @@ -5111,8 +5111,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "1159" - endingLineNumber = "1159" + startingLineNumber = "1188" + endingLineNumber = "1188" landmarkName = "init(taskModels:)" landmarkType = "7"> @@ -5159,8 +5159,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "1171" - endingLineNumber = "1171" + startingLineNumber = "1200" + endingLineNumber = "1200" landmarkName = "init(taskModels:)" landmarkType = "7"> @@ -5207,8 +5207,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "1173" - endingLineNumber = "1173" + startingLineNumber = "1202" + endingLineNumber = "1202" landmarkName = "init(taskModels:)" landmarkType = "7"> @@ -5302,8 +5302,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "1000" - endingLineNumber = "1000" + startingLineNumber = "1029" + endingLineNumber = "1029" landmarkName = "listContainerView(_:initListFor:)" landmarkType = "7"> @@ -5318,8 +5318,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "1301" - endingLineNumber = "1301" + startingLineNumber = "1330" + endingLineNumber = "1330" landmarkName = "updateData(taskModel:)" landmarkType = "7"> @@ -5350,8 +5350,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "1162" - endingLineNumber = "1162" + startingLineNumber = "1191" + endingLineNumber = "1191" landmarkName = "init(taskModels:)" landmarkType = "7"> @@ -5366,8 +5366,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "1175" - endingLineNumber = "1175" + startingLineNumber = "1204" + endingLineNumber = "1204" landmarkName = "init(taskModels:)" landmarkType = "7"> @@ -5382,8 +5382,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "1005" - endingLineNumber = "1005" + startingLineNumber = "1034" + endingLineNumber = "1034" landmarkName = "categoryView(_:didSelectedItemAt:)" landmarkType = "7"> @@ -5398,8 +5398,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "1174" - endingLineNumber = "1174" + startingLineNumber = "1203" + endingLineNumber = "1203" landmarkName = "init(taskModels:)" landmarkType = "7"> @@ -5414,8 +5414,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "338" - endingLineNumber = "338" + startingLineNumber = "366" + endingLineNumber = "366" landmarkName = "categoryView(_:didSelectedItemAt:)" landmarkType = "7"> @@ -5430,8 +5430,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "569" - endingLineNumber = "569" + startingLineNumber = "597" + endingLineNumber = "597" landmarkName = "showListDetail(vehicleModel:)" landmarkType = "7"> @@ -5462,8 +5462,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "186" - endingLineNumber = "186" + startingLineNumber = "189" + endingLineNumber = "189" landmarkName = "addAction()" landmarkType = "7"> @@ -5478,8 +5478,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "751" - endingLineNumber = "751" + startingLineNumber = "780" + endingLineNumber = "780" landmarkName = "viewSafeAreaInsetsDidChange()" landmarkType = "7"> @@ -5494,8 +5494,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "757" - endingLineNumber = "757" + startingLineNumber = "786" + endingLineNumber = "786" landmarkName = "viewSafeAreaInsetsDidChange()" landmarkType = "7"> @@ -5510,8 +5510,8 @@ filePath = "OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift" startingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807" - startingLineNumber = "763" - endingLineNumber = "763" + startingLineNumber = "792" + endingLineNumber = "792" landmarkName = "viewSafeAreaInsetsDidChange()" landmarkType = "7"> diff --git a/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_logout_icon.imageset/Contents.json b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_logout_icon.imageset/Contents.json new file mode 100644 index 0000000..d00da15 --- /dev/null +++ b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_logout_icon.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "vehicleMonitor_logout_icon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "vehicleMonitor_logout_icon@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "vehicleMonitor_logout_icon@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_logout_icon.imageset/vehicleMonitor_logout_icon.png b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_logout_icon.imageset/vehicleMonitor_logout_icon.png new file mode 100644 index 0000000..0350255 Binary files /dev/null and b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_logout_icon.imageset/vehicleMonitor_logout_icon.png differ diff --git a/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_logout_icon.imageset/vehicleMonitor_logout_icon@2x.png b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_logout_icon.imageset/vehicleMonitor_logout_icon@2x.png new file mode 100644 index 0000000..c2894b0 Binary files /dev/null and b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_logout_icon.imageset/vehicleMonitor_logout_icon@2x.png differ diff --git a/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_logout_icon.imageset/vehicleMonitor_logout_icon@3x.png b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_logout_icon.imageset/vehicleMonitor_logout_icon@3x.png new file mode 100644 index 0000000..0d6ca32 Binary files /dev/null and b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_logout_icon.imageset/vehicleMonitor_logout_icon@3x.png differ diff --git a/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_video_icon.imageset/Contents.json b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_video_icon.imageset/Contents.json new file mode 100644 index 0000000..5ee7743 --- /dev/null +++ b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_video_icon.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "vehicleMonitor_video_icon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "vehicleMonitor_video_icon@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "vehicleMonitor_video_icon@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_video_icon.imageset/vehicleMonitor_video_icon.png b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_video_icon.imageset/vehicleMonitor_video_icon.png new file mode 100644 index 0000000..0913180 Binary files /dev/null and b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_video_icon.imageset/vehicleMonitor_video_icon.png differ diff --git a/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_video_icon.imageset/vehicleMonitor_video_icon@2x.png b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_video_icon.imageset/vehicleMonitor_video_icon@2x.png new file mode 100644 index 0000000..db4d6dd Binary files /dev/null and b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_video_icon.imageset/vehicleMonitor_video_icon@2x.png differ diff --git a/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_video_icon.imageset/vehicleMonitor_video_icon@3x.png b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_video_icon.imageset/vehicleMonitor_video_icon@3x.png new file mode 100644 index 0000000..cc9992b Binary files /dev/null and b/OrderScheduling/Assets.xcassets/VehicleMonitoring/vehicleMonitor_video_icon.imageset/vehicleMonitor_video_icon@3x.png differ diff --git a/OrderScheduling/Entry/Entry.swift b/OrderScheduling/Entry/Entry.swift index 3fda4ea..20bc8ec 100644 --- a/OrderScheduling/Entry/Entry.swift +++ b/OrderScheduling/Entry/Entry.swift @@ -406,6 +406,50 @@ open class Entry { SwiftEntryKit.display(entry: view, using: attributes) } + func showVehicleMonitoringConfigEntry(view: UIView, name: String? = nil) { + var attributes = EKAttributes() + attributes = .bottomFloat + attributes.name = name + attributes.precedence = .override(priority: .min, dropEnqueuedEntries: false) + attributes.displayMode = .inferred + attributes.displayDuration = .infinity + attributes.screenBackground = .color(color: .black.with(alpha: 0.3)) + attributes.entryBackground = .color(color: .clear) + attributes.screenInteraction = .absorbTouches + attributes.entryInteraction = .absorbTouches + attributes.scroll = .disabled + attributes.entranceAnimation = .init( + translate: .init( + duration: 0.25, + spring: .init(damping: 1, initialVelocity: 0) + ) + ) + attributes.exitAnimation = .init( + translate: .init(duration: 0.25) + ) + attributes.popBehavior = .animated( + animation: .init( + translate: .init(duration: 0.25) + ) + ) + attributes.shadow = .active( + with: .init( + color: .black, + opacity: 0.3, + radius: 6 + ) + ) + attributes.positionConstraints.size = .init( + width: .fill, + height: .fill + ) + attributes.positionConstraints.verticalOffset = 0 + attributes.positionConstraints.safeArea = .overridden + attributes.positionConstraints.rotation.isEnabled = false + attributes.statusBar = .light + SwiftEntryKit.display(entry: view, using: attributes) + } + public func isCurrentlyDisplaying(entryNamed name: String? = nil) -> Bool { return SwiftEntryKit.isCurrentlyDisplaying(entryNamed: name) } diff --git a/OrderScheduling/Strings/EntryStrings.swift b/OrderScheduling/Strings/EntryStrings.swift index 6c48592..7b1f8d0 100644 --- a/OrderScheduling/Strings/EntryStrings.swift +++ b/OrderScheduling/Strings/EntryStrings.swift @@ -24,3 +24,5 @@ public let pushNotiCommonViewEntry = "pushNotiCommonViewEntry" public let vehicleLogoutEntry = "vehicleLogoutEntry" public let notObtainUserPermissionsEntry = "notObtainPermissionsEntry" + +public let vehicleMonitoringConfigEntry = "vehicleMonitoringConfigEntry" diff --git a/OrderScheduling/VehicleMonitoring/View/VehicleMonitoringConfigView.swift b/OrderScheduling/VehicleMonitoring/View/VehicleMonitoringConfigView.swift new file mode 100644 index 0000000..650811f --- /dev/null +++ b/OrderScheduling/VehicleMonitoring/View/VehicleMonitoringConfigView.swift @@ -0,0 +1,125 @@ +// +// VehicleMonitoringConfigView.swift +// OrderScheduling +// +// Created by 中道 on 2023/12/27. +// + +import Foundation +import DDControlsKit_Private +import DDAutoUIKit_Private +import SnapKit + +open class VehicleMonitoringConfigView : DDView { + public var optionsRadiusView : DDView + public var vehicleLogoutItem : VMCItemView + public var vehicleVideoItem : VMCItemView + public var cancelView : VMCCancelView + public var logoutGes = UITapGestureRecognizer() + public var videoGes = UITapGestureRecognizer() + public var cancelGes = UITapGestureRecognizer() + + public override init(frame: CGRect) { + optionsRadiusView = DDView() + vehicleLogoutItem = VMCItemView() + vehicleVideoItem = VMCItemView() + cancelView = VMCCancelView() + super.init(frame: frame) + + optionsRadiusView.layer.cornerRadius = auto(10) + optionsRadiusView.layer.masksToBounds = true + optionsRadiusView.backgroundColor = .white + addSubview(optionsRadiusView) + vehicleLogoutItem.titleLabel.text = "车辆退出" + vehicleLogoutItem.icon.image = UIImage(named: "vehicleMonitor_logout_icon") + vehicleLogoutItem.addGestureRecognizer(logoutGes) + optionsRadiusView.addSubview(vehicleLogoutItem) + vehicleVideoItem.titleLabel.text = "车辆监控" + vehicleVideoItem.icon.image = UIImage(named: "vehicleMonitor_video_icon") + vehicleVideoItem.addGestureRecognizer(videoGes) + optionsRadiusView.addSubview(vehicleVideoItem) + + cancelView.layer.cornerRadius = auto(10) + cancelView.backgroundColor = .white + cancelView.titleLabel.text = "取消" + cancelView.addGestureRecognizer(cancelGes) + addSubview(cancelView) + + cancelView.snp.makeConstraints { make in + make.bottom.equalTo(-auto(20)) + make.left.right.equalToSuperview().inset(auto(10)) + make.height.equalTo(auto(60)) + } + + optionsRadiusView.snp.makeConstraints { make in + make.bottom.equalTo(cancelView.snp.top).offset(-auto(10)) + make.left.right.equalTo(cancelView) + make.height.equalTo(auto(120)) + } + + vehicleLogoutItem.snp.makeConstraints { make in + make.left.top.right.equalToSuperview() + make.height.equalToSuperview().multipliedBy(0.5) + } + + vehicleVideoItem.snp.makeConstraints { make in + make.left.right.bottom.equalToSuperview() + make.height.equalToSuperview().multipliedBy(0.5) + } + } + + public required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} + +open class VMCItemView : DDView { + public let titleLabel : DDLabel + public let icon : DDImageView + public let line : DDView + public override init(frame: CGRect) { + titleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(16)), textColor: .hex("0B0B0B")) + icon = DDImageView() + line = DDView() + super.init(frame: frame) + addSubview(titleLabel) + addSubview(icon) + line.backgroundColor = .hex("F1F2F5") + addSubview(line) + + titleLabel.snp.makeConstraints { make in + make.centerY.equalToSuperview() + make.left.equalTo(auto(20)) + } + + icon.snp.makeConstraints { make in + make.right.equalTo(-auto(20)) + make.centerY.equalToSuperview() + } + + line.snp.makeConstraints { make in + make.bottom.equalToSuperview() + make.left.right.equalToSuperview().inset(auto(10)) + make.height.equalTo(1) + } + } + public required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} + +open class VMCCancelView : DDView { + public let titleLabel : DDLabel + public override init(frame: CGRect) { + titleLabel = DDLabel.dd_init(withText: "取消", font: .mediumFont(auto(18)), textColor: .hex("0B0B0B")) + super.init(frame: frame) + addSubview(titleLabel) + + titleLabel.snp.makeConstraints { make in + make.centerX.centerY.equalToSuperview() + } + } + public required init?(coder: NSCoder) { + fatalError("init(coder:) has not been implemented") + } +} diff --git a/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift b/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift index a13f388..41ebd3b 100644 --- a/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift +++ b/OrderScheduling/VehicleMonitoring/ViewController/VehicleMonitoringController.swift @@ -183,7 +183,35 @@ extension VehicleMonitoringController { vehicleMonitoringListDetailView.settingButton.rx.tap .observe(on: MainScheduler.instance) .subscribe(onNext: {[weak self] _ in - self?.showVehicleEntryRelay.accept(self?.selectedModel) + if let view = self?.vehicleConfigView { + ENTRY.showVehicleMonitoringConfigEntry(view: view, name: vehicleMonitoringConfigEntry) + } + }) + .disposed(by: disposeBag) + + vehicleConfigView.cancelGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: { _ in + ENTRY.dismiss(name: vehicleMonitoringConfigEntry) + }) + .disposed(by: disposeBag) + + vehicleConfigView.videoGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: {[weak self] _ in + ENTRY.dismiss(name: vehicleMonitoringConfigEntry) {[weak self] in + let vc = VehicleMonitorVideoController.init(vehicleId: self?.selectedModel?.vehicleId, deviceCode: nil) + self?.navigationController?.pushViewController(vc, animated: true) + } + }) + .disposed(by: disposeBag) + + vehicleConfigView.logoutGes.rx.event + .observe(on: MainScheduler.instance) + .subscribe(onNext: {[weak self] _ in + ENTRY.dismiss(name: vehicleMonitoringConfigEntry) {[weak self] in + self?.showVehicleEntryRelay.accept(self?.selectedModel) + } }) .disposed(by: disposeBag) @@ -651,6 +679,7 @@ open class VehicleMonitoringController : ZDViewController { private var preRefreshRelay = ReplayRelay.create(bufferSize: 1) /// 刷新列表数据以及消息的数据 private let vehicleLogoutView = VehicleLogoutView() /// 车辆退出界面 + private let vehicleConfigView = VehicleMonitoringConfigView() private var showVehicleEntryRelay = ReplayRelay.create(bufferSize: 1) /// 车辆退出点击事件 private var vehicleLogoutModel : VehicleMonitorListDataModel.ItemModel? private var vehicleLogoutRelay = ReplayRelay.create(bufferSize: 1)