浏览代码

search 页排版。api up

openlockPPP 2 年之前
父节点
当前提交
63804547f1
共有 28 个文件被更改,包括 306 次插入63 次删除
  1. 8 0
      JiaPeiManage.xcodeproj/project.pbxproj
  2. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_1.imageset/tv_pull_loading_1@2x.png
  3. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_1.imageset/tv_pull_loading_1@3x.png
  4. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_2.imageset/tv_pull_loading_2@2x.png
  5. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_2.imageset/tv_pull_loading_2@3x.png
  6. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_3.imageset/tv_pull_loading_3@2x.png
  7. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_3.imageset/tv_pull_loading_3@3x.png
  8. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_4.imageset/tv_pull_loading_4@2x.png
  9. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_4.imageset/tv_pull_loading_4@3x.png
  10. 23 0
      JiaPeiManage/Assets.xcassets/Modules/Stu/user-female.imageset/Contents.json
  11. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Stu/user-female.imageset/女.png
  12. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Stu/user-female.imageset/女@2x.png
  13. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Stu/user-female.imageset/女@3x.png
  14. 23 0
      JiaPeiManage/Assets.xcassets/Modules/Stu/user-male.imageset/Contents.json
  15. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Stu/user-male.imageset/男.png
  16. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Stu/user-male.imageset/男@2x.png
  17. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Stu/user-male.imageset/男@3x.png
  18. 2 0
      JiaPeiManage/Sources/Constants/NYImage.swift
  19. 28 0
      JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeDetailsPageViewController.swift
  20. 70 0
      JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeDetailsPageViewController.xib
  21. 10 12
      JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeListViewController.swift
  22. 8 2
      JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeSearchPageViewController.swift
  23. 56 7
      JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeSearchPageViewController.xib
  24. 17 9
      JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeSubjectPageViewController.swift
  25. 38 14
      JiaPeiManage/Sources/Modulars/学员/Views/MeTraineeSubjectCell.swift
  26. 17 6
      JiaPeiManage/Sources/Modulars/学员/Views/MeTraineeSubjectCell.xib
  27. 3 3
      JiaPeiManage/Sources/Utils/NYSwRouter.swift
  28. 3 10
      JiaPeiManage/Sources/Utils/URLNavigationMap.swift

+ 8 - 0
JiaPeiManage.xcodeproj/project.pbxproj

@@ -23,6 +23,8 @@
 		909DA5D52A3AE0160034501F /* MeTraineeSubjectCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 909DA5D42A3AE0160034501F /* MeTraineeSubjectCell.xib */; };
 		90BC4BD92A3B0F98006FD683 /* TraineeDataModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90BC4BD82A3B0F98006FD683 /* TraineeDataModel.swift */; };
 		90BC4BDC2A3C2556006FD683 /* TVHeaderAnimator.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90BC4BDB2A3C2556006FD683 /* TVHeaderAnimator.swift */; };
+		90BC4BDE2A3C4691006FD683 /* MeTraineeDetailsPageViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90BC4BDD2A3C4691006FD683 /* MeTraineeDetailsPageViewController.swift */; };
+		90BC4BE02A3C46C4006FD683 /* MeTraineeDetailsPageViewController.xib in Resources */ = {isa = PBXBuildFile; fileRef = 90BC4BDF2A3C46C4006FD683 /* MeTraineeDetailsPageViewController.xib */; };
 		90CE52192A36C0710033BD06 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90CE52182A36C0710033BD06 /* AppDelegate.swift */; };
 		90CE521D2A36C0710033BD06 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 90CE521C2A36C0710033BD06 /* ViewController.swift */; };
 		90CE52202A36C0710033BD06 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 90CE521E2A36C0710033BD06 /* Main.storyboard */; };
