Steven 4 mesi fa
parent
commit
100fc1285c
52 ha cambiato i file con 789 aggiunte e 202 eliminazioni
  1. 10 0
      KulexiuForTeacher/KulexiuForTeacher.xcodeproj/project.pbxproj
  2. 2 2
      KulexiuForTeacher/KulexiuForTeacher/AppDelegate.m
  3. 5 3
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/AuthDisplayView.xib
  4. 4 4
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.h
  5. 4 4
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.m
  6. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/Controller/AccompanyDetailViewController.h
  7. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyCourseInfoCell.m
  8. 56 5
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/Controller/CourseViewController.m
  9. 1 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/Model/TableCourseModel.h
  10. 7 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/Model/TableCourseModel.m
  11. 14 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/MusicRoom/Controller/MusicRoomGroupViewController.m
  12. 1 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/MusicRoom/Model/GroupCourseStudentModel.h
  13. 7 3
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/MusicRoom/Model/GroupCourseStudentModel.m
  14. 7 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/MusicRoom/View/MusicGroupStudenListCell.m
  15. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/MusicRoom/View/MusicRoomCourseInfoCell.m
  16. 1 4
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/MusicRoom/View/MusicRoomStudentPageView.m
  17. 2 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/VIPCourse/View/ProgramCourseGroupBodyView.h
  18. 7 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/VIPCourse/View/ProgramCourseGroupBodyView.m
  19. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/VIPCourse/View/VipCouseInfoCell.m
  20. 2 2
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/CourseForLiveCell.m
  21. 11 11
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/CourseForLiveCell.xib
  22. 2 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/CourseGroupView/GroupCourseSortView.h
  23. 11 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/CourseGroupView/GroupCourseSortView.m
  24. 65 26
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/CourseGroupView/GroupCourseSortView.xib
  25. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCouseCell.m
  26. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkListCell.m
  27. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/MusicRoomHomeworkCell.m
  28. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/Controller/FreezeListViewController.m
  29. 2 2
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/Controller/IncomeCountViewController.m
  30. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/Controller/MyIncomeViewController.m
  31. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/Controller/NoRecordViewController.m
  32. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/Controller/MyCourseViewController.h
  33. 5 2
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/View/PopView/MusicRoomCourseCell.m
  34. 3 3
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/View/PopView/MusicRoomCourseCell.xib
  35. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Controller/MineViewController.m
  36. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/LiveList/View/FinishedLiveCell.m
  37. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/LiveList/View/UnderwayLiveCell.m
  38. 5 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.m
  39. 119 92
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.xib
  40. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/LiveCourseCell.m
  41. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageCourseView.h
  42. 6 6
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageCourseView.m
  43. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageSort/MinePageSortView.m
  44. 7 7
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageSort/MinePageSortView.xib
  45. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageSubmitView.h
  46. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageSubmitView.m
  47. 20 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/VIPCourseCell.h
  48. 157 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/VIPCourseCell.m
  49. 222 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/VIPCourseCell.xib
  50. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineActionView.h
  51. 3 3
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineActionView.xib
  52. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineTeachToolView.m

+ 10 - 0
KulexiuForTeacher/KulexiuForTeacher.xcodeproj/project.pbxproj

@@ -1182,6 +1182,8 @@
 		BCFA12732CF4296E005229AC /* MusicGroupStudenListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BCFA12712CF4296E005229AC /* MusicGroupStudenListCell.m */; };
 		BCFA12742CF4296E005229AC /* MusicGroupStudenListCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCFA12722CF4296E005229AC /* MusicGroupStudenListCell.xib */; };
 		BCFA12772CF44C84005229AC /* GroupCourseStudentModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BCFA12762CF44C84005229AC /* GroupCourseStudentModel.m */; };
+		BCFA12842CF4634E005229AC /* VIPCourseCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BCFA12822CF4634E005229AC /* VIPCourseCell.m */; };
+		BCFA12852CF4634E005229AC /* VIPCourseCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCFA12832CF4634E005229AC /* VIPCourseCell.xib */; };
 		BCFB9B892CE4883100B66BC0 /* VipCouseDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BCFB9B882CE4883100B66BC0 /* VipCouseDetailViewController.m */; };
 		BCFB9B8D2CE48D3A00B66BC0 /* VipCouseInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BCFB9B8B2CE48D3A00B66BC0 /* VipCouseInfoCell.m */; };
 		BCFB9B8E2CE48D3A00B66BC0 /* VipCouseInfoCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCFB9B8C2CE48D3A00B66BC0 /* VipCouseInfoCell.xib */; };
@@ -3159,6 +3161,9 @@
 		BCFA12722CF4296E005229AC /* MusicGroupStudenListCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MusicGroupStudenListCell.xib; sourceTree = "<group>"; };
 		BCFA12752CF44C84005229AC /* GroupCourseStudentModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GroupCourseStudentModel.h; sourceTree = "<group>"; };
 		BCFA12762CF44C84005229AC /* GroupCourseStudentModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GroupCourseStudentModel.m; sourceTree = "<group>"; };
+		BCFA12812CF4634E005229AC /* VIPCourseCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VIPCourseCell.h; sourceTree = "<group>"; };
+		BCFA12822CF4634E005229AC /* VIPCourseCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VIPCourseCell.m; sourceTree = "<group>"; };
+		BCFA12832CF4634E005229AC /* VIPCourseCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = VIPCourseCell.xib; sourceTree = "<group>"; };
 		BCFB9B872CE4883100B66BC0 /* VipCouseDetailViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VipCouseDetailViewController.h; sourceTree = "<group>"; };
 		BCFB9B882CE4883100B66BC0 /* VipCouseDetailViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = VipCouseDetailViewController.m; sourceTree = "<group>"; };
 		BCFB9B8A2CE48D3A00B66BC0 /* VipCouseInfoCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = VipCouseInfoCell.h; sourceTree = "<group>"; };
@@ -3484,6 +3489,9 @@
 				BCE6A08827F823A300C97704 /* AccompanyCourseCell.h */,
 				BCE6A08927F823A300C97704 /* AccompanyCourseCell.m */,
 				BCE6A08A27F823A300C97704 /* AccompanyCourseCell.xib */,
+				BCFA12812CF4634E005229AC /* VIPCourseCell.h */,
+				BCFA12822CF4634E005229AC /* VIPCourseCell.m */,
+				BCFA12832CF4634E005229AC /* VIPCourseCell.xib */,
 				BCE6A08D27F823BE00C97704 /* LiveCourseCell.h */,
 				BCE6A08E27F823BE00C97704 /* LiveCourseCell.m */,
 				BCE6A08F27F823BE00C97704 /* LiveCourseCell.xib */,
@@ -8158,6 +8166,7 @@
 				BC3ACDA12891261F00060E97 /* MyMusicNavView.xib in Resources */,
 				BC71D2062887FDD40010F14B /* img_23.png in Resources */,
 				BC14E48E2AB2FBCD000C4983 /* TenantUnbindDetailBodyView.xib in Resources */,
+				BCFA12852CF4634E005229AC /* VIPCourseCell.xib in Resources */,
 				BC513E7E28A4D874003F58C4 /* live_animation.json in Resources */,
 				BC106BA32A8F45AA000759A9 /* TXLiveRoomHeadView.xib in Resources */,
 				BC9EFEB62C0480A500CFA7B1 /* GroupBanNavView.xib in Resources */,
@@ -8424,6 +8433,7 @@
 				275E3DF727F467ED0010EC30 /* LiveRoomLikeLayer.m in Sources */,
 				BC7003232CE74F52008D041E /* ProgramAddButton.m in Sources */,
 				BC3A557F2BAA8F26002E1616 /* KSCloudWebManager.m in Sources */,
+				BCFA12842CF4634E005229AC /* VIPCourseCell.m in Sources */,
 				BCD160752CED8DF600A78B43 /* CourseDescAlertCell.m in Sources */,
 				BCD160762CED8DF600A78B43 /* CourseDescAlertView.m in Sources */,
 				BC38C42D2AF900E100ABFCC2 /* KSPlayerSliderView.m in Sources */,

+ 2 - 2
KulexiuForTeacher/KulexiuForTeacher/AppDelegate.m

@@ -755,7 +755,7 @@ didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
                 if ([action isEqualToString:@"app"]) {
                     NSString *pageType = [dict ks_stringValueForKey:@"pageTag"];
                     DISPLAY_INDEX index = DISPLAY_INDEX_FIRST;
-                    if ([pageType isEqualToString:@"practiceClass"]) { // 我的课程 ->陪练
+                    if ([pageType isEqualToString:@"practiceClass"]) { // 我的课程 ->趣纠
                         index = DISPLAY_INDEX_FIRST;
                     }
                     else if ([pageType isEqualToString:@"liveClass"]) { // 我的课程 ->直播课
@@ -826,7 +826,7 @@ didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
         NSString *action = [dict ks_stringValueForKey:@"action"];
         if ([action isEqualToString:@"app"]) { // 跳原生
             NSString *pageType = [dict ks_stringValueForKey:@"pageTag"];
-            if ([pageType isEqualToString:@"practiceClass"]) { // 我的课程 ->陪练
+            if ([pageType isEqualToString:@"practiceClass"]) { // 我的课程 ->趣纠
                 DISPLAY_INDEX index = DISPLAY_INDEX_FIRST;
                 MyCourseViewController *ctrl = [[MyCourseViewController alloc] init];
                 [ctrl displayWithIndex:index];

+ 5 - 3
KulexiuForTeacher/KulexiuForTeacher/Common/Base/AuthDisplayView.xib

@@ -1,7 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
     <dependencies>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -18,7 +20,7 @@
                         <constraint firstAttribute="width" constant="260" id="ody-S9-lK6"/>
                     </constraints>
                 </imageView>
-                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="您还没有完成达人认证,认证后才可设置陪练课哦~" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ya2-qu-eeU">
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="您还没有完成达人认证,认证后才可设置趣纠课哦~" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ya2-qu-eeU">
                     <rect key="frame" x="141" y="230" width="260" height="36"/>
                     <fontDescription key="fontDescription" type="system" pointSize="15"/>
                     <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>

+ 4 - 4
KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.h

@@ -777,7 +777,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 #pragma mark ----- 课程查询
 // /api-teacher/courseSchedule/queryTeacherPracticeCourse
-/// 我的课程-陪练
+/// 我的课程-趣纠
 /// @param post post
 /// @param classMonth 月份 yyyy-MM
 /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
@@ -824,7 +824,7 @@ NS_ASSUME_NONNULL_BEGIN
 /// @param faliure 失败
 + (void)musicRoomDetailRequest:(NSString *)post courseId:(NSString *)courseId success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
-#pragma mark ------- 陪练课评价
+#pragma mark ------- 趣纠课评价
 
 // /api-teacher/courseSchedule/queryTeacherPracticeCourse
 
@@ -852,7 +852,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 // /api-teacher/courseReplied/replied
 
-/// 评价陪练
+/// 评价趣纠
 /// @param post post
 /// @param courseScheduleId 课程编号
 /// @param courseGroupId 课程组编号
@@ -889,7 +889,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 // /api-teacher/homework/detail/{courseId}/{studentId}
 
-/// 陪练课课后作业信息详情
+/// 趣纠课课后作业信息详情
 /// @param get get
 /// @param courseId 课程信息
 /// @param studentId 学生id

+ 4 - 4
KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.m

@@ -1562,7 +1562,7 @@
 
 #pragma mark ----- 课程查询
 // /api-teacher/courseSchedule/queryTeacherPracticeCourse
-/// 我的课程-陪练
+/// 我的课程-趣纠
 /// @param post post
 /// @param classMonth 月份 yyyy-MM
 /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
@@ -1645,7 +1645,7 @@
     [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 
-#pragma mark ------- 陪练课评价
+#pragma mark ------- 趣纠课评价
 
 // /api-teacher/courseSchedule/queryTeacherPracticeCourse
 
@@ -1691,7 +1691,7 @@
 
 // /api-teacher/courseReplied/replied
 
-/// 评价陪练
+/// 评价趣纠
 /// @param post post
 /// @param courseScheduleId 课程编号
 /// @param courseGroupId 课程组编号
@@ -1754,7 +1754,7 @@
 
 // /api-teacher/homework/detail/{courseId}
 
-/// 陪练课课后作业信息详情
+/// 趣纠课课后作业信息详情
 /// @param get get
 /// @param courseId 课程信息
 /// @param success 成功

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/Controller/AccompanyDetailViewController.h

@@ -9,7 +9,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-/// 陪练课详情
+/// 趣纠课详情
 @interface AccompanyDetailViewController : KSBaseViewController
 
 @property (nonatomic, strong) NSString *courseId;

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyCourseInfoCell.m

@@ -38,7 +38,7 @@
     [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
     NSDate *startDate = [formatter dateFromString:beginTime];
     NSDate *endDate = [formatter dateFromString:endTime];
-    [formatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+    [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
     NSString *lessonBegin = [formatter stringFromDate:startDate];
     [formatter setDateFormat:@"HH:mm"];
     NSString *lessonEnd = [formatter stringFromDate:endDate];

+ 56 - 5
KulexiuForTeacher/KulexiuForTeacher/Module/Course/Controller/CourseViewController.m

@@ -19,9 +19,11 @@
 #import "KSEnterLiveroomManager.h"
 #import "KSBaseWKWebViewController.h"
 #import "AccompanyDetailViewController.h"
+#import "VipCouseDetailViewController.h"
 #import <NSDate+Transform.h>
 #import "MusicRoomCourseCell.h"
 #import "MusicRoomViewController.h"
+#import "VIPCourseCell.h"
 
 @interface CourseViewController ()<UITableViewDataSource,UITableViewDelegate,FSCalendarDataSource,FSCalendarDelegate,UIGestureRecognizerDelegate>
 {
@@ -51,9 +53,13 @@
 
 @property (nonatomic, assign) BOOL isPickerChoose; // 是否选择的月份
 
-@property (nonatomic, assign) NSInteger practiceStartTime;  // 陪练课开课前可进入时间配置(分钟)
+@property (nonatomic, assign) NSInteger vipStartTime; // VIP课开课前可进入时间配置(分钟)
 
-@property (nonatomic, assign) NSInteger practiceEndTime;    // 陪练课结束后退出时间配置(分钟)
+@property (nonatomic, assign) NSInteger vipEndTime; // VIP课结束后退出时间配置(分钟)
+
+@property (nonatomic, assign) NSInteger practiceStartTime;  // 趣纠课开课前可进入时间配置(分钟)
+
+@property (nonatomic, assign) NSInteger practiceEndTime;    // 趣纠课结束后退出时间配置(分钟)
 
 @property (nonatomic, assign) NSInteger liveStartTime;      // 直播课开课前可进入时间配置(分钟)
 
@@ -361,8 +367,12 @@
         if ([dic ks_integerValueForKey:@"code"] == 200 && [dic ks_boolValueForKey:@"status"]) {
             // 配置信息
             NSDictionary *config = [[dic ks_dictionaryValueForKey:@"data"] ks_dictionaryValueForKey:@"sysConfig"];
+            self.vipStartTime = [config ks_integerValueForKey:@"vipStartTime"];
+            self.vipEndTime = [config ks_integerValueForKey:@"vipEndTime"];
+            
             self.practiceStartTime = [config ks_integerValueForKey:@"practiceStartTime"];
             self.practiceEndTime = [config ks_integerValueForKey:@"practiceEndTime"];
+            
             self.liveStartTime = [config ks_integerValueForKey:@"liveStartTime"];
             self.liveEndTime = [config ks_integerValueForKey:@"liveEndTime"];
             self.pianoStartTime = [config ks_integerValueForKey:@"pianoStartTime"];
@@ -433,12 +443,12 @@
     if ([model.courseType isEqualToString:@"PIANO_ROOM_CLASS"]) {
        return 127.0f;
     }
-    return 147.0f;
+    return 137.0f;
 }
 
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
     TableCourseModel *model = self.dataArray[indexPath.row];
-    if ([model.courseType isEqualToString:@"PRACTICE"]) { // 陪练
+    if ([model.courseType isEqualToString:@"PRACTICE"]) { // 趣纠
         AccompanyCourseCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AccompanyCourseCell"];
         MJWeakSelf;
         [cell configWithCourseMessage:model beforeTime:self.practiceStartTime actionCallback:^(ACCOMPANY_TYPE type, TableCourseModel * _Nonnull courseModel) {
@@ -454,6 +464,14 @@
         }];
         return cell;
     }
+    else if ([model.courseType isEqualToString:@"VIP"]) { // 定制课
+        VIPCourseCell *cell = [tableView dequeueReusableCellWithIdentifier:@"VIPCourseCell"];
+        MJWeakSelf;
+        [cell configWithCourseMessage:model beforeTime:self.vipStartTime actionCallback:^(ACCOMPANY_TYPE type, TableCourseModel * _Nonnull courseModel) {
+            [weakSelf vipLessionAction:type source:courseModel];
+        }];
+        return cell;
+    }
     else { // 琴房课 PIANO_ROOM_CLASS
         
         MusicRoomCourseCell *cell = [tableView dequeueReusableCellWithIdentifier:@"MusicRoomCourseCell"];
@@ -469,9 +487,12 @@
 
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
     TableCourseModel *model = self.dataArray[indexPath.row];
-    if ([model.courseType isEqualToString:@"PRACTICE"]) { // 陪练
+    if ([model.courseType isEqualToString:@"PRACTICE"]) { // 趣纠
         [self showAccompanyDetailAction:model];
     }
+    else if ([model.courseType isEqualToString:@"VIP"]) {
+        [self showVipDetailAction:model];
+    }
     else if ([model.courseType isEqualToString:@"LIVE"]) { // 直播课详情
         [self liveCourseDetail:model.courseId courseGroupId:model.courseGoupId];
     }
@@ -505,6 +526,28 @@
     }
 }
 
+- (void)vipLessionAction:(ACCOMPANY_TYPE)action source:(TableCourseModel *)source {
+    switch (action) {
+        case ACCOMPANY_TYPE_CHAT:
+        {
+            [self chatAction:source.imUserId groupName:source.name isGroup:NO];
+        }
+            break;
+        case ACCOMPANY_TYPE_ADJUST:
+        {
+            [self adjustCourseAction:source];
+        }
+            break;
+        case ACCOMPANY_DETAIL:
+        {
+            [self showVipDetailAction:source];
+        }
+            break;
+        default:
+            break;
+    }
+}
+
 - (void)adjustCourseAction:(TableCourseModel *)source {
     // 获取当前课程的时间
     NSString *formatString = @"yyyy-MM-dd HH:mm:ss";
@@ -579,6 +622,13 @@
     [self.navigationController pushViewController:detailVC animated:YES];
 }
 
+- (void)showVipDetailAction:(TableCourseModel *)source {
+    VipCouseDetailViewController *detailVC = [[VipCouseDetailViewController alloc] init];
+    detailVC.courseId = source.courseId;
+    detailVC.courseGroupId = source.courseGoupId;
+    [self.navigationController pushViewController:detailVC animated:YES];
+}
+
 - (void)liveCourseAction:(LIVECOURSEACTION)action source:(TableCourseModel *)source {
     switch (action) {
         case LIVECOURSEACTION_CHAT:  // 聊天
@@ -702,6 +752,7 @@
         [_tableView registerNib:[UINib nibWithNibName:@"AccompanyCourseCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyCourseCell"];
         [_tableView registerNib:[UINib nibWithNibName:@"CourseForLiveCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"CourseForLiveCell"];
         [_tableView registerNib:[UINib nibWithNibName:@"MusicRoomCourseCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"MusicRoomCourseCell"];
+        [_tableView registerNib:[UINib nibWithNibName:@"VIPCourseCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"VIPCourseCell"];
         
         UIView *bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 15)];
         bottomView.backgroundColor = [UIColor clearColor];

+ 1 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/Model/TableCourseModel.h

@@ -28,6 +28,7 @@
 @property (nonatomic, strong) NSString *studentReplied;
 @property (nonatomic, strong) NSString *teacherReplied;
 @property (nonatomic, strong) NSString *imUserId;
+@property (nonatomic, strong) NSString *courseName;
 
 + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict;
 - (instancetype)initWithDictionary:(NSDictionary *)dict;

+ 7 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Course/Model/TableCourseModel.m

@@ -25,6 +25,7 @@ NSString *const kTableCourseModelImGroupId = @"imGroupId";
 NSString *const kTableCourseModelStudentReplied= @"studentReplied";
 NSString *const kTableCourseModelTeacherReplied = @"teacherReplied";
 NSString *const kTableCourseModelImUserId = @"imUserId";
+NSString *const kTableCourseModelCourseName = @"courseName";
 
 
 @interface TableCourseModel ()
@@ -52,6 +53,7 @@ NSString *const kTableCourseModelImUserId = @"imUserId";
 @synthesize teacherReplied = _teacherReplied;
 @synthesize studentReplied = _studentReplied;
 @synthesize imUserId = _imUserId;
+@synthesize courseName = _courseName;
 
 + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict
 {
@@ -82,6 +84,7 @@ NSString *const kTableCourseModelImUserId = @"imUserId";
             self.teacherReplied = [self objectOrNilForKey:kTableCourseModelTeacherReplied fromDictionary:dict];
             self.studentReplied = [self objectOrNilForKey:kTableCourseModelStudentReplied fromDictionary:dict];
             self.imUserId = [self objectOrNilForKey:kTableCourseModelImUserId fromDictionary:dict];
+        self.courseName = [self objectOrNilForKey:kTableCourseModelCourseName fromDictionary:dict];
     }
     
     return self;
@@ -108,6 +111,7 @@ NSString *const kTableCourseModelImUserId = @"imUserId";
     [mutableDict setValue:self.teacherReplied forKey:kTableCourseModelTeacherReplied];
     [mutableDict setValue:self.studentReplied forKey:kTableCourseModelStudentReplied];
     [mutableDict setValue:self.imUserId forKey:kTableCourseModelImUserId];
+    [mutableDict setValue:self.courseName forKey:kTableCourseModelCourseName];
     
     return [NSDictionary dictionaryWithDictionary:mutableDict];
 }
@@ -152,6 +156,7 @@ NSString *const kTableCourseModelImUserId = @"imUserId";
     self.studentReplied = [aDecoder decodeObjectForKey:kTableCourseModelStudentReplied];
     self.teacherReplied = [aDecoder decodeObjectForKey:kTableCourseModelTeacherReplied];
     self.imUserId = [aDecoder decodeObjectForKey:kTableCourseModelImUserId];
+    self.courseName = [aDecoder decodeObjectForKey:kTableCourseModelCourseName];
     return self;
 }
 
@@ -175,7 +180,7 @@ NSString *const kTableCourseModelImUserId = @"imUserId";
     [aCoder encodeObject:_studentReplied forKey:kTableCourseModelStudentReplied];
     [aCoder encodeObject:_teacherReplied forKey:kTableCourseModelTeacherReplied];
     [aCoder encodeObject:_imUserId forKey:kTableCourseModelImUserId];
-    
+    [aCoder encodeObject:_courseName forKey:kTableCourseModelCourseName];
 }
 
 - (id)copyWithZone:(NSZone *)zone
@@ -201,6 +206,7 @@ NSString *const kTableCourseModelImUserId = @"imUserId";
         copy.teacherReplied = [self.teacherReplied copyWithZone:zone];
         copy.studentReplied = [self.studentReplied copyWithZone:zone];
         copy.imUserId = [self.imUserId copyWithZone:zone];
+        copy.courseName = [self.courseName copyWithZone:zone];
     }
     
     return copy;

+ 14 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/MusicRoom/Controller/MusicRoomGroupViewController.m

@@ -223,14 +223,28 @@
         self.navView.backgroundColor = HexRGBAlpha(0xffffff, rate);
         if (rate == 1) {
             self.bgImageView.hidden = YES;
+            self.categoryView.backgroundColor = [UIColor whiteColor];
+            [self changeSortViewColor:[UIColor whiteColor]];
         }
         else {
             self.bgImageView.hidden = NO;
+            self.categoryView.backgroundColor = [UIColor clearColor];
+            [self changeSortViewColor:[UIColor clearColor]];
         }
     }
     else {
         self.navView.backgroundColor = [UIColor clearColor];
         self.bgImageView.hidden = NO;
+        self.categoryView.backgroundColor = [UIColor clearColor];
+        [self changeSortViewColor:[UIColor clearColor]];
+    }
+}
+
+- (void)changeSortViewColor:(UIColor *)color {
+    id value = self.listViewArray[0];
+    if ([value isKindOfClass:[ProgramCourseGroupBodyView class]]) {
+        ProgramCourseGroupBodyView *listView = (ProgramCourseGroupBodyView *)value;
+        listView.sortBgColor = color;
     }
 }
 

+ 1 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/MusicRoom/Model/GroupCourseStudentModel.h

@@ -16,6 +16,7 @@
 @property (nonatomic, strong) NSString *studentName;
 @property (nonatomic, strong) NSString *imUserId;
 @property (nonatomic, strong) NSString *avatar;
+@property (nonatomic, strong) NSString *subjectName;
 
 + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict;
 - (instancetype)initWithDictionary:(NSDictionary *)dict;

+ 7 - 3
KulexiuForTeacher/KulexiuForTeacher/Module/Course/MusicRoom/Model/GroupCourseStudentModel.m

@@ -13,6 +13,7 @@ NSString *const kGroupCourseStudentModelStudentId = @"studentId";
 NSString *const kGroupCourseStudentModelStudentName = @"studentName";
 NSString *const kGroupCourseStudentModelImUserId = @"imUserId";
 NSString *const kGroupCourseStudentModelAvatar = @"avatar";
+NSString *const kGroupCourseStudentModelSubjectName = @"subjectName";
 
 
 @interface GroupCourseStudentModel ()
@@ -28,7 +29,7 @@ NSString *const kGroupCourseStudentModelAvatar = @"avatar";
 @synthesize studentName = _studentName;
 @synthesize imUserId = _imUserId;
 @synthesize avatar = _avatar;
-
+@synthesize subjectName = _subjectName;
 
 + (instancetype)modelObjectWithDictionary:(NSDictionary *)dict
 {
@@ -47,7 +48,7 @@ NSString *const kGroupCourseStudentModelAvatar = @"avatar";
             self.studentName = [self objectOrNilForKey:kGroupCourseStudentModelStudentName fromDictionary:dict];
             self.imUserId = [self objectOrNilForKey:kGroupCourseStudentModelImUserId fromDictionary:dict];
             self.avatar = [self objectOrNilForKey:kGroupCourseStudentModelAvatar fromDictionary:dict];
-
+        self.subjectName = [self objectOrNilForKey:kGroupCourseStudentModelSubjectName fromDictionary:dict];
     }
     
     return self;
@@ -62,7 +63,7 @@ NSString *const kGroupCourseStudentModelAvatar = @"avatar";
     [mutableDict setValue:self.studentName forKey:kGroupCourseStudentModelStudentName];
     [mutableDict setValue:self.imUserId forKey:kGroupCourseStudentModelImUserId];
     [mutableDict setValue:self.avatar forKey:kGroupCourseStudentModelAvatar];
-
+    [mutableDict setValue:self.subjectName forKey:kGroupCourseStudentModelSubjectName];
     return [NSDictionary dictionaryWithDictionary:mutableDict];
 }
 
@@ -94,6 +95,7 @@ NSString *const kGroupCourseStudentModelAvatar = @"avatar";
     self.studentName = [aDecoder decodeObjectForKey:kGroupCourseStudentModelStudentName];
     self.imUserId = [aDecoder decodeObjectForKey:kGroupCourseStudentModelImUserId];
     self.avatar = [aDecoder decodeObjectForKey:kGroupCourseStudentModelAvatar];
+    self.subjectName = [aDecoder decodeObjectForKey:kGroupCourseStudentModelSubjectName];
     return self;
 }
 
@@ -105,6 +107,7 @@ NSString *const kGroupCourseStudentModelAvatar = @"avatar";
     [aCoder encodeObject:_studentName forKey:kGroupCourseStudentModelStudentName];
     [aCoder encodeObject:_imUserId forKey:kGroupCourseStudentModelImUserId];
     [aCoder encodeObject:_avatar forKey:kGroupCourseStudentModelAvatar];
+    [aCoder encodeObject:_subjectName forKey:kGroupCourseStudentModelSubjectName];
 }
 
 - (id)copyWithZone:(NSZone *)zone
@@ -118,6 +121,7 @@ NSString *const kGroupCourseStudentModelAvatar = @"avatar";
         copy.studentName = [self.studentName copyWithZone:zone];
         copy.imUserId = [self.imUserId copyWithZone:zone];
         copy.avatar = [self.avatar copyWithZone:zone];
+        copy.subjectName = [self.subjectName copyWithZone:zone];
     }
     
     return copy;

+ 7 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/MusicRoom/View/MusicGroupStudenListCell.m

@@ -43,6 +43,13 @@
     [self evaluateWithRowIndex:rowIndex];
     [self.avatar sd_setImageWithURL:[NSURL URLWithString:[model.avatar getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:STUDENT_AVATAR]];
     self.nameLabel.text = [NSString returnNoNullStringWithString:model.userName];
+    self.subjectLabel.text = [NSString returnNoNullStringWithString:model.subjectName];
+    if ([NSString isEmptyString:model.subjectName]) {
+        self.subjectView.hidden = YES;
+    }
+    else {
+        self.subjectView.hidden = NO;
+    }
     
 }
 

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Course/MusicRoom/View/MusicRoomCourseInfoCell.m

@@ -62,7 +62,7 @@
     [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
     NSDate *beginDate = [dateFormatter dateFromString:beginTime];
     NSDate *endDate = [dateFormatter dateFromString:endTime];
-    [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
     NSString *beginStr = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:beginDate]];
     [dateFormatter setDateFormat:@"HH:mm"];
     NSString *endStr = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:endDate]];

+ 1 - 4
KulexiuForTeacher/KulexiuForTeacher/Module/Course/MusicRoom/View/MusicRoomStudentPageView.m

@@ -40,10 +40,7 @@
         [self addSubview:self.tableView];
         self.tableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever;
         [self.tableView registerNib:[UINib nibWithNibName:@"MusicGroupStudenListCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"MusicGroupStudenListCell"];
-        
-//        UIView *headView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, KPortraitWidth, 12)];
-//        headView.backgroundColor = [UIColor clearColor];
-//        self.tableView.tableHeaderView = headView;
+    
         
         UIView *bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, KPortraitWidth, iPhoneXSafeBottomMargin)];
         bottomView.backgroundColor = [UIColor clearColor];

+ 2 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/VIPCourse/View/ProgramCourseGroupBodyView.h

@@ -25,6 +25,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property (nonatomic, assign) NSInteger quitEndTime;    // 结束后退出时间配置(分钟)
 
+@property (nonatomic, assign) UIColor *sortBgColor;
+
 @end
 
 NS_ASSUME_NONNULL_END

+ 7 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/VIPCourse/View/ProgramCourseGroupBodyView.m

@@ -196,6 +196,9 @@
 
     if (![self.subviews containsObject:self.sortView]) {
         [self addSubview:self.sortView];
+        if (self.courseType == COURSE_GROUP_TYPE_MUSICROOM) {
+            self.sortView.showWhiteBg = YES;
+        }
         [self.sortView mas_makeConstraints:^(MASConstraintMaker *make) {
             make.left.right.top.mas_equalTo(self);
             make.height.mas_equalTo(sortViewHeight);
@@ -578,6 +581,10 @@
     self.sortView.firstArrowUp = NO;
 }
 
+- (void)setSortBgColor:(UIColor *)sortBgColor {
+    _sortBgColor = sortBgColor;
+    self.sortView.backgroundColor = sortBgColor;
+}
 /*
 // Only override drawRect: if you perform custom drawing.
 // An empty implementation adversely affects performance during animation.

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Course/VIPCourse/View/VipCouseInfoCell.m

@@ -38,7 +38,7 @@
     [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
     NSDate *startDate = [formatter dateFromString:beginTime];
     NSDate *endDate = [formatter dateFromString:endTime];
-    [formatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+    [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
     NSString *lessonBegin = [formatter stringFromDate:startDate];
     [formatter setDateFormat:@"HH:mm"];
     NSString *lessonEnd = [formatter stringFromDate:endDate];

+ 2 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/CourseForLiveCell.m

@@ -40,7 +40,7 @@
     // time
     [self evaluateTimeLabelWithBeginTime:model.startTime endTime:model.endTime];
     
-    self.courseName.text = [NSString returnNoNullStringWithString:model.name];
+    self.courseName.text = [NSString returnNoNullStringWithString:model.courseName];
     self.subjectLabel.text = [NSString returnNoNullStringWithString:model.subjectName];
     self.descLabel.text = [NSString stringWithFormat:@"%@人", model.payCount];
     if ([model.status isEqualToString:@"NOT_START"]) { // 未开始
@@ -85,7 +85,7 @@
     [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
     NSDate *beginDate = [dateFormatter dateFromString:beginTime];
     NSDate *endDate = [dateFormatter dateFromString:endTime];
-    [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
     NSString *beginStr = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:beginDate]];
     [dateFormatter setDateFormat:@"HH:mm"];
     NSString *endStr = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:endDate]];

+ 11 - 11
KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/CourseForLiveCell.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
         <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"/>
@@ -12,14 +12,14 @@
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="159" id="KGk-i7-Jjw" customClass="CourseForLiveCell">
-            <rect key="frame" x="0.0" y="0.0" width="394" height="159"/>
+            <rect key="frame" x="0.0" y="0.0" width="394" height="137"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
             <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
-                <rect key="frame" x="0.0" y="0.0" width="394" height="159"/>
+                <rect key="frame" x="0.0" y="0.0" width="394" height="137"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="K4l-Dq-CXi">
-                        <rect key="frame" x="14" y="0.0" width="366" height="147"/>
+                        <rect key="frame" x="14" y="0.0" width="366" height="125"/>
                         <subviews>
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5Lp-rU-nqx">
                                 <rect key="frame" x="10" y="38" width="346" height="1"/>
@@ -58,7 +58,7 @@
                                 </constraints>
                             </imageView>
                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="单簧管直播课·第三课" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dEp-ou-JBA">
-                                <rect key="frame" x="68" y="56" width="152" height="24"/>
+                                <rect key="frame" x="68" y="56" width="155" height="24"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="24" id="fXZ-Y5-AoA"/>
                                 </constraints>
@@ -67,10 +67,10 @@
                                 <nil key="highlightedColor"/>
                             </label>
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EoV-cQ-MON">
-                                <rect key="frame" x="68" y="83" width="44" height="20"/>
+                                <rect key="frame" x="68" y="83" width="43" height="20"/>
                                 <subviews>
                                     <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="单簧管" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="EmG-Yo-nbA">
-                                        <rect key="frame" x="5" y="0.0" width="34" height="20"/>
+                                        <rect key="frame" x="5" y="0.0" width="33" height="20"/>
                                         <fontDescription key="fontDescription" type="system" pointSize="11"/>
                                         <color key="textColor" red="1" green="0.54901960780000003" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
                                         <nil key="highlightedColor"/>
@@ -91,7 +91,7 @@
                                 </userDefinedRuntimeAttributes>
                             </view>
                             <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="2TM-qv-v7e">
-                                <rect key="frame" x="225" y="53" width="30" height="30"/>
+                                <rect key="frame" x="228" y="53" width="30" height="30"/>
                                 <constraints>
                                     <constraint firstAttribute="width" constant="30" id="lbN-u0-SFA"/>
                                     <constraint firstAttribute="height" constant="30" id="x6Y-49-gGY"/>
@@ -103,7 +103,7 @@
                                 </connections>
                             </button>
                             <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bRl-1p-cZu">
-                                <rect key="frame" x="284" y="99" width="70" height="28"/>
+                                <rect key="frame" x="284" y="77" width="70" height="28"/>
                                 <color key="backgroundColor" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="calibratedRGB"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="28" id="Uge-1g-sLY"/>
@@ -122,7 +122,7 @@
                                 </connections>
                             </button>
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MTB-cE-tDv">
-                                <rect key="frame" x="117" y="83" width="157" height="20"/>
+                                <rect key="frame" x="116" y="83" width="158" height="20"/>
                                 <subviews>
                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Nzy-gR-bLh">
                                         <rect key="frame" x="0.0" y="4.5" width="1" height="11"/>

+ 2 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/CourseGroupView/GroupCourseSortView.h

@@ -20,6 +20,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface GroupCourseSortView : UIView
 
+@property (nonatomic, assign) BOOL showWhiteBg;
+
 @property (weak, nonatomic) IBOutlet UILabel *firstLabel;
 @property (weak, nonatomic) IBOutlet UILabel *secondLabel;
 @property (weak, nonatomic) IBOutlet UILabel *thirdLabel;

+ 11 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/CourseGroupView/GroupCourseSortView.m

@@ -10,6 +10,9 @@
 @interface GroupCourseSortView ()
 
 @property (nonatomic, copy) SortActionBlock block;
+@property (weak, nonatomic) IBOutlet UIView *firstWihteView;
+@property (weak, nonatomic) IBOutlet UIView *secondWhiteView;
+@property (weak, nonatomic) IBOutlet UIView *thirdWihteView;
 
 @property (weak, nonatomic) IBOutlet UIImageView *firstArrow;
 @property (weak, nonatomic) IBOutlet UIImageView *secondArrow;
@@ -87,6 +90,14 @@
     [_thirdArrow setImage:[UIImage imageNamed:imageName]];
 }
 
+- (void)setShowWhiteBg:(BOOL)showWhiteBg {
+    _showWhiteBg = showWhiteBg;
+    if (showWhiteBg) {
+        self.firstWihteView.hidden = NO;
+        self.secondWhiteView.hidden = NO;
+        self.thirdWihteView.hidden = NO;
+    }
+}
 + (CGFloat)getViewHeight {
     return 50.0f;
 }

+ 65 - 26
KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/CourseGroupView/GroupCourseSortView.xib

@@ -10,30 +10,42 @@
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
         <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="GroupCourseSortView">
-            <rect key="frame" x="0.0" y="0.0" width="385" height="55"/>
+            <rect key="frame" x="0.0" y="0.0" width="375" height="55"/>
             <autoresizingMask key="autoresizingMask"/>
             <subviews>
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nUQ-28-ciH">
-                    <rect key="frame" x="14" y="0.0" width="357" height="55"/>
+                    <rect key="frame" x="14" y="0.0" width="347" height="55"/>
                     <subviews>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3ud-K6-gBw">
-                            <rect key="frame" x="0.0" y="0.0" width="112.33333333333333" height="55"/>
+                            <rect key="frame" x="0.0" y="0.0" width="109" height="55"/>
                             <subviews>
+                                <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aMc-qL-Urw">
+                                    <rect key="frame" x="4.9999999999999929" y="16.666666666666668" width="127.33333333333331" height="22.000000000000004"/>
+                                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="22" id="0KX-Sp-gSa"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="11"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="XXXX年XX月" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cfT-LB-SNv">
-                                    <rect key="frame" x="7.3333333333333286" y="19" width="89.999999999999986" height="17"/>
+                                    <rect key="frame" x="17" y="19" width="89.333333333333329" height="17"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                     <color key="textColor" red="0.074509803921568626" green="0.078431372549019607" blue="0.082352941176470587" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
                                 </label>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="sort_down_grey" translatesAutoresizingMaskIntoConstraints="NO" id="aFu-Ok-mVy">
-                                    <rect key="frame" x="102.33333333333333" y="25" width="9" height="5"/>
+                                    <rect key="frame" x="111.33333333333333" y="25" width="9" height="5"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="5" id="f2v-0M-H3l"/>
                                         <constraint firstAttribute="width" constant="9" id="zTE-EP-L2e"/>
                                     </constraints>
                                 </imageView>
                                 <button opaque="NO" tag="1001" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Ac9-lB-T0k">
-                                    <rect key="frame" x="0.0" y="0.0" width="112.33333333333333" height="55"/>
+                                    <rect key="frame" x="0.0" y="0.0" width="109" height="55"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                     <state key="normal">
                                         <color key="titleColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
@@ -45,34 +57,49 @@
                             </subviews>
                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                             <constraints>
-                                <constraint firstItem="cfT-LB-SNv" firstAttribute="centerX" secondItem="3ud-K6-gBw" secondAttribute="centerX" constant="-4" id="6fu-Rx-39P"/>
+                                <constraint firstItem="aMc-qL-Urw" firstAttribute="leading" secondItem="cfT-LB-SNv" secondAttribute="leading" constant="-12" id="0wS-wv-cqh"/>
+                                <constraint firstItem="cfT-LB-SNv" firstAttribute="centerX" secondItem="3ud-K6-gBw" secondAttribute="centerX" constant="7" id="6fu-Rx-39P"/>
+                                <constraint firstItem="aFu-Ok-mVy" firstAttribute="trailing" secondItem="aMc-qL-Urw" secondAttribute="trailing" constant="-12" id="F1D-4S-yAe"/>
                                 <constraint firstAttribute="bottom" secondItem="Ac9-lB-T0k" secondAttribute="bottom" id="FjI-Y5-7yE"/>
                                 <constraint firstItem="cfT-LB-SNv" firstAttribute="centerY" secondItem="3ud-K6-gBw" secondAttribute="centerY" id="J0t-LD-eL1"/>
                                 <constraint firstItem="Ac9-lB-T0k" firstAttribute="leading" secondItem="3ud-K6-gBw" secondAttribute="leading" id="g1O-Id-15a"/>
                                 <constraint firstItem="aFu-Ok-mVy" firstAttribute="centerY" secondItem="3ud-K6-gBw" secondAttribute="centerY" id="gDl-5L-mjU"/>
                                 <constraint firstItem="aFu-Ok-mVy" firstAttribute="leading" secondItem="cfT-LB-SNv" secondAttribute="trailing" constant="5" id="llT-OJ-w6i"/>
                                 <constraint firstItem="Ac9-lB-T0k" firstAttribute="top" secondItem="3ud-K6-gBw" secondAttribute="top" id="ofj-Sg-mn8"/>
+                                <constraint firstItem="aMc-qL-Urw" firstAttribute="centerY" secondItem="cfT-LB-SNv" secondAttribute="centerY" id="s31-wv-m1e"/>
                                 <constraint firstAttribute="trailing" secondItem="Ac9-lB-T0k" secondAttribute="trailing" id="tlR-cR-LCw"/>
                             </constraints>
                         </view>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Z8Q-fT-2Vr">
-                            <rect key="frame" x="122.33333333333334" y="0.0" width="112.33333333333334" height="55"/>
+                            <rect key="frame" x="119" y="0.0" width="109" height="55"/>
                             <subviews>
+                                <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="FvZ-Cn-UvC">
+                                    <rect key="frame" x="21.666666666666657" y="16.666666666666668" width="94" height="22.000000000000004"/>
+                                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="22" id="uMS-WH-w0m"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="11"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="全部状态" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vxK-r7-9sg">
-                                    <rect key="frame" x="24.333333333333314" y="19" width="56" height="17"/>
+                                    <rect key="frame" x="33.666666666666657" y="19" width="56" height="17"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                     <color key="textColor" red="0.074509803921568626" green="0.078431372549019607" blue="0.082352941176470587" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
                                 </label>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="sort_down_grey" translatesAutoresizingMaskIntoConstraints="NO" id="idf-14-rMz">
-                                    <rect key="frame" x="85.333333333333314" y="25" width="9" height="5"/>
+                                    <rect key="frame" x="94.666666666666657" y="25" width="9" height="5"/>
                                     <constraints>
                                         <constraint firstAttribute="width" constant="9" id="2rB-eK-C35"/>
                                         <constraint firstAttribute="height" constant="5" id="PIL-WN-xkd"/>
                                     </constraints>
                                 </imageView>
                                 <button opaque="NO" tag="1002" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="j1t-mT-XyA">
-                                    <rect key="frame" x="0.0" y="0.0" width="112.33333333333333" height="55"/>
+                                    <rect key="frame" x="0.0" y="0.0" width="109" height="55"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                     <state key="normal">
                                         <color key="titleColor" red="0.1019607843" green="0.1019607843" blue="0.1019607843" alpha="1" colorSpace="calibratedRGB"/>
@@ -85,33 +112,48 @@
                             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                             <constraints>
                                 <constraint firstItem="j1t-mT-XyA" firstAttribute="leading" secondItem="Z8Q-fT-2Vr" secondAttribute="leading" id="0ib-n1-ca3"/>
+                                <constraint firstItem="idf-14-rMz" firstAttribute="trailing" secondItem="FvZ-Cn-UvC" secondAttribute="trailing" constant="-12" id="52B-YO-Bif"/>
+                                <constraint firstItem="FvZ-Cn-UvC" firstAttribute="leading" secondItem="vxK-r7-9sg" secondAttribute="leading" constant="-12" id="8gm-W4-scE"/>
                                 <constraint firstAttribute="bottom" secondItem="j1t-mT-XyA" secondAttribute="bottom" id="FZL-fn-2Dt"/>
-                                <constraint firstItem="vxK-r7-9sg" firstAttribute="centerX" secondItem="Z8Q-fT-2Vr" secondAttribute="centerX" constant="-4" id="MaH-dZ-7ix"/>
+                                <constraint firstItem="vxK-r7-9sg" firstAttribute="centerX" secondItem="Z8Q-fT-2Vr" secondAttribute="centerX" constant="7" id="MaH-dZ-7ix"/>
                                 <constraint firstItem="vxK-r7-9sg" firstAttribute="centerY" secondItem="Z8Q-fT-2Vr" secondAttribute="centerY" id="VqG-LO-GJj"/>
                                 <constraint firstAttribute="trailing" secondItem="j1t-mT-XyA" secondAttribute="trailing" id="VxY-bB-unG"/>
                                 <constraint firstItem="j1t-mT-XyA" firstAttribute="top" secondItem="Z8Q-fT-2Vr" secondAttribute="top" id="cMc-ie-YnM"/>
                                 <constraint firstItem="idf-14-rMz" firstAttribute="leading" secondItem="vxK-r7-9sg" secondAttribute="trailing" constant="5" id="dLB-Vt-NCZ"/>
+                                <constraint firstItem="FvZ-Cn-UvC" firstAttribute="centerY" secondItem="vxK-r7-9sg" secondAttribute="centerY" id="hWh-Qq-GIs"/>
                                 <constraint firstItem="idf-14-rMz" firstAttribute="centerY" secondItem="Z8Q-fT-2Vr" secondAttribute="centerY" id="yDm-pc-vUp"/>
                             </constraints>
                         </view>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yMy-1B-zxV">
-                            <rect key="frame" x="244.66666666666671" y="0.0" width="112.33333333333334" height="55"/>
+                            <rect key="frame" x="238" y="0.0" width="109" height="55"/>
                             <subviews>
+                                <view hidden="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="s7M-qE-XDr">
+                                    <rect key="frame" x="7.6666666666666856" y="16.666666666666668" width="94" height="22.000000000000004"/>
+                                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                                    <constraints>
+                                        <constraint firstAttribute="height" constant="22" id="mvo-Js-pra"/>
+                                    </constraints>
+                                    <userDefinedRuntimeAttributes>
+                                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                            <real key="value" value="11"/>
+                                        </userDefinedRuntimeAttribute>
+                                    </userDefinedRuntimeAttributes>
+                                </view>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="全部考勤" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9Xc-2m-8mt">
-                                    <rect key="frame" x="24.333333333333314" y="19" width="56" height="17"/>
+                                    <rect key="frame" x="19.666666666666686" y="19" width="56" height="17"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                     <color key="textColor" red="0.074509803921568626" green="0.078431372549019607" blue="0.082352941176470587" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     <nil key="highlightedColor"/>
                                 </label>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="sort_down_grey" translatesAutoresizingMaskIntoConstraints="NO" id="grW-VA-qlz">
-                                    <rect key="frame" x="85.333333333333314" y="25" width="9" height="5"/>
+                                    <rect key="frame" x="80.666666666666686" y="25" width="9" height="5"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="5" id="hAG-sG-mv7"/>
                                         <constraint firstAttribute="width" constant="9" id="sqn-jl-TbO"/>
                                     </constraints>
                                 </imageView>
                                 <button opaque="NO" tag="1003" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="5J6-Qp-5o7">
-                                    <rect key="frame" x="0.0" y="0.0" width="112.33333333333333" height="55"/>
+                                    <rect key="frame" x="0.0" y="0.0" width="109" height="55"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                     <state key="normal">
                                         <color key="titleColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
@@ -125,12 +167,15 @@
                             <constraints>
                                 <constraint firstItem="5J6-Qp-5o7" firstAttribute="leading" secondItem="yMy-1B-zxV" secondAttribute="leading" id="0pe-f0-slu"/>
                                 <constraint firstItem="grW-VA-qlz" firstAttribute="centerY" secondItem="yMy-1B-zxV" secondAttribute="centerY" id="47f-2b-PEp"/>
-                                <constraint firstItem="9Xc-2m-8mt" firstAttribute="centerX" secondItem="yMy-1B-zxV" secondAttribute="centerX" constant="-4" id="4bT-SA-PhH"/>
+                                <constraint firstItem="9Xc-2m-8mt" firstAttribute="centerX" secondItem="yMy-1B-zxV" secondAttribute="centerX" constant="-7" id="4bT-SA-PhH"/>
+                                <constraint firstItem="s7M-qE-XDr" firstAttribute="centerY" secondItem="9Xc-2m-8mt" secondAttribute="centerY" id="7PO-WH-aaV"/>
                                 <constraint firstAttribute="trailing" secondItem="5J6-Qp-5o7" secondAttribute="trailing" id="8jw-zM-6iK"/>
                                 <constraint firstItem="5J6-Qp-5o7" firstAttribute="top" secondItem="yMy-1B-zxV" secondAttribute="top" id="HUX-nk-toA"/>
                                 <constraint firstAttribute="bottom" secondItem="5J6-Qp-5o7" secondAttribute="bottom" id="SLT-UZ-dPb"/>
                                 <constraint firstItem="9Xc-2m-8mt" firstAttribute="centerY" secondItem="yMy-1B-zxV" secondAttribute="centerY" id="jhO-f9-KY6"/>
                                 <constraint firstItem="grW-VA-qlz" firstAttribute="leading" secondItem="9Xc-2m-8mt" secondAttribute="trailing" constant="5" id="m1B-rA-bFZ"/>
+                                <constraint firstItem="grW-VA-qlz" firstAttribute="trailing" secondItem="s7M-qE-XDr" secondAttribute="trailing" constant="-12" id="mGV-zF-ekd"/>
+                                <constraint firstItem="s7M-qE-XDr" firstAttribute="leading" secondItem="9Xc-2m-8mt" secondAttribute="leading" constant="-12" id="vbs-hs-Ih7"/>
                             </constraints>
                         </view>
                     </subviews>
@@ -153,15 +198,6 @@
                         <userDefinedRuntimeAttribute type="size" keyPath="shadowOffset">
                             <size key="value" width="0.0" height="2"/>
                         </userDefinedRuntimeAttribute>
-                        <userDefinedRuntimeAttribute type="number" keyPath="shadowOpacity">
-                            <real key="value" value="1"/>
-                        </userDefinedRuntimeAttribute>
-                        <userDefinedRuntimeAttribute type="number" keyPath="shadowRadius">
-                            <real key="value" value="7"/>
-                        </userDefinedRuntimeAttribute>
-                        <userDefinedRuntimeAttribute type="color" keyPath="shadowUIColor">
-                            <color key="value" red="0.0" green="0.0" blue="0.0" alpha="0.070000000000000007" colorSpace="calibratedRGB"/>
-                        </userDefinedRuntimeAttribute>
                     </userDefinedRuntimeAttributes>
                 </view>
             </subviews>
@@ -178,10 +214,13 @@
             <connections>
                 <outlet property="firstArrow" destination="aFu-Ok-mVy" id="HfH-fU-Kon"/>
                 <outlet property="firstLabel" destination="cfT-LB-SNv" id="fxC-FN-FHH"/>
+                <outlet property="firstWihteView" destination="aMc-qL-Urw" id="TQr-no-EXT"/>
                 <outlet property="secondArrow" destination="idf-14-rMz" id="vtq-9G-6Dc"/>
                 <outlet property="secondLabel" destination="vxK-r7-9sg" id="fKB-7V-W3z"/>
+                <outlet property="secondWhiteView" destination="FvZ-Cn-UvC" id="PCo-eX-gaH"/>
                 <outlet property="thirdArrow" destination="grW-VA-qlz" id="KLm-di-ir9"/>
                 <outlet property="thirdLabel" destination="9Xc-2m-8mt" id="1q0-e6-Dmr"/>
+                <outlet property="thirdWihteView" destination="s7M-qE-XDr" id="Nky-Dj-ksz"/>
             </connections>
             <point key="canvasLocation" x="41.984732824427482" y="-148.94366197183101"/>
         </view>

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCouseCell.m

@@ -30,7 +30,7 @@
     [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
     NSDate *startDate = [formatter dateFromString:model.startTime];
     NSDate *endDate = [formatter dateFromString:model.endTime];
-    [formatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+    [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
     NSString *lessonBegin = [formatter stringFromDate:startDate];
     [formatter setDateFormat:@"HH:mm"];
     NSString *lessonEnd = [formatter stringFromDate:endDate];

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkListCell.m

@@ -41,7 +41,7 @@
     [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
     NSDate *startDate = [formatter dateFromString:sourceModel.startTime];
     NSDate *endDate = [formatter dateFromString:sourceModel.endTime];
-    [formatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+    [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
     NSString *lessonBegin = [formatter stringFromDate:startDate];
     [formatter setDateFormat:@"HH:mm"];
     NSString *lessonEnd = [formatter stringFromDate:endDate];

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/MusicRoomHomeworkCell.m

@@ -41,7 +41,7 @@
     [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
     NSDate *startDate = [formatter dateFromString:sourceModel.startTime];
     NSDate *endDate = [formatter dateFromString:sourceModel.endTime];
-    [formatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+    [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
     NSString *lessonBegin = [formatter stringFromDate:startDate];
     [formatter setDateFormat:@"HH:mm"];
     NSString *lessonEnd = [formatter stringFromDate:endDate];

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/Controller/FreezeListViewController.m

@@ -286,7 +286,7 @@
     if (!_sortArray) {
         _sortArray = [NSMutableArray array];
         [_sortArray addObject:@{@"name" : @"全部类型", @"bizType": @""}];
-        [_sortArray addObject:@{@"name" : @"陪练课", @"bizType": @"PRACTICE"}];
+        [_sortArray addObject:@{@"name" : @"趣纠课", @"bizType": @"PRACTICE"}];
         [_sortArray addObject:@{@"name" : @"直播课", @"bizType": @"LIVE"}];
         [_sortArray addObject:@{@"name" : @"视频课", @"bizType": @"VIDEO"}];
         [_sortArray addObject:@{@"name" : @"乐谱", @"bizType": @"MUSIC"}];

+ 2 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/Controller/IncomeCountViewController.m

@@ -166,7 +166,7 @@
     NSMutableArray *amountArray = [NSMutableArray array];
     NSMutableArray *rateArray = [NSMutableArray array];
     float practiceAmount = [parmDic ks_floatValueForKey:@"practiceAmount"];
-    NSString *practiceDescString = @"陪练课";
+    NSString *practiceDescString = @"趣纠课";
     [descArray addObject:practiceDescString];
     [amountArray addObject:[NSString stringWithFormat:@"%.2f",practiceAmount]];
     
@@ -223,7 +223,7 @@
     for (NSDictionary *dic in source) {
         
         float practiceAmount = [dic ks_floatValueForKey:@"practiceAmount"];
-        NSString *practiceDescString = @"陪练课";
+        NSString *practiceDescString = @"趣纠课";
         [practiceAmountArray addObject:[NSString stringWithFormat:@"%.2f",practiceAmount]];
         [practiceArray addObject:practiceDescString];
         

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/Controller/MyIncomeViewController.m

@@ -326,7 +326,7 @@
     if (!_sortArray) {
         _sortArray = [NSMutableArray array];
         [_sortArray addObject:@{@"name" : @"全部收入", @"bizType": @""}];
-        [_sortArray addObject:@{@"name" : @"陪练课", @"bizType": @"PRACTICE"}];
+        [_sortArray addObject:@{@"name" : @"趣纠课", @"bizType": @"PRACTICE"}];
         [_sortArray addObject:@{@"name" : @"直播课", @"bizType": @"LIVE"}];
         [_sortArray addObject:@{@"name" : @"视频课", @"bizType": @"VIDEO"}];
         [_sortArray addObject:@{@"name" : @"乐谱", @"bizType": @"MUSIC"}];

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Income/Controller/NoRecordViewController.m

@@ -285,7 +285,7 @@
     if (!_sortArray) {
         _sortArray = [NSMutableArray array];
         [_sortArray addObject:@{@"name" : @"全部类型", @"bizType": @""}];
-        [_sortArray addObject:@{@"name" : @"陪练课", @"bizType": @"PRACTICE"}];
+        [_sortArray addObject:@{@"name" : @"趣纠课", @"bizType": @"PRACTICE"}];
         [_sortArray addObject:@{@"name" : @"直播课", @"bizType": @"LIVE"}];
         [_sortArray addObject:@{@"name" : @"视频课", @"bizType": @"VIDEO"}];
         [_sortArray addObject:@{@"name" : @"乐谱", @"bizType": @"MUSIC"}];

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/Controller/MyCourseViewController.h

@@ -11,7 +11,7 @@
 
 typedef NS_ENUM(NSInteger, DISPLAY_INDEX) {
     DISPLAY_INDEX_VIP = 0,    // VIP定制
-    DISPLAY_INDEX_FIRST,      // 陪练
+    DISPLAY_INDEX_FIRST,      // 趣纠
     DISPLAY_INDEX_LIVE,       // 直播课
     DISPLAY_INDEX_VIEO,       // 视频课
     DISPLAY_INDEX_MUSIC,      // 琴房课

+ 5 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/View/PopView/MusicRoomCourseCell.m

@@ -8,9 +8,11 @@
 #import "MusicRoomCourseCell.h"
 #import "MusicRoomListModel.h"
 #import "TableCourseModel.h"
+#import "UIButton+EnlargeEdge.h"
 
 @interface MusicRoomCourseCell ()
 
+@property (weak, nonatomic) IBOutlet UIButton *chatButton;
 
 @property (weak, nonatomic) IBOutlet UILabel *courseTimeLabel;
 @property (weak, nonatomic) IBOutlet UILabel *memberCount;
@@ -36,6 +38,7 @@
     [super awakeFromNib];
     // Initialization code
     self.selectionStyle = UITableViewCellSelectionStyleNone;
+    [self.chatButton setEnlargeEdgeWithTop:0 right:10 bottom:0 left:10];
 }
 
 - (void)configWithSource:(id)source beforeTime:(NSInteger)beforeTime callback:(MusicRoomChatAction)callback;
@@ -72,7 +75,7 @@
         self.targetId = model.imGroupId;
         // time
         [self evaluateTimeLabelWithBeginTime:model.startTime endTime:model.endTime];
-        self.courseName.text = [NSString returnNoNullStringWithString:model.name];
+        self.courseName.text = [NSString returnNoNullStringWithString:model.courseName];
         self.subjectName.text = [NSString returnNoNullStringWithString:model.subjectName];
         
         self.memberCount.text = [NSString stringWithFormat:@"%@人",model.payCount];
@@ -120,7 +123,7 @@
     [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
     NSDate *beginDate = [dateFormatter dateFromString:beginTime];
     NSDate *endDate = [dateFormatter dateFromString:endTime];
-    [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
     NSString *beginStr = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:beginDate]];
     [dateFormatter setDateFormat:@"HH:mm"];
     NSString *endStr = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:endDate]];

+ 3 - 3
KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/View/PopView/MusicRoomCourseCell.xib

@@ -99,9 +99,8 @@
                                 </constraints>
                             </view>
                             <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="t3h-kH-4md">
-                                <rect key="frame" x="163.5" y="47" width="40" height="40"/>
+                                <rect key="frame" x="169.5" y="47" width="19" height="40"/>
                                 <constraints>
-                                    <constraint firstAttribute="width" constant="40" id="e1k-NM-T9g"/>
                                     <constraint firstAttribute="height" constant="40" id="yHT-o3-kyh"/>
                                 </constraints>
                                 <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
@@ -161,7 +160,7 @@
                             <constraint firstItem="XK0-9s-28t" firstAttribute="centerY" secondItem="Dys-CR-rsC" secondAttribute="centerY" id="mf9-mC-k9x"/>
                             <constraint firstItem="89l-Qb-VVR" firstAttribute="leading" secondItem="Wl9-sn-VK0" secondAttribute="leading" constant="10" id="pgO-Fi-Mwz"/>
                             <constraint firstItem="IdU-Te-VFw" firstAttribute="leading" secondItem="XK0-9s-28t" secondAttribute="trailing" constant="8" id="qSh-hB-5dH"/>
-                            <constraint firstItem="t3h-kH-4md" firstAttribute="leading" secondItem="l2B-EY-GWY" secondAttribute="trailing" id="qfR-SU-0uD"/>
+                            <constraint firstItem="t3h-kH-4md" firstAttribute="leading" secondItem="l2B-EY-GWY" secondAttribute="trailing" constant="6" id="qfR-SU-0uD"/>
                             <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="IdU-Te-VFw" secondAttribute="trailing" constant="10" id="udU-HL-f4f"/>
                             <constraint firstItem="UxS-Xs-zTk" firstAttribute="centerY" secondItem="VjP-WA-4SG" secondAttribute="centerY" id="vcI-Cy-0Bk"/>
                         </constraints>
@@ -183,6 +182,7 @@
             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
             <connections>
                 <outlet property="buttonWidth" destination="Bjh-bg-ieX" id="Gsx-iz-PLv"/>
+                <outlet property="chatButton" destination="t3h-kH-4md" id="Jk3-7j-O9z"/>
                 <outlet property="courseName" destination="l2B-EY-GWY" id="D00-Cj-zrr"/>
                 <outlet property="courseTimeLabel" destination="UxS-Xs-zTk" id="dkq-PI-dck"/>
                 <outlet property="memberCount" destination="IdU-Te-VFw" id="1Lu-Rg-nb5"/>

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/Controller/MineViewController.m

@@ -373,7 +373,7 @@
             [self.navigationController pushViewController:ctrl animated:YES];
         }
             break;
-        case MINEVIEWTYPE_ACCOMPANY: // 陪练课设置
+        case MINEVIEWTYPE_ACCOMPANY: // 趣纠课设置
         {
             if (![self.mineInfo.entryStatus isEqualToString:@"PASS"]) { // 跳转达人认证
                 KSBaseWKWebViewController *webCtrl = [[KSBaseWKWebViewController alloc] init];

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/LiveList/View/FinishedLiveCell.m

@@ -41,7 +41,7 @@
     NSDateFormatter *formater = [NSObject getDateformatter];
     [formater setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
     NSDate *endDate = [formater dateFromString:endTime];
-    [formater setDateFormat:@"yyyy/MM/dd HH:mm"];
+    [formater setDateFormat:@"yyyy-MM-dd HH:mm"];
     self.endTimeLabel.text = [NSString returnNoNullStringWithString:[formater stringFromDate:endDate]];
 }
 

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/LiveList/View/UnderwayLiveCell.m

@@ -44,7 +44,7 @@
     NSDateFormatter *formater = [NSObject getDateformatter];
     [formater setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
     NSDate *endDate = [formater dateFromString:endTime];
-    [formater setDateFormat:@"yyyy/MM/dd HH:mm"];
+    [formater setDateFormat:@"yyyy-MM-dd HH:mm"];
     self.endTimeLabel.text = [NSString returnNoNullStringWithString:[formater stringFromDate:endDate]];
     if (self.liveImage.animating == YES) {
         [self.liveImage stopAnimating];

+ 5 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.m

@@ -6,8 +6,11 @@
 //
 
 #import "AccompanyCourseCell.h"
+#import "UIButton+EnlargeEdge.h"
 
 @interface AccompanyCourseCell ()
+
+@property (weak, nonatomic) IBOutlet UIButton *chatButton;
 @property (weak, nonatomic) IBOutlet UILabel *courseTime;
 @property (weak, nonatomic) IBOutlet UILabel *courseStatus;
 @property (weak, nonatomic) IBOutlet UIImageView *studentAvatar;
@@ -39,6 +42,7 @@
     [super awakeFromNib];
     // Initialization code
     self.selectionStyle = UITableViewCellSelectionStyleNone;
+    [self.chatButton setEnlargeEdgeWithTop:0 right:10 bottom:0 left:10];
 }
 
 - (void)configWithSource:(AccompanyLessonModel *)model actionCallback:(AccompanyCourseCallback)callback {
@@ -160,7 +164,7 @@
     [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
     NSDate *beginDate = [dateFormatter dateFromString:beginTime];
     NSDate *endDate = [dateFormatter dateFromString:endTime];
-    [dateFormatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
     NSString *beginStr = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:beginDate]];
     [dateFormatter setDateFormat:@"HH:mm"];
     NSString *endStr = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:endDate]];

+ 119 - 92
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
         <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"/>
@@ -11,110 +11,109 @@
     <objects>
         <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
         <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
-        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="KGk-i7-Jjw" customClass="AccompanyCourseCell">
-            <rect key="frame" x="0.0" y="0.0" width="414" height="127"/>
+        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="162" id="KGk-i7-Jjw" customClass="AccompanyCourseCell">
+            <rect key="frame" x="0.0" y="0.0" width="414" height="137"/>
             <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
             <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
-                <rect key="frame" x="0.0" y="0.0" width="414" height="127"/>
+                <rect key="frame" x="0.0" y="0.0" width="414" height="137"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
-                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hEp-yz-qU7">
-                        <rect key="frame" x="14" y="0.0" width="386" height="115"/>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="h8C-Pv-pUN">
+                        <rect key="frame" x="14" y="0.0" width="386" height="125"/>
                         <subviews>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wXs-1T-7ew">
-                                <rect key="frame" x="10" y="38" width="366" height="1"/>
-                                <color key="backgroundColor" red="0.94901960784313721" green="0.94901960784313721" blue="0.94901960784313721" alpha="1" colorSpace="calibratedRGB"/>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5yp-g6-IX8">
+                                <rect key="frame" x="12" y="38" width="362" height="1"/>
+                                <color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <constraints>
-                                    <constraint firstAttribute="height" constant="1" id="r83-A3-xqW"/>
+                                    <constraint firstAttribute="height" constant="1" id="ijk-4i-YrU"/>
                                 </constraints>
                             </view>
-                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="course_time" translatesAutoresizingMaskIntoConstraints="NO" id="3FJ-PP-t5u">
-                                <rect key="frame" x="11" y="12" width="16" height="16"/>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="course_time" translatesAutoresizingMaskIntoConstraints="NO" id="G1E-Dk-jr3">
+                                <rect key="frame" x="12" y="11" width="16" height="16"/>
                                 <constraints>
-                                    <constraint firstAttribute="width" constant="16" id="kGT-bb-CIU"/>
-                                    <constraint firstAttribute="height" constant="16" id="tQi-IQ-bdk"/>
+                                    <constraint firstAttribute="width" constant="16" id="9fB-Hj-Pul"/>
+                                    <constraint firstAttribute="height" constant="16" id="RO5-oz-7Dt"/>
                                 </constraints>
                             </imageView>
-                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2021/09/17 14:00~14:25" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="y3h-K3-zJ8">
-                                <rect key="frame" x="34" y="12" width="147" height="16"/>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="749" text="2021-09-17 14:00~14:25" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="LhA-Li-2ug">
+                                <rect key="frame" x="35" y="10" width="151.5" height="18"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="18" id="096-17-H37"/>
+                                </constraints>
                                 <fontDescription key="fontDescription" type="system" pointSize="13"/>
-                                <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
-                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="进行中" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XKr-bP-maa">
-                                <rect key="frame" x="325" y="11.5" width="50" height="17"/>
-                                <constraints>
-                                    <constraint firstAttribute="width" constant="50" id="cYb-s7-ndU"/>
-                                </constraints>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="752" text="进行中" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Mkz-nw-lkT">
+                                <rect key="frame" x="332" y="10.5" width="42" height="17"/>
                                 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
-                                <color key="textColor" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="textColor" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
-                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user_default_avatal" translatesAutoresizingMaskIntoConstraints="NO" id="foX-kQ-NZi">
-                                <rect key="frame" x="11" y="56" width="47" height="47"/>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="student_avatar" translatesAutoresizingMaskIntoConstraints="NO" id="Rme-AW-m2b">
+                                <rect key="frame" x="11" y="55" width="54" height="54"/>
                                 <constraints>
-                                    <constraint firstAttribute="height" constant="47" id="cRs-VR-QQw"/>
-                                    <constraint firstAttribute="width" constant="47" id="t7w-Ui-5tY"/>
+                                    <constraint firstAttribute="height" constant="54" id="THr-Fs-N3Q"/>
+                                    <constraint firstAttribute="width" constant="54" id="bo8-VP-ETB"/>
                                 </constraints>
                                 <userDefinedRuntimeAttributes>
                                     <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
-                                        <real key="value" value="5"/>
+                                        <real key="value" value="8"/>
                                     </userDefinedRuntimeAttribute>
                                 </userDefinedRuntimeAttributes>
                             </imageView>
-                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="张豆豆" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eJa-81-RrN">
-                                <rect key="frame" x="68" y="56" width="49" height="24"/>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="张豆豆" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Ev-zs-BKO">
+                                <rect key="frame" x="75" y="57" width="48" height="22"/>
                                 <constraints>
-                                    <constraint firstAttribute="height" constant="24" id="u07-aD-Pru"/>
+                                    <constraint firstAttribute="height" constant="22" id="jl9-D3-YeN"/>
                                 </constraints>
                                 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
-                                <color key="textColor" red="0.10196078431372549" green="0.10196078431372549" blue="0.10196078431372549" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="textColor" red="0.1019607843" green="0.1019607843" blue="0.1019607843" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dGh-TI-XLP">
-                                <rect key="frame" x="68" y="83" width="44" height="20"/>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="WYp-Sn-yIB">
+                                <rect key="frame" x="124" y="87" width="45" height="20"/>
                                 <subviews>
-                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="单簧管" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mz9-eT-OVS">
-                                        <rect key="frame" x="5" y="0.0" width="34" height="20"/>
-                                        <fontDescription key="fontDescription" type="system" pointSize="11"/>
-                                        <color key="textColor" red="1" green="0.5490196078431373" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="单簧管" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CNn-og-b2Y">
+                                        <rect key="frame" x="6" y="0.0" width="33" height="20"/>
+                                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="11"/>
+                                        <color key="textColor" red="1" green="0.61960784310000006" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                         <nil key="highlightedColor"/>
                                     </label>
                                 </subviews>
-                                <color key="backgroundColor" red="1" green="0.94509803921568625" blue="0.87058823529411766" alpha="1" colorSpace="calibratedRGB"/>
+                                <color key="backgroundColor" red="1" green="0.95686274510000002" blue="0.90196078430000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <constraints>
-                                    <constraint firstAttribute="bottom" secondItem="mz9-eT-OVS" secondAttribute="bottom" id="5gk-Fm-zz0"/>
-                                    <constraint firstItem="mz9-eT-OVS" firstAttribute="leading" secondItem="dGh-TI-XLP" secondAttribute="leading" constant="5" id="D7V-i6-966"/>
-                                    <constraint firstItem="mz9-eT-OVS" firstAttribute="top" secondItem="dGh-TI-XLP" secondAttribute="top" id="Hfm-VX-vtc"/>
-                                    <constraint firstAttribute="height" constant="20" id="UmQ-Xh-8WZ"/>
-                                    <constraint firstAttribute="trailing" secondItem="mz9-eT-OVS" secondAttribute="trailing" constant="5" id="z12-0a-6PU"/>
+                                    <constraint firstAttribute="trailing" secondItem="CNn-og-b2Y" secondAttribute="trailing" constant="6" id="7XX-FY-bSI"/>
+                                    <constraint firstAttribute="bottom" secondItem="CNn-og-b2Y" secondAttribute="bottom" id="9Us-Ia-QrY"/>
+                                    <constraint firstItem="CNn-og-b2Y" firstAttribute="top" secondItem="WYp-Sn-yIB" secondAttribute="top" id="dEc-fy-8en"/>
+                                    <constraint firstItem="CNn-og-b2Y" firstAttribute="leading" secondItem="WYp-Sn-yIB" secondAttribute="leading" constant="6" id="onX-G7-j6F"/>
+                                    <constraint firstAttribute="height" constant="20" id="xs1-JM-RCe"/>
                                 </constraints>
                                 <userDefinedRuntimeAttributes>
                                     <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
-                                        <real key="value" value="4"/>
+                                        <real key="value" value="3"/>
                                     </userDefinedRuntimeAttribute>
                                 </userDefinedRuntimeAttributes>
                             </view>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NOA-EQ-Fjn">
-                                <rect key="frame" x="117" y="48" width="40" height="40"/>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="BqU-n1-dgD">
+                                <rect key="frame" x="129" y="48" width="19" height="40"/>
                                 <constraints>
-                                    <constraint firstAttribute="height" constant="40" id="87u-cE-Y5V"/>
-                                    <constraint firstAttribute="width" constant="40" id="gOV-9c-ibN"/>
+                                    <constraint firstAttribute="height" constant="40" id="6te-OA-PmZ"/>
                                 </constraints>
                                 <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                                 <state key="normal" image="course_chat"/>
                                 <connections>
-                                    <action selector="chatAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="oA7-RL-IvS"/>
+                                    <action selector="chatAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="YB3-mt-ijb"/>
                                 </connections>
                             </button>
-                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="42d-Nb-iRS">
-                                <rect key="frame" x="304" y="67" width="70" height="28"/>
-                                <color key="backgroundColor" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="calibratedRGB"/>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="FFb-6A-Bey">
+                                <rect key="frame" x="304" y="81" width="70" height="28"/>
+                                <color key="backgroundColor" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                 <constraints>
-                                    <constraint firstAttribute="width" constant="70" id="FVJ-kk-We8"/>
-                                    <constraint firstAttribute="height" constant="28" id="Hin-5d-6me"/>
+                                    <constraint firstAttribute="height" constant="28" id="6yk-kT-sZ3"/>
+                                    <constraint firstAttribute="width" constant="70" id="CuU-gD-3sO"/>
                                 </constraints>
-                                <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
                                 <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                                 <state key="normal" title="进入教室"/>
                                 <userDefinedRuntimeAttributes>
@@ -125,37 +124,64 @@
                                         <real key="value" value="1"/>
                                     </userDefinedRuntimeAttribute>
                                     <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
-                                        <color key="value" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="calibratedRGB"/>
+                                        <color key="value" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                     </userDefinedRuntimeAttribute>
                                 </userDefinedRuntimeAttributes>
                                 <connections>
-                                    <action selector="courseAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="Cjj-lv-UXo"/>
+                                    <action selector="courseAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="L3V-UC-jv3"/>
                                 </connections>
                             </button>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="b29-RD-SZq">
+                                <rect key="frame" x="75" y="87" width="45" height="20"/>
+                                <subviews>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="趣纠课" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="VWt-t7-L1K">
+                                        <rect key="frame" x="6" y="0.0" width="33" height="20"/>
+                                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="11"/>
+                                        <color key="textColor" red="1" green="0.61960784310000006" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" red="1" green="0.95686274510000002" blue="0.90196078430000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <constraints>
+                                    <constraint firstItem="VWt-t7-L1K" firstAttribute="leading" secondItem="b29-RD-SZq" secondAttribute="leading" constant="6" id="ACW-Ic-rnd"/>
+                                    <constraint firstItem="VWt-t7-L1K" firstAttribute="top" secondItem="b29-RD-SZq" secondAttribute="top" id="N6I-E0-gdD"/>
+                                    <constraint firstAttribute="bottom" secondItem="VWt-t7-L1K" secondAttribute="bottom" id="g6f-sM-cJ0"/>
+                                    <constraint firstAttribute="height" constant="20" id="i3u-TR-xqy"/>
+                                    <constraint firstAttribute="trailing" secondItem="VWt-t7-L1K" secondAttribute="trailing" constant="6" id="zgH-lj-W9b"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="3"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
                         </subviews>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
-                            <constraint firstItem="XKr-bP-maa" firstAttribute="centerY" secondItem="y3h-K3-zJ8" secondAttribute="centerY" id="2ud-Y3-DkF"/>
-                            <constraint firstItem="wXs-1T-7ew" firstAttribute="top" secondItem="3FJ-PP-t5u" secondAttribute="bottom" constant="10" id="4AU-q2-JKK"/>
-                            <constraint firstItem="eJa-81-RrN" firstAttribute="top" secondItem="foX-kQ-NZi" secondAttribute="top" id="9f4-fS-Mjm"/>
-                            <constraint firstItem="dGh-TI-XLP" firstAttribute="bottom" secondItem="foX-kQ-NZi" secondAttribute="bottom" id="Azp-AH-Ulo"/>
-                            <constraint firstItem="NOA-EQ-Fjn" firstAttribute="centerY" secondItem="eJa-81-RrN" secondAttribute="centerY" id="Dh1-vS-VH4"/>
-                            <constraint firstItem="y3h-K3-zJ8" firstAttribute="leading" secondItem="3FJ-PP-t5u" secondAttribute="trailing" constant="7" id="HDn-Dn-gXp"/>
-                            <constraint firstItem="wXs-1T-7ew" firstAttribute="leading" secondItem="hEp-yz-qU7" secondAttribute="leading" constant="10" id="MuH-hq-nak"/>
-                            <constraint firstAttribute="bottom" secondItem="42d-Nb-iRS" secondAttribute="bottom" constant="20" id="PRc-Qs-mXb"/>
-                            <constraint firstItem="3FJ-PP-t5u" firstAttribute="leading" secondItem="hEp-yz-qU7" secondAttribute="leading" constant="11" id="SPj-TQ-Naq"/>
-                            <constraint firstItem="eJa-81-RrN" firstAttribute="leading" secondItem="foX-kQ-NZi" secondAttribute="trailing" constant="10" id="XMS-cQ-9qv"/>
-                            <constraint firstItem="3FJ-PP-t5u" firstAttribute="top" secondItem="hEp-yz-qU7" secondAttribute="top" constant="12" id="ZIs-gJ-5ER"/>
-                            <constraint firstItem="42d-Nb-iRS" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="NOA-EQ-Fjn" secondAttribute="trailing" constant="11" id="fQa-VV-TW6"/>
-                            <constraint firstItem="foX-kQ-NZi" firstAttribute="leading" secondItem="hEp-yz-qU7" secondAttribute="leading" constant="11" id="fzi-Jo-dW2"/>
-                            <constraint firstItem="XKr-bP-maa" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="y3h-K3-zJ8" secondAttribute="trailing" constant="10" id="iWy-rf-ocs"/>
-                            <constraint firstItem="foX-kQ-NZi" firstAttribute="top" secondItem="wXs-1T-7ew" secondAttribute="bottom" constant="17" id="jyB-6O-Z10"/>
-                            <constraint firstItem="y3h-K3-zJ8" firstAttribute="centerY" secondItem="3FJ-PP-t5u" secondAttribute="centerY" id="krf-gM-z84"/>
-                            <constraint firstAttribute="trailing" secondItem="XKr-bP-maa" secondAttribute="trailing" constant="11" id="n7L-Ge-hdB"/>
-                            <constraint firstItem="NOA-EQ-Fjn" firstAttribute="leading" secondItem="eJa-81-RrN" secondAttribute="trailing" id="oGP-bV-vh8"/>
-                            <constraint firstItem="dGh-TI-XLP" firstAttribute="leading" secondItem="eJa-81-RrN" secondAttribute="leading" id="qFE-Ju-IOj"/>
-                            <constraint firstAttribute="trailing" secondItem="42d-Nb-iRS" secondAttribute="trailing" constant="12" id="tvp-eu-D3U"/>
-                            <constraint firstAttribute="trailing" secondItem="wXs-1T-7ew" secondAttribute="trailing" constant="10" id="yzO-qN-lJn"/>
+                            <constraint firstItem="Mkz-nw-lkT" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="LhA-Li-2ug" secondAttribute="trailing" constant="5" id="1dK-NU-OfI"/>
+                            <constraint firstItem="2Ev-zs-BKO" firstAttribute="top" secondItem="Rme-AW-m2b" secondAttribute="top" constant="2" id="2uu-mA-aM6"/>
+                            <constraint firstItem="LhA-Li-2ug" firstAttribute="leading" secondItem="G1E-Dk-jr3" secondAttribute="trailing" constant="7" id="88O-5l-988"/>
+                            <constraint firstItem="5yp-g6-IX8" firstAttribute="top" secondItem="G1E-Dk-jr3" secondAttribute="bottom" constant="11" id="EDf-3A-9nk"/>
+                            <constraint firstAttribute="bottom" secondItem="Rme-AW-m2b" secondAttribute="bottom" constant="16" id="KtK-Ba-PMt"/>
+                            <constraint firstAttribute="trailing" secondItem="Mkz-nw-lkT" secondAttribute="trailing" constant="12" id="Kvu-oR-8Fx"/>
+                            <constraint firstItem="G1E-Dk-jr3" firstAttribute="leading" secondItem="h8C-Pv-pUN" secondAttribute="leading" constant="12" id="L3P-2y-eln"/>
+                            <constraint firstItem="2Ev-zs-BKO" firstAttribute="leading" secondItem="Rme-AW-m2b" secondAttribute="trailing" constant="10" id="O7A-Ku-eDj"/>
+                            <constraint firstItem="WYp-Sn-yIB" firstAttribute="leading" secondItem="b29-RD-SZq" secondAttribute="trailing" constant="4" id="SsR-Ui-uoP"/>
+                            <constraint firstItem="G1E-Dk-jr3" firstAttribute="top" secondItem="h8C-Pv-pUN" secondAttribute="top" constant="11" id="V5e-Wm-Cvc"/>
+                            <constraint firstAttribute="trailing" secondItem="FFb-6A-Bey" secondAttribute="trailing" constant="12" id="WuV-v1-9do"/>
+                            <constraint firstItem="Rme-AW-m2b" firstAttribute="leading" secondItem="h8C-Pv-pUN" secondAttribute="leading" constant="11" id="X6G-kH-lfc"/>
+                            <constraint firstItem="Mkz-nw-lkT" firstAttribute="centerY" secondItem="LhA-Li-2ug" secondAttribute="centerY" id="Y2R-Uf-vHP"/>
+                            <constraint firstAttribute="bottom" secondItem="FFb-6A-Bey" secondAttribute="bottom" constant="16" id="Yxd-2F-bvw"/>
+                            <constraint firstItem="Rme-AW-m2b" firstAttribute="top" secondItem="5yp-g6-IX8" secondAttribute="bottom" constant="16" id="aQ8-JX-HBa"/>
+                            <constraint firstItem="5yp-g6-IX8" firstAttribute="leading" secondItem="h8C-Pv-pUN" secondAttribute="leading" constant="12" id="eVj-jk-EVp"/>
+                            <constraint firstItem="BqU-n1-dgD" firstAttribute="leading" secondItem="2Ev-zs-BKO" secondAttribute="trailing" constant="6" id="i1Z-4t-dWM"/>
+                            <constraint firstAttribute="trailing" secondItem="5yp-g6-IX8" secondAttribute="trailing" constant="12" id="lAp-VU-FLL"/>
+                            <constraint firstItem="FFb-6A-Bey" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="BqU-n1-dgD" secondAttribute="trailing" constant="11" id="lMW-es-9ap"/>
+                            <constraint firstItem="b29-RD-SZq" firstAttribute="top" secondItem="2Ev-zs-BKO" secondAttribute="bottom" constant="8" id="mEt-7Q-kaj"/>
+                            <constraint firstItem="LhA-Li-2ug" firstAttribute="centerY" secondItem="G1E-Dk-jr3" secondAttribute="centerY" id="nP0-QL-Oaw"/>
+                            <constraint firstItem="WYp-Sn-yIB" firstAttribute="centerY" secondItem="b29-RD-SZq" secondAttribute="centerY" id="nXf-Ed-kTc"/>
+                            <constraint firstItem="BqU-n1-dgD" firstAttribute="centerY" secondItem="2Ev-zs-BKO" secondAttribute="centerY" id="pX5-Jp-Gtp"/>
+                            <constraint firstItem="b29-RD-SZq" firstAttribute="leading" secondItem="2Ev-zs-BKO" secondAttribute="leading" id="tGk-jz-OpZ"/>
                         </constraints>
                         <userDefinedRuntimeAttributes>
                             <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
@@ -166,29 +192,30 @@
                 </subviews>
                 <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                 <constraints>
-                    <constraint firstAttribute="bottom" secondItem="hEp-yz-qU7" secondAttribute="bottom" constant="12" id="1H8-ep-qYi"/>
-                    <constraint firstItem="hEp-yz-qU7" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="Kid-r9-L7D"/>
-                    <constraint firstItem="hEp-yz-qU7" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="sEC-om-6Mn"/>
-                    <constraint firstAttribute="trailing" secondItem="hEp-yz-qU7" secondAttribute="trailing" constant="14" id="zlt-1I-Jvx"/>
+                    <constraint firstAttribute="bottom" secondItem="h8C-Pv-pUN" secondAttribute="bottom" constant="12" id="DeM-zk-UrB"/>
+                    <constraint firstItem="h8C-Pv-pUN" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="d56-SY-q3z"/>
+                    <constraint firstAttribute="trailing" secondItem="h8C-Pv-pUN" secondAttribute="trailing" constant="14" id="j89-Qj-NVq"/>
+                    <constraint firstItem="h8C-Pv-pUN" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="wZD-oe-A8G"/>
                 </constraints>
             </tableViewCellContentView>
             <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
             <connections>
-                <outlet property="courseStatus" destination="XKr-bP-maa" id="lUj-uE-gX6"/>
-                <outlet property="courseTime" destination="y3h-K3-zJ8" id="BQP-Dh-J69"/>
-                <outlet property="opreationButton" destination="42d-Nb-iRS" id="Jez-ID-7gC"/>
-                <outlet property="studentAvatar" destination="foX-kQ-NZi" id="9D9-zE-vdE"/>
-                <outlet property="studentName" destination="eJa-81-RrN" id="Lob-ln-gKG"/>
-                <outlet property="studentSubject" destination="mz9-eT-OVS" id="99G-qb-mJx"/>
+                <outlet property="chatButton" destination="BqU-n1-dgD" id="QxT-cY-Lup"/>
+                <outlet property="courseStatus" destination="Mkz-nw-lkT" id="REL-aW-Kem"/>
+                <outlet property="courseTime" destination="LhA-Li-2ug" id="u8c-hP-4ch"/>
+                <outlet property="opreationButton" destination="FFb-6A-Bey" id="yY7-pF-qqh"/>
+                <outlet property="studentAvatar" destination="Rme-AW-m2b" id="QZL-6a-PpY"/>
+                <outlet property="studentName" destination="2Ev-zs-BKO" id="ifi-uj-8ok"/>
+                <outlet property="studentSubject" destination="CNn-og-b2Y" id="jF8-eK-akR"/>
             </connections>
-            <point key="canvasLocation" x="131.8840579710145" y="95.424107142857139"/>
+            <point key="canvasLocation" x="131.8840579710145" y="107.14285714285714"/>
         </tableViewCell>
     </objects>
     <resources>
         <image name="course_chat" width="19" height="18"/>
         <image name="course_time" width="16" height="16"/>
-        <image name="user_default_avatal" width="52" height="52"/>
+        <image name="student_avatar" width="150" height="150"/>
         <systemColor name="systemBackgroundColor">
             <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
         </systemColor>

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/LiveCourseCell.m

@@ -62,7 +62,7 @@
     NSDateFormatter *formatter = [NSObject getDateformatter];
     [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
     NSDate *startDate = [formatter dateFromString:model.courseStartTime];
-    [formatter setDateFormat:@"yyyy/MM/dd HH:mm"];
+    [formatter setDateFormat:@"yyyy-MM-dd HH:mm"];
     NSString *courseBegin = [formatter stringFromDate:startDate];
     self.courseTime.text = [NSString returnNoNullStringWithString:courseBegin];
     self.subjectLabel.text = [NSString returnNoNullStringWithString:model.subjectName];

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageCourseView.h

@@ -11,7 +11,7 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-/// 陪练课、直播课、乐谱page
+/// 趣纠课、直播课、乐谱page
 @interface MinePageCourseView : KSJXBodyView
 
 @property (nonatomic, strong) NSString *teaherStatus;

+ 6 - 6
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageCourseView.m

@@ -128,7 +128,7 @@
 }
 
 - (void)requestData {
-    if (self.selectIndex == 1) { // 陪练
+    if (self.selectIndex == 1) { // 趣纠
         [KSNetworkingManager accompanyCourseRequest:KS_POST classMonth:self.chooseMonth status:nil subjectId:nil page:self.pages rows:self.rows success:^(NSDictionary * _Nonnull dic) {
             [self endRefresh];
             if ([dic ks_integerValueForKey:@"code"] == 200 && [dic ks_boolValueForKey:@"status"]) {
@@ -329,7 +329,7 @@
             [self showAdjustPicker:model];
         }
             break;
-        case ACCOMPANY_DETAIL:  // 陪练课详情
+        case ACCOMPANY_DETAIL:  // 趣纠课详情
         {
             [self showAccompanyDetail:model];
         }
@@ -500,7 +500,7 @@
 }
 
 - (void)settingAction {
-    if (self.selectIndex == 1) { // 陪练课设置
+    if (self.selectIndex == 1) { // 趣纠课设置
         KSBaseWKWebViewController *webCtrl = [[KSBaseWKWebViewController alloc] init];
         webCtrl.url = [NSString stringWithFormat:@"%@%@", WEBHOST, @"/#/practiceSetting"];
         [self.naviController pushViewController:webCtrl animated:YES];
@@ -589,7 +589,7 @@
 
 - (void)configAuthDisplay {
     [self.authView configDisplayMessage:[self getAuthDisplayMessage]];
-    if (self.selectIndex == 1) { // 陪练
+    if (self.selectIndex == 1) { // 趣纠
         if ([self.teaherStatus isEqualToString:@"DOING"]) {
             self.authView.sureButton.userInteractionEnabled = NO;
             self.authView.sureButton.hidden = YES;
@@ -663,12 +663,12 @@
 }
 
 - (NSString *)getAuthDisplayMessage {
-    if (self.selectIndex == 1) { // 陪练
+    if (self.selectIndex == 1) { // 趣纠
         if ([self.teaherStatus isEqualToString:@"DOING"]) { // 审核中
             return @"您已提交认证申请,请耐心等待审核结果~";
         }
         else {
-            return @"您还没有完成达人认证,认证后才可设置陪练课哦~";
+            return @"您还没有完成达人认证,认证后才可设置趣纠课哦~";
         }
     }
     else if (self.selectIndex == 2) { // 直播课

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageSort/MinePageSortView.m

@@ -50,7 +50,7 @@
     switch (viewType) {
         case SORTVIEWTYPE_ACCOMPANY:
         {
-            self.sortTitleLabel.text = @"我的陪练课";
+            self.sortTitleLabel.text = @"我的趣纠课";
             self.actionLabel.text = @"课程设置";
             self.timeView.hidden = NO;
         }

+ 7 - 7
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageSort/MinePageSortView.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
         <capability name="System colors in document resources" minToolsVersion="11.0"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
@@ -17,7 +17,7 @@
                 <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="fVx-q1-JTB">
                     <rect key="frame" x="14" y="12" width="386" height="56"/>
                     <subviews>
-                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="我的陪练课" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="slc-nH-mRh">
+                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="我的趣纠课" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="slc-nH-mRh">
                             <rect key="frame" x="14" y="13" width="104" height="30"/>
                             <constraints>
                                 <constraint firstAttribute="width" constant="104" id="fMt-6o-p4k"/>
@@ -72,23 +72,23 @@
                             </userDefinedRuntimeAttributes>
                         </view>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4GP-m2-xhT">
-                            <rect key="frame" x="287" y="14" width="85" height="28"/>
+                            <rect key="frame" x="289" y="14" width="83" height="28"/>
                             <subviews>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="minePage_next" translatesAutoresizingMaskIntoConstraints="NO" id="qvh-rp-hej">
-                                    <rect key="frame" x="80" y="10.5" width="5" height="7"/>
+                                    <rect key="frame" x="78" y="10.5" width="5" height="7"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="7" id="8YK-KB-z2o"/>
                                         <constraint firstAttribute="width" constant="5" id="kEq-KL-pNs"/>
                                     </constraints>
                                 </imageView>
                                 <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="课程设置" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="X0E-As-tIa">
-                                    <rect key="frame" x="8" y="4" width="66" height="20"/>
+                                    <rect key="frame" x="8" y="4" width="64" height="20"/>
                                     <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
                                     <color key="textColor" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="calibratedRGB"/>
                                     <nil key="highlightedColor"/>
                                 </label>
                                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="YCX-IX-iGM">
-                                    <rect key="frame" x="0.0" y="0.0" width="85" height="28"/>
+                                    <rect key="frame" x="0.0" y="0.0" width="83" height="28"/>
                                     <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                                     <connections>
                                         <action selector="settingAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="ymC-K3-QzI"/>

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageSubmitView.h

@@ -8,7 +8,7 @@
 #import <UIKit/UIKit.h>
 
 typedef NS_ENUM(NSInteger, MINEPAGETYPE) {
-    MINEPAGETYPE_ACCOMPANY,     // 陪练课设置
+    MINEPAGETYPE_ACCOMPANY,     // 趣纠课设置
     MINEPAGETYPE_LIVE,          // 直播课设置
     MINEPAGETYPE_VIDEO,         // 视频课设置
     MINEPAGETYPE_MUSIC,         // 乐谱

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageSubmitView.m

@@ -34,7 +34,7 @@
         case MINEPAGETYPE_ACCOMPANY:
         {
             [self.typeImage setImage:[UIImage imageNamed:@"accompany_setting"]];
-            self.typeName.text = @"陪练课设置";
+            self.typeName.text = @"趣纠课设置";
         }
             break;
         case MINEPAGETYPE_LIVE:

+ 20 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/VIPCourseCell.h

@@ -0,0 +1,20 @@
+//
+//  VIPCourseCell.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2024/11/25.
+//
+
+#import <UIKit/UIKit.h>
+#import "AccompanyCourseCell.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface VIPCourseCell : UITableViewCell
+
+/// 课表使用
+- (void)configWithCourseMessage:(TableCourseModel *)model beforeTime:(NSInteger)beforeTime actionCallback:(AccompanyLessonCallback)callback;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 157 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/VIPCourseCell.m

@@ -0,0 +1,157 @@
+//
+//  VIPCourseCell.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2024/11/25.
+//
+
+#import "VIPCourseCell.h"
+#import "UIButton+EnlargeEdge.h"
+
+@interface VIPCourseCell ()
+@property (weak, nonatomic) IBOutlet UIButton *chatButton;
+
+@property (weak, nonatomic) IBOutlet UILabel *courseTime;
+@property (weak, nonatomic) IBOutlet UILabel *courseStatus;
+@property (weak, nonatomic) IBOutlet UIImageView *studentAvatar;
+@property (weak, nonatomic) IBOutlet UILabel *studentName;
+@property (weak, nonatomic) IBOutlet UILabel *studentSubject;
+
+@property (weak, nonatomic) IBOutlet UIButton *opreationButton;
+
+@property (nonatomic, strong) AccompanyLessonModel *sourceModel;
+
+@property (nonatomic, assign) ACCOMPANY_TYPE type;
+
+/// 课表使用
+@property (nonatomic, copy) AccompanyLessonCallback lessonCallback;
+
+@property (nonatomic, strong) TableCourseModel *lessonModel;
+
+@end
+
+@implementation VIPCourseCell
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    // Initialization code
+    self.selectionStyle = UITableViewCellSelectionStyleNone;
+    [self.chatButton setEnlargeEdgeWithTop:0 right:10 bottom:0 left:10];
+}
+
+/// 课表使用
+- (void)configWithCourseMessage:(TableCourseModel *)model beforeTime:(NSInteger)beforeTime actionCallback:(AccompanyLessonCallback)callback {
+    if (callback) {
+        self.lessonCallback = callback;
+    }
+    self.lessonModel = model;
+    
+    [self.studentAvatar sd_setImageWithURL:[NSURL URLWithString:[model.cover getUrlEndcodeString]] placeholderImage:[UIImage imageNamed:STUDENT_AVATAR]];
+    if ([NSString isEmptyString:model.name]) {
+        self.studentName.text = [NSString stringWithFormat:@"游客%@",model.userId];
+    }
+    else {
+        self.studentName.text = model.name;
+    }
+    
+    self.studentSubject.text = [NSString returnNoNullStringWithString:model.subjectName];
+    
+    // time
+    [self evaluateTimeLabelWithBeginTime:model.startTime endTime:model.endTime];
+    
+    if ([model.status isEqualToString:@"NOT_START"]) { // 未开始
+        self.courseStatus.text = @"未开始";
+        self.courseStatus.textColor = HexRGB(0xff802C);
+        
+        // 判断按钮显示调课还是进入教室
+        NSDate *currentDate = [NSDate date];
+        NSDate *beginDate = [self getCourseBeginDate:model.startTime];
+        NSTimeInterval beginTimeInterval = [beginDate timeIntervalSinceDate:currentDate];
+        BOOL canChange = NO;
+        if (beginTimeInterval > beforeTime * 60) {
+            canChange = YES;
+        }
+        if (canChange) {
+            self.type = ACCOMPANY_TYPE_ADJUST;
+            self.opreationButton.userInteractionEnabled = YES;
+            [self.opreationButton setTitle:@"调课" forState:UIControlStateNormal];
+            [self.opreationButton setTitleColor:THEMECOLOR forState:UIControlStateNormal];
+            [self.opreationButton setBackgroundColor:HexRGB(0xffffff)];
+        }
+        else {
+            self.type = ACCOMPANY_DETAIL;
+            self.opreationButton.userInteractionEnabled = YES;
+            [self.opreationButton setTitle:@"进入教室" forState:UIControlStateNormal];
+            [self.opreationButton setTitleColor:HexRGB(0xffffff) forState:UIControlStateNormal];
+            [self.opreationButton setBackgroundColor:THEMECOLOR];
+        }
+    }
+    else if ([model.status isEqualToString:@"ING"]) { // 进行中
+        self.courseStatus.text = @"进行中";
+        self.courseStatus.textColor = THEMECOLOR;
+        self.type = ACCOMPANY_DETAIL;
+        self.opreationButton.userInteractionEnabled = YES;
+        [self.opreationButton setTitle:@"进入教室" forState:UIControlStateNormal];
+        [self.opreationButton setTitleColor:HexRGB(0xffffff) forState:UIControlStateNormal];
+        [self.opreationButton setBackgroundColor:THEMECOLOR];
+    }
+    else if ([model.status isEqualToString:@"COMPLETE"]) { // 已结束
+        self.courseStatus.text = @"已结束";
+        self.courseStatus.textColor = HexRGB(0x999999);
+        // 判断显示评价还是已评价
+        BOOL hasEvaluate = [model.teacherReplied isEqualToString:@"1"] ? YES : NO;
+        if (hasEvaluate == NO) {
+            self.type = ACCOMPANY_DETAIL;
+            self.opreationButton.userInteractionEnabled = YES;
+            [self.opreationButton setTitle:@"评价" forState:UIControlStateNormal];
+            [self.opreationButton setTitleColor:THEMECOLOR forState:UIControlStateNormal];
+            [self.opreationButton setBackgroundColor:HexRGB(0xffffff)];
+        }
+        else {
+            self.opreationButton.userInteractionEnabled = NO;
+            [self.opreationButton setTitle:@"已评价" forState:UIControlStateNormal];
+            [self.opreationButton setTitleColor:THEMECOLOR forState:UIControlStateNormal];
+            [self.opreationButton setBackgroundColor:HexRGB(0xffffff)];
+        }
+    }
+}
+
+- (NSDate *)getCourseBeginDate:(NSString *)beginTime {
+    NSDateFormatter *dateFormatter = [NSObject getDateformatter];
+    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
+    NSDate *beginDate = [dateFormatter dateFromString:beginTime];
+    return beginDate;
+}
+
+- (void)evaluateTimeLabelWithBeginTime:(NSString *)beginTime endTime:(NSString *)endTime {
+    // 时间
+    NSDateFormatter *dateFormatter = [NSObject getDateformatter];
+    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
+    NSDate *beginDate = [dateFormatter dateFromString:beginTime];
+    NSDate *endDate = [dateFormatter dateFromString:endTime];
+    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm"];
+    NSString *beginStr = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:beginDate]];
+    [dateFormatter setDateFormat:@"HH:mm"];
+    NSString *endStr = [NSString returnNoNullStringWithString:[dateFormatter stringFromDate:endDate]];
+    self.courseTime.text = [NSString stringWithFormat:@"%@~%@", beginStr, endStr];
+}
+
+- (IBAction)chatAction:(id)sender {
+ if (self.lessonCallback) {
+        self.lessonCallback(ACCOMPANY_TYPE_CHAT, self.lessonModel);
+    }
+}
+
+- (IBAction)courseAction:(UIButton *)sender {
+    if (self.lessonCallback) {
+        self.lessonCallback(self.type, self.lessonModel);
+    }
+}
+
+- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
+    [super setSelected:selected animated:animated];
+
+    // Configure the view for the selected state
+}
+
+@end

+ 222 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/VIPCourseCell.xib

@@ -0,0 +1,222 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
+    <device id="retina6_12" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
+        <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>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="99" id="KGk-i7-Jjw" customClass="VIPCourseCell">
+            <rect key="frame" x="0.0" y="0.0" width="375" height="137"/>
+            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
+            <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
+                <rect key="frame" x="0.0" y="0.0" width="375" height="137"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Prt-82-eFb">
+                        <rect key="frame" x="14" y="0.0" width="347" height="125"/>
+                        <subviews>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="jQ1-Wj-ucc">
+                                <rect key="frame" x="12" y="38" width="323" height="1"/>
+                                <color key="backgroundColor" red="0.94901960784313721" green="0.94901960784313721" blue="0.94901960784313721" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="1" id="OZb-Zn-ljG"/>
+                                </constraints>
+                            </view>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="course_time" translatesAutoresizingMaskIntoConstraints="NO" id="8gY-RN-itJ">
+                                <rect key="frame" x="12" y="11" width="16" height="16"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="16" id="UmW-l8-Oad"/>
+                                    <constraint firstAttribute="width" constant="16" id="oYG-4m-J1v"/>
+                                </constraints>
+                            </imageView>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="749" text="2021-09-17 14:00~14:25" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Fqj-41-s1K">
+                                <rect key="frame" x="35" y="10" width="151.33333333333334" height="18"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="18" id="4G0-gx-woG"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" pointSize="13"/>
+                                <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="752" text="进行中" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Lid-9a-OQf">
+                                <rect key="frame" x="293" y="10.666666666666664" width="42" height="17"/>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                                <color key="textColor" red="0.1764705882352941" green="0.7803921568627451" blue="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="student_avatar" translatesAutoresizingMaskIntoConstraints="NO" id="fEg-xE-FLb">
+                                <rect key="frame" x="11" y="55" width="54" height="54"/>
+                                <constraints>
+                                    <constraint firstAttribute="width" constant="54" id="Np7-Ob-XE2"/>
+                                    <constraint firstAttribute="height" constant="54" id="qgd-YB-Ffr"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="8"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </imageView>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="张豆豆" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uaL-C5-cxT">
+                                <rect key="frame" x="75" y="57" width="48" height="22"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="22" id="sQ2-yi-rPG"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                                <color key="textColor" red="0.10196078431372549" green="0.10196078431372549" blue="0.10196078431372549" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yFL-8X-NNI">
+                                <rect key="frame" x="143.33333333333334" y="87" width="45" height="20"/>
+                                <subviews>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="单簧管" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="iDN-9i-ii9">
+                                        <rect key="frame" x="6" y="0.0" width="33" height="20"/>
+                                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="11"/>
+                                        <color key="textColor" red="1" green="0.61960784313725492" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" red="1" green="0.95686274509803915" blue="0.90196078431372551" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <constraints>
+                                    <constraint firstItem="iDN-9i-ii9" firstAttribute="top" secondItem="yFL-8X-NNI" secondAttribute="top" id="9zI-bx-Ru1"/>
+                                    <constraint firstAttribute="bottom" secondItem="iDN-9i-ii9" secondAttribute="bottom" id="NSB-J3-jVr"/>
+                                    <constraint firstItem="iDN-9i-ii9" firstAttribute="leading" secondItem="yFL-8X-NNI" secondAttribute="leading" constant="6" id="PA9-pv-xhP"/>
+                                    <constraint firstAttribute="height" constant="20" id="eup-02-R2H"/>
+                                    <constraint firstAttribute="trailing" secondItem="iDN-9i-ii9" secondAttribute="trailing" constant="6" id="ucu-6V-Vjr"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="3"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0e3-fp-uAc">
+                                <rect key="frame" x="129" y="48" width="19" height="40"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="40" id="jH6-a3-7S5"/>
+                                </constraints>
+                                <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                <state key="normal" image="course_chat"/>
+                                <connections>
+                                    <action selector="chatAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="x8R-Ln-3na"/>
+                                </connections>
+                            </button>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="iNM-Ch-sTL">
+                                <rect key="frame" x="265" y="81" width="70" height="28"/>
+                                <color key="backgroundColor" red="0.1764705882352941" green="0.7803921568627451" blue="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="28" id="LHz-TW-hCI"/>
+                                    <constraint firstAttribute="width" constant="70" id="dDE-4R-ZUz"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
+                                <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                <state key="normal" title="进入教室"/>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="14"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="borderWidth">
+                                        <real key="value" value="1"/>
+                                    </userDefinedRuntimeAttribute>
+                                    <userDefinedRuntimeAttribute type="color" keyPath="borderColor">
+                                        <color key="value" red="0.1764705882352941" green="0.7803921568627451" blue="0.66666666666666663" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                                <connections>
+                                    <action selector="courseAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="4XB-b2-f6n"/>
+                                </connections>
+                            </button>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Ke6-vg-Fje">
+                                <rect key="frame" x="75" y="87" width="64.333333333333314" height="20"/>
+                                <subviews>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="VIP定制课" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Exb-Tk-01t">
+                                        <rect key="frame" x="6.0000000000000036" y="0.0" width="52.333333333333343" height="20"/>
+                                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="11"/>
+                                        <color key="textColor" red="1" green="0.61960784310000006" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" red="1" green="0.95686274510000002" blue="0.90196078430000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
+                                <constraints>
+                                    <constraint firstItem="Exb-Tk-01t" firstAttribute="top" secondItem="Ke6-vg-Fje" secondAttribute="top" id="NIn-P2-F4v"/>
+                                    <constraint firstAttribute="height" constant="20" id="QtG-Ur-NhS"/>
+                                    <constraint firstAttribute="bottom" secondItem="Exb-Tk-01t" secondAttribute="bottom" id="VbW-Md-6Og"/>
+                                    <constraint firstItem="Exb-Tk-01t" firstAttribute="leading" secondItem="Ke6-vg-Fje" secondAttribute="leading" constant="6" id="frZ-KJ-sn0"/>
+                                    <constraint firstAttribute="trailing" secondItem="Exb-Tk-01t" secondAttribute="trailing" constant="6" id="kdV-OR-xhQ"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="3"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                        </subviews>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                        <constraints>
+                            <constraint firstItem="fEg-xE-FLb" firstAttribute="top" secondItem="jQ1-Wj-ucc" secondAttribute="bottom" constant="16" id="24B-Ke-hjh"/>
+                            <constraint firstItem="Ke6-vg-Fje" firstAttribute="leading" secondItem="uaL-C5-cxT" secondAttribute="leading" id="65B-Ng-aXu"/>
+                            <constraint firstItem="uaL-C5-cxT" firstAttribute="leading" secondItem="fEg-xE-FLb" secondAttribute="trailing" constant="10" id="B51-VO-hCM"/>
+                            <constraint firstItem="Ke6-vg-Fje" firstAttribute="top" secondItem="uaL-C5-cxT" secondAttribute="bottom" constant="8" id="DT9-5c-00S"/>
+                            <constraint firstItem="yFL-8X-NNI" firstAttribute="centerY" secondItem="Ke6-vg-Fje" secondAttribute="centerY" id="Ekx-Kh-2n7"/>
+                            <constraint firstItem="8gY-RN-itJ" firstAttribute="leading" secondItem="Prt-82-eFb" secondAttribute="leading" constant="12" id="GRq-Nt-JtF"/>
+                            <constraint firstItem="0e3-fp-uAc" firstAttribute="centerY" secondItem="uaL-C5-cxT" secondAttribute="centerY" id="L3T-WT-yJf"/>
+                            <constraint firstItem="Lid-9a-OQf" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="Fqj-41-s1K" secondAttribute="trailing" constant="5" id="MBu-MZ-fjb"/>
+                            <constraint firstItem="fEg-xE-FLb" firstAttribute="leading" secondItem="Prt-82-eFb" secondAttribute="leading" constant="11" id="P0G-na-1GI"/>
+                            <constraint firstItem="iNM-Ch-sTL" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="0e3-fp-uAc" secondAttribute="trailing" constant="11" id="RWh-KD-Jib"/>
+                            <constraint firstItem="uaL-C5-cxT" firstAttribute="top" secondItem="fEg-xE-FLb" secondAttribute="top" constant="2" id="Y0a-tb-RAI"/>
+                            <constraint firstItem="yFL-8X-NNI" firstAttribute="leading" secondItem="Ke6-vg-Fje" secondAttribute="trailing" constant="4" id="d9B-QA-fS9"/>
+                            <constraint firstItem="Fqj-41-s1K" firstAttribute="centerY" secondItem="8gY-RN-itJ" secondAttribute="centerY" id="dof-s4-2a2"/>
+                            <constraint firstAttribute="bottom" secondItem="fEg-xE-FLb" secondAttribute="bottom" constant="16" id="ez7-17-uvz"/>
+                            <constraint firstItem="Fqj-41-s1K" firstAttribute="leading" secondItem="8gY-RN-itJ" secondAttribute="trailing" constant="7" id="ftG-Zv-OvD"/>
+                            <constraint firstItem="0e3-fp-uAc" firstAttribute="leading" secondItem="uaL-C5-cxT" secondAttribute="trailing" constant="6" id="lAQ-vu-yML"/>
+                            <constraint firstAttribute="trailing" secondItem="Lid-9a-OQf" secondAttribute="trailing" constant="12" id="lII-s2-S7S"/>
+                            <constraint firstAttribute="trailing" secondItem="iNM-Ch-sTL" secondAttribute="trailing" constant="12" id="mWg-2h-u5l"/>
+                            <constraint firstAttribute="trailing" secondItem="jQ1-Wj-ucc" secondAttribute="trailing" constant="12" id="oFF-ib-myr"/>
+                            <constraint firstItem="jQ1-Wj-ucc" firstAttribute="leading" secondItem="Prt-82-eFb" secondAttribute="leading" constant="12" id="r9l-d0-vkD"/>
+                            <constraint firstAttribute="bottom" secondItem="iNM-Ch-sTL" secondAttribute="bottom" constant="16" id="rjh-ho-7de"/>
+                            <constraint firstItem="Lid-9a-OQf" firstAttribute="centerY" secondItem="Fqj-41-s1K" secondAttribute="centerY" id="skm-qo-kaq"/>
+                            <constraint firstItem="8gY-RN-itJ" firstAttribute="top" secondItem="Prt-82-eFb" secondAttribute="top" constant="11" id="syU-bn-rHQ"/>
+                            <constraint firstItem="jQ1-Wj-ucc" firstAttribute="top" secondItem="8gY-RN-itJ" secondAttribute="bottom" constant="11" id="tIC-Rn-pXK"/>
+                        </constraints>
+                        <userDefinedRuntimeAttributes>
+                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                <real key="value" value="10"/>
+                            </userDefinedRuntimeAttribute>
+                        </userDefinedRuntimeAttributes>
+                    </view>
+                </subviews>
+                <constraints>
+                    <constraint firstItem="Prt-82-eFb" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="BAS-8s-yOh"/>
+                    <constraint firstAttribute="trailing" secondItem="Prt-82-eFb" secondAttribute="trailing" constant="14" id="EYN-Fm-aIr"/>
+                    <constraint firstItem="Prt-82-eFb" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="OXj-OD-pJA"/>
+                    <constraint firstAttribute="bottom" secondItem="Prt-82-eFb" secondAttribute="bottom" constant="12" id="UYo-s1-qpy"/>
+                </constraints>
+            </tableViewCellContentView>
+            <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <connections>
+                <outlet property="chatButton" destination="0e3-fp-uAc" id="Idg-Qe-Kt7"/>
+                <outlet property="courseStatus" destination="Lid-9a-OQf" id="puv-tc-X8L"/>
+                <outlet property="courseTime" destination="Fqj-41-s1K" id="T7J-1b-342"/>
+                <outlet property="opreationButton" destination="iNM-Ch-sTL" id="mmB-ao-flp"/>
+                <outlet property="studentAvatar" destination="fEg-xE-FLb" id="T5R-So-meg"/>
+                <outlet property="studentName" destination="uaL-C5-cxT" id="DOg-ai-2lz"/>
+                <outlet property="studentSubject" destination="iDN-9i-ii9" id="T4B-rg-hTr"/>
+            </connections>
+            <point key="canvasLocation" x="51.145038167938928" y="38.380281690140848"/>
+        </tableViewCell>
+    </objects>
+    <resources>
+        <image name="course_chat" width="19" height="18"/>
+        <image name="course_time" width="16" height="16"/>
+        <image name="student_avatar" width="150" height="150"/>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineActionView.h

@@ -13,7 +13,7 @@ typedef NS_ENUM(NSInteger, MINEVIEWTYPE) {
     MINEVIEWTYPE_MIEN,     // 个人风采
     MINEVIEWTYPE_STARTBOARDCAST, // 开启直播
     MINEVIEWTYPE_ORDER,    // 商品订单
-    MINEVIEWTYPE_ACCOMPANY, // 陪练课设置
+    MINEVIEWTYPE_ACCOMPANY, // 趣纠课设置
     MINEVIEWTYPE_BOARDCASTCOURSE, // 直播课
     MINEVIEWTYPE_VIDEOCOURSE,  // 视频课
     MINEVIEWTYPE_EXTENDPLAN, // 推广计划

+ 3 - 3
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineActionView.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
     <device id="retina6_1" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -20,7 +20,7 @@
                         <constraint firstAttribute="width" constant="40" id="upq-Bx-Sia"/>
                     </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="5Hm-Gs-bFT">
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="趣纠课设置" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5Hm-Gs-bFT">
                     <rect key="frame" x="4" y="52" width="72" height="18"/>
                     <constraints>
                         <constraint firstAttribute="height" constant="18" id="X9D-MS-Pox"/>

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/View/MineTeachToolView.m

@@ -84,7 +84,7 @@
 
 - (NSMutableArray *)titleArray {
     if (!_titleArray) {
-        _titleArray = [NSMutableArray arrayWithArray:@[@"我的直播",@"直播课",@"视频课",@"云酷琴房",@"陪练课设置",@"课后作业",@"课后评价",@"我的课件",@"活动奖品"]];
+        _titleArray = [NSMutableArray arrayWithArray:@[@"我的直播",@"直播课",@"视频课",@"云酷琴房",@"趣纠课设置",@"课后作业",@"课后评价",@"我的课件",@"活动奖品"]];
     }
     return _titleArray;
 }