diff --git a/vanke.xcodeproj/project.pbxproj b/vanke.xcodeproj/project.pbxproj
index 306fa6c971b943cc69d0f9e905ee15809a6e3bc1..33cd96d954337bc929762f02b88cb3ee611d5b4e 100755
--- a/vanke.xcodeproj/project.pbxproj
+++ b/vanke.xcodeproj/project.pbxproj
@@ -124,7 +124,6 @@
 		C117866B1C0B4C5200DB7E4B /* bill_remark@3x.png in Resources */ = {isa = PBXBuildFile; fileRef = C11786691C0B4C5200DB7E4B /* bill_remark@3x.png */; };
 		C11BAB1E1C08BF83007BBCCC /* VankePassengerListBoardCell_iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = C11BAB1C1C08BF83007BBCCC /* VankePassengerListBoardCell_iPhone.m */; };
 		C11BAB1F1C08BF83007BBCCC /* VankePassengerListBoardCell_iPhone.xml in Resources */ = {isa = PBXBuildFile; fileRef = C11BAB1D1C08BF83007BBCCC /* VankePassengerListBoardCell_iPhone.xml */; };
-		C11DD0611C060A9E00DD11E3 /* CDatePickerViewEx.m in Sources */ = {isa = PBXBuildFile; fileRef = C11DD0601C060A9E00DD11E3 /* CDatePickerViewEx.m */; };
 		C12804D71BC124A3001ECBAA /* VankeWeatherModel.m in Sources */ = {isa = PBXBuildFile; fileRef = C12804D61BC124A3001ECBAA /* VankeWeatherModel.m */; };
 		C12804DA1BC12A67001ECBAA /* VankeWeatherController.m in Sources */ = {isa = PBXBuildFile; fileRef = C12804D91BC12A67001ECBAA /* VankeWeatherController.m */; };
 		C12804E01BC2D0BD001ECBAA /* VankeUserModel.m in Sources */ = {isa = PBXBuildFile; fileRef = C12804DF1BC2D0BD001ECBAA /* VankeUserModel.m */; };
@@ -211,8 +210,6 @@
 		C19BBBE31BBE85D000831290 /* VankeLoginBoard_iPhone.xml in Resources */ = {isa = PBXBuildFile; fileRef = C19BBBE11BBE85D000831290 /* VankeLoginBoard_iPhone.xml */; };
 		C19BBBF91BBE85F500831290 /* VankeMainBoard_iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = C19BBBE51BBE85F500831290 /* VankeMainBoard_iPhone.m */; };
 		C19BBBFA1BBE85F500831290 /* VankeMainBoard_iPhone.xml in Resources */ = {isa = PBXBuildFile; fileRef = C19BBBE61BBE85F500831290 /* VankeMainBoard_iPhone.xml */; };
-		C19BBBFB1BBE85F500831290 /* VankeMainTabBoard_iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = C19BBBE81BBE85F500831290 /* VankeMainTabBoard_iPhone.m */; };
-		C19BBBFC1BBE85F500831290 /* VankeMainTabBoard_iPhone.xml in Resources */ = {isa = PBXBuildFile; fileRef = C19BBBE91BBE85F500831290 /* VankeMainTabBoard_iPhone.xml */; };
 		C19BBBFD1BBE85F500831290 /* VankeServiceBoardCell_iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = C19BBBEB1BBE85F500831290 /* VankeServiceBoardCell_iPhone.m */; };
 		C19BBBFE1BBE85F500831290 /* VankeServiceBoardCell_iPhone.xml in Resources */ = {isa = PBXBuildFile; fileRef = C19BBBEC1BBE85F500831290 /* VankeServiceBoardCell_iPhone.xml */; };
 		C19BBBFF1BBE85F500831290 /* VankeServiceDashBoard_iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = C19BBBEE1BBE85F500831290 /* VankeServiceDashBoard_iPhone.m */; };
@@ -239,6 +236,8 @@
 		C19BBC2A1BBE894D00831290 /* user_icon@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C19BBC281BBE894D00831290 /* user_icon@2x.png */; };
 		C19BBC2E1BBE8B5800831290 /* VankeFloorDetailBoard_iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = C19BBC2C1BBE8B5800831290 /* VankeFloorDetailBoard_iPhone.m */; };
 		C19BBC2F1BBE8B5800831290 /* VankeFloorDetailBoard_iPhone.xml in Resources */ = {isa = PBXBuildFile; fileRef = C19BBC2D1BBE8B5800831290 /* VankeFloorDetailBoard_iPhone.xml */; };
+		C1A026241C12C9B400737937 /* VankeSettlementSubjectListAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = C1A026231C12C9B400737937 /* VankeSettlementSubjectListAPI.m */; };
+		C1A026271C12CA2900737937 /* VankeStatementSubjectListModel.m in Sources */ = {isa = PBXBuildFile; fileRef = C1A026261C12CA2900737937 /* VankeStatementSubjectListModel.m */; };
 		C1A069FF1BE105140082006F /* VankeAffairsBoard_iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = C1A069FD1BE105140082006F /* VankeAffairsBoard_iPhone.m */; };
 		C1A06A001BE105140082006F /* VankeAffairsBoard_iPhone.xml in Resources */ = {isa = PBXBuildFile; fileRef = C1A069FE1BE105140082006F /* VankeAffairsBoard_iPhone.xml */; };
 		C1A06A091BE10B080082006F /* bill.png in Resources */ = {isa = PBXBuildFile; fileRef = C1A06A011BE10B080082006F /* bill.png */; };
@@ -655,6 +654,11 @@
 		C1DED3381BCEC4B40049BB2D /* user_checked@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C1DED32A1BCEC4B40049BB2D /* user_checked@2x.png */; };
 		C1DED3391BCEC4B40049BB2D /* user.png in Resources */ = {isa = PBXBuildFile; fileRef = C1DED32B1BCEC4B40049BB2D /* user.png */; };
 		C1DED33A1BCEC4B40049BB2D /* user@2x.png in Resources */ = {isa = PBXBuildFile; fileRef = C1DED32C1BCEC4B40049BB2D /* user@2x.png */; };
+		C1E0AD7C1C12FC7200DE6BB9 /* SRMonthPicker.m in Sources */ = {isa = PBXBuildFile; fileRef = C1E0AD7B1C12FC7200DE6BB9 /* SRMonthPicker.m */; };
+		C1E0AD841C131D1F00DE6BB9 /* VankeMainTabBoard_iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = C1E0AD7F1C131D1F00DE6BB9 /* VankeMainTabBoard_iPhone.m */; };
+		C1E0AD851C131D1F00DE6BB9 /* VankeMainTabBoard_iPhone.xml in Resources */ = {isa = PBXBuildFile; fileRef = C1E0AD801C131D1F00DE6BB9 /* VankeMainTabBoard_iPhone.xml */; };
+		C1E0AD861C131D1F00DE6BB9 /* VankeTenantTabBoard_iPhone.m in Sources */ = {isa = PBXBuildFile; fileRef = C1E0AD811C131D1F00DE6BB9 /* VankeTenantTabBoard_iPhone.m */; };
+		C1E0AD871C131D1F00DE6BB9 /* VankeTenantTabBoard_iPhone.xml in Resources */ = {isa = PBXBuildFile; fileRef = C1E0AD831C131D1F00DE6BB9 /* VankeTenantTabBoard_iPhone.xml */; };
 		C1F790A51C075A09001AEBBB /* VankeSettlementConfirmAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = C1F790A41C075A09001AEBBB /* VankeSettlementConfirmAPI.m */; };
 		C1F790A81C075A1A001AEBBB /* VankeSettlementRejectAPI.m in Sources */ = {isa = PBXBuildFile; fileRef = C1F790A71C075A1A001AEBBB /* VankeSettlementRejectAPI.m */; };
 		C1F790AB1C07600E001AEBBB /* VankeStatementConfirmModel.m in Sources */ = {isa = PBXBuildFile; fileRef = C1F790AA1C07600E001AEBBB /* VankeStatementConfirmModel.m */; };
@@ -859,8 +863,6 @@
 		C11BAB1B1C08BF83007BBCCC /* VankePassengerListBoardCell_iPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VankePassengerListBoardCell_iPhone.h; path = "floor-list/VankePassengerListBoardCell_iPhone.h"; sourceTree = "<group>"; };
 		C11BAB1C1C08BF83007BBCCC /* VankePassengerListBoardCell_iPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VankePassengerListBoardCell_iPhone.m; path = "floor-list/VankePassengerListBoardCell_iPhone.m"; sourceTree = "<group>"; };
 		C11BAB1D1C08BF83007BBCCC /* VankePassengerListBoardCell_iPhone.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = VankePassengerListBoardCell_iPhone.xml; path = "floor-list/VankePassengerListBoardCell_iPhone.xml"; sourceTree = "<group>"; };
-		C11DD05F1C060A9E00DD11E3 /* CDatePickerViewEx.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = CDatePickerViewEx.h; sourceTree = "<group>"; };
-		C11DD0601C060A9E00DD11E3 /* CDatePickerViewEx.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = CDatePickerViewEx.m; sourceTree = "<group>"; };
 		C12804D51BC124A3001ECBAA /* VankeWeatherModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VankeWeatherModel.h; sourceTree = "<group>"; };
 		C12804D61BC124A3001ECBAA /* VankeWeatherModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VankeWeatherModel.m; sourceTree = "<group>"; };
 		C12804D81BC12A67001ECBAA /* VankeWeatherController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VankeWeatherController.h; sourceTree = "<group>"; };
@@ -991,9 +993,6 @@
 		C19BBBE41BBE85F500831290 /* VankeMainBoard_iPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VankeMainBoard_iPhone.h; path = main/VankeMainBoard_iPhone.h; sourceTree = "<group>"; };
 		C19BBBE51BBE85F500831290 /* VankeMainBoard_iPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VankeMainBoard_iPhone.m; path = main/VankeMainBoard_iPhone.m; sourceTree = "<group>"; };
 		C19BBBE61BBE85F500831290 /* VankeMainBoard_iPhone.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = VankeMainBoard_iPhone.xml; path = main/VankeMainBoard_iPhone.xml; sourceTree = "<group>"; };
-		C19BBBE71BBE85F500831290 /* VankeMainTabBoard_iPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VankeMainTabBoard_iPhone.h; path = main/VankeMainTabBoard_iPhone.h; sourceTree = "<group>"; };
-		C19BBBE81BBE85F500831290 /* VankeMainTabBoard_iPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VankeMainTabBoard_iPhone.m; path = main/VankeMainTabBoard_iPhone.m; sourceTree = "<group>"; };
-		C19BBBE91BBE85F500831290 /* VankeMainTabBoard_iPhone.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = VankeMainTabBoard_iPhone.xml; path = main/VankeMainTabBoard_iPhone.xml; sourceTree = "<group>"; };
 		C19BBBEA1BBE85F500831290 /* VankeServiceBoardCell_iPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VankeServiceBoardCell_iPhone.h; path = main/VankeServiceBoardCell_iPhone.h; sourceTree = "<group>"; };
 		C19BBBEB1BBE85F500831290 /* VankeServiceBoardCell_iPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VankeServiceBoardCell_iPhone.m; path = main/VankeServiceBoardCell_iPhone.m; sourceTree = "<group>"; };
 		C19BBBEC1BBE85F500831290 /* VankeServiceBoardCell_iPhone.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = VankeServiceBoardCell_iPhone.xml; path = main/VankeServiceBoardCell_iPhone.xml; sourceTree = "<group>"; };
@@ -1032,6 +1031,10 @@
 		C19BBC2B1BBE8B5800831290 /* VankeFloorDetailBoard_iPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VankeFloorDetailBoard_iPhone.h; path = "floor-detail/VankeFloorDetailBoard_iPhone.h"; sourceTree = "<group>"; };
 		C19BBC2C1BBE8B5800831290 /* VankeFloorDetailBoard_iPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VankeFloorDetailBoard_iPhone.m; path = "floor-detail/VankeFloorDetailBoard_iPhone.m"; sourceTree = "<group>"; };
 		C19BBC2D1BBE8B5800831290 /* VankeFloorDetailBoard_iPhone.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = VankeFloorDetailBoard_iPhone.xml; path = "floor-detail/VankeFloorDetailBoard_iPhone.xml"; sourceTree = "<group>"; };
+		C1A026221C12C9B400737937 /* VankeSettlementSubjectListAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VankeSettlementSubjectListAPI.h; sourceTree = "<group>"; };
+		C1A026231C12C9B400737937 /* VankeSettlementSubjectListAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VankeSettlementSubjectListAPI.m; sourceTree = "<group>"; };
+		C1A026251C12CA2900737937 /* VankeStatementSubjectListModel.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VankeStatementSubjectListModel.h; sourceTree = "<group>"; };
+		C1A026261C12CA2900737937 /* VankeStatementSubjectListModel.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VankeStatementSubjectListModel.m; sourceTree = "<group>"; };
 		C1A069FC1BE105140082006F /* VankeAffairsBoard_iPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = VankeAffairsBoard_iPhone.h; path = affairs/VankeAffairsBoard_iPhone.h; sourceTree = "<group>"; };
 		C1A069FD1BE105140082006F /* VankeAffairsBoard_iPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; name = VankeAffairsBoard_iPhone.m; path = affairs/VankeAffairsBoard_iPhone.m; sourceTree = "<group>"; };
 		C1A069FE1BE105140082006F /* VankeAffairsBoard_iPhone.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; name = VankeAffairsBoard_iPhone.xml; path = affairs/VankeAffairsBoard_iPhone.xml; sourceTree = "<group>"; };
@@ -1804,6 +1807,14 @@
 		C1DED32A1BCEC4B40049BB2D /* user_checked@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "user_checked@2x.png"; path = "img/user_checked@2x.png"; sourceTree = "<group>"; };
 		C1DED32B1BCEC4B40049BB2D /* user.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = user.png; path = img/user.png; sourceTree = "<group>"; };
 		C1DED32C1BCEC4B40049BB2D /* user@2x.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; name = "user@2x.png"; path = "img/user@2x.png"; sourceTree = "<group>"; };
+		C1E0AD7A1C12FC7200DE6BB9 /* SRMonthPicker.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SRMonthPicker.h; sourceTree = "<group>"; };
+		C1E0AD7B1C12FC7200DE6BB9 /* SRMonthPicker.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = SRMonthPicker.m; sourceTree = "<group>"; };
+		C1E0AD7E1C131D1F00DE6BB9 /* VankeMainTabBoard_iPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VankeMainTabBoard_iPhone.h; sourceTree = "<group>"; };
+		C1E0AD7F1C131D1F00DE6BB9 /* VankeMainTabBoard_iPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VankeMainTabBoard_iPhone.m; sourceTree = "<group>"; };
+		C1E0AD801C131D1F00DE6BB9 /* VankeMainTabBoard_iPhone.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = VankeMainTabBoard_iPhone.xml; sourceTree = "<group>"; };
+		C1E0AD811C131D1F00DE6BB9 /* VankeTenantTabBoard_iPhone.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VankeTenantTabBoard_iPhone.m; sourceTree = "<group>"; };
+		C1E0AD821C131D1F00DE6BB9 /* VankeTenantTabBoard_iPhone.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VankeTenantTabBoard_iPhone.h; sourceTree = "<group>"; };
+		C1E0AD831C131D1F00DE6BB9 /* VankeTenantTabBoard_iPhone.xml */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.xml; path = VankeTenantTabBoard_iPhone.xml; sourceTree = "<group>"; };
 		C1F790A31C075A09001AEBBB /* VankeSettlementConfirmAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VankeSettlementConfirmAPI.h; sourceTree = "<group>"; };
 		C1F790A41C075A09001AEBBB /* VankeSettlementConfirmAPI.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = VankeSettlementConfirmAPI.m; sourceTree = "<group>"; };
 		C1F790A61C075A1A001AEBBB /* VankeSettlementRejectAPI.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = VankeSettlementRejectAPI.h; sourceTree = "<group>"; };
@@ -1857,7 +1868,7 @@
 				C10F180A1BF7ACA80065F18C /* ImagePreview */,
 				C18A95461C01F64500429BF7 /* LBorderView */,
 				C10F180D1BF7ACA80065F18C /* Macro */,
-				C11DD05E1C060A9E00DD11E3 /* MonthYearDatePicker */,
+				C1E0AD791C12FC7200DE6BB9 /* SRMonthPicker */,
 				C1555F981C04D39600C80B55 /* UIPopoverList */,
 			);
 			path = 3rd;
@@ -2189,15 +2200,6 @@
 			path = img/settlement;
 			sourceTree = "<group>";
 		};
-		C11DD05E1C060A9E00DD11E3 /* MonthYearDatePicker */ = {
-			isa = PBXGroup;
-			children = (
-				C11DD05F1C060A9E00DD11E3 /* CDatePickerViewEx.h */,
-				C11DD0601C060A9E00DD11E3 /* CDatePickerViewEx.m */,
-			);
-			path = MonthYearDatePicker;
-			sourceTree = "<group>";
-		};
 		C12804F11BC40CE7001ECBAA /* util */ = {
 			isa = PBXGroup;
 			children = (
@@ -2322,12 +2324,10 @@
 		C19BBBDB1BBE856500831290 /* main */ = {
 			isa = PBXGroup;
 			children = (
+				C1E0AD7D1C131D1F00DE6BB9 /* menu */,
 				C19BBBE41BBE85F500831290 /* VankeMainBoard_iPhone.h */,
 				C19BBBE51BBE85F500831290 /* VankeMainBoard_iPhone.m */,
 				C19BBBE61BBE85F500831290 /* VankeMainBoard_iPhone.xml */,
-				C19BBBE71BBE85F500831290 /* VankeMainTabBoard_iPhone.h */,
-				C19BBBE81BBE85F500831290 /* VankeMainTabBoard_iPhone.m */,
-				C19BBBE91BBE85F500831290 /* VankeMainTabBoard_iPhone.xml */,
 				C19BBBEA1BBE85F500831290 /* VankeServiceBoardCell_iPhone.h */,
 				C19BBBEB1BBE85F500831290 /* VankeServiceBoardCell_iPhone.m */,
 				C19BBBEC1BBE85F500831290 /* VankeServiceBoardCell_iPhone.xml */,
@@ -2520,6 +2520,8 @@
 				C10F18721BF8F1830065F18C /* VankeStatementListModel.m */,
 				C1F790AC1C076191001AEBBB /* VankeStatementRejectModel.h */,
 				C1F790AD1C076191001AEBBB /* VankeStatementRejectModel.m */,
+				C1A026251C12CA2900737937 /* VankeStatementSubjectListModel.h */,
+				C1A026261C12CA2900737937 /* VankeStatementSubjectListModel.m */,
 				C12804DE1BC2D0BD001ECBAA /* VankeUserModel.h */,
 				C12804DF1BC2D0BD001ECBAA /* VankeUserModel.m */,
 				C12804D51BC124A3001ECBAA /* VankeWeatherModel.h */,
@@ -2545,18 +2547,20 @@
 				C12804E81BC2E2F4001ECBAA /* VankeResponse.m */,
 				C19ADE361BC80DD400206213 /* VankeSaleVolumeAPI.h */,
 				C19ADE371BC80DD400206213 /* VankeSaleVolumeAPI.m */,
+				C1F790A31C075A09001AEBBB /* VankeSettlementConfirmAPI.h */,
+				C1F790A41C075A09001AEBBB /* VankeSettlementConfirmAPI.m */,
 				C10F18741BF8F33B0065F18C /* VankeSettlementListAPI.h */,
 				C10F18751BF8F33B0065F18C /* VankeSettlementListAPI.m */,
+				C1F790A61C075A1A001AEBBB /* VankeSettlementRejectAPI.h */,
+				C1F790A71C075A1A001AEBBB /* VankeSettlementRejectAPI.m */,
+				C1A026221C12C9B400737937 /* VankeSettlementSubjectListAPI.h */,
+				C1A026231C12C9B400737937 /* VankeSettlementSubjectListAPI.m */,
 				C12804E41BC2DDDA001ECBAA /* VankeUserLoginAPI.h */,
 				C12804E51BC2DDDA001ECBAA /* VankeUserLoginAPI.m */,
 				C1CF9F5A1BF4D6EB0033C35E /* VankeVersionAPI.h */,
 				C1CF9F5B1BF4D6EB0033C35E /* VankeVersionAPI.m */,
 				C12804D81BC12A67001ECBAA /* VankeWeatherController.h */,
 				C12804D91BC12A67001ECBAA /* VankeWeatherController.m */,
-				C1F790A31C075A09001AEBBB /* VankeSettlementConfirmAPI.h */,
-				C1F790A41C075A09001AEBBB /* VankeSettlementConfirmAPI.m */,
-				C1F790A61C075A1A001AEBBB /* VankeSettlementRejectAPI.h */,
-				C1F790A71C075A1A001AEBBB /* VankeSettlementRejectAPI.m */,
 			);
 			path = controller;
 			sourceTree = "<group>";
@@ -4014,6 +4018,29 @@
 			path = minizip;
 			sourceTree = "<group>";
 		};
+		C1E0AD791C12FC7200DE6BB9 /* SRMonthPicker */ = {
+			isa = PBXGroup;
+			children = (
+				C1E0AD7A1C12FC7200DE6BB9 /* SRMonthPicker.h */,
+				C1E0AD7B1C12FC7200DE6BB9 /* SRMonthPicker.m */,
+			);
+			path = SRMonthPicker;
+			sourceTree = "<group>";
+		};
+		C1E0AD7D1C131D1F00DE6BB9 /* menu */ = {
+			isa = PBXGroup;
+			children = (
+				C1E0AD7E1C131D1F00DE6BB9 /* VankeMainTabBoard_iPhone.h */,
+				C1E0AD7F1C131D1F00DE6BB9 /* VankeMainTabBoard_iPhone.m */,
+				C1E0AD801C131D1F00DE6BB9 /* VankeMainTabBoard_iPhone.xml */,
+				C1E0AD821C131D1F00DE6BB9 /* VankeTenantTabBoard_iPhone.h */,
+				C1E0AD811C131D1F00DE6BB9 /* VankeTenantTabBoard_iPhone.m */,
+				C1E0AD831C131D1F00DE6BB9 /* VankeTenantTabBoard_iPhone.xml */,
+			);
+			name = menu;
+			path = main/menu;
+			sourceTree = "<group>";
+		};
 		E72B2156ABE650A3D6C56AFA /* Pods */ = {
 			isa = PBXGroup;
 			children = (
@@ -4139,7 +4166,6 @@
 				C11786491C0B3A5900DB7E4B /* money_add@3x.png in Resources */,
 				C1D595061BB42A6800D297FE /* splash3.xml in Resources */,
 				C11786561C0B3A5900DB7E4B /* salel_input_icon@2x.png in Resources */,
-				C19BBBFC1BBE85F500831290 /* VankeMainTabBoard_iPhone.xml in Resources */,
 				C19ADE3D1BC8147800206213 /* left_arrow.png in Resources */,
 				C19ADE4A1BC82ADB00206213 /* nav_orange_bg.png in Resources */,
 				C1CF9F531BEFB1530033C35E /* PriorityTagGrey@2x.png in Resources */,
@@ -4190,6 +4216,7 @@
 				C19ADE3E1BC8147800206213 /* left_arrow@2x.png in Resources */,
 				C19BBBFE1BBE85F500831290 /* VankeServiceBoardCell_iPhone.xml in Resources */,
 				C14D6F841BB813D300210172 /* little_up_icon@2x.png in Resources */,
+				C1E0AD871C131D1F00DE6BB9 /* VankeTenantTabBoard_iPhone.xml in Resources */,
 				C10F18561BF8AAC90065F18C /* Localizable.strings in Resources */,
 				C1D599B21BB58FD600D297FE /* icon_username@2x.png in Resources */,
 				C19BBC1C1BBE865400831290 /* VankeFloorListBoardCell_iPhone.xml in Resources */,
@@ -4203,6 +4230,7 @@
 				C14D6F781BB8098400210172 /* complaint@2x.png in Resources */,
 				C1DED3311BCEC4B40049BB2D /* business.png in Resources */,
 				C19BBC111BBE861700831290 /* VankeFloorDetailBoardPhoto_iPhone.xml in Resources */,
+				C1E0AD851C131D1F00DE6BB9 /* VankeMainTabBoard_iPhone.xml in Resources */,
 				C1DED3351BCEC4B40049BB2D /* home.png in Resources */,
 				C14D6F661BB8071700210172 /* home_checked@2x.png in Resources */,
 				C1D599B11BB58FD600D297FE /* icon_password@2x.png in Resources */,
@@ -4303,6 +4331,7 @@
 				C10F183F1BF7ACA80065F18C /* IBTSegmentedControl.m in Sources */,
 				C1D599711BB44B2100D297FE /* ASIAuthenticationDialog.m in Sources */,
 				C10F18451BF7ACA80065F18C /* IBTUILabel.m in Sources */,
+				C1A026241C12C9B400737937 /* VankeSettlementSubjectListAPI.m in Sources */,
 				C1D598941BB44B2000D297FE /* Bee_UICapability.m in Sources */,
 				C1D599721BB44B2100D297FE /* ASIDataCompressor.m in Sources */,
 				C1D599111BB44B2000D297FE /* Bee_UITemplateParserAndroid.m in Sources */,
@@ -4343,13 +4372,11 @@
 				C10F18201BF7ACA80065F18C /* UIView+ViewFrameGeometry.m in Sources */,
 				C1D598AD1BB44B2000D297FE /* Bee_UISearchBar.m in Sources */,
 				C1D5989F1BB44B2000D297FE /* Bee_UIDatePicker.m in Sources */,
-				C19BBBFB1BBE85F500831290 /* VankeMainTabBoard_iPhone.m in Sources */,
 				C10F18151BF7ACA80065F18C /* NSString+TrimmingAdditions.m in Sources */,
 				C10F18471BF7ACA80065F18C /* IBTUIScrollView.m in Sources */,
 				C1D598A61BB44B2000D297FE /* Bee_UIMenuController.m in Sources */,
 				C10F161C1BF77CA00065F18C /* ICRConfigurationViewController.m in Sources */,
 				C1D598B31BB44B2000D297FE /* Bee_UITextField.m in Sources */,
-				C11DD0611C060A9E00DD11E3 /* CDatePickerViewEx.m in Sources */,
 				C19BBC191BBE865400831290 /* VankeFloorListBoard_iPhone.m in Sources */,
 				C1D598B81BB44B2000D297FE /* Bee_UIWebView.m in Sources */,
 				C12804FD1BC417A6001ECBAA /* VankeProjectSummaryModel.m in Sources */,
@@ -4386,6 +4413,7 @@
 				C1D598721BB44B2000D297FE /* BeeUIStyle+Builder.m in Sources */,
 				C1D5992C1BB44B2100D297FE /* Bee_MYSQL.m in Sources */,
 				C10F183A1BF7ACA80065F18C /* IBTCommon.m in Sources */,
+				C1E0AD7C1C12FC7200DE6BB9 /* SRMonthPicker.m in Sources */,
 				C1D599831BB44B2100D297FE /* CXMLDocument.m in Sources */,
 				C1D598FE1BB44B2000D297FE /* Bee_UITransitionFade.m in Sources */,
 				C1D599801BB44B2100D297FE /* Reachability.m in Sources */,
@@ -4419,6 +4447,7 @@
 				C1D598E71BB44B2000D297FE /* UIViewController+BeeUILayout.m in Sources */,
 				C19BBC251BBE869500831290 /* PullLoader.m in Sources */,
 				C1D598CA1BB44B2000D297FE /* Bee_UIMatrixView.m in Sources */,
+				C1E0AD841C131D1F00DE6BB9 /* VankeMainTabBoard_iPhone.m in Sources */,
 				C10F182E1BF7ACA80065F18C /* ICRCheckBox.m in Sources */,
 				C10F186A1BF8EE2D0065F18C /* VankeStatementDetailListCell_iPhone.m in Sources */,
 				C1CF9F351BEF232A0033C35E /* VankeNoticeListBoard_iPhone.m in Sources */,
@@ -4513,6 +4542,7 @@
 				C1D598F61BB44B2000D297FE /* BeeUIQuery+Manipulation.m in Sources */,
 				C19BBBFD1BBE85F500831290 /* VankeServiceBoardCell_iPhone.m in Sources */,
 				C1D599701BB44B2100D297FE /* Bee_Service.m in Sources */,
+				C1E0AD861C131D1F00DE6BB9 /* VankeTenantTabBoard_iPhone.m in Sources */,
 				C1CF9F301BEF20DB0033C35E /* VankeNoticeBoard_iPhone.m in Sources */,
 				C1555F421C020F0900C80B55 /* IBTWebProgressBar.m in Sources */,
 				C1D5988D1BB44B2000D297FE /* Bee_UIDataBinding.m in Sources */,
@@ -4620,6 +4650,7 @@
 				C1D599211BB44B2100D297FE /* Bee_FileCache.mm in Sources */,
 				C10F18761BF8F33B0065F18C /* VankeSettlementListAPI.m in Sources */,
 				C18A953A1C01E8E100429BF7 /* ICRAnnouncementDetailHeadView.m in Sources */,
+				C1A026271C12CA2900737937 /* VankeStatementSubjectListModel.m in Sources */,
 				C19BBBF91BBE85F500831290 /* VankeMainBoard_iPhone.m in Sources */,
 				C1D599261BB44B2100D297FE /* NSObject+BeeUserDefaults.mm in Sources */,
 				C10F18401BF7ACA80065F18C /* IBTTabBarController.m in Sources */,
diff --git a/vanke/3rd/MonthYearDatePicker/CDatePickerViewEx.h b/vanke/3rd/MonthYearDatePicker/CDatePickerViewEx.h
deleted file mode 100644
index d4c0a6d94c8d0a6fd64284499dedce0c8245ba0f..0000000000000000000000000000000000000000
--- a/vanke/3rd/MonthYearDatePicker/CDatePickerViewEx.h
+++ /dev/null
@@ -1,30 +0,0 @@
-                                  //
-//  CDatePickerViewEx.h
-//  MonthYearDatePicker
-//
-//  Created by Igor on 18.03.13.
-//  Copyright (c) 2013 Igor. All rights reserved.
-//
-
-@interface CDatePickerViewEx : UIPickerView <UIPickerViewDelegate, UIPickerViewDataSource>
-
-@property (nonatomic, strong) UIColor *monthSelectedTextColor;
-@property (nonatomic, strong) UIColor *monthTextColor;
-
-@property (nonatomic, strong) UIColor *yearSelectedTextColor;
-@property (nonatomic, strong) UIColor *yearTextColor;
-
-@property (nonatomic, strong) UIFont *monthSelectedFont;
-@property (nonatomic, strong) UIFont *monthFont;
-
-@property (nonatomic, strong) UIFont *yearSelectedFont;
-@property (nonatomic, strong) UIFont *yearFont;
-
-@property (nonatomic, assign) NSInteger rowHeight;
-
-@property (nonatomic, strong, readonly) NSDate *date;
-
--(void)setupMinYear:(NSInteger)minYear maxYear:(NSInteger)maxYear;
--(void)selectToday;
-
-@end
\ No newline at end of file
diff --git a/vanke/3rd/MonthYearDatePicker/CDatePickerViewEx.m b/vanke/3rd/MonthYearDatePicker/CDatePickerViewEx.m
deleted file mode 100644
index 7fd0a88be35cb4ffddaa8faaf3dcb3b1c5e4425a..0000000000000000000000000000000000000000
--- a/vanke/3rd/MonthYearDatePicker/CDatePickerViewEx.m
+++ /dev/null
@@ -1,380 +0,0 @@
-                                        //
-//  CDatePickerViewEx.m
-//  MonthYearDatePicker
-//
-//  Created by Igor on 18.03.13.
-//  Copyright (c) 2013 Igor. All rights reserved.
-//
-
-#import "CDatePickerViewEx.h"
-
-// Identifiers of components
-#define MONTH ( 1 )
-#define YEAR ( 0 )
-
-
-// Identifies for component views
-#define LABEL_TAG 43
-
-
-@interface CDatePickerViewEx()
-
-@property (nonatomic, strong) NSIndexPath *todayIndexPath;
-@property (nonatomic, strong) NSArray *months;
-@property (nonatomic, strong) NSArray *years;
-
-@property (nonatomic, assign) NSInteger minYear;
-@property (nonatomic, assign) NSInteger maxYear;
-
-@end
-
-@implementation CDatePickerViewEx
-
-const NSInteger bigRowCount = 1000;
-const NSInteger numberOfComponents = 2;
-
-#pragma mark - Properties
-
--(void)setMonthFont:(UIFont *)monthFont
-{
-    if (monthFont)
-    {
-        _monthFont = monthFont;
-    }
-}
-
--(void)setMonthSelectedFont:(UIFont *)monthSelectedFont
-{
-    if (monthSelectedFont)
-    {
-        _monthSelectedFont = monthSelectedFont;
-    }
-}
-
--(void)setYearFont:(UIFont *)yearFont
-{
-    if (yearFont)
-    {
-        _yearFont = yearFont;
-    }
-}
-
--(void)setYearSelectedFont:(UIFont *)yearSelectedFont
-{
-    if (yearSelectedFont)
-    {
-        _yearSelectedFont = yearSelectedFont;
-    }
-}
-
-#pragma mark - Init
-
--(instancetype)init
-{
-    if (self = [super init])
-    {
-        [self loadDefaultsParameters];
-    }
-    return self;
-}
-
--(instancetype)initWithFrame:(CGRect)frame
-{
-    if (self = [super initWithFrame:frame])
-    {
-        [self loadDefaultsParameters];
-    }
-    return self;
-}
-
--(void)awakeFromNib
-{
-    [super awakeFromNib];
-
-    [self loadDefaultsParameters];
-}
-
-#pragma mark - Open methods
-
--(NSDate *)date
-{
-    NSInteger monthCount = self.months.count;
-    NSString *month = [self.months objectAtIndex:([self selectedRowInComponent:MONTH] % monthCount)];
-
-    NSInteger yearCount = self.years.count;
-    NSString *year = [self.years objectAtIndex:([self selectedRowInComponent:YEAR] % yearCount)];
-
-    NSDateFormatter *formatter = [NSDateFormatter new];
-    [formatter setDateFormat:@"MMMM:yyyy"];
-    NSDate *date = [formatter dateFromString:[NSString stringWithFormat:@"%@:%@", month, year]];
-    return date;
-}
-
-- (void)setupMinYear:(NSInteger)minYear maxYear:(NSInteger)maxYear
-{
-    self.minYear = minYear;
-
-    if (maxYear > minYear)
-    {
-        self.maxYear = maxYear;
-    }
-    else
-    {
-        self.maxYear = minYear + 10;
-    }
-
-    self.years = [self nameOfYears];
-    self.todayIndexPath = [self todayPath];
-}
-
--(void)selectToday
-{
-    [self selectRow: self.todayIndexPath.row
-        inComponent: MONTH
-           animated: NO];
-
-    [self selectRow: self.todayIndexPath.section
-        inComponent: YEAR
-           animated: NO];
-}
-
-#pragma mark - UIPickerViewDelegate
-
--(CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component
-{
-    return [self componentWidth];
-}
-
--(UIView *)pickerView: (UIPickerView *)pickerView viewForRow: (NSInteger)row forComponent: (NSInteger)component reusingView: (UIView *)view
-{
-    BOOL selected = NO;
-    if(component == MONTH)
-    {
-        NSInteger monthCount = self.months.count;
-        NSString *monthName = [self.months objectAtIndex:(row % monthCount)];
-        NSString *currentMonthName = [self currentMonthName];
-        if([monthName isEqualToString:currentMonthName] == YES)
-        {
-            selected = YES;
-        }
-    }
-    else
-    {
-        NSInteger yearCount = self.years.count;
-        NSString *yearName = [self.years objectAtIndex:(row % yearCount)];
-        NSString *currenrYearName  = [self currentYearName];
-        if([yearName isEqualToString:currenrYearName] == YES)
-        {
-            selected = YES;
-        }
-    }
-
-    UILabel *returnView = nil;
-    if(view.tag == LABEL_TAG)
-    {
-        returnView = (UILabel *)view;
-    }
-    else
-    {
-        returnView = [self labelForComponent:component];
-    }
-
-    returnView.font = selected ? [self selectedFontForComponent:component] : [self fontForComponent:component];
-    returnView.textColor = selected ? [self selectedColorForComponent:component] : [self colorForComponent:component];
-
-    returnView.text = [self titleForRow:row forComponent:component];
-    return returnView;
-}
-
--(CGFloat)pickerView:(UIPickerView *)pickerView rowHeightForComponent:(NSInteger)component
-{
-    return self.rowHeight;
-}
-
-#pragma mark - UIPickerViewDataSource
-
-- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
-{
-    return numberOfComponents;
-}
-
--(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
-{
-    if(component == MONTH)
-    {
-        return [self bigRowMonthCount];
-    }
-    return [self bigRowYearCount];
-}
-
-#pragma mark - Util
-
--(NSInteger)bigRowMonthCount
-{
-    return self.months.count  * bigRowCount;
-}
-
--(NSInteger)bigRowYearCount
-{
-    return self.years.count  * bigRowCount;
-}
-
--(CGFloat)componentWidth
-{
-//    return (self.bounds.size.width - 100) / numberOfComponents;
-    return 100.0f;
-}
-
--(NSString *)titleForRow:(NSInteger)row forComponent:(NSInteger)component
-{
-    if(component == MONTH)
-    {
-        NSInteger monthCount = self.months.count;
-        return [self.months objectAtIndex:(row % monthCount)];
-    }
-    NSInteger yearCount = self.years.count;
-    return [self.years objectAtIndex:(row % yearCount)];
-}
-
--(UILabel *)labelForComponent:(NSInteger)component
-{
-    CGRect frame = CGRectMake(0, 0, [self componentWidth], self.rowHeight);
-
-    UILabel *label = [[UILabel alloc] initWithFrame:frame];
-    label.textAlignment = UITextAlignmentCenter;
-    label.backgroundColor = [UIColor clearColor];
-    label.userInteractionEnabled = NO;
-
-    label.tag = LABEL_TAG;
-
-    return label;
-}
-
--(NSArray *)nameOfMonths
-{
-    return @[@"1月", @"2月", @"3月", @"4月", @"5月", @"6月", @"7月", @"8月", @"9月", @"10月", @"11月", @"12月"];
-}
-
--(NSArray *)nameOfYears
-{
-    NSMutableArray *years = [NSMutableArray array];
-
-    for(NSInteger year = self.minYear; year <= self.maxYear; year++)
-    {
-        NSString *yearStr = [NSString stringWithFormat:@"%liå¹´", (long)year];
-        [years addObject:yearStr];
-    }
-    return years;
-}
-
--(NSIndexPath *)todayPath // row - month ; section - year
-{
-    CGFloat row = 0.f;
-    CGFloat section = 0.f;
-
-    NSString *month = [self currentMonthName];
-    NSString *year  = [self currentYearName];
-
-    //set table on the middle
-    for(NSString *cellMonth in self.months)
-    {
-        if([cellMonth isEqualToString:month])
-        {
-            row = [self.months indexOfObject:cellMonth];
-            row = row + [self bigRowMonthCount] / 2;
-            break;
-        }
-    }
-
-    for(NSString *cellYear in self.years)
-    {
-        if([cellYear isEqualToString:year])
-        {
-            section = [self.years indexOfObject:cellYear];
-            section = section + [self bigRowYearCount] / 2;
-            break;
-        }
-    }
-
-    return [NSIndexPath indexPathForRow:row inSection:section];
-}
-
--(NSString *)currentMonthName
-{
-    NSDateFormatter *formatter = [NSDateFormatter new];
-    NSLocale *usLocale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_Hans_CN"];
-    [formatter setLocale:usLocale];
-    [formatter setDateFormat:@"MMMM"];
-    return [formatter stringFromDate:[NSDate date]];
-}
-
--(NSString *)currentYearName
-{
-    NSDateFormatter *formatter = [NSDateFormatter new];
-    [formatter setDateFormat:@"yyyy"];
-    return [formatter stringFromDate:[NSDate date]];
-}
-
-- (UIColor *)selectedColorForComponent:(NSInteger)component
-{
-    if (component == 0)
-    {
-        return self.monthSelectedTextColor;
-    }
-    return self.yearSelectedTextColor;
-}
-
-- (UIColor *)colorForComponent:(NSInteger)component
-{
-    if (component == 0)
-    {
-        return self.monthTextColor;
-    }
-    return self.yearTextColor;
-}
-
-- (UIFont *)selectedFontForComponent:(NSInteger)component
-{
-    if (component == 0)
-    {
-        return self.monthSelectedFont;
-    }
-    return self.yearSelectedFont;
-}
-
-- (UIFont *)fontForComponent:(NSInteger)component
-{
-    if (component == 0)
-    {
-        return self.monthFont;
-    }
-    return self.yearFont;
-}
-
--(void)loadDefaultsParameters
-{
-    self.minYear = 2008;
-    self.maxYear = 2030;
-    self.rowHeight = 44;
-
-    self.months = [self nameOfMonths];
-    self.years = [self nameOfYears];
-    self.todayIndexPath = [self todayPath];
-
-    self.delegate = self;
-    self.dataSource = self;
-
-    self.monthSelectedTextColor = [UIColor blueColor];
-    self.monthTextColor = [UIColor blackColor];
-
-    self.yearSelectedTextColor = [UIColor blueColor];
-    self.yearTextColor = [UIColor blackColor];
-
-    self.monthSelectedFont = [UIFont boldSystemFontOfSize:17];
-    self.monthFont = [UIFont boldSystemFontOfSize:17];
-
-    self.yearSelectedFont = [UIFont boldSystemFontOfSize:17];
-    self.yearFont = [UIFont boldSystemFontOfSize:17];
-}
-
-@end
\ No newline at end of file
diff --git a/vanke/3rd/SRMonthPicker/SRMonthPicker.h b/vanke/3rd/SRMonthPicker/SRMonthPicker.h
new file mode 100644
index 0000000000000000000000000000000000000000..52de58aec62c626a9a4ac8b9e1a8fdd4c2216acb
--- /dev/null
+++ b/vanke/3rd/SRMonthPicker/SRMonthPicker.h
@@ -0,0 +1,137 @@
+/*
+ Copyright (C) 2012-2015 Simon Rice
+ 
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ 
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ 
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+ */
+
+#import <UIKit/UIKit.h>
+
+#ifndef IBInspectable
+    #define IBInspectable
+#endif
+
+@class SRMonthPicker;
+
+/**
+  Defines a set of optional methods you can use to receive change-related 
+  messages for SRMonthPicker objects.  All of the methods in this protocol are 
+  optional.  Typically, the delegate implements other optional methods to 
+  respond to new selections. 
+ */
+@protocol SRMonthPickerDelegate <NSObject>
+
+@optional
+
+/**
+  Tells the delegate that a specified date is about to be selected.
+  @param monthPicker A month picker object informing the delegate about the 
+  impending selection.
+*/
+- (void)monthPickerWillChangeDate:(SRMonthPicker *)monthPicker;
+/**
+  Tells the delegate that a specified date has been selected.
+  @param monthPicker A month picker object informing the delegate about the 
+  committed selection.
+*/
+- (void)monthPickerDidChangeDate:(SRMonthPicker *)monthPicker;
+
+@end
+
+/**
+  The SRMonthPicker class implements an object that uses multiple rotating 
+  wheels to allow users to select a month and year.  This is similar to both 
+  iOS's UIDatePicker set to Date-only mode without the day element and Mobile
+  Safari's picker view that appears for an `<input type="month" />` tag.
+
+  Unlike UIDatePicker, SRMonthPicker does inherit from UIPickerView.  It does 
+  use both UIPickerViewDataSource and UIPickerViewDelegate, but presents a 
+  monthPickerDelegate property.
+*/
+@interface SRMonthPicker : UIPickerView<UIPickerViewDataSource, UIPickerViewDelegate>
+
+/**
+  The designated delegate for the month picker.
+  @warning **Important:** The delegate property is already used internally for 
+  UIPickerView's delegate - **please don't read from or assign to it**!
+  */
+@property (nonatomic, weak) id<SRMonthPickerDelegate> monthPickerDelegate;
+
+/**
+  The date represented by the month picker.
+  
+  The day component is ignored when written, and set to 1 when read.
+  */
+@property (nonatomic, strong) IBInspectable NSDate* date;
+
+/// The calendar currently being used
+@property (nonatomic, strong, readonly) NSCalendar *calendar;
+  
+/// The minimum year that a month picker can show.
+@property (nonatomic) IBInspectable NSInteger minimumYear;
+
+/// The maximum year that a month picker can show.
+@property (nonatomic) IBInspectable NSInteger maximumYear;
+
+/// A Boolean value that determines whether the year is shown first.
+@property (nonatomic) IBInspectable BOOL yearFirst;
+
+/// A Boolean value that determines whether the month wraps
+@property (nonatomic) IBInspectable BOOL wrapMonths;
+
+/// A Boolean value that determines whether the current month & year are coloured.
+@property (nonatomic) BOOL enableColourRow;
+
+/// en-US alias for `enableColourRow`.
+@property (nonatomic, getter = enableColourRow, setter = setEnableColourRow:) IBInspectable BOOL enableColorRow;
+
+/// Font to be used for all rows.  Default: System Bold, size 24.
+@property (nonatomic, strong) UIFont *font;
+
+/// Colour to be used for all "non coloured" rows.  Default: Black.
+@property (nonatomic, strong) UIColor *fontColour;
+
+/// en-US alias for `fontColour`.
+@property (nonatomic, strong, getter = fontColour, setter = setFontColour:) IBInspectable UIColor *fontColor;
+
+/**
+  Designated initialiser.
+
+  Initializes and returns a newly allocated month picker with the current calendar, 
+  month & year.
+*/
+-(id)init;
+
+/**
+  Initializes and returns a newly allocated month picker with the specified 
+  date and current calendar.
+  @param date The date to be represented by the month picker -  the day 
+  component will be ignored.
+*/
+-(id)initWithDate:(NSDate *)date;
+
+/**
+ Initializes and returns a newly allocated month picker with the specified
+ date and current calendar.
+ @param date The date to be represented by the month picker -  the day
+ component will be ignored.
+ @param calendar The calendar to used by the date.
+ */
+-(id)initWithDate:(NSDate *)date calendar:(NSCalendar *)calendar;
+
+@end
diff --git a/vanke/3rd/SRMonthPicker/SRMonthPicker.m b/vanke/3rd/SRMonthPicker/SRMonthPicker.m
new file mode 100644
index 0000000000000000000000000000000000000000..cfe88b7879ef1c4c144458eb1f1d6f3bb0752ab8
--- /dev/null
+++ b/vanke/3rd/SRMonthPicker/SRMonthPicker.m
@@ -0,0 +1,365 @@
+/*
+ Copyright (C) 2012-2015 Simon Rice
+ 
+ Permission is hereby granted, free of charge, to any person obtaining a copy
+ of this software and associated documentation files (the "Software"), to deal
+ in the Software without restriction, including without limitation the rights
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ copies of the Software, and to permit persons to whom the Software is
+ furnished to do so, subject to the following conditions:
+ 
+ The above copyright notice and this permission notice shall be included in
+ all copies or substantial portions of the Software.
+ 
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ THE SOFTWARE.
+ */
+
+#import "SRMonthPicker.h"
+
+#ifdef NSCalendarUnitMonth
+#define NSCalendarUnitMonth NSMonthCalendarUnit
+#endif
+
+#ifdef NSCalendarUnitYear
+#define NSCalendarUnitYear NSYearCalendarUnit
+#endif
+
+@interface SRMonthPicker()
+
+@property (nonatomic) NSInteger monthComponent;
+@property (nonatomic) NSInteger yearComponent;
+@property (nonatomic, strong, readonly) NSArray* monthStrings;
+@property (nonatomic, strong, readonly) NSDateFormatter* monthFormatter;
+@property (nonatomic, strong, readonly) NSDateFormatter* yearFormatter;
+
+-(void)p_prepare;
+-(NSInteger)p_yearFromRow:(NSUInteger)row;
+-(NSUInteger)p_rowFromYear:(NSInteger)year;
+
+@end
+
+@implementation SRMonthPicker
+
+static const NSInteger SRMonthRowMultiplier = 340;
+static const NSInteger SRDefaultMinimumYear = 1;
+static const NSInteger SRDefaultMaximumYear = 99999;
+static const NSCalendarUnit SRDateComponentFlags = NSCalendarUnitMonth | NSCalendarUnitYear;
+
+- (id)initWithDate:(NSDate *)date calendar:(NSCalendar *)calendar
+{
+    self = [super init];
+    
+    if (self)
+    {
+        _calendar = calendar;
+        [self p_prepare];
+        [self setDate:date];
+        self.showsSelectionIndicator = YES;
+    }
+    
+    return self;
+}
+
+-(id)initWithDate:(NSDate *)date
+{
+    self = [self initWithDate:date calendar:[NSCalendar currentCalendar]];
+    return self;
+}
+
+-(id)init
+{
+    self = [self initWithDate:[NSDate date] calendar:[NSCalendar currentCalendar]];
+    return self;
+}
+
+-(id)initWithCoder:(NSCoder *)aDecoder
+{
+    self = [super initWithCoder:aDecoder];
+    
+    if (self)
+    {
+        _minimumYear = SRDefaultMinimumYear;
+        _maximumYear = SRDefaultMaximumYear;
+        [self p_prepare];
+        if (!_calendar)
+            _calendar = [NSCalendar currentCalendar];
+        if (!_date)
+            [self setDate:[NSDate date]];
+    }
+    
+    return self;
+}
+
+-(id)initWithFrame:(CGRect)frame
+{
+    self = [super initWithFrame:frame];
+    
+    if (self)
+    {
+        _minimumYear = SRDefaultMinimumYear;
+        _maximumYear = SRDefaultMaximumYear;
+        
+        [self p_prepare];
+        if (!_calendar)
+            _calendar = [NSCalendar currentCalendar];
+        if (!_date)
+            [self setDate:[NSDate date]];
+    }
+    
+    return self;
+}
+
+-(id<UIPickerViewDelegate>)delegate
+{
+    return self;
+}
+
+-(void)setDelegate:(id<UIPickerViewDelegate>)delegate
+{
+    if ([delegate isEqual:self])
+        [super setDelegate:delegate];
+}
+
+-(id<UIPickerViewDataSource>)dataSource
+{
+    return self;
+}
+
+-(void)setDataSource:(id<UIPickerViewDataSource>)dataSource
+{
+    if ([dataSource isEqual:self])
+        [super setDataSource:dataSource];
+}
+
+-(NSInteger)monthComponent
+{
+    return self.yearComponent ^ 1;
+}
+
+-(NSInteger)yearComponent
+{
+    return !self.yearFirst;
+}
+
+-(NSDateFormatter *)monthFormatter {
+    static NSDateFormatter *formatter;
+    static dispatch_once_t onceToken;
+    dispatch_once(&onceToken, ^{
+        formatter = [[NSDateFormatter alloc] init];
+        formatter.calendar = self.calendar;
+        formatter.dateFormat = @"MMMM";
+        formatter.locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_Hans_CN"];
+    });
+    return formatter;
+}
+
+-(NSDateFormatter *)yearFormatter {
+    static NSDateFormatter *formatter;
+    static dispatch_once_t onceToken;
+    dispatch_once(&onceToken, ^{
+        formatter = [[NSDateFormatter alloc] init];
+        formatter.calendar = self.calendar;
+        formatter.dateFormat = @"y";
+    });
+    return formatter;
+}
+
+-(NSArray *)monthStrings
+{
+    return self.monthFormatter.monthSymbols;
+}
+
+-(void)setYearFirst:(BOOL)yearFirst
+{
+    _yearFirst = yearFirst;
+    NSDate* date = self.date;
+    [self reloadAllComponents];
+    [self setNeedsLayout];
+    [self setDate:date];
+}
+
+-(void)setMinimumYear:(NSInteger)minimumYear
+{
+    NSDate* currentDate = self.date;
+    NSDateComponents* components = [self.calendar components:SRDateComponentFlags fromDate:currentDate];
+    components.timeZone = [NSTimeZone defaultTimeZone];
+    
+    if (components.year < minimumYear)
+        components.year = minimumYear;
+    
+    _minimumYear = minimumYear;
+    [self reloadAllComponents];
+    [self setDate:[self.calendar dateFromComponents:components]];
+}
+
+-(void)setMaximumYear:(NSInteger)maximumYear
+{
+    NSDate* currentDate = self.date;
+    NSDateComponents* components = [self.calendar components:SRDateComponentFlags fromDate:currentDate];
+    components.timeZone = [NSTimeZone defaultTimeZone];
+    
+    if (components.year > maximumYear)
+        components.year = maximumYear;
+    
+    _maximumYear = maximumYear;
+    [self reloadAllComponents];
+    [self setDate:[self.calendar dateFromComponents:components]];
+}
+
+-(void)setWrapMonths:(BOOL)wrapMonths
+{
+    _wrapMonths = wrapMonths;
+    [self reloadAllComponents];
+}
+
+-(void)setDate:(NSDate *)date
+{
+    NSDateComponents* components = [self.calendar components:SRDateComponentFlags fromDate:date];
+    components.timeZone = [NSTimeZone defaultTimeZone];
+    
+    if (self.minimumYear && components.year < self.minimumYear)
+        components.year = self.minimumYear;
+    else if (self.maximumYear && components.year > self.maximumYear)
+        components.year = self.maximumYear;
+    
+    if(self.wrapMonths) {
+        NSInteger monthMidpoint = self.monthStrings.count * (SRMonthRowMultiplier / 2);
+        
+        [self selectRow:(components.month - 1 + monthMidpoint) inComponent:self.monthComponent animated:NO];
+    } else
+        [self selectRow:(components.month - 1) inComponent:self.monthComponent animated:NO];
+        
+    [self selectRow:[self p_rowFromYear:components.year] inComponent:self.yearComponent animated:NO];
+    
+    _date = [self.calendar dateFromComponents:components];
+}
+
+-(void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component
+{
+    NSDateComponents* components = [[NSDateComponents alloc] init];
+    components.month = 1 + ([self selectedRowInComponent:self.monthComponent] % self.monthStrings.count);
+    components.year = [self p_yearFromRow:[self selectedRowInComponent:self.yearComponent]];
+    
+    [self willChangeValueForKey:@"date"];
+    if ([self.monthPickerDelegate respondsToSelector:@selector(monthPickerWillChangeDate:)])
+        [self.monthPickerDelegate monthPickerWillChangeDate:self];
+    
+    _date = [self.calendar dateFromComponents:components];
+    
+    if ([self.monthPickerDelegate respondsToSelector:@selector(monthPickerDidChangeDate:)])
+        [self.monthPickerDelegate monthPickerDidChangeDate:self];
+    [self didChangeValueForKey:@"date"];
+}
+
+-(NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView
+{
+    return 2;
+}
+
+-(NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component
+{
+    if (component == self.monthComponent && !self.wrapMonths)
+        return self.monthStrings.count;
+    else if(component == self.monthComponent)
+        return SRMonthRowMultiplier * self.monthStrings.count;
+    
+    NSInteger maxYear = SRDefaultMaximumYear;
+    if (self.maximumYear)
+        maxYear = self.maximumYear;
+    
+    return [self p_rowFromYear:maxYear] + 1;
+}
+
+-(CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component
+{
+    if (component == self.monthComponent)
+        return 150.0f;
+    else
+        return 76.0f;
+}
+
+-(UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view
+{
+    CGFloat width = [self pickerView:self widthForComponent:component];
+    CGRect frame = CGRectMake(0.0f, 0.0f, width, 45.0f);
+    
+    if (component == self.monthComponent)
+    {
+        const CGFloat padding = 9.0f;
+        if (component) {
+            frame.origin.x += padding;
+            frame.size.width -= padding;
+        }
+        
+        frame.size.width -= padding;
+    }
+    
+    UILabel* label = [[UILabel alloc] initWithFrame:frame];
+    
+    NSDateFormatter* formatter = nil;
+    
+    if (component == self.monthComponent) {
+        label.text = [self.monthStrings objectAtIndex:(row % self.monthStrings.count)];
+        label.textAlignment = component ? NSTextAlignmentLeft : NSTextAlignmentRight;
+        formatter = self.monthFormatter;
+    } else {
+        formatter = self.yearFormatter;
+        
+        label.text = [NSString stringWithFormat:@"%ld", (long)[self p_yearFromRow:row]];
+        label.textAlignment = NSTextAlignmentCenter;
+    }
+    
+    label.font = self.font;
+    label.textColor = self.fontColour;
+    
+    if (self.enableColourRow && [[formatter stringFromDate:[NSDate date]] isEqualToString:label.text])
+        label.textColor = [UIColor colorWithRed:0.0f green:0.35f blue:0.91f alpha:1.0f];
+    
+    label.backgroundColor = [UIColor clearColor];
+    label.shadowOffset = CGSizeMake(0.0f, 0.1f);
+    label.shadowColor = [UIColor whiteColor];
+    
+    return label;
+}
+
+#pragma mark Private Methods
+
+-(NSInteger)p_yearFromRow:(NSUInteger)row
+{
+    NSInteger minYear = SRDefaultMinimumYear;
+    
+    if (self.minimumYear)
+        minYear = self.minimumYear;
+    
+    return row + minYear;
+}
+
+-(NSUInteger)p_rowFromYear:(NSInteger)year
+{
+    NSInteger minYear = SRDefaultMinimumYear;
+    
+    if (self.minimumYear)
+        minYear = self.minimumYear;
+    
+    return year - minYear;
+}
+
+-(void)p_prepare
+{
+    self.dataSource = self;
+    self.delegate = self;
+    
+    self.enableColourRow = YES;
+    self.wrapMonths = YES;
+    
+    self.font = [UIFont boldSystemFontOfSize:24.0f];
+    self.fontColor = [UIColor blackColor];
+}
+
+@end
diff --git a/vanke/controller/VankeSettlementListAPI.h b/vanke/controller/VankeSettlementListAPI.h
index f4ab727561af02c329fb5229b94158d8829163e2..e8ba08d056fcda79b0c671e5e55ff7c2cdbf4d5f 100755
--- a/vanke/controller/VankeSettlementListAPI.h
+++ b/vanke/controller/VankeSettlementListAPI.h
@@ -39,17 +39,6 @@
 
 @end
 
-// 对账单科目
-@interface SubjectItem : BeeActiveObject
-
-@property (nonatomic, strong) NSString *subject;
-@property (nonatomic, strong) NSString *beginDate;
-@property (nonatomic, strong) NSString *endDate;
-@property (nonatomic, strong) NSNumber *direction;
-@property (nonatomic, strong) NSNumber *amount;
-@property (nonatomic, strong) NSString *remark;
-
-@end
 
 // 对账单合计
 @interface StatementShop : BeeActiveObject
@@ -61,7 +50,6 @@
 @property (nonatomic, strong) NSString *settle;
 @property (nonatomic, strong) NSNumber *amount;
 @property (nonatomic, strong) NSString *state;
-@property (nonatomic, strong) NSArray *items; // SubjectItem
 
 -(NSString*) getPictureUrlOrDefault;
 -(NSString*) codeName;
diff --git a/vanke/controller/VankeSettlementListAPI.m b/vanke/controller/VankeSettlementListAPI.m
index d50e9fc1a07451ec86481a9f1b8f01feef8860e7..1c6b5a50560e9331f5aff4c294e5779ca9b7f9fb 100644
--- a/vanke/controller/VankeSettlementListAPI.m
+++ b/vanke/controller/VankeSettlementListAPI.m
@@ -81,19 +81,6 @@
 
 @end
 
-#pragma SubjectItem
-
-@implementation SubjectItem
-
-@synthesize subject = _subject;
-@synthesize beginDate = _beginDate;
-@synthesize endDate = _endDate;
-@synthesize direction = _direction;
-@synthesize amount = _amount;
-@synthesize remark = _remark;
-
-@end
-
 #pragma  StatementShop
 
 @implementation StatementShop
@@ -105,7 +92,6 @@
 @synthesize settle = _settle;
 @synthesize amount = _amount;
 @synthesize state = _state;
-@synthesize items = _items;
 
 CONVERT_PROPERTY_CLASS(items, SubjectItem)
 
diff --git a/vanke/controller/VankeSettlementSubjectListAPI.h b/vanke/controller/VankeSettlementSubjectListAPI.h
new file mode 100755
index 0000000000000000000000000000000000000000..635da193da090ce2f1dd4455d7e8cbc505225379
--- /dev/null
+++ b/vanke/controller/VankeSettlementSubjectListAPI.h
@@ -0,0 +1,67 @@
+//
+//  VankeSettlementSubjectListAPI.h
+//  vanke
+//  查询对账单列表
+//  Created by xiaomi on 15/10/8.
+//  Copyright © 2015年 gomore. All rights reserved.
+//
+
+#import "Bee.h"
+#import "VankeBaseAPI.h"
+#import "VankeResponse.h"
+
+@class Paging;
+@class SubjectItem;
+@class StatementShop;
+@class StatementListResponse;
+
+
+/*
+ * 查询对账单科目列表
+ * http://.../wanke-server/rest/statement?contract={contract}&settleEquals={settleEquals}
+ */
+@interface VankeSettlementSubjectListAPI : VankeBaseAPI
+
+// 账期等于
+@property (nonatomic, strong) NSDate *settle;
+
+// 合同ID
+@property (nonatomic, strong) NSString *contract;
+
+@end
+
+// 对账单科目
+@interface SubjectItem : BeeActiveObject
+
+@property (nonatomic, strong) NSString *subject;
+@property (nonatomic, strong) NSString *beginDate;
+@property (nonatomic, strong) NSString *endDate;
+@property (nonatomic, strong) NSNumber *direction;
+@property (nonatomic, strong) NSNumber *amount;
+@property (nonatomic, strong) NSString *remark;
+
+@end
+
+@interface StatementSubjectListResponseData : BeeActiveObject
+
+@property (nonatomic, strong) NSString *contract;
+@property (nonatomic, strong) NSString *shopCode;
+@property (nonatomic, strong) NSString *shopName;
+@property (nonatomic, strong) NSString *picture;
+@property (nonatomic, strong) NSString *settle;
+@property (nonatomic, strong) NSNumber *amount;
+@property (nonatomic, strong) NSString *state;
+@property (nonatomic, strong) NSArray *items; // SubjectItem
+
+-(NSString*) getPictureUrlOrDefault;
+-(NSString*) codeName;
+-(BOOL) unconfirmed;
+
+@end
+
+// 对账单返回
+@interface StatementSubjectListResponse : VankeResponse
+
+@property (nonatomic, strong) StatementSubjectListResponseData *data;
+
+@end
\ No newline at end of file
diff --git a/vanke/controller/VankeSettlementSubjectListAPI.m b/vanke/controller/VankeSettlementSubjectListAPI.m
new file mode 100644
index 0000000000000000000000000000000000000000..22ae0abbd009266cb53a0c0e98609b03bf421a66
--- /dev/null
+++ b/vanke/controller/VankeSettlementSubjectListAPI.m
@@ -0,0 +1,124 @@
+//
+//  VankeSettlementSubjectListAPI.m
+//  vanke
+//
+//  Created by xiaomi on 15/10/8.
+//  Copyright © 2015年 gomore. All rights reserved.
+//
+
+#import "VankeSettlementSubjectListAPI.h"
+#import "VankeConfig.h"
+#import "VankeUtil.h"
+
+@implementation VankeSettlementSubjectListAPI
+
+@synthesize settle = _settle;
+@synthesize contract = _contract;
+
+-(void) route:(BeeMessage *)msg {
+    if (self.sending)
+    {
+        if (![self checkToQuery]) {
+            return;
+        }
+        
+        [self http_get:@"/statement"].PARAM(@"settle", [self getSettleStr]).PARAM(@"contract", self.contract).TIMEOUT(10);
+    }
+    else if (self.succeed)
+    {
+        NSLog(@"response: %@", self.responseString);
+        
+        StatementSubjectListResponse *resp = [StatementSubjectListResponse objectFromDictionary: self.responseJSONDictionary];
+     
+        self.serverResp = resp;
+        if (nil == self.serverResp)
+        {
+            self.failed = YES;
+            return;
+        }
+    } else if (self.failed) {
+        NSLog(@"response: %@", self.responseString);
+        self.serverResp = [StatementSubjectListResponse objectFromDictionary: self.responseJSONDictionary];
+    }
+}
+
+-(BOOL) checkToQuery {
+    if (nil == _settle) {
+        [self setClientError: @"账期不能为空"];
+        return NO;
+    }
+    
+    if ([VankeUtil isBlankString:_contract]) {
+        [self setClientError: @"合同号不能为空"];
+        return NO;
+    }
+    
+    return YES;
+}
+
+-(NSString*) getSettleStr {
+    if (nil == _settle) {
+        return @"";
+    }
+    
+    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
+    [dateFormatter setDateFormat:@"yyyyMM"];
+    return [dateFormatter stringFromDate:_settle];
+}
+
+@end
+
+#pragma SubjectItem
+
+@implementation SubjectItem
+@synthesize subject = _subject;
+@synthesize beginDate = _beginDate;
+@synthesize endDate = _endDate;
+@synthesize direction = _direction;
+@synthesize amount = _amount;
+@synthesize remark = _remark;
+@end
+
+#pragma StatementSubjectListResponseData
+
+@implementation StatementSubjectListResponseData
+@synthesize contract = _contract;
+@synthesize shopCode = _shopCode;
+@synthesize shopName = _shopName;
+@synthesize picture = _picture;
+@synthesize settle = _settle;
+@synthesize amount = _amount;
+@synthesize state = _state;
+@synthesize items = _items;
+
+CONVERT_PROPERTY_CLASS(items, SubjectItem)
+
+-(NSString*) getPictureUrlOrDefault {
+    if ([VankeUtil isBlankString:self.picture]) {
+        return @"bill_default_image.png";
+    } else {
+        return [NSString stringWithFormat:@"%@/%@", VANKE_SERVER_MEDIA_BASE_URL, self.picture];
+    }
+}
+
+-(NSString*) codeName {
+    return [NSString stringWithFormat:@"%@ %@", _shopCode, _shopName];
+}
+
+-(BOOL) unconfirmed {
+    return [_state eq: @"unconfirmed"];
+}
+
+
+@end
+
+#pragma StatementSubjectListResponse
+
+@implementation StatementSubjectListResponse
+
+@synthesize data = _data;
+
+@end
+
+
+
diff --git a/vanke/controller/VankeUserLoginAPI.h b/vanke/controller/VankeUserLoginAPI.h
index 2936c9d3d4ea2247d9f82d3e0ff4ae925388e31a..6de15fe4afc6204adbdf266f22574260dec30a17 100755
--- a/vanke/controller/VankeUserLoginAPI.h
+++ b/vanke/controller/VankeUserLoginAPI.h
@@ -61,6 +61,10 @@
 
 @end
 
+extern NSString *const USER_POSITION_HQ;         // 用户职位: 集团
+extern NSString *const USER_POSITION_STORE;      // 用户职位: 市场用户
+extern NSString *const USER_POSITION_TENANT;     // 用户职位: 商户用户
+
 // 登录响应数据
 @interface LoginResponseData : BeeActiveObject
 
@@ -89,6 +93,9 @@
 // 授权组织
 @property (nonatomic, strong) NSArray *authorizedOrgs;
 
+// 职位
+@property (nonatomic, strong) NSString *position;
+
 
 -(User*) getUser;
 -(Enterpirse*) getEnterprise;
diff --git a/vanke/controller/VankeUserLoginAPI.m b/vanke/controller/VankeUserLoginAPI.m
index 7c75e6a8fe31f6492ef32f55256a71204685c8af..bdda90d36c35d6863adfb561c04c673988ff663d 100755
--- a/vanke/controller/VankeUserLoginAPI.m
+++ b/vanke/controller/VankeUserLoginAPI.m
@@ -81,9 +81,24 @@
 @synthesize code;
 @synthesize name;
 @synthesize picture;
+
+-(NSString*) getPicture {
+    if (![VankeUtil isBlankString:self.picture]) {
+        return self.picture;
+    } else {
+        return @"bill_default_image.png";
+    }
+}
+
+
 @end
 
 #pragma mark LoginResponseData
+
+NSString *const USER_POSITION_HQ = @"hq";         // 用户职位: 集团
+NSString *const USER_POSITION_STORE = @"store";      // 用户职位: 市场用户
+NSString *const USER_POSITION_TENANT = @"tenant";     // 用户职位: 商户用户
+
 @implementation LoginResponseData
 //@synthesize user;
 //@synthesize enterprise;
@@ -96,6 +111,7 @@
 @synthesize enterprise_name;
 @synthesize authenticode;
 @synthesize authorizedOrgs;
+@synthesize position;
 
 CONVERT_PROPERTY_CLASS(authorizedOrgs, AuthorizedOrg)
 
diff --git a/vanke/framework/mvc/view/dom-element/Bee_UISearchBar.h b/vanke/framework/mvc/view/dom-element/Bee_UISearchBar.h
index 3cfc28c75462258403445866376e939601393f24..e3b5e03e226df0576f211ec59137c2ffab119751 100755
--- a/vanke/framework/mvc/view/dom-element/Bee_UISearchBar.h
+++ b/vanke/framework/mvc/view/dom-element/Bee_UISearchBar.h
@@ -41,6 +41,7 @@
 @interface BeeUISearchBar : UISearchBar
 
 AS_SIGNAL( SEARCH )	// 点击搜索按钮
+AS_SIGNAL( CLEAR )	// 清空输入
 
 @end
 
diff --git a/vanke/framework/mvc/view/dom-element/Bee_UISearchBar.m b/vanke/framework/mvc/view/dom-element/Bee_UISearchBar.m
index 75dfa65cebe2a43eec967392acf3b5e9b863fcf8..6a9d8778817ae0bd6b3a0272e52504363a93d053 100755
--- a/vanke/framework/mvc/view/dom-element/Bee_UISearchBar.m
+++ b/vanke/framework/mvc/view/dom-element/Bee_UISearchBar.m
@@ -45,6 +45,7 @@
 }
 
 DEF_SIGNAL( SEARCH )
+DEF_SIGNAL( CLEAR )
 
 - (id)init
 {
@@ -101,11 +102,12 @@ DEF_SIGNAL( SEARCH )
 }
 
 -(void)searchBarTextDidEndEditing:(UISearchBar *)searchBar {
-    
 }
 
 -(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
-    
+    if ([self.text eq: @""]) {
+        [self sendUISignal:BeeUISearchBar.CLEAR];
+    }
 }
 
 -(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
diff --git a/vanke/model/VankeCommonModel.m b/vanke/model/VankeCommonModel.m
index 8139be268da0a3a7a6095079e7283a864289664b..cdfdaec28db1c37a80ef620a54b06ddb89fad012 100755
--- a/vanke/model/VankeCommonModel.m
+++ b/vanke/model/VankeCommonModel.m
@@ -61,22 +61,15 @@ DEF_SINGLETON(VankeCommonModel)
 
 -(NSArray*) getAuthOrgs {
     LoginResponseData *data = [self getLoginInfo];
-    if (nil != data) {
-        return data.authorizedOrgs;
+    if (nil != data && nil != data.authorizedOrgs) {
+        NSArray *sortedArray = [data.authorizedOrgs sortedArrayUsingComparator:^NSComparisonResult(id obj1, id obj2) {
+            NSComparisonResult result = [((AuthorizedOrg*) obj1).code compare:((AuthorizedOrg*) obj2).code];
+            return result;
+        }];
+        return sortedArray;
     } else {
         return nil;
     }
-    // TODO FOR TEST
-//    NSMutableArray *ary = [[NSMutableArray alloc] initWithCapacity:20];
-//    for( int i = 0; i < 20; ++i) {
-//        AuthorizedOrg *org = [[AuthorizedOrg alloc] init];
-//        org.uuid = [NSString stringWithFormat:@"%d", i];
-//        org.code = [NSString stringWithFormat:@"CODE%d", i];
-//        org.name = [NSString stringWithFormat:@"项目%d", i];
-//        org.picture = [NSString stringWithFormat:@"PICTURE%d", i];
-//        [ary addObject:org];
-//    }
-//    return ary;
 }
 
 - (NSString*) currentUserPwd {
diff --git a/vanke/model/VankeStatementSubjectListModel.h b/vanke/model/VankeStatementSubjectListModel.h
new file mode 100755
index 0000000000000000000000000000000000000000..a5efd328a5086205c84245206e2b4f65c1ea6980
--- /dev/null
+++ b/vanke/model/VankeStatementSubjectListModel.h
@@ -0,0 +1,28 @@
+//
+//  VankeStatementSubjectListModel.h
+//  vanke
+//
+//  Created by xiaomi on 15/10/8.
+//  Copyright © 2015年 gomore. All rights reserved.
+//
+
+#import "Bee.h"
+#import "VankeSettlementSubjectListAPI.h"
+
+@interface VankeStatementSubjectListModel : BeeStreamViewModel
+
+// 账期等于
+@property (nonatomic, strong) NSDate *settle;
+
+// 合同编号等于
+@property (nonatomic, strong) NSString *contract;
+
+// 科目列表
+@property (nonatomic, strong) NSMutableArray *items; // SubjectItem
+
+// 最后一次响应结果
+@property (nonatomic, strong) StatementSubjectListResponse *lastResp;
+
+@end
+
+
diff --git a/vanke/model/VankeStatementSubjectListModel.m b/vanke/model/VankeStatementSubjectListModel.m
new file mode 100755
index 0000000000000000000000000000000000000000..6b6046591fc659ab2e91027f5ea7c4687c807602
--- /dev/null
+++ b/vanke/model/VankeStatementSubjectListModel.m
@@ -0,0 +1,107 @@
+//
+//  VankeStatementSubjectListModel.m
+//  vanke
+//
+//  Created by xiaomi on 15/10/8.
+//  Copyright © 2015年 gomore. All rights reserved.
+//
+
+#import "VankeStatementSubjectListModel.h"
+
+#undef	PAGE_SIZE
+#define PAGE_SIZE	(20)
+
+@implementation VankeStatementSubjectListModel
+
+@synthesize settle = _settle;
+@synthesize contract = _contract;
+@synthesize items = _items;
+@synthesize lastResp = _lastResp;
+
+- (void)load
+{
+    self.autoSave = YES;
+    self.autoLoad = YES;
+    self.items = [NSMutableArray array];
+}
+
+- (void)unload
+{
+    self.settle = nil;
+    self.contract = nil;
+    self.items = nil;
+}
+
+#pragma mark - paging query
+
+- (void)firstPage
+{
+    [self gotoPage:1];
+}
+
+- (void)nextPage
+{
+    if ( self.items.count )
+    {
+        [self gotoPage:(self.items.count / PAGE_SIZE + 1)];
+    }
+}
+
+- (void)gotoPage:(NSUInteger)page {
+    [VankeSettlementSubjectListAPI cancel];
+    
+    VankeSettlementSubjectListAPI *api = [VankeSettlementSubjectListAPI api];
+    
+    @weakify(api);
+    @weakify(self);
+    
+    api.settle = self.settle;
+    api.contract = self.contract;
+    
+    api.whenUpdate = ^
+    {
+        @normalize(api);
+        @normalize(self);
+        
+        if ( api.sending )
+        {
+            [self sendUISignal:self.RELOADING];
+        }
+        else
+        {
+            if ( api.succeed )
+            {
+                StatementSubjectListResponse *resp = (StatementSubjectListResponse*) api.serverResp;
+                self.lastResp = resp;
+                if ( nil == resp || nil == resp.data || nil == resp.data.items )
+                {
+                    api.failed = YES;
+                }
+                else
+                {
+                    if ( page <= 1 )
+                    {
+                        [self.items removeAllObjects];
+                        [self.items addObjectsFromArray:resp.data.items];
+                    }
+                    else
+                    {
+                        [self.items addObjectsFromArray:resp.data.items];
+                        [self.items unique:^NSComparisonResult(id left, id right) {
+                            return [((SubjectItem*)left).subject compare:((SubjectItem*)right).subject];
+                        }];
+                    }
+                    
+                    self.more = NO;
+                    self.loaded = YES;
+                }
+            }
+                        
+            [self sendUISignal:self.RELOADED];
+        }
+    };
+    
+    [api send];
+}
+
+@end
diff --git a/vanke/view_iPhone/templates/VankeAppBoard_iPhone.m b/vanke/view_iPhone/templates/VankeAppBoard_iPhone.m
index 07efe474fa215eae4e927522fe732be4f21fe4fb..e351b0dec0b769f5043b1efe3b91e87c5c61b682 100755
--- a/vanke/view_iPhone/templates/VankeAppBoard_iPhone.m
+++ b/vanke/view_iPhone/templates/VankeAppBoard_iPhone.m
@@ -9,11 +9,13 @@
 
 #import "VankeAppBoard_iPhone.h"
 #import "VankeUtil.h"
+#import "VankeCommonModel.h"
 #import "VankeMainBoard_iPhone.h"
 #import "VankeLoginBoard_iPhone.h"
 #import "VankeAffairsBoard_iPhone.h"
 #import "VankeMainTabBoard_iPhone.h"
 #import "ICRSystemViewController.h"
+#import "VankeTenantTabBoard_iPhone.h"
 #import "ICRModifyPwdViewController.h"
 
 #pragma mark -
@@ -22,7 +24,9 @@
 {
     BeeUIRouter *               _router;
     UIWindow *                  _login;
-    VankeMainTabBoard_iPhone*   _tabbar;
+    
+    VankeMainTabBoard_iPhone*   _mainTabbar;
+    VankeTenantTabBoard_iPhone* _tenantTabbar;
 }
 @end
 
@@ -61,9 +65,6 @@ ON_CREATE_VIEWS( signal )
     [_router map:@"me" toClass:[ICRSystemViewController class]];
     [self.view addSubview:_router.view];
     
-    _tabbar = [VankeMainTabBoard_iPhone cell];
-    [self.view addSubview:_tabbar];
-    
     [self createAndShowLoginWindow];
     [self observeNotification:VankeLoginBoard_iPhone.SUCC_LOGIN];
     [self observeNotification:ICRSystemViewController.SUCC_LOGOUT];
@@ -112,19 +113,51 @@ ON_DID_DISAPPEAR( signal )
 
 #pragma notification
 
+#define HideLoginViewAnimationName @"LoginViewAnimation"
+
 ON_NOTIFICATION3( VankeLoginBoard_iPhone, SUCC_LOGIN, notification )
 {
-    [UIView beginAnimations:@"fadeIn" context:nil];
+    [UIView beginAnimations:HideLoginViewAnimationName context:nil];
     [UIView setAnimationDuration:0.5];
-    [self removeLoginWindow];
-    _router.view.alpha = 1.0f;
+    [UIView setAnimationCurve: UIViewAnimationCurveEaseOut];
+    [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
+    [UIView setAnimationDelegate:self];
     [UIView commitAnimations];
     
-    // 打开默认页面
-    [_router open:@"home" animated:YES];
-    BeeUIBoard *curBoard = _router.currentBoard;
-    if (nil != curBoard && [curBoard isKindOfClass:[VankeMainBoard_iPhone class]]) {
-        [((VankeMainBoard_iPhone*) curBoard).summaryModel reload];
+    LoginResponseData *loginInfo = [[VankeCommonModel sharedInstance] getLoginInfo];
+    BOOL isTenant = [USER_POSITION_TENANT eq: loginInfo.position];
+    if (isTenant) {
+        _tenantTabbar = [VankeTenantTabBoard_iPhone cell];
+        [self.view addSubview:_tenantTabbar];
+    } else {
+        _mainTabbar = [VankeMainTabBoard_iPhone cell];
+        [self.view addSubview:_mainTabbar];
+    }
+}
+
+// 代理方法,检测动画介绍然后进行其他操作 还有其他两个方法
+- (void)animationDidStop:(NSString *)animationId finished:(NSNumber *)finished context:(void *)context
+{
+    if ([animationId isEqualToString:HideLoginViewAnimationName]) {
+        [_login removeFromSuperview];
+        _login = nil;
+        
+        LoginResponseData *loginInfo = [[VankeCommonModel sharedInstance] getLoginInfo];
+        BOOL isTenant = [USER_POSITION_TENANT eq: loginInfo.position];
+        NSString *tabName = nil;
+        if (isTenant) {
+            tabName = [_tenantTabbar showAndSelectFirst];
+        } else {
+            tabName = [_mainTabbar showAndSelectFirst];
+        }
+    
+        _router.view.alpha = 1.0f;
+        [_router open:tabName animated:YES];
+//        // 打开默认页面
+//        BeeUIBoard *curBoard = _router.currentBoard;
+//        if (nil != curBoard && [curBoard isKindOfClass:[VankeMainBoard_iPhone class]]) {
+//            [((VankeMainBoard_iPhone*) curBoard).summaryModel reload];
+//        }
     }
 }
 
@@ -141,11 +174,8 @@ ON_NOTIFICATION3( ICRModifyPwdViewController, SUCC_LOGOUT, notification )
 ON_NOTIFICATION3( VankeAppBoard_iPhone, HIDE_MENU, notification )
 {
     NSString *userObj = notification.object;
-    if ([@"YES" eq:userObj]) {
-        _tabbar.hidden = YES;
-    } else {
-        _tabbar.hidden = NO;
-    }
+    UIView *curTab = [self currentTab];
+    curTab.hidden = [@"YES" eq:userObj];
     [self relayoutContentView];
 }
 
@@ -163,6 +193,15 @@ ON_SIGNAL3( VankeMainTabBoard_iPhone, me, signal )
 {
     [_router open:@"me" animated:YES];
 }
+ON_SIGNAL3( VankeTenantTabBoard_iPhone, affairs, signal )
+{
+    [_router open:@"affairs" animated:YES];
+}
+
+ON_SIGNAL3( VankeTenantTabBoard_iPhone, me, signal )
+{
+    [_router open:@"me" animated:YES];
+}
 
 -(void) createAndShowLoginWindow {
     // 先检查登录
@@ -176,16 +215,21 @@ ON_SIGNAL3( VankeMainTabBoard_iPhone, me, signal )
  *  重置router和菜单
  */
 -(void) relayoutContentView {
+    UIView *tab = [self currentTab];
+    if (nil == tab) {
+        return;
+    }
+    
     CGRect frame1;
     frame1.size.width = self.viewSize.width;
     frame1.size.height = 45.0f;
     frame1.origin.x = 0.0;
     frame1.origin.y = self.view.bounds.size.height - 45.0f;
-    _tabbar.frame = frame1;
+    tab.frame = frame1;
     
     CGRect frame2;
     frame2.size.width = self.viewSize.width;
-    if (_tabbar.hidden) {
+    if (tab.hidden) {
         frame2.size.height = self.viewSize.height;
     } else {
         frame2.size.height = self.viewSize.height - 45.0f;
@@ -195,14 +239,6 @@ ON_SIGNAL3( VankeMainTabBoard_iPhone, me, signal )
     _router.view.frame = frame2;
 }
 
-/**
- *  删除登录窗口
- */
--(void) removeLoginWindow {
-    [_login removeFromSuperview];
-    _login = nil;
-}
-
 /**
  *  退出登录
  */
@@ -210,8 +246,21 @@ ON_SIGNAL3( VankeMainTabBoard_iPhone, me, signal )
     [self createAndShowLoginWindow];
     
     _router.view.alpha = 0.0f;
-    [_tabbar selectHome];
-    [_router open:@"home" animated:NO];
+    UIView *tab = [self currentTab];
+    [tab removeFromSuperview];
+    tab = nil;
+//    [_tabbar showAndSelectFirst];
+//    [_router open:@"home" animated:NO];
+}
+
+-(UIView*) currentTab {
+    UIView *tab = nil;
+    if (nil != _mainTabbar) {
+        tab = _mainTabbar;
+    } else if (nil != _tenantTabbar) {
+        tab = _tenantTabbar;
+    }
+    return tab;
 }
 
 @end
\ No newline at end of file
diff --git a/vanke/view_iPhone/templates/affairs/VankeAffairsBoard_iPhone.m b/vanke/view_iPhone/templates/affairs/VankeAffairsBoard_iPhone.m
index cac83f2d288e04ecd1b7b9fcfba39b23b608b286..3575320c2d95d53168db173d4ef552f31f276b9c 100644
--- a/vanke/view_iPhone/templates/affairs/VankeAffairsBoard_iPhone.m
+++ b/vanke/view_iPhone/templates/affairs/VankeAffairsBoard_iPhone.m
@@ -17,6 +17,7 @@
 
 #import "VankeAffairsBoard_iPhone.h"
 #import "VankeUtil.h"
+#import "GEToast.h"
 #import "VankeCommonModel.h"
 #import "VankeAppBoard_iPhone.h"
 #import "VankeNoticeListBoard_iPhone.h"
@@ -106,7 +107,10 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnBill, signal) {
         [self showStatementList:org];
     } else {
         CGFloat xWidth = self.view.bounds.size.width - 20.0f;
-        CGFloat yHeight = 400.0f;
+        CGFloat yHeight = authorizedOrgs.count * 60 + 50;
+        if (yHeight > 400) {
+            yHeight = 400.0f;
+        }
         CGFloat yOffset = (self.view.bounds.size.height - yHeight)/2.0f;
         UIPopoverListView *poplistview = [[UIPopoverListView alloc] initWithFrame:CGRectMake(10, yOffset, xWidth, yHeight)];
         poplistview.delegate = self;
@@ -118,11 +122,11 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnBill, signal) {
 }
 
 ON_SIGNAL3(VankeAffairsBoard_iPhone, btnSaleInput, signal) {
-    INFO(@"button sale input pressed.");
+    [GEToast showWithText:@"销售录入正在开发中..." bottomOffset:60.0f duration:1.0f];
 }
 
 ON_SIGNAL3(VankeAffairsBoard_iPhone, btnServiceApply, signal) {
-    INFO(@"button service apply pressed.");
+    [GEToast showWithText:@"服务申请正在开发中..." bottomOffset:60.0f duration:1.0f];
 }
 
 #pragma mark - UIPopoverListViewDataSource
@@ -168,7 +172,7 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnServiceApply, signal) {
     
     [[VankeAppBoard_iPhone sharedInstance] hideMenu];
     VankeStatementListBoard_iPhone *board = [VankeStatementListBoard_iPhone board];
-    board.authorizedOrgUuidEquals = org.uuid;
+    board.authorizedOrgUuidEquals = org.code;
     [self.stack pushBoard:board animated:YES];
 }
 
diff --git a/vanke/view_iPhone/templates/login/VankeLoginBoard_iPhone.m b/vanke/view_iPhone/templates/login/VankeLoginBoard_iPhone.m
index 742dee7e1f306281717cbd6fe3b6d5928e924da6..6e20625d2d5344129514d918d75bf517339690da 100755
--- a/vanke/view_iPhone/templates/login/VankeLoginBoard_iPhone.m
+++ b/vanke/view_iPhone/templates/login/VankeLoginBoard_iPhone.m
@@ -121,7 +121,7 @@ ON_SIGNAL3( VankeLoginBoard_iPhone, btnLogin, signal )
 ON_SIGNAL3( VankeLoginBoard_iPhone, txtUserName, signal )
 {
     if ([signal is:BeeUITextField.CLEAR]) {
-        [self setLoginButtonEnabled: NO];
+        [self setLoginButtonEnabled:NO];
     } else {
         [self refreshLoginButtonStyle];
     }
diff --git a/vanke/view_iPhone/templates/main/VankeMainBoard_iPhone.m b/vanke/view_iPhone/templates/main/VankeMainBoard_iPhone.m
index e78de03e95edfeeaa3eaab43b472ae88c84f4c8e..ccfe1e9632dc20e799c13da8f603ee98394444a9 100755
--- a/vanke/view_iPhone/templates/main/VankeMainBoard_iPhone.m
+++ b/vanke/view_iPhone/templates/main/VankeMainBoard_iPhone.m
@@ -84,6 +84,7 @@ ON_WILL_APPEAR( signal )
     [BeeUIRouter sharedInstance].view.pannable = YES;
     self.navigationBarShown = NO;
     [[VankeAppBoard_iPhone sharedInstance] showMenu];
+    [_summaryModel reload];
 }
 
 ON_DID_APPEAR( signal )
diff --git a/vanke/view_iPhone/templates/main/VankeMainTabBoard_iPhone.h b/vanke/view_iPhone/templates/main/VankeMainTabBoard_iPhone.h
deleted file mode 100755
index be09651e2d1be1b45c47f70dda1eb8615e2f023e..0000000000000000000000000000000000000000
--- a/vanke/view_iPhone/templates/main/VankeMainTabBoard_iPhone.h
+++ /dev/null
@@ -1,17 +0,0 @@
-
-
-#import "Bee.h"
-
-#pragma mark -
-
-@interface VankeMainTabBoard_iPhone : BeeUICell
-
-AS_OUTLET( BeeUIButton, home );
-AS_OUTLET( BeeUIButton, affairs );
-AS_OUTLET( BeeUIButton, me );
-
-- (void)selectHome;
-- (void)selectAffairs;
-- (void)selectMe;
-
-@end
diff --git a/vanke/view_iPhone/templates/main/menu/VankeMainTabBoard_iPhone.h b/vanke/view_iPhone/templates/main/menu/VankeMainTabBoard_iPhone.h
new file mode 100755
index 0000000000000000000000000000000000000000..54ba07f7e4a21e9fbf1e8df5f8ba40825a5785cc
--- /dev/null
+++ b/vanke/view_iPhone/templates/main/menu/VankeMainTabBoard_iPhone.h
@@ -0,0 +1,24 @@
+
+
+#import "Bee.h"
+
+#pragma mark -
+
+extern NSString *const MAIN_TAB_NAME_HOME;     // home
+extern NSString *const MAIN_TAB_NAME_AFFAIRS;  // affairs
+extern NSString *const MAIN_TAB_NAME_ME;       // me
+
+@interface VankeMainTabBoard_iPhone : BeeUICell
+
+AS_OUTLET( BeeUIButton, home );
+AS_OUTLET( BeeUIButton, affairs );
+AS_OUTLET( BeeUIButton, me );
+
+- (void)selectHome;
+- (void)selectAffairs;
+- (void)selectMe;
+
+-(NSString*) showAndSelectFirst;
+-(void) hideTab: (NSString*) tabName visible: (BOOL) visible;
+
+@end
diff --git a/vanke/view_iPhone/templates/main/VankeMainTabBoard_iPhone.m b/vanke/view_iPhone/templates/main/menu/VankeMainTabBoard_iPhone.m
similarity index 62%
rename from vanke/view_iPhone/templates/main/VankeMainTabBoard_iPhone.m
rename to vanke/view_iPhone/templates/main/menu/VankeMainTabBoard_iPhone.m
index 23419e5426c8e35de94ef4570595df3a15e1e6af..409e58be10f43b136854bf47a7e124ab1f1af3f0 100755
--- a/vanke/view_iPhone/templates/main/VankeMainTabBoard_iPhone.m
+++ b/vanke/view_iPhone/templates/main/menu/VankeMainTabBoard_iPhone.m
@@ -1,6 +1,11 @@
 
 
 #import "VankeMainTabBoard_iPhone.h"
+#import "VankeCommonModel.h"
+
+NSString *const MAIN_TAB_NAME_HOME = @"home";     // home
+NSString *const MAIN_TAB_NAME_AFFAIRS = @"affairs";  // affairs
+NSString *const MAIN_TAB_NAME_ME = @"me";       // me
 
 #pragma mark -
 
@@ -19,6 +24,17 @@ DEF_OUTLET( BeeUIButton, home );
 DEF_OUTLET( BeeUIButton, affairs );
 DEF_OUTLET( BeeUIButton, me );
 
+- (void)load
+{
+}
+
+- (void)unload
+{
+}
+
+- (void)dataDidChanged {
+}
+
 - (void)selectHome
 {
     [self removeActiveClass];
@@ -50,6 +66,27 @@ DEF_OUTLET( BeeUIButton, me );
     }
 }
 
+-(NSString*) showAndSelectFirst {
+    if ([self.home visible]) {
+        [self selectHome];
+        return MAIN_TAB_NAME_HOME;
+    } else if ([self.affairs visible]) {
+        [self selectAffairs];
+        return MAIN_TAB_NAME_AFFAIRS;
+    } else {
+        [self selectMe];
+        return MAIN_TAB_NAME_ME;
+    }
+}
+
+-(void) hideTab: (NSString*) tabName visible: (BOOL) visible {
+    if (visible) {
+        $(tabName).SHOW();
+    } else {
+        $(tabName).HIDE();
+    }
+}
+
 ON_SIGNAL3( VankeMainTabBoard_iPhone, home, signal )
 {
     [self selectHome];
diff --git a/vanke/view_iPhone/templates/main/VankeMainTabBoard_iPhone.xml b/vanke/view_iPhone/templates/main/menu/VankeMainTabBoard_iPhone.xml
similarity index 100%
rename from vanke/view_iPhone/templates/main/VankeMainTabBoard_iPhone.xml
rename to vanke/view_iPhone/templates/main/menu/VankeMainTabBoard_iPhone.xml
diff --git a/vanke/view_iPhone/templates/main/menu/VankeTenantTabBoard_iPhone.h b/vanke/view_iPhone/templates/main/menu/VankeTenantTabBoard_iPhone.h
new file mode 100755
index 0000000000000000000000000000000000000000..cc5e6f915ab4cbc6c63e7e5b38b27044c48bc370
--- /dev/null
+++ b/vanke/view_iPhone/templates/main/menu/VankeTenantTabBoard_iPhone.h
@@ -0,0 +1,21 @@
+
+
+#import "Bee.h"
+
+#pragma mark -
+
+extern NSString *const TENANT_TAB_NAME_AFFAIRS;  // affairs
+extern NSString *const TENANT_TAB_NAME_ME;       // me
+
+@interface VankeTenantTabBoard_iPhone : BeeUICell
+
+AS_OUTLET( BeeUIButton, affairs );
+AS_OUTLET( BeeUIButton, me );
+
+- (void)selectAffairs;
+- (void)selectMe;
+
+-(NSString*) showAndSelectFirst;
+-(void) hideTab: (NSString*) tabName visible: (BOOL) visible;
+
+@end
diff --git a/vanke/view_iPhone/templates/main/menu/VankeTenantTabBoard_iPhone.m b/vanke/view_iPhone/templates/main/menu/VankeTenantTabBoard_iPhone.m
new file mode 100755
index 0000000000000000000000000000000000000000..1ed2400fed9ec7d567d2f88a857c8aaa3a5894d5
--- /dev/null
+++ b/vanke/view_iPhone/templates/main/menu/VankeTenantTabBoard_iPhone.m
@@ -0,0 +1,88 @@
+
+
+#import "VankeTenantTabBoard_iPhone.h"
+#import "VankeCommonModel.h"
+
+NSString *const TENANT_TAB_NAME_AFFAIRS = @"affairs";  // affairs
+NSString *const TENANT_TAB_NAME_ME = @"me";       // me
+
+#pragma mark -
+
+@interface VankeTenantTabBoard_iPhone()
+{
+	//<#@private var#>
+}
+@end
+
+@implementation VankeTenantTabBoard_iPhone
+
+SUPPORT_RESOURCE_LOADING(YES)
+SUPPORT_AUTOMATIC_LAYOUT(YES)
+
+DEF_OUTLET( BeeUIButton, affairs );
+DEF_OUTLET( BeeUIButton, me );
+
+- (void)load
+{
+}
+
+- (void)unload
+{
+}
+
+- (void)dataDidChanged {
+}
+
+- (void)selectAffairs
+{
+    [self removeActiveClass];
+    [self addActiveClass:$(self.affairs) relayout:YES];
+}
+
+- (void)selectMe
+{
+    [self removeActiveClass];
+    [self addActiveClass:$(self.me) relayout:YES];
+}
+
+- (void) removeActiveClass {
+    $(self.affairs).REMOVE_CLASS( @"active" );
+    $(self.me).REMOVE_CLASS( @"active" );
+}
+
+- (void) addActiveClass: (BeeUIQuery*) activeItem relayout: (BOOL) relayout {
+    activeItem.ADD_CLASS( @"active" );
+    if (relayout) {
+        self.RELAYOUT();
+    }
+}
+
+-(NSString*) showAndSelectFirst {
+    if ([self.affairs visible]) {
+        [self selectAffairs];
+        return TENANT_TAB_NAME_AFFAIRS;
+    } else {
+        [self selectMe];
+        return TENANT_TAB_NAME_ME;
+    }
+}
+
+-(void) hideTab: (NSString*) tabName visible: (BOOL) visible {
+    if (visible) {
+        $(tabName).SHOW();
+    } else {
+        $(tabName).HIDE();
+    }
+}
+
+ON_SIGNAL3( VankeTenantTabBoard_iPhone, affairs, signal )
+{
+    [self selectAffairs];
+}
+
+ON_SIGNAL3( VankeTenantTabBoard_iPhone, me, signal )
+{
+    [self selectMe];
+}
+
+@end
diff --git a/vanke/view_iPhone/templates/main/menu/VankeTenantTabBoard_iPhone.xml b/vanke/view_iPhone/templates/main/menu/VankeTenantTabBoard_iPhone.xml
new file mode 100755
index 0000000000000000000000000000000000000000..c7c6c171e328aab99dcdc70cb2ae71dca57257d9
--- /dev/null
+++ b/vanke/view_iPhone/templates/main/menu/VankeTenantTabBoard_iPhone.xml
@@ -0,0 +1,63 @@
+<?xml version="1.0" encoding="utf-8" ?>
+
+<template namespace="VankeTenantTabBoard_iPhone" version="1">
+    
+    <linear class="wrapper" orientation="h">
+        <image id="bg"/>
+        
+        <linear orientation="v" class="item">
+            <button id="affairs" class="icon" />
+        </linear>
+        
+        <linear orientation="v" class="item">
+            <button id="me" class="icon" />
+        </linear>
+  
+    </linear>
+    
+    <style type="text/css">
+        #bg {
+            image-mode: fit;
+            position: absolute;
+            left: 0;
+            top: 0;
+            background-color: white;
+        }
+        
+        .wrapper {
+            width: 100%;
+            height: 100%;
+        }
+        
+        .item {
+            width: 50%;
+            height: 100%;
+            color: gray;
+            font-size: 13px;
+            font-weight: lighter;
+            v-align: center;
+        }
+        
+        .icon {
+            height: 40px;
+            image-mode: center;
+        }
+        
+        #affairs {
+            image-src: url(home.png);
+        }
+        
+        #affairs.active {
+            image-src: url(home_checked.png);
+        }
+        
+        #me {
+            image-src: url(user.png);
+        }
+        
+        #me.active {
+            image-src: url(user_checked.png);
+        }
+    </style>
+</template>
+
diff --git a/vanke/view_iPhone/templates/notice/VankeNoticeListBoard_iPhone.xml b/vanke/view_iPhone/templates/notice/VankeNoticeListBoard_iPhone.xml
index 009e2dc0508749160164ce8db3a8c003f32852bf..0211c0fe48ef813786fe203e3107f513be7edc96 100644
--- a/vanke/view_iPhone/templates/notice/VankeNoticeListBoard_iPhone.xml
+++ b/vanke/view_iPhone/templates/notice/VankeNoticeListBoard_iPhone.xml
@@ -25,23 +25,24 @@
     }
     
     .segment-wrapper {
-        height: 30px;
+        height: 50px;
         width: 100%;
         position: absolute;
         left: 0px;
-        top: 70px;
+        top: 64px;
         align: center;
+        v-align: center;
     }
     
     #segment {
-        height: 100%;
+        height: 30px;
         width: 80%;
     }
     
     #list {
         position: absolute;
         left: 0px;
-        top: 45px;
+        top: 51px;
         width: 100%;
         height: 100%;
     }
diff --git a/vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.h b/vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.h
index f0e108645e04c8249f00b41d5fddac83b1ad11af..fb28c76186438084c8df8b609bf4c4d29e133cda 100644
--- a/vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.h
+++ b/vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.h
@@ -17,20 +17,21 @@
 
 #import "Bee.h"
 #import "VankeBaseBoard.h"
-#import "VankeStatementListModel.h"
+#import "VankeSettlementListAPI.h"
+#import "VankeStatementSubjectListModel.h"
 #import "VankeStatementDetailMonthCell_iPhone.h"
 
 #pragma mark -
 
 @interface VankeStatementDetailListBoard_iPhone : VankeBaseBoard
 
-AS_MODEL( VankeStatementListModel, model )
+AS_MODEL( VankeStatementSubjectListModel, model )
 AS_OUTLET( BeeUIScrollView,     list )
 AS_OUTLET( VankeStatementDetailMonthCell_iPhone, settlementBar)
 AS_OUTLET( BeeUIImageView, imgState)
 
-@property (nonatomic, strong) NSString *authorizedOrgUuidEquals;
 @property (nonatomic, strong) NSDate *settleEquals;
+@property (nonatomic, strong) NSString *contractEquals;
 @property (nonatomic, strong) StatementShop *data;
 
 @end
diff --git a/vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.m b/vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.m
index 5c24d25f558f112c7460dbc23314563bcbb31f5d..10f37a3baef9ac3bf5dd4f23fb3a9012322adab1 100644
--- a/vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.m
+++ b/vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.m
@@ -20,9 +20,11 @@
 #import "FootLoader.h"
 #import "VankeUtil.h"
 #import "GEToast.h"
+#import "SRMonthPicker.h"
 #import "NoDataCell_iPhoneCell.h"
 #import "VankeStatementRejectModel.h"
 #import "VankeStatementConfirmModel.h"
+#import "VankeStatementSubjectListModel.h"
 #import "VankeStatementDetailListCell_iPhone.h"
 #import "VankeStatementDetailMonthCell_iPhone.h"
 
@@ -43,7 +45,7 @@ SUPPORT_RESOURCE_LOADING( YES )
 
 @synthesize data = _data;
 @synthesize settleEquals = _settleEquals;
-@synthesize authorizedOrgUuidEquals = _authorizedOrgUuidEquals;
+@synthesize contractEquals = _contractEquals;
 
 DEF_MODEL( VankeStatementListModel, model )
 DEF_OUTLET( BeeUIScrollView,     list )
@@ -52,7 +54,7 @@ DEF_OUTLET( BeeUIImageView, imgState)
 
 - (void)load
 {
-    self.model = [VankeStatementListModel modelWithObserver:self];
+    self.model = [VankeStatementSubjectListModel modelWithObserver:self];
     confirmModel = [VankeStatementConfirmModel modelWithObserver:self];
     rejectModel = [VankeStatementRejectModel modelWithObserver:self];
 }
@@ -88,8 +90,6 @@ ON_LAYOUT_VIEWS( signal )
 ON_WILL_APPEAR( signal )
 {
     self.navigationBarShown = YES;
-    //    [self.list reloadData];
-    
     if ( NO == self.model.loaded )
     {
         [self.model firstPage];
@@ -120,23 +120,28 @@ ON_DID_DISAPPEAR( signal )
 
 #pragma mark model
 
-ON_SIGNAL3( VankeStatementListModel, RELOADING, signal )
+ON_SIGNAL3( VankeStatementSubjectListModel, RELOADING, signal )
 {
     [GEToast showProgress:self.view];
     self.list.headerLoading = YES;
     self.list.footerLoading = YES;
 }
 
-ON_SIGNAL3( VankeStatementListModel, RELOADED, signal )
+ON_SIGNAL3( VankeStatementSubjectListModel, RELOADED, signal )
 {
     [GEToast hideProgress];
     self.list.headerLoading = NO;
     self.list.footerLoading = NO;
     self.list.footerMore = self.model.more;
     [self.list reloadData];
-    $(self.settlementBar).DATA(_data);
-    $(self.imgState).DATA([NSString stringWithFormat:@"%@_big.png", _data.state]);
-    [self showOperButtons: [_data unconfirmed]];
+    
+    StatementSubjectListResponseData *respData = _model.lastResp.data;
+    if (nil != respData) {
+        self.title = [respData codeName];
+        $(self.settlementBar).DATA(respData);
+        $(self.imgState).DATA([NSString stringWithFormat:@"%@_big.png", _data.state]);
+        [self showOperButtons: [_data unconfirmed]];
+    }
 }
 
 ON_SIGNAL3( VankeStatementConfirmModel, RELOADING, signal ) {
@@ -172,17 +177,26 @@ ON_SIGNAL3( VankeStatementRejectModel, RELOADED, signal ) {
 
 #pragma VankeStatementDetailMonthCell_iPhone
 
+-(SRMonthPicker*) buildMonthPicker {
+    NSCalendar *calendar = [NSCalendar currentCalendar];
+    calendar.locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_Hans_CN"];
+    SRMonthPicker *picker = [[SRMonthPicker alloc] initWithDate: _settleEquals calendar: calendar];
+    picker.yearFirst = YES;
+    NSDate *today = [NSDate date];
+    picker.maximumYear = today.year;
+    picker.minimumYear = 2000;
+    return picker;
+}
+
 ON_SIGNAL3(VankeStatementDetailMonthCell_iPhone, pickerMask, signal) {
     UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"\n\n\n\n\n\n\n\n\n\n" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
-    UIDatePicker *picker = [[UIDatePicker alloc] init];
-    [picker setDatePickerMode:UIDatePickerModeDate];
-    [picker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh_Hans_CN"]];
+    SRMonthPicker *picker = [self buildMonthPicker];
     [alertController.view addSubview:picker];
     [alertController addAction:({
         UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
             // 立即设置账期
             self.settleEquals = picker.date;
-            self.model.settleEquals = self.settleEquals;
+            self.model.settle = self.settleEquals;
             [self.model firstPage];
         }];
         action;
@@ -218,7 +232,7 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) {
         NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
         [dateFormatter setDateFormat:@"yyyyMM"];
         NSString *settleStr = [dateFormatter stringFromDate:_settleEquals];
-        [confirmModel confirm: _data.contract settle:settleStr];
+        [confirmModel confirm: _model.contract settle:settleStr];
     }];
     [alertController addAction:cancelAction];
     [alertController addAction:archiveAction];
@@ -236,7 +250,7 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) {
             [dateFormatter setDateFormat:@"yyyyMM"];
             NSString *settleStr = [dateFormatter stringFromDate:_settleEquals];
             
-            [rejectModel reject:_data.contract settle:settleStr message:msgField.text];
+            [rejectModel reject:_model.contract settle:settleStr message:msgField.text];
         }
     }
 }
@@ -267,10 +281,9 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) {
     
     self.list.whenReloading = ^
     {
-        [self initCurrentData];
-        self.list.total = _data.items.count;
+        self.list.total = _model.items.count;
         
-        INFO(@"total = %d", _data.items.count);
+        INFO(@"total = %d", _model.items.count);
         
         if (self.list.total <= 0) {
             self.list.total = 1;
@@ -288,7 +301,7 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) {
                 item.order = 0;
                 item.rule = BeeUIScrollLayoutRule_Fall;
                 item.clazz = [VankeStatementDetailListCell_iPhone class];
-                SubjectItem *subject = [_data.items safeObjectAtIndex:item.index];
+                SubjectItem *subject = [_model.items safeObjectAtIndex:item.index];
                 item.data = subject;
             }
         }
@@ -314,22 +327,9 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) {
     {
         [self.model nextPage];
     };
-    
-    if (![VankeUtil isBlankString:_data.shopCode]) {
-        _model.shopLike = _data.shopCode;
-    }
-    _model.projectsIn = [[NSArray alloc] initWithObjects:_authorizedOrgUuidEquals, nil];
-    _model.settleEquals = _settleEquals;
-}
 
--(void) initCurrentData {
-    for (StatementShop *shop in _model.shops) {
-        if (nil != _data && nil != _data.shopCode && [_data.shopCode eq:shop.shopCode]) {
-            _data = shop;
-            break;
-        }
-    }
+    _model.settle = _settleEquals;
+    _model.contract = _contractEquals;
 }
 
-
 @end
diff --git a/vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.xml b/vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.xml
index 1e39416f66a49719dd9d36bafc5d0abc5f345719..099251c9ea8469e151867f716da44a91de3ccf01 100644
--- a/vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.xml
+++ b/vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.xml
@@ -39,7 +39,7 @@
         #list {
             position: absolute;
             left: 0px;
-            top: 75px;
+            top: 69px;
             width: 100%;
             height: 100%;
         }
@@ -49,7 +49,7 @@
             width: 100%;
             position: absolute;
             left: 0px;
-            top: 64px;
+            top: 60px;
         }
         
         .image-state {
diff --git a/vanke/view_iPhone/templates/statement/VankeStatementDetailListCell_iPhone.m b/vanke/view_iPhone/templates/statement/VankeStatementDetailListCell_iPhone.m
index ba8260192d1eaefc5687aecf6fbadb50efc93a39..e2627a9ac1e0da4ec095469bb2dc3962350565f7 100644
--- a/vanke/view_iPhone/templates/statement/VankeStatementDetailListCell_iPhone.m
+++ b/vanke/view_iPhone/templates/statement/VankeStatementDetailListCell_iPhone.m
@@ -16,7 +16,7 @@
 //
 
 #import "VankeStatementDetailListCell_iPhone.h"
-#import "VankeSettlementListAPI.h"
+#import "VankeSettlementSubjectListAPI.h"
 #import "VankeUtil.h"
 
 #pragma mark -
@@ -60,20 +60,7 @@ DEF_OUTLET(BeeUILabel, lblDateRange)
     }
     
     $(self.lblAmount).DATA([NSString stringWithFormat:@"%.2f ", [item.amount doubleValue]]);
-    
-    NSString *beginDate = [self trancateToDateString: item.beginDate];
-    NSString *endDate = [self trancateToDateString: item.endDate];
-    $(self.lblDateRange).DATA([NSString stringWithFormat:@"%@ 至 %@", beginDate, endDate]);
-}
-
--(NSString*) trancateToDateString: (NSString*) dateTimeStr {
-    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
-    [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
-    NSDate *date = [dateFormatter dateFromString:dateTimeStr];
-    
-    NSDateFormatter *dateFormatter2 = [[NSDateFormatter alloc] init];
-    [dateFormatter2 setDateFormat:@"yyyy-MM-dd"];
-    return [dateFormatter2 stringFromDate:date];
+    $(self.lblDateRange).DATA([NSString stringWithFormat:@"%@ 至 %@", item.beginDate, item.endDate]);
 }
 
 - (void)layoutDidFinish
diff --git a/vanke/view_iPhone/templates/statement/VankeStatementDetailMonthCell_iPhone.m b/vanke/view_iPhone/templates/statement/VankeStatementDetailMonthCell_iPhone.m
index 2da171ee149a682797b72e1287be3bae1a9bd0f4..db3e5e86483edd50dafcf9e66116d763294cd1b7 100644
--- a/vanke/view_iPhone/templates/statement/VankeStatementDetailMonthCell_iPhone.m
+++ b/vanke/view_iPhone/templates/statement/VankeStatementDetailMonthCell_iPhone.m
@@ -16,7 +16,9 @@
 //
 
 #import "VankeStatementDetailMonthCell_iPhone.h"
+#import "VankeCommonModel.h"
 #import "VankeSettlementListAPI.h"
+#import "VankeSettlementSubjectListAPI.h"
 
 #pragma mark -
 
@@ -41,18 +43,39 @@ DEF_OUTLET( BeeUILabel,     lblTotalPrefix )
 
 - (void)dataDidChanged
 {
-    StatementShop *shop = (StatementShop*) self.data;
-    if (nil == shop) {
-        return;
+    NSDate *settleDate = nil;
+    NSNumber *amount = nil;
+
+    if ([self.data isKindOfClass:[StatementShop class]]) {
+        StatementShop *shop = (StatementShop*) self.data;
+        if (nil != shop) {
+            NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
+            [dateFormatter setDateFormat:@"yyyy-MM-dd"];
+            settleDate = [dateFormatter dateFromString:shop.settle];
+            amount = shop.amount;
+        }
+    } else if ([self.data isKindOfClass:[StatementSubjectListResponseData class]]) {
+        StatementSubjectListResponseData *subject = (StatementSubjectListResponseData*) self.data;
+        if (nil != subject) {
+            NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
+            [dateFormatter setDateFormat:@"yyyyMM"];
+            settleDate = [dateFormatter dateFromString:subject.settle];
+            amount = subject.amount;
+        }
     }
     
-    NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
-    [dateFormatter setDateFormat:@"yyyyMM"];
-    NSDate *settleDate = [dateFormatter dateFromString:shop.settle];
     [self setSettleDate:settleDate];
-    
-    NSNumber *amount = shop.amount;
     $(self.lblAmount).DATA([NSString stringWithFormat:@"%.2f ", nil == amount? 0.0f:[amount doubleValue]]);
+    
+    VankeCommonModel *model = [VankeCommonModel sharedInstance];
+    LoginResponseData *loginInfo = [model getLoginInfo];
+    if (nil != loginInfo) {
+        if ([USER_POSITION_TENANT eq:loginInfo.position]) {
+            $(self.lblTotalPrefix).DATA(@"本期应付金额");
+        } else {
+            $(self.lblTotalPrefix).DATA(@"本期应收金额");
+        }
+    }
 }
 
 - (void)layoutDidFinish
diff --git a/vanke/view_iPhone/templates/statement/VankeStatementListBoard_iPhone.m b/vanke/view_iPhone/templates/statement/VankeStatementListBoard_iPhone.m
index dda3a52f53c5cd96a884b30c0b63ee5bb7d4247a..3c3ee2316754ab1a2100926c49f7fc869e0137ab 100644
--- a/vanke/view_iPhone/templates/statement/VankeStatementListBoard_iPhone.m
+++ b/vanke/view_iPhone/templates/statement/VankeStatementListBoard_iPhone.m
@@ -20,7 +20,7 @@
 #import "FootLoader.h"
 #import "VankeUtil.h"
 #import "GEToast.h"
-#import "CDatePickerViewEx.h"
+#import "SRMonthPicker.h"
 #import "NoDataCell_iPhoneCell.h"
 #import "VankeStatementListItemCell_iPhone.h"
 #import "VankeStatementDetailListBoard_iPhone.h"
@@ -136,15 +136,21 @@ ON_SIGNAL3( VankeStatementListModel, RELOADED, signal )
 
 #pragma VankeStatementMonthCell_iPhone
 
+-(SRMonthPicker*) buildMonthPicker {
+    NSCalendar *calendar = [NSCalendar currentCalendar];
+    calendar.locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_Hans_CN"];
+    SRMonthPicker *picker = [[SRMonthPicker alloc] initWithDate: _settlementBar.settleDate calendar: calendar];
+    picker.yearFirst = YES;
+    NSDate *today = [NSDate date];
+    picker.maximumYear = today.year;
+    picker.minimumYear = 2000;
+    return picker;
+}
+
 ON_SIGNAL3(VankeStatementMonthCell_iPhone, pickerMask, signal) {
     UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"\n\n\n\n\n\n\n\n\n\n" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
-//    CDatePickerViewEx *picker = [[CDatePickerViewEx alloc] init];
-    UIDatePicker *picker = [[UIDatePicker alloc]init];
-    [picker setDatePickerMode:UIDatePickerModeDate];
-    [picker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh_Hans_CN"]];
-    if (nil != _settlementBar.settleDate) {
-        [picker setDate:_settlementBar.settleDate];
-    }
+    
+    SRMonthPicker *picker = [self buildMonthPicker];
     [alertController.view addSubview:picker];
     [alertController addAction:({
         UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {            
@@ -173,7 +179,7 @@ ON_SIGNAL3(VankeStatementListItemCell_iPhone, mask, signal) {
     VankeStatementDetailListBoard_iPhone *board = [VankeStatementDetailListBoard_iPhone board];
     board.data = cellValue;
     board.settleEquals = _model.settleEquals;
-    board.authorizedOrgUuidEquals = _authorizedOrgUuidEquals;
+    board.contractEquals = cellValue.contract;
     [self.stack pushBoard:board animated:YES];
 }
 
@@ -208,7 +214,7 @@ ON_SIGNAL3(VankeStatementListItemCell_iPhone, mask, signal) {
         } else {
             for ( BeeUIScrollItem *item in self.list.items )
             {
-                item.size = CGSizeMake( self.list.width / self.list.lineCount, 70 );
+                item.size = CGSizeMake( self.list.width / self.list.lineCount, 80 );
                 item.order = 0;
                 item.rule = BeeUIScrollLayoutRule_Fall;
                 item.clazz = [VankeStatementListItemCell_iPhone class];
@@ -241,7 +247,11 @@ ON_SIGNAL3(VankeStatementListItemCell_iPhone, mask, signal) {
     
     _model.shopLike = _shopLike;
     _model.projectsIn = [[NSArray alloc] initWithObjects:_authorizedOrgUuidEquals, nil];
-    _model.settleEquals = [NSDate date];
+    
+    NSDateFormatter *df = [[NSDateFormatter alloc]init];
+    df.dateFormat = @"yyyy-MM-dd";
+//    _model.settleEquals = [NSDate date];
+    _model.settleEquals = [df dateFromString:@"2015-10-11"];
 }
 
 @end
diff --git a/vanke/view_iPhone/templates/statement/VankeStatementListBoard_iPhone.xml b/vanke/view_iPhone/templates/statement/VankeStatementListBoard_iPhone.xml
index 1235602fca104a8275c7fabdd2fa288b5cf3bb82..2ac27e991503ff1b343e4a228c0f766fe981e838 100644
--- a/vanke/view_iPhone/templates/statement/VankeStatementListBoard_iPhone.xml
+++ b/vanke/view_iPhone/templates/statement/VankeStatementListBoard_iPhone.xml
@@ -5,7 +5,7 @@
         <image class="bg" />
         <list id="list"/>
         <VankeStatementMonthCell_iPhone id="settlementBar" />
-        <searchbar id="searchBar" class="search-wrapper" />
+        <searchbar id="searchBar" />
     </linear>
     
     <style type="text/css">
@@ -27,30 +27,30 @@
             background-color: #fafafa;
         }
         
-        #list {
-            position: absolute;
-            left: 0px;
-            top: 120px;
-            width: 100%;
-            height: 100%;
-        }
-        
         #settlementBar {
             height: 75px;
             width: 100%;
             position: absolute;
             left: 0px;
-            top: 64px;
+            top: 60px;
         }
         
-        .search-wrapper {
+        #searchBar {
             height: 45px;
             width: 100%;
             position: absolute;
             left: 0px;
-            top: 139px;
+            top: 132px;
             placeholder: "请输入商家代码或名称";
         }
         
+        #list {
+            position: absolute;
+            left: 0px;
+            top: 115px;
+            width: 100%;
+            height: 100%;
+        }
+        
     </style>
 </ui>
diff --git a/vanke/view_iPhone/templates/statement/VankeStatementListItemCell_iPhone.xml b/vanke/view_iPhone/templates/statement/VankeStatementListItemCell_iPhone.xml
index 6e5973e9095d71eaf7c6c0a6fd66ec5f4732591c..da364be2b83aea1e4c0738cf43015b88e8365824 100644
--- a/vanke/view_iPhone/templates/statement/VankeStatementListItemCell_iPhone.xml
+++ b/vanke/view_iPhone/templates/statement/VankeStatementListItemCell_iPhone.xml
@@ -74,7 +74,7 @@
         }
         
         .photo-col {
-            width: 25%;
+            width: 20%;
         }
         
         .photo-col .photo {
@@ -86,8 +86,8 @@
         }
         
         .name-col {
-            width: 35%;
-            margin-right: 5px;
+            width: 40%;
+            padding-right: 10px;
         }
         
         .name-col .name {
diff --git a/vanke/view_iPhone/templates/statement/VankeStatementMonthCell_iPhone.m b/vanke/view_iPhone/templates/statement/VankeStatementMonthCell_iPhone.m
index cae4fb2c282d2dba0d724ed7d518968d94f5ea91..28d6ffa83e647c560db7e096693203be162e1089 100644
--- a/vanke/view_iPhone/templates/statement/VankeStatementMonthCell_iPhone.m
+++ b/vanke/view_iPhone/templates/statement/VankeStatementMonthCell_iPhone.m
@@ -17,6 +17,7 @@
 
 #import "VankeStatementMonthCell_iPhone.h"
 #import "VankeSettlementListAPI.h"
+#import "VankeCommonModel.h"
 
 #pragma mark -
 
@@ -57,6 +58,16 @@ DEF_OUTLET( BeeUILabel,     lblTotalPrefix )
     
     NSNumber *amount = resp.data.amount;
     $(self.lblAmount).DATA([NSString stringWithFormat:@"%.2f ", nil == amount? 0.0f:[amount doubleValue]]);
+    
+    VankeCommonModel *model = [VankeCommonModel sharedInstance];
+    LoginResponseData *loginInfo = [model getLoginInfo];
+    if (nil != loginInfo) {
+        if ([USER_POSITION_TENANT eq:loginInfo.position]) {
+            $(self.lblTotalPrefix).DATA(@"应付金额");
+        } else {
+            $(self.lblTotalPrefix).DATA(@"应收金额");
+        }
+    }
 }
 
 - (void)layoutDidFinish