筛选功能约束问题

This commit is contained in:
DDIsFriend
2024-01-04 18:13:24 +08:00
parent 91b99671f3
commit 8661e027d0
23 changed files with 750 additions and 490 deletions

View File

@@ -427,8 +427,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "1071" startingLineNumber = "1093"
endingLineNumber = "1071" endingLineNumber = "1093"
landmarkName = "collectionView(_:cellForItemAt:)" landmarkName = "collectionView(_:cellForItemAt:)"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -1221,8 +1221,8 @@
filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift" filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "320" startingLineNumber = "357"
endingLineNumber = "320" endingLineNumber = "357"
landmarkName = "reloadData()" landmarkName = "reloadData()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -1285,8 +1285,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "268" startingLineNumber = "283"
endingLineNumber = "268" endingLineNumber = "283"
landmarkName = "entry(model:remarkId:)" landmarkName = "entry(model:remarkId:)"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -2045,8 +2045,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "1082" startingLineNumber = "1104"
endingLineNumber = "1082" endingLineNumber = "1104"
landmarkName = "collectionView(_:didSelectItemAt:)" landmarkName = "collectionView(_:didSelectItemAt:)"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -2093,8 +2093,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "343" startingLineNumber = "358"
endingLineNumber = "343" endingLineNumber = "358"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -2109,8 +2109,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "332" startingLineNumber = "347"
endingLineNumber = "332" endingLineNumber = "347"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -2125,8 +2125,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "334" startingLineNumber = "349"
endingLineNumber = "334" endingLineNumber = "349"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -2284,8 +2284,8 @@
filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift" filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "144" startingLineNumber = "168"
endingLineNumber = "144" endingLineNumber = "168"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -2300,8 +2300,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "79" startingLineNumber = "97"
endingLineNumber = "79" endingLineNumber = "97"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -2316,8 +2316,8 @@
filePath = "OrderScheduling/History/ViewController/HistoryController.swift" filePath = "OrderScheduling/History/ViewController/HistoryController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "74" startingLineNumber = "92"
endingLineNumber = "74" endingLineNumber = "92"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -2380,8 +2380,8 @@
filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift" filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "319" startingLineNumber = "356"
endingLineNumber = "319" endingLineNumber = "356"
landmarkName = "reloadData()" landmarkName = "reloadData()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -2396,10 +2396,10 @@
filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift" filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "318" startingLineNumber = "355"
endingLineNumber = "318" endingLineNumber = "355"
landmarkName = "ReviewFailedController" landmarkName = "reloadData()"
landmarkType = "3"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy <BreakpointProxy
@@ -2412,8 +2412,8 @@
filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift" filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "254" startingLineNumber = "278"
endingLineNumber = "254" endingLineNumber = "278"
landmarkName = "viewDidLoad()" landmarkName = "viewDidLoad()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -2428,8 +2428,8 @@
filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift" filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "248" startingLineNumber = "272"
endingLineNumber = "248" endingLineNumber = "272"
landmarkName = "viewDidLoad()" landmarkName = "viewDidLoad()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -3003,8 +3003,8 @@
filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift" filePath = "OrderScheduling/ReviewFailed/ViewController/ReviewFailedController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "232" startingLineNumber = "256"
endingLineNumber = "232" endingLineNumber = "256"
landmarkName = "init(nibName:bundle:)" landmarkName = "init(nibName:bundle:)"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -3419,8 +3419,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "1018" startingLineNumber = "1040"
endingLineNumber = "1018" endingLineNumber = "1040"
landmarkName = "tableView(_:cellForRowAt:)" landmarkName = "tableView(_:cellForRowAt:)"
landmarkType = "7"> landmarkType = "7">
<Locations> <Locations>
@@ -3467,8 +3467,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "1023" startingLineNumber = "1045"
endingLineNumber = "1023" endingLineNumber = "1045"
landmarkName = "tableView(_:cellForRowAt:)" landmarkName = "tableView(_:cellForRowAt:)"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -3819,8 +3819,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "225" startingLineNumber = "240"
endingLineNumber = "225" endingLineNumber = "240"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -3835,8 +3835,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "232" startingLineNumber = "247"
endingLineNumber = "232" endingLineNumber = "247"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -3851,8 +3851,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "91" startingLineNumber = "109"
endingLineNumber = "91" endingLineNumber = "109"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -3867,8 +3867,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "90" startingLineNumber = "108"
endingLineNumber = "90" endingLineNumber = "108"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -3883,8 +3883,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "390" startingLineNumber = "402"
endingLineNumber = "390" endingLineNumber = "402"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -3899,8 +3899,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "400" startingLineNumber = "412"
endingLineNumber = "400" endingLineNumber = "412"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -3915,8 +3915,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "311" startingLineNumber = "326"
endingLineNumber = "311" endingLineNumber = "326"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -3931,8 +3931,8 @@
filePath = "OrderScheduling/History/ViewController/HistoryController.swift" filePath = "OrderScheduling/History/ViewController/HistoryController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "123" startingLineNumber = "141"
endingLineNumber = "123" endingLineNumber = "141"
landmarkName = "addActions()" landmarkName = "addActions()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -4423,8 +4423,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "2051" startingLineNumber = "2109"
endingLineNumber = "2051" endingLineNumber = "2109"
landmarkName = "init(style:reuseIdentifier:)" landmarkName = "init(style:reuseIdentifier:)"
landmarkType = "7"> landmarkType = "7">
<Locations> <Locations>
@@ -4471,8 +4471,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "2058" startingLineNumber = "2116"
endingLineNumber = "2058" endingLineNumber = "2116"
landmarkName = "init(style:reuseIdentifier:)" landmarkName = "init(style:reuseIdentifier:)"
landmarkType = "7"> landmarkType = "7">
<Locations> <Locations>
@@ -4519,8 +4519,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "697" startingLineNumber = "719"
endingLineNumber = "697" endingLineNumber = "719"
landmarkName = "tableView(_:cellForRowAt:)" landmarkName = "tableView(_:cellForRowAt:)"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
@@ -4599,8 +4599,8 @@
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift" filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "1010" startingLineNumber = "1032"
endingLineNumber = "1010" endingLineNumber = "1032"
landmarkName = "tableView(_:cellForRowAt:)" landmarkName = "tableView(_:cellForRowAt:)"
landmarkType = "7"> landmarkType = "7">
<Locations> <Locations>
@@ -5670,8 +5670,8 @@
filePath = "OrderScheduling/Common/View/ConditionalSearchTool.swift" filePath = "OrderScheduling/Common/View/ConditionalSearchTool.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "15" startingLineNumber = "17"
endingLineNumber = "15" endingLineNumber = "17"
landmarkName = "ConditionalSearchTool" landmarkName = "ConditionalSearchTool"
landmarkType = "3"> landmarkType = "3">
<Locations> <Locations>
@@ -5748,124 +5748,12 @@
filePath = "OrderScheduling/Common/View/ConditionalSearchTool.swift" filePath = "OrderScheduling/Common/View/ConditionalSearchTool.swift"
startingColumnNumber = "9223372036854775807" startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807" endingColumnNumber = "9223372036854775807"
startingLineNumber = "32" startingLineNumber = "49"
endingLineNumber = "32" endingLineNumber = "49"
landmarkName = "init()" landmarkName = "init()"
landmarkType = "7"> landmarkType = "7">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "BEB59567-5E42-4686-B576-1DDBF87DB80D"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Common/View/ConditionalSearchTool.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "38"
endingLineNumber = "38"
landmarkName = "init()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "7DE5C61B-A03C-442F-BCB9-81BF4AEEA4CB"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "362"
endingLineNumber = "362"
landmarkName = "addActions()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "2AA0A341-CD49-4548-90F7-6E0AC6503302"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Common/View/ConditionalSearchView.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "340"
endingLineNumber = "340"
landmarkName = "updateLayout(bottom:)"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "EFED7A5B-E70B-4B9D-A029-39BC04F78AFF"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Common/View/ConditionalSearchTool.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "37"
endingLineNumber = "37"
landmarkName = "init()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "1C35974D-0370-4B7E-AC98-C52286B0F664"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Common/View/ConditionalSearchView.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "341"
endingLineNumber = "341"
landmarkName = "updateLayout(bottom:)"
landmarkType = "7">
<Locations>
<Location
uuid = "1C35974D-0370-4B7E-AC98-C52286B0F664 - b91ec168141fd471"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "OrderScheduling.ConditionalSearchView.updateLayout(bottom: Swift.Optional&lt;CoreGraphics.CGFloat&gt;) -&gt; ()"
moduleName = "OrderScheduling"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/Common/View/ConditionalSearchView.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "341"
endingLineNumber = "341"
offsetFromSymbolStart = "772">
</Location>
<Location
uuid = "1C35974D-0370-4B7E-AC98-C52286B0F664 - 196bc1da8fca170a"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #1 (SnapKit.ConstraintMaker) -&gt; () in OrderScheduling.ConditionalSearchView.updateLayout(bottom: Swift.Optional&lt;CoreGraphics.CGFloat&gt;) -&gt; ()"
moduleName = "OrderScheduling"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/Common/View/ConditionalSearchView.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "342"
endingLineNumber = "342"
offsetFromSymbolStart = "540">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy <BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint"> BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent <BreakpointContent
@@ -5882,5 +5770,149 @@
landmarkType = "24"> landmarkType = "24">
</BreakpointContent> </BreakpointContent>
</BreakpointProxy> </BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "B521071E-796C-4837-ABC3-C2DA7726E05B"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "78"
endingLineNumber = "78"
landmarkName = "addActions()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "A13BDBEE-D623-47FC-A3ED-04B53AFE6700"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "378"
endingLineNumber = "378"
landmarkName = "addActions()"
landmarkType = "7">
<Locations>
<Location
uuid = "A13BDBEE-D623-47FC-A3ED-04B53AFE6700 - 1e03ced19486a8ad"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #5 (Swift.Optional&lt;Any&gt;) -&gt; () in OrderScheduling.RescuePendingDispatchController.addActions() -&gt; ()"
moduleName = "OrderScheduling"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "378"
endingLineNumber = "378"
offsetFromSymbolStart = "636">
</Location>
<Location
uuid = "A13BDBEE-D623-47FC-A3ED-04B53AFE6700 - 805d6a296eb12019"
shouldBeEnabled = "Yes"
ignoreCount = "0"
continueAfterRunningActions = "No"
symbolName = "closure #1 (SnapKit.ConstraintMaker) -&gt; () in closure #5 (Swift.Optional&lt;Any&gt;) -&gt; () in OrderScheduling.RescuePendingDispatchController.addActions() -&gt; ()"
moduleName = "OrderScheduling"
usesParentBreakpointCondition = "Yes"
urlString = "file:///Users/zd/Desktop/%E4%B8%AD%E9%81%93%E6%95%91%E6%8F%B4/OrderScheduling/OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "379"
endingLineNumber = "379"
offsetFromSymbolStart = "424">
</Location>
</Locations>
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "B36632A4-D280-484A-BF20-B47984576B2C"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1148"
endingLineNumber = "1148"
landmarkName = "addSubviews()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "21D51AFB-3BE0-4EBC-805E-1FAEEB3D9DC6"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1191"
endingLineNumber = "1191"
landmarkName = "addSubviews()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "D5BF9B1B-9982-4D70-A71A-1853537F6413"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1244"
endingLineNumber = "1244"
landmarkName = "viewDidLoad()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "5799B663-8A3B-4300-B73E-A1F2549C6F4A"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1293"
endingLineNumber = "1293"
landmarkName = "viewDidLoad()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
<BreakpointProxy
BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
<BreakpointContent
uuid = "B8A780E0-33C7-43B7-92CD-B67D5CA7B1BD"
shouldBeEnabled = "No"
ignoreCount = "0"
continueAfterRunningActions = "No"
filePath = "OrderScheduling/Rescue/ViewController/RescueController.swift"
startingColumnNumber = "9223372036854775807"
endingColumnNumber = "9223372036854775807"
startingLineNumber = "1341"
endingLineNumber = "1341"
landmarkName = "viewDidLoad()"
landmarkType = "7">
</BreakpointContent>
</BreakpointProxy>
</Breakpoints> </Breakpoints>
</Bucket> </Bucket>

