Commit 0df4690b5a563dae1118527b0b20cf57d867fa98

Authored by Cao yang
1 parent df7add88
Exists in parentassistant

请假详情添加

Showing 73 changed files with 2885 additions and 2414 deletions   Show diff stats
ParentAssistant/ParentAssistant.xcodeproj/project.pbxproj
@@ -32,6 +32,16 @@ @@ -32,6 +32,16 @@
32 5993652C20528D5700C8B371 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5993652B20528D5700C8B371 /* MainViewController.swift */; }; 32 5993652C20528D5700C8B371 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5993652B20528D5700C8B371 /* MainViewController.swift */; };
33 59C0A9B8205375F800A8BB5A /* SelectCityViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C0A9B7205375F800A8BB5A /* SelectCityViewController.swift */; }; 33 59C0A9B8205375F800A8BB5A /* SelectCityViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C0A9B7205375F800A8BB5A /* SelectCityViewController.swift */; };
34 9FB4F6F97960021FB4F02BBE /* Pods_ParentAssistant.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EEE742C2FA920AEDF24728 /* Pods_ParentAssistant.framework */; }; 34 9FB4F6F97960021FB4F02BBE /* Pods_ParentAssistant.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EEE742C2FA920AEDF24728 /* Pods_ParentAssistant.framework */; };
  35 + AD122AB6208433BA00C7D0AD /* ProgramVacateDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD122AB5208433BA00C7D0AD /* ProgramVacateDetailViewController.swift */; };
  36 + AD122AB8208436F100C7D0AD /* ProgramVacateDetailView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD122AB7208436F100C7D0AD /* ProgramVacateDetailView.swift */; };
  37 + AD122ABB20843AD700C7D0AD /* ProgramVacateDetailCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD122AB920843AD700C7D0AD /* ProgramVacateDetailCell.swift */; };
  38 + AD122ABC20843AD700C7D0AD /* ProgramVacateDetailCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD122ABA20843AD700C7D0AD /* ProgramVacateDetailCell.xib */; };
  39 + AD122AC120843FAF00C7D0AD /* ProgramVacateTextFieldCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD122ABF20843FAE00C7D0AD /* ProgramVacateTextFieldCell.swift */; };
  40 + AD122AC220843FAF00C7D0AD /* ProgramVacateTextFieldCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD122AC020843FAF00C7D0AD /* ProgramVacateTextFieldCell.xib */; };
  41 + AD122AC5208442BC00C7D0AD /* ProgramVacateImageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD122AC3208442BC00C7D0AD /* ProgramVacateImageCell.swift */; };
  42 + AD122AC6208442BC00C7D0AD /* ProgramVacateImageCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD122AC4208442BC00C7D0AD /* ProgramVacateImageCell.xib */; };
  43 + AD122AC8208448E900C7D0AD /* ProgramVacateAddViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD122AC7208448E900C7D0AD /* ProgramVacateAddViewController.swift */; };
  44 + AD122ACA2084498F00C7D0AD /* ProgramVacateAddView.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD122AC92084498F00C7D0AD /* ProgramVacateAddView.swift */; };
35 AD198173207D9FB4009AB8B5 /* ProgramCheckViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD198172207D9FB4009AB8B5 /* ProgramCheckViewController.swift */; }; 45 AD198173207D9FB4009AB8B5 /* ProgramCheckViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD198172207D9FB4009AB8B5 /* ProgramCheckViewController.swift */; };
36 AD198175207D9FC1009AB8B5 /* ProgramCardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD198174207D9FC1009AB8B5 /* ProgramCardViewController.swift */; }; 46 AD198175207D9FC1009AB8B5 /* ProgramCardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD198174207D9FC1009AB8B5 /* ProgramCardViewController.swift */; };
37 AD198177207D9FF5009AB8B5 /* ProgramVacateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD198176207D9FF5009AB8B5 /* ProgramVacateViewController.swift */; }; 47 AD198177207D9FF5009AB8B5 /* ProgramVacateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD198176207D9FF5009AB8B5 /* ProgramVacateViewController.swift */; };
@@ -200,6 +210,16 @@ @@ -200,6 +210,16 @@
200 5993652B20528D5700C8B371 /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = "<group>"; }; 210 5993652B20528D5700C8B371 /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = "<group>"; };
201 59C0A9B7205375F800A8BB5A /* SelectCityViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectCityViewController.swift; sourceTree = "<group>"; }; 211 59C0A9B7205375F800A8BB5A /* SelectCityViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectCityViewController.swift; sourceTree = "<group>"; };
202 A6EEE742C2FA920AEDF24728 /* Pods_ParentAssistant.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ParentAssistant.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 212 A6EEE742C2FA920AEDF24728 /* Pods_ParentAssistant.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ParentAssistant.framework; sourceTree = BUILT_PRODUCTS_DIR; };
  213 + AD122AB5208433BA00C7D0AD /* ProgramVacateDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateDetailViewController.swift; sourceTree = "<group>"; };
  214 + AD122AB7208436F100C7D0AD /* ProgramVacateDetailView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateDetailView.swift; sourceTree = "<group>"; };
  215 + AD122AB920843AD700C7D0AD /* ProgramVacateDetailCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateDetailCell.swift; sourceTree = "<group>"; };
  216 + AD122ABA20843AD700C7D0AD /* ProgramVacateDetailCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ProgramVacateDetailCell.xib; sourceTree = "<group>"; };
  217 + AD122ABF20843FAE00C7D0AD /* ProgramVacateTextFieldCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateTextFieldCell.swift; sourceTree = "<group>"; };
  218 + AD122AC020843FAF00C7D0AD /* ProgramVacateTextFieldCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ProgramVacateTextFieldCell.xib; sourceTree = "<group>"; };
  219 + AD122AC3208442BC00C7D0AD /* ProgramVacateImageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateImageCell.swift; sourceTree = "<group>"; };
  220 + AD122AC4208442BC00C7D0AD /* ProgramVacateImageCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ProgramVacateImageCell.xib; sourceTree = "<group>"; };
  221 + AD122AC7208448E900C7D0AD /* ProgramVacateAddViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateAddViewController.swift; sourceTree = "<group>"; };
  222 + AD122AC92084498F00C7D0AD /* ProgramVacateAddView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateAddView.swift; sourceTree = "<group>"; };
203 AD198172207D9FB4009AB8B5 /* ProgramCheckViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramCheckViewController.swift; sourceTree = "<group>"; }; 223 AD198172207D9FB4009AB8B5 /* ProgramCheckViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramCheckViewController.swift; sourceTree = "<group>"; };
204 AD198174207D9FC1009AB8B5 /* ProgramCardViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramCardViewController.swift; sourceTree = "<group>"; }; 224 AD198174207D9FC1009AB8B5 /* ProgramCardViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramCardViewController.swift; sourceTree = "<group>"; };
205 AD198176207D9FF5009AB8B5 /* ProgramVacateViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateViewController.swift; sourceTree = "<group>"; }; 225 AD198176207D9FF5009AB8B5 /* ProgramVacateViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateViewController.swift; sourceTree = "<group>"; };
@@ -520,6 +540,57 @@ @@ -520,6 +540,57 @@
520 path = userCenter; 540 path = userCenter;
521 sourceTree = "<group>"; 541 sourceTree = "<group>";
522 }; 542 };
  543 + AD122ABD20843E8A00C7D0AD /* ProgramView */ = {
  544 + isa = PBXGroup;
  545 + children = (
  546 + AD122AC92084498F00C7D0AD /* ProgramVacateAddView.swift */,
  547 + AD122AB7208436F100C7D0AD /* ProgramVacateDetailView.swift */,
  548 + AD122AC3208442BC00C7D0AD /* ProgramVacateImageCell.swift */,
  549 + AD122AC4208442BC00C7D0AD /* ProgramVacateImageCell.xib */,
  550 + AD122ABF20843FAE00C7D0AD /* ProgramVacateTextFieldCell.swift */,
  551 + AD122AC020843FAF00C7D0AD /* ProgramVacateTextFieldCell.xib */,
  552 + AD122AB920843AD700C7D0AD /* ProgramVacateDetailCell.swift */,
  553 + AD122ABA20843AD700C7D0AD /* ProgramVacateDetailCell.xib */,
  554 + AD64A2BE207F289400B25E80 /* ProgramVacateTableViewCell.swift */,
  555 + AD64A2BF207F289400B25E80 /* ProgramVacateTableViewCell.xib */,
  556 + AD64A2C2207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift */,
  557 + AD64A2C4207F28EB00B25E80 /* ProgramVacateBodyTableViewCell.xib */,
  558 + AD5681C8208044860034A948 /* GrowCheckUpTableViewCell.swift */,
  559 + AD5681C9208044860034A948 /* GrowCheckUpTableViewCell.xib */,
  560 + AD5681CC2080449A0034A948 /* GrowCheckDownTableViewCell.swift */,
  561 + AD5681CD2080449A0034A948 /* GrowCheckDownTableViewCell.xib */,
  562 + );
  563 + path = ProgramView;
  564 + sourceTree = "<group>";
  565 + };
  566 + AD122ABE20843EEC00C7D0AD /* ReportView */ = {
  567 + isa = PBXGroup;
  568 + children = (
  569 + ADF159602069E00000A9485D /* CalendarView.swift */,
  570 + AD4BA4A820819AB000F83F13 /* ReportHeaderView.swift */,
  571 + AD4BA4AA20819CAD00F83F13 /* ReportHeaderCollectionViewCell.swift */,
  572 + AD4BA4AB20819CAD00F83F13 /* ReportHeaderCollectionViewCell.xib */,
  573 + ADC9AB75207C65FC00348EF1 /* GrowSubjectCell.swift */,
  574 + ADC9AB76207C65FC00348EF1 /* GrowSubjectCell.xib */,
  575 + AD65FB77206354220052415B /* MoralTableViewCell.swift */,
  576 + ADC9AB73207C64B300348EF1 /* MoralTableViewCell.xib */,
  577 + AD34D1192064C79D00989F8D /* MoralDetailCell.swift */,
  578 + ADC9AB79207C66A300348EF1 /* MoralDetailCell.xib */,
  579 + AD34D11B2064C7AE00989F8D /* EducationDetailCell.swift */,
  580 + ADC9AB7B207C66C300348EF1 /* EducationDetailCell.xib */,
  581 + AD34D11D2064C7C300989F8D /* BehaviorDetailCell.swift */,
  582 + ADC9AB7D207C66DA00348EF1 /* BehaviorDetailCell.xib */,
  583 + AD24AA1F2065FBAF00ECA428 /* SceneTopCell.swift */,
  584 + ADC9AB7F207C672800348EF1 /* SceneTopCell.xib */,
  585 + AD24AA212065FBC000ECA428 /* SceneMiddleCell.swift */,
  586 + ADC9AB81207C673300348EF1 /* SceneMiddleCell.xib */,
  587 + AD24AA232065FBD100ECA428 /* SceneDownCell.swift */,
  588 + ADC9AB83207C673C00348EF1 /* SceneDownCell.xib */,
  589 + ADAEA3992064C44900A47D2C /* LineChartView.swift */,
  590 + );
  591 + path = ReportView;
  592 + sourceTree = "<group>";
  593 + };