@@ -139,6 +141,8 @@
 		909DA5D42A3AE0160034501F /* MeTraineeSubjectCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MeTraineeSubjectCell.xib; sourceTree = "<group>"; };
 		90BC4BD82A3B0F98006FD683 /* TraineeDataModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = TraineeDataModel.swift; sourceTree = "<group>"; };
 		90BC4BDB2A3C2556006FD683 /* TVHeaderAnimator.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TVHeaderAnimator.swift; sourceTree = "<group>"; };
+		90BC4BDD2A3C4691006FD683 /* MeTraineeDetailsPageViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MeTraineeDetailsPageViewController.swift; sourceTree = "<group>"; };
+		90BC4BDF2A3C46C4006FD683 /* MeTraineeDetailsPageViewController.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MeTraineeDetailsPageViewController.xib; sourceTree = "<group>"; };
 		90CE52152A36C0700033BD06 /* JiaPeiManage.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = JiaPeiManage.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		90CE52182A36C0710033BD06 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
 		90CE521C2A36C0710033BD06 /* ViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ViewController.swift; sourceTree = "<group>"; };
@@ -289,6 +293,8 @@
 				909DA5C82A3ABEFF0034501F /* MeTraineeSubjectPageViewController.swift */,
 				909DA5CA2A3ABFFD0034501F /* MeTraineeSearchPageViewController.swift */,
 				909DA5CC2A3AC00D0034501F /* MeTraineeSearchPageViewController.xib */,
+				90BC4BDD2A3C4691006FD683 /* MeTraineeDetailsPageViewController.swift */,
+				90BC4BDF2A3C46C4006FD683 /* MeTraineeDetailsPageViewController.xib */,
 			);
 			path = Controllers;
 			sourceTree = "<group>";
@@ -807,6 +813,7 @@
 				90CE52842A36E5460033BD06 /* SearchBarView.xib in Resources */,
 				90CE52F52A36EDCF0033BD06 /* NYArticleNavBar.xib in Resources */,
 				90CE52252A36C0720033BD06 /* LaunchScreen.storyboard in Resources */,
+				90BC4BE02A3C46C4006FD683 /* MeTraineeDetailsPageViewController.xib in Resources */,
 				90CE528A2A36E5460033BD06 /* PopOverViewCell.xib in Resources */,
 				909DA5D12A3AC2460034501F /* UpdatePasswordViewController.xib in Resources */,
 				90CE52222A36C0720033BD06 /* Assets.xcassets in Resources */,
@@ -915,6 +922,7 @@
 				90CE521D2A36C0710033BD06 /* ViewController.swift in Sources */,
 				909DA5C92A3ABEFF0034501F /* MeTraineeSubjectPageViewController.swift in Sources */,
 				90CE53042A3834360033BD06 /* CoachService.swift in Sources */,
+				90BC4BDE2A3C4691006FD683 /* MeTraineeDetailsPageViewController.swift in Sources */,
 				90CE52CB2A36E5EC0033BD06 /* UILabel+Rx.swift in Sources */,
 				90CE52E12A36E73A0033BD06 /* SplashModel.swift in Sources */,
 				90CE52862A36E5460033BD06 /* EmptyView.swift in Sources */,

二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_1.imageset/tv_pull_loading_1@2x.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_1.imageset/tv_pull_loading_1@3x.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_2.imageset/tv_pull_loading_2@2x.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_2.imageset/tv_pull_loading_2@3x.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_3.imageset/tv_pull_loading_3@2x.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_3.imageset/tv_pull_loading_3@3x.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_4.imageset/tv_pull_loading_4@2x.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/tv_pull_loading_4.imageset/tv_pull_loading_4@3x.png


+ 23 - 0
JiaPeiManage/Assets.xcassets/Modules/Stu/user-female.imageset/Contents.json

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

二进制
JiaPeiManage/Assets.xcassets/Modules/Stu/user-female.imageset/女.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Stu/user-female.imageset/女@2x.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Stu/user-female.imageset/女@3x.png


+ 23 - 0
JiaPeiManage/Assets.xcassets/Modules/Stu/user-male.imageset/Contents.json

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

二进制
JiaPeiManage/Assets.xcassets/Modules/Stu/user-male.imageset/男.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Stu/user-male.imageset/男@2x.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Stu/user-male.imageset/男@3x.png


+ 2 - 0
JiaPeiManage/Sources/Constants/NYImage.swift

