فهرست منبع

1.新特性
2.RN集成

time 6 سال پیش
والد
کامیت
daa09a1526
100فایلهای تغییر یافته به همراه3134 افزوده شده و 241 حذف شده
  1. 31 1
      UU_Ent/Podfile
  2. 230 0
      UU_Ent/UU_Ent.xcodeproj/project.pbxproj
  3. 5 0
      UU_Ent/UU_Ent/Modules/App/AppDelegate.h
  4. 19 1
      UU_Ent/UU_Ent/Modules/App/AppDelegate.m
  5. 1 1
      UU_Ent/UU_Ent/Modules/Base/YRBaseVC.h
  6. 2 2
      UU_Ent/UU_Ent/Modules/Base/YRBaseVC.m
  7. 17 0
      UU_Ent/UU_Ent/Modules/Home/Charts/Controllers/YRAllChartVC.h
  8. 126 0
      UU_Ent/UU_Ent/Modules/Home/Charts/Controllers/YRAllChartVC.m
  9. 17 0
      UU_Ent/UU_Ent/Modules/Home/Charts/Views/YRChartView.h
  10. 103 0
      UU_Ent/UU_Ent/Modules/Home/Charts/Views/YRChartView.m
  11. 300 20
      UU_Ent/UU_Ent/Modules/Home/Main/Controllers/YRHomeVC.m
  12. 17 0
      UU_Ent/UU_Ent/Modules/Home/Main/Models/YRChartModel.h
  13. 13 0
      UU_Ent/UU_Ent/Modules/Home/Main/Models/YRChartModel.m
  14. 21 0
      UU_Ent/UU_Ent/Modules/Home/Main/Models/YRHeaderAppModel.h
  15. 13 0
      UU_Ent/UU_Ent/Modules/Home/Main/Models/YRHeaderAppModel.m
  16. 23 0
      UU_Ent/UU_Ent/Modules/Home/Main/Models/YRHomeScheModel.h
  17. 13 0
      UU_Ent/UU_Ent/Modules/Home/Main/Models/YRHomeScheModel.m
  18. 19 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRChartsCell.h
  19. 122 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRChartsCell.m
  20. 19 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHeaderAppCell.h
  21. 97 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHeaderAppCell.m
  22. 17 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHeaderAppView.h
  23. 182 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHeaderAppView.m
  24. 23 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeBgView.h
  25. 93 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeBgView.m
  26. 17 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeFooter.h
  27. 60 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeFooter.m
  28. 18 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeHeader.h
  29. 59 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeHeader.m
  30. 17 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeNotiCell.h
  31. 191 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeNotiCell.m
  32. 19 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheAddView.h
  33. 130 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheAddView.m
  34. 19 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheCell.h
  35. 194 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheCell.m
  36. 21 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheFooter.h
  37. 133 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheFooter.m
  38. 157 171
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheHeader.m
  39. 21 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheItemView.h
  40. 111 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheItemView.m
  41. 23 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeSecHeader.h
  42. 111 0
      UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeSecHeader.m
  43. 1 1
      UU_Ent/UU_Ent/Modules/Loading/Main/Controllers/YRLoadingVC.m
  44. 7 4
      UU_Ent/UU_Ent/Modules/Login/Main/Controllers/YRLoginVC.m
  45. 1 1
      UU_Ent/UU_Ent/Modules/Login/Main/Controllers/YRRegisterVC.m
  46. 2 2
      UU_Ent/UU_Ent/Modules/Login/Main/Views/YRPwdLevelView.m
  47. 14 10
      UU_Ent/UU_Ent/Modules/Main/Main/Controllers/YRMainVC.m
  48. 5 2
      UU_Ent/UU_Ent/Modules/Main/Main/Views/YRTabBar.m
  49. 27 3
      UU_Ent/UU_Ent/Modules/Main/Main/Views/YRTabbarView.m
  50. 1 6
      UU_Ent/UU_Ent/Modules/Message/Main/Controllers/YRMsgVC.m
  51. 2 2
      UU_Ent/UU_Ent/Modules/Message/Main/Views/YRMsgHeader.m
  52. 2 2
      UU_Ent/UU_Ent/Modules/Message/Main/Views/YRMsgMainCell.m
  53. 1 1
      UU_Ent/UU_Ent/Modules/Mine/Child/Setting/Controllers/YRSettingVC.m
  54. 1 1
      UU_Ent/UU_Ent/Modules/Mine/Main/Controllers/YRMineVC.m
  55. 2 2
      UU_Ent/UU_Ent/Modules/Mine/Main/Views/YRMineCell.m
  56. 1 1
      UU_Ent/UU_Ent/Modules/Web/Main/YRWebVC.m
  57. 1 1
      UU_Ent/UU_Ent/Modules/Work/Docu/Controllers/YRDocuVC.m
  58. 2 2
      UU_Ent/UU_Ent/Modules/Work/Docu/Views/YRDocuCell.m
  59. 1 1
      UU_Ent/UU_Ent/Modules/Work/Main/Controllers/YRWorkVC.m
  60. 1 1
      UU_Ent/UU_Ent/Modules/Work/Main/Others/work_route.json
  61. 2 2
      UU_Ent/UU_Ent/Modules/Work/Main/Views/YRWorkTabCell.m
  62. 6 0
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/Contents.json
  63. 23 0
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_Home_日程添加.imageset/Contents.json
  64. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_Home_日程添加.imageset/UU_Home_日程添加.png
  65. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_Home_日程添加.imageset/UU_Home_日程添加@2x.png
  66. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_Home_日程添加.imageset/UU_Home_日程添加@3x.png
  67. 23 0
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_审批节点.imageset/Contents.json
  68. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_审批节点.imageset/UU_审批节点 .png
  69. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_审批节点.imageset/UU_审批节点 @2x.png
  70. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_审批节点.imageset/UU_审批节点 @3x.png
  71. 23 0
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_报表_全屏.imageset/Contents.json
  72. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_报表_全屏.imageset/UU_报表_全屏.png
  73. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_报表_全屏.imageset/UU_报表_全屏@2x.png
  74. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_报表_全屏.imageset/UU_报表_全屏@3x.png
  75. 23 0
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_首页_添加.imageset/Contents.json
  76. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_首页_添加.imageset/UU_首页_添加.png
  77. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_首页_添加.imageset/UU_首页_添加@2x.png
  78. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_首页_添加.imageset/UU_首页_添加@3x.png
  79. 23 0
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_出差.imageset/Contents.json
  80. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_出差.imageset/UU应用_出差.png
  81. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_出差.imageset/UU应用_出差@2x.png
  82. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_出差.imageset/UU应用_出差@3x.png
  83. 23 0
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_审批.imageset/Contents.json
  84. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_审批.imageset/UU应用_审批.png
  85. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_审批.imageset/UU应用_审批@2x.png
  86. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_审批.imageset/UU应用_审批@3x.png
  87. 23 0
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_工作报告.imageset/Contents.json
  88. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_工作报告.imageset/UU应用_工作报告.png
  89. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_工作报告.imageset/UU应用_工作报告@2x.png
  90. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_工作报告.imageset/UU应用_工作报告@3x.png
  91. 23 0
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_打卡.imageset/Contents.json
  92. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_打卡.imageset/UU应用_打卡.png
  93. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_打卡.imageset/UU应用_打卡@2x.png
  94. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_打卡.imageset/UU应用_打卡@3x.png
  95. 23 0
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_报表.imageset/Contents.json
  96. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_报表.imageset/UU应用_报表.png
  97. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_报表.imageset/UU应用_报表@2x.png
  98. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_报表.imageset/UU应用_报表@3x.png
  99. 23 0
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_添加.imageset/Contents.json
  100. BIN
      UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_添加.imageset/UU应用_添加.png

+ 31 - 1
UU_Ent/Podfile

@@ -19,7 +19,37 @@ target 'UU_Ent' do
     pod 'DZNEmptyDataSet'
     pod 'MMDrawerController', '~> 0.5.7'
     pod 'NSDate+TimeAgo'
-    pod 'JTCalendar', '~> 2.0'
+    pod 'FSCalendar'
+    pod 'Charts'
+    
+    
+    # ReactNative
+    
+    pod 'React', :path => './UU_RN/node_modules/react-native', :subspecs => [
+    'Core',
+    'CxxBridge',
+    'DevSupport',
+    'RCTWebSocket',
+    'RCTGeolocation',
+    'RCTLinkingIOS',
+    'RCTSettings',
+    'RCTText',
+    'RCTVibration',
+    'RCTImage',
+    'RCTAnimation',
+    'RCTActionSheet',
+    'RCTCameraRoll',
+    ]
+    
+    pod 'CodePush', :path => './UU_RN/node_modules/react-native-code-push'
+    pod 'RNGestureHandler',:path => './UU_RN/node_modules/react-native-gesture-handler'
+    pod 'react-native-webview',:path => './UU_RN/node_modules/react-native-webview'
+    pod 'react-native-splash-screen',:path => './UU_RN/node_modules/react-native-splash-screen'
+    pod 'yoga', :path => './UU_RN/node_modules/react-native/ReactCommon/yoga'
+    pod 'DoubleConversion', podspec: './UU_RN/node_modules/react-native/third-party-podspecs/DoubleConversion.podspec'
+    pod 'glog', podspec: './UU_RN/node_modules/react-native/third-party-podspecs/glog.podspec'
+    pod 'Folly', podspec: './UU_RN/node_modules/react-native/third-party-podspecs/Folly.podspec'
+    
     
   target 'UU_EntTests' do
     inherit! :search_paths

+ 230 - 0
UU_Ent/UU_Ent.xcodeproj/project.pbxproj

@@ -30,6 +30,18 @@
 		991C14762282D89C0080B54A /* publi.txt in Resources */ = {isa = PBXBuildFile; fileRef = 991C14732282D89C0080B54A /* publi.txt */; };
 		991C14792282EFFC0080B54A /* UIButton+Extersion.m in Sources */ = {isa = PBXBuildFile; fileRef = 991C14782282EFFC0080B54A /* UIButton+Extersion.m */; };
 		991C147C2282F0520080B54A /* UIButton+block.m in Sources */ = {isa = PBXBuildFile; fileRef = 991C147A2282F0510080B54A /* UIButton+block.m */; };
+		993CA82A23330D76005A61B1 /* YRHomeScheCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 993CA82923330D76005A61B1 /* YRHomeScheCell.m */; };
+		993CA8332333173C005A61B1 /* YRBridging.swift in Sources */ = {isa = PBXBuildFile; fileRef = 993CA8322333173C005A61B1 /* YRBridging.swift */; };
+		993CA83623333D14005A61B1 /* YRHomeHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 993CA83523333D14005A61B1 /* YRHomeHeader.m */; };
+		993CA83923334AFC005A61B1 /* YRHomeScheModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 993CA83823334AFC005A61B1 /* YRHomeScheModel.m */; };
+		993CA83D233371F0005A61B1 /* NSDate+extension.m in Sources */ = {isa = PBXBuildFile; fileRef = 993CA83C233371F0005A61B1 /* NSDate+extension.m */; };
+		993CA84023337529005A61B1 /* YRHeaderAppView.m in Sources */ = {isa = PBXBuildFile; fileRef = 993CA83F23337529005A61B1 /* YRHeaderAppView.m */; };
+		993CA84323337B3F005A61B1 /* YRHeaderAppCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 993CA84223337B3F005A61B1 /* YRHeaderAppCell.m */; };
+		993CA846233384C3005A61B1 /* YRHeaderAppModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 993CA845233384C3005A61B1 /* YRHeaderAppModel.m */; };
+		993CA84923339639005A61B1 /* YRHomeSecHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 993CA84823339639005A61B1 /* YRHomeSecHeader.m */; };
+		993CA84C23339FFB005A61B1 /* YRChartsCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 993CA84B23339FFB005A61B1 /* YRChartsCell.m */; };
+		993CA84F2333A062005A61B1 /* YRHomeNotiCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 993CA84E2333A062005A61B1 /* YRHomeNotiCell.m */; };
+		993F77FD2339B19400E5E00C /* UIImage+extension.m in Sources */ = {isa = PBXBuildFile; fileRef = 993F77FC2339B19400E5E00C /* UIImage+extension.m */; };
 		993F84462330693600E01145 /* YRHomeVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 993F84452330693600E01145 /* YRHomeVC.m */; };
 		993F8449233074B600E01145 /* YRTabbarView.m in Sources */ = {isa = PBXBuildFile; fileRef = 993F8448233074B600E01145 /* YRTabbarView.m */; };
 		993F844C2330D36D00E01145 /* YRHomeScheHeader.m in Sources */ = {isa = PBXBuildFile; fileRef = 993F844B2330D36D00E01145 /* YRHomeScheHeader.m */; };
@@ -44,10 +56,14 @@
 		999F6516227E688600329012 /* UIView+selector.m in Sources */ = {isa = PBXBuildFile; fileRef = 999F6515227E688600329012 /* UIView+selector.m */; };
 		999F651A227E697D00329012 /* UILabel+vertical.m in Sources */ = {isa = PBXBuildFile; fileRef = 999F6519227E697D00329012 /* UILabel+vertical.m */; };
 		999F651E227E6A6000329012 /* NSString+regular.m in Sources */ = {isa = PBXBuildFile; fileRef = 999F651D227E6A6000329012 /* NSString+regular.m */; };
+		99A05F6323322385007832D8 /* LunarFormatter.m in Sources */ = {isa = PBXBuildFile; fileRef = 99A05F6223322385007832D8 /* LunarFormatter.m */; };
+		99AD4908233B077500AE0615 /* YRRnVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 99AD4907233B077500AE0615 /* YRRnVC.m */; };
 		99B06C7022CDA18700D21A36 /* YRDocuVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 99B06C6F22CDA18700D21A36 /* YRDocuVC.m */; };
 		99B06C7322CDA1A800D21A36 /* YRDocuModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 99B06C7222CDA1A800D21A36 /* YRDocuModel.m */; };
 		99B06C7622CDA1BE00D21A36 /* YRDocuCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 99B06C7522CDA1BE00D21A36 /* YRDocuCell.m */; };
 		99B4252F22815E2900DAE304 /* YRAlertView.m in Sources */ = {isa = PBXBuildFile; fileRef = 99B4252E22815E2900DAE304 /* YRAlertView.m */; };
+		99B99A452338A989008B6C70 /* YRHomeScheAddView.m in Sources */ = {isa = PBXBuildFile; fileRef = 99B99A442338A989008B6C70 /* YRHomeScheAddView.m */; };
+		99B99A4B2338B2F1008B6C70 /* YRHomeScheItemView.m in Sources */ = {isa = PBXBuildFile; fileRef = 99B99A4A2338B2F1008B6C70 /* YRHomeScheItemView.m */; };
 		99C0146522964BEB0057D7B2 /* NSString+device.m in Sources */ = {isa = PBXBuildFile; fileRef = 99C0146422964BEB0057D7B2 /* NSString+device.m */; };
 		99C16340227FD24E002ED79D /* YRWorkConModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 99C1633F227FD24E002ED79D /* YRWorkConModel.m */; };
 		99C16342227FDE64002ED79D /* work_route.json in Resources */ = {isa = PBXBuildFile; fileRef = 99C16341227FDE64002ED79D /* work_route.json */; };
@@ -139,6 +155,13 @@
 		99F4A8452277D845009AA6ED /* loading51.png in Resources */ = {isa = PBXBuildFile; fileRef = 99F4A8052277D844009AA6ED /* loading51.png */; };
 		99F4A8462277D845009AA6ED /* loading43.png in Resources */ = {isa = PBXBuildFile; fileRef = 99F4A8062277D844009AA6ED /* loading43.png */; };
 		99F4A8472277D845009AA6ED /* loading6.png in Resources */ = {isa = PBXBuildFile; fileRef = 99F4A8072277D844009AA6ED /* loading6.png */; };
+		99FD030C233456D0003355D7 /* YRHomeBgView.m in Sources */ = {isa = PBXBuildFile; fileRef = 99FD030B233456D0003355D7 /* YRHomeBgView.m */; };
+		99FD030F2334760B003355D7 /* YRHomeFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 99FD030E2334760B003355D7 /* YRHomeFooter.m */; };
+		99FD031A23347E49003355D7 /* YRChartView.m in Sources */ = {isa = PBXBuildFile; fileRef = 99FD031923347E49003355D7 /* YRChartView.m */; };
+		99FD031D23347E6F003355D7 /* YRAllChartVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 99FD031C23347E6F003355D7 /* YRAllChartVC.m */; };
+		99FD032123347FCD003355D7 /* UIDevice+extension.m in Sources */ = {isa = PBXBuildFile; fileRef = 99FD031F23347FCD003355D7 /* UIDevice+extension.m */; };
+		99FD032423349DE2003355D7 /* YRChartModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 99FD032323349DE2003355D7 /* YRChartModel.m */; };
+		99FD032A2334B397003355D7 /* YRHomeScheFooter.m in Sources */ = {isa = PBXBuildFile; fileRef = 99FD03292334B397003355D7 /* YRHomeScheFooter.m */; };
 		C2FE1204E87AA4AC2511A808 /* libPods-UU_Ent.a in Frameworks */ = {isa = PBXBuildFile; fileRef = F21F3925C5D7942C9E06A9B7 /* libPods-UU_Ent.a */; };
 		F135D5FAC9D7DD2641DAF236 /* libPods-UU_EntTests.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 102F3AF440E73FF2A1EB3208 /* libPods-UU_EntTests.a */; };
 /* End PBXBuildFile section */