523 ADC9AB70207C558600348EF1 /* Model */ = { 594 ADC9AB70207C558600348EF1 /* Model */ = {
524 isa = PBXGroup; 595 isa = PBXGroup;
525 children = ( 596 children = (
@@ -544,6 +615,8 @@ @@ -544,6 +615,8 @@
544 AD198172207D9FB4009AB8B5 /* ProgramCheckViewController.swift */, 615 AD198172207D9FB4009AB8B5 /* ProgramCheckViewController.swift */,
545 AD198174207D9FC1009AB8B5 /* ProgramCardViewController.swift */, 616 AD198174207D9FC1009AB8B5 /* ProgramCardViewController.swift */,
546 AD198176207D9FF5009AB8B5 /* ProgramVacateViewController.swift */, 617 AD198176207D9FF5009AB8B5 /* ProgramVacateViewController.swift */,
  618 + AD122AB5208433BA00C7D0AD /* ProgramVacateDetailViewController.swift */,
  619 + AD122AC7208448E900C7D0AD /* ProgramVacateAddViewController.swift */,
547 ); 620 );
548 path = Program; 621 path = Program;
549 sourceTree = "<group>"; 622 sourceTree = "<group>";
@@ -590,35 +663,8 @@ @@ -590,35 +663,8 @@
590 BF3B829E2050CC7E002078EA /* View */ = { 663 BF3B829E2050CC7E002078EA /* View */ = {
591 isa = PBXGroup; 664 isa = PBXGroup;
592 children = ( 665 children = (
593 - ADF159602069E00000A9485D /* CalendarView.swift */,  
594 - AD4BA4A820819AB000F83F13 /* ReportHeaderView.swift */,  
595 - AD4BA4AA20819CAD00F83F13 /* ReportHeaderCollectionViewCell.swift */,  
596 - AD4BA4AB20819CAD00F83F13 /* ReportHeaderCollectionViewCell.xib */,  
597 - ADC9AB75207C65FC00348EF1 /* GrowSubjectCell.swift */,  
598 - ADC9AB76207C65FC00348EF1 /* GrowSubjectCell.xib */,  
599 - AD65FB77206354220052415B /* MoralTableViewCell.swift */,  
600 - ADC9AB73207C64B300348EF1 /* MoralTableViewCell.xib */,  
601 - AD34D1192064C79D00989F8D /* MoralDetailCell.swift */,  
602 - ADC9AB79207C66A300348EF1 /* MoralDetailCell.xib */,  
603 - AD34D11B2064C7AE00989F8D /* EducationDetailCell.swift */,  
604 - ADC9AB7B207C66C300348EF1 /* EducationDetailCell.xib */,  
605 - AD34D11D2064C7C300989F8D /* BehaviorDetailCell.swift */,  
606 - ADC9AB7D207C66DA00348EF1 /* BehaviorDetailCell.xib */,  
607 - AD24AA1F2065FBAF00ECA428 /* SceneTopCell.swift */,  
608 - ADC9AB7F207C672800348EF1 /* SceneTopCell.xib */,  
609 - AD24AA212065FBC000ECA428 /* SceneMiddleCell.swift */,  
610 - ADC9AB81207C673300348EF1 /* SceneMiddleCell.xib */,  
611 - AD24AA232065FBD100ECA428 /* SceneDownCell.swift */,  
612 - ADC9AB83207C673C00348EF1 /* SceneDownCell.xib */,  
613 - ADAEA3992064C44900A47D2C /* LineChartView.swift */,  
614 - AD64A2BE207F289400B25E80 /* ProgramVacateTableViewCell.swift */,  
615 - AD64A2BF207F289400B25E80 /* ProgramVacateTableViewCell.xib */,  
616 - AD64A2C2207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift */,  
617 - AD64A2C4207F28EB00B25E80 /* ProgramVacateBodyTableViewCell.xib */,  
618 - AD5681C8208044860034A948 /* GrowCheckUpTableViewCell.swift */,  
619 - AD5681C9208044860034A948 /* GrowCheckUpTableViewCell.xib */,  
620 - AD5681CC2080449A0034A948 /* GrowCheckDownTableViewCell.swift */,  
621 - AD5681CD2080449A0034A948 /* GrowCheckDownTableViewCell.xib */, 666 + AD122ABD20843E8A00C7D0AD /* ProgramView */,
  667 + AD122ABE20843EEC00C7D0AD /* ReportView */,
622 ); 668 );
623 path = View; 669 path = View;
624 sourceTree = "<group>"; 670 sourceTree = "<group>";
@@ -918,6 +964,7 @@ @@ -918,6 +964,7 @@
918 isa = PBXResourcesBuildPhase; 964 isa = PBXResourcesBuildPhase;
919 buildActionMask = 2147483647; 965 buildActionMask = 2147483647;
920 files = ( 966 files = (
  967 + AD122AC220843FAF00C7D0AD /* ProgramVacateTextFieldCell.xib in Resources */,
921 BF67F3BF20590A2F002FDC61 /* Info-watchOS.plist in Resources */, 968 BF67F3BF20590A2F002FDC61 /* Info-watchOS.plist in Resources */,
922 599364EB204E62E700C8B371 /* Information.storyboard in Resources */, 969 599364EB204E62E700C8B371 /* Information.storyboard in Resources */,
923 BF7A4C87204E338500460463 /* Info.plist in Resources */, 970 BF7A4C87204E338500460463 /* Info.plist in Resources */,
@@ -934,6 +981,7 @@ @@ -934,6 +981,7 @@
934 AD5681CF2080449A0034A948 /* GrowCheckDownTableViewCell.xib in Resources */, 981 AD5681CF2080449A0034A948 /* GrowCheckDownTableViewCell.xib in Resources */,
935 ADC9AB84207C673C00348EF1 /* SceneDownCell.xib in Resources */, 982 ADC9AB84207C673C00348EF1 /* SceneDownCell.xib in Resources */,
936 BFEAAAC8205257460072FAAF /* LXCalenderCell.xib in Resources */, 983 BFEAAAC8205257460072FAAF /* LXCalenderCell.xib in Resources */,
  984 + AD122ABC20843AD700C7D0AD /* ProgramVacateDetailCell.xib in Resources */,
937 599364F8204E648C00C8B371 /* ChannelCollectionViewCell.xib in Resources */, 985 599364F8204E648C00C8B371 /* ChannelCollectionViewCell.xib in Resources */,
938 BFEAAAC3205257460072FAAF /* LXCalendarHearder.xib in Resources */, 986 BFEAAAC3205257460072FAAF /* LXCalendarHearder.xib in Resources */,
939 59936501204E946300C8B371 /* UserCenter.storyboard in Resources */, 987 59936501204E946300C8B371 /* UserCenter.storyboard in Resources */,
@@ -949,6 +997,7 @@ @@ -949,6 +997,7 @@
949 AD64A2C5207F28EB00B25E80 /* ProgramVacateBodyTableViewCell.xib in Resources */, 997 AD64A2C5207F28EB00B25E80 /* ProgramVacateBodyTableViewCell.xib in Resources */,
950 BF7A4C84204E338500460463 /* Assets.xcassets in Resources */, 998 BF7A4C84204E338500460463 /* Assets.xcassets in Resources */,
951 BF7A4C85204E338500460463 /* LaunchScreen.storyboard in Resources */, 999 BF7A4C85204E338500460463 /* LaunchScreen.storyboard in Resources */,
  1000 + AD122AC6208442BC00C7D0AD /* ProgramVacateImageCell.xib in Resources */,
952 ADC9AB82207C673300348EF1 /* SceneMiddleCell.xib in Resources */, 1001 ADC9AB82207C673300348EF1 /* SceneMiddleCell.xib in Resources */,
953 ); 1002 );
954 runOnlyForDeploymentPostprocessing = 0; 1003 runOnlyForDeploymentPostprocessing = 0;
@@ -1043,6 +1092,7 @@ @@ -1043,6 +1092,7 @@
1043 BFEAAAD620525D620072FAAF /* LxButton.m in Sources */, 1092 BFEAAAD620525D620072FAAF /* LxButton.m in Sources */,
1044 5993652C20528D5700C8B371 /* MainViewController.swift in Sources */, 1093 5993652C20528D5700C8B371 /* MainViewController.swift in Sources */,
1045 5993652A2052553900C8B371 /* pinyin.c in Sources */, 1094 5993652A2052553900C8B371 /* pinyin.c in Sources */,
  1095 + AD122AB6208433BA00C7D0AD /* ProgramVacateDetailViewController.swift in Sources */,
1046 BFF9B7EF20577CD300F39B3E /* MyChildrenTableViewCell.swift in Sources */, 1096 BFF9B7EF20577CD300F39B3E /* MyChildrenTableViewCell.swift in Sources */,
1047 590944E22057DA73004478B5 /* utils.swift in Sources */, 1097 590944E22057DA73004478B5 /* utils.swift in Sources */,
1048 BFEAAAC9205257460072FAAF /* NSDate+GFCalendar.m in Sources */, 1098 BFEAAAC9205257460072FAAF /* NSDate+GFCalendar.m in Sources */,
@@ -1091,8 +1141,10 @@ @@ -1091,8 +1141,10 @@
1091 BF38847E205CDE2D00A240EF /* JSViewController.swift in Sources */, 1141 BF38847E205CDE2D00A240EF /* JSViewController.swift in Sources */,
1092 ADE33B312062202300BEA6E6 /* Macro.swift in Sources */, 1142 ADE33B312062202300BEA6E6 /* Macro.swift in Sources */,
1093 ADF159612069E00000A9485D /* CalendarView.swift in Sources */, 1143 ADF159612069E00000A9485D /* CalendarView.swift in Sources */,
  1144 + AD122ACA2084498F00C7D0AD /* ProgramVacateAddView.swift in Sources */,
1094 BF406CD82057B529000A6681 /* MessageTableViewCell.swift in Sources */, 1145 BF406CD82057B529000A6681 /* MessageTableViewCell.swift in Sources */,
1095 599364EC204E62E700C8B371 /* EvaluationViewController.swift in Sources */, 1146 599364EC204E62E700C8B371 /* EvaluationViewController.swift in Sources */,
  1147 + AD122ABB20843AD700C7D0AD /* ProgramVacateDetailCell.swift in Sources */,
1096 599364F0204E62E700C8B371 /* ReportViewController.swift in Sources */, 1148 599364F0204E62E700C8B371 /* ReportViewController.swift in Sources */,
1097 BF621CAE2056663C0040D2C1 /* LoginViewController.swift in Sources */, 1149 BF621CAE2056663C0040D2C1 /* LoginViewController.swift in Sources */,
1098 AD64A2C0207F289400B25E80 /* ProgramVacateTableViewCell.swift in Sources */, 1150 AD64A2C0207F289400B25E80 /* ProgramVacateTableViewCell.swift in Sources */,
@@ -1116,11 +1168,15 @@ @@ -1116,11 +1168,15 @@
1116 59936527205231A500C8B371 /* BaseCityChooseSchoolViewController.swift in Sources */, 1168 59936527205231A500C8B371 /* BaseCityChooseSchoolViewController.swift in Sources */,
1117 599364FB204E742000C8B371 /* ChannelSelectViewCollectionViewCell.swift in Sources */, 1169 599364FB204E742000C8B371 /* ChannelSelectViewCollectionViewCell.swift in Sources */,
1118 AD34D11A2064C79D00989F8D /* MoralDetailCell.swift in Sources */, 1170 AD34D11A2064C79D00989F8D /* MoralDetailCell.swift in Sources */,
  1171 + AD122AC8208448E900C7D0AD /* ProgramVacateAddViewController.swift in Sources */,
  1172 + AD122AB8208436F100C7D0AD /* ProgramVacateDetailView.swift in Sources */,
1119 BFBC06C82063AE8900CCFAFF /* ZLaunchAdCache.swift in Sources */, 1173 BFBC06C82063AE8900CCFAFF /* ZLaunchAdCache.swift in Sources */,
1120 BFF9B7F62057A4C900F39B3E /* ChildrenDetailViewController.swift in Sources */, 1174 BFF9B7F62057A4C900F39B3E /* ChildrenDetailViewController.swift in Sources */,
1121 599364FF204E945600C8B371 /* BindingViewController.swift in Sources */, 1175 599364FF204E945600C8B371 /* BindingViewController.swift in Sources */,
1122 590944E020579CFA004478B5 /* InvitationCodeVerificationViewController.swift in Sources */, 1176 590944E020579CFA004478B5 /* InvitationCodeVerificationViewController.swift in Sources */,
  1177 + AD122AC120843FAF00C7D0AD /* ProgramVacateTextFieldCell.swift in Sources */,
1123 ADC9AB77207C65FC00348EF1 /* GrowSubjectCell.swift in Sources */, 1178 ADC9AB77207C65FC00348EF1 /* GrowSubjectCell.swift in Sources */,
  1179 + AD122AC5208442BC00C7D0AD /* ProgramVacateImageCell.swift in Sources */,
1124 BFEAAAC5205257460072FAAF /* LXCalendarView.m in Sources */, 1180 BFEAAAC5205257460072FAAF /* LXCalendarView.m in Sources */,
1125 BFEAAADA20525D620072FAAF /* UIView+LX_Frame.m in Sources */, 1181 BFEAAADA20525D620072FAAF /* UIView+LX_Frame.m in Sources */,
1126 BF406CDA2057BEB8000A6681 /* OrderDetailModel.swift in Sources */, 1182 BF406CDA2057BEB8000A6681 /* OrderDetailModel.swift in Sources */,
ParentAssistant/ParentAssistant.xcworkspace/xcuserdata/caoyang.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramVacateAddViewController.swift 0 → 100644
@@ -0,0 +1,36 @@ @@ -0,0 +1,36 @@
  1 +//
  2 +// ProgramVacateAddViewController.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/16.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class ProgramVacateAddViewController: UIViewController {
  12 +
  13 + override func viewDidLoad() {
  14 + super.viewDidLoad()
  15 + let addView = ProgramVacateAddView.init(frame: self.view.bounds)
  16 + self.view.addSubview(addView)
  17 +
  18 + }
  19 +
  20 + override func didReceiveMemoryWarning() {
  21 + super.didReceiveMemoryWarning()
  22 + // Dispose of any resources that can be recreated.
  23 + }
  24 +
  25 +
  26 + /*
  27 + // MARK: - Navigation
  28 +
  29 + // In a storyboard-based application, you will often want to do a little preparation before navigation
  30 + override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
  31 + // Get the new view controller using segue.destinationViewController.
  32 + // Pass the selected object to the new view controller.
  33 + }
  34 + */
  35 +
  36 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramVacateDetailViewController.swift 0 → 100644
@@ -0,0 +1,25 @@ @@ -0,0 +1,25 @@
  1 +//
  2 +// ProgramVacateDetailViewController.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/16.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class ProgramVacateDetailViewController: UIViewController {
  12 +
  13 + override func viewDidLoad() {
  14 + super.viewDidLoad()
  15 + let view = ProgramVacateDetailView.init(frame: self.view.bounds)
  16 + self.view.addSubview(view)
  17 +
  18 + }
  19 +
  20 + override func didReceiveMemoryWarning() {
  21 + super.didReceiveMemoryWarning()
  22 + // Dispose of any resources that can be recreated.
  23 + }
  24 +
  25 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramVacateViewController.swift
@@ -29,6 +29,7 @@ class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableV @@ -29,6 +29,7 @@ class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableV
29 btn.backgroundColor = Theme.topBarColor() 29 btn.backgroundColor = Theme.topBarColor()
30 btn.layer.cornerRadius = 5 30 btn.layer.cornerRadius = 5
31 btn.clipsToBounds = true 31 btn.clipsToBounds = true
  32 + btn.addTarget(self, action: #selector(addVacateAction), for: UIControlEvents.touchUpInside)
32 return btn 33 return btn
33 }() 34 }()
34 35
@@ -39,6 +40,15 @@ class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableV @@ -39,6 +40,15 @@ class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableV
39 var vacateRecodeArray = Array<String>() 40 var vacateRecodeArray = Array<String>()
40 41
41 42
  43 + /// 请假页面
  44 + @objc func addVacateAction(){
  45 + print("申请请假!")
  46 + let vc = ProgramVacateAddViewController()
  47 + vc.title = "申请请假"
  48 + vc.view.backgroundColor = backGroundColor
  49 + self.navigationController?.pushViewController(vc, animated: true)
  50 + }
  51 +
42 override func viewDidLoad() { 52 override func viewDidLoad() {
43 super.viewDidLoad() 53 super.viewDidLoad()
44 self.view.backgroundColor = backGroundColor 54 self.view.backgroundColor = backGroundColor
@@ -131,7 +141,11 @@ class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableV @@ -131,7 +141,11 @@ class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableV
131 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { 141 func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
132 if indexPath.section == 1 && indexPath.row != 0 && vacateRecodeArray.count>0 { 142 if indexPath.section == 1 && indexPath.row != 0 && vacateRecodeArray.count>0 {
133 143
134 - 144 + print(indexPath.row)
  145 + let vc = ProgramVacateDetailViewController()
  146 + vc.view.backgroundColor = UIColor.white
  147 + vc.title = "请假详情"
  148 + self.navigationController?.pushViewController(vc, animated: true)
135 149
136 } 150 }
137 } 151 }
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/BehaviorDetailCell.swift
@@ -1,26 +0,0 @@ @@ -1,26 +0,0 @@
1 -//  
2 -// BehaviorDetailCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/3/23.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class BehaviorDetailCell: UITableViewCell {  
12 -  
13 - override func awakeFromNib() {  
14 - super.awakeFromNib()  
15 - self.backgroundColor = backgroundColor  
16 -  
17 - // Initialization code  
18 - }  
19 -  
20 - override func setSelected(_ selected: Bool, animated: Bool) {  
21 - super.setSelected(selected, animated: animated)  
22 -  
23 - // Configure the view for the selected state  
24 - }  
25 -  
26 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/BehaviorDetailCell.xib
@@ -1,81 +0,0 @@ @@ -1,81 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
10 - </dependencies>  
11 - <objects>  
12 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
13 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
14 - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="behaviorDetail" rowHeight="100" id="zN7-5X-oQz" customClass="BehaviorDetailCell" customModule="ParentAssistant" customModuleProvider="target">  
15 - <rect key="frame" x="0.0" y="0.0" width="375" height="100"/>  
16 - <autoresizingMask key="autoresizingMask"/>  
17 - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="zN7-5X-oQz" id="Gtu-zB-WzI">  
18 - <rect key="frame" x="0.0" y="0.0" width="375" height="99.5"/>  
19 - <autoresizingMask key="autoresizingMask"/>  
20 - <subviews>  
21 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="76r-RZ-tho">  
22 - <rect key="frame" x="10" y="10" width="355" height="89.5"/>  
23 - <subviews>  
24 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="绩点: 4.3 增长1.1分" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mH6-Ai-OpE">  
25 - <rect key="frame" x="10" y="38" width="104" height="14.5"/>  
26 - <fontDescription key="fontDescription" type="system" pointSize="12"/>  
27 - <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="0.98793343320000004" colorSpace="custom" customColorSpace="sRGB"/>  
28 - <nil key="highlightedColor"/>  
29 - </label>  
30 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="A-" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DUe-h2-dN9">  
31 - <rect key="frame" x="328.5" y="10" width="16.5" height="18"/>  
32 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
33 - <color key="textColor" red="0.29803921570000003" green="0.68627450980000004" blue="0.31372549020000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
34 - <nil key="highlightedColor"/>  
35 - </label>  
36 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="排名:第三名 增长1名" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="glA-wj-GXJ">  
37 - <rect key="frame" x="234" y="38" width="111" height="14.5"/>  
38 - <fontDescription key="fontDescription" type="system" pointSize="12"/>  
39 - <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
40 - <nil key="highlightedColor"/>  
41 - </label>  
42 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="行为规范" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OVR-sG-smq">  
43 - <rect key="frame" x="10" y="10" width="61.5" height="18"/>  
44 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
45 - <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
46 - <nil key="highlightedColor"/>  
47 - </label>  
48 - </subviews>  
49 - <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
50 - <constraints>  
51 - <constraint firstItem="glA-wj-GXJ" firstAttribute="top" secondItem="DUe-h2-dN9" secondAttribute="bottom" constant="10" id="4Ze-0C-dLN"/>  
52 - <constraint firstItem="mH6-Ai-OpE" firstAttribute="top" secondItem="OVR-sG-smq" secondAttribute="bottom" constant="10" id="BMB-8a-7Kz"/>  
53 - <constraint firstItem="glA-wj-GXJ" firstAttribute="trailing" secondItem="DUe-h2-dN9" secondAttribute="trailing" id="Ftf-IM-Puk"/>  
54 - <constraint firstItem="DUe-h2-dN9" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="76r-RZ-tho" secondAttribute="leading" constant="20" symbolic="YES" id="HW2-3P-Vzm"/>  
55 - <constraint firstItem="glA-wj-GXJ" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="76r-RZ-tho" secondAttribute="leading" constant="20" symbolic="YES" id="LIh-3G-SNA"/>  
56 - <constraint firstItem="OVR-sG-smq" firstAttribute="leading" secondItem="76r-RZ-tho" secondAttribute="leading" constant="10" id="V5g-0Z-H0O"/>  
57 - <constraint firstItem="DUe-h2-dN9" firstAttribute="trailing" secondItem="76r-RZ-tho" secondAttribute="trailing" constant="-10" id="b3j-TC-hf6"/>  
58 - <constraint firstItem="DUe-h2-dN9" firstAttribute="top" secondItem="76r-RZ-tho" secondAttribute="top" constant="10" id="h1k-v2-SAR"/>  
59 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="mH6-Ai-OpE" secondAttribute="trailing" constant="20" symbolic="YES" id="hTc-kN-FTh"/>  
60 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="OVR-sG-smq" secondAttribute="trailing" constant="20" symbolic="YES" id="rvd-wF-X9o"/>  
61 - <constraint firstItem="mH6-Ai-OpE" firstAttribute="leading" secondItem="OVR-sG-smq" secondAttribute="leading" id="wtd-Yg-b00"/>  
62 - <constraint firstItem="OVR-sG-smq" firstAttribute="top" secondItem="76r-RZ-tho" secondAttribute="top" constant="10" id="xGf-T4-GmH"/>  
63 - </constraints>  
64 - <userDefinedRuntimeAttributes>  
65 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
66 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
67 - <integer key="value" value="5"/>  
68 - </userDefinedRuntimeAttribute>  
69 - </userDefinedRuntimeAttributes>  
70 - </view>  
71 - </subviews>  
72 - <constraints>  
73 - <constraint firstAttribute="trailing" secondItem="76r-RZ-tho" secondAttribute="trailing" constant="10" id="fOu-mh-1We"/>  
74 - <constraint firstItem="76r-RZ-tho" firstAttribute="top" secondItem="Gtu-zB-WzI" secondAttribute="top" constant="10" id="sQm-Xh-jD6"/>  
75 - <constraint firstAttribute="bottom" secondItem="76r-RZ-tho" secondAttribute="bottom" id="vjy-wG-tNT"/>  
76 - <constraint firstItem="76r-RZ-tho" firstAttribute="leading" secondItem="Gtu-zB-WzI" secondAttribute="leading" constant="10" id="zdb-iO-e5r"/>  
77 - </constraints>  
78 - </tableViewCellContentView>  
79 - </tableViewCell>  
80 - </objects>  
81 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/CalendarView.swift
@@ -1,99 +0,0 @@ @@ -1,99 +0,0 @@
1 -//  
2 -// CalendarView.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/3/27.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class CalendarView: UIView,UICollectionViewDelegate,UICollectionViewDataSource {  
12 -  
13 -  
14 - var weekLab = ["日","一","二","三","四","五","六"]  
15 - var firstDay = Int()  
16 - var monthDay = Int()  
17 - var todayDay = Int()  
18 -  
19 - override init(frame: CGRect) {  
20 - super.init(frame: frame)  
21 - self.drawCalendarView(frame: frame)  
22 - }  
23 -  
24 - func drawCalendarView(frame:CGRect) {  
25 -  
26 -  
27 - self.firstDay = CalendarDateManager.shared.getFirstMonthDays()  
28 - self.monthDay = CalendarDateManager.shared.getCurrentMonthDay()  
29 - self.todayDay = CalendarDateManager.shared.getTodayDate()  
30 - //设置layout  
31 - let flowlayout = UICollectionViewFlowLayout()  
32 - flowlayout.itemSize = CGSize.init(width: screenWidth/7, height:40)  
33 - flowlayout.minimumLineSpacing = 0  
34 - flowlayout.minimumInteritemSpacing = 0  
35 - flowlayout.headerReferenceSize = CGSize.init(width: 0, height: 0)  
36 - flowlayout.footerReferenceSize = CGSize.init(width: 0, height: 0)  
37 - flowlayout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0)  
38 -  
39 - let calendarView = UICollectionView.init(frame: frame, collectionViewLayout: flowlayout)  
40 - calendarView.delegate = self  
41 - calendarView.dataSource = self  
42 - calendarView.backgroundColor = UIColor.white  
43 - calendarView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "calendarCell")  
44 - self.addSubview(calendarView)  
45 - }  
46 -  
47 - //MARK: - Delegate  
48 - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {  
49 - return weekLab.count + monthDay + firstDay - 1  
50 - }  
51 -  
52 - func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {  
53 -  
54 - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "calendarCell", for: indexPath)  
55 - let lab = UILabel.init(frame: cell.bounds)  
56 -  
57 - if indexPath.row < weekLab.count {  
58 - lab.text = weekLab[indexPath.row]  
59 - }else{  
60 - // 超出这个月显示为空  
61 - if indexPath.row+1 >= firstDay+7 && indexPath.row < monthDay+7+firstDay {  
62 - lab.text = "\(indexPath.row+1-firstDay-7+1)"  
63 - }else{  
64 - lab.text = ""  
65 - }  
66 - }  
67 - // 设置日期颜色  
68 - if indexPath.row+1 > todayDay+7+firstDay-1{  
69 - lab.textColor = UIColor.gray  
70 - }else  
71 - if indexPath.row+1 == todayDay+7+firstDay-1 {  
72 - lab.textColor = UIColor.red  
73 - }else{  
74 - lab.textColor = UIColor.black  
75 - }  
76 -  
77 - lab.textAlignment = .center  
78 - cell.addSubview(lab)  
79 - return cell  
80 -  
81 - }  
82 - func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {  
83 - if indexPath.row >= firstDay-1+7 && indexPath.row < todayDay+7+firstDay-1 {  
84 - print("点击了 ...\(indexPath.row+1-7-firstDay+1)号")  
85 - }  
86 - }  
87 - required init?(coder aDecoder: NSCoder) {  
88 - fatalError("init(coder:) has not been implemented")  
89 - }  
90 -  
91 - /*  
92 - // Only override draw() if you perform custom drawing.  
93 - // An empty implementation adversely affects performance during animation.  
94 - override func draw(_ rect: CGRect) {  
95 - // Drawing code  
96 - }  
97 - */  
98 -  
99 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/EducationDetailCell.swift
@@ -1,45 +0,0 @@ @@ -1,45 +0,0 @@
1 -//  
2 -// EducationDetailCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/3/23.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class EducationDetailCell: UITableViewCell {  
12 -  
13 - @IBOutlet weak var lineChartView: UIView!  
14 -  
15 - var customLineChart = LineChartView()  
16 -  
17 - override func awakeFromNib() {  
18 - super.awakeFromNib()  
19 - self.backgroundColor = backgroundColor  
20 -  
21 - let rect = self.lineChartView.bounds  
22 - print(rect)  
23 - customLineChart = LineChartView.init(frame: rect)  
24 - customLineChart.drawUI(xLableArr: nil)  
25 - let arr1 = [4,4,2,1,3]  
26 - let arr2 = [2,1,4,4,5]  
27 -  
28 - customLineChart.drawLine(point: arr1, color: UIColorWithRGB(R: 65, G: 105, B: 190))  
29 - customLineChart.drawLine(point: arr2, color: UIColorWithRGB(R: 220, G: 0, B: 16))  
30 -  
31 -  
32 -  
33 - self.lineChartView.addSubview(customLineChart)  
34 -  
35 -  
36 - // Initialization code  
37 - }  
38 -  
39 - override func setSelected(_ selected: Bool, animated: Bool) {  
40 - super.setSelected(selected, animated: animated)  
41 -  
42 - // Configure the view for the selected state  
43 - }  
44 -  
45 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/EducationDetailCell.xib
@@ -1,105 +0,0 @@ @@ -1,105 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="Alignment constraints with different attributes" minToolsVersion="5.1"/>  
10 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
11 - </dependencies>  
12 - <objects>  
13 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
14 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
15 - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="educationDetail" rowHeight="280" id="kpS-dg-IFL" customClass="EducationDetailCell" customModule="ParentAssistant" customModuleProvider="target">  
16 - <rect key="frame" x="0.0" y="0.0" width="375" height="280"/>  
17 - <autoresizingMask key="autoresizingMask"/>  
18 - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="kpS-dg-IFL" id="pme-x3-3eS">  
19 - <rect key="frame" x="0.0" y="0.0" width="375" height="279.5"/>  
20 - <autoresizingMask key="autoresizingMask"/>  
21 - <subviews>  
22 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8hE-eE-nri">  
23 - <rect key="frame" x="10" y="10" width="355" height="269.5"/>  
24 - <subviews>  
25 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="昨日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Pj-Ux-aqd">  
26 - <rect key="frame" x="227.5" y="10" width="31" height="18"/>  
27 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
28 - <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
29 - <nil key="highlightedColor"/>  
30 - </label>  
31 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="I73-88-oNc">  
32 - <rect key="frame" x="70.5" y="10" width="16" height="16"/>  
33 - <color key="backgroundColor" red="0.25490196079999999" green="0.41176470590000003" blue="0.74509803919999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
34 - <constraints>  
35 - <constraint firstAttribute="height" constant="16" id="3O6-T5-jl7"/>  
36 - <constraint firstAttribute="width" constant="16" id="Pqm-xN-sXA"/>  
37 - </constraints>  
38 - <userDefinedRuntimeAttributes>  
39 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
40 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
41 - <integer key="value" value="8"/>  
42 - </userDefinedRuntimeAttribute>  
43 - </userDefinedRuntimeAttributes>  
44 - </view>  
45 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VqB-il-dfx">  
46 - <rect key="frame" x="201.5" y="10" width="16" height="16"/>  
47 - <color key="backgroundColor" red="0.86274509799999999" green="0.0" blue="0.062745098040000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
48 - <constraints>  
49 - <constraint firstAttribute="width" constant="16" id="YEO-NU-qhN"/>  
50 - <constraint firstAttribute="height" constant="16" id="isE-pa-4SB"/>  
51 - </constraints>  
52 - <userDefinedRuntimeAttributes>  
53 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
54 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
55 - <integer key="value" value="8"/>  
56 - </userDefinedRuntimeAttribute>  
57 - </userDefinedRuntimeAttributes>  
58 - </view>  
59 - <view contentMode="scaleToFill" restorationIdentifier="moralLineChart" translatesAutoresizingMaskIntoConstraints="NO" id="RJ2-NP-DNZ">  
60 - <rect key="frame" x="0.0" y="38" width="355" height="231"/>  
61 - </view>  
62 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="今日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qaG-rY-RUN">  
63 - <rect key="frame" x="96.5" y="10" width="31" height="18"/>  
64 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
65 - <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
66 - <nil key="highlightedColor"/>  
67 - </label>  
68 - </subviews>  
69 - <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
70 - <constraints>  
71 - <constraint firstItem="qaG-rY-RUN" firstAttribute="leading" secondItem="I73-88-oNc" secondAttribute="trailing" constant="10" id="0VJ-ew-dod"/>  
72 - <constraint firstItem="I73-88-oNc" firstAttribute="top" secondItem="8hE-eE-nri" secondAttribute="top" constant="10" id="3ah-ko-qBu"/>  
73 - <constraint firstItem="RJ2-NP-DNZ" firstAttribute="leading" secondItem="8hE-eE-nri" secondAttribute="leading" id="6wR-aq-VMa"/>  
74 - <constraint firstItem="2Pj-Ux-aqd" firstAttribute="top" secondItem="8hE-eE-nri" secondAttribute="top" constant="10" id="7b1-G7-LVt"/>  
75 - <constraint firstItem="2Pj-Ux-aqd" firstAttribute="leading" secondItem="VqB-il-dfx" secondAttribute="trailing" constant="10" id="GZJ-vN-dbK"/>  
76 - <constraint firstItem="qaG-rY-RUN" firstAttribute="trailing" secondItem="8hE-eE-nri" secondAttribute="centerX" constant="-50" id="LRa-1p-yGT"/>  
77 - <constraint firstItem="RJ2-NP-DNZ" firstAttribute="top" secondItem="qaG-rY-RUN" secondAttribute="bottom" constant="10" id="S9B-Er-RCb"/>  
78 - <constraint firstItem="qaG-rY-RUN" firstAttribute="top" secondItem="8hE-eE-nri" secondAttribute="top" constant="10" id="SWr-TX-5hh"/>  
79 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="2Pj-Ux-aqd" secondAttribute="trailing" constant="20" symbolic="YES" id="k19-Pj-S17"/>  
80 - <constraint firstAttribute="trailing" secondItem="RJ2-NP-DNZ" secondAttribute="trailing" id="kt1-Cj-ldP"/>  
81 - <constraint firstAttribute="bottom" secondItem="RJ2-NP-DNZ" secondAttribute="bottom" id="oGz-vP-Jcg"/>  
82 - <constraint firstItem="VqB-il-dfx" firstAttribute="top" secondItem="8hE-eE-nri" secondAttribute="top" constant="10" id="vBE-rf-4b9"/>  
83 - <constraint firstItem="2Pj-Ux-aqd" firstAttribute="leading" secondItem="8hE-eE-nri" secondAttribute="centerX" constant="50" id="w8g-zR-VZj"/>  
84 - </constraints>  
85 - <userDefinedRuntimeAttributes>  
86 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
87 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
88 - <integer key="value" value="5"/>  
89 - </userDefinedRuntimeAttribute>  
90 - </userDefinedRuntimeAttributes>  
91 - </view>  
92 - </subviews>  
93 - <constraints>  
94 - <constraint firstItem="8hE-eE-nri" firstAttribute="top" secondItem="pme-x3-3eS" secondAttribute="top" constant="10" id="QbB-5J-7QT"/>  
95 - <constraint firstAttribute="trailing" secondItem="8hE-eE-nri" secondAttribute="trailing" constant="10" id="UI2-CF-T98"/>  
96 - <constraint firstItem="8hE-eE-nri" firstAttribute="leading" secondItem="pme-x3-3eS" secondAttribute="leading" constant="10" id="Xha-Km-4lu"/>  
97 - <constraint firstAttribute="bottom" secondItem="8hE-eE-nri" secondAttribute="bottom" id="jpA-IM-rG5"/>  
98 - </constraints>  
99 - </tableViewCellContentView>  
100 - <connections>  
101 - <outlet property="lineChartView" destination="RJ2-NP-DNZ" id="8HI-zl-yxp"/>  
102 - </connections>  
103 - </tableViewCell>  
104 - </objects>  
105 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/GrowCheckDownTableViewCell.swift
@@ -1,28 +0,0 @@ @@ -1,28 +0,0 @@
1 -//  
2 -// GrowCheckDownTableViewCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/4/13.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class GrowCheckDownTableViewCell: UITableViewCell {  
12 -  
13 - @IBOutlet weak var studentParents: UILabel!  
14 - @IBOutlet weak var studentMessage: UILabel!  
15 - @IBOutlet weak var studentImage: UIImageView!  
16 - override func awakeFromNib() {  
17 - super.awakeFromNib()  
18 - // Initialization code  
19 - self.backgroundColor = backgroundColor  
20 - }  
21 -  
22 - override func setSelected(_ selected: Bool, animated: Bool) {  
23 - super.setSelected(selected, animated: animated)  
24 -  
25 - // Configure the view for the selected state  
26 - }  
27 -  
28 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/GrowCheckDownTableViewCell.xib
@@ -1,108 +0,0 @@ @@ -1,108 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="Alignment constraints with different attributes" minToolsVersion="5.1"/>  
10 - <capability name="Safe area layout guides" minToolsVersion="9.0"/>  
11 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
12 - </dependencies>  
13 - <objects>  
14 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
15 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
16 - <tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="GrowCheckDownTableViewCell" rowHeight="148" id="KGk-i7-Jjw" customClass="GrowCheckDownTableViewCell" customModule="ParentAssistant" customModuleProvider="target">  
17 - <rect key="frame" x="0.0" y="0.0" width="320" height="148"/>  
18 - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>  
19 - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">  
20 - <rect key="frame" x="0.0" y="0.0" width="320" height="147.5"/>  
21 - <autoresizingMask key="autoresizingMask"/>  
22 - <subviews>  
23 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="M2G-AT-SGp">  
24 - <rect key="frame" x="10" y="0.0" width="300" height="147.5"/>  
25 - <subviews>  
26 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" text="down" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Jwf-rl-f67">  
27 - <rect key="frame" x="9.5" y="30" width="1" height="117.5"/>  
28 - <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>  
29 - <constraints>  
30 - <constraint firstAttribute="width" constant="1" id="oLs-xY-7rY"/>  
31 - </constraints>  
32 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
33 - <nil key="textColor"/>  
34 - <nil key="highlightedColor"/>  
35 - </label>  
36 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="up" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="k4Z-Uq-mfH">  
37 - <rect key="frame" x="9.5" y="0.0" width="1" height="20"/>  
38 - <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>  
39 - <constraints>  
40 - <constraint firstAttribute="width" constant="1" id="aid-s0-fng"/>  
41 - </constraints>  
42 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
43 - <nil key="textColor"/>  
44 - <nil key="highlightedColor"/>  
45 - </label>  
46 - <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="grow_ellipse" translatesAutoresizingMaskIntoConstraints="NO" id="yIx-vT-vEu">  
47 - <rect key="frame" x="5" y="20" width="10" height="10"/>  
48 - </imageView>  
49 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="尊敬的张三家长," textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CSJ-Ct-dJH">  
50 - <rect key="frame" x="25" y="14.5" width="126" height="21"/>  
51 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
52 - <nil key="textColor"/>  
53 - <nil key="highlightedColor"/>  
54 - </label>  
55 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="您的孩子已于08:00进校" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Poh-Qh-ybX">  
56 - <rect key="frame" x="25" y="45.5" width="185" height="21"/>  
57 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
58 - <nil key="textColor"/>  
59 - <nil key="highlightedColor"/>  
60 - </label>  
61 - <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="report_teacher" translatesAutoresizingMaskIntoConstraints="NO" id="SPG-e7-fgN">  
62 - <rect key="frame" x="25" y="76.5" width="100" height="60"/>  
63 - <constraints>  
64 - <constraint firstAttribute="width" constant="100" id="VO7-To-XAp"/>  
65 - <constraint firstAttribute="height" constant="60" id="i62-A6-AJc"/>  
66 - </constraints>  
67 - </imageView>  
68 - </subviews>  
69 - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
70 - <constraints>  
71 - <constraint firstItem="SPG-e7-fgN" firstAttribute="leading" secondItem="Poh-Qh-ybX" secondAttribute="leading" id="0m7-7x-IO0"/>  
72 - <constraint firstItem="CSJ-Ct-dJH" firstAttribute="leading" secondItem="yIx-vT-vEu" secondAttribute="trailing" constant="10" id="2wH-ly-4k4"/>  
73 - <constraint firstItem="SPG-e7-fgN" firstAttribute="top" secondItem="Poh-Qh-ybX" secondAttribute="bottom" constant="10" id="5K6-Js-Pz1"/>  
74 - <constraint firstItem="yIx-vT-vEu" firstAttribute="centerX" secondItem="M2G-AT-SGp" secondAttribute="leading" constant="10" id="C3w-hd-rvx"/>  
75 - <constraint firstItem="k4Z-Uq-mfH" firstAttribute="top" secondItem="M2G-AT-SGp" secondAttribute="top" id="L6i-6C-gy9"/>  
76 - <constraint firstItem="yIx-vT-vEu" firstAttribute="top" secondItem="k4Z-Uq-mfH" secondAttribute="bottom" id="MPy-yt-5il"/>  
77 - <constraint firstItem="CSJ-Ct-dJH" firstAttribute="centerY" secondItem="yIx-vT-vEu" secondAttribute="centerY" id="PQp-9r-0ji"/>  
78 - <constraint firstItem="Poh-Qh-ybX" firstAttribute="leading" secondItem="CSJ-Ct-dJH" secondAttribute="leading" id="Tyn-83-pbP"/>  
79 - <constraint firstAttribute="bottom" secondItem="Jwf-rl-f67" secondAttribute="bottom" id="UQW-vJ-8KC"/>  
80 - <constraint firstItem="Jwf-rl-f67" firstAttribute="top" secondItem="yIx-vT-vEu" secondAttribute="bottom" id="Wty-SD-XgN"/>  
81 - <constraint firstItem="yIx-vT-vEu" firstAttribute="top" secondItem="M2G-AT-SGp" secondAttribute="top" constant="20" id="c64-bu-wzf"/>  
82 - <constraint firstItem="k4Z-Uq-mfH" firstAttribute="centerX" secondItem="yIx-vT-vEu" secondAttribute="centerX" id="pBh-nT-Dpq"/>  
83 - <constraint firstItem="Poh-Qh-ybX" firstAttribute="top" secondItem="CSJ-Ct-dJH" secondAttribute="bottom" constant="10" id="v4X-Nd-4dM"/>  
84 - <constraint firstItem="Jwf-rl-f67" firstAttribute="centerX" secondItem="yIx-vT-vEu" secondAttribute="centerX" id="vju-Nu-nX1"/>  
85 - </constraints>  
86 - </view>  
87 - </subviews>  
88 - <constraints>  
89 - <constraint firstItem="M2G-AT-SGp" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="2DK-lh-wLK"/>  
90 - <constraint firstItem="M2G-AT-SGp" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="10" id="anD-pN-eZ2"/>  
91 - <constraint firstAttribute="bottom" secondItem="M2G-AT-SGp" secondAttribute="bottom" id="hFP-C5-Crm"/>  
92 - <constraint firstAttribute="trailing" secondItem="M2G-AT-SGp" secondAttribute="trailing" constant="10" id="u3X-pJ-les"/>  
93 - </constraints>  
94 - </tableViewCellContentView>  
95 - <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>  
96 - <connections>  
97 - <outlet property="studentImage" destination="SPG-e7-fgN" id="a1j-bR-MGg"/>  
98 - <outlet property="studentMessage" destination="Poh-Qh-ybX" id="I4b-qR-mT8"/>  
99 - <outlet property="studentParents" destination="CSJ-Ct-dJH" id="pU9-Ds-VC7"/>  
100 - </connections>  
101 - <point key="canvasLocation" x="25" y="-62"/>  
102 - </tableViewCell>  
103 - </objects>  
104 - <resources>  
105 - <image name="grow_ellipse" width="10" height="10"/>  
106 - <image name="report_teacher" width="130" height="155"/>  
107 - </resources>  
108 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/GrowCheckUpTableViewCell.swift
@@ -1,29 +0,0 @@ @@ -1,29 +0,0 @@
1 -//  
2 -// GrowCheckUpTableViewCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/4/13.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class GrowCheckUpTableViewCell: UITableViewCell {  
12 -  
13 - @IBOutlet weak var checkName: UILabel!  
14 - @IBOutlet weak var checkDate: UILabel!  
15 - @IBOutlet weak var checkCount: UILabel!  
16 - override func awakeFromNib() {  
17 - super.awakeFromNib()  
18 - self.backgroundColor = backgroundColor  
19 -  
20 - // Initialization code  
21 - }  
22 -  
23 - override func setSelected(_ selected: Bool, animated: Bool) {  
24 - super.setSelected(selected, animated: animated)  
25 -  
26 - // Configure the view for the selected state  
27 - }  
28 -  
29 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/GrowCheckUpTableViewCell.xib
@@ -1,95 +0,0 @@ @@ -1,95 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="Safe area layout guides" minToolsVersion="9.0"/>  
10 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
11 - </dependencies>  
12 - <objects>  
13 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
14 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
15 - <tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="GrowCheckUpTableViewCell" rowHeight="125" id="KGk-i7-Jjw" customClass="GrowCheckUpTableViewCell" customModule="ParentAssistant" customModuleProvider="target">  
16 - <rect key="frame" x="0.0" y="0.0" width="320" height="125"/>  
17 - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>  
18 - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">  
19 - <rect key="frame" x="0.0" y="0.0" width="320" height="124.5"/>  
20 - <autoresizingMask key="autoresizingMask"/>  
21 - <subviews>  
22 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4bl-Ug-Jkf">  
23 - <rect key="frame" x="10" y="10" width="300" height="109.5"/>  
24 - <subviews>  
25 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="考勤对象:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ExJ-Vr-Gtw">  
26 - <rect key="frame" x="10" y="10" width="74" height="21"/>  
27 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
28 - <nil key="textColor"/>  
29 - <nil key="highlightedColor"/>  
30 - </label>  
31 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="张三" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OoZ-Pq-CLb">  
32 - <rect key="frame" x="94" y="10" width="35" height="21"/>  
33 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
34 - <nil key="textColor"/>  
35 - <nil key="highlightedColor"/>  
36 - </label>  
37 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="考勤日期:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tmY-YA-dJD">  
38 - <rect key="frame" x="10" y="41" width="74" height="21"/>  
39 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
40 - <nil key="textColor"/>  
41 - <nil key="highlightedColor"/>  
42 - </label>  
43 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018-04-02" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PQL-0B-hTy">  
44 - <rect key="frame" x="94" y="41" width="95" height="21"/>  
45 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
46 - <nil key="textColor"/>  
47 - <nil key="highlightedColor"/>  
48 - </label>  
49 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="考勤次数:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SdL-gq-fnS">  
50 - <rect key="frame" x="10" y="72" width="74" height="21"/>  
51 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
52 - <nil key="textColor"/>  
53 - <nil key="highlightedColor"/>  
54 - </label>  
55 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2次" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ix0-QT-dOr">  
56 - <rect key="frame" x="94" y="72" width="28" height="21"/>  
57 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
58 - <nil key="textColor"/>  
59 - <nil key="highlightedColor"/>  
60 - </label>  
61 - </subviews>  
62 - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
63 - <constraints>  
64 - <constraint firstItem="tmY-YA-dJD" firstAttribute="leading" secondItem="ExJ-Vr-Gtw" secondAttribute="leading" id="3Pa-wB-2lr"/>  
65 - <constraint firstItem="PQL-0B-hTy" firstAttribute="centerY" secondItem="tmY-YA-dJD" secondAttribute="centerY" id="BEz-Ng-xFW"/>  
66 - <constraint firstItem="PQL-0B-hTy" firstAttribute="leading" secondItem="tmY-YA-dJD" secondAttribute="trailing" constant="10" id="C6P-sS-Ti3"/>  
67 - <constraint firstItem="ix0-QT-dOr" firstAttribute="leading" secondItem="SdL-gq-fnS" secondAttribute="trailing" constant="10" id="C7D-Xp-8fA"/>  
68 - <constraint firstItem="OoZ-Pq-CLb" firstAttribute="leading" secondItem="ExJ-Vr-Gtw" secondAttribute="trailing" constant="10" id="CV2-qX-bM9"/>  
69 - <constraint firstItem="ix0-QT-dOr" firstAttribute="centerY" secondItem="SdL-gq-fnS" secondAttribute="centerY" id="DbP-xw-6R6"/>  
70 - <constraint firstItem="tmY-YA-dJD" firstAttribute="top" secondItem="ExJ-Vr-Gtw" secondAttribute="bottom" constant="10" id="Feh-ug-yAO"/>  
71 - <constraint firstItem="OoZ-Pq-CLb" firstAttribute="centerY" secondItem="ExJ-Vr-Gtw" secondAttribute="centerY" id="GSd-kH-4nO"/>  
72 - <constraint firstItem="ExJ-Vr-Gtw" firstAttribute="leading" secondItem="4bl-Ug-Jkf" secondAttribute="leading" constant="10" id="I8y-IR-Znk"/>  
73 - <constraint firstItem="SdL-gq-fnS" firstAttribute="leading" secondItem="tmY-YA-dJD" secondAttribute="leading" id="Ig0-4D-3dH"/>  
74 - <constraint firstItem="SdL-gq-fnS" firstAttribute="top" secondItem="tmY-YA-dJD" secondAttribute="bottom" constant="10" id="XIM-uQ-5fp"/>  
75 - <constraint firstItem="ExJ-Vr-Gtw" firstAttribute="top" secondItem="4bl-Ug-Jkf" secondAttribute="top" constant="10" id="dYP-XR-ZhS"/>  
76 - </constraints>  
77 - </view>  
78 - </subviews>  
79 - <constraints>  
80 - <constraint firstItem="4bl-Ug-Jkf" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="10" id="Oj0-RK-tj4"/>  
81 - <constraint firstAttribute="bottom" secondItem="4bl-Ug-Jkf" secondAttribute="bottom" constant="5" id="RVP-gf-Oys"/>  
82 - <constraint firstItem="4bl-Ug-Jkf" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="spZ-Iv-ujG"/>  
83 - <constraint firstAttribute="trailing" secondItem="4bl-Ug-Jkf" secondAttribute="trailing" constant="10" id="xte-F0-Y0Y"/>  
84 - </constraints>  
85 - </tableViewCellContentView>  
86 - <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>  
87 - <connections>  
88 - <outlet property="checkCount" destination="ix0-QT-dOr" id="S2d-me-Lfu"/>  
89 - <outlet property="checkDate" destination="PQL-0B-hTy" id="oje-oo-bif"/>  
90 - <outlet property="checkName" destination="OoZ-Pq-CLb" id="47o-Bv-QW8"/>  
91 - </connections>  
92 - <point key="canvasLocation" x="-30" y="-35.5"/>  
93 - </tableViewCell>  
94 - </objects>  
95 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/GrowSubjectCell.swift
@@ -1,26 +0,0 @@ @@ -1,26 +0,0 @@
1 -//  
2 -// GrowSubjectCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/4/10.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class GrowSubjectCell: UITableViewCell {  
12 -  
13 - override func awakeFromNib() {  
14 - super.awakeFromNib()  
15 - self.backgroundColor = backgroundColor  
16 -  
17 - // Initialization code  
18 - }  
19 -  
20 - override func setSelected(_ selected: Bool, animated: Bool) {  
21 - super.setSelected(selected, animated: animated)  
22 -  
23 - // Configure the view for the selected state  
24 - }  
25 -  
26 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/GrowSubjectCell.xib
@@ -1,138 +0,0 @@ @@ -1,138 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="Alignment constraints with different attributes" minToolsVersion="5.1"/>  
10 - <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>  
11 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
12 - </dependencies>  
13 - <objects>  
14 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
15 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
16 - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="GrowSubjectCell" rowHeight="319" id="i1c-Hh-b0E" customClass="GrowSubjectCell" customModule="ParentAssistant" customModuleProvider="target">  
17 - <rect key="frame" x="0.0" y="0.0" width="375" height="319"/>  
18 - <autoresizingMask key="autoresizingMask"/>  
19 - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="i1c-Hh-b0E" id="f6V-fr-7r8">  
20 - <rect key="frame" x="0.0" y="0.0" width="375" height="318.5"/>  
21 - <autoresizingMask key="autoresizingMask"/>  
22 - <subviews>  
23 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ayX-iZ-W2S">  
24 - <rect key="frame" x="10" y="10" width="355" height="295"/>  
25 - <subviews>  
26 - <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="my_headerView_backgroundimageView" translatesAutoresizingMaskIntoConstraints="NO" id="2l1-HT-22Y">  
27 - <rect key="frame" x="0.0" y="0.0" width="355" height="40"/>  
28 - <constraints>  
29 - <constraint firstAttribute="height" constant="40" id="LH6-Rr-kZz"/>  
30 - </constraints>  
31 - </imageView>  
32 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="数学作业报告" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sEL-lV-1ip">  
33 - <rect key="frame" x="15" y="11.5" width="92" height="18"/>  
34 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
35 - <color key="textColor" red="0.77415133250000001" green="0.070829752760000003" blue="0.066752926170000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
36 - <nil key="highlightedColor"/>  
37 - </label>  
38 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="12" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8gw-04-jpe">  
39 - <rect key="frame" x="15" y="61" width="31.5" height="36"/>  
40 - <fontDescription key="fontDescription" type="system" pointSize="30"/>  
41 - <color key="textColor" red="0.40000000000000002" green="0.73333333329999995" blue="0.41568627450000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
42 - <nil key="highlightedColor"/>  
43 - </label>  
44 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="正确" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DZm-Vd-vaB">  
45 - <rect key="frame" x="16" y="99" width="31" height="18"/>  
46 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
47 - <color key="textColor" red="0.40000000000000002" green="0.73333333329999995" blue="0.41568627450000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
48 - <nil key="highlightedColor"/>  
49 - </label>  
50 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="8" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0yj-TK-Dhx">  
51 - <rect key="frame" x="321" y="61" width="19" height="36"/>  
52 - <fontDescription key="fontDescription" type="system" pointSize="30"/>  
53 - <color key="textColor" red="0.93725490199999995" green="0.32549019610000002" blue="0.31372549020000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
54 - <nil key="highlightedColor"/>  
55 - </label>  
56 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="错误" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="h9q-TF-7Ax">  
57 - <rect key="frame" x="315" y="99" width="31" height="18"/>  
58 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
59 - <color key="textColor" red="0.93725490199999995" green="0.32549019610000002" blue="0.31372549020000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
60 - <nil key="highlightedColor"/>  
61 - </label>  
62 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="3月4日数学作业" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dEi-aF-mPj">  
63 - <rect key="frame" x="10" y="265" width="335" height="20"/>  
64 - <constraints>  
65 - <constraint firstAttribute="height" constant="20" id="HVX-vo-SLb"/>  
66 - </constraints>  
67 - <fontDescription key="fontDescription" type="system" pointSize="16"/>  
68 - <color key="textColor" white="0.33333333329999998" alpha="1" colorSpace="calibratedWhite"/>  
69 - <nil key="highlightedColor"/>  
70 - </label>  
71 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hgX-Q5-QQo">  
72 - <rect key="frame" x="70" y="70" width="215" height="175"/>  
73 - <subviews>  
74 - <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="reort_loop" translatesAutoresizingMaskIntoConstraints="NO" id="ICU-ZK-JaP">  
75 - <rect key="frame" x="0.0" y="0.0" width="215" height="165"/>  
76 - <constraints>  
77 - <constraint firstAttribute="width" secondItem="ICU-ZK-JaP" secondAttribute="height" multiplier="30:23" id="Qlu-Gj-coQ"/>  
78 - </constraints>  
79 - </imageView>  
80 - </subviews>  
81 - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
82 - <constraints>  
83 - <constraint firstAttribute="trailing" secondItem="ICU-ZK-JaP" secondAttribute="trailing" id="4GZ-DJ-M3w"/>  
84 - <constraint firstItem="ICU-ZK-JaP" firstAttribute="leading" secondItem="hgX-Q5-QQo" secondAttribute="leading" id="FcR-sd-Cxl"/>  
85 - <constraint firstAttribute="bottom" secondItem="ICU-ZK-JaP" secondAttribute="bottom" constant="10" id="UpM-zP-HNb"/>  
86 - <constraint firstItem="ICU-ZK-JaP" firstAttribute="centerX" secondItem="hgX-Q5-QQo" secondAttribute="centerX" id="jKr-4c-2Vo"/>  
87 - <constraint firstItem="ICU-ZK-JaP" firstAttribute="top" secondItem="hgX-Q5-QQo" secondAttribute="top" id="oQk-6y-o2T"/>  
88 - </constraints>  
89 - </view>  
90 - </subviews>  
91 - <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>  
92 - <constraints>  
93 - <constraint firstItem="0yj-TK-Dhx" firstAttribute="trailing" secondItem="ayX-iZ-W2S" secondAttribute="trailing" constant="-15" id="6ti-hk-jGn"/>  
94 - <constraint firstItem="8gw-04-jpe" firstAttribute="centerY" secondItem="ayX-iZ-W2S" secondAttribute="top" constant="79" id="7jj-Hb-ACl"/>  
95 - <constraint firstItem="8gw-04-jpe" firstAttribute="leading" secondItem="ayX-iZ-W2S" secondAttribute="leading" constant="15" id="9xm-hu-WiF"/>  
96 - <constraint firstItem="DZm-Vd-vaB" firstAttribute="centerX" secondItem="8gw-04-jpe" secondAttribute="centerX" id="CR0-1m-1Nn"/>  
97 - <constraint firstItem="dEi-aF-mPj" firstAttribute="top" secondItem="hgX-Q5-QQo" secondAttribute="bottom" constant="20" id="DhV-6H-TVa"/>  
98 - <constraint firstItem="sEL-lV-1ip" firstAttribute="centerY" secondItem="2l1-HT-22Y" secondAttribute="centerY" id="Lie-SG-fVn"/>  
99 - <constraint firstAttribute="trailing" secondItem="dEi-aF-mPj" secondAttribute="trailing" constant="10" id="MSL-7h-qSg"/>  
100 - <constraint firstAttribute="trailing" secondItem="hgX-Q5-QQo" secondAttribute="trailing" constant="70" id="Mma-jC-Swj"/>  
101 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="sEL-lV-1ip" secondAttribute="trailing" constant="20" symbolic="YES" id="Qy6-Dc-a3i"/>  
102 - <constraint firstAttribute="bottom" secondItem="dEi-aF-mPj" secondAttribute="bottom" constant="10" id="Rld-0V-V3i"/>  
103 - <constraint firstItem="2l1-HT-22Y" firstAttribute="leading" secondItem="ayX-iZ-W2S" secondAttribute="leading" id="Tb0-NB-Rn9"/>  
104 - <constraint firstItem="h9q-TF-7Ax" firstAttribute="centerY" secondItem="DZm-Vd-vaB" secondAttribute="centerY" id="UyU-Qd-nuu"/>  
105 - <constraint firstItem="sEL-lV-1ip" firstAttribute="leading" secondItem="ayX-iZ-W2S" secondAttribute="leading" constant="15" id="UzU-e6-gqw"/>  
106 - <constraint firstItem="hgX-Q5-QQo" firstAttribute="leading" secondItem="ayX-iZ-W2S" secondAttribute="leading" constant="70" id="asN-pB-95S"/>  
107 - <constraint firstItem="hgX-Q5-QQo" firstAttribute="top" secondItem="2l1-HT-22Y" secondAttribute="bottom" constant="30" id="gJU-Mh-gO7"/>  
108 - <constraint firstItem="DZm-Vd-vaB" firstAttribute="top" secondItem="8gw-04-jpe" secondAttribute="centerY" constant="20" id="lnP-R6-XtS"/>  
109 - <constraint firstItem="0yj-TK-Dhx" firstAttribute="centerY" secondItem="8gw-04-jpe" secondAttribute="centerY" id="tQF-R5-nmP"/>  
110 - <constraint firstAttribute="trailing" secondItem="2l1-HT-22Y" secondAttribute="trailing" id="vsA-K4-hA6"/>  
111 - <constraint firstItem="dEi-aF-mPj" firstAttribute="leading" secondItem="ayX-iZ-W2S" secondAttribute="leading" constant="10" id="wLu-GZ-ClG"/>  
112 - <constraint firstItem="h9q-TF-7Ax" firstAttribute="centerX" secondItem="0yj-TK-Dhx" secondAttribute="centerX" id="zRd-VO-7Nm"/>  
113 - <constraint firstItem="2l1-HT-22Y" firstAttribute="top" secondItem="ayX-iZ-W2S" secondAttribute="top" id="zao-VR-d3x"/>  
114 - </constraints>  
115 - <userDefinedRuntimeAttributes>  
116 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
117 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
118 - <integer key="value" value="6"/>  
119 - </userDefinedRuntimeAttribute>  
120 - </userDefinedRuntimeAttributes>  
121 - </view>  
122 - </subviews>  
123 - <constraints>  
124 - <constraint firstAttribute="bottom" secondItem="ayX-iZ-W2S" secondAttribute="bottom" id="KPa-3g-LgM"/>  
125 - <constraint firstAttribute="trailing" secondItem="ayX-iZ-W2S" secondAttribute="trailing" constant="10" id="bCN-qN-yss"/>  
126 - <constraint firstItem="ayX-iZ-W2S" firstAttribute="leading" secondItem="f6V-fr-7r8" secondAttribute="leading" constant="10" id="cgd-hJ-8d5"/>  
127 - <constraint firstItem="ayX-iZ-W2S" firstAttribute="top" secondItem="f6V-fr-7r8" secondAttribute="top" constant="10" id="d6z-bj-g4w"/>  
128 - </constraints>  
129 - </tableViewCellContentView>  
130 - <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>  
131 - <point key="canvasLocation" x="24.5" y="-155.5"/>  
132 - </tableViewCell>  
133 - </objects>  
134 - <resources>  
135 - <image name="my_headerView_backgroundimageView" width="375" height="139"/>  
136 - <image name="reort_loop" width="150" height="115"/>  
137 - </resources>  
138 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/LineChartView.swift
@@ -1,220 +0,0 @@ @@ -1,220 +0,0 @@
1 -//  
2 -// LineChartView.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/3/23.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class LineChartView: UIView {  
12 -  
13 - //默认横坐标  
14 - private var xLabArr = ["行为","文明","课堂","作业","礼仪"]  
15 - //设置纵坐标  
16 - private let yCount = 6  
17 - //横坐标个数  
18 - private let xCount = 5  
19 - //最大绩点分数  
20 - private let GPA = 5  
21 - //储存横纵坐标,画线用  
22 - private var xCenterArr = Array<CGFloat>()  
23 - private var yCenterArr = Array<CGFloat>()  
24 - //判断是否重复点击  
25 - private var btnTouch = 10  
26 - //虚线  
27 - private let lineLayer = CAShapeLayer()  
28 - //横坐标下划线  
29 - private let xMoveLayer = CAShapeLayer()  
30 - //纵坐标Lab数组  
31 - private var yMoveLaArr = Array<UILabel>()  
32 - //折线图数据数组  
33 - private var dateArr = Array<Array<Int>>()  
34 - //显示的数字  
35 - var yLabArray = Array<UILabel>()  
36 -  
37 - override init(frame: CGRect) {  
38 - super.init(frame: frame)  
39 - print("frame==\(frame)")  
40 -  
41 - }  
42 - func drawUI(xLableArr:Array<String>?){  
43 -  
44 - if xLableArr != nil {  
45 - xLabArr = xLableArr!  
46 - }  
47 - drawX()  
48 - drawY()  
49 - }  
50 - //设置纵坐标  
51 - private func drawY() {  
52 -  
53 - let yHeight = (self.bounds.height-60)/CGFloat(yCount)  
54 - for index in 0..<yCount{  
55 - let yLab = UILabel.init(frame: CGRect.init(x: 10, y: CGFloat(index)*yHeight, width: 20, height: 20))  
56 - yLab.text = "\(GPA-index)"  
57 - yLab.textColor = UIColorWithRGB(R: 119, G: 119, B: 119)  
58 - yLab.font = UIFont.systemFont(ofSize: 14)  
59 - self.addSubview(yLab)  
60 -  
61 - let lineLab = UILabel.init(frame: CGRect.init(x: 30, y: yLab.center.y, width: screenWidth-60, height: 0.4))  
62 - lineLab.backgroundColor = UIColorWithRGB(R: 190, G: 190, B: 190)  
63 - self.addSubview(lineLab)  
64 -  
65 - yMoveLaArr.append(yLab)  
66 - yCenterArr.append(yLab.frame.origin.y+10)  
67 - }  
68 - }  
69 - //设置横坐标  
70 - private func drawX() {  
71 - let xWidth = (screenWidth-20)/CGFloat(yCount)  
72 - for index in 0..<xCount {  
73 - let nameBtn = UIButton.init(frame: CGRect.init(x: xWidth+CGFloat(index)*xWidth, y: self.bounds.height-70, width: 40, height: 25))  
74 - nameBtn.setTitle(xLabArr[index], for: UIControlState.normal)  
75 - nameBtn.setTitleColor(UIColorWithRGB(R: 119, G: 119, B: 119), for: UIControlState.normal)  
76 - nameBtn.titleLabel!.textAlignment = .center  
77 - nameBtn.titleLabel!.font = UIFont.systemFont(ofSize: 13)  
78 -// nameBtn.backgroundColor = UIColor.orange  
79 - nameBtn.tag = index  
80 - self.addSubview(nameBtn)  
81 -  
82 - nameBtn.addTarget(self, action: #selector(touchXAction(tap:)), for: UIControlEvents.touchUpInside)  
83 -  
84 - xCenterArr.append(nameBtn.frame.origin.x+20)  
85 - }  
86 - }  
87 -  
88 - //MARK: - 画折线  
89 - func drawLine(point:Array<Int>,color:UIColor){  
90 -  
91 - let pointArr = swichPoint(arr: point)  
92 -  
93 - let drawLayer = DrawLayer()  
94 - drawLayer.xPointArr = xCenterArr  
95 - drawLayer.yPointArr = [yCenterArr[pointArr[0]],yCenterArr[pointArr[1]],yCenterArr[pointArr[2]],yCenterArr[pointArr[3]],yCenterArr[pointArr[4]]]  
96 - drawLayer.bounds = self.bounds  
97 - drawLayer.position = self.center  
98 - drawLayer.lineColor = color  
99 - self.layer.addSublayer(drawLayer)  
100 - drawLayer.setNeedsDisplay()  
101 -  
102 - dateArr.append(point)  
103 -  
104 - }  
105 - //MARK: - 点击横坐标  
106 - @objc func touchXAction(tap:UIButton){  
107 -  
108 - let index = tap.tag  
109 -  
110 -  
111 - if btnTouch != index {  
112 -  
113 - //竖虚线  
114 - lineLayer.strokeColor = UIColorWithRGB(R: 92, G: 145, B: 230).cgColor  
115 - lineLayer.lineWidth = 1  
116 - let arr = [5,5]  
117 - lineLayer.lineDashPhase = 0  
118 - lineLayer.lineDashPattern = arr as [NSNumber]  
119 - self.layer.addSublayer(lineLayer)  
120 -  
121 - //X轴下划线  
122 - let movePath = CGMutablePath()  
123 - movePath.move(to: CGPoint.init(x: xCenterArr[index], y: yCenterArr[0]))  
124 - movePath.addLine(to: CGPoint.init(x: xCenterArr[index], y: 10+5*(self.bounds.height-60)/CGFloat(yCount)))  
125 - lineLayer.path = movePath  
126 -  
127 - xMoveLayer.strokeColor = UIColorWithRGB(R: 92, G: 145, B: 230).cgColor  
128 - xMoveLayer.lineWidth = 2  
129 - self.layer.addSublayer(xMoveLayer)  
130 - let movePath2 = CGMutablePath()  
131 - movePath2.move(to: CGPoint.init(x: xCenterArr[index]-15, y: self.bounds.height-45))  
132 - movePath2.addLine(to: CGPoint.init(x: xCenterArr[index]+15, y: self.bounds.height-45))  
133 - xMoveLayer.path = movePath2  
134 -  
135 - if yLabArray.count == dateArr.count {  
136 - for label in yLabArray {  
137 - label.removeFromSuperview()  
138 - }  
139 - }  
140 - yLabArray.removeAll()  
141 - //数字显示  
142 - for i in 0..<dateArr.count {  
143 - let arr = dateArr[i]  
144 - //y坐标数值  
145 - let y = arr[index]  
146 - let yLab = yMoveLaArr[GPA-y]  
147 - var rect = yLab.frame  
148 - rect.origin.x = xCenterArr[index]+10  
149 -  
150 - let newLab = UILabel()  
151 - newLab.text = yLab.text  
152 - newLab.textColor = yLab.textColor  
153 - newLab.font = yLab.font  
154 - newLab.frame = rect  
155 - self.addSubview(newLab)  
156 - yLabArray.append(newLab)  
157 - }  
158 - }else{  
159 - print(yLabArray)  
160 - }  
161 - btnTouch = index  
162 -  
163 -  
164 - }  
165 - //转换y坐标  
166 - func swichPoint(arr:Array<Int>)->Array<Int>{  
167 - var array = Array<Int>()  
168 - for index in 0..<arr.count {  
169 - let value = GPA - arr[index]  
170 - array.append(value)  
171 - }  
172 - return array  
173 - }  
174 -  
175 - required init?(coder aDecoder: NSCoder) {  
176 - fatalError("init(coder:) has not been implemented")  
177 - }  
178 -  
179 - /*  
180 - // Only override draw() if you perform custom drawing.  
181 - // An empty implementation adversely affects performance during animation.  
182 - override func draw(_ rect: CGRect) {  
183 - // Drawing code  
184 - }  
185 - */  
186 -  
187 -}  
188 -  
189 -class DrawLayer: CALayer {  
190 -  
191 - var yPointArr = Array<CGFloat>()  
192 - var xPointArr = Array<CGFloat>()  
193 - var lineColor = UIColor()  
194 -  
195 - override func draw(in ctx: CGContext) {  
196 -  
197 - let context = ctx  
198 - //点  
199 - context.setFillColor(lineColor.cgColor)  
200 -  
201 - for i in 0..<xPointArr.count {  
202 - context.fillEllipse(in: CGRect.init(x: xPointArr[i]-5, y: yPointArr[i]-5, width: 10, height: 10))  
203 -  
204 - }  
205 - //折线  
206 - context.setStrokeColor(lineColor.cgColor)  
207 - context.setLineWidth(1.5)  
208 - for i in 0..<xPointArr.count {  
209 - if i == 0 {  
210 - context.move(to: CGPoint.init(x: xPointArr[0] , y: yPointArr[0]))  
211 - }else{  
212 - context.addLine(to: CGPoint.init(x: xPointArr[i] , y: yPointArr[i]))  
213 - }  
214 - }  
215 - context.strokePath()  
216 - }  
217 -  
218 -}  
219 -  
220 -  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/MoralDetailCell.swift
@@ -1,34 +0,0 @@ @@ -1,34 +0,0 @@
1 -//  
2 -// MoralDetailCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/3/23.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class MoralDetailCell: UITableViewCell {  
12 -  
13 - @IBOutlet weak var dateLab: UILabel!  
14 - @IBOutlet weak var pointLab: UILabel!  
15 - @IBOutlet weak var rankingLab: UILabel!  
16 - @IBOutlet weak var risingLab: UILabel!  
17 - @IBOutlet weak var risingRightLab: UILabel!  
18 - @IBOutlet weak var averageLab: UILabel!  
19 - @IBOutlet weak var averageRightLab: UILabel!  
20 - @IBOutlet weak var evaluationLab: UILabel!  
21 - override func awakeFromNib() {  
22 - super.awakeFromNib()  
23 - self.backgroundColor = backgroundColor  
24 -  
25 - // Initialization code  
26 - }  
27 -  
28 - override func setSelected(_ selected: Bool, animated: Bool) {  
29 - super.setSelected(selected, animated: animated)  
30 -  
31 - // Configure the view for the selected state  
32 - }  
33 -  
34 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/MoralDetailCell.xib
@@ -1,142 +0,0 @@ @@ -1,142 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
10 - </dependencies>  
11 - <objects>  
12 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
13 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
14 - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="moralDetail" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="moralDetail" rowHeight="271" id="Y5e-cY-302" customClass="MoralDetailCell" customModule="ParentAssistant" customModuleProvider="target">  
15 - <rect key="frame" x="0.0" y="0.0" width="375" height="271"/>  
16 - <autoresizingMask key="autoresizingMask"/>  
17 - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Y5e-cY-302" id="ZBC-Ez-Fjp">  
18 - <rect key="frame" x="0.0" y="0.0" width="375" height="270.5"/>  
19 - <autoresizingMask key="autoresizingMask"/>  
20 - <subviews>  
21 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UBb-dh-88b">  
22 - <rect key="frame" x="10" y="10" width="355" height="260.5"/>  
23 - <subviews>  
24 - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="moral_bg" translatesAutoresizingMaskIntoConstraints="NO" id="1gV-1s-gHe">  
25 - <rect key="frame" x="0.0" y="0.0" width="355" height="260.5"/>  
26 - </imageView>  
27 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="德育得分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pNK-6b-MsE">  
28 - <rect key="frame" x="40" y="15" width="61.5" height="18"/>  
29 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
30 - <color key="textColor" red="0.050980392159999999" green="0.1647058824" blue="0.45882352939999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
31 - <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
32 - </label>  
33 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="4.3分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9pn-Mt-3mm">  
34 - <rect key="frame" x="34" y="48" width="75" height="36"/>  
35 - <fontDescription key="fontDescription" type="system" pointSize="30"/>  
36 - <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
37 - <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
38 - </label>  
39 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第三名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DIr-ge-gbf">  
40 - <rect key="frame" x="227" y="50" width="91" height="36"/>  
41 - <fontDescription key="fontDescription" type="system" pointSize="30"/>  
42 - <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
43 - <nil key="highlightedColor"/>  
44 - </label>  
45 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="同期上升1.1分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="J9G-OC-0Wu">  
46 - <rect key="frame" x="24.5" y="104" width="93.5" height="18"/>  
47 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
48 - <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
49 - <nil key="highlightedColor"/>  
50 - </label>  
51 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="同期上升5名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oaU-aV-pPx">  
52 - <rect key="frame" x="229.5" y="106" width="86" height="18"/>  
53 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
54 - <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
55 - <nil key="highlightedColor"/>  
56 - </label>  
57 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018年03月03号" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Mz0-Fx-X1P">  
58 - <rect key="frame" x="210" y="15" width="125" height="20"/>  
59 - <fontDescription key="fontDescription" type="system" pointSize="16"/>  
60 - <color key="textColor" red="0.08235294118" green="0.39607843139999999" blue="0.75294117650000003" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
61 - <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
62 - </label>  
63 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="高于平均分1.1分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="anx-4P-Hux">  
64 - <rect key="frame" x="16.5" y="132" width="109" height="18"/>  
65 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
66 - <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
67 - <nil key="highlightedColor"/>  
68 - </label>  
69 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="高于平均排名1.1名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CeX-B7-f6o">  
70 - <rect key="frame" x="210.5" y="134" width="124" height="18"/>  
71 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
72 - <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
73 - <nil key="highlightedColor"/>  
74 - </label>  
75 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="哎哟不错哦,德育评价打败了33%的同学!注意行为规范将更上一层楼" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wkw-bn-xrx">  
76 - <rect key="frame" x="20" y="170" width="315" height="40"/>  
77 - <constraints>  
78 - <constraint firstAttribute="height" constant="40" id="Gnr-My-R1x"/>  
79 - </constraints>  
80 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
81 - <color key="textColor" red="0.08235294118" green="0.39607843139999999" blue="0.75294117650000003" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
82 - <nil key="highlightedColor"/>  
83 - </label>  
84 - </subviews>  
85 - <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
86 - <constraints>  
87 - <constraint firstItem="1gV-1s-gHe" firstAttribute="leading" secondItem="UBb-dh-88b" secondAttribute="leading" id="7Hd-yK-MLm"/>  
88 - <constraint firstItem="anx-4P-Hux" firstAttribute="top" secondItem="J9G-OC-0Wu" secondAttribute="bottom" constant="10" id="9FD-EM-rTI"/>  
89 - <constraint firstItem="9pn-Mt-3mm" firstAttribute="centerX" secondItem="pNK-6b-MsE" secondAttribute="centerX" id="AnT-t2-Vaz"/>  
90 - <constraint firstItem="Mz0-Fx-X1P" firstAttribute="trailing" secondItem="UBb-dh-88b" secondAttribute="trailing" constant="-20" id="DUF-fk-aMY"/>  
91 - <constraint firstItem="Wkw-bn-xrx" firstAttribute="top" secondItem="anx-4P-Hux" secondAttribute="bottom" constant="20" id="Gcq-Dr-wY8"/>  
92 - <constraint firstItem="oaU-aV-pPx" firstAttribute="top" secondItem="DIr-ge-gbf" secondAttribute="bottom" constant="20" id="I4a-rl-CwG"/>  
93 - <constraint firstItem="J9G-OC-0Wu" firstAttribute="centerX" secondItem="9pn-Mt-3mm" secondAttribute="centerX" id="ILE-XR-PgX"/>  
94 - <constraint firstItem="9pn-Mt-3mm" firstAttribute="top" secondItem="pNK-6b-MsE" secondAttribute="bottom" constant="15" id="JcF-eO-1Tf"/>  
95 - <constraint firstItem="anx-4P-Hux" firstAttribute="centerX" secondItem="9pn-Mt-3mm" secondAttribute="centerX" id="N8e-Tq-OFC"/>  
96 - <constraint firstItem="DIr-ge-gbf" firstAttribute="centerX" secondItem="Mz0-Fx-X1P" secondAttribute="centerX" id="PeQ-3p-wPu"/>  
97 - <constraint firstItem="DIr-ge-gbf" firstAttribute="top" secondItem="Mz0-Fx-X1P" secondAttribute="bottom" constant="15" id="QlN-Um-QRE"/>  
98 - <constraint firstItem="CeX-B7-f6o" firstAttribute="centerX" secondItem="DIr-ge-gbf" secondAttribute="centerX" id="S5f-mc-kLf"/>  
99 - <constraint firstAttribute="bottom" secondItem="1gV-1s-gHe" secondAttribute="bottom" id="WmH-Yr-1VA"/>  
100 - <constraint firstAttribute="trailing" secondItem="1gV-1s-gHe" secondAttribute="trailing" id="Yrr-Y6-K8b"/>  
101 - <constraint firstItem="CeX-B7-f6o" firstAttribute="top" secondItem="oaU-aV-pPx" secondAttribute="bottom" constant="10" id="bAv-aS-0Ml"/>  
102 - <constraint firstItem="oaU-aV-pPx" firstAttribute="centerX" secondItem="DIr-ge-gbf" secondAttribute="centerX" id="dQ5-qu-b7Z"/>  
103 - <constraint firstItem="pNK-6b-MsE" firstAttribute="top" secondItem="UBb-dh-88b" secondAttribute="top" constant="15" id="fIQ-aq-1Q2"/>  
104 - <constraint firstAttribute="trailing" secondItem="Wkw-bn-xrx" secondAttribute="trailing" constant="20" id="ikn-5j-7Yc"/>  
105 - <constraint firstItem="pNK-6b-MsE" firstAttribute="leading" secondItem="UBb-dh-88b" secondAttribute="leading" constant="40" id="ipG-Xz-pen"/>  
106 - <constraint firstItem="J9G-OC-0Wu" firstAttribute="top" secondItem="9pn-Mt-3mm" secondAttribute="bottom" constant="20" id="n4e-bY-kc9"/>  
107 - <constraint firstItem="Wkw-bn-xrx" firstAttribute="leading" secondItem="UBb-dh-88b" secondAttribute="leading" constant="20" id="njK-jj-BrM"/>  
108 - <constraint firstItem="1gV-1s-gHe" firstAttribute="top" secondItem="UBb-dh-88b" secondAttribute="top" id="r0a-Sd-FcU"/>  
109 - <constraint firstItem="Mz0-Fx-X1P" firstAttribute="top" secondItem="UBb-dh-88b" secondAttribute="top" constant="15" id="s6T-Ua-Fvo"/>  
110 - </constraints>  
111 - <userDefinedRuntimeAttributes>  
112 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
113 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
114 - <integer key="value" value="5"/>  
115 - </userDefinedRuntimeAttribute>  
116 - </userDefinedRuntimeAttributes>  
117 - </view>  
118 - </subviews>  
119 - <constraints>  
120 - <constraint firstAttribute="trailing" secondItem="UBb-dh-88b" secondAttribute="trailing" constant="10" id="8yJ-jh-3AX"/>  
121 - <constraint firstAttribute="bottom" secondItem="UBb-dh-88b" secondAttribute="bottom" id="Krl-Qe-GPA"/>  
122 - <constraint firstItem="UBb-dh-88b" firstAttribute="top" secondItem="ZBC-Ez-Fjp" secondAttribute="top" constant="10" id="TDk-Gn-s04"/>  
123 - <constraint firstItem="UBb-dh-88b" firstAttribute="leading" secondItem="ZBC-Ez-Fjp" secondAttribute="leading" constant="10" id="w0a-Nc-xLP"/>  
124 - </constraints>  
125 - </tableViewCellContentView>  
126 - <connections>  
127 - <outlet property="averageLab" destination="anx-4P-Hux" id="O01-Bj-kz7"/>  
128 - <outlet property="averageRightLab" destination="CeX-B7-f6o" id="WwT-Hr-hh6"/>  
129 - <outlet property="dateLab" destination="Mz0-Fx-X1P" id="Nz4-H1-fN3"/>  
130 - <outlet property="evaluationLab" destination="Wkw-bn-xrx" id="oUC-au-Tjl"/>  
131 - <outlet property="pointLab" destination="9pn-Mt-3mm" id="hMP-cd-goK"/>  
132 - <outlet property="rankingLab" destination="DIr-ge-gbf" id="RCT-oE-nLC"/>  
133 - <outlet property="risingLab" destination="J9G-OC-0Wu" id="7Bf-i5-JuQ"/>  
134 - <outlet property="risingRightLab" destination="oaU-aV-pPx" id="bD2-fb-eGb"/>  
135 - </connections>  
136 - <point key="canvasLocation" x="24.5" y="47.5"/>  
137 - </tableViewCell>  
138 - </objects>  
139 - <resources>  
140 - <image name="moral_bg" width="690" height="430"/>  
141 - </resources>  
142 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/MoralTableViewCell.swift
@@ -1,32 +0,0 @@ @@ -1,32 +0,0 @@
1 -//  
2 -// MoralTableViewCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/3/22.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class MoralTableViewCell: UITableViewCell {  
12 -  
13 - @IBOutlet weak var pointLab: UILabel!  
14 - @IBOutlet weak var todayReName: UILabel!  
15 - @IBOutlet weak var rankingLab: UILabel!  
16 - @IBOutlet weak var evaluateLab: UILabel!  
17 - @IBOutlet weak var rankStatusLab: UILabel!  
18 - @IBOutlet weak var reportDateLab: UILabel!  
19 - override func awakeFromNib() {  
20 - super.awakeFromNib()  
21 - self.backgroundColor = backgroundColor  
22 -  
23 - // Initialization code  
24 - }  
25 -  
26 - override func setSelected(_ selected: Bool, animated: Bool) {  
27 - super.setSelected(selected, animated: animated)  
28 -  
29 - // Configure the view for the selected state  
30 - }  
31 -  
32 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/MoralTableViewCell.xib
@@ -1,109 +0,0 @@ @@ -1,109 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="Alignment constraints with different attributes" minToolsVersion="5.1"/>  
10 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
11 - </dependencies>  
12 - <objects>  
13 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
14 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
15 - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="MoralTableViewCell" rowHeight="280" id="z9h-Wo-rxs" customClass="MoralTableViewCell" customModule="ParentAssistant" customModuleProvider="target">  
16 - <rect key="frame" x="0.0" y="0.0" width="375" height="280"/>  
17 - <autoresizingMask key="autoresizingMask"/>  
18 - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="z9h-Wo-rxs" id="Hdo-4K-VNc">  
19 - <rect key="frame" x="0.0" y="0.0" width="375" height="279.5"/>  
20 - <autoresizingMask key="autoresizingMask"/>  
21 - <subviews>  
22 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Vef-nQ-dGv">  
23 - <rect key="frame" x="10" y="10" width="355" height="270"/>  
24 - <subviews>  
25 - <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="aWL-Tx-0UW">  
26 - <rect key="frame" x="0.0" y="0.0" width="355" height="40"/>  
27 - <color key="backgroundColor" red="0.2257528305" green="0.73064249749999999" blue="0.92262524369999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
28 - <constraints>  
29 - <constraint firstAttribute="height" constant="40" id="Ofl-nL-luu"/>  
30 - </constraints>  
31 - </imageView>  
32 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="今日德育报告" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cKf-6S-lhj">  
33 - <rect key="frame" x="15" y="11" width="92" height="18"/>  
34 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
35 - <color key="textColor" red="0.04523163015" green="0.032123999590000001" blue="0.18083756349999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
36 - <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
37 - </label>  
38 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="4.3分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="j0A-jN-fqh">  
39 - <rect key="frame" x="42.5" y="60" width="75" height="36"/>  
40 - <fontDescription key="fontDescription" type="system" pointSize="30"/>  
41 - <color key="textColor" red="0.19058823590000001" green="0.6052491069" blue="0.92507088179999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
42 - <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
43 - </label>  
44 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第三名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8d1-dG-Pi6">  
45 - <rect key="frame" x="229.5" y="60" width="91" height="36"/>  
46 - <fontDescription key="fontDescription" type="system" pointSize="30"/>  
47 - <color key="textColor" red="0.1980733871" green="0.57266002890000001" blue="0.92558294529999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
48 - <nil key="highlightedColor"/>  
49 - </label>  
50 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="获得 A- 评分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2GV-uC-noJ">  
51 - <rect key="frame" x="29" y="136" width="102.5" height="21.5"/>  
52 - <fontDescription key="fontDescription" type="system" pointSize="18"/>  
53 - <color key="textColor" red="0.1980733871" green="0.57266002890000001" blue="0.92558294529999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
54 - <nil key="highlightedColor"/>  
55 - </label>  
56 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="名次上升1名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="L60-yA-m2f">  
57 - <rect key="frame" x="225" y="136" width="100" height="21.5"/>  
58 - <fontDescription key="fontDescription" type="system" pointSize="18"/>  
59 - <color key="textColor" red="0.1980733871" green="0.57266002890000001" blue="0.92558294529999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
60 - <nil key="highlightedColor"/>  
61 - </label>  
62 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="03月15日德育报告" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9Ae-se-wQu">  
63 - <rect key="frame" x="20" y="210" width="315" height="30"/>  
64 - <constraints>  
65 - <constraint firstAttribute="height" constant="30" id="ylt-V9-kJl"/>  
66 - </constraints>  
67 - <fontDescription key="fontDescription" type="system" pointSize="18"/>  
68 - <color key="textColor" red="0.091986544429999997" green="0.17189717290000001" blue="0.63014686109999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
69 - <nil key="highlightedColor"/>  
70 - </label>  
71 - </subviews>  
72 - <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
73 - <constraints>  
74 - <constraint firstItem="cKf-6S-lhj" firstAttribute="centerY" secondItem="aWL-Tx-0UW" secondAttribute="centerY" id="5mN-fH-D4I"/>  
75 - <constraint firstItem="j0A-jN-fqh" firstAttribute="top" secondItem="Vef-nQ-dGv" secondAttribute="top" constant="60" id="96O-AW-As9"/>  
76 - <constraint firstItem="aWL-Tx-0UW" firstAttribute="leading" secondItem="Vef-nQ-dGv" secondAttribute="leading" id="BYt-px-Cjn"/>  
77 - <constraint firstItem="8d1-dG-Pi6" firstAttribute="centerX" secondItem="Vef-nQ-dGv" secondAttribute="trailing" constant="-80" id="DUf-vl-R8M"/>  
78 - <constraint firstItem="2GV-uC-noJ" firstAttribute="centerX" secondItem="j0A-jN-fqh" secondAttribute="centerX" id="LGc-Jp-07j"/>  
79 - <constraint firstItem="L60-yA-m2f" firstAttribute="top" secondItem="8d1-dG-Pi6" secondAttribute="bottom" constant="40" id="MaK-uL-fPP"/>  
80 - <constraint firstItem="2GV-uC-noJ" firstAttribute="top" secondItem="j0A-jN-fqh" secondAttribute="bottom" constant="40" id="Ryr-Gh-VGZ"/>  
81 - <constraint firstItem="8d1-dG-Pi6" firstAttribute="top" secondItem="Vef-nQ-dGv" secondAttribute="top" constant="60" id="SsE-55-O6O"/>  
82 - <constraint firstItem="j0A-jN-fqh" firstAttribute="centerX" secondItem="Vef-nQ-dGv" secondAttribute="leading" constant="80" id="WBT-bt-FLd"/>  
83 - <constraint firstAttribute="bottom" secondItem="9Ae-se-wQu" secondAttribute="bottom" constant="30" id="YNw-rs-gHW"/>  
84 - <constraint firstItem="L60-yA-m2f" firstAttribute="centerX" secondItem="8d1-dG-Pi6" secondAttribute="centerX" id="a47-3Y-yeG"/>  
85 - <constraint firstAttribute="trailing" secondItem="9Ae-se-wQu" secondAttribute="trailing" constant="20" id="a9O-Jn-TPZ"/>  
86 - <constraint firstItem="aWL-Tx-0UW" firstAttribute="top" secondItem="Vef-nQ-dGv" secondAttribute="top" id="aiN-4Q-1yb"/>  
87 - <constraint firstAttribute="trailing" secondItem="aWL-Tx-0UW" secondAttribute="trailing" id="avu-SY-2Fa"/>  
88 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="cKf-6S-lhj" secondAttribute="trailing" constant="20" symbolic="YES" id="g1h-6M-v2g"/>  
89 - <constraint firstItem="9Ae-se-wQu" firstAttribute="leading" secondItem="Vef-nQ-dGv" secondAttribute="leading" constant="20" id="jZW-7n-dLT"/>  
90 - <constraint firstItem="cKf-6S-lhj" firstAttribute="leading" secondItem="Vef-nQ-dGv" secondAttribute="leading" constant="15" id="ube-1E-bnY"/>  
91 - </constraints>  
92 - <userDefinedRuntimeAttributes>  
93 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
94 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
95 - <integer key="value" value="6"/>  
96 - </userDefinedRuntimeAttribute>  
97 - </userDefinedRuntimeAttributes>  
98 - </view>  
99 - </subviews>  
100 - <constraints>  
101 - <constraint firstAttribute="bottom" secondItem="Vef-nQ-dGv" secondAttribute="bottom" id="6Cr-qJ-0jA"/>  
102 - <constraint firstItem="Vef-nQ-dGv" firstAttribute="top" secondItem="Hdo-4K-VNc" secondAttribute="top" constant="10" id="7ls-DH-ULi"/>  
103 - <constraint firstItem="Vef-nQ-dGv" firstAttribute="leading" secondItem="Hdo-4K-VNc" secondAttribute="leading" constant="10" id="FzM-Rj-ZSg"/>  
104 - <constraint firstAttribute="trailing" secondItem="Vef-nQ-dGv" secondAttribute="trailing" constant="10" id="sOB-Hs-fk0"/>  
105 - </constraints>  
106 - </tableViewCellContentView>  
107 - </tableViewCell>  
108 - </objects>  
109 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramVacateBodyTableViewCell.swift
@@ -1,33 +0,0 @@ @@ -1,33 +0,0 @@
1 -//  
2 -// ProgramVacateBodyTableViewCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/4/12.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class ProgramVacateBodyTableViewCell: UITableViewCell {  
12 -  
13 - @IBOutlet weak var upLine: UILabel!  
14 - @IBOutlet weak var vacateName: UILabel!  
15 - @IBOutlet weak var vacateType: UILabel!  
16 - @IBOutlet weak var startTime: UILabel!  
17 - @IBOutlet weak var endTime: UILabel!  
18 - @IBOutlet weak var examinePerson: UILabel!  
19 - @IBOutlet weak var vacateResult: UILabel!  
20 - override func awakeFromNib() {  
21 - super.awakeFromNib()  
22 - self.backgroundColor = backgroundColor  
23 -  
24 - // Initialization code  
25 - }  
26 -  
27 - override func setSelected(_ selected: Bool, animated: Bool) {  
28 - super.setSelected(selected, animated: animated)  
29 -  
30 - // Configure the view for the selected state  
31 - }  
32 -  
33 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramVacateBodyTableViewCell.xib
@@ -1,183 +0,0 @@ @@ -1,183 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
10 - </dependencies>  
11 - <objects>  
12 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
13 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
14 - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="ProgramVacateBodyTableViewCell" rowHeight="232" id="fd1-Sl-6Qm" customClass="ProgramVacateBodyTableViewCell" customModule="ParentAssistant" customModuleProvider="target">  
15 - <rect key="frame" x="0.0" y="0.0" width="375" height="232"/>  
16 - <autoresizingMask key="autoresizingMask"/>  
17 - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="fd1-Sl-6Qm" id="yYa-Yh-jMm">  
18 - <rect key="frame" x="0.0" y="0.0" width="375" height="231.5"/>  
19 - <autoresizingMask key="autoresizingMask"/>  
20 - <subviews>  
21 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3iC-h2-GLD">  
22 - <rect key="frame" x="10" y="0.0" width="355" height="221.5"/>  
23 - <subviews>  
24 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="down" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gay-8r-CB4">  
25 - <rect key="frame" x="15" y="28" width="1" height="193"/>  
26 - <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>  
27 - <constraints>  
28 - <constraint firstAttribute="width" constant="1" id="4WM-0K-GRV"/>  
29 - </constraints>  
30 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
31 - <nil key="textColor"/>  
32 - <nil key="highlightedColor"/>  
33 - </label>  
34 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="up" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zCX-fI-ung">  
35 - <rect key="frame" x="15" y="0.0" width="1" height="28"/>  
36 - <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>  
37 - <constraints>  
38 - <constraint firstAttribute="width" constant="1" id="QZc-Lb-vnO"/>  
39 - </constraints>  
40 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
41 - <nil key="textColor"/>  
42 - <nil key="highlightedColor"/>  
43 - </label>  
44 - <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="grow_ellipse" translatesAutoresizingMaskIntoConstraints="NO" id="184-vm-o8V">  
45 - <rect key="frame" x="10" y="18" width="10" height="10"/>  
46 - <constraints>  
47 - <constraint firstAttribute="height" constant="10" id="NxP-OE-KAZ"/>  
48 - <constraint firstAttribute="width" constant="10" id="T2p-Zf-FWk"/>  
49 - </constraints>  
50 - </imageView>  
51 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请假人:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ptA-gi-ASQ">  
52 - <rect key="frame" x="40" y="12.5" width="57" height="21"/>  
53 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
54 - <nil key="textColor"/>  
55 - <nil key="highlightedColor"/>  
56 - </label>  
57 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="张三" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SMb-fO-hlW">  
58 - <rect key="frame" x="107" y="12.5" width="35" height="21"/>  
59 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
60 - <nil key="textColor"/>  
61 - <nil key="highlightedColor"/>  
62 - </label>  
63 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请假类型:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="I23-J8-cbV">  
64 - <rect key="frame" x="40" y="43.5" width="74" height="21"/>  
65 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
66 - <nil key="textColor"/>  
67 - <nil key="highlightedColor"/>  
68 - </label>  
69 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="事假" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tQ9-wo-yko">  
70 - <rect key="frame" x="124" y="43.5" width="35" height="21"/>  
71 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
72 - <nil key="textColor"/>  
73 - <nil key="highlightedColor"/>  
74 - </label>  
75 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请假时间:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XUE-jH-LMd">  
76 - <rect key="frame" x="40" y="74.5" width="74" height="21"/>  
77 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
78 - <nil key="textColor"/>  
79 - <nil key="highlightedColor"/>  
80 - </label>  
81 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018/04/02 08:00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="o1S-an-wZs">  
82 - <rect key="frame" x="124" y="74.5" width="141" height="21"/>  
83 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
84 - <nil key="textColor"/>  
85 - <nil key="highlightedColor"/>  
86 - </label>  
87 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="至" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q4S-hi-7fU">  
88 - <rect key="frame" x="185.5" y="100.5" width="18" height="21"/>  
89 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
90 - <nil key="textColor"/>  
91 - <nil key="highlightedColor"/>  
92 - </label>  
93 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018/04/02 17:30" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="m2d-nZ-oIw">  
94 - <rect key="frame" x="126" y="126.5" width="137" height="21"/>  
95 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
96 - <nil key="textColor"/>  
97 - <nil key="highlightedColor"/>  
98 - </label>  
99 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="审批人:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XmD-SZ-8bL">  
100 - <rect key="frame" x="40" y="157.5" width="57" height="21"/>  
101 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
102 - <nil key="textColor"/>  
103 - <nil key="highlightedColor"/>  
104 - </label>  
105 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="班主任-李倩" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CmX-ZE-z2v">  
106 - <rect key="frame" x="107" y="157.5" width="95" height="21"/>  
107 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
108 - <nil key="textColor"/>  
109 - <nil key="highlightedColor"/>  
110 - </label>  
111 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请假结果:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UYo-On-ZLA">  
112 - <rect key="frame" x="40" y="188.5" width="74" height="21"/>  
113 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
114 - <nil key="textColor"/>  
115 - <nil key="highlightedColor"/>  
116 - </label>  
117 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="同意" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P6F-mV-ell">  
118 - <rect key="frame" x="124" y="188.5" width="35" height="21"/>  
119 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
120 - <nil key="textColor"/>  
121 - <nil key="highlightedColor"/>  
122 - </label>  
123 - </subviews>  
124 - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
125 - <constraints>  
126 - <constraint firstItem="ptA-gi-ASQ" firstAttribute="centerY" secondItem="184-vm-o8V" secondAttribute="centerY" id="3sf-dz-jdr"/>  
127 - <constraint firstItem="o1S-an-wZs" firstAttribute="leading" secondItem="XUE-jH-LMd" secondAttribute="trailing" constant="10" id="45A-cx-9er"/>  
128 - <constraint firstItem="P6F-mV-ell" firstAttribute="centerY" secondItem="UYo-On-ZLA" secondAttribute="centerY" id="4jj-Yv-FyP"/>  
129 - <constraint firstItem="184-vm-o8V" firstAttribute="bottom" secondItem="zCX-fI-ung" secondAttribute="bottom" id="7Qo-Zx-DAx"/>  
130 - <constraint firstItem="CmX-ZE-z2v" firstAttribute="centerY" secondItem="XmD-SZ-8bL" secondAttribute="centerY" id="9d8-Eh-bXG"/>  
131 - <constraint firstItem="XUE-jH-LMd" firstAttribute="leading" secondItem="ptA-gi-ASQ" secondAttribute="leading" id="Egr-sG-T07"/>  
132 - <constraint firstItem="Q4S-hi-7fU" firstAttribute="centerX" secondItem="o1S-an-wZs" secondAttribute="centerX" id="HXy-Rc-qfD"/>  
133 - <constraint firstItem="P6F-mV-ell" firstAttribute="leading" secondItem="UYo-On-ZLA" secondAttribute="trailing" constant="10" id="IOH-oF-TIq"/>  
134 - <constraint firstItem="SMb-fO-hlW" firstAttribute="centerY" secondItem="ptA-gi-ASQ" secondAttribute="centerY" id="IjA-7L-kXF"/>  
135 - <constraint firstItem="gay-8r-CB4" firstAttribute="top" secondItem="184-vm-o8V" secondAttribute="bottom" id="Ilk-EK-SMV"/>  
136 - <constraint firstItem="184-vm-o8V" firstAttribute="leading" secondItem="3iC-h2-GLD" secondAttribute="leading" constant="10.5" id="KES-Nk-NQi"/>  
137 - <constraint firstAttribute="bottom" secondItem="gay-8r-CB4" secondAttribute="bottom" id="KoQ-MH-wGN"/>  
138 - <constraint firstItem="gay-8r-CB4" firstAttribute="leading" secondItem="3iC-h2-GLD" secondAttribute="leading" constant="15" id="QYv-CA-Chf"/>  
139 - <constraint firstItem="CmX-ZE-z2v" firstAttribute="leading" secondItem="XmD-SZ-8bL" secondAttribute="trailing" constant="10" id="Sa6-He-Zw1"/>  
140 - <constraint firstItem="XmD-SZ-8bL" firstAttribute="leading" secondItem="XUE-jH-LMd" secondAttribute="leading" id="XkB-Ka-XYp"/>  
141 - <constraint firstItem="zCX-fI-ung" firstAttribute="leading" secondItem="3iC-h2-GLD" secondAttribute="leading" constant="15" id="aTH-2y-tFi"/>  
142 - <constraint firstItem="I23-J8-cbV" firstAttribute="leading" secondItem="ptA-gi-ASQ" secondAttribute="leading" id="bPl-LK-op9"/>  
143 - <constraint firstItem="Q4S-hi-7fU" firstAttribute="top" secondItem="o1S-an-wZs" secondAttribute="bottom" constant="5" id="diF-eM-RWC"/>  
144 - <constraint firstItem="UYo-On-ZLA" firstAttribute="leading" secondItem="XmD-SZ-8bL" secondAttribute="leading" id="fVt-dT-aZ7"/>  
145 - <constraint firstItem="XmD-SZ-8bL" firstAttribute="top" secondItem="m2d-nZ-oIw" secondAttribute="bottom" constant="10" id="h1a-12-2u4"/>  
146 - <constraint firstItem="m2d-nZ-oIw" firstAttribute="top" secondItem="Q4S-hi-7fU" secondAttribute="bottom" constant="5" id="h5e-sp-jOh"/>  
147 - <constraint firstItem="184-vm-o8V" firstAttribute="top" secondItem="3iC-h2-GLD" secondAttribute="top" constant="18" id="hCe-rk-8Rh"/>  
148 - <constraint firstItem="tQ9-wo-yko" firstAttribute="centerY" secondItem="I23-J8-cbV" secondAttribute="centerY" id="iaq-Pt-N0v"/>  
149 - <constraint firstItem="XUE-jH-LMd" firstAttribute="top" secondItem="I23-J8-cbV" secondAttribute="bottom" constant="10" id="kFN-pq-rFH"/>  
150 - <constraint firstItem="tQ9-wo-yko" firstAttribute="leading" secondItem="I23-J8-cbV" secondAttribute="trailing" constant="10" id="lkm-Pa-khY"/>  
151 - <constraint firstItem="m2d-nZ-oIw" firstAttribute="centerX" secondItem="o1S-an-wZs" secondAttribute="centerX" id="osq-5I-jbe"/>  
152 - <constraint firstItem="o1S-an-wZs" firstAttribute="centerY" secondItem="XUE-jH-LMd" secondAttribute="centerY" id="p59-e2-LBT"/>  
153 - <constraint firstItem="ptA-gi-ASQ" firstAttribute="leading" secondItem="184-vm-o8V" secondAttribute="trailing" constant="20" id="pGi-jU-OcT"/>  
154 - <constraint firstItem="zCX-fI-ung" firstAttribute="top" secondItem="3iC-h2-GLD" secondAttribute="top" id="pYa-T9-TGa"/>  
155 - <constraint firstItem="I23-J8-cbV" firstAttribute="top" secondItem="ptA-gi-ASQ" secondAttribute="bottom" constant="10" id="sP9-y8-kI3"/>  
156 - <constraint firstItem="UYo-On-ZLA" firstAttribute="top" secondItem="XmD-SZ-8bL" secondAttribute="bottom" constant="10" id="tkO-jd-7ez"/>  
157 - <constraint firstItem="SMb-fO-hlW" firstAttribute="leading" secondItem="ptA-gi-ASQ" secondAttribute="trailing" constant="10" id="uGY-Th-x4A"/>  
158 - </constraints>  
159 - </view>  
160 - </subviews>  
161 - <constraints>  
162 - <constraint firstAttribute="bottom" secondItem="3iC-h2-GLD" secondAttribute="bottom" constant="10" id="FAV-5i-UxH"/>  
163 - <constraint firstItem="3iC-h2-GLD" firstAttribute="top" secondItem="yYa-Yh-jMm" secondAttribute="top" id="ObN-MI-Jfr"/>  
164 - <constraint firstAttribute="trailing" secondItem="3iC-h2-GLD" secondAttribute="trailing" constant="10" id="jGw-JA-Q0y"/>  
165 - <constraint firstItem="3iC-h2-GLD" firstAttribute="leading" secondItem="yYa-Yh-jMm" secondAttribute="leading" constant="10" id="tYS-Bh-NlN"/>  
166 - </constraints>  
167 - </tableViewCellContentView>  
168 - <connections>  
169 - <outlet property="endTime" destination="m2d-nZ-oIw" id="ZpU-Qi-TcG"/>  
170 - <outlet property="examinePerson" destination="CmX-ZE-z2v" id="GaV-qe-fuK"/>  
171 - <outlet property="startTime" destination="o1S-an-wZs" id="Qec-Kk-7UW"/>  
172 - <outlet property="upLine" destination="zCX-fI-ung" id="2Yc-jg-N9W"/>  
173 - <outlet property="vacateName" destination="SMb-fO-hlW" id="P18-Y5-fEa"/>  
174 - <outlet property="vacateResult" destination="P6F-mV-ell" id="LDB-dx-UoA"/>  
175 - <outlet property="vacateType" destination="tQ9-wo-yko" id="NeS-11-BX1"/>  
176 - </connections>  
177 - <point key="canvasLocation" x="-252.5" y="9"/>  
178 - </tableViewCell>  
179 - </objects>  
180 - <resources>  
181 - <image name="grow_ellipse" width="10" height="10"/>  
182 - </resources>  
183 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramVacateTableViewCell.swift
@@ -1,28 +0,0 @@ @@ -1,28 +0,0 @@
1 -//  
2 -// ProgramVacateTableViewCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/4/12.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class ProgramVacateTableViewCell: UITableViewCell {  
12 -  
13 - @IBOutlet weak var vacateName: UILabel!  
14 - @IBOutlet weak var startTime: UILabel!  
15 - @IBOutlet weak var endTime: UILabel!  
16 - override func awakeFromNib() {  
17 - super.awakeFromNib()  
18 - self.backgroundColor = backgroundColor  
19 -  
20 - // Initialization code  
21 - }  
22 -  
23 - override func setSelected(_ selected: Bool, animated: Bool) {  
24 - super.setSelected(selected, animated: animated)  
25 -  
26 - // Configure the view for the selected state  
27 - }  
28 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramVacateTableViewCell.xib
@@ -1,108 +0,0 @@ @@ -1,108 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="Safe area layout guides" minToolsVersion="9.0"/>  
10 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
11 - </dependencies>  
12 - <objects>  
13 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
14 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
15 - <tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="ProgramVacateTableViewCell" rowHeight="92" id="KGk-i7-Jjw" customClass="ProgramVacateTableViewCell" customModule="ParentAssistant" customModuleProvider="target">  
16 - <rect key="frame" x="0.0" y="0.0" width="389" height="92"/>  
17 - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>  
18 - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">  
19 - <rect key="frame" x="0.0" y="0.0" width="389" height="91.5"/>  
20 - <autoresizingMask key="autoresizingMask"/>  
21 - <subviews>  
22 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A0K-zH-Rt1">  
23 - <rect key="frame" x="10" y="10" width="369" height="72"/>  
24 - <subviews>  
25 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="-" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="H0L-Bl-DnY">  
26 - <rect key="frame" x="207" y="41.5" width="8" height="20.5"/>  
27 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
28 - <nil key="textColor"/>  
29 - <nil key="highlightedColor"/>  
30 - </label>  
31 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请假人:" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6Tv-CA-ehv">  
32 - <rect key="frame" x="10" y="10" width="57" height="21"/>  
33 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
34 - <nil key="textColor"/>  
35 - <nil key="highlightedColor"/>  
36 - </label>  
37 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="张三" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vif-Lw-a1X">  
38 - <rect key="frame" x="77" y="10" width="35" height="21"/>  
39 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
40 - <nil key="textColor"/>  
41 - <nil key="highlightedColor"/>  
42 - </label>  
43 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请假日期:" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bJt-wD-aUL">  
44 - <rect key="frame" x="10" y="41" width="74" height="21"/>  
45 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
46 - <nil key="textColor"/>  
47 - <nil key="highlightedColor"/>  
48 - </label>  
49 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018/04/02" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Rel-Qy-6VP">  
50 - <rect key="frame" x="94" y="41" width="90" height="21"/>  
51 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
52 - <nil key="textColor"/>  
53 - <nil key="highlightedColor"/>  
54 - </label>  
55 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018/04/02" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gIK-21-Af2">  
56 - <rect key="frame" x="220" y="41" width="90" height="21"/>  
57 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
58 - <nil key="textColor"/>  
59 - <nil key="highlightedColor"/>  
60 - </label>  
61 - <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="grow_calendar" translatesAutoresizingMaskIntoConstraints="NO" id="B3i-HY-f54">  
62 - <rect key="frame" x="189" y="45.5" width="13" height="12"/>  
63 - </imageView>  
64 - <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="grow_calendar" translatesAutoresizingMaskIntoConstraints="NO" id="ilp-az-hgB">  
65 - <rect key="frame" x="315" y="45.5" width="13" height="12"/>  
66 - </imageView>  
67 - </subviews>  
68 - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
69 - <constraints>  
70 - <constraint firstItem="bJt-wD-aUL" firstAttribute="top" secondItem="6Tv-CA-ehv" secondAttribute="bottom" constant="10" id="0OL-rx-svf"/>  
71 - <constraint firstItem="ilp-az-hgB" firstAttribute="centerY" secondItem="bJt-wD-aUL" secondAttribute="centerY" id="7EV-jy-9F4"/>  
72 - <constraint firstItem="vif-Lw-a1X" firstAttribute="centerY" secondItem="6Tv-CA-ehv" secondAttribute="centerY" id="7TD-NT-Lxd"/>  
73 - <constraint firstItem="H0L-Bl-DnY" firstAttribute="centerY" secondItem="bJt-wD-aUL" secondAttribute="centerY" id="ITS-GX-y9S"/>  
74 - <constraint firstItem="B3i-HY-f54" firstAttribute="centerY" secondItem="Rel-Qy-6VP" secondAttribute="centerY" id="JcP-od-r2M"/>  
75 - <constraint firstItem="ilp-az-hgB" firstAttribute="leading" secondItem="gIK-21-Af2" secondAttribute="trailing" constant="5" id="Kdw-IT-c8d"/>  
76 - <constraint firstItem="H0L-Bl-DnY" firstAttribute="leading" secondItem="B3i-HY-f54" secondAttribute="trailing" constant="5" id="SZC-UD-HMF"/>  
77 - <constraint firstItem="Rel-Qy-6VP" firstAttribute="centerY" secondItem="bJt-wD-aUL" secondAttribute="centerY" id="axv-QG-Ntd"/>  
78 - <constraint firstItem="6Tv-CA-ehv" firstAttribute="leading" secondItem="A0K-zH-Rt1" secondAttribute="leading" constant="10" id="bMD-p2-wnP"/>  
79 - <constraint firstItem="bJt-wD-aUL" firstAttribute="leading" secondItem="6Tv-CA-ehv" secondAttribute="leading" id="mK7-vI-tFc"/>  
80 - <constraint firstItem="gIK-21-Af2" firstAttribute="centerY" secondItem="bJt-wD-aUL" secondAttribute="centerY" id="peU-cr-ev1"/>  
81 - <constraint firstItem="vif-Lw-a1X" firstAttribute="leading" secondItem="6Tv-CA-ehv" secondAttribute="trailing" constant="10" id="pnQ-fK-xwq"/>  
82 - <constraint firstItem="Rel-Qy-6VP" firstAttribute="leading" secondItem="bJt-wD-aUL" secondAttribute="trailing" constant="10" id="sGH-i2-tjB"/>  
83 - <constraint firstItem="6Tv-CA-ehv" firstAttribute="top" secondItem="A0K-zH-Rt1" secondAttribute="top" constant="10" id="sXD-DY-NqG"/>  
84 - <constraint firstItem="gIK-21-Af2" firstAttribute="leading" secondItem="H0L-Bl-DnY" secondAttribute="trailing" constant="5" id="vcT-Nz-jpC"/>  
85 - <constraint firstItem="B3i-HY-f54" firstAttribute="leading" secondItem="Rel-Qy-6VP" secondAttribute="trailing" constant="5" id="x47-0x-gfz"/>  
86 - </constraints>  
87 - </view>  
88 - </subviews>  
89 - <constraints>  
90 - <constraint firstItem="A0K-zH-Rt1" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="GYT-zJ-fus"/>  
91 - <constraint firstAttribute="trailing" secondItem="A0K-zH-Rt1" secondAttribute="trailing" constant="10" id="JFC-pM-1F3"/>  
92 - <constraint firstItem="A0K-zH-Rt1" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="10" id="lo1-GF-rL8"/>  
93 - <constraint firstAttribute="bottom" secondItem="A0K-zH-Rt1" secondAttribute="bottom" constant="10" id="thL-h4-Sig"/>  
94 - </constraints>  
95 - </tableViewCellContentView>  
96 - <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>  
97 - <connections>  
98 - <outlet property="endTime" destination="gIK-21-Af2" id="YWL-mH-LCE"/>  
99 - <outlet property="startTime" destination="Rel-Qy-6VP" id="yWM-28-kpK"/>  
100 - <outlet property="vacateName" destination="vif-Lw-a1X" id="Hyd-gs-iH0"/>  
101 - </connections>  
102 - <point key="canvasLocation" x="59.5" y="-38"/>  
103 - </tableViewCell>  
104 - </objects>  
105 - <resources>  
106 - <image name="grow_calendar" width="13" height="12"/>  
107 - </resources>  
108 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/GrowCheckDownTableViewCell.swift 0 → 100644
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 +//
  2 +// GrowCheckDownTableViewCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/13.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class GrowCheckDownTableViewCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var studentParents: UILabel!
  14 + @IBOutlet weak var studentMessage: UILabel!
  15 + @IBOutlet weak var studentImage: UIImageView!
  16 + override func awakeFromNib() {
  17 + super.awakeFromNib()
  18 + // Initialization code
  19 + self.backgroundColor = backgroundColor
  20 + }
  21 +
  22 + override func setSelected(_ selected: Bool, animated: Bool) {
  23 + super.setSelected(selected, animated: animated)
  24 +
  25 + // Configure the view for the selected state
  26 + }
  27 +
  28 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/GrowCheckDownTableViewCell.xib 0 → 100644
@@ -0,0 +1,108 @@ @@ -0,0 +1,108 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="Alignment constraints with different attributes" minToolsVersion="5.1"/>
  10 + <capability name="Safe area layout guides" minToolsVersion="9.0"/>
  11 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  12 + </dependencies>
  13 + <objects>
  14 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  15 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  16 + <tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="GrowCheckDownTableViewCell" rowHeight="148" id="KGk-i7-Jjw" customClass="GrowCheckDownTableViewCell" customModule="ParentAssistant" customModuleProvider="target">
  17 + <rect key="frame" x="0.0" y="0.0" width="320" height="148"/>
  18 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  19 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
  20 + <rect key="frame" x="0.0" y="0.0" width="320" height="147.5"/>
  21 + <autoresizingMask key="autoresizingMask"/>
  22 + <subviews>
  23 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="M2G-AT-SGp">
  24 + <rect key="frame" x="10" y="0.0" width="300" height="147.5"/>
  25 + <subviews>
  26 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" text="down" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Jwf-rl-f67">
  27 + <rect key="frame" x="9.5" y="30" width="1" height="117.5"/>
  28 + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
  29 + <constraints>
  30 + <constraint firstAttribute="width" constant="1" id="oLs-xY-7rY"/>
  31 + </constraints>
  32 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  33 + <nil key="textColor"/>
  34 + <nil key="highlightedColor"/>
  35 + </label>
  36 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="up" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="k4Z-Uq-mfH">
  37 + <rect key="frame" x="9.5" y="0.0" width="1" height="20"/>
  38 + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
  39 + <constraints>
  40 + <constraint firstAttribute="width" constant="1" id="aid-s0-fng"/>
  41 + </constraints>
  42 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  43 + <nil key="textColor"/>
  44 + <nil key="highlightedColor"/>
  45 + </label>
  46 + <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="grow_ellipse" translatesAutoresizingMaskIntoConstraints="NO" id="yIx-vT-vEu">
  47 + <rect key="frame" x="5" y="20" width="10" height="10"/>
  48 + </imageView>
  49 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="尊敬的张三家长," textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CSJ-Ct-dJH">
  50 + <rect key="frame" x="25" y="14.5" width="126" height="21"/>
  51 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  52 + <nil key="textColor"/>
  53 + <nil key="highlightedColor"/>
  54 + </label>
  55 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="您的孩子已于08:00进校" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Poh-Qh-ybX">
  56 + <rect key="frame" x="25" y="45.5" width="185" height="21"/>
  57 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  58 + <nil key="textColor"/>
  59 + <nil key="highlightedColor"/>
  60 + </label>
  61 + <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="report_teacher" translatesAutoresizingMaskIntoConstraints="NO" id="SPG-e7-fgN">
  62 + <rect key="frame" x="25" y="76.5" width="100" height="60"/>
  63 + <constraints>
  64 + <constraint firstAttribute="width" constant="100" id="VO7-To-XAp"/>
  65 + <constraint firstAttribute="height" constant="60" id="i62-A6-AJc"/>
  66 + </constraints>
  67 + </imageView>
  68 + </subviews>
  69 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  70 + <constraints>
  71 + <constraint firstItem="SPG-e7-fgN" firstAttribute="leading" secondItem="Poh-Qh-ybX" secondAttribute="leading" id="0m7-7x-IO0"/>
  72 + <constraint firstItem="CSJ-Ct-dJH" firstAttribute="leading" secondItem="yIx-vT-vEu" secondAttribute="trailing" constant="10" id="2wH-ly-4k4"/>
  73 + <constraint firstItem="SPG-e7-fgN" firstAttribute="top" secondItem="Poh-Qh-ybX" secondAttribute="bottom" constant="10" id="5K6-Js-Pz1"/>
  74 + <constraint firstItem="yIx-vT-vEu" firstAttribute="centerX" secondItem="M2G-AT-SGp" secondAttribute="leading" constant="10" id="C3w-hd-rvx"/>
  75 + <constraint firstItem="k4Z-Uq-mfH" firstAttribute="top" secondItem="M2G-AT-SGp" secondAttribute="top" id="L6i-6C-gy9"/>
  76 + <constraint firstItem="yIx-vT-vEu" firstAttribute="top" secondItem="k4Z-Uq-mfH" secondAttribute="bottom" id="MPy-yt-5il"/>
  77 + <constraint firstItem="CSJ-Ct-dJH" firstAttribute="centerY" secondItem="yIx-vT-vEu" secondAttribute="centerY" id="PQp-9r-0ji"/>
  78 + <constraint firstItem="Poh-Qh-ybX" firstAttribute="leading" secondItem="CSJ-Ct-dJH" secondAttribute="leading" id="Tyn-83-pbP"/>
  79 + <constraint firstAttribute="bottom" secondItem="Jwf-rl-f67" secondAttribute="bottom" id="UQW-vJ-8KC"/>
  80 + <constraint firstItem="Jwf-rl-f67" firstAttribute="top" secondItem="yIx-vT-vEu" secondAttribute="bottom" id="Wty-SD-XgN"/>
  81 + <constraint firstItem="yIx-vT-vEu" firstAttribute="top" secondItem="M2G-AT-SGp" secondAttribute="top" constant="20" id="c64-bu-wzf"/>
  82 + <constraint firstItem="k4Z-Uq-mfH" firstAttribute="centerX" secondItem="yIx-vT-vEu" secondAttribute="centerX" id="pBh-nT-Dpq"/>
  83 + <constraint firstItem="Poh-Qh-ybX" firstAttribute="top" secondItem="CSJ-Ct-dJH" secondAttribute="bottom" constant="10" id="v4X-Nd-4dM"/>
  84 + <constraint firstItem="Jwf-rl-f67" firstAttribute="centerX" secondItem="yIx-vT-vEu" secondAttribute="centerX" id="vju-Nu-nX1"/>
  85 + </constraints>
  86 + </view>
  87 + </subviews>
  88 + <constraints>
  89 + <constraint firstItem="M2G-AT-SGp" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="2DK-lh-wLK"/>
  90 + <constraint firstItem="M2G-AT-SGp" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="10" id="anD-pN-eZ2"/>
  91 + <constraint firstAttribute="bottom" secondItem="M2G-AT-SGp" secondAttribute="bottom" id="hFP-C5-Crm"/>
  92 + <constraint firstAttribute="trailing" secondItem="M2G-AT-SGp" secondAttribute="trailing" constant="10" id="u3X-pJ-les"/>
  93 + </constraints>
  94 + </tableViewCellContentView>
  95 + <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
  96 + <connections>
  97 + <outlet property="studentImage" destination="SPG-e7-fgN" id="a1j-bR-MGg"/>
  98 + <outlet property="studentMessage" destination="Poh-Qh-ybX" id="I4b-qR-mT8"/>
  99 + <outlet property="studentParents" destination="CSJ-Ct-dJH" id="pU9-Ds-VC7"/>
  100 + </connections>
  101 + <point key="canvasLocation" x="25" y="-62"/>
  102 + </tableViewCell>
  103 + </objects>
  104 + <resources>
  105 + <image name="grow_ellipse" width="10" height="10"/>
  106 + <image name="report_teacher" width="130" height="155"/>
  107 + </resources>
  108 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/GrowCheckUpTableViewCell.swift 0 → 100644
@@ -0,0 +1,29 @@ @@ -0,0 +1,29 @@
  1 +//
  2 +// GrowCheckUpTableViewCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/13.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class GrowCheckUpTableViewCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var checkName: UILabel!
  14 + @IBOutlet weak var checkDate: UILabel!
  15 + @IBOutlet weak var checkCount: UILabel!
  16 + override func awakeFromNib() {
  17 + super.awakeFromNib()
  18 + self.backgroundColor = backgroundColor
  19 +
  20 + // Initialization code
  21 + }
  22 +
  23 + override func setSelected(_ selected: Bool, animated: Bool) {
  24 + super.setSelected(selected, animated: animated)
  25 +
  26 + // Configure the view for the selected state
  27 + }
  28 +
  29 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/GrowCheckUpTableViewCell.xib 0 → 100644
@@ -0,0 +1,95 @@ @@ -0,0 +1,95 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="Safe area layout guides" minToolsVersion="9.0"/>
  10 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  11 + </dependencies>
  12 + <objects>
  13 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  14 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  15 + <tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="GrowCheckUpTableViewCell" rowHeight="125" id="KGk-i7-Jjw" customClass="GrowCheckUpTableViewCell" customModule="ParentAssistant" customModuleProvider="target">
  16 + <rect key="frame" x="0.0" y="0.0" width="320" height="125"/>
  17 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  18 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
  19 + <rect key="frame" x="0.0" y="0.0" width="320" height="124.5"/>
  20 + <autoresizingMask key="autoresizingMask"/>
  21 + <subviews>
  22 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="4bl-Ug-Jkf">
  23 + <rect key="frame" x="10" y="10" width="300" height="109.5"/>
  24 + <subviews>
  25 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="考勤对象:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ExJ-Vr-Gtw">
  26 + <rect key="frame" x="10" y="10" width="74" height="21"/>
  27 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  28 + <nil key="textColor"/>
  29 + <nil key="highlightedColor"/>
  30 + </label>
  31 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="张三" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OoZ-Pq-CLb">
  32 + <rect key="frame" x="94" y="10" width="35" height="21"/>
  33 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  34 + <nil key="textColor"/>
  35 + <nil key="highlightedColor"/>
  36 + </label>
  37 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="考勤日期:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tmY-YA-dJD">
  38 + <rect key="frame" x="10" y="41" width="74" height="21"/>
  39 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  40 + <nil key="textColor"/>
  41 + <nil key="highlightedColor"/>
  42 + </label>
  43 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018-04-02" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PQL-0B-hTy">
  44 + <rect key="frame" x="94" y="41" width="95" height="21"/>
  45 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  46 + <nil key="textColor"/>
  47 + <nil key="highlightedColor"/>
  48 + </label>
  49 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="考勤次数:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SdL-gq-fnS">
  50 + <rect key="frame" x="10" y="72" width="74" height="21"/>
  51 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  52 + <nil key="textColor"/>
  53 + <nil key="highlightedColor"/>
  54 + </label>
  55 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2次" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ix0-QT-dOr">
  56 + <rect key="frame" x="94" y="72" width="28" height="21"/>
  57 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  58 + <nil key="textColor"/>
  59 + <nil key="highlightedColor"/>
  60 + </label>
  61 + </subviews>
  62 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  63 + <constraints>
  64 + <constraint firstItem="tmY-YA-dJD" firstAttribute="leading" secondItem="ExJ-Vr-Gtw" secondAttribute="leading" id="3Pa-wB-2lr"/>
  65 + <constraint firstItem="PQL-0B-hTy" firstAttribute="centerY" secondItem="tmY-YA-dJD" secondAttribute="centerY" id="BEz-Ng-xFW"/>
  66 + <constraint firstItem="PQL-0B-hTy" firstAttribute="leading" secondItem="tmY-YA-dJD" secondAttribute="trailing" constant="10" id="C6P-sS-Ti3"/>
  67 + <constraint firstItem="ix0-QT-dOr" firstAttribute="leading" secondItem="SdL-gq-fnS" secondAttribute="trailing" constant="10" id="C7D-Xp-8fA"/>
  68 + <constraint firstItem="OoZ-Pq-CLb" firstAttribute="leading" secondItem="ExJ-Vr-Gtw" secondAttribute="trailing" constant="10" id="CV2-qX-bM9"/>
  69 + <constraint firstItem="ix0-QT-dOr" firstAttribute="centerY" secondItem="SdL-gq-fnS" secondAttribute="centerY" id="DbP-xw-6R6"/>
  70 + <constraint firstItem="tmY-YA-dJD" firstAttribute="top" secondItem="ExJ-Vr-Gtw" secondAttribute="bottom" constant="10" id="Feh-ug-yAO"/>
  71 + <constraint firstItem="OoZ-Pq-CLb" firstAttribute="centerY" secondItem="ExJ-Vr-Gtw" secondAttribute="centerY" id="GSd-kH-4nO"/>
  72 + <constraint firstItem="ExJ-Vr-Gtw" firstAttribute="leading" secondItem="4bl-Ug-Jkf" secondAttribute="leading" constant="10" id="I8y-IR-Znk"/>
  73 + <constraint firstItem="SdL-gq-fnS" firstAttribute="leading" secondItem="tmY-YA-dJD" secondAttribute="leading" id="Ig0-4D-3dH"/>
  74 + <constraint firstItem="SdL-gq-fnS" firstAttribute="top" secondItem="tmY-YA-dJD" secondAttribute="bottom" constant="10" id="XIM-uQ-5fp"/>
  75 + <constraint firstItem="ExJ-Vr-Gtw" firstAttribute="top" secondItem="4bl-Ug-Jkf" secondAttribute="top" constant="10" id="dYP-XR-ZhS"/>
  76 + </constraints>
  77 + </view>
  78 + </subviews>
  79 + <constraints>
  80 + <constraint firstItem="4bl-Ug-Jkf" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="10" id="Oj0-RK-tj4"/>
  81 + <constraint firstAttribute="bottom" secondItem="4bl-Ug-Jkf" secondAttribute="bottom" constant="5" id="RVP-gf-Oys"/>
  82 + <constraint firstItem="4bl-Ug-Jkf" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="spZ-Iv-ujG"/>
  83 + <constraint firstAttribute="trailing" secondItem="4bl-Ug-Jkf" secondAttribute="trailing" constant="10" id="xte-F0-Y0Y"/>
  84 + </constraints>
  85 + </tableViewCellContentView>
  86 + <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
  87 + <connections>
  88 + <outlet property="checkCount" destination="ix0-QT-dOr" id="S2d-me-Lfu"/>
  89 + <outlet property="checkDate" destination="PQL-0B-hTy" id="oje-oo-bif"/>
  90 + <outlet property="checkName" destination="OoZ-Pq-CLb" id="47o-Bv-QW8"/>
  91 + </connections>
  92 + <point key="canvasLocation" x="-30" y="-35.5"/>
  93 + </tableViewCell>
  94 + </objects>
  95 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/ProgramVacateAddView.swift 0 → 100644
@@ -0,0 +1,22 @@ @@ -0,0 +1,22 @@
  1 +//
  2 +// ProgramVacateAddView.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/16.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class ProgramVacateAddView: UIView {
  12 +
  13 + override init(frame: CGRect) {
  14 + super.init(frame: frame)
  15 + }
  16 +
  17 +
  18 + required init?(coder aDecoder: NSCoder) {
  19 + fatalError("init(coder:) has not been implemented")
  20 + }
  21 +
  22 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/ProgramVacateBodyTableViewCell.swift 0 → 100644
@@ -0,0 +1,33 @@ @@ -0,0 +1,33 @@
  1 +//
  2 +// ProgramVacateBodyTableViewCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/12.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class ProgramVacateBodyTableViewCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var upLine: UILabel!
  14 + @IBOutlet weak var vacateName: UILabel!
  15 + @IBOutlet weak var vacateType: UILabel!
  16 + @IBOutlet weak var startTime: UILabel!
  17 + @IBOutlet weak var endTime: UILabel!
  18 + @IBOutlet weak var examinePerson: UILabel!
  19 + @IBOutlet weak var vacateResult: UILabel!
  20 + override func awakeFromNib() {
  21 + super.awakeFromNib()
  22 + self.backgroundColor = backgroundColor
  23 +
  24 + // Initialization code
  25 + }
  26 +
  27 + override func setSelected(_ selected: Bool, animated: Bool) {
  28 + super.setSelected(selected, animated: animated)
  29 +
  30 + // Configure the view for the selected state
  31 + }
  32 +
  33 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/ProgramVacateBodyTableViewCell.xib 0 → 100644
@@ -0,0 +1,183 @@ @@ -0,0 +1,183 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  10 + </dependencies>
  11 + <objects>
  12 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  13 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  14 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="ProgramVacateBodyTableViewCell" rowHeight="232" id="fd1-Sl-6Qm" customClass="ProgramVacateBodyTableViewCell" customModule="ParentAssistant" customModuleProvider="target">
  15 + <rect key="frame" x="0.0" y="0.0" width="375" height="232"/>
  16 + <autoresizingMask key="autoresizingMask"/>
  17 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="fd1-Sl-6Qm" id="yYa-Yh-jMm">
  18 + <rect key="frame" x="0.0" y="0.0" width="375" height="231.5"/>
  19 + <autoresizingMask key="autoresizingMask"/>
  20 + <subviews>
  21 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="3iC-h2-GLD">
  22 + <rect key="frame" x="10" y="0.0" width="355" height="221.5"/>
  23 + <subviews>
  24 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="down" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gay-8r-CB4">
  25 + <rect key="frame" x="15" y="28" width="1" height="193"/>
  26 + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
  27 + <constraints>
  28 + <constraint firstAttribute="width" constant="1" id="4WM-0K-GRV"/>
  29 + </constraints>
  30 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  31 + <nil key="textColor"/>
  32 + <nil key="highlightedColor"/>
  33 + </label>
  34 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="up" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zCX-fI-ung">
  35 + <rect key="frame" x="15" y="0.0" width="1" height="28"/>
  36 + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
  37 + <constraints>
  38 + <constraint firstAttribute="width" constant="1" id="QZc-Lb-vnO"/>
  39 + </constraints>
  40 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  41 + <nil key="textColor"/>
  42 + <nil key="highlightedColor"/>
  43 + </label>
  44 + <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="grow_ellipse" translatesAutoresizingMaskIntoConstraints="NO" id="184-vm-o8V">
  45 + <rect key="frame" x="10" y="18" width="10" height="10"/>
  46 + <constraints>
  47 + <constraint firstAttribute="height" constant="10" id="NxP-OE-KAZ"/>
  48 + <constraint firstAttribute="width" constant="10" id="T2p-Zf-FWk"/>
  49 + </constraints>
  50 + </imageView>
  51 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请假人:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="ptA-gi-ASQ">
  52 + <rect key="frame" x="40" y="12.5" width="57" height="21"/>
  53 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  54 + <nil key="textColor"/>
  55 + <nil key="highlightedColor"/>
  56 + </label>
  57 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="张三" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SMb-fO-hlW">
  58 + <rect key="frame" x="107" y="12.5" width="35" height="21"/>
  59 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  60 + <nil key="textColor"/>
  61 + <nil key="highlightedColor"/>
  62 + </label>
  63 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请假类型:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="I23-J8-cbV">
  64 + <rect key="frame" x="40" y="43.5" width="74" height="21"/>
  65 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  66 + <nil key="textColor"/>
  67 + <nil key="highlightedColor"/>
  68 + </label>
  69 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="事假" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="tQ9-wo-yko">
  70 + <rect key="frame" x="124" y="43.5" width="35" height="21"/>
  71 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  72 + <nil key="textColor"/>
  73 + <nil key="highlightedColor"/>
  74 + </label>
  75 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请假时间:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XUE-jH-LMd">
  76 + <rect key="frame" x="40" y="74.5" width="74" height="21"/>
  77 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  78 + <nil key="textColor"/>
  79 + <nil key="highlightedColor"/>
  80 + </label>
  81 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018/04/02 08:00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="o1S-an-wZs">
  82 + <rect key="frame" x="124" y="74.5" width="141" height="21"/>
  83 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  84 + <nil key="textColor"/>
  85 + <nil key="highlightedColor"/>
  86 + </label>
  87 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="至" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q4S-hi-7fU">
  88 + <rect key="frame" x="185.5" y="100.5" width="18" height="21"/>
  89 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  90 + <nil key="textColor"/>
  91 + <nil key="highlightedColor"/>
  92 + </label>
  93 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018/04/02 17:30" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="m2d-nZ-oIw">
  94 + <rect key="frame" x="126" y="126.5" width="137" height="21"/>
  95 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  96 + <nil key="textColor"/>
  97 + <nil key="highlightedColor"/>
  98 + </label>
  99 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="审批人:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="XmD-SZ-8bL">
  100 + <rect key="frame" x="40" y="157.5" width="57" height="21"/>
  101 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  102 + <nil key="textColor"/>
  103 + <nil key="highlightedColor"/>
  104 + </label>
  105 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="班主任-李倩" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CmX-ZE-z2v">
  106 + <rect key="frame" x="107" y="157.5" width="95" height="21"/>
  107 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  108 + <nil key="textColor"/>
  109 + <nil key="highlightedColor"/>
  110 + </label>
  111 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请假结果:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="UYo-On-ZLA">
  112 + <rect key="frame" x="40" y="188.5" width="74" height="21"/>
  113 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  114 + <nil key="textColor"/>
  115 + <nil key="highlightedColor"/>
  116 + </label>
  117 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="同意" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="P6F-mV-ell">
  118 + <rect key="frame" x="124" y="188.5" width="35" height="21"/>
  119 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  120 + <nil key="textColor"/>
  121 + <nil key="highlightedColor"/>
  122 + </label>
  123 + </subviews>
  124 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  125 + <constraints>
  126 + <constraint firstItem="ptA-gi-ASQ" firstAttribute="centerY" secondItem="184-vm-o8V" secondAttribute="centerY" id="3sf-dz-jdr"/>
  127 + <constraint firstItem="o1S-an-wZs" firstAttribute="leading" secondItem="XUE-jH-LMd" secondAttribute="trailing" constant="10" id="45A-cx-9er"/>
  128 + <constraint firstItem="P6F-mV-ell" firstAttribute="centerY" secondItem="UYo-On-ZLA" secondAttribute="centerY" id="4jj-Yv-FyP"/>
  129 + <constraint firstItem="184-vm-o8V" firstAttribute="bottom" secondItem="zCX-fI-ung" secondAttribute="bottom" id="7Qo-Zx-DAx"/>
  130 + <constraint firstItem="CmX-ZE-z2v" firstAttribute="centerY" secondItem="XmD-SZ-8bL" secondAttribute="centerY" id="9d8-Eh-bXG"/>
  131 + <constraint firstItem="XUE-jH-LMd" firstAttribute="leading" secondItem="ptA-gi-ASQ" secondAttribute="leading" id="Egr-sG-T07"/>
  132 + <constraint firstItem="Q4S-hi-7fU" firstAttribute="centerX" secondItem="o1S-an-wZs" secondAttribute="centerX" id="HXy-Rc-qfD"/>
  133 + <constraint firstItem="P6F-mV-ell" firstAttribute="leading" secondItem="UYo-On-ZLA" secondAttribute="trailing" constant="10" id="IOH-oF-TIq"/>
  134 + <constraint firstItem="SMb-fO-hlW" firstAttribute="centerY" secondItem="ptA-gi-ASQ" secondAttribute="centerY" id="IjA-7L-kXF"/>
  135 + <constraint firstItem="gay-8r-CB4" firstAttribute="top" secondItem="184-vm-o8V" secondAttribute="bottom" id="Ilk-EK-SMV"/>
  136 + <constraint firstItem="184-vm-o8V" firstAttribute="leading" secondItem="3iC-h2-GLD" secondAttribute="leading" constant="10.5" id="KES-Nk-NQi"/>
  137 + <constraint firstAttribute="bottom" secondItem="gay-8r-CB4" secondAttribute="bottom" id="KoQ-MH-wGN"/>
  138 + <constraint firstItem="gay-8r-CB4" firstAttribute="leading" secondItem="3iC-h2-GLD" secondAttribute="leading" constant="15" id="QYv-CA-Chf"/>
  139 + <constraint firstItem="CmX-ZE-z2v" firstAttribute="leading" secondItem="XmD-SZ-8bL" secondAttribute="trailing" constant="10" id="Sa6-He-Zw1"/>
  140 + <constraint firstItem="XmD-SZ-8bL" firstAttribute="leading" secondItem="XUE-jH-LMd" secondAttribute="leading" id="XkB-Ka-XYp"/>
  141 + <constraint firstItem="zCX-fI-ung" firstAttribute="leading" secondItem="3iC-h2-GLD" secondAttribute="leading" constant="15" id="aTH-2y-tFi"/>
  142 + <constraint firstItem="I23-J8-cbV" firstAttribute="leading" secondItem="ptA-gi-ASQ" secondAttribute="leading" id="bPl-LK-op9"/>
  143 + <constraint firstItem="Q4S-hi-7fU" firstAttribute="top" secondItem="o1S-an-wZs" secondAttribute="bottom" constant="5" id="diF-eM-RWC"/>
  144 + <constraint firstItem="UYo-On-ZLA" firstAttribute="leading" secondItem="XmD-SZ-8bL" secondAttribute="leading" id="fVt-dT-aZ7"/>
  145 + <constraint firstItem="XmD-SZ-8bL" firstAttribute="top" secondItem="m2d-nZ-oIw" secondAttribute="bottom" constant="10" id="h1a-12-2u4"/>
  146 + <constraint firstItem="m2d-nZ-oIw" firstAttribute="top" secondItem="Q4S-hi-7fU" secondAttribute="bottom" constant="5" id="h5e-sp-jOh"/>
  147 + <constraint firstItem="184-vm-o8V" firstAttribute="top" secondItem="3iC-h2-GLD" secondAttribute="top" constant="18" id="hCe-rk-8Rh"/>
  148 + <constraint firstItem="tQ9-wo-yko" firstAttribute="centerY" secondItem="I23-J8-cbV" secondAttribute="centerY" id="iaq-Pt-N0v"/>
  149 + <constraint firstItem="XUE-jH-LMd" firstAttribute="top" secondItem="I23-J8-cbV" secondAttribute="bottom" constant="10" id="kFN-pq-rFH"/>
  150 + <constraint firstItem="tQ9-wo-yko" firstAttribute="leading" secondItem="I23-J8-cbV" secondAttribute="trailing" constant="10" id="lkm-Pa-khY"/>
  151 + <constraint firstItem="m2d-nZ-oIw" firstAttribute="centerX" secondItem="o1S-an-wZs" secondAttribute="centerX" id="osq-5I-jbe"/>
  152 + <constraint firstItem="o1S-an-wZs" firstAttribute="centerY" secondItem="XUE-jH-LMd" secondAttribute="centerY" id="p59-e2-LBT"/>
  153 + <constraint firstItem="ptA-gi-ASQ" firstAttribute="leading" secondItem="184-vm-o8V" secondAttribute="trailing" constant="20" id="pGi-jU-OcT"/>
  154 + <constraint firstItem="zCX-fI-ung" firstAttribute="top" secondItem="3iC-h2-GLD" secondAttribute="top" id="pYa-T9-TGa"/>
  155 + <constraint firstItem="I23-J8-cbV" firstAttribute="top" secondItem="ptA-gi-ASQ" secondAttribute="bottom" constant="10" id="sP9-y8-kI3"/>
  156 + <constraint firstItem="UYo-On-ZLA" firstAttribute="top" secondItem="XmD-SZ-8bL" secondAttribute="bottom" constant="10" id="tkO-jd-7ez"/>
  157 + <constraint firstItem="SMb-fO-hlW" firstAttribute="leading" secondItem="ptA-gi-ASQ" secondAttribute="trailing" constant="10" id="uGY-Th-x4A"/>
  158 + </constraints>
  159 + </view>
  160 + </subviews>
  161 + <constraints>
  162 + <constraint firstAttribute="bottom" secondItem="3iC-h2-GLD" secondAttribute="bottom" constant="10" id="FAV-5i-UxH"/>
  163 + <constraint firstItem="3iC-h2-GLD" firstAttribute="top" secondItem="yYa-Yh-jMm" secondAttribute="top" id="ObN-MI-Jfr"/>
  164 + <constraint firstAttribute="trailing" secondItem="3iC-h2-GLD" secondAttribute="trailing" constant="10" id="jGw-JA-Q0y"/>
  165 + <constraint firstItem="3iC-h2-GLD" firstAttribute="leading" secondItem="yYa-Yh-jMm" secondAttribute="leading" constant="10" id="tYS-Bh-NlN"/>
  166 + </constraints>
  167 + </tableViewCellContentView>
  168 + <connections>
  169 + <outlet property="endTime" destination="m2d-nZ-oIw" id="ZpU-Qi-TcG"/>
  170 + <outlet property="examinePerson" destination="CmX-ZE-z2v" id="GaV-qe-fuK"/>
  171 + <outlet property="startTime" destination="o1S-an-wZs" id="Qec-Kk-7UW"/>
  172 + <outlet property="upLine" destination="zCX-fI-ung" id="2Yc-jg-N9W"/>
  173 + <outlet property="vacateName" destination="SMb-fO-hlW" id="P18-Y5-fEa"/>
  174 + <outlet property="vacateResult" destination="P6F-mV-ell" id="LDB-dx-UoA"/>
  175 + <outlet property="vacateType" destination="tQ9-wo-yko" id="NeS-11-BX1"/>
  176 + </connections>
  177 + <point key="canvasLocation" x="-252.5" y="9"/>
  178 + </tableViewCell>
  179 + </objects>
  180 + <resources>
  181 + <image name="grow_ellipse" width="10" height="10"/>
  182 + </resources>
  183 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/ProgramVacateDetailCell.swift 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +//
  2 +// ProgramVacateDetailCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/16.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class ProgramVacateDetailCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var titileLab: UILabel!
  14 + @IBOutlet weak var contentLab: UILabel!
  15 + override func awakeFromNib() {
  16 + super.awakeFromNib()
  17 + // Initialization code
  18 + }
  19 +
  20 + override func setSelected(_ selected: Bool, animated: Bool) {
  21 + super.setSelected(selected, animated: animated)
  22 +
  23 + // Configure the view for the selected state
  24 + }
  25 +
  26 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/ProgramVacateDetailCell.xib 0 → 100644
@@ -0,0 +1,50 @@ @@ -0,0 +1,50 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="Safe area layout guides" minToolsVersion="9.0"/>
  10 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  11 + </dependencies>
  12 + <objects>
  13 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  14 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  15 + <tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="ProgramVacateDetailCell" id="KGk-i7-Jjw" customClass="ProgramVacateDetailCell" customModule="ParentAssistant" customModuleProvider="target">
  16 + <rect key="frame" x="0.0" y="0.0" width="320" height="44"/>
  17 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  18 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
  19 + <rect key="frame" x="0.0" y="0.0" width="320" height="43.5"/>
  20 + <autoresizingMask key="autoresizingMask"/>
  21 + <subviews>
  22 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="SSR-6D-Og1">
  23 + <rect key="frame" x="15" y="11" width="42" height="21"/>
  24 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  25 + <nil key="textColor"/>
  26 + <nil key="highlightedColor"/>
  27 + </label>
  28 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="eTH-2V-g25">
  29 + <rect key="frame" x="100" y="11" width="42" height="21"/>
  30 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  31 + <nil key="textColor"/>
  32 + <nil key="highlightedColor"/>
  33 + </label>
  34 + </subviews>
  35 + <constraints>
  36 + <constraint firstItem="SSR-6D-Og1" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="15" id="IU1-Db-nhz"/>
  37 + <constraint firstItem="eTH-2V-g25" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="100" id="Wad-li-Pgc"/>
  38 + <constraint firstItem="SSR-6D-Og1" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="XK7-Gw-wdd"/>
  39 + <constraint firstItem="eTH-2V-g25" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="o7b-0r-QFl"/>
  40 + </constraints>
  41 + </tableViewCellContentView>
  42 + <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
  43 + <connections>
  44 + <outlet property="contentLab" destination="eTH-2V-g25" id="pLy-g6-civ"/>
  45 + <outlet property="titileLab" destination="SSR-6D-Og1" id="fjT-XO-XM8"/>
  46 + </connections>
  47 + <point key="canvasLocation" x="-151" y="-31"/>
  48 + </tableViewCell>
  49 + </objects>
  50 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/ProgramVacateDetailView.swift 0 → 100644
@@ -0,0 +1,77 @@ @@ -0,0 +1,77 @@
  1 +//
  2 +// ProgramVacateDetailView.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/16.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class ProgramVacateDetailView: UIView,UITableViewDelegate,UITableViewDataSource {
  12 +
  13 + lazy var tableView = { ()-> UITableView in
  14 +
  15 + let table = UITableView.init(frame: self.bounds)
  16 + table.delegate = self
  17 + table.dataSource = self
  18 + table.register(UINib.init(nibName: "ProgramVacateDetailCell", bundle: nil), forCellReuseIdentifier: "ProgramVacateDetailCell")
  19 + table.register(UINib.init(nibName: "ProgramVacateTextFieldCell", bundle: nil), forCellReuseIdentifier: "ProgramVacateTextFieldCell")
  20 + table.register(UINib.init(nibName: "ProgramVacateImageCell", bundle: nil), forCellReuseIdentifier: "ProgramVacateImageCell")
  21 + return table
  22 + }()
  23 +
  24 + //data
  25 + var dataArr = Array<String>()
  26 +
  27 +
  28 + override init(frame: CGRect) {
  29 + super.init(frame: frame)
  30 +
  31 + self.dataArr = ["学生姓名:","班级:","请假场景:","请假类型:","请假时间:","返校时间:","离校原因:","照片:","审核人:","发起时间","审核情况:"]
  32 +
  33 + self.addSubview(self.tableView)
  34 +
  35 + }
  36 +
  37 + //MARK: - TableView Delegate && DataSource
  38 + func numberOfSections(in tableView: UITableView) -> Int {
  39 + return 1
  40 + }
  41 + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  42 + return dataArr.count
  43 + }
  44 + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
  45 + if indexPath.row == 6 || indexPath.row == 7 {
  46 + return 100
  47 + }
  48 + return 50
  49 + }
  50 + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  51 +
  52 + if indexPath.row != 6 && indexPath.row != 7 {
  53 + let cell = tableView.dequeueReusableCell(withIdentifier: "ProgramVacateDetailCell", for: indexPath) as! ProgramVacateDetailCell
  54 + cell.titileLab.text = dataArr[indexPath.row]
  55 + cell.contentLab.text = "张三"
  56 + return cell
  57 + }else if indexPath.row == 6 {
  58 + let cell = tableView.dequeueReusableCell(withIdentifier: "ProgramVacateTextFieldCell", for: indexPath) as! ProgramVacateTextFieldCell
  59 + cell.titleLab.text = dataArr[indexPath.row]
  60 + cell.textFieldView.text = "肚子痛"
  61 + return cell
  62 + }else if indexPath.row == 7 {
  63 + let cell = tableView.dequeueReusableCell(withIdentifier: "ProgramVacateImageCell", for: indexPath) as! ProgramVacateImageCell
  64 + cell.titleLab.text = dataArr[indexPath.row]
  65 + return cell
  66 + }
  67 + return UITableViewCell.init()
  68 +
  69 + }
  70 +
  71 +
  72 + required init?(coder aDecoder: NSCoder) {
  73 + fatalError("init(coder:) has not been implemented")
  74 + }
  75 +
  76 +
  77 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/ProgramVacateImageCell.swift 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +//
  2 +// ProgramVacateImageCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/16.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class ProgramVacateImageCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var titleLab: UILabel!
  14 + @IBOutlet weak var imageShowView: UIImageView!
  15 + override func awakeFromNib() {
  16 + super.awakeFromNib()
  17 + // Initialization code
  18 + }
  19 +
  20 + override func setSelected(_ selected: Bool, animated: Bool) {
  21 + super.setSelected(selected, animated: animated)
  22 +
  23 + // Configure the view for the selected state
  24 + }
  25 +
  26 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/ProgramVacateImageCell.xib 0 → 100644
@@ -0,0 +1,54 @@ @@ -0,0 +1,54 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="Safe area layout guides" minToolsVersion="9.0"/>
  10 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  11 + </dependencies>
  12 + <objects>
  13 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  14 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  15 + <tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="ProgramVacateImageCell" rowHeight="108" id="KGk-i7-Jjw" customClass="ProgramVacateImageCell" customModule="ParentAssistant" customModuleProvider="target">
  16 + <rect key="frame" x="0.0" y="0.0" width="320" height="108"/>
  17 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  18 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
  19 + <rect key="frame" x="0.0" y="0.0" width="320" height="107.5"/>
  20 + <autoresizingMask key="autoresizingMask"/>
  21 + <subviews>
  22 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PBx-Nz-1NI">
  23 + <rect key="frame" x="15" y="10" width="42" height="21"/>
  24 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  25 + <nil key="textColor"/>
  26 + <nil key="highlightedColor"/>
  27 + </label>
  28 + <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="report_teacher" translatesAutoresizingMaskIntoConstraints="NO" id="ZF1-qH-9lS">
  29 + <rect key="frame" x="100" y="13.5" width="100" height="80"/>
  30 + <constraints>
  31 + <constraint firstAttribute="width" constant="100" id="p9s-MT-aGl"/>
  32 + <constraint firstAttribute="height" constant="80" id="tAH-u1-Hcr"/>
  33 + </constraints>
  34 + </imageView>
  35 + </subviews>
  36 + <constraints>
  37 + <constraint firstItem="PBx-Nz-1NI" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="15" id="39O-YJ-JfH"/>
  38 + <constraint firstItem="ZF1-qH-9lS" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="100" id="ITY-cI-WkF"/>
  39 + <constraint firstItem="PBx-Nz-1NI" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="LN1-8k-ZpR"/>
  40 + <constraint firstItem="ZF1-qH-9lS" firstAttribute="centerY" secondItem="H2p-sc-9uM" secondAttribute="centerY" id="fUW-mi-ZFa"/>
  41 + </constraints>
  42 + </tableViewCellContentView>
  43 + <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
  44 + <connections>
  45 + <outlet property="imageShowView" destination="ZF1-qH-9lS" id="Gcg-Uu-blX"/>
  46 + <outlet property="titleLab" destination="PBx-Nz-1NI" id="sVH-z3-MA8"/>
  47 + </connections>
  48 + <point key="canvasLocation" x="25" y="84"/>
  49 + </tableViewCell>
  50 + </objects>
  51 + <resources>
  52 + <image name="report_teacher" width="130" height="155"/>
  53 + </resources>
  54 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/ProgramVacateTableViewCell.swift 0 → 100644
@@ -0,0 +1,28 @@ @@ -0,0 +1,28 @@
  1 +//
  2 +// ProgramVacateTableViewCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/12.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class ProgramVacateTableViewCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var vacateName: UILabel!
  14 + @IBOutlet weak var startTime: UILabel!
  15 + @IBOutlet weak var endTime: UILabel!
  16 + override func awakeFromNib() {
  17 + super.awakeFromNib()
  18 + self.backgroundColor = backgroundColor
  19 +
  20 + // Initialization code
  21 + }
  22 +
  23 + override func setSelected(_ selected: Bool, animated: Bool) {
  24 + super.setSelected(selected, animated: animated)
  25 +
  26 + // Configure the view for the selected state
  27 + }
  28 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/ProgramVacateTableViewCell.xib 0 → 100644
@@ -0,0 +1,108 @@ @@ -0,0 +1,108 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="Safe area layout guides" minToolsVersion="9.0"/>
  10 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  11 + </dependencies>
  12 + <objects>
  13 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  14 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  15 + <tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="ProgramVacateTableViewCell" rowHeight="92" id="KGk-i7-Jjw" customClass="ProgramVacateTableViewCell" customModule="ParentAssistant" customModuleProvider="target">
  16 + <rect key="frame" x="0.0" y="0.0" width="389" height="92"/>
  17 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  18 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
  19 + <rect key="frame" x="0.0" y="0.0" width="389" height="91.5"/>
  20 + <autoresizingMask key="autoresizingMask"/>
  21 + <subviews>
  22 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="A0K-zH-Rt1">
  23 + <rect key="frame" x="10" y="10" width="369" height="72"/>
  24 + <subviews>
  25 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="-" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="H0L-Bl-DnY">
  26 + <rect key="frame" x="207" y="41.5" width="8" height="20.5"/>
  27 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  28 + <nil key="textColor"/>
  29 + <nil key="highlightedColor"/>
  30 + </label>
  31 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请假人:" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="6Tv-CA-ehv">
  32 + <rect key="frame" x="10" y="10" width="57" height="21"/>
  33 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  34 + <nil key="textColor"/>
  35 + <nil key="highlightedColor"/>
  36 + </label>
  37 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="张三" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vif-Lw-a1X">
  38 + <rect key="frame" x="77" y="10" width="35" height="21"/>
  39 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  40 + <nil key="textColor"/>
  41 + <nil key="highlightedColor"/>
  42 + </label>
  43 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="请假日期:" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="bJt-wD-aUL">
  44 + <rect key="frame" x="10" y="41" width="74" height="21"/>
  45 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  46 + <nil key="textColor"/>
  47 + <nil key="highlightedColor"/>
  48 + </label>
  49 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018/04/02" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Rel-Qy-6VP">
  50 + <rect key="frame" x="94" y="41" width="90" height="21"/>
  51 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  52 + <nil key="textColor"/>
  53 + <nil key="highlightedColor"/>
  54 + </label>
  55 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018/04/02" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gIK-21-Af2">
  56 + <rect key="frame" x="220" y="41" width="90" height="21"/>
  57 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  58 + <nil key="textColor"/>
  59 + <nil key="highlightedColor"/>
  60 + </label>
  61 + <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="grow_calendar" translatesAutoresizingMaskIntoConstraints="NO" id="B3i-HY-f54">
  62 + <rect key="frame" x="189" y="45.5" width="13" height="12"/>
  63 + </imageView>
  64 + <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="grow_calendar" translatesAutoresizingMaskIntoConstraints="NO" id="ilp-az-hgB">
  65 + <rect key="frame" x="315" y="45.5" width="13" height="12"/>
  66 + </imageView>
  67 + </subviews>
  68 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  69 + <constraints>
  70 + <constraint firstItem="bJt-wD-aUL" firstAttribute="top" secondItem="6Tv-CA-ehv" secondAttribute="bottom" constant="10" id="0OL-rx-svf"/>
  71 + <constraint firstItem="ilp-az-hgB" firstAttribute="centerY" secondItem="bJt-wD-aUL" secondAttribute="centerY" id="7EV-jy-9F4"/>
  72 + <constraint firstItem="vif-Lw-a1X" firstAttribute="centerY" secondItem="6Tv-CA-ehv" secondAttribute="centerY" id="7TD-NT-Lxd"/>
  73 + <constraint firstItem="H0L-Bl-DnY" firstAttribute="centerY" secondItem="bJt-wD-aUL" secondAttribute="centerY" id="ITS-GX-y9S"/>
  74 + <constraint firstItem="B3i-HY-f54" firstAttribute="centerY" secondItem="Rel-Qy-6VP" secondAttribute="centerY" id="JcP-od-r2M"/>
  75 + <constraint firstItem="ilp-az-hgB" firstAttribute="leading" secondItem="gIK-21-Af2" secondAttribute="trailing" constant="5" id="Kdw-IT-c8d"/>
  76 + <constraint firstItem="H0L-Bl-DnY" firstAttribute="leading" secondItem="B3i-HY-f54" secondAttribute="trailing" constant="5" id="SZC-UD-HMF"/>
  77 + <constraint firstItem="Rel-Qy-6VP" firstAttribute="centerY" secondItem="bJt-wD-aUL" secondAttribute="centerY" id="axv-QG-Ntd"/>
  78 + <constraint firstItem="6Tv-CA-ehv" firstAttribute="leading" secondItem="A0K-zH-Rt1" secondAttribute="leading" constant="10" id="bMD-p2-wnP"/>
  79 + <constraint firstItem="bJt-wD-aUL" firstAttribute="leading" secondItem="6Tv-CA-ehv" secondAttribute="leading" id="mK7-vI-tFc"/>
  80 + <constraint firstItem="gIK-21-Af2" firstAttribute="centerY" secondItem="bJt-wD-aUL" secondAttribute="centerY" id="peU-cr-ev1"/>
  81 + <constraint firstItem="vif-Lw-a1X" firstAttribute="leading" secondItem="6Tv-CA-ehv" secondAttribute="trailing" constant="10" id="pnQ-fK-xwq"/>
  82 + <constraint firstItem="Rel-Qy-6VP" firstAttribute="leading" secondItem="bJt-wD-aUL" secondAttribute="trailing" constant="10" id="sGH-i2-tjB"/>
  83 + <constraint firstItem="6Tv-CA-ehv" firstAttribute="top" secondItem="A0K-zH-Rt1" secondAttribute="top" constant="10" id="sXD-DY-NqG"/>
  84 + <constraint firstItem="gIK-21-Af2" firstAttribute="leading" secondItem="H0L-Bl-DnY" secondAttribute="trailing" constant="5" id="vcT-Nz-jpC"/>
  85 + <constraint firstItem="B3i-HY-f54" firstAttribute="leading" secondItem="Rel-Qy-6VP" secondAttribute="trailing" constant="5" id="x47-0x-gfz"/>
  86 + </constraints>
  87 + </view>
  88 + </subviews>
  89 + <constraints>
  90 + <constraint firstItem="A0K-zH-Rt1" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="GYT-zJ-fus"/>
  91 + <constraint firstAttribute="trailing" secondItem="A0K-zH-Rt1" secondAttribute="trailing" constant="10" id="JFC-pM-1F3"/>
  92 + <constraint firstItem="A0K-zH-Rt1" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="10" id="lo1-GF-rL8"/>
  93 + <constraint firstAttribute="bottom" secondItem="A0K-zH-Rt1" secondAttribute="bottom" constant="10" id="thL-h4-Sig"/>
  94 + </constraints>
  95 + </tableViewCellContentView>
  96 + <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
  97 + <connections>
  98 + <outlet property="endTime" destination="gIK-21-Af2" id="YWL-mH-LCE"/>
  99 + <outlet property="startTime" destination="Rel-Qy-6VP" id="yWM-28-kpK"/>
  100 + <outlet property="vacateName" destination="vif-Lw-a1X" id="Hyd-gs-iH0"/>
  101 + </connections>
  102 + <point key="canvasLocation" x="59.5" y="-38"/>
  103 + </tableViewCell>
  104 + </objects>
  105 + <resources>
  106 + <image name="grow_calendar" width="13" height="12"/>
  107 + </resources>
  108 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/ProgramVacateTextFieldCell.swift 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +//
  2 +// ProgramVacateTextFieldCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/16.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class ProgramVacateTextFieldCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var titleLab: UILabel!
  14 + @IBOutlet weak var textFieldView: UITextView!
  15 + override func awakeFromNib() {
  16 + super.awakeFromNib()
  17 + // Initialization code
  18 + }
  19 +
  20 + override func setSelected(_ selected: Bool, animated: Bool) {
  21 + super.setSelected(selected, animated: animated)
  22 +
  23 + // Configure the view for the selected state
  24 + }
  25 +
  26 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramView/ProgramVacateTextFieldCell.xib 0 → 100644
