Commit 22e46e23 authored by Achilles's avatar Achilles

bug fix

parent 05deb73f
This diff is collapsed.
//
// 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
//
// 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
/*
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
This diff is collapsed.
...@@ -39,17 +39,6 @@ ...@@ -39,17 +39,6 @@
@end @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 @interface StatementShop : BeeActiveObject
...@@ -61,7 +50,6 @@ ...@@ -61,7 +50,6 @@
@property (nonatomic, strong) NSString *settle; @property (nonatomic, strong) NSString *settle;
@property (nonatomic, strong) NSNumber *amount; @property (nonatomic, strong) NSNumber *amount;
@property (nonatomic, strong) NSString *state; @property (nonatomic, strong) NSString *state;
@property (nonatomic, strong) NSArray *items; // SubjectItem
-(NSString*) getPictureUrlOrDefault; -(NSString*) getPictureUrlOrDefault;
-(NSString*) codeName; -(NSString*) codeName;
......
...@@ -81,19 +81,6 @@ ...@@ -81,19 +81,6 @@
@end @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 #pragma StatementShop
@implementation StatementShop @implementation StatementShop
...@@ -105,7 +92,6 @@ ...@@ -105,7 +92,6 @@
@synthesize settle = _settle; @synthesize settle = _settle;
@synthesize amount = _amount; @synthesize amount = _amount;
@synthesize state = _state; @synthesize state = _state;
@synthesize items = _items;
CONVERT_PROPERTY_CLASS(items, SubjectItem) CONVERT_PROPERTY_CLASS(items, SubjectItem)
......
//
// 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
//
// 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
...@@ -61,6 +61,10 @@ ...@@ -61,6 +61,10 @@
@end @end
extern NSString *const USER_POSITION_HQ; // 用户职位: 集团
extern NSString *const USER_POSITION_STORE; // 用户职位: 市场用户
extern NSString *const USER_POSITION_TENANT; // 用户职位: 商户用户
// 登录响应数据 // 登录响应数据
@interface LoginResponseData : BeeActiveObject @interface LoginResponseData : BeeActiveObject
...@@ -89,6 +93,9 @@ ...@@ -89,6 +93,9 @@
// 授权组织 // 授权组织
@property (nonatomic, strong) NSArray *authorizedOrgs; @property (nonatomic, strong) NSArray *authorizedOrgs;
// 职位
@property (nonatomic, strong) NSString *position;
-(User*) getUser; -(User*) getUser;
-(Enterpirse*) getEnterprise; -(Enterpirse*) getEnterprise;
......
...@@ -81,9 +81,24 @@ ...@@ -81,9 +81,24 @@
@synthesize code; @synthesize code;
@synthesize name; @synthesize name;
@synthesize picture; @synthesize picture;
-(NSString*) getPicture {
if (![VankeUtil isBlankString:self.picture]) {
return self.picture;
} else {
return @"bill_default_image.png";
}
}
@end @end
#pragma mark LoginResponseData #pragma mark LoginResponseData
NSString *const USER_POSITION_HQ = @"hq"; // 用户职位: 集团
NSString *const USER_POSITION_STORE = @"store"; // 用户职位: 市场用户
NSString *const USER_POSITION_TENANT = @"tenant"; // 用户职位: 商户用户
@implementation LoginResponseData @implementation LoginResponseData
//@synthesize user; //@synthesize user;
//@synthesize enterprise; //@synthesize enterprise;
...@@ -96,6 +111,7 @@ ...@@ -96,6 +111,7 @@
@synthesize enterprise_name; @synthesize enterprise_name;
@synthesize authenticode; @synthesize authenticode;
@synthesize authorizedOrgs; @synthesize authorizedOrgs;
@synthesize position;
CONVERT_PROPERTY_CLASS(authorizedOrgs, AuthorizedOrg) CONVERT_PROPERTY_CLASS(authorizedOrgs, AuthorizedOrg)
......
...@@ -41,6 +41,7 @@ ...@@ -41,6 +41,7 @@
@interface BeeUISearchBar : UISearchBar @interface BeeUISearchBar : UISearchBar
AS_SIGNAL( SEARCH ) // 点击搜索按钮 AS_SIGNAL( SEARCH ) // 点击搜索按钮
AS_SIGNAL( CLEAR ) // 清空输入
@end @end
......
...@@ -45,6 +45,7 @@ ...@@ -45,6 +45,7 @@
} }
DEF_SIGNAL( SEARCH ) DEF_SIGNAL( SEARCH )
DEF_SIGNAL( CLEAR )
- (id)init - (id)init
{ {
...@@ -101,11 +102,12 @@ DEF_SIGNAL( SEARCH ) ...@@ -101,11 +102,12 @@ DEF_SIGNAL( SEARCH )
} }
-(void)searchBarTextDidEndEditing:(UISearchBar *)searchBar { -(void)searchBarTextDidEndEditing:(UISearchBar *)searchBar {
} }
-(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { -(void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
if ([self.text eq: @""]) {
[self sendUISignal:BeeUISearchBar.CLEAR];
}
} }
-(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { -(void)searchBarSearchButtonClicked:(UISearchBar *)searchBar {
......
...@@ -61,22 +61,15 @@ DEF_SINGLETON(VankeCommonModel) ...@@ -61,22 +61,15 @@ DEF_SINGLETON(VankeCommonModel)
-(NSArray*) getAuthOrgs { -(NSArray*) getAuthOrgs {
LoginResponseData *data = [self getLoginInfo]; LoginResponseData *data = [self getLoginInfo];
if (nil != data) { if (nil != data && nil != data.authorizedOrgs) {
return 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 { } else {
return nil; 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 { - (NSString*) currentUserPwd {
......
//
// 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
//
// 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
...@@ -9,11 +9,13 @@ ...@@ -9,11 +9,13 @@
#import "VankeAppBoard_iPhone.h" #import "VankeAppBoard_iPhone.h"
#import "VankeUtil.h" #import "VankeUtil.h"
#import "VankeCommonModel.h"
#import "VankeMainBoard_iPhone.h" #import "VankeMainBoard_iPhone.h"
#import "VankeLoginBoard_iPhone.h" #import "VankeLoginBoard_iPhone.h"
#import "VankeAffairsBoard_iPhone.h" #import "VankeAffairsBoard_iPhone.h"
#import "VankeMainTabBoard_iPhone.h" #import "VankeMainTabBoard_iPhone.h"
#import "ICRSystemViewController.h" #import "ICRSystemViewController.h"
#import "VankeTenantTabBoard_iPhone.h"
#import "ICRModifyPwdViewController.h" #import "ICRModifyPwdViewController.h"
#pragma mark - #pragma mark -
...@@ -22,7 +24,9 @@ ...@@ -22,7 +24,9 @@
{ {
BeeUIRouter * _router; BeeUIRouter * _router;
UIWindow * _login; UIWindow * _login;
VankeMainTabBoard_iPhone* _tabbar;
VankeMainTabBoard_iPhone* _mainTabbar;
VankeTenantTabBoard_iPhone* _tenantTabbar;
} }
@end @end
...@@ -61,9 +65,6 @@ ON_CREATE_VIEWS( signal ) ...@@ -61,9 +65,6 @@ ON_CREATE_VIEWS( signal )
[_router map:@"me" toClass:[ICRSystemViewController class]]; [_router map:@"me" toClass:[ICRSystemViewController class]];
[self.view addSubview:_router.view]; [self.view addSubview:_router.view];
_tabbar = [VankeMainTabBoard_iPhone cell];
[self.view addSubview:_tabbar];
[self createAndShowLoginWindow]; [self createAndShowLoginWindow];
[self observeNotification:VankeLoginBoard_iPhone.SUCC_LOGIN]; [self observeNotification:VankeLoginBoard_iPhone.SUCC_LOGIN];
[self observeNotification:ICRSystemViewController.SUCC_LOGOUT]; [self observeNotification:ICRSystemViewController.SUCC_LOGOUT];
...@@ -112,19 +113,51 @@ ON_DID_DISAPPEAR( signal ) ...@@ -112,19 +113,51 @@ ON_DID_DISAPPEAR( signal )
#pragma notification #pragma notification
#define HideLoginViewAnimationName @"LoginViewAnimation"
ON_NOTIFICATION3( VankeLoginBoard_iPhone, SUCC_LOGIN, notification ) ON_NOTIFICATION3( VankeLoginBoard_iPhone, SUCC_LOGIN, notification )
{ {
[UIView beginAnimations:@"fadeIn" context:nil]; [UIView beginAnimations:HideLoginViewAnimationName context:nil];
[UIView setAnimationDuration:0.5]; [UIView setAnimationDuration:0.5];
[self removeLoginWindow]; [UIView setAnimationCurve: UIViewAnimationCurveEaseOut];
_router.view.alpha = 1.0f; [UIView setAnimationTransition:UIViewAnimationTransitionCurlUp forView:self.view cache:YES];
[UIView setAnimationDelegate:self];
[UIView commitAnimations]; [UIView commitAnimations];
// 打开默认页面 LoginResponseData *loginInfo = [[VankeCommonModel sharedInstance] getLoginInfo];
[_router open:@"home" animated:YES]; BOOL isTenant = [USER_POSITION_TENANT eq: loginInfo.position];
BeeUIBoard *curBoard = _router.currentBoard; if (isTenant) {
if (nil != curBoard && [curBoard isKindOfClass:[VankeMainBoard_iPhone class]]) { _tenantTabbar = [VankeTenantTabBoard_iPhone cell];
[((VankeMainBoard_iPhone*) curBoard).summaryModel reload]; [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 ) ...@@ -141,11 +174,8 @@ ON_NOTIFICATION3( ICRModifyPwdViewController, SUCC_LOGOUT, notification )
ON_NOTIFICATION3( VankeAppBoard_iPhone, HIDE_MENU, notification ) ON_NOTIFICATION3( VankeAppBoard_iPhone, HIDE_MENU, notification )
{ {
NSString *userObj = notification.object; NSString *userObj = notification.object;
if ([@"YES" eq:userObj]) { UIView *curTab = [self currentTab];
_tabbar.hidden = YES; curTab.hidden = [@"YES" eq:userObj];
} else {
_tabbar.hidden = NO;
}
[self relayoutContentView]; [self relayoutContentView];
} }
...@@ -163,6 +193,15 @@ ON_SIGNAL3( VankeMainTabBoard_iPhone, me, signal ) ...@@ -163,6 +193,15 @@ ON_SIGNAL3( VankeMainTabBoard_iPhone, me, signal )
{ {
[_router open:@"me" animated:YES]; [_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 { -(void) createAndShowLoginWindow {
// 先检查登录 // 先检查登录
...@@ -176,16 +215,21 @@ ON_SIGNAL3( VankeMainTabBoard_iPhone, me, signal ) ...@@ -176,16 +215,21 @@ ON_SIGNAL3( VankeMainTabBoard_iPhone, me, signal )
* 重置router和菜单 * 重置router和菜单
*/ */
-(void) relayoutContentView { -(void) relayoutContentView {
UIView *tab = [self currentTab];
if (nil == tab) {
return;
}
CGRect frame1; CGRect frame1;
frame1.size.width = self.viewSize.width; frame1.size.width = self.viewSize.width;
frame1.size.height = 45.0f; frame1.size.height = 45.0f;
frame1.origin.x = 0.0; frame1.origin.x = 0.0;
frame1.origin.y = self.view.bounds.size.height - 45.0f; frame1.origin.y = self.view.bounds.size.height - 45.0f;
_tabbar.frame = frame1; tab.frame = frame1;
CGRect frame2; CGRect frame2;
frame2.size.width = self.viewSize.width; frame2.size.width = self.viewSize.width;
if (_tabbar.hidden) { if (tab.hidden) {
frame2.size.height = self.viewSize.height; frame2.size.height = self.viewSize.height;
} else { } else {
frame2.size.height = self.viewSize.height - 45.0f; frame2.size.height = self.viewSize.height - 45.0f;
...@@ -195,14 +239,6 @@ ON_SIGNAL3( VankeMainTabBoard_iPhone, me, signal ) ...@@ -195,14 +239,6 @@ ON_SIGNAL3( VankeMainTabBoard_iPhone, me, signal )
_router.view.frame = frame2; _router.view.frame = frame2;
} }
/**
* 删除登录窗口
*/
-(void) removeLoginWindow {
[_login removeFromSuperview];
_login = nil;
}
/** /**
* 退出登录 * 退出登录
*/ */
...@@ -210,8 +246,21 @@ ON_SIGNAL3( VankeMainTabBoard_iPhone, me, signal ) ...@@ -210,8 +246,21 @@ ON_SIGNAL3( VankeMainTabBoard_iPhone, me, signal )
[self createAndShowLoginWindow]; [self createAndShowLoginWindow];
_router.view.alpha = 0.0f; _router.view.alpha = 0.0f;
[_tabbar selectHome]; UIView *tab = [self currentTab];
[_router open:@"home" animated:NO]; [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 @end
\ No newline at end of file
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#import "VankeAffairsBoard_iPhone.h" #import "VankeAffairsBoard_iPhone.h"
#import "VankeUtil.h" #import "VankeUtil.h"
#import "GEToast.h"
#import "VankeCommonModel.h" #import "VankeCommonModel.h"
#import "VankeAppBoard_iPhone.h" #import "VankeAppBoard_iPhone.h"
#import "VankeNoticeListBoard_iPhone.h" #import "VankeNoticeListBoard_iPhone.h"
...@@ -106,7 +107,10 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnBill, signal) { ...@@ -106,7 +107,10 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnBill, signal) {
[self showStatementList:org]; [self showStatementList:org];
} else { } else {
CGFloat xWidth = self.view.bounds.size.width - 20.0f; 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; CGFloat yOffset = (self.view.bounds.size.height - yHeight)/2.0f;
UIPopoverListView *poplistview = [[UIPopoverListView alloc] initWithFrame:CGRectMake(10, yOffset, xWidth, yHeight)]; UIPopoverListView *poplistview = [[UIPopoverListView alloc] initWithFrame:CGRectMake(10, yOffset, xWidth, yHeight)];
poplistview.delegate = self; poplistview.delegate = self;
...@@ -118,11 +122,11 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnBill, signal) { ...@@ -118,11 +122,11 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnBill, signal) {
} }
ON_SIGNAL3(VankeAffairsBoard_iPhone, btnSaleInput, 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) { ON_SIGNAL3(VankeAffairsBoard_iPhone, btnServiceApply, signal) {
INFO(@"button service apply pressed."); [GEToast showWithText:@"服务申请正在开发中..." bottomOffset:60.0f duration:1.0f];
} }
#pragma mark - UIPopoverListViewDataSource #pragma mark - UIPopoverListViewDataSource
...@@ -168,7 +172,7 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnServiceApply, signal) { ...@@ -168,7 +172,7 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnServiceApply, signal) {
[[VankeAppBoard_iPhone sharedInstance] hideMenu]; [[VankeAppBoard_iPhone sharedInstance] hideMenu];
VankeStatementListBoard_iPhone *board = [VankeStatementListBoard_iPhone board]; VankeStatementListBoard_iPhone *board = [VankeStatementListBoard_iPhone board];
board.authorizedOrgUuidEquals = org.uuid; board.authorizedOrgUuidEquals = org.code;
[self.stack pushBoard:board animated:YES]; [self.stack pushBoard:board animated:YES];
} }
......
...@@ -121,7 +121,7 @@ ON_SIGNAL3( VankeLoginBoard_iPhone, btnLogin, signal ) ...@@ -121,7 +121,7 @@ ON_SIGNAL3( VankeLoginBoard_iPhone, btnLogin, signal )
ON_SIGNAL3( VankeLoginBoard_iPhone, txtUserName, signal ) ON_SIGNAL3( VankeLoginBoard_iPhone, txtUserName, signal )
{ {
if ([signal is:BeeUITextField.CLEAR]) { if ([signal is:BeeUITextField.CLEAR]) {
[self setLoginButtonEnabled: NO]; [self setLoginButtonEnabled:NO];
} else { } else {
[self refreshLoginButtonStyle]; [self refreshLoginButtonStyle];
} }
......
...@@ -84,6 +84,7 @@ ON_WILL_APPEAR( signal ) ...@@ -84,6 +84,7 @@ ON_WILL_APPEAR( signal )
[BeeUIRouter sharedInstance].view.pannable = YES; [BeeUIRouter sharedInstance].view.pannable = YES;
self.navigationBarShown = NO; self.navigationBarShown = NO;
[[VankeAppBoard_iPhone sharedInstance] showMenu]; [[VankeAppBoard_iPhone sharedInstance] showMenu];
[_summaryModel reload];
} }
ON_DID_APPEAR( signal ) ON_DID_APPEAR( signal )
......
...@@ -4,6 +4,10 @@ ...@@ -4,6 +4,10 @@
#pragma mark - #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 @interface VankeMainTabBoard_iPhone : BeeUICell
AS_OUTLET( BeeUIButton, home ); AS_OUTLET( BeeUIButton, home );
...@@ -14,4 +18,7 @@ AS_OUTLET( BeeUIButton, me ); ...@@ -14,4 +18,7 @@ AS_OUTLET( BeeUIButton, me );
- (void)selectAffairs; - (void)selectAffairs;
- (void)selectMe; - (void)selectMe;
-(NSString*) showAndSelectFirst;
-(void) hideTab: (NSString*) tabName visible: (BOOL) visible;
@end @end
#import "VankeMainTabBoard_iPhone.h" #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 - #pragma mark -
...@@ -19,6 +24,17 @@ DEF_OUTLET( BeeUIButton, home ); ...@@ -19,6 +24,17 @@ DEF_OUTLET( BeeUIButton, home );
DEF_OUTLET( BeeUIButton, affairs ); DEF_OUTLET( BeeUIButton, affairs );
DEF_OUTLET( BeeUIButton, me ); DEF_OUTLET( BeeUIButton, me );
- (void)load
{
}
- (void)unload
{
}
- (void)dataDidChanged {
}
- (void)selectHome - (void)selectHome
{ {
[self removeActiveClass]; [self removeActiveClass];
...@@ -50,6 +66,27 @@ DEF_OUTLET( BeeUIButton, me ); ...@@ -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 ) ON_SIGNAL3( VankeMainTabBoard_iPhone, home, signal )
{ {
[self selectHome]; [self selectHome];
......
#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
#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
<?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>
...@@ -25,23 +25,24 @@ ...@@ -25,23 +25,24 @@
} }
.segment-wrapper { .segment-wrapper {
height: 30px; height: 50px;
width: 100%; width: 100%;
position: absolute; position: absolute;
left: 0px; left: 0px;
top: 70px; top: 64px;
align: center; align: center;
v-align: center;
} }
#segment { #segment {
height: 100%; height: 30px;
width: 80%; width: 80%;
} }
#list { #list {
position: absolute; position: absolute;
left: 0px; left: 0px;
top: 45px; top: 51px;
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
......
...@@ -17,20 +17,21 @@ ...@@ -17,20 +17,21 @@
#import "Bee.h" #import "Bee.h"
#import "VankeBaseBoard.h" #import "VankeBaseBoard.h"
#import "VankeStatementListModel.h" #import "VankeSettlementListAPI.h"
#import "VankeStatementSubjectListModel.h"
#import "VankeStatementDetailMonthCell_iPhone.h" #import "VankeStatementDetailMonthCell_iPhone.h"
#pragma mark - #pragma mark -
@interface VankeStatementDetailListBoard_iPhone : VankeBaseBoard @interface VankeStatementDetailListBoard_iPhone : VankeBaseBoard
AS_MODEL( VankeStatementListModel, model ) AS_MODEL( VankeStatementSubjectListModel, model )
AS_OUTLET( BeeUIScrollView, list ) AS_OUTLET( BeeUIScrollView, list )
AS_OUTLET( VankeStatementDetailMonthCell_iPhone, settlementBar) AS_OUTLET( VankeStatementDetailMonthCell_iPhone, settlementBar)
AS_OUTLET( BeeUIImageView, imgState) AS_OUTLET( BeeUIImageView, imgState)
@property (nonatomic, strong) NSString *authorizedOrgUuidEquals;
@property (nonatomic, strong) NSDate *settleEquals; @property (nonatomic, strong) NSDate *settleEquals;
@property (nonatomic, strong) NSString *contractEquals;
@property (nonatomic, strong) StatementShop *data; @property (nonatomic, strong) StatementShop *data;
@end @end
...@@ -20,9 +20,11 @@ ...@@ -20,9 +20,11 @@
#import "FootLoader.h" #import "FootLoader.h"
#import "VankeUtil.h" #import "VankeUtil.h"
#import "GEToast.h" #import "GEToast.h"
#import "SRMonthPicker.h"
#import "NoDataCell_iPhoneCell.h" #import "NoDataCell_iPhoneCell.h"
#import "VankeStatementRejectModel.h" #import "VankeStatementRejectModel.h"
#import "VankeStatementConfirmModel.h" #import "VankeStatementConfirmModel.h"
#import "VankeStatementSubjectListModel.h"
#import "VankeStatementDetailListCell_iPhone.h" #import "VankeStatementDetailListCell_iPhone.h"
#import "VankeStatementDetailMonthCell_iPhone.h" #import "VankeStatementDetailMonthCell_iPhone.h"
...@@ -43,7 +45,7 @@ SUPPORT_RESOURCE_LOADING( YES ) ...@@ -43,7 +45,7 @@ SUPPORT_RESOURCE_LOADING( YES )
@synthesize data = _data; @synthesize data = _data;
@synthesize settleEquals = _settleEquals; @synthesize settleEquals = _settleEquals;
@synthesize authorizedOrgUuidEquals = _authorizedOrgUuidEquals; @synthesize contractEquals = _contractEquals;
DEF_MODEL( VankeStatementListModel, model ) DEF_MODEL( VankeStatementListModel, model )
DEF_OUTLET( BeeUIScrollView, list ) DEF_OUTLET( BeeUIScrollView, list )
...@@ -52,7 +54,7 @@ DEF_OUTLET( BeeUIImageView, imgState) ...@@ -52,7 +54,7 @@ DEF_OUTLET( BeeUIImageView, imgState)
- (void)load - (void)load
{ {
self.model = [VankeStatementListModel modelWithObserver:self]; self.model = [VankeStatementSubjectListModel modelWithObserver:self];
confirmModel = [VankeStatementConfirmModel modelWithObserver:self]; confirmModel = [VankeStatementConfirmModel modelWithObserver:self];
rejectModel = [VankeStatementRejectModel modelWithObserver:self]; rejectModel = [VankeStatementRejectModel modelWithObserver:self];
} }
...@@ -88,8 +90,6 @@ ON_LAYOUT_VIEWS( signal ) ...@@ -88,8 +90,6 @@ ON_LAYOUT_VIEWS( signal )
ON_WILL_APPEAR( signal ) ON_WILL_APPEAR( signal )
{ {
self.navigationBarShown = YES; self.navigationBarShown = YES;
// [self.list reloadData];
if ( NO == self.model.loaded ) if ( NO == self.model.loaded )
{ {
[self.model firstPage]; [self.model firstPage];
...@@ -120,23 +120,28 @@ ON_DID_DISAPPEAR( signal ) ...@@ -120,23 +120,28 @@ ON_DID_DISAPPEAR( signal )
#pragma mark model #pragma mark model
ON_SIGNAL3( VankeStatementListModel, RELOADING, signal ) ON_SIGNAL3( VankeStatementSubjectListModel, RELOADING, signal )
{ {
[GEToast showProgress:self.view]; [GEToast showProgress:self.view];
self.list.headerLoading = YES; self.list.headerLoading = YES;
self.list.footerLoading = YES; self.list.footerLoading = YES;
} }
ON_SIGNAL3( VankeStatementListModel, RELOADED, signal ) ON_SIGNAL3( VankeStatementSubjectListModel, RELOADED, signal )
{ {
[GEToast hideProgress]; [GEToast hideProgress];
self.list.headerLoading = NO; self.list.headerLoading = NO;
self.list.footerLoading = NO; self.list.footerLoading = NO;
self.list.footerMore = self.model.more; self.list.footerMore = self.model.more;
[self.list reloadData]; [self.list reloadData];
$(self.settlementBar).DATA(_data);
$(self.imgState).DATA([NSString stringWithFormat:@"%@_big.png", _data.state]); StatementSubjectListResponseData *respData = _model.lastResp.data;
[self showOperButtons: [_data unconfirmed]]; 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 ) { ON_SIGNAL3( VankeStatementConfirmModel, RELOADING, signal ) {
...@@ -172,17 +177,26 @@ ON_SIGNAL3( VankeStatementRejectModel, RELOADED, signal ) { ...@@ -172,17 +177,26 @@ ON_SIGNAL3( VankeStatementRejectModel, RELOADED, signal ) {
#pragma VankeStatementDetailMonthCell_iPhone #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) { ON_SIGNAL3(VankeStatementDetailMonthCell_iPhone, pickerMask, signal) {
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"\n\n\n\n\n\n\n\n\n\n" message:nil preferredStyle:UIAlertControllerStyleActionSheet]; UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"\n\n\n\n\n\n\n\n\n\n" message:nil preferredStyle:UIAlertControllerStyleActionSheet];
UIDatePicker *picker = [[UIDatePicker alloc] init]; SRMonthPicker *picker = [self buildMonthPicker];
[picker setDatePickerMode:UIDatePickerModeDate];
[picker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh_Hans_CN"]];
[alertController.view addSubview:picker]; [alertController.view addSubview:picker];
[alertController addAction:({ [alertController addAction:({
UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
// 立即设置账期 // 立即设置账期
self.settleEquals = picker.date; self.settleEquals = picker.date;
self.model.settleEquals = self.settleEquals; self.model.settle = self.settleEquals;
[self.model firstPage]; [self.model firstPage];
}]; }];
action; action;
...@@ -218,7 +232,7 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) { ...@@ -218,7 +232,7 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) {
NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init];
[dateFormatter setDateFormat:@"yyyyMM"]; [dateFormatter setDateFormat:@"yyyyMM"];
NSString *settleStr = [dateFormatter stringFromDate:_settleEquals]; NSString *settleStr = [dateFormatter stringFromDate:_settleEquals];
[confirmModel confirm: _data.contract settle:settleStr]; [confirmModel confirm: _model.contract settle:settleStr];
}]; }];
[alertController addAction:cancelAction]; [alertController addAction:cancelAction];
[alertController addAction:archiveAction]; [alertController addAction:archiveAction];
...@@ -236,7 +250,7 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) { ...@@ -236,7 +250,7 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) {
[dateFormatter setDateFormat:@"yyyyMM"]; [dateFormatter setDateFormat:@"yyyyMM"];
NSString *settleStr = [dateFormatter stringFromDate:_settleEquals]; 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) { ...@@ -267,10 +281,9 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) {
self.list.whenReloading = ^ self.list.whenReloading = ^
{ {
[self initCurrentData]; self.list.total = _model.items.count;
self.list.total = _data.items.count;
INFO(@"total = %d", _data.items.count); INFO(@"total = %d", _model.items.count);
if (self.list.total <= 0) { if (self.list.total <= 0) {
self.list.total = 1; self.list.total = 1;
...@@ -288,7 +301,7 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) { ...@@ -288,7 +301,7 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) {
item.order = 0; item.order = 0;
item.rule = BeeUIScrollLayoutRule_Fall; item.rule = BeeUIScrollLayoutRule_Fall;
item.clazz = [VankeStatementDetailListCell_iPhone class]; item.clazz = [VankeStatementDetailListCell_iPhone class];
SubjectItem *subject = [_data.items safeObjectAtIndex:item.index]; SubjectItem *subject = [_model.items safeObjectAtIndex:item.index];
item.data = subject; item.data = subject;
} }
} }
...@@ -314,22 +327,9 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) { ...@@ -314,22 +327,9 @@ ON_SIGNAL3(VankeStatementDetailListBoard_iPhone, btnConfirm, signal) {
{ {
[self.model nextPage]; [self.model nextPage];
}; };
if (![VankeUtil isBlankString:_data.shopCode]) {
_model.shopLike = _data.shopCode;
}
_model.projectsIn = [[NSArray alloc] initWithObjects:_authorizedOrgUuidEquals, nil];
_model.settleEquals = _settleEquals;
}
-(void) initCurrentData { _model.settle = _settleEquals;
for (StatementShop *shop in _model.shops) { _model.contract = _contractEquals;
if (nil != _data && nil != _data.shopCode && [_data.shopCode eq:shop.shopCode]) {
_data = shop;
break;
}
}
} }
@end @end
...@@ -39,7 +39,7 @@ ...@@ -39,7 +39,7 @@
#list { #list {
position: absolute; position: absolute;
left: 0px; left: 0px;
top: 75px; top: 69px;
width: 100%; width: 100%;
height: 100%; height: 100%;
} }
...@@ -49,7 +49,7 @@ ...@@ -49,7 +49,7 @@
width: 100%; width: 100%;
position: absolute; position: absolute;
left: 0px; left: 0px;
top: 64px; top: 60px;
} }
.image-state { .image-state {
......
...@@ -16,7 +16,7 @@ ...@@ -16,7 +16,7 @@
// //
#import "VankeStatementDetailListCell_iPhone.h" #import "VankeStatementDetailListCell_iPhone.h"
#import "VankeSettlementListAPI.h" #import "VankeSettlementSubjectListAPI.h"
#import "VankeUtil.h" #import "VankeUtil.h"
#pragma mark - #pragma mark -
...@@ -60,20 +60,7 @@ DEF_OUTLET(BeeUILabel, lblDateRange) ...@@ -60,20 +60,7 @@ DEF_OUTLET(BeeUILabel, lblDateRange)
} }
$(self.lblAmount).DATA([NSString stringWithFormat:@"%.2f ", [item.amount doubleValue]]); $(self.lblAmount).DATA([NSString stringWithFormat:@"%.2f ", [item.amount doubleValue]]);
$(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 - (void)layoutDidFinish
......
...@@ -16,7 +16,9 @@ ...@@ -16,7 +16,9 @@
// //
#import "VankeStatementDetailMonthCell_iPhone.h" #import "VankeStatementDetailMonthCell_iPhone.h"
#import "VankeCommonModel.h"
#import "VankeSettlementListAPI.h" #import "VankeSettlementListAPI.h"
#import "VankeSettlementSubjectListAPI.h"
#pragma mark - #pragma mark -
...@@ -41,18 +43,39 @@ DEF_OUTLET( BeeUILabel, lblTotalPrefix ) ...@@ -41,18 +43,39 @@ DEF_OUTLET( BeeUILabel, lblTotalPrefix )
- (void)dataDidChanged - (void)dataDidChanged
{ {
StatementShop *shop = (StatementShop*) self.data; NSDate *settleDate = nil;
if (nil == shop) { NSNumber *amount = nil;
return;
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]; [self setSettleDate:settleDate];
NSNumber *amount = shop.amount;
$(self.lblAmount).DATA([NSString stringWithFormat:@"%.2f ", nil == amount? 0.0f:[amount doubleValue]]); $(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 - (void)layoutDidFinish
......
...@@ -20,7 +20,7 @@ ...@@ -20,7 +20,7 @@
#import "FootLoader.h" #import "FootLoader.h"
#import "VankeUtil.h" #import "VankeUtil.h"
#import "GEToast.h" #import "GEToast.h"
#import "CDatePickerViewEx.h" #import "SRMonthPicker.h"
#import "NoDataCell_iPhoneCell.h" #import "NoDataCell_iPhoneCell.h"
#import "VankeStatementListItemCell_iPhone.h" #import "VankeStatementListItemCell_iPhone.h"
#import "VankeStatementDetailListBoard_iPhone.h" #import "VankeStatementDetailListBoard_iPhone.h"
...@@ -136,15 +136,21 @@ ON_SIGNAL3( VankeStatementListModel, RELOADED, signal ) ...@@ -136,15 +136,21 @@ ON_SIGNAL3( VankeStatementListModel, RELOADED, signal )
#pragma VankeStatementMonthCell_iPhone #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) { ON_SIGNAL3(VankeStatementMonthCell_iPhone, pickerMask, signal) {
UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"\n\n\n\n\n\n\n\n\n\n" message:nil preferredStyle:UIAlertControllerStyleActionSheet]; 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]; SRMonthPicker *picker = [self buildMonthPicker];
[picker setDatePickerMode:UIDatePickerModeDate];
[picker setLocale:[[NSLocale alloc]initWithLocaleIdentifier:@"zh_Hans_CN"]];
if (nil != _settlementBar.settleDate) {
[picker setDate:_settlementBar.settleDate];
}
[alertController.view addSubview:picker]; [alertController.view addSubview:picker];
[alertController addAction:({ [alertController addAction:({
UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { UIAlertAction *action = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) {
...@@ -173,7 +179,7 @@ ON_SIGNAL3(VankeStatementListItemCell_iPhone, mask, signal) { ...@@ -173,7 +179,7 @@ ON_SIGNAL3(VankeStatementListItemCell_iPhone, mask, signal) {
VankeStatementDetailListBoard_iPhone *board = [VankeStatementDetailListBoard_iPhone board]; VankeStatementDetailListBoard_iPhone *board = [VankeStatementDetailListBoard_iPhone board];
board.data = cellValue; board.data = cellValue;
board.settleEquals = _model.settleEquals; board.settleEquals = _model.settleEquals;
board.authorizedOrgUuidEquals = _authorizedOrgUuidEquals; board.contractEquals = cellValue.contract;
[self.stack pushBoard:board animated:YES]; [self.stack pushBoard:board animated:YES];
} }
...@@ -208,7 +214,7 @@ ON_SIGNAL3(VankeStatementListItemCell_iPhone, mask, signal) { ...@@ -208,7 +214,7 @@ ON_SIGNAL3(VankeStatementListItemCell_iPhone, mask, signal) {
} else { } else {
for ( BeeUIScrollItem *item in self.list.items ) 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.order = 0;
item.rule = BeeUIScrollLayoutRule_Fall; item.rule = BeeUIScrollLayoutRule_Fall;
item.clazz = [VankeStatementListItemCell_iPhone class]; item.clazz = [VankeStatementListItemCell_iPhone class];
...@@ -241,7 +247,11 @@ ON_SIGNAL3(VankeStatementListItemCell_iPhone, mask, signal) { ...@@ -241,7 +247,11 @@ ON_SIGNAL3(VankeStatementListItemCell_iPhone, mask, signal) {
_model.shopLike = _shopLike; _model.shopLike = _shopLike;
_model.projectsIn = [[NSArray alloc] initWithObjects:_authorizedOrgUuidEquals, nil]; _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 @end
...@@ -5,7 +5,7 @@ ...@@ -5,7 +5,7 @@
<image class="bg" /> <image class="bg" />
<list id="list"/> <list id="list"/>
<VankeStatementMonthCell_iPhone id="settlementBar" /> <VankeStatementMonthCell_iPhone id="settlementBar" />
<searchbar id="searchBar" class="search-wrapper" /> <searchbar id="searchBar" />
</linear> </linear>
<style type="text/css"> <style type="text/css">
...@@ -27,30 +27,30 @@ ...@@ -27,30 +27,30 @@
background-color: #fafafa; background-color: #fafafa;
} }
#list {
position: absolute;
left: 0px;
top: 120px;
width: 100%;
height: 100%;
}
#settlementBar { #settlementBar {
height: 75px; height: 75px;
width: 100%; width: 100%;
position: absolute; position: absolute;
left: 0px; left: 0px;
top: 64px; top: 60px;
} }
.search-wrapper { #searchBar {
height: 45px; height: 45px;
width: 100%; width: 100%;
position: absolute; position: absolute;
left: 0px; left: 0px;
top: 139px; top: 132px;
placeholder: "请输入商家代码或名称"; placeholder: "请输入商家代码或名称";
} }
#list {
position: absolute;
left: 0px;
top: 115px;
width: 100%;
height: 100%;
}
</style> </style>
</ui> </ui>
...@@ -74,7 +74,7 @@ ...@@ -74,7 +74,7 @@
} }
.photo-col { .photo-col {
width: 25%; width: 20%;
} }
.photo-col .photo { .photo-col .photo {
...@@ -86,8 +86,8 @@ ...@@ -86,8 +86,8 @@
} }
.name-col { .name-col {
width: 35%; width: 40%;
margin-right: 5px; padding-right: 10px;
} }
.name-col .name { .name-col .name {
......
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
#import "VankeStatementMonthCell_iPhone.h" #import "VankeStatementMonthCell_iPhone.h"
#import "VankeSettlementListAPI.h" #import "VankeSettlementListAPI.h"
#import "VankeCommonModel.h"
#pragma mark - #pragma mark -
...@@ -57,6 +58,16 @@ DEF_OUTLET( BeeUILabel, lblTotalPrefix ) ...@@ -57,6 +58,16 @@ DEF_OUTLET( BeeUILabel, lblTotalPrefix )
NSNumber *amount = resp.data.amount; NSNumber *amount = resp.data.amount;
$(self.lblAmount).DATA([NSString stringWithFormat:@"%.2f ", nil == amount? 0.0f:[amount doubleValue]]); $(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 - (void)layoutDidFinish
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment