Bladeren bron

课后评价

Steven 3 jaren geleden
bovenliggende
commit
13a4c976d8
100 gewijzigde bestanden met toevoegingen van 2739 en 260 verwijderingen
  1. 180 36
      KulexiuForTeacher/KulexiuForTeacher.xcodeproj/project.pbxproj
  2. BIN
      KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate
  3. 14 30
      KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Course/sort_down.imageset/sort_down@2x.png
  5. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Course/sort_down.imageset/sort_down@3x.png
  6. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Course/sort_up.imageset/sort_up@2x.png
  7. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Course/sort_up.imageset/sort_up@3x.png
  8. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/video_placeholder.imageset/video_placeholder@2x.png
  9. BIN
      KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/video_placeholder.imageset/video_placeholder@3x.png
  10. 11 8
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.h
  11. 14 16
      KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.m
  12. 7 2
      KulexiuForTeacher/KulexiuForTeacher/Common/Tools/Custom/KeyChainTools.m
  13. 6 2
      KulexiuForTeacher/KulexiuForTeacher/KulexiuForTeacher.entitlements
  14. 2 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Chat/Group/Controller/GroupApplyViewController.m
  15. 1 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Chat/Group/Controller/GroupMemberViewController.m
  16. 1 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Chat/GroupNotice/Controller/GroupNoticeViewController.m
  17. 1 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/Controller/AccompanyDetailViewController.m
  18. 2 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyArrangeCell.h
  19. 2 3
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyArrangeCell.xib
  20. 18 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyCourseInfoCell.h
  21. 29 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyCourseInfoCell.m
  22. 160 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyCourseInfoCell.xib
  23. 2 3
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyEvaluateCell.xib
  24. 16 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyHomeworkCell.h
  25. 4 4
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyHomeworkCell.m
  26. 42 42
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyHomeworkCell.xib
  27. 2 3
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyRemarkCell.xib
  28. 10 10
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyStudentEvaCell.xib
  29. 0 16
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompnayHomeworkCell.h
  30. 1 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Course/Controller/CourseViewController.m
  31. 8 4
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Controller/HomeViewController.m
  32. 22 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/Controller/EvaluateCourseListViewController.h
  33. 150 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/Controller/EvaluateCourseListViewController.m
  34. 19 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCourseBodyView.h
  35. 320 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCourseBodyView.m
  36. 16 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCouseCell.h
  37. 32 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCouseCell.m
  38. 122 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCouseCell.xib
  39. 34 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateSortView.h
  40. 53 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateSortView.m
  41. 117 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateSortView.xib
  42. 16 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/Controller/HomeworkDetailViewController.h
  43. 104 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/Controller/HomeworkDetailViewController.m
  44. 21 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/Controller/HomeworkListViewController.h
  45. 151 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/Controller/HomeworkListViewController.m
  46. 18 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkBodyView.h
  47. 301 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkBodyView.m
  48. 20 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkListCell.h
  49. 56 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkListCell.m
  50. 166 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkListCell.xib
  51. 27 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkSortView.h
  52. 52 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkSortView.m
  53. 61 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkSortView.xib
  54. 99 9
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/View/MyLessonBodyView.m
  55. 4 4
      KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/View/MyLessonSearchView.xib
  56. 2 2
      KulexiuForTeacher/KulexiuForTeacher/Module/Login/Controller/FirstSettingViewController.m
  57. 2 2
      KulexiuForTeacher/KulexiuForTeacher/Module/Login/Model/UserInfoManager.m
  58. 4 4
      KulexiuForTeacher/KulexiuForTeacher/Module/Login/View/FirstSettingBodyView.xib
  59. 3 3
      KulexiuForTeacher/KulexiuForTeacher/Module/Login/View/LoginBodyView.xib
  60. 1 0
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/CreateStyle/Controller/MyStyleViewController.m
  61. 1 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/CreateStyle/View/MyStyleVideoView.m
  62. 3 2
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/CreateStyle/View/MyStyleVideoView.xib
  63. 4 2
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.h
  64. 72 2
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.m
  65. 5 5
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.xib
  66. 6 1
      KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageCourseView.m
  67. BIN
      KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/AccompanyCourseCell.nib
  68. BIN
      KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/Assets.car
  69. BIN
      KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/FirstSettingBodyView.nib
  70. BIN
      KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/Info.plist
  71. BIN
      KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/KulexiuForTeacher
  72. BIN
      KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/LoginBodyView.nib
  73. BIN
      KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/Whiteboard.bundle/Info.plist
  74. BIN
      KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/Whiteboard.bundle/_CodeSignature/CodeDirectory
  75. BIN
      KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/Whiteboard.bundle/_CodeSignature/CodeRequirements-1
  76. 92 37
      KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/_CodeSignature/CodeResources
  77. BIN
      KulexiuForTeacher/build/Debug-iphonesimulator/Whiteboard/Whiteboard.bundle/Info.plist
  78. BIN
      KulexiuForTeacher/build/Debug-iphonesimulator/Whiteboard/Whiteboard.bundle/_CodeSignature/CodeDirectory
  79. BIN
      KulexiuForTeacher/build/Debug-iphonesimulator/Whiteboard/Whiteboard.bundle/_CodeSignature/CodeRequirements-1
  80. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphoneos/KulexiuForTeacher.build/KulexiuForTeacher-project-headers.hmap
  81. 6 2
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/DerivedSources/Entitlements-Simulated.plist
  82. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/KulexiuForTeacher-project-headers.hmap
  83. 6 2
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/KulexiuForTeacher.app-Simulated.xcent
  84. 2 1
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/AccompanyCourseCell.d
  85. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/AccompanyCourseCell.o
  86. 1 0
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/CourseViewController.d
  87. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/CourseViewController.o
  88. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/FirstSettingViewController.o
  89. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/GroupApplyViewController.o
  90. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/GroupMemberViewController.o
  91. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/GroupNoticeViewController.o
  92. 3 1
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HomeViewController.d
  93. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HomeViewController.dia
  94. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HomeViewController.o
  95. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSNetworkingManager.o
  96. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KeyChainTools.o
  97. 11 1
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KulexiuForTeacher.LinkFileList
  98. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KulexiuForTeacher_dependency_info.dat
  99. 1 0
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/MinePageCourseView.d
  100. BIN
      KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/MinePageCourseView.o

+ 180 - 36
KulexiuForTeacher/KulexiuForTeacher.xcodeproj/project.pbxproj

@@ -436,6 +436,17 @@
 		27FC2F6627F1BBFE00FCC239 /* MyMusicViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 27FC2F6527F1BBFE00FCC239 /* MyMusicViewController.m */; };
 		27FC2F6D27F1BE4800FCC239 /* VideoCourseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 27FC2F6C27F1BE4800FCC239 /* VideoCourseViewController.m */; };
 		BC0167A627FC06D600AE66A1 /* MyCourseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC0167A527FC06D600AE66A1 /* MyCourseViewController.m */; };
+		BC28582F2809451B0024697C /* EvaluateCouseCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BC28582D2809451B0024697C /* EvaluateCouseCell.m */; };
+		BC2858302809451B0024697C /* EvaluateCouseCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC28582E2809451B0024697C /* EvaluateCouseCell.xib */; };
+		BC285833280947BA0024697C /* EvaluateSortView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC285832280947BA0024697C /* EvaluateSortView.m */; };
+		BC41103828066C2F00800BD9 /* HomeworkListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC41103728066C2F00800BD9 /* HomeworkListViewController.m */; };
+		BC41103B28066D2E00800BD9 /* HomeworkBodyView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC41103A28066D2E00800BD9 /* HomeworkBodyView.m */; };
+		BC41104228066E5500800BD9 /* EvaluateCourseListViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC41104128066E5500800BD9 /* EvaluateCourseListViewController.m */; };
+		BC41104528066EF200800BD9 /* EvaluateCourseBodyView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC41104428066EF200800BD9 /* EvaluateCourseBodyView.m */; };
+		BC4110492806706800800BD9 /* HomeworkListCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BC4110472806706800800BD9 /* HomeworkListCell.m */; };
+		BC41104A2806706800800BD9 /* HomeworkListCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC4110482806706800800BD9 /* HomeworkListCell.xib */; };
+		BC41104D280678E600800BD9 /* HomeworkSortView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC41104C280678E600800BD9 /* HomeworkSortView.m */; };
+		BC41104F280678ED00800BD9 /* HomeworkSortView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC41104E280678ED00800BD9 /* HomeworkSortView.xib */; };
 		BC5EB5A92803D85300B4A3B0 /* AccompanyAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC5EB5A82803D85300B4A3B0 /* AccompanyAlertView.m */; };
 		BC5EB5AB2803D86500B4A3B0 /* AccompanyAlertView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC5EB5AA2803D86500B4A3B0 /* AccompanyAlertView.xib */; };
 		BC5EB5B22804027500B4A3B0 /* MyStyleViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BC5EB5B12804027500B4A3B0 /* MyStyleViewController.m */; };
@@ -448,6 +459,12 @@
 		BC5EB5C42804087000B4A3B0 /* MyStyleBottomView.m in Sources */ = {isa = PBXBuildFile; fileRef = BC5EB5C32804087000B4A3B0 /* MyStyleBottomView.m */; };
 		BC5EB5C62804087700B4A3B0 /* MyStyleBottomView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC5EB5C52804087700B4A3B0 /* MyStyleBottomView.xib */; };
 		BC6C303A27F586A60044BC0F /* KSRCMessageModel.m in Sources */ = {isa = PBXBuildFile; fileRef = BC6C303927F586A60044BC0F /* KSRCMessageModel.m */; };
+		BC73A1F42809693F00FA8F6F /* EvaluateSortView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BC73A1F32809693F00FA8F6F /* EvaluateSortView.xib */; };
+		BCA723FB2806A96000DA0D0D /* HomeworkDetailViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA723FA2806A96000DA0D0D /* HomeworkDetailViewController.m */; };
+		BCA723FF2806AEA000DA0D0D /* AccompanyHomeworkCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA723FD2806AEA000DA0D0D /* AccompanyHomeworkCell.m */; };
+		BCA724002806AEA000DA0D0D /* AccompanyHomeworkCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCA723FE2806AEA000DA0D0D /* AccompanyHomeworkCell.xib */; };
+		BCA724042806AFF100DA0D0D /* AccompanyCourseInfoCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA724022806AFF100DA0D0D /* AccompanyCourseInfoCell.m */; };
+		BCA724052806AFF100DA0D0D /* AccompanyCourseInfoCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCA724032806AFF100DA0D0D /* AccompanyCourseInfoCell.xib */; };
 		BCA9CE1527FD339400D558C6 /* AuthDisplayView.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA9CE1427FD339400D558C6 /* AuthDisplayView.m */; };
 		BCA9CE1727FD339D00D558C6 /* AuthDisplayView.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCA9CE1627FD339D00D558C6 /* AuthDisplayView.xib */; };
 		BCA9CE1E27FD5F9D00D558C6 /* MyLiveCourseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA9CE1D27FD5F9D00D558C6 /* MyLiveCourseViewController.m */; };
@@ -462,8 +479,6 @@
 		BCA9CE3A27FD93EB00D558C6 /* AccompanyStudentEvaCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCA9CE3827FD93EB00D558C6 /* AccompanyStudentEvaCell.xib */; };
 		BCA9CE4327FD947C00D558C6 /* AccompanyArrangeCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA9CE4127FD947C00D558C6 /* AccompanyArrangeCell.m */; };
 		BCA9CE4427FD947C00D558C6 /* AccompanyArrangeCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCA9CE4227FD947C00D558C6 /* AccompanyArrangeCell.xib */; };
-		BCA9CE4827FD950C00D558C6 /* AccompnayHomeworkCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA9CE4627FD950C00D558C6 /* AccompnayHomeworkCell.m */; };
-		BCA9CE4927FD950C00D558C6 /* AccompnayHomeworkCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCA9CE4727FD950C00D558C6 /* AccompnayHomeworkCell.xib */; };
 		BCA9CE5027FD954800D558C6 /* AccompanyRemarkCell.m in Sources */ = {isa = PBXBuildFile; fileRef = BCA9CE4E27FD954800D558C6 /* AccompanyRemarkCell.m */; };
 		BCA9CE5127FD954800D558C6 /* AccompanyRemarkCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = BCA9CE4F27FD954800D558C6 /* AccompanyRemarkCell.xib */; };
 		BCB399AC27F946A200AFF376 /* CourseNavView.m in Sources */ = {isa = PBXBuildFile; fileRef = BCB399AB27F946A200AFF376 /* CourseNavView.m */; };