Binary file not shown.

Before

Width:  |  Height:  |  Size: 478 B

After

Width:  |  Height:  |  Size: 181 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 900 B

After

Width:  |  Height:  |  Size: 288 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.4 KiB

After

Width:  |  Height:  |  Size: 468 B

View File

@@ -1,17 +1,17 @@
{ {
"images" : [ "images" : [
{ {
"filename" : "conditional_search_exit.png", "filename" : "conditional_search_reset.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "1x" "scale" : "1x"
}, },
{ {
"filename" : "conditional_search_exit@2x.png", "filename" : "conditional_search_reset@2x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "2x" "scale" : "2x"
}, },
{ {
"filename" : "conditional_search_exit@3x.png", "filename" : "conditional_search_reset@3x.png",
"idiom" : "universal", "idiom" : "universal",
"scale" : "3x" "scale" : "3x"
} }

Binary file not shown.

After

Width:  |  Height:  |  Size: 226 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 401 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 588 B

View File

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

Binary file not shown.

After

Width:  |  Height:  |  Size: 147 B

View File

@@ -9,51 +9,55 @@ import Foundation
import RxSwift import RxSwift
import RxRelay import RxRelay
import RxCocoa import RxCocoa
import SnapKit
import DDControlsKit_Private
class ConditionalSearchTool : NSObject { class ConditionalSearchTool : NSObject {
private lazy var searchView = ConditionalSearchView.init() public lazy var searchView = ConditionalSearchView.init()
private let disposeBag = DisposeBag() public lazy var coverView = DDView()
public let showSearchViewSub = ReplayRelay<CGFloat?>.create(bufferSize: 1)
private let disposeBag = DisposeBag()
///
public var orderCodeItem : String?
public var carOwnerItem : String?
public var licenseItem : String?
///
public var contractNameItem : String?
public var contractSelectedItem : Int? public var contractSelectedItem : Int?
public var contractSelectedItemString : String? public var contractSelectedItemString : String?
public var serviceSelectedItem : Int?
public var serviceSelectedItemString : String? ///
public var fromSelectedItem : String? public var fromSelectedItem : String?
public var toSelectedItem : String? public var toSelectedItem : String?
///
public var serviceSelectedItem : Int?
public var serviceSelectedItemString : String?
public var serviceNameItem : String?
public var searchParameters : OrderListParameters? public var searchParameters : OrderListParameters?
public var resetSub = ReplayRelay<Any?>.create(bufferSize: 1) public var resetSub = ReplayRelay<Any?>.create(bufferSize: 1)
public var searchSub = ReplayRelay<Any?>.create(bufferSize: 1) public var searchSub = ReplayRelay<Any?>.create(bufferSize: 1)
public var isFilterSub = ReplayRelay<Bool>.create(bufferSize: 1)
override init() { override init() {
super.init() super.init()
coverView.backgroundColor = .hex("848484").alpha(0.3)
showSearchViewSub coverView.isHidden = true
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] bottom in
if let searchView = self?.searchView {
searchView.updateLayout(bottom: bottom)
ENTRY.showSearchEntry(view: searchView,name: conitionalSearchEntry)
}
})
.disposed(by: disposeBag)
searchView.exitButton.rx.tap
.observe(on: MainScheduler.instance)
.subscribe(onNext: {
ENTRY.dismiss(name: conitionalSearchEntry)
})
.disposed(by: disposeBag)
searchView.contractTypeButton.rx.tap searchView.contractTypeButton.rx.tap
.observe(on: MainScheduler.instance) .observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in .subscribe(onNext: {[weak self] _ in
CP.showItems(items: [OrderListParameters.ContractTypeEnum.baoxian.rawValue,OrderListParameters.ContractTypeEnum.chechan.rawValue,OrderListParameters.ContractTypeEnum.fours.rawValue,OrderListParameters.ContractTypeEnum.wuliu.rawValue,OrderListParameters.ContractTypeEnum.sanke.rawValue,OrderListParameters.ContractTypeEnum.xuni.rawValue,OrderListParameters.ContractTypeEnum.yiliao.rawValue,OrderListParameters.ContractTypeEnum.zixun.rawValue,OrderListParameters.ContractTypeEnum.huicheng.rawValue],selectedItem: self?.contractSelectedItemString) {[weak self] result in CP.showItems(items: [OrderListParameters.ContractTypeEnum.baoxian.rawValue,OrderListParameters.ContractTypeEnum.chechan.rawValue,OrderListParameters.ContractTypeEnum.fours.rawValue,OrderListParameters.ContractTypeEnum.wuliu.rawValue,OrderListParameters.ContractTypeEnum.sanke.rawValue,OrderListParameters.ContractTypeEnum.xuni.rawValue,OrderListParameters.ContractTypeEnum.yiliao.rawValue,OrderListParameters.ContractTypeEnum.zixun.rawValue,OrderListParameters.ContractTypeEnum.huicheng.rawValue],selectedItem: self?.contractSelectedItemString) {[weak self] result in
self?.contractSelectedItem = OrderListParameters.ContractTypeValue(contractType: OrderListParameters.ContractTypeEnum(rawValue: result?.value ?? OrderListParameters.ContractTypeEnum.none.rawValue) ?? OrderListParameters.ContractTypeEnum.none).value
self?.contractSelectedItemString = result?.value self?.contractSelectedItemString = result?.value
self?.contractSelectedItem = OrderListParameters.ContractTypeValue(contractType: OrderListParameters.ContractTypeEnum(rawValue: result?.value ?? OrderListParameters.ContractTypeEnum.none.rawValue) ?? OrderListParameters.ContractTypeEnum.none).value
DispatchQueue.main.async {[weak self] in DispatchQueue.main.async {[weak self] in
self?.searchView.setButtonValue(button: self?.searchView.contractTypeButton, value: result?.value) self?.searchView.setButtonValue(button: self?.searchView.contractTypeButton, value: result?.value)
} }
@@ -101,20 +105,51 @@ class ConditionalSearchTool : NSObject {
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
searchView.orderCodeTextFiled.rx.text
.subscribe(onNext: {[weak self] text in
self?.orderCodeItem = text?.isEmpty == false ? text : nil
})
.disposed(by: disposeBag)
searchView.carOwnerTextField.rx.text
.subscribe(onNext: {[weak self] text in
self?.carOwnerItem = text?.isEmpty == false ? text : nil
})
.disposed(by: disposeBag)
searchView.licenseTextField.rx.text
.subscribe(onNext: {[weak self] text in
self?.licenseItem = text?.isEmpty == false ? text : nil
})
.disposed(by: disposeBag)
searchView.serviceTextField.rx.text
.subscribe(onNext: {[weak self] text in
self?.serviceNameItem = text?.isEmpty == false ? text : nil
})
.disposed(by: disposeBag)
searchView.resetButton.rx.tap searchView.resetButton.rx.tap
.observe(on: MainScheduler.instance) .observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in .subscribe(onNext: {[weak self] _ in
self?.searchView.resetAction() self?.searchView.resetAction()
self?.orderCodeItem = nil
self?.carOwnerItem = nil
self?.licenseItem = nil
self?.contractSelectedItem = nil self?.contractSelectedItem = nil
self?.contractSelectedItemString = nil self?.contractSelectedItemString = nil
self?.serviceSelectedItem = nil
self?.serviceSelectedItemString = nil
self?.fromSelectedItem = nil self?.fromSelectedItem = nil
self?.toSelectedItem = nil self?.toSelectedItem = nil
self?.resetSub.accept(nil) self?.serviceSelectedItem = nil
self?.serviceSelectedItemString = nil
self?.serviceNameItem = nil
// self?.resetSub.accept(nil)
// self?.isFilterSub.accept(self?.isFiltered() ?? false)
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
@@ -122,13 +157,20 @@ class ConditionalSearchTool : NSObject {
searchView.searchButton.rx.tap searchView.searchButton.rx.tap
.observe(on: MainScheduler.instance) .observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in .subscribe(onNext: {[weak self] _ in
ENTRY.dismiss(name: conitionalSearchEntry)
self?.searchSub.accept(nil) self?.searchSub.accept(nil)
self?.isFilterSub.accept(self?.isFiltered() ?? false)
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
} }
func getParameters(pageNum: Int,queryType: OrderTypeEnum) -> OrderListParameters { func getParameters(pageNum: Int,queryType: OrderTypeEnum) -> OrderListParameters {
return OrderListParameters(pageNum: pageNum, queryType: queryType, searchCode: searchView.orderCodeTextFiled.text?.isEmpty == false ? searchView.orderCodeTextFiled.text : nil, userPhone: searchView.carOwnerTextField.text?.isEmpty == false ? searchView.carOwnerTextField.text : nil, soleCode: searchView.licenseTextField.text?.isEmpty == false ? searchView.licenseTextField.text : nil, contractName: searchView.contractTextFiled.text?.isEmpty == false ? searchView.contractTextFiled.text : nil, contractType:contractSelectedItem,createTimeStart: fromSelectedItem,createTimeEnd: toSelectedItem,isAppoint: serviceSelectedItem,serviceName: searchView.serviceTextField.text?.isEmpty == false ? searchView.serviceTextField.text : nil) return OrderListParameters(pageNum: pageNum, queryType: queryType, searchCode: orderCodeItem, userPhone: carOwnerItem, soleCode: licenseItem, contractName: contractNameItem, contractType:contractSelectedItem,createTimeStart: fromSelectedItem,createTimeEnd: toSelectedItem,isAppoint: serviceSelectedItem,serviceName: serviceNameItem)
}
func isFiltered() -> Bool {
if orderCodeItem?.isEmpty == false || carOwnerItem?.isEmpty == false || licenseItem?.isEmpty == false || serviceSelectedItem != nil || fromSelectedItem?.isEmpty == false || toSelectedItem?.isEmpty == false || serviceSelectedItem != nil || serviceNameItem?.isEmpty == false {
return true
}
return false
} }
} }

View File

@@ -12,7 +12,6 @@ import DDColorKit_Private
class ConditionalSearchView : DDView { class ConditionalSearchView : DDView {
public var titleLabel : DDLabel public var titleLabel : DDLabel
public var exitButton : DDButton
public var scrollView : DDScrollView public var scrollView : DDScrollView
public var scrollContentView : DDView public var scrollContentView : DDView
public var bottomView : DDView public var bottomView : DDView
@@ -42,9 +41,11 @@ class ConditionalSearchView : DDView {
public let noneFont = UIFont.mediumFont(14) public let noneFont = UIFont.mediumFont(14)
public let valueFont = UIFont.mediumFont(14) public let valueFont = UIFont.mediumFont(14)
let layerView = UIView()
let borderLayer1 = CAGradientLayer()
public override init(frame: CGRect) { public override init(frame: CGRect) {
titleLabel = DDLabel.dd_init(withText: "订单筛选", font: .mediumFont(17), textColor: .hex("000000").alpha(0.8)) titleLabel = DDLabel.dd_init(withText: "订单筛选", font: .mediumFont(17), textColor: .hex("000000").alpha(0.8))
exitButton = DDButton.dd_initCustom()
bottomView = DDView.init() bottomView = DDView.init()
scrollView = DDScrollView.init() scrollView = DDScrollView.init()
scrollContentView = DDView.init() scrollContentView = DDView.init()
@@ -70,12 +71,16 @@ class ConditionalSearchView : DDView {
super.init(frame: frame) super.init(frame: frame)
backgroundColor = .white backgroundColor = .white
exitButton.setImage(UIImage(named: "conditional_search_exit"), for: .normal)
resetButton.setTitle("重置", for: .normal) resetButton.setTitle("重置", for: .normal)
resetButton.dd_setBackgroundColor(controlBackgroundColor) resetButton.titleLabel?.font = .mediumFont(15)
resetButton.setImage(UIImage(named: "conditional_search_reset"), for: .normal)
resetButton.setTitleColor(.hex("000000"), for: .normal)
resetButton.dd_customize(with: .ImageLeftPaddingTitleRightWithWholeCenter, padding: 5)
searchButton.setTitle("搜索", for: .normal) searchButton.setTitle("搜索", for: .normal)
searchButton.titleLabel?.font = .mediumFont(15)
searchButton.dd_setBackgroundColor(.hex("2A5094")) searchButton.dd_setBackgroundColor(.hex("2A5094"))
layer.maskedCorners = [.layerMinXMinYCorner,.layerMaxXMinYCorner] searchButton.layer.cornerRadius = auto(20)
layer.maskedCorners = [.layerMinXMaxYCorner,.layerMaxXMaxYCorner]
layer.masksToBounds = true layer.masksToBounds = true
layer.cornerRadius = auto(16) layer.cornerRadius = auto(16)
@@ -85,44 +90,46 @@ class ConditionalSearchView : DDView {
make.height.equalTo(auto(80)) make.height.equalTo(auto(80))
} }
let contentView = DDView.init() bottomView.addSubview(resetButton)
contentView.layer.cornerRadius = auto(20) bottomView.addSubview(searchButton)
contentView.layer.masksToBounds = true
bottomView.addSubview(contentView)
contentView.snp.makeConstraints { make in
make.centerX.centerY.equalToSuperview()
make.left.right.equalToSuperview().inset(auto(10))
make.height.equalTo(auto(40))
}
contentView.addSubview(resetButton)
resetButton.snp.makeConstraints { make in resetButton.snp.makeConstraints { make in
make.left.top.bottom.equalToSuperview() make.centerY.equalToSuperview()
make.width.equalToSuperview().multipliedBy(0.5) make.height.equalTo(auto(40))
make.width.equalTo(auto(60))
make.right.equalTo(searchButton.snp.left).offset(-auto(60))
} }
contentView.addSubview(searchButton)
searchButton.snp.makeConstraints { make in searchButton.snp.makeConstraints { make in
make.right.top.bottom.equalToSuperview() make.centerY.equalToSuperview()
make.width.equalToSuperview().multipliedBy(0.5) make.right.equalToSuperview().offset(-auto(10))
make.width.equalTo(auto(200))
make.height.equalTo(auto(40))
} }
addSubview(titleLabel) addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in titleLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(auto(20)) make.top.equalToSuperview().offset(auto(10))
make.centerX.equalToSuperview() make.centerX.equalToSuperview()
} }
addSubview(exitButton) borderLayer1.colors = [UIColor.hex("D9D9D9").alpha(0.6).cgColor, UIColor.hex("B2B2B2").alpha(0.8).cgColor, UIColor.hex("D9D9D9").alpha(0.6).cgColor]
exitButton.snp.makeConstraints { make in borderLayer1.locations = [0, 0.5, 1]
make.centerY.equalTo(titleLabel) borderLayer1.startPoint = CGPoint(x: 0, y: 0.5)
make.right.equalTo(-auto(20)) borderLayer1.endPoint = CGPoint(x: 1, y: 0.5)
layerView.layer.addSublayer(borderLayer1)
addSubview(layerView)
layerView.snp.makeConstraints { make in
make.top.equalTo(titleLabel.snp.bottom).offset(auto(10))
make.width.equalTo(auto(324))
make.height.equalTo(0.5)
make.centerX.equalToSuperview()
} }
addSubview(scrollView) addSubview(scrollView)
scrollView.snp.makeConstraints { make in scrollView.snp.makeConstraints { make in
make.top.equalTo(layerView.snp.bottom).offset(auto(10)).priority(.high)
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
make.top.equalTo(titleLabel.snp.bottom).offset(auto(20))
make.bottom.equalTo(bottomView.snp.top) make.bottom.equalTo(bottomView.snp.top)
} }
@@ -146,9 +153,9 @@ class ConditionalSearchView : DDView {
orderCodeTextFiled.font = valueFont orderCodeTextFiled.font = valueFont
scrollContentView.addSubview(orderCodeTextFiled) scrollContentView.addSubview(orderCodeTextFiled)
orderCodeTextFiled.snp.makeConstraints { make in orderCodeTextFiled.snp.makeConstraints { make in
make.left.equalTo(orderInfoTitleLabel) make.left.equalTo(orderInfoTitleLabel).priority(.high)
make.top.equalTo(orderInfoTitleLabel.snp.bottom).offset(auto(10)) make.top.equalTo(orderInfoTitleLabel.snp.bottom).offset(auto(10))
make.width.equalToSuperview().multipliedBy(0.5).offset(-auto(15)) make.right.equalTo(snp.centerX).offset(-auto(5))
make.height.equalTo(auto(30)) make.height.equalTo(auto(30))
} }
@@ -160,9 +167,9 @@ class ConditionalSearchView : DDView {
licenseTextField.font = valueFont licenseTextField.font = valueFont
scrollContentView.addSubview(licenseTextField) scrollContentView.addSubview(licenseTextField)
licenseTextField.snp.makeConstraints { make in licenseTextField.snp.makeConstraints { make in
make.right.equalTo(-auto(10)) make.right.equalTo(-auto(10)).priority(.high)
make.top.equalTo(orderCodeTextFiled) make.top.equalTo(orderCodeTextFiled)
make.width.equalToSuperview().multipliedBy(0.5).offset(-auto(15)) make.left.equalTo(snp.centerX).offset(auto(5))
make.height.equalTo(orderCodeTextFiled) make.height.equalTo(orderCodeTextFiled)
} }
@@ -235,9 +242,9 @@ class ConditionalSearchView : DDView {
scrollContentView.addSubview(fromDateButton) scrollContentView.addSubview(fromDateButton)
fromDateButton.snp.makeConstraints { make in fromDateButton.snp.makeConstraints { make in
make.top.equalTo(dateTitleLabel.snp.bottom).offset(auto(10)) make.top.equalTo(dateTitleLabel.snp.bottom).offset(auto(10))
make.left.equalTo(auto(10)) make.left.equalTo(auto(10)).priority(.high)
make.height.equalTo(orderCodeTextFiled) make.height.equalTo(orderCodeTextFiled)
make.width.equalToSuperview().multipliedBy(0.5).offset(-auto(20)) make.right.equalTo(snp.centerX).offset(-auto(10))
} }
let middleLine = DDView() let middleLine = DDView()
@@ -258,10 +265,10 @@ class ConditionalSearchView : DDView {
toDateButton.titleLabel?.font = valueFont toDateButton.titleLabel?.font = valueFont
scrollContentView.addSubview(toDateButton) scrollContentView.addSubview(toDateButton)
toDateButton.snp.makeConstraints { make in toDateButton.snp.makeConstraints { make in
make.right.equalTo(licenseTextField.snp.right) make.right.equalTo(licenseTextField.snp.right).priority(.high)
make.top.equalTo(fromDateButton) make.top.equalTo(fromDateButton)
make.height.width.equalTo(fromDateButton) make.height.width.equalTo(fromDateButton)
make.width.equalToSuperview().multipliedBy(0.5).offset(-auto(20)) make.left.equalTo(snp.centerX).offset(auto(10))
} }
scrollContentView.addSubview(serviceTitleLabel) scrollContentView.addSubview(serviceTitleLabel)
@@ -278,7 +285,7 @@ class ConditionalSearchView : DDView {
serviceTextField.font = valueFont serviceTextField.font = valueFont
scrollContentView.addSubview(serviceTextField) scrollContentView.addSubview(serviceTextField)
serviceTextField.snp.makeConstraints { make in serviceTextField.snp.makeConstraints { make in
make.top.equalTo(serviceTitleLabel.snp.bottom).offset(auto(10)) make.top.equalTo(serviceTitleLabel.snp.bottom).offset(auto(10)).priority(.high)
make.left.equalTo(orderCodeTextFiled) make.left.equalTo(orderCodeTextFiled)
make.height.equalTo(orderCodeTextFiled) make.height.equalTo(orderCodeTextFiled)
make.width.equalTo(orderCodeTextFiled) make.width.equalTo(orderCodeTextFiled)
@@ -331,16 +338,13 @@ class ConditionalSearchView : DDView {
serviceTextField.text = nil serviceTextField.text = nil
} }
override func layoutSubviews() {
super.layoutSubviews()
borderLayer1.frame = layerView.bounds
}
func setButtonValue(button: DDButton?, value: String?) { func setButtonValue(button: DDButton?, value: String?) {
button?.setTitle(value, for: .normal) button?.setTitle(value, for: .normal)
button?.setTitleColor(valueColor, for: .normal) button?.setTitleColor(valueColor, for: .normal)
} }
func updateLayout(bottom: CGFloat?) {
if let bottom {
bottomView.snp.updateConstraints { make in
make.bottom.equalToSuperview().offset(-bottom)
}
}
}
} }

View File

@@ -449,50 +449,51 @@ open class Entry {
attributes.statusBar = .light attributes.statusBar = .light
SwiftEntryKit.display(entry: view, using: attributes) SwiftEntryKit.display(entry: view, using: attributes)
} }
//
func showSearchEntry(view: UIView, name: String? = nil) { // func showSearchEntry(view: UIView, name: String? = nil) {
var attributes = EKAttributes() // var attributes = EKAttributes()
attributes = .bottomFloat // attributes = .topToast
attributes.name = name // attributes.name = name
attributes.precedence = .override(priority: .min, dropEnqueuedEntries: false) // attributes.precedence = .override(priority: .min, dropEnqueuedEntries: false)
attributes.displayMode = .inferred // attributes.displayMode = .inferred
attributes.displayDuration = .infinity // attributes.displayDuration = .infinity
attributes.screenBackground = .color(color: .black.with(alpha: 0.3)) // attributes.screenBackground = .color(color: .black.with(alpha: 0.3))
attributes.entryBackground = .color(color: .clear) // attributes.entryBackground = .color(color: .clear)
attributes.screenInteraction = .absorbTouches // attributes.screenInteraction = .absorbTouches
attributes.entryInteraction = .absorbTouches // attributes.entryInteraction = .absorbTouches
attributes.scroll = .disabled // attributes.scroll = .disabled
attributes.entranceAnimation = .init( // attributes.entranceAnimation = .init(
translate: .init( // translate: .init(
duration: 0.25, // duration: 0.25,
spring: .init(damping: 1, initialVelocity: 0) // spring: .init(damping: 1, initialVelocity: 0)
) // )
) // )
attributes.exitAnimation = .init( // attributes.exitAnimation = .init(
translate: .init(duration: 0.25) // translate: .init(duration: 0.25)
) // )
attributes.popBehavior = .animated( // attributes.popBehavior = .animated(
animation: .init( // animation: .init(
translate: .init(duration: 0.25) // translate: .init(duration: 0.25)
) // )
) // )
attributes.shadow = .active( // attributes.shadow = .active(
with: .init( // with: .init(
color: .black, // color: .black,
opacity: 0.3, // opacity: 0.3,
radius: 6 // radius: 6
) // )
) // )
attributes.positionConstraints.size = .init( // attributes.positionConstraints.size = .init(
width: .fill, // width: .fill,
height: .constant(value: auto(500)) // height: .constant(value: auto(500))
) // )
attributes.positionConstraints.verticalOffset = 0 // attributes.positionConstraints.verticalOffset = 0
attributes.positionConstraints.safeArea = .overridden // attributes.positionConstraints.safeArea = .empty(fillSafeArea: false)
attributes.positionConstraints.rotation.isEnabled = false // attributes.positionConstraints.verticalOffset = 44 + auto(44)
attributes.statusBar = .light // attributes.positionConstraints.rotation.isEnabled = false
SwiftEntryKit.display(entry: view, using: attributes) // attributes.statusBar = .light
} // SwiftEntryKit.display(entry: view, using: attributes, presentInsideKeyWindow: true)
// }
public func isCurrentlyDisplaying(entryNamed name: String? = nil) -> Bool { public func isCurrentlyDisplaying(entryNamed name: String? = nil) -> Bool {
return SwiftEntryKit.isCurrentlyDisplaying(entryNamed: name) return SwiftEntryKit.isCurrentlyDisplaying(entryNamed: name)

View File

@@ -67,6 +67,24 @@ extension HistoryController {
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
filterButton.rx.tap
.subscribe(onNext: {[weak self] _ in
if let containerView = self?.categoryView.listContainer as? JXCategoryListContainerView,let selectedIndex = self?.categoryView.selectedIndex {
let key = NSNumber(value: selectedIndex)
let vc = containerView.validListDict[key] as? HistoryItemController
vc?.conditionalSearchTool.searchView.snp.updateConstraints({ make in
make.height.equalTo(auto(450))
})
UIView.animate(withDuration: 0.25) {
vc?.view.layoutIfNeeded()
}
vc?.conditionalSearchTool.coverView.isHidden = false
}
})
.disposed(by: disposeBag)
// tabBar // tabBar
preRefreshRelay preRefreshRelay
.observe(on: MainScheduler.instance) .observe(on: MainScheduler.instance)
@@ -132,22 +150,19 @@ extension HistoryItemController {
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
searchButton.rx.tap
.subscribe(onNext: {[weak self] _ in
self?.conditionalSearchTool.showSearchViewSub.accept(UIApplication.shared.dd_keyWindow.safeAreaInsets.bottom)
})
.disposed(by: disposeBag)
conditionalSearchTool.resetSub
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in
self?.historyItemView.tableView.mj_header?.beginRefreshing()
})
.disposed(by: disposeBag)
conditionalSearchTool.searchSub conditionalSearchTool.searchSub
.observe(on: MainScheduler.instance) .observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in .subscribe(onNext: {[weak self] _ in
self?.conditionalSearchTool.searchView.snp.updateConstraints({ make in
make.height.equalTo(0)
})
UIView.animate(withDuration: 0.25) {
self?.conditionalSearchTool.searchView.superview?.layoutIfNeeded()
}
self?.conditionalSearchTool.coverView.isHidden = true
self?.historyItemView.tableView.mj_header?.beginRefreshing() self?.historyItemView.tableView.mj_header?.beginRefreshing()
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
@@ -304,18 +319,34 @@ extension HistoryController : JXCategoryViewDelegate,JXCategoryListContainerView
} }
public func listContainerView(_ listContainerView: JXCategoryListContainerView!, initListFor index: Int) -> JXCategoryListContentViewDelegate! { public func listContainerView(_ listContainerView: JXCategoryListContainerView!, initListFor index: Int) -> JXCategoryListContentViewDelegate! {
var vc : HistoryItemController
if index == 0 { if index == 0 {
return HistoryItemController(type: .UNCLOSED_ORDER) vc = HistoryItemController(type: .UNCLOSED_ORDER)
}else if index == 1 {
vc = HistoryItemController(type: .WITHIN_30_DAYS)
}else {
vc = HistoryItemController(type: .WITHIN_3_MONTHS)
} }
if index == 1 { vc.conditionalSearchTool.isFilterSub
return HistoryItemController(type: .WITHIN_30_DAYS) .observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] isFilter in
if isFilter == true {
self?.filterButton.setTitleColor(.hex("3678FF"), for: .normal)
self?.filterButton.setImage(UIImage(named: "conditional_search"), for: .normal)
}else{
self?.filterButton.setTitleColor(.hex("737373").alpha(0.55), for: .normal)
self?.filterButton.setImage(UIImage(named: "conditional_search_unselected")?.withTintColor(.hex("737373")), for: .normal)
} }
return HistoryItemController(type: .WITHIN_3_MONTHS) })
.disposed(by: disposeBag)
return vc
} }
} }
open class HistoryController : ZDViewController { open class HistoryController : ZDViewController {
private let categoryView = JXCategoryTitleView() private let categoryView = JXCategoryTitleView()
private let filterButton = DDButton.dd_initCustom()
private lazy var categoryContainerView = JXCategoryListContainerView(type: .scrollView, delegate: self) private lazy var categoryContainerView = JXCategoryListContainerView(type: .scrollView, delegate: self)
private let reloadToDoMessageCountRelay = ReplayRelay<Any?>.create(bufferSize: 1) private let reloadToDoMessageCountRelay = ReplayRelay<Any?>.create(bufferSize: 1)
private let disposeBag = DisposeBag() private let disposeBag = DisposeBag()
@@ -340,7 +371,7 @@ open class HistoryController : ZDViewController {
categoryView.titles = ["未关闭工单","30天内工单","3个月内工单"] categoryView.titles = ["未关闭工单","30天内工单","3个月内工单"]
categoryView.titleColor = .hex("737373").alpha(0.55) categoryView.titleColor = .hex("737373").alpha(0.55)
categoryView.titleSelectedColor = .hex("3678FF") categoryView.titleSelectedColor = .hex("3678FF")
categoryView.backgroundColor = .hex("F4F5F7") categoryView.backgroundColor = .hex("FAFAFA")
categoryView.delegate = self categoryView.delegate = self
view.addSubview(categoryView) view.addSubview(categoryView)
@@ -351,6 +382,30 @@ open class HistoryController : ZDViewController {
indicator.verticalMargin = 7 indicator.verticalMargin = 7
categoryView.indicators = [indicator] categoryView.indicators = [indicator]
///
let seperateLine = DDView()
seperateLine.backgroundColor = .hex("737373").alpha(0.3)
filterButton.addSubview(seperateLine)
seperateLine.snp.makeConstraints { make in
make.centerY.equalTo(filterButton)
make.width.equalTo(1)
make.height.equalTo(filterButton).multipliedBy(0.5)
make.left.equalTo(filterButton.snp.left)
}
filterButton.dd_setBackgroundColor(.hex("FAFAFA"))
filterButton.setTitle("筛选", for: .normal)
filterButton.setTitleColor(.hex("737373").alpha(0.55), for: .normal)
filterButton.titleLabel?.font = .regularFont(auto(12))
filterButton.setImage(UIImage(named: "conditional_search_unselected")?.withTintColor(.hex("737373")), for: .normal)
filterButton.dd_customize(with: .ImageRightPaddingTitleLeftWithWholeCenter, padding: 5)
view.addSubview(filterButton)
filterButton.snp.makeConstraints { make in
make.left.equalTo(categoryView.snp.right)
make.right.equalToSuperview()
make.top.equalTo(categoryView)
make.bottom.equalTo(categoryView)
}
// //
view.addSubview(categoryContainerView!) view.addSubview(categoryContainerView!)
categoryView.listContainer = categoryContainerView categoryView.listContainer = categoryContainerView
@@ -376,7 +431,8 @@ open class HistoryController : ZDViewController {
super.viewSafeAreaInsetsDidChange() super.viewSafeAreaInsetsDidChange()
categoryView.snp.remakeConstraints { make in categoryView.snp.remakeConstraints { make in
make.left.right.equalToSuperview() make.left.equalToSuperview()
make.right.equalToSuperview().offset(-auto(60))
make.top.equalTo(view.safeAreaInsets.top) make.top.equalTo(view.safeAreaInsets.top)
make.height.equalTo(auto(44)) make.height.equalTo(auto(44))
} }
@@ -407,7 +463,6 @@ class HistoryItemController : ZDViewController {
private var type : OrderTypeEnum private var type : OrderTypeEnum
private var emptyView = EmptyView() private var emptyView = EmptyView()
private var searchButton = DDButton.dd_initCustom()
public lazy var conditionalSearchTool = ConditionalSearchTool() public lazy var conditionalSearchTool = ConditionalSearchTool()
public init(type:OrderTypeEnum) { public init(type:OrderTypeEnum) {
@@ -444,16 +499,24 @@ class HistoryItemController : ZDViewController {
historyItemView.tableView.delegate = self historyItemView.tableView.delegate = self
historyItemView.tableView.dataSource = self historyItemView.tableView.dataSource = self
searchButton.backgroundColor = .hex("2A5094") historyItemView.addSubview(conditionalSearchTool.coverView)
searchButton.setImage(UIImage(named: "conditional_search"), for: .normal) conditionalSearchTool.coverView.snp.remakeConstraints({ make in
view.addSubview(searchButton) make.edges.equalToSuperview()
searchButton.layer.cornerRadius = auto(20) })
searchButton.snp.remakeConstraints { make in
make.bottom.equalTo(historyItemView.snp.bottom).offset(-auto(30)) historyItemView.addSubview(conditionalSearchTool.searchView)
make.right.equalTo(historyItemView.snp.right).offset(-auto(20)) conditionalSearchTool.searchView.snp.remakeConstraints({ make in
make.width.height.equalTo(auto(40)) make.left.top.right.equalToSuperview()
make.height.equalTo(0)
})
} }
open override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
conditionalSearchTool.isFilterSub.accept(conditionalSearchTool.isFiltered())
} }
} }
class HistoryItemCell : DDTableViewCell { class HistoryItemCell : DDTableViewCell {

View File

@@ -72,6 +72,24 @@ extension RescueController {
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
filterButton.rx.tap
.subscribe(onNext: {[weak self] _ in
if let containerView = self?.categoryView.listContainer as? JXCategoryListContainerView,let selectedIndex = self?.categoryView.selectedIndex {
let key = NSNumber(value: selectedIndex)
let vc = containerView.validListDict[key] as? RescueParentController
vc?.conditionalSearchTool.searchView.snp.updateConstraints({ make in
make.height.equalTo(auto(450))
})
UIView.animate(withDuration: 0.25) {
vc?.view.layoutIfNeeded()
}
vc?.conditionalSearchTool.coverView.isHidden = false
}
})
.disposed(by: disposeBag)
// tabBar // tabBar
preRefreshRelay preRefreshRelay
.observe(on: MainScheduler.instance) .observe(on: MainScheduler.instance)
@@ -199,22 +217,19 @@ extension RescuePendingOrderController {
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
searchButton.rx.tap
.subscribe(onNext: {[weak self] _ in
self?.conditionalSearchTool.showSearchViewSub.accept(UIApplication.shared.dd_keyWindow.safeAreaInsets.bottom)
})
.disposed(by: disposeBag)
conditionalSearchTool.resetSub
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in
self?.pendingOrderView.tableView.mj_header?.beginRefreshing()
})
.disposed(by: disposeBag)
conditionalSearchTool.searchSub conditionalSearchTool.searchSub
.observe(on: MainScheduler.instance) .observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in .subscribe(onNext: {[weak self] _ in
self?.conditionalSearchTool.searchView.snp.updateConstraints({ make in
make.height.equalTo(0)
})
UIView.animate(withDuration: 0.25) {
self?.conditionalSearchTool.searchView.superview?.layoutIfNeeded()
}
self?.conditionalSearchTool.coverView.isHidden = true
self?.pendingOrderView.tableView.mj_header?.beginRefreshing() self?.pendingOrderView.tableView.mj_header?.beginRefreshing()
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
@@ -357,22 +372,19 @@ extension RescuePendingDispatchController {
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
searchButton.rx.tap
.subscribe(onNext: {[weak self] _ in
self?.conditionalSearchTool.showSearchViewSub.accept(UIApplication.shared.dd_keyWindow.safeAreaInsets.bottom)
})
.disposed(by: disposeBag)
conditionalSearchTool.resetSub
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in
self?.pendingDispatchView.tableView.mj_header?.beginRefreshing()
})
.disposed(by: disposeBag)
conditionalSearchTool.searchSub conditionalSearchTool.searchSub
.observe(on: MainScheduler.instance) .observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in .subscribe(onNext: {[weak self] _ in
self?.conditionalSearchTool.searchView.snp.updateConstraints({ make in
make.height.equalTo(0)
})
UIView.animate(withDuration: 0.25) {
self?.conditionalSearchTool.searchView.superview?.layoutIfNeeded()
}
self?.conditionalSearchTool.coverView.isHidden = true
self?.pendingDispatchView.tableView.mj_header?.beginRefreshing() self?.pendingDispatchView.tableView.mj_header?.beginRefreshing()
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
@@ -446,22 +458,19 @@ extension RescueIsIngController {
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
searchButton.rx.tap
.subscribe(onNext: {[weak self] _ in
self?.conditionalSearchTool.showSearchViewSub.accept(UIApplication.shared.dd_keyWindow.safeAreaInsets.bottom)
})
.disposed(by: disposeBag)
conditionalSearchTool.resetSub
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in
self?.pendingIsIngView.tableView.mj_header?.beginRefreshing()
})
.disposed(by: disposeBag)
conditionalSearchTool.searchSub conditionalSearchTool.searchSub
.observe(on: MainScheduler.instance) .observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in .subscribe(onNext: {[weak self] _ in
self?.conditionalSearchTool.searchView.snp.updateConstraints({ make in
make.height.equalTo(0)
})
UIView.animate(withDuration: 0.25) {
self?.conditionalSearchTool.searchView.superview?.layoutIfNeeded()
}
self?.conditionalSearchTool.coverView.isHidden = true
self?.pendingIsIngView.tableView.mj_header?.beginRefreshing() self?.pendingIsIngView.tableView.mj_header?.beginRefreshing()
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
@@ -501,18 +510,31 @@ extension RescueController : JXCategoryViewDelegate,JXCategoryListContainerViewD
} }
func listContainerView(_ listContainerView: JXCategoryListContainerView!, initListFor index: Int) -> JXCategoryListContentViewDelegate! { func listContainerView(_ listContainerView: JXCategoryListContainerView!, initListFor index: Int) -> JXCategoryListContentViewDelegate! {
var vc : RescueParentController
if index == 0 { if index == 0 {
let vc = RescuePendingOrderController.init() vc = RescuePendingOrderController.init()
pendingTableView = vc.pendingOrderView.tableView pendingTableView = (vc as? RescuePendingOrderController)?.pendingOrderView.tableView
return vc }else if index == 1 {
vc = RescuePendingDispatchController.init()
dispatchTableView = (vc as? RescuePendingDispatchController)?.pendingDispatchView.tableView
}else{
vc = RescueIsIngController.init()
isRescueTableView = (vc as? RescueIsIngController)?.pendingIsIngView.tableView
} }
if index == 1 {
let vc = RescuePendingDispatchController.init() vc.conditionalSearchTool.isFilterSub
dispatchTableView = vc.pendingDispatchView.tableView .observe(on: MainScheduler.instance)
return vc .subscribe(onNext: {[weak self] isFilter in
if isFilter == true {
self?.filterButton.setTitleColor(.hex("3678FF"), for: .normal)
self?.filterButton.setImage(UIImage(named: "conditional_search"), for: .normal)
}else{
self?.filterButton.setTitleColor(.hex("737373").alpha(0.55), for: .normal)
self?.filterButton.setImage(UIImage(named: "conditional_search_unselected")?.withTintColor(.hex("737373")), for: .normal)
} }
let vc = RescueIsIngController.init() })
isRescueTableView = vc.pendingIsIngView.tableView .disposed(by: disposeBag)
return vc return vc
} }
} }
@@ -1086,6 +1108,7 @@ extension RescuePendingDispatchController : UICollectionViewDelegate, UICollecti
// MARK: // MARK:
class RescueController : ZDViewController { class RescueController : ZDViewController {
public let categoryView = JXCategoryTitleView() public let categoryView = JXCategoryTitleView()
private let filterButton = DDButton.dd_initCustom()
private lazy var categoryContainerView = JXCategoryListContainerView(type: .scrollView, delegate: self) private lazy var categoryContainerView = JXCategoryListContainerView(type: .scrollView, delegate: self)
private let messageTapGes = UITapGestureRecognizer() private let messageTapGes = UITapGestureRecognizer()
private let messageView = MessageView() private let messageView = MessageView()
@@ -1132,6 +1155,30 @@ class RescueController : ZDViewController {
categoryView.listContainer = categoryContainerView categoryView.listContainer = categoryContainerView
} }
///
let seperateLine = DDView()
seperateLine.backgroundColor = .hex("737373").alpha(0.3)
filterButton.addSubview(seperateLine)
seperateLine.snp.makeConstraints { make in
make.centerY.equalTo(filterButton)
make.width.equalTo(1)
make.height.equalTo(filterButton).multipliedBy(0.5)
make.left.equalTo(filterButton.snp.left)
}
filterButton.dd_setBackgroundColor(.hex("FAFAFA"))
filterButton.setTitle("筛选", for: .normal)
filterButton.setTitleColor(.hex("737373").alpha(0.55), for: .normal)
filterButton.titleLabel?.font = .regularFont(auto(12))
filterButton.setImage(UIImage(named: "conditional_search_unselected")?.withTintColor(.hex("737373")), for: .normal)
filterButton.dd_customize(with: .ImageRightPaddingTitleLeftWithWholeCenter, padding: 5)
view.addSubview(filterButton)
filterButton.snp.makeConstraints { make in
make.left.equalTo(categoryView.snp.right)
make.right.equalToSuperview()
make.top.equalTo(categoryView)
make.bottom.equalTo(categoryView)
}
messageView.titleLabel.text = "消息" messageView.titleLabel.text = "消息"
messageView.addGestureRecognizer(messageTapGes) messageView.addGestureRecognizer(messageTapGes)
navigationItem.leftBarButtonItem = UIBarButtonItem(customView: messageView) navigationItem.leftBarButtonItem = UIBarButtonItem(customView: messageView)
@@ -1152,7 +1199,8 @@ class RescueController : ZDViewController {
override func viewSafeAreaInsetsDidChange() { override func viewSafeAreaInsetsDidChange() {
super.viewSafeAreaInsetsDidChange() super.viewSafeAreaInsetsDidChange()
categoryView.snp.remakeConstraints { make in categoryView.snp.remakeConstraints { make in
make.left.right.equalToSuperview() make.left.equalToSuperview()
make.right.equalToSuperview().offset(-auto(60))
make.top.equalTo(view.safeAreaInsets.top) make.top.equalTo(view.safeAreaInsets.top)
make.height.equalTo(auto(44)) make.height.equalTo(auto(44))
} }
@@ -1175,7 +1223,7 @@ class RescueController : ZDViewController {
} }
// MARK: // MARK:
class RescuePendingOrderController : ZDViewController { class RescuePendingOrderController : RescueParentController {
private let disposeBag = DisposeBag() private let disposeBag = DisposeBag()
public let pendingOrderView = RescuePendingOrderView() public let pendingOrderView = RescuePendingOrderView()
public let refuseOrderConfirmView = RefuseOrderConfirmView() public let refuseOrderConfirmView = RefuseOrderConfirmView()
@@ -1188,9 +1236,6 @@ class RescuePendingOrderController : ZDViewController {
private var acceptOrderRelay = ReplayRelay<OrderListDataModel>.create(bufferSize: 1) private var acceptOrderRelay = ReplayRelay<OrderListDataModel>.create(bufferSize: 1)
private var emptyView = EmptyView() private var emptyView = EmptyView()
private var searchButton = DDButton.dd_initCustom()
private lazy var conditionalSearchTool = ConditionalSearchTool()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
dd_navigationBarBackgroundColor = .hex("354683") dd_navigationBarBackgroundColor = .hex("354683")
@@ -1217,20 +1262,21 @@ class RescuePendingOrderController : ZDViewController {
pendingOrderView.tableView.delegate = self pendingOrderView.tableView.delegate = self
pendingOrderView.tableView.dataSource = self pendingOrderView.tableView.dataSource = self
searchButton.backgroundColor = .hex("2A5094") pendingOrderView.addSubview(conditionalSearchTool.coverView)
searchButton.setImage(UIImage(named: "conditional_search"), for: .normal) conditionalSearchTool.coverView.snp.remakeConstraints({ make in
view.addSubview(searchButton) make.edges.equalToSuperview()
searchButton.layer.cornerRadius = auto(20) })
searchButton.snp.remakeConstraints { make in
make.bottom.equalTo(pendingOrderView.snp.bottom).offset(-auto(30)) pendingOrderView.addSubview(conditionalSearchTool.searchView)
make.right.equalTo(pendingOrderView.snp.right).offset(-auto(20)) conditionalSearchTool.searchView.snp.remakeConstraints({ make in
make.width.height.equalTo(auto(40)) make.left.top.right.equalToSuperview()
} make.height.equalTo(0)
})
} }
} }
// MARK: // MARK:
class RescuePendingDispatchController : ZDViewController { class RescuePendingDispatchController : RescueParentController {
private let disposeBag = DisposeBag() private let disposeBag = DisposeBag()
public let pendingDispatchView = RescuePendingDispatchView() public let pendingDispatchView = RescuePendingDispatchView()
private var resultArr : [OrderListDataModel] = [] private var resultArr : [OrderListDataModel] = []
@@ -1238,9 +1284,6 @@ class RescuePendingDispatchController : ZDViewController {
private var pageNum : Int = 1 private var pageNum : Int = 1
private var emptyView = EmptyView() private var emptyView = EmptyView()
private var searchButton = DDButton.dd_initCustom()
private lazy var conditionalSearchTool = ConditionalSearchTool()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
dd_navigationBarBackgroundColor = .hex("354683") dd_navigationBarBackgroundColor = .hex("354683")
@@ -1267,20 +1310,21 @@ class RescuePendingDispatchController : ZDViewController {
pendingDispatchView.tableView.delegate = self pendingDispatchView.tableView.delegate = self
pendingDispatchView.tableView.dataSource = self pendingDispatchView.tableView.dataSource = self
searchButton.backgroundColor = .hex("2A5094") pendingDispatchView.addSubview(conditionalSearchTool.coverView)
searchButton.setImage(UIImage(named: "conditional_search"), for: .normal) conditionalSearchTool.coverView.snp.remakeConstraints({ make in
view.addSubview(searchButton) make.edges.equalToSuperview()
searchButton.layer.cornerRadius = auto(20) })
searchButton.snp.remakeConstraints { make in
make.bottom.equalTo(pendingDispatchView.snp.bottom).offset(-auto(30)) pendingDispatchView.addSubview(conditionalSearchTool.searchView)
make.right.equalTo(pendingDispatchView.snp.right).offset(-auto(20)) conditionalSearchTool.searchView.snp.remakeConstraints({ make in
make.width.height.equalTo(auto(40)) make.left.top.right.equalToSuperview()
} make.height.equalTo(0)
})
} }
} }
// MARK: // MARK:
class RescueIsIngController : ZDViewController { class RescueIsIngController : RescueParentController {
private let disposeBag = DisposeBag() private let disposeBag = DisposeBag()
public let pendingIsIngView = RescueIsIngView() public let pendingIsIngView = RescueIsIngView()
private var resultArr : [OrderListDataModel] = [] private var resultArr : [OrderListDataModel] = []
@@ -1288,9 +1332,6 @@ class RescueIsIngController : ZDViewController {
private var pageNum : Int = 1 private var pageNum : Int = 1
private var emptyView = EmptyView() private var emptyView = EmptyView()
private var searchButton = DDButton.dd_initCustom()
private lazy var conditionalSearchTool = ConditionalSearchTool()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
dd_navigationBarBackgroundColor = .hex("354683") dd_navigationBarBackgroundColor = .hex("354683")
@@ -1317,15 +1358,32 @@ class RescueIsIngController : ZDViewController {
pendingIsIngView.tableView.delegate = self pendingIsIngView.tableView.delegate = self
pendingIsIngView.tableView.dataSource = self pendingIsIngView.tableView.dataSource = self
searchButton.backgroundColor = .hex("2A5094") pendingIsIngView.addSubview(conditionalSearchTool.coverView)
searchButton.setImage(UIImage(named: "conditional_search"), for: .normal) conditionalSearchTool.coverView.snp.remakeConstraints({ make in
view.addSubview(searchButton) make.edges.equalToSuperview()
searchButton.layer.cornerRadius = auto(20) })
searchButton.snp.remakeConstraints { make in
make.bottom.equalTo(pendingIsIngView.snp.bottom).offset(-auto(30)) pendingIsIngView.addSubview(conditionalSearchTool.searchView)
make.right.equalTo(pendingIsIngView.snp.right).offset(-auto(20)) conditionalSearchTool.searchView.snp.remakeConstraints({ make in
make.width.height.equalTo(auto(40)) make.left.top.right.equalToSuperview()
make.height.equalTo(0)
})
} }
}
// MARK: SUPER
class RescueParentController : ZDViewController, JXCategoryListContentViewDelegate {
public lazy var conditionalSearchTool = ConditionalSearchTool()
func listView() -> UIView! {
return view
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
conditionalSearchTool.isFilterSub.accept(conditionalSearchTool.isFiltered())
} }
} }
@@ -2129,21 +2187,21 @@ class RescueIsIngView : DDView {
} }
} }
// MARK: JXCategoryListContentViewDelegate //// MARK: JXCategoryListContentViewDelegate
extension RescuePendingOrderController : JXCategoryListContentViewDelegate { //extension RescuePendingOrderController : JXCategoryListContentViewDelegate {
func listView() -> UIView! { // func listView() -> UIView! {
return view // return view
} // }
} //}
//
extension RescuePendingDispatchController : JXCategoryListContentViewDelegate { //extension RescuePendingDispatchController : JXCategoryListContentViewDelegate {
func listView() -> UIView! { // func listView() -> UIView! {
return view // return view
} // }
} //}
//
extension RescueIsIngController : JXCategoryListContentViewDelegate { //extension RescueIsIngController : JXCategoryListContentViewDelegate {
func listView() -> UIView! { // func listView() -> UIView! {
return view // return view
} // }
} //}

View File

@@ -35,23 +35,23 @@ extension ReviewFailedController {
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
MCOUNT.pendingCountRelay // MCOUNT.pendingCountRelay
.observe(on: MainScheduler.instance) // .observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] count in // .subscribe(onNext: {[weak self] count in
if count > 0 { // if count > 0 {
self?.pendingView.countLabel.isHidden = false // self?.pendingView.countLabel.isHidden = false
self?.pendingView.countLabel.text = String(count) // self?.pendingView.countLabel.text = String(count)
self?.pendingView.countLabel.snp.updateConstraints({ make in // self?.pendingView.countLabel.snp.updateConstraints({ make in
make.width.equalTo(20) // make.width.equalTo(20)
}) // })
}else{ // }else{
self?.pendingView.countLabel.isHidden = true // self?.pendingView.countLabel.isHidden = true
self?.pendingView.countLabel.snp.updateConstraints({ make in // self?.pendingView.countLabel.snp.updateConstraints({ make in
make.width.equalTo(0) // make.width.equalTo(0)
}) // })
} // }
}) // })
.disposed(by: disposeBag) // .disposed(by: disposeBag)
reviewFailedView.tableView.mj_header = MJRefreshNormalHeader(refreshingBlock: {[weak self] in reviewFailedView.tableView.mj_header = MJRefreshNormalHeader(refreshingBlock: {[weak self] in
self?.pageNum = 1 self?.pageNum = 1
@@ -111,29 +111,53 @@ extension ReviewFailedController {
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
pendingTapGes.rx.event // pendingTapGes.rx.event
.observe(on: MainScheduler.instance) // .observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in // .subscribe(onNext: { _ in
WEBTOOL.open(name: .todoList,appending: nil) // WEBTOOL.open(name: .todoList,appending: nil)
// })
// .disposed(by: disposeBag)
filterButton.rx.tap
.subscribe(onNext: {[weak self] _ in
self?.conditionalSearchTool.searchView.snp.updateConstraints({ make in
make.height.equalTo(auto(450))
})
UIView.animate(withDuration: 0.25) {
self?.view.layoutIfNeeded()
}
self?.conditionalSearchTool.coverView.isHidden = false
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
searchButton.rx.tap conditionalSearchTool.isFilterSub
.subscribe(onNext: {[weak self] _ in
self?.conditionalSearchTool.showSearchViewSub.accept(UIApplication.shared.dd_keyWindow.safeAreaInsets.bottom)
})
.disposed(by: disposeBag)
conditionalSearchTool.resetSub
.observe(on: MainScheduler.instance) .observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in .subscribe(onNext: {[weak self] isFilter in
self?.reviewFailedView.tableView.mj_header?.beginRefreshing() if isFilter == true {
self?.filterButton.setTitleColor(.hex("3678FF"), for: .normal)
self?.filterButton.setImage(UIImage(named: "conditional_search"), for: .normal)
}else{
self?.filterButton.setTitleColor(.hex("FFFFFF").alpha(0.7), for: .normal)
self?.filterButton.setImage(UIImage(named: "conditional_search_unselected")?.withTintColor(.hex("FFFFFF")), for: .normal)
}
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
conditionalSearchTool.searchSub conditionalSearchTool.searchSub
.observe(on: MainScheduler.instance) .observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in .subscribe(onNext: {[weak self] _ in
self?.conditionalSearchTool.searchView.snp.updateConstraints({ make in
make.height.equalTo(0)
})
UIView.animate(withDuration: 0.25) {
self?.conditionalSearchTool.searchView.superview?.layoutIfNeeded()
}
self?.conditionalSearchTool.coverView.isHidden = true
self?.reviewFailedView.tableView.mj_header?.beginRefreshing() self?.reviewFailedView.tableView.mj_header?.beginRefreshing()
}) })
.disposed(by: disposeBag) .disposed(by: disposeBag)
@@ -215,11 +239,11 @@ open class ReviewFailedController : ZDViewController {
private var resultArr : [OrderListDataModel] = [] private var resultArr : [OrderListDataModel] = []
private let messageTapGes = UITapGestureRecognizer() private let messageTapGes = UITapGestureRecognizer()
private let messageView = MessageView() private let messageView = MessageView()
private let pendingTapGes = UITapGestureRecognizer() // private let pendingTapGes = UITapGestureRecognizer()
private let pendingView = MessageView() // private let pendingView = MessageView()
private var emptyView = EmptyView() private var emptyView = EmptyView()
private var searchButton = DDButton.dd_initCustom() private let filterButton = DDButton.dd_initCustom()
private lazy var conditionalSearchTool = ConditionalSearchTool() private lazy var conditionalSearchTool = ConditionalSearchTool()
public override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) { public override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: Bundle?) {
@@ -277,18 +301,32 @@ open class ReviewFailedController : ZDViewController {
make.width.greaterThanOrEqualTo(40) make.width.greaterThanOrEqualTo(40)
} }
pendingView.titleLabel.text = "" // pendingView.titleLabel.text = ""
pendingView.addGestureRecognizer(pendingTapGes) // pendingView.addGestureRecognizer(pendingTapGes)
navigationItem.rightBarButtonItem = UIBarButtonItem(customView: pendingView) // navigationItem.rightBarButtonItem = UIBarButtonItem(customView: pendingView)
pendingView.snp.makeConstraints { make in // pendingView.snp.makeConstraints { make in
make.height.equalTo(40) // make.height.equalTo(40)
make.width.greaterThanOrEqualTo(40) // make.width.greaterThanOrEqualTo(40)
} // }
searchButton.backgroundColor = .hex("2A5094") filterButton.setTitle("筛选", for: .normal)
searchButton.setImage(UIImage(named: "conditional_search"), for: .normal) filterButton.setTitleColor(.hex("FFFFFF").alpha(0.7), for: .normal)
view.addSubview(searchButton) filterButton.titleLabel?.font = .mediumFont(auto(14))
filterButton.setImage(UIImage(named: "conditional_search_unselected")?.withTintColor(.hex("FFFFFF")), for: .normal)
filterButton.dd_customize(with: .ImageRightPaddingTitleLeftWithWholeCenter, padding: 5)
navigationItem.rightBarButtonItem = UIBarButtonItem(customView: filterButton)
reviewFailedView.addSubview(conditionalSearchTool.coverView)
reviewFailedView.addSubview(conditionalSearchTool.searchView)
conditionalSearchTool.coverView.snp.remakeConstraints({ make in
make.edges.equalToSuperview()
})
conditionalSearchTool.searchView.snp.remakeConstraints({ make in
make.left.top.right.equalToSuperview()
make.height.equalTo(0)
})
} }
open override func viewSafeAreaInsetsDidChange() { open override func viewSafeAreaInsetsDidChange() {
@@ -300,14 +338,13 @@ open class ReviewFailedController : ZDViewController {
make.left.right.equalToSuperview() make.left.right.equalToSuperview()
make.bottom.equalTo(-view.safeAreaInsets.bottom) make.bottom.equalTo(-view.safeAreaInsets.bottom)
} }
}
}
searchButton.layer.cornerRadius = auto(20) open override func viewWillAppear(_ animated: Bool) {
searchButton.snp.remakeConstraints { make in super.viewWillAppear(animated)
make.bottom.equalToSuperview().offset(-auto(30) - view.safeAreaInsets.bottom)
make.right.equalToSuperview().offset(-auto(20)) conditionalSearchTool.isFilterSub.accept(conditionalSearchTool.isFiltered())
make.width.height.equalTo(auto(40))
}
}
} }
open override var preferredStatusBarStyle: UIStatusBarStyle { open override var preferredStatusBarStyle: UIStatusBarStyle {

View File

@@ -5,17 +5,17 @@
<testcase classname="fastlane.lanes" name="0: default_platform" time="0.000166"> <testcase classname="fastlane.lanes" name="0: default_platform" time="0.00022">
</testcase> </testcase>
<testcase classname="fastlane.lanes" name="1: gym" time="66.698529"> <testcase classname="fastlane.lanes" name="1: gym" time="75.087357">
</testcase> </testcase>
<testcase classname="fastlane.lanes" name="2: pgyer" time="12.617885"> <testcase classname="fastlane.lanes" name="2: pgyer" time="14.619423">
</testcase> </testcase>