@@ -24,6 +24,8 @@ struct NYImage {
     struct Home {
         static let usermale = UIImage(named: "default-user-male")
         static let userfemale = UIImage(named: "default-user-female")
+        static let sexmale = UIImage(named: "user-male")
+        static let sexfemale = UIImage(named: "user-female")
         
         static let shopping = UIImage(named: "home_shopping")
         static let search_rec = UIImage(named: "home_search_rec")

+ 28 - 0
JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeDetailsPageViewController.swift

@@ -0,0 +1,28 @@
+//
+//  MeTraineeDetailsPageViewController.swift
+//  JiaPeiManage
+//
+//  Created by Ning.ge on 2023/6/16.
+//
+
+import UIKit
+import RxSwift
+import RxCocoa
+
+final class MeTraineeDetailsPageViewController: BaseViewController {
+    
+    // MARK: UI属性
+    
+    override func viewDidLoad() {
+        super.viewDidLoad()
+        setupUI()
+    }
+    
+    // MARK: 私有方法
+    func setupUI(){
+        self.view.backgroundColor = .db_theme
+      
+    }
+    
+    
+}

+ 70 - 0
JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeDetailsPageViewController.xib

@@ -0,0 +1,70 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina5_9" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
+        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MeTraineeDetailsPageViewController" customModule="JiaPeiManage" customModuleProvider="target">
+            <connections>
+                <outlet property="view" destination="iN0-l3-epB" id="xQA-xO-2op"/>
+            </connections>
+        </placeholder>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB">
+            <rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
+            <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hZo-yc-91j" userLabel="View-nav">
+                    <rect key="frame" x="0.0" y="0.0" width="375" height="64"/>
+                    <subviews>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="我的学员" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Jed-Yi-0Ts">
+                            <rect key="frame" x="137.66666666666666" y="20" width="100" height="44"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="100" id="BFe-58-1gi"/>
+                                <constraint firstAttribute="height" constant="44" id="UjA-tX-zHL"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
+                            <color key="textColor" red="0.83137254900000002" green="0.86666666670000003" blue="0.90196078430000004" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CwI-I6-eIO">
+                            <rect key="frame" x="0.0" y="20" width="44" height="44"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="44" id="PBf-xz-X1s"/>
+                                <constraint firstAttribute="width" constant="44" id="aup-Cs-HCM"/>
+                            </constraints>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal" image="back-white"/>
+                            <connections>
+                                <action selector="actionBackdo:" destination="-1" eventType="touchUpInside" id="JWF-LI-9wE"/>
+                            </connections>
+                        </button>
+                    </subviews>
+                    <color key="backgroundColor" red="0.043137254899999998" green="0.16862745100000001" blue="0.30196078430000001" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="64" id="2TZ-Nd-Y4a"/>
+                        <constraint firstItem="Jed-Yi-0Ts" firstAttribute="centerX" secondItem="hZo-yc-91j" secondAttribute="centerX" id="9Wd-MP-srE"/>
+                        <constraint firstItem="CwI-I6-eIO" firstAttribute="leading" secondItem="hZo-yc-91j" secondAttribute="leading" id="HeO-JS-kCA"/>
+                        <constraint firstAttribute="bottom" secondItem="Jed-Yi-0Ts" secondAttribute="bottom" id="eYz-Gu-y2b"/>
+                        <constraint firstAttribute="bottom" secondItem="CwI-I6-eIO" secondAttribute="bottom" id="kkh-7N-3b4"/>
+                    </constraints>
+                </view>
+            </subviews>
+            <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
+            <color key="backgroundColor" red="0.043137254899999998" green="0.16862745100000001" blue="0.30196078430000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+            <constraints>
+                <constraint firstItem="hZo-yc-91j" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="Tcf-c6-mmR"/>
+                <constraint firstItem="hZo-yc-91j" firstAttribute="trailing" secondItem="vUN-kp-3ea" secondAttribute="trailing" id="ZcS-Kq-bPV"/>
+                <constraint firstItem="hZo-yc-91j" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="ilm-Fb-21z"/>
+            </constraints>
+            <point key="canvasLocation" x="58" y="-11"/>
+        </view>
+    </objects>
+    <resources>
+        <image name="back-white" width="9.3333330154418945" height="17"/>
+    </resources>
+</document>

+ 10 - 12
JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeListViewController.swift

@@ -204,19 +204,17 @@ extension MeTraineeListViewController : VTMagicViewDataSource{
             }
             return meTraineeSubjectPageViewController ?? UIViewController()
         } else if pageIndex == 3{
-            
-            return UIViewController()
+            var meTraineeSubjectPageViewController = magicView.dequeueReusablePage(withIdentifier: "MeTraineeSubjectPageViewController04")
+            if meTraineeSubjectPageViewController == nil {
+                meTraineeSubjectPageViewController = MeTraineeSubjectPageViewController(state: "4")
+            }
+            return meTraineeSubjectPageViewController ?? UIViewController()
         } else {
-//            var branchController = magicView.dequeueReusablePage(withIdentifier: "BranchViewController")
-//            if branchController == nil {
-//                let reactor = BranchViewReactor(homeService: homeService)
-//                branchController = BranchViewController(reactor: reactor, branchSectionDelegateFactory: { () -> BranchSectionDelegate in
-//                    BranchSectionDelegate()
-//                })
-//            }
-//            (branchController as! BranchViewController).setId(id: requestIds[Int(pageIndex) - 3])
-//            return branchController ?? UIViewController()
-            return UIViewController()
+            var meTraineeSubjectPageViewController = magicView.dequeueReusablePage(withIdentifier: "MeTraineeSubjectPageViewController05")
+            if meTraineeSubjectPageViewController == nil {
+                meTraineeSubjectPageViewController = MeTraineeSubjectPageViewController(state: "5")
+            }
+            return meTraineeSubjectPageViewController ?? UIViewController()
         }
     }
 }