@@ -1416,6 +1431,25 @@
 		AC7237F12804B8A0533DF9FE /* Pods-KulexiuForTeacher.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-KulexiuForTeacher.debug.xcconfig"; path = "Target Support Files/Pods-KulexiuForTeacher/Pods-KulexiuForTeacher.debug.xcconfig"; sourceTree = "<group>"; };
 		BC0167A427FC06D600AE66A1 /* MyCourseViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = MyCourseViewController.h; sourceTree = "<group>"; };
 		BC0167A527FC06D600AE66A1 /* MyCourseViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = MyCourseViewController.m; sourceTree = "<group>"; };
+		BC28582C2809451B0024697C /* EvaluateCouseCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EvaluateCouseCell.h; sourceTree = "<group>"; };
+		BC28582D2809451B0024697C /* EvaluateCouseCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EvaluateCouseCell.m; sourceTree = "<group>"; };
+		BC28582E2809451B0024697C /* EvaluateCouseCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = EvaluateCouseCell.xib; sourceTree = "<group>"; };
+		BC285831280947BA0024697C /* EvaluateSortView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EvaluateSortView.h; sourceTree = "<group>"; };
+		BC285832280947BA0024697C /* EvaluateSortView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EvaluateSortView.m; sourceTree = "<group>"; };
+		BC41103628066C2F00800BD9 /* HomeworkListViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeworkListViewController.h; sourceTree = "<group>"; };
+		BC41103728066C2F00800BD9 /* HomeworkListViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeworkListViewController.m; sourceTree = "<group>"; };
+		BC41103928066D2E00800BD9 /* HomeworkBodyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeworkBodyView.h; sourceTree = "<group>"; };
+		BC41103A28066D2E00800BD9 /* HomeworkBodyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeworkBodyView.m; sourceTree = "<group>"; };
+		BC41104028066E5500800BD9 /* EvaluateCourseListViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EvaluateCourseListViewController.h; sourceTree = "<group>"; };
+		BC41104128066E5500800BD9 /* EvaluateCourseListViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EvaluateCourseListViewController.m; sourceTree = "<group>"; };
+		BC41104328066EF200800BD9 /* EvaluateCourseBodyView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = EvaluateCourseBodyView.h; sourceTree = "<group>"; };
+		BC41104428066EF200800BD9 /* EvaluateCourseBodyView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = EvaluateCourseBodyView.m; sourceTree = "<group>"; };
+		BC4110462806706800800BD9 /* HomeworkListCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeworkListCell.h; sourceTree = "<group>"; };
+		BC4110472806706800800BD9 /* HomeworkListCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeworkListCell.m; sourceTree = "<group>"; };
+		BC4110482806706800800BD9 /* HomeworkListCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeworkListCell.xib; sourceTree = "<group>"; };
+		BC41104B280678E600800BD9 /* HomeworkSortView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeworkSortView.h; sourceTree = "<group>"; };
+		BC41104C280678E600800BD9 /* HomeworkSortView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeworkSortView.m; sourceTree = "<group>"; };
+		BC41104E280678ED00800BD9 /* HomeworkSortView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = HomeworkSortView.xib; sourceTree = "<group>"; };
 		BC5EB5A72803D85300B4A3B0 /* AccompanyAlertView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccompanyAlertView.h; sourceTree = "<group>"; };
 		BC5EB5A82803D85300B4A3B0 /* AccompanyAlertView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AccompanyAlertView.m; sourceTree = "<group>"; };
 		BC5EB5AA2803D86500B4A3B0 /* AccompanyAlertView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccompanyAlertView.xib; sourceTree = "<group>"; };
@@ -1435,6 +1469,15 @@
 		BC5EB5C52804087700B4A3B0 /* MyStyleBottomView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MyStyleBottomView.xib; sourceTree = "<group>"; };
 		BC6C303827F586A60044BC0F /* KSRCMessageModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KSRCMessageModel.h; sourceTree = "<group>"; };
 		BC6C303927F586A60044BC0F /* KSRCMessageModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KSRCMessageModel.m; sourceTree = "<group>"; };
+		BC73A1F32809693F00FA8F6F /* EvaluateSortView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = EvaluateSortView.xib; sourceTree = "<group>"; };
+		BCA723F92806A96000DA0D0D /* HomeworkDetailViewController.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = HomeworkDetailViewController.h; sourceTree = "<group>"; };
+		BCA723FA2806A96000DA0D0D /* HomeworkDetailViewController.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = HomeworkDetailViewController.m; sourceTree = "<group>"; };
+		BCA723FC2806AEA000DA0D0D /* AccompanyHomeworkCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccompanyHomeworkCell.h; sourceTree = "<group>"; };
+		BCA723FD2806AEA000DA0D0D /* AccompanyHomeworkCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AccompanyHomeworkCell.m; sourceTree = "<group>"; };
+		BCA723FE2806AEA000DA0D0D /* AccompanyHomeworkCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccompanyHomeworkCell.xib; sourceTree = "<group>"; };
+		BCA724012806AFF100DA0D0D /* AccompanyCourseInfoCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccompanyCourseInfoCell.h; sourceTree = "<group>"; };
+		BCA724022806AFF100DA0D0D /* AccompanyCourseInfoCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AccompanyCourseInfoCell.m; sourceTree = "<group>"; };
+		BCA724032806AFF100DA0D0D /* AccompanyCourseInfoCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccompanyCourseInfoCell.xib; sourceTree = "<group>"; };
 		BCA9CE1327FD339400D558C6 /* AuthDisplayView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AuthDisplayView.h; sourceTree = "<group>"; };
 		BCA9CE1427FD339400D558C6 /* AuthDisplayView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AuthDisplayView.m; sourceTree = "<group>"; };
 		BCA9CE1627FD339D00D558C6 /* AuthDisplayView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AuthDisplayView.xib; sourceTree = "<group>"; };
@@ -1458,9 +1501,6 @@
 		BCA9CE4027FD947C00D558C6 /* AccompanyArrangeCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccompanyArrangeCell.h; sourceTree = "<group>"; };
 		BCA9CE4127FD947C00D558C6 /* AccompanyArrangeCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AccompanyArrangeCell.m; sourceTree = "<group>"; };
 		BCA9CE4227FD947C00D558C6 /* AccompanyArrangeCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccompanyArrangeCell.xib; sourceTree = "<group>"; };
-		BCA9CE4527FD950C00D558C6 /* AccompnayHomeworkCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccompnayHomeworkCell.h; sourceTree = "<group>"; };
-		BCA9CE4627FD950C00D558C6 /* AccompnayHomeworkCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AccompnayHomeworkCell.m; sourceTree = "<group>"; };
-		BCA9CE4727FD950C00D558C6 /* AccompnayHomeworkCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccompnayHomeworkCell.xib; sourceTree = "<group>"; };
 		BCA9CE4D27FD954800D558C6 /* AccompanyRemarkCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = AccompanyRemarkCell.h; sourceTree = "<group>"; };
 		BCA9CE4E27FD954800D558C6 /* AccompanyRemarkCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = AccompanyRemarkCell.m; sourceTree = "<group>"; };
 		BCA9CE4F27FD954800D558C6 /* AccompanyRemarkCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = AccompanyRemarkCell.xib; sourceTree = "<group>"; };
@@ -2894,6 +2934,8 @@
 		277935FA27E32BBF0010E277 /* Home */ = {
 			isa = PBXGroup;
 			children = (
+				BC41103C28066E4100800BD9 /* EvaluateCourse */,
+				BC41103228066C0D00800BD9 /* Homework */,
 				BC0167A027FC06C300AE66A1 /* MyCourse */,
 				27FC2F6027F1BBEB00FCC239 /* Music */,
 				277935FB27E32BBF0010E277 /* Controller */,
@@ -3543,6 +3585,90 @@
 			path = View;
 			sourceTree = "<group>";
 		};
+		BC41103228066C0D00800BD9 /* Homework */ = {
+			isa = PBXGroup;
+			children = (
+				BC41103328066C0D00800BD9 /* Controller */,
+				BC41103428066C0D00800BD9 /* Model */,
+				BC41103528066C0D00800BD9 /* View */,
+			);
+			path = Homework;
+			sourceTree = "<group>";
+		};
+		BC41103328066C0D00800BD9 /* Controller */ = {
+			isa = PBXGroup;
+			children = (
+				BC41103628066C2F00800BD9 /* HomeworkListViewController.h */,
+				BC41103728066C2F00800BD9 /* HomeworkListViewController.m */,
+				BCA723F92806A96000DA0D0D /* HomeworkDetailViewController.h */,
+				BCA723FA2806A96000DA0D0D /* HomeworkDetailViewController.m */,
+			);
+			path = Controller;
+			sourceTree = "<group>";
+		};
+		BC41103428066C0D00800BD9 /* Model */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			path = Model;
+			sourceTree = "<group>";
+		};
+		BC41103528066C0D00800BD9 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				BC41103928066D2E00800BD9 /* HomeworkBodyView.h */,
+				BC41103A28066D2E00800BD9 /* HomeworkBodyView.m */,
+				BC4110462806706800800BD9 /* HomeworkListCell.h */,
+				BC4110472806706800800BD9 /* HomeworkListCell.m */,
+				BC4110482806706800800BD9 /* HomeworkListCell.xib */,
+				BC41104B280678E600800BD9 /* HomeworkSortView.h */,
+				BC41104C280678E600800BD9 /* HomeworkSortView.m */,
+				BC41104E280678ED00800BD9 /* HomeworkSortView.xib */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
+		BC41103C28066E4100800BD9 /* EvaluateCourse */ = {
+			isa = PBXGroup;
+			children = (
+				BC41103D28066E4100800BD9 /* Controller */,
+				BC41103E28066E4100800BD9 /* Model */,
+				BC41103F28066E4100800BD9 /* View */,
+			);
+			path = EvaluateCourse;
+			sourceTree = "<group>";
+		};
+		BC41103D28066E4100800BD9 /* Controller */ = {
+			isa = PBXGroup;
+			children = (
+				BC41104028066E5500800BD9 /* EvaluateCourseListViewController.h */,
+				BC41104128066E5500800BD9 /* EvaluateCourseListViewController.m */,
+			);
+			path = Controller;
+			sourceTree = "<group>";
+		};
+		BC41103E28066E4100800BD9 /* Model */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			path = Model;
+			sourceTree = "<group>";
+		};
+		BC41103F28066E4100800BD9 /* View */ = {
+			isa = PBXGroup;
+			children = (
+				BC41104328066EF200800BD9 /* EvaluateCourseBodyView.h */,
+				BC41104428066EF200800BD9 /* EvaluateCourseBodyView.m */,
+				BC285831280947BA0024697C /* EvaluateSortView.h */,
+				BC285832280947BA0024697C /* EvaluateSortView.m */,
+				BC73A1F32809693F00FA8F6F /* EvaluateSortView.xib */,
+				BC28582C2809451B0024697C /* EvaluateCouseCell.h */,
+				BC28582D2809451B0024697C /* EvaluateCouseCell.m */,
+				BC28582E2809451B0024697C /* EvaluateCouseCell.xib */,
+			);
+			path = View;
+			sourceTree = "<group>";
+		};
 		BC5EB5AC2804016200B4A3B0 /* CreateStyle */ = {
 			isa = PBXGroup;
 			children = (
@@ -3679,6 +3805,9 @@
 				BCA9CE2C27FD8A9200D558C6 /* AccompanyNavView.h */,
 				BCA9CE2D27FD8A9200D558C6 /* AccompanyNavView.m */,
 				BCA9CE2F27FD8A9900D558C6 /* AccompanyNavView.xib */,
+				BCA724012806AFF100DA0D0D /* AccompanyCourseInfoCell.h */,
+				BCA724022806AFF100DA0D0D /* AccompanyCourseInfoCell.m */,
+				BCA724032806AFF100DA0D0D /* AccompanyCourseInfoCell.xib */,
 				BCA9CE3127FD93C700D558C6 /* AccompanyEvaluateCell.h */,
 				BCA9CE3227FD93C700D558C6 /* AccompanyEvaluateCell.m */,
 				BCA9CE3327FD93C700D558C6 /* AccompanyEvaluateCell.xib */,
@@ -3688,9 +3817,9 @@
 				BCA9CE4027FD947C00D558C6 /* AccompanyArrangeCell.h */,
 				BCA9CE4127FD947C00D558C6 /* AccompanyArrangeCell.m */,
 				BCA9CE4227FD947C00D558C6 /* AccompanyArrangeCell.xib */,
-				BCA9CE4527FD950C00D558C6 /* AccompnayHomeworkCell.h */,
-				BCA9CE4627FD950C00D558C6 /* AccompnayHomeworkCell.m */,
-				BCA9CE4727FD950C00D558C6 /* AccompnayHomeworkCell.xib */,
+				BCA723FC2806AEA000DA0D0D /* AccompanyHomeworkCell.h */,
+				BCA723FD2806AEA000DA0D0D /* AccompanyHomeworkCell.m */,
+				BCA723FE2806AEA000DA0D0D /* AccompanyHomeworkCell.xib */,
 				BCA9CE4D27FD954800D558C6 /* AccompanyRemarkCell.h */,
 				BCA9CE4E27FD954800D558C6 /* AccompanyRemarkCell.m */,
 				BCA9CE4F27FD954800D558C6 /* AccompanyRemarkCell.xib */,
@@ -4115,40 +4244,40 @@
 		BCC9F3D327F69BD200647449 /* Message */ = {
 			isa = PBXGroup;
 			children = (
-				BCC9F3D427F69BD200647449 /* RoleChangedMessage.h */,
-				BCC9F3D527F69BD200647449 /* AssistantTransferMessage.h */,
-				BCC9F3D627F69BD200647449 /* InviteUpgradeMessage.h */,
+				BCC9F3E127F69BD200647449 /* AccompanyDownloadCallbackMessage.h */,
+				BCC9F3F327F69BD200647449 /* AccompanyDownloadCallbackMessage.m */,
+				BCC9F3DE27F69BD200647449 /* AccompanyDownloadMessage.h */,
+				BCC9F3E827F69BD200647449 /* AccompanyDownloadMessage.m */,
+				BCC9F3EF27F69BD200647449 /* ApplySpeechMessage.h */,
 				BCC9F3D727F69BD200647449 /* ApplySpeechMessage.m */,
 				BCC9F3D827F69BD200647449 /* ApplySpeechResultMessage.h */,
-				BCC9F3D927F69BD200647449 /* DisplayCommandMessage.m */,
-				BCC9F3DA27F69BD200647449 /* MemberChangeMessage.h */,
-				BCC9F3DB27F69BD200647449 /* SongDownloadMessage.m */,
-				BCC9F3DC27F69BD200647449 /* DeviceMessage.h */,
-				BCC9F3DD27F69BD200647449 /* ControlDeviceNotifyMessage.m */,
-				BCC9F3DE27F69BD200647449 /* AccompanyDownloadMessage.h */,
-				BCC9F3DF27F69BD200647449 /* TicketExpiredMessage.m */,
-				BCC9F3E027F69BD200647449 /* NodePlayMessage.h */,
-				BCC9F3E127F69BD200647449 /* AccompanyDownloadCallbackMessage.h */,
-				BCC9F3E227F69BD200647449 /* TurnPageMessage.h */,
-				BCC9F3E327F69BD200647449 /* WhiteboardMessage.m */,
-				BCC9F3E427F69BD200647449 /* SongDownloadCallbackMessage.m */,
+				BCC9F3EE27F69BD200647449 /* ApplySpeechResultMessage.m */,
+				BCC9F3D527F69BD200647449 /* AssistantTransferMessage.h */,
 				BCC9F3E527F69BD200647449 /* AssistantTransferMessage.m */,
-				BCC9F3E627F69BD200647449 /* RoleChangedMessage.m */,
-				BCC9F3E727F69BD200647449 /* InviteUpgradeMessage.m */,
-				BCC9F3E827F69BD200647449 /* AccompanyDownloadMessage.m */,
 				BCC9F3E927F69BD200647449 /* ControlDeviceNotifyMessage.h */,
+				BCC9F3DD27F69BD200647449 /* ControlDeviceNotifyMessage.m */,
+				BCC9F3DC27F69BD200647449 /* DeviceMessage.h */,
 				BCC9F3EA27F69BD200647449 /* DeviceMessage.m */,
-				BCC9F3EB27F69BD200647449 /* SongDownloadMessage.h */,
-				BCC9F3EC27F69BD200647449 /* MemberChangeMessage.m */,
 				BCC9F3ED27F69BD200647449 /* DisplayCommandMessage.h */,
-				BCC9F3EE27F69BD200647449 /* ApplySpeechResultMessage.m */,
-				BCC9F3EF27F69BD200647449 /* ApplySpeechMessage.h */,
-				BCC9F3F027F69BD200647449 /* SongDownloadCallbackMessage.h */,
-				BCC9F3F127F69BD200647449 /* WhiteboardMessage.h */,
-				BCC9F3F227F69BD200647449 /* TurnPageMessage.m */,
-				BCC9F3F327F69BD200647449 /* AccompanyDownloadCallbackMessage.m */,
+				BCC9F3D927F69BD200647449 /* DisplayCommandMessage.m */,
+				BCC9F3D627F69BD200647449 /* InviteUpgradeMessage.h */,
+				BCC9F3E727F69BD200647449 /* InviteUpgradeMessage.m */,
+				BCC9F3DA27F69BD200647449 /* MemberChangeMessage.h */,
+				BCC9F3EC27F69BD200647449 /* MemberChangeMessage.m */,
+				BCC9F3E027F69BD200647449 /* NodePlayMessage.h */,
 				BCC9F3F427F69BD200647449 /* NodePlayMessage.m */,
+				BCC9F3D427F69BD200647449 /* RoleChangedMessage.h */,
+				BCC9F3E627F69BD200647449 /* RoleChangedMessage.m */,
+				BCC9F3F027F69BD200647449 /* SongDownloadCallbackMessage.h */,
+				BCC9F3E427F69BD200647449 /* SongDownloadCallbackMessage.m */,
+				BCC9F3EB27F69BD200647449 /* SongDownloadMessage.h */,
+				BCC9F3DB27F69BD200647449 /* SongDownloadMessage.m */,
 				BCC9F3F527F69BD200647449 /* TicketExpiredMessage.h */,
+				BCC9F3DF27F69BD200647449 /* TicketExpiredMessage.m */,
+				BCC9F3E227F69BD200647449 /* TurnPageMessage.h */,
+				BCC9F3F227F69BD200647449 /* TurnPageMessage.m */,
+				BCC9F3F127F69BD200647449 /* WhiteboardMessage.h */,
+				BCC9F3E327F69BD200647449 /* WhiteboardMessage.m */,
 			);
 			path = Message;
 			sourceTree = "<group>";
@@ -4312,6 +4441,7 @@
 				277932B427E30FFE0010E277 /* SDQWMaskCustomView.xib in Resources */,
 				BCE6A09127F823BE00C97704 /* LiveCourseCell.xib in Resources */,
 				275B172B27EB269F0081FDEF /* ChatAddressHeaderView.xib in Resources */,
+				BC41104F280678ED00800BD9 /* HomeworkSortView.xib in Resources */,
 				275FA56427F31AEE00EB6240 /* MinePageHeadView.xib in Resources */,
 				275B173127EB27960081FDEF /* GroupCreateView.xib in Resources */,
 				BCC9F43227F69BD200647449 /* class_stop.mp3 in Resources */,
@@ -4358,15 +4488,16 @@
 				BCB399AE27F946AA00AFF376 /* CourseNavView.xib in Resources */,
 				275B170D27EB14AC0081FDEF /* KSChatListSearchView.xib in Resources */,
 				27D83F5927F4225D00062476 /* LivePreviewBodyView.xib in Resources */,
+				BC41104A2806706800800BD9 /* HomeworkListCell.xib in Resources */,
 				2779362E27E33C360010E277 /* LoginBodyView.xib in Resources */,
 				BCB399BD27F9831D00AFF376 /* CourseForLiveCell.xib in Resources */,
 				2723B68927F1643B00E0B90B /* HomeBodyView.xib in Resources */,
-				BCA9CE4927FD950C00D558C6 /* AccompnayHomeworkCell.xib in Resources */,
 				BCE6A0A527F8517900C97704 /* MineVideoCell.xib in Resources */,
 				BCC9F40727F69BD200647449 /* SealClass.strings in Resources */,
 				BC5EB5AB2803D86500B4A3B0 /* AccompanyAlertView.xib in Resources */,
 				BCE6A08C27F823A300C97704 /* AccompanyCourseCell.xib in Resources */,
 				BCE6A08727F81B4D00C97704 /* MinePageSubmitView.xib in Resources */,
+				BC73A1F42809693F00FA8F6F /* EvaluateSortView.xib in Resources */,
 				27A54CF927E9BD8B007309A3 /* FeedbackBodyView.xib in Resources */,
 				BCB6340527F6A2F000ACFDCF /* tock.wav in Resources */,
 				BCC03F9A2805681100461B7C /* MyLessonSearchView.xib in Resources */,
@@ -4382,8 +4513,11 @@
 				BCE6A09627F823DC00C97704 /* MinePageMusicCell.xib in Resources */,
 				277D431F27E999A000107DB7 /* ModifyBodyView.xib in Resources */,
 				27A54CFE27E9BDC5007309A3 /* AboutUsBodyView.xib in Resources */,
+				BCA724052806AFF100DA0D0D /* AccompanyCourseInfoCell.xib in Resources */,
 				2779329827E30FEB0010E277 /* mss_browseLoading@3x.png in Resources */,
 				27BC3B2627F2B76900D81E30 /* MusicMessageCell.xib in Resources */,
+				BC2858302809451B0024697C /* EvaluateCouseCell.xib in Resources */,
+				BCA724002806AEA000DA0D0D /* AccompanyHomeworkCell.xib in Resources */,
 				27F9CB0127EC3D42003E0FE4 /* GroupListViewCell.xib in Resources */,
 				BCA9CE3027FD8A9900D558C6 /* AccompanyNavView.xib in Resources */,
 				BCA9CE3527FD93C700D558C6 /* AccompanyEvaluateCell.xib in Resources */,
@@ -4493,6 +4627,7 @@
 				27BC3B2927F2DB8600D81E30 /* MusicUploadView.m in Sources */,
 				277931F327E30FC20010E277 /* UIView+Hints.m in Sources */,
 				2779321927E30FC30010E277 /* UITextView_Toolbar.m in Sources */,
+				BC285833280947BA0024697C /* EvaluateSortView.m in Sources */,
 				275E3DBF27F45EB90010EC30 /* KSLiveChatroomUserQuit.m in Sources */,
 				27A54CE427E9B144007309A3 /* ModifyNameViewController.m in Sources */,
 				BCC9F40C27F69BD200647449 /* InputBarControl.m in Sources */,
@@ -4507,6 +4642,7 @@
 				2723B69127F1803F00E0B90B /* HomeHeadView.m in Sources */,
 				BCDB0931280583C100D0BDAD /* NSObject+KSDateFormatter.m in Sources */,
 				277931EB27E30FC20010E277 /* NSArray+zh_SafeAccess.m in Sources */,
+				BCA724042806AFF100DA0D0D /* AccompanyCourseInfoCell.m in Sources */,
 				BCB633F527F6A18200ACFDCF /* NewClassRoomViewController.m in Sources */,
 				277932B627E30FFE0010E277 /* UIView+SDExtension.m in Sources */,
 				BCC9F42227F69BD200647449 /* ToolPanelView.m in Sources */,
@@ -4537,6 +4673,8 @@
 				BC5EB5B22804027500B4A3B0 /* MyStyleViewController.m in Sources */,
 				277932F227E310070010E277 /* TZGifPhotoPreviewController.m in Sources */,
 				275B16FD27EB083C0081FDEF /* ChatAddressViewController.m in Sources */,
+				BC41104228066E5500800BD9 /* EvaluateCourseListViewController.m in Sources */,
+				BC41103B28066D2E00800BD9 /* HomeworkBodyView.m in Sources */,
 				275E8A6F27E18F2300DD3F6E /* ViewController.m in Sources */,
 				BCC03F9228054DC300461B7C /* KSVideoHelper.m in Sources */,
 				275B170827EB13D50081FDEF /* KSChatConversationViewController.m in Sources */,
@@ -4700,6 +4838,7 @@
 				2779324227E30FC30010E277 /* KSNetworkAccessibleManager.m in Sources */,
 				BCB633F727F6A18200ACFDCF /* ClassroomTimerManager.m in Sources */,
 				275B172F27EB27860081FDEF /* GroupCreateView.m in Sources */,
+				BC41104D280678E600800BD9 /* HomeworkSortView.m in Sources */,
 				2779361827E32C200010E277 /* ShopMallViewController.m in Sources */,
 				BCB633FE27F6A18200ACFDCF /* ClassTitleView.m in Sources */,
 				2779326927E30FD80010E277 /* FSCalendarCollectionViewLayout.m in Sources */,
@@ -4730,6 +4869,7 @@
 				277931DC27E30FC20010E277 /* MBProgressHUD+KSShow.m in Sources */,
 				2779321227E30FC30010E277 /* YKNodeModel.m in Sources */,
 				27F9CAED27EC17AE003E0FE4 /* ChatAddressBodyView.m in Sources */,
+				BC4110492806706800800BD9 /* HomeworkListCell.m in Sources */,
 				BCA9CE2427FD792600D558C6 /* LiveCourseModel.m in Sources */,
 				2779322E27E30FC30010E277 /* ALCalendarCollectionView.m in Sources */,
 				27BC3B1827F2B0D200D81E30 /* kSJXCollectionView.m in Sources */,
@@ -4779,7 +4919,6 @@
 				277931E027E30FC20010E277 /* UIDevice+zhDeviceType.m in Sources */,
 				2779329227E30FEB0010E277 /* MSSBrowseActionSheet.m in Sources */,
 				27F9CB0027EC3D42003E0FE4 /* GroupListViewCell.m in Sources */,
-				BCA9CE4827FD950C00D558C6 /* AccompnayHomeworkCell.m in Sources */,
 				BC6C303A27F586A60044BC0F /* KSRCMessageModel.m in Sources */,
 				2780C91C27E48A0700A95A4F /* PasswordLoginController.m in Sources */,
 				BCC9F43827F69BD200647449 /* TicketExpiredMessage.m in Sources */,
@@ -4875,7 +5014,9 @@
 				27BC3B3327F2FD2D00D81E30 /* VideoListBodyView.m in Sources */,
 				2779322527E30FC30010E277 /* NSString+MD5.m in Sources */,
 				2779320327E30FC30010E277 /* KSChoosePicker.m in Sources */,
+				BC28582F2809451B0024697C /* EvaluateCouseCell.m in Sources */,
 				BCC9F43027F69BD200647449 /* HTTPResult.m in Sources */,
+				BCA723FF2806AEA000DA0D0D /* AccompanyHomeworkCell.m in Sources */,
 				BCB635BE27F7256B00ACFDCF /* KSICloudManager.m in Sources */,
 				277931E527E30FC20010E277 /* NSMutableAttributedString+CZHExtention.m in Sources */,
 				BCF61BE42804248F0000ACFE /* InstrumentChooseViewController.m in Sources */,
@@ -4903,6 +5044,7 @@
 				2779329127E30FEB0010E277 /* MSSBrowseModel.m in Sources */,
 				277931E227E30FC20010E277 /* UIViewController+zhStatusBarStyle.m in Sources */,
 				275E3DFA27F46B340010EC30 /* KSBeautySettingView.m in Sources */,
+				BC41104528066EF200800BD9 /* EvaluateCourseBodyView.m in Sources */,
 				2779328E27E30FEB0010E277 /* MSSBrowseLoadingImageView.m in Sources */,
 				2779335827E316DD0010E277 /* FastForwardView.m in Sources */,
 				277935DC27E326650010E277 /* RecordCheckManager.m in Sources */,
@@ -4913,6 +5055,7 @@
 				BCC9F43927F69BD200647449 /* WhiteboardMessage.m in Sources */,
 				277931CA27E30FC20010E277 /* KSAudioSessionManager.m in Sources */,
 				27F9030227E864AE00C08A19 /* KSNetworkAlert.m in Sources */,
+				BCA723FB2806A96000DA0D0D /* HomeworkDetailViewController.m in Sources */,
 				275B170B27EB14A00081FDEF /* KSChatListSearchView.m in Sources */,
 				2779326D27E30FD80010E277 /* FSCalendarConstants.m in Sources */,
 				275E3DD427F463580010EC30 /* KSLiveChatroomSeatResponse.m in Sources */,
@@ -4921,6 +5064,7 @@
 				BCC9F42C27F69BD200647449 /* InputTextField.m in Sources */,
 				2779320727E30FC30010E277 /* KSRecordStatusView.m in Sources */,
 				2779329527E30FEB0010E277 /* MSSBrowseBaseViewController.m in Sources */,
+				BC41103828066C2F00800BD9 /* HomeworkListViewController.m in Sources */,
 				BCC9F42327F69BD200647449 /* MainContainerView.m in Sources */,
 				2779335927E316DD0010E277 /* WMPlayer.m in Sources */,
 				2779331127E310960010E277 /* NSObject+ReadDocument.m in Sources */,

BIN
KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/UserInterfaceState.xcuserstate


+ 14 - 30
KulexiuForTeacher/KulexiuForTeacher.xcworkspace/xcuserdata/wangzhi.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -7,22 +7,6 @@
       <BreakpointProxy
          BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "0A16840A-4F82-490C-BD75-A348F1FEB2E0"
-            shouldBeEnabled = "Yes"
-            ignoreCount = "0"
-            continueAfterRunningActions = "No"
-            filePath = "KulexiuForTeacher/Module/Home/Controller/HomeViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "91"
-            endingLineNumber = "91"
-            landmarkName = "-toMessageCenter"
-            landmarkType = "7">
-         </BreakpointContent>
-      </BreakpointProxy>
-      <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
-         <BreakpointContent
             uuid = "4D592ED6-9698-4815-861C-E9010F16CA8B"
             shouldBeEnabled = "No"
             ignoreCount = "0"
@@ -69,31 +53,31 @@
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
+         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
          <BreakpointContent
-            uuid = "EF97B2C4-B2A4-4B2A-AA57-4EAB20556FA4"
+            uuid = "412DE883-A827-4418-91BA-203294F9CA16"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            filePath = "KulexiuForTeacher/Module/Mine/CreateStyle/Controller/InstrumentChooseViewController.m"
-            startingColumnNumber = "9223372036854775807"
-            endingColumnNumber = "9223372036854775807"
-            startingLineNumber = "243"
-            endingLineNumber = "243"
-            landmarkName = "-chooseInstrumentAction"
-            landmarkType = "7">
+            breakpointStackSelectionBehavior = "1"
+            scope = "1"
+            stopOnStyle = "0">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
+         BreakpointExtensionID = "Xcode.Breakpoint.FileBreakpoint">
          <BreakpointContent
-            uuid = "412DE883-A827-4418-91BA-203294F9CA16"
+            uuid = "8C45891D-B89C-4147-B334-676BEF24B6C4"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            breakpointStackSelectionBehavior = "1"
-            scope = "1"
-            stopOnStyle = "0">
+            filePath = "KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCourseBodyView.m"
+            startingColumnNumber = "9223372036854775807"
+            endingColumnNumber = "9223372036854775807"
+            startingLineNumber = "306"
+            endingLineNumber = "306"
+            landmarkName = "-getTimeDisplay:"
+            landmarkType = "7">
          </BreakpointContent>
       </BreakpointProxy>
    </Breakpoints>

BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Course/sort_down.imageset/sort_down@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Course/sort_down.imageset/sort_down@3x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Course/sort_up.imageset/sort_up@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/Home/Course/sort_up.imageset/sort_up@3x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/video_placeholder.imageset/video_placeholder@2x.png


BIN
KulexiuForTeacher/KulexiuForTeacher/Assets.xcassets/video_placeholder.imageset/video_placeholder@3x.png


+ 11 - 8
KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.h

@@ -114,20 +114,19 @@ NS_ASSUME_NONNULL_BEGIN
  */
 + (void)refreshTokenRequest:(NSString *)post success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
-// 接口地址 /api-auth/user/setPassword
+// 接口地址 /api-auth/user/setUsernameAndPassword
 
 /**
  设置密码
  
  @param post post
- @param authCode 验证码
- @param mobile 手机号
+ @param username 用户名
  @param password 密码
  @param token token
  @param success 成功
  @param faliure 失败
  */
-+ (void)setPasswordRequest:(NSString *)post authCode:(NSString *)authCode mobile:(NSString *)mobile password:(NSString *)password token:(NSString *)token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
++ (void)setPasswordRequest:(NSString *)post username:(NSString * _Nullable)username password:(NSString *)password token:(NSString *)token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
 // /api-auth/user/updatePassword
 
@@ -482,21 +481,21 @@ NS_ASSUME_NONNULL_BEGIN
 + (void)LiveCourseGroupRequest:(NSString *)post groupStatus:(NSString *)groupStatus page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
 #pragma mark ----- 课程查询
-// /api-teacher/courseSchedule/myCourse
+// /api-teacher/courseSchedule/queryTeacherPracticeCourse
 /// 我的课程-陪练课
 /// @param post post
-/// @param classDate 月份 yyyy-MM
+/// @param classMonth 月份 yyyy-MM
 /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
 /// @param subjectId 声部id
 /// @param page 页数
 /// @param rows 条数
 /// @param success 成功
 /// @param faliure 失败
-+ (void)accompanyCourseRequest:(NSString *)post classDate:(NSString *)classDate status:(NSString *)status subjectId:(NSString *)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
++ (void)accompanyCourseRequest:(NSString *)post classMonth:(NSString *_Nullable)classMonth status:(NSString *_Nullable)status subjectId:(NSString *_Nullable)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
 
 
 // /api-teacher/courseSchedule/queryTeacherLiveCourse
-/// 我的课程-陪练
+/// 我的课程-直播
 /// @param post post
 /// @param classDate 月份 yyyy-MM
 /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
@@ -506,5 +505,9 @@ NS_ASSUME_NONNULL_BEGIN
 /// @param success 成功
 /// @param faliure 失败
 + (void)queryTeacherLiveCourse:(NSString *)post classDate:(NSString *)classDate status:(NSString *)status subjectId:(NSString *)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure;
+
+// 我的评价
+// /teacher-server/courseReplied/myReplied
+//+ (void)
 @end
 NS_ASSUME_NONNULL_END

+ 14 - 16
KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSNetworkingManager.m

@@ -433,26 +433,24 @@
 }
 
 
-// 接口地址 /api-auth/user/setPassword
+// 接口地址 /api-auth/user/setUsernameAndPassword
 
 /**
  设置密码
  
  @param post post
- @param authCode 验证码
- @param mobile 手机号
+ @param username 用户名
  @param password 密码
  @param token token
  @param success 成功
  @param faliure 失败
  */
-+ (void)setPasswordRequest:(NSString *)post authCode:(NSString *)authCode mobile:(NSString *)mobile password:(NSString *)password token:(NSString *)token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
++ (void)setPasswordRequest:(NSString *)post username:(NSString *)username password:(NSString *)password token:(NSString *)token success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
     [self configRequestMethodFormWithToken:token];
     NSMutableDictionary *parm = [NSMutableDictionary dictionary];
-    [parm setValue:mobile forKey:@"mobile"];
-    [parm setValue:authCode forKey:@"authCode"];
+    [parm setValue:username forKey:@"username"];
     [parm setValue:password forKey:@"password"];
-    NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/setPassword"];
+    NSString *url = [NSString stringWithFormat:@"%@%@",hostURL, @"/api-auth/user/setUsernameAndPassword"];
     [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 
@@ -1009,7 +1007,7 @@
     [parm setValue:@"iOS" forKey:@"os"];
     [parm setValue:@"3" forKey:@"status"];
     [parm setValue:UserDefault(UIDKey) forKey:@"userid"];
-    [self request:post andWithUrl:url and:@[parm] success:success faliure:faliure];
+    [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 
 // 直播课程组查询
@@ -1030,36 +1028,36 @@
     [parm setValue:@(page) forKey:@"page"];
     [parm setValue:@(rows) forKey:@"rows"];
     [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
-    [self request:post andWithUrl:url and:@[parm] success:success faliure:faliure];
+    [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 
 #pragma mark ----- 课程查询
 // /api-teacher/courseSchedule/myCourse
 /// 我的课程-陪练课
 /// @param post post
-/// @param classDate 月份 yyyy-MM
+/// @param classMonth 月份 yyyy-MM
 /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
 /// @param subjectId 声部id
 /// @param page 页数
 /// @param rows 条数
 /// @param success 成功
 /// @param faliure 失败
-+ (void)accompanyCourseRequest:(NSString *)post classDate:(NSString *)classDate status:(NSString *)status subjectId:(NSString *)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
++ (void)accompanyCourseRequest:(NSString *)post classMonth:(NSString *)classMonth status:(NSString *)status subjectId:(NSString *)subjectId page:(NSInteger)page rows:(NSInteger)rows success:(void(^)(NSDictionary *dic))success faliure:(void(^)(NSError *error))faliure {
     [self configRequestMethodJSON];
-    NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/myCourse"];
+    NSString *url = [NSString stringWithFormat:@"%@%@", hostURL, @"/api-teacher/courseSchedule/queryTeacherPracticeCourse"];
     NSMutableDictionary *parm = [NSMutableDictionary dictionary];
-    [parm setValue:classDate forKey:@"classDate"];
+    [parm setValue:classMonth forKey:@"classMonth"];
     [parm setValue:status forKey:@"status"];
     [parm setValue:subjectId forKey:@"subjectId"];
     [parm setValue:@(page) forKey:@"page"];
     [parm setValue:@(rows) forKey:@"rows"];
     [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
-    [self request:post andWithUrl:url and:@[parm] success:success faliure:faliure];
+    [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 
 
 // /api-teacher/courseSchedule/queryTeacherLiveCourse
-/// 我的课程-陪练
+/// 我的课程-直播
 /// @param post post
 /// @param classDate 月份 yyyy-MM
 /// @param status 课程状态(NOT_START:未开始 ING:进行中 COMPLETE:已完成 CANCEL:已取消)
@@ -1078,6 +1076,6 @@
     [parm setValue:@(page) forKey:@"page"];
     [parm setValue:@(rows) forKey:@"rows"];
     [parm setValue:UserDefault(UIDKey) forKey:@"teacherId"];
-    [self request:post andWithUrl:url and:@[parm] success:success faliure:faliure];
+    [self request:post andWithUrl:url and:parm success:success faliure:faliure];
 }
 @end

+ 7 - 2
KulexiuForTeacher/KulexiuForTeacher/Common/Tools/Custom/KeyChainTools.m

@@ -37,8 +37,13 @@ NSString *const KEY_ASSESSGROUP = @"2K89M44X82.Colexiu";
         NSMutableDictionary *uuidDic = [NSMutableDictionary dictionaryWithObject:identifierStr forKey:KEY_UUID];
 
         [self save:KEY_UUID data:uuidDic];
-
-        return identifierStr;
+        if (SUBMIT_UUID) {
+            return identifierStr;
+        }
+        else {
+            return nil;
+        }
+        
 
     }else{
         if (SUBMIT_UUID) {

+ 6 - 2
KulexiuForTeacher/KulexiuForTeacher/KulexiuForTeacher.entitlements

@@ -5,13 +5,17 @@
 	<key>aps-environment</key>
 	<string>development</string>
 	<key>com.apple.developer.icloud-container-identifiers</key>
-	<array/>
+	<array>
+		<string>iCloud.com.example.vlc-iosasdd</string>
+	</array>
 	<key>com.apple.developer.icloud-services</key>
 	<array>
 		<string>CloudDocuments</string>
 	</array>
 	<key>com.apple.developer.ubiquity-container-identifiers</key>
-	<array/>
+	<array>
+		<string>iCloud.com.example.vlc-iosasdd</string>
+	</array>
 	<key>keychain-access-groups</key>
 	<array>
 		<string>$(AppIdentifierPrefix)com.JingMing.Kulexiu</string>

+ 2 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Chat/Group/Controller/GroupApplyViewController.m

@@ -272,6 +272,8 @@
         _tableView.delegate = self;
         _tableView.dataSource = self;
         _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
+        _tableView.showsHorizontalScrollIndicator = NO;
+        _tableView.showsVerticalScrollIndicator = NO;
         [_tableView registerNib:[UINib nibWithNibName:@"GroupApplyMemberCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"GroupApplyMemberCell"];
         [_tableView registerNib:[UINib nibWithNibName:@"GroupApplyChooseCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"GroupApplyChooseCell"];
         [_tableView registerNib:[UINib nibWithNibName:@"GroupApplyChooseAllCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"GroupApplyChooseAllCell"];

+ 1 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Chat/Group/Controller/GroupMemberViewController.m

@@ -186,6 +186,7 @@
         _tableView.rowHeight = 80;
         _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
         _tableView.showsVerticalScrollIndicator = NO;
+        _tableView.showsHorizontalScrollIndicator = NO;
         _tableView.backgroundColor = [UIColor clearColor];
         [_tableView registerNib:[UINib nibWithNibName:@"GroupMemberListCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"GroupMemberListCell"];
         UIView *bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 10)];

+ 1 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Chat/GroupNotice/Controller/GroupNoticeViewController.m

@@ -241,6 +241,7 @@
         _tableView.backgroundColor = HexRGB(0xf5f5f5);
         _tableView.rowHeight = UITableViewAutomaticDimension;
         _tableView.estimatedRowHeight = 270.0f;
+        _tableView.showsHorizontalScrollIndicator = NO;
         _tableView.showsVerticalScrollIndicator = NO;
         [_tableView registerNib:[UINib nibWithNibName:@"GroupNoticeCell" bundle:nil] forCellReuseIdentifier:@"GroupNoticeCell"];
         UIView *bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 10)];

+ 1 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/Controller/AccompanyDetailViewController.m

@@ -62,6 +62,7 @@
         _tableView.dataSource = self;
         _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
         _tableView.showsVerticalScrollIndicator = NO;
+        _tableView.showsHorizontalScrollIndicator = NO;
         _tableView.backgroundColor = [UIColor clearColor];
         _tableView.rowHeight = UITableViewAutomaticDimension;
         _tableView.estimatedRowHeight = 136.0f;

+ 2 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyArrangeCell.h

@@ -11,6 +11,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface AccompanyArrangeCell : UITableViewCell
 
+
+
 @end
 
 NS_ASSUME_NONNULL_END

+ 2 - 3
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyArrangeCell.xib

@@ -100,10 +100,9 @@
                                         <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" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="IGB-Qf-0rk">
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="IGB-Qf-0rk">
                                         <rect key="frame" x="0.0" y="0.0" width="78.5" height="36"/>
-                                        <state key="normal" title="Button"/>
-                                        <buttonConfiguration key="configuration" style="plain"/>
+                                        <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                                     </button>
                                 </subviews>
                                 <color key="backgroundColor" systemColor="systemBackgroundColor"/>

+ 18 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyCourseInfoCell.h

@@ -0,0 +1,18 @@
+//
+//  AccompanyCourseInfoCell.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface AccompanyCourseInfoCell : UITableViewCell
+
+@property (nonatomic, assign) BOOL hideChatButton;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 29 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyCourseInfoCell.m

@@ -0,0 +1,29 @@
+//
+//  AccompanyCourseInfoCell.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "AccompanyCourseInfoCell.h"
+
+@interface AccompanyCourseInfoCell ()
+
+
+
+@end
+
+@implementation AccompanyCourseInfoCell
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    // Initialization code
+}
+
+- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
+    [super setSelected:selected animated:animated];
+
+    // Configure the view for the selected state
+}
+
+@end

+ 160 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyCourseInfoCell.xib

@@ -0,0 +1,160 @@
+<?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">
+    <device id="retina6_1" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <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" id="KGk-i7-Jjw" customClass="AccompanyCourseInfoCell">
+            <rect key="frame" x="0.0" y="0.0" width="367" height="135"/>
+            <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="367" height="135"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Me9-vj-Fhq">
+                        <rect key="frame" x="14" y="0.0" width="339" height="123"/>
+                        <subviews>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="09K-c6-xYX">
+                                <rect key="frame" x="10" y="38" width="319" height="1"/>
+                                <color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="calibratedRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="1" id="h3O-jJ-oio"/>
+                                </constraints>
+                            </view>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="course_time" translatesAutoresizingMaskIntoConstraints="NO" id="Xea-2d-MhT">
+                                <rect key="frame" x="11" y="12" width="16" height="16"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="16" id="QJa-8k-PXn"/>
+                                    <constraint firstAttribute="width" constant="16" id="kpa-Xw-v8k"/>
+                                </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="dYZ-ZA-mKb">
+                                <rect key="frame" x="34" y="11" width="147" height="18"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="18" id="Cjh-qx-oBI"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" pointSize="13"/>
+                                <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                                <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="sy0-Ds-ef0">
+                                <rect key="frame" x="278" y="11.5" width="50" height="17"/>
+                                <constraints>
+                                    <constraint firstAttribute="width" constant="50" id="hjG-kD-dSK"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user_default_avatal" translatesAutoresizingMaskIntoConstraints="NO" id="s7E-Da-TcK">
+                                <rect key="frame" x="11" y="56" width="47" height="47"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="47" id="4Ap-gR-6vk"/>
+                                    <constraint firstAttribute="width" constant="47" id="NoH-2D-u0z"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="5"/>
+                                    </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="mNS-6d-8wr">
+                                <rect key="frame" x="68" y="56" width="49" height="24"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="24" id="CXE-YJ-Psv"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                                <color key="textColor" red="0.1019607843" green="0.1019607843" blue="0.1019607843" alpha="1" colorSpace="calibratedRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2RD-hr-hLB">
+                                <rect key="frame" x="68" y="83" width="44" 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="g0Z-7O-ahT">
+                                        <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.54901960780000003" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" red="1" green="0.94509803920000002" blue="0.87058823529999996" alpha="1" colorSpace="calibratedRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="bottom" secondItem="g0Z-7O-ahT" secondAttribute="bottom" id="D38-fw-jAX"/>
+                                    <constraint firstAttribute="trailing" secondItem="g0Z-7O-ahT" secondAttribute="trailing" constant="5" id="N3Z-Rs-lL1"/>
+                                    <constraint firstItem="g0Z-7O-ahT" firstAttribute="top" secondItem="2RD-hr-hLB" secondAttribute="top" id="df1-Vz-7wk"/>
+                                    <constraint firstAttribute="height" constant="20" id="dx5-We-4wH"/>
+                                    <constraint firstItem="g0Z-7O-ahT" firstAttribute="leading" secondItem="2RD-hr-hLB" secondAttribute="leading" constant="5" id="liU-VW-wo4"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="4"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="dZv-fL-5CE">
+                                <rect key="frame" x="117" y="48" width="40" height="40"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="40" id="DSU-U0-FpE"/>
+                                    <constraint firstAttribute="width" constant="40" id="PGx-kW-17W"/>
+                                </constraints>
+                                <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                                <state key="normal" image="course_chat"/>
+                            </button>
+                        </subviews>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                        <constraints>
+                            <constraint firstItem="2RD-hr-hLB" firstAttribute="bottom" secondItem="s7E-Da-TcK" secondAttribute="bottom" id="4j8-NG-p8a"/>
+                            <constraint firstAttribute="trailing" secondItem="sy0-Ds-ef0" secondAttribute="trailing" constant="11" id="8bf-XE-uBd"/>
+                            <constraint firstItem="dYZ-ZA-mKb" firstAttribute="leading" secondItem="Xea-2d-MhT" secondAttribute="trailing" constant="7" id="AaW-vX-a8p"/>
+                            <constraint firstItem="Xea-2d-MhT" firstAttribute="leading" secondItem="Me9-vj-Fhq" secondAttribute="leading" constant="11" id="CBa-w0-UOa"/>
+                            <constraint firstItem="s7E-Da-TcK" firstAttribute="top" secondItem="09K-c6-xYX" secondAttribute="bottom" constant="17" id="Ft4-re-ZDx"/>
+                            <constraint firstItem="Xea-2d-MhT" firstAttribute="top" secondItem="Me9-vj-Fhq" secondAttribute="top" constant="12" id="Nhv-BT-RCR"/>
+                            <constraint firstItem="09K-c6-xYX" firstAttribute="leading" secondItem="Me9-vj-Fhq" secondAttribute="leading" constant="10" id="Oye-BS-j2I"/>
+                            <constraint firstItem="dYZ-ZA-mKb" firstAttribute="centerY" secondItem="Xea-2d-MhT" secondAttribute="centerY" id="P1s-2G-pny"/>
+                            <constraint firstItem="sy0-Ds-ef0" firstAttribute="centerY" secondItem="dYZ-ZA-mKb" secondAttribute="centerY" id="X9X-7C-53D"/>
+                            <constraint firstItem="dZv-fL-5CE" firstAttribute="leading" secondItem="mNS-6d-8wr" secondAttribute="trailing" id="XgQ-6M-AZe"/>
+                            <constraint firstItem="sy0-Ds-ef0" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="dYZ-ZA-mKb" secondAttribute="trailing" constant="10" id="YVK-XV-hev"/>
+                            <constraint firstAttribute="bottom" secondItem="s7E-Da-TcK" secondAttribute="bottom" constant="20" id="a6x-Et-6cK"/>
+                            <constraint firstItem="s7E-Da-TcK" firstAttribute="leading" secondItem="Me9-vj-Fhq" secondAttribute="leading" constant="11" id="dAu-VP-8Cy"/>
+                            <constraint firstItem="mNS-6d-8wr" firstAttribute="leading" secondItem="s7E-Da-TcK" secondAttribute="trailing" constant="10" id="dm3-Jc-bB0"/>
+                            <constraint firstItem="2RD-hr-hLB" firstAttribute="leading" secondItem="mNS-6d-8wr" secondAttribute="leading" id="iOB-o4-an5"/>
+                            <constraint firstItem="dZv-fL-5CE" firstAttribute="centerY" secondItem="mNS-6d-8wr" secondAttribute="centerY" id="iZq-rI-A9M"/>
+                            <constraint firstAttribute="trailing" secondItem="09K-c6-xYX" secondAttribute="trailing" constant="10" id="p00-p1-Cqn"/>
+                            <constraint firstItem="mNS-6d-8wr" firstAttribute="top" secondItem="s7E-Da-TcK" secondAttribute="top" id="u91-Cd-N1a"/>
+                            <constraint firstItem="09K-c6-xYX" firstAttribute="top" secondItem="Xea-2d-MhT" secondAttribute="bottom" constant="10" id="uTr-wS-3kK"/>
+                        </constraints>
+                        <userDefinedRuntimeAttributes>
+                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                <real key="value" value="10"/>
+                            </userDefinedRuntimeAttribute>
+                        </userDefinedRuntimeAttributes>
+                    </view>
+                </subviews>
+                <constraints>
+                    <constraint firstAttribute="bottom" secondItem="Me9-vj-Fhq" secondAttribute="bottom" constant="12" id="Xsc-EO-bGL"/>
+                    <constraint firstItem="Me9-vj-Fhq" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="YXp-RV-zfk"/>
+                    <constraint firstAttribute="trailing" secondItem="Me9-vj-Fhq" secondAttribute="trailing" constant="14" id="atd-gk-0m1"/>
+                    <constraint firstItem="Me9-vj-Fhq" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="g3f-25-gGV"/>
+                </constraints>
+            </tableViewCellContentView>
+            <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <point key="canvasLocation" x="165.94202898550725" y="108.48214285714285"/>
+        </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"/>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

+ 2 - 3
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyEvaluateCell.xib

@@ -100,10 +100,9 @@
                                         <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" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="XZb-Dl-ngJ">
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="XZb-Dl-ngJ">
                                         <rect key="frame" x="0.0" y="0.0" width="51" height="36"/>
-                                        <state key="normal" title="Button"/>
-                                        <buttonConfiguration key="configuration" style="plain"/>
+                                        <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                                         <connections>
                                             <action selector="clickAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="JJ5-Ur-gI7"/>
                                         </connections>

+ 16 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyHomeworkCell.h

@@ -0,0 +1,16 @@
+//
+//  AccompanyHomeworkCell.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface AccompanyHomeworkCell : UITableViewCell
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 4 - 4
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompnayHomeworkCell.m → KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyHomeworkCell.m

@@ -1,13 +1,13 @@
 //
-//  AccompnayHomeworkCell.m
+//  AccompanyHomeworkCell.m
 //  KulexiuForTeacher
 //
-//  Created by 王智 on 2022/4/6.
+//  Created by 王智 on 2022/4/13.
 //
 
-#import "AccompnayHomeworkCell.h"
+#import "AccompanyHomeworkCell.h"
 
-@implementation AccompnayHomeworkCell
+@implementation AccompanyHomeworkCell
 
 - (void)awakeFromNib {
     [super awakeFromNib];

+ 42 - 42
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompnayHomeworkCell.xib → KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyHomeworkCell.xib

@@ -11,48 +11,48 @@
     <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="186" id="KGk-i7-Jjw" customClass="AccompnayHomeworkCell">
-            <rect key="frame" x="0.0" y="0.0" width="375" height="186"/>
+        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="204" id="KGk-i7-Jjw" customClass="AccompanyHomeworkCell">
+            <rect key="frame" x="0.0" y="0.0" width="364" height="204"/>
             <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="186"/>
+                <rect key="frame" x="0.0" y="0.0" width="364" height="204"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
-                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2to-v3-Xpd">
-                        <rect key="frame" x="14" y="0.0" width="347" height="174"/>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="dtq-Yd-b5t">
+                        <rect key="frame" x="14" y="0.0" width="336" height="192"/>
                         <subviews>
-                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="accell_left" translatesAutoresizingMaskIntoConstraints="NO" id="vWQ-O6-aGR">
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="accell_left" translatesAutoresizingMaskIntoConstraints="NO" id="1fO-1K-g2U">
                                 <rect key="frame" x="11" y="13" width="4" height="14"/>
                             </imageView>
-                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="作业视频" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7Cp-VC-VIu">
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="作业视频" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sJu-iK-25U">
                                 <rect key="frame" x="20" y="10" width="58" height="20"/>
                                 <constraints>
-                                    <constraint firstAttribute="height" constant="20" id="fcI-Or-Yu9"/>
+                                    <constraint firstAttribute="height" constant="20" id="3jD-tp-tJm"/>
                                 </constraints>
                                 <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
                                 <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
                                 <nil key="highlightedColor"/>
                             </label>
-                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="N5Q-ts-kie">
-                                <rect key="frame" x="11" y="38" width="327" height="126"/>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="0zy-PX-mCI">
+                                <rect key="frame" x="11" y="38" width="316" height="144"/>
                                 <subviews>
-                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Reo-NM-tzV">
-                                        <rect key="frame" x="0.0" y="0.0" width="327" height="126"/>
+                                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="O89-iL-xU2">
+                                        <rect key="frame" x="0.0" y="0.0" width="316" height="144"/>
                                         <subviews>
-                                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="homeworkVideo_placeholder" translatesAutoresizingMaskIntoConstraints="NO" id="T2g-EP-HG2">
-                                                <rect key="frame" x="33" y="24" width="79" height="78"/>
+                                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="homeworkVideo_placeholder" translatesAutoresizingMaskIntoConstraints="NO" id="bLX-aR-bAP">
+                                                <rect key="frame" x="33" y="33" width="79" height="78"/>
                                                 <constraints>
-                                                    <constraint firstAttribute="height" constant="78" id="2xV-n6-egq"/>
-                                                    <constraint firstAttribute="width" constant="79" id="Vff-w7-15s"/>
+                                                    <constraint firstAttribute="height" constant="78" id="Hpe-hS-lAP"/>
+                                                    <constraint firstAttribute="width" constant="79" id="aWC-Pr-Ddt"/>
                                                 </constraints>
                                             </imageView>
-                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NGJ-Ci-0Hs">
-                                                <rect key="frame" x="120" y="56" width="157" height="14.5"/>
+                                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xV1-w2-nqO">
+                                                <rect key="frame" x="120" y="64" width="146" height="16"/>
                                                 <attributedString key="attributedText">
                                                     <fragment content="学员尚未上传作业视频">
                                                         <attributes>
                                                             <color key="NSColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
-                                                            <font key="NSFont" size="13" name=".PingFangSC-Regular"/>
+                                                            <font key="NSFont" metaFont="system"/>
                                                             <paragraphStyle key="NSParagraphStyle" alignment="natural" lineBreakMode="wordWrapping" baseWritingDirection="natural" lineSpacing="4" tighteningFactorForTruncation="0.0"/>
                                                         </attributes>
                                                     </fragment>
@@ -62,21 +62,21 @@
                                         </subviews>
                                         <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                         <constraints>
-                                            <constraint firstItem="NGJ-Ci-0Hs" firstAttribute="leading" secondItem="T2g-EP-HG2" secondAttribute="trailing" constant="8" id="8Nq-4n-ALr"/>
-                                            <constraint firstItem="NGJ-Ci-0Hs" firstAttribute="centerY" secondItem="Reo-NM-tzV" secondAttribute="centerY" id="JI4-n7-eVC"/>
-                                            <constraint firstItem="T2g-EP-HG2" firstAttribute="centerY" secondItem="Reo-NM-tzV" secondAttribute="centerY" id="Nv0-8e-qjX"/>
-                                            <constraint firstItem="T2g-EP-HG2" firstAttribute="leading" secondItem="Reo-NM-tzV" secondAttribute="leading" constant="33" id="UX0-3v-6S9"/>
-                                            <constraint firstAttribute="trailing" secondItem="NGJ-Ci-0Hs" secondAttribute="trailing" constant="50" id="mpp-bn-tk0"/>
+                                            <constraint firstAttribute="trailing" secondItem="xV1-w2-nqO" secondAttribute="trailing" constant="50" id="8Iy-eb-oui"/>
+                                            <constraint firstItem="bLX-aR-bAP" firstAttribute="centerY" secondItem="O89-iL-xU2" secondAttribute="centerY" id="hrH-63-pil"/>
+                                            <constraint firstItem="bLX-aR-bAP" firstAttribute="leading" secondItem="O89-iL-xU2" secondAttribute="leading" constant="33" id="o6S-TQ-YzT"/>
+                                            <constraint firstItem="xV1-w2-nqO" firstAttribute="leading" secondItem="bLX-aR-bAP" secondAttribute="trailing" constant="8" id="r6Y-hX-87F"/>
+                                            <constraint firstItem="xV1-w2-nqO" firstAttribute="centerY" secondItem="O89-iL-xU2" secondAttribute="centerY" id="tJl-Zn-ULW"/>
                                         </constraints>
                                     </view>
                                 </subviews>
                                 <color key="backgroundColor" red="0.96862745100000003" green="0.97254901959999995" blue="0.97647058819999999" alpha="1" colorSpace="calibratedRGB"/>
                                 <constraints>
-                                    <constraint firstAttribute="bottom" secondItem="Reo-NM-tzV" secondAttribute="bottom" id="gBc-mA-vQL"/>
-                                    <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="88" id="reN-Dr-Tq4"/>
-                                    <constraint firstAttribute="trailing" secondItem="Reo-NM-tzV" secondAttribute="trailing" id="v4U-rT-Uam"/>
-                                    <constraint firstItem="Reo-NM-tzV" firstAttribute="leading" secondItem="N5Q-ts-kie" secondAttribute="leading" id="vdv-oi-7gb"/>
-                                    <constraint firstItem="Reo-NM-tzV" firstAttribute="top" secondItem="N5Q-ts-kie" secondAttribute="top" id="yTb-fj-HJE"/>
+                                    <constraint firstAttribute="trailing" secondItem="O89-iL-xU2" secondAttribute="trailing" id="HQp-bb-AtX"/>
+                                    <constraint firstItem="O89-iL-xU2" firstAttribute="leading" secondItem="0zy-PX-mCI" secondAttribute="leading" id="S2b-yI-RdW"/>
+                                    <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="88" id="ZyR-89-1K1"/>
+                                    <constraint firstItem="O89-iL-xU2" firstAttribute="top" secondItem="0zy-PX-mCI" secondAttribute="top" id="bRR-gO-HrZ"/>
+                                    <constraint firstAttribute="bottom" secondItem="O89-iL-xU2" secondAttribute="bottom" id="lUa-1z-WaZ"/>
                                 </constraints>
                                 <userDefinedRuntimeAttributes>
                                     <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
@@ -87,14 +87,14 @@
                         </subviews>
                         <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
-                            <constraint firstItem="vWQ-O6-aGR" firstAttribute="leading" secondItem="2to-v3-Xpd" secondAttribute="leading" constant="11" id="8EA-kv-K8p"/>
-                            <constraint firstAttribute="bottom" secondItem="N5Q-ts-kie" secondAttribute="bottom" constant="10" id="HAH-22-4ad"/>
-                            <constraint firstItem="N5Q-ts-kie" firstAttribute="leading" secondItem="2to-v3-Xpd" secondAttribute="leading" constant="11" id="JU3-or-uxi"/>
-                            <constraint firstAttribute="trailing" secondItem="N5Q-ts-kie" secondAttribute="trailing" constant="9" id="Kmi-N5-3pO"/>
-                            <constraint firstItem="vWQ-O6-aGR" firstAttribute="top" secondItem="2to-v3-Xpd" secondAttribute="top" constant="13" id="Z5g-hN-uyf"/>
-                            <constraint firstItem="7Cp-VC-VIu" firstAttribute="centerY" secondItem="vWQ-O6-aGR" secondAttribute="centerY" id="dof-z0-Xhk"/>
-                            <constraint firstItem="7Cp-VC-VIu" firstAttribute="leading" secondItem="vWQ-O6-aGR" secondAttribute="trailing" constant="5" id="eX1-e0-mDA"/>
-                            <constraint firstItem="N5Q-ts-kie" firstAttribute="top" secondItem="7Cp-VC-VIu" secondAttribute="bottom" constant="8" id="qIP-PF-Gjz"/>
+                            <constraint firstAttribute="bottom" secondItem="0zy-PX-mCI" secondAttribute="bottom" constant="10" id="F6N-7x-aaL"/>
+                            <constraint firstItem="sJu-iK-25U" firstAttribute="leading" secondItem="1fO-1K-g2U" secondAttribute="trailing" constant="5" id="eUo-qr-eCq"/>
+                            <constraint firstItem="0zy-PX-mCI" firstAttribute="leading" secondItem="dtq-Yd-b5t" secondAttribute="leading" constant="11" id="hOV-oC-FPR"/>
+                            <constraint firstItem="1fO-1K-g2U" firstAttribute="leading" secondItem="dtq-Yd-b5t" secondAttribute="leading" constant="11" id="hrI-hU-381"/>
+                            <constraint firstItem="1fO-1K-g2U" firstAttribute="top" secondItem="dtq-Yd-b5t" secondAttribute="top" constant="13" id="oA4-Nz-L8o"/>
+                            <constraint firstItem="sJu-iK-25U" firstAttribute="centerY" secondItem="1fO-1K-g2U" secondAttribute="centerY" id="pIn-T0-aBu"/>
+                            <constraint firstItem="0zy-PX-mCI" firstAttribute="top" secondItem="sJu-iK-25U" secondAttribute="bottom" constant="8" id="rcZ-bR-wHe"/>
+                            <constraint firstAttribute="trailing" secondItem="0zy-PX-mCI" secondAttribute="trailing" constant="9" id="wuB-Na-rgf"/>
                         </constraints>
                         <userDefinedRuntimeAttributes>
                             <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
@@ -104,15 +104,15 @@
                     </view>
                 </subviews>
                 <constraints>
-                    <constraint firstAttribute="bottom" secondItem="2to-v3-Xpd" secondAttribute="bottom" constant="12" id="0FT-Ru-UMz"/>
-                    <constraint firstItem="2to-v3-Xpd" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="i4g-28-Ywu"/>
-                    <constraint firstItem="2to-v3-Xpd" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="sUt-Bk-T44"/>
-                    <constraint firstAttribute="trailing" secondItem="2to-v3-Xpd" secondAttribute="trailing" constant="14" id="u5q-yk-0S8"/>
+                    <constraint firstItem="dtq-Yd-b5t" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="5e0-db-H4S"/>
+                    <constraint firstItem="dtq-Yd-b5t" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="hxY-5l-lak"/>
+                    <constraint firstAttribute="bottom" secondItem="dtq-Yd-b5t" secondAttribute="bottom" constant="12" id="kKE-Bs-RqF"/>
+                    <constraint firstAttribute="trailing" secondItem="dtq-Yd-b5t" secondAttribute="trailing" constant="14" id="vAs-g4-MaY"/>
                 </constraints>
             </tableViewCellContentView>
             <viewLayoutGuide key="safeArea" id="aW0-zy-SZf"/>
             <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
-            <point key="canvasLocation" x="131.15942028985509" y="93.080357142857139"/>
+            <point key="canvasLocation" x="163.768115942029" y="128.57142857142856"/>
         </tableViewCell>
     </objects>
     <resources>

+ 2 - 3
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyRemarkCell.xib

@@ -93,10 +93,9 @@
                                         <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" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="WT0-J3-ujJ">
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="WT0-J3-ujJ">
                                         <rect key="frame" x="0.0" y="0.0" width="51" height="36"/>
-                                        <state key="normal" title="Button"/>
-                                        <buttonConfiguration key="configuration" style="plain"/>
+                                        <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                                     </button>
                                 </subviews>
                                 <color key="backgroundColor" systemColor="systemBackgroundColor"/>

+ 10 - 10
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompanyStudentEvaCell.xib

@@ -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="174" id="KGk-i7-Jjw" customClass="AccompanyStudentEvaCell">
-            <rect key="frame" x="0.0" y="0.0" width="375" height="209"/>
+            <rect key="frame" x="0.0" y="0.0" width="375" height="149"/>
             <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="209"/>
+                <rect key="frame" x="0.0" y="0.0" width="375" height="149"/>
                 <autoresizingMask key="autoresizingMask"/>
                 <subviews>
                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Yyc-jU-e8w">
-                        <rect key="frame" x="14" y="0.0" width="347" height="197"/>
+                        <rect key="frame" x="14" y="0.0" width="347" height="137"/>
                         <subviews>
                             <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="accell_left" translatesAutoresizingMaskIntoConstraints="NO" id="ltT-kf-P7C">
                                 <rect key="frame" x="11" y="13" width="4" height="14"/>
@@ -34,20 +34,20 @@
                                 <nil key="highlightedColor"/>
                             </label>
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="CS9-1I-B48">
-                                <rect key="frame" x="11" y="38" width="327" height="149"/>
+                                <rect key="frame" x="11" y="38" width="327" height="89"/>
                                 <subviews>
                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hQW-1x-wjy">
-                                        <rect key="frame" x="0.0" y="0.0" width="327" height="149"/>
+                                        <rect key="frame" x="0.0" y="0.0" width="327" height="89"/>
                                         <subviews>
                                             <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="student_eva_placeholder" translatesAutoresizingMaskIntoConstraints="NO" id="02q-N4-kCG">
-                                                <rect key="frame" x="33" y="35.5" width="79" height="78"/>
+                                                <rect key="frame" x="33" y="5.5" width="79" height="78"/>
                                                 <constraints>
                                                     <constraint firstAttribute="width" constant="79" id="MlY-YJ-AOo"/>
                                                     <constraint firstAttribute="height" constant="78" id="oCq-z1-HJA"/>
                                                 </constraints>
                                             </imageView>
                                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" usesAttributedText="YES" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="wp3-cL-Ihn">
-                                                <rect key="frame" x="120" y="67" width="157" height="15.5"/>
+                                                <rect key="frame" x="120" y="37" width="157" height="15.5"/>
                                                 <attributedString key="attributedText">
                                                     <fragment content="学员尚未对您进行评价">
                                                         <attributes>
@@ -66,6 +66,7 @@
                                             <constraint firstItem="wp3-cL-Ihn" firstAttribute="leading" secondItem="02q-N4-kCG" secondAttribute="trailing" constant="8" id="Dgs-Qc-Mif"/>
                                             <constraint firstItem="wp3-cL-Ihn" firstAttribute="centerY" secondItem="hQW-1x-wjy" secondAttribute="centerY" id="JKg-4q-J7B"/>
                                             <constraint firstItem="02q-N4-kCG" firstAttribute="leading" secondItem="hQW-1x-wjy" secondAttribute="leading" constant="33" id="ber-ic-edm"/>
+                                            <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="88" id="dsX-S1-b1e"/>
                                             <constraint firstAttribute="trailing" secondItem="wp3-cL-Ihn" secondAttribute="trailing" constant="50" id="fTl-x6-xY9"/>
                                         </constraints>
                                     </view>
@@ -100,10 +101,9 @@
                                         <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" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eYV-h9-uyL">
+                                    <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="eYV-h9-uyL">
                                         <rect key="frame" x="0.0" y="0.0" width="51" height="36"/>
-                                        <state key="normal" title="Button"/>
-                                        <buttonConfiguration key="configuration" style="plain"/>
+                                        <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                                     </button>
                                 </subviews>
                                 <color key="backgroundColor" systemColor="systemBackgroundColor"/>

+ 0 - 16
KulexiuForTeacher/KulexiuForTeacher/Module/Course/AccompanyCourse/View/AccompnayHomeworkCell.h

@@ -1,16 +0,0 @@
-//
-//  AccompnayHomeworkCell.h
-//  KulexiuForTeacher
-//
-//  Created by 王智 on 2022/4/6.
-//
-
-#import <UIKit/UIKit.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface AccompnayHomeworkCell : UITableViewCell
-
-@end
-
-NS_ASSUME_NONNULL_END

+ 1 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Course/Controller/CourseViewController.m

@@ -349,6 +349,7 @@
         _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
         _tableView.backgroundColor = [UIColor clearColor];
         _tableView.showsVerticalScrollIndicator = NO;
+        _tableView.showsHorizontalScrollIndicator = NO;
         _tableView.rowHeight = UITableViewAutomaticDimension;
         _tableView.estimatedRowHeight = 130;
         [_tableView registerNib:[UINib nibWithNibName:@"AccompanyCourseCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyCourseCell"];

+ 8 - 4
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Controller/HomeViewController.m

@@ -12,6 +12,8 @@
 #import "KSBaseWKWebViewController.h"
 #import "MyMusicViewController.h"
 #import "MyCourseViewController.h"
+#import "HomeworkListViewController.h"
+#import "EvaluateCourseListViewController.h"
 
 @interface HomeViewController ()
 
@@ -87,8 +89,8 @@
 }
 
 - (void)toMessageCenter {
-//    NSString *url = @"alipays://platformapi/startapp?saId=10000007&qrcode=https://qr.alipay.com/bax07359bpqggi2qc3ih0052";
-//    [[UIApplication sharedApplication] openURL:[NSURL URLWithString: url]];
+    NSString *url = @"alipays://platformapi/startapp?saId=10000007&qrcode=https://qr.alipay.com/bax08845x232iacmrtdc251b";
+    [[UIApplication sharedApplication] openURL:[NSURL URLWithString: url]];
 }
 
 - (HomeHeadView *)headView {
@@ -129,12 +131,14 @@
             break;
         case HOMEBODYACTION_HOMEWORK: // 课后作业
         {
-            
+            HomeworkListViewController *ctrl = [[HomeworkListViewController alloc] init];
+            [self.navigationController pushViewController:ctrl animated:YES];
         }
             break;
         case HOMEBODYACTION_EVALUATE:  // 待评价列表
         {
-            
+            EvaluateCourseListViewController *ctrl = [[EvaluateCourseListViewController alloc] init];
+            [self.navigationController pushViewController:ctrl animated:YES];
         }
             break;
         case HOMEBODYACTION_MUSIC: // 我的曲谱

+ 22 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/Controller/EvaluateCourseListViewController.h

@@ -0,0 +1,22 @@
+//
+//  EvaluateCourseListViewController.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "KSBaseViewController.h"
+#import "JXCategoryView.h"
+#import "JXPagerView.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface EvaluateCourseListViewController : KSBaseViewController
+
+@property (nonatomic, strong) JXPagerView *pagerView;
+@property (nonatomic, strong, readonly) JXCategoryTitleView *categoryView;
+@property (nonatomic, strong) NSArray <NSString *> *titles;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 150 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/Controller/EvaluateCourseListViewController.m

@@ -0,0 +1,150 @@
+//
+//  EvaluateCourseListViewController.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "EvaluateCourseListViewController.h"
+#import "JXCategoryView.h"
+#import "JXPagerListRefreshView.h"
+#import "EvaluateCourseBodyView.h"
+
+@interface EvaluateCourseListViewController ()<JXPagerViewDelegate, JXPagerMainTableViewGestureDelegate,JXCategoryViewDelegate>
+
+@property (nonatomic, assign) NSInteger selectedIndex;
+
+@property (nonatomic, strong) NSMutableArray *listViewArray;
+
+@property (nonatomic, assign) CGFloat headHeight;
+
+@end
+
+@implementation EvaluateCourseListViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view.
+    [self allocTitle:@"陪练课评价"];
+    self.titles = @[@"未评价",@"已评价"];
+    [self setupUI];
+}
+
+- (void)setupUI {
+    self.headHeight = 64.0f;
+    [self.scrollView removeFromSuperview];
+    self.view.backgroundColor = HexRGB(0xf6f8f9);
+    
+    _categoryView = [[JXCategoryTitleView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, self.headHeight)];
+    self.categoryView.titles = self.titles;
+    self.categoryView.delegate = self;
+    self.categoryView.titleFont = [UIFont systemFontOfSize:17.0f];
+    self.categoryView.titleSelectedFont = [UIFont systemFontOfSize:17.0f weight:UIFontWeightMedium];
+    self.categoryView.titleSelectedColor = HexRGB(0x333333);
+    self.categoryView.titleColor = HexRGB(0x666666);
+    self.categoryView.titleColorGradientEnabled = YES;
+    
+    JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init];
+    lineView.indicatorColor = THEMECOLOR;
+    lineView.indicatorWidth = 16;
+    self.categoryView.indicators = @[lineView];
+    
+    _pagerView = [self preferredPagingView];
+    self.pagerView.frame = CGRectMake(0, 0, kScreenWidth, kScreenHeight - kNaviBarHeight - iPhoneXSafeBottomMargin);
+    self.pagerView.backgroundColor = [UIColor clearColor];
+    self.pagerView.mainTableView.backgroundColor = [UIColor clearColor];
+    self.pagerView.listContainerView.backgroundColor = [UIColor clearColor];
+    self.pagerView.mainTableView.gestureDelegate = self;
+    self.categoryView.listContainer = (id<JXCategoryViewListContainer>)self.pagerView.listContainerView;
+    self.pagerView.listContainerView.listCellBackgroundColor = [UIColor clearColor];
+    [self.view addSubview:self.pagerView];
+}
+
+- (void)viewWillAppear:(BOOL)animated {
+    [super viewWillAppear:animated];
+    self.navigationController.interactivePopGestureRecognizer.enabled = YES;
+    if (self.listViewArray.count > self.categoryView.selectedIndex) {
+        id value = self.listViewArray[self.categoryView.selectedIndex];
+        if ([value isKindOfClass:[EvaluateCourseBodyView class]]) {
+            EvaluateCourseBodyView *listView = (EvaluateCourseBodyView *)value;
+            [listView beginFirstRefresh];
+        }
+    }
+}
+
+- (void)viewDidAppear:(BOOL)animated {
+    [super viewDidAppear:animated];
+    self.navigationController.interactivePopGestureRecognizer.enabled = (self.categoryView.selectedIndex == 0);
+}
+
+- (JXPagerView *)preferredPagingView {
+    return [[JXPagerListRefreshView alloc] initWithDelegate:self];
+}
+
+#pragma mark - JXPagerViewDelegate
+
+- (UIView *)tableHeaderViewInPagerView:(JXPagerView *)pagerView {
+    return [UIView new];
+}
+
+- (NSUInteger)tableHeaderViewHeightInPagerView:(JXPagerView *)pagerView {
+    return CGFLOAT_MIN;
+}
+
+- (NSUInteger)heightForPinSectionHeaderInPagerView:(JXPagerView *)pagerView {
+    return self.headHeight;
+}
+
+- (UIView *)viewForPinSectionHeaderInPagerView:(JXPagerView *)pagerView {
+    return self.categoryView;
+}
+
+- (NSInteger)numberOfListsInPagerView:(JXPagerView *)pagerView {
+    //和categoryView的item数量一致
+    return self.titles.count;
+}
+
+- (id<JXPagerViewListViewDelegate>)pagerView:(JXPagerView *)pagerView initListAtIndex:(NSInteger)index {
+    EvaluateCourseBodyView *listView = [[EvaluateCourseBodyView alloc] init];
+    listView.naviController = self.navigationController;
+    [self.listViewArray replaceObjectAtIndex:index withObject:listView];
+    self.listViewArray[index] = listView;
+    listView.selectIndex = index;
+    [listView beginFirstRefresh];
+    return listView;
+}
+
+#pragma mark - JXCategoryViewDelegate
+- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
+    self.navigationController.interactivePopGestureRecognizer.enabled = (index == 0);
+}
+
+
+#pragma mark - JXPagerMainTableViewGestureDelegate
+
+- (BOOL)mainTableViewGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
+    //禁止categoryView左右滑动的时候,上下和左右都可以滚动
+    if (otherGestureRecognizer == self.categoryView.collectionView.panGestureRecognizer) {
+        return NO;
+    }
+    return [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]];
+}
+
+
+- (NSMutableArray *)listViewArray {
+    if (!_listViewArray) {
+        _listViewArray = [NSMutableArray arrayWithArray:@[@"",@""]];
+    }
+    return _listViewArray;
+}
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+    // Get the new view controller using [segue destinationViewController].
+    // Pass the selected object to the new view controller.
+}
+*/
+
+@end

+ 19 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCourseBodyView.h

@@ -0,0 +1,19 @@
+//
+//  EvaluateCourseBodyView.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "KSJXBodyView.h"
+#import "StateView.h"
+#import "Reachability.h"
+
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface EvaluateCourseBodyView : KSJXBodyView
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 320 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCourseBodyView.m

@@ -0,0 +1,320 @@
+//
+//  EvaluateCourseBodyView.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "EvaluateCourseBodyView.h"
+#import "EvaluateSortView.h"
+#import "EvaluateCouseCell.h"
+#import "KSFullDatePicker.h"
+
+@interface EvaluateCourseBodyView ()<UITableViewDelegate,UITableViewDataSource>
+
+@property (nonatomic, strong) NSDateFormatter *dateFormatter;
+
+@property (nonatomic, strong) NSMutableArray *dataArray;
+
+@property (nonatomic, strong) StateView *promptView;
+@property (nonatomic, strong) UIView *promptPlaceView;
+
+@property (nonatomic, assign) BOOL networkAvaiable; // 网络是否可用
+
+@property (nonatomic, assign) BOOL isLoadMore;
+@property (nonatomic, assign) NSInteger rows;
+@property (nonatomic, assign) NSInteger pages;
+
+@property (nonatomic, strong) EvaluateSortView *sortView;
+
+@property (nonatomic, strong) NSString *chooseDate;
+
+@property (nonatomic, strong) NSString *searchKey;
+
+@end
+
+@implementation EvaluateCourseBodyView
+
+- (instancetype)initWithFrame:(CGRect)frame {
+    self = [super initWithFrame:frame];
+    if (self) {
+        self.backgroundColor = HexRGB(0xf6f8f9);
+        self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height) style:UITableViewStylePlain];
+        self.tableView.backgroundColor = HexRGB(0xf6f8f9);
+        self.tableView.showsVerticalScrollIndicator = NO;
+        self.tableView.showsHorizontalScrollIndicator = NO;
+        self.tableView.dataSource = self;
+        self.tableView.delegate = self;
+        self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
+        self.tableView.rowHeight = 86;
+        [self addSubview:self.tableView];
+        
+        
+        UIView *headView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 10)];
+        headView.backgroundColor = HexRGB(0xf6f8f9);
+        self.tableView.tableHeaderView = headView;
+        
+        UIView *bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 10)];
+        bottomView.backgroundColor = HexRGB(0xf6f8f9);
+        self.tableView.tableFooterView = bottomView;
+        
+        [self.tableView registerNib:[UINib nibWithNibName:@"EvaluateCouseCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"EvaluateCouseCell"];
+
+        [self.dateFormatter setDateFormat:@"yyyy-MM"];
+        NSDate *currentDate = [NSDate date];
+        self.chooseDate = [self.dateFormatter stringFromDate:currentDate];
+        
+        MJWeakSelf;
+        self.tableView.mj_header = [KSGifRefreshHeader headerWithRefreshingBlock:^{
+            [weakSelf resetParamenter];
+            [weakSelf requestData];
+        }];
+        self.tableView.mj_footer = [KSGifRefreshFooter footerWithRefreshingBlock:^{
+            if (weakSelf.isLoadMore) {
+                weakSelf.pages += 1;
+                [weakSelf requestData];
+            }
+            else {
+                [weakSelf.tableView.mj_footer endRefreshingWithNoMoreData];
+            }
+        }];
+    }
+    return self;
+}
+
+
+- (void)endRefresh {
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        [self.tableView.mj_header endRefreshing];
+        [self.tableView.mj_footer endRefreshing];
+    });
+}
+
+- (void)refreshAndRequestData {
+    [self resetParamenter];
+    [self requestData];
+    
+}
+
+- (void)resetParamenter {
+    self.isLoadMore = YES;
+    self.pages = 1;
+    self.rows = 10;
+    self.dataArray = [NSMutableArray array];
+    [self.tableView.mj_footer resetNoMoreData];
+    [self setPromptString:@"暂无内容" imageName:@"wd_img_zwsj" inView:self.tableView];
+    [self.tableView reloadData];
+}
+- (void)requestData {
+    [self endRefresh];
+}
+
+- (void)beginRefreshImmediately {
+    [self.tableView.mj_header beginRefreshing];
+}
+
+- (void)selectCellAtIndexPath:(NSIndexPath *)indexPath {
+    
+    if (self.lastSelectedIndexPath == indexPath) {
+        return;
+    }
+    if (self.lastSelectedIndexPath != nil) {
+        UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:self.lastSelectedIndexPath];
+        [cell setSelected:NO animated:NO];
+    }
+    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
+    [cell setSelected:YES animated:NO];
+    self.lastSelectedIndexPath = indexPath;
+}
+
+- (void)layoutSubviews {
+    [super layoutSubviews];
+    CGFloat topHeight = 50.0f;
+    self.tableView.frame = CGRectMake(0, topHeight, self.bounds.size.width, self.bounds.size.height - topHeight);
+    if (!_sortView) {
+        self.sortView.frame = CGRectMake(0, 0, kScreenWidth, topHeight);
+        [self addSubview:self.sortView];
+        [self.dateFormatter setDateFormat:@"yyyy年MM月"];
+        NSDate *currentDate = [NSDate date];
+        self.sortView.sortTitleLabel.text = [NSString returnNoNullStringWithString:[self.dateFormatter stringFromDate:currentDate]];
+    }
+}
+
+- (void)beginFirstRefresh {
+    if (!self.isHeaderRefreshed) {
+        [self beginRefreshImmediately];
+    }
+}
+
+
+#pragma mark ----- table data source
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
+//    return self.dataArray.count;
+    return 10;
+}
+
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
+    EvaluateCouseCell *cell = [tableView dequeueReusableCellWithIdentifier:@"EvaluateCouseCell"];
+    return cell;
+}
+
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
+    // 跳转到评价详情
+    
+    
+}
+
+/**
+ 设置没有数据时的显示
+ 
+ @param promptString 提示语
+ @param imgName 图片名称
+ @param view 显示在什么地方
+ */
+- (void)setPromptString:(NSString *)promptString imageName:(NSString *)imgName inView:(UIView *)view {
+    if (self.promptView != nil) {
+        [self.promptView removeFromSuperview];
+    }
+    else {
+        self.promptView = [[StateView alloc]init];
+        self.promptView.frame = CGRectMake(0, 0, kScreenWidth, kScreenHeight - 300);
+    }
+    _promptPlaceView = view;
+    //当请求不到数据时 ,自定义提示view 将会出现;
+    self.promptView.imageName = imgName;
+    self.promptView.alpha = 0.0f;
+    [self.promptView setText:promptString];
+    [view addSubview:self.promptView];
+}
+
+// 结束刷新后调用方法
+- (void)changePromptLabelStateWithArray:(NSMutableArray *)array {
+    NSInteger count;
+    if (array.count) {
+        count = array.count;
+    } else {
+        count = 0;
+    }
+    
+    [UIView animateWithDuration:0.1 animations:^{
+        [[self promptView] setAlpha:count ? 0.0f :1.0f ] ;
+        
+    }] ;
+    
+}
+
+- (BOOL)networkAvaiable {
+    return [self checkNetworkAvaiable];
+}
+
+- (BOOL)checkNetworkAvaiable {
+    BOOL isExistenceNetwork = YES;
+    Reachability *reach = [Reachability reachabilityWithHostName:@"www.apple.com"];
+    switch ([reach currentReachabilityStatus]) {
+        case NotReachable:
+            isExistenceNetwork = NO;
+            //NSLog(@"notReachable");
+            break;
+        case ReachableViaWiFi:
+            isExistenceNetwork = YES;
+            //NSLog(@"WIFI");
+            break;
+        case ReachableViaWWAN:
+            isExistenceNetwork = YES;
+            //NSLog(@"3G");
+            break;
+    }
+    return isExistenceNetwork;
+}
+
+
+#pragma mark ---- lazying
+- (NSDateFormatter *)dateFormatter {
+    if (!_dateFormatter) {
+        _dateFormatter = [NSObject getDateformatter];
+    }
+    return _dateFormatter;
+}
+- (NSMutableArray *)dataArray {
+    if (!_dataArray) {
+        _dataArray = [NSMutableArray array];
+    }
+    return _dataArray;
+}
+
+- (EvaluateSortView *)sortView {
+    if (!_sortView) {
+        _sortView = [EvaluateSortView shareInstance];
+        MJWeakSelf;
+        [_sortView searchCallback:^(EVALUATESORT sortType, NSString * _Nullable searchKey) {
+            [weakSelf searchSource:sortType searchKey:searchKey];
+        }];
+    }
+    return _sortView;
+}
+
+- (void)searchSource:(EVALUATESORT)sortType searchKey:(NSString *)searchKey {
+    switch (sortType) {
+        case EVALUATESORT_TIME:
+        {
+            KSFullDatePicker *picker = [[KSFullDatePicker alloc] initWithTitle:@"" date:[NSDate date] pickMode:KSDATEPICKER_MODE_YEAR_MONTH selectDateBlock:^(NSString *date) {
+
+                self.chooseDate = date;
+                NSString *displayTime = [self getTimeDisplay:date];
+                [self.sortView.sortTitleLabel setText:displayTime];
+                [self resetPickerStatus];
+                // 请求数据
+                [self refreshAndRequestData];
+            } cancleBlock:^{
+                [self resetPickerStatus];
+            }];
+            [picker show];
+        }
+            break;
+        case EVALUATESORT_NAME:
+        {
+            self.searchKey = searchKey;
+            [self refreshAndRequestData];
+            
+        }
+            break;
+        default:
+            break;
+    }
+}
+
+- (void)timeChooseAction {
+    KSFullDatePicker *picker = [[KSFullDatePicker alloc] initWithTitle:@"" date:[NSDate date] pickMode:KSDATEPICKER_MODE_YEAR_MONTH selectDateBlock:^(NSString *date) {
+
+        self.chooseDate = date;
+        NSString *displayTime = [self getTimeDisplay:date];
+        [self.sortView.sortTitleLabel setText:displayTime];
+        [self resetPickerStatus];
+        // 请求数据
+        [self refreshAndRequestData];
+    } cancleBlock:^{
+        [self resetPickerStatus];
+    }];
+    [picker show];
+}
+
+- (void)resetPickerStatus {
+    self.sortView.arrowUp = NO;
+}
+
+- (NSString *)getTimeDisplay:(NSString *)chooseMonth {
+    [self.dateFormatter setDateFormat:@"yyyy-MM"];
+    NSDate *chooseDate = [self.dateFormatter dateFromString:chooseMonth];
+    [self.dateFormatter setDateFormat:@"yyyy年MM月"];
+    NSString *displayTime = [self.dateFormatter stringFromDate:chooseDate];
+    return displayTime;
+}
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect {
+    // Drawing code
+}
+*/
+
+@end