@@ -208,6 +231,30 @@
 		991C14782282EFFC0080B54A /* UIButton+Extersion.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIButton+Extersion.m"; sourceTree = "<group>"; };
 		991C147A2282F0510080B54A /* UIButton+block.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIButton+block.m"; sourceTree = "<group>"; };
 		991C147B2282F0510080B54A /* UIButton+block.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIButton+block.h"; sourceTree = "<group>"; };
+		993CA82823330D76005A61B1 /* YRHomeScheCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHomeScheCell.h; sourceTree = "<group>"; };
+		993CA82923330D76005A61B1 /* YRHomeScheCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHomeScheCell.m; sourceTree = "<group>"; };
+		993CA82E23330DCB005A61B1 /* UU_Ent-Bridging-Header.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UU_Ent-Bridging-Header.h"; sourceTree = "<group>"; };
+		993CA8322333173C005A61B1 /* YRBridging.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YRBridging.swift; sourceTree = "<group>"; };
+		993CA83423333D14005A61B1 /* YRHomeHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHomeHeader.h; sourceTree = "<group>"; };
+		993CA83523333D14005A61B1 /* YRHomeHeader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHomeHeader.m; sourceTree = "<group>"; };
+		993CA83723334AFC005A61B1 /* YRHomeScheModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHomeScheModel.h; sourceTree = "<group>"; };
+		993CA83823334AFC005A61B1 /* YRHomeScheModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHomeScheModel.m; sourceTree = "<group>"; };
+		993CA83B233371F0005A61B1 /* NSDate+extension.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSDate+extension.h"; sourceTree = "<group>"; };
+		993CA83C233371F0005A61B1 /* NSDate+extension.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSDate+extension.m"; sourceTree = "<group>"; };
+		993CA83E23337529005A61B1 /* YRHeaderAppView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHeaderAppView.h; sourceTree = "<group>"; };
+		993CA83F23337529005A61B1 /* YRHeaderAppView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHeaderAppView.m; sourceTree = "<group>"; };
+		993CA84123337B3F005A61B1 /* YRHeaderAppCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHeaderAppCell.h; sourceTree = "<group>"; };
+		993CA84223337B3F005A61B1 /* YRHeaderAppCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHeaderAppCell.m; sourceTree = "<group>"; };
+		993CA844233384C3005A61B1 /* YRHeaderAppModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHeaderAppModel.h; sourceTree = "<group>"; };
+		993CA845233384C3005A61B1 /* YRHeaderAppModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHeaderAppModel.m; sourceTree = "<group>"; };
+		993CA84723339639005A61B1 /* YRHomeSecHeader.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHomeSecHeader.h; sourceTree = "<group>"; };
+		993CA84823339639005A61B1 /* YRHomeSecHeader.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHomeSecHeader.m; sourceTree = "<group>"; };
+		993CA84A23339FFB005A61B1 /* YRChartsCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRChartsCell.h; sourceTree = "<group>"; };
+		993CA84B23339FFB005A61B1 /* YRChartsCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRChartsCell.m; sourceTree = "<group>"; };
+		993CA84D2333A062005A61B1 /* YRHomeNotiCell.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHomeNotiCell.h; sourceTree = "<group>"; };
+		993CA84E2333A062005A61B1 /* YRHomeNotiCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHomeNotiCell.m; sourceTree = "<group>"; };
+		993F77FB2339B19400E5E00C /* UIImage+extension.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "UIImage+extension.h"; sourceTree = "<group>"; };
+		993F77FC2339B19400E5E00C /* UIImage+extension.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UIImage+extension.m"; sourceTree = "<group>"; };
 		993F84442330693600E01145 /* YRHomeVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHomeVC.h; sourceTree = "<group>"; };
 		993F84452330693600E01145 /* YRHomeVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHomeVC.m; sourceTree = "<group>"; };
 		993F8447233074B600E01145 /* YRTabbarView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRTabbarView.h; sourceTree = "<group>"; };
@@ -237,6 +284,10 @@
 		999F6519227E697D00329012 /* UILabel+vertical.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "UILabel+vertical.m"; sourceTree = "<group>"; };
 		999F651C227E6A6000329012 /* NSString+regular.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSString+regular.h"; sourceTree = "<group>"; };
 		999F651D227E6A6000329012 /* NSString+regular.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+regular.m"; sourceTree = "<group>"; };
+		99A05F6123322385007832D8 /* LunarFormatter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = LunarFormatter.h; sourceTree = "<group>"; };
+		99A05F6223322385007832D8 /* LunarFormatter.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = LunarFormatter.m; sourceTree = "<group>"; };
+		99AD4906233B077500AE0615 /* YRRnVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRRnVC.h; sourceTree = "<group>"; };
+		99AD4907233B077500AE0615 /* YRRnVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRRnVC.m; sourceTree = "<group>"; };
 		99B06C6E22CDA18700D21A36 /* YRDocuVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRDocuVC.h; sourceTree = "<group>"; };
 		99B06C6F22CDA18700D21A36 /* YRDocuVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRDocuVC.m; sourceTree = "<group>"; };
 		99B06C7122CDA1A800D21A36 /* YRDocuModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRDocuModel.h; sourceTree = "<group>"; };
@@ -245,6 +296,10 @@
 		99B06C7522CDA1BE00D21A36 /* YRDocuCell.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRDocuCell.m; sourceTree = "<group>"; };
 		99B4252D22815E2900DAE304 /* YRAlertView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRAlertView.h; sourceTree = "<group>"; };
 		99B4252E22815E2900DAE304 /* YRAlertView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRAlertView.m; sourceTree = "<group>"; };
+		99B99A432338A989008B6C70 /* YRHomeScheAddView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHomeScheAddView.h; sourceTree = "<group>"; };
+		99B99A442338A989008B6C70 /* YRHomeScheAddView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHomeScheAddView.m; sourceTree = "<group>"; };
+		99B99A492338B2F1008B6C70 /* YRHomeScheItemView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHomeScheItemView.h; sourceTree = "<group>"; };
+		99B99A4A2338B2F1008B6C70 /* YRHomeScheItemView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHomeScheItemView.m; sourceTree = "<group>"; };
 		99C0146322964BEB0057D7B2 /* NSString+device.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = "NSString+device.h"; sourceTree = "<group>"; };
 		99C0146422964BEB0057D7B2 /* NSString+device.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = "NSString+device.m"; sourceTree = "<group>"; };
 		99C1633E227FD24E002ED79D /* YRWorkConModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRWorkConModel.h; sourceTree = "<group>"; };
@@ -367,6 +422,20 @@
 		99F4A8052277D844009AA6ED /* loading51.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = loading51.png; sourceTree = "<group>"; };
 		99F4A8062277D844009AA6ED /* loading43.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = loading43.png; sourceTree = "<group>"; };
 		99F4A8072277D844009AA6ED /* loading6.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = loading6.png; sourceTree = "<group>"; };
+		99FD030A233456D0003355D7 /* YRHomeBgView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHomeBgView.h; sourceTree = "<group>"; };
+		99FD030B233456D0003355D7 /* YRHomeBgView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHomeBgView.m; sourceTree = "<group>"; };
+		99FD030D2334760B003355D7 /* YRHomeFooter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHomeFooter.h; sourceTree = "<group>"; };
+		99FD030E2334760B003355D7 /* YRHomeFooter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHomeFooter.m; sourceTree = "<group>"; };
+		99FD031823347E49003355D7 /* YRChartView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = YRChartView.h; sourceTree = "<group>"; };
+		99FD031923347E49003355D7 /* YRChartView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = YRChartView.m; sourceTree = "<group>"; };
+		99FD031B23347E6F003355D7 /* YRAllChartVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRAllChartVC.h; sourceTree = "<group>"; };
+		99FD031C23347E6F003355D7 /* YRAllChartVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRAllChartVC.m; sourceTree = "<group>"; };
+		99FD031F23347FCD003355D7 /* UIDevice+extension.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "UIDevice+extension.m"; sourceTree = "<group>"; };
+		99FD032023347FCD003355D7 /* UIDevice+extension.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "UIDevice+extension.h"; sourceTree = "<group>"; };
+		99FD032223349DE2003355D7 /* YRChartModel.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRChartModel.h; sourceTree = "<group>"; };
+		99FD032323349DE2003355D7 /* YRChartModel.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRChartModel.m; sourceTree = "<group>"; };
+		99FD03282334B397003355D7 /* YRHomeScheFooter.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = YRHomeScheFooter.h; sourceTree = "<group>"; };
+		99FD03292334B397003355D7 /* YRHomeScheFooter.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = YRHomeScheFooter.m; sourceTree = "<group>"; };
 		B5220A6F4D02F3A377D1E1D6 /* Pods-UU_EntUITests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-UU_EntUITests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-UU_EntUITests/Pods-UU_EntUITests.debug.xcconfig"; sourceTree = "<group>"; };
 		DA26F5F8909B0156F0F3EC26 /* Pods-UU_EntTests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-UU_EntTests.debug.xcconfig"; path = "Pods/Target Support Files/Pods-UU_EntTests/Pods-UU_EntTests.debug.xcconfig"; sourceTree = "<group>"; };
 		F21F3925C5D7942C9E06A9B7 /* libPods-UU_Ent.a */ = {isa = PBXFileReference; explicitFileType = archive.ar; includeInIndex = 0; path = "libPods-UU_Ent.a"; sourceTree = BUILT_PRODUCTS_DIR; };
@@ -590,9 +659,28 @@
 			path = "NSString+secri";
 			sourceTree = "<group>";
 		};
