HF_Q 4 yıl önce
ebeveyn
işleme
b1872fa8b2
100 değiştirilmiş dosya ile 2125 ekleme ve 1157 silme
  1. 30 6
      smartRhino.xcodeproj/project.pbxproj
  2. BIN
      smartRhino.xcworkspace/xcuserdata/niuzhen.xcuserdatad/UserInterfaceState.xcuserstate
  3. 11 11
      smartRhino.xcworkspace/xcuserdata/niuzhen.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist
  4. 12 2
      smartRhino/AppConfig.h
  5. 45 33
      smartRhino/AppDelegate.m
  6. 22 0
      smartRhino/Assets.xcassets/comment_mix_star_black.imageset/Contents.json
  7. BIN
      smartRhino/Assets.xcassets/comment_mix_star_black.imageset/comment_mix_star_black@2x.png
  8. BIN
      smartRhino/Assets.xcassets/comment_mix_star_black.imageset/comment_mix_star_black@3x.png
  9. 22 0
      smartRhino/Assets.xcassets/comment_mix_star_gray.imageset/Contents.json
  10. BIN
      smartRhino/Assets.xcassets/comment_mix_star_gray.imageset/comment_mix_star_gray@2x.png
  11. BIN
      smartRhino/Assets.xcassets/comment_mix_star_gray.imageset/comment_mix_star_gray@3x.png
  12. 3 3
      smartRhino/Assets.xcassets/首页/Contents.json
  13. 22 0
      smartRhino/Assets.xcassets/首页/home_scan.imageset/Contents.json
  14. BIN
      smartRhino/Assets.xcassets/首页/home_scan.imageset/home_scan@2x.png
  15. BIN
      smartRhino/Assets.xcassets/首页/home_scan.imageset/home_scan@3x.png
  16. 17 6
      smartRhino/FwzAppConfig.h
  17. 6 6
      smartRhino/Project/Base/SubClass/Button/ShowBtn.m
  18. 1 1
      smartRhino/Project/Tools/HttpManager/HttpManager.m
  19. 2 0
      smartRhino/Project/VCModel/ChatMessage/Chat/EMChatViewController.h
  20. 32 7
      smartRhino/Project/VCModel/ChatMessage/Chat/EMChatViewController.m
  21. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatListMoveVC.m
  22. 0 1
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsg/Controller/ChatGroupDeleteVC.h
  23. 44 7
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsg/Controller/ChatGroupDeleteVC.m
  24. 340 348
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsg/Controller/ChatMsgDetailChatInfoVC.m
  25. 0 1
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsg/Controller/DetailChatInfoAllUserVC.h
  26. 32 16
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsg/Controller/DetailChatInfoAllUserVC.m
  27. 3 0
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgListVC.h
  28. 59 30
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgListVC.m
  29. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgNotice/Controller/MoveSearchVC.h
  30. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgNotice/Controller/MoveViewController.h
  31. 5 5
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgNotice/Controller/MoveViewController.m
  32. 5 6
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgNotice/View/ChatMsgNoticeCell.m
  33. 27 3
      smartRhino/Project/VCModel/ChatMessage/Controller/ChatQrcodeVC.m
  34. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailAddUserSearch.h
  35. 2 3
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailChatVC.m
  36. 15 3
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailGroupListSerachVC.m
  37. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailListByZuVC.h
  38. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailListDetailVC.h
  39. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailListSearchVC.h
  40. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailListVC.h
  41. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShareCusVC.h
  42. 19 18
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShareCusVC.m
  43. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShareListVC.h
  44. 61 78
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShareListVC.m
  45. 2 2
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShareSysVC.h
  46. 22 19
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShareSysVC.m
  47. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShowDesVC.h
  48. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShowSysVC.h
  49. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShowUserVC.h
  50. 2 2
      smartRhino/Project/VCModel/ChatMessage/Controller/MailList/View/MailListCell.m
  51. 2 2
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/Cell/ChatNewRowCell.m
  52. 1 0
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/AddGroupLabelVC.m
  53. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/MyTDGroupViewController.h
  54. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupDraftListVC.h
  55. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupInfoListVC.h
  56. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupSearchResultVC.h
  57. 15 2
      smartRhino/Project/VCModel/ChatMessage/Controller/TDInternalLeter/contoller/TDInterLeterHomeViewController.m
  58. 50 18
      smartRhino/Project/VCModel/ChatMessage/Controller/WaitWork/VC/WaitWorkVC.m
  59. 48 12
      smartRhino/Project/VCModel/ChatMessage/Controller/WaitWork/View/GFCalendar/GFCalendarView.m
  60. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/WaitWork/View/GroupShowListView.m
  61. 1 1
      smartRhino/Project/VCModel/ChatMessage/Controller/WaitWork/View/TopicShowListView.m
  62. 0 1
      smartRhino/Project/VCModel/ChatMessage/Controller/WaitWork/View/WaitTimePicker.m
  63. 30 39
      smartRhino/Project/VCModel/ChatMessage/Controller/WaitWork/WaitWork.storyboard
  64. 2 2
      smartRhino/Project/VCModel/ChatMessage/View/ChatMsgListCell.m
  65. 3 2
      smartRhino/Project/VCModel/Home/Model/HomeTopImageModel.h
  66. 2 2
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/MyTDTopicCreateVC.h
  67. 93 42
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/MyTDTopicCreateVC.m
  68. 51 13
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/MyTDTopicDetailVC.m
  69. 1 1
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/MyTDTopicGroupSearchVC.h
  70. 1 1
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/MyTDTopicSearchVC.h
  71. 1 1
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/MyTDTopicViewController.h
  72. 17 0
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/ShowImageVC.h
  73. 98 0
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/ShowImageVC.m
  74. 8 4
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/TopicBook/MyTDTopicBookVC.m
  75. 1 0
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/MHComment.h
  76. 2 0
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/MHTopic.h
  77. 2 0
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/MHTopicCell.h
  78. 31 1
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/MHTopicCell.m
  79. 4 0
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/MHTopicFrame.h
  80. 19 4
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/MHTopicFrame.m
  81. 2 2
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/TopicBookCell.m
  82. 2 2
      smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/TopicGroupManageCell.m
  83. 1 1
      smartRhino/Project/VCModel/Home/VC/BookStore/BookDetail.storyboard
  84. 115 123
      smartRhino/Project/VCModel/Home/VC/BookStore/BookStore.storyboard
  85. 3 0
      smartRhino/Project/VCModel/Home/VC/BookStore/Model/BookMeidaModel.h
  86. 21 0
      smartRhino/Project/VCModel/Home/VC/BookStore/Model/BookQiKanListModel.h
  87. 13 0
      smartRhino/Project/VCModel/Home/VC/BookStore/Model/BookQiKanListModel.m
  88. 18 0
      smartRhino/Project/VCModel/Home/VC/BookStore/Model/BookQiKanNavModel.h
  89. 13 0
      smartRhino/Project/VCModel/Home/VC/BookStore/Model/BookQiKanNavModel.m
  90. 1 0
      smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookAllLookVC.h
  91. 157 54
      smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookAllLookVC.m
  92. 21 5
      smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookCommentVC.m
  93. 1 1
      smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookContentNavVC.m
  94. 17 11
      smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookMingDetailVC.m
  95. 1 1
      smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookMingVC.m
  96. 3 1
      smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookPeriodicaDetailVC.h
  97. 316 168
      smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookPeriodicaDetailVC.m
  98. 2 0
      smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookPeriodicaListVC.h
  99. 54 5
      smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookPeriodicaListVC.m
  100. 0 0
      smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookSearch/BookLabelAllVC.m

+ 30 - 6
smartRhino.xcodeproj/project.pbxproj

@@ -888,7 +888,6 @@
 		EB5E18C5247F88E800EDB76E /* BookPublicBookCell.m in Sources */ = {isa = PBXBuildFile; fileRef = EB5E18C3247F88E800EDB76E /* BookPublicBookCell.m */; };
 		EB5E18C6247F88E800EDB76E /* BookPublicBookCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = EB5E18C4247F88E800EDB76E /* BookPublicBookCell.xib */; };
 		EB5E18CC247F969D00EDB76E /* BookPeriodicaDetailVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EB5E18CB247F969D00EDB76E /* BookPeriodicaDetailVC.m */; };
-		EB5E18CF247F97D100EDB76E /* BookSubPeriodicaVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EB5E18CD247F97D000EDB76E /* BookSubPeriodicaVC.m */; };
 		EB5E18D3247FAB2100EDB76E /* BookSubPeriodicaCell.m in Sources */ = {isa = PBXBuildFile; fileRef = EB5E18D1247FAB2100EDB76E /* BookSubPeriodicaCell.m */; };
 		EB5E18D4247FAB2100EDB76E /* BookSubPeriodicaCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = EB5E18D2247FAB2100EDB76E /* BookSubPeriodicaCell.xib */; };
 		EB5F44F42474BFAD008D316D /* HomeGoodBookCell.m in Sources */ = {isa = PBXBuildFile; fileRef = EB5F44F22474BFAD008D316D /* HomeGoodBookCell.m */; };
@@ -1310,6 +1309,8 @@
 		EBB83E5223B3668C00A8C4BC /* ChangeTopicModel.m in Sources */ = {isa = PBXBuildFile; fileRef = EBB83E5123B3668C00A8C4BC /* ChangeTopicModel.m */; };
 		EBB8D06C251D818B0051C897 /* BookLabelSearchVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EBB8D06A251D818A0051C897 /* BookLabelSearchVC.m */; };
 		EBB8D070251E00600051C897 /* BookBillBoardSearchVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EBB8D06E251E00600051C897 /* BookBillBoardSearchVC.m */; };
+		EBBC59D925315E4500AB12EF /* LoginPCVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EBBC59D825315E4500AB12EF /* LoginPCVC.m */; };
+		EBBC59DD25318F7A00AB12EF /* ShowImageVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EBBC59DC25318F7A00AB12EF /* ShowImageVC.m */; };
 		EBBD5E612519A2D8007B174E /* BookSearchVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EBBD5E5F2519A2D8007B174E /* BookSearchVC.m */; };
 		EBBD5E662519A393007B174E /* BookSearchSubVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EBBD5E642519A392007B174E /* BookSearchSubVC.m */; };
 		EBBD5E6A2519CB4E007B174E /* BookLabelAllVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EBBD5E692519CB4E007B174E /* BookLabelAllVC.m */; };
@@ -1336,6 +1337,9 @@
 		EBC4866724B3128B0013AEF7 /* BookMeidaModel.m in Sources */ = {isa = PBXBuildFile; fileRef = EBC4866624B3128B0013AEF7 /* BookMeidaModel.m */; };
 		EBC64DD123C6B78D00558368 /* SelectSaveVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EBC64DD023C6B78D00558368 /* SelectSaveVC.m */; };
 		EBC7BF9423ED2E5200678A66 /* UILabelCopy.m in Sources */ = {isa = PBXBuildFile; fileRef = EBC7BF9323ED2E5200678A66 /* UILabelCopy.m */; };
+		EBC9BFA725343341000BD6F7 /* PushModel.m in Sources */ = {isa = PBXBuildFile; fileRef = EBC9BFA625343341000BD6F7 /* PushModel.m */; };
+		EBCBA9942522DF8200D3E405 /* BookQiKanListModel.m in Sources */ = {isa = PBXBuildFile; fileRef = EBCBA9932522DF8100D3E405 /* BookQiKanListModel.m */; };
+		EBCBA9992522FCFF00D3E405 /* BookQiKanNavModel.m in Sources */ = {isa = PBXBuildFile; fileRef = EBCBA9972522FCFF00D3E405 /* BookQiKanNavModel.m */; };
 		EBCC209124B6EC7F001BDCDC /* GroupSquareSubModel.m in Sources */ = {isa = PBXBuildFile; fileRef = EBCC209024B6EC7F001BDCDC /* GroupSquareSubModel.m */; };
 		EBCC209424B726EC001BDCDC /* UILabel+YBAttributeTextTapAction.m in Sources */ = {isa = PBXBuildFile; fileRef = EBCC209224B726EC001BDCDC /* UILabel+YBAttributeTextTapAction.m */; };
 		EBCC49C824EFC47500837F5F /* InterMailEditSearchVC.m in Sources */ = {isa = PBXBuildFile; fileRef = EBCC49C724EFC47500837F5F /* InterMailEditSearchVC.m */; };
@@ -3090,8 +3094,6 @@
 		EB5E18C4247F88E800EDB76E /* BookPublicBookCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BookPublicBookCell.xib; sourceTree = "<group>"; };
 		EB5E18CA247F969C00EDB76E /* BookPeriodicaDetailVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BookPeriodicaDetailVC.h; sourceTree = "<group>"; };
 		EB5E18CB247F969D00EDB76E /* BookPeriodicaDetailVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BookPeriodicaDetailVC.m; sourceTree = "<group>"; };
-		EB5E18CD247F97D000EDB76E /* BookSubPeriodicaVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BookSubPeriodicaVC.m; sourceTree = "<group>"; };
-		EB5E18CE247F97D100EDB76E /* BookSubPeriodicaVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BookSubPeriodicaVC.h; sourceTree = "<group>"; };
 		EB5E18D0247FAB2100EDB76E /* BookSubPeriodicaCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = BookSubPeriodicaCell.h; sourceTree = "<group>"; };
 		EB5E18D1247FAB2100EDB76E /* BookSubPeriodicaCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = BookSubPeriodicaCell.m; sourceTree = "<group>"; };
 		EB5E18D2247FAB2100EDB76E /* BookSubPeriodicaCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = BookSubPeriodicaCell.xib; sourceTree = "<group>"; };
@@ -3794,6 +3796,10 @@
 		EBB8D06B251D818A0051C897 /* BookLabelSearchVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BookLabelSearchVC.h; sourceTree = "<group>"; };
 		EBB8D06E251E00600051C897 /* BookBillBoardSearchVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BookBillBoardSearchVC.m; sourceTree = "<group>"; };
 		EBB8D06F251E00600051C897 /* BookBillBoardSearchVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BookBillBoardSearchVC.h; sourceTree = "<group>"; };
+		EBBC59D725315E4500AB12EF /* LoginPCVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = LoginPCVC.h; sourceTree = "<group>"; };
+		EBBC59D825315E4500AB12EF /* LoginPCVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = LoginPCVC.m; sourceTree = "<group>"; };
+		EBBC59DB25318F7A00AB12EF /* ShowImageVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ShowImageVC.h; sourceTree = "<group>"; };
+		EBBC59DC25318F7A00AB12EF /* ShowImageVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ShowImageVC.m; sourceTree = "<group>"; };
 		EBBD5E5F2519A2D8007B174E /* BookSearchVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BookSearchVC.m; sourceTree = "<group>"; };
 		EBBD5E602519A2D8007B174E /* BookSearchVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BookSearchVC.h; sourceTree = "<group>"; };
 		EBBD5E642519A392007B174E /* BookSearchSubVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BookSearchSubVC.m; sourceTree = "<group>"; };
@@ -3840,6 +3846,12 @@
 		EBC64DD023C6B78D00558368 /* SelectSaveVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = SelectSaveVC.m; sourceTree = "<group>"; };
 		EBC7BF9223ED2E5200678A66 /* UILabelCopy.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = UILabelCopy.h; sourceTree = "<group>"; };
 		EBC7BF9323ED2E5200678A66 /* UILabelCopy.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = UILabelCopy.m; sourceTree = "<group>"; };
+		EBC9BFA525343341000BD6F7 /* PushModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = PushModel.h; sourceTree = "<group>"; };
+		EBC9BFA625343341000BD6F7 /* PushModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = PushModel.m; sourceTree = "<group>"; };
+		EBCBA9922522DF8100D3E405 /* BookQiKanListModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BookQiKanListModel.h; sourceTree = "<group>"; };
+		EBCBA9932522DF8100D3E405 /* BookQiKanListModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BookQiKanListModel.m; sourceTree = "<group>"; };
+		EBCBA9972522FCFF00D3E405 /* BookQiKanNavModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = BookQiKanNavModel.m; sourceTree = "<group>"; };
+		EBCBA9982522FCFF00D3E405 /* BookQiKanNavModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = BookQiKanNavModel.h; sourceTree = "<group>"; };
 		EBCC208F24B6EC7F001BDCDC /* GroupSquareSubModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = GroupSquareSubModel.h; sourceTree = "<group>"; };
 		EBCC209024B6EC7F001BDCDC /* GroupSquareSubModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = GroupSquareSubModel.m; sourceTree = "<group>"; };
 		EBCC209224B726EC001BDCDC /* UILabel+YBAttributeTextTapAction.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UILabel+YBAttributeTextTapAction.m"; sourceTree = "<group>"; };
@@ -5130,6 +5142,8 @@
 				324D961123A2326300C7D9E8 /* ColletionVC */,
 				C6227130236C122500E2E3BF /* My_CenterVC.h */,
 				C622712F236C122500E2E3BF /* My_CenterVC.m */,
+				EBBC59D725315E4500AB12EF /* LoginPCVC.h */,
+				EBBC59D825315E4500AB12EF /* LoginPCVC.m */,
 				C6F2E180236C266F009E6903 /* MyInfoVC.h */,
 				C6F2E181236C266F009E6903 /* MyInfoVC.m */,
 				EB98E7B02405FF090087C4E2 /* MyUserIconVC.h */,
@@ -5990,6 +6004,8 @@
 				EB820ADE23BC97BA00B96C6C /* MyTDTopicUserSearchVC.m */,
 				EB5A586E23AB512100B93149 /* MyTDTopicDetailVC.h */,
 				EB5A586F23AB512100B93149 /* MyTDTopicDetailVC.m */,
+				EBBC59DB25318F7A00AB12EF /* ShowImageVC.h */,
+				EBBC59DC25318F7A00AB12EF /* ShowImageVC.m */,
 				EB5A587123AB7D5800B93149 /* MyTDTopicSearchVC.h */,
 				EB5A587223AB7D5800B93149 /* MyTDTopicSearchVC.m */,
 				EBCFA0F523AC6CBC00A62645 /* MyTDTopicUserMoveVC.h */,
@@ -7819,6 +7835,8 @@
 				C7F61629238C06F0008AF22D /* UserManager.m */,
 				C7F61627238C068A008AF22D /* AppUserModel.h */,
 				C7F61626238C068A008AF22D /* AppUserModel.m */,
+				EBC9BFA525343341000BD6F7 /* PushModel.h */,
+				EBC9BFA625343341000BD6F7 /* PushModel.m */,
 			);
 			path = Model;
 			sourceTree = "<group>";
@@ -7920,6 +7938,10 @@
 				EBB588D125208A70005B3988 /* BookProblemModel.m */,
 				EB195A5F2521BA1600EA68D3 /* BookCommentHeadModel.h */,
 				EB195A602521BA1600EA68D3 /* BookCommentHeadModel.m */,
+				EBCBA9922522DF8100D3E405 /* BookQiKanListModel.h */,
+				EBCBA9932522DF8100D3E405 /* BookQiKanListModel.m */,
+				EBCBA9982522FCFF00D3E405 /* BookQiKanNavModel.h */,
+				EBCBA9972522FCFF00D3E405 /* BookQiKanNavModel.m */,
 			);
 			path = Model;
 			sourceTree = "<group>";
@@ -7973,8 +7995,6 @@
 				EB7F3740247E357E00E7FAD6 /* BookMingArticeDetailVC.m */,
 				EB5E18CA247F969C00EDB76E /* BookPeriodicaDetailVC.h */,
 				EB5E18CB247F969D00EDB76E /* BookPeriodicaDetailVC.m */,
-				EB5E18CE247F97D100EDB76E /* BookSubPeriodicaVC.h */,
-				EB5E18CD247F97D000EDB76E /* BookSubPeriodicaVC.m */,
 				EBB2402B2480A79700EECD15 /* BookPeriodicaListVC.h */,
 				EBB2402C2480A79700EECD15 /* BookPeriodicaListVC.m */,
 				EB18108A24888DC3009EDEF5 /* BookTextBookVC.h */,
@@ -10097,6 +10117,7 @@
 				EB7F3745247E3BEE00E7FAD6 /* BookCardBuyCell.m in Sources */,
 				EBB83E4E23B35FD300A8C4BC /* ChangeTopicCell.m in Sources */,
 				C59D0C1523825DE1007D0760 /* YYTextLayout.m in Sources */,
+				EBBC59DD25318F7A00AB12EF /* ShowImageVC.m in Sources */,
 				EBE1E2CA2494BE7500DB80BF /* HFAlert.m in Sources */,
 				C6227127236C11A800E2E3BF /* UIViewController+GHTheme.m in Sources */,
 				EB3DCA52245552AE000A0189 /* ShareCusVC.m in Sources */,
@@ -10298,7 +10319,6 @@
 				32A72DB323BA02510018BA9D /* WZContactModel.m in Sources */,
 				C6F2E1DE236D126B009E6903 /* UIView+GH.m in Sources */,
 				C76CC9DC23BC9E25003B23DC /* MeetingRecordUserCell.m in Sources */,
-				EB5E18CF247F97D100EDB76E /* BookSubPeriodicaVC.m in Sources */,
 				C7D6BB9A235DA18A00770E7C /* UIControl+Blocks.m in Sources */,
 				C59D0C4023825DE1007D0760 /* YYCGUtilities.m in Sources */,
 				EBB6887A23C9C0C300E24DD9 /* MMBaseRichContentCell.m in Sources */,
@@ -10375,6 +10395,7 @@
 				C625AA8E236FCDD30010E967 /* ChatMsgSearchHistoryVC.m in Sources */,
 				C59D0C3D23825DE1007D0760 /* NSNotificationCenter+YYAdd.m in Sources */,
 				EB41513E246BC71500030371 /* BookStoreHome.m in Sources */,
+				EBCBA9942522DF8200D3E405 /* BookQiKanListModel.m in Sources */,
 				C62270AE236C09FC00E2E3BF /* LeeTagItemViewModel.m in Sources */,
 				C7D6BB3D235DA18A00770E7C /* MyChanelCollectionReusableViewTop.m in Sources */,
 				C7D6BC99235DA1CE00770E7C /* PersonalCertificationHeaderView.m in Sources */,
@@ -10451,6 +10472,7 @@
 				EBD623192514A21C007FF6BC /* IndexMoreVC.m in Sources */,
 				C56AC85F2384DB1000D46052 /* EaseSDKHelper.m in Sources */,
 				EBAA1F242463A4F200272F13 /* SourceGroupVC.m in Sources */,
+				EBC9BFA725343341000BD6F7 /* PushModel.m in Sources */,
 				EB8E2CF4239666A900CDFBDA /* wav.mm in Sources */,
 				C62215A42372CC89006F5D7F /* MailListByZuVC.m in Sources */,
 				EBD623C025159A66007FF6BC /* WMZPageScroller.m in Sources */,
@@ -10615,6 +10637,7 @@
 				C751012C2383A02F00E4429B /* FormFields.m in Sources */,
 				C59D0C0923825DE1007D0760 /* UIImageView+YYWebImage.m in Sources */,
 				C625AA82236FBF670010E967 /* YCMenuView.m in Sources */,
+				EBCBA9992522FCFF00D3E405 /* BookQiKanNavModel.m in Sources */,
 				EB4B652B24C04DED0041A82C /* MailEditVC.m in Sources */,
 				C69A8DD32373C2C00098FA26 /* SearchBarDisplayCenter.m in Sources */,
 				C74BCC7C238FA1FF00169982 /* UILabel+RightAndLeft.m in Sources */,
@@ -10625,6 +10648,7 @@
 				EB848E962508DE2E006A3ECD /* BookSetPlaySpeedAlert.m in Sources */,
 				324D963423A38A4A00C7D9E8 /* MyFavoriteSubModel.m in Sources */,
 				C7525DEF23890A8B004B9D71 /* MyWorkSpaceCell.m in Sources */,
+				EBBC59D925315E4500AB12EF /* LoginPCVC.m in Sources */,
 				C7EE367823BB2D57002EB3BF /* NewMeetingFecordDetailsController.m in Sources */,
 				C625AAD723701ECE0010E967 /* ChatMsgNoticeTypeVC.m in Sources */,
 				EB8E2CDA239666A900CDFBDA /* EMEmoticonGroup.m in Sources */,

BIN
smartRhino.xcworkspace/xcuserdata/niuzhen.xcuserdatad/UserInterfaceState.xcuserstate


+ 11 - 11
smartRhino.xcworkspace/xcuserdata/niuzhen.xcuserdatad/xcdebugger/Breakpoints_v2.xcbkptlist

@@ -5,28 +5,28 @@
    version = "2.0">
    <Breakpoints>
       <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
+         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
          <BreakpointContent
-            uuid = "6F0D3D60-12D0-4BF6-87DB-926FA5773BFF"
+            uuid = "15A87D51-8C3E-4A59-9019-227F1253090A"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            symbolName = ""
-            moduleName = "">
-            <Locations>
-            </Locations>
+            breakpointStackSelectionBehavior = "1"
+            scope = "1"
+            stopOnStyle = "0">
          </BreakpointContent>
       </BreakpointProxy>
       <BreakpointProxy
-         BreakpointExtensionID = "Xcode.Breakpoint.ExceptionBreakpoint">
+         BreakpointExtensionID = "Xcode.Breakpoint.SymbolicBreakpoint">
          <BreakpointContent
-            uuid = "49BF6DED-C2C8-4A59-B04B-ACFB28FD651B"
+            uuid = "55E08184-8306-4CCE-8119-9420F6C8AB45"
             shouldBeEnabled = "Yes"
             ignoreCount = "0"
             continueAfterRunningActions = "No"
-            breakpointStackSelectionBehavior = "1"
-            scope = "1"
-            stopOnStyle = "0">
+            symbolName = ""
+            moduleName = "">
+            <Locations>
+            </Locations>
          </BreakpointContent>
       </BreakpointProxy>
    </Breakpoints>

+ 12 - 2
smartRhino/AppConfig.h

@@ -132,7 +132,7 @@ return;\
 #define MHObjectIsNil(__object)  ((nil == __object) || [__object isKindOfClass:[NSNull class]])
 
 //#define BaseUrl @"http://192.168.0.133:84"///广西
-//#define HtmlUrl @"http://192.168.0.113:8080"
+//#define HtmlUrl @"http://192.168.0.113:8081"
 //#define HtmlUrl @"http://192.168.0.114:8081"
 
 #define BaseUrl       @"https://apk.tederen.com/service"
@@ -173,6 +173,9 @@ return;\
 #define SaoYiSao2_Post @"/api/app/group-chat-user/"
 ///小组扫一扫
 #define SaoYiSao3_Post @"/api/app/group/"
+///扫一扫登录
+#define API_APP_User_Qrcode_Send @"/api/app/user/qrcode-send/"
+
 
 ///单个文件上传
 #define Modify_UserImage_Post @"/api/app/file/upload"
@@ -180,7 +183,8 @@ return;\
 #define Modify_UserImages_Post @"/api/app/file/uploads"
 
 #pragma mark - 首页
-#define API_APP_PAGE_CATHEDRA    @"/api/app/page/cathedra"
+#define API_APP_PAGE_CATHEDRA         @"/api/app/page/cathedra"
+#define API_APP_PAGE_CATHEDRA_Page    @"/api/app/page/cathedra-page"
 #define API_APP_PAGE_GooDText    @"/api/app/page/day-good-text"
 #define API_APP_Chat_Hear_Speak  @"/api/app/page/chat-hear-speak"
 
@@ -608,6 +612,10 @@ return;\
 /// 获取参会人员
 #define MeetingPersonnelList @"/api/app/meeting/actions/users"
 
+///期刊
+#define API_APP_Media_Journals            @"/api/app/media/journals/"
+#define API_APP_Media_Journals_Category   @"/api/app/media/journals-category/"
+
 
 //#define ArticleGroup _ @""
 
@@ -650,6 +658,8 @@ return;\
 #define GROUPINFOUPDATE       @"GROUPINFOUPDATE"
 #define DRAFTUPDATESUCCESS    @"DRAFTUPDATESUCCESS"
 #define SETPLAYCOLSETIME      @"SETPLAYCOLSETIME"
+#define JPUSHSUCCESS          @"JPUSHSUCCESS"
+
 #define kGXScreenHeigh        ([UIScreen mainScreen].bounds.size.height)
 #define kGXScreenWidth        ([UIScreen mainScreen].bounds.size.width)
 #define kGXScreenSize         ([UIScreen mainScreen].bounds.size)

+ 45 - 33
smartRhino/AppDelegate.m

@@ -11,8 +11,9 @@
 #import "WorkFlowTabbarController.h"
 #import "WXApi.h"
 #import "HKFloatManager.h"
+#import "JPUSHService.h"
 
-@interface AppDelegate ()<JPUSHRegisterDelegate,WXApiDelegate>
+@interface AppDelegate ()<JPUSHRegisterDelegate,WXApiDelegate,JPUSHRegisterDelegate>
 
 @property (nonatomic, strong) TabBarController *tabBar;
 
@@ -20,7 +21,6 @@
 
 @implementation AppDelegate
 
-
 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
     // Override point for customization after application launch.
     self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
@@ -35,7 +35,6 @@
     //初始化环信
     [[EaseSDKHelper shareHelper] hyphenateApplication:application appkey:kHuanXinAppKey apnsCertName:kHuanXinApnsName];
     
-//    [WXApi registerApp:wxAppKey enableMTA:NO];//不崩溃
     [WXApi registerApp:wxAppKey universalLink:@"https://apk.tederen.com"];
     [self settingPush: launchOptions];
     WS(weakSelf);
@@ -165,7 +164,8 @@
 
 
 - (void)applicationWillEnterForeground:(UIApplication *)application {
-    // Called as part of the transition from the background to the active state; here you can undo many of the changes made on entering the background.
+    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
+    [JPUSHService setBadge:0];
 }
 
 
@@ -184,64 +184,63 @@
     [JPUSHService registerForRemoteNotificationConfig:entity delegate:self];
     [JPUSHService setupWithOption:launchOptions appKey:kJGAppKey
                           channel:@"tederen"
-                 apsForProduction:YES // 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES.
+                 apsForProduction:NO // 如果为开发状态,设置为 NO; 如果为生产状态,应改为 YES.
             advertisingIdentifier:nil];
-    [JpushTool setAlias:@"18224073257" completion:^(NSInteger iResCode, NSString *iAlias, NSInteger seq) {
-        
-    } seq:18224073257];
-    
+    [JpushTool setAlias:[AppUserModel sharedAppUserModel].Phone completion:^(NSInteger iResCode, NSString *iAlias, NSInteger seq) {
+        NSLog(@"====%@",iAlias);
+    } seq:[[AppUserModel sharedAppUserModel].Phone integerValue]];
 }
 // 此方法是必须要有实现,否则SDK将无法处理应用注册的Token,推送也就不会成功
 - (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
     NSLog(@"%@",deviceToken);
     [JPUSHService registerDeviceToken:deviceToken];
-    
-//    [[EaseSDKHelper shareHelper] application:application didRegisterForRemoteNotificationsWithDeviceToken:deviceToken];
 }
 
 - (void)application:(UIApplication *)application didFailToRegisterForRemoteNotificationsWithError:(NSError *)error {
     
 }
-#pragma mark - JPush
-// 前台界面收到通知
+#pragma mark- JPUSHRegisterDelegate
+
+// iOS 12 Support
+- (void)jpushNotificationCenter:(UNUserNotificationCenter *)center openSettingsForNotification:(UNNotification *)notification{
+  NSDictionary * userInfo = notification.request.content.userInfo;
+  if (notification && [notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
+      [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
+      [JPUSHService setBadge:0];
+      [self JPushToVC:userInfo[@"data"]];
+  }else{
+    //从通知设置界面进入应用
+  }
+}
+
+// iOS 10 Support
 - (void)jpushNotificationCenter:(UNUserNotificationCenter *)center willPresentNotification:(UNNotification *)notification withCompletionHandler:(void (^)(NSInteger))completionHandler {
     // Required
-    NSDictionary * userInfo = notification.request.content.userInfo;
+//    NSDictionary * userInfo = notification.request.content.userInfo;
     if([notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
-        [JPUSHService handleRemoteNotification:userInfo];
+        [JPUSHService setBadge:0];
     }
-    completionHandler(UNNotificationPresentationOptionAlert | UNNotificationPresentationOptionSound); // 需要执行这个方法,选择是否提醒用户,有Badge、Sound、Alert三种类型可以选择设置
+    completionHandler(UNNotificationPresentationOptionSound);
+    // 需要执行这个方法,选择是否提醒用户,有Badge、Sound、Alert三种类型可以选择设置
 }
 
-
-// 点击通知消息从后台进入前台  willPresentNotification 接收之后会走这个方法
+// iOS 10 Support
 - (void)jpushNotificationCenter:(UNUserNotificationCenter *)center didReceiveNotificationResponse:(UNNotificationResponse *)response withCompletionHandler:(void (^)(void))completionHandler {
     // Required
     NSDictionary * userInfo = response.notification.request.content.userInfo;
     if([response.notification.request.trigger isKindOfClass:[UNPushNotificationTrigger class]]) {
-        [JPUSHService handleRemoteNotification:userInfo];
-        
-        NSString * message = userInfo[@"aps"][@"alert"];
-        UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:message preferredStyle:(UIAlertControllerStyleAlert)];
-        UIAlertAction *sureAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:nil];
-        [alert addAction:sureAction];
         [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
-        [self.window.rootViewController presentViewController:alert animated:YES completion:nil];
+        [JPUSHService setBadge:0];
+        [self JPushToVC:userInfo[@"data"]];
     }
-    completionHandler();  // 系统要求执行这个方法
+    completionHandler();  // 系统要求
 }
 
 - (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo fetchCompletionHandler:(void (^)(UIBackgroundFetchResult))completionHandler {
-    // Required, iOS 7 Support
     [JPUSHService handleRemoteNotification:userInfo];
-    NSString * message = userInfo[@"aps"][@"alert"];
-    UIAlertController *alert = [UIAlertController alertControllerWithTitle:nil message:message preferredStyle:(UIAlertControllerStyleAlert)];
-    UIAlertAction * sureAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDestructive handler:nil];
-    [alert addAction:sureAction];
-    [UIApplication sharedApplication].applicationIconBadgeNumber = 0;
-    [self.window.rootViewController presentViewController:alert animated:YES completion:nil];
     completionHandler(UIBackgroundFetchResultNewData);
 }
+
 //#pragma mark 关闭第三方键盘
 //- (BOOL)application:(UIApplication*)application shouldAllowExtensionPointIdentifier:(NSString*)extensionPointIdentifier {
 //    if([extensionPointIdentifier isEqualToString:UIApplicationKeyboardExtensionPointIdentifier]) {
@@ -478,4 +477,17 @@
     }
     return UIInterfaceOrientationMaskPortrait;
 }
+
+
+#pragma mark - JPushToVC
+- (void)JPushToVC:(NSDictionary *)dict
+{
+    UIWindow *window = [UtilsTools getWindow];
+    window.rootViewController = [TabBarController sharedTabBarController];
+    [[TabBarController sharedTabBarController] setSelectedIndex:0];
+    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+        [[NSNotificationCenter defaultCenter] postNotificationName:JPUSHSUCCESS object:nil userInfo:dict];
+    });
+    [window makeKeyAndVisible];
+}
 @end

+ 22 - 0
smartRhino/Assets.xcassets/comment_mix_star_black.imageset/Contents.json

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

BIN
smartRhino/Assets.xcassets/comment_mix_star_black.imageset/comment_mix_star_black@2x.png


BIN
smartRhino/Assets.xcassets/comment_mix_star_black.imageset/comment_mix_star_black@3x.png


+ 22 - 0
smartRhino/Assets.xcassets/comment_mix_star_gray.imageset/Contents.json

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

BIN
smartRhino/Assets.xcassets/comment_mix_star_gray.imageset/comment_mix_star_gray@2x.png


BIN
smartRhino/Assets.xcassets/comment_mix_star_gray.imageset/comment_mix_star_gray@3x.png


+ 3 - 3
smartRhino/Assets.xcassets/首页/Contents.json

@@ -1,6 +1,6 @@
 {
   "info" : {
-    "version" : 1,
-    "author" : "xcode"
+    "author" : "xcode",
+    "version" : 1
   }
-}
+}

+ 22 - 0
smartRhino/Assets.xcassets/首页/home_scan.imageset/Contents.json

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

BIN
smartRhino/Assets.xcassets/首页/home_scan.imageset/home_scan@2x.png


BIN
smartRhino/Assets.xcassets/首页/home_scan.imageset/home_scan@3x.png


+ 17 - 6
smartRhino/FwzAppConfig.h

@@ -93,14 +93,14 @@ typedef enum PageTypeFromShou {
     PageTypeFromTitleMail = 6,
     /// 我审批的
     PageTypeFromTitleMeShen = 15,
-    /// 系统审批
-    PageTypeFromTitleSystem = 19,
     /// 我发出的
     PageTypeFromTitleMeSend = 16,
     /// 抄送我的
     PageTypeFromTitleChao = 17,
     /// 匿名信
     PageTypeFromTitleNoSign= 18,
+    /// 系统审批
+    PageTypeFromTitleSystem = 19,
     /// 草稿箱
     PageTypeFromTitleDraftBox = 2,
     /// 已删除
@@ -139,8 +139,8 @@ typedef enum ChatSearchType {
 
 #pragma mark - 三方配置
 // 极光
-#define kJGAppKey   @"2b860e460e1ef98729e4cac1"
-#define kJGSecret   @"13d8bfab66752a256eb2ae71"
+#define kJGAppKey   @"8e3b7effbeb919069dd97653"
+#define kJGSecret   @"ef0e378acdcd998766adbf9f"
 
 static NSString * const TABLELEAVETOP = @"tableLeaveTop";
 static NSString * const TABLETOP = @"tableTop";
@@ -321,13 +321,14 @@ typedef enum CollectModelType{
     CollectModel_NewTopic = -4,
     CollectModel_TopicBooK = 41,
     CollectModel_TopicSubBooK = 42,
-    CollectModel_Ming = 90,
     CollectModel_Aritle = 100,
     CollectModel_MediaAritle = 101,
 //    CollectModel_CollectFileAll = 120,
 //    CollectModel_NoteFileAll = 130,
     CollectModel_Teacher = 180,
     CollectModel_Organization = 190,
+    CollectModel_Verify = 240,
+    CollectModel_ReplayMe = 250,
     CollectModel_file = 300,
     CollectModel_Image = 301,
 //    CollectModel_meetMian  = 8,
@@ -343,6 +344,15 @@ typedef enum CollectModelType{
     CollectModel_StoreMing = 90,
     CollectModel_StoreGongzh = 110,
     CollectModel_StoreQiKan = 120,
+    CollectModel_Chat = 10,
+    /// 我审批的
+    CollectModel_MeShen = 15,
+    /// 我发出的
+    CollectModel_MeSend = 16,
+    /// 抄送我的
+    CollectModel_MeChao = 17,
+    /// 系统审批
+    CollectModel_System = 19,
 }CollectModelType;
  /// 0 新建 1 回复 2 回复全部 3 编辑
 typedef enum MailReplayType{
@@ -475,7 +485,8 @@ typedef enum BookHomeType{
 typedef enum BookChanelType{
     BookChanelPublic = 700,  ///公众号
     BookChanelVideo = 710,   ///视频
-    BookChanelBook = 720,    ///书
+    BookChanelQiKan = 720,   ///期刊
+    BookChanelBook = 730,    ///图书
 }BookChanelType;
 
 typedef enum MediaType{

+ 6 - 6
smartRhino/Project/Base/SubClass/Button/ShowBtn.m

@@ -17,12 +17,12 @@
     }
     return self;
 }
-- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
-    CGRect bounds = self.bounds;
-    CGFloat widthDelta = self.bounds.size.width * 1.5;
-    bounds = CGRectInset(bounds, - 0.5 * widthDelta, 0);
-    return CGRectContainsPoint(bounds, point);
-}
+//- (BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event {
+//    CGRect bounds = self.bounds;
+//    CGFloat widthDelta = self.bounds.size.width * 1.5;
+//    bounds = CGRectInset(bounds, - 0.5 * widthDelta, 0);
+//    return CGRectContainsPoint(bounds, point);
+//}
 - (void)setLabelTitle:(NSString *)title
 {
     self.title = [NSString stringWithFormat:@"%@ ",title];

+ 1 - 1
smartRhino/Project/Tools/HttpManager/HttpManager.m

@@ -239,7 +239,7 @@ TDShareInstance_implementation(HttpManager)
              self.manager.responseSerializer = [AFHTTPResponseSerializer serializer];
          }break;
      }
-
+     
      NSError *error = nil;
         
         

+ 2 - 0
smartRhino/Project/VCModel/ChatMessage/Chat/EMChatViewController.h

@@ -28,6 +28,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property (nonatomic, strong) FlowAttachmentsModel *   sendModel;///转发
 @property (assign, nonatomic) BOOL                   isReturn;
+@property (nonatomic, assign) BOOL                   backRoot;
+
 - (instancetype)initWithConversationId:(NSString *)aId
                                   type:(EMConversationType)aType
                       createIfNotExist:(BOOL)aIsCreate;

+ 32 - 7
smartRhino/Project/VCModel/ChatMessage/Chat/EMChatViewController.m

@@ -100,8 +100,6 @@
 @property (nonatomic,copy) NSMutableArray *userInfoArray;
 @property (nonatomic,copy) NSMutableArray *chatDistoryArray;
 @property (nonatomic,assign) NSInteger     UserId;
-@property (nonatomic,assign) BOOL backRoot;
-
 @end
 
 @implementation EMChatViewController
@@ -396,6 +394,7 @@
             ||[self.navigationController.viewControllers[i] isKindOfClass:NSClassFromString(@"MyFavoriteVC")]
             ||[self.navigationController.viewControllers[i] isKindOfClass:NSClassFromString(@"BookWCDetailVC")]
             ||[self.navigationController.viewControllers[i] isKindOfClass:NSClassFromString(@"BookListenVC")]
+            ||[self.navigationController.viewControllers[i] isKindOfClass:NSClassFromString(@"ChatMsgListVC")]
             ||[self.navigationController.viewControllers[i] isKindOfClass:NSClassFromString(@"CommonHomeVC")]) {
             [self.navigationController popToViewController:self.navigationController.viewControllers[i] animated:YES];
             return;
@@ -1860,8 +1859,10 @@
         [UIView animateWithDuration:animationTime animations:animation completion:^(BOOL finished) {
             [weakSelf _scrollToBottomRow];
         }];
-    } else {
-        animation();
+    }else{
+        [UIView animateWithDuration:0.25f animations:animation completion:^(BOOL finished) {
+            [weakSelf _scrollToBottomRow];
+        }];
     }
 }
 
@@ -1887,7 +1888,7 @@
     if (animationTime > 0) {
         [UIView animateWithDuration:animationTime animations:animation];
     } else {
-        animation();
+        [UIView animateWithDuration:0.25f animations:animation];
     }
     
     if (self.enableTyping) {
@@ -3051,9 +3052,33 @@
             [weakself.tableView reloadData];
             [weakself _scrollToBottomRow];
         });
-        NSLog(@"%@",@{@"ContactUserId":[NSString stringWithFormat:@"%ld",(long)self.toUserId],@"IndividualGroupId":@(self.IndividualGroupId)});
+        NSString * text = @"";
+        switch (message.body.type) {
+            case EMMessageBodyTypeText:
+            {
+                EMTextMessageBody *body = (EMTextMessageBody *)aBody;
+                text = body.text;
+            }
+                break;
+            case EMMessageBodyTypeImage:
+                text = @"[图片]";
+                break;
+            case EMMessageBodyTypeVideo:
+                text = @"[视频]";
+                break;
+            case EMMessageBodyTypeVoice:
+                text = @"[语音]";
+                break;
+            case EMMessageBodyTypeFile:
+                text = @"[文件]";
+                break;
+            default:
+                break;
+        }
+
+        NSLog(@"%@",@{@"ContactUserId":[NSString stringWithFormat:@"%ld",(long)self.toUserId],@"IndividualGroupId":@(self.IndividualGroupId),@"Text":text});
         dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
-            [[HttpManager sharedHttpManager] POSTUrl:Host(Often_Contact_Add_Post) parameters:@{@"ContactUserId":[NSString stringWithFormat:@"%ld",(long)self.toUserId],@"IndividualGroupId":@(self.IndividualGroupId),@"ChatType":@(self.chatType)} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+            [[HttpManager sharedHttpManager] POSTUrl:Host(Often_Contact_Add_Post) parameters:@{@"ContactUserId":[NSString stringWithFormat:@"%ld",(long)self.toUserId],@"IndividualGroupId":@(self.IndividualGroupId),@"ChatType":@(self.chatType),@"Text":text} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
                 NSLog(@"%@",responseObject);
                 if ([responseObject isKindOfClass:[NSDictionary class]]) {
                     NSInteger listId = [[responseObject objectForKey:@"Id"] integerValue];

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/ChatListMoveVC.m

@@ -79,7 +79,7 @@
         };
         [[HttpManager sharedHttpManager] POSTUrl:Host(API_Find_Move) parameters:dict responseStyle:DATA success:^(id  _Nonnull responseObject) {
             REMOVESHOW
-            [weakSelf.navigationController popToRootViewControllerAnimated:YES];
+            [weakSelf myBack];
         } failure:^(NSError * _Nonnull error) {
             REMOVESHOW
             SHOWERROR([ZYCTool handerResultData:error])

+ 0 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsg/Controller/ChatGroupDeleteVC.h

@@ -14,7 +14,6 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface ChatGroupDeleteVC : FWZViewController
 @property (nonatomic, assign) NSInteger    GroupChatImId;
-@property (nonatomic, strong) NSMutableArray <SelectModel *>* grouperArray;
 @property (nonatomic, copy) void(^refreshBlock)(void);
 @end
 

+ 44 - 7
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsg/Controller/ChatGroupDeleteVC.m

@@ -16,7 +16,7 @@
 @property (nonatomic, strong) UIView *listHeaderVIew;
 @property (nonatomic, strong) TDButton *serachButton;
 @property (nonatomic, strong) AddressBookGroupModel *addressBookModel;
-
+@property (nonatomic, strong) NSMutableArray * grouperArray;
 @property (nonatomic,assign) NSInteger indexflag;
 @property (nonatomic, strong) NSMutableArray <SelectModel*>*selectArray;
 @end
@@ -33,6 +33,40 @@
     self.myTableView.backgroundColor =  UIColorHex(#F5F6F8);
     self.myNavigationBar.titleLabel.text = @"删除成员";
     [self createnavi];
+    [self getData];
+}
+- (NSMutableArray *)grouperArray
+{
+    if (!_grouperArray) {
+        _grouperArray = [NSMutableArray array];
+    }
+    return _grouperArray;
+}
+- (void)getData
+{
+    [self.grouperArray removeAllObjects];
+    WS(weakSelf);
+    [[HttpManager sharedHttpManager] POSTUrl:Host(Group_chat_info) parameters:@{@"GroupChatImId":@(self.GroupChatImId)} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+        NSLog(@"%@",responseObject);
+        if (![responseObject isKindOfClass:[NSDictionary class]]) {
+            return;
+        }
+        for (NSDictionary * dict in responseObject[@"Item"]) {
+            SelectModel * model = [[SelectModel alloc] init];
+            model.AvatarUrl = [dict objectForKey:@"AvatarUrl"];
+            model.UserName = [dict objectForKey:@"UserName"];
+            model.UserId = [[dict objectForKey:@"UserId"] integerValue];
+            model.ImId = [dict objectForKey:@"ImId"];
+            if (model.UserId != [AppUserModel sharedAppUserModel].Id) {
+                [weakSelf.grouperArray addObject:model];
+            }
+        }
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [weakSelf.myTableView reloadData];
+        });
+    } failure:^(NSError * _Nonnull error) {
+        
+    }];
 }
 #pragma mark - 导航视图
 - (void)createnavi{
@@ -127,13 +161,16 @@
                if (weakSelf.refreshBlock) {
                    weakSelf.refreshBlock();
                }
+               NSMutableArray  *array = [NSMutableArray array];
                [weakSelf.grouperArray enumerateObjectsUsingBlock:^(SelectModel * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
                    SelectModel * model = (SelectModel *)obj;
-                   if (model.hadSelected) {
-                       [weakSelf.grouperArray removeObjectAtIndex:idx];
+                   if (!model.hadSelected) {
+                       [array addObject:model];
                    }
                }];
+               weakSelf.grouperArray = [NSMutableArray arrayWithArray:array];
                dispatch_async(dispatch_get_main_queue(), ^{
+                   [weakSelf createnavi];
                    [weakSelf.myTableView reloadData];
                });
               
@@ -227,18 +264,18 @@
 - (void)selectCellbackDepartUserModel:(SelectModel *)model withIndexRow:(NSIndexPath *)index{
     self.indexflag +=1;
     [self setRIghtButtonTitle:self.indexflag];
-    self.grouperArray[index.row].hadSelected = YES;
+    SelectModel * smodel = self.grouperArray[index.row];
+    smodel.hadSelected = YES;
 }
 - (void)noSelectCellbackDepartUserModel:(SelectModel *)model withIndexRow:(NSIndexPath *)index{
     self.indexflag -=1;
     [self setRIghtButtonTitle:self.indexflag];
-    self.grouperArray[index.row].hadSelected = NO;
+    SelectModel * smodel = self.grouperArray[index.row];
+    smodel.hadSelected = NO;
 }
 
 #pragma mark - 搜索事件处理
 - (void)searchhander:(TDButton *)sedner{
     
 }
-
-
 @end

+ 340 - 348
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsg/Controller/ChatMsgDetailChatInfoVC.m

@@ -26,10 +26,10 @@
 #import "chatInfoGroupChatModel.h"
 #import "SelectModel.h"
 #import "ChatGroupDeleteVC.h"
-#import "ChatGroupAddVC.h"
+#import "AddLookUpUserSecondVC.h"
 #import "MoveViewController.h"
 
-@interface ChatMsgDetailChatInfoVC ()<UITableViewDelegate,UITableViewDataSource,UICollectionViewDelegate,UICollectionViewDataSource,NoteBookShareVCDelegate>
+@interface ChatMsgDetailChatInfoVC ()<UITableViewDelegate,UITableViewDataSource,UICollectionViewDelegate,UICollectionViewDataSource,NoteBookShareVCDelegate,AddLookUpUserSecondVCDelegate>
 
 @property (strong,nonatomic) IBOutlet UITableView *tableView;
 @property (strong,nonatomic) IBOutlet UILabel *titleLabel;
@@ -52,19 +52,17 @@
     ChatMsgDetailChatInfoVC *controller = [StoryboardManager.shared.chatMsgDetailChat instantiateViewControllerWithIdentifier:@"ChatMsgDetailChatInfoVC"];
     return controller;
 }
-- (void)viewWillAppear:(BOOL)animated
-{
-    [super viewWillAppear:animated];
-    [self netWorking];
-}
+
 - (void)viewDidLoad {
     [super viewDidLoad];
-
+    
     self.fd_prefersNavigationBarHidden = YES;
     self.view.backgroundColor = RGB(245, 245, 245);
-     
+    
     [self.view addSubview:self.noteBookShareVC.view];
     [self initTableView];
+    [self netWorking];
+    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(recviveChaoSongRen:) name:NOTIFI_ChaoSongRen object:nil];
 }
 #pragma mark - netWorking
 - (void)netWorking
@@ -81,7 +79,7 @@
         weakSelf.IsAdmin = [responseObject[@"IsAdmin"] boolValue];
         weakSelf.IsTop = [responseObject[@"IsTop"] boolValue];
         weakSelf.IsDisturb = [responseObject[@"IsDisturb"] boolValue];
-
+        
         for (NSInteger i = 0; i < weakSelf.allUserArray.count; i++) {
             if (weakSelf.IsAdmin) {
                 if (i > 17) {
@@ -95,6 +93,8 @@
                     [weakSelf.collectionDataSource addObject:modeladd];
                     [weakSelf.collectionDataSource addObject:modeldel];
                     break;
+                }else{
+                    weakSelf.isMore = NO;
                 }
             }else{
                 if (i > 18) {
@@ -104,6 +104,8 @@
                     
                     [weakSelf.collectionDataSource addObject:modeladd];
                     break;
+                }else{
+                    weakSelf.isMore = NO;
                 }
             }
             NSDictionary * dict = weakSelf.allUserArray[i];
@@ -135,7 +137,7 @@
         //群组信息
         NSDictionary * groupChatDict = responseObject[@"GroupChat"];
         weakSelf.model = [[chatInfoGroupChatModel alloc] init];
-
+        
         weakSelf.model.AvatarUrl = [groupChatDict objectForKey:@"AvatarUrl"];
         weakSelf.model.CreatedDate = [groupChatDict objectForKey:@"CreatedDate"];
         weakSelf.model.UserId = [[groupChatDict objectForKey:@"UserId"] integerValue];
@@ -150,7 +152,7 @@
         weakSelf.model.IsWords = [[groupChatDict objectForKey:@"IsWords"] boolValue];
         weakSelf.model.IsOpenQrCoder = [[groupChatDict objectForKey:@"IsOpenQrCoder"] boolValue];
         weakSelf.model.IsContacts = [[groupChatDict objectForKey:@"IsContacts"] boolValue];
-
+        
         dispatch_async(dispatch_get_main_queue(), ^{
             [weakSelf.tableView reloadData];
             [weakSelf.collectionView reloadData];
@@ -158,7 +160,26 @@
     } failure:^(NSError * _Nonnull error) {
         
     }];
-    
+}
+- (void)recviveChaoSongRen:(NSNotification *)notification{
+    NSMutableArray * addArray = [NSMutableArray array];
+    NSMutableArray <SelectModel *>* array = notification.userInfo[@"selectPeople"];
+    for (SelectModel * model in array) {
+        [addArray addObject:@(model.UserId)];
+    }
+    NSDictionary * paraDict = @{@"GroupChatImId":@(self.GroupChatImId),
+                                @"UserIds":addArray,
+                                @"UserId":@([AppUserModel sharedAppUserModel].Id),
+                                @"SourceType":@(2)///邀请
+    };
+    SHOWLOADING
+    WS(weakSelf);
+    [[HttpManager sharedHttpManager] POSTUrl:Host(Group_chat_add_users) parameters:paraDict responseStyle:DATA success:^(id  _Nonnull responseObject) {
+        REMOVESHOW
+        [weakSelf netWorking];
+    } failure:^(NSError * _Nonnull error) {
+        REMOVESHOW
+    }];
 }
 #pragma mark - 分享操作处理
 - (void)gotoSendInfo{
@@ -170,9 +191,9 @@
     [self.navigationController pushViewController:vc animated:YES];
 }
 - (void)gotoNote{
-      FavoritesViewController *favorites = [[FavoritesViewController alloc] init];
-      favorites.title = @"我的笔记";
-      [self.navigationController pushViewController:favorites animated:YES];
+    FavoritesViewController *favorites = [[FavoritesViewController alloc] init];
+    favorites.title = @"我的笔记";
+    [self.navigationController pushViewController:favorites animated:YES];
 }
 - (void)gotoMyTopic{
     MyTDTopicViewController *topicVC = [[MyTDTopicViewController alloc] init];
@@ -200,19 +221,19 @@
             }
         }break;
         case 1:{
-//            if (self.IsAdmin) {
-//                if (self.model.IsOpenQrCoder) {
-//                    return 4;
-//                }else{
-//                    return 3;
-//                }
-//            }else{
-//                if (self.model.IsOpenQrCoder) {
-//                    return 3;
-//                }else{
-//                    return 2;
-//                }
-//            }
+            //            if (self.IsAdmin) {
+            //                if (self.model.IsOpenQrCoder) {
+            //                    return 4;
+            //                }else{
+            //                    return 3;
+            //                }
+            //            }else{
+            //                if (self.model.IsOpenQrCoder) {
+            //                    return 3;
+            //                }else{
+            //                    return 2;
+            //                }
+            //            }
             if (self.model.IsOpenQrCoder) {
                 return 3;
             }else{
@@ -225,9 +246,9 @@
         case 3:{
             return 2;
         }break;
-//        case 4:{
-//            return 2;
-//        }break;
+            //        case 4:{
+            //            return 2;
+            //        }break;
         default:
             break;
     }
@@ -239,10 +260,10 @@
     [headerView setBackgroundColor:RGBA(238, 238, 238, 1)];
     return headerView;
 }
- 
+
 
 - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
-//    if(section == 1 || section == 2 || section == 3 || section == 4){
+    //    if(section == 1 || section == 2 || section == 3 || section == 4){
     if(section == 1 || section == 2 || section == 3){
         return 5;
     }
@@ -263,7 +284,7 @@
                     }else{
                         return 90 * (countZ+1) + 10;
                     }
-//                    return [ChatMsgDetailChatInfoCell configCell0Height];
+                    //                    return [ChatMsgDetailChatInfoCell configCell0Height];
                 }break;
                 case 1:{
                     return [ChatMsgDetailChatInfoCell configCell1Height];
@@ -294,18 +315,18 @@
                     break;
             }
         }break;
-//        case 2:{
-//            switch (indexPath.row) {
-//                case 0:{
-//                    return [ChatMsgDetailChatInfoCell configCell2Height];
-//                }break;
-//                case 1:{
-//                    return [ChatMsgDetailChatInfoCell configCell2Height];
-//                }break;
-//                default:
-//                    break;
-//            }
-//        }break;
+            //        case 2:{
+            //            switch (indexPath.row) {
+            //                case 0:{
+            //                    return [ChatMsgDetailChatInfoCell configCell2Height];
+            //                }break;
+            //                case 1:{
+            //                    return [ChatMsgDetailChatInfoCell configCell2Height];
+            //                }break;
+            //                default:
+            //                    break;
+            //            }
+            //        }break;
         case 2:{
             switch (indexPath.row) {
                 case 0:{
@@ -338,191 +359,191 @@
     }
     return 0;
 }
- 
+
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
     WS(weakSelf);
-     switch (indexPath.section) {
-         case 0:{
-             switch (indexPath.row) {
-                 case 0:{
-                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell0:tableView indexPath:indexPath];
-                     [cell.cell0BgView addSubview:self.collectionView];
-                     NSInteger countZ = self.collectionDataSource.count / 5;
-                     NSInteger countY = self.collectionDataSource.count % 5;
-                     if(countY == 0){
-                         self.collectionView.frame = CGRectMake(0, 0, SCREEN_WIDTH, 90 * countZ);
-                     }else{
-                         self.collectionView.frame = CGRectMake(0, 0, SCREEN_WIDTH, 90 * (countZ+1));
-                     }
-                     return cell;
-                 }break;
-                 case 1:{
-                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell1:tableView indexPath:indexPath];
-                     return cell;
-                 }break;
-                 default:
-                     break;
-             }
-         }break;
-         case 1:{
-             switch (indexPath.row) {
-                 case 0:{
-                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell5:tableView indexPath:indexPath];
-                     [cell.ChatImgV sd_setImageWithURL:[NSURL URLWithString:self.model.AvatarUrl] placeholderImage:kUserDefaultHeadImage];
-                     cell.cell2RightArrowImg.hidden = !self.model.IsAdmin;
-                     cell.cell2ValueLabel.text = self.model.Name;
-                     return cell;
-                 }break;
-                 case 1:{
-                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
-                     cell.cell2TitleLabel.text = @"群聊二维码";
-                     cell.cell2ValueLabel.hidden = YES;
-                     cell.cell2RightArrowImg.hidden = YES;
-                     cell.cell2Switch.hidden = NO;
-                     cell.cell2Switch.enabled = self.IsAdmin;
-                     [cell.cell2Switch setOn:self.model.IsOpenQrCoder];
-                     [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
-                         NSString * url = [NSString stringWithFormat:@"%@%ld",Host(API_App_Group_Chat),(long)weakSelf.model.GroupChatImId];
-                         [[HttpManager sharedHttpManager] PUTUrl:url parameters:@{} success:^(id  _Nonnull responseObject) {
-                             dispatch_async(dispatch_get_main_queue(), ^{
-                                 [weakSelf netWorking];
-                             });
-                          } failure:^(NSError * _Nonnull error) {
-                               SHOWERROR([ZYCTool handerResultData:error]);
-                         }];
-                     }];
-                     return cell;
-                 }break;
-                 case 2:{
-                     if (self.model.IsOpenQrCoder) {
-                         ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell3:tableView indexPath:indexPath];
-                         cell.cell3TitleLabel.text = @"二维码";
-                         cell.cell3ShareBtn.hidden = YES;
-                         [cell.cell3ShareBtn setAction:^{
-                             [weakSelf shareHander];
-                         }];
-                         [cell.cell3ErWeiMaImg sd_setImageWithURL:[NSURL URLWithString:self.model.QRCoder] placeholderImage:[UIImage imageNamed:@"my_qrcode_testcode"]];
-                         return cell;
-//                     }else{
-//                         ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
-//                         cell.cell2TitleLabel.text = @"群管理";
-//                         cell.cell2ValueLabel.hidden = YES;
-//                         return cell;
-                     }
-                 }break;
-//                 case 3:{
-//                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
-//                     cell.cell2TitleLabel.text = @"群管理";
-//                     cell.cell2ValueLabel.hidden = YES;
-//                     return cell;
-//                 }break;
-                 default:
-                     break;
-             }
-         }break;
-//         case 2:{
-//             switch (indexPath.row) {
-//                 case 0:{
-//                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
-//                     cell.cell2TitleLabel.text = @"查找聊天记录";
-//                     cell.cell2ValueLabel.hidden = YES;
-//                     return cell;
-//                 }break;
-//                 case 1:{
-//                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
-//                     cell.cell2TitleLabel.text = @"历史文件";
-//                     cell.cell2ValueLabel.hidden = YES;
-//                     return cell;
-//                 }break;
-//                 default:
-//                     break;
-//             }
-//         }break;
-         case 2:{
-             switch (indexPath.row) {
-                 case 0:{
-                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
-                     cell.cell2TitleLabel.text = @"消息免打扰";
-                     cell.cell2ValueLabel.hidden = YES;
-                     cell.cell2RightArrowImg.hidden = YES;
-                     cell.cell2Switch.hidden = NO;
-                     cell.cell2Switch.enabled = YES;
-                     [cell.cell2Switch setOn:self.IsDisturb];
-                     [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
-                         [[HttpManager sharedHttpManager] POSTUrl:Host(Group_Chat_User_is_disturb) parameters:@{@"GroupChatId":@(weakSelf.model.Id),@"UserId":@([AppUserModel sharedAppUserModel].Id)} responseStyle:DATA success:^(id  _Nonnull responseObject) {
-                             dispatch_async(dispatch_get_main_queue(), ^{
-                                 [weakSelf netWorking];
-                             });
-                         } failure:^(NSError * _Nonnull error) {
-                             
-                         }];
-                     }];
-                     return cell;
-                 }break;
-                 case 1:{
-                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
-                     cell.cell2TitleLabel.text = @"置顶聊天";
-                     cell.cell2ValueLabel.hidden = YES;
-                     cell.cell2RightArrowImg.hidden = YES;
-                     cell.cell2Switch.hidden = NO;
-                     cell.cell2Switch.enabled = YES;
-                     [cell.cell2Switch setOn:self.IsTop];
-                     [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
-                         [[HttpManager sharedHttpManager] POSTUrl:Host(Group_Chat_User_is_top) parameters:@{@"IsTop":@(!weakSelf.IsTop),@"GroupChatId":@(weakSelf.model.Id),@"UserId":@([AppUserModel sharedAppUserModel].Id)} responseStyle:DATA success:^(id  _Nonnull responseObject) {
-                             weakSelf.IsTop = !weakSelf.IsTop;
-                             dispatch_async(dispatch_get_main_queue(), ^{
-                                 [tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
-                             });
-                         } failure:^(NSError * _Nonnull error) {
-                             
-                         }];
-                     }];
-                     return cell;
-                 }break;
-                 default:
-                 {
-                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
-                     cell.cell2TitleLabel.text = @"保存到通讯录";
-                     cell.cell2ValueLabel.hidden = YES;
-                     cell.cell2RightArrowImg.hidden = YES;
-                     cell.cell2Switch.hidden = NO;
-                     cell.cell2Switch.enabled = YES;
-                     [cell.cell2Switch setOn:self.model.IsContacts];
-                     [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
-                         NSString * url = [NSString stringWithFormat:@"%@%ld",Host(APP_Group_Chat_Contacts),weakSelf.model.Id];
-                         [[HttpManager sharedHttpManager] PUTUrl:url parameters:@{} responseStyle:DATA success:^(id  _Nonnull responseObject) {
-                             weakSelf.model.IsContacts = !weakSelf.model.IsContacts;
-                             dispatch_async(dispatch_get_main_queue(), ^{
-                                 [tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
-                             });
-                         } failure:^(NSError * _Nonnull error) {
-                             SHOWERROR([ZYCTool handerResultData:error]);
-                         }];
-                     }];
-                     return cell;
-                 }
-                     break;
-             }
-         }break;
-         case 3:{
-             switch (indexPath.row) {
-                 case 0:{
-                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell4:tableView indexPath:indexPath];
-                     cell.cell4TitleLabel.text = @"清空聊天记录";
-                     return cell;
-                 }break;
-                 case 1:{
-                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell4:tableView indexPath:indexPath];
-                     cell.cell4TitleLabel.text = @"删除并退出";
-                     return cell;
-                 }break;
-                 default:
-                     break;
-             }
-         }break;
-         default:
-             break;
-     }
+    switch (indexPath.section) {
+        case 0:{
+            switch (indexPath.row) {
+                case 0:{
+                    ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell0:tableView indexPath:indexPath];
+                    [cell.cell0BgView addSubview:self.collectionView];
+                    NSInteger countZ = self.collectionDataSource.count / 5;
+                    NSInteger countY = self.collectionDataSource.count % 5;
+                    if(countY == 0){
+                        self.collectionView.frame = CGRectMake(0, 0, SCREEN_WIDTH, 90 * countZ);
+                    }else{
+                        self.collectionView.frame = CGRectMake(0, 0, SCREEN_WIDTH, 90 * (countZ+1));
+                    }
+                    return cell;
+                }break;
+                case 1:{
+                    ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell1:tableView indexPath:indexPath];
+                    return cell;
+                }break;
+                default:
+                    break;
+            }
+        }break;
+        case 1:{
+            switch (indexPath.row) {
+                case 0:{
+                    ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell5:tableView indexPath:indexPath];
+                    [cell.ChatImgV sd_setImageWithURL:[NSURL URLWithString:self.model.AvatarUrl] placeholderImage:kUserDefaultHeadImage];
+                    cell.cell2RightArrowImg.hidden = !self.model.IsAdmin;
+                    cell.cell2ValueLabel.text = self.model.Name;
+                    return cell;
+                }break;
+                case 1:{
+                    ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
+                    cell.cell2TitleLabel.text = @"群聊二维码";
+                    cell.cell2ValueLabel.hidden = YES;
+                    cell.cell2RightArrowImg.hidden = YES;
+                    cell.cell2Switch.hidden = NO;
+                    cell.cell2Switch.enabled = self.IsAdmin;
+                    [cell.cell2Switch setOn:self.model.IsOpenQrCoder];
+                    [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
+                        NSString * url = [NSString stringWithFormat:@"%@%ld",Host(API_App_Group_Chat),(long)weakSelf.model.GroupChatImId];
+                        [[HttpManager sharedHttpManager] PUTUrl:url parameters:@{} success:^(id  _Nonnull responseObject) {
+                            dispatch_async(dispatch_get_main_queue(), ^{
+                                [weakSelf netWorking];
+                            });
+                        } failure:^(NSError * _Nonnull error) {
+                            SHOWERROR([ZYCTool handerResultData:error]);
+                        }];
+                    }];
+                    return cell;
+                }break;
+                case 2:{
+                    if (self.model.IsOpenQrCoder) {
+                        ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell3:tableView indexPath:indexPath];
+                        cell.cell3TitleLabel.text = @"二维码";
+                        cell.cell3ShareBtn.hidden = YES;
+                        [cell.cell3ShareBtn setAction:^{
+                            [weakSelf shareHander];
+                        }];
+                        [cell.cell3ErWeiMaImg sd_setImageWithURL:[NSURL URLWithString:self.model.QRCoder] placeholderImage:[UIImage imageNamed:@"my_qrcode_testcode"]];
+                        return cell;
+                        //                     }else{
+                        //                         ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
+                        //                         cell.cell2TitleLabel.text = @"群管理";
+                        //                         cell.cell2ValueLabel.hidden = YES;
+                        //                         return cell;
+                    }
+                }break;
+                    //                 case 3:{
+                    //                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
+                    //                     cell.cell2TitleLabel.text = @"群管理";
+                    //                     cell.cell2ValueLabel.hidden = YES;
+                    //                     return cell;
+                    //                 }break;
+                default:
+                    break;
+            }
+        }break;
+            //         case 2:{
+            //             switch (indexPath.row) {
+            //                 case 0:{
+            //                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
+            //                     cell.cell2TitleLabel.text = @"查找聊天记录";
+            //                     cell.cell2ValueLabel.hidden = YES;
+            //                     return cell;
+            //                 }break;
+            //                 case 1:{
+            //                     ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
+            //                     cell.cell2TitleLabel.text = @"历史文件";
+            //                     cell.cell2ValueLabel.hidden = YES;
+            //                     return cell;
+            //                 }break;
+            //                 default:
+            //                     break;
+            //             }
+            //         }break;
+        case 2:{
+            switch (indexPath.row) {
+                case 0:{
+                    ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
+                    cell.cell2TitleLabel.text = @"消息免打扰";
+                    cell.cell2ValueLabel.hidden = YES;
+                    cell.cell2RightArrowImg.hidden = YES;
+                    cell.cell2Switch.hidden = NO;
+                    cell.cell2Switch.enabled = YES;
+                    [cell.cell2Switch setOn:self.IsDisturb];
+                    [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
+                        [[HttpManager sharedHttpManager] POSTUrl:Host(Group_Chat_User_is_disturb) parameters:@{@"GroupChatId":@(weakSelf.model.Id),@"UserId":@([AppUserModel sharedAppUserModel].Id)} responseStyle:DATA success:^(id  _Nonnull responseObject) {
+                            dispatch_async(dispatch_get_main_queue(), ^{
+                                [weakSelf netWorking];
+                            });
+                        } failure:^(NSError * _Nonnull error) {
+                            
+                        }];
+                    }];
+                    return cell;
+                }break;
+                case 1:{
+                    ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
+                    cell.cell2TitleLabel.text = @"置顶聊天";
+                    cell.cell2ValueLabel.hidden = YES;
+                    cell.cell2RightArrowImg.hidden = YES;
+                    cell.cell2Switch.hidden = NO;
+                    cell.cell2Switch.enabled = YES;
+                    [cell.cell2Switch setOn:self.IsTop];
+                    [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
+                        [[HttpManager sharedHttpManager] POSTUrl:Host(Group_Chat_User_is_top) parameters:@{@"IsTop":@(!weakSelf.IsTop),@"GroupChatId":@(weakSelf.model.Id),@"UserId":@([AppUserModel sharedAppUserModel].Id)} responseStyle:DATA success:^(id  _Nonnull responseObject) {
+                            weakSelf.IsTop = !weakSelf.IsTop;
+                            dispatch_async(dispatch_get_main_queue(), ^{
+                                [tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
+                            });
+                        } failure:^(NSError * _Nonnull error) {
+                            
+                        }];
+                    }];
+                    return cell;
+                }break;
+                default:
+                {
+                    ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell2:tableView indexPath:indexPath];
+                    cell.cell2TitleLabel.text = @"保存到通讯录";
+                    cell.cell2ValueLabel.hidden = YES;
+                    cell.cell2RightArrowImg.hidden = YES;
+                    cell.cell2Switch.hidden = NO;
+                    cell.cell2Switch.enabled = YES;
+                    [cell.cell2Switch setOn:self.model.IsContacts];
+                    [cell.cell2Switch setBlockForControlEvents:UIControlEventValueChanged block:^(id  _Nonnull sender) {
+                        NSString * url = [NSString stringWithFormat:@"%@%ld",Host(APP_Group_Chat_Contacts),weakSelf.model.Id];
+                        [[HttpManager sharedHttpManager] PUTUrl:url parameters:@{} responseStyle:DATA success:^(id  _Nonnull responseObject) {
+                            weakSelf.model.IsContacts = !weakSelf.model.IsContacts;
+                            dispatch_async(dispatch_get_main_queue(), ^{
+                                [tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationAutomatic];
+                            });
+                        } failure:^(NSError * _Nonnull error) {
+                            SHOWERROR([ZYCTool handerResultData:error]);
+                        }];
+                    }];
+                    return cell;
+                }
+                    break;
+            }
+        }break;
+        case 3:{
+            switch (indexPath.row) {
+                case 0:{
+                    ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell4:tableView indexPath:indexPath];
+                    cell.cell4TitleLabel.text = @"清空聊天记录";
+                    return cell;
+                }break;
+                case 1:{
+                    ChatMsgDetailChatInfoCell *cell = [ChatMsgDetailChatInfoCell configCell4:tableView indexPath:indexPath];
+                    cell.cell4TitleLabel.text = @"删除并退出";
+                    return cell;
+                }break;
+                default:
+                    break;
+            }
+        }break;
+        default:
+            break;
+    }
     return nil;
 }
 
@@ -534,7 +555,6 @@
             switch (indexPath.row) {
                 case 1:{
                     DetailChatInfoAllUserVC *vc = [DetailChatInfoAllUserVC initDetailChatInfoAllUserVC];
-                    vc.dataArray = self.allUserArray;
                     vc.isAdmin = self.IsAdmin;
                     vc.GroupChatImId = self.model.GroupChatImId;
                     [self.navigationController pushViewController:vc animated:YES];
@@ -569,7 +589,7 @@
                         vc.IsAdmin = self.model.IsAdmin;
                         vc.IsWords = self.model.IsWords;
                         vc.ChangeSuccessBlock = ^{
-
+                            
                         };
                         [self.navigationController pushViewController:vc animated:YES];
                     }
@@ -581,7 +601,7 @@
                     vc.IsAdmin = self.model.IsAdmin;
                     vc.IsWords = self.model.IsWords;
                     vc.ChangeSuccessBlock = ^{
-
+                        
                     };
                     [self.navigationController pushViewController:vc animated:YES];
                 }break;
@@ -589,22 +609,22 @@
                     break;
             }
         }break;
-//        case 2:{
-//            switch (indexPath.row) {
-//                case 0:{
-//                    ChatSearchCenterVC *vc = [ChatSearchCenterVC initChatSearchCenterVC];
-//                    vc.GroupChatImId = self.model.GroupChatImId;
-//                    [self.navigationController pushViewController:vc animated:YES];
-//                }break;
-//                case 1:{
-//                    ChatSearchFindbyFuJVC *vc = [ChatSearchFindbyFuJVC initChatSearchFindbyFuJVC];
-//                    vc.pageType = ChatSearchFindbyFuJType_History;
-//                    [self.navigationController pushViewController:vc animated:YES];
-//                }break;
-//                default:
-//                    break;
-//            }
-//        }break;
+            //        case 2:{
+            //            switch (indexPath.row) {
+            //                case 0:{
+            //                    ChatSearchCenterVC *vc = [ChatSearchCenterVC initChatSearchCenterVC];
+            //                    vc.GroupChatImId = self.model.GroupChatImId;
+            //                    [self.navigationController pushViewController:vc animated:YES];
+            //                }break;
+            //                case 1:{
+            //                    ChatSearchFindbyFuJVC *vc = [ChatSearchFindbyFuJVC initChatSearchFindbyFuJVC];
+            //                    vc.pageType = ChatSearchFindbyFuJType_History;
+            //                    [self.navigationController pushViewController:vc animated:YES];
+            //                }break;
+            //                default:
+            //                    break;
+            //            }
+            //        }break;
         case 3:{
             switch (indexPath.row) {
                 case 0:{
@@ -738,106 +758,78 @@
 
 - (void)collectionView:(GHRefreshCollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
     [collectionView deselectItemAtIndexPath:indexPath animated:YES];
-//    WS(weakSelf);
+    WS(weakSelf);
     if (self.IsAdmin) {
         if (indexPath.item == (self.collectionDataSource.count -1)) {//删除群成员
-               NSMutableArray * array = [NSMutableArray array];
-               for (NSInteger i = 0; i < self.collectionDataSource.count - 2; i ++) {
-                   ChatInfoUserModel * userModel = self.collectionDataSource[i];
-                   if ([AppUserModel sharedAppUserModel].Id == userModel.UserId) {
-                       continue;
-                   }
-                   SelectModel * model = [[SelectModel alloc] init];
-                   model.Nick = userModel.UserName;
-                   model.Phone = [NSString stringWithFormat:@"%ld",(long)userModel.GroupChatImId];
-                   model.ImId = [NSString stringWithFormat:@"%ld",(long)userModel.ImId];
-                   model.UserId = userModel.UserId;
-                   model.AvatarUrl = userModel.AvatarUrl;
-                   model.UserName = userModel.UserName;
-                   model.hasSon = NO;
-                   model.hadSelected = NO;
-                   [array addObject:model];
-               }
-               ChatGroupDeleteVC *vc = [[ChatGroupDeleteVC alloc] init];
-               vc.grouperArray = array;
-               vc.GroupChatImId = self.model.GroupChatImId;
-               vc.refreshBlock = ^{
-//                   [weakSelf netWorking];
-               };
-               [self.navigationController pushViewController:vc animated:YES];
-           }else if (indexPath.item == (self.collectionDataSource.count -2)){
-               Department *defaltGroupSetion = [[Department alloc]init];
-               defaltGroupSetion.Name  = @"单位通讯录";
-               defaltGroupSetion.Id = 0;
-               
-               Department *myGroupSetion = [[Department alloc]init];
-               myGroupSetion.Name  = @"自建通讯录";
-               defaltGroupSetion.Id = 0;
-               
-               NSMutableArray * array = [NSMutableArray array];
-               for (NSInteger i = 0; i < self.collectionDataSource.count - 2; i ++) {
-                   ChatInfoUserModel * userModel = self.collectionDataSource[i];
-                   SelectModel * model = [[SelectModel alloc] init];
-                   model.Nick = userModel.UserName;
-                   model.Phone = [NSString stringWithFormat:@"%ld",(long)userModel.GroupChatImId];
-                   model.ImId = [NSString stringWithFormat:@"%ld",(long)userModel.ImId];
-                   model.UserId = userModel.UserId;
-                   model.AvatarUrl = userModel.AvatarUrl;
-                   model.UserName = userModel.UserName;
-                   model.hasSon = NO;
-                   model.hadSelected = NO;
-                   [array addObject:model];
-               }
-               ChatGroupAddVC *vc = [[ChatGroupAddVC alloc] init];
-               vc.departSourceDataArray = @[defaltGroupSetion,myGroupSetion].mutableCopy;
-               vc.isDefalutPage = 1;
-               vc.type = AddChatUser;
-               vc.Id = self.model.GroupChatImId;
-               vc.grouperArray = array;
-               [self.navigationController pushViewController:vc animated:YES];
-           }else{
-               ChatInfoUserModel *model = self.collectionDataSource[indexPath.row];
-               MailListDetailVC *vc = [MailListDetailVC initMailListDetailVC];
-               vc.indexId = model.UserId;
-               [self.navigationController pushViewController:vc animated:YES];
-           }
+            NSMutableArray * array = [NSMutableArray array];
+            for (NSInteger i = 0; i < self.collectionDataSource.count - 2; i ++) {
+                ChatInfoUserModel * userModel = self.collectionDataSource[i];
+                if ([AppUserModel sharedAppUserModel].Id == userModel.UserId) {
+                    continue;
+                }
+                SelectModel * model = [[SelectModel alloc] init];
+                model.Nick = userModel.UserName;
+                model.Phone = [NSString stringWithFormat:@"%ld",(long)userModel.GroupChatImId];
+                model.ImId = [NSString stringWithFormat:@"%ld",(long)userModel.ImId];
+                model.UserId = userModel.UserId;
+                model.AvatarUrl = userModel.AvatarUrl;
+                model.UserName = userModel.UserName;
+                model.hasSon = NO;
+                model.hadSelected = NO;
+                [array addObject:model];
+            }
+            ChatGroupDeleteVC *vc = [[ChatGroupDeleteVC alloc] init];
+            vc.GroupChatImId = self.model.GroupChatImId;
+            vc.refreshBlock = ^(void) {
+                [weakSelf netWorking];
+            };
+            [self.navigationController pushViewController:vc animated:YES];
+        }else if (indexPath.item == (self.collectionDataSource.count -2)){
+            NSMutableArray * array = [NSMutableArray array];
+            for (NSInteger i = 0; i < self.collectionDataSource.count - 2; i ++) {
+                ChatInfoUserModel * userModel = self.collectionDataSource[i];
+                [array addObject:@(userModel.UserId)];
+            }
+            AddLookUpUserSecondVC *vc = [[AddLookUpUserSecondVC alloc] init];
+            vc.titleStr = @"添加成员";
+            vc.isDefalutPage = 1;
+            vc.delegate = self;
+            USERDEFAULTSSET([NSMutableArray array], MAILSELECT);
+            [self.navigationController pushViewController:vc animated:YES];
+        }else{
+            ChatInfoUserModel *model = self.collectionDataSource[indexPath.row];
+            MailListDetailVC *vc = [MailListDetailVC initMailListDetailVC];
+            vc.indexId = model.UserId;
+            [self.navigationController pushViewController:vc animated:YES];
+        }
     }else{
         if (indexPath.item == (self.collectionDataSource.count -1)) {//添加群成员
-               Department *defaltGroupSetion = [[Department alloc]init];
-               defaltGroupSetion.Name  = @"单位通讯录";
-               defaltGroupSetion.Id = 0;
-               
-               Department *myGroupSetion = [[Department alloc]init];
-               myGroupSetion.Name  = @"自建通讯录";
-               defaltGroupSetion.Id = 0;
-               
-               NSMutableArray * array = [NSMutableArray array];
-               for (NSInteger i = 0; i < self.collectionDataSource.count - 2; i ++) {
-                   ChatInfoUserModel * userModel = self.collectionDataSource[i];
-                   SelectModel * model = [[SelectModel alloc] init];
-                   model.Nick = userModel.UserName;
-                   model.Phone = [NSString stringWithFormat:@"%ld",(long)userModel.GroupChatImId];
-                   model.ImId = [NSString stringWithFormat:@"%ld",(long)userModel.ImId];
-                   model.UserId = userModel.UserId;
-                   model.AvatarUrl = userModel.AvatarUrl;
-                   model.UserName = userModel.UserName;
-                   model.hasSon = NO;
-                   model.hadSelected = NO;
-                   [array addObject:model];
-               }
-               ChatGroupAddVC *vc = [[ChatGroupAddVC alloc] init];
-               vc.departSourceDataArray = @[defaltGroupSetion,myGroupSetion].mutableCopy;
-               vc.isDefalutPage = 1;
-               vc.Id = self.model.GroupChatImId;
-               vc.type = AddChatUser;
-               vc.grouperArray = array;
-               [self.navigationController pushViewController:vc animated:YES];
-           }else{
-               ChatInfoUserModel *model = self.collectionDataSource[indexPath.row];
-               MailListDetailVC *vc = [MailListDetailVC initMailListDetailVC];
-               vc.indexId = model.UserId;
-               [self.navigationController pushViewController:vc animated:YES];
-           }
+            Department *defaltGroupSetion = [[Department alloc]init];
+            defaltGroupSetion.Name  = @"单位通讯录";
+            defaltGroupSetion.Id = 0;
+            
+            Department *myGroupSetion = [[Department alloc]init];
+            myGroupSetion.Name  = @"自建通讯录";
+            defaltGroupSetion.Id = 0;
+            
+            NSMutableArray * array = [NSMutableArray array];
+            for (NSInteger i = 0; i < self.collectionDataSource.count - 2; i ++) {
+                ChatInfoUserModel * userModel = self.collectionDataSource[i];
+                [array addObject:@(userModel.UserId)];
+            }
+            AddLookUpUserSecondVC *vc = [[AddLookUpUserSecondVC alloc] init];
+            vc.titleStr = @"添加成员";
+            vc.isDefalutPage = 1;
+            vc.delegate = self;
+            vc.UserIds = array;
+            USERDEFAULTSSET([NSMutableArray array], MAILSELECT);
+            [self.navigationController pushViewController:vc animated:YES];
+        }else{
+            ChatInfoUserModel *model = self.collectionDataSource[indexPath.row];
+            MailListDetailVC *vc = [MailListDetailVC initMailListDetailVC];
+            vc.indexId = model.UserId;
+            [self.navigationController pushViewController:vc animated:YES];
+        }
     }
 }
 
@@ -893,11 +885,11 @@
     }else if ([typeName isEqualToString:@"发到消息"]){
         
     }else if ([typeName isEqualToString:@"发到小组"]){
-//        [self returnToGroup];
+        //        [self returnToGroup];
     }else if ([typeName isEqualToString:@"发到笔记"]){
-//        [self returnToNote];
+        //        [self returnToNote];
     }else if ([typeName isEqualToString:@"发到话题"]){
-//        [self returnToTopic];
+        //        [self returnToTopic];
     }else{
     }
 }

+ 0 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsg/Controller/DetailChatInfoAllUserVC.h

@@ -12,7 +12,6 @@ NS_ASSUME_NONNULL_BEGIN
 
 ///群聊成员 
 @interface DetailChatInfoAllUserVC : BaseViewController
-@property (nonatomic,copy) NSArray   * dataArray;
 @property (nonatomic,assign) BOOL    isAdmin;
 @property (nonatomic,assign) NSInteger    GroupChatImId;
 +(DetailChatInfoAllUserVC *)initDetailChatInfoAllUserVC;

+ 32 - 16
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsg/Controller/DetailChatInfoAllUserVC.m

@@ -36,19 +36,42 @@
 }
 - (void)countUsers
 {
-    self.titleLabel.text = [NSString stringWithFormat:@"群聊成员(%lu)",(unsigned long)self.collectionDataSource.count];
+    self.titleLabel.text = [NSString stringWithFormat:@"群聊成员(%lu)",(unsigned long)self.collectionDataSource.count - 2];
 }
 - (void)viewDidLoad {
     [super viewDidLoad];
-    
     self.fd_prefersNavigationBarHidden = YES;
     self.view.backgroundColor = RGB(245, 245, 245);
-  
-    [self initCollectionData];
-    
     [self initCollectionView];
+    [self netWorking];
 }
 
+- (void)netWorking
+{
+    [self.collectionDataSource removeAllObjects];
+    WS(weakSelf);
+    [[HttpManager sharedHttpManager] POSTUrl:Host(Group_chat_info) parameters:@{@"GroupChatImId":@(self.GroupChatImId)} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+        NSLog(@"%@",responseObject);
+        if (![responseObject isKindOfClass:[NSDictionary class]]) {
+            return;
+        }
+        for (NSDictionary * dict in responseObject[@"Item"]) {
+            ChatInfoUserModel * model = [[ChatInfoUserModel alloc] init];
+            model.AvatarUrl = [dict objectForKey:@"AvatarUrl"];
+            model.UserName = [dict objectForKey:@"UserName"];
+            model.UserId = [[dict objectForKey:@"UserId"] integerValue];
+            model.ImId = [[dict objectForKey:@"ImId"] integerValue];
+            model.GroupChatImId = [[dict objectForKey:@"GroupChatImId"] integerValue];
+            [weakSelf.collectionDataSource addObject:model];
+        }
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [weakSelf initCollectionData];
+            [weakSelf.collectionView reloadData];
+        });
+    } failure:^(NSError * _Nonnull error) {
+        
+    }];
+}
 -(void)initCollectionView{
     [self.view addSubview:self.collectionView];
     self.collectionView.frame = CGRectMake(0, kNavigationHeight, SCREEN_WIDTH, SCREEN_HEIGHT - kNavigationHeight - kiphoneXBootomHeight);
@@ -163,6 +186,7 @@
 
 - (void)collectionView:(GHRefreshCollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
     [collectionView deselectItemAtIndexPath:indexPath animated:YES];
+    WS(weakSelf);
     if (self.isSearch) {
         ChatInfoUserModel *model = self.historyDataSourceArray[indexPath.row];
         MailListDetailVC *vc = [MailListDetailVC initMailListDetailVC];
@@ -189,8 +213,10 @@
                     [array addObject:model];
                 }
                 ChatGroupDeleteVC *vc = [[ChatGroupDeleteVC alloc] init];
-                vc.grouperArray = array;
                 vc.GroupChatImId = self.GroupChatImId;
+                vc.refreshBlock = ^(void) {
+                    [weakSelf netWorking];
+                };
                 [self.navigationController pushViewController:vc animated:YES];
             }else if (indexPath.item == (self.collectionDataSource.count -2)){
                 Department *defaltGroupSetion = [[Department alloc]init];
@@ -290,16 +316,6 @@
 }
 
 -(void)initCollectionData{
-    for (NSInteger i = 0; i < self.dataArray.count; i++) {
-        NSDictionary * dict = self.dataArray[i];
-        ChatInfoUserModel * model = [[ChatInfoUserModel alloc] init];
-        model.AvatarUrl = [dict objectForKey:@"AvatarUrl"];
-        model.UserName = [dict objectForKey:@"UserName"];
-        model.UserId = [[dict objectForKey:@"UserId"] integerValue];
-        model.ImId = [[dict objectForKey:@"ImId"] integerValue];
-        model.GroupChatImId = [[dict objectForKey:@"GroupChatImId"] integerValue];
-        [self.collectionDataSource addObject:model];
-    }
     if (self.isAdmin) {
         ChatInfoUserModel * modeladd = [[ChatInfoUserModel alloc] init];
         modeladd.AvatarUrl = @"chatinfo_user_add_icon";

+ 3 - 0
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgListVC.h

@@ -7,10 +7,13 @@
 //
 
 #import "BaseViewController.h"
+#import "PushModel.h"
 
 NS_ASSUME_NONNULL_BEGIN
 
 @interface ChatMsgListVC : BaseViewController
+@property (nonatomic,strong) PushModel * pModel;
+@property (nonatomic,assign) BOOL        isPush;
 +(ChatMsgListVC *)initChatMsgListVC;
 @end
 

+ 59 - 30
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgListVC.m

@@ -42,6 +42,7 @@
 #import "ChatTestingVC.h"
 #import "ReplayMeVC.h"
 #import "TDGroupInfoListVC.h"
+#import "LoginPCVC.h"
 
 static NSString *kConversation_IsRead = @"kHaveAtMessage";
 static int kConversation_AtYou = 1;
@@ -342,22 +343,7 @@ static int kConversation_AtAll = 2;
 
 
 -(void)initChatMsgIMData{
-    [self.chatListIMArray removeAllObjects];
-    ChatMsgListImModel * amodel = [[ChatMsgListImModel alloc] init];
-    amodel.AttributeValue = 3;
-    amodel.Name = @"通讯录";
-    amodel.AvatarUrl = @"chat_phone_list";
-    [self.chatListIMArray addObject:amodel];
-    ChatMsgListImModel * bmodel = [[ChatMsgListImModel alloc] init];
-    bmodel.AttributeValue = 4;
-    bmodel.Name = @"验证信息";
-    bmodel.AvatarUrl = @"chat_yan_message";
-    [self.chatListIMArray addObject:bmodel];
-    ChatMsgListImModel * cmodel = [[ChatMsgListImModel alloc] init];
-    cmodel.AttributeValue = 5;
-    cmodel.Name = @"回复我的";
-    cmodel.AvatarUrl = @"chat_replay_me";
-    [self.chatListIMArray addObject:cmodel];
+
 
     WS(weakSelf);
     SHOWLOADING
@@ -365,10 +351,37 @@ static int kConversation_AtAll = 2;
     [[HttpManager sharedHttpManager] GETUrl:url parameters:@{} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
         NSLog(@"%@",responseObject);
         REMOVESHOW
+        [weakSelf.chatListIMArray removeAllObjects];
+        ChatMsgListImModel * amodel = [[ChatMsgListImModel alloc] init];
+        amodel.AttributeValue = 3;
+        amodel.Name = @"通讯录";
+        amodel.AvatarUrl = @"chat_phone_list";
+        [weakSelf.chatListIMArray addObject:amodel];
+        ChatMsgListImModel * bmodel = [[ChatMsgListImModel alloc] init];
+        bmodel.AttributeValue = 4;
+        bmodel.Name = @"验证信息";
+        bmodel.AvatarUrl = @"chat_yan_message";
+        [weakSelf.chatListIMArray addObject:bmodel];
+        ChatMsgListImModel * cmodel = [[ChatMsgListImModel alloc] init];
+        cmodel.AttributeValue = 5;
+        cmodel.Name = @"回复我的";
+        cmodel.AvatarUrl = @"chat_replay_me";
+        [weakSelf.chatListIMArray addObject:cmodel];
         [weakSelf.tableView.mj_header endRefreshing];
         if ([responseObject[@"OftenContactInfos"] isKindOfClass:[NSArray class]]) {
             for (NSDictionary * dict in responseObject[@"OftenContactInfos"]) {
                 ChatMsgListImModel * model = [ChatMsgListImModel modelWithDictionary:dict];
+                if (model.ImId == [weakSelf.pModel.ImId integerValue] && weakSelf.isPush) {
+                    if (weakSelf.pModel.chatType == ChatType_SingleChat) {
+                        [weakSelf enterChatView:model];
+                    }else{
+                        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                            [[HttpManager sharedHttpManager] cancelRequest];
+                            [weakSelf getGroupInfo:model];
+                        });
+                    }
+                    weakSelf.isPush = NO;
+                }
                 [weakSelf.chatListIMArray addObject:model];
             }
         }
@@ -712,8 +725,9 @@ static int kConversation_AtAll = 2;
     switch (model.AttributeValue) {
         case 2:
         {
-            ChatMsgListCell *cell = [ChatMsgListCell configCell2:tableView indexPath:indexPath];
             if(self.operationStateEnum == OperationStateEnum0){
+                ChatMsgListCell *cell = [ChatMsgListCell configCell2:tableView indexPath:indexPath];
+                cell.cell2IconImgView.image = IMG(@"find_1");
                 cell.cell2TitleLabel.text = model.FolderName;
                 cell.cell2isTop.hidden = !model.IsTop;
                 cell.cell2TimeLabel.hidden = NO;
@@ -724,6 +738,7 @@ static int kConversation_AtAll = 2;
             }
             else if (self.operationStateEnum == OperationStateEnum1){
                 ChatMsgListCell *cell = [ChatMsgListCell configCell6:tableView indexPath:indexPath];
+                cell.cell2IconImgView.image = IMG(@"find_1");
                 cell.cell6SelectBtn.selected = model.isSelected;
                 cell.cell2TitleLabel.text = model.FolderName;
                 cell.cell2TimeLabel.hidden = YES;
@@ -735,6 +750,8 @@ static int kConversation_AtAll = 2;
                 [self.operationAllSelectButton setTitle:self.isAllselect ? @"取消全选": @"全选" forState:UIControlStateNormal];
                 return cell;
             } else {///if (self.operationStateEnum == OperationStateEnum2)
+                ChatMsgListCell *cell = [ChatMsgListCell configCell2:tableView indexPath:indexPath];
+                cell.cell2IconImgView.image = IMG(@"find_1");
                 cell.cell2TimeLabel.text = @"进入";
                 cell.cell2TitleLabel.text = model.FolderName;
                 cell.cell2isTop.hidden = !model.IsTop;
@@ -1008,7 +1025,7 @@ static int kConversation_AtAll = 2;
     controller.listId = chatModel.Id;
     controller.isTop = chatModel.IsTop;
     controller.hidesBottomBarWhenPushed = YES;
-    [self.navigationController pushViewController:controller animated:YES];
+    [self.navigationController pushViewController:controller animated:self.isPush ? NO : YES];
 }
 - (void)getGroupInfo:(ChatMsgListImModel *)chatModel
 {
@@ -1016,18 +1033,20 @@ static int kConversation_AtAll = 2;
     WS(weakSelf);
     [[HttpManager sharedHttpManager] POSTUrl:Host(Group_chat_info) parameters:@{@"GroupChatImId":@(chatModel.ImId)} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
         weakSelf.tableView.allowsSelection = YES;
-        EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:[NSString stringWithFormat:@"%ld",(long)chatModel.ImId] type: EMConversationTypeGroupChat createIfNotExist:YES];
-        EMConversationModel *model = [[EMConversationModel alloc] initWithEMModel:conversation];
-        EMChatViewController *controller = [[EMChatViewController alloc] initWithCoversationModel:model];
-        controller.toUserId = chatModel.ImId;
-        controller.groupUserInfoArray = responseObject[@"Item"];
-        model.name = chatModel.Name;
-        controller.GroupId = chatModel.Id;
-        controller.ImId = chatModel.ImId;
-        controller.chatType = chatModel.ChatType;
-        controller.isTop = chatModel.IsTop;
-        controller.hidesBottomBarWhenPushed = YES;
-        [weakSelf.navigationController pushViewController:controller animated:YES];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:[NSString stringWithFormat:@"%ld",(long)chatModel.ImId] type: EMConversationTypeGroupChat createIfNotExist:YES];
+            EMConversationModel *model = [[EMConversationModel alloc] initWithEMModel:conversation];
+            EMChatViewController *controller = [[EMChatViewController alloc] initWithCoversationModel:model];
+            controller.toUserId = chatModel.ImId;
+            controller.groupUserInfoArray = responseObject[@"Item"];
+            model.name = chatModel.Name;
+            controller.GroupId = chatModel.Id;
+            controller.ImId = chatModel.ImId;
+            controller.chatType = chatModel.ChatType;
+            controller.isTop = chatModel.IsTop;
+            controller.hidesBottomBarWhenPushed = YES;
+            [weakSelf.navigationController pushViewController:controller animated:self.isPush ? NO : YES];
+        });
     } failure:^(NSError * _Nonnull error) {
         weakSelf.tableView.allowsSelection = YES;
     }];
@@ -1310,6 +1329,16 @@ static int kConversation_AtAll = 2;
             }];
         }
             break;
+        case 4://扫码登录
+        {
+            LoginPCVC * vc = [[LoginPCVC alloc] init];
+            vc.key = model.value;
+            vc.modalPresentationStyle = UIModalPresentationFullScreen;
+            [self presentViewController:vc animated:YES completion:^{
+                            
+            }];
+        }
+            break;
         default:
             break;
     }

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgNotice/Controller/MoveSearchVC.h

@@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic,assign) CreateFileFolderType TypeId;
 @property (nonatomic,copy) NSMutableArray        *FolderIds;
 @property (nonatomic, assign) BOOL        isReturn;
-@property (copy, nonatomic)   FlowAttachmentsModel * sendModel;
+@property (strong, nonatomic) FlowAttachmentsModel * sendModel;
 @property (strong, nonatomic) UIImage            *sendImage;
 @property (nonatomic,assign) CollectModelType     CollectionType;
 @end

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgNotice/Controller/MoveViewController.h

@@ -25,7 +25,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic,assign) CollectModelType     CollectionType;
 @property (nonatomic,assign) NSInteger  CollectionDataId;
 @property (assign, nonatomic) CollectModelType       type;
-@property (copy, nonatomic)   FlowAttachmentsModel * sendModel;
+@property (strong, nonatomic) FlowAttachmentsModel * sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 @property (assign, nonatomic) BOOL                   isCommonNoteVC;
 @property (assign, nonatomic) NSInteger              TypeValue;

+ 5 - 5
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgNotice/Controller/MoveViewController.m

@@ -115,7 +115,6 @@
                                 SHOWLOADING
                                 [[HttpManager sharedHttpManager] POSTUrl:Host(API_Find_Move) parameters:dic responseStyle:DATA success:^(id  _Nonnull responseObject) {
                                     REMOVESHOW
-                                    SHOWSUCCESS(@"移动成功");
                                     [weakSelf myBack];
                                 } failure:^(NSError * _Nonnull error) {
                                     REMOVESHOW
@@ -365,7 +364,7 @@
             [[HttpManager sharedHttpManager] POSTUrl:Host(API_Find_Move) parameters:dic responseStyle:DATA success:^(id  _Nonnull responseObject) {
                 REMOVESHOW
                 NSLog(@"%@",responseObject);
-                SHOWSUCCESS(weakSelf.collectType == CollectHanderType_Collect ? @"收藏成功" : @"移动成功");
+//                SHOWSUCCESS(weakSelf.collectType == CollectHanderType_Collect ? @"收藏成功" : @"移动成功");
                 if (weakSelf.collectType == CollectHanderType_Collect) {
                     
                 }
@@ -431,7 +430,7 @@
         WEAKSELF
         [[HttpManager sharedHttpManager] POSTUrl:Host(API_Find_Move) parameters:dic responseStyle:DATA success:^(id  _Nonnull responseObject) {
             REMOVESHOW
-            SHOWSUCCESS(@"移动成功");
+//            SHOWSUCCESS(@"移动成功");
             [weakSelf myBack];
         } failure:^(NSError * _Nonnull error) {
             REMOVESHOW
@@ -458,7 +457,7 @@
     WEAKSELF
     [[HttpManager sharedHttpManager] PUTUrl:Host(API_CreateCollect) parameters:dic success:^(id  _Nonnull responseObject) {
         REMOVESHOW
-        SHOWSUCCESS(@"收藏成功");
+//        SHOWSUCCESS(@"收藏成功");
         [[NSNotificationCenter defaultCenter] postNotificationName:COLLECTSUCCESS object:nil];
         [weakSelf myBack];
     } failure:^(NSError * _Nonnull error) {
@@ -493,7 +492,8 @@
                 || [vc isKindOfClass:NSClassFromString(@"MyTDTopicBookVC")]
                 || [vc isKindOfClass:NSClassFromString(@"MyTDTopicDetailVC")]
                 || [vc isKindOfClass:NSClassFromString(@"BookMingDetailVC")]
-                || [vc isKindOfClass:NSClassFromString(@"HomeSCDetailVC")]                
+                || [vc isKindOfClass:NSClassFromString(@"BookPeriodicaDetailVC")]
+                || [vc isKindOfClass:NSClassFromString(@"HomeSCDetailVC")]
                 || [vc isKindOfClass:NSClassFromString(@"NoteBookVC")]) {
                 [self.navigationController popToViewController:vc animated:YES];
                 return;

+ 5 - 6
smartRhino/Project/VCModel/ChatMessage/Controller/ChatMsgNotice/View/ChatMsgNoticeCell.m

@@ -77,7 +77,6 @@
         cell = [[[NSBundle mainBundle] loadNibNamed:@"ChatMsgNoticeCell" owner:nil options:nil] objectAtIndex:3];
     }
     cell.selectionStyle = UITableViewCellSelectionStyleNone;
-    cell.isShow = YES;
     cell.rightImageView.hidden = YES;
     return cell;
 }
@@ -149,16 +148,16 @@
         if ([supView isKindOfClass:NSClassFromString(@"UITableViewCellReorderControl")]){
             for (UIView *view in supView.subviews)
             {
-                if ([view isKindOfClass: [UIImageView class]] && self.isShow)
+                if ([view isKindOfClass: [UIImageView class]])
                 {
-                    view.hidden = NO;
+                    view.hidden = !self.isShow;
                     UIImageView * imagV = (UIImageView *)view;
-                    [imagV setFrame:CGRectMake(0, 0, 22, 18)];
+                    [imagV setFrame:CGRectMake(0, 0, 32, 20)];
                     imagV.center = supView.center;
                     imagV.contentMode = UIViewContentModeCenter;
                     imagV.image = [UIImage imageNamed: @"list_sort"];
-                    UILabel * label = [UILabel new];
-                    label.backgroundColor = UIColorHex(#EAEAEA);
+                    UIView * label = [UIView new];
+                    label.backgroundColor = UIColorHex(0xEEEEEE);
                     [supView addSubview:label];
                     [label setFrame:CGRectMake(0, supView.frame.size.height - 0.5, supView.frame.size.width, 0.5)];
                 }else{

+ 27 - 3
smartRhino/Project/VCModel/ChatMessage/Controller/ChatQrcodeVC.m

@@ -8,6 +8,7 @@
 
 #import "ChatQrcodeVC.h"
 #import <Photos/Photos.h>
+#import "EMChatViewController.h"
 
 @interface ChatQrcodeVC ()
 @property (weak, nonatomic) IBOutlet UIImageView *iconImgV;
@@ -53,18 +54,41 @@
     if(error) {
         NSString * string = [NSString stringWithFormat:@"保存图片出错%@",error.localizedDescription];
         SHOWERROR(string);
-    }
-    else{
+    }else{
         SHOWSUCCESS(@"已保存到系统相册")
     }
 }
 - (IBAction)clickDone:(id)sender {
     if (self.isCreate) {
-        [self back1];
+        NSLog(@"%@",self.dict);
+        [self enterGroup];
     }else{
         [self.navigationController popViewControllerAnimated:YES];
     }
 }
+- (void)enterGroup
+{
+    WS(weakSelf);
+    NSString * ImId = [NSString stringWithFormat:@"%@",self.dict[@"GroupChatImId"]];
+    
+    [[HttpManager sharedHttpManager] POSTUrl:Host(Group_chat_info) parameters:@{@"GroupChatImId":ImId} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+        EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:ImId type: EMConversationTypeGroupChat createIfNotExist:YES];
+        EMConversationModel *model = [[EMConversationModel alloc] initWithEMModel:conversation];
+        EMChatViewController *controller = [[EMChatViewController alloc] initWithCoversationModel:model];
+        controller.toUserId = [ImId integerValue];
+        controller.groupUserInfoArray = responseObject[@"Item"];
+        model.name = self.dict[@"Name"];
+        controller.GroupId = [self.dict[@"Id"] integerValue];
+        controller.ImId = [ImId integerValue];
+        controller.chatType = ChatType_GroupChat;
+        controller.isTop = NO;
+        controller.backRoot = YES;
+        controller.hidesBottomBarWhenPushed = YES;
+        [weakSelf.navigationController pushViewController:controller animated:YES];
+    } failure:^(NSError * _Nonnull error) {
+
+    }];
+}
 -(void)back1{
     for (UIViewController * vc in self.navigationController.viewControllers) {
         if ([vc isKindOfClass:NSClassFromString(@"ChatMsgListVC")]

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailAddUserSearch.h

@@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, assign) BOOL IsSearchUser;
 @property (nonatomic, assign) NSInteger DepartmentId;
 @property (nonatomic, assign) NSInteger SearchType;///搜索类型 1 部门 2 自建 0全部
-@property (nonatomic, copy) FlowAttachmentsModel *   sendModel;
+@property (nonatomic, strong) FlowAttachmentsModel *   sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 @end
 

+ 2 - 3
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailChatVC.m

@@ -129,9 +129,6 @@
         make.height.mas_offset(36);
     }];
     [self.SearchView.button setAction:^{
-//        MailGroupListSerachVC * vc = [[MailGroupListSerachVC alloc] init];
-//        vc.TypeValue = weakSelf.TypeValue;
-//        [weakSelf.navigationController pushViewController:vc animated:YES];
         MailGroupListSerachVC *vc = [[MailGroupListSerachVC alloc] init];
         vc.IsSelect = YES;
         [weakSelf.navigationController pushViewController:vc animated:YES];
@@ -249,6 +246,7 @@
         [cell.cell2SelectButton setSelected:model.IsSelect];
         [cell.cell2SelectButton setAction:^{
             model.IsSelect = !model.IsSelect;
+            [self countMailArray:@[model]];
             [tableView reloadRowAtIndexPath:indexPath withRowAnimation:UITableViewRowAnimationAutomatic];
         }];
         return cell;
@@ -268,6 +266,7 @@
     if (self.IsSelect) {
         if (model.IsSelect) {
             model.IsSelect = !model.IsSelect;
+            [self countMailArray:@[model]];
             [tableView reloadRowAtIndexPath:indexPath withRowAnimation:UITableViewRowAnimationAutomatic];
         }else{
             MailChatModel *model = [self.dataArray objectAtIndex:indexPath.row];

+ 15 - 3
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailGroupListSerachVC.m

@@ -68,7 +68,7 @@
 {
     WEAKSELF
     [self.listArray removeAllObjects];
-    [[HttpManager sharedHttpManager] POSTUrl:Host(API_APP_User_Group_Chat_Search) parameters:@{@"TypeValue":@(self.TypeValue),@"Id":@(self.Id),@"Keyword":searchKey} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+    [[HttpManager sharedHttpManager] POSTUrl:Host(AddressBookGroup_Search_Post) parameters:@{@"SearchType":@(self.TypeValue),@"Key":searchKey} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
         NSLog(@"%@",responseObject);
         for (NSDictionary *dic in responseObject) {
             SelectModel * model = [[SelectModel alloc] initDict:dic];
@@ -144,7 +144,20 @@
     }
 }
 -(void)back1{
-    [self.navigationController popViewControllerAnimated:YES];
+    NSMutableArray * chaoArray = [NSMutableArray array];
+    for (SelectModel * model in self.listArray) {
+        if (model.hadSelected) {
+            [chaoArray addObject:model];
+        }
+    }
+    [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFI_ChaoSongRen object:nil userInfo:@{@"selectPeople":chaoArray}];
+    for (NSInteger i = (self.navigationController.viewControllers.count - 1); i > 0 ;i --) {
+        if ([self.navigationController.viewControllers[i] isKindOfClass:NSClassFromString(@"MyTDTopicCreateVC")]
+            ||[self.navigationController.viewControllers[i] isKindOfClass:NSClassFromString(@"ChatMsgDetailChatInfoVC")]) {
+            [self.navigationController popToViewController:self.navigationController.viewControllers[i] animated:YES];
+            return;
+        }
+    }
 }
 - (NSMutableArray *)listArray{
     if (!_listArray) {
@@ -157,7 +170,6 @@
     NSMutableArray * mailArray = [NSMutableArray arrayWithArray:USERDEFAULTSGET(MAILSELECT)];
     for (id detail in sssArray) {
         SelectModel * ssmodel = [self addSelectModel:detail];
-        
         __block BOOL isEque = NO;
         [mailArray enumerateObjectsUsingBlock:^(id  _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
             SelectModel * sModel = (SelectModel*) [NSKeyedUnarchiver unarchiveObjectWithData:(NSData *)obj];

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailListByZuVC.h

@@ -25,7 +25,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, assign) BOOL      isChat;//信源进来
 @property (assign,nonatomic) MailListByZuPageType pageType;
 @property (nonatomic, assign) BOOL notChangeSearchColor;
-@property (nonatomic, copy) FlowAttachmentsModel *   sendModel;
+@property (nonatomic, strong) FlowAttachmentsModel *   sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 @end
 

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailListDetailVC.h

@@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 +(MailListDetailVC *)initMailListDetailVC;
 @property(nonatomic, assign) NSInteger   indexId;
-@property (nonatomic, copy) FlowAttachmentsModel *   sendModel;
+@property (nonatomic, strong) FlowAttachmentsModel *   sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 @property (assign, nonatomic) BOOL                   isAdd;
 @end

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailListSearchVC.h

@@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, assign) BOOL IsSearchUser;
 @property (nonatomic, assign) NSInteger DepartmentId;
 @property (nonatomic, assign) NSInteger SearchType;///搜索类型 1群聊 2 小组  3 自建
-@property (nonatomic, copy) FlowAttachmentsModel *   sendModel;
+@property (nonatomic, strong) FlowAttachmentsModel *   sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 @property (nonatomic, assign) NSInteger              Id;
 @end

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/MailListVC.h

@@ -19,7 +19,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, assign) BOOL      isSelectPeople;
 @property (nonatomic, assign) BOOL      isChat;//信源进来
 @property (assign, nonatomic) BOOL isHiddenSearchView;
-@property (nonatomic, copy) FlowAttachmentsModel *   sendModel;
+@property (nonatomic, strong) FlowAttachmentsModel *   sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 /// 搜索不需要变色
 @property (assign, nonatomic) BOOL notSearchChangeColor;

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShareCusVC.h

@@ -11,7 +11,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface ShareCusVC : BaseViewController
-@property (nonatomic, copy) FlowAttachmentsModel   * sendModel;
+@property (nonatomic, strong) FlowAttachmentsModel   * sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 @property (assign, nonatomic) BOOL                   IsSelect;
 @property (nonatomic, assign) BOOL      isCheck;

+ 19 - 18
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShareCusVC.m

@@ -28,7 +28,7 @@
 
 - (void)viewDidLoad {
     [super viewDidLoad];
-//    [self getData];
+    [self getData];
     self.fd_prefersNavigationBarHidden = YES;
     self.view.backgroundColor = RGB(255, 255, 255);
      
@@ -131,23 +131,24 @@
     return _myHeaderView;
 }
 
-//- (void)getData{
-//    WEAKSELF
-//    SHOWLOADING
-//    [self.dataSourceArray removeAllObjects];
-//    [[HttpManager sharedHttpManager] POSTUrl:[NSString stringWithFormat:@"%@%@",BaseUrl,AddressBookGroup_ListGroup_Post] parameters:@{} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
-//       REMOVESHOW
-//        NSDictionary *dic =  responseObject;
-////        [weakSelf.dataSourceArray addObjectsFromArray:dic[@"Departments"]];
-//        [weakSelf.dataSourceArray addObjectsFromArray:dic[@"AddressBookGroups"]];
-//        dispatch_async(dispatch_get_main_queue(), ^{
-//            [weakSelf.tableView reloadData];
-//        });
-//    } failure:^(NSError * _Nonnull error) {
-//        REMOVESHOW
-//        SHOWERROR([ZYCTool handerResultData:error]);
-//    }];
-//}
+- (void)getData{
+    WEAKSELF
+    SHOWLOADING
+    [self.dataSourceArray removeAllObjects];
+    [[HttpManager sharedHttpManager] POSTUrl:[NSString stringWithFormat:@"%@%@",BaseUrl,AddressBookGroup_ListGroup_Post] parameters:@{} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+       REMOVESHOW
+        for (NSDictionary * dict in responseObject[@"AddressBookGroups"]) {
+            MailSubModel * model = [MailSubModel modelWithDictionary:dict];
+            [weakSelf.dataSourceArray addObject:model];
+        }
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [weakSelf.tableView reloadData];
+        });
+    } failure:^(NSError * _Nonnull error) {
+        REMOVESHOW
+        SHOWERROR([ZYCTool handerResultData:error]);
+    }];
+}
 - (NSMutableArray *)dataSourceArray{
     if (!_dataSourceArray) {
         _dataSourceArray = [NSMutableArray array];

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShareListVC.h

@@ -12,7 +12,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface ShareListVC : BaseViewController
 @property (nonatomic, strong) FlowAttachmentsModel *   sendModel;
-@property (assign, nonatomic) BOOL                   isReturn;
+@property (assign, nonatomic) BOOL                     isReturn;
 @property (nonatomic, assign) BOOL      isCheck;
 +(ShareListVC *)initShareListVC;
 @end

+ 61 - 78
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShareListVC.m

@@ -126,9 +126,9 @@
              return cell;
          }break;
          default:{
-             SelectModel * model = self.dataSourceArray[indexPath.section][indexPath.row];
+             ChatMsgListImModel * model = self.dataSourceArray[indexPath.section][indexPath.row];
              MailListByZuCell *cell = [MailListByZuCell configCell0:tableView indexPath:indexPath];
-             cell.cell0TitleLabel.text = model.UserName;
+             cell.cell0TitleLabel.text = model.Name;
              [cell.cell0ImgView sd_setImageWithURL:[NSURL URLWithString:model.AvatarUrl] placeholderImage:IMG(@"chatmsg_list_testuser_img")];
              return cell;
          }break;
@@ -137,15 +137,7 @@
 
 - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
     [tableView deselectRowAtIndexPath:indexPath animated:YES];
-//    MailListUserType = 0,
-//
-//    MailListDesType = 1,
-//
-//    MailListSysType = 2,
-//
-//    MailListCusType = 3,
-//
-//    MailListOtherType = 4,
+
     switch (indexPath.section) {
         case 0:
         {
@@ -157,7 +149,6 @@
                     vc.isReturn = self.isReturn;
                     vc.isCheck = self.isCheck;
                     vc.sendModel = self.sendModel;
-                    vc.dataSourceArray = [model.Items mutableCopy];
                     [self.navigationController pushViewController:vc animated:YES];
                 }
                     break;
@@ -178,10 +169,10 @@
             break;
         default:
         {
-            SelectModel * cmodel = self.dataSourceArray[indexPath.section][indexPath.row];
+            ChatMsgListImModel * cmodel = self.dataSourceArray[indexPath.section][indexPath.row];
             if (self.isCheck) {
                 NSMutableDictionary * mdic = [[NSMutableDictionary alloc] init];
-                [mdic setValue:cmodel.UserName forKey:@"UserName"];
+                [mdic setValue:cmodel.Name forKey:@"UserName"];
                 [mdic setValue:@(cmodel.UserId) forKey:@"UserId"];
                 [mdic setValue:cmodel.AvatarUrl forKey:@"AvatarUrl"];
                 [[NSNotificationCenter defaultCenter] postNotificationName:NOTIFI_ApprovalRen object:nil userInfo:mdic];
@@ -194,24 +185,24 @@
                 }
                 [self.navigationController popViewControllerAnimated:YES];
             }
-            EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:[NSString stringWithFormat:@"%@",cmodel.ImId] type:EMConversationTypeChat createIfNotExist:YES];
+            EMConversation *conversation = [[EMClient sharedClient].chatManager getConversation:[NSString stringWithFormat:@"%ld",cmodel.ImId] type:EMConversationTypeChat createIfNotExist:YES];
             //2、再跳转聊天页面
             EMConversationModel *model = [[EMConversationModel alloc] initWithEMModel:conversation];
             EMChatViewController *controller = [[EMChatViewController alloc] initWithCoversationModel:model];
             controller.toUserId = cmodel.UserId;
-            model.name = cmodel.UserName ? cmodel.UserName : cmodel.Phone;
+            model.name = cmodel.Name;
             SelectModel * sModel = [[SelectModel alloc] init];
             sModel.UserId = cmodel.UserId;
-            sModel.UserName = cmodel.UserName;
+            sModel.UserName = cmodel.Name;
             sModel.AvatarUrl = cmodel.AvatarUrl;
             sModel.SourceType = 0;
             sModel.SourceId = cmodel.UserId;
-            sModel.SourceName = cmodel.SourceName;
+            sModel.SourceName = cmodel.Name;
             controller.sModel = sModel;
-            controller.ImId = [cmodel.ImId integerValue];
+            controller.ImId = cmodel.ImId;
             controller.sendModel = self.sendModel;
             controller.isReturn = self.isReturn;
-            controller.chatType = ChatType_SingleChat;
+            controller.chatType = cmodel.ChatType;
             [self.navigationController pushViewController:controller animated:YES];
         }
             break;
@@ -231,71 +222,63 @@
     SHOWLOADING
     [self.dataSourceArray removeAllObjects];
 //    [self.OtherArray removeAllObjects];
-    [[HttpManager sharedHttpManager] GETUrl:Host(API_APP_User_Link) parameters:@{} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
-           NSLog(@"%@",responseObject);
-           REMOVESHOW
-           NSMutableArray * fArray = [NSMutableArray array];
-           if ([responseObject[@"Items"] isKindOfClass:[NSArray class]]) {
-               NSArray * array = responseObject[@"Items"];
-               for (NSDictionary * dict in array) {
-                   MailModel * model = [MailModel modelWithDictionary:dict];
-                   if (model.TypeId == 1 || model.TypeId == 3) {
-                       [fArray addObject:model];
-                   }
-               }
-//               if ([responseObject[@"FriendUsers"] isKindOfClass:[NSArray class]]) {
-//                   NSArray * array = responseObject[@"FriendUsers"];
+//    [[HttpManager sharedHttpManager] GETUrl:Host(API_APP_User_Link) parameters:@{} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+//           NSLog(@"%@",responseObject);
+//           REMOVESHOW
+//           NSMutableArray * fArray = [NSMutableArray array];
+//           if ([responseObject[@"Items"] isKindOfClass:[NSArray class]]) {
+//               NSArray * array = responseObject[@"Items"];
+//               for (NSDictionary * dict in array) {
+//                   MailModel * model = [MailModel modelWithDictionary:dict];
+//                   if (model.TypeId == 1 || model.TypeId == 3) {
+//                       [fArray addObject:model];
+//                   }
+//               }
+//               NSMutableArray * sArray = [NSMutableArray array];
+//
+//               if ([responseObject[@"LatelyChatUsers"] isKindOfClass:[NSArray class]]) {
+//                   NSArray * array = responseObject[@"LatelyChatUsers"];
 //                   for (NSDictionary * dict in array) {
 //                       SelectModel * smodel = [[SelectModel alloc] initDict:dict];
 //                       smodel.SourceId = smodel.UserId;
 //                       smodel.SourceName = smodel.UserName;
 //                       smodel.SourceType = 0;
-//                       [weakSelf.OtherArray addObject:smodel];
+//                       [sArray addObject:smodel];
 //                   }
 //               }
-               NSMutableArray * sArray = [NSMutableArray array];
-
-               if ([responseObject[@"LatelyChatUsers"] isKindOfClass:[NSArray class]]) {
-                   NSArray * array = responseObject[@"LatelyChatUsers"];
-                   for (NSDictionary * dict in array) {
-                       SelectModel * smodel = [[SelectModel alloc] initDict:dict];
-                       smodel.SourceId = smodel.UserId;
-                       smodel.SourceName = smodel.UserName;
-                       smodel.SourceType = 0;
-                       [sArray addObject:smodel];
-                   }
-               }
-               [weakSelf.dataSourceArray addObject:fArray];
-               [weakSelf.dataSourceArray addObject:sArray];
-               dispatch_async(dispatch_get_main_queue(), ^{
-                   [weakSelf.tableView reloadData];
-               });
-           }
-       } failure:^(NSError * _Nonnull error) {
-           REMOVESHOW
-       }];
-//    [[HttpManager sharedHttpManager] POSTUrl:Host(API_APP_Often_Contact_Alllist) parameters:@{} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
-//       REMOVESHOW
-//        ChatMsgListImModel * sysModel = [[ChatMsgListImModel alloc] init];
-//        sysModel.Name = @"单位通讯录";
-//        ChatMsgListImModel * cusModel = [[ChatMsgListImModel alloc] init];
-//        cusModel.Name = @"自建通讯录";
-//        [weakSelf.dataSourceArray addObject:@[sysModel,cusModel]];
-//        if ([responseObject isKindOfClass:[NSArray class]]) {
-//            NSMutableArray * array = [NSMutableArray array];
-//            for (NSDictionary * dict in responseObject) {
-//                ChatMsgListImModel * model = [ChatMsgListImModel modelWithDictionary:dict];
-//                [array addObject:model];
-//            }
-//            [weakSelf.dataSourceArray addObject:array];
-//        }
-//        dispatch_async(dispatch_get_main_queue(), ^{
-//            [weakSelf.tableView reloadData];
-//        });
-//    } failure:^(NSError * _Nonnull error) {
-//        REMOVESHOW
-//        SHOWERROR([ZYCTool handerResultData:error]);
-//    }];
+//               [weakSelf.dataSourceArray addObject:fArray];
+//               [weakSelf.dataSourceArray addObject:sArray];
+//               dispatch_async(dispatch_get_main_queue(), ^{
+//                   [weakSelf.tableView reloadData];
+//               });
+//           }
+//       } failure:^(NSError * _Nonnull error) {
+//           REMOVESHOW
+//       }];
+    [[HttpManager sharedHttpManager] POSTUrl:Host(API_APP_Often_Contact_Alllist) parameters:@{} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+       REMOVESHOW
+        MailModel * sysModel = [[MailModel alloc] init];
+        sysModel.Name = @"单位通讯录";
+        sysModel.TypeId = MailListDesType;
+        MailModel * cusModel = [[MailModel alloc] init];
+        cusModel.Name = @"自建通讯录";
+        cusModel.TypeId = MailListCusType;
+        [weakSelf.dataSourceArray addObject:@[sysModel,cusModel]];
+        if ([responseObject isKindOfClass:[NSArray class]]) {
+            NSMutableArray * array = [NSMutableArray array];
+            for (NSDictionary * dict in responseObject) {
+                ChatMsgListImModel * model = [ChatMsgListImModel modelWithDictionary:dict];
+                [array addObject:model];
+            }
+            [weakSelf.dataSourceArray addObject:array];
+        }
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [weakSelf.tableView reloadData];
+        });
+    } failure:^(NSError * _Nonnull error) {
+        REMOVESHOW
+        SHOWERROR([ZYCTool handerResultData:error]);
+    }];
 }
 - (NSMutableArray *)dataSourceArray{
     if (!_dataSourceArray) {

+ 2 - 2
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShareSysVC.h

@@ -11,11 +11,11 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface ShareSysVC : BaseViewController
-@property (nonatomic, copy) FlowAttachmentsModel *   sendModel;
+@property (nonatomic, strong) FlowAttachmentsModel *   sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 @property (assign, nonatomic) BOOL                   IsSelect;
 @property (nonatomic, assign) BOOL      isCheck;
-@property (strong,nonatomic) NSMutableArray        * dataSourceArray;
+
 
 +(ShareSysVC *)initShareSysVC;
 @end

+ 22 - 19
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShareSysVC.m

@@ -17,7 +17,8 @@
 
 @interface ShareSysVC ()<UITableViewDelegate,UITableViewDataSource>
 @property (strong,nonatomic) IBOutlet UITableView *tableView;
-@property (strong,nonatomic) UIView *   myHeaderView;
+@property (strong,nonatomic) UIView               * myHeaderView;
+@property (strong,nonatomic) NSMutableArray       * dataSourceArray;
 @end
 
 @implementation ShareSysVC
@@ -28,7 +29,7 @@
 
 - (void)viewDidLoad {
     [super viewDidLoad];
-//    [self getData];
+    [self getData];
     self.fd_prefersNavigationBarHidden = YES;
     self.view.backgroundColor = RGB(255, 255, 255);
     
@@ -141,23 +142,25 @@
     return _myHeaderView;
 }
 
-//- (void)getData{
-//    WEAKSELF
-//    SHOWLOADING
-//    [self.dataSourceArray removeAllObjects];
-//    [[HttpManager sharedHttpManager] POSTUrl:[NSString stringWithFormat:@"%@%@",BaseUrl,AddressBookGroup_ListGroup_Post] parameters:@{} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
-//       REMOVESHOW
-//        NSDictionary *dic =  responseObject;
-//        [weakSelf.dataSourceArray addObjectsFromArray:dic[@"Departments"]];
-////        [weakSelf.dataSourceArray addObject:dic[@"AddressBookGroups"]];
-//        dispatch_async(dispatch_get_main_queue(), ^{
-//            [weakSelf.tableView reloadData];
-//        });
-//    } failure:^(NSError * _Nonnull error) {
-//        REMOVESHOW
-//        SHOWERROR([ZYCTool handerResultData:error]);
-//    }];
-//}
+- (void)getData{
+    WEAKSELF
+    SHOWLOADING
+    [self.dataSourceArray removeAllObjects];
+    [[HttpManager sharedHttpManager] POSTUrl:[NSString stringWithFormat:@"%@%@",BaseUrl,AddressBookGroup_ListGroup_Post] parameters:@{} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+       REMOVESHOW
+        for (NSDictionary * dict in responseObject[@"Departments"]) {
+            MailSubModel * model = [MailSubModel modelWithDictionary:dict];
+            [weakSelf.dataSourceArray addObject:model];
+        }
+//        [weakSelf.dataSourceArray addObject:dic[@"AddressBookGroups"]];
+        dispatch_async(dispatch_get_main_queue(), ^{
+            [weakSelf.tableView reloadData];
+        });
+    } failure:^(NSError * _Nonnull error) {
+        REMOVESHOW
+        SHOWERROR([ZYCTool handerResultData:error]);
+    }];
+}
 - (NSMutableArray *)dataSourceArray{
     if (!_dataSourceArray) {
         _dataSourceArray = [NSMutableArray array];

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShowDesVC.h

@@ -11,7 +11,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface ShowDesVC : BaseViewController
-@property (nonatomic, copy) FlowAttachmentsModel *sendModel;
+@property (nonatomic, strong) FlowAttachmentsModel *sendModel;
 @property (strong,nonatomic) NSMutableArray      *dataSourceArray;
 @property (assign, nonatomic) BOOL                   isReturn;
 @property (assign, nonatomic) BOOL                   IsSelect;

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShowSysVC.h

@@ -11,7 +11,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface ShowSysVC : BaseViewController
-@property (nonatomic, copy) FlowAttachmentsModel *sendModel;
+@property (nonatomic, strong) FlowAttachmentsModel *sendModel;
 @property (strong,nonatomic) NSMutableArray      *dataSourceArray;
 @property (assign, nonatomic) BOOL                   isReturn;
 @property (assign, nonatomic) BOOL                   IsSelect;

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/Controller/ShowUserVC.h

@@ -11,7 +11,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface ShowUserVC : BaseViewController
-@property (nonatomic, copy) FlowAttachmentsModel *sendModel;
+@property (nonatomic, strong) FlowAttachmentsModel *sendModel;
 @property (strong,nonatomic) NSMutableArray      *dataSourceArray;
 @property (assign, nonatomic) BOOL                   isReturn;
 @property (assign, nonatomic) BOOL                   IsSelect;

+ 2 - 2
smartRhino/Project/VCModel/ChatMessage/Controller/MailList/View/MailListCell.m

@@ -82,8 +82,8 @@
                         imagV.center = supView.center;
                         imagV.contentMode = UIViewContentModeCenter;
                         imagV.image = [UIImage imageNamed: @"list_sort"];
-                        UILabel * label = [UILabel new];
-                        label.backgroundColor = UIColorHex(#EAEAEA);
+                        UIView * label = [UIView new];
+                        label.backgroundColor = UIColorHex(0xEEEEEE);
                         [supView addSubview:label];
                         [label setFrame:CGRectMake(0, supView.frame.size.height - 0.5, supView.frame.size.width, 0.5)];
                     }else{

+ 2 - 2
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/Cell/ChatNewRowCell.m

@@ -142,8 +142,8 @@
                     imagV.center = supView.center;
                     imagV.contentMode = UIViewContentModeCenter;
                     imagV.image = [UIImage imageNamed: @"list_sort"];
-                    UILabel * label = [UILabel new];
-                    label.backgroundColor = UIColorHex(#EAEAEA);
+                    UIView * label = [UIView new];
+                    label.backgroundColor = UIColorHex(0xEEEEEE);
                     [supView addSubview:label];
                     [label setFrame:CGRectMake(0, supView.frame.size.height - 0.5, supView.frame.size.width, 0.5)];
                 }else{

+ 1 - 0
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/AddGroupLabelVC.m

@@ -50,6 +50,7 @@
         if (weakSelf.textField.text.length > 0) {
             [weakSelf.dataArray addObject:weakSelf.textField.text];
             [weakSelf.textField resignFirstResponder];
+            weakSelf.textField.text = @"";
             dispatch_async(dispatch_get_main_queue(), ^{
                 [weakSelf.collectionView reloadData];
             });

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/MyTDGroupViewController.h

@@ -16,7 +16,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, assign) BOOL         isSubVC;
 @property (nonatomic, copy) NSString       * titleStr;
 @property (assign, nonatomic) CreateFileFolderType   type;
-@property (copy, nonatomic)   FlowAttachmentsModel * sendModel;
+@property (strong, nonatomic) FlowAttachmentsModel * sendModel;
 @property (strong, nonatomic) UIImage              * sendImage;
 @property (assign, nonatomic) BOOL                   isReturn;
 @property (assign, nonatomic) BOOL           isPush;

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupDraftListVC.h

@@ -17,7 +17,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, assign) NSInteger      Id;
 @property (nonatomic,strong) NSArray *ItemsArray;
 @property (assign, nonatomic) CreateFileFolderType   type;
-@property (copy, nonatomic)   FlowAttachmentsModel * sendModel;
+@property (strong, nonatomic) FlowAttachmentsModel * sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 @property (assign, nonatomic) BOOL                   isJoin;
 @end

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupInfoListVC.h

@@ -19,7 +19,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic,copy) NSString  *titleStr;
 @property (nonatomic,strong) NSArray *ItemsArray;
 @property (assign, nonatomic) CreateFileFolderType   type;
-@property (copy, nonatomic)   FlowAttachmentsModel * sendModel;
+@property (strong, nonatomic) FlowAttachmentsModel * sendModel;
 @property (strong, nonatomic) UIImage              * sendImage;
 @property (assign, nonatomic) BOOL                   isReturn;
 @property (assign, nonatomic) BOOL                   isJoin;

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/MyTDGroup/VC/TDGroupSearchResultVC.h

@@ -14,7 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, assign) NSInteger   ParentId;
 @property (nonatomic, assign) BOOL        isReturn;
 @property (nonatomic, assign) BOOL        isSelect;
-@property (copy, nonatomic)   FlowAttachmentsModel * sendModel;
+@property (strong, nonatomic) FlowAttachmentsModel * sendModel;
 
 @end
 

+ 15 - 2
smartRhino/Project/VCModel/ChatMessage/Controller/TDInternalLeter/contoller/TDInterLeterHomeViewController.m

@@ -320,7 +320,7 @@
         [self changeBarBtn:NO];
     }
     [dict setObject:@(self.currentPage) forKey:@"Page"];
-    [dict setObject:@(10) forKey:@"PerPage"];
+    [dict setObject:@(20) forKey:@"PerPage"];
     [dict setObject:@(self.pageType) forKey:@"SearchType"];
     [dict setObject:@"" forKey:@"Keyword"];
     [dict setObject:@(self.interLeterFolderId) forKey:@"NoticeFolderId"];
@@ -1178,6 +1178,7 @@
                                             [tableView reloadRowAtIndexPath:indexPath withRowAnimation:UITableViewRowAnimationAutomatic];
                                         });
                                     }];
+                                    cell.isShow = model.IsTop;
                                     return cell;
                                 }
                                     break;
@@ -1206,6 +1207,7 @@
                                             [tableView reloadRowAtIndexPath:indexPath withRowAnimation:UITableViewRowAnimationAutomatic];
                                         });
                                     }];
+                                    cell.isShow = model.IsTop;
                                     return cell;
                                 }
                                     break;
@@ -1234,6 +1236,7 @@
                                             [tableView reloadRowAtIndexPath:indexPath withRowAnimation:UITableViewRowAnimationAutomatic];
                                         });
                                     }];
+                                    cell.isShow = model.IsTop;
                                     return cell;
                                 }
                                     break;
@@ -1262,6 +1265,7 @@
                                             [tableView reloadRowAtIndexPath:indexPath withRowAnimation:UITableViewRowAnimationAutomatic];
                                         });
                                     }];
+                                    cell.isShow = model.IsTop;
                                     return cell;
                                 }
                                     break;
@@ -1290,6 +1294,7 @@
                                             [tableView reloadRowAtIndexPath:indexPath withRowAnimation:UITableViewRowAnimationAutomatic];
                                         });
                                     }];
+                                    cell.isShow = model.IsTop;
                                     return cell;
                                 }
                                     break;
@@ -1318,6 +1323,7 @@
                                             [tableView reloadRowAtIndexPath:indexPath withRowAnimation:UITableViewRowAnimationAutomatic];
                                         });
                                     }];
+                                    cell.isShow = model.IsTop;
                                     return cell;
                                 }
                                     break;
@@ -1346,6 +1352,7 @@
                                             [tableView reloadRowAtIndexPath:indexPath withRowAnimation:UITableViewRowAnimationAutomatic];
                                         });
                                     }];
+                                    cell.isShow = model.IsTop;
                                     return cell;
                                 }
                                     break;
@@ -1528,6 +1535,7 @@
                         [weakSelf sumCount];
                         [tableView reloadRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationNone];
                     }];
+                    cell.isShow = model.IsTop;
                     return cell;
                     
                 }break;
@@ -1661,7 +1669,12 @@
     }
 }
 - (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
-    return tableView.editing;
+    NoticeModel *model = self.interLetterArray[indexPath.row];
+    if (model.IsTop) {
+        return YES;
+    }else{
+        return NO;
+    }
 }
 - (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)sourceIndexPath toIndexPath:(NSIndexPath *)destinationIndexPath {
     NoticeModel *model = self.interLetterArray[sourceIndexPath.row];

+ 50 - 18
smartRhino/Project/VCModel/ChatMessage/Controller/WaitWork/VC/WaitWorkVC.m

@@ -12,16 +12,19 @@
 #import "NewWaitWorkVC.h"
 #import "TopicGroupManageModel.h"
 #import "WaitWorkModel.h"
+#import "ShowBtn.h"
 
 @interface WaitWorkVC ()<UITableViewDelegate,UITableViewDataSource>
 @property (weak, nonatomic) IBOutlet UIButton *addBtn;
-@property (weak, nonatomic) IBOutlet UIButton *menuBtn;
+@property (weak, nonatomic) IBOutlet UIView *NavBar;
+@property (strong, nonatomic) ShowBtn       *menuBtn;
 @property (weak, nonatomic) IBOutlet UITableView *tableView;
 @property (weak, nonatomic) IBOutlet UIView *cusNavBar;
 @property (copy, nonatomic) NSMutableArray *dataArray;
 @property (copy, nonatomic) NSMutableArray *listArray;
 @property (assign, nonatomic) NSInteger           selectId;
 @property (strong, nonatomic) MenuListView * menuListView;
+@property (assign, nonatomic) BOOL           show;
 @end
 
 @implementation WaitWorkVC
@@ -30,6 +33,13 @@
     WaitWorkVC *controller = [StoryboardManager.shared.waitWork instantiateViewControllerWithIdentifier:@"WaitWorkVC"];
      return controller;
 }
+- (ShowBtn *)menuBtn
+{
+    if (!_menuBtn) {
+        _menuBtn = [[ShowBtn alloc] init];
+    }
+    return _menuBtn;
+}
 - (void)viewDidLoad {
     [super viewDidLoad];
     [self setModel];
@@ -37,6 +47,13 @@
     [self loadCusView];
     [self getData];
 }
+- (void)viewWillDisappear:(BOOL)animated
+{
+    [super viewWillDisappear:animated];
+    [self.menuListView dismiss];
+    [self.menuBtn dismiss];
+    self.show = NO;
+}
 - (void)loadCusView
 {
     self.tableView.delegate = self;
@@ -44,9 +61,20 @@
     self.tableView.backgroundColor = UIColorHex(0xF6F6F6);
     self.view.backgroundColor = UIColorHex(0xF6F6F6);
     WS(weakSelf);
+    [self.NavBar addSubview:self.menuBtn];
+    [self.menuBtn setLabelTitle:@"待办事项"];
+    [self.menuBtn mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.center.mas_equalTo(weakSelf.NavBar);
+    }];
     [self.menuBtn setAction:^{
-        [weakSelf.menuListView show];
-        [weakSelf.menuBtn setImage:[UIImage imageNamed:@"chatmsg_notice_hideAll_icon"] forState:UIControlStateNormal];
+        weakSelf.show = !weakSelf.show;
+        if (weakSelf.show) {
+            [weakSelf.menuBtn show];
+            [weakSelf.menuListView show];
+        }else{
+            [weakSelf.menuBtn dismiss];
+            [weakSelf.menuListView dismiss];
+        }
         weakSelf.menuListView.SelectBtnblock = ^(NSArray * _Nonnull array) {
             NSString * str;
             for (NSArray * subArray in array) {
@@ -59,19 +87,14 @@
                     }
                 }
             }
-            if(str.length > 0){
-                [weakSelf.menuBtn setTitle:str forState:UIControlStateNormal];
-                CGFloat TopH = 11.f;
-                [weakSelf.menuBtn setImageEdgeInsets:UIEdgeInsetsMake(0, TopH + str.length * 11, 0, 0)];
-                [weakSelf.menuBtn setTitleEdgeInsets:UIEdgeInsetsMake(0, -(TopH + str.length * 11), 0, 0)];
-                [weakSelf.menuBtn setContentEdgeInsets:UIEdgeInsetsMake(0, TopH + (str.length -2) * 11, 0, 0)];
-            }
-            [weakSelf.menuBtn setImage:[UIImage imageNamed:@"chatmsg_notice_showAll_icon"] forState:UIControlStateNormal];
+            [weakSelf.menuBtn dismiss];
+            [weakSelf.menuListView dismiss];
         };
         weakSelf.menuListView.dismissBlock = ^{
-            [weakSelf.menuBtn setImage:[UIImage imageNamed:@"chatmsg_notice_showAll_icon"] forState:UIControlStateNormal];
+            [weakSelf.menuBtn dismiss];
         };
     }];
+    
     [self.addBtn setAction:^{
         NewWaitWorkVC * vc = [NewWaitWorkVC initNewWaitWorkVC];
         vc.workType = WiatWrokNewType;
@@ -140,6 +163,7 @@
 }
 - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 {
+    WS(weakSelf);
     WaitWorkCell * cell = [WaitWorkCell configCell:tableView indexPath:indexPath];
     WaitWorkModel * model = [self.dataArray[indexPath.section] objectAtIndex:indexPath.row];
     if (model.Title.length > 10) {
@@ -149,6 +173,19 @@
     }else{
         cell.titleL.text = model.Title;
     }
+    UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithActionBlock:^(id  _Nonnull sender) {
+        SHOWLOADING
+        NSString * url = [NSString stringWithFormat:@"%@%ld",Host(APP_Wait_Handle_Set),(long)model.Id];
+        [[HttpManager sharedHttpManager] PUTUrl:url parameters:@{} responseStyle:DATA success:^(id  _Nonnull responseObject) {
+            REMOVESHOW
+            [weakSelf deleteNotiWithKey:[NSString stringWithFormat:@"Add_%ld",(long)model.Id]];
+            [weakSelf getData];
+        } failure:^(NSError * _Nonnull error) {
+            REMOVESHOW
+        }];
+    }];
+    cell.levelImgV.userInteractionEnabled = YES;
+    [cell.levelImgV addGestureRecognizer:tap];
     NSLog(@"%ld,%@",indexPath.row,[ZYCTool MonthAndDay:model.AlarmTime]);
     cell.timeL.text = [ZYCTool MonthAndDay:model.AlarmTime];
     cell.blockImgV.hidden = !model.IsExecute;
@@ -403,12 +440,7 @@
 - (IBAction)menuAction:(id)sender {
     [super menuAction:sender];
 }
-- (void)viewWillDisappear:(BOOL)animated
-{
-    [super viewWillDisappear:animated];
-    [self.menuListView dismiss];
-    [self.menuBtn setImage:[UIImage imageNamed:@"chatmsg_notice_showAll_icon"] forState:UIControlStateNormal];
-}
+
 - (void)addNotiwithTime:(NSDate *)date key:(NSString *)key
 {
     UILocalNotification *notification = [[UILocalNotification alloc] init];

+ 48 - 12
smartRhino/Project/VCModel/ChatMessage/Controller/WaitWork/View/GFCalendar/GFCalendarView.m

@@ -11,6 +11,7 @@
 #import "WaitTimePicker.h"
 #import "WaitWorkWarnAlert.h"
 #import "WaitWorkLabelModel.h"
+#import "BRDatePickerView.h"
 
 @interface GFCalendarView()
 
@@ -201,20 +202,55 @@
             self.tishiL.text = @"设置提醒";
         }
         UITapGestureRecognizer * timeTap = [[UITapGestureRecognizer alloc] initWithActionBlock:^(id  _Nonnull sender) {
-            WaitTimePicker * picker = [[WaitTimePicker alloc] init];
-            [picker setCusDateMode:UIDatePickerModeTime locale:@"zh_CN"];
-            [picker showDatePickerViewWithFirstDate:weakSelf.selectDate ? weakSelf.selectDate : [NSDate date] commit:^(NSDate * _Nonnull date) {
-                    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
-                    [dateFormatter setDateFormat:@"HH:mm"];
-                    [dateFormatter setLocale:[NSLocale currentLocale]];
-                    NSString *dateString = [dateFormatter stringFromDate:date];
-                weakSelf.isSelectTime = YES;
-                NSLog(@"%@",dateString);
-                weakSelf.timeL.text = dateString;
+//            WaitTimePicker * picker = [[WaitTimePicker alloc] init];
+//            [picker setCusDateMode:UIDatePickerModeTime locale:@"zh_CN"];
+//            [picker showDatePickerViewWithFirstDate:weakSelf.selectDate ? weakSelf.selectDate : [NSDate date] commit:^(NSDate * _Nonnull date) {
+//                    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
+//                    [dateFormatter setDateFormat:@"HH:mm"];
+//                    [dateFormatter setLocale:[NSLocale currentLocale]];
+//                    NSString *dateString = [dateFormatter stringFromDate:date];
+//                weakSelf.isSelectTime = YES;
+//                NSLog(@"%@",dateString);
+//                weakSelf.timeL.text = dateString;
+//                weakSelf.timeL.textColor = UIColorHex(#303030);
+//                weakSelf.timeImgV.image = [UIImage imageNamed:@"WaitWork_time_select"];
+//            } cancel:^{
+//            }];
+            BRDatePickerView *datePickerView = [[BRDatePickerView alloc]init];
+            datePickerView.pickerMode = BRDatePickerModeTime;
+            datePickerView.title = @"";
+//            datePickerView.selectDate = [NSDate date];
+//            datePickerView.selectValue = @"2020-02-02";
+//            datePickerView.minDate = [NSDate br_setYear:1948 month:1 day:1];
+//            datePickerView.maxDate = [NSDate br_setYear:2100 month:1 day:1];
+            datePickerView.isAutoSelect = YES;
+            datePickerView.addCustomString = @"";
+            // 指定不可选择的日期
+            //datePickerView.nonSelectableDates = @[[NSDate br_setYear:2020 month:7 day:25], [NSDate br_setYear:2020 month:8 day:26]];
+            datePickerView.keyView = self.superview; // 将组件 datePickerView 添加到 self.view 上,默认是添加到 keyWindow 上
+            datePickerView.resultBlock = ^(NSDate *selectDate, NSString *selectValue) {
+//                SelectTextCell *cell = [tableView cellForRowAtIndexPath:indexPath];
+//                [cell.selectButton setTitle: selectValue forState:UIControlStateNormal];
+//                cell.selectButton.tag = indexPath.section;
+//                [cell.selectButton setTitleColor:UIColorHex(#333333) forState:UIControlStateNormal];
+//                self.viewDataArray2[indexPath.section].paramString = selectValue;
+                weakSelf.timeL.text = selectValue;
                 weakSelf.timeL.textColor = UIColorHex(#303030);
                 weakSelf.timeImgV.image = [UIImage imageNamed:@"WaitWork_time_select"];
-            } cancel:^{
-            }];
+            };
+            
+            BRPickerStyle *customStyle = [[BRPickerStyle alloc]init];
+            customStyle.pickerColor = [UIColor whiteColor];
+            customStyle.pickerTextFont = [UIFont systemFontOfSize:14];
+            customStyle.pickerTextColor = UIColorHex(0x666666);
+            customStyle.selectRowTextFont = [UIFont systemFontOfSize:20];
+            customStyle.selectRowTextColor = UIColorHex(0x0B0B0B);
+            customStyle.cancelTextColor = [UIColor colorWithRed:0.090  green:0.463  blue:0.906 alpha:1];
+            customStyle.cancelTextFont = [UIFont systemFontOfSize:14];
+            customStyle.doneTextColor = [UIColor colorWithRed:0.090  green:0.463  blue:0.906 alpha:1];
+            customStyle.doneTextFont = [UIFont systemFontOfSize:14];
+            datePickerView.pickerStyle = customStyle;
+            [datePickerView show];
         }];
         [timeView addGestureRecognizer:timeTap];
         UITapGestureRecognizer * tishiTap = [[UITapGestureRecognizer alloc] initWithActionBlock:^(id  _Nonnull sender) {

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/WaitWork/View/GroupShowListView.m

@@ -37,7 +37,7 @@
     if (!_bgView) {
         _bgView = [UIView new];
         _bgView.backgroundColor = [UIColor blackColor];
-        _bgView.alpha = 0.65f;
+        _bgView.alpha = 0.5f;
     }
     return _bgView;
 }

+ 1 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/WaitWork/View/TopicShowListView.m

@@ -36,7 +36,7 @@
     if (!_bgView) {
         _bgView = [UIView new];
         _bgView.backgroundColor = [UIColor blackColor];
-        _bgView.alpha = 0.65f;
+        _bgView.alpha = 0.5f;
     }
     return _bgView;
 }

+ 0 - 1
smartRhino/Project/VCModel/ChatMessage/Controller/WaitWork/View/WaitTimePicker.m

@@ -7,7 +7,6 @@
 //
 
 #import "WaitTimePicker.h"
-#import "MOFSPickerManager.h"
 
 @interface WaitTimePicker()
 @property (nonatomic, strong) NSMutableDictionary *recordDic;

+ 30 - 39
smartRhino/Project/VCModel/ChatMessage/Controller/WaitWork/WaitWork.storyboard

@@ -1,10 +1,11 @@
 <?xml version="1.0" encoding="UTF-8"?>
-<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="16097" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="ap2-Fm-VRO">
+<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="17156" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES" initialViewController="ap2-Fm-VRO">
     <device id="retina5_5" orientation="portrait" appearance="light"/>
     <dependencies>
         <deployment version="4352" identifier="iOS"/>
-        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="16087"/>
+        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="17125"/>
         <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>
     <scenes>
@@ -56,19 +57,6 @@
                                                 </constraints>
                                                 <state key="normal" image="chatmsg_right_add_icon"/>
                                             </button>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="SvS-Of-TDQ">
-                                                <rect key="frame" x="161" y="13.666666666666664" width="92" height="17"/>
-                                                <constraints>
-                                                    <constraint firstAttribute="height" constant="17" id="Yo6-gn-uf8"/>
-                                                </constraints>
-                                                <fontDescription key="fontDescription" type="system" pointSize="16"/>
-                                                <inset key="contentEdgeInsets" minX="13" minY="0.0" maxX="0.0" maxY="0.0"/>
-                                                <inset key="titleEdgeInsets" minX="-35" minY="0.0" maxX="0.0" maxY="0.0"/>
-                                                <inset key="imageEdgeInsets" minX="66" minY="0.0" maxX="0.0" maxY="0.0"/>
-                                                <state key="normal" title="待办事项" image="chatmsg_notice_showAll_icon">
-                                                    <color key="titleColor" red="0.039215686270000001" green="0.039215686270000001" blue="0.039215686270000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
-                                                </state>
-                                            </button>
                                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="kG9-Z1-wuZ">
                                                 <rect key="frame" x="0.0" y="43.666666666666664" width="414" height="0.3333333333333357"/>
                                                 <color key="backgroundColor" red="0.91764705882352937" green="0.91764705882352937" blue="0.91764705882352937" alpha="1" colorSpace="calibratedRGB"/>
@@ -94,17 +82,16 @@
                                             <constraint firstAttribute="bottom" secondItem="ftx-T7-q9i" secondAttribute="bottom" id="F3d-FI-ZwF"/>
                                             <constraint firstItem="Jox-cG-6XR" firstAttribute="centerY" secondItem="ftx-T7-q9i" secondAttribute="centerY" id="Gdh-Er-m5f"/>
                                             <constraint firstAttribute="bottom" secondItem="cjZ-Pc-tj5" secondAttribute="bottom" id="OYW-u5-SPO"/>
-                                            <constraint firstItem="SvS-Of-TDQ" firstAttribute="centerY" secondItem="ftx-T7-q9i" secondAttribute="centerY" id="QHR-WW-HQY"/>
                                             <constraint firstAttribute="trailing" secondItem="kG9-Z1-wuZ" secondAttribute="trailing" id="Y3a-4o-WrP"/>
                                             <constraint firstAttribute="bottom" secondItem="kG9-Z1-wuZ" secondAttribute="bottom" id="ZYd-7q-tu7"/>
                                             <constraint firstItem="Jox-cG-6XR" firstAttribute="leading" secondItem="ftx-T7-q9i" secondAttribute="trailing" id="bOO-es-EqY"/>
-                                            <constraint firstItem="SvS-Of-TDQ" firstAttribute="centerX" secondItem="nXu-vq-Dw6" secondAttribute="centerX" id="c4a-jT-1bn"/>
                                             <constraint firstAttribute="height" constant="44" id="gAr-gG-sBR"/>
                                             <constraint firstItem="ftx-T7-q9i" firstAttribute="leading" secondItem="nXu-vq-Dw6" secondAttribute="leading" id="i5G-NL-FmB"/>
                                             <constraint firstAttribute="trailing" secondItem="cjZ-Pc-tj5" secondAttribute="trailing" id="oeu-65-X7Z"/>
                                         </constraints>
                                     </view>
                                 </subviews>
+                                <viewLayoutGuide key="safeArea" id="N9b-tS-8Mg"/>
                                 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="64" id="4EF-wU-gZO"/>
@@ -112,17 +99,17 @@
                                     <constraint firstAttribute="bottom" secondItem="nXu-vq-Dw6" secondAttribute="bottom" id="swN-y3-8ZJ"/>
                                     <constraint firstItem="nXu-vq-Dw6" firstAttribute="trailing" secondItem="hCB-eT-rx4" secondAttribute="trailing" id="zlO-zU-FlR"/>
                                 </constraints>
-                                <viewLayoutGuide key="safeArea" id="N9b-tS-8Mg"/>
                                 <connections>
                                     <outlet property="height" destination="4EF-wU-gZO" id="qe0-R5-HtA"/>
                                 </connections>
                             </view>
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="grouped" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="18" sectionFooterHeight="18" translatesAutoresizingMaskIntoConstraints="NO" id="P7O-Ou-oGU">
                                 <rect key="frame" x="0.0" y="64" width="414" height="672"/>
-                                <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                                <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                             </tableView>
                         </subviews>
-                        <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                        <viewLayoutGuide key="safeArea" id="7c1-e0-9St"/>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                             <constraint firstItem="P7O-Ou-oGU" firstAttribute="leading" secondItem="7c1-e0-9St" secondAttribute="leading" id="FLs-xl-Waa"/>
                             <constraint firstItem="hCB-eT-rx4" firstAttribute="trailing" secondItem="7c1-e0-9St" secondAttribute="trailing" id="aeX-EI-pWy"/>
@@ -132,13 +119,12 @@
                             <constraint firstItem="P7O-Ou-oGU" firstAttribute="top" secondItem="hCB-eT-rx4" secondAttribute="bottom" id="odK-2t-ils"/>
                             <constraint firstItem="hCB-eT-rx4" firstAttribute="leading" secondItem="7c1-e0-9St" secondAttribute="leading" id="rMd-z6-kZq"/>
                         </constraints>
-                        <viewLayoutGuide key="safeArea" id="7c1-e0-9St"/>
                     </view>
                     <navigationItem key="navigationItem" id="NKA-Hb-T1U"/>
                     <connections>
+                        <outlet property="NavBar" destination="nXu-vq-Dw6" id="JvZ-51-oMD"/>
                         <outlet property="addBtn" destination="cjZ-Pc-tj5" id="b5n-he-nWN"/>
                         <outlet property="cusNavBar" destination="hCB-eT-rx4" id="uF4-A7-Od7"/>
-                        <outlet property="menuBtn" destination="SvS-Of-TDQ" id="Jn9-ou-7tn"/>
                         <outlet property="tableView" destination="P7O-Ou-oGU" id="6Ad-Ye-MQq"/>
                     </connections>
                 </viewController>
@@ -224,6 +210,7 @@
                                         </constraints>
                                     </view>
                                 </subviews>
+                                <viewLayoutGuide key="safeArea" id="kBj-EY-Uar"/>
                                 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                 <constraints>
                                     <constraint firstAttribute="height" constant="64" id="9Rq-vo-pHn"/>
@@ -231,7 +218,6 @@
                                     <constraint firstItem="IYP-kU-Crg" firstAttribute="trailing" secondItem="eWw-4L-WAb" secondAttribute="trailing" id="OsI-GK-WsV"/>
                                     <constraint firstItem="IYP-kU-Crg" firstAttribute="leading" secondItem="eWw-4L-WAb" secondAttribute="leading" id="nBm-t3-Elv"/>
                                 </constraints>
-                                <viewLayoutGuide key="safeArea" id="kBj-EY-Uar"/>
                                 <connections>
                                     <outlet property="height" destination="9Rq-vo-pHn" id="tRA-TS-ra1"/>
                                 </connections>
@@ -251,8 +237,8 @@
                                             </view>
                                             <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="RAL-nY-DCe" customClass="NewTopicTextView">
                                                 <rect key="frame" x="10" y="51.666666666666686" width="389" height="419"/>
-                                                <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
-                                                <color key="textColor" systemColor="labelColor" cocoaTouchSystemColor="darkTextColor"/>
+                                                <color key="backgroundColor" systemColor="systemBackgroundColor"/>
+                                                <color key="textColor" systemColor="labelColor"/>
                                                 <fontDescription key="fontDescription" type="system" pointSize="17"/>
                                                 <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
                                             </textView>
@@ -324,11 +310,11 @@
                                                 <color key="textColor" red="0.0" green="0.60392156862745094" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                 <nil key="highlightedColor"/>
                                             </label>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gf7-OG-K2h">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="gf7-OG-K2h">
                                                 <rect key="frame" x="0.0" y="0.0" width="414" height="45"/>
                                             </button>
                                         </subviews>
-                                        <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                         <constraints>
                                             <constraint firstItem="ikG-8O-GYH" firstAttribute="leading" secondItem="eya-KJ-w5g" secondAttribute="trailing" constant="13" id="58T-UL-JId"/>
                                             <constraint firstItem="eya-KJ-w5g" firstAttribute="centerY" secondItem="3G4-1R-wHG" secondAttribute="centerY" id="BSf-di-b98"/>
@@ -346,7 +332,7 @@
                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Of8-sl-Wsn">
                                         <rect key="frame" x="0.0" y="581.66666666666663" width="414" height="45"/>
                                         <subviews>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bqT-gl-v2T">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="bqT-gl-v2T">
                                                 <rect key="frame" x="0.0" y="0.0" width="414" height="45"/>
                                             </button>
                                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="优先级" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tD9-Nl-4da">
@@ -368,7 +354,7 @@
                                                 <rect key="frame" x="364.66666666666669" y="14.333333333333371" width="16" height="16"/>
                                             </imageView>
                                         </subviews>
-                                        <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="45" id="8WH-GG-wbi"/>
                                             <constraint firstItem="ju9-64-4oc" firstAttribute="centerY" secondItem="Of8-sl-Wsn" secondAttribute="centerY" id="8hB-dO-HLX"/>
@@ -389,7 +375,7 @@
                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ChC-wq-LMj">
                                         <rect key="frame" x="0.0" y="536" width="414" height="45"/>
                                         <subviews>
-                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Bey-Ub-63o">
+                                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Bey-Ub-63o">
                                                 <rect key="frame" x="0.0" y="0.0" width="414" height="45"/>
                                             </button>
                                             <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="时间和提醒" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="TGz-p0-qwT">
@@ -408,7 +394,7 @@
                                                 <nil key="highlightedColor"/>
                                             </label>
                                         </subviews>
-                                        <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                         <constraints>
                                             <constraint firstAttribute="height" constant="45" id="0iu-hu-tGy"/>
                                             <constraint firstItem="TGz-p0-qwT" firstAttribute="centerY" secondItem="ChC-wq-LMj" secondAttribute="centerY" id="4zo-Ce-3gb"/>
@@ -434,7 +420,7 @@
                                         <state key="normal" image="结束切图"/>
                                     </button>
                                 </subviews>
-                                <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                                <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                 <constraints>
                                     <constraint firstAttribute="trailing" secondItem="CDP-Hr-Z8F" secondAttribute="trailing" constant="15" id="29e-25-qGv"/>
                                     <constraint firstItem="3G4-1R-wHG" firstAttribute="leading" secondItem="l1H-VW-6rA" secondAttribute="leading" id="3Gs-X9-dMa"/>
@@ -463,7 +449,8 @@
                                 </constraints>
                             </view>
                         </subviews>
-                        <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                        <viewLayoutGuide key="safeArea" id="RdI-bP-vrp"/>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                             <constraint firstItem="RdI-bP-vrp" firstAttribute="bottom" secondItem="l1H-VW-6rA" secondAttribute="bottom" id="Lk3-Ff-Sl8"/>
                             <constraint firstItem="eWw-4L-WAb" firstAttribute="top" secondItem="Kq6-Ut-CO3" secondAttribute="top" id="V1x-QA-WXH"/>
@@ -473,7 +460,6 @@
                             <constraint firstItem="eWw-4L-WAb" firstAttribute="leading" secondItem="RdI-bP-vrp" secondAttribute="leading" id="sLL-To-dAj"/>
                             <constraint firstItem="eWw-4L-WAb" firstAttribute="trailing" secondItem="RdI-bP-vrp" secondAttribute="trailing" id="yBC-Cc-ui8"/>
                         </constraints>
-                        <viewLayoutGuide key="safeArea" id="RdI-bP-vrp"/>
                     </view>
                     <navigationItem key="navigationItem" id="KvF-gC-hap"/>
                     <connections>
@@ -569,6 +555,7 @@
                                         </constraints>
                                     </view>
                                 </subviews>
+                                <viewLayoutGuide key="safeArea" id="6t3-qv-SmR"/>
                                 <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
                                 <constraints>
                                     <constraint firstItem="uqZ-6J-5Y5" firstAttribute="leading" secondItem="7Eg-m4-8sb" secondAttribute="leading" id="Bmn-zo-XF9"/>
@@ -576,17 +563,17 @@
                                     <constraint firstAttribute="height" constant="64" id="Mzp-MR-P4A"/>
                                     <constraint firstAttribute="bottom" secondItem="uqZ-6J-5Y5" secondAttribute="bottom" id="TkO-6W-eje"/>
                                 </constraints>
-                                <viewLayoutGuide key="safeArea" id="6t3-qv-SmR"/>
                                 <connections>
                                     <outlet property="height" destination="Mzp-MR-P4A" id="4RJ-Kh-UIe"/>
                                 </connections>
                             </view>
                             <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="ocn-N5-eTN">
                                 <rect key="frame" x="0.0" y="64" width="414" height="672"/>
-                                <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                                <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                             </tableView>
                         </subviews>
-                        <color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
+                        <viewLayoutGuide key="safeArea" id="RUi-ut-uRa"/>
+                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                         <constraints>
                             <constraint firstItem="ocn-N5-eTN" firstAttribute="leading" secondItem="RUi-ut-uRa" secondAttribute="leading" id="BS0-BI-FwF"/>
                             <constraint firstItem="7Eg-m4-8sb" firstAttribute="top" secondItem="3VU-kx-6G2" secondAttribute="top" id="NDr-Ta-Yw3"/>
@@ -596,7 +583,6 @@
                             <constraint firstItem="RUi-ut-uRa" firstAttribute="bottom" secondItem="ocn-N5-eTN" secondAttribute="bottom" id="pYD-3J-L7T"/>
                             <constraint firstItem="7Eg-m4-8sb" firstAttribute="trailing" secondItem="RUi-ut-uRa" secondAttribute="trailing" id="r5e-9V-fkV"/>
                         </constraints>
-                        <viewLayoutGuide key="safeArea" id="RUi-ut-uRa"/>
                     </view>
                     <navigationItem key="navigationItem" id="52a-TB-j04"/>
                     <connections>
@@ -612,10 +598,15 @@
     <resources>
         <image name="WaitWork_high" width="16" height="16"/>
         <image name="back_black_icon" width="11" height="20"/>
-        <image name="chatmsg_notice_showAll_icon" width="13" height="13"/>
         <image name="chatmsg_rightArrow_icon" width="6.6666665077209473" height="12"/>
         <image name="chatmsg_right_add_icon" width="15.666666984558105" height="15.666666984558105"/>
         <image name="menu_black_icon" width="16.666666030883789" height="14.666666984558105"/>
         <image name="结束切图" width="55.333332061767578" height="55.333332061767578"/>
+        <systemColor name="labelColor">
+            <color white="0.0" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
+        <systemColor name="systemBackgroundColor">
+            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
+        </systemColor>
     </resources>
 </document>

+ 2 - 2
smartRhino/Project/VCModel/ChatMessage/View/ChatMsgListCell.m

@@ -235,8 +235,8 @@
                     imagV.center = supView.center;
                     imagV.contentMode = UIViewContentModeCenter;
                     imagV.image = [UIImage imageNamed: @"list_sort"];
-                    UILabel * label = [UILabel new];
-                    label.backgroundColor = UIColorHex(#EAEAEA);
+                    UIView * label = [UIView new];
+                    label.backgroundColor = UIColorHex(0xEEEEEE);
                     [supView addSubview:label];
                     [label setFrame:CGRectMake(0, supView.frame.size.height - 0.5, supView.frame.size.width, 0.5)];
                 }else{

+ 3 - 2
smartRhino/Project/VCModel/Home/Model/HomeTopImageModel.h

@@ -14,8 +14,9 @@
 @property (nonatomic ,strong) NSString *CreatedDate;
 @property (nonatomic ,strong) NSString *LastModifiedDate;
 @property (nonatomic ,strong) NSString *ImageUrl;
-@property (nonatomic ,assign) NSInteger MediaId;
-@property (nonatomic ,strong) NSString *MediaTitle;
+@property (nonatomic ,assign) NSInteger         MediaId;
+@property (nonatomic ,assign) CollectModelType  MediaType;
+@property (nonatomic ,strong) NSString         *MediaTitle;
 @property (nonatomic ,assign) NSInteger Id;
 @property (nonatomic ,assign) NSInteger Sort;
 @property (nonatomic ,strong) NSString *Title;

+ 2 - 2
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/MyTDTopicCreateVC.h

@@ -15,7 +15,7 @@ NS_ASSUME_NONNULL_BEGIN
 @interface MyTDTopicCreateVC : BaseViewController
 @property (copy, nonatomic) void(^upDateBlock)(void);
 @property (assign, nonatomic) CollectModelType       type;
-@property (copy, nonatomic)   FlowAttachmentsModel * sendModel;
+@property (strong, nonatomic) FlowAttachmentsModel * sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 @property (assign, nonatomic) MailReplayType         replayType;
 @property (assign, nonatomic) NSInteger  Id;
@@ -27,7 +27,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (copy, nonatomic) NSURL        *URL;
 @property (copy, nonatomic) NSString     *FolderName;
 @property (assign, nonatomic) NSInteger           MailType;
-@property (copy, nonatomic) SelectModel       * shouModel;///收件人信息
+@property (strong, nonatomic) SelectModel     * shouModel;///收件人信息
 @property (strong, nonatomic) UIImage         * sendImage;///转发图片
 +(MyTDTopicCreateVC *)initMyTDTopicCreateVC;
 

+ 93 - 42
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/MyTDTopicCreateVC.m

@@ -104,10 +104,10 @@
 }
 - (void)setShowTopicData
 {
-    self.menuIsShow = NO;
     WS(weakSelf);
     [self.titleBtn setAction:^{
-        if (!weakSelf.menuIsShow) {
+        weakSelf.menuIsShow = !weakSelf.menuIsShow;
+        if (weakSelf.menuIsShow) {
             [weakSelf.menuListView show];
             [weakSelf.titleBtn show];
             weakSelf.menuListView.ClickRowBlock = ^(BOOL isPush, NSInteger Id, NSString * _Nonnull Name) {
@@ -126,9 +126,7 @@
             weakSelf.menuListView.dismissBlock = ^{
                 [weakSelf.titleBtn dismiss];
             };
-            weakSelf.menuIsShow = YES;
         }else{
-            weakSelf.menuIsShow = NO;
             [weakSelf.titleBtn dismiss];
             [weakSelf.menuListView dismiss];
         }
@@ -168,7 +166,12 @@
 }
 -(NSMutableArray *)getMenuDataSource{
     NSMutableArray *menuDataSourceArray = [[NSMutableArray alloc] init];
-    NSArray * titleArray = @[@"写通知",@"写信件",@"匿名信"];
+    NSArray * titleArray;
+    if ([AppUserModel sharedAppUserModel].IsNotice) {
+        titleArray = @[@"写通知",@"写信件",@"匿名信"];
+    }else{
+        titleArray = @[@"写信件",@"匿名信"];
+    }
     for(int i = 0;i < titleArray.count;i ++){
         NSString *titleStr = [titleArray objectAtIndex:i];
         WS(weakSelf);
@@ -195,16 +198,17 @@
 - (void)autoSizeBtn:(NSString *)title
 {
     if (![title isKindOfClass:[NSNull class]]) {
-        if (title.length > 8) {
-            NSRange range1 = NSMakeRange(8, title.length - 8);
+        if (title.length > 7) {
+            NSRange range1 = NSMakeRange(7, title.length - 7);
             NSString *resultStr1 = [title stringByReplacingCharactersInRange:range1 withString:@"..."];
             [self.titleBtn setLabelTitle:resultStr1];
- }else{
+        }else{
             [self.titleBtn setLabelTitle:title];
         }
         WS(weakSelf);
         [self.titleBtn mas_remakeConstraints:^(MASConstraintMaker *make) {
             make.center.mas_equalTo(weakSelf.NavBarV);
+            make.width.mas_offset(SCREEN_WIDTH * 0.5);
         }];
         [self.NavBarV layoutIfNeeded];
     }
@@ -222,6 +226,7 @@
     [self.NavBarV addSubview:self.titleBtn];
     [self.titleBtn mas_makeConstraints:^(MASConstraintMaker *make) {
         make.center.mas_equalTo(weakSelf.NavBarV);
+        make.width.mas_offset(SCREEN_WIDTH * 0.5);
     }];
     [self.view addSubview:self.webView];
     [self.webView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -252,25 +257,42 @@
             self.titleBtn.hidden = NO;
 //            self.TitleL.text = @"写通知";
             [self selectMailType];
-            switch (self.MailType) {
-                case 1:
-                {
-                    [self autoSizeBtn:@"写信件"];
-                    self.MailType = 1;
-                }
-                    break;
-                case 2:
-                {
-                    [self autoSizeBtn:@"匿名信"];
-                    self.MailType = 2;
+            if ([AppUserModel sharedAppUserModel].IsNotice) {
+                switch (self.MailType) {
+                    case 1:
+                    {
+                        [self autoSizeBtn:@"写信件"];
+                        self.MailType = 1;
+                    }
+                        break;
+                    case 2:
+                    {
+                        [self autoSizeBtn:@"匿名信"];
+                        self.MailType = 2;
+                    }
+                        break;
+                    default:
+                    {
+                        [self autoSizeBtn:@"写通知"];
+                        self.MailType = 3;
+                    }
+                        break;
                 }
-                    break;
-                default:
-                {
-                    [self autoSizeBtn:@"写通知"];
-                    self.MailType = 3;
+            }else{
+                switch (self.MailType) {
+                    case 0:
+                    {
+                        [self autoSizeBtn:@"写信件"];
+                        self.MailType = 1;
+                    }
+                        break;
+                    default:
+                    {
+                        [self autoSizeBtn:@"匿名信"];
+                        self.MailType = 2;
+                    }
+                        break;
                 }
-                    break;
             }
         }
             break;
@@ -330,22 +352,42 @@
                 self.TitleL.hidden = YES;
                 self.titleBtn.hidden = NO;
                 [self selectMailType];
-                switch (self.MailType) {
-                    case 1:
-                    {
-                        [self autoSizeBtn:@"写信件"];
-                    }
-                        break;
-                    case 2:
-                    {
-                        [self autoSizeBtn:@"匿名信"];
+                if ([AppUserModel sharedAppUserModel].IsNotice) {
+                    switch (self.MailType) {
+                        case 1:
+                        {
+                            [self autoSizeBtn:@"写信件"];
+                            self.MailType = 1;
+                        }
+                            break;
+                        case 2:
+                        {
+                            [self autoSizeBtn:@"匿名信"];
+                            self.MailType = 2;
+                        }
+                            break;
+                        default:
+                        {
+                            [self autoSizeBtn:@"写通知"];
+                            self.MailType = 3;
+                        }
+                            break;
                     }
-                        break;
-                    default:
-                    {
-                        [self autoSizeBtn:@"写通知"];
+                }else{
+                    switch (self.MailType) {
+                        case 0:
+                        {
+                            [self autoSizeBtn:@"写信件"];
+                            self.MailType = 1;
+                        }
+                            break;
+                        default:
+                        {
+                            [self autoSizeBtn:@"匿名信"];
+                            self.MailType = 2;
+                        }
+                            break;
                     }
-                        break;
                 }
             }
         }
@@ -522,8 +564,8 @@
 }
 - (void)setSelectTopicBook:(NSString *)title
 {
-    if (title.length > 8) {
-        NSRange range1 = NSMakeRange(8, title.length - 8);
+    if (title.length > 7) {
+        NSRange range1 = NSMakeRange(7, title.length - 7);
         NSString *resultStr1 = [title stringByReplacingCharactersInRange:range1 withString:@"..."];
         NSString * title = [NSString stringWithFormat:@"%@",resultStr1];
         [self autoSizeBtn:title];
@@ -1442,8 +1484,10 @@
         [self sentNoticeRequeast:paraDict withNoticeType:self.isDraft ? 2 : 1];
     }else{
         if (self.isEdit) {
+            [paraDict setObject:@(self.Id) forKey:@"Id"];
             [self sentChangeNotice:paraDict withNoticeType:self.isDraft ? 2 : 1];
         }else{
+            NSLog(@"%@",[self convertToJson:paraDict]);
             [self sentNoticeRequeast:paraDict withNoticeType:self.isDraft ? 2 : 1];
         }
     }
@@ -1451,6 +1495,7 @@
 - (void)sentChangeNotice:(NSMutableDictionary *)dic withNoticeType:(NSInteger)NoticeType{
     WS(weakSelf);
     NSLog(@"%@",[self DictJSONString:dic]);
+    SHOWLOADING
     [[HttpManager sharedHttpManager] POSTUrl:Host(API_NOTICE_EDIT) parameters:dic responseStyle:DATA success:^(id  _Nonnull responseObject) {
        REMOVESHOW
         if(NoticeType == 1){
@@ -1463,12 +1508,14 @@
         }
         [weakSelf back1];
     } failure:^(NSError * _Nonnull error) {
-        SHOWERROR([ZYCTool handerResultData:error]);
+        REMOVESHOW
+//        SHOWERROR([ZYCTool handerResultData:error]);
     }];
 }
 
 - (void)sentNoticeRequeast:(NSMutableDictionary *)dic withNoticeType:(NSInteger)NoticeType{
     WS(weakSelf);
+    SHOWLOADING
     [[HttpManager sharedHttpManager] PUTUrl:Host(API_NOTICE_ADD) parameters:dic responseStyle:DATA success:^(id  _Nonnull responseObject) {
        REMOVESHOW
         if(NoticeType == 1){
@@ -1481,6 +1528,7 @@
         }
         [weakSelf back1];
     } failure:^(NSError * _Nonnull error) {
+        REMOVESHOW
         SHOWERROR([ZYCTool handerResultData:error]);
     }];
 }
@@ -1645,6 +1693,7 @@
 //        SHOWERROR(@"请选择发布范围");
 //        return;
 //    }
+    SHOWLOADING
     [[HttpManager sharedHttpManager] PUTUrl:Host(API_CreateNoteBook) parameters:paraDict responseStyle:JOSN success:^(id  _Nonnull responseObject) {
         NSLog(@"%@",responseObject);
         SHOWSUCCESS(@"创建成功");
@@ -1678,6 +1727,7 @@
 //        SHOWERROR(@"请选择发布范围");
 //        return;
 //    }
+    SHOWLOADING
     [[HttpManager sharedHttpManager] PUTUrl:Host(API_NoteBook_Modify) parameters:paraDict responseStyle:DATA success:^(id  _Nonnull responseObject) {
         NSLog(@"%@",responseObject);
         if (weakSelf.upDateBlock) {
@@ -1731,6 +1781,7 @@
 - (void)sentMailRequeast:(NSMutableDictionary *)dic
 {
     WS(weakSelf);
+    SHOWLOADING
     [[HttpManager sharedHttpManager] PUTUrl:Host(API_InterLetterModify) parameters:dic responseStyle:DATA success:^(id  _Nonnull responseObject) {
         if(weakSelf.isDraft){
             SHOWSUCCESS(@"站内信已经存放草稿箱");

+ 51 - 13
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/MyTDTopicDetailVC.m

@@ -42,16 +42,17 @@
 #import "ShareListVC.h"
 #import "BookWCDetailVC.h"
 #import "BookListenVC.h"
+#import "ShowImageVC.h"
 
 @interface MyTDTopicDetailVC ()<UITableViewDataSource,UITableViewDelegate,NoteBookShareVCDelegate,MHTopicCellDelegate,WKUIDelegate,WKNavigationDelegate,UIScrollViewDelegate,WKScriptMessageHandler>
-@property (strong,nonatomic) IBOutlet UITableView *tableView;
+@property (strong,nonatomic) IBOutlet UITableView   *tableView;
 @property (nonatomic,assign) NSUInteger currentPage;
-@property (nonatomic,strong) MyNoteBookDetailModel *currentNoteModel;
-@property (nonatomic,strong) MyNodeBookZanModel *currentZanModel;
+@property (nonatomic,strong) MyNoteBookDetailModel  *currentNoteModel;
+@property (nonatomic,strong) MyNodeBookZanModel     *currentZanModel;
 @property (nonatomic,strong) MyNoteBookCommentModel *currentNoteCommentModel;
-@property (nonatomic,strong) NSMutableArray *commentArray;
+@property (nonatomic,strong) NSMutableArray         *commentArray;
 @property (nonatomic,assign) BOOL isFresh;
-@property (weak, nonatomic) IBOutlet UILabel *titleL;
+@property (weak, nonatomic) IBOutlet UILabel        *titleL;
 
 @property (weak, nonatomic) IBOutlet UIButton *commentButton;
 @property (weak, nonatomic) IBOutlet UIButton *commentScrollBtn;
@@ -107,7 +108,6 @@
     NSString *jsonString = [NSString stringWithFormat:@"getData('%ld','%@','%ld')",(long)self.Id,USERDEFAULTSGET(@"LOGINTOKEN"),(long)self.type];
     
     self.musicBtn.hidden = YES;
-    [self createMenuItems];
     switch (self.type) {
         case CollectModel_InterMail:
         {
@@ -192,6 +192,10 @@
             break;
     }
 }
+- (void)viewWillDisappear:(BOOL)animated{
+    [super viewWillDisappear:animated];
+    self.dismissSelf = YES;
+}
 - (void)setMailBottomView:(BOOL)isSet
 {
     if (isSet) {
@@ -304,6 +308,9 @@
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeKeyboardWillShowNotification:) name:UIKeyboardWillShowNotification object:nil];
     // 通知-监听键盘回收事
     [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(changeKeyboardWillHideNotification:) name:UIKeyboardWillHideNotification object:nil];
+    [self createMenuItems];
+
+    [self becomeFirstResponder];
 }
 
 #pragma mark - UIKeyBoradNotification
@@ -2667,11 +2674,12 @@
         [userContent addScriptMessageHandler:self name:@"postH"];
         [userContent addScriptMessageHandler:self name:@"postSave"];
         [userContent addScriptMessageHandler:self name:@"appCollection"];
-        
+        [userContent addScriptMessageHandler:self name:@"enlargeImg"];
+        [userContent addScriptMessageHandler:self name:@"toNav"];
+
         NSMutableString *javascript = [NSMutableString string];
         [javascript appendString:@"document.documentElement.style.webkitTouchCallout='none';"];//禁止长按
-        //        [javascript appendString:@"document.documentElement.style.webkitUserSelect='none';"];//禁止选择
-        
+//        [javascript appendString:@"document.documentElement.style.webkitUserSelect='none';"];//禁止选择
         WKUserScript *noneSelectScript = [[WKUserScript alloc] initWithSource:javascript injectionTime:WKUserScriptInjectionTimeAtDocumentEnd forMainFrameOnly:YES];
         [userContent addUserScript:noneSelectScript];
         
@@ -2888,6 +2896,14 @@
         NSDictionary * dict = (NSDictionary *)message.body;
         [self pushVCWithDict:dict];
     }
+    if ([message.name isEqualToString:@"enlargeImg"]) {
+        NSLog(@"msgBody:%@",message.body);
+        [self showImageAction:message.body];
+    }
+    if ([message.name isEqualToString:@"toNav"]) {
+        NSLog(@"msgBody:%@",message.body);
+        [self OpenHttp:message.body];
+    }
     if ([message.name isEqualToString:@"goMeeting"]) {
         NSLog(@"msgBody:%@",message.body);
         NSInteger meetId = [message.body integerValue];
@@ -3150,12 +3166,15 @@
     }
     return NO;
 }
-- (void)viewWillDisappear:(BOOL)animated{
-    [super viewWillDisappear:animated];
-    self.dismissSelf = YES;
-}
+
 //允许成为第一响应
 - (BOOL)canBecomeFirstResponder {
+    UIWindow *window = [[UIApplication sharedApplication].delegate window];
+    if ([window isKeyWindow] == NO)
+    {
+        [window becomeKeyWindow];
+        [window makeKeyAndVisible];
+    }
     return YES;
 }
 - (BOOL)canResignFirstResponder {
@@ -3201,6 +3220,10 @@
         }
     }];
 }
+- (void)handleLongPress:(UILongPressGestureRecognizer *)sender
+{
+    [self createMenuItems];
+}
 - (void)createMenuItems
 {
     UIMenuController * menu = [UIMenuController sharedMenuController];
@@ -3211,5 +3234,20 @@
     [menu setMenuItems:@[item1, item2, item3, item4]];
     menu.menuVisible = YES;
 }
+- (void)showImageAction:(NSString *)url
+{
+    ShowImageVC * vc = [[ShowImageVC alloc] init];
+    vc.url = url;
+    vc.modalPresentationStyle = UIModalPresentationFullScreen;
+    [self presentViewController:vc animated:YES completion:^{
+                    
+    }];
+}
+- (void)OpenHttp:(NSString *)url
+{
+    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url] options:@{} completionHandler:^(BOOL success) {
+        
+    }];
+}
 @end
 

+ 1 - 1
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/MyTDTopicGroupSearchVC.h

@@ -12,7 +12,7 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface MyTDTopicGroupSearchVC : SearchBaseVC
-@property (copy, nonatomic)   FlowAttachmentsModel * sendModel;
+@property (strong, nonatomic) FlowAttachmentsModel * sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 @end
 

+ 1 - 1
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/MyTDTopicSearchVC.h

@@ -18,7 +18,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, assign) TDTopicSearchType   searchType;
 @property (nonatomic, assign) NSInteger           GroupId;
 @property (nonatomic, assign) NSInteger           floderId;
-@property (copy, nonatomic)   FlowAttachmentsModel * sendModel;
+@property (strong, nonatomic) FlowAttachmentsModel * sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 @end
 

+ 1 - 1
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/MyTDTopicViewController.h

@@ -12,7 +12,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface MyTDTopicViewController : BaseViewController
 +(MyTDTopicViewController *)initMyTDTopicViewController;
-@property (copy, nonatomic)   FlowAttachmentsModel * sendModel;
+@property (strong, nonatomic) FlowAttachmentsModel * sendModel;
 @property (assign, nonatomic) BOOL                   isReturn;
 @end
 

+ 17 - 0
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/ShowImageVC.h

@@ -0,0 +1,17 @@
+//
+//  ShowImageVC.h
+//  smartRhino
+//
+//  Created by niuzhen on 2020/10/10.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface ShowImageVC : UIViewController
+@property (copy,nonatomic) NSString    * url;
+@end
+
+NS_ASSUME_NONNULL_END

+ 98 - 0
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/ShowImageVC.m

@@ -0,0 +1,98 @@
+//
+//  ShowImageVC.m
+//  smartRhino
+//
+//  Created by niuzhen on 2020/10/10.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import "ShowImageVC.h"
+
+@interface ShowImageVC ()<UIScrollViewDelegate>
+@property (nonatomic, strong) UIScrollView   * scrollView;
+@property (nonatomic, strong) UIImageView    * ImageV;
+@end
+
+@implementation ShowImageVC
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    self.view.backgroundColor = [UIColor blackColor];
+    [self.view addSubview:self.scrollView];
+    [self.scrollView addSubview:self.ImageV];
+    [self.scrollView setFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
+    [self.ImageV setFrame:self.scrollView.bounds];
+    self.scrollView.delegate = self;
+    self.scrollView.minimumZoomScale = 0.5;
+    self.scrollView.maximumZoomScale = 5.f;
+    WS(weakSelf);
+    UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithActionBlock:^(id  _Nonnull sender) {
+        [weakSelf dismissViewControllerAnimated:YES completion:^{
+
+        }];
+    }];
+    tap.numberOfTouchesRequired = 1;
+    UILongPressGestureRecognizer * longPreess = [[UILongPressGestureRecognizer alloc] initWithActionBlock:^(id  _Nonnull sender) {
+        [weakSelf savePhoto];
+    }];
+    longPreess.minimumPressDuration = 1.5f;
+    
+//    UIPinchGestureRecognizer * pin = [[UIPinchGestureRecognizer alloc] initWithActionBlock:^(id  _Nonnull sender) {
+//
+//    }];
+//    pin.scale = 1;
+    
+    self.ImageV.userInteractionEnabled = YES;
+    self.ImageV.contentMode = UIViewContentModeScaleAspectFit;
+    [self.ImageV addGestureRecognizer:tap];
+    [self.ImageV addGestureRecognizer:longPreess];
+//    [self.ImageV addGestureRecognizer:pin];
+
+    [self.ImageV sd_setImageWithURL:[NSURL URLWithString:self.url] placeholderImage:kPlaceHolderImage completed:^(UIImage * _Nullable image, NSError * _Nullable error, SDImageCacheType cacheType, NSURL * _Nullable imageURL) {
+        [weakSelf.scrollView setContentSize:image.size];
+    }];
+    self.scrollView.showsVerticalScrollIndicator = NO;
+    self.scrollView.showsHorizontalScrollIndicator = NO;
+}
+- (UIView *)viewForZoomingInScrollView:(UIScrollView *)scrollView
+{
+    return self.ImageV;
+}
+- (void)scrollViewDidZoom:(UIScrollView *)scrollView
+{
+    CGFloat centerX = scrollView.center.x;
+    CGFloat centerY = scrollView.center.y;
+    centerX = scrollView.contentSize.width > scrollView.frame.size.width ? scrollView.frame.size.width/2 : centerX;
+    centerY = scrollView.contentSize.height > scrollView.frame.size.height ? scrollView.frame.size.height/2 : centerY;
+    [self.ImageV setCenter:CGPointMake(centerX, centerY)];
+}
+- (UIScrollView *)scrollView
+{
+    if (!_scrollView) {
+        _scrollView = [UIScrollView new];
+    }
+    return _scrollView;
+}
+- (UIImageView *)ImageV
+{
+    if (!_ImageV) {
+        _ImageV = [UIImageView new];
+    }
+    return _ImageV;
+}
+- (void)savePhoto
+{
+    WS(weakSelf);
+    if (self.ImageV.image) {
+        NSError *error = nil;
+        [[PHPhotoLibrary sharedPhotoLibrary] performChangesAndWait:^{
+            [PHAssetChangeRequest creationRequestForAssetFromImage:weakSelf.ImageV.image];
+        } error:&error];
+        if(error){
+            [ShowtipTool showMessageWithStatus:@"保存失败"];
+        }else{
+            [ShowtipTool showMessageWithStatus:@"保存成功"];
+        }
+    }
+}
+@end

+ 8 - 4
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/VC/TopicBook/MyTDTopicBookVC.m

@@ -32,9 +32,8 @@
 @property (strong, nonatomic) MyTDGroupView             *SearchView;
 @property (strong, nonatomic) NSMutableArray            *dataArray;
 @property (strong, nonatomic) NSArray                   *addListArray;
-@property (strong, nonatomic) NoteBookShareVC    *noteBookShareVC;
-@property (copy, nonatomic)   FlowAttachmentsModel      *sendModel;
-
+@property (strong, nonatomic) NoteBookShareVC           *noteBookShareVC;
+@property (strong, nonatomic) FlowAttachmentsModel      *sendModel;
 @end
 
 @implementation MyTDTopicBookVC
@@ -543,8 +542,13 @@
 }
 - (void)returnToNote
 {
-    MyTDTopicCreateVC * vc = [MyTDTopicCreateVC initMyTDTopicCreateVC];
+    MoveViewController * vc = [MoveViewController initMoveViewController];
+    vc.isFromCreateBookVc = YES;
+    vc.TypeId = CreateNotesType;
+    vc.titleStr = @"我的笔记";
+    vc.ParentId = 0;
     vc.type = CollectModel_NoteBook;
+    vc.CollectionType = CollectModel_NoteBook;
     vc.sendModel = self.sendModel;
     vc.isReturn = YES;
     [self.navigationController pushViewController:vc animated:YES];

+ 1 - 0
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/MHComment.h

@@ -33,6 +33,7 @@
 /** 话题内容 */
 @property (nonatomic, assign) BOOL  IsUnderstand;
 
+
 /** 获取富文本 */
 - (NSAttributedString *)attributedText;
 @end

+ 2 - 0
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/MHTopic.h

@@ -47,6 +47,8 @@
 /** 评论总数 */
 @property (nonatomic , assign) NSInteger commentsCount;
 
+
+@property (nonatomic , assign) NSInteger  Score;
 /** 富文本 */
 - (NSAttributedString *)attributedText;
 

+ 2 - 0
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/MHTopicCell.h

@@ -27,6 +27,7 @@
 - (void) topicCell:(MHTopicCell *)topicCell didClickedUser:(NSString *)userId;
 /** 点击某一行的cell */
 - (void) topicCell:(MHTopicCell *)topicCell  didSelectRowAtIndexPath:(NSIndexPath *)indexPath;
+
 @end
 
 
@@ -51,4 +52,5 @@
 @property (nonatomic, copy) void(^replyContentBlock)(void);
 @property (nonatomic, copy) void(^longBlock)(void);
 @property (nonatomic, copy) void(^longSubBlock)(NSInteger commentId,UILabel * label,NSString * Content);
+- (void)setStarCount:(NSInteger)count;
 @end

+ 31 - 1
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/MHTopicCell.m

@@ -19,6 +19,9 @@
 /** 昵称 */
 @property (nonatomic , weak) YYLabel *nicknameLable;
 
+/** 星数 */
+@property (nonatomic , strong) UIStackView * starView;
+
 /** ContentView */
 @property (nonatomic , weak) UIView *contentBaseView;
 
@@ -90,6 +93,9 @@
     
     // 昵称
     self.nicknameLable.frame = topicFrame.nicknameFrame;
+    
+    self.starView.frame = topicFrame.starFrame;
+
 //    self.nicknameLable.text = user.nickname;
     self.nicknameLable.text = topic.Name;
     // 点赞
@@ -144,6 +150,22 @@
 //        [weakSelf _avatarOrNicknameDidClicked];
     };
     
+    //星星
+    self.starView = [UIStackView new];
+    [self.contentView addSubview:self.starView];
+    self.starView.distribution = UIStackViewDistributionFillEqually;
+    self.starView.axis = UILayoutConstraintAxisHorizontal;
+    self.starView.spacing = 2.f;
+    self.starView.alignment = UIStackViewAlignmentFill;
+    for (NSInteger i = 0; i < 5; i ++) {
+        UIImageView * imagV = [UIImageView new];
+        [self.starView addArrangedSubview:imagV];
+        imagV.tag = i + 1;
+        imagV.image = IMG(@"comment_mix_star_gray");
+    }
+    
+    self.starView.hidden = YES;
+    
     // 点赞按钮
     self.thumbBtn = [[TDButton alloc] init];
     [self.thumbBtn setImage:IMG(@"zan_no") forState:UIControlStateNormal];
@@ -202,7 +224,15 @@
     [self.contentView addSubview:divider];
  
 }
-
+- (void)setStarCount:(NSInteger)count
+{
+    self.starView.hidden = NO;
+    for (UIImageView * imageV in self.starView.subviews) {
+        if (imageV.tag <= count) {
+            imageV.image = IMG(@"comment_mix_star_black");
+        }
+    }
+}
 
 #pragma mark - 布局子控件
 - (void)_makeSubViewsConstraints

+ 4 - 0
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/MHTopicFrame.h

@@ -18,6 +18,10 @@
 
 /** 昵称frame */
 @property (nonatomic , assign , readonly) CGRect nicknameFrame;
+
+/** star */
+@property (nonatomic , assign , readonly) CGRect starFrame;
+
 /** 点赞frame */
 @property (nonatomic , assign , readonly) CGRect thumbFrame;
 

+ 19 - 4
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/MHTopicFrame.m

@@ -15,6 +15,9 @@
 /** 昵称frame */
 @property (nonatomic , assign) CGRect nicknameFrame;
 
+/** star*/
+@property (nonatomic , assign) CGRect starFrame;
+
 /** 点赞frame */
 @property (nonatomic , assign) CGRect thumbFrame;
 
@@ -77,14 +80,28 @@
 //    CGFloat thumbY = avatarY;
 //    CGFloat thumbH = moreH;
 //    self.thumbFrame = CGRectMake(thumbX, thumbY, thumbW, thumbH);
+    UILabel * label = [UILabel new];
+    label.font = Kfont(17);
+    label.text = topic.Name;
     
     // 昵称
     CGFloat nicknameX = CGRectGetMaxX(self.avatarFrame) + 12.f;
     CGFloat nicknameY = avatarY;
-    CGFloat nicknameW = CGRectGetMinX(self.thumbFrame) - nicknameX;
+    CGSize textLimitSize = CGSizeMake(width - nicknameX - 15, MAXFLOAT);
+    CGFloat nicknameW = [label sizeThatFits:textLimitSize].width;
+    if (nicknameW > 100) {
+        nicknameW = 100;
+    }
     CGFloat nicknameH = 20.f;
     self.nicknameFrame = CGRectMake(nicknameX, nicknameY, nicknameW, nicknameH);
     
+    
+    CGFloat starX = CGRectGetMaxX(self.nicknameFrame) + 12.f;
+    CGFloat starY = nicknameY + 5;
+    CGFloat starW = 58;
+    CGFloat starH = 10.f;
+    self.starFrame = CGRectMake(starX, starY, starW, starH);
+    
     // 时间
     CGFloat createX = nicknameX;
     CGFloat createY = CGRectGetMaxY(self.avatarFrame) - 10;
@@ -94,14 +111,12 @@
     
     // 内容
     CGFloat textX = nicknameX;
-    CGSize textLimitSize = CGSizeMake(width - textX - 15, MAXFLOAT);
+//    CGSize textLimitSize = CGSizeMake(width - textX - 15, MAXFLOAT);
     CGFloat textY = CGRectGetMaxY(self.createTimeFrame);
     CGFloat textH = [YYTextLayout layoutWithContainerSize:textLimitSize text:topic.attributedText].textBoundingSize.height + 25;
     
     self.textFrame = (CGRect){{textX , textY} , {textLimitSize.width, textH}};
     
-    
-    
     CGFloat tableViewX = textX;
     CGFloat tableViewY = CGRectGetMaxY(self.textFrame);
     CGFloat tableViewW = textLimitSize.width;

+ 2 - 2
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/TopicBookCell.m

@@ -66,8 +66,8 @@
                     imagV.center = supView.center;
                     imagV.contentMode = UIViewContentModeCenter;
                     imagV.image = [UIImage imageNamed: @"list_sort"];
-                    UILabel * label = [UILabel new];
-                    label.backgroundColor = UIColorHex(#EAEAEA);
+                    UIView * label = [UIView new];
+                    label.backgroundColor = UIColorHex(0xEEEEEE);
                     [supView addSubview:label];
                     [label setFrame:CGRectMake(0, supView.frame.size.height - 0.5, supView.frame.size.width, 0.5)];
                 }else{

+ 2 - 2
smartRhino/Project/VCModel/Home/OtherHomeVC/MyTDTopic/View/TopicGroupManageCell.m

@@ -52,8 +52,8 @@
                     imagV.center = supView.center;
                     imagV.contentMode = UIViewContentModeCenter;
                     imagV.image = [UIImage imageNamed: @"list_sort"];
-                    UILabel * label = [UILabel new];
-                    label.backgroundColor = UIColorHex(#EAEAEA);
+                    UIView * label = [UIView new];
+                    label.backgroundColor = UIColorHex(0xEEEEEE);
                     [supView addSubview:label];
                     [label setFrame:CGRectMake(0, supView.frame.size.height - 0.5, supView.frame.size.width, 0.5)];
                 }else{

+ 1 - 1
smartRhino/Project/VCModel/Home/VC/BookStore/BookDetail.storyboard

@@ -1296,7 +1296,7 @@
                                     <outlet property="height" destination="hT1-aV-il2" id="yb1-dW-Xuu"/>
                                 </connections>
                             </view>
-                            <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="plain" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="28" sectionFooterHeight="28" translatesAutoresizingMaskIntoConstraints="NO" id="idO-tB-THD">
+                            <tableView clipsSubviews="YES" contentMode="scaleToFill" alwaysBounceVertical="YES" showsHorizontalScrollIndicator="NO" showsVerticalScrollIndicator="NO" dataMode="prototypes" style="grouped" separatorStyle="none" rowHeight="-1" estimatedRowHeight="-1" sectionHeaderHeight="18" sectionFooterHeight="18" translatesAutoresizingMaskIntoConstraints="NO" id="idO-tB-THD">
                                 <rect key="frame" x="0.0" y="64" width="414" height="672"/>
                                 <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                 <connections>

Dosya farkı çok büyük olduğundan ihmal edildi
+ 115 - 123
smartRhino/Project/VCModel/Home/VC/BookStore/BookStore.storyboard


+ 3 - 0
smartRhino/Project/VCModel/Home/VC/BookStore/Model/BookMeidaModel.h

@@ -22,6 +22,9 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic,copy) NSString *        AddDate;
 @property (nonatomic,copy) NSString *        Press;
 @property (nonatomic,copy) NSString *        PublishTime;
+@property (nonatomic,copy) NSString *        JournalTime;
+@property (nonatomic,copy) NSString *        PressName;
+@property (nonatomic,copy) NSString *        JournalTypeString;
 @property (nonatomic,strong) NSArray*        BookCatalogResults;
 @property (nonatomic,strong) NSArray*        PraisePagedList;
 

+ 21 - 0
smartRhino/Project/VCModel/Home/VC/BookStore/Model/BookQiKanListModel.h

@@ -0,0 +1,21 @@
+//
+//  BookQiKanListModel.h
+//  smartRhino
+//
+//  Created by niuzhen on 2020/6/4.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import "BaseModel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface BookQiKanListModel : BaseModel
+@property (nonatomic, assign) NSInteger             JournalsCategory;
+@property (nonatomic, assign) NSInteger             Count;
+@property (nonatomic, copy) NSString              * JournalsYear;
+@property (nonatomic, copy) NSString              * Name;
+@property (nonatomic, strong) NSArray             * Item;
+@end
+
+NS_ASSUME_NONNULL_END

+ 13 - 0
smartRhino/Project/VCModel/Home/VC/BookStore/Model/BookQiKanListModel.m

@@ -0,0 +1,13 @@
+//
+//  BookQiKanListModel.m
+//  smartRhino
+//
+//  Created by niuzhen on 2020/6/4.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import "BookQiKanListModel.h"
+
+@implementation BookQiKanListModel
+
+@end

+ 18 - 0
smartRhino/Project/VCModel/Home/VC/BookStore/Model/BookQiKanNavModel.h

@@ -0,0 +1,18 @@
+//
+//  BookQiKanNavModel.h
+//  smartRhino
+//
+//  Created by niuzhen on 2020/6/4.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import "BaseModel.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface BookQiKanNavModel : BaseModel
+@property (nonatomic, copy) NSString              * JournalsYear;
+@property (nonatomic, strong) NSArray             * JournalsIssue;
+@end
+
+NS_ASSUME_NONNULL_END

+ 13 - 0
smartRhino/Project/VCModel/Home/VC/BookStore/Model/BookQiKanNavModel.m

@@ -0,0 +1,13 @@
+//
+//  BookQiKanNavModel.m
+//  smartRhino
+//
+//  Created by niuzhen on 2020/6/4.
+//  Copyright © 2020 tederen. All rights reserved.
+//
+
+#import "BookQiKanNavModel.h"
+
+@implementation BookQiKanNavModel
+
+@end

+ 1 - 0
smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookAllLookVC.h

@@ -12,6 +12,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface BookAllLookVC : BaseViewController
 @property (nonatomic, copy) NSString     * titleStr;
+@property (nonatomic, copy) NSString     * api;
 @property (nonatomic, assign) NSInteger    Id;
 +(BookAllLookVC *)initBookAllLookVC;
 @end

+ 157 - 54
smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookAllLookVC.m

@@ -12,16 +12,29 @@
 #import "BookMingSearchVC.h"
 #import "BookMingDetailVC.h"
 #import "BookAllLookCell.h"
+#import "IndexGoodBookCell.h"
+#import "HomeWeiCousreCell.h"
+#import "BookSubArticeCell.h"
+#import "HomeTeacherCell.h"
+#import "HomeMusicCell.h"
+#import "HomeSchoolCell.h"
+#import "HomeSubItemModel.h"
+#import "BookTeacherDetailVC.h"
+#import "BookWCDetailVC.h"
+#import "BookListenVC.h"
+#import "BookListDetailVC.h"
+#import "MyTDGroupView.h"
+#import "BookLabelSearchVC.h"
 
-@interface BookAllLookVC ()<UICollectionViewDelegate,UICollectionViewDataSource>
-@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
+@interface BookAllLookVC ()<UITableViewDelegate,UITableViewDataSource>
+@property (weak, nonatomic) IBOutlet UITableView *tableView;
 @property (weak, nonatomic) IBOutlet UIView      *HeadView;
 @property (weak, nonatomic) IBOutlet UILabel     *TitleL;
 @property (weak, nonatomic) IBOutlet NSLayoutConstraint *height;
 @property (weak, nonatomic) IBOutlet UIView      *LineV;
 @property (strong, nonatomic) MyTDGroupView             *SearchView;
 @property (strong, nonatomic) NSMutableArray            *dataArray;
-@property (copy, nonatomic)   FlowAttachmentsModel      *sendModel;
+@property (strong, nonatomic) FlowAttachmentsModel      *sendModel;
 @property (assign, nonatomic) BOOL                       isReturn;
 @property (assign, nonatomic) NSInteger                  currentPage;
 @property (assign, nonatomic) NSInteger                  totalPage;
@@ -43,10 +56,10 @@
 - (void)setTableRefresh
 {
     WS(weakSelf);
-    self.collectionView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
+    self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
         [weakSelf headRefresh];
     }];
-    self.collectionView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
+    self.tableView.mj_footer = [MJRefreshAutoNormalFooter footerWithRefreshingBlock:^{
         [weakSelf footerRefresh];
     }];
 }
@@ -63,8 +76,8 @@
     self.currentPage += 1;
     if (self.totalPage == self.dataArray.count) {
         self.currentPage --;
-        [self.collectionView.mj_footer endRefreshingWithNoMoreData];
-        self.collectionView.mj_footer.hidden = YES;
+        [self.tableView.mj_footer endRefreshingWithNoMoreData];
+        self.tableView.mj_footer.hidden = YES;
         return ;
     }
     [self getData];
@@ -80,13 +93,8 @@
     [super viewDidLoad];
     self.fd_prefersNavigationBarHidden = YES;
     self.view.backgroundColor = RGB(240, 239, 244);
-    self.collectionView.delegate = self;
-    self.collectionView.dataSource = self;
-    UICollectionViewFlowLayout * layout = [[UICollectionViewFlowLayout alloc]init];
-    layout.scrollDirection = UICollectionViewScrollDirectionVertical;
-    layout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);
-    [self.collectionView setCollectionViewLayout:layout];
-    self.collectionView.backgroundColor = [UIColor whiteColor];
+    self.tableView.delegate = self;
+    self.tableView.dataSource = self;
     [self.HeadView addSubview:self.SearchView];
     [self.SearchView  mas_makeConstraints:^(MASConstraintMaker *make) {
         make.top.mas_offset(6);
@@ -101,73 +109,168 @@
 //    }
     WS(weakSelf);
     [self.SearchView.button setAction:^{
-        BookMingSearchVC * vc = [[BookMingSearchVC alloc] init];
+        BookLabelSearchVC * vc = [[BookLabelSearchVC alloc] init];
         vc.Id = weakSelf.Id;
+        vc.api = weakSelf.api;
         [weakSelf.navigationController pushViewController:vc animated:YES];
     }];
     self.LineV.hidden = YES;
-    [self.collectionView registerNib:[UINib nibWithNibName:@"BookAllLookCell" bundle:nil] forCellWithReuseIdentifier:@"BookAllLookCell"];
     self.TitleL.text = self.titleStr;
     [self headRefresh];
 }
 - (void)getData
 {
     WS(weakSelf);
-    [[HttpManager sharedHttpManager] POSTUrl:Host(API_APP_PAGE_Attach_List) parameters:@{@"LableId":@(self.Id),@"page":@(self.currentPage),@"PerPage":@20} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+    SHOWLOADING
+    NSDictionary * paraDict = @{@"LableId":@(self.Id),
+                                @"Page":@(self.currentPage),
+                                @"PerPage":@(20),
+                                @"KeyWord":@""
+    };
+    NSString * url = [NSString stringWithFormat:@"%@/%@",BaseUrl,self.api];
+    [[HttpManager sharedHttpManager] POSTUrl:url parameters:paraDict responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+        REMOVESHOW
         NSLog(@"%@",responseObject);
-        if ([responseObject isKindOfClass:[NSDictionary class]]) {
-            for (NSDictionary * dict in responseObject[@"Items"]) {
+        if ([responseObject isKindOfClass:[NSArray class]]) {
+            for (NSDictionary * dict in responseObject) {
                 HomeSubItemModel * model = [HomeSubItemModel modelWithDictionary:dict];
                 [weakSelf.dataArray addObject:model];
             }
         }
-        weakSelf.totalPage = [responseObject[@"Total"] integerValue];
-        [weakSelf.collectionView.mj_header endRefreshing];
-        [weakSelf.collectionView.mj_footer endRefreshing];
+        NSArray * array = responseObject;
+        if (array.count < 20) {
+            [weakSelf.tableView.mj_footer endRefreshingWithNoMoreData];
+            weakSelf.tableView.mj_footer.hidden = YES;
+        }
+        [weakSelf.tableView.mj_footer endRefreshing];
         dispatch_async(dispatch_get_main_queue(), ^{
-            [weakSelf.collectionView reloadData];
+            [weakSelf.tableView reloadData];
         });
     } failure:^(NSError * _Nonnull error) {
-        
+        REMOVESHOW
     }];
 }
 
-- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
-{
-    return 0.f;
-}
-- (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumInteritemSpacingForSectionAtIndex:(NSInteger)section
-{
-    return 0.f;
-}
-- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
 {
     return self.dataArray.count;
 }
-- (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
-{
-    return 1;
-}
--(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
 {
-    return CGSizeMake(SCREEN_WIDTH, 120);
+    HomeSubItemModel * model = [self.dataArray objectAtIndex:indexPath.row];
+    switch ((CollectModelType)model.MediaType) {
+        case CollectModel_StoreBook:
+        {
+            IndexGoodBookCell * cell = [IndexGoodBookCell configCell0:tableView indexPath:indexPath];
+            [cell setDataWithModel:model searchText:@""];
+            if (self.dataArray.count == indexPath.row + 1) {
+                cell.lineV.hidden = YES;
+            }
+            return cell;
+        }
+            break;
+        case CollectModel_StoreVideo:
+        {
+            HomeWeiCousreCell * cell = [HomeWeiCousreCell configCell0:tableView indexPath:indexPath];
+            [cell setDataWithIndexModel:model searchText:@""];
+            if (self.dataArray.count == indexPath.row + 1) {
+                cell.lineV.hidden = YES;
+            }
+            return cell;
+        }
+            break;
+        case CollectModel_StoreSound:
+        {
+            HomeMusicCell * cell = [HomeMusicCell configCell:tableView indexPath:indexPath];
+            [cell setDataWithModel:model searchText:@""];
+            if (self.dataArray.count == indexPath.row + 1) {
+                cell.lineV.hidden = YES;
+            }
+            return cell;
+        }
+            break;
+        case CollectModel_Teacher:
+        {
+            HomeTeacherCell * cell = [HomeTeacherCell configCell:tableView indexPath:indexPath];
+            [cell setDataWithModel:model searchText:@""];
+            if (self.dataArray.count == indexPath.row + 1) {
+                cell.lineV.hidden = YES;
+            }
+            return cell;
+        }
+            break;
+        case CollectModel_Organization:
+        {
+            HomeSchoolCell * cell = [HomeSchoolCell configCell1:tableView indexPath:indexPath];
+            [cell setDataIndexModel:model searchText:@""];
+            if (self.dataArray.count == indexPath.row + 1) {
+                cell.lineV.hidden = YES;
+            }
+            return cell;
+        }
+            break;
+        default:
+        {
+            IndexGoodBookCell * cell = [IndexGoodBookCell configCell1:tableView indexPath:indexPath];
+            [cell setDataWithModel:model searchText:@""];
+            if (self.dataArray.count == indexPath.row + 1) {
+                cell.lineV.hidden = YES;
+            }
+            return cell;
+        }
+            break;
+    }
 }
 
-- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
-{
-    BookAllLookCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"BookAllLookCell" forIndexPath:indexPath];
-    HomeSubItemModel * model = [self.dataArray objectAtIndex:indexPath.item];
-    [cell setDataWithModel:model];
-    return cell;
-}
-- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
 {
-    HomeSubItemModel * model = [self.dataArray objectAtIndex:indexPath.item];
-    [collectionView deselectItemAtIndexPath:indexPath animated:YES];
-    BookMingDetailVC * vc = [BookMingDetailVC initBookMingDetailVC];
-    vc.gzId = model.Id;
-    vc.type = model.MediaType;
-    vc.titleStr = model.Title;
-    [self.navigationController pushViewController:vc animated:YES];
+    HomeSubItemModel * model = [self.dataArray objectAtIndex:indexPath.row];
+    [tableView deselectRowAtIndexPath:indexPath animated:YES];
+    switch ((CollectModelType)model.MediaType) {
+        case CollectModel_StoreBook:
+        {
+            BookListDetailVC * vc = [BookListDetailVC initBookListDetailVC];
+            vc.Id = model.Id;
+            [self.navigationController pushViewController:vc animated:YES];
+        }
+            break;
+        case CollectModel_StoreVideo:
+        {
+            BookWCDetailVC * vc = [BookWCDetailVC initBookWCDetailVC];
+            vc.Id = model.Id;
+            [self.navigationController pushViewController:vc animated:YES];
+        }
+            break;
+        case CollectModel_StoreSound:
+        {
+            BookListenVC * vc = [BookListenVC initBookListenVC];
+            vc.Id = model.Id;
+            vc.MediaType = MediaMusicType;
+            [self.navigationController pushViewController:vc animated:YES];
+        }
+            break;
+        case CollectModel_Teacher:
+        {
+            BookTeacherDetailVC * vc = [BookTeacherDetailVC initBookTeacherDetailVC];
+            vc.Id = model.Id;
+            [self.navigationController pushViewController:vc animated:YES];
+        }
+            break;
+        case CollectModel_Organization:
+        {
+            
+        }
+            break;
+        default:
+        {
+            MyTDTopicDetailVC * vc = [MyTDTopicDetailVC initMyTDTopicDetailVC];
+            vc.type = (CollectModelType)model.MediaType;
+            vc.Id = model.Id;
+            [self.navigationController pushViewController:vc animated:YES];
+        }
+            break;
+    }
 }
+
 @end
+

+ 21 - 5
smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookCommentVC.m

@@ -47,8 +47,6 @@
     self.fd_prefersNavigationBarHidden = YES;
     self.tableView.delegate = self;
     self.tableView.dataSource = self;
-    self.tableView.tableHeaderView = self.commentView;
-    self.tableView.sectionHeaderHeight = 255.f;
     self.index = 0;
     [self.commentView getDataId:self.Id type:self.type];
     WS(weakSelf);
@@ -57,6 +55,7 @@
         [weakSelf headRefresh];
     };
     [self.commentView.commentBtn setAction:^{
+        [weakSelf.commentInputView setPlaceText:@""];
         [weakSelf.commentInputView startEditing];
         weakSelf.commentInputView.inputBlock = ^(NSString * _Nonnull content) {
             [weakSelf sendCommentToServerWithcontent:content];
@@ -204,6 +203,22 @@
 {
     return self.commentArray.count;
 }
+- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
+{
+    return 255.f;
+}
+- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
+{
+    return 0.01f;
+}
+- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
+{
+    return self.commentView;
+}
+- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
+{
+    return [UIView new];
+}
 - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
 {
     MHTopicFrame *topicFrame = self.commentArray[indexPath.row];
@@ -221,15 +236,16 @@
     cell.backgroundColor = [UIColor whiteColor];
     MHTopicFrame *topicFrame = self.commentArray[indexPath.row];
     cell.topicFrame = topicFrame;
+    [cell setStarCount:(topicFrame.topic.Score / 2)];
     cell.createTimeLabel.text = [NSString stringWithFormat:@"%@ %@",topicFrame.topic.FloorCount,topicFrame.topic.CreatedTime];
     [cell.thumbBtn setAction:^{
         [weakSelf gotoZanCommentHanderModel:topicFrame.topic indexPath:indexPath];
     }];
     cell.replyContentBlock = ^{
         [weakSelf replyCommentName:topicFrame.topic.Name andId:[NSString stringWithFormat:@"%ld",(long)topicFrame.topic.Id]];
-        if (topicFrame.topic.UserId != [AppUserModel sharedAppUserModel].Id) {
-            [weakSelf replyCommentName:topicFrame.topic.Name andId:[NSString stringWithFormat:@"%ld",(long)topicFrame.topic.Id]];
-        }
+//        if (topicFrame.topic.UserId != [AppUserModel sharedAppUserModel].Id) {
+//            [weakSelf replyCommentName:topicFrame.topic.Name andId:[NSString stringWithFormat:@"%ld",(long)topicFrame.topic.Id]];
+//        }
     };
     __block MHTopicCell * bCell = cell;
     cell.longBlock = ^{

+ 1 - 1
smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookContentNavVC.m

@@ -1053,7 +1053,7 @@
             }];
             [self.endBtn setAction:^{
                 NSString * time = weakSelf.endTime.length > 0 ? weakSelf.endTime : [weakSelf stringToDate:[NSDate date]];
-                [weakSelf choseDate:weakSelf.endTime isBegin:NO];
+                [weakSelf choseDate:time isBegin:NO];
             }];
             return view;
         }

+ 17 - 11
smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookMingDetailVC.m

@@ -328,19 +328,25 @@
     }];
     /// 评论按钮
     WS(weakSelf);
-//    UIButton * commentBtn = [UIButton new];
-//    [view addSubview:commentBtn];
-//    [commentBtn mas_makeConstraints:^(MASConstraintMaker *make) {
-//        make.top.left.mas_equalTo(pingfenL);
-//        make.right.mas_equalTo(startView);
-//        make.bottom.mas_equalTo(pingNumL);
-//    }];
-//    [commentBtn setAction:^{
+    UIButton * commentBtn = [UIButton new];
+    [view addSubview:commentBtn];
+    [commentBtn mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.left.mas_equalTo(pingfenL);
+        make.right.mas_equalTo(startView);
+        make.bottom.mas_equalTo(pingNumL);
+    }];
+    [commentBtn setAction:^{
+        if (weakSelf.type == MediaMingType) {
+            BookCommentVC * vc = [BookCommentVC initBookCommentVC];
+            vc.Id = weakSelf.gzId;
+            vc.type = weakSelf.type;
+            [weakSelf.navigationController pushViewController:vc animated:YES];
+        }
 //        BookCommentVC * vc = [BookCommentVC initBookCommentVC];
 //        vc.Id = weakSelf.gzId;
 //        vc.type = weakSelf.type;
 //        [weakSelf.navigationController pushViewController:vc animated:YES];
-//    }];
+    }];
     
     UILabel * readL = [UILabel new];
     [view addSubview:readL];
@@ -641,7 +647,7 @@
                 NSMutableDictionary *dic = [[NSMutableDictionary alloc]init];
                 [dic setValue:@(weakSelf.gzId) forKey:@"CollectionDataId"];
                 ///     1文章 2话题 3 收藏 4笔记 5通知 6站内信 7小组 8 会议详情 14工作流审批 300 文件 400 会议纪要
-                [dic setValue:@(CollectModel_Ming) forKey:@"CollectionType"];
+                [dic setValue:@(CollectModel_StoreMing) forKey:@"CollectionType"];
                 [dic setValue:@(0) forKey:@"FolderId"];
                 [dic setValue:@(0) forKey:@"SourceUserId"];
                 dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
@@ -677,7 +683,7 @@
     //NSInteger meetId = [self.dataDict[@"MeetingId"] integerValue];
     vc.CollectionDataId = self.gzId;
     vc.collectType = CollectHanderType_Collect;
-    vc.CollectionType = CollectModel_Ming;
+    vc.CollectionType = CollectModel_StoreMing;
     vc.ParentId = 0;
     vc.titleStr = @"我的收藏";
     vc.TypeId = CreateCollectionType;

+ 1 - 1
smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookMingVC.m

@@ -46,7 +46,7 @@
 @property (weak, nonatomic) IBOutlet UILabel     *TitleL;
 @property (strong, nonatomic) MyTDGroupView             *SearchView;
 @property (strong, nonatomic) NSMutableArray            *dataArray;
-@property (copy, nonatomic)   FlowAttachmentsModel      *sendModel;
+@property (strong, nonatomic) FlowAttachmentsModel      *sendModel;
 @property (assign, nonatomic) BOOL                       isReturn;
 @end
 

+ 3 - 1
smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookPeriodicaDetailVC.h

@@ -11,7 +11,9 @@
 
 NS_ASSUME_NONNULL_BEGIN
 
-@interface BookPeriodicaDetailVC : WMZPageController
+@interface BookPeriodicaDetailVC : BaseViewController
+@property (assign, nonatomic) NSInteger      Id;
+@property (copy, nonatomic) NSString        *titleStr;
 +(BookPeriodicaDetailVC *)initBookPeriodicaDetailVC;
 @end
 

+ 316 - 168
smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookPeriodicaDetailVC.m

@@ -9,14 +9,17 @@
 #import "BookPeriodicaDetailVC.h"
 #import "TabBarController.h"
 #import "DrawerView.h"
-#import "BookSubPeriodicaVC.h"
 #import "BookIntroductionVC.h"
 #import "BookPeriodicaListVC.h"
+#import "BookQiKanListModel.h"
+#import "HomeSubItemModel.h"
+#import "BookMeidaModel.h"
+#import "BookSubPeriodicaCell.h"
+#import "MoveViewController.h"
+#import "BookCommentVC.h"
 
-@interface BookPeriodicaDetailVC ()
+@interface BookPeriodicaDetailVC ()<UITableViewDelegate,UITableViewDataSource>
 @property (weak, nonatomic) IBOutlet UIView *navBar;
-@property (weak, nonatomic) IBOutlet UIButton *backBtn;
-@property (weak, nonatomic) IBOutlet UIButton *menuBtn;
 @property (weak, nonatomic) IBOutlet UIButton *shareBtn;
 @property (weak, nonatomic) IBOutlet UILabel *titleL;
 @property (weak, nonatomic) IBOutlet UIView *bottomView;
@@ -25,6 +28,9 @@
 @property (strong,nonatomic) UIButton        *moreBtn;
 @property (strong,nonatomic) UIButton        *listBtn;
 @property (strong,nonatomic) UIView          *moreV;
+@property (strong,nonatomic) UITableView     *tableView;
+@property (strong,nonatomic) NSMutableArray  *dataArray;
+@property (strong,nonatomic) BookMeidaModel  *model;
 @end
 
 @implementation BookPeriodicaDetailVC
@@ -38,140 +44,74 @@
     }
     return _drawerView;
 }
+- (NSMutableArray *)dataArray
+{
+    if (!_dataArray) {
+        _dataArray = [NSMutableArray array];
+    }
+    return _dataArray;
+}
+- (UITableView *)tableView
+{
+    if (!_tableView) {
+        _tableView = [[UITableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped];
+        _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
+        _tableView.delegate = self;
+        _tableView.dataSource = self;
+    }
+    return _tableView;
+}
 - (void)viewDidLoad {
     [super viewDidLoad];
     self.fd_prefersNavigationBarHidden = YES;
-    self.titleL.text = @"经济研究";
-    WS(weakSelf);
-    [self.backBtn setAction:^{
-        [weakSelf.navigationController popViewControllerAnimated:YES];
-    }];
-    [self.menuBtn setAction:^{
-        [weakSelf.view endEditing:YES];
-        [[UtilsTools getWindow] addSubview:weakSelf.drawerView];
-        self.drawerView.SelectDrawerBlock = ^(NSIndexPath * _Nonnull indexPath) {
-            if (![weakSelf.tabBarController isKindOfClass:[TabBarController class]]) {
-                [TabBarController sharedTabBarController].tabBar.hidden = NO;
-                [weakSelf.tabBarController.navigationController popViewControllerAnimated:NO];
-            }
-            if ([weakSelf.navigationController.viewControllers count] > 1) {
-                [weakSelf.navigationController popToRootViewControllerAnimated:NO];
-            }
-            switch (indexPath.section) {
-                case 0:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:indexPath.row];
-                }
-                    break;
-                case 1:
-                {
-                    switch (indexPath.row) {
-                        case 0:
-                        {
-                            [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                        }
-                            break;
-                        case 1:
-                        {
-                            [[TabBarController sharedTabBarController] setSelectedIndex:2];
-                        }
-                            break;
-                        default:
-                        {
-                            [[TabBarController sharedTabBarController] setSelectedIndex:3];
-                        }
-                            break;
-                    }
-                    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-                        [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(indexPath.row)}];
-                    });
-                }
-                    break;
-                default:
-                {
-                    [[TabBarController sharedTabBarController] setSelectedIndex:3];
-                    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-                        [[NSNotificationCenter defaultCenter] postNotificationName:DRAWERPUSHVC object:nil userInfo:@{VCINDEX:@(4 + indexPath.row)}];
-                    });
-                }
-                    break;
-            }
-        };
-        weakSelf.drawerView.frame = CGRectMake(0,0, SCREEN_WIDTH, SCREEN_HEIGHT);// - kNavigationHeight
+    self.titleL.text = self.titleStr;
+    [self.view addSubview:self.tableView];
+    [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.right.mas_equalTo(self.view);
+        make.top.mas_equalTo(self.navBar.mas_bottom);
+        make.bottom.mas_equalTo(self.bottomView.mas_top);
     }];
-
-    WMZPageParam *param = PageParam()
-    .wTitleArrSet(@[@"文章"])
-    .wControllersSet(@[[BookSubPeriodicaVC new]])
-    //固定在所有子控制器底部  需要放在第一个控制器里 例如此例子
-    .wFixFirstSet(NO)
-    //悬浮开启
-    .wTopSuspensionSet(YES)
-    //等分
-    .wMenuTitleWidthSet(PageVCWidth)
-    .wTopOffsetSet(-NAVH)
-    .wFromNaviSet(YES)
-    .wMenuAnimalSet(PageTitleMenuNone)
-    .wMenuTitleFontSet(16.f)
-    .wMenuTitleSelectColorSet(UIColorHex(0x3979D3))
-    .wMenuIndicatorHeightSet(1.f)
-    .wMenuIndicatorWidthSet(33.f)
-    .wMenuIndicatorYSet(12.f)
-    .wMenuIndicatorColorSet(UIColorHex(0x3979D3))
-    .wMenuTitleColorSet(UIColorHex(0x666666))
-    .wMenuTitleSelectFontSet(16.f)
-    //头部
-    .wMenuHeadViewSet(^UIView *{
-        return [weakSelf setHeadView];
-    });
-    self.param = param;
-    [self.bottomView layoutIfNeeded];
-    CGFloat height = CGRectGetMinY(self.bottomView.frame) - self.navigationController.navigationBar.frame.size.height;
-    dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
-        dispatch_async(dispatch_get_main_queue(), ^{
-            for (UIView * view in weakSelf.view.subviews) {
-                if ([view isKindOfClass:[WMZPageScroller class]]) {
-                    [view setFrame:CGRectMake(0, NAVH, SCREEN_WIDTH, height)];
-                }
-            }
-            [weakSelf setListView];
-            [weakSelf setBtnView];
-        });
-    });
+    [self getData];
+    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(collectSuccess) name:COLLECTSUCCESS object:nil];
 }
-- (void)setListView
+- (void)dealloc
+{
+    [[NSNotificationCenter defaultCenter] removeObserver:self];
+}
+- (void)getData
 {
-    [self.upSc.mainView removeAllSubviews];
-    CGRect rect = self.upSc.mainView.frame;
-    rect.size.height = 45.f;
-    [self.upSc.mainView setFrame:rect];
-    UIView * view = [UIView new];
-    view.backgroundColor = [UIColor whiteColor];
-    [self.upSc.mainView addSubview:view];
-    [view mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.left.top.mas_equalTo(self.upSc.mainView);
-        make.size.mas_offset(CGSizeMake(SCREEN_WIDTH, 45));
-    }];
-    
-    [view addSubview:self.listBtn];
     WS(weakSelf);
-    [self.listBtn setAction:^{
-        BookPeriodicaListVC * vc = [BookPeriodicaListVC initBookPeriodicaListVC];
-        [weakSelf.navigationController pushViewController:vc animated:YES];
-    }];
-    [self.listBtn mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.right.mas_offset(-15);
-        make.centerY.mas_equalTo(view);
+    [self.dataArray removeAllObjects];
+    NSString * url = [NSString stringWithFormat:@"%@%ld",Host(API_APP_PAGE_Attach),self.Id];
+    NSString * listUrl = [NSString stringWithFormat:@"%@%ld",Host(API_APP_Media_Journals),self.Id];
+    [[HttpManager sharedHttpManager] GETUrl:url parameters:@{} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+        NSLog(@"%@",responseObject);
+        weakSelf.model = [BookMeidaModel modelWithDictionary:responseObject];
+        [[HttpManager sharedHttpManager] GETUrl:listUrl parameters:@{} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+            if ([responseObject isKindOfClass:[NSArray class]]) {
+                for (NSDictionary *dict in responseObject) {
+                    BookQiKanListModel * model = [BookQiKanListModel modelWithDictionary:dict];
+                    NSMutableArray * array = [NSMutableArray array];
+                    for (NSDictionary * subDict in model.Item) {
+                        HomeSubItemModel * smodel = [HomeSubItemModel modelWithDictionary:subDict];
+                        [array addObject:smodel];
+                    }
+                    model.Item = array.mutableCopy;
+                    [weakSelf.dataArray addObject:model];
+                }
+                dispatch_async(dispatch_get_main_queue(), ^{
+                    weakSelf.tableView.tableHeaderView = [weakSelf setHeadView];
+                    weakSelf.tableView.tableHeaderView.height = 555.f;
+                    [weakSelf setBtnView];
+                    [weakSelf.tableView reloadData];
+                });
+            }
+        } failure:^(NSError * _Nonnull error) {
+            
+        }];
+    } failure:^(NSError * _Nonnull error) {
+        
     }];
-    UILabel * label = [UILabel new];
-    label.text = @"目录";
-    label.textColor = UIColorHex(0x222222);
-    label.font = Kfont(16);
-    [view addSubview:label];
-    [label mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.left.mas_offset(15);
-        make.centerY.mas_equalTo(view);
-    }];;
 }
 - (UILabel *)contentL
 {
@@ -193,16 +133,7 @@
     }
     return _moreBtn;
 }
-- (UIButton *)listBtn
-{
-    if (!_listBtn) {
-        _listBtn = [UIButton new];
-        [_listBtn setTitle:@"刊期导览" forState:UIControlStateNormal];
-        [_listBtn setTitleColor:UIColorHex(0x3979D3) forState:UIControlStateNormal];
-        _listBtn.titleLabel.font = [UIFont systemFontOfSize:15];
-    }
-    return _listBtn;
-}
+
 - (UIView *)moreV
 {
     if (!_moreV) {
@@ -213,7 +144,7 @@
 }
 - (UIView *)setHeadView
 {
-    UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 510)];
+    UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 555)];
     view.backgroundColor = UIColorHex(0xFFFFFF);
     UIView * subView = [UIView new];
     subView.backgroundColor = UIColorHex(0xF3F3F5);
@@ -229,11 +160,11 @@
         make.size.mas_offset(CGSizeMake(133,182));
         make.centerX.mas_equalTo(subView);
     }];
-    imagV.image = IMG(@"img_placeHolder");
-    imagV.contentMode = UIViewContentModeScaleAspectFit;
+    [imagV sd_setImageWithURL:[NSURL URLWithString:self.model.ImageUrl] placeholderImage:IMG(@"img_placeHolder")];
+    imagV.contentMode = UIViewContentModeScaleToFill;
     UILabel * bookL = [UILabel new];
     [subView addSubview:bookL];
-    bookL.text = @"经济研究";
+    bookL.text = self.model.Name;
     bookL.textColor = UIColorHex(0x0a0a0a);
     bookL.font = [UIFont systemFontOfSize:22];
     [bookL mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -242,7 +173,7 @@
     }];
     UILabel * subBookL = [UILabel new];
     [subView addSubview:subBookL];
-    subBookL.text = @"中国社会科学院经济研究所";
+    subBookL.text = self.model.PressName;
     subBookL.textColor = UIColorHex(0x666666);
     subBookL.font = [UIFont systemFontOfSize:14];
     [subBookL mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -251,12 +182,22 @@
     }];
     UILabel * nameL = [UILabel new];
     [subView addSubview:nameL];
-    nameL.text = @"月刊       1995年";
+    nameL.text = self.model.JournalTypeString;
     nameL.textColor = UIColorHex(0x666666);
     nameL.font = [UIFont systemFontOfSize:14];
     [nameL mas_makeConstraints:^(MASConstraintMaker *make) {
         make.top.mas_equalTo(subBookL.mas_bottom).offset(12);
-        make.centerX.mas_equalTo(subView);
+        make.right.mas_equalTo(subView.mas_centerX).mas_offset(-20);
+    }];
+    
+    UILabel * timeL = [UILabel new];
+    [subView addSubview:timeL];
+    timeL.text = [NSString stringWithFormat:@"%@年",[self.model.JournalTime substringToIndex:4]];
+    timeL.textColor = UIColorHex(0x666666);
+    timeL.font = [UIFont systemFontOfSize:14];
+    [timeL mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.mas_equalTo(subBookL.mas_bottom).offset(12);
+        make.left.mas_equalTo(subView.mas_centerX).mas_offset(20);
     }];
     
     UIView * startView = [UIView new];
@@ -277,7 +218,7 @@
     }
     UILabel * pingfenL = [UILabel new];
     [view addSubview:pingfenL];
-    pingfenL.text = @"7.5";
+    pingfenL.text = [NSString stringWithFormat:@"%.1f",self.model.CommentScore];
     pingfenL.textColor = UIColorHex(0x666666);
     pingfenL.font = [UIFont systemFontOfSize:24];
     [pingfenL mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -287,7 +228,7 @@
     
     UILabel * numL = [UILabel new];
     [view addSubview:numL];
-    numL.text = @"2156";
+    numL.text = [NSString stringWithFormat:@"%ld",self.model.ReadCount];
     numL.textColor = UIColorHex(0x666666);
     numL.font = [UIFont systemFontOfSize:24];
     [numL mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -306,7 +247,7 @@
     
     UILabel * pingNumL = [UILabel new];
     [view addSubview:pingNumL];
-    pingNumL.text = @"16953人点评";
+    pingNumL.text = [NSString stringWithFormat:@"%ld人点评",self.model.CommentCount];
     pingNumL.textColor = UIColorHex(0x99A0AA);
     pingNumL.font = [UIFont systemFontOfSize:11];
     [pingNumL mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -314,9 +255,25 @@
         make.top.mas_equalTo(pingfenL.mas_bottom).offset(11);
     }];
     
+    /// 评论按钮
+    WS(weakSelf);
+    UIButton * commentBtn = [UIButton new];
+    [view addSubview:commentBtn];
+    [commentBtn mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.left.mas_equalTo(pingfenL);
+        make.right.mas_equalTo(startView);
+        make.bottom.mas_equalTo(pingNumL);
+    }];
+    [commentBtn setAction:^{
+        BookCommentVC * vc = [BookCommentVC initBookCommentVC];
+        vc.Id = weakSelf.Id;
+        vc.type = MediaQikanType;
+        [weakSelf.navigationController pushViewController:vc animated:YES];
+    }];
+    
     UILabel * readL = [UILabel new];
     [view addSubview:readL];
-    readL.text = @"阅读此名栏";
+    readL.text = @"阅读此";
     readL.textColor = UIColorHex(0x99A0AA);
     readL.font = [UIFont systemFontOfSize:11];
     [readL mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -325,7 +282,7 @@
     }];
     
     [view addSubview:self.contentL];
-    [self setLabelwithText:@"今年春考语文卷命题紧密对接高中育人方式改革,试卷难易适中今年春考语文卷命题紧密对接高中育人方式改革,试卷难易适中"];
+    [self setLabelwithText:self.model.Summary];
     [self.contentL mas_makeConstraints:^(MASConstraintMaker *make) {
         make.left.mas_offset(40);
         make.right.mas_offset(-40);
@@ -342,13 +299,15 @@
         make.left.right.mas_equalTo(self.moreBtn);
         make.height.mas_offset(0.5);
     }];
-    WS(weakSelf);
+
     [self.moreBtn setAction:^{
         BookIntroductionVC * vc = [BookIntroductionVC initBookIntroductionVC];
+        vc.content = weakSelf.model.Summary;
         [weakSelf.navigationController pushViewController:vc animated:YES];
     }];
     UITapGestureRecognizer * tap = [[UITapGestureRecognizer alloc] initWithActionBlock:^(id  _Nonnull sender) {
         BookIntroductionVC * vc = [BookIntroductionVC initBookIntroductionVC];
+        vc.content = weakSelf.model.Summary;
         [weakSelf.navigationController pushViewController:vc animated:YES];
     }];
     self.contentL.userInteractionEnabled = YES;
@@ -362,20 +321,21 @@
         make.top.mas_equalTo(self.contentL.mas_bottom).offset(24);
     }];
     
-    UILabel * moneyL = [UILabel new];
-     [view addSubview:moneyL];
-     moneyL.text = @"¥4.50";
-     moneyL.textColor = UIColorHex(0x666666);
-     moneyL.font = [UIFont systemFontOfSize:12];
-     [moneyL mas_makeConstraints:^(MASConstraintMaker *make) {
-         make.left.mas_equalTo(buyImgV.mas_right).offset(6);
-         make.centerY.mas_equalTo(buyImgV);
-     }];
+    UIButton * moneyBtn = [UIButton new];
+    [view addSubview:moneyBtn];
+    [moneyBtn setTitle:[NSString stringWithFormat:@"¥%.2f",self.model.IosPrice] forState:UIControlStateNormal];
+    [moneyBtn setTitleColor:UIColorHex(0x666666) forState:UIControlStateNormal];
+    moneyBtn.titleLabel.font = Kfont(12);
+    [moneyBtn mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.mas_equalTo(buyImgV.mas_right).offset(6);
+        make.centerY.mas_equalTo(buyImgV);
+    }];
+    
     UILabel * mlineL = [UILabel new];
     [view addSubview:mlineL];
     mlineL.backgroundColor = UIColorHex(0x666666);
     [mlineL mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.left.right.centerY.mas_equalTo(moneyL);
+        make.left.right.centerY.mas_equalTo(moneyBtn);
         make.height.mas_offset(1);
     }];
     UILabel * wxkL = [UILabel new];
@@ -384,8 +344,8 @@
     wxkL.textColor = UIColorHex(0x666666);
     wxkL.font = [UIFont systemFontOfSize:12];
     [wxkL mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.left.mas_equalTo(moneyL.mas_right).offset(28);
-        make.centerY.mas_equalTo(moneyL);
+        make.left.mas_equalTo(moneyBtn.mas_right).offset(28);
+        make.centerY.mas_equalTo(moneyBtn);
     }];
 
     UIButton * btn = [self createBtn];
@@ -395,13 +355,59 @@
         make.centerY.mas_equalTo(buyImgV);
         make.size.mas_offset(CGSizeMake(78.5, 22.5));
     }];
+
+    
+    UIView * listV = [UIView new];
+    [view addSubview:listV];
+    listV.backgroundColor = UIColorHex(0xFFFFFF);
+    [listV mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.bottom.right.mas_equalTo(view);
+        make.height.mas_offset(45);
+    }];
+
     UIView * bottomView = [UIView new];
     bottomView.backgroundColor = UIColorHex(0xF8F9FB);
     [view addSubview:bottomView];
     [bottomView mas_makeConstraints:^(MASConstraintMaker *make) {
-        make.left.bottom.right.mas_equalTo(view);
+        make.left.right.mas_equalTo(view);
+        make.bottom.mas_equalTo(listV.mas_top);
         make.height.mas_offset(10);
     }];
+    
+    UILabel * listL = [UILabel new];
+    listL.font = Kfont(16);
+    listL.textColor = UIColorHex(0x222222);
+    listL.text = @"目录";
+    [view addSubview:listL];
+    [listL mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.centerY.mas_equalTo(listV);
+        make.left.mas_offset(15);
+    }];
+    
+    UIButton * listBtn = [UIButton new];
+    [listBtn setTitle:@"刊期导览" forState:UIControlStateNormal];
+    listBtn.titleLabel.font = Kfont(16);
+    [listBtn setTitleColor:UIColorHex(0x3A7AD3) forState:UIControlStateNormal];
+    
+    [listV addSubview:listBtn];
+    [listBtn mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.right.mas_offset(-15);
+        make.centerY.mas_equalTo(listV);
+    }];
+    [listBtn setAction:^{
+        BookPeriodicaListVC * vc = [BookPeriodicaListVC initBookPeriodicaListVC];
+        vc.Id = weakSelf.Id;
+        vc.ClickIndexBlock = ^(NSInteger index) {
+            dispatch_async(dispatch_get_main_queue(), ^{
+                BookQiKanListModel * model = [weakSelf.dataArray objectAtIndex:index];
+                if (model.Item.count > 0) {
+                    NSIndexPath *indexPath = [NSIndexPath indexPathForRow:0 inSection:index];
+                    [weakSelf.tableView scrollToRowAtIndexPath:indexPath atScrollPosition:UITableViewScrollPositionNone animated:YES];
+                }
+            });
+        };
+        [weakSelf.navigationController pushViewController:vc animated:YES];
+    }];
     return view;
 }
 - (UIButton *)createBtn
@@ -500,7 +506,7 @@
 - (void)setBtnView
 {
     [self.bottomView removeAllSubviews];
-    NSArray * array = @[@"听",@"免费阅读",@"收藏"];
+    NSArray * array = @[@"听",@"免费阅读",self.model.IsCollect ? @"已收藏" : @"收藏"];
     for (NSInteger i = 0; i < array.count; i ++) {
         UIButton * btn = [UIButton new];
         btn.tag = i;
@@ -519,7 +525,149 @@
 }
 - (void)clickBtnAction:(UIButton *)sender
 {
-    
+    switch (sender.tag) {
+        case 0:
+        {
+            
+        }
+            break;
+        case 1:
+        {
+            
+        }
+            break;
+        default:
+        {
+            [self collectAction];
+        }
+            break;
+    }
+}
+
+#pragma mark - UItableDelegate
+- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
+{
+    return self.dataArray.count;
+}
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
+{
+    BookQiKanListModel * model = [self.dataArray objectAtIndex:section];
+    return model.Item.count;
+}
+- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
+{
+    return 31.f;
+}
+- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section
+{
+    return 0.01f;
+}
+- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
+{
+    BookQiKanListModel * model = [self.dataArray objectAtIndex:section];
+    UIView * view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, 31)];
+    view.backgroundColor = UIColorHex(0xF5F5F5);
+    UILabel * label = [UILabel new];
+    [view addSubview:label];
+    label.text = model.Name;
+    label.textColor = UIColorHex(0x999999);
+    label.font = Kfont(13);
+    [label mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.mas_offset(15);
+        make.centerY.mas_equalTo(view);
+    }];
+    return view;
+}
+- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section
+{
+    return [UIView new];
+}
+- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    return UITableViewAutomaticDimension;
+}
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    BookQiKanListModel * model = [self.dataArray objectAtIndex:indexPath.section];
+    HomeSubItemModel * smodel = [model.Item objectAtIndex:indexPath.row];
+    BookSubPeriodicaCell * cell = [BookSubPeriodicaCell configCell:tableView indexPath:indexPath];
+    [cell setDataWithModel:smodel];
+    return cell;
+}
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
+{
+    BookQiKanListModel * model = [self.dataArray objectAtIndex:indexPath.section];
+    HomeSubItemModel * smodel = [model.Item objectAtIndex:indexPath.row];
+    [tableView deselectRowAtIndexPath:indexPath animated:YES];
+    MyTDTopicDetailVC * vc = [MyTDTopicDetailVC initMyTDTopicDetailVC];
+    vc.Id = smodel.Id;
+    vc.type = smodel.MediaType;
+    [self.navigationController pushViewController:vc animated:YES];
+}
+
+
+#pragma mark - Collection
+- (void)collectAction
+{
+    WS(weakSelf);
+    if (self.model.IsCollect) {
+        dispatch_async(dispatch_get_main_queue(), ^{
+            UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"真的取消收藏吗?" message:nil preferredStyle:UIAlertControllerStyleAlert];
+            UIAlertAction *actionYes = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
+                NSMutableDictionary *dic = [[NSMutableDictionary alloc]init];
+                [dic setValue:@(weakSelf.Id) forKey:@"CollectionDataId"];
+                ///     1文章 2话题 3 收藏 4笔记 5通知 6站内信 7小组 8 会议详情 14工作流审批 300 文件 400 会议纪要
+                [dic setValue:@(CollectModel_StoreQiKan) forKey:@"CollectionType"];
+                [dic setValue:@(0) forKey:@"FolderId"];
+                [dic setValue:@(0) forKey:@"SourceUserId"];
+                dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+                    [[HttpManager sharedHttpManager] PUTUrl:Host(API_CreateCollect) parameters:dic success:^(id  _Nonnull responseObject) {
+                        weakSelf.model.IsCollect = NO;
+                        for (UIButton * btn in weakSelf.bottomView.subviews) {
+                            if (btn.tag == 2) {
+                                [btn setTitle:@"收藏" forState:UIControlStateNormal];
+                            }
+                        }
+                    } failure:^(NSError * _Nonnull error) {
+
+                    }];
+                });
+            }];
+            UIAlertAction *actionNo = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) {
+
+            }];
+            [alert addAction:actionYes];
+            [alert addAction:actionNo];
+            [weakSelf presentViewController:alert animated:YES completion:^{
+                
+            }];
+        });
+    }else{
+        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
+            [weakSelf gotoCollectHander];
+        });
+    }
+}
+- (void)gotoCollectHander{
+    MoveViewController *vc = [MoveViewController initMoveViewController];
+    vc.CollectionDataId = self.Id;
+    vc.collectType = CollectHanderType_Collect;
+    vc.CollectionType = CollectModel_StoreQiKan;
+    vc.ParentId = 0;
+    vc.titleStr = @"我的收藏";
+    vc.TypeId = CreateCollectionType;
+    vc.FolderIds = @[].mutableCopy;
+    //    收藏类型 1文章 2话题 3 收藏 4笔记 5通知 6站内信 7小组 8 会议详情 14工作流审批 300 文件 400 会议纪要
+    [self.navigationController pushViewController:vc animated:YES];
+}
+- (void)collectSuccess
+{
+    self.model.IsCollect = YES;
+    for (UIButton * btn in self.bottomView.subviews) {
+        if (btn.tag == 2) {
+            [btn setTitle:@"已收藏" forState:UIControlStateNormal];
+        }
+    }
 }
 @end
 

+ 2 - 0
smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookPeriodicaListVC.h

@@ -11,6 +11,8 @@
 NS_ASSUME_NONNULL_BEGIN
 
 @interface BookPeriodicaListVC : BaseViewController
+@property (nonatomic, assign) NSInteger  Id;
+@property (nonatomic, copy) void(^ClickIndexBlock)(NSInteger index);
 +(BookPeriodicaListVC *)initBookPeriodicaListVC;
 @end
 

+ 54 - 5
smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookPeriodicaListVC.m

@@ -9,12 +9,14 @@
 #import "BookPeriodicaListVC.h"
 #import "MyTDGroupView.h"
 #import "BookPeriodicaListCell.h"
+#import "BookQiKanNavModel.h"
 
 @interface BookPeriodicaListVC ()<UICollectionViewDelegate,UICollectionViewDataSource,UICollectionViewDelegateFlowLayout>
 @property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
 @property (weak, nonatomic) IBOutlet UIView      *HeadView;
 @property (weak, nonatomic) IBOutlet UILabel     *TitleL;
-@property (strong, nonatomic) MyTDGroupView             *SearchView;
+@property (strong, nonatomic) MyTDGroupView      *SearchView;
+@property (strong, nonatomic) NSMutableArray     *dataArray;
 @end
 
 @implementation BookPeriodicaListVC
@@ -29,6 +31,13 @@
     }
     return _SearchView;
 }
+- (NSMutableArray *)dataArray
+{
+    if (!_dataArray) {
+        _dataArray = [NSMutableArray array];
+    }
+    return _dataArray;
+}
 - (void)viewDidLoad {
     [super viewDidLoad];
     self.fd_prefersNavigationBarHidden = YES;
@@ -48,6 +57,27 @@
     }];
     [self.collectionView registerNib:[UINib nibWithNibName:@"BookPeriodicaListCell" bundle:nil] forCellWithReuseIdentifier:@"BookPeriodicaListCell"];
     [self.collectionView registerClass:[UICollectionReusableView class] forSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"headReusableView"];
+    [self getData];
+}
+- (void)getData
+{
+    WS(weakSelf);
+    [self.dataArray removeAllObjects];
+    NSString * url = [NSString stringWithFormat:@"%@%ld",Host(API_APP_Media_Journals_Category),self.Id];
+    [[HttpManager sharedHttpManager] GETUrl:url parameters:@{} responseStyle:JOSN success:^(id  _Nonnull responseObject) {
+        NSLog(@"%@",responseObject);
+        if ([responseObject isKindOfClass:[NSArray class]]) {
+            for (NSDictionary * dict in responseObject) {
+                BookQiKanNavModel * model = [BookQiKanNavModel modelWithDictionary:dict];
+                [weakSelf.dataArray addObject:model];
+            }
+            dispatch_async(dispatch_get_main_queue(), ^{
+                [weakSelf.collectionView reloadData];
+            });
+        }
+    } failure:^(NSError * _Nonnull error) {
+        
+    }];
 }
 - (CGFloat)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout minimumLineSpacingForSectionAtIndex:(NSInteger)section
 {
@@ -59,11 +89,12 @@
 }
 - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
 {
-    return 12;
+    BookQiKanNavModel * model = [self.dataArray objectAtIndex:section];
+    return model.JournalsIssue.count;
 }
 - (NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView
 {
-    return 5;
+    return self.dataArray.count;
 }
 -(CGSize)collectionView:(UICollectionView *)collectionView layout:(UICollectionViewLayout *)collectionViewLayout sizeForItemAtIndexPath:(NSIndexPath *)indexPath
 {
@@ -72,8 +103,10 @@
 
 - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
 {
+    BookQiKanNavModel * model = [self.dataArray objectAtIndex:indexPath.section];
+    NSInteger index = [[model.JournalsIssue objectAtIndex:indexPath.item] integerValue];
     BookPeriodicaListCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"BookPeriodicaListCell" forIndexPath:indexPath];
-    [cell setData:indexPath.item];
+    [cell setData:index];
     return cell;
 }
 
@@ -88,6 +121,7 @@
     return CGSizeMake(SCREEN_WIDTH, 41);
 }
 - (UICollectionReusableView *)collectionView:(UICollectionView *)collectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)indexPath {
+    BookQiKanNavModel * model = [self.dataArray objectAtIndex:indexPath.section];
     if([kind isEqualToString:UICollectionElementKindSectionHeader]){
         UICollectionReusableView *headerView = [collectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"headReusableView" forIndexPath:indexPath];
         [headerView removeAllSubviews];
@@ -98,11 +132,26 @@
             make.top.mas_offset(10);
             make.left.mas_offset(15);
         }];
-        label.text = [NSString stringWithFormat:@"%ld年",2020 - indexPath.section];
+        NSString * year = [model.JournalsYear substringToIndex:4];
+        label.text = [NSString stringWithFormat:@"%@年",year];
         label.font = [UIFont systemFontOfSize:16];
         label.textColor = UIColorHex(0x262626);
         return headerView;
     }
     return nil;
 }
+- (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath
+{
+    [collectionView deselectItemAtIndexPath:indexPath animated:YES];
+    NSInteger count = 0;
+    for (NSInteger i = 0; i < indexPath.section; i ++) {
+        BookQiKanNavModel * model = [self.dataArray objectAtIndex:i];
+        count = count + model.JournalsIssue.count;
+    }
+    count = count + indexPath.item;
+    if (self.ClickIndexBlock) {
+        self.ClickIndexBlock(count);
+    }
+    [self.navigationController popViewControllerAnimated:YES];
+}
 @end

+ 0 - 0
smartRhino/Project/VCModel/Home/VC/BookStore/VC/BookSearch/BookLabelAllVC.m


Bu fark içinde çok fazla dosya değişikliği olduğu için bazı dosyalar gösterilmiyor