+ 16 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCouseCell.h

@@ -0,0 +1,16 @@
+//
+//  EvaluateCouseCell.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/15.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface EvaluateCouseCell : UITableViewCell
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 32 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCouseCell.m

@@ -0,0 +1,32 @@
+//
+//  EvaluateCouseCell.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/15.
+//
+
+#import "EvaluateCouseCell.h"
+
+@interface EvaluateCouseCell ()
+@property (weak, nonatomic) IBOutlet UIImageView *studentAvatar;
+@property (weak, nonatomic) IBOutlet UILabel *studentName;
+@property (weak, nonatomic) IBOutlet UILabel *courseTime;
+@property (weak, nonatomic) IBOutlet UILabel *subjectName;
+
+@end
+
+@implementation EvaluateCouseCell
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    // Initialization code
+    self.selectionStyle = UITableViewCellSelectionStyleNone;
+}
+
+- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
+    [super setSelected:selected animated:animated];
+
+    // Configure the view for the selected state
+}
+
+@end

+ 122 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateCouseCell.xib

@@ -0,0 +1,122 @@
+<?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">
+    <device id="retina6_1" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <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="109" id="KGk-i7-Jjw" customClass="EvaluateCouseCell">
+            <rect key="frame" x="0.0" y="0.0" width="343" height="109"/>
+            <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="343" height="109"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="wVc-IL-Wig">
+                        <rect key="frame" x="14" y="0.0" width="315" height="99"/>
+                        <subviews>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user_default_avatal" translatesAutoresizingMaskIntoConstraints="NO" id="2PJ-6j-pKa">
+                                <rect key="frame" x="12" y="25.5" width="48" height="48"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="48" id="aiq-PN-NrJ"/>
+                                    <constraint firstAttribute="width" constant="48" id="h3w-FG-eRR"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="24"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </imageView>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" horizontalCompressionResistancePriority="749" text="张三" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4Sy-o2-aBz">
+                                <rect key="frame" x="70" y="26.5" width="31" height="28"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="28" id="SEY-aB-Psm"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" pointSize="15"/>
+                                <color key="textColor" red="0.10196078431372549" green="0.10196078431372549" blue="0.10196078431372549" alpha="1" colorSpace="custom" customColorSpace="calibratedRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2022-3-20 14:00~14:25" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="c8k-fQ-Xg3">
+                                <rect key="frame" x="70" y="54.5" width="148" height="18"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="18" id="7KA-Lp-Kgv"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" pointSize="13"/>
+                                <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <view contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="fbd-eQ-3mJ">
+                                <rect key="frame" x="106" y="32.5" width="32.5" height="16"/>
+                                <subviews>
+                                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="长笛" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vy9-Mn-Xf6">
+                                        <rect key="frame" x="5" y="0.0" width="22.5" height="16"/>
+                                        <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"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" red="1" green="0.94509803920000002" blue="0.87058823529999996" alpha="1" colorSpace="calibratedRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="trailing" secondItem="vy9-Mn-Xf6" secondAttribute="trailing" constant="5" id="L69-sV-rPa"/>
+                                    <constraint firstItem="vy9-Mn-Xf6" firstAttribute="leading" secondItem="fbd-eQ-3mJ" secondAttribute="leading" constant="5" id="Oce-Kh-pQd"/>
+                                    <constraint firstItem="vy9-Mn-Xf6" firstAttribute="top" secondItem="fbd-eQ-3mJ" secondAttribute="top" id="VXF-EB-AWd"/>
+                                    <constraint firstAttribute="height" constant="16" id="gdT-uX-XOU"/>
+                                    <constraint firstAttribute="bottom" secondItem="vy9-Mn-Xf6" secondAttribute="bottom" id="hhp-eX-GKv"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="4"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                        </subviews>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                        <constraints>
+                            <constraint firstItem="4Sy-o2-aBz" firstAttribute="leading" secondItem="2PJ-6j-pKa" secondAttribute="trailing" constant="10" id="6ZN-Li-mgm"/>
+                            <constraint firstItem="c8k-fQ-Xg3" firstAttribute="leading" secondItem="4Sy-o2-aBz" secondAttribute="leading" id="GlU-ts-xyc"/>
+                            <constraint firstItem="2PJ-6j-pKa" firstAttribute="leading" secondItem="wVc-IL-Wig" secondAttribute="leading" constant="12" id="R3E-dU-uNp"/>
+                            <constraint firstItem="fbd-eQ-3mJ" firstAttribute="centerY" secondItem="4Sy-o2-aBz" secondAttribute="centerY" id="eC5-CE-dvk"/>
+                            <constraint firstItem="c8k-fQ-Xg3" firstAttribute="top" secondItem="4Sy-o2-aBz" secondAttribute="bottom" id="gLd-m3-5tU"/>
+                            <constraint firstItem="4Sy-o2-aBz" firstAttribute="top" secondItem="2PJ-6j-pKa" secondAttribute="top" constant="1" id="gcZ-Ti-bmX"/>
+                            <constraint firstItem="2PJ-6j-pKa" firstAttribute="centerY" secondItem="wVc-IL-Wig" secondAttribute="centerY" id="z8k-j6-iKM"/>
+                            <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="fbd-eQ-3mJ" secondAttribute="trailing" constant="12" id="zP0-Bc-Se7"/>
+                            <constraint firstItem="fbd-eQ-3mJ" firstAttribute="leading" secondItem="4Sy-o2-aBz" secondAttribute="trailing" constant="5" id="zUM-ne-KyW"/>
+                        </constraints>
+                        <userDefinedRuntimeAttributes>
+                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                <real key="value" value="10"/>
+                            </userDefinedRuntimeAttribute>
+                        </userDefinedRuntimeAttributes>
+                    </view>
+                </subviews>
+                <constraints>
+                    <constraint firstAttribute="trailing" secondItem="wVc-IL-Wig" secondAttribute="trailing" constant="14" id="6F7-0f-oax"/>
+                    <constraint firstAttribute="bottom" secondItem="wVc-IL-Wig" secondAttribute="bottom" constant="10" id="TNf-8a-LtP"/>
+                    <constraint firstItem="wVc-IL-Wig" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="WUg-tZ-CvC"/>
+                    <constraint firstItem="wVc-IL-Wig" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="pMN-V5-DGD"/>
+                </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="courseTime" destination="c8k-fQ-Xg3" id="wob-hy-UqN"/>
+                <outlet property="studentAvatar" destination="2PJ-6j-pKa" id="Jhr-Hi-Okj"/>
+                <outlet property="studentName" destination="4Sy-o2-aBz" id="5TY-mR-XGw"/>
+                <outlet property="subjectName" destination="vy9-Mn-Xf6" id="eFt-OJ-LeR"/>
+            </connections>
+            <point key="canvasLocation" x="148.55072463768118" y="79.352678571428569"/>
+        </tableViewCell>
+    </objects>
+    <resources>
+        <image name="user_default_avatal" width="52" height="52"/>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

+ 34 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateSortView.h

@@ -0,0 +1,34 @@
+//
+//  EvaluateSortView.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/15.
+//
+
+#import <UIKit/UIKit.h>
+
+typedef NS_ENUM(NSInteger, EVALUATESORT) {
+    EVALUATESORT_TIME, //  搜索月份
+    EVALUATESORT_NAME, // 搜索学员姓名
+};
+
+typedef void(^EvaluateSortCallback)(EVALUATESORT sortType, NSString * _Nullable searchKey);
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface EvaluateSortView : UIView
+
+@property (weak, nonatomic) IBOutlet UILabel *sortTitleLabel;
+
+@property (weak, nonatomic) IBOutlet UITextField *searchField;
+
+
+@property (nonatomic, assign) BOOL arrowUp;
+
++ (instancetype)shareInstance;
+
+- (void)searchCallback:(EvaluateSortCallback)callback;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 53 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateSortView.m

@@ -0,0 +1,53 @@
+//
+//  EvaluateSortView.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/15.
+//
+
+#import "EvaluateSortView.h"
+
+@interface EvaluateSortView ()
+
+@property (weak, nonatomic) IBOutlet UIImageView *arrowImage;
+
+@property (nonatomic, copy) EvaluateSortCallback callack;
+
+@end
+
+
+@implementation EvaluateSortView
+
++ (instancetype)shareInstance {
+    EvaluateSortView *view = [[[NSBundle mainBundle] loadNibNamed:@"EvaluateSortView" owner:nil options:nil] firstObject];
+    return view;
+}
+
+- (void)searchCallback:(EvaluateSortCallback)callback {
+    if (callback) {
+        self.callack = callback;
+    }
+}
+
+- (IBAction)searchTime:(id)sender {
+    [self endEditing:YES];
+    if (self.callack) {
+        self.callack(EVALUATESORT_TIME, nil);
+    }
+}
+- (IBAction)searchName:(id)sender {
+    [self endEditing:YES];
+    if (self.callack) {
+        self.callack(EVALUATESORT_NAME, self.searchField.text);
+    }
+}
+
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect {
+    // Drawing code
+}
+*/
+
+@end