+		993CA83123330DE3005A61B1 /* Bridging */ = {
+			isa = PBXGroup;
+			children = (
+				993CA82E23330DCB005A61B1 /* UU_Ent-Bridging-Header.h */,
+				993CA8322333173C005A61B1 /* YRBridging.swift */,
+			);
+			path = Bridging;
+			sourceTree = "<group>";
+		};
+		993CA83A233371D6005A61B1 /* NSDate */ = {
+			isa = PBXGroup;
+			children = (
+				993CA83B233371F0005A61B1 /* NSDate+extension.h */,
+				993CA83C233371F0005A61B1 /* NSDate+extension.m */,
+			);
+			path = NSDate;
+			sourceTree = "<group>";
+		};
 		993F843E2330691A00E01145 /* Home */ = {
 			isa = PBXGroup;
 			children = (
+				99FD031323347DF1003355D7 /* Charts */,
 				993F843F2330691A00E01145 /* Main */,
 			);
 			path = Home;
@@ -619,6 +707,12 @@
 		993F84412330691A00E01145 /* Models */ = {
 			isa = PBXGroup;
 			children = (
+				993CA83723334AFC005A61B1 /* YRHomeScheModel.h */,
+				993CA83823334AFC005A61B1 /* YRHomeScheModel.m */,
+				993CA844233384C3005A61B1 /* YRHeaderAppModel.h */,
+				993CA845233384C3005A61B1 /* YRHeaderAppModel.m */,
+				99FD032223349DE2003355D7 /* YRChartModel.h */,
+				99FD032323349DE2003355D7 /* YRChartModel.m */,
 			);
 			path = Models;
 			sourceTree = "<group>";
@@ -635,8 +729,32 @@
 		993F84432330691A00E01145 /* Views */ = {
 			isa = PBXGroup;
 			children = (
+				99FD030A233456D0003355D7 /* YRHomeBgView.h */,
+				99FD030B233456D0003355D7 /* YRHomeBgView.m */,
+				993CA83423333D14005A61B1 /* YRHomeHeader.h */,
+				993CA83523333D14005A61B1 /* YRHomeHeader.m */,
+				99FD030D2334760B003355D7 /* YRHomeFooter.h */,
+				99FD030E2334760B003355D7 /* YRHomeFooter.m */,
 				993F844A2330D36D00E01145 /* YRHomeScheHeader.h */,
 				993F844B2330D36D00E01145 /* YRHomeScheHeader.m */,
+				99FD03282334B397003355D7 /* YRHomeScheFooter.h */,
+				99FD03292334B397003355D7 /* YRHomeScheFooter.m */,
+				99B99A432338A989008B6C70 /* YRHomeScheAddView.h */,
+				99B99A442338A989008B6C70 /* YRHomeScheAddView.m */,
+				99B99A492338B2F1008B6C70 /* YRHomeScheItemView.h */,
+				99B99A4A2338B2F1008B6C70 /* YRHomeScheItemView.m */,
+				993CA83E23337529005A61B1 /* YRHeaderAppView.h */,
+				993CA83F23337529005A61B1 /* YRHeaderAppView.m */,
+				993CA84123337B3F005A61B1 /* YRHeaderAppCell.h */,
+				993CA84223337B3F005A61B1 /* YRHeaderAppCell.m */,
+				993CA84723339639005A61B1 /* YRHomeSecHeader.h */,
+				993CA84823339639005A61B1 /* YRHomeSecHeader.m */,
+				993CA84A23339FFB005A61B1 /* YRChartsCell.h */,
+				993CA84B23339FFB005A61B1 /* YRChartsCell.m */,
+				993CA84D2333A062005A61B1 /* YRHomeNotiCell.h */,
+				993CA84E2333A062005A61B1 /* YRHomeNotiCell.m */,
+				993CA82823330D76005A61B1 /* YRHomeScheCell.h */,
+				993CA82923330D76005A61B1 /* YRHomeScheCell.m */,
 			);
 			path = Views;
 			sourceTree = "<group>";
@@ -666,6 +784,8 @@
 			children = (
 				999F6511227E664C00329012 /* UIImageView+userId.h */,
 				999F6512227E664C00329012 /* UIImageView+userId.m */,
+				993F77FB2339B19400E5E00C /* UIImage+extension.h */,
+				993F77FC2339B19400E5E00C /* UIImage+extension.m */,
 			);
 			path = UIImageView;
 			sourceTree = "<group>";
@@ -690,6 +810,24 @@
 			path = NSString;
 			sourceTree = "<group>";
 		};
+		99A05F6023322372007832D8 /* LunarFormatter */ = {
+			isa = PBXGroup;
+			children = (
+				99A05F6123322385007832D8 /* LunarFormatter.h */,
+				99A05F6223322385007832D8 /* LunarFormatter.m */,
+			);
+			path = LunarFormatter;
+			sourceTree = "<group>";
+		};
+		99AD4905233B074400AE0615 /* RN */ = {
+			isa = PBXGroup;
+			children = (
+				99AD4906233B077500AE0615 /* YRRnVC.h */,
+				99AD4907233B077500AE0615 /* YRRnVC.m */,
+			);
+			path = RN;
+			sourceTree = "<group>";
+		};
 		99B06C6922CDA12900D21A36 /* Docu */ = {
 			isa = PBXGroup;
 			children = (
@@ -799,6 +937,7 @@
 		99C6FE7B22768EC000C7070A /* Modules */ = {
 			isa = PBXGroup;
 			children = (
+				99AD4905233B074400AE0615 /* RN */,
 				993F843E2330691A00E01145 /* Home */,
 				99F4A7352277CFDD009AA6ED /* Loading */,
 				99C6FE8522768EC000C7070A /* Base */,
@@ -887,6 +1026,7 @@
 		99C6FE8622768EC000C7070A /* Supporting Files */ = {
 			isa = PBXGroup;
 			children = (
+				993CA83123330DE3005A61B1 /* Bridging */,
 				99C6FF1C2276DF0D00C7070A /* defines */,
 				99C6FE8722768EC000C7070A /* Assets.xcassets */,
 				99C6FE8A22768EC000C7070A /* main.m */,
@@ -907,6 +1047,9 @@
 		99C6FE8D22768EC000C7070A /* Utils */ = {
 			isa = PBXGroup;
 			children = (
+				99FD031E23347F9E003355D7 /* UIDevice */,
+				993CA83A233371D6005A61B1 /* NSDate */,
+				99A05F6023322372007832D8 /* LunarFormatter */,
 				9979E8E9230E87AE00516C77 /* WebView */,
 				99F3F30522A61ED40061CB23 /* Network */,
 				991C14652282D8100080B54A /* encode */,
@@ -1338,6 +1481,58 @@
 			path = LoadImg;
 			sourceTree = "<group>";
 		};
+		99FD031323347DF1003355D7 /* Charts */ = {
+			isa = PBXGroup;
+			children = (
+				99FD031623347E21003355D7 /* Controllers */,
+				99FD031523347E21003355D7 /* Models */,
+				99FD031723347E21003355D7 /* Others */,
+				99FD031423347E21003355D7 /* Views */,
+			);
+			path = Charts;
+			sourceTree = "<group>";
+		};
+		99FD031423347E21003355D7 /* Views */ = {
+			isa = PBXGroup;
+			children = (
+				99FD031823347E49003355D7 /* YRChartView.h */,
+				99FD031923347E49003355D7 /* YRChartView.m */,
+			);
+			path = Views;
+			sourceTree = "<group>";
+		};
+		99FD031523347E21003355D7 /* Models */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			path = Models;
+			sourceTree = "<group>";
+		};
+		99FD031623347E21003355D7 /* Controllers */ = {
+			isa = PBXGroup;
+			children = (
+				99FD031B23347E6F003355D7 /* YRAllChartVC.h */,
+				99FD031C23347E6F003355D7 /* YRAllChartVC.m */,
+			);
+			path = Controllers;
+			sourceTree = "<group>";
+		};
+		99FD031723347E21003355D7 /* Others */ = {
+			isa = PBXGroup;
+			children = (
+			);
+			path = Others;
+			sourceTree = "<group>";
+		};
+		99FD031E23347F9E003355D7 /* UIDevice */ = {
+			isa = PBXGroup;
+			children = (
+				99FD032023347FCD003355D7 /* UIDevice+extension.h */,
+				99FD031F23347FCD003355D7 /* UIDevice+extension.m */,
+			);
+			path = UIDevice;
+			sourceTree = "<group>";
+		};
 		C72D523677B19DCBAEBD26E1 /* Frameworks */ = {
 			isa = PBXGroup;
 			children = (
@@ -1434,6 +1629,7 @@
 				TargetAttributes = {
 					99C6FE4322768B5B00C7070A = {
 						CreatedOnToolsVersion = 10.2.1;
+						LastSwiftMigration = 1030;
 					};
 					99C6FE5B22768B5C00C7070A = {
 						CreatedOnToolsVersion = 10.2.1;
@@ -1650,25 +1846,40 @@
 				27029BD0227709CC00D53A94 /* UIButton+Layout.m in Sources */,
 				99C6FF232276E4C000C7070A /* YRMsgMainCell.m in Sources */,
 				994AC54C2283FEDC006FE026 /* UINavigationController+alpha.m in Sources */,
+				99FD032123347FCD003355D7 /* UIDevice+extension.m in Sources */,
 				2710E66E2281746E0002A4B0 /* UIPopoverListView.m in Sources */,
 				99C16345228027C8002ED79D /* YRMsgHeader.m in Sources */,
+				99FD030F2334760B003355D7 /* YRHomeFooter.m in Sources */,
+				99B99A452338A989008B6C70 /* YRHomeScheAddView.m in Sources */,
 				991C1464228275B70080B54A /* YRLoginManager.m in Sources */,
 				991C14742282D89C0080B54A /* RSA.m in Sources */,
+				99FD030C233456D0003355D7 /* YRHomeBgView.m in Sources */,
+				993CA82A23330D76005A61B1 /* YRHomeScheCell.m in Sources */,
 				99C6FECB227696CA00C7070A /* YRMsgVC.m in Sources */,
 				99C16340227FD24E002ED79D /* YRWorkConModel.m in Sources */,
+				993CA84023337529005A61B1 /* YRHeaderAppView.m in Sources */,
 				99C0146522964BEB0057D7B2 /* NSString+device.m in Sources */,
 				99C6FF262276FAE000C7070A /* YRMsgMainModel.m in Sources */,
 				993F84462330693600E01145 /* YRHomeVC.m in Sources */,
 				2710E66522815DCF0002A4B0 /* YRMineCell.m in Sources */,
+				993CA83D233371F0005A61B1 /* NSDate+extension.m in Sources */,
 				99F4A7462277D503009AA6ED /* YRAdView.m in Sources */,
+				99FD032423349DE2003355D7 /* YRChartModel.m in Sources */,
 				99C6FE9222768EC000C7070A /* main.m in Sources */,
+				993CA83623333D14005A61B1 /* YRHomeHeader.m in Sources */,
 				99C6FE99227690F800C7070A /* YRBaseNav.m in Sources */,
+				993CA83923334AFC005A61B1 /* YRHomeScheModel.m in Sources */,
 				993F844C2330D36D00E01145 /* YRHomeScheHeader.m in Sources */,
 				99C6FE96227690BE00C7070A /* YRBaseVC.m in Sources */,
 				9979E8EC230E87BB00516C77 /* YRWebView.m in Sources */,
+				99A05F6323322385007832D8 /* LunarFormatter.m in Sources */,
+				99B99A4B2338B2F1008B6C70 /* YRHomeScheItemView.m in Sources */,
 				2710E65522801B7E0002A4B0 /* YRRegisterVC.m in Sources */,
+				993CA84323337B3F005A61B1 /* YRHeaderAppCell.m in Sources */,
+				99FD032A2334B397003355D7 /* YRHomeScheFooter.m in Sources */,
 				991C147C2282F0520080B54A /* UIButton+block.m in Sources */,
 				99C6FF172276D13500C7070A /* YRUserInfo.m in Sources */,
+				993CA84923339639005A61B1 /* YRHomeSecHeader.m in Sources */,
 				270E6C972282B72D008B12B9 /* YRSettingVC.m in Sources */,
 				99B4252F22815E2900DAE304 /* YRAlertView.m in Sources */,
 				999F6510227E658E00329012 /* UIView+frame.m in Sources */,
@@ -1681,20 +1892,27 @@
 				99C6FEC02276957400C7070A /* YRMineVC.m in Sources */,
 				2710E66022801ED10002A4B0 /* YRShowMessageFromNavi.m in Sources */,
 				2710E66822815E030002A4B0 /* YRMineModel.m in Sources */,
+				993CA846233384C3005A61B1 /* YRHeaderAppModel.m in Sources */,
 				99B06C7022CDA18700D21A36 /* YRDocuVC.m in Sources */,
 				99C6FF1B2276DD3900C7070A /* YRTableView.m in Sources */,
 				27029BD32277E16300D53A94 /* YRButton.m in Sources */,
 				27029BCC2277063F00D53A94 /* UIColor+HexColor.m in Sources */,
 				2710E65822801B930002A4B0 /* YRPwdLevelView.m in Sources */,
+				99FD031D23347E6F003355D7 /* YRAllChartVC.m in Sources */,
+				993F77FD2339B19400E5E00C /* UIImage+extension.m in Sources */,
 				99B06C7322CDA1A800D21A36 /* YRDocuModel.m in Sources */,
 				99F4A7402277D2DF009AA6ED /* YRLoadingVC.m in Sources */,
 				99F3F30822A61F010061CB23 /* YRNetworkManager.m in Sources */,
 				993F8449233074B600E01145 /* YRTabbarView.m in Sources */,
 				99C6FE8F22768EC000C7070A /* AppDelegate.m in Sources */,
+				993CA84C23339FFB005A61B1 /* YRChartsCell.m in Sources */,
+				993CA84F2333A062005A61B1 /* YRHomeNotiCell.m in Sources */,
 				999F6516227E688600329012 /* UIView+selector.m in Sources */,
 				999F651E227E6A6000329012 /* NSString+regular.m in Sources */,
+				993CA8332333173C005A61B1 /* YRBridging.swift in Sources */,
 				99F4A7432277D332009AA6ED /* YRCountDownView.m in Sources */,
 				2710E65D22801E330002A4B0 /* LeftViewTF.m in Sources */,
+				99FD031A23347E49003355D7 /* YRChartView.m in Sources */,
 				991C14792282EFFC0080B54A /* UIButton+Extersion.m in Sources */,
 				99C6FEBA2276950C00C7070A /* YRMainVC.m in Sources */,
 				9948171A22785044007C7CEA /* YRWorkCollCell.m in Sources */,
@@ -1704,6 +1922,7 @@
 				999F651A227E697D00329012 /* UILabel+vertical.m in Sources */,
 				9948171722785013007C7CEA /* YRWorkTabCell.m in Sources */,
 				991C146C2282D8600080B54A /* GTMBase64.m in Sources */,
+				99AD4908233B077500AE0615 /* YRRnVC.m in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -1857,6 +2076,7 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_STYLE = Automatic;
 				DEVELOPMENT_TEAM = 433WAS8387;
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
@@ -1869,6 +2089,9 @@
 				);
 				PRODUCT_BUNDLE_IDENTIFIER = "YR.UU-Ent";
 				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_OBJC_BRIDGING_HEADER = "UU_Ent/Supporting Files/Bridging/UU_Ent-Bridging-Header.h";
+				SWIFT_OPTIMIZATION_LEVEL = "-Onone";
+				SWIFT_VERSION = 5.0;
 				TARGETED_DEVICE_FAMILY = "1,2";
 			};
 			name = Debug;
@@ -1879,6 +2102,7 @@
 			buildSettings = {
 				ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
 				ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage;
+				CLANG_ENABLE_MODULES = YES;
 				CODE_SIGN_STYLE = Automatic;
 				DEVELOPMENT_TEAM = 433WAS8387;
 				GCC_PRECOMPILE_PREFIX_HEADER = YES;
@@ -1891,6 +2115,8 @@
 				);
 				PRODUCT_BUNDLE_IDENTIFIER = "YR.UU-Ent";
 				PRODUCT_NAME = "$(TARGET_NAME)";
+				SWIFT_OBJC_BRIDGING_HEADER = "UU_Ent/Supporting Files/Bridging/UU_Ent-Bridging-Header.h";
+				SWIFT_VERSION = 5.0;
 				TARGETED_DEVICE_FAMILY = "1,2";
 			};
 			name = Release;
@@ -1899,6 +2125,7 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = DA26F5F8909B0156F0F3EC26 /* Pods-UU_EntTests.debug.xcconfig */;
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				CODE_SIGN_STYLE = Automatic;
 				INFOPLIST_FILE = UU_EntTests/Info.plist;
@@ -1918,6 +2145,7 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 49A8B37D50A80EFFD84620EC /* Pods-UU_EntTests.release.xcconfig */;
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
 				BUNDLE_LOADER = "$(TEST_HOST)";
 				CODE_SIGN_STYLE = Automatic;
 				INFOPLIST_FILE = UU_EntTests/Info.plist;
@@ -1937,6 +2165,7 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = B5220A6F4D02F3A377D1E1D6 /* Pods-UU_EntUITests.debug.xcconfig */;
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
 				CODE_SIGN_STYLE = Automatic;
 				INFOPLIST_FILE = UU_EntUITests/Info.plist;
 				LD_RUNPATH_SEARCH_PATHS = (
@@ -1955,6 +2184,7 @@
 			isa = XCBuildConfiguration;
 			baseConfigurationReference = 49D3F089EECE8E3EDF7D2E1C /* Pods-UU_EntUITests.release.xcconfig */;
 			buildSettings = {
+				ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
 				CODE_SIGN_STYLE = Automatic;
 				INFOPLIST_FILE = UU_EntUITests/Info.plist;
 				LD_RUNPATH_SEARCH_PATHS = (

+ 5 - 0
UU_Ent/UU_Ent/Modules/App/AppDelegate.h

@@ -12,6 +12,11 @@
 
 @property (strong, nonatomic) UIWindow *window;
 
+/**
+ * 是否允许横屏
+ */
+@property(nonatomic,assign)BOOL allowRotation;
+
 
 @end
 

+ 19 - 1
UU_Ent/UU_Ent/Modules/App/AppDelegate.m

@@ -46,7 +46,7 @@
         
         [YRLoginManager autoLoginsuccess:^{
             //自动登录成功
-            
+            [[NSNotificationCenter defaultCenter] postNotificationName:kYRUserMasterChangedNotification object:nil];
             
         } failure:^(NSString * _Nonnull errorStr) {
             //自动登录失败
@@ -126,6 +126,24 @@
     
 }
 
+
+#pragma mark - 横竖屏设置
+- (UIInterfaceOrientationMask)application:(UIApplication *)application supportedInterfaceOrientationsForWindow:(nullable UIWindow *)window
+
+{
+    
+    if (self.allowRotation == YES) {
+        //横屏
+        return UIInterfaceOrientationMaskLandscapeRight;
+        
+    }else{
+        //竖屏
+        return UIInterfaceOrientationMaskPortrait;
+        
+    }
+    
+}
+
 - (void)applicationWillResignActive:(UIApplication *)application {
     // Sent when the application is about to move from active to inactive state. This can occur for certain types of temporary interruptions (such as an incoming phone call or SMS message) or when the user quits the application and it begins the transition to the background state.
     // Use this method to pause ongoing tasks, disable timers, and invalidate graphics rendering callbacks. Games should use this method to pause the game.

+ 1 - 1
UU_Ent/UU_Ent/Modules/Base/YRBaseVC.h

@@ -14,7 +14,7 @@ NS_ASSUME_NONNULL_BEGIN
 
 @property(strong,nonatomic)NSDictionary *paramDic;
 
--(void)setUpUI;
+-(void)createUI;
 
 -(void)backAction;
 

+ 2 - 2
UU_Ent/UU_Ent/Modules/Base/YRBaseVC.m

@@ -21,12 +21,12 @@
     self.view.backgroundColor = RGB(242, 242, 242, 1);
     //处理present的页面
     [self present];
-    [self setUpUI];
+    [self createUI];
    
 }
 
 
--(void)setUpUI{}
+-(void)createUI{}
 
 -(void)present{
     

+ 17 - 0
UU_Ent/UU_Ent/Modules/Home/Charts/Controllers/YRAllChartVC.h

@@ -0,0 +1,17 @@
+//
+//  YRAllChartVC.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/20.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRBaseVC.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRAllChartVC : YRBaseVC
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 126 - 0
UU_Ent/UU_Ent/Modules/Home/Charts/Controllers/YRAllChartVC.m

@@ -0,0 +1,126 @@
+//
+//  YRAllChartVC.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/20.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRAllChartVC.h"
+#import "AppDelegate.h"
+#import "YRChartView.h"
+#import "UIDevice+extension.h"
+@interface YRAllChartVC ()
+
+@property (strong, nonatomic)UILabel *titleLabel;
+
+@property (strong, nonatomic)UIImageView *allIma;
+
+@property (strong, nonatomic)YRChartView *chartView;
+
+@end
+
+@implementation YRAllChartVC
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    // Do any additional setup after loading the view.
+}
+
+
+
+-(void)createUI{
+    
+    AppDelegate *appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
+    //允许转成横屏
+    appDelegate.allowRotation = YES;
+    //调用横屏代码
+    [UIDevice switchNewOrientation:UIInterfaceOrientationLandscapeRight];
+    
+    [self.view addSubview:self.titleLabel];
+    [self.view  addSubview:self.allIma];
+    [self.view addSubview:self.chartView];
+    
+    [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.equalTo(self.view).offset(20);
+        make.left.equalTo(self.view).offset(12);
+        make.width.mas_greaterThanOrEqualTo(@60);
+        make.height.mas_greaterThanOrEqualTo(@20);
+        
+    }];
+    
+    [self.allIma mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.centerY.equalTo(self.titleLabel);
+        make.width.height.mas_equalTo(20);
+        make.right.equalTo(self.view).offset(-26);
+        
+    }];
+    
+    [self.chartView mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.equalTo(self.view).offset(50);
+        make.left.equalTo(self.view).offset(20);
+        make.right.equalTo(self.view).offset(-20);
+        make.bottom.equalTo(self.view).offset(-24);
+        
+    }];
+    
+    
+}
+
+-(void)allScreenShow{
+    
+    AppDelegate * appDelegate = (AppDelegate *)[UIApplication sharedApplication].delegate;
+    //允许转成横屏
+    appDelegate.allowRotation = NO;
+    //调用横屏代码
+    [UIDevice switchNewOrientation:UIInterfaceOrientationPortrait];
+    
+    [self dismissViewControllerAnimated:YES completion:nil];
+    
+}
+
+#pragma mark -- lazy
+
+-(UILabel *)titleLabel{
+    
+    if (!_titleLabel) {
+        
+        _titleLabel = [UILabel new];
+        _titleLabel.textColor = HexColor(@"#333333");
+        _titleLabel.font = FONT_SIZE(16);
+        _titleLabel.text = @"优软年度客户数量统计";
+        
+    }
+    
+    return _titleLabel;
+}
+
+-(UIImageView *)allIma{
+    
+    if (!_allIma) {
+        
+        _allIma = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"UU_报表_全屏"]];
+        _allIma.target = self;
+        _allIma.aSelector = @selector(allScreenShow);
+        
+    }
+    
+    return _allIma;
+}
+
+-(YRChartView *)chartView{
+    
+    if (!_chartView) {
+        
+        _chartView = [YRChartView new];
+        
+    }
+    
+    return _chartView;
+}
+
+
+@end

+ 17 - 0
UU_Ent/UU_Ent/Modules/Home/Charts/Views/YRChartView.h

@@ -0,0 +1,17 @@
+//
+//  YRChartView.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/20.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRChartView : UIView
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 103 - 0
UU_Ent/UU_Ent/Modules/Home/Charts/Views/YRChartView.m

@@ -0,0 +1,103 @@
+//
+//  YRChartView.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/20.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRChartView.h"
+#import "UU_Ent-Bridging-Header.h"
+@interface YRChartView()<ChartViewDelegate>
+
+@property (nonatomic, strong)BarChartView *chartView;
+
+@end
+
+@implementation YRChartView
+
+- (instancetype)init
+{
+    self = [super init];
+    if (self) {
+        
+        [self createUI];
+        
+    }
+    return self;
+}
+
+-(void)createUI{
+    
+    self.backgroundColor = [UIColor whiteColor];
+    
+    _chartView = [[BarChartView alloc]init];
+    
+    [self addSubview:_chartView];
+    
+    [_chartView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.edges.equalTo(self);
+        
+    }];
+    
+    _chartView.delegate = self;
+    
+    _chartView.chartDescription.enabled = NO;
+    
+    _chartView.maxVisibleCount = 60;
+    _chartView.pinchZoomEnabled = NO;
+    _chartView.drawBarShadowEnabled = NO;
+    _chartView.drawGridBackgroundEnabled = NO;
+    
+    ChartXAxis *xAxis = _chartView.xAxis;
+    xAxis.labelPosition = XAxisLabelPositionBottom;
+    xAxis.drawGridLinesEnabled = NO;
+    
+    _chartView.leftAxis.drawGridLinesEnabled = NO;
+    _chartView.rightAxis.drawGridLinesEnabled = NO;
+    
+    _chartView.legend.enabled = NO;
+    
+    [self setDataCount:6 range:6];
+    
+}
+
+- (void)setDataCount:(int)count range:(double)range
+{
+    NSMutableArray *yVals = [[NSMutableArray alloc] init];
+    
+    for (int i = 0; i < count; i++)
+    {
+        double mult = (range + 1);
+        double val = (double) (arc4random_uniform(mult)) + mult / 3.0;
+        [yVals addObject:[[BarChartDataEntry alloc] initWithX:i y:val]];
+    }
+    
+    BarChartDataSet *set1 = nil;
+    if (_chartView.data.dataSetCount > 0)
+    {
+        set1 = (BarChartDataSet *)_chartView.data.dataSets[0];
+        [set1 replaceEntries:yVals];
+        [_chartView.data notifyDataChanged];
+        [_chartView notifyDataSetChanged];
+    }
+    else
+    {
+        set1 = [[BarChartDataSet alloc] initWithEntries:yVals label:@"DataSet"];
+        set1.colors = ChartColorTemplates.vordiplom;
+        set1.drawValuesEnabled = NO;
+        
+        NSMutableArray *dataSets = [[NSMutableArray alloc] init];
+        [dataSets addObject:set1];
+        
+        BarChartData *data = [[BarChartData alloc] initWithDataSets:dataSets];
+        
+        _chartView.data = data;
+        _chartView.fitBars = YES;
+    }
+    
+    [_chartView setNeedsDisplay];
+}
+
+@end

+ 300 - 20
UU_Ent/UU_Ent/Modules/Home/Main/Controllers/YRHomeVC.m

@@ -7,12 +7,30 @@
 //
 
 #import "YRHomeVC.h"
+#import "YRAllChartVC.h"
+#import "UINavigationController+alpha.h"
+#import "YRHomeHeader.h"
+#import "YRHomeFooter.h"
+#import "YRHomeBgView.h"
 #import "YRHomeScheHeader.h"
+#import "YRHomeScheFooter.h"
+#import "YRHomeScheAddView.h"
+#import "YRHomeSecHeader.h"
+#import "YRHomeNotiCell.h"
+#import "YRHomeScheCell.h"
+#import "YRChartsCell.h"
 @interface YRHomeVC ()<UITableViewDelegate,UITableViewDataSource>
 
 @property(strong,nonatomic)YRTableView *tableView;
 
-@property(strong,nonatomic)NSMutableArray *dataArr;
+@property (strong, nonatomic)YRHomeBgView *bgView;
+
+/// 是否显示添加日程
+@property (assign, nonatomic)BOOL isAdd;
+
+@property (assign, nonatomic)CGFloat alapa;
+
+@property(strong,nonatomic)NSMutableArray<NSMutableArray *> *dataArr;
 
 @end
 
@@ -25,14 +43,60 @@
     
 }
 
--(void)setUpUI{
-    
-    self.navigationController.navigationBar.hidden = YES;
+-(void)createUI{
     
     [self.view addSubview:self.tableView];
     
+    UIView *bgView = [UIView new];
+    
+    bgView.backgroundColor = [UIColor whiteColor];
+    
+    self.bgView = [[YRHomeBgView alloc]initWithFrame:CGRectMake(0, 0, self.view.width, 222)];
+    
+    [bgView addSubview:self.bgView];
+    
+    [self.bgView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.left.equalTo(bgView);
+        make.top.equalTo(bgView);
+        make.bottom.equalTo(bgView.mas_top).offset(222);
+        make.right.equalTo(bgView);
+        
+    }];
+    
+    self.tableView.backgroundView = bgView;
+    
+    YRHomeHeader *header = [[YRHomeHeader alloc]initWithFrame:CGRectMake(0, 0, self.view.width, 232)];
+    
+    self.tableView.tableHeaderView = header;
+    
+    YRHomeFooter *footer = [[YRHomeFooter alloc]initWithFrame:CGRectMake(0, 0, self.view.width, 200)];
+    
+    self.tableView.tableFooterView = footer;
+    
 }
 
+-(void)viewWillAppear:(BOOL)animated{
+    
+    [super viewWillAppear:animated];
+    //HexColor(@"#2D438F");
+    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@""] forBarMetrics: UIBarMetricsDefault];
+
+    self.navigationController.navigationBar.subviews[0].alpha = self.alapa;
+    
+    
+}
+
+-(void)viewDidAppear:(BOOL)animated{
+    
+    [super viewDidAppear:animated];
+    
+    //HexColor(@"#2D438F");
+    [self.navigationController.navigationBar setBackgroundImage:[UIImage imageNamed:@""] forBarMetrics: UIBarMetricsDefault];
+
+    self.navigationController.navigationBar.subviews[0].alpha = self.alapa;
+    
+}
 
 #pragma mark - delegate && dataSource
 
@@ -44,30 +108,75 @@
 
 -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
     
-    return 2;
+    return self.dataArr[section].count;
     
 }
 
 -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
     
-    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"YRUITableViewCellReid"];
+    if (indexPath.section == 0) {
+        
+        YRHomeNotiCell *cell = [tableView dequeueReusableCellWithIdentifier:@"YRHomeNotiCellReid"];
+        
+        if (!cell) {
+            
+            cell = [[YRHomeNotiCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"YRHomeNotiCellReid"];
+            cell.selectionStyle = UITableViewCellSelectionStyleNone;
+        }
+        
+        return cell;
+        
+        
+    }else if(indexPath.section == 1){
+        
+        YRHomeScheCell *cell = [tableView dequeueReusableCellWithIdentifier:@"YRHomeScheCellReid"];
+        
+        if (!cell) {
+            
+            cell = [[YRHomeScheCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"YRHomeScheCellReid"];
+            cell.selectionStyle = UITableViewCellSelectionStyleNone;
+            cell.model = self.dataArr[indexPath.section][indexPath.row];
+            
+        }
+        
+        return cell;
+        
+    }else{
+    
+    YRChartsCell *cell = [tableView dequeueReusableCellWithIdentifier:@"YRChartsCellReid"];
     
     if (!cell) {
         
-        cell = [[UITableViewCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"YRUITableViewCellReid"];
+        cell = [[YRChartsCell alloc]initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"YRChartsCellReid"];
         cell.selectionStyle = UITableViewCellSelectionStyleNone;
+        
     }
+        @weakify(self)
+        cell.allScreenClick = ^(YRChartModel * _Nonnull model) {
+          @strongify(self)
+            YRAllChartVC *chartVC = [YRAllChartVC new];
+            
+            [self presentViewController:chartVC animated:YES completion:nil];
+            
+            
+        };
     
-    
-    return cell;
+        return cell;
+        
+    }
+   
 }
 
 
 -(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
     
-    if (indexPath.section == 0) {
+    if (indexPath.section == 1) {
         
-        return 40;
+        return 50;
+        
+    }else if(indexPath.section == 2){
+        
+        return 214;
         
     }
     
@@ -77,13 +186,13 @@
 
 -(CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section{
     
-    if (section == 0) {
+    if (section == 1) {
         
         return 330;
         
     }else{
         
-        return 10;
+        return 40;
         
     }
     
@@ -91,28 +200,167 @@
 
 -(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section{
     
+    if (section == 0) {
+        
+        return 10;
+        
+    }else if(section == 1){
+        
+        return 80;
+        
+    }
+    
     return CGFLOAT_MIN;
     
 }
 
 -(UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section{
     
-    if (section == 0) {
+    if (section == 1) {
         
         return [YRHomeScheHeader new];
         
     }
     
-    return [UIView new];
+    NSArray *iconArr = @[@"UU首页_通知",@"",@"UU应用_报表"];
+    NSArray *titleArr = @[@"通知",@"",@"报表"];
+    
+    YRHomeSecHeader *header = [[YRHomeSecHeader alloc]initWithLeftIcon:iconArr[section] leftTitle:titleArr[section] rightTitle:@"全部" shouldBorder:NO rightClick:^(NSInteger index, NSString * _Nonnull str) {
+        
+    }];
+    
+    header.tag = section;
+    
+    return header;
     
 }
 
 -(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
     
-    return [UIView new];
+    if (section == 1) {
+        
+        YRHomeScheFooter *footer = [YRHomeScheFooter new];
+        
+        @weakify(self)
+        
+        footer.showMore = ^{
+          @strongify(self)
+            
+            if (self.dataArr[section].count == 3) {
+                
+                NSArray *timeArr = @[@"17:00",@"20:00",@"23:00"];
+                NSArray *typeArr = @[@"打卡",@"外勤",@"会议"];
+                NSArray *titleArr = @[@"今天天气非常好",@"英唐大厦6楼优软科技考察",@"2020年全面建成小康社会"];
+                for (int i=0; i<3; i++) {
+                    
+                    YRHomeScheModel *modelOne = [YRHomeScheModel new];
+                    modelOne.timeStr = timeArr[i];
+                    modelOne.typeStr = typeArr[i];
+                    modelOne.title = titleArr[i];
+                    [self.dataArr[section] addObject:modelOne];
+                    
+                }
+                
+                [self.tableView reloadData];
+                
+            }else{
+                
+            
+                for (int i=0; i<3; i++) {
+                    
+                    [self.dataArr[section] removeLastObject];
+                    
+                }
+            
+                [self.tableView reloadData];
+            }
+            
+        };
+        
+        
+        footer.addClick = ^{
+            @strongify(self)
+            
+            CGRect rect = [self.tableView rectForSection:1];
+            
+            YRHomeScheAddView *addView = [[YRHomeScheAddView alloc]initWithFrame:rect];
+            //新增日程
+            addView.hiddenAddView = ^{
+              
+                
+                
+            };
+            
+            [UIView animateWithDuration:0.2f animations:^{
+               
+                [tableView addSubview:addView];
+                
+            }];
+            
+        };
+        
+        return footer;
+        
+    }
+    
+    UIView *footer = [UIView new];
+    
+    footer.backgroundColor = HexColor(@"#E8E8E8");
+    
+    return footer;
     
 }
 
+-(void)scrollViewDidScroll:(UIScrollView *)scrollView{
+    
+    CGFloat yOffset = scrollView.contentOffset.y;
+    CGFloat scale = ABS(yOffset);
+    //向下滑动
+    if (yOffset<0) {
+        
+        [self.bgView.bgImage mas_updateConstraints:^(MASConstraintMaker *make) {
+            
+            make.left.equalTo(self.bgView).offset(-scale *0.4f);
+            make.right.equalTo(self.bgView).offset(scale*0.4f);
+            make.bottom.equalTo(self.bgView).offset(scale*1.3f);
+            
+        }];
+        
+    //向上滑动
+    }else if(yOffset>=0){
+        
+        if (yOffset > 210) {
+            
+            return;
+            
+        }
+        
+        if (yOffset < 20) {
+
+            self.navigationController.navigationBar.subviews[0].alpha = 0.0f;
+            self.alapa = 0.0f;
+            
+        }else{
+
+            CGFloat alpla = (yOffset-20)/200;
+            
+            self.navigationController.navigationBar.subviews[0].alpha = alpla;
+            
+            self.alapa = alpla;
+            
+        }
+        
+        [self.bgView mas_updateConstraints:^(MASConstraintMaker *make) {
+            
+            make.bottom.equalTo(self.bgView.superview.mas_top).offset(222-scale*0.6f);
+            
+        }];
+        
+    }
+    
+}
+
+#pragma mark -- lazy
 -(YRTableView *)tableView{
     
     if (!_tableView) {
@@ -121,10 +369,12 @@
         _tableView.delegate = self;
         _tableView.dataSource = self;
         _tableView.autoNoDataSet = NO;
+        _tableView.separatorStyle = UITableViewCellSeparatorStyleNone;
         _tableView.showsVerticalScrollIndicator = NO;
         CGFloat height = [UIApplication sharedApplication].statusBarFrame.size.height;
         _tableView.contentInset =  UIEdgeInsetsMake(-height, 0, 0, 0);
         
+        
     }
     
     return _tableView;
@@ -135,10 +385,40 @@
     if (!_dataArr) {
         
         _dataArr = [[NSMutableArray alloc]init];
-        [_dataArr addObject:@""];
-        [_dataArr addObject:@""];
-        [_dataArr addObject:@""];
-        [_dataArr addObject:@""];
+        
+        NSMutableArray *arrOne = [NSMutableArray new];
+        NSMutableArray *arrTwo = [NSMutableArray new];
+        NSMutableArray *arrThree = [NSMutableArray new];
+        
+        
+        NSArray *timeArr = @[@"4:00",@"14:00",@"18:00"];
+        NSArray *typeArr = @[@"打卡",@"外勤",@"会议"];
+        NSArray *titleArr = @[@"今天天气非常好",@"英唐大厦6楼优软科技考察",@"2020年全面建成小康社会"];
+        for (int i=0; i<3; i++) {
+            
+            YRHomeScheModel *modelOne = [YRHomeScheModel new];
+            modelOne.timeStr = timeArr[i];
+            modelOne.typeStr = typeArr[i];
+            modelOne.title = titleArr[i];
+            [arrTwo addObject:modelOne];
+            
+        }
+        
+        for (int i=0; i<3; i++) {
+            
+            YRHomeScheModel *modelOne = [YRHomeScheModel new];
+            modelOne.timeStr = timeArr[i];
+            modelOne.typeStr = typeArr[i];
+            modelOne.title = timeArr[i];
+            [arrOne addObject:modelOne];
+            [arrThree addObject:modelOne];
+            
+            
+        }
+        
+        [_dataArr addObject:arrOne];
+        [_dataArr addObject:arrTwo];
+        [_dataArr addObject:arrThree];
         
     }
     

+ 17 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Models/YRChartModel.h

@@ -0,0 +1,17 @@
+//
+//  YRChartModel.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/20.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRChartModel : NSObject
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 13 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Models/YRChartModel.m

@@ -0,0 +1,13 @@
+//
+//  YRChartModel.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/20.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRChartModel.h"
+
+@implementation YRChartModel
+
+@end

+ 21 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Models/YRHeaderAppModel.h

@@ -0,0 +1,21 @@
+//
+//  YRHeaderAppModel.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHeaderAppModel : NSObject
+
+@property (copy, nonatomic)NSString *icon;
+
+@property (copy, nonatomic)NSString *title;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 13 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Models/YRHeaderAppModel.m

@@ -0,0 +1,13 @@
+//
+//  YRHeaderAppModel.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHeaderAppModel.h"
+
+@implementation YRHeaderAppModel
+
+@end

+ 23 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Models/YRHomeScheModel.h

@@ -0,0 +1,23 @@
+//
+//  YRHomeScheModel.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHomeScheModel : NSObject
+
+@property (copy, nonatomic)NSString *timeStr;
+
+@property (copy, nonatomic)NSString *typeStr;
+
+@property (copy, nonatomic)NSString *title;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 13 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Models/YRHomeScheModel.m

@@ -0,0 +1,13 @@
+//
+//  YRHomeScheModel.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHomeScheModel.h"
+
+@implementation YRHomeScheModel
+
+@end

+ 19 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRChartsCell.h

@@ -0,0 +1,19 @@
+//
+//  YRChartsCell.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "YRChartModel.h"
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRChartsCell : UITableViewCell
+
+@property (copy, nonatomic)void(^allScreenClick)(YRChartModel *model);
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 122 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRChartsCell.m

@@ -0,0 +1,122 @@
+//
+//  YRChartsCell.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRChartsCell.h"
+#import "YRChartView.h"
+
+@interface YRChartsCell()
+
+@property (strong, nonatomic)UILabel *titleLabel;
+
+@property (strong, nonatomic)UIImageView *allIma;
+
+@property (strong, nonatomic)YRChartView *chartView;
+
+@end
+
+@implementation YRChartsCell
+
+- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
+    
+    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
+    
+    if (self) {
+        
+        [self createUI];
+        
+    }
+    
+    return self;
+}
+
+-(void)createUI{
+    
+    [self.contentView addSubview:self.titleLabel];
+    [self.contentView  addSubview:self.allIma];
+    [self.contentView addSubview:self.chartView];
+    
+    [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.equalTo(self.contentView).offset(10);
+        make.left.equalTo(self.contentView).offset(12);
+        make.width.mas_greaterThanOrEqualTo(@60);
+        make.height.mas_greaterThanOrEqualTo(@20);
+        
+    }];
+    
+    [self.allIma mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.centerY.equalTo(self.titleLabel);
+        make.width.height.mas_equalTo(20);
+        make.right.equalTo(self.contentView).offset(-16);
+        
+    }];
+    
+    [self.chartView mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.equalTo(self.contentView).offset(50);
+        make.left.equalTo(self.contentView).offset(20);
+        make.right.equalTo(self.contentView).offset(-20);
+        make.bottom.equalTo(self.contentView).offset(-24);
+        
+    }];
+    
+    
+}
+
+-(void)allScreenShow{
+    
+    if (self.allScreenClick) {
+        
+        self.allScreenClick([YRChartModel new]);
+        
+    }
+    
+}
+
+#pragma mark -- lazy
+
+-(UILabel *)titleLabel{
+    
+    if (!_titleLabel) {
+        
+        _titleLabel = [UILabel new];
+        _titleLabel.textColor = HexColor(@"#333333");
+        _titleLabel.font = FONT_SIZE(16);
+        _titleLabel.text = @"优软年度客户数量统计";
+        
+    }
+    
+    return _titleLabel;
+}
+
+-(UIImageView *)allIma{
+    
+    if (!_allIma) {
+        
+        _allIma = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"UU_报表_全屏"]];
+        _allIma.target = self;
+        _allIma.aSelector = @selector(allScreenShow);
+        
+    }
+    
+    return _allIma;
+}
+
+-(YRChartView *)chartView{
+    
+    if (!_chartView) {
+        
+        _chartView = [YRChartView new];
+        
+    }
+    
+    return _chartView;
+}
+
+@end

+ 19 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHeaderAppCell.h

@@ -0,0 +1,19 @@
+//
+//  YRHeaderAppCell.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "YRHeaderAppModel.h"
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHeaderAppCell : UICollectionViewCell
+
+@property (strong, nonatomic)YRHeaderAppModel *model;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 97 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHeaderAppCell.m

@@ -0,0 +1,97 @@
+//
+//  YRHeaderAppCell.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHeaderAppCell.h"
+
+@interface YRHeaderAppCell()
+
+@property(strong,nonatomic)UIImageView *iconView;
+
+@property(strong,nonatomic)UILabel *titleLabel;
+
+
+@end
+
+@implementation YRHeaderAppCell
+
+#pragma mark - lazy
+
+- (instancetype)initWithFrame:(CGRect)frame
+{
+    self = [super initWithFrame:frame];
+    if (self) {
+        
+        [self createUI];
+        
+    }
+    return self;
+}
+
+-(void)createUI{
+    
+    self.contentView.backgroundColor = [UIColor clearColor];
+    
+    [self.contentView addSubview:self.iconView];
+    
+    [self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.equalTo(self.contentView).offset(14);
+        make.centerX.equalTo(self.contentView);
+        make.width.height.mas_equalTo(40);
+    }];
+    
+    [self.contentView addSubview:self.titleLabel];
+    [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.equalTo(self.iconView.mas_bottom).offset(5);
+        make.left.right.equalTo(self.contentView);
+        make.height.mas_equalTo(20);
+    }];
+    
+    
+}
+
+
+- (void)setModel:(YRHeaderAppModel *)model{
+    
+    _model = model;
+    
+    self.iconView.image = [UIImage imageNamed:model.icon];
+    self.titleLabel.text = model.title;
+    
+    
+}
+
+#pragma mark - lazy
+-(UIImageView *)iconView{
+    if (!_iconView) {
+        
+        _iconView = [[UIImageView alloc]init];
+        _iconView.backgroundColor = [UIColor clearColor];
+        
+    }
+    
+    return _iconView;
+}
+
+-(UILabel *)titleLabel{
+    if (!_titleLabel) {
+        
+        _titleLabel = [UILabel new];
+        _titleLabel.textAlignment = NSTextAlignmentCenter;
+        _titleLabel.textColor = HexColor(@"333333");
+        _titleLabel.text = @"打卡";
+        
+        
+    }
+    
+    _titleLabel.font = FONT_SIZE(13);
+    
+    return _titleLabel;
+}
+
+@end

+ 17 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHeaderAppView.h

@@ -0,0 +1,17 @@
+//
+//  YRHeaderAppView.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHeaderAppView : UIView
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 182 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHeaderAppView.m

@@ -0,0 +1,182 @@
+//
+//  YRHeaderAppView.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHeaderAppView.h"
+#import "YRHeaderAppCell.h"
+@interface YRHeaderAppView()<UICollectionViewDelegate,UICollectionViewDataSource>
+
+@property (strong, nonatomic)UICollectionView *collView;
+
+@property (weak, nonatomic)UIPageControl *pageControl;
+
+@property (strong, nonatomic)NSMutableArray *dataArr;
+
+@end
+
+@implementation YRHeaderAppView
+
+- (instancetype)init
+{
+    self = [super init];
+    if (self) {
+        
+        [self createUI];
+        
+    }
+    return self;
+}
+
+-(void)createUI{
+    
+    self.backgroundColor = [UIColor clearColor];
+    
+    [self addSubview:self.collView];
+    
+    [self.collView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.top.left.right.equalTo(self);
+        make.bottom.equalTo(self).offset(-31);
+        
+    }];
+    
+    UIPageControl *pageControl = [UIPageControl new];
+    self.pageControl = pageControl;
+    pageControl.numberOfPages = (int)((float)(self.dataArr.count/4) + 0.6);
+    pageControl.currentPage = 0;
+    pageControl.pageIndicatorTintColor = HexColor(@"#E8E8E8");
+    pageControl.currentPageIndicatorTintColor = HexColor(@"#5988F3");
+    [self addSubview:pageControl];
+    
+    [pageControl mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.centerX.equalTo(self);
+        make.bottom.equalTo(self).offset(-10);
+        make.width.mas_equalTo(80);
+        make.height.mas_equalTo(6);
+        
+    }];
+    
+    
+}
+
+#pragma mark -- delegate && datasource
+-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
+    
+    return 1;
+    
+}
+
+-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{
+    
+    
+    return self.dataArr.count;
+    
+}
+
+
+
+-(__kindof UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{
+    
+    
+    YRHeaderAppCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"YRHeaderAppCellReid" forIndexPath:indexPath];
+    
+    cell.model = self.dataArr[indexPath.row];
+    
+    return cell;
+    
+}
+
+
+-(void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath{
+    
+    DLog(@"被点击了");
+    
+}
+
+-(void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{
+    
+    //获得宽度
+    CGFloat width = self.collView.bounds.size.width;
+    //获得x方向的偏移量
+    CGFloat offsetX = self.collView.contentOffset.x;
+    //计算当前显示页面
+    NSInteger page = offsetX/width;
+    
+    self.pageControl.currentPage = page;
+    
+}
+
+-(UICollectionView *)collView{
+    
+    if (!_collView) {
+        
+        UICollectionViewFlowLayout *flowLayout = [[UICollectionViewFlowLayout alloc]init];
+        
+        flowLayout.itemSize = CGSizeMake(SCREEN_WIDTH/4, 80);
+        
+        flowLayout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);
+        flowLayout.minimumLineSpacing = 0;
+        flowLayout.minimumInteritemSpacing = 0;
+        flowLayout.scrollDirection = UICollectionViewScrollDirectionHorizontal;
+        _collView = [[UICollectionView alloc]initWithFrame:CGRectZero collectionViewLayout:flowLayout];
+        _collView.backgroundColor = [UIColor clearColor];
+        _collView.delegate = self;
+        _collView.dataSource = self;
+        _collView.pagingEnabled = YES;
+        _collView.showsHorizontalScrollIndicator = NO;
+        _collView.bounces = NO;
+        _collView.backgroundColor = [UIColor clearColor];
+        [_collView registerClass:[YRHeaderAppCell class] forCellWithReuseIdentifier:@"YRHeaderAppCellReid"];
+        
+    }
+    
+    return _collView;
+    
+}
+
+-(NSMutableArray *)dataArr{
+    
+    if (!_dataArr) {
+        
+        _dataArr = [NSMutableArray array];
+        
+        NSArray *iconArr = @[@"UU应用_打卡",@"UU应用_审批",@"UU应用_工作报告",@"UU应用_请假",@"UU应用_出差",@"UU应用_添加"];
+        
+        NSArray *titleArr = @[@"打卡",@"审批",@"工作报告",@"请假",@"出差",@"添加"];;
+        
+        for (int i=0; i<iconArr.count; i++) {
+            
+            YRHeaderAppModel *model = [YRHeaderAppModel new];
+            model.icon = iconArr[i];
+            model.title = titleArr[i];
+            
+            [_dataArr addObject:model];
+            
+        }
+        
+        
+    }
+    
+    if (_dataArr.count%4 > 0) {
+    
+        int count =  _dataArr.count%4;
+        
+        for (int i=0; i<count; i++) {
+            
+            YRHeaderAppModel *model = [YRHeaderAppModel new];
+            
+            [_dataArr addObject:model];
+            
+        }
+        
+    }
+    
+    return _dataArr;
+}
+
+@end

+ 23 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeBgView.h

@@ -0,0 +1,23 @@
+//
+//  YRHomeBgView.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/20.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHomeBgView : UIView
+
+@property (strong, nonatomic)UIImageView *bgImage;
+
+@property (strong, nonatomic)UILabel *comLabel;
+
+@property (strong, nonatomic)UILabel *dateLabel;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 93 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeBgView.m

@@ -0,0 +1,93 @@
+//
+//  YRHomeBgView.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/20.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHomeBgView.h"
+#import "NSDate+extension.h"
+@interface YRHomeBgView()
+
+
+@end
+
+@implementation YRHomeBgView
+
+
+- (instancetype)initWithFrame:(CGRect)frame
+{
+    self = [super initWithFrame:frame];
+    if (self) {
+        
+        [self createUI];
+        
+    }
+    return self;
+}
+
+-(void)createUI{
+    
+    UIImageView *bgImaView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"uu_home_headerbg"]];
+    
+    self.bgImage = bgImaView;
+
+    [self addSubview:bgImaView];
+    
+    [bgImaView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.left.equalTo(self);
+        make.top.equalTo(self);
+        make.bottom.equalTo(self);
+        make.right.equalTo(self);
+        
+    }];
+    
+    self.comLabel = [UILabel new];
+    self.comLabel.font = FONT_SIZE(22);
+    self.comLabel.textColor = HexColor(@"#F5F5F5");
+    [self addSubview:self.comLabel];
+    self.comLabel.text = @"深圳市优软科技有限公司";
+    [self.comLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.left.equalTo(self).offset(19);
+        make.bottom.equalTo(self).offset(-146);
+        make.height.mas_equalTo(27);
+        make.width.mas_greaterThanOrEqualTo(@80);
+        
+    }];
+    
+    UILabel *dateLabel = [UILabel new];
+    dateLabel.font = FONT_SIZE(15);
+    dateLabel.textColor = HexColor(@"F5F5F5");
+    
+    self.dateLabel = dateLabel;
+    
+    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
+    dateFormatter.dateFormat = @"yyyy年MM月dd日";
+    
+    NSString *dateStr = [dateFormatter stringFromDate:[NSDate date]];
+    
+    dateFormatter.dateFormat = @"yyyy-MM-dd";
+    
+    NSString *weekStr = [NSDate weekDayStr:[dateFormatter stringFromDate:[NSDate date]]];
+    
+    dateStr = [dateStr stringByAppendingString:[NSString stringWithFormat:@" %@",weekStr]];
+    
+    dateLabel.text = dateStr;
+    
+    [self addSubview:dateLabel];
+    
+    [dateLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.left.equalTo(self).offset(19);
+        make.bottom.equalTo(self).offset(-122);
+        make.height.mas_equalTo(15);
+        make.width.mas_greaterThanOrEqualTo(@60);
+        
+    }];
+    
+}
+
+@end

+ 17 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeFooter.h

@@ -0,0 +1,17 @@
+//
+//  YRHomeFooter.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/20.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHomeFooter : UIView
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 60 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeFooter.m

@@ -0,0 +1,60 @@
+//
+//  YRHomeFooter.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/20.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHomeFooter.h"
+
+@implementation YRHomeFooter
+
+- (instancetype)initWithFrame:(CGRect)frame
+{
+    self = [super initWithFrame:frame];
+    if (self) {
+        
+        [self createUI];
+        
+    }
+    return self;
+}
+
+-(void)createUI{
+    
+    self.backgroundColor = HexColor(@"#F6F6F6");
+    
+    UIImageView *addView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"UU_首页_添加"]];
+    
+    [self addSubview:addView];
+    
+    [addView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.centerX.equalTo(self);
+        make.top.equalTo(self).offset(40);
+        make.width.height.mas_equalTo(50);
+        
+    }];
+    
+    
+    UILabel *bottomLabel = [UILabel new];
+    
+    [self addSubview:bottomLabel];
+    
+    bottomLabel.font = FONT_SIZE(14);
+    bottomLabel.text = @"到底啦~手下留情喔~";
+    bottomLabel.textColor = HexColor(@"#CCCCCC");
+    
+    [bottomLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.centerX.equalTo(self);
+        make.bottom.equalTo(self).offset(-40);
+        make.width.mas_greaterThanOrEqualTo(@60);
+        make.height.mas_greaterThanOrEqualTo(@40);
+        
+    }];
+    
+}
+
+@end

+ 18 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeHeader.h

@@ -0,0 +1,18 @@
+//
+//  YRHomeHeader.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <Foundation/Foundation.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHomeHeader : UIView
+
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 59 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeHeader.m

@@ -0,0 +1,59 @@
+//
+//  YRHomeHeader.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHomeHeader.h"
+#import "YRHeaderAppView.h"
+
+@interface YRHomeHeader()
+
+@property (strong, nonatomic)YRHeaderAppView *appView;
+
+@end
+
+@implementation YRHomeHeader
+
+- (instancetype)initWithFrame:(CGRect)frame
+{
+    self = [super initWithFrame:frame];
+    if (self) {
+        
+        [self createUI];
+        
+    }
+    return self;
+}
+
+-(void)createUI{
+    
+    UIView *content = [UIView new];
+    
+    content.backgroundColor = [UIColor clearColor];
+    
+    [self addSubview:content];
+    
+    [content mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.top.left.right.equalTo(self);
+        make.bottom.equalTo(self).offset(-10);
+        
+    }];
+    
+    self.appView = [YRHeaderAppView new];
+    
+    [content addSubview:self.appView];
+    
+    [self.appView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.top.equalTo(content).offset(118);
+        make.left.right.bottom.equalTo(content);
+        
+    }];
+    
+}
+
+@end

