浏览代码

UI 及 bug 修改 add无学员imageview

openlockPPP 1 年之前
父节点
当前提交
a8d81a1a4b
共有 16 个文件被更改,包括 172 次插入178 次删除
  1. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/animation_loading_error_1.imageset/common_loading_error_1.png
  2. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/animation_loading_error_2.imageset/common_loading_error_2.png
  3. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/animation_loading_error_3.imageset/common_loading_error_3.png
  4. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/animation_loading_error_4.imageset/common_loading_error_4.png
  5. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/animation_loading_loading_1.imageset/common_loading_loading_1.png
  6. 二进制
      JiaPeiManage/Assets.xcassets/Modules/Animation/animation_loading_loading_2.imageset/common_loading_loading_2.png
  7. 13 15
      JiaPeiManage/Sources/Custom/View/EmptyView/EmptyView.xib
  8. 7 7
      JiaPeiManage/Sources/Custom/View/ImageViewAnimation/NetAnimationView.swift
  9. 0 17
      JiaPeiManage/Sources/Models/CoachcityModel.swift
  10. 1 1
      JiaPeiManage/Sources/Modulars/Login/Controllers/LoginViewController.swift
  11. 1 1
      JiaPeiManage/Sources/Modulars/Login/Controllers/LoginViewController.xib
  12. 134 114
      JiaPeiManage/Sources/Modulars/二维码/Controllers/CoachQRPageController.xib
  13. 8 18
      JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeDetailsPageViewController.swift
  14. 1 0
      JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeSearchPageViewController.swift
  15. 6 4
      JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeSubjectPageViewController.swift
  16. 1 1
      JiaPeiManage/Sources/Utils/NYTips.swift

二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/animation_loading_error_1.imageset/common_loading_error_1.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/animation_loading_error_2.imageset/common_loading_error_2.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/animation_loading_error_3.imageset/common_loading_error_3.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/animation_loading_error_4.imageset/common_loading_error_4.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/animation_loading_loading_1.imageset/common_loading_loading_1.png


二进制
JiaPeiManage/Assets.xcassets/Modules/Animation/animation_loading_loading_2.imageset/common_loading_loading_2.png


+ 13 - 15
JiaPeiManage/Sources/Custom/View/EmptyView/EmptyView.xib

@@ -1,34 +1,32 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
-    <device id="retina4_7" orientation="portrait">
-        <adaptation id="fullscreen"/>
-    </device>
+<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="retina4_7" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/>
+        <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"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <view contentMode="scaleToFill" id="M0l-TV-B9z" customClass="EmptyView" customModule="SwiftBilibili" customModuleProvider="target">
+        <view contentMode="scaleToFill" id="M0l-TV-B9z" customClass="EmptyView" customModule="JiaPeiManage" customModuleProvider="target">
             <rect key="frame" x="0.0" y="0.0" width="400" height="220"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
             <subviews>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sBg-X0-qmO">
-                    <rect key="frame" x="100" y="0.0" width="200" height="220"/>
+                    <rect key="frame" x="100" y="20" width="200" height="200"/>
                     <subviews>
-                        <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="home_noData" translatesAutoresizingMaskIntoConstraints="NO" id="qNX-mI-6YY">
+                        <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="animation_loading_error_1" translatesAutoresizingMaskIntoConstraints="NO" id="qNX-mI-6YY">
                             <rect key="frame" x="0.0" y="0.0" width="200" height="180"/>
                             <constraints>
                                 <constraint firstAttribute="height" constant="180" id="hBO-py-Jld"/>
                             </constraints>
                         </imageView>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="什么都没有找到~" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UuX-aB-hYx">
-                            <rect key="frame" x="0.0" y="180" width="200" height="40"/>
-                            <fontDescription key="fontDescription" type="system" pointSize="17"/>
-                            <nil key="textColor"/>
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="暂无学员" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UuX-aB-hYx">
+                            <rect key="frame" x="0.0" y="180" width="200" height="20"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                            <color key="textColor" red="0.53725490196078429" green="0.56862745098039214" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
                             <nil key="highlightedColor"/>
                         </label>
                     </subviews>
@@ -45,6 +43,7 @@
                     </constraints>
                 </view>
             </subviews>
+            <viewLayoutGuide key="safeArea" id="vC8-CP-LKV"/>
             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
             <constraints>
                 <constraint firstItem="sBg-X0-qmO" firstAttribute="centerX" secondItem="vC8-CP-LKV" secondAttribute="centerX" id="MeP-3T-ibO"/>