+ 117 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/View/EvaluateSortView.xib

@@ -0,0 +1,117 @@
+<?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">
+    <device id="retina6_1" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="EvaluateSortView">
+            <rect key="frame" x="0.0" y="0.0" width="414" height="61"/>
+            <autoresizingMask key="autoresizingMask"/>
+            <subviews>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2021年9月" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="M5I-2d-z3B">
+                    <rect key="frame" x="14" y="20.5" width="69" height="20"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="20" id="u70-8J-U9I"/>
+                    </constraints>
+                    <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                    <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                    <nil key="highlightedColor"/>
+                </label>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="sort_down" translatesAutoresizingMaskIntoConstraints="NO" id="YUB-ts-V2i">
+                    <rect key="frame" x="86" y="27.5" width="8" height="6"/>
+                </imageView>
+                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="AsV-45-xOq">
+                    <rect key="frame" x="14" y="13.5" width="80" height="34"/>
+                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                    <connections>
+                        <action selector="searchTime:" destination="iN0-l3-epB" eventType="touchUpInside" id="qID-hI-voO"/>
+                    </connections>
+                </button>
+                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BEq-Bt-1Ls">
+                    <rect key="frame" x="108" y="12.5" width="292" height="36"/>
+                    <subviews>
+                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="search_green" translatesAutoresizingMaskIntoConstraints="NO" id="P0w-lm-3AD">
+                            <rect key="frame" x="11" y="10" width="15" height="16"/>
+                            <constraints>
+                                <constraint firstAttribute="width" constant="15" id="ISG-3Z-SwA"/>
+                                <constraint firstAttribute="height" constant="16" id="XGT-6I-fGg"/>
+                            </constraints>
+                        </imageView>
+                        <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入学员姓名" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="zoB-k9-KD9">
+                            <rect key="frame" x="35" y="0.0" width="192" height="36"/>
+                            <fontDescription key="fontDescription" type="system" pointSize="13"/>
+                            <textInputTraits key="textInputTraits"/>
+                        </textField>
+                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bOe-Lg-d7s">
+                            <rect key="frame" x="232" y="4" width="56" 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="50Q-Et-0Tm"/>
+                                <constraint firstAttribute="width" constant="56" id="ioN-VE-htF"/>
+                            </constraints>
+                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                            <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>
+                            </userDefinedRuntimeAttributes>
+                            <connections>
+                                <action selector="searchName:" destination="iN0-l3-epB" eventType="touchUpInside" id="aIF-ww-mkW"/>
+                            </connections>
+                        </button>
+                    </subviews>
+                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+                    <constraints>
+                        <constraint firstItem="zoB-k9-KD9" firstAttribute="top" secondItem="BEq-Bt-1Ls" secondAttribute="top" id="0jT-tu-Kvm"/>
+                        <constraint firstItem="bOe-Lg-d7s" firstAttribute="centerY" secondItem="BEq-Bt-1Ls" secondAttribute="centerY" id="4fT-bY-3A6"/>
+                        <constraint firstAttribute="height" constant="36" id="P4Z-p1-cef"/>
+                        <constraint firstItem="P0w-lm-3AD" firstAttribute="centerY" secondItem="BEq-Bt-1Ls" secondAttribute="centerY" id="S5J-da-UfT"/>
+                        <constraint firstAttribute="trailing" secondItem="bOe-Lg-d7s" secondAttribute="trailing" constant="4" id="To6-Ad-ECo"/>
+                        <constraint firstItem="zoB-k9-KD9" firstAttribute="leading" secondItem="P0w-lm-3AD" secondAttribute="trailing" constant="9" id="bHG-PO-MnF"/>
+                        <constraint firstItem="bOe-Lg-d7s" firstAttribute="leading" secondItem="zoB-k9-KD9" secondAttribute="trailing" constant="5" id="mDq-nP-d8f"/>
+                        <constraint firstItem="P0w-lm-3AD" firstAttribute="leading" secondItem="BEq-Bt-1Ls" secondAttribute="leading" constant="11" id="wzc-31-rJt"/>
+                        <constraint firstAttribute="bottom" secondItem="zoB-k9-KD9" secondAttribute="bottom" id="xha-oe-Bnl"/>
+                    </constraints>
+                    <userDefinedRuntimeAttributes>
+                        <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                            <real key="value" value="18"/>
+                        </userDefinedRuntimeAttribute>
+                    </userDefinedRuntimeAttributes>
+                </view>
+            </subviews>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <constraints>
+                <constraint firstItem="YUB-ts-V2i" firstAttribute="centerY" secondItem="M5I-2d-z3B" secondAttribute="centerY" id="F0A-na-Ye3"/>
+                <constraint firstItem="M5I-2d-z3B" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="14" id="Nz7-Mo-tXg"/>
+                <constraint firstItem="BEq-Bt-1Ls" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="PpU-d4-ip4"/>
+                <constraint firstAttribute="trailing" secondItem="BEq-Bt-1Ls" secondAttribute="trailing" constant="14" id="Vsa-T8-3FS"/>
+                <constraint firstItem="M5I-2d-z3B" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="Xln-Cr-iSF"/>
+                <constraint firstItem="YUB-ts-V2i" firstAttribute="trailing" secondItem="AsV-45-xOq" secondAttribute="trailing" id="e3c-OI-gI2"/>
+                <constraint firstItem="BEq-Bt-1Ls" firstAttribute="leading" secondItem="YUB-ts-V2i" secondAttribute="trailing" constant="14" id="fss-ae-MLg"/>
+                <constraint firstItem="M5I-2d-z3B" firstAttribute="leading" secondItem="AsV-45-xOq" secondAttribute="leading" id="khy-8M-4pv"/>
+                <constraint firstItem="YUB-ts-V2i" firstAttribute="leading" secondItem="M5I-2d-z3B" secondAttribute="trailing" constant="3" id="sPd-hx-OO0"/>
+                <constraint firstItem="YUB-ts-V2i" firstAttribute="centerY" secondItem="AsV-45-xOq" secondAttribute="centerY" id="sZi-oM-MY2"/>
+            </constraints>
+            <nil key="simulatedTopBarMetrics"/>
+            <nil key="simulatedBottomBarMetrics"/>
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+            <connections>
+                <outlet property="arrowImage" destination="YUB-ts-V2i" id="g4O-R2-X4x"/>
+                <outlet property="searchField" destination="zoB-k9-KD9" id="S9K-ba-s64"/>
+                <outlet property="sortTitleLabel" destination="M5I-2d-z3B" id="78R-ox-CWI"/>
+            </connections>
+            <point key="canvasLocation" x="137.68115942028987" y="-187.83482142857142"/>
+        </view>
+    </objects>
+    <resources>
+        <image name="search_green" width="15" height="16"/>
+        <image name="sort_down" width="8" height="6"/>
+    </resources>
+</document>

+ 16 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/Controller/HomeworkDetailViewController.h

@@ -0,0 +1,16 @@
+//
+//  HomeworkDetailViewController.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "KSBaseViewController.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface HomeworkDetailViewController : KSBaseViewController
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 104 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/Controller/HomeworkDetailViewController.m

@@ -0,0 +1,104 @@
+//
+//  HomeworkDetailViewController.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "HomeworkDetailViewController.h"
+#import "AccompanyCourseInfoCell.h"
+#import "AccompanyArrangeCell.h"
+#import "AccompanyHomeworkCell.h"
+#import "AccompanyEvaluateCell.h"
+
+@interface HomeworkDetailViewController ()<UITableViewDelegate, UITableViewDataSource>
+
+@property (nonatomic, strong) UITableView *tableView;
+
+@property (nonatomic, assign) NSInteger cellCount;
+
+@end
+
+@implementation HomeworkDetailViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view.
+    [self allocTitle:@"布置作业"];
+    [self setupUI];
+    [self requestCourseMessage];
+}
+
+- (void)setupUI {
+    [self.scrollView removeFromSuperview];
+    self.cellCount = 4;
+    self.view.backgroundColor = HexRGB(0xf6f8f9);
+    [self.view addSubview:self.tableView];
+    [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.right.top.mas_equalTo(self.view);
+        make.bottom.mas_equalTo(self.view.mas_bottom).offset(-iPhoneXSafeBottomMargin);
+    }];
+}
+
+- (void)requestCourseMessage {
+    [self.tableView reloadData];
+}
+
+
+#pragma mark ----- table data source
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
+    return self.cellCount;
+}
+
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
+    if (indexPath.row == 0) { // 课程信息
+        AccompanyCourseInfoCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AccompanyCourseInfoCell"];
+        return cell;
+    }
+    else if (indexPath.row == 1) { // 布置作业
+        AccompanyArrangeCell *cell  = [tableView dequeueReusableCellWithIdentifier:@"AccompanyArrangeCell"];
+        return cell;
+    }
+    else if (indexPath.row == 2) { // 作业视频
+        AccompanyHomeworkCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AccompanyHomeworkCell"];
+        return cell;
+    }
+    else { // 老师点评
+        AccompanyEvaluateCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AccompanyEvaluateCell"];
+        return cell;
+    }
+}
+
+
+
+#pragma mark --- lazying
+- (UITableView *)tableView {
+    if (!_tableView) {
+        _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStylePlain];
+        _tableView.backgroundColor = [UIColor clearColor];
+        _tableView.delegate = self;
+        _tableView.dataSource = self;
+        _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
+        _tableView.showsHorizontalScrollIndicator = NO;
+        _tableView.showsVerticalScrollIndicator = NO;
+        _tableView.rowHeight = UITableViewAutomaticDimension;
+        _tableView.estimatedRowHeight = 136.0f;
+        [_tableView registerNib:[UINib nibWithNibName:@"AccompanyCourseInfoCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyCourseInfoCell"];
+        [_tableView registerNib:[UINib nibWithNibName:@"AccompanyArrangeCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyArrangeCell"];
+        [_tableView registerNib:[UINib nibWithNibName:@"AccompanyHomeworkCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyHomeworkCell"];
+        [_tableView registerNib:[UINib nibWithNibName:@"AccompanyEvaluateCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyEvaluateCell"];
+    }
+    return _tableView;
+}
+
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+    // Get the new view controller using [segue destinationViewController].
+    // Pass the selected object to the new view controller.
+}
+*/
+
+@end

+ 21 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/Controller/HomeworkListViewController.h

@@ -0,0 +1,21 @@
+//
+//  HomeworkListViewController.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "KSBaseViewController.h"
+#import "JXCategoryView.h"
+#import "JXPagerView.h"
+NS_ASSUME_NONNULL_BEGIN
+
+@interface HomeworkListViewController : KSBaseViewController
+
+@property (nonatomic, strong) JXPagerView *pagerView;
+@property (nonatomic, strong, readonly) JXCategoryTitleView *categoryView;
+@property (nonatomic, strong) NSArray <NSString *> *titles;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 151 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/Controller/HomeworkListViewController.m

@@ -0,0 +1,151 @@
+//
+//  HomeworkListViewController.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "HomeworkListViewController.h"
+#import "JXCategoryView.h"
+#import "JXPagerListRefreshView.h"
+#import "HomeworkBodyView.h"
+
+
+@interface HomeworkListViewController ()<JXPagerViewDelegate, JXPagerMainTableViewGestureDelegate,JXCategoryViewDelegate>
+
+@property (nonatomic, assign) NSInteger selectedIndex;
+
+@property (nonatomic, strong) NSMutableArray *listViewArray;
+
+@property (nonatomic, assign) CGFloat headHeight;
+
+@end
+
+@implementation HomeworkListViewController
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view.
+    [self allocTitle:@"课后作业"];
+    self.titles = @[@"未布置",@"已布置"];
+    [self setupUI];
+}
+
+- (void)setupUI {
+    self.headHeight = 64.0f;
+    [self.scrollView removeFromSuperview];
+    self.view.backgroundColor = HexRGB(0xf6f8f9);
+    
+    _categoryView = [[JXCategoryTitleView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, self.headHeight)];
+    self.categoryView.titles = self.titles;
+    self.categoryView.delegate = self;
+    self.categoryView.titleFont = [UIFont systemFontOfSize:17.0f];
+    self.categoryView.titleSelectedFont = [UIFont systemFontOfSize:17.0f weight:UIFontWeightMedium];
+    self.categoryView.titleSelectedColor = HexRGB(0x333333);
+    self.categoryView.titleColor = HexRGB(0x666666);
+    self.categoryView.titleColorGradientEnabled = YES;
+    
+    JXCategoryIndicatorLineView *lineView = [[JXCategoryIndicatorLineView alloc] init];
+    lineView.indicatorColor = THEMECOLOR;
+    lineView.indicatorWidth = 16;
+    self.categoryView.indicators = @[lineView];
+    
+    _pagerView = [self preferredPagingView];
+    self.pagerView.frame = CGRectMake(0, 0, kScreenWidth, kScreenHeight - kNaviBarHeight - iPhoneXSafeBottomMargin);
+    self.pagerView.backgroundColor = [UIColor clearColor];
+    self.pagerView.mainTableView.backgroundColor = [UIColor clearColor];
+    self.pagerView.listContainerView.backgroundColor = [UIColor clearColor];
+    self.pagerView.mainTableView.gestureDelegate = self;
+    self.categoryView.listContainer = (id<JXCategoryViewListContainer>)self.pagerView.listContainerView;
+    self.pagerView.listContainerView.listCellBackgroundColor = [UIColor clearColor];
+    [self.view addSubview:self.pagerView];
+}
+
+- (void)viewWillAppear:(BOOL)animated {
+    [super viewWillAppear:animated];
+    self.navigationController.interactivePopGestureRecognizer.enabled = YES;
+    if (self.listViewArray.count > self.categoryView.selectedIndex) {
+        id value = self.listViewArray[self.categoryView.selectedIndex];
+        if ([value isKindOfClass:[HomeworkBodyView class]]) {
+            HomeworkBodyView *listView = (HomeworkBodyView *)value;
+            [listView beginFirstRefresh];
+        }
+    }
+}
+
+- (void)viewDidAppear:(BOOL)animated {
+    [super viewDidAppear:animated];
+    self.navigationController.interactivePopGestureRecognizer.enabled = (self.categoryView.selectedIndex == 0);
+}
+
+- (JXPagerView *)preferredPagingView {
+    return [[JXPagerListRefreshView alloc] initWithDelegate:self];
+}
+
+#pragma mark - JXPagerViewDelegate
+
+- (UIView *)tableHeaderViewInPagerView:(JXPagerView *)pagerView {
+    return [UIView new];
+}
+
+- (NSUInteger)tableHeaderViewHeightInPagerView:(JXPagerView *)pagerView {
+    return CGFLOAT_MIN;
+}
+
+- (NSUInteger)heightForPinSectionHeaderInPagerView:(JXPagerView *)pagerView {
+    return self.headHeight;
+}
+
+- (UIView *)viewForPinSectionHeaderInPagerView:(JXPagerView *)pagerView {
+    return self.categoryView;
+}
+
+- (NSInteger)numberOfListsInPagerView:(JXPagerView *)pagerView {
+    //和categoryView的item数量一致
+    return self.titles.count;
+}
+
+- (id<JXPagerViewListViewDelegate>)pagerView:(JXPagerView *)pagerView initListAtIndex:(NSInteger)index {
+    HomeworkBodyView *listView = [[HomeworkBodyView alloc] init];
+    listView.naviController = self.navigationController;
+    [self.listViewArray replaceObjectAtIndex:index withObject:listView];
+    self.listViewArray[index] = listView;
+    listView.selectIndex = index;
+    [listView beginFirstRefresh];
+    return listView;
+}
+
+#pragma mark - JXCategoryViewDelegate
+- (void)categoryView:(JXCategoryBaseView *)categoryView didSelectedItemAtIndex:(NSInteger)index {
+    self.navigationController.interactivePopGestureRecognizer.enabled = (index == 0);
+}
+
+
+#pragma mark - JXPagerMainTableViewGestureDelegate
+
+- (BOOL)mainTableViewGestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldRecognizeSimultaneouslyWithGestureRecognizer:(UIGestureRecognizer *)otherGestureRecognizer {
+    //禁止categoryView左右滑动的时候,上下和左右都可以滚动
+    if (otherGestureRecognizer == self.categoryView.collectionView.panGestureRecognizer) {
+        return NO;
+    }
+    return [gestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]] && [otherGestureRecognizer isKindOfClass:[UIPanGestureRecognizer class]];
+}
+
+
+- (NSMutableArray *)listViewArray {
+    if (!_listViewArray) {
+        _listViewArray = [NSMutableArray arrayWithArray:@[@"",@""]];
+    }
+    return _listViewArray;
+}
+/*
+#pragma mark - Navigation
+
+// In a storyboard-based application, you will often want to do a little preparation before navigation
+- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
+    // Get the new view controller using [segue destinationViewController].
+    // Pass the selected object to the new view controller.
+}
+*/
+
+@end

+ 18 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkBodyView.h

@@ -0,0 +1,18 @@
+//
+//  HomeworkBodyView.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "KSJXBodyView.h"
+#import "StateView.h"
+#import "Reachability.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface HomeworkBodyView : KSJXBodyView
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 301 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkBodyView.m

@@ -0,0 +1,301 @@
+//
+//  HomeworkBodyView.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "HomeworkBodyView.h"
+#import "HomeworkListCell.h"
+#import "KSChatConversationViewController.h"
+#import "HomeworkSortView.h"
+#import "KSFullDatePicker.h"
+#import "HomeworkDetailViewController.h"
+
+@interface HomeworkBodyView ()<UITableViewDelegate,UITableViewDataSource>
+
+@property (nonatomic, strong) NSDateFormatter *dateFormatter;
+
+@property (nonatomic, strong) NSMutableArray *dataArray;
+
+@property (nonatomic, strong) StateView *promptView;
+@property (nonatomic, strong) UIView *promptPlaceView;
+
+@property (nonatomic, assign) BOOL networkAvaiable; // 网络是否可用
+
+@property (nonatomic, assign) BOOL isLoadMore;
+@property (nonatomic, assign) NSInteger rows;
+@property (nonatomic, assign) NSInteger pages;
+
+@property (nonatomic, strong) HomeworkSortView *sortView;
+
+@property (nonatomic, strong) NSString *chooseDate;
+
+@end
+
+@implementation HomeworkBodyView
+
+- (instancetype)initWithFrame:(CGRect)frame {
+    self = [super initWithFrame:frame];
+    if (self) {
+        self.backgroundColor = HexRGB(0xf6f8f9);
+        self.tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, frame.size.width, frame.size.height) style:UITableViewStylePlain];
+        self.tableView.backgroundColor = HexRGB(0xf6f8f9);
+        self.tableView.showsVerticalScrollIndicator = NO;
+        self.tableView.showsHorizontalScrollIndicator = NO;
+        self.tableView.dataSource = self;
+        self.tableView.delegate = self;
+        self.tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
+        self.tableView.rowHeight = 132;
+        [self addSubview:self.tableView];
+        
+        
+        UIView *headView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 10)];
+        headView.backgroundColor = HexRGB(0xf6f8f9);
+        self.tableView.tableHeaderView = headView;
+        
+        UIView *bottomView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 10)];
+        bottomView.backgroundColor = HexRGB(0xf6f8f9);
+        self.tableView.tableFooterView = bottomView;
+        
+        [self.tableView registerNib:[UINib nibWithNibName:@"HomeworkListCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"HomeworkListCell"];
+
+        [self.dateFormatter setDateFormat:@"yyyy-MM"];
+        NSDate *currentDate = [NSDate date];
+        self.chooseDate = [self.dateFormatter stringFromDate:currentDate];
+        
+        MJWeakSelf;
+        self.tableView.mj_header = [KSGifRefreshHeader headerWithRefreshingBlock:^{
+            [weakSelf resetParamenter];
+            [weakSelf requestData];
+        }];
+        self.tableView.mj_footer = [KSGifRefreshFooter footerWithRefreshingBlock:^{
+            if (weakSelf.isLoadMore) {
+                weakSelf.pages += 1;
+                [weakSelf requestData];
+            }
+            else {
+                [weakSelf.tableView.mj_footer endRefreshingWithNoMoreData];
+            }
+        }];
+    }
+    return self;
+}
+
+- (void)endRefresh {
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        [self.tableView.mj_header endRefreshing];
+        [self.tableView.mj_footer endRefreshing];
+    });
+}
+
+- (void)refreshAndRequestData {
+    [self resetParamenter];
+    [self requestData];
+    
+}
+
+- (void)resetParamenter {
+    self.isLoadMore = YES;
+    self.pages = 1;
+    self.rows = 10;
+    self.dataArray = [NSMutableArray array];
+    [self.tableView.mj_footer resetNoMoreData];
+    [self setPromptString:@"暂无内容" imageName:@"wd_img_zwsj" inView:self.tableView];
+    [self.tableView reloadData];
+}
+- (void)requestData {
+    [self endRefresh];
+}
+
+- (void)beginRefreshImmediately {
+    [self.tableView.mj_header beginRefreshing];
+}
+
+- (void)selectCellAtIndexPath:(NSIndexPath *)indexPath {
+    
+    if (self.lastSelectedIndexPath == indexPath) {
+        return;
+    }
+    if (self.lastSelectedIndexPath != nil) {
+        UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:self.lastSelectedIndexPath];
+        [cell setSelected:NO animated:NO];
+    }
+    UITableViewCell *cell = [self.tableView cellForRowAtIndexPath:indexPath];
+    [cell setSelected:YES animated:NO];
+    self.lastSelectedIndexPath = indexPath;
+}
+
+- (void)layoutSubviews {
+    [super layoutSubviews];
+    CGFloat topHeight = 50.0f;
+    self.tableView.frame = CGRectMake(0, topHeight, self.bounds.size.width, self.bounds.size.height - topHeight);
+    if (!_sortView) {
+        self.sortView.frame = CGRectMake(0, 0, kScreenWidth, topHeight);
+        [self addSubview:self.sortView];
+        [self.dateFormatter setDateFormat:@"yyyy年MM月"];
+        NSDate *currentDate = [NSDate date];
+        self.sortView.sortTitleLabel.text = [NSString returnNoNullStringWithString:[self.dateFormatter stringFromDate:currentDate]];
+    }
+}
+
+- (void)beginFirstRefresh {
+    if (!self.isHeaderRefreshed) {
+        [self beginRefreshImmediately];
+    }
+}
+
+#pragma mark - UITableViewDataSource
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
+//    return self.dataArray.count;
+    return 10;
+}
+
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
+    HomeworkListCell *cell = [tableView dequeueReusableCellWithIdentifier:@"HomeworkListCell"];
+    MJWeakSelf;
+    [cell chatWithStudent:^(NSString * _Nonnull userId, NSString * _Nonnull userName) {
+        [weakSelf chatStudent:userId name:userName];
+    }];
+    return cell;
+}
+
+- (void)chatStudent:(NSString *)studentId name:(NSString *)name {
+    KSChatConversationViewController *conversationVC = [[KSChatConversationViewController alloc] init];
+    conversationVC.targetId = studentId;
+    conversationVC.title = name;
+    conversationVC.conversationType = ConversationType_PRIVATE;
+    [self.naviController pushViewController:conversationVC animated:YES];
+}
+
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
+    // 进入作业详情
+    HomeworkDetailViewController *detailVC = [[HomeworkDetailViewController alloc] init];
+    [self.naviController pushViewController:detailVC animated:YES];
+}
+
+/**
+ 设置没有数据时的显示
+ 
+ @param promptString 提示语
+ @param imgName 图片名称
+ @param view 显示在什么地方
+ */
+- (void)setPromptString:(NSString *)promptString imageName:(NSString *)imgName inView:(UIView *)view {
+    if (self.promptView != nil) {
+        [self.promptView removeFromSuperview];
+    }
+    else {
+        self.promptView = [[StateView alloc]init];
+        self.promptView.frame = CGRectMake(0, 0, kScreenWidth, kScreenHeight - 300);
+    }
+    _promptPlaceView = view;
+    //当请求不到数据时 ,自定义提示view 将会出现;
+    self.promptView.imageName = imgName;
+    self.promptView.alpha = 0.0f;
+    [self.promptView setText:promptString];
+    [view addSubview:self.promptView];
+}
+
+// 结束刷新后调用方法
+- (void)changePromptLabelStateWithArray:(NSMutableArray *)array {
+    NSInteger count;
+    if (array.count) {
+        count = array.count;
+    } else {
+        count = 0;
+    }
+    
+    [UIView animateWithDuration:0.1 animations:^{
+        [[self promptView] setAlpha:count ? 0.0f :1.0f ] ;
+        
+    }] ;
+    
+}
+
+- (BOOL)networkAvaiable {
+    return [self checkNetworkAvaiable];
+}
+
+- (BOOL)checkNetworkAvaiable {
+    BOOL isExistenceNetwork = YES;
+    Reachability *reach = [Reachability reachabilityWithHostName:@"www.apple.com"];
+    switch ([reach currentReachabilityStatus]) {
+        case NotReachable:
+            isExistenceNetwork = NO;
+            //NSLog(@"notReachable");
+            break;
+        case ReachableViaWiFi:
+            isExistenceNetwork = YES;
+            //NSLog(@"WIFI");
+            break;
+        case ReachableViaWWAN:
+            isExistenceNetwork = YES;
+            //NSLog(@"3G");
+            break;
+    }
+    return isExistenceNetwork;
+}
+
+
+#pragma mark ---- lazying
+- (NSDateFormatter *)dateFormatter {
+    if (!_dateFormatter) {
+        _dateFormatter = [NSObject getDateformatter];
+    }
+    return _dateFormatter;
+}
+- (NSMutableArray *)dataArray {
+    if (!_dataArray) {
+        _dataArray = [NSMutableArray array];
+    }
+    return _dataArray;
+}
+
+- (HomeworkSortView *)sortView {
+    if (!_sortView) {
+        _sortView = [HomeworkSortView shareInstance];
+        MJWeakSelf;
+        [_sortView sortAction:^{
+            [weakSelf timeChooseAction];
+        }];
+    }
+    return _sortView;
+}
+
+- (void)timeChooseAction {
+    KSFullDatePicker *picker = [[KSFullDatePicker alloc] initWithTitle:@"" date:[NSDate date] pickMode:KSDATEPICKER_MODE_YEAR_MONTH selectDateBlock:^(NSString *date) {
+
+        self.chooseDate = date;
+        NSString *displayTime = [self getTimeDisplay:date];
+        [self.sortView.sortTitleLabel setText:displayTime];
+        [self resetPickerStatus];
+        // 请求数据
+        [self refreshAndRequestData];
+    } cancleBlock:^{
+        [self resetPickerStatus];
+    }];
+    [picker show];
+}
+
+- (void)resetPickerStatus {
+    self.sortView.arrowUp = NO;
+}
+
+- (NSString *)getTimeDisplay:(NSString *)chooseMonth {
+    [self.dateFormatter setDateFormat:@"yyyy-MM"];
+    NSDate *chooseDate = [self.dateFormatter dateFromString:chooseMonth];
+    [self.dateFormatter setDateFormat:@"yyyy年MM月"];
+    NSString *displayTime = [self.dateFormatter stringFromDate:chooseDate];
+    return displayTime;
+}
+
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect {
+    // Drawing code
+}
+*/
+
+@end

+ 20 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkListCell.h

@@ -0,0 +1,20 @@
+//
+//  HomeworkListCell.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import <UIKit/UIKit.h>
+
+typedef void(^HomeworkChatCallback)(NSString * _Nonnull userId, NSString * _Nonnull userName);
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface HomeworkListCell : UITableViewCell
+
+- (void)chatWithStudent:(HomeworkChatCallback)callback;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 56 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkListCell.m

@@ -0,0 +1,56 @@
+//
+//  HomeworkListCell.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "HomeworkListCell.h"
+
+@interface HomeworkListCell ()
+
+@property (weak, nonatomic) IBOutlet UILabel *courseTime;
+
+@property (weak, nonatomic) IBOutlet UIImageView *studentAvatal;
+
+@property (weak, nonatomic) IBOutlet UILabel *studentNameLabel;
+
+@property (weak, nonatomic) IBOutlet UILabel *subjectLabel;
+
+@property (weak, nonatomic) IBOutlet UILabel *statusLabel;
+
+@property (nonatomic, copy) HomeworkChatCallback callback;
+
+@property (nonatomic, strong) NSString *userId;
+
+@property (nonatomic, strong) NSString *userName;
+
+@end
+
+@implementation HomeworkListCell
+
+- (void)awakeFromNib {
+    [super awakeFromNib];
+    // Initialization code
+    self.selectionStyle = UITableViewCellSelectionStyleNone;
+}
+
+- (void)chatWithStudent:(HomeworkChatCallback)callback {
+    if (callback) {
+        self.callback = callback;
+    }
+}
+
+- (IBAction)chatAction:(id)sender {
+    if (self.callback) {
+        self.callback(self.userId, self.userName);
+    }
+}
+
+- (void)setSelected:(BOOL)selected animated:(BOOL)animated {
+    [super setSelected:selected animated:animated];
+
+    // Configure the view for the selected state
+}
+
+@end

+ 166 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkListCell.xib

@@ -0,0 +1,166 @@
+<?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">
+    <device id="retina6_1" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <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="87" id="KGk-i7-Jjw" customClass="HomeworkListCell">
+            <rect key="frame" x="0.0" y="0.0" width="468" height="138"/>
+            <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="468" height="138"/>
+                <autoresizingMask key="autoresizingMask"/>
+                <subviews>
+                    <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7PV-kN-jHP">
+                        <rect key="frame" x="14" y="0.0" width="440" height="126"/>
+                        <subviews>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8DG-NN-Big">
+                                <rect key="frame" x="10" y="38" width="420" height="1"/>
+                                <color key="backgroundColor" red="0.94901960780000005" green="0.94901960780000005" blue="0.94901960780000005" alpha="1" colorSpace="calibratedRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="1" id="J5x-mn-Xjj"/>
+                                </constraints>
+                            </view>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="course_time" translatesAutoresizingMaskIntoConstraints="NO" id="tGm-S4-F4x">
+                                <rect key="frame" x="11" y="12" width="16" height="16"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="16" id="JtY-7v-IEx"/>
+                                    <constraint firstAttribute="width" constant="16" id="eRH-xo-J70"/>
+                                </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="pXr-41-D0m">
+                                <rect key="frame" x="34" y="12" width="147" height="16"/>
+                                <fontDescription key="fontDescription" type="system" pointSize="13"/>
+                                <color key="textColor" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="calibratedRGB"/>
+                                <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="1qw-WH-Jvr">
+                                <rect key="frame" x="379" y="11.5" width="50" height="17"/>
+                                <constraints>
+                                    <constraint firstAttribute="width" constant="50" id="E6U-2d-Wcf"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
+                                <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="user_default_avatal" translatesAutoresizingMaskIntoConstraints="NO" id="RUc-4R-w37">
+                                <rect key="frame" x="11" y="56" width="47" height="47"/>
+                                <constraints>
+                                    <constraint firstAttribute="width" constant="47" id="ERa-d0-RjJ"/>
+                                    <constraint firstAttribute="height" constant="47" id="b7T-Sz-cr8"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="5"/>
+                                    </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="FpP-hs-iFV">
+                                <rect key="frame" x="68" y="56" width="49" height="24"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="24" id="EnM-36-tXQ"/>
+                                </constraints>
+                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/>
+                                <color key="textColor" red="0.1019607843" green="0.1019607843" blue="0.1019607843" alpha="1" colorSpace="calibratedRGB"/>
+                                <nil key="highlightedColor"/>
+                            </label>
+                            <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="6lL-kM-wkw">
+                                <rect key="frame" x="68" y="83" width="44" 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="N2M-qy-lji">
+                                        <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.54901960780000003" blue="0.0" alpha="1" colorSpace="calibratedRGB"/>
+                                        <nil key="highlightedColor"/>
+                                    </label>
+                                </subviews>
+                                <color key="backgroundColor" red="1" green="0.94509803920000002" blue="0.87058823529999996" alpha="1" colorSpace="calibratedRGB"/>
+                                <constraints>
+                                    <constraint firstAttribute="height" constant="20" id="0Bh-JX-Emk"/>
+                                    <constraint firstAttribute="bottom" secondItem="N2M-qy-lji" secondAttribute="bottom" id="W9B-0Z-WhX"/>
+                                    <constraint firstAttribute="trailing" secondItem="N2M-qy-lji" secondAttribute="trailing" constant="5" id="gCN-fa-45e"/>
+                                    <constraint firstItem="N2M-qy-lji" firstAttribute="leading" secondItem="6lL-kM-wkw" secondAttribute="leading" constant="5" id="mBQ-WO-UKp"/>
+                                    <constraint firstItem="N2M-qy-lji" firstAttribute="top" secondItem="6lL-kM-wkw" secondAttribute="top" id="yfs-2E-vzh"/>
+                                </constraints>
+                                <userDefinedRuntimeAttributes>
+                                    <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                        <real key="value" value="4"/>
+                                    </userDefinedRuntimeAttribute>
+                                </userDefinedRuntimeAttributes>
+                            </view>
+                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="p4E-9g-vYI">
+                                <rect key="frame" x="117" y="48" width="40" height="40"/>
+                                <constraints>
+                                    <constraint firstAttribute="width" constant="40" id="NEW-y5-Oa7"/>
+                                    <constraint firstAttribute="height" constant="40" id="zmM-0I-BZc"/>
+                                </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="SHA-Sd-33P"/>
+                                </connections>
+                            </button>
+                        </subviews>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                        <constraints>
+                            <constraint firstAttribute="trailing" secondItem="1qw-WH-Jvr" secondAttribute="trailing" constant="11" id="18O-zO-GbD"/>
+                            <constraint firstItem="tGm-S4-F4x" firstAttribute="top" secondItem="7PV-kN-jHP" secondAttribute="top" constant="12" id="4GN-CO-nq1"/>
+                            <constraint firstItem="8DG-NN-Big" firstAttribute="top" secondItem="tGm-S4-F4x" secondAttribute="bottom" constant="10" id="6Ws-sC-rr1"/>
+                            <constraint firstItem="8DG-NN-Big" firstAttribute="leading" secondItem="7PV-kN-jHP" secondAttribute="leading" constant="10" id="ABd-pR-d50"/>
+                            <constraint firstItem="6lL-kM-wkw" firstAttribute="leading" secondItem="FpP-hs-iFV" secondAttribute="leading" id="AMW-R9-Bcq"/>
+                            <constraint firstItem="1qw-WH-Jvr" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="pXr-41-D0m" secondAttribute="trailing" constant="10" id="Cot-6G-AkF"/>
+                            <constraint firstItem="RUc-4R-w37" firstAttribute="top" secondItem="8DG-NN-Big" secondAttribute="bottom" constant="17" id="Ex9-cF-vet"/>
+                            <constraint firstItem="p4E-9g-vYI" firstAttribute="leading" secondItem="FpP-hs-iFV" secondAttribute="trailing" id="Gpq-6F-6J4"/>
+                            <constraint firstItem="RUc-4R-w37" firstAttribute="leading" secondItem="7PV-kN-jHP" secondAttribute="leading" constant="11" id="LyQ-fd-Lkg"/>
+                            <constraint firstAttribute="trailing" secondItem="8DG-NN-Big" secondAttribute="trailing" constant="10" id="Mzo-e4-Gx1"/>
+                            <constraint firstItem="p4E-9g-vYI" firstAttribute="centerY" secondItem="FpP-hs-iFV" secondAttribute="centerY" id="TMh-aj-iKs"/>
+                            <constraint firstItem="FpP-hs-iFV" firstAttribute="top" secondItem="RUc-4R-w37" secondAttribute="top" id="Vs4-cN-QKB"/>
+                            <constraint firstItem="pXr-41-D0m" firstAttribute="leading" secondItem="tGm-S4-F4x" secondAttribute="trailing" constant="7" id="gdm-De-jDR"/>
+                            <constraint firstItem="6lL-kM-wkw" firstAttribute="bottom" secondItem="RUc-4R-w37" secondAttribute="bottom" id="grq-IE-FpO"/>
+                            <constraint firstItem="tGm-S4-F4x" firstAttribute="leading" secondItem="7PV-kN-jHP" secondAttribute="leading" constant="11" id="h4I-tZ-hfV"/>
+                            <constraint firstItem="FpP-hs-iFV" firstAttribute="leading" secondItem="RUc-4R-w37" secondAttribute="trailing" constant="10" id="ktR-vp-74U"/>
+                            <constraint firstItem="pXr-41-D0m" firstAttribute="centerY" secondItem="tGm-S4-F4x" secondAttribute="centerY" id="rTa-Wu-PAv"/>
+                            <constraint firstItem="1qw-WH-Jvr" firstAttribute="centerY" secondItem="pXr-41-D0m" secondAttribute="centerY" id="yWK-wY-KLq"/>
+                        </constraints>
+                        <userDefinedRuntimeAttributes>
+                            <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius">
+                                <real key="value" value="10"/>
+                            </userDefinedRuntimeAttribute>
+                        </userDefinedRuntimeAttributes>
+                    </view>
+                </subviews>
+                <constraints>
+                    <constraint firstItem="7PV-kN-jHP" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="J8J-il-NaF"/>
+                    <constraint firstItem="7PV-kN-jHP" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="QRL-Nt-LjS"/>
+                    <constraint firstAttribute="bottom" secondItem="7PV-kN-jHP" secondAttribute="bottom" constant="12" id="dAT-MI-rz7"/>
+                    <constraint firstAttribute="trailing" secondItem="7PV-kN-jHP" secondAttribute="trailing" constant="14" id="inf-74-qqm"/>
+                </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="courseTime" destination="pXr-41-D0m" id="P4z-qr-Sz2"/>
+                <outlet property="statusLabel" destination="1qw-WH-Jvr" id="Ft9-cT-Ndb"/>
+                <outlet property="studentAvatal" destination="RUc-4R-w37" id="ZyZ-wJ-Xmv"/>
+                <outlet property="studentNameLabel" destination="FpP-hs-iFV" id="nao-Cd-xgS"/>
+                <outlet property="subjectLabel" destination="N2M-qy-lji" id="GVs-Ed-0bm"/>
+            </connections>
+            <point key="canvasLocation" x="263.768115942029" y="109.82142857142857"/>
+        </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"/>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+    </resources>
+</document>

+ 27 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkSortView.h

@@ -0,0 +1,27 @@
+//
+//  HomeworkSortView.h
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+typedef void(^TimeSortCallback)();
+
+@interface HomeworkSortView : UIView
+
+@property (weak, nonatomic) IBOutlet UILabel *sortTitleLabel;
+
+@property (nonatomic, assign) BOOL arrowUp;
+
++ (instancetype)shareInstance;
+
+- (void)sortAction:(TimeSortCallback)callback;
+
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 52 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkSortView.m

@@ -0,0 +1,52 @@
+//
+//  HomeworkSortView.m
+//  KulexiuForTeacher
+//
+//  Created by 王智 on 2022/4/13.
+//
+
+#import "HomeworkSortView.h"
+
+@interface HomeworkSortView ()
+
+@property (weak, nonatomic) IBOutlet UIImageView *arrowImage;
+
+@property (nonatomic, copy) TimeSortCallback callback;
+
+@end
+
+@implementation HomeworkSortView
+
++ (instancetype)shareInstance {
+    HomeworkSortView *view = [[[NSBundle mainBundle] loadNibNamed:@"HomeworkSortView" owner:nil options:nil] firstObject];
+    return view;
+}
+
+- (void)sortAction:(TimeSortCallback)callback {
+    if (callback) {
+        self.callback = callback;
+    }
+}
+
+- (IBAction)sortButtonAction:(id)sender {
+    self.arrowUp = YES;
+    if (self.callback) {
+        self.callback();
+    }
+}
+
+- (void)setArrowUp:(BOOL)arrowUp {
+    _arrowUp = arrowUp;
+    NSString *imageName = arrowUp ? @"sort_up" : @"sort_down";
+    [self.arrowImage setImage:[UIImage imageNamed:imageName]];
+}
+
+/*
+// Only override drawRect: if you perform custom drawing.
+// An empty implementation adversely affects performance during animation.
+- (void)drawRect:(CGRect)rect {
+    // Drawing code
+}
+*/
+
+@end

+ 61 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/View/HomeworkSortView.xib

@@ -0,0 +1,61 @@
+<?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">
+    <device id="retina6_1" orientation="portrait" appearance="light"/>
+    <dependencies>
+        <deployment identifier="iOS"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
+        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
+    </dependencies>
+    <objects>
+        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
+        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
+        <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="HomeworkSortView">
+            <rect key="frame" x="0.0" y="0.0" width="414" height="71"/>
+            <autoresizingMask key="autoresizingMask"/>
+            <subviews>
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2021年9月" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="t4D-yi-OH7">
+                    <rect key="frame" x="14" y="25.5" width="69" height="20"/>
+                    <constraints>
+                        <constraint firstAttribute="height" constant="20" id="Wp2-fJ-Nhg"/>
+                    </constraints>
+                    <fontDescription key="fontDescription" type="system" pointSize="14"/>
+                    <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
+                    <nil key="highlightedColor"/>
+                </label>
+                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="sort_down" translatesAutoresizingMaskIntoConstraints="NO" id="dxn-Em-1xD">
+                    <rect key="frame" x="86" y="32.5" width="8" height="6"/>
+                </imageView>
+                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0zE-tr-Z1O">
+                    <rect key="frame" x="14" y="0.0" width="80" height="71"/>
+                    <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
+                    <connections>
+                        <action selector="sortButtonAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="rWv-0j-Xxb"/>
+                    </connections>
+                </button>
+            </subviews>
+            <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+            <constraints>
+                <constraint firstItem="0zE-tr-Z1O" firstAttribute="top" secondItem="iN0-l3-epB" secondAttribute="top" id="3A4-LV-UX8"/>
+                <constraint firstItem="t4D-yi-OH7" firstAttribute="leading" secondItem="0zE-tr-Z1O" secondAttribute="leading" id="IEw-nx-7uA"/>
+                <constraint firstItem="dxn-Em-1xD" firstAttribute="centerY" secondItem="0zE-tr-Z1O" secondAttribute="centerY" id="bQb-1X-2bN"/>
+                <constraint firstItem="dxn-Em-1xD" firstAttribute="centerY" secondItem="t4D-yi-OH7" secondAttribute="centerY" id="plf-sU-8TP"/>
+                <constraint firstAttribute="bottom" secondItem="0zE-tr-Z1O" secondAttribute="bottom" id="qyE-Vi-A46"/>
+                <constraint firstItem="dxn-Em-1xD" firstAttribute="leading" secondItem="t4D-yi-OH7" secondAttribute="trailing" constant="3" id="rdB-Cz-jgk"/>
+                <constraint firstItem="dxn-Em-1xD" firstAttribute="trailing" secondItem="0zE-tr-Z1O" secondAttribute="trailing" id="uMM-8g-Iey"/>
+                <constraint firstItem="t4D-yi-OH7" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="14" id="xba-oZ-dqJ"/>
+                <constraint firstItem="t4D-yi-OH7" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="yPk-Hn-IMF"/>
+            </constraints>
+            <nil key="simulatedTopBarMetrics"/>
+            <nil key="simulatedBottomBarMetrics"/>
+            <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
+            <connections>
+                <outlet property="arrowImage" destination="dxn-Em-1xD" id="9IA-4h-Loj"/>
+                <outlet property="sortTitleLabel" destination="t4D-yi-OH7" id="aJ4-rZ-EMq"/>
+            </connections>
+            <point key="canvasLocation" x="131.8840579710145" y="41.852678571428569"/>
+        </view>
+    </objects>
+    <resources>
+        <image name="sort_down" width="8" height="6"/>
+    </resources>
+</document>

+ 99 - 9
KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/View/MyLessonBodyView.m

@@ -15,9 +15,12 @@
 #import "KSChatConversationViewController.h"
 #import "MyLessonSearchView.h"
 #import "NewClassPopView.h"
+#import "KSFullDatePicker.h"
 
 @interface MyLessonBodyView ()<UITableViewDelegate,UITableViewDataSource>
 
+@property (nonatomic, strong) NSDateFormatter *dateFormatter;
+
 @property (nonatomic, copy) MyLessonSearchView *sortView;
 
 @property (nonatomic, strong) NewClassPopView *popView;