+ 8 - 2
JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeSearchPageViewController.swift

@@ -12,10 +12,16 @@ final class MeTraineeSearchPageViewController: BaseViewController {
     
     // MARK: UI属性
     
-    
     override func viewDidLoad() {
         super.viewDidLoad()
-        
+        setupUI()
+    }
+    
+    // MARK: 私有方法
+    func setupUI(){
+        self.view.backgroundColor = .db_theme
+      
     }
     
+    
 }

+ 56 - 7
JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeSearchPageViewController.xib

@@ -1,11 +1,10 @@
 <?xml version="1.0" encoding="UTF-8"?>
 <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
-    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <device id="retina5_9" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
         <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/>
         <capability name="Safe area layout guides" minToolsVersion="9.0"/>
-        <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -16,16 +15,66 @@
         </placeholder>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <view contentMode="scaleToFill" id="iN0-l3-epB">
-            <rect key="frame" x="0.0" y="0.0" width="393" height="852"/>
+            <rect key="frame" x="0.0" y="0.0" width="375" height="812"/>
             <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
+            <subviews>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XNY-06-WRn" userLabel="View-nav">
+                    <rect key="frame" x="0.0" y="0.0" width="375" height="64"/>
+                    <subviews>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="我的学员" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="MsS-vL-AJw">
+                            <rect key="frame" x="137.66666666666666" y="20" width="100" height="44"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="100" id="u7d-oa-hVg"/>
+                                <constraint firstAttribute="height" constant="44" id="xRI-b4-g9j"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
+                            <color key="textColor" red="0.83137254900000002" green="0.86666666670000003" blue="0.90196078430000004" alpha="1" colorSpace="calibratedRGB"/>
+                            <nil key="highlightedColor"/>
+                        </label>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="pHK-Uh-7kI">
+                            <rect key="frame" x="0.0" y="20" width="44" height="44"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="44" id="P8a-Sd-xGj"/>
+                                <constraint firstAttribute="height" constant="44" id="guy-f5-aKd"/>
+                            </constraints>
+                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                            <state key="normal" image="back-white"/>
+                            <connections>
+                                <action selector="actionBackdo:" destination="-1" eventType="touchUpInside" id="X33-Sg-aqq"/>
+                            </connections>
+                        </button>
+                    </subviews>
+                    <color key="backgroundColor" red="0.043137254901960784" green="0.16862745098039217" blue="0.30196078431372547" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
+                    <constraints>
+                        <constraint firstItem="pHK-Uh-7kI" firstAttribute="leading" secondItem="XNY-06-WRn" secondAttribute="leading" id="33e-d0-eSq"/>
+                        <constraint firstItem="MsS-vL-AJw" firstAttribute="centerX" secondItem="XNY-06-WRn" secondAttribute="centerX" id="HIP-37-JDx"/>
+                        <constraint firstAttribute="bottom" secondItem="MsS-vL-AJw" secondAttribute="bottom" id="pYw-vw-1gz"/>
+                        <constraint firstAttribute="height" constant="64" id="v0k-Ys-7T4"/>
+                        <constraint firstAttribute="bottom" secondItem="pHK-Uh-7kI" secondAttribute="bottom" id="xK8-Xb-5vn"/>
+                    </constraints>
+                </view>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="a0a-sl-bPA" userLabel="View-search">
+                    <rect key="frame" x="0.0" y="64" width="375" height="54"/>
+                    <color key="backgroundColor" red="0.043137254899999998" green="0.16862745100000001" blue="0.30196078430000001" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="54" id="dht-1a-4dL"/>
+                    </constraints>
+                </view>
+            </subviews>
             <viewLayoutGuide key="safeArea" id="vUN-kp-3ea"/>
