Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
万
万科
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张杰
万科
Commits
5310677b
Commit
5310677b
authored
9 years ago
by
Achilles
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
提交查询接口。
parent
5959242c
No related merge requests found
Show whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
730 additions
and
289 deletions
+730
-289
project.pbxproj
vanke.xcodeproj/project.pbxproj
+14
-0
CDatePickerViewEx.h
vanke/3rd/MonthYearDatePicker/CDatePickerViewEx.h
+30
-0
CDatePickerViewEx.m
vanke/3rd/MonthYearDatePicker/CDatePickerViewEx.m
+380
-0
VankeBaseAPI.m
vanke/controller/VankeBaseAPI.m
+11
-13
VankeSettlementListAPI.h
vanke/controller/VankeSettlementListAPI.h
+17
-10
VankeSettlementListAPI.m
vanke/controller/VankeSettlementListAPI.m
+45
-88
VankeCommonModel.m
vanke/model/VankeCommonModel.m
+16
-16
VankeStatementListModel.h
vanke/model/VankeStatementListModel.h
+2
-4
VankeStatementListModel.m
vanke/model/VankeStatementListModel.m
+11
-9
VankeAffairsBoard_iPhone.m
.../view_iPhone/templates/affairs/VankeAffairsBoard_iPhone.m
+6
-1
VankeStatementDetailListBoard_iPhone.h
...emplates/statement/VankeStatementDetailListBoard_iPhone.h
+2
-0
VankeStatementDetailListBoard_iPhone.m
...emplates/statement/VankeStatementDetailListBoard_iPhone.m
+83
-67
VankeStatementDetailListCell_iPhone.h
...templates/statement/VankeStatementDetailListCell_iPhone.h
+0
-1
VankeStatementDetailListCell_iPhone.m
...templates/statement/VankeStatementDetailListCell_iPhone.m
+14
-4
VankeStatementDetailMonthCell_iPhone.m
...emplates/statement/VankeStatementDetailMonthCell_iPhone.m
+4
-1
VankeStatementListBoard_iPhone.h
...hone/templates/statement/VankeStatementListBoard_iPhone.h
+5
-1
VankeStatementListBoard_iPhone.m
...hone/templates/statement/VankeStatementListBoard_iPhone.m
+80
-71
VankeStatementMonthCell_iPhone.h
...hone/templates/statement/VankeStatementMonthCell_iPhone.h
+1
-1
VankeStatementMonthCell_iPhone.m
...hone/templates/statement/VankeStatementMonthCell_iPhone.m
+9
-2
No files found.
vanke.xcodeproj/project.pbxproj
View file @
5310677b
...
...
@@ -86,6 +86,7 @@
C10F18701BF8EE600065F18C
/* VankeStatementListBoard_iPhone.xml in Resources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
C10F186E1BF8EE600065F18C
/* VankeStatementListBoard_iPhone.xml */
;
};
C10F18731BF8F1830065F18C
/* VankeStatementListModel.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
C10F18721BF8F1830065F18C
/* VankeStatementListModel.m */
;
};
C10F18761BF8F33B0065F18C
/* VankeSettlementListAPI.m in Sources */
=
{
isa
=
PBXBuildFile
;
fileRef
=
C10F18751BF8F33B0065F18C
/* VankeSettlementListAPI.m */
;
};
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 */
;
};
...
...
@@ -810,6 +811,8 @@
C10F18721BF8F1830065F18C
/* VankeStatementListModel.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
VankeStatementListModel.m
;
sourceTree
=
"<group>"
;
};
C10F18741BF8F33B0065F18C
/* VankeSettlementListAPI.h */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.h
;
path
=
VankeSettlementListAPI.h
;
sourceTree
=
"<group>"
;
};
C10F18751BF8F33B0065F18C
/* VankeSettlementListAPI.m */
=
{
isa
=
PBXFileReference
;
fileEncoding
=
4
;
lastKnownFileType
=
sourcecode.c.objc
;
path
=
VankeSettlementListAPI.m
;
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>"
;
};
...
...
@@ -1832,6 +1835,7 @@
C10F180A1BF7ACA80065F18C
/* ImagePreview */
,
C18A95461C01F64500429BF7
/* LBorderView */
,
C10F180D1BF7ACA80065F18C
/* Macro */
,
C11DD05E1C060A9E00DD11E3
/* MonthYearDatePicker */
,
C1555F981C04D39600C80B55
/* UIPopoverList */
,
);
path
=
3rd
;
...
...
@@ -2119,6 +2123,15 @@
name
=
statement
;
sourceTree
=
"<group>"
;
};
C11DD05E1C060A9E00DD11E3
/* MonthYearDatePicker */
=
{
isa
=
PBXGroup
;
children
=
(
C11DD05F1C060A9E00DD11E3
/* CDatePickerViewEx.h */
,
C11DD0601C060A9E00DD11E3
/* CDatePickerViewEx.m */
,
);
path
=
MonthYearDatePicker
;
sourceTree
=
"<group>"
;
};
C12804F11BC40CE7001ECBAA
/* util */
=
{
isa
=
PBXGroup
;
children
=
(
...
...
@@ -4295,6 +4308,7 @@
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 */
,
...
...
This diff is collapsed.
Click to expand it.
vanke/3rd/MonthYearDatePicker/CDatePickerViewEx.h
0 → 100644
View file @
5310677b
//
// 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
This diff is collapsed.
Click to expand it.
vanke/3rd/MonthYearDatePicker/CDatePickerViewEx.m
0 → 100644
View file @
5310677b
//
// 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
.
0
f
;
}
-
(
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
This diff is collapsed.
Click to expand it.
vanke/controller/VankeBaseAPI.m
View file @
5310677b
...
...
@@ -30,14 +30,14 @@
-
(
BeeHTTPRequest
*
)
http_post
:
(
NSString
*
)
url
{
NSString
*
absUrl
=
[
NSString
stringWithFormat
:
@"%@%@"
,
VANKE_SERVER_BASE_URL
,
url
];
BeeHTTPRequest
*
req
=
self
.
HTTP_POST
(
absUrl
);
[
[[
self
addAuthorizationToHeader
:
req
]
addJsonContentTypeToHeader
:
req
]
addEnterpriseIdToHeader
:
req
]
;
[
self
addHeaders
:
req
];
;
return
req
;
}
-
(
BeeHTTPRequest
*
)
http_get
:
(
NSString
*
)
url
{
NSString
*
absUrl
=
[
NSString
stringWithFormat
:
@"%@/%@"
,
VANKE_SERVER_BASE_URL
,
url
];
BeeHTTPRequest
*
req
=
self
.
HTTP_GET
(
absUrl
);
[
[[
self
addAuthorizationToHeader
:
req
]
addJsonContentTypeToHeader
:
req
]
addEnterpriseIdToHeader
:
req
];
[
self
addHeaders
:
req
];
return
req
;
}
...
...
@@ -46,22 +46,20 @@
[
self
setLastError
:
-
1
domain
:
BeeMessage
.
ERROR_DOMAIN_CLIENT
desc
:
error
];
}
-
(
VankeBaseAPI
*
)
addAuthorizationToHeader
:
(
BeeHTTPRequest
*
)
req
{
NSString
*
src
=
[
NSString
stringWithFormat
:
@"%@:%@"
,
VANKE_SERVER_USER_NAME
,
VANKE_SERVER_PASSWORD
];
req
.
HEADER
(
@"Authorization"
,
[
NSString
stringWithFormat
:
@"Basic %@"
,
[
VankeUtil
base64
:
src
]]);
return
self
;
}
-
(
VankeBaseAPI
*
)
addHeaders
:
(
BeeHTTPRequest
*
)
req
{
req
.
HEADER
(
@"Content-Type"
,
@"application/json;charset=utf-8"
);
req
.
HEADER
(
@"Accept"
,
@"application/json;charset=utf-8"
);
-
(
VankeBaseAPI
*
)
addJsonContentTypeToHeader
:
(
BeeHTTPRequest
*
)
req
{
req
.
HEADER
(
@"Content-Type"
,
@"application/json"
);
return
self
;
}
-
(
VankeBaseAPI
*
)
addEnterpriseIdToHeader
:
(
BeeHTTPRequest
*
)
req
{
Enterpirse
*
ent
=
[[
VankeCommonModel
sharedInstance
]
currentEnt
];
if
(
nil
!=
ent
&&
!
[
VankeUtil
isBlankString
:
ent
.
uuid
])
{
req
.
HEADER
(
@"enterprise"
,
ent
.
uuid
);
}
NSString
*
src
=
[
NSString
stringWithFormat
:
@"%@:%@"
,
VANKE_SERVER_USER_NAME
,
VANKE_SERVER_PASSWORD
];
NSString
*
auth
=
[
NSString
stringWithFormat
:
@"Basic %@"
,
[
VankeUtil
base64
:
src
]];
INFO
(
auth
);
req
.
HEADER
(
@"Authorization"
,
auth
);
return
self
;
}
...
...
This diff is collapsed.
Click to expand it.
vanke/controller/VankeSettlementListAPI.h
View file @
5310677b
...
...
@@ -12,21 +12,21 @@
@class
Paging
;
@class
SubjectItem
;
@class
StatementS
ummary
;
@class
StatementS
hop
;
@class
StatementListResponse
;
/*
* 查询对账单列表
* http://.../wanke-server/rest/
project/queryprojectsby?classificationEquals={classificationEquals}&nameLike={nameLike}&salesDateEquals={salesDateEquals}& passengerDateEquals={passengerDateEquals}&trafficDateEquals={trafficDateEquals
}
* http://.../wanke-server/rest/
statement/query?settleEquals={settleEquals}&confirmed={confirmed}&authorizedOrgIn={authorizedOrgIn}&shopLike={shopLike}&pageNumber={pageNumber}&pageSize={pageSize
}
*/
@interface
VankeSettlementListAPI
:
VankeBaseAPI
// 账期等于
@property
(
nonatomic
,
strong
)
NSDate
*
settleEquals
;
//
是否已确认
@property
(
nonatomic
,
assign
)
BOOL
confirmed
;
//
状态: unconfirmed, confirmed, rejected
@property
(
nonatomic
,
strong
)
NSString
*
billState
;
// 项目列表
@property
(
nonatomic
,
strong
)
NSArray
*
projectsIn
;
...
...
@@ -34,6 +34,9 @@
// 商铺名称或代码类似于
@property
(
nonatomic
,
strong
)
NSString
*
shopLike
;
@property
(
nonatomic
,
assign
)
NSInteger
pageNumber
;
@property
(
nonatomic
,
assign
)
NSInteger
pageSize
;
@end
// 分页信息
...
...
@@ -65,7 +68,7 @@
@property
(
nonatomic
,
strong
)
NSString
*
shopCode
;
@property
(
nonatomic
,
strong
)
NSString
*
shopName
;
@property
(
nonatomic
,
strong
)
NSString
*
picture
;
@property
(
nonatomic
,
strong
)
NS
Date
*
settle
;
@property
(
nonatomic
,
strong
)
NS
String
*
settle
;
@property
(
nonatomic
,
strong
)
NSNumber
*
amount
;
@property
(
nonatomic
,
strong
)
NSString
*
state
;
@property
(
nonatomic
,
strong
)
NSArray
*
items
;
// SubjectItem
...
...
@@ -76,16 +79,20 @@
@end
@interface
StatementListResponseData
:
BeeActiveObject
@property
(
nonatomic
,
strong
)
NSNumber
*
amount
;
@property
(
nonatomic
,
strong
)
Paging
*
paging
;
@property
(
nonatomic
,
strong
)
NSArray
*
records
;
// StatementShop
@end
// 对账单返回
@interface
StatementListResponse
:
VankeResponse
@property
(
nonatomic
,
strong
)
NSDate
*
settle
;
@property
(
nonatomic
,
strong
)
NSNumber
*
amount
;
@property
(
nonatomic
,
strong
)
Paging
*
paging
;
@property
(
nonatomic
,
strong
)
NSArray
*
records
;
// StatementSummary
@property
(
nonatomic
,
strong
)
StatementListResponseData
*
data
;
-
(
BOOL
)
hasMore
;
+
(
instancetype
)
fakeData
;
@end
\ No newline at end of file
This diff is collapsed.
Click to expand it.
vanke/controller/VankeSettlementListAPI.m
View file @
5310677b
...
...
@@ -13,34 +13,42 @@
@implementation
VankeSettlementListAPI
@synthesize
settleEquals
=
_settleEquals
;
@synthesize
confirmed
=
_confirmed
;
@synthesize
billState
=
_billState
;
@synthesize
projectsIn
=
_projectsIn
;
@synthesize
shopLike
=
_shopLike
;
@synthesize
pageNumber
=
_pageNumber
;
@synthesize
pageSize
=
_pageSize
;
-
(
void
)
route
:(
BeeMessage
*
)
msg
{
if
(
self
.
sending
)
{
//
if (![self checkToQuery]) {
//
return;
//
}
if
(
!
[
self
checkToQuery
])
{
return
;
}
// [self http_get:@"/statement/query"].PARAM(@"settleEquals", self.settleEquals).PARAM(@"prjectsIn", [self.projectsIn componentsJoinedByString:@";"]).TIMEOUT(10);
[
self
HTTP_GET
:
@"http://www.baidu.com"
].
TIMEOUT
(
10
);
BeeHTTPRequest
*
request
=
[
self
http_get
:
@"/statement/query"
].
PARAM
(
@"settleEquals"
,
[
self
getSettleStr
]).
PARAM
(
@"authorizedOrgIn"
,
[
self
.
projectsIn
componentsJoinedByString
:
@";"
])
.
PARAM
(
@"pageNumber"
,
[
NSString
stringWithFormat
:
@"%lu"
,
_pageNumber
-
1
]).
PARAM
(
@"pageSize"
,
[
NSString
stringWithFormat
:
@"%lu"
,
_pageSize
]);
if
(
!
[
VankeUtil
isBlankString
:
_billState
])
{
request
.
PARAMS
(
@"state"
,
_billState
);
}
if
(
!
[
VankeUtil
isBlankString
:
_shopLike
])
{
request
.
PARAM
(
@"shopLike"
,
_shopLike
);
}
request
.
TIMEOUT
(
10
);
}
else
if
(
self
.
succeed
)
{
NSLog
(
@"response: %@"
,
self
.
responseString
);
// self.serverResp = [StatementListResponse objectFromDictionary: self.responseJSONDictionary];
// if (nil == self.serverResp)
// {
// self.failed = YES;
// return;
// }
StatementListResponse
*
resp
=
[
StatementListResponse
fakeData
];
StatementListResponse
*
resp
=
[
StatementListResponse
objectFromDictionary
:
self
.
responseJSONDictionary
];
resp
.
settle
=
self
.
settleEquals
;
self
.
serverResp
=
resp
;
if
(
nil
==
self
.
serverResp
)
{
self
.
failed
=
YES
;
return
;
}
}
else
if
(
self
.
failed
)
{
NSLog
(
@"response: %@"
,
self
.
responseString
);
self
.
serverResp
=
[
StatementListResponse
objectFromDictionary
:
self
.
responseJSONDictionary
];
...
...
@@ -48,9 +56,7 @@
}
-
(
BOOL
)
checkToQuery
{
NSDateFormatter
*
dateFormatter
=
[[
NSDateFormatter
alloc
]
init
];
[
dateFormatter
setDateFormat
:
@"yyyy-MM-dd"
];
if
([
VankeUtil
isBlankString
:[
dateFormatter
stringFromDate
:
self
.
settleEquals
]])
{
if
(
nil
==
_settleEquals
)
{
[
self
setClientError
:
@"账期不能为空"
];
return
NO
;
}
...
...
@@ -63,6 +69,16 @@
return
YES
;
}
-
(
NSString
*
)
getSettleStr
{
if
(
nil
==
_settleEquals
)
{
return
@""
;
}
NSDateFormatter
*
dateFormatter
=
[[
NSDateFormatter
alloc
]
init
];
[
dateFormatter
setDateFormat
:
@"yyyyMM"
];
return
[
dateFormatter
stringFromDate
:
_settleEquals
];
}
@end
#pragma Paging
...
...
@@ -123,89 +139,30 @@ CONVERT_PROPERTY_CLASS(items, SubjectItem)
@end
#pragma StatementListResponse
#pragma StatementListResponse
Data
@implementation
StatementListResponse
@implementation
StatementListResponse
Data
@synthesize
settle
=
_settle
;
@synthesize
amount
=
_amount
;
@synthesize
paging
=
_paging
;
@synthesize
records
=
_records
;
CONVERT_PROPERTY_CLASS
(
records
,
StatementShop
)
-
(
BOOL
)
hasMore
{
return
_paging
&&
_paging
.
pageSize
<=
_paging
.
recordCount
;
}
#define ARC4RANDOM_MAX 0x100000000
@end
+
(
NSNumber
*
)
randomDouble
{
double
val
=
floorf
(((
double
)
arc4random
()
/
ARC4RANDOM_MAX
)
*
10000
.
0
f
);
return
[
NSNumber
numberWithDouble
:
val
];
}
#pragma StatementListResponse
+
(
NSNumber
*
)
randomInt
{
double
val
=
floorf
(((
double
)
arc4random
()
/
ARC4RANDOM_MAX
)
*
10000
.
0
f
);
return
[
NSNumber
numberWithInt
:
val
];
}
@implementation
StatementListResponse
+
(
instancetype
)
fakeData
{
StatementListResponse
*
resp
=
[[
StatementListResponse
alloc
]
init
];
resp
.
amount
=
[
self
randomDouble
];
Paging
*
paging
=
[[
Paging
alloc
]
init
];
paging
.
page
=
[
NSNumber
numberWithInt
:
1
];
paging
.
pageSize
=
[
NSNumber
numberWithInt
:
10
];
paging
.
pageCount
=
[
NSNumber
numberWithInt
:
10
];
paging
.
recordCount
=
[
NSNumber
numberWithInt
:
11
];
resp
.
paging
=
paging
;
NSMutableArray
*
shops
=
[[
NSMutableArray
alloc
]
initWithCapacity
:
10
];
for
(
int
i
=
0
;
i
<
[
paging
.
pageSize
intValue
];
++
i
)
{
StatementShop
*
summary
=
[[
StatementShop
alloc
]
init
];
summary
.
contract
=
@"112233"
;
summary
.
shopCode
=
[
NSString
stringWithFormat
:
@"%03d"
,
i
];
summary
.
shopName
=
@"肯得起"
;
// summary.picture = @"";
summary
.
settle
=
[
NSDate
date
];
double
val
=
floorf
(((
double
)
arc4random
()
/
ARC4RANDOM_MAX
)
*
10000
.
0
f
);
summary
.
amount
=
[
NSNumber
numberWithDouble
:
val
];
val
=
arc4random
()
%
3
;
if
(
val
==
0
)
{
summary
.
state
=
@"confirmed"
;
}
if
(
val
==
1
)
{
summary
.
state
=
@"unconfirmed"
;
}
else
if
(
val
==
2
){
summary
.
state
=
@"rejected"
;
}
@synthesize
settle
=
_settle
;
@synthesize
data
=
_data
;
NSMutableArray
*
items
=
[[
NSMutableArray
alloc
]
initWithCapacity
:
10
];
for
(
int
i
=
0
;
i
<
100
;
++
i
)
{
SubjectItem
*
item
=
[[
SubjectItem
alloc
]
init
];
item
.
subject
=
@"月固定租金"
;
item
.
beginDate
=
@"2015-12-01"
;
item
.
endDate
=
@"2015-12-30"
;
item
.
direction
=
[
NSNumber
numberWithInt
:
1
];
val
=
floorf
(((
double
)
arc4random
()
/
ARC4RANDOM_MAX
)
*
10000
.
0
f
);
if
(
arc4random
()
%
100
>
50
)
{
val
=
-
val
;
item
.
direction
=
[
NSNumber
numberWithInt
:
-
1
];
}
item
.
amount
=
[
NSNumber
numberWithDouble
:
val
];
item
.
remark
=
@"有意见,不同意"
;
[
items
addObject
:
item
];
}
summary
.
items
=
items
;
-
(
BOOL
)
hasMore
{
return
_data
&&
_data
.
paging
&&
(
_data
.
paging
.
pageSize
<=
_data
.
paging
.
recordCount
);
}
[
shops
addObject
:
summary
];
}
@end
resp
.
records
=
shops
;
return
resp
;
}
@end
This diff is collapsed.
Click to expand it.
vanke/model/VankeCommonModel.m
View file @
5310677b
...
...
@@ -60,23 +60,23 @@ DEF_SINGLETON(VankeCommonModel)
}
-
(
NSArray
*
)
getAuthOrgs
{
// LoginResponseData *data = [self getLoginInfo];
// if (nil != data) {
// return data.authorizedOrgs;
// } 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
];
LoginResponseData
*
data
=
[
self
getLoginInfo
];
if
(
nil
!=
data
)
{
return
data
.
authorizedOrgs
;
}
else
{
return
nil
;
}
return
ary
;
// 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
{
...
...
This diff is collapsed.
Click to expand it.
vanke/model/VankeStatementListModel.h
View file @
5310677b
...
...
@@ -14,8 +14,8 @@
// 账期等于
@property
(
nonatomic
,
strong
)
NSDate
*
settleEquals
;
//
是否已确认
@property
(
nonatomic
,
assign
)
BOOL
confirmed
;
//
状态:unconfirmed, confirmed, rejected
@property
(
nonatomic
,
strong
)
NSString
*
billState
;
// 项目列表
@property
(
nonatomic
,
strong
)
NSArray
*
projectsIn
;
...
...
@@ -29,8 +29,6 @@
// 最后一次响应结果
@property
(
nonatomic
,
strong
)
StatementListResponse
*
lastResp
;
-
(
NSInteger
)
count
;
@end
This diff is collapsed.
Click to expand it.
vanke/model/VankeStatementListModel.m
View file @
5310677b
...
...
@@ -8,13 +8,13 @@
#import "VankeStatementListModel.h"
#undef P
ER_PAG
E
#define P
ER_PAGE (1
0)
#undef P
AGE_SIZ
E
#define P
AGE_SIZE (2
0)
@implementation
VankeStatementListModel
@synthesize
settleEquals
=
_settleEquals
;
@synthesize
confirmed
=
_confirmed
;
@synthesize
billState
=
_billState
;
@synthesize
projectsIn
=
_projectsIn
;
@synthesize
shopLike
=
_shopLike
;
@synthesize
shops
=
_shops
;
...
...
@@ -30,7 +30,7 @@
-
(
void
)
unload
{
self
.
settleEquals
=
nil
;
self
.
confirmed
=
nil
;
self
.
billState
=
nil
;
self
.
projectsIn
=
nil
;
self
.
shopLike
=
nil
;
self
.
shops
=
nil
;
...
...
@@ -47,7 +47,7 @@
{
if
(
self
.
shops
.
count
)
{
[
self
gotoPage
:(
self
.
shops
.
count
/
P
ER_PAG
E
+
1
)];
[
self
gotoPage
:(
self
.
shops
.
count
/
P
AGE_SIZ
E
+
1
)];
}
}
...
...
@@ -60,9 +60,11 @@
@weakify
(
self
);
api
.
settleEquals
=
self
.
settleEquals
;
api
.
confirmed
=
self
.
confirmed
;
api
.
billState
=
self
.
billState
;
api
.
projectsIn
=
self
.
projectsIn
;
api
.
shopLike
=
self
.
shopLike
;
api
.
pageNumber
=
page
;
api
.
pageSize
=
PAGE_SIZE
;
api
.
whenUpdate
=
^
{
...
...
@@ -79,7 +81,7 @@
{
StatementListResponse
*
resp
=
(
StatementListResponse
*
)
api
.
serverResp
;
self
.
lastResp
=
resp
;
if
(
nil
==
resp
||
nil
==
resp
.
records
)
if
(
nil
==
resp
||
nil
==
resp
.
data
||
nil
==
resp
.
data
.
records
)
{
api
.
failed
=
YES
;
}
...
...
@@ -88,11 +90,11 @@
if
(
page
<=
1
)
{
[
self
.
shops
removeAllObjects
];
[
self
.
shops
addObjectsFromArray
:
resp
.
records
];
[
self
.
shops
addObjectsFromArray
:
resp
.
data
.
records
];
}
else
{
[
self
.
shops
addObjectsFromArray
:
resp
.
records
];
[
self
.
shops
addObjectsFromArray
:
resp
.
data
.
records
];
[
self
.
shops
unique
:
^
NSComparisonResult
(
id
left
,
id
right
)
{
return
[((
StatementShop
*
)
left
).
shopCode
compare
:((
StatementShop
*
)
right
).
shopCode
];
}];
...
...
This diff is collapsed.
Click to expand it.
vanke/view_iPhone/templates/affairs/VankeAffairsBoard_iPhone.m
View file @
5310677b
...
...
@@ -148,7 +148,6 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnServiceApply, signal) {
-
(
void
)
popoverListView
:
(
UIPopoverListView
*
)
popoverListView
didSelectIndexPath
:
(
NSIndexPath
*
)
indexPath
{
NSLog
(
@"%s : %d"
,
__func__
,
indexPath
.
row
);
AuthorizedOrg
*
org
=
[
authorizedOrgs
objectAtIndex
:
indexPath
.
row
];
[
self
showStatementList
:
org
];
}
...
...
@@ -160,8 +159,14 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnServiceApply, signal) {
}
-
(
void
)
showStatementList
:
(
AuthorizedOrg
*
)
org
{
if
(
nil
==
org
)
{
ERROR
(
@"Authorized Org cannot be null."
);
return
;
}
[[
VankeAppBoard_iPhone
sharedInstance
]
hideMenu
];
VankeStatementListBoard_iPhone
*
board
=
[
VankeStatementListBoard_iPhone
board
];
board
.
authorizedOrgUuidEquals
=
org
.
uuid
;
[
self
.
stack
pushBoard
:
board
animated
:
YES
];
}
...
...
This diff is collapsed.
Click to expand it.
vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.h
View file @
5310677b
...
...
@@ -29,6 +29,8 @@ 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
)
StatementShop
*
data
;
@end
This diff is collapsed.
Click to expand it.
vanke/view_iPhone/templates/statement/VankeStatementDetailListBoard_iPhone.m
View file @
5310677b
...
...
@@ -38,6 +38,8 @@ SUPPORT_AUTOMATIC_LAYOUT( YES )
SUPPORT_RESOURCE_LOADING
(
YES
)
@synthesize
data
=
_data
;
@synthesize
settleEquals
=
_settleEquals
;
@synthesize
authorizedOrgUuidEquals
=
_authorizedOrgUuidEquals
;
DEF_MODEL
(
VankeStatementListModel
,
model
)
DEF_OUTLET
(
BeeUIScrollView
,
list
)
...
...
@@ -65,72 +67,7 @@ ON_CREATE_VIEWS( signal )
self
.
title
=
[
_data
codeName
];
[
self
showOperButtons
:
[
_data
unconfirmed
]];
self
.
list
.
headerClass
=
[
PullLoader
class
];
self
.
list
.
headerShown
=
YES
;
self
.
list
.
footerClass
=
[
FootLoader
class
];
self
.
list
.
footerShown
=
YES
;
self
.
list
.
lineCount
=
1
;
self
.
list
.
animationDuration
=
0
.
2
f
;
self
.
list
.
baseInsets
=
bee
.
ui
.
config
.
baseInsets
;
self
.
list
.
whenReloading
=
^
{
self
.
list
.
total
=
self
.
model
.
shops
.
count
;
INFO
(
@"total = %d"
,
self
.
model
.
shops
.
count
);
if
(
self
.
model
.
loaded
&&
self
.
list
.
total
<=
0
)
{
self
.
list
.
total
=
1
;
BeeUIScrollItem
*
item
=
self
.
list
.
items
[
0
];
item
.
size
=
CGSizeMake
(
self
.
list
.
width
,
50
);
item
.
order
=
0
;
item
.
rule
=
BeeUIScrollLayoutRule_Fall
;
item
.
clazz
=
[
NoDataCell_iPhoneCell
class
];
item
.
data
=
@"没有数据,请稍后重试!"
;
}
else
{
for
(
BeeUIScrollItem
*
item
in
self
.
list
.
items
)
{
item
.
size
=
CGSizeMake
(
self
.
list
.
width
/
self
.
list
.
lineCount
,
80
);
item
.
order
=
0
;
item
.
rule
=
BeeUIScrollLayoutRule_Fall
;
item
.
clazz
=
[
VankeStatementDetailListCell_iPhone
class
];
SubjectItem
*
subject
=
[
_data
.
items
safeObjectAtIndex
:
item
.
index
];
item
.
data
=
subject
;
}
}
};
self
.
list
.
whenReloaded
=
^
{
};
self
.
list
.
whenAnimated
=
^
{
};
self
.
list
.
whenScrolling
=
^
{
};
self
.
list
.
whenStop
=
^
{
};
self
.
list
.
whenHeaderRefresh
=
^
{
[
self
.
model
firstPage
];
};
self
.
list
.
whenFooterRefresh
=
^
{
[
self
.
model
nextPage
];
};
// TODO
// self.model.classificationEquals = _projectCategory;
// self.model.nameLike = _projectNameLike;
// self.model.salesDateEquals = _salesDate;
// _searchBar.text = _projectNameLike;
//TODO 这里要求重新查询明细
_model
.
settleEquals
=
[
NSDate
date
];
[
self
initListAndModel
];
}
...
...
@@ -217,7 +154,8 @@ ON_SIGNAL3(VankeStatementDetailMonthCell_iPhone, pickerMask, signal) {
[
alertController
addAction
:({
UIAlertAction
*
action
=
[
UIAlertAction
actionWithTitle
:
@"确定"
style
:
UIAlertActionStyleDefault
handler
:^
(
UIAlertAction
*
action
)
{
// 立即设置账期
self
.
model
.
settleEquals
=
picker
.
date
;
self
.
settleEquals
=
picker
.
date
;
self
.
model
.
settleEquals
=
self
.
settleEquals
;
[
self
.
model
firstPage
];
}];
action
;
...
...
@@ -279,4 +217,82 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) {
}
}
-
(
void
)
initListAndModel
{
self
.
list
.
headerClass
=
[
PullLoader
class
];
self
.
list
.
headerShown
=
YES
;
self
.
list
.
footerClass
=
[
FootLoader
class
];
self
.
list
.
footerShown
=
YES
;
self
.
list
.
lineCount
=
1
;
self
.
list
.
animationDuration
=
0
.
2
f
;
self
.
list
.
baseInsets
=
bee
.
ui
.
config
.
baseInsets
;
self
.
list
.
whenReloading
=
^
{
[
self
initCurrentData
];
self
.
list
.
total
=
_data
.
items
.
count
;
INFO
(
@"total = %d"
,
_data
.
items
.
count
);
if
(
self
.
list
.
total
<=
0
)
{
self
.
list
.
total
=
1
;
BeeUIScrollItem
*
item
=
self
.
list
.
items
[
0
];
item
.
size
=
CGSizeMake
(
self
.
list
.
width
,
50
);
item
.
order
=
0
;
item
.
rule
=
BeeUIScrollLayoutRule_Fall
;
item
.
clazz
=
[
NoDataCell_iPhoneCell
class
];
item
.
data
=
@"没有数据,请稍后重试!"
;
}
else
{
for
(
BeeUIScrollItem
*
item
in
self
.
list
.
items
)
{
item
.
size
=
CGSizeMake
(
self
.
list
.
width
/
self
.
list
.
lineCount
,
80
);
item
.
order
=
0
;
item
.
rule
=
BeeUIScrollLayoutRule_Fall
;
item
.
clazz
=
[
VankeStatementDetailListCell_iPhone
class
];
SubjectItem
*
subject
=
[
_data
.
items
safeObjectAtIndex
:
item
.
index
];
item
.
data
=
subject
;
}
}
};
self
.
list
.
whenReloaded
=
^
{
};
self
.
list
.
whenAnimated
=
^
{
};
self
.
list
.
whenScrolling
=
^
{
};
self
.
list
.
whenStop
=
^
{
};
self
.
list
.
whenHeaderRefresh
=
^
{
[
self
.
model
firstPage
];
};
self
.
list
.
whenFooterRefresh
=
^
{
[
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
;
}
}
}
@end
This diff is collapsed.
Click to expand it.
vanke/view_iPhone/templates/statement/VankeStatementDetailListCell_iPhone.h
View file @
5310677b
...
...
@@ -23,7 +23,6 @@
AS_OUTLET
(
BeeUIImageView
,
imgPhoto
)
AS_OUTLET
(
BeeUILabel
,
lblName
)
AS_OUTLET
(
BeeUIImageView
,
lblState
)
AS_OUTLET
(
BeeUILabel
,
lblAmount
)
AS_OUTLET
(
BeeUILabel
,
lblDateRange
)
...
...
This diff is collapsed.
Click to expand it.
vanke/view_iPhone/templates/statement/VankeStatementDetailListCell_iPhone.m
View file @
5310677b
...
...
@@ -27,7 +27,6 @@ SUPPORT_RESOURCE_LOADING( YES )
DEF_OUTLET
(
BeeUIImageView
,
imgPhoto
)
DEF_OUTLET
(
BeeUILabel
,
lblName
)
DEF_OUTLET
(
BeeUIImageView
,
lblState
)
DEF_OUTLET
(
BeeUILabel
,
lblAmount
)
DEF_OUTLET
(
BeeUILabel
,
lblDateRange
)
...
...
@@ -53,10 +52,21 @@ DEF_OUTLET(BeeUILabel, lblDateRange)
}
$
(
self
.
lblName
).
DATA
(
item
.
subject
);
$
(
self
.
lblState
).
DATA
(
@"已确认"
);
$
(
self
.
lblAmount
).
DATA
(
item
.
amount
.
description
);
$
(
self
.
lblDateRange
).
DATA
([
NSString
stringWithFormat
:
@"%@ 至 %@"
,
item
.
beginDate
,
item
.
endDate
]);
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
];
}
-
(
void
)
layoutDidFinish
...
...
This diff is collapsed.
Click to expand it.
vanke/view_iPhone/templates/statement/VankeStatementDetailMonthCell_iPhone.m
View file @
5310677b
...
...
@@ -46,7 +46,10 @@ DEF_OUTLET( BeeUILabel, lblTotalPrefix )
return
;
}
[
self
setSettleDate
:
shop
.
settle
];
NSDateFormatter
*
dateFormatter
=
[[
NSDateFormatter
alloc
]
init
];
[
dateFormatter
setDateFormat
:
@"yyyyMM"
];
NSDate
*
settleDate
=
[
dateFormatter
dateFromString
:
shop
.
settle
];
[
self
setSettleDate
:
settleDate
];
$
(
self
.
lblAmount
).
DATA
(
shop
.
amount
.
description
);
}
...
...
This diff is collapsed.
Click to expand it.
vanke/view_iPhone/templates/statement/VankeStatementListBoard_iPhone.h
View file @
5310677b
...
...
@@ -24,8 +24,12 @@
@interface
VankeStatementListBoard_iPhone
:
VankeBaseBoard
AS_MODEL
(
VankeStatementListModel
,
model
)
// 授权组织标识,非空
@property
(
nonatomic
,
strong
)
NSString
*
authorizedOrgUuidEquals
;
// 商铺名称类似,可空
@property
(
nonatomic
,
strong
)
NSString
*
shopLike
;
AS_MODEL
(
VankeStatementListModel
,
model
)
AS_OUTLET
(
BeeUIScrollView
,
list
)
AS_OUTLET
(
BeeUISearchBar
,
searchBar
)
AS_OUTLET
(
VankeStatementMonthCell_iPhone
,
settlementBar
)
...
...
This diff is collapsed.
Click to expand it.
vanke/view_iPhone/templates/statement/VankeStatementListBoard_iPhone.m
View file @
5310677b
...
...
@@ -20,6 +20,7 @@
#import "FootLoader.h"
#import "VankeUtil.h"
#import "GEToast.h"
#import "CDatePickerViewEx.h"
#import "NoDataCell_iPhoneCell.h"
#import "VankeStatementListItemCell_iPhone.h"
#import "VankeStatementDetailListBoard_iPhone.h"
...
...
@@ -37,6 +38,9 @@
SUPPORT_AUTOMATIC_LAYOUT
(
YES
)
SUPPORT_RESOURCE_LOADING
(
YES
)
@synthesize
shopLike
=
_shopLike
;
@synthesize
authorizedOrgUuidEquals
=
_authorizedOrgUuidEquals
;
DEF_MODEL
(
VankeStatementListModel
,
model
)
DEF_OUTLET
(
BeeUIScrollView
,
list
)
DEF_OUTLET
(
BeeUISearchBar
,
searchBar
)
...
...
@@ -57,76 +61,10 @@ DEF_OUTLET( VankeStatementMonthCell_iPhone, settlementBar)
ON_CREATE_VIEWS
(
signal
)
{
[
UIApplication
sharedApplication
].
statusBarHidden
=
NO
;
self
.
navigationBarShown
=
YES
;
self
.
allowedSwipeToBack
=
YES
;
self
.
title
=
@"对账单"
;
self
.
list
.
headerClass
=
[
PullLoader
class
];
self
.
list
.
headerShown
=
YES
;
self
.
list
.
footerClass
=
[
FootLoader
class
];
self
.
list
.
footerShown
=
YES
;
self
.
list
.
lineCount
=
1
;
self
.
list
.
animationDuration
=
0
.
2
f
;
self
.
list
.
baseInsets
=
bee
.
ui
.
config
.
baseInsets
;
self
.
list
.
whenReloading
=
^
{
self
.
list
.
total
=
self
.
model
.
shops
.
count
;
INFO
(
@"total = %d"
,
self
.
model
.
shops
.
count
);
if
(
self
.
model
.
loaded
&&
self
.
list
.
total
<=
0
)
{
self
.
list
.
total
=
1
;
BeeUIScrollItem
*
item
=
self
.
list
.
items
[
0
];
item
.
size
=
CGSizeMake
(
self
.
list
.
width
,
50
);
item
.
order
=
0
;
item
.
rule
=
BeeUIScrollLayoutRule_Fall
;
item
.
clazz
=
[
NoDataCell_iPhoneCell
class
];
item
.
data
=
@"没有数据,请稍后重试!"
;
}
else
{
for
(
BeeUIScrollItem
*
item
in
self
.
list
.
items
)
{
item
.
size
=
CGSizeMake
(
self
.
list
.
width
/
self
.
list
.
lineCount
,
70
);
item
.
order
=
0
;
item
.
rule
=
BeeUIScrollLayoutRule_Fall
;
item
.
clazz
=
[
VankeStatementListItemCell_iPhone
class
];
StatementShop
*
shop
=
[
self
.
model
.
shops
safeObjectAtIndex
:
item
.
index
];
item
.
data
=
shop
;
}
}
};
self
.
list
.
whenReloaded
=
^
{
};
self
.
list
.
whenAnimated
=
^
{
};
self
.
list
.
whenScrolling
=
^
{
};
self
.
list
.
whenStop
=
^
{
};
self
.
list
.
whenHeaderRefresh
=
^
{
[
self
.
model
firstPage
];
};
self
.
list
.
whenFooterRefresh
=
^
{
[
self
.
model
nextPage
];
};
// TODO
// self.model.classificationEquals = _projectCategory;
// self.model.nameLike = _projectNameLike;
// self.model.salesDateEquals = _salesDate;
// _searchBar.text = _projectNameLike;
_model
.
settleEquals
=
[
NSDate
date
];
[
self
initListAndModel
];
}
ON_DELETE_VIEWS
(
signal
)
...
...
@@ -140,8 +78,6 @@ ON_LAYOUT_VIEWS( signal )
ON_WILL_APPEAR
(
signal
)
{
self
.
navigationBarShown
=
YES
;
// [self.list reloadData];
if
(
NO
==
self
.
model
.
loaded
)
{
[
self
.
model
firstPage
];
...
...
@@ -153,7 +89,6 @@ ON_WILL_APPEAR( signal )
}
else
{
self
.
navigationController
.
navigationBar
.
tintColor
=
color
;
}
[
BeeUIRouter
sharedInstance
].
view
.
pannable
=
YES
;
}
...
...
@@ -202,15 +137,20 @@ ON_SIGNAL3( VankeStatementListModel, RELOADED, signal )
ON_SIGNAL3
(
VankeStatementMonthCell_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
];
// 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
];
}
[
alertController
.
view
addSubview
:
picker
];
[
alertController
addAction
:({
UIAlertAction
*
action
=
[
UIAlertAction
actionWithTitle
:
@"确定"
style
:
UIAlertActionStyleDefault
handler
:^
(
UIAlertAction
*
action
)
{
// 立即设置账期
self
.
model
.
settleEquals
=
picker
.
date
;
[
self
.
model
firstPage
];
}];
action
;
})];
...
...
@@ -231,7 +171,76 @@ ON_SIGNAL3(VankeStatementListItemCell_iPhone, mask, signal) {
StatementShop
*
cellValue
=
signal
.
sourceCell
.
data
;
VankeStatementDetailListBoard_iPhone
*
board
=
[
VankeStatementDetailListBoard_iPhone
board
];
board
.
data
=
cellValue
;
board
.
settleEquals
=
_model
.
settleEquals
;
board
.
authorizedOrgUuidEquals
=
_authorizedOrgUuidEquals
;
[
self
.
stack
pushBoard
:
board
animated
:
YES
];
}
#pragma private methods
-
(
void
)
initListAndModel
{
self
.
list
.
headerClass
=
[
PullLoader
class
];
self
.
list
.
headerShown
=
YES
;
self
.
list
.
footerClass
=
[
FootLoader
class
];
self
.
list
.
footerShown
=
YES
;
self
.
list
.
lineCount
=
1
;
self
.
list
.
animationDuration
=
0
.
2
f
;
self
.
list
.
baseInsets
=
bee
.
ui
.
config
.
baseInsets
;
self
.
list
.
whenReloading
=
^
{
self
.
list
.
total
=
self
.
model
.
shops
.
count
;
INFO
(
@"total = %d"
,
self
.
model
.
shops
.
count
);
if
(
self
.
list
.
total
<=
0
)
{
self
.
list
.
total
=
1
;
BeeUIScrollItem
*
item
=
self
.
list
.
items
[
0
];
item
.
size
=
CGSizeMake
(
self
.
list
.
width
,
50
);
item
.
order
=
0
;
item
.
rule
=
BeeUIScrollLayoutRule_Fall
;
item
.
clazz
=
[
NoDataCell_iPhoneCell
class
];
item
.
data
=
@"没有数据,请稍后重试!"
;
}
else
{
for
(
BeeUIScrollItem
*
item
in
self
.
list
.
items
)
{
item
.
size
=
CGSizeMake
(
self
.
list
.
width
/
self
.
list
.
lineCount
,
70
);
item
.
order
=
0
;
item
.
rule
=
BeeUIScrollLayoutRule_Fall
;
item
.
clazz
=
[
VankeStatementListItemCell_iPhone
class
];
StatementShop
*
shop
=
[
self
.
model
.
shops
safeObjectAtIndex
:
item
.
index
];
item
.
data
=
shop
;
}
}
};
self
.
list
.
whenReloaded
=
^
{
};
self
.
list
.
whenAnimated
=
^
{
};
self
.
list
.
whenScrolling
=
^
{
};
self
.
list
.
whenStop
=
^
{
};
self
.
list
.
whenHeaderRefresh
=
^
{
[
self
.
model
firstPage
];
};
self
.
list
.
whenFooterRefresh
=
^
{
[
self
.
model
nextPage
];
};
_model
.
shopLike
=
_shopLike
;
_model
.
projectsIn
=
[[
NSArray
alloc
]
initWithObjects
:
_authorizedOrgUuidEquals
,
nil
];
_model
.
settleEquals
=
[
NSDate
date
];
}
@end
This diff is collapsed.
Click to expand it.
vanke/view_iPhone/templates/statement/VankeStatementMonthCell_iPhone.h
View file @
5310677b
...
...
@@ -29,7 +29,7 @@ AS_OUTLET( BeeUILabel, lblCount )
AS_OUTLET
(
BeeUILabel
,
lblAmount
)
AS_OUTLET
(
BeeUILabel
,
lblTotalPrefix
)
-
(
void
)
setSettleDate
:
(
NSDate
*
)
d
ate
;
@property
(
nonatomic
,
strong
)
NSDate
*
settleD
ate
;
@end
This diff is collapsed.
Click to expand it.
vanke/view_iPhone/templates/statement/VankeStatementMonthCell_iPhone.m
View file @
5310677b
...
...
@@ -31,6 +31,8 @@ DEF_OUTLET( BeeUILabel, lblCount )
DEF_OUTLET
(
BeeUILabel
,
lblAmount
)
DEF_OUTLET
(
BeeUILabel
,
lblTotalPrefix
)
@synthesize
settleDate
=
_settleDate
;
-
(
void
)
load
{
...
...
@@ -44,12 +46,15 @@ DEF_OUTLET( BeeUILabel, lblTotalPrefix )
{
StatementListResponse
*
resp
=
(
StatementListResponse
*
)
self
.
data
;
if
(
nil
==
resp
)
{
[
self
setSettleDate
:[
NSDate
date
]];
$
(
self
.
lblCount
).
DATA
(
@"0"
);
$
(
self
.
lblAmount
).
DATA
(
@"0"
);
return
;
}
[
self
setSettleDate
:
resp
.
settle
];
$
(
self
.
lblCount
).
DATA
([
NSString
stringWithFormat
:
@"%d"
,
[
resp
.
paging
.
recordCount
intValue
]]);
$
(
self
.
lblAmount
).
DATA
(
resp
.
amount
.
description
);
$
(
self
.
lblCount
).
DATA
([
NSString
stringWithFormat
:
@"%d"
,
[
resp
.
data
.
paging
.
recordCount
intValue
]]);
$
(
self
.
lblAmount
).
DATA
(
nil
==
resp
.
data
.
amount
?
@"0"
:
resp
.
data
.
amount
.
description
);
}
-
(
void
)
layoutDidFinish
...
...
@@ -58,6 +63,8 @@ DEF_OUTLET( BeeUILabel, lblTotalPrefix )
}
-
(
void
)
setSettleDate
:
(
NSDate
*
)
date
{
_settleDate
=
date
;
if
(
nil
==
date
)
{
$
(
self
.
lblYear
).
DATA
(
@""
);
$
(
self
.
lblMonth
).
DATA
(
@""
);
...
...
This diff is collapsed.
Click to expand it.
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment