Commit bb781be6 authored by Sandy's avatar Sandy

销售录入、历史纪录功能完成

parent e3a67b29
...@@ -19,7 +19,7 @@ pod 'MBProgressHUD', '~> 0.9.1' ...@@ -19,7 +19,7 @@ pod 'MBProgressHUD', '~> 0.9.1'
pod 'SDWebImage', '~> 3.7.1' pod 'SDWebImage', '~> 3.7.1'
#pod 'MBProgressHUD', '~> 0.8' #pod 'MBProgressHUD', '~> 0.8'
#pod 'SSKeychain', '~> 1.2' #pod 'SSKeychain', '~> 1.2'
pod 'MJExtension', '~> 3.0.10'
pod 'IQKeyboardManager', '~> 3.2.3' pod 'IQKeyboardManager', '~> 3.2.3'
#pod 'Reachability' #pod 'Reachability'
#pod 'jastor', '~> 0.2.1' #lib. for jaskon object mapping #pod 'jastor', '~> 0.2.1' #lib. for jaskon object mapping
......
This diff is collapsed.
//
// LoginShopsInstance.h
// vanke
//
// Created by Z on 16/4/25.
// Copyright © 2016年 gomore. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface LoginShopsInstance : NSObject
@property (nonatomic, strong) NSMutableArray *arrShops;
+ (instancetype)shareInstance;
@end
//
// LoginShopsInstance.m
// vanke
//
// Created by Z on 16/4/25.
// Copyright © 2016年 gomore. All rights reserved.
//
#import "LoginShopsInstance.h"
@implementation LoginShopsInstance
+ (instancetype)shareInstance {
static LoginShopsInstance *login = nil;
static dispatch_once_t onceToken;
dispatch_once(&onceToken, ^{
login = [[LoginShopsInstance alloc] init];
login.arrShops = [NSMutableArray array];
});
return login;
}
@end
...@@ -707,9 +707,22 @@ acceptTypeJson:YES ...@@ -707,9 +707,22 @@ acceptTypeJson:YES
} }
- (void)postUrl:(NSString *)url params:(id)params success:(void (^)(id data))succ failure:(void (^)(id data))fail {
NSString *requestUrl = [VANKE_SERVER_BASE_URL stringByAppendingFormat:@"/%@", url];
[self POST:requestUrl parameters:params needToken:YES acceptTypeJson:YES success:^(AFHTTPRequestOperation *operation, id responseObject) {
succ(responseObject);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
fail(error);
}];
}
- (void)getUrl:(NSString *)url params:(id)params success:(void (^)(id data))succ failure:(void (^)(id data))fail { - (void)getUrl:(NSString *)url params:(id)params success:(void (^)(id data))succ failure:(void (^)(id data))fail {
NSString *requestUrl = [VANKE_SERVER_BASE_URL stringByAppendingFormat:@"/%@", @"shop/query"]; NSString *requestUrl = [VANKE_SERVER_BASE_URL stringByAppendingFormat:@"/%@", url];
[self GET:requestUrl parameters:params needToken:YES acceptTypeJson:YES success:^(AFHTTPRequestOperation *operation, id responseObject) { [self GET:requestUrl parameters:params needToken:YES acceptTypeJson:YES success:^(AFHTTPRequestOperation *operation, id responseObject) {
......
<?xml version="1.0" encoding="UTF-8" standalone="no"?> <?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="9531" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES">
<dependencies> <dependencies>
<deployment identifier="iOS"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9529"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9530"/>
<capability name="Constraints to layout margins" minToolsVersion="6.0"/> <capability name="Constraints to layout margins" minToolsVersion="6.0"/>
</dependencies> </dependencies>
<objects> <objects>
......
...@@ -22,10 +22,11 @@ ...@@ -22,10 +22,11 @@
#define VANKE_BAIDU_WEATHER_SERVER_URL @"http://api.map.baidu.com/telematics/v3/weather" #define VANKE_BAIDU_WEATHER_SERVER_URL @"http://api.map.baidu.com/telematics/v3/weather"
// 后台服务基准地址 // 后台服务基准地址
#define VANKE_SERVER_BASE_URL @"http://140.206.62.178:8080/wanke-server/rest" //#define VANKE_SERVER_BASE_URL @"http://140.206.62.178:8080/wanke-server/rest"
// 测试环境 // 测试环境
//#define VANKE_SERVER_BASE_URL @"http://218.244.151.129:7580/wanke-server/rest" #define VANKE_SERVER_BASE_URL @"http://218.244.151.129:7580/wanke-server/rest"
//#define VANKE_SERVER_BASE_URL @"http://139.196.39.77:8080/wanke-server/rest"
// 后台多媒体文件基准地址 // 后台多媒体文件基准地址
......
...@@ -28,6 +28,9 @@ ...@@ -28,6 +28,9 @@
// 车流量日期,黑夜为今天 // 车流量日期,黑夜为今天
@property (nonatomic, strong) NSString *trafficDate; @property (nonatomic, strong) NSString *trafficDate;
// 车流量日期,黑夜为今天
@property (nonatomic, strong) NSString *rentalDateEquals;
@end @end
// 项目汇总信息 // 项目汇总信息
......
...@@ -18,6 +18,7 @@ ...@@ -18,6 +18,7 @@
@synthesize salesDate; @synthesize salesDate;
@synthesize passengerDate; @synthesize passengerDate;
@synthesize trafficDate; @synthesize trafficDate;
@synthesize rentalDateEquals;
-(void) route:(BeeMessage *)msg { -(void) route:(BeeMessage *)msg {
if (self.sending) if (self.sending)
...@@ -26,7 +27,7 @@ ...@@ -26,7 +27,7 @@
return; return;
} }
[self http_get:@"/project/queryclassificationby"].PARAM(@"salesDateEquals", self.salesDate).PARAM(@"passengerDateEquals", self.passengerDate).PARAM(@"trafficDateEquals", self.trafficDate).TIMEOUT(10); [self http_get:@"/project/queryclassificationby"].PARAM(@"salesDateEquals", self.salesDate).PARAM(@"passengerDateEquals", self.passengerDate).PARAM(@"trafficDateEquals", self.trafficDate).PARAM(@"rentalDateEquals", self.rentalDateEquals).TIMEOUT(10);
} }
else if (self.succeed) else if (self.succeed)
{ {
...@@ -56,6 +57,10 @@ ...@@ -56,6 +57,10 @@
[self setClientError: @"车流量日期不能为空"]; [self setClientError: @"车流量日期不能为空"];
return NO; return NO;
} }
if ([VankeUtil isBlankString:self.rentalDateEquals]) {
[self setClientError: @"租赁日期不能为空"];
return NO;
}
return YES; return YES;
} }
......
...@@ -9,6 +9,8 @@ ...@@ -9,6 +9,8 @@
#import "VankeUserLoginAPI.h" #import "VankeUserLoginAPI.h"
#import "VankeUtil.h" #import "VankeUtil.h"
#import "VankeShopModel.h"
#import "LoginShopsInstance.h"
#pragma mark VankeUserLoginAPI #pragma mark VankeUserLoginAPI
...@@ -34,6 +36,12 @@ ...@@ -34,6 +36,12 @@
} }
else if (self.succeed) { else if (self.succeed) {
NSLog(@"response: %@", self.responseString); NSLog(@"response: %@", self.responseString);
NSDictionary *response = [self.responseString objectFromJSONString];
for (NSDictionary *dic in response[@"data"][@"shops"]) {
VankeShopModel *model = [VankeShopModel modelObjectWithDictionary:dic];
[[LoginShopsInstance shareInstance].arrShops addObject:model];
}
LoginShopsInstance *shops = [LoginShopsInstance shareInstance];
self.serverResp = [LoginResponse objectFromDictionary: self.responseJSONDictionary]; self.serverResp = [LoginResponse objectFromDictionary: self.responseJSONDictionary];
if ( nil == self.serverResp ) if ( nil == self.serverResp )
......
...@@ -24,6 +24,9 @@ ...@@ -24,6 +24,9 @@
// 车流量日期,黑夜为今天 // 车流量日期,黑夜为今天
@property (nonatomic, strong) NSString *trafficDate; @property (nonatomic, strong) NSString *trafficDate;
// 租赁日期,黑夜为今天
@property (nonatomic, strong) NSString *rentalDateEquals;
-(ProjectSummaryResponse*) getServerResp; -(ProjectSummaryResponse*) getServerResp;
@end @end
...@@ -17,6 +17,7 @@ ...@@ -17,6 +17,7 @@
@synthesize salesDate = _salesDate; @synthesize salesDate = _salesDate;
@synthesize passengerDate = _passengerDate; @synthesize passengerDate = _passengerDate;
@synthesize trafficDate = _trafficDate; @synthesize trafficDate = _trafficDate;
@synthesize rentalDateEquals = _rentalDateEquals;
-(ProjectSummaryResponse*) getServerResp { -(ProjectSummaryResponse*) getServerResp {
return (ProjectSummaryResponse*) self.serverResp; return (ProjectSummaryResponse*) self.serverResp;
...@@ -43,9 +44,13 @@ ...@@ -43,9 +44,13 @@
_trafficDate = [self today:df]; _trafficDate = [self today:df];
} }
if ([VankeUtil isBlankString:self.rentalDateEquals]) {
_rentalDateEquals = [self yesterday:df];
}
api.salesDate = _salesDate; api.salesDate = _salesDate;
api.passengerDate = _passengerDate; api.passengerDate = _passengerDate;
api.trafficDate = _trafficDate; api.trafficDate = _trafficDate;
api.rentalDateEquals = _rentalDateEquals;
// 清空结果 // 清空结果
self.serverResp = nil; self.serverResp = nil;
......
//
// VankeShopModel.h
//
// Created by Z on 16/4/25
// Copyright (c) 2016 __MyCompanyName__. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface VankeShopModel : NSObject <NSCoding, NSCopying>
@property (nonatomic, strong) NSString *name;
@property (nonatomic, strong) NSString *code;
@property (nonatomic, strong) NSString *uuid;
+ (instancetype)modelObjectWithDictionary:(NSDictionary *)dict;
- (instancetype)initWithDictionary:(NSDictionary *)dict;
- (NSDictionary *)dictionaryRepresentation;
@end
//
// VankeShopModel.m
//
// Created by Z on 16/4/25
// Copyright (c) 2016 __MyCompanyName__. All rights reserved.
//
#import "VankeShopModel.h"
NSString *const kVankeShopModelName = @"name";
NSString *const kVankeShopModelCode = @"code";
NSString *const kVankeShopModelUuid = @"uuid";
@interface VankeShopModel ()
- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict;
@end
@implementation VankeShopModel
@synthesize name = _name;
@synthesize code = _code;
@synthesize uuid = _uuid;
+ (instancetype)modelObjectWithDictionary:(NSDictionary *)dict
{
return [[self alloc] initWithDictionary:dict];
}
- (instancetype)initWithDictionary:(NSDictionary *)dict
{
self = [super init];
// This check serves to make sure that a non-NSDictionary object
// passed into the model class doesn't break the parsing.
if(self && [dict isKindOfClass:[NSDictionary class]]) {
self.name = [self objectOrNilForKey:kVankeShopModelName fromDictionary:dict];
self.code = [self objectOrNilForKey:kVankeShopModelCode fromDictionary:dict];
self.uuid = [self objectOrNilForKey:kVankeShopModelUuid fromDictionary:dict];
}
return self;
}
- (NSDictionary *)dictionaryRepresentation
{
NSMutableDictionary *mutableDict = [NSMutableDictionary dictionary];
[mutableDict setValue:self.name forKey:kVankeShopModelName];
[mutableDict setValue:self.code forKey:kVankeShopModelCode];
[mutableDict setValue:self.uuid forKey:kVankeShopModelUuid];
return [NSDictionary dictionaryWithDictionary:mutableDict];
}
- (NSString *)description
{
return [NSString stringWithFormat:@"%@", [self dictionaryRepresentation]];
}
#pragma mark - Helper Method
- (id)objectOrNilForKey:(id)aKey fromDictionary:(NSDictionary *)dict
{
id object = [dict objectForKey:aKey];
return [object isEqual:[NSNull null]] ? nil : object;
}
#pragma mark - NSCoding Methods
- (id)initWithCoder:(NSCoder *)aDecoder
{
self = [super init];
self.name = [aDecoder decodeObjectForKey:kVankeShopModelName];
self.code = [aDecoder decodeObjectForKey:kVankeShopModelCode];
self.uuid = [aDecoder decodeObjectForKey:kVankeShopModelUuid];
return self;
}
- (void)encodeWithCoder:(NSCoder *)aCoder
{
[aCoder encodeObject:_name forKey:kVankeShopModelName];
[aCoder encodeObject:_code forKey:kVankeShopModelCode];
[aCoder encodeObject:_uuid forKey:kVankeShopModelUuid];
}
- (id)copyWithZone:(NSZone *)zone
{
VankeShopModel *copy = [[VankeShopModel alloc] init];
if (copy) {
copy.name = [self.name copyWithZone:zone];
copy.code = [self.code copyWithZone:zone];
copy.uuid = [self.uuid copyWithZone:zone];
}
return copy;
}
@end
...@@ -24,7 +24,8 @@ ...@@ -24,7 +24,8 @@
#import "VankeStatementListBoard_iPhone.h" #import "VankeStatementListBoard_iPhone.h"
#import "ICRAnnouncementViewController.h" #import "ICRAnnouncementViewController.h"
#import "SalesInputViewController.h" #import "SalesInputViewController.h"
#import "ChooseProjectTableViewController.h"
#import "ICRAppMacro.h"
#pragma mark - #pragma mark -
@interface VankeAffairsBoard_iPhone() @interface VankeAffairsBoard_iPhone()
...@@ -70,6 +71,7 @@ ON_LAYOUT_VIEWS( signal ) ...@@ -70,6 +71,7 @@ ON_LAYOUT_VIEWS( signal )
ON_WILL_APPEAR( signal ) ON_WILL_APPEAR( signal )
{ {
self.navigationController.navigationBar.backgroundImage = [UIImage imageWithColor:[UIColor colorWithRed:0.929 green:0.106 blue:0.137 alpha:1.000]];
UIColor *color = [VankeUtil rgbStringToColor: @"237,27,35"]; UIColor *color = [VankeUtil rgbStringToColor: @"237,27,35"];
if ( IOS7_OR_LATER ) { if ( IOS7_OR_LATER ) {
self.navigationController.navigationBar.barTintColor = color; self.navigationController.navigationBar.barTintColor = color;
...@@ -126,11 +128,33 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnBill, signal) { ...@@ -126,11 +128,33 @@ ON_SIGNAL3(VankeAffairsBoard_iPhone, btnBill, signal) {
ON_SIGNAL3(VankeAffairsBoard_iPhone, btnSaleInput, signal) { ON_SIGNAL3(VankeAffairsBoard_iPhone, btnSaleInput, signal) {
// [GEToast showWithText:@"销售录入正在开发中..." bottomOffset:60.0f duration:1.0f]; // [GEToast showWithText:@"销售录入正在开发中..." bottomOffset:60.0f duration:1.0f];
SalesInputViewController *salesVC = [[SalesInputViewController alloc] init];
VankeCommonModel *model = [VankeCommonModel sharedInstance]; VankeCommonModel *model = [VankeCommonModel sharedInstance];
SalesInputViewController *salesVC = [[SalesInputViewController alloc] init];
WS(weakSelf)
if ([[model getAuthOrgs] count] == 1) {
ChooseProjectTableViewController *chooseVC = [[ChooseProjectTableViewController alloc] init];
chooseVC.arrAuthorized = [model getAuthOrgs];
chooseVC.chooseAuthorized = ^(AuthorizedOrg *author){
salesVC.authorizedOrg = author;
[weakSelf.navigationController pushViewController:salesVC animated:YES];
};
UINavigationController *navc = [[UINavigationController alloc] initWithRootViewController:chooseVC];
[self.navigationController presentViewController:navc animated:YES completion:nil];
}else{
salesVC.authorizedOrg = [model getAuthOrgs][0];
[self.navigationController pushViewController:salesVC animated:YES];
}
[model curUserIsTenant];
[self.navigationController pushViewController:salesVC animated:YES];
} }
ON_SIGNAL3(VankeAffairsBoard_iPhone, btnServiceApply, signal) { ON_SIGNAL3(VankeAffairsBoard_iPhone, btnServiceApply, signal) {
......
...@@ -164,6 +164,7 @@ ON_SIGNAL3( VankeServiceSaleCell_iPhone, btnHistoryMask, signal ) { ...@@ -164,6 +164,7 @@ ON_SIGNAL3( VankeServiceSaleCell_iPhone, btnHistoryMask, signal ) {
_summaryModel.salesDate = dateStr; _summaryModel.salesDate = dateStr;
_summaryModel.passengerDate = dateStr; _summaryModel.passengerDate = dateStr;
_summaryModel.trafficDate = dateStr; _summaryModel.trafficDate = dateStr;
_summaryModel.rentalDateEquals = dateStr;
[_summaryModel reload]; [_summaryModel reload];
} }
}]; }];
......
//
// ChooseProjectTableViewController.h
// vanke
//
// Created by Z on 16/4/26.
// Copyright © 2016年 gomore. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "VankeCommonModel.h"
typedef void (^chooseBlock)(AuthorizedOrg *author);
@interface ChooseProjectTableViewController : UITableViewController
@property (nonatomic, strong) NSArray *arrAuthorized;
@property (nonatomic, copy) chooseBlock chooseAuthorized;
@end
//
// ChooseProjectTableViewController.m
// vanke
//
// Created by Z on 16/4/26.
// Copyright © 2016年 gomore. All rights reserved.
//
#import "ChooseProjectTableViewController.h"
#import "UIImage+Helper.h"
#define kCellID @"cellId"
@interface ChooseProjectTableViewController ()
@end
@implementation ChooseProjectTableViewController
- (void)viewDidLoad {
[super viewDidLoad];
self.navigationItem.title = @"选择项目";
self.navigationController.navigationBar.tintColor = [UIColor whiteColor];
//选择自己喜欢的颜色
UIColor * color = [UIColor whiteColor];
//这里我们设置的是颜色,还可以设置shadow等,具体可以参见api
NSDictionary * dict = [NSDictionary dictionaryWithObject:color forKey:NSForegroundColorAttributeName];
//大功告成
self.navigationController.navigationBar.titleTextAttributes = dict;
self.navigationController.navigationBar.translucent = NO;
self.navigationController.navigationBar.backgroundImage = [UIImage imageWithColor:[UIColor colorWithRed:0.953 green:0.439 blue:0.063 alpha:1.000]];
[[UINavigationBar appearance] setBarTintColor:[UIColor colorWithRed:0.953 green:0.439 blue:0.063 alpha:1.000]];
UIBarButtonItem *rightButton = [[UIBarButtonItem alloc] initWithTitle:@"取消" style:UIBarButtonItemStyleDone target:self action:@selector(cancellACtion)];
self.navigationItem.rightBarButtonItem = rightButton;
// Uncomment the following line to preserve selection between presentations.
// self.clearsSelectionOnViewWillAppear = NO;
// Uncomment the following line to display an Edit button in the navigation bar for this view controller.
// self.navigationItem.rightBarButtonItem = self.editButtonItem;
[self.tableView registerClass:[UITableViewCell class] forCellReuseIdentifier:kCellID];
}
- (void)cancellACtion {
[self dismissViewControllerAnimated:YES completion:nil];
}
- (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated.
}
#pragma mark - Table view data source
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {
#warning Incomplete implementation, return the number of sections
return 1;
}
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
#warning Incomplete implementation, return the number of rows
return self.arrAuthorized.count;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellID forIndexPath:indexPath];
cell.textLabel.text = [self.arrAuthorized[indexPath.row] name];
// Configure the cell...
return cell;
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
self.chooseAuthorized(self.arrAuthorized[indexPath.row]);
[self dismissViewControllerAnimated:YES completion:nil];
}
/*
// Override to support conditional editing of the table view.
- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {
// Return NO if you do not want the specified item to be editable.
return YES;
}
*/
/*
// Override to support editing the table view.
- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {
if (editingStyle == UITableViewCellEditingStyleDelete) {
// Delete the row from the data source
[tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];
} else if (editingStyle == UITableViewCellEditingStyleInsert) {
// Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view
}
}
*/
/*
// Override to support rearranging the table view.
- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {
}
*/
/*
// Override to support conditional rearranging of the table view.
- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {
// Return NO if you do not want the item to be re-orderable.
return YES;
}
*/
/*
#pragma mark - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
// Get the new view controller using [segue destinationViewController].
// Pass the selected object to the new view controller.
}
*/
@end
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
// //
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
typedef void (^block)(NSString *); #import "VankeShopModel.h"
typedef void (^block)(VankeShopModel *);
@interface ChooseShopViewController : UIViewController @interface ChooseShopViewController : UIViewController
@property (nonatomic, copy) block chooseBlock; @property (nonatomic, copy) block chooseBlock;
......
...@@ -9,19 +9,23 @@ ...@@ -9,19 +9,23 @@
#import "ChooseShopViewController.h" #import "ChooseShopViewController.h"
#import "UIImage+Helper.h" #import "UIImage+Helper.h"
#import "ICRHTTPController.h" #import "ICRHTTPController.h"
#import "LoginShopsInstance.h"
#define kCellId @"searchCell" #define kCellId @"searchCell"
@interface ChooseShopViewController ()<UITableViewDelegate, UITableViewDataSource, UISearchBarDelegate> @interface ChooseShopViewController ()<UITableViewDelegate, UITableViewDataSource, UISearchBarDelegate>
@property (nonatomic, strong) UISearchBar *searchBar; @property (nonatomic, strong) UISearchBar *searchBar;
@property (nonatomic, strong) UITableView *tableView; @property (nonatomic, strong) UITableView *tableView;
@property (nonatomic, copy) NSString *searchText; @property (nonatomic, copy) NSString *searchText;
@property (nonatomic, strong) NSMutableArray *arrData;
@property (nonatomic, strong) NSArray *results;
@end @end
@implementation ChooseShopViewController @implementation ChooseShopViewController
- (void)viewDidLoad { - (void)viewDidLoad {
[super viewDidLoad]; [super viewDidLoad];
self.arrData = [LoginShopsInstance shareInstance].arrShops;
self.results = [NSArray arrayWithArray:self.arrData];
self.title = @"选择商铺"; self.title = @"选择商铺";
[self setUPSearchBar]; [self setUPSearchBar];
[self setUpTableView]; [self setUpTableView];
...@@ -41,10 +45,18 @@ ...@@ -41,10 +45,18 @@
- (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar { - (void)searchBarCancelButtonClicked:(UISearchBar *)searchBar {
[self.view endEditing:YES]; [self.view endEditing:YES];
searchBar.showsCancelButton = NO; searchBar.showsCancelButton = NO;
searchBar.text = nil;
self.results = [NSArray arrayWithArray:self.arrData];
[self.tableView reloadData];
} }
- (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText {
self.searchText = searchText; self.searchText = searchText;
NSPredicate *pred = [NSPredicate predicateWithFormat:@"name contains [cd] %@", searchText];
self.results = [self.arrData filteredArrayUsingPredicate:pred];
[self.tableView reloadData];
NSLog(@"df");
} }
- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar { - (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar {
...@@ -85,19 +97,19 @@ ...@@ -85,19 +97,19 @@
} }
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
return 20; return self.results.count;
} }
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId forIndexPath:indexPath]; UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:kCellId forIndexPath:indexPath];
cell.textLabel.text = [NSString stringWithFormat:@"星巴克【A01-0%ld】", (long)indexPath.row]; cell.textLabel.text = [NSString stringWithFormat:@"%@", [self.results[indexPath.row] name]];
return cell; return cell;
} }
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
self.chooseBlock(@"选择好了商铺"); self.chooseBlock(self.results[indexPath.row]);
[self.navigationController popViewControllerAnimated:YES]; [self.navigationController popViewControllerAnimated:YES];
} }
......
...@@ -7,7 +7,8 @@ ...@@ -7,7 +7,8 @@
// //
#import <UIKit/UIKit.h> #import <UIKit/UIKit.h>
#import "VankeShopModel.h"
@interface HistoryViewController : UIViewController @interface HistoryViewController : UIViewController
@property (nonatomic, strong) VankeShopModel *shop;
@end @end
...@@ -8,6 +8,11 @@ ...@@ -8,6 +8,11 @@
#import "HistoryViewController.h" #import "HistoryViewController.h"
#import "HistoryTopView.h" #import "HistoryTopView.h"
#import "ICRHTTPController.h"
#import "VankeConfig.h"
#import "ICRAppMacro.h"
#import "ChooseShopViewController.h"
#define klineCount 19 //列数 #define klineCount 19 //列数
#define kListWidth 100 //一个表格的宽度 #define kListWidth 100 //一个表格的宽度
...@@ -32,22 +37,44 @@ ...@@ -32,22 +37,44 @@
self.view.backgroundColor = [UIColor whiteColor]; self.view.backgroundColor = [UIColor whiteColor];
[self setUpTopView]; [self setUpTopView];
[self setUPScrollView]; [self setUPScrollView];
[self setUpData];
// Do any additional setup after loading the view. // Do any additional setup after loading the view.
} }
- (void)chooseShopAction {
ChooseShopViewController *chooseVC = [[ChooseShopViewController alloc] init];
chooseVC.chooseBlock = ^(VankeShopModel *shop){
self.shop = shop;
[self setUpData];
};
[self.navigationController pushViewController:chooseVC animated:YES];
}
- (void)viewWillAppear:(BOOL)animated {
[super viewWillAppear:animated];
self.topView.labelShopName.text = self.shop.name;
}
- (void)setUPScrollView { - (void)setUPScrollView {
self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 150, SCREEN_WIDTH, SCREEN_HEIGHT - 150 - 64)]; self.scrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 150, SCREEN_WIDTH, SCREEN_HEIGHT - 150 - 64)];
self.scrollView.contentSize = CGSizeMake(kListWidth * self.titles.count, kListHeight * klineCount + kBottomHeight);
self.scrollView.bounces = NO; self.scrollView.bounces = NO;
self.scrollView.delegate = self; self.scrollView.delegate = self;
[self.view addSubview:self.scrollView];
}
- (void)setUpScrollViewWithDataArr:(NSArray *)array bottomArr:(NSArray *)bottomArr{
[self.scrollView removeAllSubviews];
self.scrollView.contentOffset = CGPointMake(0, 0);
self.scrollView.contentSize = CGSizeMake(kListWidth * array.count, kListHeight * [array[0] count] + kBottomHeight);
//双层for循环,i待代表列数,j代表行数 //双层for循环,i待代表列数,j代表行数
for (int i = 0; i < self.titles.count; i++) { for (int i = 0; i < array.count; i++) {
for (int j = 0; j < klineCount; j++) { for (int j = 1; j < [array[i] count]; j++) {
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(kListWidth * i, kListHeight + kListHeight * j, kListWidth, kListHeight)]; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(kListWidth * i, kListHeight + kListHeight * (j - 1), kListWidth, kListHeight)];
label.textAlignment = NSTextAlignmentCenter; label.textAlignment = NSTextAlignmentCenter;
label.text = [NSString stringWithFormat:@"test-%d", j]; label.text = array[i][j];
[self.scrollView insertSubview:label atIndex:0];//防止前面的别挡住 [self.scrollView insertSubview:label atIndex:0];//防止前面的别挡住
label.backgroundColor = [UIColor colorWithRed:1.000 green:0.976 blue:0.953 alpha:1.000]; label.backgroundColor = [UIColor colorWithRed:1.000 green:0.976 blue:0.953 alpha:1.000];
...@@ -61,7 +88,7 @@ ...@@ -61,7 +88,7 @@
//顶部的浮动视图 //顶部的浮动视图
UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(kListWidth * i, 0, kListWidth, 44)]; UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(kListWidth * i, 0, kListWidth, 44)];
label.tag = 1000 + i; label.tag = 1000 + i;
label.text = self.titles[i]; label.text = array[i][0];
label.font = [UIFont systemFontOfSize:19]; label.font = [UIFont systemFontOfSize:19];
label.textAlignment = NSTextAlignmentCenter; label.textAlignment = NSTextAlignmentCenter;
if (i != 0) { if (i != 0) {
...@@ -74,7 +101,7 @@ ...@@ -74,7 +101,7 @@
//底部浮动的视图 //底部浮动的视图
UILabel *labelBottom = [[UILabel alloc] initWithFrame:CGRectMake(kListWidth * i, self.scrollView.contentOffset.y + self.scrollView.height - kBottomHeight, kListWidth, kBottomHeight)]; UILabel *labelBottom = [[UILabel alloc] initWithFrame:CGRectMake(kListWidth * i, self.scrollView.contentOffset.y + self.scrollView.height - kBottomHeight, kListWidth, kBottomHeight)];
labelBottom.text = self.bottomTitles[i]; labelBottom.text = bottomArr[i];
labelBottom.backgroundColor = [UIColor grayColor]; labelBottom.backgroundColor = [UIColor grayColor];
labelBottom.font = [UIFont systemFontOfSize:26]; labelBottom.font = [UIFont systemFontOfSize:26];
labelBottom.textAlignment = NSTextAlignmentCenter; labelBottom.textAlignment = NSTextAlignmentCenter;
...@@ -95,9 +122,9 @@ ...@@ -95,9 +122,9 @@
} }
[self.view addSubview:self.scrollView];
} }
- (void)scrollViewDidScroll:(UIScrollView *)scrollView - (void)scrollViewDidScroll:(UIScrollView *)scrollView
{ {
for (int i = 0; i < self.titles.count; i++) { for (int i = 0; i < self.titles.count; i++) {
...@@ -125,9 +152,10 @@ ...@@ -125,9 +152,10 @@
topView.frame = CGRectMake(0, 0, SCREEN_WIDTH, 150 + 64); topView.frame = CGRectMake(0, 0, SCREEN_WIDTH, 150 + 64);
self.topView = topView; self.topView = topView;
self.topView.userInteractionEnabled = YES; self.topView.userInteractionEnabled = YES;
[topView.buttonChooseShop addTarget:self action:@selector(chooseShopAction) forControlEvents:UIControlEventTouchUpInside];
[topView.buttonStartDate addTarget:self action:@selector(startDateAction) forControlEvents:UIControlEventTouchUpInside]; [topView.buttonStartDate addTarget:self action:@selector(startDateAction) forControlEvents:UIControlEventTouchUpInside];
[topView.buttonEndDate addTarget:self action:@selector(endDateAction) forControlEvents:UIControlEventTouchUpInside]; [topView.buttonEndDate addTarget:self action:@selector(endDateAction) forControlEvents:UIControlEventTouchUpInside];
[self.topView.buttonQuery addTarget:self action:@selector(queryAction) forControlEvents:UIControlEventTouchUpInside];
[self setUpDatePicker]; [self setUpDatePicker];
...@@ -135,6 +163,8 @@ ...@@ -135,6 +163,8 @@
[self.view addSubview:topView]; [self.view addSubview:topView];
} }
- (void)setUpDatePicker { - (void)setUpDatePicker {
UIDatePicker *startDatePicker = [[UIDatePicker alloc] init]; UIDatePicker *startDatePicker = [[UIDatePicker alloc] init];
startDatePicker.date = [NSDate dateWithTimeInterval:-60 * 60 * 24 sinceDate:[NSDate date]]; startDatePicker.date = [NSDate dateWithTimeInterval:-60 * 60 * 24 sinceDate:[NSDate date]];
...@@ -188,12 +218,110 @@ ...@@ -188,12 +218,110 @@
[self.topView endDateBecomeFistRespond]; [self.topView endDateBecomeFistRespond];
} }
- (void)queryAction {
[self setUpData];
}
- (id)viewWithNibName:(NSString *)viewName { - (id)viewWithNibName:(NSString *)viewName {
NSArray* nibView = [[NSBundle mainBundle] loadNibNamed:viewName owner:nil options:nil]; NSArray* nibView = [[NSBundle mainBundle] loadNibNamed:viewName owner:nil options:nil];
return [nibView objectAtIndex:0]; return [nibView objectAtIndex:0];
} }
- (void)setUpData {
WS(weakSelf)
NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setDateFormat:@"yyyy-MM-dd"];
NSDate *endDate = [f dateFromString:self.topView.endDate.text];
NSDate *tomorrow = [NSDate dateWithTimeInterval:60 * 60 * 24 sinceDate:endDate];
NSString *endStr = [f stringFromDate:tomorrow];
NSDictionary *params = @{@"shopCodeEquals" : self.shop.code,
@"beginDateEquals" : self.topView.startDate.text,
@"endDateEquals" : endStr,
@"pageNumber" : @0,
@"pageSize" : @0};
ICRHTTPController *httpCtrl = [ICRHTTPController sharedController];
[httpCtrl getUrl:@"salesinput/query" params:params success:^(id data) {
NSDictionary *dic = data;
NSMutableArray *arrData = [NSMutableArray array];
NSMutableArray *arrDate = [NSMutableArray array];//日期
[arrDate addObject:@"日期"];
NSMutableArray *arrAmount = [NSMutableArray array];//金额
[arrAmount addObject:@"金额(元)"];
NSMutableArray *payment = [NSMutableArray array];
for (NSDictionary *obj in dic[@"data"][@"records"]) {
[arrDate addObject:obj[@"salesDate"]];
[arrAmount addObject:[NSString stringWithFormat:@"%.0f", [obj[@"amount"] floatValue]]];
NSMutableArray *arr = [NSMutableArray array];
for (NSDictionary *dic in obj[@"lines"]) {
[arr addObject:dic];
}
[payment addObject:arr];
}
[arrData addObject:arrDate];
[arrData addObject:arrAmount];
NSMutableArray *paytype = [NSMutableArray array];
if (payment.count > 0) {
for (NSDictionary *dic in payment[0]) {
NSMutableArray *apay = [NSMutableArray array];
[apay addObject:dic[@"payment"]];
[paytype addObject:apay];
}
}
for (NSArray *arr in payment) {
for (int i = 0; i < arr.count; i++) {
NSDictionary *dic = arr[i];
NSMutableArray *apay = paytype[i];
[apay addObject:[NSString stringWithFormat:@"%.0f", [dic[@"amount"] floatValue]]];
}
}
[arrData addObjectsFromArray:paytype];
NSMutableArray *arrBottom = [NSMutableArray array];
for (int i = 0; i < arrData.count; i++) {
if (i == 0) {
[arrBottom addObject:@"总计"];
}else{
NSInteger count = 0;
for (int j = 0; j < [arrData[i] count]; j++) {
if (j != 0) {
NSString *number = arrData[i][j];
NSInteger num = [number integerValue];
count = count + num;
}
}
NSString *result = [NSString stringWithFormat:@"%ld", (long)count];
[arrBottom addObject:result];
}
}
[weakSelf setUpScrollViewWithDataArr:arrData bottomArr:arrBottom];
NSLog(@"d");
} failure:^(id data) {
}];
}
- (void)didReceiveMemoryWarning { - (void)didReceiveMemoryWarning {
[super didReceiveMemoryWarning]; [super didReceiveMemoryWarning];
// Dispose of any resources that can be recreated. // Dispose of any resources that can be recreated.
......
...@@ -7,7 +7,11 @@ ...@@ -7,7 +7,11 @@
// //
#import "IBTUIViewController.h" #import "IBTUIViewController.h"
#import "VankeShopModel.h"
#import "VankeCommonModel.h"
@interface SalesInputViewController : UIViewController @interface SalesInputViewController : UIViewController
@property (nonatomic, strong) VankeShopModel *shop;
@property (nonatomic, strong) AuthorizedOrg *authorizedOrg;
@end @end
//
// PaymentTypeModel.h
// vanke
//
// Created by Z on 16/4/25.
// Copyright © 2016年 gomore. All rights reserved.
//
#import <Foundation/Foundation.h>
@interface PaymentTypeModel : NSObject
@property (nonatomic, copy) NSString *name;
@property (nonatomic, copy) NSString *code;
@property (nonatomic, strong) NSNumber *sortNumber;
+ (PaymentTypeModel *)modelWithDic:(NSDictionary *)dic;
@end
//
// PaymentTypeModel.m
// vanke
//
// Created by Z on 16/4/25.
// Copyright © 2016年 gomore. All rights reserved.
//
#import "PaymentTypeModel.h"
@implementation PaymentTypeModel
+ (PaymentTypeModel *)modelWithDic:(NSDictionary *)dic {
PaymentTypeModel *model = [[PaymentTypeModel alloc] init];
[model setValuesForKeysWithDictionary:dic];
return model;
}
- (void)setValue:(id)value forUndefinedKey:(NSString *)key {
}
@end
...@@ -13,7 +13,10 @@ ...@@ -13,7 +13,10 @@
@property (weak, nonatomic) IBOutlet UIButton *buttonEndDate; @property (weak, nonatomic) IBOutlet UIButton *buttonEndDate;
@property (weak, nonatomic) IBOutlet UITextField *startDate; @property (weak, nonatomic) IBOutlet UITextField *startDate;
@property (weak, nonatomic) IBOutlet UITextField *endDate; @property (weak, nonatomic) IBOutlet UITextField *endDate;
@property (weak, nonatomic) IBOutlet UILabel *labelShopName;
@property (weak, nonatomic) IBOutlet UIButton *buttonChooseShop;
@property (weak, nonatomic) IBOutlet UIButton *buttonQuery;
- (void)startDateBecomeFistRespond; - (void)startDateBecomeFistRespond;
- (void)endDateBecomeFistRespond; - (void)endDateBecomeFistRespond;
......
...@@ -9,8 +9,6 @@ ...@@ -9,8 +9,6 @@
#import "HistoryTopView.h" #import "HistoryTopView.h"
@interface HistoryTopView () @interface HistoryTopView ()
@property (weak, nonatomic) IBOutlet UIButton *buttonQuery;
@end @end
...@@ -19,6 +17,12 @@ ...@@ -19,6 +17,12 @@
-(void)awakeFromNib { -(void)awakeFromNib {
self.buttonQuery.layer.cornerRadius = 5; self.buttonQuery.layer.cornerRadius = 5;
NSDateFormatter *f = [[NSDateFormatter alloc] init];
[f setDateFormat:@"yyyy-MM-dd"];
self.startDate.text = [f stringFromDate:[NSDate date]];
self.endDate.text = [f stringFromDate:[NSDate date]];
} }
- (void)startDateBecomeFistRespond { - (void)startDateBecomeFistRespond {
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PXR-kT-YMR"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PXR-kT-YMR">
<rect key="frame" x="0.0" y="0.0" width="375" height="72"/> <rect key="frame" x="0.0" y="0.0" width="375" height="72"/>
<subviews> <subviews>
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleAspectFit" image="sales_top_input_pic" translatesAutoresizingMaskIntoConstraints="NO" id="Y5W-EN-8ml"> <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleAspectFit" translatesAutoresizingMaskIntoConstraints="NO" id="Y5W-EN-8ml">
<rect key="frame" x="28" y="16" width="51" height="51"/> <rect key="frame" x="28" y="16" width="51" height="51"/>
<constraints> <constraints>
<constraint firstAttribute="height" constant="51" id="9f9-hy-N2g"/> <constraint firstAttribute="height" constant="51" id="9f9-hy-N2g"/>
...@@ -40,6 +40,12 @@ ...@@ -40,6 +40,12 @@
<constraint firstAttribute="height" constant="53" id="S2o-aV-dMZ"/> <constraint firstAttribute="height" constant="53" id="S2o-aV-dMZ"/>
</constraints> </constraints>
</button> </button>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="店铺" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="55j-KN-7n5">
<rect key="frame" x="32" y="31" width="36" height="22"/>
<fontDescription key="fontDescription" type="system" pointSize="18"/>
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
</subviews> </subviews>
<color key="backgroundColor" red="0.95294117649999999" green="0.43921568630000002" blue="0.062745098040000002" alpha="1" colorSpace="calibratedRGB"/> <color key="backgroundColor" red="0.95294117649999999" green="0.43921568630000002" blue="0.062745098040000002" alpha="1" colorSpace="calibratedRGB"/>
<constraints> <constraints>
...@@ -49,9 +55,11 @@ ...@@ -49,9 +55,11 @@
<constraint firstAttribute="height" constant="72" id="I3a-zj-qCA"/> <constraint firstAttribute="height" constant="72" id="I3a-zj-qCA"/>
<constraint firstItem="w5x-NT-NnM" firstAttribute="leading" secondItem="V51-vf-Qaf" secondAttribute="trailing" constant="7" id="JsG-ew-JKR"/> <constraint firstItem="w5x-NT-NnM" firstAttribute="leading" secondItem="V51-vf-Qaf" secondAttribute="trailing" constant="7" id="JsG-ew-JKR"/>
<constraint firstItem="oEx-Id-X1s" firstAttribute="leading" secondItem="Y5W-EN-8ml" secondAttribute="trailing" constant="58" id="L0P-wQ-8ec"/> <constraint firstItem="oEx-Id-X1s" firstAttribute="leading" secondItem="Y5W-EN-8ml" secondAttribute="trailing" constant="58" id="L0P-wQ-8ec"/>
<constraint firstItem="55j-KN-7n5" firstAttribute="leading" secondItem="PXR-kT-YMR" secondAttribute="leading" constant="32" id="OXR-fx-K3X"/>
<constraint firstAttribute="trailing" secondItem="oEx-Id-X1s" secondAttribute="trailing" constant="10" id="Ohn-pl-jUQ"/> <constraint firstAttribute="trailing" secondItem="oEx-Id-X1s" secondAttribute="trailing" constant="10" id="Ohn-pl-jUQ"/>
<constraint firstItem="V51-vf-Qaf" firstAttribute="centerY" secondItem="Y5W-EN-8ml" secondAttribute="centerY" id="R05-eu-7lR"/> <constraint firstItem="V51-vf-Qaf" firstAttribute="centerY" secondItem="Y5W-EN-8ml" secondAttribute="centerY" id="R05-eu-7lR"/>
<constraint firstItem="w5x-NT-NnM" firstAttribute="centerY" secondItem="V51-vf-Qaf" secondAttribute="centerY" id="cqM-l6-boG"/> <constraint firstItem="w5x-NT-NnM" firstAttribute="centerY" secondItem="V51-vf-Qaf" secondAttribute="centerY" id="cqM-l6-boG"/>
<constraint firstItem="55j-KN-7n5" firstAttribute="centerY" secondItem="V51-vf-Qaf" secondAttribute="centerY" id="iCQ-Dj-ZVB"/>
<constraint firstItem="Y5W-EN-8ml" firstAttribute="top" secondItem="PXR-kT-YMR" secondAttribute="top" constant="16" id="lqG-Wj-NBD"/> <constraint firstItem="Y5W-EN-8ml" firstAttribute="top" secondItem="PXR-kT-YMR" secondAttribute="top" constant="16" id="lqG-Wj-NBD"/>
<constraint firstItem="Y5W-EN-8ml" firstAttribute="leading" secondItem="PXR-kT-YMR" secondAttribute="leading" constant="28" id="pEb-EZ-7ap"/> <constraint firstItem="Y5W-EN-8ml" firstAttribute="leading" secondItem="PXR-kT-YMR" secondAttribute="leading" constant="28" id="pEb-EZ-7ap"/>
<constraint firstAttribute="trailing" secondItem="V51-vf-Qaf" secondAttribute="trailing" constant="33" id="wSw-CC-Fl6"/> <constraint firstAttribute="trailing" secondItem="V51-vf-Qaf" secondAttribute="trailing" constant="33" id="wSw-CC-Fl6"/>
...@@ -138,10 +146,12 @@ ...@@ -138,10 +146,12 @@
</mask> </mask>
</variation> </variation>
<connections> <connections>
<outlet property="buttonChooseShop" destination="oEx-Id-X1s" id="b9l-xF-b1A"/>
<outlet property="buttonEndDate" destination="C34-UB-Ftu" id="r9I-wT-vQG"/> <outlet property="buttonEndDate" destination="C34-UB-Ftu" id="r9I-wT-vQG"/>
<outlet property="buttonQuery" destination="UAX-J6-XYl" id="3qB-KF-68k"/> <outlet property="buttonQuery" destination="UAX-J6-XYl" id="hbw-Lf-mGi"/>
<outlet property="buttonStartDate" destination="shU-x6-kGg" id="sxM-47-6VB"/> <outlet property="buttonStartDate" destination="shU-x6-kGg" id="sxM-47-6VB"/>
<outlet property="endDate" destination="lFq-9J-b3V" id="x3l-kf-JWf"/> <outlet property="endDate" destination="lFq-9J-b3V" id="x3l-kf-JWf"/>
<outlet property="labelShopName" destination="V51-vf-Qaf" id="SDt-PW-6YR"/>
<outlet property="startDate" destination="s5M-pR-dBt" id="Lhk-eU-uZW"/> <outlet property="startDate" destination="s5M-pR-dBt" id="Lhk-eU-uZW"/>
</connections> </connections>
<point key="canvasLocation" x="254.5" y="25"/> <point key="canvasLocation" x="254.5" y="25"/>
...@@ -150,6 +160,5 @@ ...@@ -150,6 +160,5 @@
<resources> <resources>
<image name="javen_right_icon" width="16" height="27"/> <image name="javen_right_icon" width="16" height="27"/>
<image name="right_arrow.png" width="32" height="32"/> <image name="right_arrow.png" width="32" height="32"/>
<image name="sales_top_input_pic" width="63" height="63"/>
</resources> </resources>
</document> </document>
//
// SalesInputCommitView.h
// vanke
//
// Created by Z on 16/4/25.
// Copyright © 2016年 gomore. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface SalesInputCommitView : UIView
@property (weak, nonatomic) IBOutlet UIButton *buttonCommit;
@end
//
// SalesInputCommitView.m
// vanke
//
// Created by Z on 16/4/25.
// Copyright © 2016年 gomore. All rights reserved.
//
#import "SalesInputCommitView.h"
@implementation SalesInputCommitView
/*
// Only override drawRect: if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
- (void)drawRect:(CGRect)rect {
// Drawing code
}
*/
@end
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="9532" systemVersion="15D21" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES">
<dependencies>
<deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="9530"/>
</dependencies>
<objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<view contentMode="scaleToFill" id="iN0-l3-epB" customClass="SalesInputCommitView">
<rect key="frame" x="0.0" y="0.0" width="326" height="81"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="VpK-Lc-RKO">
<rect key="frame" x="18" y="19" width="290" height="44"/>
<color key="backgroundColor" red="0.92941176469999998" green="0.1058823529" blue="0.13725490200000001" alpha="1" colorSpace="calibratedRGB"/>
<constraints>
<constraint firstAttribute="height" constant="44" id="jgC-jM-zmN"/>
</constraints>
<fontDescription key="fontDescription" type="system" pointSize="22"/>
<state key="normal" title="提交">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state>
</button>
</subviews>
<color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="calibratedWhite"/>
<constraints>
<constraint firstItem="VpK-Lc-RKO" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="JAw-vd-vqc"/>
<constraint firstAttribute="trailing" secondItem="VpK-Lc-RKO" secondAttribute="trailing" constant="18" id="dUO-Se-WcY"/>
<constraint firstItem="VpK-Lc-RKO" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="18" id="nvK-Ab-4Op"/>
<constraint firstItem="VpK-Lc-RKO" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="r3w-AF-tKU"/>
</constraints>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<connections>
<outlet property="buttonCommit" destination="VpK-Lc-RKO" id="yKf-xH-qfI"/>
</connections>
<point key="canvasLocation" x="347" y="282.5"/>
</view>
</objects>
</document>
...@@ -11,6 +11,7 @@ typedef void (^myBlock)(NSArray *); ...@@ -11,6 +11,7 @@ typedef void (^myBlock)(NSArray *);
@interface SalesInputTableViewCell : UITableViewCell @interface SalesInputTableViewCell : UITableViewCell
@property (nonatomic, copy) myBlock updateCellData; @property (nonatomic, copy) myBlock updateCellData;
@property (weak, nonatomic) IBOutlet UILabel *paymentType;
- (void)cellWithArray:(NSArray *)array; - (void)cellWithArray:(NSArray *)array;
......
...@@ -55,6 +55,7 @@ ...@@ -55,6 +55,7 @@
</constraints> </constraints>
</tableViewCellContentView> </tableViewCellContentView>
<connections> <connections>
<outlet property="paymentType" destination="42B-69-MrJ" id="iVU-7e-ZnE"/>
<outlet property="textFieldAmount" destination="IOd-nI-Sgk" id="5cG-QC-dtr"/> <outlet property="textFieldAmount" destination="IOd-nI-Sgk" id="5cG-QC-dtr"/>
<outlet property="txtfieldSum" destination="DwV-QQ-nIc" id="sTl-vV-Iet"/> <outlet property="txtfieldSum" destination="DwV-QQ-nIc" id="sTl-vV-Iet"/>
</connections> </connections>
......
...@@ -13,6 +13,7 @@ typedef void (^tapBlock)(void); ...@@ -13,6 +13,7 @@ typedef void (^tapBlock)(void);
@property (nonatomic, copy) tapBlock nameTapActionBlock; @property (nonatomic, copy) tapBlock nameTapActionBlock;
@property (nonatomic, copy) tapBlock dateTapActionBlock; @property (nonatomic, copy) tapBlock dateTapActionBlock;
@property (weak, nonatomic) IBOutlet UITextField *textfieldDate; @property (weak, nonatomic) IBOutlet UITextField *textfieldDate;
@property (weak, nonatomic) IBOutlet UIButton *buttonName;
- (void)setShopName:(NSString *)name; - (void)setShopName:(NSString *)name;
- (void)setDate:(NSString *)date; - (void)setDate:(NSString *)date;
......
...@@ -14,7 +14,7 @@ ...@@ -14,7 +14,7 @@
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ZVI-Ki-EO6"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="ZVI-Ki-EO6">
<rect key="frame" x="0.0" y="0.0" width="375" height="125"/> <rect key="frame" x="0.0" y="0.0" width="375" height="125"/>
<subviews> <subviews>
<imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleAspectFit" image="sales_top_input_pic" translatesAutoresizingMaskIntoConstraints="NO" id="ilW-3S-WXQ"> <imageView opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleAspectFit" translatesAutoresizingMaskIntoConstraints="NO" id="ilW-3S-WXQ">
<rect key="frame" x="28" y="16" width="51" height="51"/> <rect key="frame" x="28" y="16" width="51" height="51"/>
<constraints> <constraints>
<constraint firstAttribute="width" constant="51" id="Sq6-RF-DZo"/> <constraint firstAttribute="width" constant="51" id="Sq6-RF-DZo"/>
...@@ -62,6 +62,9 @@ ...@@ -62,6 +62,9 @@
<constraint firstAttribute="height" constant="53" id="EID-y0-xQe"/> <constraint firstAttribute="height" constant="53" id="EID-y0-xQe"/>
<constraint firstAttribute="height" relation="greaterThanOrEqual" constant="53" id="l9y-V0-7s4"/> <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="53" id="l9y-V0-7s4"/>
</constraints> </constraints>
<connections>
<action selector="labelNameTapAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="8Y1-hG-eN4"/>
</connections>
</button> </button>
<textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="2016-02-4" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="g0n-5F-LTn"> <textField opaque="NO" clipsSubviews="YES" contentMode="scaleToFill" contentHorizontalAlignment="left" contentVerticalAlignment="center" text="2016-02-4" textAlignment="natural" minimumFontSize="17" translatesAutoresizingMaskIntoConstraints="NO" id="g0n-5F-LTn">
<rect key="frame" x="129" y="84" width="213" height="22"/> <rect key="frame" x="129" y="84" width="213" height="22"/>
...@@ -69,9 +72,16 @@ ...@@ -69,9 +72,16 @@
<fontDescription key="fontDescription" type="system" pointSize="18"/> <fontDescription key="fontDescription" type="system" pointSize="18"/>
<textInputTraits key="textInputTraits"/> <textInputTraits key="textInputTraits"/>
</textField> </textField>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="店铺" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qmy-ja-sP8">
<rect key="frame" x="32" y="31" width="36" height="22"/>
<fontDescription key="fontDescription" type="system" pointSize="18"/>
<color key="textColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
</subviews> </subviews>
<color key="backgroundColor" red="0.95294117647058818" green="0.4392156862745098" blue="0.062745098039215685" alpha="1" colorSpace="calibratedRGB"/> <color key="backgroundColor" red="0.95294117647058818" green="0.4392156862745098" blue="0.062745098039215685" alpha="1" colorSpace="calibratedRGB"/>
<constraints> <constraints>
<constraint firstItem="qmy-ja-sP8" firstAttribute="centerY" secondItem="dRE-Ph-BBH" secondAttribute="centerY" id="04i-2r-OWa"/>
<constraint firstItem="stJ-qB-AhQ" firstAttribute="leading" secondItem="dRE-Ph-BBH" secondAttribute="trailing" constant="7" id="0eC-0F-RKW"/> <constraint firstItem="stJ-qB-AhQ" firstAttribute="leading" secondItem="dRE-Ph-BBH" secondAttribute="trailing" constant="7" id="0eC-0F-RKW"/>
<constraint firstItem="dRE-Ph-BBH" firstAttribute="leading" secondItem="g0n-5F-LTn" secondAttribute="leading" id="5nO-Dm-wQJ"/> <constraint firstItem="dRE-Ph-BBH" firstAttribute="leading" secondItem="g0n-5F-LTn" secondAttribute="leading" id="5nO-Dm-wQJ"/>
<constraint firstItem="JFd-La-Uz1" firstAttribute="leading" secondItem="g0n-5F-LTn" secondAttribute="trailing" constant="7" id="6Iw-tX-NUX"/> <constraint firstItem="JFd-La-Uz1" firstAttribute="leading" secondItem="g0n-5F-LTn" secondAttribute="trailing" constant="7" id="6Iw-tX-NUX"/>
...@@ -81,6 +91,7 @@ ...@@ -81,6 +91,7 @@
<constraint firstItem="dB4-mG-z77" firstAttribute="leading" secondItem="ilW-3S-WXQ" secondAttribute="trailing" constant="58" id="8Kq-ah-wzw"/> <constraint firstItem="dB4-mG-z77" firstAttribute="leading" secondItem="ilW-3S-WXQ" secondAttribute="trailing" constant="58" id="8Kq-ah-wzw"/>
<constraint firstItem="JFd-La-Uz1" firstAttribute="leading" secondItem="stJ-qB-AhQ" secondAttribute="leading" id="D7b-db-Dzi"/> <constraint firstItem="JFd-La-Uz1" firstAttribute="leading" secondItem="stJ-qB-AhQ" secondAttribute="leading" id="D7b-db-Dzi"/>
<constraint firstAttribute="trailing" secondItem="7BV-nx-jgh" secondAttribute="trailing" constant="10" id="ISM-Eh-Jcy"/> <constraint firstAttribute="trailing" secondItem="7BV-nx-jgh" secondAttribute="trailing" constant="10" id="ISM-Eh-Jcy"/>
<constraint firstItem="qmy-ja-sP8" firstAttribute="leading" secondItem="ZVI-Ki-EO6" secondAttribute="leading" constant="32" id="K51-ju-g9n"/>
<constraint firstItem="stJ-qB-AhQ" firstAttribute="centerY" secondItem="dRE-Ph-BBH" secondAttribute="centerY" id="Nlr-iN-hXh"/> <constraint firstItem="stJ-qB-AhQ" firstAttribute="centerY" secondItem="dRE-Ph-BBH" secondAttribute="centerY" id="Nlr-iN-hXh"/>
<constraint firstItem="dRE-Ph-BBH" firstAttribute="centerY" secondItem="dB4-mG-z77" secondAttribute="centerY" id="Nx9-24-pxo"/> <constraint firstItem="dRE-Ph-BBH" firstAttribute="centerY" secondItem="dB4-mG-z77" secondAttribute="centerY" id="Nx9-24-pxo"/>
<constraint firstItem="dRE-Ph-BBH" firstAttribute="centerY" secondItem="ilW-3S-WXQ" secondAttribute="centerY" id="OIS-ei-9Mh"/> <constraint firstItem="dRE-Ph-BBH" firstAttribute="centerY" secondItem="ilW-3S-WXQ" secondAttribute="centerY" id="OIS-ei-9Mh"/>
...@@ -112,6 +123,7 @@ ...@@ -112,6 +123,7 @@
</constraints> </constraints>
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<connections> <connections>
<outlet property="buttonName" destination="7BV-nx-jgh" id="GzA-Vh-lYV"/>
<outlet property="labelShopName" destination="dRE-Ph-BBH" id="KsU-if-OPN"/> <outlet property="labelShopName" destination="dRE-Ph-BBH" id="KsU-if-OPN"/>
<outlet property="textfieldDate" destination="g0n-5F-LTn" id="fXf-XI-RTH"/> <outlet property="textfieldDate" destination="g0n-5F-LTn" id="fXf-XI-RTH"/>
</connections> </connections>
...@@ -120,6 +132,5 @@ ...@@ -120,6 +132,5 @@
</objects> </objects>
<resources> <resources>
<image name="javen_right_icon" width="16" height="27"/> <image name="javen_right_icon" width="16" height="27"/>
<image name="sales_top_input_pic" width="63" height="63"/>
</resources> </resources>
</document> </document>
...@@ -10,5 +10,6 @@ ...@@ -10,5 +10,6 @@
@interface SalesInputTotalVIew : UIView @interface SalesInputTotalVIew : UIView
@property (weak, nonatomic) IBOutlet UILabel *labelTotal; @property (weak, nonatomic) IBOutlet UILabel *labelTotal;
@property (weak, nonatomic) IBOutlet UILabel *labelTotalAmount;
@end @end
...@@ -48,7 +48,7 @@ ...@@ -48,7 +48,7 @@
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
</subviews> </subviews>
<color key="backgroundColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/> <color key="backgroundColor" red="0.92941176470588238" green="0.10588235294117647" blue="0.13725490196078433" alpha="1" colorSpace="calibratedRGB"/>
<constraints> <constraints>
<constraint firstItem="qWe-Q2-slF" firstAttribute="centerY" secondItem="kPx-jb-maY" secondAttribute="centerY" id="0BQ-7E-K2f"/> <constraint firstItem="qWe-Q2-slF" firstAttribute="centerY" secondItem="kPx-jb-maY" secondAttribute="centerY" id="0BQ-7E-K2f"/>
<constraint firstAttribute="height" constant="42" id="WPQ-Ou-6mS"/> <constraint firstAttribute="height" constant="42" id="WPQ-Ou-6mS"/>
...@@ -57,10 +57,10 @@ ...@@ -57,10 +57,10 @@
<constraint firstItem="qWe-Q2-slF" firstAttribute="leading" secondItem="kPx-jb-maY" secondAttribute="leading" constant="10" id="tXQ-lW-a71"/> <constraint firstItem="qWe-Q2-slF" firstAttribute="leading" secondItem="kPx-jb-maY" secondAttribute="leading" constant="10" id="tXQ-lW-a71"/>
</constraints> </constraints>
</view> </view>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="392333" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="S1O-1V-wvJ"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" misplaced="YES" text="" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="S1O-1V-wvJ">
<rect key="frame" x="233" y="50" width="101" height="34"/> <rect key="frame" x="334" y="50" width="0.0" height="0.0"/>
<fontDescription key="fontDescription" type="system" pointSize="28"/> <fontDescription key="fontDescription" type="system" pointSize="28"/>
<color key="textColor" red="1" green="0.0" blue="0.0" alpha="1" colorSpace="calibratedRGB"/> <color key="textColor" red="0.92941176470588238" green="0.10588235294117647" blue="0.13725490196078433" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
</subviews> </subviews>
...@@ -127,6 +127,7 @@ ...@@ -127,6 +127,7 @@
<freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/> <freeformSimulatedSizeMetrics key="simulatedDestinationMetrics"/>
<connections> <connections>
<outlet property="labelTotal" destination="qWe-Q2-slF" id="IC1-Zd-gxf"/> <outlet property="labelTotal" destination="qWe-Q2-slF" id="IC1-Zd-gxf"/>
<outlet property="labelTotalAmount" destination="S1O-1V-wvJ" id="qlk-3V-5GO"/>
<outlet property="viewRedBac" destination="kPx-jb-maY" id="kkw-PQ-k5Q"/> <outlet property="viewRedBac" destination="kPx-jb-maY" id="kkw-PQ-k5Q"/>
</connections> </connections>
<point key="canvasLocation" x="292.5" y="68.5"/> <point key="canvasLocation" x="292.5" y="68.5"/>
......
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