+ 17 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeNotiCell.h

@@ -0,0 +1,17 @@
+//
+//  YRHomeNotiCell.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHomeNotiCell : UITableViewCell
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 191 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeNotiCell.m

@@ -0,0 +1,191 @@
+//
+//  YRHomeNotiCell.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHomeNotiCell.h"
+
+@interface YRHomeNotiCell()
+
+@property (strong, nonatomic)UIImageView *iconView;
+
+@property (strong, nonatomic)UIView *remindView;
+
+@property (strong, nonatomic)UILabel *titleLabel;
+
+@property (strong, nonatomic)UILabel *dateLabel;
+
+@property (strong, nonatomic)UILabel *rightLabel;
+
+@property (strong, nonatomic)UIImageView *arrowIcon;
+
+@end
+
+@implementation YRHomeNotiCell
+
+- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
+    
+    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
+    
+    if (self) {
+        
+        [self createUI];
+        
+    }
+    
+    return self;
+}
+
+-(void)createUI{
+    
+    [self.contentView addSubview:self.iconView];
+    [self.contentView addSubview:self.remindView];
+    [self.contentView addSubview:self.titleLabel];
+    [self.contentView addSubview:self.dateLabel];
+    [self.contentView addSubview:self.rightLabel];
+    [self.contentView addSubview:self.arrowIcon];
+    [self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.left.equalTo(self.contentView).offset(14);
+        make.centerY.equalTo(self.contentView);
+        make.width.height.mas_equalTo(36);
+        
+    }];
+    
+    [self.remindView mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.left.equalTo(self.iconView.mas_right);
+        make.bottom.equalTo(self.iconView.mas_top);
+        make.width.height.mas_equalTo(6);
+        
+    }];
+    
+    [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.equalTo(self.iconView);
+        make.left.equalTo(self.iconView.mas_right).offset(9);
+        make.width.mas_greaterThanOrEqualTo(@40);
+        make.height.mas_equalTo(14);
+        
+    }];
+    
+    [self.dateLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.equalTo(self.titleLabel.mas_bottom).offset(3);
+        make.bottom.equalTo(self.iconView);
+        make.left.equalTo(self.titleLabel);
+        make.width.mas_greaterThanOrEqualTo(@40);
+        
+    }];
+    
+    [self.rightLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.centerY.equalTo(self.contentView);
+        make.right.equalTo(self.contentView).offset(-16);
+        make.height.mas_equalTo(18);
+        make.width.mas_greaterThanOrEqualTo(@20);
+        
+    }];
+    
+    [self.arrowIcon mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.left.equalTo(self.rightLabel.mas_right).offset(2);
+        make.centerY.equalTo(self.contentView);
+        make.width.height.mas_equalTo(14);
+        
+    }];
+    
+    
+}
+
+
+#pragma mark -- lazy
+-(UIImageView *)iconView{
+    
+    if (!_iconView) {
+        
+        _iconView = [UIImageView new];
+        _iconView.image = [UIImage imageNamed:@"UU应用_打卡"];
+        
+    }
+    
+    return _iconView;
+}
+
+-(UIView *)remindView{
+    
+    if (!_remindView) {
+        
+        _remindView = [UIView new];
+        _remindView.layer.cornerRadius = 3;
+        _remindView.backgroundColor = HexColor(@"D60000");
+        _remindView.layer.masksToBounds = YES;
+        
+    }
+    
+    return _remindView;
+}
+
+-(UILabel *)titleLabel{
+    
+    if (!_titleLabel) {
+        
+        _titleLabel = [UILabel new];
+        _titleLabel.text = @"未打卡提醒";
+        _titleLabel.textAlignment = NSTextAlignmentLeft;
+        _titleLabel.textColor = HexColor(@"#333333");
+        _titleLabel.font = FONT_SIZE(14);
+        
+    }
+    
+    return _titleLabel;
+    
+}
+
+-(UILabel *)dateLabel{
+    
+    if (!_dateLabel) {
+        
+        _dateLabel = [UILabel new];
+        _dateLabel.textAlignment = NSTextAlignmentLeft;
+        _dateLabel.textColor = HexColor(@"#999999");
+        _dateLabel.text = @"2019-09-19 16:00";
+        _dateLabel.font = FONT_SIZE(12);
+        
+        
+    }
+    
+    return _dateLabel;
+    
+}
+
+-(UILabel *)rightLabel{
+    
+    if (!_rightLabel) {
+        
+        _rightLabel = [UILabel new];
+        _rightLabel.textAlignment = NSTextAlignmentLeft;
+        _rightLabel.textColor = HexColor(@"#999999");
+        _rightLabel.text = @"去打卡》";
+        _rightLabel.font = FONT_SIZE(12);
+        
+    }
+    
+    return _rightLabel;
+    
+}
+
+-(UIImageView *)arrowIcon{
+    
+    if (!_arrowIcon) {
+        
+        _arrowIcon = [UIImageView new];
+        
+    }
+    return _arrowIcon;
+}
+
+@end