@@ -0,0 +1,59 @@ @@ -0,0 +1,59 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="Safe area layout guides" minToolsVersion="9.0"/>
  10 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  11 + </dependencies>
  12 + <objects>
  13 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  14 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  15 + <tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" reuseIdentifier="ProgramVacateTextFieldCell" rowHeight="97" id="KGk-i7-Jjw" customClass="ProgramVacateTextFieldCell" customModule="ParentAssistant" customModuleProvider="target">
  16 + <rect key="frame" x="0.0" y="0.0" width="320" height="97"/>
  17 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  18 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
  19 + <rect key="frame" x="0.0" y="0.0" width="320" height="96.5"/>
  20 + <autoresizingMask key="autoresizingMask"/>
  21 + <subviews>
  22 + <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" keyboardDismissMode="interactive" usesAttributedText="YES" adjustsFontForContentSizeCategory="YES" translatesAutoresizingMaskIntoConstraints="NO" id="sij-EC-qez">
  23 + <rect key="frame" x="100" y="10" width="210" height="76.5"/>
  24 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  25 + <attributedString key="attributedText">
  26 + <fragment content="请假原因">
  27 + <attributes>
  28 + <font key="NSFont" size="17" name=".PingFangSC-Regular"/>
  29 + <paragraphStyle key="NSParagraphStyle" alignment="left" lineBreakMode="wordWrapping" baseWritingDirection="natural" tighteningFactorForTruncation="0.0"/>
  30 + </attributes>
  31 + </fragment>
  32 + </attributedString>
  33 + <textInputTraits key="textInputTraits" autocapitalizationType="sentences" enablesReturnKeyAutomatically="YES"/>
  34 + </textView>
  35 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Cvc-dB-pDT">
  36 + <rect key="frame" x="15" y="10" width="42" height="21"/>
  37 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  38 + <nil key="textColor"/>
  39 + <nil key="highlightedColor"/>
  40 + </label>
  41 + </subviews>
  42 + <constraints>
  43 + <constraint firstItem="Cvc-dB-pDT" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="15" id="1vg-cV-2bS"/>
  44 + <constraint firstAttribute="trailing" secondItem="sij-EC-qez" secondAttribute="trailing" constant="10" id="BNE-6C-95O"/>
  45 + <constraint firstItem="sij-EC-qez" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="100" id="Cgk-lk-Cq9"/>
  46 + <constraint firstItem="Cvc-dB-pDT" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="KPu-1x-gdi"/>
  47 + <constraint firstAttribute="bottom" secondItem="sij-EC-qez" secondAttribute="bottom" constant="10" id="Nih-ml-Fpu"/>
  48 + <constraint firstItem="sij-EC-qez" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="lBo-hh-GxO"/>
  49 + </constraints>
  50 + </tableViewCellContentView>
  51 + <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
  52 + <connections>
  53 + <outlet property="textFieldView" destination="sij-EC-qez" id="aPW-Tf-PNb"/>
  54 + <outlet property="titleLab" destination="Cvc-dB-pDT" id="cWc-UZ-Uag"/>
  55 + </connections>
  56 + <point key="canvasLocation" x="25" y="78.5"/>
  57 + </tableViewCell>
  58 + </objects>
  59 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportHeaderCollectionViewCell.swift
@@ -1,42 +0,0 @@ @@ -1,42 +0,0 @@
1 -//  
2 -// ReportHeaderCollectionViewCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/4/14.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class ReportHeaderCollectionViewCell: UICollectionViewCell {  
12 -  
13 - @IBOutlet weak var weekLab: UILabel!  
14 - @IBOutlet weak var dataLab: UILabel!  
15 - override func awakeFromNib() {  
16 - super.awakeFromNib()  
17 - // Initialization code  
18 - }  
19 - func setCellData(index:IndexPath){  
20 - if index.row%7 == 0 || index.row == 0 {  
21 - self.weekLab.text = "日"  
22 - }  
23 - if index.row == 1 || index.row%7 == 1 {  
24 - self.weekLab.text = "一"  
25 - }  
26 - if index.row == 2 || index.row%7 == 2 {  
27 - self.weekLab.text = "二"  
28 - }  
29 - if index.row == 3 || index.row%7 == 3 {  
30 - self.weekLab.text = "三"  
31 - }  
32 - if index.row == 4 || index.row%7 == 4 {  
33 - self.weekLab.text = "四"  
34 - }  
35 - if index.row == 5 || index.row%7 == 5 {  
36 - self.weekLab.text = "五"  
37 - }  
38 - if index.row == 6 || index.row%7 == 6 {  
39 - self.weekLab.text = "六"  
40 - }  
41 - }  
42 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportHeaderCollectionViewCell.xib
@@ -1,51 +0,0 @@ @@ -1,51 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="Safe area layout guides" minToolsVersion="9.0"/>  
10 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
11 - </dependencies>  
12 - <objects>  
13 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
14 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
15 - <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="ReportHeaderCollectionViewCell" id="gTV-IL-0wX" customClass="ReportHeaderCollectionViewCell" customModule="ParentAssistant" customModuleProvider="target">  
16 - <rect key="frame" x="0.0" y="0.0" width="70" height="59"/>  
17 - <autoresizingMask key="autoresizingMask"/>  
18 - <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">  
19 - <rect key="frame" x="0.0" y="0.0" width="70" height="59"/>  
20 - <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>  
21 - <subviews>  
22 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="25" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7Tv-VB-dq1">  
23 - <rect key="frame" x="24.5" y="34" width="21" height="21"/>  
24 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
25 - <nil key="textColor"/>  
26 - <nil key="highlightedColor"/>  
27 - </label>  
28 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Lgs-Ns-ePp">  
29 - <rect key="frame" x="26" y="8" width="18" height="21"/>  
30 - <fontDescription key="fontDescription" type="system" pointSize="17"/>  
31 - <nil key="textColor"/>  
32 - <nil key="highlightedColor"/>  
33 - </label>  
34 - </subviews>  
35 - </view>  
36 - <constraints>  
37 - <constraint firstItem="Lgs-Ns-ePp" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="EFF-k3-MkL"/>  
38 - <constraint firstItem="7Tv-VB-dq1" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="Vod-EB-QVH"/>  
39 - <constraint firstItem="Lgs-Ns-ePp" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="8" id="Zr1-E2-Kug"/>  
40 - <constraint firstItem="7Tv-VB-dq1" firstAttribute="top" secondItem="Lgs-Ns-ePp" secondAttribute="bottom" constant="5" id="gcw-MZ-fhS"/>  
41 - </constraints>  
42 - <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>  
43 - <size key="customSize" width="70" height="59"/>  
44 - <connections>  
45 - <outlet property="dataLab" destination="7Tv-VB-dq1" id="Nqk-R7-IeZ"/>  
46 - <outlet property="weekLab" destination="Lgs-Ns-ePp" id="YtY-jK-uwb"/>  
47 - </connections>  
48 - <point key="canvasLocation" x="52" y="-23.5"/>  
49 - </collectionViewCell>  
50 - </objects>  
51 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportHeaderView.swift
@@ -1,142 +0,0 @@ @@ -1,142 +0,0 @@
1 -//  
2 -// ReportHeaderView.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/4/14.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class ReportHeaderView: UIView,UICollectionViewDelegate,UICollectionViewDataSource {  
12 -  
13 - lazy var collectionView = {()-> UICollectionView in  
14 -  
15 - let flowlayout = UICollectionViewFlowLayout()  
16 - flowlayout.itemSize = CGSize.init(width: screenWidth/7, height:60)  
17 - flowlayout.minimumLineSpacing = 0  
18 - flowlayout.minimumInteritemSpacing = 0  
19 - flowlayout.scrollDirection = UICollectionViewScrollDirection.horizontal  
20 - flowlayout.headerReferenceSize = CGSize.init(width: 0, height: 0)  
21 - flowlayout.footerReferenceSize = CGSize.init(width: 0, height: 0)  
22 - flowlayout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0)  
23 -  
24 - let collect = UICollectionView.init(frame: CGRect.init(x: 0, y: 0, width: self.bounds.size.width, height: self.bounds.size.height), collectionViewLayout: flowlayout)  
25 - collect.delegate = self  
26 - collect.dataSource = self  
27 - collect.showsHorizontalScrollIndicator = true  
28 - collect.scrollsToTop = false  
29 - collect.showsVerticalScrollIndicator = false  
30 - collect.isPagingEnabled = true  
31 - collect.backgroundColor = UIColor.white  
32 - collect.register(UINib.init(nibName: "ReportHeaderCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "ReportHeaderCollectionViewCell")  
33 - return collect  
34 - }()  
35 -  
36 - //Data  
37 -  
38 - /// 展示  
39 - var count = Int()  
40 - /// 当月1号 周几  
41 - var firstDay = Int()  
42 - /// 当月天数  
43 - var monthDays = Int()  
44 - /// 今天日期  
45 - var todayDate = Int()  
46 -  
47 - override init(frame: CGRect) {  
48 - super.init(frame: frame)  
49 - self.addSubview(self.collectionView)  
50 -  
51 - self.count = CalendarDateManager.shared.getMonthDayCount()*7  
52 - self.firstDay = CalendarDateManager.shared.getFirstMonthDays()  
53 - self.monthDays = CalendarDateManager.shared.getCurrentMonthDay()  
54 - self.todayDate = CalendarDateManager.shared.getTodayDate()  
55 -  
56 - //初始位置:显示本周  
57 - collectionView.scrollToItem(at: [0,count-1], at: UICollectionViewScrollPosition.right, animated: true)  
58 - }  
59 -  
60 - //MARK: - Collection Delegate && DataSource  
61 - func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {  
62 - return count  
63 - }  
64 - func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {  
65 -  
66 - let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ReportHeaderCollectionViewCell", for: indexPath) as! ReportHeaderCollectionViewCell  
67 - cell.setCellData(index: indexPath)  
68 -  
69 - // 超出这个月显示为空  
70 - if indexPath.row+1 >= firstDay && indexPath.row <= monthDays {  
71 - cell.dataLab.text = "\(indexPath.row+1-firstDay+1)"  
72 - }else{  
73 - cell.dataLab.text = ""  
74 - }  
75 - // 设置日期颜色  
76 - if indexPath.row+1 > todayDate+firstDay-1{  
77 - cell.dataLab.textColor = UIColor.gray  
78 - }else  
79 - if indexPath.row+1 == todayDate+firstDay-1 {  
80 - cell.dataLab.textColor = UIColor.red  
81 - }else{  
82 - cell.dataLab.textColor = UIColor.black  
83 - }  
84 - return cell  
85 - }  
86 - func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {  
87 - if indexPath.row >= firstDay-1 && indexPath.row < todayDate+firstDay-1 {  
88 - print("点击了 ...\(indexPath.row+1-firstDay+1)号")  
89 - }  
90 - }  
91 -  
92 - required init?(coder aDecoder: NSCoder) {  
93 - fatalError("init(coder:) has not been implemented")  
94 - }  
95 -}  
96 -class CalendarDateManager: NSObject {  
97 -  
98 - static let shared = CalendarDateManager()  
99 -  
100 - private var date = Date.init(timeInterval: 150*86400, since: Date())  
101 -// private var date = Date()  
102 - override init() {}  
103 -  
104 - /// 获取当前周ofMonth  
105 - ///  
106 - /// - Returns: 第几周  
107 - func getMonthDayCount() -> Int {  
108 - let comps = Calendar.current.dateComponents([.weekOfMonth], from: date)  
109 - return comps.weekOfMonth!  
110 - }  
111 -  
112 - /// 获取当前月第一天周几  
113 - ///  
114 - /// - Returns: 月1号周几  
115 - func getFirstMonthDays() -> Int{  
116 - let comps = Calendar.current.dateComponents([.day], from: date)  
117 - let dayDate = comps.day!-1  
118 - let firstDay = Date.init(timeInterval: TimeInterval(-dayDate*86400), since: date)  
119 - let firstMonth = Calendar.current.dateComponents([.weekday], from: firstDay)  
120 - return firstMonth.weekday!  
121 - }  
122 -  
123 - /// 获取当天  
124 - ///  
125 - /// - Returns: 今天几号  
126 - func getTodayDate() -> Int {  
127 - let comps = Calendar.current.dateComponents([.day], from: date)  
128 - return comps.day!  
129 - }  
130 -  
131 - /// 获取当月天数  
132 - ///  
133 - /// - Returns: 天数  
134 - func getCurrentMonthDay () ->Int{  
135 -  
136 - let comps = Calendar.current.range(of: .day, in: .month, for: date)  
137 - return (comps?.count)!  
138 - }  
139 -  
140 -}  
141 -  
142 -  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/BehaviorDetailCell.swift 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +//
  2 +// BehaviorDetailCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/23.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class BehaviorDetailCell: UITableViewCell {
  12 +
  13 + override func awakeFromNib() {
  14 + super.awakeFromNib()
  15 + self.backgroundColor = backgroundColor
  16 +
  17 + // Initialization code
  18 + }
  19 +
  20 + override func setSelected(_ selected: Bool, animated: Bool) {
  21 + super.setSelected(selected, animated: animated)
  22 +
  23 + // Configure the view for the selected state
  24 + }
  25 +
  26 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/BehaviorDetailCell.xib 0 → 100644
@@ -0,0 +1,81 @@ @@ -0,0 +1,81 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  10 + </dependencies>
  11 + <objects>
  12 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  13 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  14 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="behaviorDetail" rowHeight="100" id="zN7-5X-oQz" customClass="BehaviorDetailCell" customModule="ParentAssistant" customModuleProvider="target">
  15 + <rect key="frame" x="0.0" y="0.0" width="375" height="100"/>
  16 + <autoresizingMask key="autoresizingMask"/>
  17 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="zN7-5X-oQz" id="Gtu-zB-WzI">
  18 + <rect key="frame" x="0.0" y="0.0" width="375" height="99.5"/>
  19 + <autoresizingMask key="autoresizingMask"/>
  20 + <subviews>
  21 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="76r-RZ-tho">
  22 + <rect key="frame" x="10" y="10" width="355" height="89.5"/>
  23 + <subviews>
  24 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="绩点: 4.3 增长1.1分" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mH6-Ai-OpE">
  25 + <rect key="frame" x="10" y="38" width="104" height="14.5"/>
  26 + <fontDescription key="fontDescription" type="system" pointSize="12"/>
  27 + <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="0.98793343320000004" colorSpace="custom" customColorSpace="sRGB"/>
  28 + <nil key="highlightedColor"/>
  29 + </label>
  30 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="A-" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DUe-h2-dN9">
  31 + <rect key="frame" x="328.5" y="10" width="16.5" height="18"/>
  32 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  33 + <color key="textColor" red="0.29803921570000003" green="0.68627450980000004" blue="0.31372549020000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  34 + <nil key="highlightedColor"/>
  35 + </label>
  36 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="排名:第三名 增长1名" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="glA-wj-GXJ">
  37 + <rect key="frame" x="234" y="38" width="111" height="14.5"/>
  38 + <fontDescription key="fontDescription" type="system" pointSize="12"/>
  39 + <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  40 + <nil key="highlightedColor"/>
  41 + </label>
  42 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="行为规范" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OVR-sG-smq">
  43 + <rect key="frame" x="10" y="10" width="61.5" height="18"/>
  44 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  45 + <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  46 + <nil key="highlightedColor"/>
  47 + </label>
  48 + </subviews>
  49 + <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  50 + <constraints>
  51 + <constraint firstItem="glA-wj-GXJ" firstAttribute="top" secondItem="DUe-h2-dN9" secondAttribute="bottom" constant="10" id="4Ze-0C-dLN"/>
  52 + <constraint firstItem="mH6-Ai-OpE" firstAttribute="top" secondItem="OVR-sG-smq" secondAttribute="bottom" constant="10" id="BMB-8a-7Kz"/>
  53 + <constraint firstItem="glA-wj-GXJ" firstAttribute="trailing" secondItem="DUe-h2-dN9" secondAttribute="trailing" id="Ftf-IM-Puk"/>
  54 + <constraint firstItem="DUe-h2-dN9" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="76r-RZ-tho" secondAttribute="leading" constant="20" symbolic="YES" id="HW2-3P-Vzm"/>
  55 + <constraint firstItem="glA-wj-GXJ" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="76r-RZ-tho" secondAttribute="leading" constant="20" symbolic="YES" id="LIh-3G-SNA"/>
  56 + <constraint firstItem="OVR-sG-smq" firstAttribute="leading" secondItem="76r-RZ-tho" secondAttribute="leading" constant="10" id="V5g-0Z-H0O"/>
  57 + <constraint firstItem="DUe-h2-dN9" firstAttribute="trailing" secondItem="76r-RZ-tho" secondAttribute="trailing" constant="-10" id="b3j-TC-hf6"/>
  58 + <constraint firstItem="DUe-h2-dN9" firstAttribute="top" secondItem="76r-RZ-tho" secondAttribute="top" constant="10" id="h1k-v2-SAR"/>
  59 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="mH6-Ai-OpE" secondAttribute="trailing" constant="20" symbolic="YES" id="hTc-kN-FTh"/>
  60 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="OVR-sG-smq" secondAttribute="trailing" constant="20" symbolic="YES" id="rvd-wF-X9o"/>
  61 + <constraint firstItem="mH6-Ai-OpE" firstAttribute="leading" secondItem="OVR-sG-smq" secondAttribute="leading" id="wtd-Yg-b00"/>
  62 + <constraint firstItem="OVR-sG-smq" firstAttribute="top" secondItem="76r-RZ-tho" secondAttribute="top" constant="10" id="xGf-T4-GmH"/>
  63 + </constraints>
  64 + <userDefinedRuntimeAttributes>
  65 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  66 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  67 + <integer key="value" value="5"/>
  68 + </userDefinedRuntimeAttribute>
  69 + </userDefinedRuntimeAttributes>
  70 + </view>
  71 + </subviews>
  72 + <constraints>
  73 + <constraint firstAttribute="trailing" secondItem="76r-RZ-tho" secondAttribute="trailing" constant="10" id="fOu-mh-1We"/>
  74 + <constraint firstItem="76r-RZ-tho" firstAttribute="top" secondItem="Gtu-zB-WzI" secondAttribute="top" constant="10" id="sQm-Xh-jD6"/>
  75 + <constraint firstAttribute="bottom" secondItem="76r-RZ-tho" secondAttribute="bottom" id="vjy-wG-tNT"/>
  76 + <constraint firstItem="76r-RZ-tho" firstAttribute="leading" secondItem="Gtu-zB-WzI" secondAttribute="leading" constant="10" id="zdb-iO-e5r"/>
  77 + </constraints>
  78 + </tableViewCellContentView>
  79 + </tableViewCell>
  80 + </objects>
  81 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/CalendarView.swift 0 → 100644
@@ -0,0 +1,99 @@ @@ -0,0 +1,99 @@
  1 +//
  2 +// CalendarView.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/27.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class CalendarView: UIView,UICollectionViewDelegate,UICollectionViewDataSource {
  12 +
  13 +
  14 + var weekLab = ["日","一","二","三","四","五","六"]
  15 + var firstDay = Int()
  16 + var monthDay = Int()
  17 + var todayDay = Int()
  18 +
  19 + override init(frame: CGRect) {
  20 + super.init(frame: frame)
  21 + self.drawCalendarView(frame: frame)
  22 + }
  23 +
  24 + func drawCalendarView(frame:CGRect) {
  25 +
  26 +
  27 + self.firstDay = CalendarDateManager.shared.getFirstMonthDays()
  28 + self.monthDay = CalendarDateManager.shared.getCurrentMonthDay()
  29 + self.todayDay = CalendarDateManager.shared.getTodayDate()
  30 + //设置layout
  31 + let flowlayout = UICollectionViewFlowLayout()
  32 + flowlayout.itemSize = CGSize.init(width: screenWidth/7, height:40)
  33 + flowlayout.minimumLineSpacing = 0
  34 + flowlayout.minimumInteritemSpacing = 0
  35 + flowlayout.headerReferenceSize = CGSize.init(width: 0, height: 0)
  36 + flowlayout.footerReferenceSize = CGSize.init(width: 0, height: 0)
  37 + flowlayout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0)
  38 +
  39 + let calendarView = UICollectionView.init(frame: frame, collectionViewLayout: flowlayout)
  40 + calendarView.delegate = self
  41 + calendarView.dataSource = self
  42 + calendarView.backgroundColor = UIColor.white
  43 + calendarView.register(UICollectionViewCell.self, forCellWithReuseIdentifier: "calendarCell")
  44 + self.addSubview(calendarView)
  45 + }
  46 +
  47 + //MARK: - Delegate
  48 + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
  49 + return weekLab.count + monthDay + firstDay - 1
  50 + }
  51 +
  52 + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
  53 +
  54 + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "calendarCell", for: indexPath)
  55 + let lab = UILabel.init(frame: cell.bounds)
  56 +
  57 + if indexPath.row < weekLab.count {
  58 + lab.text = weekLab[indexPath.row]
  59 + }else{
  60 + // 超出这个月显示为空
  61 + if indexPath.row+1 >= firstDay+7 && indexPath.row < monthDay+7+firstDay {
  62 + lab.text = "\(indexPath.row+1-firstDay-7+1)"
  63 + }else{
  64 + lab.text = ""
  65 + }
  66 + }
  67 + // 设置日期颜色
  68 + if indexPath.row+1 > todayDay+7+firstDay-1{
  69 + lab.textColor = UIColor.gray
  70 + }else
  71 + if indexPath.row+1 == todayDay+7+firstDay-1 {
  72 + lab.textColor = UIColor.red
  73 + }else{
  74 + lab.textColor = UIColor.black
  75 + }
  76 +
  77 + lab.textAlignment = .center
  78 + cell.addSubview(lab)
  79 + return cell
  80 +
  81 + }
  82 + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
  83 + if indexPath.row >= firstDay-1+7 && indexPath.row < todayDay+7+firstDay-1 {
  84 + print("点击了 ...\(indexPath.row+1-7-firstDay+1)号")
  85 + }
  86 + }
  87 + required init?(coder aDecoder: NSCoder) {
  88 + fatalError("init(coder:) has not been implemented")
  89 + }
  90 +
  91 + /*
  92 + // Only override draw() if you perform custom drawing.
  93 + // An empty implementation adversely affects performance during animation.
  94 + override func draw(_ rect: CGRect) {
  95 + // Drawing code
  96 + }
  97 + */
  98 +
  99 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/EducationDetailCell.swift 0 → 100644
@@ -0,0 +1,45 @@ @@ -0,0 +1,45 @@
  1 +//
  2 +// EducationDetailCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/23.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class EducationDetailCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var lineChartView: UIView!
  14 +
  15 + var customLineChart = LineChartView()
  16 +
  17 + override func awakeFromNib() {
  18 + super.awakeFromNib()
  19 + self.backgroundColor = backgroundColor
  20 +
  21 + let rect = self.lineChartView.bounds
  22 + print(rect)
  23 + customLineChart = LineChartView.init(frame: rect)
  24 + customLineChart.drawUI(xLableArr: nil)
  25 + let arr1 = [4,4,2,1,3]
  26 + let arr2 = [2,1,4,4,5]
  27 +
  28 + customLineChart.drawLine(point: arr1, color: UIColorWithRGB(R: 65, G: 105, B: 190))
  29 + customLineChart.drawLine(point: arr2, color: UIColorWithRGB(R: 220, G: 0, B: 16))
  30 +
  31 +
  32 +
  33 + self.lineChartView.addSubview(customLineChart)
  34 +
  35 +
  36 + // Initialization code
  37 + }
  38 +
  39 + override func setSelected(_ selected: Bool, animated: Bool) {
  40 + super.setSelected(selected, animated: animated)
  41 +
  42 + // Configure the view for the selected state
  43 + }
  44 +
  45 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/EducationDetailCell.xib 0 → 100644
@@ -0,0 +1,105 @@ @@ -0,0 +1,105 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="Alignment constraints with different attributes" minToolsVersion="5.1"/>
  10 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  11 + </dependencies>
  12 + <objects>
  13 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  14 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  15 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="educationDetail" rowHeight="280" id="kpS-dg-IFL" customClass="EducationDetailCell" customModule="ParentAssistant" customModuleProvider="target">
  16 + <rect key="frame" x="0.0" y="0.0" width="375" height="280"/>
  17 + <autoresizingMask key="autoresizingMask"/>
  18 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="kpS-dg-IFL" id="pme-x3-3eS">
  19 + <rect key="frame" x="0.0" y="0.0" width="375" height="279.5"/>
  20 + <autoresizingMask key="autoresizingMask"/>
  21 + <subviews>
  22 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8hE-eE-nri">
  23 + <rect key="frame" x="10" y="10" width="355" height="269.5"/>
  24 + <subviews>
  25 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="昨日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Pj-Ux-aqd">
  26 + <rect key="frame" x="227.5" y="10" width="31" height="18"/>
  27 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  28 + <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  29 + <nil key="highlightedColor"/>
  30 + </label>
  31 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="I73-88-oNc">
  32 + <rect key="frame" x="70.5" y="10" width="16" height="16"/>
  33 + <color key="backgroundColor" red="0.25490196079999999" green="0.41176470590000003" blue="0.74509803919999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  34 + <constraints>
  35 + <constraint firstAttribute="height" constant="16" id="3O6-T5-jl7"/>
  36 + <constraint firstAttribute="width" constant="16" id="Pqm-xN-sXA"/>
  37 + </constraints>
  38 + <userDefinedRuntimeAttributes>
  39 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  40 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  41 + <integer key="value" value="8"/>
  42 + </userDefinedRuntimeAttribute>
  43 + </userDefinedRuntimeAttributes>
  44 + </view>
  45 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="VqB-il-dfx">
  46 + <rect key="frame" x="201.5" y="10" width="16" height="16"/>
  47 + <color key="backgroundColor" red="0.86274509799999999" green="0.0" blue="0.062745098040000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  48 + <constraints>
  49 + <constraint firstAttribute="width" constant="16" id="YEO-NU-qhN"/>
  50 + <constraint firstAttribute="height" constant="16" id="isE-pa-4SB"/>
  51 + </constraints>
  52 + <userDefinedRuntimeAttributes>
  53 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  54 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  55 + <integer key="value" value="8"/>
  56 + </userDefinedRuntimeAttribute>
  57 + </userDefinedRuntimeAttributes>
  58 + </view>
  59 + <view contentMode="scaleToFill" restorationIdentifier="moralLineChart" translatesAutoresizingMaskIntoConstraints="NO" id="RJ2-NP-DNZ">
  60 + <rect key="frame" x="0.0" y="38" width="355" height="231"/>
  61 + </view>
  62 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="今日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qaG-rY-RUN">
  63 + <rect key="frame" x="96.5" y="10" width="31" height="18"/>
  64 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  65 + <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  66 + <nil key="highlightedColor"/>
  67 + </label>
  68 + </subviews>
  69 + <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  70 + <constraints>
  71 + <constraint firstItem="qaG-rY-RUN" firstAttribute="leading" secondItem="I73-88-oNc" secondAttribute="trailing" constant="10" id="0VJ-ew-dod"/>
  72 + <constraint firstItem="I73-88-oNc" firstAttribute="top" secondItem="8hE-eE-nri" secondAttribute="top" constant="10" id="3ah-ko-qBu"/>
  73 + <constraint firstItem="RJ2-NP-DNZ" firstAttribute="leading" secondItem="8hE-eE-nri" secondAttribute="leading" id="6wR-aq-VMa"/>
  74 + <constraint firstItem="2Pj-Ux-aqd" firstAttribute="top" secondItem="8hE-eE-nri" secondAttribute="top" constant="10" id="7b1-G7-LVt"/>
  75 + <constraint firstItem="2Pj-Ux-aqd" firstAttribute="leading" secondItem="VqB-il-dfx" secondAttribute="trailing" constant="10" id="GZJ-vN-dbK"/>
  76 + <constraint firstItem="qaG-rY-RUN" firstAttribute="trailing" secondItem="8hE-eE-nri" secondAttribute="centerX" constant="-50" id="LRa-1p-yGT"/>
  77 + <constraint firstItem="RJ2-NP-DNZ" firstAttribute="top" secondItem="qaG-rY-RUN" secondAttribute="bottom" constant="10" id="S9B-Er-RCb"/>
  78 + <constraint firstItem="qaG-rY-RUN" firstAttribute="top" secondItem="8hE-eE-nri" secondAttribute="top" constant="10" id="SWr-TX-5hh"/>
  79 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="2Pj-Ux-aqd" secondAttribute="trailing" constant="20" symbolic="YES" id="k19-Pj-S17"/>
  80 + <constraint firstAttribute="trailing" secondItem="RJ2-NP-DNZ" secondAttribute="trailing" id="kt1-Cj-ldP"/>
  81 + <constraint firstAttribute="bottom" secondItem="RJ2-NP-DNZ" secondAttribute="bottom" id="oGz-vP-Jcg"/>
  82 + <constraint firstItem="VqB-il-dfx" firstAttribute="top" secondItem="8hE-eE-nri" secondAttribute="top" constant="10" id="vBE-rf-4b9"/>
  83 + <constraint firstItem="2Pj-Ux-aqd" firstAttribute="leading" secondItem="8hE-eE-nri" secondAttribute="centerX" constant="50" id="w8g-zR-VZj"/>
  84 + </constraints>
  85 + <userDefinedRuntimeAttributes>
  86 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  87 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  88 + <integer key="value" value="5"/>
  89 + </userDefinedRuntimeAttribute>
  90 + </userDefinedRuntimeAttributes>
  91 + </view>
  92 + </subviews>
  93 + <constraints>
  94 + <constraint firstItem="8hE-eE-nri" firstAttribute="top" secondItem="pme-x3-3eS" secondAttribute="top" constant="10" id="QbB-5J-7QT"/>
  95 + <constraint firstAttribute="trailing" secondItem="8hE-eE-nri" secondAttribute="trailing" constant="10" id="UI2-CF-T98"/>
  96 + <constraint firstItem="8hE-eE-nri" firstAttribute="leading" secondItem="pme-x3-3eS" secondAttribute="leading" constant="10" id="Xha-Km-4lu"/>
  97 + <constraint firstAttribute="bottom" secondItem="8hE-eE-nri" secondAttribute="bottom" id="jpA-IM-rG5"/>
  98 + </constraints>
  99 + </tableViewCellContentView>
  100 + <connections>
  101 + <outlet property="lineChartView" destination="RJ2-NP-DNZ" id="8HI-zl-yxp"/>
  102 + </connections>
  103 + </tableViewCell>
  104 + </objects>
  105 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/GrowSubjectCell.swift 0 → 100644
@@ -0,0 +1,26 @@ @@ -0,0 +1,26 @@
  1 +//
  2 +// GrowSubjectCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/10.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class GrowSubjectCell: UITableViewCell {
  12 +
  13 + override func awakeFromNib() {
  14 + super.awakeFromNib()
  15 + self.backgroundColor = backgroundColor
  16 +
  17 + // Initialization code
  18 + }
  19 +
  20 + override func setSelected(_ selected: Bool, animated: Bool) {
  21 + super.setSelected(selected, animated: animated)
  22 +
  23 + // Configure the view for the selected state
  24 + }
  25 +
  26 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/GrowSubjectCell.xib 0 → 100644
@@ -0,0 +1,138 @@ @@ -0,0 +1,138 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="Alignment constraints with different attributes" minToolsVersion="5.1"/>
  10 + <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
  11 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  12 + </dependencies>
  13 + <objects>
  14 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  15 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  16 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="GrowSubjectCell" rowHeight="319" id="i1c-Hh-b0E" customClass="GrowSubjectCell" customModule="ParentAssistant" customModuleProvider="target">
  17 + <rect key="frame" x="0.0" y="0.0" width="375" height="319"/>
  18 + <autoresizingMask key="autoresizingMask"/>
  19 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="i1c-Hh-b0E" id="f6V-fr-7r8">
  20 + <rect key="frame" x="0.0" y="0.0" width="375" height="318.5"/>
  21 + <autoresizingMask key="autoresizingMask"/>
  22 + <subviews>
  23 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ayX-iZ-W2S">
  24 + <rect key="frame" x="10" y="10" width="355" height="295"/>
  25 + <subviews>
  26 + <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="my_headerView_backgroundimageView" translatesAutoresizingMaskIntoConstraints="NO" id="2l1-HT-22Y">
  27 + <rect key="frame" x="0.0" y="0.0" width="355" height="40"/>
  28 + <constraints>
  29 + <constraint firstAttribute="height" constant="40" id="LH6-Rr-kZz"/>
  30 + </constraints>
  31 + </imageView>
  32 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="数学作业报告" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="sEL-lV-1ip">
  33 + <rect key="frame" x="15" y="11.5" width="92" height="18"/>
  34 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  35 + <color key="textColor" red="0.77415133250000001" green="0.070829752760000003" blue="0.066752926170000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  36 + <nil key="highlightedColor"/>
  37 + </label>
  38 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="12" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8gw-04-jpe">
  39 + <rect key="frame" x="15" y="61" width="31.5" height="36"/>
  40 + <fontDescription key="fontDescription" type="system" pointSize="30"/>
  41 + <color key="textColor" red="0.40000000000000002" green="0.73333333329999995" blue="0.41568627450000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  42 + <nil key="highlightedColor"/>
  43 + </label>
  44 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="正确" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DZm-Vd-vaB">
  45 + <rect key="frame" x="16" y="99" width="31" height="18"/>
  46 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  47 + <color key="textColor" red="0.40000000000000002" green="0.73333333329999995" blue="0.41568627450000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  48 + <nil key="highlightedColor"/>
  49 + </label>
  50 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="8" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="0yj-TK-Dhx">
  51 + <rect key="frame" x="321" y="61" width="19" height="36"/>
  52 + <fontDescription key="fontDescription" type="system" pointSize="30"/>
  53 + <color key="textColor" red="0.93725490199999995" green="0.32549019610000002" blue="0.31372549020000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  54 + <nil key="highlightedColor"/>
  55 + </label>
  56 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="错误" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="h9q-TF-7Ax">
  57 + <rect key="frame" x="315" y="99" width="31" height="18"/>
  58 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  59 + <color key="textColor" red="0.93725490199999995" green="0.32549019610000002" blue="0.31372549020000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  60 + <nil key="highlightedColor"/>
  61 + </label>
  62 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="3月4日数学作业" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dEi-aF-mPj">
  63 + <rect key="frame" x="10" y="265" width="335" height="20"/>
  64 + <constraints>
  65 + <constraint firstAttribute="height" constant="20" id="HVX-vo-SLb"/>
  66 + </constraints>
  67 + <fontDescription key="fontDescription" type="system" pointSize="16"/>
  68 + <color key="textColor" white="0.33333333329999998" alpha="1" colorSpace="calibratedWhite"/>
  69 + <nil key="highlightedColor"/>
  70 + </label>
  71 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="hgX-Q5-QQo">
  72 + <rect key="frame" x="70" y="70" width="215" height="175"/>
  73 + <subviews>
  74 + <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="reort_loop" translatesAutoresizingMaskIntoConstraints="NO" id="ICU-ZK-JaP">
  75 + <rect key="frame" x="0.0" y="0.0" width="215" height="165"/>
  76 + <constraints>
  77 + <constraint firstAttribute="width" secondItem="ICU-ZK-JaP" secondAttribute="height" multiplier="30:23" id="Qlu-Gj-coQ"/>
  78 + </constraints>
  79 + </imageView>
  80 + </subviews>
  81 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  82 + <constraints>
  83 + <constraint firstAttribute="trailing" secondItem="ICU-ZK-JaP" secondAttribute="trailing" id="4GZ-DJ-M3w"/>
  84 + <constraint firstItem="ICU-ZK-JaP" firstAttribute="leading" secondItem="hgX-Q5-QQo" secondAttribute="leading" id="FcR-sd-Cxl"/>
  85 + <constraint firstAttribute="bottom" secondItem="ICU-ZK-JaP" secondAttribute="bottom" constant="10" id="UpM-zP-HNb"/>
  86 + <constraint firstItem="ICU-ZK-JaP" firstAttribute="centerX" secondItem="hgX-Q5-QQo" secondAttribute="centerX" id="jKr-4c-2Vo"/>
  87 + <constraint firstItem="ICU-ZK-JaP" firstAttribute="top" secondItem="hgX-Q5-QQo" secondAttribute="top" id="oQk-6y-o2T"/>
  88 + </constraints>
  89 + </view>
  90 + </subviews>
  91 + <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
  92 + <constraints>
  93 + <constraint firstItem="0yj-TK-Dhx" firstAttribute="trailing" secondItem="ayX-iZ-W2S" secondAttribute="trailing" constant="-15" id="6ti-hk-jGn"/>
  94 + <constraint firstItem="8gw-04-jpe" firstAttribute="centerY" secondItem="ayX-iZ-W2S" secondAttribute="top" constant="79" id="7jj-Hb-ACl"/>
  95 + <constraint firstItem="8gw-04-jpe" firstAttribute="leading" secondItem="ayX-iZ-W2S" secondAttribute="leading" constant="15" id="9xm-hu-WiF"/>
  96 + <constraint firstItem="DZm-Vd-vaB" firstAttribute="centerX" secondItem="8gw-04-jpe" secondAttribute="centerX" id="CR0-1m-1Nn"/>
  97 + <constraint firstItem="dEi-aF-mPj" firstAttribute="top" secondItem="hgX-Q5-QQo" secondAttribute="bottom" constant="20" id="DhV-6H-TVa"/>
  98 + <constraint firstItem="sEL-lV-1ip" firstAttribute="centerY" secondItem="2l1-HT-22Y" secondAttribute="centerY" id="Lie-SG-fVn"/>
  99 + <constraint firstAttribute="trailing" secondItem="dEi-aF-mPj" secondAttribute="trailing" constant="10" id="MSL-7h-qSg"/>
  100 + <constraint firstAttribute="trailing" secondItem="hgX-Q5-QQo" secondAttribute="trailing" constant="70" id="Mma-jC-Swj"/>
  101 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="sEL-lV-1ip" secondAttribute="trailing" constant="20" symbolic="YES" id="Qy6-Dc-a3i"/>
  102 + <constraint firstAttribute="bottom" secondItem="dEi-aF-mPj" secondAttribute="bottom" constant="10" id="Rld-0V-V3i"/>
  103 + <constraint firstItem="2l1-HT-22Y" firstAttribute="leading" secondItem="ayX-iZ-W2S" secondAttribute="leading" id="Tb0-NB-Rn9"/>
  104 + <constraint firstItem="h9q-TF-7Ax" firstAttribute="centerY" secondItem="DZm-Vd-vaB" secondAttribute="centerY" id="UyU-Qd-nuu"/>
  105 + <constraint firstItem="sEL-lV-1ip" firstAttribute="leading" secondItem="ayX-iZ-W2S" secondAttribute="leading" constant="15" id="UzU-e6-gqw"/>
  106 + <constraint firstItem="hgX-Q5-QQo" firstAttribute="leading" secondItem="ayX-iZ-W2S" secondAttribute="leading" constant="70" id="asN-pB-95S"/>
  107 + <constraint firstItem="hgX-Q5-QQo" firstAttribute="top" secondItem="2l1-HT-22Y" secondAttribute="bottom" constant="30" id="gJU-Mh-gO7"/>
  108 + <constraint firstItem="DZm-Vd-vaB" firstAttribute="top" secondItem="8gw-04-jpe" secondAttribute="centerY" constant="20" id="lnP-R6-XtS"/>
  109 + <constraint firstItem="0yj-TK-Dhx" firstAttribute="centerY" secondItem="8gw-04-jpe" secondAttribute="centerY" id="tQF-R5-nmP"/>
  110 + <constraint firstAttribute="trailing" secondItem="2l1-HT-22Y" secondAttribute="trailing" id="vsA-K4-hA6"/>
  111 + <constraint firstItem="dEi-aF-mPj" firstAttribute="leading" secondItem="ayX-iZ-W2S" secondAttribute="leading" constant="10" id="wLu-GZ-ClG"/>
  112 + <constraint firstItem="h9q-TF-7Ax" firstAttribute="centerX" secondItem="0yj-TK-Dhx" secondAttribute="centerX" id="zRd-VO-7Nm"/>
  113 + <constraint firstItem="2l1-HT-22Y" firstAttribute="top" secondItem="ayX-iZ-W2S" secondAttribute="top" id="zao-VR-d3x"/>
  114 + </constraints>
  115 + <userDefinedRuntimeAttributes>
  116 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  117 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  118 + <integer key="value" value="6"/>
  119 + </userDefinedRuntimeAttribute>
  120 + </userDefinedRuntimeAttributes>
  121 + </view>
  122 + </subviews>
  123 + <constraints>
  124 + <constraint firstAttribute="bottom" secondItem="ayX-iZ-W2S" secondAttribute="bottom" id="KPa-3g-LgM"/>
  125 + <constraint firstAttribute="trailing" secondItem="ayX-iZ-W2S" secondAttribute="trailing" constant="10" id="bCN-qN-yss"/>
  126 + <constraint firstItem="ayX-iZ-W2S" firstAttribute="leading" secondItem="f6V-fr-7r8" secondAttribute="leading" constant="10" id="cgd-hJ-8d5"/>
  127 + <constraint firstItem="ayX-iZ-W2S" firstAttribute="top" secondItem="f6V-fr-7r8" secondAttribute="top" constant="10" id="d6z-bj-g4w"/>
  128 + </constraints>
  129 + </tableViewCellContentView>
  130 + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/>
  131 + <point key="canvasLocation" x="24.5" y="-155.5"/>
  132 + </tableViewCell>
  133 + </objects>
  134 + <resources>
  135 + <image name="my_headerView_backgroundimageView" width="375" height="139"/>
  136 + <image name="reort_loop" width="150" height="115"/>
  137 + </resources>
  138 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/LineChartView.swift 0 → 100644
@@ -0,0 +1,220 @@ @@ -0,0 +1,220 @@
  1 +//
  2 +// LineChartView.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/23.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class LineChartView: UIView {
  12 +
  13 + //默认横坐标
  14 + private var xLabArr = ["行为","文明","课堂","作业","礼仪"]
  15 + //设置纵坐标
  16 + private let yCount = 6
  17 + //横坐标个数
  18 + private let xCount = 5
  19 + //最大绩点分数
  20 + private let GPA = 5
  21 + //储存横纵坐标,画线用
  22 + private var xCenterArr = Array<CGFloat>()
  23 + private var yCenterArr = Array<CGFloat>()
  24 + //判断是否重复点击
  25 + private var btnTouch = 10
  26 + //虚线
  27 + private let lineLayer = CAShapeLayer()
  28 + //横坐标下划线
  29 + private let xMoveLayer = CAShapeLayer()
  30 + //纵坐标Lab数组
  31 + private var yMoveLaArr = Array<UILabel>()
  32 + //折线图数据数组
  33 + private var dateArr = Array<Array<Int>>()
  34 + //显示的数字
  35 + var yLabArray = Array<UILabel>()
  36 +
  37 + override init(frame: CGRect) {
  38 + super.init(frame: frame)
  39 + print("frame==\(frame)")
  40 +
  41 + }
  42 + func drawUI(xLableArr:Array<String>?){
  43 +
  44 + if xLableArr != nil {
  45 + xLabArr = xLableArr!
  46 + }
  47 + drawX()
  48 + drawY()
  49 + }
  50 + //设置纵坐标
  51 + private func drawY() {
  52 +
  53 + let yHeight = (self.bounds.height-60)/CGFloat(yCount)
  54 + for index in 0..<yCount{
  55 + let yLab = UILabel.init(frame: CGRect.init(x: 10, y: CGFloat(index)*yHeight, width: 20, height: 20))
  56 + yLab.text = "\(GPA-index)"
  57 + yLab.textColor = UIColorWithRGB(R: 119, G: 119, B: 119)
  58 + yLab.font = UIFont.systemFont(ofSize: 14)
  59 + self.addSubview(yLab)
  60 +
  61 + let lineLab = UILabel.init(frame: CGRect.init(x: 30, y: yLab.center.y, width: screenWidth-60, height: 0.4))
  62 + lineLab.backgroundColor = UIColorWithRGB(R: 190, G: 190, B: 190)
  63 + self.addSubview(lineLab)
  64 +
  65 + yMoveLaArr.append(yLab)
  66 + yCenterArr.append(yLab.frame.origin.y+10)
  67 + }
  68 + }
  69 + //设置横坐标
  70 + private func drawX() {
  71 + let xWidth = (screenWidth-20)/CGFloat(yCount)
  72 + for index in 0..<xCount {
  73 + let nameBtn = UIButton.init(frame: CGRect.init(x: xWidth+CGFloat(index)*xWidth, y: self.bounds.height-70, width: 40, height: 25))
  74 + nameBtn.setTitle(xLabArr[index], for: UIControlState.normal)
  75 + nameBtn.setTitleColor(UIColorWithRGB(R: 119, G: 119, B: 119), for: UIControlState.normal)
  76 + nameBtn.titleLabel!.textAlignment = .center
  77 + nameBtn.titleLabel!.font = UIFont.systemFont(ofSize: 13)
  78 +// nameBtn.backgroundColor = UIColor.orange
  79 + nameBtn.tag = index
  80 + self.addSubview(nameBtn)
  81 +
  82 + nameBtn.addTarget(self, action: #selector(touchXAction(tap:)), for: UIControlEvents.touchUpInside)
  83 +
  84 + xCenterArr.append(nameBtn.frame.origin.x+20)
  85 + }
  86 + }
  87 +
  88 + //MARK: - 画折线
  89 + func drawLine(point:Array<Int>,color:UIColor){
  90 +
  91 + let pointArr = swichPoint(arr: point)
  92 +
  93 + let drawLayer = DrawLayer()
  94 + drawLayer.xPointArr = xCenterArr
  95 + drawLayer.yPointArr = [yCenterArr[pointArr[0]],yCenterArr[pointArr[1]],yCenterArr[pointArr[2]],yCenterArr[pointArr[3]],yCenterArr[pointArr[4]]]
  96 + drawLayer.bounds = self.bounds
  97 + drawLayer.position = self.center
  98 + drawLayer.lineColor = color
  99 + self.layer.addSublayer(drawLayer)
  100 + drawLayer.setNeedsDisplay()
  101 +
  102 + dateArr.append(point)
  103 +
  104 + }
  105 + //MARK: - 点击横坐标
  106 + @objc func touchXAction(tap:UIButton){
  107 +
  108 + let index = tap.tag
  109 +
  110 +
  111 + if btnTouch != index {
  112 +
  113 + //竖虚线
  114 + lineLayer.strokeColor = UIColorWithRGB(R: 92, G: 145, B: 230).cgColor
  115 + lineLayer.lineWidth = 1
  116 + let arr = [5,5]
  117 + lineLayer.lineDashPhase = 0
  118 + lineLayer.lineDashPattern = arr as [NSNumber]
  119 + self.layer.addSublayer(lineLayer)
  120 +
  121 + //X轴下划线
  122 + let movePath = CGMutablePath()
  123 + movePath.move(to: CGPoint.init(x: xCenterArr[index], y: yCenterArr[0]))
  124 + movePath.addLine(to: CGPoint.init(x: xCenterArr[index], y: 10+5*(self.bounds.height-60)/CGFloat(yCount)))
  125 + lineLayer.path = movePath
  126 +
  127 + xMoveLayer.strokeColor = UIColorWithRGB(R: 92, G: 145, B: 230).cgColor
  128 + xMoveLayer.lineWidth = 2
  129 + self.layer.addSublayer(xMoveLayer)
  130 + let movePath2 = CGMutablePath()
  131 + movePath2.move(to: CGPoint.init(x: xCenterArr[index]-15, y: self.bounds.height-45))
  132 + movePath2.addLine(to: CGPoint.init(x: xCenterArr[index]+15, y: self.bounds.height-45))
  133 + xMoveLayer.path = movePath2
  134 +
  135 + if yLabArray.count == dateArr.count {
  136 + for label in yLabArray {
  137 + label.removeFromSuperview()
  138 + }
  139 + }
  140 + yLabArray.removeAll()
  141 + //数字显示
  142 + for i in 0..<dateArr.count {
  143 + let arr = dateArr[i]
  144 + //y坐标数值
  145 + let y = arr[index]
  146 + let yLab = yMoveLaArr[GPA-y]
  147 + var rect = yLab.frame
  148 + rect.origin.x = xCenterArr[index]+10
  149 +
  150 + let newLab = UILabel()
  151 + newLab.text = yLab.text
  152 + newLab.textColor = yLab.textColor
  153 + newLab.font = yLab.font
  154 + newLab.frame = rect
  155 + self.addSubview(newLab)
  156 + yLabArray.append(newLab)
  157 + }
  158 + }else{
  159 + print(yLabArray)
  160 + }
  161 + btnTouch = index
  162 +
  163 +
  164 + }
  165 + //转换y坐标
  166 + func swichPoint(arr:Array<Int>)->Array<Int>{
  167 + var array = Array<Int>()
  168 + for index in 0..<arr.count {
  169 + let value = GPA - arr[index]
  170 + array.append(value)
  171 + }
  172 + return array
  173 + }
  174 +
  175 + required init?(coder aDecoder: NSCoder) {
  176 + fatalError("init(coder:) has not been implemented")
  177 + }
  178 +
  179 + /*
  180 + // Only override draw() if you perform custom drawing.
  181 + // An empty implementation adversely affects performance during animation.
  182 + override func draw(_ rect: CGRect) {
  183 + // Drawing code
  184 + }
  185 + */
  186 +
  187 +}
  188 +
  189 +class DrawLayer: CALayer {
  190 +
  191 + var yPointArr = Array<CGFloat>()
  192 + var xPointArr = Array<CGFloat>()
  193 + var lineColor = UIColor()
  194 +
  195 + override func draw(in ctx: CGContext) {
  196 +
  197 + let context = ctx
  198 + //点
  199 + context.setFillColor(lineColor.cgColor)
  200 +
  201 + for i in 0..<xPointArr.count {
  202 + context.fillEllipse(in: CGRect.init(x: xPointArr[i]-5, y: yPointArr[i]-5, width: 10, height: 10))
  203 +
  204 + }
  205 + //折线
  206 + context.setStrokeColor(lineColor.cgColor)
  207 + context.setLineWidth(1.5)
  208 + for i in 0..<xPointArr.count {
  209 + if i == 0 {
  210 + context.move(to: CGPoint.init(x: xPointArr[0] , y: yPointArr[0]))
  211 + }else{
  212 + context.addLine(to: CGPoint.init(x: xPointArr[i] , y: yPointArr[i]))
  213 + }
  214 + }
  215 + context.strokePath()
  216 + }
  217 +
  218 +}
  219 +
  220 +
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/MoralDetailCell.swift 0 → 100644
@@ -0,0 +1,34 @@ @@ -0,0 +1,34 @@
  1 +//
  2 +// MoralDetailCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/23.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class MoralDetailCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var dateLab: UILabel!
  14 + @IBOutlet weak var pointLab: UILabel!
  15 + @IBOutlet weak var rankingLab: UILabel!
  16 + @IBOutlet weak var risingLab: UILabel!
  17 + @IBOutlet weak var risingRightLab: UILabel!
  18 + @IBOutlet weak var averageLab: UILabel!
  19 + @IBOutlet weak var averageRightLab: UILabel!
  20 + @IBOutlet weak var evaluationLab: UILabel!
  21 + override func awakeFromNib() {
  22 + super.awakeFromNib()
  23 + self.backgroundColor = backgroundColor
  24 +
  25 + // Initialization code
  26 + }
  27 +
  28 + override func setSelected(_ selected: Bool, animated: Bool) {
  29 + super.setSelected(selected, animated: animated)
  30 +
  31 + // Configure the view for the selected state
  32 + }
  33 +
  34 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/MoralDetailCell.xib 0 → 100644
@@ -0,0 +1,142 @@ @@ -0,0 +1,142 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  10 + </dependencies>
  11 + <objects>
  12 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  13 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  14 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="moralDetail" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="moralDetail" rowHeight="271" id="Y5e-cY-302" customClass="MoralDetailCell" customModule="ParentAssistant" customModuleProvider="target">
  15 + <rect key="frame" x="0.0" y="0.0" width="375" height="271"/>
  16 + <autoresizingMask key="autoresizingMask"/>
  17 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Y5e-cY-302" id="ZBC-Ez-Fjp">
  18 + <rect key="frame" x="0.0" y="0.0" width="375" height="270.5"/>
  19 + <autoresizingMask key="autoresizingMask"/>
  20 + <subviews>
  21 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UBb-dh-88b">
  22 + <rect key="frame" x="10" y="10" width="355" height="260.5"/>
  23 + <subviews>
  24 + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="moral_bg" translatesAutoresizingMaskIntoConstraints="NO" id="1gV-1s-gHe">
  25 + <rect key="frame" x="0.0" y="0.0" width="355" height="260.5"/>
  26 + </imageView>
  27 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="德育得分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="pNK-6b-MsE">
  28 + <rect key="frame" x="40" y="15" width="61.5" height="18"/>
  29 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  30 + <color key="textColor" red="0.050980392159999999" green="0.1647058824" blue="0.45882352939999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  31 + <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  32 + </label>
  33 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="4.3分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9pn-Mt-3mm">
  34 + <rect key="frame" x="34" y="48" width="75" height="36"/>
  35 + <fontDescription key="fontDescription" type="system" pointSize="30"/>
  36 + <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  37 + <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  38 + </label>
  39 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第三名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="DIr-ge-gbf">
  40 + <rect key="frame" x="227" y="50" width="91" height="36"/>
  41 + <fontDescription key="fontDescription" type="system" pointSize="30"/>
  42 + <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  43 + <nil key="highlightedColor"/>
  44 + </label>
  45 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="同期上升1.1分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="J9G-OC-0Wu">
  46 + <rect key="frame" x="24.5" y="104" width="93.5" height="18"/>
  47 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  48 + <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  49 + <nil key="highlightedColor"/>
  50 + </label>
  51 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="同期上升5名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oaU-aV-pPx">
  52 + <rect key="frame" x="229.5" y="106" width="86" height="18"/>
  53 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  54 + <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  55 + <nil key="highlightedColor"/>
  56 + </label>
  57 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018年03月03号" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Mz0-Fx-X1P">
  58 + <rect key="frame" x="210" y="15" width="125" height="20"/>
  59 + <fontDescription key="fontDescription" type="system" pointSize="16"/>
  60 + <color key="textColor" red="0.08235294118" green="0.39607843139999999" blue="0.75294117650000003" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  61 + <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  62 + </label>
  63 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="高于平均分1.1分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="anx-4P-Hux">
  64 + <rect key="frame" x="16.5" y="132" width="109" height="18"/>
  65 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  66 + <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  67 + <nil key="highlightedColor"/>
  68 + </label>
  69 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="高于平均排名1.1名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CeX-B7-f6o">
  70 + <rect key="frame" x="210.5" y="134" width="124" height="18"/>
  71 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  72 + <color key="textColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  73 + <nil key="highlightedColor"/>
  74 + </label>
  75 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="哎哟不错哦,德育评价打败了33%的同学!注意行为规范将更上一层楼" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Wkw-bn-xrx">
  76 + <rect key="frame" x="20" y="170" width="315" height="40"/>
  77 + <constraints>
  78 + <constraint firstAttribute="height" constant="40" id="Gnr-My-R1x"/>
  79 + </constraints>
  80 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  81 + <color key="textColor" red="0.08235294118" green="0.39607843139999999" blue="0.75294117650000003" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  82 + <nil key="highlightedColor"/>
  83 + </label>
  84 + </subviews>
  85 + <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  86 + <constraints>
  87 + <constraint firstItem="1gV-1s-gHe" firstAttribute="leading" secondItem="UBb-dh-88b" secondAttribute="leading" id="7Hd-yK-MLm"/>
  88 + <constraint firstItem="anx-4P-Hux" firstAttribute="top" secondItem="J9G-OC-0Wu" secondAttribute="bottom" constant="10" id="9FD-EM-rTI"/>
  89 + <constraint firstItem="9pn-Mt-3mm" firstAttribute="centerX" secondItem="pNK-6b-MsE" secondAttribute="centerX" id="AnT-t2-Vaz"/>
  90 + <constraint firstItem="Mz0-Fx-X1P" firstAttribute="trailing" secondItem="UBb-dh-88b" secondAttribute="trailing" constant="-20" id="DUF-fk-aMY"/>
  91 + <constraint firstItem="Wkw-bn-xrx" firstAttribute="top" secondItem="anx-4P-Hux" secondAttribute="bottom" constant="20" id="Gcq-Dr-wY8"/>
  92 + <constraint firstItem="oaU-aV-pPx" firstAttribute="top" secondItem="DIr-ge-gbf" secondAttribute="bottom" constant="20" id="I4a-rl-CwG"/>
  93 + <constraint firstItem="J9G-OC-0Wu" firstAttribute="centerX" secondItem="9pn-Mt-3mm" secondAttribute="centerX" id="ILE-XR-PgX"/>
  94 + <constraint firstItem="9pn-Mt-3mm" firstAttribute="top" secondItem="pNK-6b-MsE" secondAttribute="bottom" constant="15" id="JcF-eO-1Tf"/>
  95 + <constraint firstItem="anx-4P-Hux" firstAttribute="centerX" secondItem="9pn-Mt-3mm" secondAttribute="centerX" id="N8e-Tq-OFC"/>
  96 + <constraint firstItem="DIr-ge-gbf" firstAttribute="centerX" secondItem="Mz0-Fx-X1P" secondAttribute="centerX" id="PeQ-3p-wPu"/>
  97 + <constraint firstItem="DIr-ge-gbf" firstAttribute="top" secondItem="Mz0-Fx-X1P" secondAttribute="bottom" constant="15" id="QlN-Um-QRE"/>
  98 + <constraint firstItem="CeX-B7-f6o" firstAttribute="centerX" secondItem="DIr-ge-gbf" secondAttribute="centerX" id="S5f-mc-kLf"/>
  99 + <constraint firstAttribute="bottom" secondItem="1gV-1s-gHe" secondAttribute="bottom" id="WmH-Yr-1VA"/>
  100 + <constraint firstAttribute="trailing" secondItem="1gV-1s-gHe" secondAttribute="trailing" id="Yrr-Y6-K8b"/>
  101 + <constraint firstItem="CeX-B7-f6o" firstAttribute="top" secondItem="oaU-aV-pPx" secondAttribute="bottom" constant="10" id="bAv-aS-0Ml"/>
  102 + <constraint firstItem="oaU-aV-pPx" firstAttribute="centerX" secondItem="DIr-ge-gbf" secondAttribute="centerX" id="dQ5-qu-b7Z"/>
  103 + <constraint firstItem="pNK-6b-MsE" firstAttribute="top" secondItem="UBb-dh-88b" secondAttribute="top" constant="15" id="fIQ-aq-1Q2"/>
  104 + <constraint firstAttribute="trailing" secondItem="Wkw-bn-xrx" secondAttribute="trailing" constant="20" id="ikn-5j-7Yc"/>
  105 + <constraint firstItem="pNK-6b-MsE" firstAttribute="leading" secondItem="UBb-dh-88b" secondAttribute="leading" constant="40" id="ipG-Xz-pen"/>
  106 + <constraint firstItem="J9G-OC-0Wu" firstAttribute="top" secondItem="9pn-Mt-3mm" secondAttribute="bottom" constant="20" id="n4e-bY-kc9"/>
  107 + <constraint firstItem="Wkw-bn-xrx" firstAttribute="leading" secondItem="UBb-dh-88b" secondAttribute="leading" constant="20" id="njK-jj-BrM"/>
  108 + <constraint firstItem="1gV-1s-gHe" firstAttribute="top" secondItem="UBb-dh-88b" secondAttribute="top" id="r0a-Sd-FcU"/>
  109 + <constraint firstItem="Mz0-Fx-X1P" firstAttribute="top" secondItem="UBb-dh-88b" secondAttribute="top" constant="15" id="s6T-Ua-Fvo"/>
  110 + </constraints>
  111 + <userDefinedRuntimeAttributes>
  112 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  113 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  114 + <integer key="value" value="5"/>
  115 + </userDefinedRuntimeAttribute>
  116 + </userDefinedRuntimeAttributes>
  117 + </view>
  118 + </subviews>
  119 + <constraints>
  120 + <constraint firstAttribute="trailing" secondItem="UBb-dh-88b" secondAttribute="trailing" constant="10" id="8yJ-jh-3AX"/>
  121 + <constraint firstAttribute="bottom" secondItem="UBb-dh-88b" secondAttribute="bottom" id="Krl-Qe-GPA"/>
  122 + <constraint firstItem="UBb-dh-88b" firstAttribute="top" secondItem="ZBC-Ez-Fjp" secondAttribute="top" constant="10" id="TDk-Gn-s04"/>
  123 + <constraint firstItem="UBb-dh-88b" firstAttribute="leading" secondItem="ZBC-Ez-Fjp" secondAttribute="leading" constant="10" id="w0a-Nc-xLP"/>
  124 + </constraints>
  125 + </tableViewCellContentView>
  126 + <connections>
  127 + <outlet property="averageLab" destination="anx-4P-Hux" id="O01-Bj-kz7"/>
  128 + <outlet property="averageRightLab" destination="CeX-B7-f6o" id="WwT-Hr-hh6"/>
  129 + <outlet property="dateLab" destination="Mz0-Fx-X1P" id="Nz4-H1-fN3"/>
  130 + <outlet property="evaluationLab" destination="Wkw-bn-xrx" id="oUC-au-Tjl"/>
  131 + <outlet property="pointLab" destination="9pn-Mt-3mm" id="hMP-cd-goK"/>
  132 + <outlet property="rankingLab" destination="DIr-ge-gbf" id="RCT-oE-nLC"/>
  133 + <outlet property="risingLab" destination="J9G-OC-0Wu" id="7Bf-i5-JuQ"/>
  134 + <outlet property="risingRightLab" destination="oaU-aV-pPx" id="bD2-fb-eGb"/>
  135 + </connections>
  136 + <point key="canvasLocation" x="24.5" y="47.5"/>
  137 + </tableViewCell>
  138 + </objects>
  139 + <resources>
  140 + <image name="moral_bg" width="690" height="430"/>
  141 + </resources>
  142 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/MoralTableViewCell.swift 0 → 100644
@@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
  1 +//
  2 +// MoralTableViewCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/22.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class MoralTableViewCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var pointLab: UILabel!
  14 + @IBOutlet weak var todayReName: UILabel!
  15 + @IBOutlet weak var rankingLab: UILabel!
  16 + @IBOutlet weak var evaluateLab: UILabel!
  17 + @IBOutlet weak var rankStatusLab: UILabel!
  18 + @IBOutlet weak var reportDateLab: UILabel!
  19 + override func awakeFromNib() {
  20 + super.awakeFromNib()
  21 + self.backgroundColor = backgroundColor
  22 +
  23 + // Initialization code
  24 + }
  25 +
  26 + override func setSelected(_ selected: Bool, animated: Bool) {
  27 + super.setSelected(selected, animated: animated)
  28 +
  29 + // Configure the view for the selected state
  30 + }
  31 +
  32 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/MoralTableViewCell.xib 0 → 100644
@@ -0,0 +1,109 @@ @@ -0,0 +1,109 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="Alignment constraints with different attributes" minToolsVersion="5.1"/>
  10 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  11 + </dependencies>
  12 + <objects>
  13 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  14 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  15 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="MoralTableViewCell" rowHeight="280" id="z9h-Wo-rxs" customClass="MoralTableViewCell" customModule="ParentAssistant" customModuleProvider="target">
  16 + <rect key="frame" x="0.0" y="0.0" width="375" height="280"/>
  17 + <autoresizingMask key="autoresizingMask"/>
  18 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="z9h-Wo-rxs" id="Hdo-4K-VNc">
  19 + <rect key="frame" x="0.0" y="0.0" width="375" height="279.5"/>
  20 + <autoresizingMask key="autoresizingMask"/>
  21 + <subviews>
  22 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Vef-nQ-dGv">
  23 + <rect key="frame" x="10" y="10" width="355" height="270"/>
  24 + <subviews>
  25 + <imageView userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="aWL-Tx-0UW">
  26 + <rect key="frame" x="0.0" y="0.0" width="355" height="40"/>
  27 + <color key="backgroundColor" red="0.2257528305" green="0.73064249749999999" blue="0.92262524369999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  28 + <constraints>
  29 + <constraint firstAttribute="height" constant="40" id="Ofl-nL-luu"/>
  30 + </constraints>
  31 + </imageView>
  32 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="今日德育报告" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="cKf-6S-lhj">
  33 + <rect key="frame" x="15" y="11" width="92" height="18"/>
  34 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  35 + <color key="textColor" red="0.04523163015" green="0.032123999590000001" blue="0.18083756349999999" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  36 + <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  37 + </label>
  38 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="4.3分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="j0A-jN-fqh">
  39 + <rect key="frame" x="42.5" y="60" width="75" height="36"/>
  40 + <fontDescription key="fontDescription" type="system" pointSize="30"/>
  41 + <color key="textColor" red="0.19058823590000001" green="0.6052491069" blue="0.92507088179999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  42 + <color key="highlightedColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  43 + </label>
  44 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="第三名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8d1-dG-Pi6">
  45 + <rect key="frame" x="229.5" y="60" width="91" height="36"/>
  46 + <fontDescription key="fontDescription" type="system" pointSize="30"/>
  47 + <color key="textColor" red="0.1980733871" green="0.57266002890000001" blue="0.92558294529999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  48 + <nil key="highlightedColor"/>
  49 + </label>
  50 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="获得 A- 评分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2GV-uC-noJ">
  51 + <rect key="frame" x="29" y="136" width="102.5" height="21.5"/>
  52 + <fontDescription key="fontDescription" type="system" pointSize="18"/>
  53 + <color key="textColor" red="0.1980733871" green="0.57266002890000001" blue="0.92558294529999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  54 + <nil key="highlightedColor"/>
  55 + </label>
  56 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="名次上升1名" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="L60-yA-m2f">
  57 + <rect key="frame" x="225" y="136" width="100" height="21.5"/>
  58 + <fontDescription key="fontDescription" type="system" pointSize="18"/>
  59 + <color key="textColor" red="0.1980733871" green="0.57266002890000001" blue="0.92558294529999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  60 + <nil key="highlightedColor"/>
  61 + </label>
  62 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="03月15日德育报告" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9Ae-se-wQu">
  63 + <rect key="frame" x="20" y="210" width="315" height="30"/>
  64 + <constraints>
  65 + <constraint firstAttribute="height" constant="30" id="ylt-V9-kJl"/>
  66 + </constraints>
  67 + <fontDescription key="fontDescription" type="system" pointSize="18"/>
  68 + <color key="textColor" red="0.091986544429999997" green="0.17189717290000001" blue="0.63014686109999996" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  69 + <nil key="highlightedColor"/>
  70 + </label>
  71 + </subviews>
  72 + <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  73 + <constraints>
  74 + <constraint firstItem="cKf-6S-lhj" firstAttribute="centerY" secondItem="aWL-Tx-0UW" secondAttribute="centerY" id="5mN-fH-D4I"/>
  75 + <constraint firstItem="j0A-jN-fqh" firstAttribute="top" secondItem="Vef-nQ-dGv" secondAttribute="top" constant="60" id="96O-AW-As9"/>
  76 + <constraint firstItem="aWL-Tx-0UW" firstAttribute="leading" secondItem="Vef-nQ-dGv" secondAttribute="leading" id="BYt-px-Cjn"/>
  77 + <constraint firstItem="8d1-dG-Pi6" firstAttribute="centerX" secondItem="Vef-nQ-dGv" secondAttribute="trailing" constant="-80" id="DUf-vl-R8M"/>
  78 + <constraint firstItem="2GV-uC-noJ" firstAttribute="centerX" secondItem="j0A-jN-fqh" secondAttribute="centerX" id="LGc-Jp-07j"/>
  79 + <constraint firstItem="L60-yA-m2f" firstAttribute="top" secondItem="8d1-dG-Pi6" secondAttribute="bottom" constant="40" id="MaK-uL-fPP"/>
  80 + <constraint firstItem="2GV-uC-noJ" firstAttribute="top" secondItem="j0A-jN-fqh" secondAttribute="bottom" constant="40" id="Ryr-Gh-VGZ"/>
  81 + <constraint firstItem="8d1-dG-Pi6" firstAttribute="top" secondItem="Vef-nQ-dGv" secondAttribute="top" constant="60" id="SsE-55-O6O"/>
  82 + <constraint firstItem="j0A-jN-fqh" firstAttribute="centerX" secondItem="Vef-nQ-dGv" secondAttribute="leading" constant="80" id="WBT-bt-FLd"/>
  83 + <constraint firstAttribute="bottom" secondItem="9Ae-se-wQu" secondAttribute="bottom" constant="30" id="YNw-rs-gHW"/>
  84 + <constraint firstItem="L60-yA-m2f" firstAttribute="centerX" secondItem="8d1-dG-Pi6" secondAttribute="centerX" id="a47-3Y-yeG"/>
  85 + <constraint firstAttribute="trailing" secondItem="9Ae-se-wQu" secondAttribute="trailing" constant="20" id="a9O-Jn-TPZ"/>
  86 + <constraint firstItem="aWL-Tx-0UW" firstAttribute="top" secondItem="Vef-nQ-dGv" secondAttribute="top" id="aiN-4Q-1yb"/>
  87 + <constraint firstAttribute="trailing" secondItem="aWL-Tx-0UW" secondAttribute="trailing" id="avu-SY-2Fa"/>
  88 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="cKf-6S-lhj" secondAttribute="trailing" constant="20" symbolic="YES" id="g1h-6M-v2g"/>
  89 + <constraint firstItem="9Ae-se-wQu" firstAttribute="leading" secondItem="Vef-nQ-dGv" secondAttribute="leading" constant="20" id="jZW-7n-dLT"/>
  90 + <constraint firstItem="cKf-6S-lhj" firstAttribute="leading" secondItem="Vef-nQ-dGv" secondAttribute="leading" constant="15" id="ube-1E-bnY"/>
  91 + </constraints>
  92 + <userDefinedRuntimeAttributes>
  93 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  94 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  95 + <integer key="value" value="6"/>
  96 + </userDefinedRuntimeAttribute>
  97 + </userDefinedRuntimeAttributes>
  98 + </view>
  99 + </subviews>
  100 + <constraints>
  101 + <constraint firstAttribute="bottom" secondItem="Vef-nQ-dGv" secondAttribute="bottom" id="6Cr-qJ-0jA"/>
  102 + <constraint firstItem="Vef-nQ-dGv" firstAttribute="top" secondItem="Hdo-4K-VNc" secondAttribute="top" constant="10" id="7ls-DH-ULi"/>
  103 + <constraint firstItem="Vef-nQ-dGv" firstAttribute="leading" secondItem="Hdo-4K-VNc" secondAttribute="leading" constant="10" id="FzM-Rj-ZSg"/>
  104 + <constraint firstAttribute="trailing" secondItem="Vef-nQ-dGv" secondAttribute="trailing" constant="10" id="sOB-Hs-fk0"/>
  105 + </constraints>
  106 + </tableViewCellContentView>
  107 + </tableViewCell>
  108 + </objects>
  109 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/ReportHeaderCollectionViewCell.swift 0 → 100644
@@ -0,0 +1,42 @@ @@ -0,0 +1,42 @@
  1 +//
  2 +// ReportHeaderCollectionViewCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/14.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class ReportHeaderCollectionViewCell: UICollectionViewCell {
  12 +
  13 + @IBOutlet weak var weekLab: UILabel!
  14 + @IBOutlet weak var dataLab: UILabel!
  15 + override func awakeFromNib() {
  16 + super.awakeFromNib()
  17 + // Initialization code
  18 + }
  19 + func setCellData(index:IndexPath){
  20 + if index.row%7 == 0 || index.row == 0 {
  21 + self.weekLab.text = "日"
  22 + }
  23 + if index.row == 1 || index.row%7 == 1 {
  24 + self.weekLab.text = "一"
  25 + }
  26 + if index.row == 2 || index.row%7 == 2 {
  27 + self.weekLab.text = "二"
  28 + }
  29 + if index.row == 3 || index.row%7 == 3 {
  30 + self.weekLab.text = "三"
  31 + }
  32 + if index.row == 4 || index.row%7 == 4 {
  33 + self.weekLab.text = "四"
  34 + }
  35 + if index.row == 5 || index.row%7 == 5 {
  36 + self.weekLab.text = "五"
  37 + }
  38 + if index.row == 6 || index.row%7 == 6 {
  39 + self.weekLab.text = "六"
  40 + }
  41 + }
  42 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/ReportHeaderCollectionViewCell.xib 0 → 100644
@@ -0,0 +1,51 @@ @@ -0,0 +1,51 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="Safe area layout guides" minToolsVersion="9.0"/>
  10 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  11 + </dependencies>
  12 + <objects>
  13 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  14 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  15 + <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="ReportHeaderCollectionViewCell" id="gTV-IL-0wX" customClass="ReportHeaderCollectionViewCell" customModule="ParentAssistant" customModuleProvider="target">
  16 + <rect key="frame" x="0.0" y="0.0" width="70" height="59"/>
  17 + <autoresizingMask key="autoresizingMask"/>
  18 + <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
  19 + <rect key="frame" x="0.0" y="0.0" width="70" height="59"/>
  20 + <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
  21 + <subviews>
  22 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="25" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="7Tv-VB-dq1">
  23 + <rect key="frame" x="24.5" y="34" width="21" height="21"/>
  24 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  25 + <nil key="textColor"/>
  26 + <nil key="highlightedColor"/>
  27 + </label>
  28 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="日" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Lgs-Ns-ePp">
  29 + <rect key="frame" x="26" y="8" width="18" height="21"/>
  30 + <fontDescription key="fontDescription" type="system" pointSize="17"/>
  31 + <nil key="textColor"/>
  32 + <nil key="highlightedColor"/>
  33 + </label>
  34 + </subviews>
  35 + </view>
  36 + <constraints>
  37 + <constraint firstItem="Lgs-Ns-ePp" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="EFF-k3-MkL"/>
  38 + <constraint firstItem="7Tv-VB-dq1" firstAttribute="centerX" secondItem="gTV-IL-0wX" secondAttribute="centerX" id="Vod-EB-QVH"/>
  39 + <constraint firstItem="Lgs-Ns-ePp" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" constant="8" id="Zr1-E2-Kug"/>
  40 + <constraint firstItem="7Tv-VB-dq1" firstAttribute="top" secondItem="Lgs-Ns-ePp" secondAttribute="bottom" constant="5" id="gcw-MZ-fhS"/>
  41 + </constraints>
  42 + <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
  43 + <size key="customSize" width="70" height="59"/>
  44 + <connections>
  45 + <outlet property="dataLab" destination="7Tv-VB-dq1" id="Nqk-R7-IeZ"/>
  46 + <outlet property="weekLab" destination="Lgs-Ns-ePp" id="YtY-jK-uwb"/>
  47 + </connections>
  48 + <point key="canvasLocation" x="52" y="-23.5"/>
  49 + </collectionViewCell>
  50 + </objects>
  51 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/ReportHeaderView.swift 0 → 100644
@@ -0,0 +1,142 @@ @@ -0,0 +1,142 @@
  1 +//
  2 +// ReportHeaderView.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/4/14.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class ReportHeaderView: UIView,UICollectionViewDelegate,UICollectionViewDataSource {
  12 +
  13 + lazy var collectionView = {()-> UICollectionView in
  14 +
  15 + let flowlayout = UICollectionViewFlowLayout()
  16 + flowlayout.itemSize = CGSize.init(width: screenWidth/7, height:60)
  17 + flowlayout.minimumLineSpacing = 0
  18 + flowlayout.minimumInteritemSpacing = 0
  19 + flowlayout.scrollDirection = UICollectionViewScrollDirection.horizontal
  20 + flowlayout.headerReferenceSize = CGSize.init(width: 0, height: 0)
  21 + flowlayout.footerReferenceSize = CGSize.init(width: 0, height: 0)
  22 + flowlayout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0)
  23 +
  24 + let collect = UICollectionView.init(frame: CGRect.init(x: 0, y: 0, width: self.bounds.size.width, height: self.bounds.size.height), collectionViewLayout: flowlayout)
  25 + collect.delegate = self
  26 + collect.dataSource = self
  27 + collect.showsHorizontalScrollIndicator = true
  28 + collect.scrollsToTop = false
  29 + collect.showsVerticalScrollIndicator = false
  30 + collect.isPagingEnabled = true
  31 + collect.backgroundColor = UIColor.white
  32 + collect.register(UINib.init(nibName: "ReportHeaderCollectionViewCell", bundle: nil), forCellWithReuseIdentifier: "ReportHeaderCollectionViewCell")
  33 + return collect
  34 + }()
  35 +
  36 + //Data
  37 +
  38 + /// 展示
  39 + var count = Int()
  40 + /// 当月1号 周几
  41 + var firstDay = Int()
  42 + /// 当月天数
  43 + var monthDays = Int()
  44 + /// 今天日期
  45 + var todayDate = Int()
  46 +
  47 + override init(frame: CGRect) {
  48 + super.init(frame: frame)
  49 + self.addSubview(self.collectionView)
  50 +
  51 + self.count = CalendarDateManager.shared.getMonthDayCount()*7
  52 + self.firstDay = CalendarDateManager.shared.getFirstMonthDays()
  53 + self.monthDays = CalendarDateManager.shared.getCurrentMonthDay()
  54 + self.todayDate = CalendarDateManager.shared.getTodayDate()
  55 +
  56 + //初始位置:显示本周
  57 + collectionView.scrollToItem(at: [0,count-1], at: UICollectionViewScrollPosition.right, animated: true)
  58 + }
  59 +
  60 + //MARK: - Collection Delegate && DataSource
  61 + func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
  62 + return count
  63 + }
  64 + func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
  65 +
  66 + let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "ReportHeaderCollectionViewCell", for: indexPath) as! ReportHeaderCollectionViewCell
  67 + cell.setCellData(index: indexPath)
  68 +
  69 + // 超出这个月显示为空
  70 + if indexPath.row+1 >= firstDay && indexPath.row <= monthDays {
  71 + cell.dataLab.text = "\(indexPath.row+1-firstDay+1)"
  72 + }else{
  73 + cell.dataLab.text = ""
  74 + }
  75 + // 设置日期颜色
  76 + if indexPath.row+1 > todayDate+firstDay-1{
  77 + cell.dataLab.textColor = UIColor.gray
  78 + }else
  79 + if indexPath.row+1 == todayDate+firstDay-1 {
  80 + cell.dataLab.textColor = UIColor.red
  81 + }else{
  82 + cell.dataLab.textColor = UIColor.black
  83 + }
  84 + return cell
  85 + }
  86 + func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath) {
  87 + if indexPath.row >= firstDay-1 && indexPath.row < todayDate+firstDay-1 {
  88 + print("点击了 ...\(indexPath.row+1-firstDay+1)号")
  89 + }
  90 + }
  91 +
  92 + required init?(coder aDecoder: NSCoder) {
  93 + fatalError("init(coder:) has not been implemented")
  94 + }
  95 +}
  96 +class CalendarDateManager: NSObject {
  97 +
  98 + static let shared = CalendarDateManager()
  99 +
  100 + private var date = Date.init(timeInterval: 150*86400, since: Date())
  101 +// private var date = Date()
  102 + override init() {}
  103 +
  104 + /// 获取当前周ofMonth
  105 + ///
  106 + /// - Returns: 第几周
  107 + func getMonthDayCount() -> Int {
  108 + let comps = Calendar.current.dateComponents([.weekOfMonth], from: date)
  109 + return comps.weekOfMonth!
  110 + }
  111 +
  112 + /// 获取当前月第一天周几
  113 + ///
  114 + /// - Returns: 月1号周几
  115 + func getFirstMonthDays() -> Int{
  116 + let comps = Calendar.current.dateComponents([.day], from: date)
  117 + let dayDate = comps.day!-1
  118 + let firstDay = Date.init(timeInterval: TimeInterval(-dayDate*86400), since: date)
  119 + let firstMonth = Calendar.current.dateComponents([.weekday], from: firstDay)
  120 + return firstMonth.weekday!
  121 + }
  122 +
  123 + /// 获取当天
  124 + ///
  125 + /// - Returns: 今天几号
  126 + func getTodayDate() -> Int {
  127 + let comps = Calendar.current.dateComponents([.day], from: date)
  128 + return comps.day!
  129 + }
  130 +
  131 + /// 获取当月天数
  132 + ///
  133 + /// - Returns: 天数
  134 + func getCurrentMonthDay () ->Int{
  135 +
  136 + let comps = Calendar.current.range(of: .day, in: .month, for: date)
  137 + return (comps?.count)!
  138 + }
  139 +
  140 +}
  141 +
  142 +
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/SceneDownCell.swift 0 → 100644
@@ -0,0 +1,32 @@ @@ -0,0 +1,32 @@
  1 +//
  2 +// SceneDownCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/24.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class SceneDownCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var evaluateLab: UILabel!
  14 + @IBOutlet weak var sceneLab: UILabel!
  15 + @IBOutlet weak var scoreLab: UILabel!
  16 + @IBOutlet weak var nameLab: UILabel!
  17 + @IBOutlet weak var classLab: UILabel!
  18 + @IBOutlet weak var dateLab: UILabel!
  19 + override func awakeFromNib() {
  20 + super.awakeFromNib()
  21 + self.backgroundColor = backgroundColor
  22 +
  23 + // Initialization code
  24 + }
  25 +
  26 + override func setSelected(_ selected: Bool, animated: Bool) {
  27 + super.setSelected(selected, animated: animated)
  28 +
  29 + // Configure the view for the selected state
  30 + }
  31 +
  32 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/SceneDownCell.xib 0 → 100644
@@ -0,0 +1,106 @@ @@ -0,0 +1,106 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  10 + </dependencies>
  11 + <objects>
  12 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  13 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  14 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="SceneDownCell" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="disciplineCell" rowHeight="90" id="yXZ-ow-IC3" customClass="SceneDownCell" customModule="ParentAssistant" customModuleProvider="target">
  15 + <rect key="frame" x="0.0" y="0.0" width="375" height="90"/>
  16 + <autoresizingMask key="autoresizingMask"/>
  17 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="yXZ-ow-IC3" id="YfX-AG-wY3">
  18 + <rect key="frame" x="0.0" y="0.0" width="375" height="89.5"/>
  19 + <autoresizingMask key="autoresizingMask"/>
  20 + <subviews>
  21 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ijR-w3-uD6">
  22 + <rect key="frame" x="10" y="10" width="355" height="80"/>
  23 + <subviews>
  24 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="优秀" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QUJ-gc-N7e">
  25 + <rect key="frame" x="10" y="10" width="31" height="18"/>
  26 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  27 + <color key="textColor" red="0.29803921570000003" green="0.68627450980000004" blue="0.31372549020000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  28 + <nil key="highlightedColor"/>
  29 + </label>
  30 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="+4" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="U2C-RA-pbc">
  31 + <rect key="frame" x="326" y="10" width="19" height="18"/>
  32 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  33 + <color key="textColor" red="0.29803921570000003" green="0.68627450980000004" blue="0.31372549020000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  34 + <nil key="highlightedColor"/>
  35 + </label>
  36 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="沈小东" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OHP-XR-hUS">
  37 + <rect key="frame" x="10" y="38" width="37" height="14.5"/>
  38 + <fontDescription key="fontDescription" type="system" pointSize="12"/>
  39 + <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  40 + <nil key="highlightedColor"/>
  41 + </label>
  42 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="二年(2)班" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PXd-5K-3iP">
  43 + <rect key="frame" x="77" y="38.5" width="53.5" height="14.5"/>
  44 + <fontDescription key="fontDescription" type="system" pointSize="12"/>
  45 + <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  46 + <nil key="highlightedColor"/>
  47 + </label>
  48 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018-03-12 17:30" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zcf-Ab-jNR">
  49 + <rect key="frame" x="243" y="38.5" width="102" height="14.5"/>
  50 + <fontDescription key="fontDescription" type="system" pointSize="12"/>
  51 + <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  52 + <nil key="highlightedColor"/>
  53 + </label>
  54 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="课堂纪律-上课发言" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gew-4Q-R6z">
  55 + <rect key="frame" x="113" y="10" width="129.5" height="18"/>
  56 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  57 + <color key="textColor" red="0.29803921570000003" green="0.68627450980000004" blue="0.31372549020000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  58 + <nil key="highlightedColor"/>
  59 + </label>
  60 + </subviews>
  61 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  62 + <constraints>
  63 + <constraint firstItem="PXd-5K-3iP" firstAttribute="leading" secondItem="OHP-XR-hUS" secondAttribute="trailing" constant="30" id="6dQ-64-faJ"/>
  64 + <constraint firstItem="U2C-RA-pbc" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="ijR-w3-uD6" secondAttribute="leading" constant="20" symbolic="YES" id="7IH-q7-vpb"/>
  65 + <constraint firstItem="zcf-Ab-jNR" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="ijR-w3-uD6" secondAttribute="leading" constant="20" symbolic="YES" id="Bcz-aG-PZa"/>
  66 + <constraint firstItem="zcf-Ab-jNR" firstAttribute="centerY" secondItem="OHP-XR-hUS" secondAttribute="centerY" id="Bjn-c9-mdA"/>
  67 + <constraint firstItem="QUJ-gc-N7e" firstAttribute="leading" secondItem="ijR-w3-uD6" secondAttribute="leading" constant="10" id="JVL-zS-W4R"/>
  68 + <constraint firstItem="gew-4Q-R6z" firstAttribute="top" secondItem="ijR-w3-uD6" secondAttribute="top" constant="10" id="NPx-pl-hQ2"/>
  69 + <constraint firstItem="zcf-Ab-jNR" firstAttribute="trailing" secondItem="ijR-w3-uD6" secondAttribute="trailing" constant="-10" id="RQ3-NW-FxE"/>
  70 + <constraint firstItem="PXd-5K-3iP" firstAttribute="centerY" secondItem="OHP-XR-hUS" secondAttribute="centerY" id="UHP-mV-VuC"/>
  71 + <constraint firstItem="OHP-XR-hUS" firstAttribute="top" secondItem="QUJ-gc-N7e" secondAttribute="bottom" constant="10" id="VfS-65-1o8"/>
  72 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="PXd-5K-3iP" secondAttribute="trailing" constant="20" symbolic="YES" id="aW1-2W-Fd9"/>
  73 + <constraint firstItem="OHP-XR-hUS" firstAttribute="leading" secondItem="ijR-w3-uD6" secondAttribute="leading" constant="10" id="bCD-sf-qpt"/>
  74 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="QUJ-gc-N7e" secondAttribute="trailing" constant="20" symbolic="YES" id="d6V-ef-cfw"/>
  75 + <constraint firstItem="gew-4Q-R6z" firstAttribute="centerX" secondItem="ijR-w3-uD6" secondAttribute="centerX" id="dCK-TC-rRT"/>
  76 + <constraint firstItem="QUJ-gc-N7e" firstAttribute="top" secondItem="ijR-w3-uD6" secondAttribute="top" constant="10" id="lLs-Pu-CfK"/>
  77 + <constraint firstItem="U2C-RA-pbc" firstAttribute="centerY" secondItem="gew-4Q-R6z" secondAttribute="centerY" id="nqz-48-RAx"/>
  78 + <constraint firstItem="U2C-RA-pbc" firstAttribute="trailing" secondItem="ijR-w3-uD6" secondAttribute="trailing" constant="-10" id="of7-xc-r5p"/>
  79 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="OHP-XR-hUS" secondAttribute="trailing" constant="20" symbolic="YES" id="qmg-TJ-d1E"/>
  80 + </constraints>
  81 + <userDefinedRuntimeAttributes>
  82 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  83 + <integer key="value" value="5"/>
  84 + </userDefinedRuntimeAttribute>
  85 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  86 + </userDefinedRuntimeAttributes>
  87 + </view>
  88 + </subviews>
  89 + <constraints>
  90 + <constraint firstAttribute="bottom" secondItem="ijR-w3-uD6" secondAttribute="bottom" id="HUg-MG-jKb"/>
  91 + <constraint firstItem="ijR-w3-uD6" firstAttribute="top" secondItem="YfX-AG-wY3" secondAttribute="top" constant="10" id="I6a-Rf-ww6"/>
  92 + <constraint firstAttribute="trailing" secondItem="ijR-w3-uD6" secondAttribute="trailing" constant="10" id="aMI-k8-Nnt"/>
  93 + <constraint firstItem="ijR-w3-uD6" firstAttribute="leading" secondItem="YfX-AG-wY3" secondAttribute="leading" constant="10" id="kgA-CM-Dp5"/>
  94 + </constraints>
  95 + </tableViewCellContentView>
  96 + <connections>
  97 + <outlet property="classLab" destination="PXd-5K-3iP" id="8VY-oW-yQn"/>
  98 + <outlet property="dateLab" destination="zcf-Ab-jNR" id="VWU-ck-hFZ"/>
  99 + <outlet property="evaluateLab" destination="QUJ-gc-N7e" id="C1F-RQ-29g"/>
  100 + <outlet property="nameLab" destination="OHP-XR-hUS" id="jmA-n9-VSG"/>
  101 + <outlet property="sceneLab" destination="gew-4Q-R6z" id="WSD-kE-30c"/>
  102 + <outlet property="scoreLab" destination="U2C-RA-pbc" id="9hL-rw-Sa8"/>
  103 + </connections>
  104 + </tableViewCell>
  105 + </objects>
  106 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/SceneMiddleCell.swift 0 → 100644
@@ -0,0 +1,46 @@ @@ -0,0 +1,46 @@
  1 +//
  2 +// SceneMiddleCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/24.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class SceneMiddleCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var lineChartView: UIView!
  14 +
  15 + var customLineChart = LineChartView()
  16 + override func awakeFromNib() {
  17 + super.awakeFromNib()
  18 + self.backgroundColor = backgroundColor
  19 +
  20 + // Initialization code
  21 + let rect = self.lineChartView.bounds
  22 + customLineChart = LineChartView.init(frame: rect)
  23 + let customXLabArr = ["03/12","03/13","03/14","03/15","03/16"]
  24 +
  25 + customLineChart.drawUI(xLableArr:customXLabArr)
  26 +
  27 + let arr1 = [5,4,5,5,5]
  28 + let arr2 = [4,4,2,1,3]
  29 + let arr3 = [3,3,4,3,4]
  30 +
  31 +
  32 + customLineChart.drawLine(point: arr1, color: UIColorWithRGB(R: 129, G: 199, B: 132))
  33 + customLineChart.drawLine(point: arr2, color: UIColorWithRGB(R: 92, G: 145, B: 230))
  34 + customLineChart.drawLine(point: arr3, color: UIColorWithRGB(R: 255, G: 213, B: 79))
  35 +
  36 + self.lineChartView.addSubview(customLineChart)
  37 +
  38 + }
  39 +
  40 + override func setSelected(_ selected: Bool, animated: Bool) {
  41 + super.setSelected(selected, animated: animated)
  42 +
  43 + // Configure the view for the selected state
  44 + }
  45 +
  46 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/SceneMiddleCell.xib 0 → 100644
@@ -0,0 +1,141 @@ @@ -0,0 +1,141 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="Alignment constraints with different attributes" minToolsVersion="5.1"/>
  10 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  11 + </dependencies>
  12 + <objects>
  13 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  14 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  15 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="SceneMiddleCell" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="scoreCell" rowHeight="300" id="SCz-3L-5Yi" customClass="SceneMiddleCell" customModule="ParentAssistant" customModuleProvider="target">
  16 + <rect key="frame" x="0.0" y="0.0" width="375" height="300"/>
  17 + <autoresizingMask key="autoresizingMask"/>
  18 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="SCz-3L-5Yi" id="lE4-qW-1H8">
  19 + <rect key="frame" x="0.0" y="0.0" width="375" height="299.5"/>
  20 + <autoresizingMask key="autoresizingMask"/>
  21 + <subviews>
  22 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UP8-EA-Pvf">
  23 + <rect key="frame" x="10" y="10" width="355" height="290"/>
  24 + <subviews>
  25 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EX8-hi-C7V">
  26 + <rect key="frame" x="0.0" y="50" width="355" height="230"/>
  27 + <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  28 + </view>
  29 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Euo-rc-pzV">
  30 + <rect key="frame" x="0.0" y="5" width="355" height="40"/>
  31 + <subviews>
  32 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1ia-gC-GyQ">
  33 + <rect key="frame" x="252" y="12" width="16" height="16"/>
  34 + <color key="backgroundColor" red="0.50588235290000005" green="0.78039215689999997" blue="0.51764705879999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  35 + <constraints>
  36 + <constraint firstAttribute="width" constant="16" id="OGE-CM-kr0"/>
  37 + <constraint firstAttribute="height" constant="16" id="ybN-Ay-abn"/>
  38 + </constraints>
  39 + <userDefinedRuntimeAttributes>
  40 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  41 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  42 + <integer key="value" value="8"/>
  43 + </userDefinedRuntimeAttribute>
  44 + </userDefinedRuntimeAttributes>
  45 + </view>
  46 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="平均得分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Pb-7D-okQ">
  47 + <rect key="frame" x="147" y="11" width="62" height="18"/>
  48 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  49 + <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  50 + <nil key="highlightedColor"/>
  51 + </label>
  52 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7No-Wu-DNk">
  53 + <rect key="frame" x="18" y="12" width="16" height="16"/>
  54 + <color key="backgroundColor" red="0.36078431370000003" green="0.56862745100000001" blue="0.90196078430000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  55 + <constraints>
  56 + <constraint firstAttribute="width" constant="16" id="1v7-Fq-dhJ"/>
  57 + <constraint firstAttribute="height" constant="16" id="j3G-CV-cQU"/>
  58 + </constraints>
  59 + <userDefinedRuntimeAttributes>
  60 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  61 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  62 + <integer key="value" value="8"/>
  63 + </userDefinedRuntimeAttribute>
  64 + </userDefinedRuntimeAttributes>
  65 + </view>
  66 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="最高得分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oym-ug-AUc">
  67 + <rect key="frame" x="273" y="11" width="62" height="18"/>
  68 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  69 + <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  70 + <nil key="highlightedColor"/>
  71 + </label>
  72 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="whS-eY-diJ">
  73 + <rect key="frame" x="126" y="12" width="16" height="16"/>
  74 + <color key="backgroundColor" red="1" green="0.83529411760000005" blue="0.30980392159999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  75 + <constraints>
  76 + <constraint firstAttribute="width" constant="16" id="W3M-Rf-uK4"/>
  77 + <constraint firstAttribute="height" constant="16" id="qWL-wF-HzR"/>
  78 + </constraints>
  79 + <userDefinedRuntimeAttributes>
  80 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  81 + <integer key="value" value="8"/>
  82 + </userDefinedRuntimeAttribute>
  83 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  84 + </userDefinedRuntimeAttributes>
  85 + </view>
  86 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="个人得分" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5sJ-BL-vz3">
  87 + <rect key="frame" x="39" y="11" width="62" height="18"/>
  88 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  89 + <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  90 + <nil key="highlightedColor"/>
  91 + </label>
  92 + </subviews>
  93 + <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  94 + <constraints>
  95 + <constraint firstItem="whS-eY-diJ" firstAttribute="top" secondItem="Euo-rc-pzV" secondAttribute="top" constant="12" id="DDH-fB-0Wu"/>
  96 + <constraint firstItem="2Pb-7D-okQ" firstAttribute="leading" secondItem="whS-eY-diJ" secondAttribute="trailing" constant="5" id="Ggl-N4-j0H"/>
  97 + <constraint firstItem="oym-ug-AUc" firstAttribute="centerY" secondItem="Euo-rc-pzV" secondAttribute="centerY" id="HeH-tk-ZAL"/>
  98 + <constraint firstItem="5sJ-BL-vz3" firstAttribute="centerX" secondItem="Euo-rc-pzV" secondAttribute="leading" constant="70" id="IKy-Ki-yAg"/>
  99 + <constraint firstItem="oym-ug-AUc" firstAttribute="trailing" secondItem="Euo-rc-pzV" secondAttribute="trailing" constant="-20" id="P0c-ce-bzr"/>
  100 + <constraint firstItem="1ia-gC-GyQ" firstAttribute="top" secondItem="Euo-rc-pzV" secondAttribute="top" constant="12" id="RDp-eP-AgX"/>
  101 + <constraint firstItem="7No-Wu-DNk" firstAttribute="top" secondItem="Euo-rc-pzV" secondAttribute="top" constant="12" id="RZV-mb-xlD"/>
  102 + <constraint firstAttribute="height" constant="40" id="X1I-Qv-Sw7"/>
  103 + <constraint firstItem="oym-ug-AUc" firstAttribute="leading" secondItem="1ia-gC-GyQ" secondAttribute="trailing" constant="5" id="mS8-br-PbB"/>
  104 + <constraint firstItem="2Pb-7D-okQ" firstAttribute="centerY" secondItem="Euo-rc-pzV" secondAttribute="centerY" id="n4y-2G-IeG"/>
  105 + <constraint firstItem="5sJ-BL-vz3" firstAttribute="centerY" secondItem="Euo-rc-pzV" secondAttribute="centerY" id="o6r-B8-Nyw"/>
  106 + <constraint firstItem="5sJ-BL-vz3" firstAttribute="leading" secondItem="7No-Wu-DNk" secondAttribute="trailing" constant="5" id="rgq-70-uKW"/>
  107 + <constraint firstItem="2Pb-7D-okQ" firstAttribute="centerX" secondItem="Euo-rc-pzV" secondAttribute="centerX" id="sIn-9K-UHA"/>
  108 + </constraints>
  109 + </view>
  110 + </subviews>
  111 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  112 + <constraints>
  113 + <constraint firstItem="Euo-rc-pzV" firstAttribute="top" secondItem="UP8-EA-Pvf" secondAttribute="top" constant="5" id="2B8-aB-sus"/>
  114 + <constraint firstAttribute="trailing" secondItem="Euo-rc-pzV" secondAttribute="trailing" id="2xB-Rs-xQX"/>
  115 + <constraint firstItem="EX8-hi-C7V" firstAttribute="top" secondItem="Euo-rc-pzV" secondAttribute="bottom" constant="5" id="7BK-xg-bOp"/>
  116 + <constraint firstItem="Euo-rc-pzV" firstAttribute="leading" secondItem="UP8-EA-Pvf" secondAttribute="leading" id="8rG-CN-KBe"/>
  117 + <constraint firstAttribute="trailing" secondItem="EX8-hi-C7V" secondAttribute="trailing" id="GO7-C2-oIL"/>
  118 + <constraint firstAttribute="bottom" secondItem="EX8-hi-C7V" secondAttribute="bottom" constant="10" id="IQA-zR-tk4"/>
  119 + <constraint firstItem="EX8-hi-C7V" firstAttribute="leading" secondItem="UP8-EA-Pvf" secondAttribute="leading" id="nGt-3M-965"/>
  120 + </constraints>
  121 + <userDefinedRuntimeAttributes>
  122 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  123 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  124 + <integer key="value" value="5"/>
  125 + </userDefinedRuntimeAttribute>
  126 + </userDefinedRuntimeAttributes>
  127 + </view>
  128 + </subviews>
  129 + <constraints>
  130 + <constraint firstAttribute="trailing" secondItem="UP8-EA-Pvf" secondAttribute="trailing" constant="10" id="7Wz-Op-hRa"/>
  131 + <constraint firstItem="UP8-EA-Pvf" firstAttribute="top" secondItem="lE4-qW-1H8" secondAttribute="top" constant="10" id="HIh-1Y-xd9"/>
  132 + <constraint firstItem="UP8-EA-Pvf" firstAttribute="leading" secondItem="lE4-qW-1H8" secondAttribute="leading" constant="10" id="RXv-YI-h6k"/>
  133 + <constraint firstAttribute="bottom" secondItem="UP8-EA-Pvf" secondAttribute="bottom" id="hhO-9X-73m"/>
  134 + </constraints>
  135 + </tableViewCellContentView>
  136 + <connections>
  137 + <outlet property="lineChartView" destination="EX8-hi-C7V" id="vtG-wv-efK"/>
  138 + </connections>
  139 + </tableViewCell>
  140 + </objects>
  141 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/SceneTopCell.swift 0 → 100644
@@ -0,0 +1,30 @@ @@ -0,0 +1,30 @@
  1 +//
  2 +// SceneTopCell.swift
  3 +// ParentAssistant
  4 +//
  5 +// Created by Cao yang on 2018/3/24.
  6 +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.
  7 +//
  8 +
  9 +import UIKit
  10 +
  11 +class SceneTopCell: UITableViewCell {
  12 +
  13 + @IBOutlet weak var scoreLab: UILabel! //得分
  14 + @IBOutlet weak var GPALab: UILabel! //绩点
  15 + @IBOutlet weak var LevelLab: UILabel! //等级
  16 + @IBOutlet weak var SuggestLab: UITextView! //指导意见
  17 + override func awakeFromNib() {
  18 + super.awakeFromNib()
  19 + self.backgroundColor = backgroundColor
  20 +
  21 + // Initialization code
  22 + }
  23 +
  24 + override func setSelected(_ selected: Bool, animated: Bool) {
  25 + super.setSelected(selected, animated: animated)
  26 +
  27 + // Configure the view for the selected state
  28 + }
  29 +
  30 +}
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ReportView/SceneTopCell.xib 0 → 100644
@@ -0,0 +1,121 @@ @@ -0,0 +1,121 @@
  1 +<?xml version="1.0" encoding="UTF-8"?>
  2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
  3 + <device id="retina4_7" orientation="portrait">
  4 + <adaptation id="fullscreen"/>
  5 + </device>
  6 + <dependencies>
  7 + <deployment identifier="iOS"/>
  8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
  9 + <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
  10 + <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
  11 + </dependencies>
  12 + <objects>
  13 + <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
  14 + <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
  15 + <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="SceneTopCell" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="cultureCell" rowHeight="250" id="es3-uY-Vx8" customClass="SceneTopCell" customModule="ParentAssistant" customModuleProvider="target">
  16 + <rect key="frame" x="0.0" y="0.0" width="375" height="250"/>
  17 + <autoresizingMask key="autoresizingMask"/>
  18 + <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="es3-uY-Vx8" id="os2-cK-xHO">
  19 + <rect key="frame" x="0.0" y="0.0" width="375" height="249.5"/>
  20 + <autoresizingMask key="autoresizingMask"/>
  21 + <subviews>
  22 + <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Qt1-rh-kBe">
  23 + <rect key="frame" x="10" y="10" width="355" height="240"/>
  24 + <subviews>
  25 + <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="report_teacher" translatesAutoresizingMaskIntoConstraints="NO" id="0kV-Bn-EIO">
  26 + <rect key="frame" x="20" y="20" width="127" height="192"/>
  27 + <constraints>
  28 + <constraint firstAttribute="width" secondItem="0kV-Bn-EIO" secondAttribute="height" multiplier="127:192" id="CuM-VD-Mgs"/>
  29 + <constraint firstAttribute="width" constant="127" id="LeU-PR-uoB"/>
  30 + <constraint firstAttribute="height" constant="192" id="iMM-Kj-jq5"/>
  31 + </constraints>
  32 + </imageView>
  33 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="文明礼仪" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fRm-iU-0FL">
  34 + <rect key="frame" x="167" y="15" width="73.5" height="21.5"/>
  35 + <fontDescription key="fontDescription" type="system" pointSize="18"/>
  36 + <color key="textColor" red="0.08235294118" green="0.39607843139999999" blue="0.75294117650000003" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  37 + <nil key="highlightedColor"/>
  38 + </label>
  39 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="得分: 85 分" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YFd-xW-bAd">
  40 + <rect key="frame" x="167" y="45" width="91.5" height="21.5"/>
  41 + <fontDescription key="fontDescription" type="system" pointSize="18"/>
  42 + <color key="textColor" red="0.45098039220000002" green="0.70980392160000005" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  43 + <nil key="highlightedColor"/>
  44 + </label>
  45 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="绩点: 4.3 分" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Mdz-WW-0e2">
  46 + <rect key="frame" x="167" y="76.5" width="95.5" height="21.5"/>
  47 + <fontDescription key="fontDescription" type="system" pointSize="18"/>
  48 + <color key="textColor" red="0.45098039220000002" green="0.70980392160000005" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  49 + <nil key="highlightedColor"/>
  50 + </label>
  51 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="等级: A-" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q56-f5-Ki6">
  52 + <rect key="frame" x="167" y="108" width="66" height="21.5"/>
  53 + <fontDescription key="fontDescription" type="system" pointSize="18"/>
  54 + <color key="textColor" red="0.45098039220000002" green="0.70980392160000005" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  55 + <nil key="highlightedColor"/>
  56 + </label>
  57 + <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="指导意见:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GHz-Xc-z3v">
  58 + <rect key="frame" x="167" y="149.5" width="65.5" height="18"/>
  59 + <fontDescription key="fontDescription" type="system" pointSize="15"/>
  60 + <color key="textColor" red="0.08235294118" green="0.30980392159999998" blue="0.70196078429999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  61 + <nil key="highlightedColor"/>
  62 + </label>
  63 + <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" text="与上次相比有进步,保持文明礼仪,注意行为规范" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="DW2-7f-liU">
  64 + <rect key="frame" x="162" y="167.5" width="183" height="62.5"/>
  65 + <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
  66 + <color key="textColor" red="0.08235294118" green="0.30980392159999998" blue="0.70196078429999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  67 + <fontDescription key="fontDescription" type="system" pointSize="12"/>
  68 + <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>
  69 + </textView>
  70 + </subviews>
  71 + <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
  72 + <constraints>
  73 + <constraint firstItem="Mdz-WW-0e2" firstAttribute="top" secondItem="YFd-xW-bAd" secondAttribute="bottom" constant="10" id="1aS-1q-3rl"/>
  74 + <constraint firstItem="YFd-xW-bAd" firstAttribute="leading" secondItem="fRm-iU-0FL" secondAttribute="leading" id="Btj-Lq-PNu"/>
  75 + <constraint firstItem="GHz-Xc-z3v" firstAttribute="leading" secondItem="fRm-iU-0FL" secondAttribute="leading" id="DPe-Lj-kLt"/>
  76 + <constraint firstItem="0kV-Bn-EIO" firstAttribute="leading" secondItem="Qt1-rh-kBe" secondAttribute="leading" constant="20" id="ENN-nr-sIL"/>
  77 + <constraint firstItem="YFd-xW-bAd" firstAttribute="top" secondItem="fRm-iU-0FL" secondAttribute="top" constant="30" id="HWr-gR-6xL"/>
  78 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Mdz-WW-0e2" secondAttribute="trailing" constant="20" symbolic="YES" id="QVc-T2-fp7"/>
  79 + <constraint firstAttribute="bottom" secondItem="DW2-7f-liU" secondAttribute="bottom" constant="10" id="R8u-sF-q0I"/>
  80 + <constraint firstItem="0kV-Bn-EIO" firstAttribute="top" secondItem="Qt1-rh-kBe" secondAttribute="top" constant="20" id="T56-gW-qDD"/>
  81 + <constraint firstAttribute="trailing" secondItem="DW2-7f-liU" secondAttribute="trailing" constant="10" id="UX4-8h-gEJ"/>
  82 + <constraint firstItem="fRm-iU-0FL" firstAttribute="top" secondItem="Qt1-rh-kBe" secondAttribute="top" constant="15" id="V6B-9A-Zqc"/>
  83 + <constraint firstItem="DW2-7f-liU" firstAttribute="leading" secondItem="0kV-Bn-EIO" secondAttribute="trailing" constant="15" id="Yjl-oR-nri"/>
  84 + <constraint firstItem="fRm-iU-0FL" firstAttribute="leading" secondItem="0kV-Bn-EIO" secondAttribute="trailing" constant="20" id="ZSm-YT-5GG"/>
  85 + <constraint firstItem="Q56-f5-Ki6" firstAttribute="top" secondItem="Mdz-WW-0e2" secondAttribute="bottom" constant="10" id="cjY-7W-lco"/>
  86 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="fRm-iU-0FL" secondAttribute="trailing" constant="20" symbolic="YES" id="doC-AH-F5v"/>
  87 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Q56-f5-Ki6" secondAttribute="trailing" constant="20" symbolic="YES" id="hze-Hn-z46"/>
  88 + <constraint firstItem="Mdz-WW-0e2" firstAttribute="leading" secondItem="fRm-iU-0FL" secondAttribute="leading" id="j5J-0f-iTJ"/>
  89 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="GHz-Xc-z3v" secondAttribute="trailing" constant="20" symbolic="YES" id="law-iT-HfB"/>
  90 + <constraint firstItem="GHz-Xc-z3v" firstAttribute="top" secondItem="Q56-f5-Ki6" secondAttribute="bottom" constant="20" id="mce-jv-MW6"/>
  91 + <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="YFd-xW-bAd" secondAttribute="trailing" constant="20" symbolic="YES" id="q17-sT-ycf"/>
  92 + <constraint firstItem="Q56-f5-Ki6" firstAttribute="leading" secondItem="fRm-iU-0FL" secondAttribute="leading" id="rwH-Co-iSg"/>
  93 + <constraint firstItem="DW2-7f-liU" firstAttribute="top" secondItem="GHz-Xc-z3v" secondAttribute="bottom" id="uwQ-WS-I1G"/>
  94 + </constraints>
  95 + <userDefinedRuntimeAttributes>
  96 + <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>
  97 + <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
  98 + <integer key="value" value="5"/>
  99 + </userDefinedRuntimeAttribute>
  100 + </userDefinedRuntimeAttributes>
  101 + </view>
  102 + </subviews>
  103 + <constraints>
  104 + <constraint firstItem="Qt1-rh-kBe" firstAttribute="leading" secondItem="os2-cK-xHO" secondAttribute="leading" constant="10" id="4YI-b6-zrW"/>
  105 + <constraint firstAttribute="bottom" secondItem="Qt1-rh-kBe" secondAttribute="bottom" id="TVS-33-w4d"/>
  106 + <constraint firstItem="Qt1-rh-kBe" firstAttribute="top" secondItem="os2-cK-xHO" secondAttribute="top" constant="10" id="bUx-1r-YOU"/>
  107 + <constraint firstAttribute="trailing" secondItem="Qt1-rh-kBe" secondAttribute="trailing" constant="10" id="mRc-Sc-0r4"/>
  108 + </constraints>
  109 + </tableViewCellContentView>
  110 + <connections>
  111 + <outlet property="GPALab" destination="Mdz-WW-0e2" id="Khx-nI-Qdk"/>
  112 + <outlet property="LevelLab" destination="Q56-f5-Ki6" id="ft6-rV-kEZ"/>
  113 + <outlet property="SuggestLab" destination="DW2-7f-liU" id="5nz-ME-pJd"/>
  114 + <outlet property="scoreLab" destination="YFd-xW-bAd" id="1Bz-7b-hTY"/>
  115 + </connections>
  116 + </tableViewCell>
  117 + </objects>
  118 + <resources>
  119 + <image name="report_teacher" width="130" height="155"/>
  120 + </resources>
  121 +</document>
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/SceneDownCell.swift
@@ -1,32 +0,0 @@ @@ -1,32 +0,0 @@
1 -//  
2 -// SceneDownCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/3/24.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class SceneDownCell: UITableViewCell {  
12 -  
13 - @IBOutlet weak var evaluateLab: UILabel!  
14 - @IBOutlet weak var sceneLab: UILabel!  
15 - @IBOutlet weak var scoreLab: UILabel!  
16 - @IBOutlet weak var nameLab: UILabel!  
17 - @IBOutlet weak var classLab: UILabel!  
18 - @IBOutlet weak var dateLab: UILabel!  
19 - override func awakeFromNib() {  
20 - super.awakeFromNib()  
21 - self.backgroundColor = backgroundColor  
22 -  
23 - // Initialization code  
24 - }  
25 -  
26 - override func setSelected(_ selected: Bool, animated: Bool) {  
27 - super.setSelected(selected, animated: animated)  
28 -  
29 - // Configure the view for the selected state  
30 - }  
31 -  
32 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/SceneDownCell.xib
@@ -1,106 +0,0 @@ @@ -1,106 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
10 - </dependencies>  
11 - <objects>  
12 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
13 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
14 - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="SceneDownCell" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="disciplineCell" rowHeight="90" id="yXZ-ow-IC3" customClass="SceneDownCell" customModule="ParentAssistant" customModuleProvider="target">  
15 - <rect key="frame" x="0.0" y="0.0" width="375" height="90"/>  
16 - <autoresizingMask key="autoresizingMask"/>  
17 - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="yXZ-ow-IC3" id="YfX-AG-wY3">  
18 - <rect key="frame" x="0.0" y="0.0" width="375" height="89.5"/>  
19 - <autoresizingMask key="autoresizingMask"/>  
20 - <subviews>  
21 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ijR-w3-uD6">  
22 - <rect key="frame" x="10" y="10" width="355" height="80"/>  
23 - <subviews>  
24 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="优秀" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="QUJ-gc-N7e">  
25 - <rect key="frame" x="10" y="10" width="31" height="18"/>  
26 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
27 - <color key="textColor" red="0.29803921570000003" green="0.68627450980000004" blue="0.31372549020000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
28 - <nil key="highlightedColor"/>  
29 - </label>  
30 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="+4" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="U2C-RA-pbc">  
31 - <rect key="frame" x="326" y="10" width="19" height="18"/>  
32 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
33 - <color key="textColor" red="0.29803921570000003" green="0.68627450980000004" blue="0.31372549020000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
34 - <nil key="highlightedColor"/>  
35 - </label>  
36 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="沈小东" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="OHP-XR-hUS">  
37 - <rect key="frame" x="10" y="38" width="37" height="14.5"/>  
38 - <fontDescription key="fontDescription" type="system" pointSize="12"/>  
39 - <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
40 - <nil key="highlightedColor"/>  
41 - </label>  
42 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="二年(2)班" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="PXd-5K-3iP">  
43 - <rect key="frame" x="77" y="38.5" width="53.5" height="14.5"/>  
44 - <fontDescription key="fontDescription" type="system" pointSize="12"/>  
45 - <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
46 - <nil key="highlightedColor"/>  
47 - </label>  
48 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="2018-03-12 17:30" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="zcf-Ab-jNR">  
49 - <rect key="frame" x="243" y="38.5" width="102" height="14.5"/>  
50 - <fontDescription key="fontDescription" type="system" pointSize="12"/>  
51 - <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
52 - <nil key="highlightedColor"/>  
53 - </label>  
54 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="课堂纪律-上课发言" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gew-4Q-R6z">  
55 - <rect key="frame" x="113" y="10" width="129.5" height="18"/>  
56 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
57 - <color key="textColor" red="0.29803921570000003" green="0.68627450980000004" blue="0.31372549020000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
58 - <nil key="highlightedColor"/>  
59 - </label>  
60 - </subviews>  
61 - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
62 - <constraints>  
63 - <constraint firstItem="PXd-5K-3iP" firstAttribute="leading" secondItem="OHP-XR-hUS" secondAttribute="trailing" constant="30" id="6dQ-64-faJ"/>  
64 - <constraint firstItem="U2C-RA-pbc" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="ijR-w3-uD6" secondAttribute="leading" constant="20" symbolic="YES" id="7IH-q7-vpb"/>  
65 - <constraint firstItem="zcf-Ab-jNR" firstAttribute="leading" relation="greaterThanOrEqual" secondItem="ijR-w3-uD6" secondAttribute="leading" constant="20" symbolic="YES" id="Bcz-aG-PZa"/>  
66 - <constraint firstItem="zcf-Ab-jNR" firstAttribute="centerY" secondItem="OHP-XR-hUS" secondAttribute="centerY" id="Bjn-c9-mdA"/>  
67 - <constraint firstItem="QUJ-gc-N7e" firstAttribute="leading" secondItem="ijR-w3-uD6" secondAttribute="leading" constant="10" id="JVL-zS-W4R"/>  
68 - <constraint firstItem="gew-4Q-R6z" firstAttribute="top" secondItem="ijR-w3-uD6" secondAttribute="top" constant="10" id="NPx-pl-hQ2"/>  
69 - <constraint firstItem="zcf-Ab-jNR" firstAttribute="trailing" secondItem="ijR-w3-uD6" secondAttribute="trailing" constant="-10" id="RQ3-NW-FxE"/>  
70 - <constraint firstItem="PXd-5K-3iP" firstAttribute="centerY" secondItem="OHP-XR-hUS" secondAttribute="centerY" id="UHP-mV-VuC"/>  
71 - <constraint firstItem="OHP-XR-hUS" firstAttribute="top" secondItem="QUJ-gc-N7e" secondAttribute="bottom" constant="10" id="VfS-65-1o8"/>  
72 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="PXd-5K-3iP" secondAttribute="trailing" constant="20" symbolic="YES" id="aW1-2W-Fd9"/>  
73 - <constraint firstItem="OHP-XR-hUS" firstAttribute="leading" secondItem="ijR-w3-uD6" secondAttribute="leading" constant="10" id="bCD-sf-qpt"/>  
74 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="QUJ-gc-N7e" secondAttribute="trailing" constant="20" symbolic="YES" id="d6V-ef-cfw"/>  
75 - <constraint firstItem="gew-4Q-R6z" firstAttribute="centerX" secondItem="ijR-w3-uD6" secondAttribute="centerX" id="dCK-TC-rRT"/>  
76 - <constraint firstItem="QUJ-gc-N7e" firstAttribute="top" secondItem="ijR-w3-uD6" secondAttribute="top" constant="10" id="lLs-Pu-CfK"/>  
77 - <constraint firstItem="U2C-RA-pbc" firstAttribute="centerY" secondItem="gew-4Q-R6z" secondAttribute="centerY" id="nqz-48-RAx"/>  
78 - <constraint firstItem="U2C-RA-pbc" firstAttribute="trailing" secondItem="ijR-w3-uD6" secondAttribute="trailing" constant="-10" id="of7-xc-r5p"/>  
79 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="OHP-XR-hUS" secondAttribute="trailing" constant="20" symbolic="YES" id="qmg-TJ-d1E"/>  
80 - </constraints>  
81 - <userDefinedRuntimeAttributes>  
82 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
83 - <integer key="value" value="5"/>  
84 - </userDefinedRuntimeAttribute>  
85 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
86 - </userDefinedRuntimeAttributes>  
87 - </view>  
88 - </subviews>  
89 - <constraints>  
90 - <constraint firstAttribute="bottom" secondItem="ijR-w3-uD6" secondAttribute="bottom" id="HUg-MG-jKb"/>  
91 - <constraint firstItem="ijR-w3-uD6" firstAttribute="top" secondItem="YfX-AG-wY3" secondAttribute="top" constant="10" id="I6a-Rf-ww6"/>  
92 - <constraint firstAttribute="trailing" secondItem="ijR-w3-uD6" secondAttribute="trailing" constant="10" id="aMI-k8-Nnt"/>  
93 - <constraint firstItem="ijR-w3-uD6" firstAttribute="leading" secondItem="YfX-AG-wY3" secondAttribute="leading" constant="10" id="kgA-CM-Dp5"/>  
94 - </constraints>  
95 - </tableViewCellContentView>  
96 - <connections>  
97 - <outlet property="classLab" destination="PXd-5K-3iP" id="8VY-oW-yQn"/>  
98 - <outlet property="dateLab" destination="zcf-Ab-jNR" id="VWU-ck-hFZ"/>  
99 - <outlet property="evaluateLab" destination="QUJ-gc-N7e" id="C1F-RQ-29g"/>  
100 - <outlet property="nameLab" destination="OHP-XR-hUS" id="jmA-n9-VSG"/>  
101 - <outlet property="sceneLab" destination="gew-4Q-R6z" id="WSD-kE-30c"/>  
102 - <outlet property="scoreLab" destination="U2C-RA-pbc" id="9hL-rw-Sa8"/>  
103 - </connections>  
104 - </tableViewCell>  
105 - </objects>  
106 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/SceneMiddleCell.swift
@@ -1,46 +0,0 @@ @@ -1,46 +0,0 @@
1 -//  
2 -// SceneMiddleCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/3/24.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class SceneMiddleCell: UITableViewCell {  
12 -  
13 - @IBOutlet weak var lineChartView: UIView!  
14 -  
15 - var customLineChart = LineChartView()  
16 - override func awakeFromNib() {  
17 - super.awakeFromNib()  
18 - self.backgroundColor = backgroundColor  
19 -  
20 - // Initialization code  
21 - let rect = self.lineChartView.bounds  
22 - customLineChart = LineChartView.init(frame: rect)  
23 - let customXLabArr = ["03/12","03/13","03/14","03/15","03/16"]  
24 -  
25 - customLineChart.drawUI(xLableArr:customXLabArr)  
26 -  
27 - let arr1 = [5,4,5,5,5]  
28 - let arr2 = [4,4,2,1,3]  
29 - let arr3 = [3,3,4,3,4]  
30 -  
31 -  
32 - customLineChart.drawLine(point: arr1, color: UIColorWithRGB(R: 129, G: 199, B: 132))  
33 - customLineChart.drawLine(point: arr2, color: UIColorWithRGB(R: 92, G: 145, B: 230))  
34 - customLineChart.drawLine(point: arr3, color: UIColorWithRGB(R: 255, G: 213, B: 79))  
35 -  
36 - self.lineChartView.addSubview(customLineChart)  
37 -  
38 - }  
39 -  
40 - override func setSelected(_ selected: Bool, animated: Bool) {  
41 - super.setSelected(selected, animated: animated)  
42 -  
43 - // Configure the view for the selected state  
44 - }  
45 -  
46 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/SceneMiddleCell.xib
@@ -1,141 +0,0 @@ @@ -1,141 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="Alignment constraints with different attributes" minToolsVersion="5.1"/>  
10 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
11 - </dependencies>  
12 - <objects>  
13 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
14 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
15 - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="SceneMiddleCell" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="scoreCell" rowHeight="300" id="SCz-3L-5Yi" customClass="SceneMiddleCell" customModule="ParentAssistant" customModuleProvider="target">  
16 - <rect key="frame" x="0.0" y="0.0" width="375" height="300"/>  
17 - <autoresizingMask key="autoresizingMask"/>  
18 - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="SCz-3L-5Yi" id="lE4-qW-1H8">  
19 - <rect key="frame" x="0.0" y="0.0" width="375" height="299.5"/>  
20 - <autoresizingMask key="autoresizingMask"/>  
21 - <subviews>  
22 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="UP8-EA-Pvf">  
23 - <rect key="frame" x="10" y="10" width="355" height="290"/>  
24 - <subviews>  
25 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="EX8-hi-C7V">  
26 - <rect key="frame" x="0.0" y="50" width="355" height="230"/>  
27 - <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
28 - </view>  
29 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Euo-rc-pzV">  
30 - <rect key="frame" x="0.0" y="5" width="355" height="40"/>  
31 - <subviews>  
32 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1ia-gC-GyQ">  
33 - <rect key="frame" x="252" y="12" width="16" height="16"/>  
34 - <color key="backgroundColor" red="0.50588235290000005" green="0.78039215689999997" blue="0.51764705879999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
35 - <constraints>  
36 - <constraint firstAttribute="width" constant="16" id="OGE-CM-kr0"/>  
37 - <constraint firstAttribute="height" constant="16" id="ybN-Ay-abn"/>  
38 - </constraints>  
39 - <userDefinedRuntimeAttributes>  
40 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
41 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
42 - <integer key="value" value="8"/>  
43 - </userDefinedRuntimeAttribute>  
44 - </userDefinedRuntimeAttributes>  
45 - </view>  
46 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="平均得分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="2Pb-7D-okQ">  
47 - <rect key="frame" x="147" y="11" width="62" height="18"/>  
48 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
49 - <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
50 - <nil key="highlightedColor"/>  
51 - </label>  
52 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7No-Wu-DNk">  
53 - <rect key="frame" x="18" y="12" width="16" height="16"/>  
54 - <color key="backgroundColor" red="0.36078431370000003" green="0.56862745100000001" blue="0.90196078430000004" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
55 - <constraints>  
56 - <constraint firstAttribute="width" constant="16" id="1v7-Fq-dhJ"/>  
57 - <constraint firstAttribute="height" constant="16" id="j3G-CV-cQU"/>  
58 - </constraints>  
59 - <userDefinedRuntimeAttributes>  
60 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
61 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
62 - <integer key="value" value="8"/>  
63 - </userDefinedRuntimeAttribute>  
64 - </userDefinedRuntimeAttributes>  
65 - </view>  
66 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="最高得分" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="oym-ug-AUc">  
67 - <rect key="frame" x="273" y="11" width="62" height="18"/>  
68 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
69 - <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
70 - <nil key="highlightedColor"/>  
71 - </label>  
72 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="whS-eY-diJ">  
73 - <rect key="frame" x="126" y="12" width="16" height="16"/>  
74 - <color key="backgroundColor" red="1" green="0.83529411760000005" blue="0.30980392159999998" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
75 - <constraints>  
76 - <constraint firstAttribute="width" constant="16" id="W3M-Rf-uK4"/>  
77 - <constraint firstAttribute="height" constant="16" id="qWL-wF-HzR"/>  
78 - </constraints>  
79 - <userDefinedRuntimeAttributes>  
80 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
81 - <integer key="value" value="8"/>  
82 - </userDefinedRuntimeAttribute>  
83 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
84 - </userDefinedRuntimeAttributes>  
85 - </view>  
86 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="个人得分" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="5sJ-BL-vz3">  
87 - <rect key="frame" x="39" y="11" width="62" height="18"/>  
88 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
89 - <color key="textColor" red="0.46666666670000001" green="0.46666666670000001" blue="0.46666666670000001" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
90 - <nil key="highlightedColor"/>  
91 - </label>  
92 - </subviews>  
93 - <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
94 - <constraints>  
95 - <constraint firstItem="whS-eY-diJ" firstAttribute="top" secondItem="Euo-rc-pzV" secondAttribute="top" constant="12" id="DDH-fB-0Wu"/>  
96 - <constraint firstItem="2Pb-7D-okQ" firstAttribute="leading" secondItem="whS-eY-diJ" secondAttribute="trailing" constant="5" id="Ggl-N4-j0H"/>  
97 - <constraint firstItem="oym-ug-AUc" firstAttribute="centerY" secondItem="Euo-rc-pzV" secondAttribute="centerY" id="HeH-tk-ZAL"/>  
98 - <constraint firstItem="5sJ-BL-vz3" firstAttribute="centerX" secondItem="Euo-rc-pzV" secondAttribute="leading" constant="70" id="IKy-Ki-yAg"/>  
99 - <constraint firstItem="oym-ug-AUc" firstAttribute="trailing" secondItem="Euo-rc-pzV" secondAttribute="trailing" constant="-20" id="P0c-ce-bzr"/>  
100 - <constraint firstItem="1ia-gC-GyQ" firstAttribute="top" secondItem="Euo-rc-pzV" secondAttribute="top" constant="12" id="RDp-eP-AgX"/>  
101 - <constraint firstItem="7No-Wu-DNk" firstAttribute="top" secondItem="Euo-rc-pzV" secondAttribute="top" constant="12" id="RZV-mb-xlD"/>  
102 - <constraint firstAttribute="height" constant="40" id="X1I-Qv-Sw7"/>  
103 - <constraint firstItem="oym-ug-AUc" firstAttribute="leading" secondItem="1ia-gC-GyQ" secondAttribute="trailing" constant="5" id="mS8-br-PbB"/>  
104 - <constraint firstItem="2Pb-7D-okQ" firstAttribute="centerY" secondItem="Euo-rc-pzV" secondAttribute="centerY" id="n4y-2G-IeG"/>  
105 - <constraint firstItem="5sJ-BL-vz3" firstAttribute="centerY" secondItem="Euo-rc-pzV" secondAttribute="centerY" id="o6r-B8-Nyw"/>  
106 - <constraint firstItem="5sJ-BL-vz3" firstAttribute="leading" secondItem="7No-Wu-DNk" secondAttribute="trailing" constant="5" id="rgq-70-uKW"/>  
107 - <constraint firstItem="2Pb-7D-okQ" firstAttribute="centerX" secondItem="Euo-rc-pzV" secondAttribute="centerX" id="sIn-9K-UHA"/>  
108 - </constraints>  
109 - </view>  
110 - </subviews>  
111 - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
112 - <constraints>  
113 - <constraint firstItem="Euo-rc-pzV" firstAttribute="top" secondItem="UP8-EA-Pvf" secondAttribute="top" constant="5" id="2B8-aB-sus"/>  
114 - <constraint firstAttribute="trailing" secondItem="Euo-rc-pzV" secondAttribute="trailing" id="2xB-Rs-xQX"/>  
115 - <constraint firstItem="EX8-hi-C7V" firstAttribute="top" secondItem="Euo-rc-pzV" secondAttribute="bottom" constant="5" id="7BK-xg-bOp"/>  
116 - <constraint firstItem="Euo-rc-pzV" firstAttribute="leading" secondItem="UP8-EA-Pvf" secondAttribute="leading" id="8rG-CN-KBe"/>  
117 - <constraint firstAttribute="trailing" secondItem="EX8-hi-C7V" secondAttribute="trailing" id="GO7-C2-oIL"/>  
118 - <constraint firstAttribute="bottom" secondItem="EX8-hi-C7V" secondAttribute="bottom" constant="10" id="IQA-zR-tk4"/>  
119 - <constraint firstItem="EX8-hi-C7V" firstAttribute="leading" secondItem="UP8-EA-Pvf" secondAttribute="leading" id="nGt-3M-965"/>  
120 - </constraints>  
121 - <userDefinedRuntimeAttributes>  
122 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
123 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
124 - <integer key="value" value="5"/>  
125 - </userDefinedRuntimeAttribute>  
126 - </userDefinedRuntimeAttributes>  
127 - </view>  
128 - </subviews>  
129 - <constraints>  
130 - <constraint firstAttribute="trailing" secondItem="UP8-EA-Pvf" secondAttribute="trailing" constant="10" id="7Wz-Op-hRa"/>  
131 - <constraint firstItem="UP8-EA-Pvf" firstAttribute="top" secondItem="lE4-qW-1H8" secondAttribute="top" constant="10" id="HIh-1Y-xd9"/>  
132 - <constraint firstItem="UP8-EA-Pvf" firstAttribute="leading" secondItem="lE4-qW-1H8" secondAttribute="leading" constant="10" id="RXv-YI-h6k"/>  
133 - <constraint firstAttribute="bottom" secondItem="UP8-EA-Pvf" secondAttribute="bottom" id="hhO-9X-73m"/>  
134 - </constraints>  
135 - </tableViewCellContentView>  
136 - <connections>  
137 - <outlet property="lineChartView" destination="EX8-hi-C7V" id="vtG-wv-efK"/>  
138 - </connections>  
139 - </tableViewCell>  
140 - </objects>  
141 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/SceneTopCell.swift
@@ -1,30 +0,0 @@ @@ -1,30 +0,0 @@
1 -//  
2 -// SceneTopCell.swift  
3 -// ParentAssistant  
4 -//  
5 -// Created by Cao yang on 2018/3/24.  
6 -// Copyright © 2018年 HANGZHOUTEAM. All rights reserved.  
7 -//  
8 -  
9 -import UIKit  
10 -  
11 -class SceneTopCell: UITableViewCell {  
12 -  
13 - @IBOutlet weak var scoreLab: UILabel! //得分  
14 - @IBOutlet weak var GPALab: UILabel! //绩点  
15 - @IBOutlet weak var LevelLab: UILabel! //等级  
16 - @IBOutlet weak var SuggestLab: UITextView! //指导意见  
17 - override func awakeFromNib() {  
18 - super.awakeFromNib()  
19 - self.backgroundColor = backgroundColor  
20 -  
21 - // Initialization code  
22 - }  
23 -  
24 - override func setSelected(_ selected: Bool, animated: Bool) {  
25 - super.setSelected(selected, animated: animated)  
26 -  
27 - // Configure the view for the selected state  
28 - }  
29 -  
30 -}  
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/SceneTopCell.xib
@@ -1,121 +0,0 @@ @@ -1,121 +0,0 @@
1 -<?xml version="1.0" encoding="UTF-8"?>  
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">  
3 - <device id="retina4_7" orientation="portrait">  
4 - <adaptation id="fullscreen"/>  
5 - </device>  
6 - <dependencies>  
7 - <deployment identifier="iOS"/>  
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>  
9 - <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>  
10 - <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>  
11 - </dependencies>  
12 - <objects>  
13 - <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>  
14 - <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>  
15 - <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" restorationIdentifier="SceneTopCell" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" reuseIdentifier="cultureCell" rowHeight="250" id="es3-uY-Vx8" customClass="SceneTopCell" customModule="ParentAssistant" customModuleProvider="target">  
16 - <rect key="frame" x="0.0" y="0.0" width="375" height="250"/>  
17 - <autoresizingMask key="autoresizingMask"/>  
18 - <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="es3-uY-Vx8" id="os2-cK-xHO">  
19 - <rect key="frame" x="0.0" y="0.0" width="375" height="249.5"/>  
20 - <autoresizingMask key="autoresizingMask"/>  
21 - <subviews>  
22 - <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Qt1-rh-kBe">  
23 - <rect key="frame" x="10" y="10" width="355" height="240"/>  
24 - <subviews>  
25 - <imageView userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="report_teacher" translatesAutoresizingMaskIntoConstraints="NO" id="0kV-Bn-EIO">  
26 - <rect key="frame" x="20" y="20" width="127" height="192"/>  
27 - <constraints>  
28 - <constraint firstAttribute="width" secondItem="0kV-Bn-EIO" secondAttribute="height" multiplier="127:192" id="CuM-VD-Mgs"/>  
29 - <constraint firstAttribute="width" constant="127" id="LeU-PR-uoB"/>  
30 - <constraint firstAttribute="height" constant="192" id="iMM-Kj-jq5"/>  
31 - </constraints>  
32 - </imageView>  
33 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="文明礼仪" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="fRm-iU-0FL">  
34 - <rect key="frame" x="167" y="15" width="73.5" height="21.5"/>  
35 - <fontDescription key="fontDescription" type="system" pointSize="18"/>  
36 - <color key="textColor" red="0.08235294118" green="0.39607843139999999" blue="0.75294117650000003" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
37 - <nil key="highlightedColor"/>  
38 - </label>  
39 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="得分: 85 分" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="YFd-xW-bAd">  
40 - <rect key="frame" x="167" y="45" width="91.5" height="21.5"/>  
41 - <fontDescription key="fontDescription" type="system" pointSize="18"/>  
42 - <color key="textColor" red="0.45098039220000002" green="0.70980392160000005" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
43 - <nil key="highlightedColor"/>  
44 - </label>  
45 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="绩点: 4.3 分" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontForContentSizeCategory="YES" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Mdz-WW-0e2">  
46 - <rect key="frame" x="167" y="76.5" width="95.5" height="21.5"/>  
47 - <fontDescription key="fontDescription" type="system" pointSize="18"/>  
48 - <color key="textColor" red="0.45098039220000002" green="0.70980392160000005" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
49 - <nil key="highlightedColor"/>  
50 - </label>  
51 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="等级: A-" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Q56-f5-Ki6">  
52 - <rect key="frame" x="167" y="108" width="66" height="21.5"/>  
53 - <fontDescription key="fontDescription" type="system" pointSize="18"/>  
54 - <color key="textColor" red="0.45098039220000002" green="0.70980392160000005" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
55 - <nil key="highlightedColor"/>  
56 - </label>  
57 - <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="指导意见:" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GHz-Xc-z3v">  
58 - <rect key="frame" x="167" y="149.5" width="65.5" height="18"/>  
59 - <fontDescription key="fontDescription" type="system" pointSize="15"/>  
60 - <color key="textColor" red="0.08235294118" green="0.30980392159999998" blue="0.70196078429999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
61 - <nil key="highlightedColor"/>  
62 - </label>  
63 - <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" text="与上次相比有进步,保持文明礼仪,注意行为规范" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="DW2-7f-liU">  
64 - <rect key="frame" x="162" y="167.5" width="183" height="62.5"/>  
65 - <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>  
66 - <color key="textColor" red="0.08235294118" green="0.30980392159999998" blue="0.70196078429999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
67 - <fontDescription key="fontDescription" type="system" pointSize="12"/>  
68 - <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/>  
69 - </textView>  
70 - </subviews>  
71 - <color key="backgroundColor" red="0.99999600649999998" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>  
72 - <constraints>  
73 - <constraint firstItem="Mdz-WW-0e2" firstAttribute="top" secondItem="YFd-xW-bAd" secondAttribute="bottom" constant="10" id="1aS-1q-3rl"/>  
74 - <constraint firstItem="YFd-xW-bAd" firstAttribute="leading" secondItem="fRm-iU-0FL" secondAttribute="leading" id="Btj-Lq-PNu"/>  
75 - <constraint firstItem="GHz-Xc-z3v" firstAttribute="leading" secondItem="fRm-iU-0FL" secondAttribute="leading" id="DPe-Lj-kLt"/>  
76 - <constraint firstItem="0kV-Bn-EIO" firstAttribute="leading" secondItem="Qt1-rh-kBe" secondAttribute="leading" constant="20" id="ENN-nr-sIL"/>  
77 - <constraint firstItem="YFd-xW-bAd" firstAttribute="top" secondItem="fRm-iU-0FL" secondAttribute="top" constant="30" id="HWr-gR-6xL"/>  
78 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Mdz-WW-0e2" secondAttribute="trailing" constant="20" symbolic="YES" id="QVc-T2-fp7"/>  
79 - <constraint firstAttribute="bottom" secondItem="DW2-7f-liU" secondAttribute="bottom" constant="10" id="R8u-sF-q0I"/>  
80 - <constraint firstItem="0kV-Bn-EIO" firstAttribute="top" secondItem="Qt1-rh-kBe" secondAttribute="top" constant="20" id="T56-gW-qDD"/>  
81 - <constraint firstAttribute="trailing" secondItem="DW2-7f-liU" secondAttribute="trailing" constant="10" id="UX4-8h-gEJ"/>  
82 - <constraint firstItem="fRm-iU-0FL" firstAttribute="top" secondItem="Qt1-rh-kBe" secondAttribute="top" constant="15" id="V6B-9A-Zqc"/>  
83 - <constraint firstItem="DW2-7f-liU" firstAttribute="leading" secondItem="0kV-Bn-EIO" secondAttribute="trailing" constant="15" id="Yjl-oR-nri"/>  
84 - <constraint firstItem="fRm-iU-0FL" firstAttribute="leading" secondItem="0kV-Bn-EIO" secondAttribute="trailing" constant="20" id="ZSm-YT-5GG"/>  
85 - <constraint firstItem="Q56-f5-Ki6" firstAttribute="top" secondItem="Mdz-WW-0e2" secondAttribute="bottom" constant="10" id="cjY-7W-lco"/>  
86 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="fRm-iU-0FL" secondAttribute="trailing" constant="20" symbolic="YES" id="doC-AH-F5v"/>  
87 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="Q56-f5-Ki6" secondAttribute="trailing" constant="20" symbolic="YES" id="hze-Hn-z46"/>  
88 - <constraint firstItem="Mdz-WW-0e2" firstAttribute="leading" secondItem="fRm-iU-0FL" secondAttribute="leading" id="j5J-0f-iTJ"/>  
89 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="GHz-Xc-z3v" secondAttribute="trailing" constant="20" symbolic="YES" id="law-iT-HfB"/>  
90 - <constraint firstItem="GHz-Xc-z3v" firstAttribute="top" secondItem="Q56-f5-Ki6" secondAttribute="bottom" constant="20" id="mce-jv-MW6"/>  
91 - <constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="YFd-xW-bAd" secondAttribute="trailing" constant="20" symbolic="YES" id="q17-sT-ycf"/>  
92 - <constraint firstItem="Q56-f5-Ki6" firstAttribute="leading" secondItem="fRm-iU-0FL" secondAttribute="leading" id="rwH-Co-iSg"/>  
93 - <constraint firstItem="DW2-7f-liU" firstAttribute="top" secondItem="GHz-Xc-z3v" secondAttribute="bottom" id="uwQ-WS-I1G"/>  
94 - </constraints>  
95 - <userDefinedRuntimeAttributes>  
96 - <userDefinedRuntimeAttribute type="boolean" keyPath="layer.masksToBounds" value="YES"/>  
97 - <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">  
98 - <integer key="value" value="5"/>  
99 - </userDefinedRuntimeAttribute>  
100 - </userDefinedRuntimeAttributes>  
101 - </view>  
102 - </subviews>  
103 - <constraints>  
104 - <constraint firstItem="Qt1-rh-kBe" firstAttribute="leading" secondItem="os2-cK-xHO" secondAttribute="leading" constant="10" id="4YI-b6-zrW"/>  
105 - <constraint firstAttribute="bottom" secondItem="Qt1-rh-kBe" secondAttribute="bottom" id="TVS-33-w4d"/>  
106 - <constraint firstItem="Qt1-rh-kBe" firstAttribute="top" secondItem="os2-cK-xHO" secondAttribute="top" constant="10" id="bUx-1r-YOU"/>  
107 - <constraint firstAttribute="trailing" secondItem="Qt1-rh-kBe" secondAttribute="trailing" constant="10" id="mRc-Sc-0r4"/>  
108 - </constraints>  
109 - </tableViewCellContentView>  
110 - <connections>  
111 - <outlet property="GPALab" destination="Mdz-WW-0e2" id="Khx-nI-Qdk"/>  
112 - <outlet property="LevelLab" destination="Q56-f5-Ki6" id="ft6-rV-kEZ"/>  
113 - <outlet property="SuggestLab" destination="DW2-7f-liU" id="5nz-ME-pJd"/>  
114 - <outlet property="scoreLab" destination="YFd-xW-bAd" id="1Bz-7b-hTY"/>  
115 - </connections>  
116 - </tableViewCell>  
117 - </objects>  
118 - <resources>  
119 - <image name="report_teacher" width="130" height="155"/>  
120 - </resources>  
121 -</document>  
ParentAssistant/ParentAssistant/Classes/controllers/Information/Information.storyboard
1 <?xml version="1.0" encoding="UTF-8"?> 1 <?xml version="1.0" encoding="UTF-8"?>
2 -<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> 2 +<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="14109" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
3 <device id="retina4_7" orientation="portrait"> 3 <device id="retina4_7" orientation="portrait">
4 <adaptation id="fullscreen"/> 4 <adaptation id="fullscreen"/>
5 </device> 5 </device>
6 <dependencies> 6 <dependencies>
7 <deployment identifier="iOS"/> 7 <deployment identifier="iOS"/>
8 - <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/> 8 + <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="14088"/>
9 <capability name="Safe area layout guides" minToolsVersion="9.0"/> 9 <capability name="Safe area layout guides" minToolsVersion="9.0"/>
10 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> 10 <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
11 </dependencies> 11 </dependencies>
@@ -134,7 +134,7 @@ @@ -134,7 +134,7 @@
134 </viewController> 134 </viewController>
135 <placeholder placeholderIdentifier="IBFirstResponder" id="a4a-xX-AnY" userLabel="First Responder" sceneMemberID="firstResponder"/> 135 <placeholder placeholderIdentifier="IBFirstResponder" id="a4a-xX-AnY" userLabel="First Responder" sceneMemberID="firstResponder"/>
136 </objects> 136 </objects>
137 - <point key="canvasLocation" x="88.799999999999997" y="180.35982008995504"/> 137 + <point key="canvasLocation" x="-41" y="179"/>
138 </scene> 138 </scene>
139 </scenes> 139 </scenes>
140 </document> 140 </document>
ParentAssistant/ParentAssistant/Supporting Files/Base.lproj/Main.storyboard
@@ -1038,7 +1038,7 @@ @@ -1038,7 +1038,7 @@
1038 </viewController> 1038 </viewController>
1039 <placeholder placeholderIdentifier="IBFirstResponder" id="QSf-p4-z9a" userLabel="First Responder" sceneMemberID="firstResponder"/> 1039 <placeholder placeholderIdentifier="IBFirstResponder" id="QSf-p4-z9a" userLabel="First Responder" sceneMemberID="firstResponder"/>
1040 </objects> 1040 </objects>
1041 - <point key="canvasLocation" x="1599" y="-272"/> 1041 + <point key="canvasLocation" x="1660" y="-272"/>
1042 </scene> 1042 </scene>
1043 <!--慧测慧练--> 1043 <!--慧测慧练-->
1044 <scene sceneID="uiJ-2h-Wbz"> 1044 <scene sceneID="uiJ-2h-Wbz">