@@ -76,10 +79,10 @@
         self.tableView.tableFooterView = bottomView;
         [self.tableView registerNib:[UINib nibWithNibName:@"AccompanyCourseCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"AccompanyCourseCell"];
         [self.tableView registerNib:[UINib nibWithNibName:@"MyLiveCourseCell" bundle:[NSBundle mainBundle]] forCellReuseIdentifier:@"MyLiveCourseCell"];
-        NSDateFormatter *dateFormatter = [NSObject getDateformatter];
-        [dateFormatter setDateFormat:@"yyyy-MM"];
+        
+        [self.dateFormatter setDateFormat:@"yyyy-MM"];
         NSDate *currentDate = [NSDate date];
-        self.classDate = [dateFormatter stringFromDate:currentDate];
+        self.classDate = [self.dateFormatter stringFromDate:currentDate];
         MJWeakSelf;
         self.tableView.mj_header = [KSGifRefreshHeader headerWithRefreshingBlock:^{
             [weakSelf resetParamenter];
@@ -123,7 +126,7 @@
 
 - (void)requestData {
     if (self.selectIndex == 0) { // 陪练课
-        [KSNetworkingManager accompanyCourseRequest:KS_POST classDate:self.classDate status:self.status subjectId:self.subjectId page:self.pages rows:self.rows success:^(NSDictionary * _Nonnull dic) {
+        [KSNetworkingManager accompanyCourseRequest:KS_POST classMonth:self.classDate status:self.status subjectId:self.subjectId page:self.pages rows:self.rows success:^(NSDictionary * _Nonnull dic) {
             [self endRefresh];
             if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
                 NSArray *sourceArray = [[dic dictionaryValueForKey:@"data"] arrayValueForKey:@"rows"];
@@ -217,10 +220,9 @@
         [_sortView sortAction:^(SORT_TYPE type) {
             [weakSelf sortWithType:type];
         }];
-        NSDateFormatter *dateFormatter = [NSObject getDateformatter];
-        [dateFormatter setDateFormat:@"yyyy年MM月"];
+        [self.dateFormatter setDateFormat:@"yyyy年MM月"];
         NSDate *currentDate = [NSDate date];
-        [self.sortView.firstButton setTitle:[dateFormatter stringFromDate:currentDate] forState:UIControlStateNormal];
+        [self.sortView.firstButton setTitle:[self.dateFormatter stringFromDate:currentDate] forState:UIControlStateNormal];
         [self addSubview:self.sortView];
     }
     if (self.teaherAuth == NO) {
@@ -234,7 +236,7 @@
 - (void)sortWithType:(SORT_TYPE)type {
     
     if (type == SORT_TYPE_TIME) { // time
-        
+        [self showPickerView];
     }
     else if (type == SORT_TYPE_STATUS) { // 状态
         [self.popView refreshWithSourceArray:@[@"全部",@"未开始",@"进行中",@"已结束"] preChooseIndex:_secondChooseIndex inView:self actionItem:1];
@@ -247,6 +249,33 @@
     }
 }
 
+- (void)showPickerView {
+    KSFullDatePicker *picker = [[KSFullDatePicker alloc] initWithTitle:@"" date:[NSDate date] pickMode:KSDATEPICKER_MODE_YEAR_MONTH selectDateBlock:^(NSString *date) {
+
+        self.classDate = date;
+        NSString *displayTime = [self getTimeDisplay:date];
+        [self.sortView.firstButton setTitle:displayTime forState:UIControlStateNormal];
+        [self resetPickerStatus];
+        // 请求数据
+        [self refreshAndRequestData];
+    } cancleBlock:^{
+        [self resetPickerStatus];
+    }];
+    [picker show];
+}
+
+
+- (NSString *)getTimeDisplay:(NSString *)chooseMonth {
+    [self.dateFormatter setDateFormat:@"yyyy-MM"];
+    NSDate *chooseDate = [self.dateFormatter dateFromString:chooseMonth];
+    [self.dateFormatter setDateFormat:@"yyyy年MM月"];
+    NSString *displayTime = [self.dateFormatter stringFromDate:chooseDate];
+    return displayTime;
+}
+- (void)resetPickerStatus {
+    self.sortView.firstArrowUp = NO;
+}
+
 - (NewClassPopView *)popView {
     if (!_popView) {
         MJWeakSelf;
@@ -325,12 +354,23 @@
 }
 
 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
-    return 100.0f;
+    if (self.selectIndex == 0) {
+        return 127.0f;
+    }
+    else {
+        return 164.0f;
+    }
 }
 
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
+    
     if (self.selectIndex == 0) {
+        AccompanyLessonModel *model = self.dataArray[indexPath.row];
         AccompanyCourseCell *cell = [tableView dequeueReusableCellWithIdentifier:@"AccompanyCourseCell"];
+        MJWeakSelf;
+        [cell configWithSource:model actionCallback:^(ACCOMPANY_TYPE type, AccompanyLessonModel * _Nonnull source) {
+            [weakSelf courseOperation:type sourceModel:source];
+        }];
         return cell;
     }
     else {
@@ -344,6 +384,50 @@
     }
 }
 
+- (void)courseOperation:(ACCOMPANY_TYPE)type sourceModel:(AccompanyLessonModel *)model {
+    switch (type) {
+        case ACCOMPANY_TYPE_CHAT: // 聊天
+        {
+            KSChatConversationViewController *conversationVC = [[KSChatConversationViewController alloc] init];
+            conversationVC.targetId = [NSString stringWithFormat:@"%.0f",model.userId];
+            conversationVC.conversationType = ConversationType_PRIVATE;
+            [self.naviController pushViewController:conversationVC animated:YES];
+        }
+            break;
+        case ACCOMPANY_TYPE_ADJUST: // 调整
+        {
+            [self showAdjustPicker:model];
+        }
+            break;
+        case ACCOMPANY_TYPE_JOINROOM:  // 加入房间
+        {
+            
+        }
+            break;
+        case ACCOMPANY_TYPE_EVALUATE:  // 评价
+        {
+            
+        }
+            break;
+        default:
+            break;
+    }
+}
+
+- (void)showAdjustPicker:(AccompanyLessonModel *)model {
+    
+    KSFullDatePicker *picker = [[KSFullDatePicker alloc] initWithTitle:@"课时调整" date:[NSDate date] pickMode:KSDATEPICKER_MODE_DAY_TIME selectDateBlock:^(NSString *date) {
+        [self courseAdjustAction:model];
+    } cancleBlock:^{
+        
+    }];
+    [picker show];
+}
+
+- (void)courseAdjustAction:(AccompanyLessonModel *)model {
+    
+}
+
 - (void)chatAction:(NSString *)targetId {
     KSChatConversationViewController *conversationVC = [[KSChatConversationViewController alloc] init];
     conversationVC.targetId = targetId;
@@ -422,6 +506,12 @@
     return isExistenceNetwork;
 }
 #pragma mark ----- lazying
+- (NSDateFormatter *)dateFormatter {
+    if (!_dateFormatter) {
+        _dateFormatter = [NSObject getDateformatter];
+    }
+    return _dateFormatter;
+}
 - (void)setTeaherAuth:(BOOL)teaherAuth {
     _teaherAuth = teaherAuth;
     if (teaherAuth == NO) {

+ 4 - 4
KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/View/MyLessonSearchView.xib

@@ -20,7 +20,7 @@
                             <rect key="frame" x="0.0" y="0.0" width="131.5" height="88"/>
                             <subviews>
                                 <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="sort_down" translatesAutoresizingMaskIntoConstraints="NO" id="vSU-NS-Qou">
-                                    <rect key="frame" x="108.5" y="41" width="8" height="6"/>
+                                    <rect key="frame" x="113.5" y="41" width="8" height="6"/>
                                     <constraints>
                                         <constraint firstAttribute="height" constant="6" id="L0G-Nt-hlU"/>
                                         <constraint firstAttribute="width" constant="8" id="nhm-Fv-ewC"/>
@@ -29,7 +29,7 @@
                                 <button opaque="NO" tag="1001" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="CSP-VE-Q55">
                                     <rect key="frame" x="0.0" y="0.0" width="131.5" height="88"/>
                                     <fontDescription key="fontDescription" type="system" pointSize="14"/>
-                                    <state key="normal" title="2022年09月">
+                                    <state key="normal" title="2022年04月">
                                         <color key="titleColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="1" colorSpace="calibratedRGB"/>
                                     </state>
                                     <connections>
@@ -41,7 +41,7 @@
                             <constraints>
                                 <constraint firstAttribute="trailing" secondItem="CSP-VE-Q55" secondAttribute="trailing" id="0bd-hm-rCy"/>
                                 <constraint firstAttribute="bottom" secondItem="CSP-VE-Q55" secondAttribute="bottom" id="5ye-zJ-qJd"/>
-                                <constraint firstAttribute="trailing" secondItem="vSU-NS-Qou" secondAttribute="trailing" constant="15" id="g2D-zv-qIp"/>
+                                <constraint firstAttribute="trailing" secondItem="vSU-NS-Qou" secondAttribute="trailing" constant="10" id="g2D-zv-qIp"/>
                                 <constraint firstItem="CSP-VE-Q55" firstAttribute="top" secondItem="sav-8B-TD3" secondAttribute="top" id="lqg-EV-zPD"/>
                                 <constraint firstItem="vSU-NS-Qou" firstAttribute="centerY" secondItem="sav-8B-TD3" secondAttribute="centerY" id="vSN-3Z-GaR"/>
                                 <constraint firstItem="CSP-VE-Q55" firstAttribute="leading" secondItem="sav-8B-TD3" secondAttribute="leading" id="zIY-Ko-K7m"/>
@@ -163,6 +163,6 @@
         </view>
     </objects>
     <resources>
-        <image name="sort_down" width="10" height="6"/>
+        <image name="sort_down" width="8" height="6"/>
     </resources>
 </document>

+ 2 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Login/Controller/FirstSettingViewController.m

@@ -42,7 +42,7 @@
 
 - (void)settingPassword:(NSString *)pwdCode {
     [self showhud];
-    [KSNetworkingManager setPasswordRequest:KS_POST authCode:self.code mobile:self.phone password:pwdCode token:self.access_token success:^(NSDictionary * _Nonnull dic) {
+    [KSNetworkingManager setPasswordRequest:KS_POST username:nil password:pwdCode token:self.access_token success:^(NSDictionary * _Nonnull dic) {
         [self removehub];
         if ([dic integerValueForKey:@"code"] == 200 && [dic boolValueForKey:@"status"]) {
             MJWeakSelf;
@@ -56,10 +56,10 @@
         else {
             [self MBPShow:MESSAGEKEY];
         }
-        
     } faliure:^(NSError * _Nonnull error) {
         [self removehub];
     }];
+    
 }
 
 - (void)toHomeView {

+ 2 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Login/Model/UserInfoManager.m

@@ -113,8 +113,8 @@
             if ([NSString isEmptyString:rongToken]) {
                 needConnect = YES;
             }
-            UserDefaultSet(@"dSsgaUKlbqW+AYMaW8A8tCQGSDdDZVN5@q4s7.cn.rongnav.com;q4s7.cn.rongcfg.com", RongTokenKey);
-//            UserDefaultSet(self.userInfo.imToken, RongTokenKey);
+//            UserDefaultSet(@"dSsgaUKlbqW+AYMaW8A8tCQGSDdDZVN5@q4s7.cn.rongnav.com;q4s7.cn.rongcfg.com", RongTokenKey);
+            UserDefaultSet(self.userInfo.imToken, RongTokenKey);
             UserDefaultSet(self.userInfo.username, NicknameKey);
             UserDefaultSet(self.userInfo.avatar, AvatarUrlKey);
             [[NSUserDefaults standardUserDefaults] synchronize];

+ 4 - 4
KulexiuForTeacher/KulexiuForTeacher/Module/Login/View/FirstSettingBodyView.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" 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="19519"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -37,7 +37,7 @@
                         <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请再次输入您的登录密码" textAlignment="natural" clearsOnBeginEditing="YES" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="HbB-aF-yVr">
                             <rect key="frame" x="35" y="22" width="344" height="48"/>
                             <fontDescription key="fontDescription" type="system" pointSize="16"/>
-                            <textInputTraits key="textInputTraits" keyboardType="ASCIICapableNumberPad" returnKeyType="done" enablesReturnKeyAutomatically="YES" secureTextEntry="YES"/>
+                            <textInputTraits key="textInputTraits" keyboardType="alphabet" returnKeyType="done" enablesReturnKeyAutomatically="YES" secureTextEntry="YES"/>
                         </textField>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="BIj-MZ-kN5">
                             <rect key="frame" x="35" y="69" width="344" height="1"/>
@@ -91,7 +91,7 @@
                         <textField opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" placeholder="请输入您的登录密码" textAlignment="natural" clearsOnBeginEditing="YES" minimumFontSize="17" clearButtonMode="whileEditing" translatesAutoresizingMaskIntoConstraints="NO" id="6u4-r6-o76">
                             <rect key="frame" x="35" y="22" width="344" height="48"/>
                             <fontDescription key="fontDescription" type="system" pointSize="16"/>
-                            <textInputTraits key="textInputTraits" keyboardType="ASCIICapableNumberPad" returnKeyType="done" enablesReturnKeyAutomatically="YES" secureTextEntry="YES"/>
+                            <textInputTraits key="textInputTraits" keyboardType="alphabet" returnKeyType="done" enablesReturnKeyAutomatically="YES" secureTextEntry="YES"/>
                         </textField>
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Wzg-Pu-IL4">
                             <rect key="frame" x="35" y="69" width="344" height="1"/>

+ 3 - 3
KulexiuForTeacher/KulexiuForTeacher/Module/Login/View/LoginBodyView.xib

@@ -1,9 +1,9 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="19529" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="20037" 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="19519"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="20020"/>
         <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
     </dependencies>
     <objects>
@@ -79,7 +79,7 @@
                         <constraint firstItem="LuK-f4-NAr" firstAttribute="leading" secondItem="LXC-2r-VRG" secondAttribute="leading" constant="35" id="try-JB-iMv"/>
                     </constraints>
                 </view>
-                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="未注册的手机号验证后自动创建酷乐秀老师端" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pce-OW-Xhb">
+                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="未注册的手机号验证后自动创建酷乐秀账号" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pce-OW-Xhb">
                     <rect key="frame" x="35" y="329" width="344" height="14.5"/>
                     <fontDescription key="fontDescription" type="system" pointSize="12"/>
                     <color key="textColor" red="0.59999999999999998" green="0.59999999999999998" blue="0.59999999999999998" alpha="1" colorSpace="calibratedRGB"/>

+ 1 - 0
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/CreateStyle/Controller/MyStyleViewController.m

@@ -355,6 +355,7 @@
         _tableView.dataSource = self;
         _tableView.backgroundColor = [UIColor clearColor];
         _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
+        _tableView.showsHorizontalScrollIndicator = NO;
         _tableView.showsVerticalScrollIndicator = NO;
         _tableView.rowHeight = UITableViewAutomaticDimension;
         _tableView.estimatedRowHeight = 200.0f;

+ 1 - 1
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/CreateStyle/View/MyStyleVideoView.m

@@ -39,7 +39,7 @@
 }
 
 - (void)configWithSource:(StyleVideoModel *)source {
-    [KSVideoHelper getVideoPreviewImageUrl:source.videoUrl forImageView:self.imageView placeholder:nil];
+    [KSVideoHelper getVideoPreviewImageUrl:source.videoUrl forImageView:self.imageView placeholder:[UIImage imageNamed:@"video_placeholder"]];
 }
 
 - (IBAction)playAction:(id)sender {

+ 3 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/CreateStyle/View/MyStyleVideoView.xib

@@ -19,9 +19,9 @@
                         <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="yW1-Ft-tPa">
                             <rect key="frame" x="0.0" y="0.0" width="167" height="108"/>
                             <subviews>
-                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="BIR-6B-TMy">
+                                <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="video_placeholder" translatesAutoresizingMaskIntoConstraints="NO" id="BIR-6B-TMy">
                                     <rect key="frame" x="0.0" y="0.0" width="167" height="108"/>
-                                    <color key="backgroundColor" red="0.1764705882" green="0.78039215689999997" blue="0.66666666669999997" alpha="1" colorSpace="calibratedRGB"/>
+                                    <color key="backgroundColor" white="0.0" alpha="0.0" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                 </imageView>
                                 <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="OZG-D1-yjf">
                                     <rect key="frame" x="61.5" y="32" width="44" height="44"/>
@@ -101,5 +101,6 @@
     <resources>
         <image name="playVideo_image" width="26" height="26"/>
         <image name="video_delete" width="22" height="22"/>
+        <image name="video_placeholder" width="103" height="72"/>
     </resources>
 </document>

+ 4 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.h

@@ -6,20 +6,22 @@
 //
 
 #import <UIKit/UIKit.h>
+#import "AccompanyLessonModel.h"
 
 typedef NS_ENUM(NSInteger, ACCOMPANY_TYPE) {
     ACCOMPANY_TYPE_CHAT,
     ACCOMPANY_TYPE_JOINROOM,
     ACCOMPANY_TYPE_ADJUST,
+    ACCOMPANY_TYPE_EVALUATE,
 };
 
-typedef void(^AccompanyCourseCallback)(ACCOMPANY_TYPE type, id source);
+typedef void(^AccompanyCourseCallback)(ACCOMPANY_TYPE type, AccompanyLessonModel * _Nonnull source);
 
 NS_ASSUME_NONNULL_BEGIN
 
 @interface AccompanyCourseCell : UITableViewCell
 
-
+- (void)configWithSource:(AccompanyLessonModel *)model actionCallback:(AccompanyCourseCallback)callback;
 
 @end
 

+ 72 - 2
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.m

@@ -16,6 +16,11 @@
 
 @property (weak, nonatomic) IBOutlet UIButton *opreationButton;
 
+@property (nonatomic, copy) AccompanyCourseCallback callback;
+
+@property (nonatomic, strong) AccompanyLessonModel *sourceModel;
+
+@property (nonatomic, assign) ACCOMPANY_TYPE type;
 @end
 
 @interface AccompanyCourseCell ()
@@ -30,11 +35,76 @@
     self.selectionStyle = UITableViewCellSelectionStyleNone;
 }
 
+- (void)configWithSource:(AccompanyLessonModel *)model actionCallback:(AccompanyCourseCallback)callback {
+    if (callback) {
+        self.callback = callback;
+    }
+    self.sourceModel = model;
+    [self.studentAvatar sd_setImageWithURL:[NSURL URLWithString:model.avatar] placeholderImage:[UIImage imageNamed:USERDEFAULT_LOGO]];
+    self.studentName.text = [NSString returnNoNullStringWithString:model.userName];
+    self.studentSubject.text = [NSString returnNoNullStringWithString:model.subjectName];
+        
+    if ([model.status isEqualToString:@"NOT_START"]) { // 未开始
+        self.courseStatus.text = @"未开始";
+        self.courseStatus.textColor = HexRGB(0xff802C);
+        // 判断按钮显示调课还是进入教室
+        BOOL canChange = NO;
+        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_TYPE_JOINROOM;
+            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_TYPE_JOINROOM;
+        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 = NO;
+        if (hasEvaluate) {
+            self.type = ACCOMPANY_TYPE_EVALUATE;
+            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)];
+        }
+    }
+}
+
+
 - (IBAction)chatAction:(id)sender {
-    
+    if (self.callback) {
+        self.callback(ACCOMPANY_TYPE_CHAT, self.sourceModel);
+    }
 }
 
-- (IBAction)courseAction:(id)sender {
+- (IBAction)courseAction:(UIButton *)sender {
+    if (self.callback) {
+        self.callback(self.type, self.sourceModel);
+    }
     
 }
 

+ 5 - 5
KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.xib

@@ -96,10 +96,10 @@
                                 </userDefinedRuntimeAttributes>
                             </view>
                             <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="NOA-EQ-Fjn">
-                                <rect key="frame" x="122" y="53" width="30" height="30"/>
+                                <rect key="frame" x="117" y="48" width="40" height="40"/>
                                 <constraints>
-                                    <constraint firstAttribute="height" constant="30" id="87u-cE-Y5V"/>
-                                    <constraint firstAttribute="width" constant="30" id="gOV-9c-ibN"/>
+                                    <constraint firstAttribute="height" constant="40" id="87u-cE-Y5V"/>
+                                    <constraint firstAttribute="width" constant="40" id="gOV-9c-ibN"/>
                                 </constraints>
                                 <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                                 <state key="normal" image="course_chat"/>
@@ -123,7 +123,7 @@
                                     </userDefinedRuntimeAttribute>
                                 </userDefinedRuntimeAttributes>
                                 <connections>
-                                    <action selector="courseAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="4Hc-wC-kDj"/>
+                                    <action selector="courseAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="Cjj-lv-UXo"/>
                                 </connections>
                             </button>
                         </subviews>
@@ -145,7 +145,7 @@
                             <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" constant="5" id="oGP-bV-vh8"/>
+                            <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"/>

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

@@ -13,6 +13,7 @@
 #import "LiveCourseCell.h"
 #import "MinePageMusicCell.h"
 #import "AuthDisplayView.h"
+#import "AccompanyLessonModel.h"
 
 @interface MinePageCourseView ()<UITableViewDelegate,UITableViewDataSource>
 
@@ -103,7 +104,11 @@
 
 - (void)requestData {
     if (self.selectIndex == 1) { // 陪练课
-        
+        [KSNetworkingManager accompanyCourseRequest:KS_POST classMonth:nil status:nil subjectId:nil page:self.pages rows:self.rows success:^(NSDictionary * _Nonnull dic) {
+            
+        } faliure:^(NSError * _Nonnull error) {
+            
+        }];
     }
     else if (self.selectIndex == 2) { // 直播课
         [KSNetworkingManager LiveCourseGroupRequest:KS_POST groupStatus:@"APPLY" page:self.pages rows:self.rows success:^(NSDictionary * _Nonnull dic) {

BIN
KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/AccompanyCourseCell.nib


BIN
KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/Assets.car


BIN
KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/FirstSettingBodyView.nib


BIN
KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/Info.plist


BIN
KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/KulexiuForTeacher


BIN
KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/LoginBodyView.nib


BIN
KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/Whiteboard.bundle/Info.plist


BIN
KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/Whiteboard.bundle/_CodeSignature/CodeDirectory


BIN
KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/Whiteboard.bundle/_CodeSignature/CodeRequirements-1


+ 92 - 37
KulexiuForTeacher/build/Debug-iphonesimulator/KulexiuForTeacher.app/_CodeSignature/CodeResources

@@ -14,15 +14,23 @@
 		</data>
 		<key>AccompanyArrangeCell.nib</key>
 		<data>
-		Y4zydWTckHGHs+uCgBZokuLme/Y=
+		lK/Cz52FgKvOiRkweHjfmmHBsJo=
 		</data>
 		<key>AccompanyCourseCell.nib</key>
 		<data>
-		T0uzLQw2sBbVtA+t2J9j+vwbeyU=
+		O2wZ484Gg5xmNK+OjLohLvZhfzI=
+		</data>
+		<key>AccompanyCourseInfoCell.nib</key>
+		<data>
+		UMPEIqCQ9pdmBkyzRpC24P1ja/E=
 		</data>
 		<key>AccompanyEvaluateCell.nib</key>
 		<data>
-		3QCXkG4edgPYoPpEuKxiXowh/VQ=
+		zg1oFrNs0rtCzV57XW2EDVa5FIM=
+		</data>
+		<key>AccompanyHomeworkCell.nib</key>
+		<data>
+		nqW58ZlVqketChgPd5C3KKR77hg=
 		</data>
 		<key>AccompanyNavView.nib</key>
 		<data>
@@ -30,15 +38,11 @@
 		</data>
 		<key>AccompanyRemarkCell.nib</key>
 		<data>
-		Tvqgu9Urj9ru69WkeVTqe6dPIn0=
+		ytpGRya/yvChNu1zwtxbN1GpJeA=
 		</data>
 		<key>AccompanyStudentEvaCell.nib</key>
 		<data>
-		wZIHVTO3WeLqVVzFRVLJI7wV7UA=
-		</data>
-		<key>AccompnayHomeworkCell.nib</key>
-		<data>
-		1IUXLmrRS8tIL2vX9y84A5WEmZI=
+		rfHG+TeAtTNNOnHYsvWlVk+Aiuk=
 		</data>
 		<key>AppIcon60x60@2x.png</key>
 		<data>
@@ -54,7 +58,7 @@
 		</data>
 		<key>Assets.car</key>
 		<data>
-		VK7HUZDw92shLwse6NF+lUCj+d4=
+		Co7x6LDHASjSlYjuacIPcR3Rn54=
 		</data>
 		<key>AuthDisplayView.nib</key>
 		<data>
@@ -124,13 +128,21 @@
 		<data>
 		jC9/sR83YPJTC8IzdG13kvnq3pA=
 		</data>
+		<key>EvaluateCouseCell.nib</key>
+		<data>
+		C5FY2y4gPfSL/PmutUw2+y4os3Q=
+		</data>
+		<key>EvaluateSortView.nib</key>
+		<data>
+		UJ5y7w0DpJxNA9hhN2EggwTXe2s=
+		</data>
 		<key>FeedbackBodyView.nib</key>
 		<data>
 		CPmXL5xjwanOk0GakfPTI7Qchjg=
 		</data>
 		<key>FirstSettingBodyView.nib</key>
 		<data>
-		hSsCqGKWC3l+cQ9HrIx3NdwG9ZA=
+		+haAowpiDxAh6neH+JbN2WfiPNA=
 		</data>
 		<key>Frameworks/RongChatRoom.framework/Info.plist</key>
 		<data>
@@ -308,9 +320,17 @@
 		<data>
 		p0GEco5l7Xk2vTjNyzFL8arC5L8=
 		</data>
+		<key>HomeworkListCell.nib</key>
+		<data>
+		FlPCpsdjciaNdLvRlrD5dAKkpXA=
+		</data>
+		<key>HomeworkSortView.nib</key>
+		<data>
+		rDkO9MRVO1rwLQ5M3HoQXoEfaQ4=
+		</data>
 		<key>Info.plist</key>
 		<data>
-		qPqpNUsS/dM68+YzVf9B5PWwNWo=
+		puVneBR6xx9F96uTXqQ43ptOx1c=
 		</data>
 		<key>InstrumentChooseBottonView.nib</key>
 		<data>
@@ -382,7 +402,7 @@
 		</data>
 		<key>LoginBodyView.nib</key>
 		<data>
-		eygSA+szlV+ijxLMOoTQ1pR8OXk=
+		NCtXkt54qL9yBOVrYmaTB1g5MuQ=
 		</data>
 		<key>MHSDK.bundle/2d_lut.png</key>
 		<data>
@@ -582,7 +602,7 @@
 		</data>
 		<key>MyLessonSearchView.nib</key>
 		<data>
-		VQiWSHrZzIUxj7pAp6FJ1LLjQbQ=
+		qp2nQGEF2d8+Co8KtmZzzGx3l+8=
 		</data>
 		<key>MyLiveCourseCell.nib</key>
 		<data>
@@ -606,7 +626,7 @@
 		</data>
 		<key>MyStyleVideoView.nib</key>
 		<data>
-		ji2czP6qG4mY9M6nAC0/ULpw/ZM=
+		PFDsdZMhBk3GvzGbtkjR1F7Fc2I=
 		</data>
 		<key>NetworkBodyView.nib</key>
 		<data>
@@ -3453,11 +3473,11 @@
 		</data>
 		<key>Whiteboard.bundle/Info.plist</key>
 		<data>
-		F+Kv5WwmTTLwERTxECu+kFHR+b4=
+		haREyhDUtKy4ohVoEJBzTJhgZpg=
 		</data>
 		<key>Whiteboard.bundle/_CodeSignature/CodeDirectory</key>
 		<data>
-		/8+pgwEOpWaCnX3sMZ07gtTf0rc=
+		QM+D0pHd8XbewyPy2ZxwznnUKGA=
 		</data>
 		<key>Whiteboard.bundle/_CodeSignature/CodeRequirements</key>
 		<data>
@@ -3465,7 +3485,7 @@
 		</data>
 		<key>Whiteboard.bundle/_CodeSignature/CodeRequirements-1</key>
 		<data>
-		55WfSog9rzfGwH4L9AEuR0aUKuk=
+		oS4DQZfHi3ASXGlRfbEKDeByFVE=
 		</data>
 		<key>Whiteboard.bundle/_CodeSignature/CodeResources</key>
 		<data>
@@ -3628,49 +3648,56 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			d2BPfv66/92IYtKdo2u0eIDpt8KoPKaDe6YgIQ0KFFA=
+			bwPcvGt7gj5YbaX97wmNEwuKvHa2Ss5ZJvMqllRCdQo=
 			</data>
 		</dict>
 		<key>AccompanyCourseCell.nib</key>
 		<dict>
 			<key>hash2</key>
 			<data>
-			tugAq2V2AopP3Q3UQ3lh2ZPygy8h/tE2aQ+HsdQSd44=
+			zuTR2eszBms2nZLjWywYoo4ut6nZ8cY4sqqqX6N5YTM=
+			</data>
+		</dict>
+		<key>AccompanyCourseInfoCell.nib</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			9BJi5tzoZNcyROVraLpIIVHiZco/zKRbpdaxysCDEy8=
 			</data>
 		</dict>
 		<key>AccompanyEvaluateCell.nib</key>
 		<dict>
 			<key>hash2</key>
 			<data>
-			U7AopDIywwoUYXgjrp+Cd3ESRH2gVHTIGIRL4+caIok=
+			GsS8FyF3wfDov8Je4nB9uY52u4GFsN79rc5nKRBAVJ0=
 			</data>
 		</dict>
-		<key>AccompanyNavView.nib</key>
+		<key>AccompanyHomeworkCell.nib</key>
 		<dict>
 			<key>hash2</key>
 			<data>
-			vV8Qsp4yqrHky4zs0PKoQyxljPVEh3XxSdvDk5fUKRc=
+			7jxDCaEDU/PbVQta6eMgmERaodaQ5J2+TdrB+bgTQuQ=
 			</data>
 		</dict>
-		<key>AccompanyRemarkCell.nib</key>
+		<key>AccompanyNavView.nib</key>
 		<dict>
 			<key>hash2</key>
 			<data>
-			KTTkxflLhPJ0CQvxtszK/NpgezK59HoGsMsNl+2eCLs=
+			vV8Qsp4yqrHky4zs0PKoQyxljPVEh3XxSdvDk5fUKRc=
 			</data>
 		</dict>
-		<key>AccompanyStudentEvaCell.nib</key>
+		<key>AccompanyRemarkCell.nib</key>
 		<dict>
 			<key>hash2</key>
 			<data>
-			VuwRmxP/hIZwZ3I3C1UO6AwbW45M7LO9SzH1Zd8LVU4=
+			hPSjXNNa88aC1bg7c2EzhDj7gOguYsdXKMSJoY12vlA=
 			</data>
 		</dict>
-		<key>AccompnayHomeworkCell.nib</key>
+		<key>AccompanyStudentEvaCell.nib</key>
 		<dict>
 			<key>hash2</key>
 			<data>
-			Ky/z6fiR4SMUWPucoQdehtOvTqMRO48uz7w91DG5jFA=
+			05H5iklNYy65rB9Nj/xk9AeB1ugqau6idD6eyEPL0y8=
 			</data>
 		</dict>
 		<key>AppIcon60x60@2x.png</key>
@@ -3698,7 +3725,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			IK6njEkD82DMQDQ5GuCTtaMmUzGhM1Omh7kwfvzhYHA=
+			oJIkckEiIeJbRFwdZBL6S5/FW8YvFj5tNpydF7SfPNw=
 			</data>
 		</dict>
 		<key>AuthDisplayView.nib</key>
@@ -3820,6 +3847,20 @@
 			PJFHLUwY6l0v1oy1Ex29rtGNVvw9Ywqu36mHnY/edzw=
 			</data>
 		</dict>
+		<key>EvaluateCouseCell.nib</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			2HReoo1Ca4uavfJ/b/H6aZgj83R/S1DdQ5xeydm9+yY=
+			</data>
+		</dict>
+		<key>EvaluateSortView.nib</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			lagdOMpy5wur5A+L4krVB6Cpuw24OQEOb5KTqfjQR+w=
+			</data>
+		</dict>
 		<key>FeedbackBodyView.nib</key>
 		<dict>
 			<key>hash2</key>
@@ -3831,7 +3872,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			MzIj9AEt3dqatvAJsQm0BPv4rzKr/daxdel64N+Jwzk=
+			gcHDof4+cVvcDf7gGqHlW1envePzVcXFmW8IqvMqyJc=
 			</data>
 		</dict>
 		<key>Frameworks/RongChatRoom.framework/Info.plist</key>
@@ -4142,6 +4183,20 @@
 			A/KYuWCwGsg1qUkHOIdqzWtlpzqec43aKYeiLMYuTuQ=
 			</data>
 		</dict>
+		<key>HomeworkListCell.nib</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			ct3Q3uHCZcKmRI+nf0Bi2wbDsbVmxfY9bFGWCJXNExM=
+			</data>
+		</dict>
+		<key>HomeworkSortView.nib</key>
+		<dict>
+			<key>hash2</key>
+			<data>
+			p0WlDwsSoDmf1A0Tfe5Q3Gijsexk7abTYCrI6P6ytDA=
+			</data>
+		</dict>
 		<key>InstrumentChooseBottonView.nib</key>
 		<dict>
 			<key>hash2</key>
@@ -4265,7 +4320,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			sL4uQcjlXVc/9T2TzH8Mxxcl6e70y7IqfdASzm1AatM=
+			SjZJo7tqHpl7cerVOYiN+N874B2uctMSXQ0UiMMR1Xs=
 			</data>
 		</dict>
 		<key>MHSDK.bundle/2d_lut.png</key>
@@ -4588,7 +4643,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			QOoWHMO5BkNY+aZA0keTXbVQO/Pfb2P0ebGJV3FHkOQ=
+			az2nd6GjPqeQJRWODCmAf0E1ON0uogID6s9t7p0s/cU=
 			</data>
 		</dict>
 		<key>MyLiveCourseCell.nib</key>
@@ -4630,7 +4685,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			DN8bi5S073oPf3amhMAPStLpren/snunNxd4A/oR1AQ=
+			rr426amFvIZK15l0pTHJDnxEFt9w91flGnyeQA2bcTE=
 			</data>
 		</dict>
 		<key>NetworkBodyView.nib</key>
@@ -9126,14 +9181,14 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			QlYAUCcb81spD0jj6am3COFr3a/J4Y8/lowxFWUZkoA=
+			IUi4oA2gXmQyWfQ+sJY/wB82vMOk7J5g6bFDEuZmoGQ=
 			</data>
 		</dict>
 		<key>Whiteboard.bundle/_CodeSignature/CodeDirectory</key>
 		<dict>
 			<key>hash2</key>
 			<data>
-			jzSy/hgsW7lrJ8COzbLIcjHq8fnTRLVAoz+pp66gQT4=
+			/HGvw6HsiAU6TtQDWD72jroN8aXCCp/Kq/KpQfOyfOo=
 			</data>
 		</dict>
 		<key>Whiteboard.bundle/_CodeSignature/CodeRequirements</key>
@@ -9147,7 +9202,7 @@
 		<dict>
 			<key>hash2</key>
 			<data>
-			n6DehKIX2Kpfwi4y/5/thjw3OuPJX/INnRMmNm1K6EU=
+			CVkrbaEh9zRaknOIf77vmOe12Ju0ep8AebrBD9sat9Q=
 			</data>
 		</dict>
 		<key>Whiteboard.bundle/_CodeSignature/CodeResources</key>

BIN
KulexiuForTeacher/build/Debug-iphonesimulator/Whiteboard/Whiteboard.bundle/Info.plist


BIN
KulexiuForTeacher/build/Debug-iphonesimulator/Whiteboard/Whiteboard.bundle/_CodeSignature/CodeDirectory


BIN
KulexiuForTeacher/build/Debug-iphonesimulator/Whiteboard/Whiteboard.bundle/_CodeSignature/CodeRequirements-1


BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphoneos/KulexiuForTeacher.build/KulexiuForTeacher-project-headers.hmap


+ 6 - 2
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/DerivedSources/Entitlements-Simulated.plist

@@ -7,13 +7,17 @@
 	<key>aps-environment</key>
 	<string>development</string>
 	<key>com.apple.developer.icloud-container-identifiers</key>
-	<array/>
+	<array>
+		<string>iCloud.com.example.vlc-iosasdd</string>
+	</array>
 	<key>com.apple.developer.icloud-services</key>
 	<array>
 		<string>CloudDocuments</string>
 	</array>
 	<key>com.apple.developer.ubiquity-container-identifiers</key>
-	<array/>
+	<array>
+		<string>iCloud.com.example.vlc-iosasdd</string>
+	</array>
 	<key>keychain-access-groups</key>
 	<array>
 		<string>P664H7S5LL.com.JingMing.Kulexiu</string>

BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/KulexiuForTeacher-project-headers.hmap


+ 6 - 2
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/KulexiuForTeacher.app-Simulated.xcent

@@ -7,13 +7,17 @@
 	<key>aps-environment</key>
 	<string>development</string>
 	<key>com.apple.developer.icloud-container-identifiers</key>
-	<array/>
+	<array>
+		<string>iCloud.com.example.vlc-iosasdd</string>
+	</array>
 	<key>com.apple.developer.icloud-services</key>
 	<array>
 		<string>CloudDocuments</string>
 	</array>
 	<key>com.apple.developer.ubiquity-container-identifiers</key>
-	<array/>
+	<array>
+		<string>iCloud.com.example.vlc-iosasdd</string>
+	</array>
 	<key>keychain-access-groups</key>
 	<array>
 		<string>P664H7S5LL.com.JingMing.Kulexiu</string>

+ 2 - 1
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/AccompanyCourseCell.d

@@ -41,4 +41,5 @@ dependencies: \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Common/Tools/SafeControl/NSMutableString+KSSafe.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Common/Tools/SafeControl/NSObject+KSImpChangeTool.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Common/Tools/SafeControl/NSObject+KSSwizzling.h \
-  /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.h
+  /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.h \
+  /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/Model/AccompanyLessonModel.h

BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/AccompanyCourseCell.o


+ 1 - 0
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/CourseViewController.d

@@ -55,5 +55,6 @@ dependencies: \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Course/View/LTSCalendarBottomView.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Common/Tools/Custom/KSFullDatePicker.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.h \
+  /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/Model/AccompanyLessonModel.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/LiveCourseCell.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Mine/LiveCourse/Model/LiveCourseModel.h

BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/CourseViewController.o


BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/FirstSettingViewController.o


BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/GroupApplyViewController.o


BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/GroupMemberViewController.o


BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/GroupNoticeViewController.o


+ 3 - 1
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HomeViewController.d

@@ -54,4 +54,6 @@ dependencies: \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSWebNavView.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSWebBackButton.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/Controller/MyMusicViewController.h \
-  /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/Controller/MyCourseViewController.h
+  /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/Controller/MyCourseViewController.h \
+  /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Home/Homework/Controller/HomeworkListViewController.h \
+  /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Home/EvaluateCourse/Controller/EvaluateCourseListViewController.h

BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HomeViewController.dia


BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HomeViewController.o


BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSNetworkingManager.o


BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KeyChainTools.o


+ 11 - 1
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KulexiuForTeacher.LinkFileList

@@ -12,6 +12,7 @@
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/MusicUploadView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/UIView+Hints.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/UITextView_Toolbar.o
+/Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/EvaluateSortView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSLiveChatroomUserQuit.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/ModifyNameViewController.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/InputBarControl.o
@@ -26,6 +27,7 @@
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HomeHeadView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/NSObject+KSDateFormatter.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/NSArray+zh_SafeAccess.o
+/Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/AccompanyCourseInfoCell.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/NewClassRoomViewController.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/UIView+SDExtension.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/ToolPanelView.o
@@ -56,6 +58,8 @@
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/MyStyleViewController.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/TZGifPhotoPreviewController.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/ChatAddressViewController.o
+/Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/EvaluateCourseListViewController.o
+/Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HomeworkBodyView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/ViewController.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSVideoHelper.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSChatConversationViewController.o
@@ -219,6 +223,7 @@
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSNetworkAccessibleManager.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/ClassroomTimerManager.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/GroupCreateView.o
+/Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HomeworkSortView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/ShopMallViewController.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/ClassTitleView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/FSCalendarCollectionViewLayout.o
@@ -249,6 +254,7 @@
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/MBProgressHUD+KSShow.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/YKNodeModel.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/ChatAddressBodyView.o
+/Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HomeworkListCell.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/LiveCourseModel.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/ALCalendarCollectionView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/kSJXCollectionView.o
@@ -298,7 +304,6 @@
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/UIDevice+zhDeviceType.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/MSSBrowseActionSheet.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/GroupListViewCell.o
-/Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/AccompnayHomeworkCell.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSRCMessageModel.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/PasswordLoginController.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/TicketExpiredMessage.o
@@ -394,7 +399,9 @@
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/VideoListBodyView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/NSString+MD5.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSChoosePicker.o
+/Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/EvaluateCouseCell.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HTTPResult.o
+/Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/AccompanyHomeworkCell.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSICloudManager.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/NSMutableAttributedString+CZHExtention.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/InstrumentChooseViewController.o
@@ -422,6 +429,7 @@
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/MSSBrowseModel.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/UIViewController+zhStatusBarStyle.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSBeautySettingView.o
+/Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/EvaluateCourseBodyView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/MSSBrowseLoadingImageView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/FastForwardView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/RecordCheckManager.o
@@ -432,6 +440,7 @@
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/WhiteboardMessage.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSAudioSessionManager.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSNetworkAlert.o
+/Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HomeworkDetailViewController.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSChatListSearchView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/FSCalendarConstants.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSLiveChatroomSeatResponse.o
@@ -440,6 +449,7 @@
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/InputTextField.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KSRecordStatusView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/MSSBrowseBaseViewController.o
+/Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/HomeworkListViewController.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/MainContainerView.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/WMPlayer.o
 /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/NSObject+ReadDocument-a71180d7fb30ca3833b2a7ac0def0d4a.o

BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/KulexiuForTeacher_dependency_info.dat


+ 1 - 0
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/MinePageCourseView.d

@@ -53,6 +53,7 @@ dependencies: \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Common/Base/KSWebBackButton.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Home/Music/Model/MusicMessageModel.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/AccompanyCourseCell.h \
+  /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Home/MyCourse/Model/AccompanyLessonModel.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/LiveCourseCell.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Mine/LiveCourse/Model/LiveCourseModel.h \
   /Users/wangzhi/DayaWorkspace/klx_teacher/KulexiuForTeacher/KulexiuForTeacher/Module/Mine/MinePage/View/MinePageMusicCell.h \

BIN
KulexiuForTeacher/build/KulexiuForTeacher.build/Debug-iphonesimulator/KulexiuForTeacher.build/Objects-normal/x86_64/MinePageCourseView.o


Some files were not shown because too many files changed in this diff