Commit 839b987a96dc5ee967448591ab782f19286a729f
1 parent
a2a153f1
Exists in
parentassistant
添加请假页面
Showing
15 changed files
with
667 additions
and
1 deletions
Show diff stats
ParentAssistant/ParentAssistant.xcodeproj/project.pbxproj
... | ... | @@ -32,12 +32,19 @@ |
32 | 32 | 5993652C20528D5700C8B371 /* MainViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5993652B20528D5700C8B371 /* MainViewController.swift */; }; |
33 | 33 | 59C0A9B8205375F800A8BB5A /* SelectCityViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 59C0A9B7205375F800A8BB5A /* SelectCityViewController.swift */; }; |
34 | 34 | 9FB4F6F97960021FB4F02BBE /* Pods_ParentAssistant.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = A6EEE742C2FA920AEDF24728 /* Pods_ParentAssistant.framework */; }; |
35 | + AD198173207D9FB4009AB8B5 /* ProgramCheckViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD198172207D9FB4009AB8B5 /* ProgramCheckViewController.swift */; }; | |
36 | + AD198175207D9FC1009AB8B5 /* ProgramCardViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD198174207D9FC1009AB8B5 /* ProgramCardViewController.swift */; }; | |
37 | + AD198177207D9FF5009AB8B5 /* ProgramVacateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD198176207D9FF5009AB8B5 /* ProgramVacateViewController.swift */; }; | |
35 | 38 | AD24AA202065FBAF00ECA428 /* SceneTopCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD24AA1F2065FBAF00ECA428 /* SceneTopCell.swift */; }; |
36 | 39 | AD24AA222065FBC000ECA428 /* SceneMiddleCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD24AA212065FBC000ECA428 /* SceneMiddleCell.swift */; }; |
37 | 40 | AD24AA242065FBD100ECA428 /* SceneDownCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD24AA232065FBD100ECA428 /* SceneDownCell.swift */; }; |
38 | 41 | AD34D11A2064C79D00989F8D /* MoralDetailCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD34D1192064C79D00989F8D /* MoralDetailCell.swift */; }; |
39 | 42 | AD34D11C2064C7AE00989F8D /* EducationDetailCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD34D11B2064C7AE00989F8D /* EducationDetailCell.swift */; }; |
40 | 43 | AD34D11E2064C7C300989F8D /* BehaviorDetailCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD34D11D2064C7C300989F8D /* BehaviorDetailCell.swift */; }; |
44 | + AD64A2C0207F289400B25E80 /* ProgramVacateTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD64A2BE207F289400B25E80 /* ProgramVacateTableViewCell.swift */; }; | |
45 | + AD64A2C1207F289400B25E80 /* ProgramVacateTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD64A2BF207F289400B25E80 /* ProgramVacateTableViewCell.xib */; }; | |
46 | + AD64A2C3207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD64A2C2207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift */; }; | |
47 | + AD64A2C5207F28EB00B25E80 /* ProgramVacateBodyTableViewCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = AD64A2C4207F28EB00B25E80 /* ProgramVacateBodyTableViewCell.xib */; }; | |
41 | 48 | AD65FB78206354220052415B /* MoralTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD65FB77206354220052415B /* MoralTableViewCell.swift */; }; |
42 | 49 | AD65FB7A20637F110052415B /* MoralViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = AD65FB7920637F110052415B /* MoralViewController.swift */; }; |
43 | 50 | ADAEA3982064960300A47D2C /* SceneDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = ADAEA3972064960300A47D2C /* SceneDetailViewController.swift */; }; |
... | ... | @@ -187,12 +194,19 @@ |
187 | 194 | 5993652B20528D5700C8B371 /* MainViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MainViewController.swift; sourceTree = "<group>"; }; |
188 | 195 | 59C0A9B7205375F800A8BB5A /* SelectCityViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SelectCityViewController.swift; sourceTree = "<group>"; }; |
189 | 196 | A6EEE742C2FA920AEDF24728 /* Pods_ParentAssistant.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_ParentAssistant.framework; sourceTree = BUILT_PRODUCTS_DIR; }; |
197 | + AD198172207D9FB4009AB8B5 /* ProgramCheckViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramCheckViewController.swift; sourceTree = "<group>"; }; | |
198 | + AD198174207D9FC1009AB8B5 /* ProgramCardViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramCardViewController.swift; sourceTree = "<group>"; }; | |
199 | + AD198176207D9FF5009AB8B5 /* ProgramVacateViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateViewController.swift; sourceTree = "<group>"; }; | |
190 | 200 | AD24AA1F2065FBAF00ECA428 /* SceneTopCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneTopCell.swift; sourceTree = "<group>"; }; |
191 | 201 | AD24AA212065FBC000ECA428 /* SceneMiddleCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneMiddleCell.swift; sourceTree = "<group>"; }; |
192 | 202 | AD24AA232065FBD100ECA428 /* SceneDownCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = SceneDownCell.swift; sourceTree = "<group>"; }; |
193 | 203 | AD34D1192064C79D00989F8D /* MoralDetailCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoralDetailCell.swift; sourceTree = "<group>"; }; |
194 | 204 | AD34D11B2064C7AE00989F8D /* EducationDetailCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = EducationDetailCell.swift; sourceTree = "<group>"; }; |
195 | 205 | AD34D11D2064C7C300989F8D /* BehaviorDetailCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BehaviorDetailCell.swift; sourceTree = "<group>"; }; |
206 | + AD64A2BE207F289400B25E80 /* ProgramVacateTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateTableViewCell.swift; sourceTree = "<group>"; }; | |
207 | + AD64A2BF207F289400B25E80 /* ProgramVacateTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ProgramVacateTableViewCell.xib; sourceTree = "<group>"; }; | |
208 | + AD64A2C2207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ProgramVacateBodyTableViewCell.swift; sourceTree = "<group>"; }; | |
209 | + AD64A2C4207F28EB00B25E80 /* ProgramVacateBodyTableViewCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ProgramVacateBodyTableViewCell.xib; sourceTree = "<group>"; }; | |
196 | 210 | AD65FB77206354220052415B /* MoralTableViewCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoralTableViewCell.swift; sourceTree = "<group>"; }; |
197 | 211 | AD65FB7920637F110052415B /* MoralViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MoralViewController.swift; sourceTree = "<group>"; }; |
198 | 212 | ADAEA3972064960300A47D2C /* SceneDetailViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SceneDetailViewController.swift; sourceTree = "<group>"; }; |
... | ... | @@ -513,6 +527,9 @@ |
513 | 527 | isa = PBXGroup; |
514 | 528 | children = ( |
515 | 529 | ADC9AB87207C940700348EF1 /* ProgramViewController.swift */, |
530 | + AD198172207D9FB4009AB8B5 /* ProgramCheckViewController.swift */, | |
531 | + AD198174207D9FC1009AB8B5 /* ProgramCardViewController.swift */, | |
532 | + AD198176207D9FF5009AB8B5 /* ProgramVacateViewController.swift */, | |
516 | 533 | ); |
517 | 534 | path = Program; |
518 | 535 | sourceTree = "<group>"; |
... | ... | @@ -579,6 +596,10 @@ |
579 | 596 | AD24AA232065FBD100ECA428 /* SceneDownCell.swift */, |
580 | 597 | ADC9AB83207C673C00348EF1 /* SceneDownCell.xib */, |
581 | 598 | ADAEA3992064C44900A47D2C /* LineChartView.swift */, |
599 | + AD64A2BE207F289400B25E80 /* ProgramVacateTableViewCell.swift */, | |
600 | + AD64A2BF207F289400B25E80 /* ProgramVacateTableViewCell.xib */, | |
601 | + AD64A2C2207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift */, | |
602 | + AD64A2C4207F28EB00B25E80 /* ProgramVacateBodyTableViewCell.xib */, | |
582 | 603 | ); |
583 | 604 | path = View; |
584 | 605 | sourceTree = "<group>"; |
... | ... | @@ -888,6 +909,7 @@ |
888 | 909 | 5980BF672061048A00F4A35E /* Address.plist in Resources */, |
889 | 910 | BF38847C205CDE1B00A240EF /* JS.storyboard in Resources */, |
890 | 911 | ADC9AB7C207C66C300348EF1 /* EducationDetailCell.xib in Resources */, |
912 | + AD64A2C1207F289400B25E80 /* ProgramVacateTableViewCell.xib in Resources */, | |
891 | 913 | BFF9B7F42057A29D00F39B3E /* TableEmptyView.xib in Resources */, |
892 | 914 | ADC9AB7E207C66DA00348EF1 /* BehaviorDetailCell.xib in Resources */, |
893 | 915 | ADC9AB84207C673C00348EF1 /* SceneDownCell.xib in Resources */, |
... | ... | @@ -902,6 +924,7 @@ |
902 | 924 | BF67F3BD20590A2F002FDC61 /* Info-OSX.plist in Resources */, |
903 | 925 | BF621CAC205660E90040D2C1 /* My.storyboard in Resources */, |
904 | 926 | BF67F3BC20590A2F002FDC61 /* Info-iOS.plist in Resources */, |
927 | + AD64A2C5207F28EB00B25E80 /* ProgramVacateBodyTableViewCell.xib in Resources */, | |
905 | 928 | BF7A4C84204E338500460463 /* Assets.xcassets in Resources */, |
906 | 929 | BF7A4C85204E338500460463 /* LaunchScreen.storyboard in Resources */, |
907 | 930 | ADC9AB82207C673300348EF1 /* SceneMiddleCell.xib in Resources */, |
... | ... | @@ -993,6 +1016,7 @@ |
993 | 1016 | BF621CB02056664C0040D2C1 /* CurrentInfoViewController.swift in Sources */, |
994 | 1017 | ADC9AB88207C940700348EF1 /* ProgramViewController.swift in Sources */, |
995 | 1018 | BF7A4C3C204CD55300460463 /* ParentAssistant.xcdatamodeld in Sources */, |
1019 | + AD198177207D9FF5009AB8B5 /* ProgramVacateViewController.swift in Sources */, | |
996 | 1020 | BFEAAAD620525D620072FAAF /* LxButton.m in Sources */, |
997 | 1021 | 5993652C20528D5700C8B371 /* MainViewController.swift in Sources */, |
998 | 1022 | 5993652A2052553900C8B371 /* pinyin.c in Sources */, |
... | ... | @@ -1014,6 +1038,7 @@ |
1014 | 1038 | 5980BF692061048A00F4A35E /* LZCityPickerView.m in Sources */, |
1015 | 1039 | BF388482205F5BC800A240EF /* MessageManager.swift in Sources */, |
1016 | 1040 | 5980BF682061048A00F4A35E /* LZCityPickerController.m in Sources */, |
1041 | + AD198173207D9FB4009AB8B5 /* ProgramCheckViewController.swift in Sources */, | |
1017 | 1042 | BFCED88B20528DE700055373 /* MyViewControllerModel.swift in Sources */, |
1018 | 1043 | BFF9B7E92056852A00F39B3E /* RegisterViewController.swift in Sources */, |
1019 | 1044 | BFBC06C72063AE8900CCFAFF /* ZLaunchAdButton.swift in Sources */, |
... | ... | @@ -1046,6 +1071,8 @@ |
1046 | 1071 | 599364EC204E62E700C8B371 /* EvaluationViewController.swift in Sources */, |
1047 | 1072 | 599364F0204E62E700C8B371 /* ReportViewController.swift in Sources */, |
1048 | 1073 | BF621CAE2056663C0040D2C1 /* LoginViewController.swift in Sources */, |
1074 | + AD64A2C0207F289400B25E80 /* ProgramVacateTableViewCell.swift in Sources */, | |
1075 | + AD64A2C3207F28CF00B25E80 /* ProgramVacateBodyTableViewCell.swift in Sources */, | |
1049 | 1076 | 599364EA204E62E700C8B371 /* ChannelViewController.swift in Sources */, |
1050 | 1077 | BF406CDE2057C537000A6681 /* OrderDetailTableViewCell.swift in Sources */, |
1051 | 1078 | BFEAAAC7205257460072FAAF /* LXCalenderCell.m in Sources */, |
... | ... | @@ -1056,6 +1083,7 @@ |
1056 | 1083 | BFBC06C62063AE8900CCFAFF /* ZLaunchAdAnimation.swift in Sources */, |
1057 | 1084 | AD34D11E2064C7C300989F8D /* BehaviorDetailCell.swift in Sources */, |
1058 | 1085 | BFCED888205280B700055373 /* MyViewController.swift in Sources */, |
1086 | + AD198175207D9FC1009AB8B5 /* ProgramCardViewController.swift in Sources */, | |
1059 | 1087 | AD65FB78206354220052415B /* MoralTableViewCell.swift in Sources */, |
1060 | 1088 | BF38846C205A58F800A240EF /* YXMessageManager.swift in Sources */, |
1061 | 1089 | BFBC06C92063AE8900CCFAFF /* ZLaunchAdConfig.swift in Sources */, | ... | ... |
ParentAssistant/ParentAssistant.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist
0 → 100644
ParentAssistant/ParentAssistant.xcworkspace/xcuserdata/caoyang.xcuserdatad/UserInterfaceState.xcuserstate
No preview for this file type
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramCardViewController.swift
0 → 100644
... | ... | @@ -0,0 +1,35 @@ |
1 | +// | |
2 | +// ProgramCardViewController.swift | |
3 | +// ParentAssistant | |
4 | +// | |
5 | +// Created by Cao yang on 2018/4/11. | |
6 | +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +import UIKit | |
10 | + | |
11 | +class ProgramCardViewController: UIViewController { | |
12 | + | |
13 | + override func viewDidLoad() { | |
14 | + super.viewDidLoad() | |
15 | + | |
16 | + // Do any additional setup after loading the view. | |
17 | + } | |
18 | + | |
19 | + override func didReceiveMemoryWarning() { | |
20 | + super.didReceiveMemoryWarning() | |
21 | + // Dispose of any resources that can be recreated. | |
22 | + } | |
23 | + | |
24 | + | |
25 | + /* | |
26 | + // MARK: - Navigation | |
27 | + | |
28 | + // In a storyboard-based application, you will often want to do a little preparation before navigation | |
29 | + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { | |
30 | + // Get the new view controller using segue.destinationViewController. | |
31 | + // Pass the selected object to the new view controller. | |
32 | + } | |
33 | + */ | |
34 | + | |
35 | +} | ... | ... |
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramCheckViewController.swift
0 → 100644
... | ... | @@ -0,0 +1,35 @@ |
1 | +// | |
2 | +// ProgramCheckViewController.swift | |
3 | +// ParentAssistant | |
4 | +// | |
5 | +// Created by Cao yang on 2018/4/11. | |
6 | +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +import UIKit | |
10 | + | |
11 | +class ProgramCheckViewController: UIViewController { | |
12 | + | |
13 | + override func viewDidLoad() { | |
14 | + super.viewDidLoad() | |
15 | + | |
16 | + // Do any additional setup after loading the view. | |
17 | + } | |
18 | + | |
19 | + override func didReceiveMemoryWarning() { | |
20 | + super.didReceiveMemoryWarning() | |
21 | + // Dispose of any resources that can be recreated. | |
22 | + } | |
23 | + | |
24 | + | |
25 | + /* | |
26 | + // MARK: - Navigation | |
27 | + | |
28 | + // In a storyboard-based application, you will often want to do a little preparation before navigation | |
29 | + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { | |
30 | + // Get the new view controller using segue.destinationViewController. | |
31 | + // Pass the selected object to the new view controller. | |
32 | + } | |
33 | + */ | |
34 | + | |
35 | +} | ... | ... |
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramVacateViewController.swift
0 → 100644
... | ... | @@ -0,0 +1,153 @@ |
1 | +// | |
2 | +// ProgramVacateViewController.swift | |
3 | +// ParentAssistant | |
4 | +// | |
5 | +// Created by Cao yang on 2018/4/11. | |
6 | +// Copyright © 2018年 HANGZHOUTEAM. All rights reserved. | |
7 | +// | |
8 | + | |
9 | +import UIKit | |
10 | + | |
11 | +class ProgramVacateViewController: UIViewController,UITableViewDelegate,UITableViewDataSource { | |
12 | + | |
13 | + lazy var tableView = {()-> UITableView in | |
14 | + let table = UITableView.init(frame: CGRect.init(x: 0, y: 0, width: screenWidth, height: screenHeight-44-22-60)) | |
15 | + table.backgroundColor = backGroundColor | |
16 | + table.delegate = self | |
17 | + table.dataSource = self | |
18 | + table.tableFooterView = UIView.init() | |
19 | + table.separatorStyle = .none | |
20 | + table.register(UINib.init(nibName: "ProgramVacateTableViewCell", bundle: nil), forCellReuseIdentifier: "ProgramVacateTableViewCell") | |
21 | + table.register(UINib.init(nibName: "ProgramVacateBodyTableViewCell", bundle: nil), forCellReuseIdentifier: "ProgramVacateBodyTableViewCell") | |
22 | + return table | |
23 | + }() | |
24 | + | |
25 | + lazy var bottomBtn = {()-> UIButton in | |
26 | + let btn = UIButton.init(frame: CGRect.init(x: screenWidth/2-60, y: screenHeight-66-50, width: 120, height: 40)) | |
27 | + btn.setTitle("请假", for: UIControlState.normal) | |
28 | + btn.setTitleColor(UIColor.black, for: UIControlState.normal) | |
29 | + btn.backgroundColor = Theme.topBarColor() | |
30 | + return btn | |
31 | + }() | |
32 | + | |
33 | + //data | |
34 | + | |
35 | + /// 请假记录 | |
36 | + var vacateRecodeArray = Array<String>() | |
37 | + | |
38 | + | |
39 | + override func viewDidLoad() { | |
40 | + super.viewDidLoad() | |
41 | + self.view.backgroundColor = backGroundColor | |
42 | + | |
43 | + self.view.addSubview(self.tableView) | |
44 | + self.view.addSubview(self.bottomBtn) | |
45 | + self.vacateRecodeArray = ["1","2"] | |
46 | + | |
47 | + // Do any additional setup after loading the view. | |
48 | + } | |
49 | + | |
50 | + //MARK: - TableView delegate & dataSourse | |
51 | + func numberOfSections(in tableView: UITableView) -> Int { | |
52 | + return 2 | |
53 | + } | |
54 | + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { | |
55 | + switch section { | |
56 | + case 0: | |
57 | + return 1 | |
58 | + case 1: | |
59 | + if vacateRecodeArray.count > 0 { | |
60 | + return vacateRecodeArray.count+1 | |
61 | + }else{ | |
62 | + return 2 | |
63 | + } | |
64 | + default: | |
65 | + return 0 | |
66 | + } | |
67 | + } | |
68 | + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { | |
69 | + | |
70 | + switch indexPath.section { | |
71 | + case 0: | |
72 | + return 90 | |
73 | + case 1: | |
74 | + if indexPath.row == 0{ | |
75 | + return 40 | |
76 | + }else{ | |
77 | + if vacateRecodeArray.count > 0 { | |
78 | + return 230 | |
79 | + }else{ | |
80 | + return 50 | |
81 | + } | |
82 | + } | |
83 | + default: | |
84 | + return 0 | |
85 | + } | |
86 | + } | |
87 | + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { | |
88 | + | |
89 | + switch indexPath.section { | |
90 | + case 0: | |
91 | + let cell = tableView.dequeueReusableCell(withIdentifier: "ProgramVacateTableViewCell", for: indexPath) as! ProgramVacateTableViewCell | |
92 | + return cell | |
93 | + case 1: | |
94 | + if indexPath.row == 0 { | |
95 | + let cell = UITableViewCell.init() | |
96 | + cell.backgroundColor = backGroundColor | |
97 | + let cellView = UIView.init(frame: CGRect.init(x: 10, y: 0, width: screenWidth-20, height: 40)) | |
98 | + cellView.backgroundColor = UIColor.white | |
99 | + let label = UILabel.init(frame: CGRect.init(x: 10, y: 0, width: 200, height: 40)) | |
100 | + label.text = "请假记录:" | |
101 | + label.textAlignment = .left | |
102 | + cellView.addSubview(label) | |
103 | + cell.addSubview(cellView) | |
104 | + return cell | |
105 | + }else{ | |
106 | + if vacateRecodeArray.count > 0 { | |
107 | + let cell = tableView.dequeueReusableCell(withIdentifier: "ProgramVacateBodyTableViewCell", for: indexPath) as! ProgramVacateBodyTableViewCell | |
108 | + return cell | |
109 | + }else{ | |
110 | + let cell = UITableViewCell.init() | |
111 | + cell.backgroundColor = backGroundColor | |
112 | + let cellView = UIView.init(frame: CGRect.init(x: 10, y: 0, width: screenWidth-20, height: 50)) | |
113 | + cellView.backgroundColor = UIColor.white | |
114 | + let label = UILabel.init(frame: CGRect.init(x: 10, y: 0, width: screenWidth-20-20, height: 50)) | |
115 | + label.text = "张三今日无请假记录!" | |
116 | + label.font = UIFont.systemFont(ofSize: 20) | |
117 | + label.textAlignment = .center | |
118 | + label.textColor = UIColor.red | |
119 | + cellView.addSubview(label) | |
120 | + cell.addSubview(cellView) | |
121 | + return cell | |
122 | + } | |
123 | + } | |
124 | + default: | |
125 | + return UITableViewCell.init() | |
126 | + } | |
127 | + } | |
128 | + | |
129 | + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { | |
130 | + if indexPath.section == 1 && indexPath.row != 0 && vacateRecodeArray.count>0 { | |
131 | + | |
132 | + | |
133 | + | |
134 | + } | |
135 | + } | |
136 | + | |
137 | + override func didReceiveMemoryWarning() { | |
138 | + super.didReceiveMemoryWarning() | |
139 | + // Dispose of any resources that can be recreated. | |
140 | + } | |
141 | + | |
142 | + | |
143 | + /* | |
144 | + // MARK: - Navigation | |
145 | + | |
146 | + // In a storyboard-based application, you will often want to do a little preparation before navigation | |
147 | + override func prepare(for segue: UIStoryboardSegue, sender: Any?) { | |
148 | + // Get the new view controller using segue.destinationViewController. | |
149 | + // Pass the selected object to the new view controller. | |
150 | + } | |
151 | + */ | |
152 | + | |
153 | +} | ... | ... |
ParentAssistant/ParentAssistant/Classes/controllers/Grow/Program/ProgramViewController.swift
... | ... | @@ -102,7 +102,22 @@ class ProgramViewController: UIViewController,UITableViewDelegate,UITableViewDat |
102 | 102 | |
103 | 103 | func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { |
104 | 104 | |
105 | - | |
105 | + switch indexPath.row { | |
106 | + case 0: | |
107 | + let vc = ProgramCheckViewController() | |
108 | + vc.title = "考勤" | |
109 | + self.navigationController?.pushViewController(vc, animated: true) | |
110 | + case 1: | |
111 | + let vc = ProgramCardViewController() | |
112 | + vc.title = "补卡" | |
113 | + self.navigationController?.pushViewController(vc, animated: true) | |
114 | + case 2: | |
115 | + let vc = ProgramVacateViewController() | |
116 | + vc.title = "请假" | |
117 | + self.navigationController?.pushViewController(vc, animated: true) | |
118 | + default: | |
119 | + break | |
120 | + } | |
106 | 121 | } |
107 | 122 | |
108 | 123 | override func didReceiveMemoryWarning() { | ... | ... |
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramVacateBodyTableViewCell.swift
0 → 100644
... | ... | @@ -0,0 +1,31 @@ |
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 | + // Initialization code | |
23 | + } | |
24 | + | |
25 | + override func setSelected(_ selected: Bool, animated: Bool) { | |
26 | + super.setSelected(selected, animated: animated) | |
27 | + | |
28 | + // Configure the view for the selected state | |
29 | + } | |
30 | + | |
31 | +} | ... | ... |
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramVacateBodyTableViewCell.xib
0 → 100644
... | ... | @@ -0,0 +1,184 @@ |
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 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | |
162 | + <constraints> | |
163 | + <constraint firstAttribute="bottom" secondItem="3iC-h2-GLD" secondAttribute="bottom" constant="10" id="FAV-5i-UxH"/> | |
164 | + <constraint firstItem="3iC-h2-GLD" firstAttribute="top" secondItem="yYa-Yh-jMm" secondAttribute="top" id="ObN-MI-Jfr"/> | |
165 | + <constraint firstAttribute="trailing" secondItem="3iC-h2-GLD" secondAttribute="trailing" constant="10" id="jGw-JA-Q0y"/> | |
166 | + <constraint firstItem="3iC-h2-GLD" firstAttribute="leading" secondItem="yYa-Yh-jMm" secondAttribute="leading" constant="10" id="tYS-Bh-NlN"/> | |
167 | + </constraints> | |
168 | + </tableViewCellContentView> | |
169 | + <connections> | |
170 | + <outlet property="endTime" destination="m2d-nZ-oIw" id="ZpU-Qi-TcG"/> | |
171 | + <outlet property="examinePerson" destination="CmX-ZE-z2v" id="GaV-qe-fuK"/> | |
172 | + <outlet property="startTime" destination="o1S-an-wZs" id="Qec-Kk-7UW"/> | |
173 | + <outlet property="upLine" destination="zCX-fI-ung" id="2Yc-jg-N9W"/> | |
174 | + <outlet property="vacateName" destination="SMb-fO-hlW" id="P18-Y5-fEa"/> | |
175 | + <outlet property="vacateResult" destination="P6F-mV-ell" id="LDB-dx-UoA"/> | |
176 | + <outlet property="vacateType" destination="tQ9-wo-yko" id="NeS-11-BX1"/> | |
177 | + </connections> | |
178 | + <point key="canvasLocation" x="-252.5" y="9"/> | |
179 | + </tableViewCell> | |
180 | + </objects> | |
181 | + <resources> | |
182 | + <image name="grow_ellipse" width="10" height="10"/> | |
183 | + </resources> | |
184 | +</document> | ... | ... |
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramVacateTableViewCell.swift
0 → 100644
... | ... | @@ -0,0 +1,26 @@ |
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 | + // Initialization code | |
19 | + } | |
20 | + | |
21 | + override func setSelected(_ selected: Bool, animated: Bool) { | |
22 | + super.setSelected(selected, animated: animated) | |
23 | + | |
24 | + // Configure the view for the selected state | |
25 | + } | |
26 | +} | ... | ... |
ParentAssistant/ParentAssistant/Classes/controllers/Grow/View/ProgramVacateTableViewCell.xib
0 → 100644
... | ... | @@ -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="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 | + <color key="backgroundColor" cocoaTouchSystemColor="groupTableViewBackgroundColor"/> | |
90 | + <constraints> | |
91 | + <constraint firstItem="A0K-zH-Rt1" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="10" id="GYT-zJ-fus"/> | |
92 | + <constraint firstAttribute="trailing" secondItem="A0K-zH-Rt1" secondAttribute="trailing" constant="10" id="JFC-pM-1F3"/> | |
93 | + <constraint firstItem="A0K-zH-Rt1" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="10" id="lo1-GF-rL8"/> | |
94 | + <constraint firstAttribute="bottom" secondItem="A0K-zH-Rt1" secondAttribute="bottom" constant="10" id="thL-h4-Sig"/> | |
95 | + </constraints> | |
96 | + </tableViewCellContentView> | |
97 | + <viewLayoutGuide key="safeArea" id="njF-e1-oar"/> | |
98 | + <connections> | |
99 | + <outlet property="endTime" destination="gIK-21-Af2" id="YWL-mH-LCE"/> | |
100 | + <outlet property="startTime" destination="Rel-Qy-6VP" id="yWM-28-kpK"/> | |
101 | + <outlet property="vacateName" destination="vif-Lw-a1X" id="Hyd-gs-iH0"/> | |
102 | + </connections> | |
103 | + <point key="canvasLocation" x="59.5" y="-38"/> | |
104 | + </tableViewCell> | |
105 | + </objects> | |
106 | + <resources> | |
107 | + <image name="grow_calendar" width="13" height="12"/> | |
108 | + </resources> | |
109 | +</document> | ... | ... |
ParentAssistant/ParentAssistant/Supporting Files/Assets.xcassets/report/grow_calendar.imageset/Contents.json
0 → 100644
... | ... | @@ -0,0 +1,21 @@ |
1 | +{ | |
2 | + "images" : [ | |
3 | + { | |
4 | + "idiom" : "universal", | |
5 | + "scale" : "1x" | |
6 | + }, | |
7 | + { | |
8 | + "idiom" : "universal", | |
9 | + "filename" : "grow_calendar@2x.png", | |
10 | + "scale" : "2x" | |
11 | + }, | |
12 | + { | |
13 | + "idiom" : "universal", | |
14 | + "scale" : "3x" | |
15 | + } | |
16 | + ], | |
17 | + "info" : { | |
18 | + "version" : 1, | |
19 | + "author" : "xcode" | |
20 | + } | |
21 | +} | |
0 | 22 | \ No newline at end of file | ... | ... |
ParentAssistant/ParentAssistant/Supporting Files/Assets.xcassets/report/grow_calendar.imageset/grow_calendar@2x.png
0 → 100644
751 Bytes
ParentAssistant/ParentAssistant/Supporting Files/Assets.xcassets/report/grow_ellipse.imageset/Contents.json
0 → 100644
... | ... | @@ -0,0 +1,21 @@ |
1 | +{ | |
2 | + "images" : [ | |
3 | + { | |
4 | + "idiom" : "universal", | |
5 | + "scale" : "1x" | |
6 | + }, | |
7 | + { | |
8 | + "idiom" : "universal", | |
9 | + "filename" : "grow_ellipse@2x.png", | |
10 | + "scale" : "2x" | |
11 | + }, | |
12 | + { | |
13 | + "idiom" : "universal", | |
14 | + "scale" : "3x" | |
15 | + } | |
16 | + ], | |
17 | + "info" : { | |
18 | + "version" : 1, | |
19 | + "author" : "xcode" | |
20 | + } | |
21 | +} | |
0 | 22 | \ No newline at end of file | ... | ... |
ParentAssistant/ParentAssistant/Supporting Files/Assets.xcassets/report/grow_ellipse.imageset/grow_ellipse@2x.png
0 → 100644
322 Bytes