@@ -52,11 +51,10 @@
                 <constraint firstItem="vC8-CP-LKV" firstAttribute="bottom" secondItem="sBg-X0-qmO" secondAttribute="bottom" id="g5D-3I-OfQ"/>
             </constraints>
             <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
-            <viewLayoutGuide key="safeArea" id="vC8-CP-LKV"/>
-            <point key="canvasLocation" x="87" y="-161"/>
+            <point key="canvasLocation" x="139.19999999999999" y="-144.82758620689657"/>
         </view>
     </objects>
     <resources>
-        <image name="home_noData" width="400" height="400"/>
+        <image name="animation_loading_error_1" width="492" height="521"/>
     </resources>
 </document>

+ 7 - 7
JiaPeiManage/Sources/Custom/View/ImageViewAnimation/NetAnimationView.swift

@@ -51,17 +51,17 @@ final class NetAnimationView: UIView {
            textLabel.text = "正在努力加载数据中..."
 //           imageView.image = UIImage(named: "animation_loading_loading_1")
 //           imageView.animationImages = [UIImage(named: "animation_loading_loading_1")!,UIImage(named: "animation_loading_loading_2")!]
-           imageView.animationDuration = 0.5
-           imageView.animationRepeatCount = 0
+//           imageView.animationDuration = 0.5
+//           imageView.animationRepeatCount = 0
         }
         
         if type == .failure {
            textLabel.text = "似乎与互联网已经断开连接"
-//           imageView.image = UIImage(named: "animation_loading_error_4")
-//           imageView.animationImages = [UIImage(named: "animation_loading_error_1")!,
-//                                        UIImage(named: "animation_loading_error_2")!,
-//                                        UIImage(named: "animation_loading_error_3")!,
-//                                        UIImage(named: "animation_loading_error_4")!]
+           imageView.image = UIImage(named: "animation_loading_error_4")
+           imageView.animationImages = [UIImage(named: "animation_loading_error_1")!,
+                                        UIImage(named: "animation_loading_error_2")!,
+                                        UIImage(named: "animation_loading_error_3")!,
+                                        UIImage(named: "animation_loading_error_4")!]
            imageView.animationDuration = 2.0
            imageView.animationRepeatCount = 1
         }

+ 0 - 17
JiaPeiManage/Sources/Models/CoachcityModel.swift

@@ -8,23 +8,6 @@ import ObjectMapper
 import SwiftyUserDefaults
 
 struct CityItem :ImmutableMappable{
-//    "searchValue": null,
-//            "createBy": "admin",
-//            "createTime": "2023-06-12 17:35:14",
-//            "updateTime": null,
-//            "updateBy": null,
-//            "remark": "1",
-//            "params": {},
-//            "dictCode": 295,
-//            "dictSort": 0,
-//            "dictLabel": "福州市",
-//            "dictValue": "3501",
-//            "dictType": "coach_city",
-//            "cssClass": null,
-//            "listClass": null,
-//            "isDefault": "N",
-//            "status": "0",
-//            "default": false
     var searchValue:String  = ""
     var createBy:String  = ""
     var createTime:String  = ""

+ 1 - 1
JiaPeiManage/Sources/Modulars/Login/Controllers/LoginViewController.swift

@@ -158,7 +158,7 @@ final class LoginViewController: BaseViewController {
                                 self.dismiss(animated: true)
                             }, onError: { error in
                                 NYTips.hide()
-                                NYTips.showErr(txt: error.localizedDescription)
+                                NYTips.showErr(txt: (error as! RequestError).errorDescription)
                                 print("%@",error)
                             })
                             .disposed(by: disposeBag)

+ 1 - 1
JiaPeiManage/Sources/Modulars/Login/Controllers/LoginViewController.xib

@@ -71,7 +71,7 @@
                                     <rect key="frame" x="62" y="0.0" width="218" height="45"/>
                                     <color key="textColor" red="0.83137254901960778" green="0.8666666666666667" blue="0.90196078431372551" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="14"/>
-                                    <textInputTraits key="textInputTraits" keyboardType="numberPad"/>
+                                    <textInputTraits key="textInputTraits"/>
                                 </textField>
                             </subviews>
                             <color key="backgroundColor" red="0.14901960784313725" green="0.28235294117647058" blue="0.41960784313725491" alpha="1" colorSpace="calibratedRGB"/>

+ 134 - 114
JiaPeiManage/Sources/Modulars/二维码/Controllers/CoachQRPageController.xib

@@ -81,130 +81,150 @@
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="coach_top" translatesAutoresizingMaskIntoConstraints="NO" id="8fh-fG-fxW">
                                     <rect key="frame" x="30" y="28" width="315" height="101"/>
                                     <constraints>
-                                        <constraint firstAttribute="height" constant="101" id="TM2-mH-FOf"/>
+                                        <constraint firstAttribute="height" constant="101" id="AIs-vG-6Ho"/>
                                     </constraints>
                                 </imageView>
-                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="qrcode_bg" translatesAutoresizingMaskIntoConstraints="NO" id="kP3-tO-1Hu">
-                                    <rect key="frame" x="30" y="154" width="311" height="296"/>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6p2-ju-AZT" userLabel="View-ct">
+                                    <rect key="frame" x="0.0" y="149" width="375" height="296"/>
+                                    <subviews>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="qrcode_bg" translatesAutoresizingMaskIntoConstraints="NO" id="kP3-tO-1Hu">
+                                            <rect key="frame" x="31" y="0.0" width="310" height="296"/>
+                                            <userDefinedRuntimeAttributes>
+                                                <userDefinedRuntimeAttribute type="boolean" keyPath="aLRatio" value="YES"/>
+                                            </userDefinedRuntimeAttributes>
+                                        </imageView>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user-icon" translatesAutoresizingMaskIntoConstraints="NO" id="VYZ-RH-l56">
+                                            <rect key="frame" x="104" y="17" width="38" height="38"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="38" id="Vxg-TV-3yE"/>
+                                                <constraint firstAttribute="height" constant="38" id="u2e-C6-yww"/>
+                                            </constraints>
+                                            <userDefinedRuntimeAttributes>
+                                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                                    <integer key="value" value="19"/>
+                                                </userDefinedRuntimeAttribute>
+                                                <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                                                    <real key="value" value="1"/>
+                                                </userDefinedRuntimeAttribute>
+                                                <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                                    <color key="value" red="0.14901960780000001" green="0.2901960784" blue="0.43137254899999999" alpha="1" colorSpace="calibratedRGB"/>
+                                                </userDefinedRuntimeAttribute>
+                                            </userDefinedRuntimeAttributes>
+                                        </imageView>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="a峰" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BEM-GK-QrF">
+                                            <rect key="frame" x="150" y="17" width="80" height="18"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="18" id="8d3-eP-bp9"/>
+                                                <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="80" id="cZ3-ft-dPR"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="boldSystem" pointSize="19"/>
+                                            <color key="textColor" red="0.019607843137254902" green="0.019607843137254902" blue="0.29411764705882354" alpha="1" colorSpace="calibratedRGB"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="0NN-S3-F1s">
+                                            <rect key="frame" x="126.66666666666669" y="86" width="122" height="124"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="122" id="5ge-OY-yie"/>
+                                                <constraint firstAttribute="height" constant="124" id="MMq-bG-T7d"/>
+                                            </constraints>
+                                        </imageView>
+                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00000000000" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kig-mj-OUl">
+                                            <rect key="frame" x="150" y="37" width="83.333333333333314" height="18"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="18" id="Diz-h6-c8J"/>
+                                                <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="83.329999999999998" id="unf-V7-isT"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="system" pointSize="12"/>
+                                            <color key="textColor" red="0.47450980392156861" green="0.47450980392156861" blue="0.56862745098039214" alpha="1" colorSpace="calibratedRGB"/>
+                                            <nil key="highlightedColor"/>
+                                        </label>
+                                    </subviews>
+                                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                     <constraints>
-                                        <constraint firstAttribute="height" constant="296" id="SHh-ya-Zu9"/>
+                                        <constraint firstItem="kP3-tO-1Hu" firstAttribute="leading" secondItem="6p2-ju-AZT" secondAttribute="leading" constant="31" id="0xN-Co-4Ei"/>
+                                        <constraint firstItem="BEM-GK-QrF" firstAttribute="leading" secondItem="VYZ-RH-l56" secondAttribute="trailing" constant="8" symbolic="YES" id="1BU-8h-aZf"/>
+                                        <constraint firstItem="kig-mj-OUl" firstAttribute="leading" secondItem="VYZ-RH-l56" secondAttribute="trailing" constant="8" id="6FP-17-Owb"/>
+                                        <constraint firstItem="0NN-S3-F1s" firstAttribute="centerY" secondItem="6p2-ju-AZT" secondAttribute="centerY" id="7uc-Fe-1bQ"/>
+                                        <constraint firstAttribute="trailing" secondItem="kP3-tO-1Hu" secondAttribute="trailing" constant="34" id="843-G9-3rD"/>
+                                        <constraint firstItem="0NN-S3-F1s" firstAttribute="centerX" secondItem="6p2-ju-AZT" secondAttribute="centerX" id="9Ty-0J-RcK"/>
+                                        <constraint firstItem="kP3-tO-1Hu" firstAttribute="top" secondItem="6p2-ju-AZT" secondAttribute="top" id="eqM-GD-UXi"/>
+                                        <constraint firstItem="kig-mj-OUl" firstAttribute="top" secondItem="BEM-GK-QrF" secondAttribute="bottom" constant="2" id="jeq-AO-4dB"/>
+                                        <constraint firstAttribute="height" constant="296" id="sWK-vN-iJk"/>
+                                        <constraint firstItem="VYZ-RH-l56" firstAttribute="leading" secondItem="6p2-ju-AZT" secondAttribute="leading" constant="104" id="v6X-5u-AEP"/>
+                                        <constraint firstItem="BEM-GK-QrF" firstAttribute="top" secondItem="6p2-ju-AZT" secondAttribute="top" constant="17" id="vTX-12-n3V"/>
+                                        <constraint firstAttribute="bottom" secondItem="kP3-tO-1Hu" secondAttribute="bottom" id="vfA-BS-sE9"/>
+                                        <constraint firstItem="VYZ-RH-l56" firstAttribute="top" secondItem="6p2-ju-AZT" secondAttribute="top" constant="17" id="xpd-lZ-i9d"/>
                                     </constraints>