+ 19 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheAddView.h

@@ -0,0 +1,19 @@
+//
+//  YRHomeScheAddView.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/23.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHomeScheAddView : UIView
+
+@property (copy, nonatomic)void(^hiddenAddView)(void);
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 130 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheAddView.m

@@ -0,0 +1,130 @@
+//
+//  YRHomeScheAddView.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/23.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHomeScheAddView.h"
+#import "YRHomeScheItemView.h"
+@interface YRHomeScheAddView()
+
+@property (strong, nonatomic)NSMutableArray<YRHomeScheItemView *> *itemArr;
+
+@property (strong, nonatomic)UIImageView *addView;
+
+@end
+
+@implementation YRHomeScheAddView
+
+- (instancetype)initWithFrame:(CGRect)frame
+{
+    self = [super initWithFrame:frame];
+    if (self) {
+        
+        [self createUIWithFrame:frame];
+        
+    }
+    return self;
+}
+
+-(void)createUIWithFrame:(CGRect)frame{
+    
+    self.backgroundColor = [[UIColor whiteColor] colorWithAlphaComponent:0.6f];
+    
+    UIImageView *addImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"UU_Home_日程添加"]];
+    
+    addImage.frame = CGRectMake(frame.size.width-60, frame.size.height-70, 40, 40);
+    
+    [self addSubview:addImage];
+    
+    self.addView = addImage;
+    
+    addImage.target = self;
+    addImage.aSelector = @selector(hiddenSchedule);
+    
+    NSArray<NSString *> *iconArr = @[@"UU应用_工作报告",@"UU应用_审批",@"UU应用_出差",@"UU应用_请假"];
+    NSArray<NSString *> *titleArr = @[@"日程",@"外勤",@"出差",@"会议"];
+    self.itemArr = [NSMutableArray new];
+    
+    for (int i=0; i<iconArr.count; i++) {
+        
+        YRHomeScheItemView *itemView = [[YRHomeScheItemView alloc]initWithIcon:iconArr[i] title:titleArr[i]];
+        
+        itemView.tag = i+1;
+        
+        itemView.didClick = ^(NSInteger index) {
+          
+            [self hiddenSchedule];
+            
+        };
+        
+        itemView.center = self.addView.center;
+        itemView.width = 0;
+        itemView.height = 0;
+        
+        [self addSubview:itemView];
+        
+        [self.itemArr addObject:itemView];
+        
+    }
+    
+    
+    
+}
+
+-(void)hiddenSchedule{
+    
+    self.addView.transform = CGAffineTransformRotate(self.addView.transform, -M_PI_4);
+    
+    for (int i=0; i<self.itemArr.count; i++) {
+        
+        YRHomeScheItemView *itemView = self.itemArr[i];
+        
+        [UIView animateWithDuration:0.12f animations:^{
+           
+            itemView.center = self.addView.center;
+            itemView.width = 0;
+            itemView.height = 0;
+            
+        } completion:^(BOOL finished) {
+            
+            [self removeFromSuperview];
+            
+            if (self.hiddenAddView) {
+                
+                self.hiddenAddView();
+                
+            }
+            
+        }];
+        
+    }
+    
+}
+
+-(void)layoutSubviews{
+    
+    [super layoutSubviews];
+    
+    self.addView.transform = CGAffineTransformRotate(self.addView.transform, M_PI_4);
+    
+    CGFloat width = self.width/4;
+    
+    for (int i=0; i<self.itemArr.count; i++) {
+        
+        YRHomeScheItemView *itemView = self.itemArr[i];
+        
+        [UIView animateWithDuration:0.12f animations:^{
+           
+            itemView.frame = CGRectMake(width/2+i*width-30, self.frame.size.height-160, 60, 80);
+            
+        }];
+        
+    }
+    
+    
+}
+
+@end

+ 19 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheCell.h

@@ -0,0 +1,19 @@
+//
+//  YRHomeScheCell.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+#import "YRHomeScheModel.h"
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHomeScheCell : UITableViewCell
+
+@property(strong,nonatomic)YRHomeScheModel *model;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 194 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheCell.m

@@ -0,0 +1,194 @@
+//
+//  YRHomeScheCell.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHomeScheCell.h"
+
+@interface YRHomeScheCell()
+
+@property(strong,nonatomic)UIView *line;
+
+@property(strong,nonatomic)UIImageView *circle;
+
+@property(strong,nonatomic)UILabel *timeLabel;
+
+@property(strong,nonatomic)UILabel *typeLabel;
+
+@property(strong,nonatomic)UILabel *titleLabel;
+
+@end
+
+@implementation YRHomeScheCell
+
+- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier{
+    
+    self = [super initWithStyle:style reuseIdentifier:reuseIdentifier];
+    
+    if (self) {
+        
+        [self createUI];
+        
+    }
+    
+    return self;
+}
+
+-(void)createUI{
+    
+    [self.contentView addSubview:self.line];
+    [self.contentView addSubview:self.circle];
+    [self.contentView addSubview:self.timeLabel];
+    [self.contentView addSubview:self.typeLabel];
+    [self.contentView addSubview:self.titleLabel];
+    [self.line mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.bottom.equalTo(self.contentView);
+        make.left.equalTo(self.contentView).offset(20);;
+        make.width.mas_equalTo(1);
+        
+    }];
+    
+    [self.circle mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.center.equalTo(self.line);
+        make.width.height.mas_equalTo(8);
+        
+    }];
+    
+    [self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.bottom.equalTo(self.contentView);
+        make.left.equalTo(self.circle.mas_right).offset(2);
+        make.width.mas_equalTo(50);
+        
+    }];
+    
+    [self.typeLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.left.equalTo(self.timeLabel.mas_right).offset(5);
+        make.centerY.equalTo(self.contentView);
+        make.height.mas_equalTo(17);
+        make.width.mas_equalTo(34);
+        
+    }];
+    
+    [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.bottom.equalTo(self.contentView);
+        make.left.equalTo(self.typeLabel.mas_right).offset(10);;
+        make.right.equalTo(self.contentView).offset(-10);
+        
+    }];
+    
+    
+}
+
+-(void)setModel:(YRHomeScheModel *)model{
+    
+    _model = model;
+    
+    self.timeLabel.text = model.timeStr;
+    self.typeLabel.text = model.typeStr;
+    self.titleLabel.text = model.title;
+    
+    if ([model.typeStr isEqualToString:@"会议"]) {
+        
+        self.typeLabel.backgroundColor = HexColor(@"#5988F3");
+        
+    }else if([model.typeStr isEqualToString:@"外勤"]){
+        
+        self.typeLabel.backgroundColor = HexColor(@"#58B8BF");
+        
+    }else{
+        
+        self.typeLabel.backgroundColor =  HexColor(@"#F38E59");
+        
+    }
+    
+}
+
+#pragma mark -- lazy
+-(UIView *)line{
+    
+    if (!_line) {
+        
+        _line = [UIView new];
+        _line.backgroundColor = HexColor(@"#5988F3");
+        
+    }
+    
+    return _line;
+}
+
+-(UIView *)circle{
+    
+    if (!_circle) {
+        
+        _circle = [UIImageView new];
+        _circle.image = [UIImage imageNamed:@"UU_审批节点"];
+       
+    }
+    
+    return _circle;
+}
+
+-(UILabel *)timeLabel{
+    
+    if (!_timeLabel) {
+        
+        _timeLabel = [UILabel new];
+        _timeLabel.text = @"16:00";
+        _timeLabel.textAlignment = NSTextAlignmentCenter;
+        _timeLabel.textColor = [UIColor lightGrayColor];
+        _timeLabel.font = FONT_SIZE(16);
+        
+    }
+    
+    return _timeLabel;
+    
+}
+
+-(UILabel *)typeLabel{
+    
+    if (!_typeLabel) {
+        
+        _typeLabel = [UILabel new];
+        _typeLabel.textAlignment = NSTextAlignmentCenter;
+        _typeLabel.textColor = [UIColor whiteColor];
+        _typeLabel.backgroundColor = HexColor(@"#F38E59");
+        _typeLabel.text = @"会议";
+        _typeLabel.layer.cornerRadius = 4;
+        _typeLabel.layer.masksToBounds = YES;
+        _typeLabel.font = FONT_SIZE(10);
+        
+        
+    }
+    
+    return _typeLabel;
+    
+}
+
+-(UILabel *)titleLabel{
+    
+    if (!_titleLabel) {
+        
+        _titleLabel = [UILabel new];
+        _titleLabel.textAlignment = NSTextAlignmentLeft;
+        _titleLabel.textColor = [UIColor lightGrayColor];
+        _titleLabel.text = @"今天两点半有新的会议";
+        _titleLabel.font = FONT_SIZE(16);
+        
+    }
+    
+    return _titleLabel;
+    
+}
+
+
+
+
+@end

+ 21 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheFooter.h

@@ -0,0 +1,21 @@
+//
+//  YRHomeScheFooter.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/20.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHomeScheFooter : UIView
+
+@property (copy, nonatomic)void(^addClick)(void);
+
+@property (copy, nonatomic)void(^showMore)(void);
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 133 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheFooter.m

@@ -0,0 +1,133 @@
+//
+//  YRHomeScheFooter.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/20.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHomeScheFooter.h"
+
+@interface YRHomeScheFooter()
+
+@property (strong, nonatomic)UIImageView *addView;
+
+@end
+
+@implementation YRHomeScheFooter
+
+- (instancetype)init
+{
+    self = [super init];
+    if (self) {
+        
+        [self createUI];
+        
+    }
+    return self;
+}
+
+-(void)createUI{
+    
+    self.backgroundColor = HexColor(@"#E8E8E8");
+    
+    UIView *topView = [UIView new];
+    
+    topView.backgroundColor = [UIColor whiteColor];
+    
+    [self addSubview:topView];
+    
+    [topView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.top.left.right.equalTo(self);
+        make.bottom.equalTo(self).offset(-10);
+        
+    }];
+    
+    UIView *line = [UIView new];
+    line.backgroundColor = HexColor(@"#5988F3");
+    
+    [topView addSubview:line];
+    
+    [line mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.equalTo(self);
+        make.left.equalTo(self).offset(20);;
+        make.width.mas_equalTo(1);
+        make.height.mas_equalTo(10);
+        
+    }];
+    
+    UIImageView *circle = [UIImageView new];
+    circle.image = [UIImage imageNamed:@"UU_审批节点"];
+    [self addSubview:circle];
+    [circle mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.centerX.equalTo(line);
+        make.top.equalTo(line.mas_bottom);
+        make.width.height.mas_equalTo(8);
+        
+    }];
+    
+    UILabel *moreLabel = [UILabel new];
+    
+    moreLabel.font = FONT_SIZE(14);
+    moreLabel.textColor = HexColor(@"#697FB2");
+    
+    [self addSubview:moreLabel];
+    
+    moreLabel.text = @"⋯⋯ 更多";
+    
+    moreLabel.target = self;
+    moreLabel.aSelector = @selector(showMoreSchedule);
+    
+    [moreLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.left.equalTo(circle.mas_right).offset(8);
+        make.centerY.equalTo(circle);
+        make.width.mas_greaterThanOrEqualTo(@60);
+        make.height.mas_equalTo(20);
+        
+    }];
+    
+    
+    UIImageView *addImage = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"UU_Home_日程添加"]];
+    
+    [self addSubview:addImage];
+    
+    self.addView = addImage;
+    
+    [addImage mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.centerY.equalTo(self).offset(-10);
+        make.right.equalTo(self).offset(-20);
+        make.width.height.mas_equalTo(40);
+        
+    }];
+    
+    addImage.target = self;
+    addImage.aSelector = @selector(addSchedule);
+    
+}
+
+-(void)showMoreSchedule{
+    
+    if (self.showMore) {
+        
+        self.showMore();
+        
+    }
+    
+}
+
+-(void)addSchedule{
+    
+    if (self.addClick) {
+        
+        self.addClick();
+        
+    }
+    
+}
+
+@end

+ 157 - 171
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheHeader.m

@@ -7,21 +7,35 @@
 //
 
 #import "YRHomeScheHeader.h"
-#import <JTCalendar.h>
+#import "YRHomeSecHeader.h"
+#import <FSCalendar/FSCalendar.h>
+#import <EventKit/EventKit.h>
+#import "LunarFormatter.h"
+@interface YRHomeScheHeader()<FSCalendarDataSource,FSCalendarDelegate,FSCalendarDelegateAppearance>
 
-@interface YRHomeScheHeader()<JTCalendarDelegate>{
-    
-    NSMutableDictionary *_eventsByDate;
-    
-    NSDate *_dateSelected;
-}
+
+@property (strong, nonatomic) YRHomeSecHeader *topHeader;
+
+@property (weak, nonatomic) FSCalendar *calendar;
 
 
-@property (strong, nonatomic) JTCalendarMenuView *calendarMenuView;
-@property (strong, nonatomic) JTHorizontalCalendarView *calendarContentView;
+@property (assign, nonatomic) BOOL showsLunar;
+@property (assign, nonatomic) BOOL showsEvents;
+@property (assign,nonatomic)BOOL shouldDisplay;
 
-@property (strong, nonatomic) JTCalendarManager *calendarManager;
+@property (strong, nonatomic) NSCache *cache;
 
+@property (strong, nonatomic) NSCalendar *gregorian;
+@property (strong, nonatomic) NSDateFormatter *dateFormatter;
+
+@property (strong, nonatomic) NSDate *minimumDate;
+@property (strong, nonatomic) NSDate *maximumDate;
+
+@property (strong, nonatomic) LunarFormatter *lunarFormatter;
+@property (strong, nonatomic) NSArray<EKEvent *> *events;
+
+
+@property (strong, nonatomic) NSArray<NSString *> *datesWithEvent;
 
 @end
 
@@ -42,224 +56,196 @@
     
     self.backgroundColor = [UIColor whiteColor];
     
-    UIView *topView = [UIView new];
-    
-    topView.backgroundColor = [UIColor lightTextColor];
+    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
+    dateFormatter.dateFormat = @"yyyy年MM月";
     
-    [self addSubview:topView];
+    NSString *dateStr = [dateFormatter stringFromDate:[NSDate date]];
     
-    [topView mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.top.left.right.equalTo(self);
-        make.height.mas_equalTo(20);
+    self.topHeader = [[YRHomeSecHeader alloc]initWithLeftIcon:@"UU日历_日程" leftTitle:@"日程" rightTitle:dateStr shouldBorder:YES rightClick:^(NSInteger index, NSString * _Nonnull str) {
+        
+        
         
     }];
     
-    self.calendarMenuView = [JTCalendarMenuView new];
-    [self addSubview:self.calendarMenuView];
+    [self addSubview:self.topHeader];
     
-    [self.calendarMenuView mas_makeConstraints:^(MASConstraintMaker *make) {
+    [self.topHeader mas_makeConstraints:^(MASConstraintMaker *make) {
        
-        make.top.equalTo(topView.mas_bottom);
-        make.left.right.equalTo(self);
+        make.top.left.right.equalTo(self);
         make.height.mas_equalTo(40);
         
     }];
     
-    self.calendarContentView = [JTHorizontalCalendarView new];
-    self.calendarContentView.backgroundColor = [UIColor whiteColor];
-    [self addSubview:self.calendarContentView];
-    
-    [self.calendarContentView mas_makeConstraints:^(MASConstraintMaker *make) {
-       
-        make.top.equalTo(self.calendarMenuView.mas_bottom);
-        make.left.right.bottom.equalTo(self);
+    FSCalendar *calendar = [[FSCalendar alloc] init];
+    calendar.backgroundColor = [UIColor whiteColor];
+    calendar.dataSource = self;
+    calendar.delegate = self;
+    calendar.allowsMultipleSelection = NO;
+    calendar.firstWeekday = 2;
+    calendar.appearance.caseOptions = FSCalendarCaseOptionsWeekdayUsesSingleUpperCase|FSCalendarCaseOptionsHeaderUsesUpperCase;
+    [self addSubview:calendar];
+    self.calendar = calendar;
+    
+    [self.calendar mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.equalTo(self.topHeader.mas_bottom);
+        make.left.bottom.right.equalTo(self);
         
     }];
     
-    self.calendarManager = [JTCalendarManager new];
-    self.calendarManager.delegate = self;
-    
-    self.calendarMenuView.contentRatio = .75;
-    self.calendarManager.settings.weekDayFormat = JTCalendarWeekDayFormatSingle;
-    self.calendarManager.dateHelper.calendar.locale = [NSLocale localeWithLocaleIdentifier:@"zh_Hans"];
-    
-    [self.calendarManager setMenuView:self.calendarMenuView];
-    [self.calendarManager setContentView:self.calendarContentView];
-    [self.calendarManager setDate:[NSDate date]];
+    [self configCalendar];
     
 }
 
 
-#pragma mark - CalendarManager delegate
 
-// Exemple of implementation of prepareDayView method
-// Used to customize the appearance of dayView
-- (void)calendar:(JTCalendarManager *)calendar prepareDayView:(JTCalendarDayView *)dayView
-{
-    dayView.hidden = NO;
+-(void)configCalendar{
     
-    // Other month
-    if([dayView isFromAnotherMonth]){
-        dayView.hidden = YES;
-    }
-    // Today
-    else if([_calendarManager.dateHelper date:[NSDate date] isTheSameDayThan:dayView.date]){
-        dayView.circleView.hidden = NO;
-        dayView.circleView.backgroundColor = [UIColor blueColor];
-        dayView.dotView.backgroundColor = [UIColor whiteColor];
-        dayView.textLabel.textColor = [UIColor whiteColor];
-    }
-    // Selected date
-    else if(_dateSelected && [_calendarManager.dateHelper date:_dateSelected isTheSameDayThan:dayView.date]){
-        dayView.circleView.hidden = NO;
-        dayView.circleView.backgroundColor = [UIColor redColor];
-        dayView.dotView.backgroundColor = [UIColor yellowColor];
-        dayView.textLabel.textColor = [UIColor whiteColor];
-    }
-    // Another day of the current month
-    else{
-        dayView.circleView.hidden = YES;
-        dayView.dotView.backgroundColor = [UIColor redColor];
-        dayView.textLabel.textColor = [UIColor blackColor];
-    }
+    if (self.shouldDisplay) return;
     
-    if([self haveEventForDay:dayView.date]){
-        dayView.dotView.hidden = NO;
-    }
-    else{
-        dayView.dotView.hidden = NO;
-    }
-}
-
-- (void)calendar:(JTCalendarManager *)calendar didTouchDayView:(JTCalendarDayView *)dayView
-{
-    _dateSelected = dayView.date;
+    self.shouldDisplay = YES;
     
-    // Animation for the circleView
-    dayView.circleView.transform = CGAffineTransformScale(CGAffineTransformIdentity, 0.1, 0.1);
-    [UIView transitionWithView:dayView
-                      duration:.3
-                       options:0
-                    animations:^{
-                        dayView.circleView.transform = CGAffineTransformIdentity;
-                        [_calendarManager reload];
-                    } completion:nil];
+    self.lunarFormatter = [[LunarFormatter alloc] init];
     
+    self.gregorian = [[NSCalendar alloc] initWithCalendarIdentifier:NSCalendarIdentifierGregorian];
     
-    // Don't change page in week mode because block the selection of days in first and last weeks of the month
-    if(_calendarManager.settings.weekModeEnabled){
-        return;
-    }
+    NSLocale *chinese = [NSLocale localeWithLocaleIdentifier:@"zh-CN"];
+    self.dateFormatter = [[NSDateFormatter alloc] init];
+    self.dateFormatter.locale = chinese;
+    self.dateFormatter.dateFormat = @"yyyy-MM-dd";
     
-    // Load the previous or next page if touch a day from another month
+    self.showsLunar = YES;
+    self.showsEvents = YES;
+    
+    self.minimumDate = [self.dateFormatter dateFromString:@"1990-02-03"];
+    self.maximumDate = [self.dateFormatter dateFromString:@"2040-04-10"];
+    
+    self.calendar.accessibilityIdentifier = @"calendar";
+    self.calendar.locale = chinese;
+    UIView *weekBackView = [UIView new];
+    weekBackView.backgroundColor = HexColor(@"#E1E1E1");
+    [self.calendar.calendarWeekdayView insertSubview:weekBackView atIndex:0];
+    weekBackView.layer.cornerRadius = 4;
+    weekBackView.layer.masksToBounds = YES;
+    
+    [weekBackView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.left.equalTo(self.calendar.calendarWeekdayView).offset(10);
+        make.right.equalTo(self.calendar.calendarWeekdayView).offset(-10);
+        make.top.bottom.equalTo(self.calendar.calendarWeekdayView);
+    }];
+
+    self.calendar.headerHeight = 0;
+    self.calendar.appearance.weekdayTextColor = HexColor(@"#666666");
+    self.calendar.firstWeekday = 1;
+    [self loadCalendarEvents];
     
-    if(![_calendarManager.dateHelper date:_calendarContentView.date isTheSameMonthThan:dayView.date]){
-        if([_calendarContentView.date compare:dayView.date] == NSOrderedAscending){
-            [_calendarContentView loadNextPageWithAnimation];
-        }
-        else{
-            [_calendarContentView loadPreviousPageWithAnimation];
-        }
-    }
 }
 
-#pragma mark - Views customization
 
-- (UIView *)calendarBuildMenuItemView:(JTCalendarManager *)calendar
+#pragma mark - FSCalendarDataSource
+
+- (NSDate *)minimumDateForCalendar:(FSCalendar *)calendar
 {
-    UILabel *label = [UILabel new];
-    
-    label.textAlignment = NSTextAlignmentCenter;
-    label.font = [UIFont fontWithName:@"Avenir-Medium" size:12];
-    
-    return label;
+    return self.minimumDate;
 }
 
-- (void)calendar:(JTCalendarManager *)calendar prepareMenuItemView:(UILabel *)menuItemView date:(NSDate *)date
+- (NSDate *)maximumDateForCalendar:(FSCalendar *)calendar
 {
-    static NSDateFormatter *dateFormatter;
-    if(!dateFormatter){
-        dateFormatter = [NSDateFormatter new];
-        dateFormatter.dateFormat = @"MMMM yyyy";
-        
-        dateFormatter.locale = _calendarManager.dateHelper.calendar.locale;
-        dateFormatter.timeZone = _calendarManager.dateHelper.calendar.timeZone;
-    }
-    
-    menuItemView.text = [dateFormatter stringFromDate:date];
+    return self.maximumDate;
 }
 
-- (UIView<JTCalendarWeekDay> *)calendarBuildWeekDayView:(JTCalendarManager *)calendar
+- (NSString *)calendar:(FSCalendar *)calendar titleForDate:(NSDate *)date
 {
-    JTCalendarWeekDayView *view = [JTCalendarWeekDayView new];
-    
-    for(UILabel *label in view.dayViews){
-        label.textColor = [UIColor blackColor];
-        label.font = [UIFont fontWithName:@"Avenir-Light" size:14];
-    }
-    
-    return view;
+    return nil;
 }
 
-- (UIView<JTCalendarDay> *)calendarBuildDayView:(JTCalendarManager *)calendar
+- (NSString *)calendar:(FSCalendar *)calendar subtitleForDate:(NSDate *)date
 {
-    JTCalendarDayView *view = [JTCalendarDayView new];
-    
-    view.textLabel.font = [UIFont fontWithName:@"Avenir-Light" size:14];
-    
-    view.circleRatio = .8;
-    view.dotRatio = 1. / .9;
-    
-    return view;
+    if (self.showsEvents) {
+        EKEvent *event = [self eventsForDate:date].firstObject;
+        if (event) {
+            return event.title;
+        }
+    }
+    if (self.showsLunar) {
+        return [self.lunarFormatter stringFromDate:date];
+    }
+    return nil;
 }
 
-#pragma mark - Fake data
 
-// Used only to have a key for _eventsByDate
-- (NSDateFormatter *)dateFormatter
+#pragma mark - FSCalendarDelegate
+
+- (void)calendar:(FSCalendar *)calendar didSelectDate:(NSDate *)date atMonthPosition:(FSCalendarMonthPosition)monthPosition
 {
-    static NSDateFormatter *dateFormatter;
-    if(!dateFormatter){
-        dateFormatter = [NSDateFormatter new];
-        dateFormatter.dateFormat = @"dd-MM-yyyy";
-    }
-    
-    return dateFormatter;
+    self.topHeader.leftLabel.text =[NSString stringWithFormat:@"%@日程",[self.dateFormatter stringFromDate:date]];
 }
 
-- (BOOL)haveEventForDay:(NSDate *)date
+- (void)calendarCurrentPageDidChange:(FSCalendar *)calendar
 {
-    NSString *key = [[self dateFormatter] stringFromDate:date];
     
-    NSMutableArray *arr = _eventsByDate[key];
-    
-    if(arr && [arr count] > 0){
-        return YES;
-    }
-    
-    return NO;
+    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
+    dateFormatter.dateFormat = @"yyyy年MM月";
     
+    self.topHeader.rightLabel.text = [dateFormatter stringFromDate:calendar.currentPage];
 }
 
-- (void)createRandomEvents
+- (NSInteger)calendar:(FSCalendar *)calendar numberOfEventsForDate:(NSDate *)date
 {
-    _eventsByDate = [NSMutableDictionary new];
     
-    for(int i = 0; i < 30; ++i){
-        // Generate 30 random dates between now and 60 days later
-        NSDate *randomDate = [NSDate dateWithTimeInterval:(rand() % (3600 * 24 * 60)) sinceDate:[NSDate date]];
+    if ([self.datesWithEvent containsObject:[self.dateFormatter stringFromDate:date]]) {
         
-        // Use the date as key for eventsByDate
-        NSString *key = [[self dateFormatter] stringFromDate:randomDate];
+        return 1+arc4random_uniform(2);
         
-        if(!_eventsByDate[key]){
-            _eventsByDate[key] = [NSMutableArray new];
-        }
+    }else{
+        
+    return 0;
         
-        [_eventsByDate[key] addObject:randomDate];
     }
 }
 
+- (NSArray<UIColor *> *)calendar:(FSCalendar *)calendar appearance:(FSCalendarAppearance *)appearance eventDefaultColorsForDate:(NSDate *)date
+{
+    if (!self.showsEvents) return nil;
+    if (!self.events) return nil;
+    NSArray<EKEvent *> *events = [self eventsForDate:date];
+    NSMutableArray<UIColor *> *colors = [NSMutableArray arrayWithCapacity:events.count];
+    [events enumerateObjectsUsingBlock:^(EKEvent * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
+        [colors addObject:[UIColor colorWithCGColor:obj.calendar.CGColor]];
+    }];
+    return colors.copy;
+}
+
+- (void)loadCalendarEvents
+{
+   
+    self.datesWithEvent = @[@"2019-09-03",
+                            @"2019-09-07",
+                            @"2019-09-09",
+                            @"2019-09-13",
+                            @"2019-09-15",
+                            @"2019-09-25"];
+    
+    
+}
+
+- (NSArray<EKEvent *> *)eventsForDate:(NSDate *)date
+{
+    NSArray<EKEvent *> *events = [self.cache objectForKey:date];
+    if ([events isKindOfClass:[NSNull class]]) {
+        return nil;
+    }
+    NSArray<EKEvent *> *filteredEvents = [self.events filteredArrayUsingPredicate:[NSPredicate predicateWithBlock:^BOOL(EKEvent * _Nullable evaluatedObject, NSDictionary<NSString *,id> * _Nullable bindings) {
+        return [evaluatedObject.occurrenceDate isEqualToDate:date];
+    }]];
+    if (filteredEvents.count) {
+        [self.cache setObject:filteredEvents forKey:date];
+    } else {
+        [self.cache setObject:[NSNull null] forKey:date];
+    }
+    return filteredEvents;
+}
+
 
 @end

+ 21 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheItemView.h

@@ -0,0 +1,21 @@
+//
+//  YRHomeScheItemView.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/23.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHomeScheItemView : UIView
+
+@property (copy, nonatomic)void(^didClick)(NSInteger index);
+
+-(instancetype)initWithIcon:(NSString *)icon title:(NSString *)title;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 111 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeScheItemView.m

@@ -0,0 +1,111 @@
+//
+//  YRHomeScheItemView.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/23.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHomeScheItemView.h"
+
+
+@interface YRHomeScheItemView()
+
+@property (copy, nonatomic)NSString *iconName;
+
+@property (copy, nonatomic)NSString *title;
+
+@property(strong,nonatomic)UIImageView *iconView;
+
+@property(strong,nonatomic)UILabel *titleLabel;
+
+
+@end
+
+@implementation YRHomeScheItemView
+
+-(instancetype)initWithIcon:(NSString *)icon title:(NSString *)title{
+    
+    self = [super init];
+    
+    self.iconName = icon;
+    self.title = title;
+    
+    if (self) {
+        
+        [self createUI];
+        
+    }
+
+    return self;
+}
+
+-(void)createUI{
+    
+    self.backgroundColor = [UIColor clearColor];
+    
+    self.target =self;
+    self.aSelector = @selector(didClicked);
+    
+    [self addSubview:self.iconView];
+    
+    [self.iconView mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.equalTo(self).offset(8);
+        make.bottom.equalTo(self).offset(-32);
+        make.left.equalTo(self).offset(10);
+        make.right.equalTo(self).offset(-10);
+        
+    }];
+    
+    [self addSubview:self.titleLabel];
+    [self.titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.top.equalTo(self.iconView.mas_bottom).offset(5);
+        make.left.right.equalTo(self);
+        make.height.mas_equalTo(20);
+    }];
+    
+    
+}
+
+
+-(void)didClicked{
+    
+    if (self.didClick) {
+        
+        self.didClick(self.tag);
+        
+    }
+    
+}
+
+#pragma mark - lazy
+-(UIImageView *)iconView{
+    if (!_iconView) {
+        
+        _iconView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:self.iconName]];
+        _iconView.backgroundColor = [UIColor clearColor];
+        
+    }
+    
+    return _iconView;
+}
+
+-(UILabel *)titleLabel{
+    if (!_titleLabel) {
+        
+        _titleLabel = [UILabel new];
+        _titleLabel.textAlignment = NSTextAlignmentCenter;
+        _titleLabel.textColor = HexColor(@"333333");
+        _titleLabel.text = self.title;
+        
+        
+    }
+    
+    _titleLabel.font = FONT_SIZE(13);
+    
+    return _titleLabel;
+}
+
+
+@end

+ 23 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeSecHeader.h

@@ -0,0 +1,23 @@
+//
+//  YRHomeSecHeader.h
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import <UIKit/UIKit.h>
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface YRHomeSecHeader : UIView
+
+-(instancetype)initWithLeftIcon:(NSString *)icon leftTitle:(NSString *)leftTitle rightTitle:(NSString *)rightTitle shouldBorder:(BOOL)border rightClick:(void(^)(NSInteger index,NSString *str))didClick;
+
+@property (strong, nonatomic)UILabel *leftLabel;
+
+@property (strong, nonatomic)UILabel *rightLabel;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 111 - 0
UU_Ent/UU_Ent/Modules/Home/Main/Views/YRHomeSecHeader.m

@@ -0,0 +1,111 @@
+//
+//  YRHomeSecHeader.m
+//  UU_Ent
+//
+//  Created by liujl on 2019/9/19.
+//  Copyright © 2019 UAS. All rights reserved.
+//
+
+#import "YRHomeSecHeader.h"
+
+@interface YRHomeSecHeader()
+
+@property (copy, nonatomic)void(^didClick)(NSInteger index,NSString *str);
+
+@end
+
+@implementation YRHomeSecHeader
+
+-(instancetype)initWithLeftIcon:(NSString *)icon leftTitle:(NSString *)leftTitle rightTitle:(NSString *)rightTitle shouldBorder:(BOOL)border rightClick:(void(^)(NSInteger index,NSString *str))didClick{
+    
+    self = [super init];
+    
+    if (self) {
+        
+        self.didClick = didClick;
+        
+        [self createUiWithLeftIcon:icon leftTitle:leftTitle rightTitle:rightTitle shouldBorder:border];
+        
+    }
+    
+    
+    return self;
+    
+}
+
+-(void)createUiWithLeftIcon:(NSString *)icon leftTitle:(NSString *)leftTitle rightTitle:(NSString *)rightTitle shouldBorder:(BOOL)border{
+    
+    self.backgroundColor = [UIColor whiteColor];
+    
+    UIImageView *iconView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:icon]];
+    
+    [self addSubview:iconView];
+    
+    [iconView mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.left.equalTo(self).offset(13);
+        make.width.height.mas_equalTo(16);
+        make.centerY.equalTo(self);
+        
+    }];
+    
+    UILabel *leftLabel = [UILabel new];
+    [self addSubview:leftLabel];
+    leftLabel.text = leftTitle;
+    leftLabel.textAlignment = NSTextAlignmentLeft;
+    leftLabel.font = [UIFont systemFontOfSize:17];
+    leftLabel.textColor = HexColor(@"#333333");
+    [leftLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.equalTo(self).offset(8);
+        make.bottom.equalTo(self).offset(-8);
+        make.left.equalTo(iconView.mas_right).offset(5);
+        make.width.mas_equalTo(160);
+        
+    }];
+    
+    self.leftLabel = leftLabel;
+    
+    UILabel *rightLabel = [UILabel new];
+    [self addSubview:rightLabel];
+    //如果有边框
+    if (border) {
+     
+        rightLabel.layer.borderWidth = 1;
+        rightLabel.layer.borderColor = HexColor(@"#4682CB").CGColor;
+        rightLabel.layer.cornerRadius = 4;
+        rightLabel.layer.masksToBounds = YES;
+        
+    }
+    rightLabel.text = rightTitle;
+    rightLabel.textAlignment = NSTextAlignmentRight;
+    rightLabel.textColor = HexColor(@"#4682CB");
+    rightLabel.font = [UIFont systemFontOfSize:14];
+    [rightLabel mas_makeConstraints:^(MASConstraintMaker *make) {
+        
+        make.top.equalTo(self).offset(8);
+        make.bottom.equalTo(self).offset(-8);
+        make.right.equalTo(self).offset(-16);
+        make.width.mas_equalTo(86);
+        
+    }];
+    
+    self.rightLabel = rightLabel;
+    
+    rightLabel.target = self;
+    rightLabel.aSelector = @selector(rightClicked);
+    
+    
+}
+
+-(void)rightClicked{
+    
+    if (self.didClick) {
+        
+        self.didClick(self.tag, self.rightLabel.text);
+        
+    }
+    
+}
+
+@end