-            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+            <color key="backgroundColor" red="0.023529411760000001" green="0.12549019610000001" blue="0.2274509804" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+            <constraints>
+                <constraint firstItem="a0a-sl-bPA" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="Gk6-ZZ-w8e"/>
+                <constraint firstItem="a0a-sl-bPA" firstAttribute="top" secondItem="XNY-06-WRn" secondAttribute="bottom" id="Sr6-0z-gEH"/>
+                <constraint firstItem="XNY-06-WRn" firstAttribute="leading" secondItem="vUN-kp-3ea" secondAttribute="leading" id="eJf-OW-UIv"/>
+                <constraint firstItem="vUN-kp-3ea" firstAttribute="trailing" secondItem="a0a-sl-bPA" secondAttribute="trailing" id="jfo-8k-av6"/>
+                <constraint firstItem="XNY-06-WRn" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="tPC-jM-adA"/>
+                <constraint firstAttribute="trailing" secondItem="XNY-06-WRn" secondAttribute="trailing" id="xlB-eT-ODy"/>
+            </constraints>
             <point key="canvasLocation" x="56" y="-11"/>
         </view>
     </objects>
     <resources>
-        <systemColor name="systemBackgroundColor">
-            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-        </systemColor>
+        <image name="back-white" width="9.3333330154418945" height="17"/>
     </resources>
 </document>

+ 17 - 9
JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeSubjectPageViewController.swift

@@ -37,6 +37,15 @@ final class MeTraineeSubjectPageViewController: BaseTableViewController {
     override func viewDidLoad() {
         super.viewDidLoad()
         
+        getCoachInfoList()
+        //绑定
+        biandView()
+    }
+    
+    // MARK: 私有方法
+    
+    func getCoachInfoList()
+    {
         self.cocahService.coachInfoListRequest(city: LocalManager.userInfo.city!, appCoachId: "", coachId: "\(LocalManager.userInfo.id)", field: "", pageNum: page, pageSize: pageSize, schoolId: 0, state: state)
             .subscribe(onSuccess: { traineeDataModel in
                 self.traineeDataModel = traineeDataModel
@@ -46,15 +55,6 @@ final class MeTraineeSubjectPageViewController: BaseTableViewController {
             }, onError: { error in
             })
             .disposed(by: disposeBag)
-        //绑定
-        biandView()
-    }
-    
-    // MARK: 私有方法
-    
-    func getCoachInfoList()
-    {
-        
     }
     
     func biandView(){
@@ -94,4 +94,12 @@ extension MeTraineeSubjectPageViewController:UITableViewDataSource {
 //事件
 extension MeTraineeSubjectPageViewController:UITableViewDelegate {
     
+    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
+        tableView.deselectRow(at: indexPath, animated: true)
+        let rowInfo = self.traineeDataModel?.rows![indexPath.row]
+        if rowInfo != nil {
+            NYSwRouter.push(NYSwPushType.trainee_info.path)
+        }
+    }
+    
 }

+ 38 - 14
JiaPeiManage/Sources/Modulars/学员/Views/MeTraineeSubjectCell.swift

@@ -8,6 +8,7 @@ import UIKit
 
 final class MeTraineeSubjectCell: UITableViewCell,NibLoadable {
     
+    private let statedicts:[String:String] = ["1":"一","2":"二","3":"三","4":"四","5":"五"]
     // MARK: UI
     //indexbtn
     @IBOutlet weak var index_button: QMUIButton!
@@ -21,6 +22,8 @@ final class MeTraineeSubjectCell: UITableViewCell,NibLoadable {
     @IBOutlet weak var message_button: UIButton!
     //用户名
     @IBOutlet weak var username_label: UILabel!
+    //sex
+    @IBOutlet weak var sex_imageview: UIImageView!
     //身份证
     @IBOutlet weak var idcart_label: UILabel!
     //电话
@@ -51,27 +54,48 @@ final class MeTraineeSubjectCell: UITableViewCell,NibLoadable {
         //用户头像
         self.user_imageview.sd_setImage(with: rowInfo.photoPath?.urlValue, placeholderImage: rowInfo.sex == "1" ? NYImage.Home.usermale:NYImage.Home.userfemale)
         //报名时间
-        
-        self.jointime_label.text = "报名时间:\(rowInfo.applydate?.utf8CString)"
+        let applydateStr = rowInfo.applydate?.prefix(10)
+        self.jointime_label.text = "报名时间:" +  applydateStr!
         //用户名
         self.username_label.text = rowInfo.name
+        self.sex_imageview.image = rowInfo.sex == "1" ? NYImage.Home.sexmale:NYImage.Home.sexfemale
         //身份证
         self.idcart_label.text = rowInfo.idcard
         //电话
         self.phone_label.text = rowInfo.phone
         //阶段btn
-        self.state_button.setTitle("阶段\(rowInfo.state ?? "")", for: .normal)
-//        //科目1-4
-//        @IBOutlet weak var k1_imageview: UIImageView!
-//        @IBOutlet weak var k1_label: UILabel!
-//        @IBOutlet weak var k2_imageview: UIImageView!
-//        @IBOutlet weak var k2_label: UILabel!
-//        @IBOutlet weak var k3_imageview: UIImageView!
-//        @IBOutlet weak var k3_label: UILabel!
-//        @IBOutlet weak var k4_imageview: UIImageView!
-//        @IBOutlet weak var k4_label: UILabel!
-//        //备注
-//        @IBOutlet weak var remark_label: UILabel!
+        self.state_button.setTitle("阶段\(statedicts[rowInfo.state ?? ""]!)", for: .normal)
+        //科目1-4
+        var k1Img = "K1_no", k1Txt = "未通过"
+        if rowInfo.trainOneExamStatus=="1" {
+            k1Img = "K1_yes"
+            k1Txt = "\(rowInfo.trainOneExamTime?.prefix(10) ?? "")"
+        }
+        self.k1_imageview.image = UIImage(named: k1Img)
+        self.k1_label.text = k1Txt
+        var k2Img = "K2_no", k2Txt = "未通过"
+        if rowInfo.trainTwoExamStatus=="1" {
+            k2Img = "K2_yes"
+            k2Txt = "\(rowInfo.trainTwoExamTime?.prefix(10) ?? "")"
+        }
+        self.k2_imageview.image = UIImage(named: k2Img)
+        self.k2_label.text = k2Txt
+        var k3Img = "K3_no", k3Txt = "未通过"
+        if rowInfo.trainThreeExamStatus=="1" {
+            k3Img = "K3_yes"
+            k3Txt = "\(rowInfo.trainThreeExamStatus?.prefix(10) ?? "")"
+        }
+        self.k3_imageview.image = UIImage(named: k3Img)
+        self.k3_label.text = k3Txt
+        var k4Img = "K4_no", k4Txt = "未通过"
+        if rowInfo.trainThreeExamStatus=="1" {
+            k4Img = "K4_yes"
+            k4Txt = "\(rowInfo.trainThreeExamStatus?.prefix(10) ?? "")"
+        }
+        self.k4_imageview.image = UIImage(named: k4Img)
+        self.k4_label.text = k4Txt
+        //备注
+        self.remark_label.text = "备注:" + ((rowInfo.remark=="" ? "无":rowInfo.remark)!)
         
     }
     

+ 17 - 6
JiaPeiManage/Sources/Modulars/学员/Views/MeTraineeSubjectCell.xib

@@ -69,10 +69,10 @@
                             <state key="normal" image="call_phone"/>
                         </button>
                         <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="李泽楷" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="e6H-nJ-vBG">
-                            <rect key="frame" x="102" y="48" width="150" height="22"/>
+                            <rect key="frame" x="101.99999999999999" y="48" width="58.333333333333329" height="22"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="22" id="8AK-RC-b3J"/>
-                                <constraint firstAttribute="width" constant="150" id="zso-Fa-FYT"/>
+                                <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="45" id="zso-Fa-FYT"/>
                             </constraints>
                             <fontDescription key="fontDescription" type="boldSystem" pointSize="19"/>
                             <color key="textColor" red="0.83137254901960778" green="0.8666666666666667" blue="0.90196078431372551" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
@@ -101,7 +101,7 @@
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8Kf-rl-yaG">
                             <rect key="frame" x="15" y="165" width="315" height="70"/>
                             <subviews>
-                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="K1_yes" translatesAutoresizingMaskIntoConstraints="NO" id="QUD-2Q-Nej">
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="K1_no" translatesAutoresizingMaskIntoConstraints="NO" id="QUD-2Q-Nej">
                                     <rect key="frame" x="20" y="7" width="24" height="24"/>
                                     <constraints>
                                         <constraint firstAttribute="width" constant="24" id="Qpf-FP-4fT"/>
@@ -118,7 +118,7 @@
                                     <color key="textColor" red="0.71372549019607845" green="0.75686274509803919" blue="0.80000000000000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
                                 </label>
-                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="k2_yes" translatesAutoresizingMaskIntoConstraints="NO" id="1U8-M0-twU">
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="k2_no" translatesAutoresizingMaskIntoConstraints="NO" id="1U8-M0-twU">
                                     <rect key="frame" x="181" y="7" width="24" height="24"/>
                                     <constraints>
                                         <constraint firstAttribute="width" constant="24" id="WO6-yC-Vt5"/>
@@ -218,6 +218,13 @@
                                 <color key="titleColor" red="0.20784313725490194" green="0.74901960784313726" blue="0.36862745098039218" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                             </state>
                         </button>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user-male" translatesAutoresizingMaskIntoConstraints="NO" id="mpO-WT-68B">
+                            <rect key="frame" x="165.33333333333334" y="50" width="18" height="18"/>
+                            <constraints>
+                                <constraint firstAttribute="height" constant="18" id="0Pu-ur-IZS"/>
+                                <constraint firstAttribute="width" constant="18" id="Q75-r1-dZ2"/>
+                            </constraints>
+                        </imageView>
                     </subviews>
                     <color key="backgroundColor" red="0.043137254901960784" green="0.16862745098039217" blue="0.30196078431372547" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                     <constraints>
@@ -228,6 +235,7 @@
                         <constraint firstItem="PdA-Nu-qhi" firstAttribute="leading" secondItem="adu-yu-H5N" secondAttribute="trailing" constant="13" id="98q-XL-b6Z"/>
                         <constraint firstItem="hcU-Lv-pf4" firstAttribute="top" secondItem="e6H-nJ-vBG" secondAttribute="bottom" constant="12" id="9G0-bk-Mi9"/>
                         <constraint firstItem="8Kf-rl-yaG" firstAttribute="leading" secondItem="8GC-L9-kgq" secondAttribute="leading" constant="15" id="B0T-Lh-guw"/>
+                        <constraint firstItem="mpO-WT-68B" firstAttribute="leading" secondItem="e6H-nJ-vBG" secondAttribute="trailing" constant="5" id="B68-ug-lWv"/>
                         <constraint firstItem="26Z-Ih-zAP" firstAttribute="top" secondItem="plQ-03-a5S" secondAttribute="bottom" constant="15" id="Bqc-UI-6PL"/>
                         <constraint firstItem="8Kf-rl-yaG" firstAttribute="top" secondItem="adu-yu-H5N" secondAttribute="bottom" constant="11" id="DZj-Uu-CMN"/>
                         <constraint firstItem="35n-mh-gYb" firstAttribute="leading" secondItem="adu-yu-H5N" secondAttribute="trailing" constant="13" id="Fkb-uX-BTt"/>
@@ -237,6 +245,7 @@
                         <constraint firstAttribute="trailing" secondItem="qmu-Cp-oqw" secondAttribute="trailing" constant="37" id="OX4-4k-QpT"/>
                         <constraint firstItem="e6H-nJ-vBG" firstAttribute="leading" secondItem="adu-yu-H5N" secondAttribute="trailing" constant="13" id="PQD-lj-5DS"/>
                         <constraint firstItem="qmu-Cp-oqw" firstAttribute="leading" secondItem="8GC-L9-kgq" secondAttribute="leading" constant="37" id="Yux-iA-66b"/>
+                        <constraint firstItem="mpO-WT-68B" firstAttribute="centerY" secondItem="e6H-nJ-vBG" secondAttribute="centerY" id="chv-OK-TbM"/>
                         <constraint firstItem="26Z-Ih-zAP" firstAttribute="leading" secondItem="BFL-4s-fhV" secondAttribute="trailing" constant="8" id="d6y-Xo-ziI"/>
                         <constraint firstItem="CcQ-HC-rwy" firstAttribute="top" secondItem="8GC-L9-kgq" secondAttribute="top" constant="10" id="eDC-gm-sMc"/>
                         <constraint firstItem="CcQ-HC-rwy" firstAttribute="leading" secondItem="8GC-L9-kgq" secondAttribute="leading" constant="-15" id="ftA-6G-qsq"/>
@@ -278,6 +287,7 @@
                 <outlet property="phone_button" destination="BFL-4s-fhV" id="FNm-Mr-GiA"/>
                 <outlet property="phone_label" destination="PdA-Nu-qhi" id="Fec-qD-AFX"/>
                 <outlet property="remark_label" destination="qmu-Cp-oqw" id="4gi-NM-y3I"/>
+                <outlet property="sex_imageview" destination="mpO-WT-68B" id="8CU-V4-1DY"/>
                 <outlet property="state_button" destination="35n-mh-gYb" id="9ap-PT-w1d"/>
                 <outlet property="user_imageview" destination="adu-yu-H5N" id="jZj-NF-ANi"/>
                 <outlet property="username_label" destination="e6H-nJ-vBG" id="Te5-Et-SkA"/>
@@ -286,12 +296,13 @@
         </view>
     </objects>
     <resources>
-        <image name="K1_yes" width="24" height="24"/>
+        <image name="K1_no" width="24" height="24"/>
         <image name="K3_no" width="24" height="24"/>
         <image name="K4_no" width="24" height="24"/>
         <image name="call_phone" width="36" height="36"/>
         <image name="default-user" width="74" height="102"/>
-        <image name="k2_yes" width="24" height="24"/>
+        <image name="k2_no" width="24" height="24"/>
         <image name="send_msg" width="36" height="36"/>
+        <image name="user-male" width="18" height="18"/>
     </resources>
 </document>

+ 3 - 3
JiaPeiManage/Sources/Utils/NYSwRouter.swift

@@ -11,7 +11,7 @@ import URLNavigator
 
 
 enum NYSwPushType {
-    case recommend_rank
+    case trainee_info
     case trainee_search
     case trainee_list
     case mine_center
@@ -30,8 +30,8 @@ extension NYSwPushType {
 
     var path:String {
         switch self {
-        case .recommend_rank:
-            return "JiaPeiManage://recommend/rank"
+        case .trainee_info:
+            return "JiaPeiManage://me/trainee/info"
         case .trainee_list:
             return "JiaPeiManage://me/trainee/list"
         case .trainee_search:

+ 3 - 10
JiaPeiManage/Sources/Utils/URLNavigationMap.swift

@@ -13,17 +13,10 @@ final class URLNavigationMap {
     
     static func initialize(navigator:NavigatorType) {
         
-        navigator.register(NYSwPushType.recommend_rank.path) { (url, values, context) -> UIViewController? in
+        navigator.register(NYSwPushType.trainee_info.path) { (url, values, context) -> UIViewController? in
             
-            guard let context = context as? [String:Bool],
-                  let _ = context["isFromRcmd"]
-            else { return nil }
-            
-            let rankParentVc = UIViewController()
-            
-//            RankParentViewController()
-            
-            return rankParentVc
+            let meTraineeDetailsPageViewController = MeTraineeDetailsPageViewController(nibName: "MeTraineeDetailsPageViewController")
+            return meTraineeDetailsPageViewController
         }
         
         navigator.register(NYSwPushType.trainee_search.path) { (url, values, context) -> UIViewController? in