-                                    <userDefinedRuntimeAttributes>
-                                        <userDefinedRuntimeAttribute type="boolean" keyPath="aLRatio" value="YES"/>
-                                    </userDefinedRuntimeAttributes>
-                                </imageView>
-                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="center" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user-icon" translatesAutoresizingMaskIntoConstraints="NO" id="VYZ-RH-l56">
-                                    <rect key="frame" x="110" y="174" width="38" height="38"/>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="38" id="5dR-wj-IVA"/>
-                                        <constraint firstAttribute="height" constant="38" id="nNw-hW-lq5"/>
-                                    </constraints>
-                                    <userDefinedRuntimeAttributes>
-                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
-                                            <integer key="value" value="19"/>
-                                        </userDefinedRuntimeAttribute>
-                                        <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
-                                            <real key="value" value="1"/>
-                                        </userDefinedRuntimeAttribute>
-                                        <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
-                                            <color key="value" red="0.14901960780000001" green="0.2901960784" blue="0.43137254899999999" alpha="1" colorSpace="calibratedRGB"/>
-                                        </userDefinedRuntimeAttribute>
-                                    </userDefinedRuntimeAttributes>
-                                </imageView>
-                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="texts_image" translatesAutoresizingMaskIntoConstraints="NO" id="Fj8-1Y-UaH">
-                                    <rect key="frame" x="24" y="460" width="327" height="249"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="249" id="mwo-aa-8Cc"/>
-                                    </constraints>
-                                </imageView>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="a峰" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="BEM-GK-QrF">
-                                    <rect key="frame" x="153" y="176" width="80" height="20"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="20" id="6SH-PI-C6m"/>
-                                        <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="80" id="A7A-Fm-RJm"/>
-                                    </constraints>
-                                    <fontDescription key="fontDescription" type="boldSystem" pointSize="19"/>
-                                    <color key="textColor" red="0.019607843137254902" green="0.019607843137254902" blue="0.29411764705882354" alpha="1" colorSpace="calibratedRGB"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="00000000000" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kig-mj-OUl">
-                                    <rect key="frame" x="153" y="196" width="83.333333333333314" height="20"/>
-                                    <constraints>
-                                        <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="80" id="oPg-dL-10D"/>
-                                        <constraint firstAttribute="height" constant="20" id="wdb-rV-YHy"/>
-                                    </constraints>
-                                    <fontDescription key="fontDescription" type="system" pointSize="12"/>
-                                    <color key="textColor" red="0.47450980392156861" green="0.47450980392156861" blue="0.56862745098039214" alpha="1" colorSpace="calibratedRGB"/>
-                                    <nil key="highlightedColor"/>
-                                </label>
-                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="0NN-S3-F1s">
-                                    <rect key="frame" x="126.66666666666669" y="251" width="122" height="124"/>
-                                    <constraints>
-                                        <constraint firstAttribute="width" constant="122" id="bE2-G5-Xb4"/>
-                                        <constraint firstAttribute="height" constant="124" id="dCC-Ej-Zk4"/>
-                                    </constraints>
-                                </imageView>
-                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YNn-px-Z9f">
-                                    <rect key="frame" x="54" y="644" width="125" height="40"/>
-                                    <color key="backgroundColor" red="0.24705882352941178" green="0.44313725490196076" blue="0.98431372549019602" alpha="1" colorSpace="calibratedRGB"/>
-                                    <constraints>
-                                        <constraint firstAttribute="height" constant="40" id="W4N-53-Aac"/>
-                                        <constraint firstAttribute="width" constant="125" id="d0t-37-iog"/>
-                                    </constraints>
-                                    <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
-                                    <inset key="titleEdgeInsets" minX="8" minY="0.0" maxX="0.0" maxY="0.0"/>
-                                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="8" maxY="0.0"/>
-                                    <state key="normal" title="Android" image="android_icon"/>
-                                    <userDefinedRuntimeAttributes>
-                                        <userDefinedRuntimeAttribute type="boolean" keyPath="aLRatio" value="YES"/>
-                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
-                                            <real key="value" value="20"/>
-                                        </userDefinedRuntimeAttribute>
-                                    </userDefinedRuntimeAttributes>
-                                </button>
-                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uAg-tu-zut">
-                                    <rect key="frame" x="196" y="644" width="125" height="40"/>
-                                    <color key="backgroundColor" red="0.24705882352941178" green="0.44313725490196076" blue="0.98431372549019602" alpha="1" colorSpace="calibratedRGB"/>
+                                </view>
+                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wI7-JO-kG4" userLabel="View-bt">
+                                    <rect key="frame" x="0.0" y="450" width="375" height="249"/>
+                                    <subviews>
+                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="texts_image" translatesAutoresizingMaskIntoConstraints="NO" id="Fj8-1Y-UaH">
+                                            <rect key="frame" x="24" y="0.0" width="327" height="249"/>
+                                        </imageView>
+                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="uAg-tu-zut">
+                                            <rect key="frame" x="195" y="183" width="125" height="40"/>
+                                            <color key="backgroundColor" red="0.24705882352941178" green="0.44313725490196076" blue="0.98431372549019602" alpha="1" colorSpace="calibratedRGB"/>
+                                            <constraints>
+                                                <constraint firstAttribute="width" constant="125" id="HuX-zp-UIV"/>
+                                                <constraint firstAttribute="height" constant="40" id="jZn-Bk-xl5"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+                                            <inset key="titleEdgeInsets" minX="8" minY="0.0" maxX="0.0" maxY="0.0"/>
+                                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="8" maxY="0.0"/>
+                                            <state key="normal" title="iPhone" image="ios_icon"/>
+                                            <userDefinedRuntimeAttributes>
+                                                <userDefinedRuntimeAttribute type="boolean" keyPath="aLRatio" value="YES"/>
+                                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                                    <real key="value" value="20"/>
+                                                </userDefinedRuntimeAttribute>
+                                            </userDefinedRuntimeAttributes>
+                                        </button>
+                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YNn-px-Z9f">
+                                            <rect key="frame" x="55" y="183" width="125" height="40"/>
+                                            <color key="backgroundColor" red="0.24705882352941178" green="0.44313725490196076" blue="0.98431372549019602" alpha="1" colorSpace="calibratedRGB"/>
+                                            <constraints>
+                                                <constraint firstAttribute="height" constant="40" id="cfz-Ro-I3r"/>
+                                                <constraint firstAttribute="width" constant="125" id="rAM-VS-JaN"/>
+                                            </constraints>
+                                            <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
+                                            <inset key="titleEdgeInsets" minX="8" minY="0.0" maxX="0.0" maxY="0.0"/>
+                                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="8" maxY="0.0"/>
+                                            <state key="normal" title="Android" image="android_icon"/>
+                                            <userDefinedRuntimeAttributes>
+                                                <userDefinedRuntimeAttribute type="boolean" keyPath="aLRatio" value="YES"/>
+                                                <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                                    <real key="value" value="20"/>
+                                                </userDefinedRuntimeAttribute>
+                                            </userDefinedRuntimeAttributes>
+                                        </button>
+                                    </subviews>
+                                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                     <constraints>
-                                        <constraint firstAttribute="height" constant="40" id="jpS-oc-OIh"/>
-                                        <constraint firstAttribute="width" constant="125" id="xWm-jr-XH8"/>
+                                        <constraint firstAttribute="bottom" secondItem="uAg-tu-zut" secondAttribute="bottom" constant="26" id="15w-4O-F5l"/>
+                                        <constraint firstAttribute="height" constant="249" id="56w-Jq-fHv"/>
+                                        <constraint firstItem="YNn-px-Z9f" firstAttribute="leading" secondItem="wI7-JO-kG4" secondAttribute="leading" constant="55" id="6Pj-eA-GLM"/>
+                                        <constraint firstAttribute="trailing" secondItem="uAg-tu-zut" secondAttribute="trailing" constant="55" id="9HH-N7-31B"/>
+                                        <constraint firstAttribute="bottom" secondItem="YNn-px-Z9f" secondAttribute="bottom" constant="26" id="Ekq-6l-4qX"/>
+                                        <constraint firstAttribute="trailing" secondItem="Fj8-1Y-UaH" secondAttribute="trailing" constant="24" id="Iks-yI-Agv"/>
+                                        <constraint firstAttribute="bottom" secondItem="Fj8-1Y-UaH" secondAttribute="bottom" id="bsw-56-4sY"/>
+                                        <constraint firstItem="Fj8-1Y-UaH" firstAttribute="top" secondItem="wI7-JO-kG4" secondAttribute="top" id="kSR-QM-3Kd"/>
+                                        <constraint firstItem="Fj8-1Y-UaH" firstAttribute="leading" secondItem="wI7-JO-kG4" secondAttribute="leading" constant="24" id="miJ-WL-k8Z"/>
                                     </constraints>
-                                    <fontDescription key="fontDescription" type="boldSystem" pointSize="15"/>
-                                    <inset key="titleEdgeInsets" minX="8" minY="0.0" maxX="0.0" maxY="0.0"/>
-                                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="8" maxY="0.0"/>
-                                    <state key="normal" title="iPhone" image="ios_icon"/>
-                                    <userDefinedRuntimeAttributes>
-                                        <userDefinedRuntimeAttribute type="boolean" keyPath="aLRatio" value="YES"/>
-                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
-                                            <real key="value" value="20"/>
-                                        </userDefinedRuntimeAttribute>
-                                    </userDefinedRuntimeAttributes>
-                                </button>
+                                </view>
                             </subviews>
                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                             <constraints>
-                                <constraint firstAttribute="trailing" secondItem="kP3-tO-1Hu" secondAttribute="trailing" constant="34" id="3Dw-hJ-Kis"/>
-                                <constraint firstItem="8fh-fG-fxW" firstAttribute="leading" secondItem="Thw-l4-pAD" secondAttribute="leading" constant="30" id="6MP-Ol-nHj"/>
-                                <constraint firstItem="Fj8-1Y-UaH" firstAttribute="top" secondItem="kP3-tO-1Hu" secondAttribute="bottom" constant="10" id="Bzf-of-4HB"/>
-                                <constraint firstItem="BEM-GK-QrF" firstAttribute="leading" secondItem="VYZ-RH-l56" secondAttribute="trailing" constant="5" id="Ctd-6A-Pdc"/>
-                                <constraint firstItem="kig-mj-OUl" firstAttribute="top" secondItem="BEM-GK-QrF" secondAttribute="bottom" id="DcG-YT-Uz0"/>
+                                <constraint firstItem="wI7-JO-kG4" firstAttribute="top" secondItem="6p2-ju-AZT" secondAttribute="bottom" constant="5" id="BAH-tM-TXh"/>
+                                <constraint firstItem="8fh-fG-fxW" firstAttribute="leading" secondItem="Thw-l4-pAD" secondAttribute="leading" constant="30" id="DFO-Ve-dLU"/>
                                 <constraint firstAttribute="height" constant="730" id="FS6-hD-zge"/>
-                                <constraint firstItem="0NN-S3-F1s" firstAttribute="centerX" secondItem="Thw-l4-pAD" secondAttribute="centerX" id="MP0-xk-Ets"/>
-                                <constraint firstAttribute="trailing" secondItem="8fh-fG-fxW" secondAttribute="trailing" constant="30" id="Mi0-oi-vO1"/>
-                                <constraint firstItem="VYZ-RH-l56" firstAttribute="top" secondItem="kP3-tO-1Hu" secondAttribute="top" constant="20" id="N42-dS-GW3"/>
-                                <constraint firstItem="Fj8-1Y-UaH" firstAttribute="leading" secondItem="Thw-l4-pAD" secondAttribute="leading" constant="24" id="NGV-7c-uzA"/>
-                                <constraint firstItem="0NN-S3-F1s" firstAttribute="top" secondItem="kig-mj-OUl" secondAttribute="bottom" constant="35" id="RXL-AN-fOE"/>
-                                <constraint firstItem="kP3-tO-1Hu" firstAttribute="leading" secondItem="Thw-l4-pAD" secondAttribute="leading" constant="30" id="TTI-6r-JuD"/>
-                                <constraint firstItem="uAg-tu-zut" firstAttribute="trailing" secondItem="Fj8-1Y-UaH" secondAttribute="trailing" constant="-30" id="Y5a-bu-3Yc"/>
-                                <constraint firstItem="VYZ-RH-l56" firstAttribute="leading" secondItem="kP3-tO-1Hu" secondAttribute="leading" constant="80" id="YZE-c6-ljm"/>
-                                <constraint firstItem="YNn-px-Z9f" firstAttribute="bottom" secondItem="Fj8-1Y-UaH" secondAttribute="bottom" constant="-25" id="Yu4-rR-aRN"/>
-                                <constraint firstItem="uAg-tu-zut" firstAttribute="bottom" secondItem="Fj8-1Y-UaH" secondAttribute="bottom" constant="-25" id="bF1-EG-ti5"/>
-                                <constraint firstItem="YNn-px-Z9f" firstAttribute="leading" secondItem="Fj8-1Y-UaH" secondAttribute="leading" constant="30" id="bea-61-Q5x"/>
-                                <constraint firstItem="kig-mj-OUl" firstAttribute="leading" secondItem="VYZ-RH-l56" secondAttribute="trailing" constant="5" id="dR0-qq-X7A"/>
-                                <constraint firstItem="8fh-fG-fxW" firstAttribute="top" secondItem="Thw-l4-pAD" secondAttribute="top" constant="28" id="f8B-ls-9ZD"/>
-                                <constraint firstAttribute="trailing" secondItem="Fj8-1Y-UaH" secondAttribute="trailing" constant="24" id="h2A-DN-z6j"/>
-                                <constraint firstItem="kP3-tO-1Hu" firstAttribute="top" secondItem="8fh-fG-fxW" secondAttribute="bottom" constant="25" id="j6h-bl-rWx"/>
-                                <constraint firstItem="BEM-GK-QrF" firstAttribute="top" secondItem="kP3-tO-1Hu" secondAttribute="top" constant="22" id="jts-QG-2oC"/>
+                                <constraint firstAttribute="trailing" secondItem="8fh-fG-fxW" secondAttribute="trailing" constant="30" id="K1S-nL-HQA"/>
+                                <constraint firstItem="6p2-ju-AZT" firstAttribute="leading" secondItem="Thw-l4-pAD" secondAttribute="leading" id="Y78-fz-BJ6"/>
+                                <constraint firstItem="8fh-fG-fxW" firstAttribute="top" secondItem="Thw-l4-pAD" secondAttribute="top" constant="28" id="hFs-lS-rqm"/>
+                                <constraint firstItem="wI7-JO-kG4" firstAttribute="leading" secondItem="Thw-l4-pAD" secondAttribute="leading" id="lFI-5a-jtc"/>
+                                <constraint firstItem="6p2-ju-AZT" firstAttribute="top" secondItem="8fh-fG-fxW" secondAttribute="bottom" constant="20" id="nnm-EJ-QCx"/>
+                                <constraint firstAttribute="trailing" secondItem="6p2-ju-AZT" secondAttribute="trailing" id="tao-q8-FG4"/>
+                                <constraint firstAttribute="trailing" secondItem="wI7-JO-kG4" secondAttribute="trailing" id="yjG-jB-IHF"/>
                             </constraints>
                         </view>
                     </subviews>