+ 1 - 1
UU_Ent/UU_Ent/Modules/Loading/Main/Controllers/YRLoadingVC.m

@@ -21,7 +21,7 @@
     // Do any additional setup after loading the view.
 }
 
--(void)setUpUI{
+-(void)createUI{
     
     [[YRLoadImgCacheTool shareInstance] getAppLoadImage];
     

+ 7 - 4
UU_Ent/UU_Ent/Modules/Login/Main/Controllers/YRLoginVC.m

@@ -249,7 +249,7 @@
 }
 
 #pragma mark --- 设置UI
--(void)setUpUI
+-(void)createUI
 {
     [self.view addSubview:self.scrollView];
     [self.scrollView mas_makeConstraints:^(MASConstraintMaker *make) {
@@ -303,12 +303,14 @@
     _phoneTF.textColor = HexColor(@"#FFFFFF");
     _phoneTF.keyboardType = UIKeyboardTypeNumberPad;
     _phoneTF.font = [UIFont systemFontOfSize:18];
-    [_phoneTF setValue:HexColor(@"#FFFFFF") forKeyPath:@"_placeholderLabel.textColor"];
+   
+    NSMutableAttributedString *placeholderString = [[NSMutableAttributedString alloc] initWithString:@"登录" attributes:@{NSForegroundColorAttributeName : HexColor(@"#FFFFFF")}];
+    _phoneTF.attributedPlaceholder = placeholderString;
+    
     [firstView addSubview:_phoneTF];
     [_phoneTF addTarget:self action:@selector(passConTextChange:) forControlEvents:UIControlEventEditingChanged];
     _phoneTF.text = [NSString encodeSeciWithStr:FORMAT(@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"userAccount"])];
     
-    
     _passwordTF = [[UITextField alloc] initWithFrame:CGRectMake(CGRectGetMaxX(password.frame)+14, 0, self_width-90, 50)];
     _passwordTF.delegate = self;
     _passwordTF.autocorrectionType = UITextAutocorrectionTypeNo;
@@ -324,7 +326,8 @@
     _passwordTF.backgroundColor = [UIColor clearColor];
     _passwordTF.textColor = HexColor(@"#FFFFFF");
     _passwordTF.font = [UIFont systemFontOfSize:18];
-    [_passwordTF setValue:HexColor(@"#FFFFFF") forKeyPath:@"_placeholderLabel.textColor"];
+    NSMutableAttributedString *placeholderPsd = [[NSMutableAttributedString alloc] initWithString:@"密码" attributes:@{NSForegroundColorAttributeName : HexColor(@"#FFFFFF")}];
+    _phoneTF.attributedPlaceholder = placeholderPsd;
     [secondView addSubview:_passwordTF];
     [_passwordTF addTarget:self action:@selector(pwdTextChanged:) forControlEvents:UIControlEventAllEditingEvents|UIControlEventValueChanged];
     _passwordTF.text = [NSString encodeSeciWithStr:FORMAT(@"%@",[[NSUserDefaults standardUserDefaults] objectForKey:@"userPassword"])];

+ 1 - 1
UU_Ent/UU_Ent/Modules/Login/Main/Controllers/YRRegisterVC.m

@@ -131,7 +131,7 @@
 }
 
 #pragma mark --- 创建UI
--(void)setUpUI
+-(void)createUI
 {
     [self.view addSubview:self.scrollView];
     [self.scrollView mas_makeConstraints:^(MASConstraintMaker *make) {

+ 2 - 2
UU_Ent/UU_Ent/Modules/Login/Main/Views/YRPwdLevelView.m

@@ -23,7 +23,7 @@
     
     if (self = [super initWithFrame:frame]) {
         
-        [self setupUI];
+        [self createUI];
         
     }
     
@@ -31,7 +31,7 @@
     
 }
 
--(void)setupUI{
+-(void)createUI{
     
     
     self.viewArr = [NSMutableArray array];

+ 14 - 10
UU_Ent/UU_Ent/Modules/Main/Main/Controllers/YRMainVC.m

@@ -31,7 +31,7 @@
     
     [self addChildControllers];
     
-    self.selectedIndex = 2;
+    self.selectedIndex = 1;
     
 }
 
@@ -45,7 +45,11 @@
     
     [self setValue:tarBar forKey:@"tabBar"];
     
-    self.tabBar.tintColor = HexColor(@"#1084D1");
+    [[UITabBar appearance] setBackgroundImage:[[UIImage alloc]init]];
+    
+    [[UITabBar appearance] setBackgroundColor:[UIColor whiteColor]];
+    
+    self.tabBar.tintColor = HexColor(@"#5988F3");
     
 }
 
@@ -53,16 +57,16 @@
 -(void)addChildControllers{
     
     YRMsgVC *msgVC = [YRMsgVC new];
-    YRContactVC *conVC = [YRContactVC new];
+//    YRContactVC *conVC = [YRContactVC new];
     YRHomeVC *homeVC = [YRHomeVC new];
-    YRWorkVC *workVC = [YRWorkVC new];
+//    YRWorkVC *workVC = [YRWorkVC new];
     YRMineVC *mineVC = [YRMineVC new];
     
-    [self subVcWith:msgVC title:@"消息" normalImgTitle:@"UU_TabMes_nor" selImgTitle:@"UU_TabMes_select"];
-    [self subVcWith:conVC title:@"联系人" normalImgTitle:@"UU_TabContact_nor" selImgTitle:@"UU_TabContact_select"];
-    [self subVcWith:homeVC title:@"首页" normalImgTitle:@"UU_TabMes_nor" selImgTitle:@"UU_TabContact_select"];
-    [self subVcWith:workVC title:@"工作" normalImgTitle:@"UU_TabWork_nor" selImgTitle:@"UU_TabWork_select"];
-    [self subVcWith:mineVC title:@"我" normalImgTitle:@"UU_TabMe_nor" selImgTitle:@"UU_TabMe_select"];
+    [self subVcWith:msgVC title:@"应用" normalImgTitle:@"UU_Tabbar_app_normal" selImgTitle:@"UU_Tabbar_app_normal"];
+//    [self subVcWith:conVC title:@"联系人" normalImgTitle:@"UU_TabContact_nor" selImgTitle:@"UU_TabContact_select"];
+    [self subVcWith:homeVC title:@"首页" normalImgTitle:@"UU_Tabbar_home" selImgTitle:@"UU_Tabbar_home"];
+//    [self subVcWith:workVC title:@"工作" normalImgTitle:@"UU_TabWork_nor" selImgTitle:@"UU_TabWork_select"];
+    [self subVcWith:mineVC title:@"我" normalImgTitle:@"UU_Tabbar_me" selImgTitle:@"UU_Tabbar_me"];
     
 }
 
@@ -70,7 +74,7 @@
     
     UIImage *norImg = [UIImage imageNamed:normalTitle];
     UIImage *selImg = [UIImage imageNamed:selTitle];
-    norImg = [norImg imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
+    norImg = [norImg imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
     selImg = [selImg imageWithRenderingMode:UIImageRenderingModeAlwaysTemplate];
     vc.tabBarItem.title = title;
     vc.tabBarItem.image = norImg;

+ 5 - 2
UU_Ent/UU_Ent/Modules/Main/Main/Views/YRTabBar.m

@@ -40,6 +40,8 @@
                     
                     UILabel *label = [UILabel new];
                     label.backgroundColor = [UIColor redColor];
+                    label.tintColor = [UIColor redColor];
+                    
                     if (index == 0) {
                         
                         label.layer.cornerRadius = 8;
@@ -75,7 +77,9 @@
                             
                             centerView.layer.masksToBounds = YES;
                             
-                            centerView.backgroundColor = HexColor(@"#4682CB");
+                            centerView.layer.borderWidth = 1;
+                            
+                            centerView.layer.borderColor = [UIColor whiteColor].CGColor;
                             
                             [view addSubview:centerView];
                             
@@ -86,7 +90,6 @@
                         
                         label.layer.cornerRadius = 5;
                         label.layer.masksToBounds = YES;
-                        
                         [viewOne addSubview:label];
                         
                         [label mas_makeConstraints:^(MASConstraintMaker *make) {

+ 27 - 3
UU_Ent/UU_Ent/Modules/Main/Main/Views/YRTabbarView.m

@@ -10,12 +10,36 @@
 
 @implementation YRTabbarView
 
--(void)drawRect:(CGRect)rect{
+- (instancetype)initWithFrame:(CGRect)frame
+{
+    self = [super initWithFrame:frame];
+    if (self) {
+        
+        [self createUI];
+        
+    }
+    return self;
+}
+
+-(void)createUI{
+    
+    self.backgroundColor = [UIColor whiteColor];
+    
+    UIImageView *imageView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"UU_Tabbar_home"]];
+    
+    [self addSubview:imageView];
+    
+    [imageView mas_makeConstraints:^(MASConstraintMaker *make) {
+       
+        make.top.equalTo(self).offset(6);
+        make.bottom.equalTo(self).offset(-6);
+        make.left.equalTo(self).offset(6);
+        make.right.equalTo(self).offset(-6);
+        
+    }];
     
-    [@"U" drawInRect:CGRectMake(rect.size.width/2-11, 8, 30, 30) withAttributes:@{NSForegroundColorAttributeName:[UIColor whiteColor], NSFontAttributeName:[UIFont systemFontOfSize:30]}];
     
 }
 
 
-
 @end

+ 1 - 6
UU_Ent/UU_Ent/Modules/Message/Main/Controllers/YRMsgVC.m

@@ -65,7 +65,7 @@
     
 }
 
--(void)setUpUI{
+-(void)createUI{
     
     self.navigationItem.title = @"消息";
     
@@ -179,7 +179,6 @@
             
         } completion:^(BOOL finished) {
             
-            
             self.tableView.contentInset = UIEdgeInsetsMake(0, 0, 0,0);
             
             self.headerView.hidden = YES;
@@ -445,14 +444,12 @@
         //展开状态下不允许下拉
         if(scrollView.contentOffset.y < -121){
             
-            
             [scrollView setContentOffset:CGPointMake(0, -121)];
             
             return;
             
         }
         
-        
         //当滑动距离上面小于70时
         if (scrollView.contentOffset.y > -70)
         {
@@ -477,8 +474,6 @@
                 
             }];
             
-            
-            
         }
         
     }

+ 2 - 2
UU_Ent/UU_Ent/Modules/Message/Main/Views/YRMsgHeader.m

@@ -49,14 +49,14 @@
     
     if (self) {
         
-        [self setUpUI];
+        [self createUI];
         
     }
     
     return self;
 }
 
--(void)setUpUI{
+-(void)createUI{
     
     //背景图
     UIImageView *mge = [[UIImageView alloc] init];

+ 2 - 2
UU_Ent/UU_Ent/Modules/Message/Main/Views/YRMsgMainCell.m

@@ -28,7 +28,7 @@
     
     if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
         
-        [self setUpUI];
+        [self createUI];
         
     }
     
@@ -36,7 +36,7 @@
 }
 
 
--(void)setUpUI{
+-(void)createUI{
     
     
     [self.contentView addSubview:self.iconView];

+ 1 - 1
UU_Ent/UU_Ent/Modules/Mine/Child/Setting/Controllers/YRSettingVC.m

@@ -147,7 +147,7 @@ static NSString *cellID = @"cellID";
 }
 
 #pragma mark --- 创建UI
--(void)setUpUI
+-(void)createUI
 {
     
     CGFloat height = 64;

+ 1 - 1
UU_Ent/UU_Ent/Modules/Mine/Main/Controllers/YRMineVC.m

@@ -316,7 +316,7 @@
 }
 
 #pragma mark --- 设置页面
--(void)setUpUI
+-(void)createUI
 {
     
     self.navigationItem.title = @"";

+ 2 - 2
UU_Ent/UU_Ent/Modules/Mine/Main/Views/YRMineCell.m

@@ -14,7 +14,7 @@
     
     if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
         
-        [self setUpUI];
+        [self createUI];
         
     }
     
@@ -36,7 +36,7 @@
 }
 
 #pragma mark --- 设置UI
--(void)setUpUI{
+-(void)createUI{
     _headImageV = [UIImageView new];
     [self.contentView addSubview:_headImageV];
     

+ 1 - 1
UU_Ent/UU_Ent/Modules/Web/Main/YRWebVC.m

@@ -26,7 +26,7 @@
 }
 
 
--(void)setUpUI{
+-(void)createUI{
     
 //    self.url = @"http://10.1.80.96:3000/homepage";
     

+ 1 - 1
UU_Ent/UU_Ent/Modules/Work/Docu/Controllers/YRDocuVC.m

@@ -24,7 +24,7 @@
     
 }
 
--(void)setUpUI{
+-(void)createUI{
     
     [self.view addSubview:self.tableView];
     

+ 2 - 2
UU_Ent/UU_Ent/Modules/Work/Docu/Views/YRDocuCell.m

@@ -24,7 +24,7 @@
     
     if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
         
-        [self setUpUI];
+        [self createUI];
         
     }
     
@@ -32,7 +32,7 @@
 }
 
 
--(void)setUpUI{
+-(void)createUI{
     
     
     self.selectionStyle = UITableViewCellSelectionStyleNone;

+ 1 - 1
UU_Ent/UU_Ent/Modules/Work/Main/Controllers/YRWorkVC.m

@@ -44,7 +44,7 @@
     
 }
 
--(void)setUpUI{
+-(void)createUI{
     
     self.navigationItem.title = @"工作";
     

+ 1 - 1
UU_Ent/UU_Ent/Modules/Work/Main/Others/work_route.json

@@ -3,7 +3,7 @@
     "data":[
         {"title":"通知公告",
             "id":"1",
-            "desVc": "YRBaseVC",
+            "desVc": "YRHomeVC",
             "code":"uas.notice",
             "desc":"通知公告",
         },

+ 2 - 2
UU_Ent/UU_Ent/Modules/Work/Main/Views/YRWorkTabCell.m

@@ -25,7 +25,7 @@
     
     if ([super initWithStyle:style reuseIdentifier:reuseIdentifier]) {
         
-        [self setUpUI];
+        [self createUI];
         
     }
     
@@ -34,7 +34,7 @@
     
 }
 
--(void)setUpUI{
+-(void)createUI{
     
     self.selectionStyle = UITableViewCellSelectionStyleNone;
     

+ 6 - 0
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/Contents.json

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

+ 23 - 0
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_Home_日程添加.imageset/Contents.json

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

BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_Home_日程添加.imageset/UU_Home_日程添加.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_Home_日程添加.imageset/UU_Home_日程添加@2x.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_Home_日程添加.imageset/UU_Home_日程添加@3x.png


+ 23 - 0
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_审批节点.imageset/Contents.json

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

BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_审批节点.imageset/UU_审批节点 .png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_审批节点.imageset/UU_审批节点 @2x.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_审批节点.imageset/UU_审批节点 @3x.png


+ 23 - 0
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_报表_全屏.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "UU_报表_全屏.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU_报表_全屏@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU_报表_全屏@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_报表_全屏.imageset/UU_报表_全屏.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_报表_全屏.imageset/UU_报表_全屏@2x.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_报表_全屏.imageset/UU_报表_全屏@3x.png


+ 23 - 0
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_首页_添加.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "UU_首页_添加.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU_首页_添加@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU_首页_添加@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_首页_添加.imageset/UU_首页_添加.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_首页_添加.imageset/UU_首页_添加@2x.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU_首页_添加.imageset/UU_首页_添加@3x.png


+ 23 - 0
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_出差.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_出差.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_出差@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_出差@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_出差.imageset/UU应用_出差.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_出差.imageset/UU应用_出差@2x.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_出差.imageset/UU应用_出差@3x.png


+ 23 - 0
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_审批.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_审批.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_审批@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_审批@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_审批.imageset/UU应用_审批.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_审批.imageset/UU应用_审批@2x.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_审批.imageset/UU应用_审批@3x.png


+ 23 - 0
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_工作报告.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_工作报告.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_工作报告@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_工作报告@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_工作报告.imageset/UU应用_工作报告.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_工作报告.imageset/UU应用_工作报告@2x.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_工作报告.imageset/UU应用_工作报告@3x.png


+ 23 - 0
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_打卡.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_打卡.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_打卡@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_打卡@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_打卡.imageset/UU应用_打卡.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_打卡.imageset/UU应用_打卡@2x.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_打卡.imageset/UU应用_打卡@3x.png


+ 23 - 0
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_报表.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_报表.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_报表@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_报表@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_报表.imageset/UU应用_报表.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_报表.imageset/UU应用_报表@2x.png


BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_报表.imageset/UU应用_报表@3x.png


+ 23 - 0
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_添加.imageset/Contents.json

@@ -0,0 +1,23 @@
+{
+  "images" : [
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_添加.png",
+      "scale" : "1x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_添加@2x.png",
+      "scale" : "2x"
+    },
+    {
+      "idiom" : "universal",
+      "filename" : "UU应用_添加@3x.png",
+      "scale" : "3x"
+    }
+  ],
+  "info" : {
+    "version" : 1,
+    "author" : "xcode"
+  }
+}

BIN
UU_Ent/UU_Ent/Supporting Files/Assets.xcassets/Resources/Home/UU应用_添加.imageset/UU应用_添加.png


برخی فایل ها در این مقایسه diff نمایش داده نمی شوند زیرا تعداد فایل ها بسیار زیاد است