+ 8 - 18
JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeDetailsPageViewController.swift

@@ -145,7 +145,7 @@ extension MeTraineeDetailsPageViewController : VTMagicViewDelegate {
     
     func magicView(_ magicView: VTMagicView, didSelectItemAt itemIndex: UInt) {
         var menuItem = magicView.menuItem(at: itemIndex)
-        if (menuItemCurrentBtn != nil) {
+        if (menuItemCurrentBtn != nil && menuItemCurrentBtn != menuItem) {
             (menuItemCurrentBtn as?QMUIButton)?.spacingBetweenImageAndTitle = -25
         }
         (menuItem as?QMUIButton)?.spacingBetweenImageAndTitle = -30
@@ -161,7 +161,12 @@ extension MeTraineeDetailsPageViewController : VTMagicViewDelegate {
     }
     
     func magicView(_ magicView: VTMagicView, viewDidAppear viewController: UIViewController, atPage pageIndex: UInt) {
-        
+        var menuItem = magicView.menuItem(at: pageIndex)
+        if (menuItemCurrentBtn != nil && menuItemCurrentBtn != menuItem) {
+            (menuItemCurrentBtn as?QMUIButton)?.spacingBetweenImageAndTitle = -25
+        }
+        (menuItem as?QMUIButton)?.spacingBetweenImageAndTitle = -30
+        menuItemCurrentBtn = menuItem
         if pageIndex == 0 || pageIndex == 1 {
             var canRefresh: Bool = false
             
@@ -180,7 +185,7 @@ extension MeTraineeDetailsPageViewController : VTMagicViewDelegate {
     }
     
     func magicView(_ magicView: VTMagicView, viewDidDisappear viewController: UIViewController, atPage pageIndex: UInt) {
-        
+    
         if pageIndex == 0 || pageIndex == 1 {
             if !idxs.contains(pageIndex) {
                 idxs.append(pageIndex)
@@ -212,21 +217,6 @@ extension MeTraineeDetailsPageViewController : VTMagicViewDataSource{
             (menuItem as?QMUIButton)?.imagePosition = .top
             (menuItem as?QMUIButton)?.spacingBetweenImageAndTitle = -25
             
-//            menuItem?.imageEdgeInsets = UIEdgeInsets(top: -5, left: -5, bottom: 0, right: -5)
-            
-//            let title_label = UILabel()
-//            title_label.font = NYFont.SysFont.sys_13
-//            title_label.textColor = .db_fontGray
-//            title_label.textAlignment = .center
-//            title_label.text = menuTitleArray[Int(itemIndex)]
-//            menuItem?.addSubview(title_label)
-//            let t_top = (57.f - 18.f)*0.5
-//            title_label.snp.makeConstraints { make in
-//                make.top.equalTo(t_top)
-//                make.left.right.equalTo(menuItem!)
-//                make.height.equalTo(18.f)
-//            }
-            
             if itemIndex==0 {
                 (menuItem as?QMUIButton)?.spacingBetweenImageAndTitle = -30
                 menuItemCurrentBtn = menuItem

+ 1 - 0
JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeSearchPageViewController.swift

@@ -96,6 +96,7 @@ final class MeTraineeSearchPageViewController: BaseTableViewController {
             .subscribe(onSuccess: { traineeDataModel in
                 self.traineeDataModel = traineeDataModel
                 print("coachInfoListRequest成功")
+                self.isEmptyDisplay = true
                 self.hideLoadAnimation()
                 self.tableView.reloadData()
             }, onError: { error in

+ 6 - 4
JiaPeiManage/Sources/Modulars/学员/Controllers/MeTraineeSubjectPageViewController.swift

@@ -42,11 +42,10 @@ final class MeTraineeSubjectPageViewController: BaseTableViewController {
     
     override func viewDidLoad() {
         super.viewDidLoad()
-        
-        getCoachInfoList()
         //绑定
         biandView()
-        
+        //获取list
+        getCoachInfoList()
     }
     
     // MARK: 私有方法
@@ -61,6 +60,7 @@ final class MeTraineeSubjectPageViewController: BaseTableViewController {
                     self.traineeDataModel = traineeDataModel
                     self.rows += traineeDataModel.rows!
                     print("coachInfoListRequest成功")
+                    self.isEmptyDisplay = true
                     self.hideLoadAnimation()
                     self.tableView.reloadData()
                     self.stopRefresh()
@@ -77,6 +77,7 @@ final class MeTraineeSubjectPageViewController: BaseTableViewController {
                     self.traineeDataModel = traineeDataModel
                     self.rows += traineeDataModel.rows!
                     print("coachInfoListRequest成功")
+                    self.isEmptyDisplay = true
                     self.hideLoadAnimation()
                     self.tableView.reloadData()
                     self.stopRefresh()
@@ -93,6 +94,7 @@ final class MeTraineeSubjectPageViewController: BaseTableViewController {
                 self.traineeDataModel = traineeDataModel
                 self.rows += traineeDataModel.rows!
                 print("coachInfoListRequest成功")
+                self.isEmptyDisplay = true
                 self.hideLoadAnimation()
                 self.tableView.reloadData()
                 self.stopRefresh()
@@ -171,11 +173,11 @@ final class MeTraineeSubjectPageViewController: BaseTableViewController {
         setupRefreshHeader(tableView) {[unowned self] in
             self.getCoachInfoList()
         }
-        self.isEmptyDisplay = false
         // 设置上拉加载更多
         tableView.es.addInfiniteScrolling { [weak self] in
             self?.getLoadMore()
         }
+        self.isEmptyDisplay = false
     }
     
 }

+ 1 - 1
JiaPeiManage/Sources/Utils/NYTips.swift

@@ -19,7 +19,7 @@ class NYTips {
     
     static func showErr(txt:String){
         guard let curController = UIViewController.topMost else { return }
-        QMUITips.showLoading(txt, in: curController.view, hideAfterDelay: 2)
+        QMUITips.showError(txt, in: curController.view, hideAfterDelay: 2)
     }
     
     static func showMsg(txt:String){