diff --git a/XFFruit.xcodeproj/project.pbxproj b/XFFruit.xcodeproj/project.pbxproj index 1e7990091a801b16d5984377c70e2c114d353b96..11b667c8c0a6e65198a41fcb0bd43e0c71d4a0d7 100644 --- a/XFFruit.xcodeproj/project.pbxproj +++ b/XFFruit.xcodeproj/project.pbxproj @@ -122,6 +122,7 @@ 724171721B9D30660094DF55 /* ChooseWarehouseViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7241716C1B9D30660094DF55 /* ChooseWarehouseViewController.m */; }; 724171731B9D30660094DF55 /* ChosePersonViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 7241716E1B9D30660094DF55 /* ChosePersonViewController.m */; }; 724171761B9D30DE0094DF55 /* ChooseCostViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 724171751B9D30DE0094DF55 /* ChooseCostViewController.m */; }; + 7249BDD71BE794640059EB8C /* FinishTimeView.m in Sources */ = {isa = PBXBuildFile; fileRef = 7249BDD61BE794640059EB8C /* FinishTimeView.m */; settings = {ASSET_TAGS = (); }; }; 726F4C6D1BDE5F83006A5E6D /* RejectView.m in Sources */ = {isa = PBXBuildFile; fileRef = 726F4C6C1BDE5F83006A5E6D /* RejectView.m */; }; 72805CF31BB8E1B0009E1F82 /* TransferViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72805CF21BB8E1B0009E1F82 /* TransferViewController.m */; }; 72805CF61BB8E20B009E1F82 /* NewTransferViewController.m in Sources */ = {isa = PBXBuildFile; fileRef = 72805CF51BB8E20B009E1F82 /* NewTransferViewController.m */; }; @@ -663,6 +664,8 @@ 7241716E1B9D30660094DF55 /* ChosePersonViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChosePersonViewController.m; sourceTree = "<group>"; }; 724171741B9D30DE0094DF55 /* ChooseCostViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ChooseCostViewController.h; sourceTree = "<group>"; }; 724171751B9D30DE0094DF55 /* ChooseCostViewController.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ChooseCostViewController.m; sourceTree = "<group>"; }; + 7249BDD51BE794640059EB8C /* FinishTimeView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = FinishTimeView.h; sourceTree = "<group>"; }; + 7249BDD61BE794640059EB8C /* FinishTimeView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = FinishTimeView.m; sourceTree = "<group>"; }; 726F4C6B1BDE5F83006A5E6D /* RejectView.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = RejectView.h; sourceTree = "<group>"; }; 726F4C6C1BDE5F83006A5E6D /* RejectView.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = RejectView.m; sourceTree = "<group>"; }; 72805CF11BB8E1B0009E1F82 /* TransferViewController.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = TransferViewController.h; sourceTree = "<group>"; }; @@ -1403,6 +1406,8 @@ FE2FCC8A1B74A9EE00BBC6FB /* SurveyResultCell.m */, FEAE16E71B79C9F9009D9E01 /* ResultView.h */, FEAE16E81B79C9F9009D9E01 /* ResultView.m */, + 7249BDD51BE794640059EB8C /* FinishTimeView.h */, + 7249BDD61BE794640059EB8C /* FinishTimeView.m */, ); path = Views; sourceTree = "<group>"; @@ -2905,6 +2910,7 @@ C17DE85A1AD81D1600581AA6 /* NSMutableArray+SafeInsert.m in Sources */, 721B5DB61BA02A2B006CA199 /* GXFProcessMaterial.m in Sources */, 35C3C0B91AE9567B0035AC8A /* ICRNavigationViewController.mm in Sources */, + 7249BDD71BE794640059EB8C /* FinishTimeView.m in Sources */, 35321F6A1B97EF3600E5C670 /* GXFPopNewProductViewController.m in Sources */, C123A8FB1B2561E1003C0C36 /* JTPopOverWindow.m in Sources */, 72F56CB21B76EC200077F0C9 /* SurveyUser.m in Sources */, diff --git a/XFFruit/AppDelegate/ICRAppDelegate.m b/XFFruit/AppDelegate/ICRAppDelegate.m index 590ab6a1680cb324b825a7501887d1864e4b7712..3a46d00ccfbc440b920af24380d284a988fcaf11 100644 --- a/XFFruit/AppDelegate/ICRAppDelegate.m +++ b/XFFruit/AppDelegate/ICRAppDelegate.m @@ -35,7 +35,8 @@ NSString * path = [NSSearchPathForDirectoriesInDomains(NSDocumentationDirectory, NSUserDomainMask, YES) lastObject]; CLog(@"%@",path); - + [self enterpriseUpdate]; + // Required #if __IPHONE_OS_VERSION_MAX_ALLOWED > __IPHONE_7_1 if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0) { @@ -66,7 +67,6 @@ [self setupBMKMapMgr]; _m_appViewControllerMgr = [ICRAppViewControllerManager getAppViewControllerManager]; #pragma 版本更新 - [self enterpriseUpdate]; [self.window makeKeyAndVisible]; return YES; } @@ -96,13 +96,11 @@ NSDictionary *dictData = data[@"data"]; NSString*serverVeision=[dictData objectForKey:@"version"]; NSString*serverUrl=[dictData objectForKey:@"url"]; - BOOL forceUpdate=[dictData objectForKey:@"forceUpdate"]; + BOOL forceUpdate= [dictData objectForKey:@"forceUpdate"]; self.severVersion=serverVeision; self.severUrl=serverUrl; self.severForceUpdate=forceUpdate; [strongSelf comperVersion]; - - }else{ [IBTLoadingView showTips:message]; } @@ -120,33 +118,29 @@ //比较版本å·åŠæ˜¯å¦ä¸‹è½½ -(void)comperVersion { - NSComparisonResult comResult = [self p_compareVersions: self.version betweenVersion2:self.severVersion]; - - if (comResult == NSOrderedAscending) { - //299ä¼ä¸šç‰ˆçš„æ›´æ–° @"有新的版本å¯ä¾›ä¸‹è½½" - // NSOrderedAscending self.version<self.severVersion - // NSOrderedDescending self.version>self.severVersion - // NSOrderedSame self.version==self.severVersion - if (self.severForceUpdate) { - //强制更新 -// UIAlertView *alertV = [[UIAlertView alloc]initWithTitle:@"新版本告知" message: @"有新版本å‘布请您下载最新版本" delegate:self cancelButtonTitle:nil otherButtonTitles: @"去下载", nil]; -// alertV.tag = 1001; -// [alertV show]; - }else - { - UIAlertView *alertV = [[UIAlertView alloc]initWithTitle:@"新版本告知" message: @"有新版本å‘布请您下载最新版本" delegate:self cancelButtonTitle:@"下次å†è¯´"otherButtonTitles: @"去下载", nil];// - alertV.tag = 1002; - [alertV show]; - } - - - }else{ - [IBTLoadingView showProgressLabel:@"æš‚æ— æ–°ç‰ˆæœ¬"]; + if (self.version && self.severVersion) { + NSComparisonResult comResult = [self p_compareVersions: self.version betweenVersion2:self.severVersion]; + if (comResult == NSOrderedAscending) { + if (self.severForceUpdate) { + //强制更新 + UIAlertView *alertV = [[UIAlertView alloc]initWithTitle:@"新版本告知" message: @"有新版本å‘布请您下载最新版本" delegate:self cancelButtonTitle:nil otherButtonTitles: @"去下载", nil]; + alertV.tag = 1001; + [alertV show]; + }else + { + UIAlertView *alertV = [[UIAlertView alloc]initWithTitle:@"新版本告知" message: @"有新版本å‘布请您下载最新版本" delegate:self cancelButtonTitle:@"下次å†è¯´"otherButtonTitles: @"去下载", nil];// + alertV.tag = 1002; + [alertV show]; + } + + + }else{ + [IBTLoadingView showProgressLabel:@"æš‚æ— æ–°ç‰ˆæœ¬"]; + + } + } - - - } - (void) alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { diff --git a/XFFruit/Controllers/HTTPController/ICRHTTPController.m b/XFFruit/Controllers/HTTPController/ICRHTTPController.m index 4c904044dde81b69e2074152db6a7d5b1f411c1d..e469b5673cb1d3d4f33a5fca860240b0822ae76c 100644 --- a/XFFruit/Controllers/HTTPController/ICRHTTPController.m +++ b/XFFruit/Controllers/HTTPController/ICRHTTPController.m @@ -243,7 +243,7 @@ static NSString * const ICRHTTPInterface[] = { //æ”¶è´§ [XFFHttp_SaveRctinfo] =@"transfer/save_rctinfo", [XFFHttp_SaveReceipt] =@"transfer/receipt", - [XFFHttp_getVersionId] = @"rest/ipapk", + [XFFHttp_getVersionId] =@"ipapk", }; @@ -2944,7 +2944,7 @@ acceptTypeJson:YES } }; - NSString *urlStr = [NSString stringWithFormat:@"%@/%@?type=%@",Server_Url,ICRHTTPInterface[XFFHttp_getVersionId],type]; + NSString *urlStr = [NSString stringWithFormat:@"%@/%@?type=%@",HTTP_REST_API_BASE_URL,ICRHTTPInterface[XFFHttp_getVersionId],type]; NSString *encodeUrlStr = [urlStr stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]; [self GET:encodeUrlStr diff --git a/XFFruit/Macro/ICRAppMacro.h b/XFFruit/Macro/ICRAppMacro.h index f8aa9223720b835a7d57a5795e3b5705ca9c6fe1..5d01142910c356a64bae42bc9c3ea7d4364585c7 100644 --- a/XFFruit/Macro/ICRAppMacro.h +++ b/XFFruit/Macro/ICRAppMacro.h @@ -24,14 +24,9 @@ //阿里云内部测试环境 //#define HTTP_REST_API_BASE_URL @"http://218.244.151.129:7580/cruiser-server/rest" -#define Server_Url @"http://218.244.151.129:7580/cruiser-server" //现场测试环境 #define HTTP_REST_API_BASE_URL @"http://122.224.171.126:7280/cruiser-server/rest" -//#define Server_Url @"http://122.224.171.126:7280/cruiser-server" - - - // HTTP diff --git a/XFFruit/ViewControllers/PurchaseNotice/Controllers/NewPurchaseNoticeViewController.m b/XFFruit/ViewControllers/PurchaseNotice/Controllers/NewPurchaseNoticeViewController.m index 20cf65f3907b6bbc18ab7aa107dbd0596381d94c..41da630483507de7e759abfe9778f416eecff848 100644 --- a/XFFruit/ViewControllers/PurchaseNotice/Controllers/NewPurchaseNoticeViewController.m +++ b/XFFruit/ViewControllers/PurchaseNotice/Controllers/NewPurchaseNoticeViewController.m @@ -16,7 +16,7 @@ #import "PurchaseNoticeCell.h" #import "NoticeProductViewController.h" #import "NoticeProduct.h" -#import "StartTimeView.h" +#import "FinishTimeView.h" #import "PurchaseBillProduct.h" #define LeftMargin 15 #define LeftWidth 40 @@ -38,7 +38,7 @@ typedef enum : NSUInteger { SaveTag = 8000, CommitTag, } BtnTag; -@interface NewPurchaseNoticeViewController()<UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate,HPGrowingTextViewDelegate,UIAlertViewDelegate,StartTimeViewDelegate> +@interface NewPurchaseNoticeViewController()<UITableViewDataSource,UITableViewDelegate,UITextFieldDelegate,HPGrowingTextViewDelegate,UIAlertViewDelegate,FinishTimeViewDelegate> { NSString *_clickState; UITableView *_tableView; @@ -55,7 +55,7 @@ typedef enum : NSUInteger { id billNumberObject; NSNumber *versionObject; NSString *title; - StartTimeView *_startTimeView; + FinishTimeView *_startTimeView; } @property (nonatomic,strong)NSString *titleStr; @@ -539,7 +539,14 @@ typedef enum : NSUInteger { } - (void)startDatePickView{ if (!_startTimeView) { - _startTimeView = [[StartTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64) withMode:UIDatePickerModeDateAndTime]; + NSString *currentStr = @""; + if ([_finishDateLabel.text isEqualToString:@"é€‰æ‹©è¦æ±‚å®Œæˆæ—¥æœŸ"] || _finishDateLabel.text.length < 1) { + currentStr = [IBTCommon stringFromDateWithFormat:[NSDate date] format:@"yyyy-MM-dd HH:mm"]; + }else{ + currentStr = _finishDateLabel.text; + } + + _startTimeView = [[FinishTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64) withDate:currentStr]; _startTimeView.delegate = self; _startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5); [self.view addSubview:_startTimeView]; @@ -556,11 +563,11 @@ typedef enum : NSUInteger { - (void)cancelTimeView{ [self clearDatePickView]; } -- (void)okTimeView:(NSDate *)time{ +- (void)okTimeView:(NSString *)time{ _finishDateLabel.textColor = GXF_CONTENT_COLOR; - _finishDateLabel.text = [IBTCommon stringFromDateWithFormat:time format:@"yyyy-MM-dd HH:mm"]; - self.finishDateStr = [time httpParameterString]; + _finishDateLabel.text = time; + self.finishDateStr = time; // å…³é—选择器 [self clearDatePickView]; } diff --git a/XFFruit/ViewControllers/Survey/Views/FinishTimeView.h b/XFFruit/ViewControllers/Survey/Views/FinishTimeView.h new file mode 100644 index 0000000000000000000000000000000000000000..0f24c4e03169c4ed29b8ec0761fa886319503470 --- /dev/null +++ b/XFFruit/ViewControllers/Survey/Views/FinishTimeView.h @@ -0,0 +1,20 @@ +// +// FinishTimeView.h +// XFFruit +// +// Created by 陈俊俊 on 15/11/2. +// Copyright © 2015å¹´ Xummer. All rights reserved. +// + +#import <UIKit/UIKit.h> +@protocol FinishTimeViewDelegate <NSObject> + +- (void)cancelTimeView; +- (void)okTimeView:(NSString *)time; + +@end + +@interface FinishTimeView : UIView<UIPickerViewDataSource,UIPickerViewDelegate> +@property (nonatomic,weak)id<FinishTimeViewDelegate>delegate; +- (instancetype)initWithFrame:(CGRect)frame withDate:(NSString *)dateStr; +@end diff --git a/XFFruit/ViewControllers/Survey/Views/FinishTimeView.m b/XFFruit/ViewControllers/Survey/Views/FinishTimeView.m new file mode 100644 index 0000000000000000000000000000000000000000..36407003f5f9f4984288ec5cb12cc4e483efa7db --- /dev/null +++ b/XFFruit/ViewControllers/Survey/Views/FinishTimeView.m @@ -0,0 +1,321 @@ +// +// FinishTimeView.m +// XFFruit +// +// Created by 陈俊俊 on 15/11/2. +// Copyright © 2015å¹´ Xummer. All rights reserved. +// + +#import "FinishTimeView.h" +// èµ·å§‹å¹´æ•° +#define kStartYear 1980 +// 总年数 +#define kYearCount 200 +#define DateViewHeight 246 + +@interface FinishTimeView () +{ + UIView *_bgView; + +} +// 定义数æ®å±žæ€§ +// 1. 年数组 +@property (strong, nonatomic) NSArray *yearList; +// 2. 月数组 +@property (strong, nonatomic) NSArray *monthList; +// 3. 日数组 +@property (strong, nonatomic) NSMutableArray *dayList; +// æ—¶ +@property (strong,nonatomic) NSArray *hourList; +// 分 +@property (strong,nonatomic) NSArray *minuteList; +// 4. 选ä¸çš„å¹´æ•° +@property (assign, nonatomic) NSInteger selectedYear; +// 5. 选ä¸çš„æœˆæ•° +@property (assign, nonatomic) NSInteger selectedMonth; +@property (assign,nonatomic) NSInteger currentYear; +@property (assign,nonatomic) NSInteger currentMonth; +@property (assign,nonatomic) NSInteger currentDay; +@property (assign,nonatomic) NSInteger currentHour; +@property (assign,nonatomic) NSInteger currentMinute; + +@property (nonatomic,strong) UIPickerView *pickerView; +@property (nonatomic,strong) NSString *dateStr; +@end + +@implementation FinishTimeView + +- (instancetype)initWithFrame:(CGRect)frame withDate:(NSString *)dateStr +{ + self = [super initWithFrame:frame]; + if (self) { + self.dateStr = dateStr; + [self buildLayout]; + } + self.backgroundColor = [UIColor whiteColor]; + return self; +} +- (void)buildLayout +{ + _bgView = [[UIView alloc] initWithFrame:CGRectMake(0, self.frame.size.height - DateViewHeight, ScreenSize.width, DateViewHeight)]; + _bgView.backgroundColor = RGBA(239, 239, 239 ,1); + [self addSubview:_bgView]; + + UIButton *okBtn = [IBTCustomButtom creatButtonWithFrame:CGRectMake(ScreenSize.width - 62, 0, 62, 28) target:self sel:@selector(okClick) tag:0 image:nil title:@"确定" titleColor:[UIColor blackColor] isCorner:NO corner:0 bgColor:RGBA(239, 239, 239 ,1)]; + [_bgView addSubview:okBtn]; + + UIButton *cancelBtn = [IBTCustomButtom creatButtonWithFrame:CGRectMake(0, 0, 62, 28) target:self sel:@selector(cancelClick) tag:0 image:nil title:@"å–æ¶ˆ" titleColor:[UIColor blackColor] isCorner:NO corner:0 bgColor:RGBA(239, 239, 239 ,1)]; + [_bgView addSubview:cancelBtn]; + + UIPickerView *pickerView = [[UIPickerView alloc]initWithFrame:CGRectMake(0, 30,ScreenSize.width, DateViewHeight - 30)]; + pickerView.backgroundColor = [UIColor whiteColor]; + // æŒ‡å®šæ•°æ®æº + [pickerView setDataSource:self]; + // æŒ‡å®šä»£ç† + [pickerView setDelegate:self]; + // PickerViewé»˜è®¤æ˜¯æ²¡æœ‰é€‰ä¸æ ‡ç¤ºçš„ + [pickerView setShowsSelectionIndicator:YES]; + self.pickerView = pickerView; + [_bgView addSubview:pickerView]; + + CLog(@"====%@",self.dateStr); + + + self.currentYear = [[self.dateStr substringWithRange:NSMakeRange(0,4)] intValue]; + self.currentMonth = [[self.dateStr substringWithRange:NSMakeRange(5,2)] intValue]; + self.currentDay = [[self.dateStr substringWithRange:NSMakeRange(8,2)] intValue]; + self.currentHour = [[self.dateStr substringWithRange:NSMakeRange(11,2)] intValue]; + self.currentMinute = [[self.dateStr substringWithRange:NSMakeRange(14,2)] intValue]; + // 3. åˆå§‹åŒ–æ•°æ® + // 1) å¹´æ•°æ® + NSMutableArray *yearArray = [NSMutableArray arrayWithCapacity:kYearCount]; + for (NSInteger i = 0; i < kYearCount; i++) { + NSString *str = [NSString stringWithFormat:@"%då¹´", i + kStartYear]; + + [yearArray addObject:str]; + } + self.yearList = yearArray; + + // 2) æœˆæ•°æ® + NSMutableArray *monthArray = [NSMutableArray arrayWithCapacity:12]; + for (NSInteger i = 1; i <= 12; i++) { + NSString *str = [NSString stringWithFormat:@"%d月", i]; + + [monthArray addObject:str]; + } + self.monthList = monthArray; + + // æ—¶ + NSMutableArray *hourArray = [NSMutableArray arrayWithCapacity:24]; + for (NSInteger i = 0; i < 24; i++) { + NSString *str = [NSString stringWithFormat:@"%dæ—¶",i]; + [hourArray addObject:str]; + } + self.hourList = hourArray; + + // 分 + NSMutableArray *minuteArray = [NSMutableArray arrayWithCapacity:60]; + for (NSInteger i = 0; i < 60; i++) { + NSString *str = [NSString stringWithFormat:@"%d分",i]; + [minuteArray addObject:str]; + } + self.minuteList = minuteArray; + + // åˆå§‹åŒ–选ä¸å¹´ã€æœˆ + self.currentYear = [[self.dateStr substringWithRange:NSMakeRange(0,4)] intValue]; + self.currentMonth = [[self.dateStr substringWithRange:NSMakeRange(5,2)] intValue]; + self.currentDay = [[self.dateStr substringWithRange:NSMakeRange(8,2)] intValue]; + self.currentHour = [[self.dateStr substringWithRange:NSMakeRange(11,2)] intValue]; + + [pickerView selectRow:(self.currentYear - kStartYear) inComponent:0 animated:YES]; + [pickerView selectRow:(self.currentMonth - 1) inComponent:1 animated:YES]; + [pickerView selectRow:(self.currentDay - 1) inComponent:2 animated:YES]; + [pickerView selectRow:self.currentHour inComponent:3 animated:YES]; + [pickerView selectRow:(self.currentMinute) inComponent:4 animated:YES]; + + [self pickerView:pickerView didSelectRow:self.currentYear - kStartYear inComponent:0]; + [self pickerView:pickerView didSelectRow:(self.currentMonth - 1) inComponent:1]; + [self pickerView:pickerView didSelectRow:(self.currentDay - 1) inComponent:2]; + [self pickerView:pickerView didSelectRow:(self.currentHour - 1) inComponent:3]; + [self pickerView:pickerView didSelectRow:(self.currentMinute -1) inComponent:4]; + +} + +#pragma mark - ç§æœ‰æ–¹æ³• +#pragma mark 判æ–é—°å¹´ +- (BOOL)isLeapYear:(NSInteger)year +{ + // 如果年数能被4æ•´é™¤ï¼ŒåŒæ—¶ä¸èƒ½è¢«100整除 + // 能被400整除的是闰年 + return (year % 4 == 0 && year % 100 != 0) || (year % 400 == 0); +} + +#pragma mark 创建日数组 +// æ¤æ–¹æ³•的返回值是voidï¼Œæ˜¯ä¸ºäº†ä¸æ”¹å˜dayList的指针 +- (void)createDayListWithYear:(NSInteger)year month:(NSInteger)month +{ + // æ—¥æ•°ç»„æ˜¯æ‡’åŠ è½½ï¼Œéœ€è¦æ—¶åœ¨åˆ›å»º + if (self.dayList == nil) { + // åœ¨å¼€å‘æ—¶å°½å¯èƒ½è¦åŽ»æŽ§åˆ¶NSMutableArrayçš„å®¹é‡ + self.dayList = [NSMutableArray arrayWithCapacity:31]; + } else { + [self.dayList removeAllObjects]; + } + + // åˆå§‹åŒ–日数组 + /** + å¹´ï¼šæ˜¯å¦æ˜¯é—°å¹´ + æœˆï¼šå¤§æœˆï¼Œå°æœˆ + */ + NSInteger days = 31; + if ([self isLeapYear:year] && month == 2) { + // é—°å¹´çš„2月 + days = 29; + } else if (2 == month) { + // éžé—°å¹´çš„2月 + days = 28; + } else if (month == 4 || month == 6 || month == 9 || month == 11) { + // å°æœˆ + days = 30; + } + + for (NSInteger i = 1; i <= days; i++) { + NSString *str = [NSString stringWithFormat:@"%dæ—¥", i]; + + [self.dayList addObject:str]; + } +} +#pragma mark - PickerViewçš„æ•°æ®æºæ–¹æ³• +#pragma mark 指定列数 +- (NSInteger)numberOfComponentsInPickerView:(UIPickerView *)pickerView +{ + return 5; +} + +#pragma mark 指定行数 +- (NSInteger)pickerView:(UIPickerView *)pickerView numberOfRowsInComponent:(NSInteger)component +{ + if (0 == component) { + // å¹´ + return self.yearList.count; + } else if (1 == component) { + // 月 + return self.monthList.count; + } else if (2 == component) { + // æ—¥ + // 需è¦åˆ›å»ºæ—¥æ•°ç»„-æ‡’åŠ è½½ + [self createDayListWithYear:self.selectedYear month:self.selectedMonth]; + + return self.dayList.count; + } + else if (3 == component) { + // æ—¶ + return self.hourList.count; + } else // 分 + { + return self.minuteList.count; + } +} + +#pragma mark - UIPickerViewDelegate +#pragma mark 指定component列row行的内容 +- (NSString *)pickerView:(UIPickerView *)pickerView titleForRow:(NSInteger)row forComponent:(NSInteger)component +{ + if (0 == component) { + return self.yearList[row]; + } else if (1 == component) { + return self.monthList[row]; + } else if (2 == component){ + return self.dayList[row]; + } + else if (3 == component) { + return self.hourList[row]; + } else { + return self.minuteList[row]; + } +} + + +- (CGFloat)pickerView:(UIPickerView *)pickerView widthForComponent:(NSInteger)component +{ + if (component == 0) { + return 80; + } + return 50; +} + +- (void)pickerView:(UIPickerView *)pickerView didSelectRow:(NSInteger)row inComponent:(NSInteger)component +{ + // 当用户在月份列选择数值时,需è¦åˆ·æ–°æ—¥æœŸçš„æ•°ç»„ + self.selectedYear = [pickerView selectedRowInComponent:0] + kStartYear; + self.selectedMonth = [pickerView selectedRowInComponent:1] + 1; + NSInteger resetRow = [pickerView selectedRowInComponent:2]; + if (component == 1) { + [pickerView reloadComponent:2]; + [self pickerView:pickerView didSelectRow:resetRow inComponent:2]; + } else if (component == 0 && self.selectedMonth == 2) { + // å¦‚æžœç”¨æˆ·æ˜¯åœ¨å¹´åˆ—é€‰æ‹©çš„æ•°å€¼ï¼ŒåŒæ—¶æœˆä»½ä¸çš„当剿•°å€¼æ˜¯2月,需è¦åˆ·æ–°æ•°æ® + [pickerView reloadComponent:2]; + [self pickerView:pickerView didSelectRow:resetRow inComponent:2]; + } +} + +- (UIView *)pickerView:(UIPickerView *)pickerView viewForRow:(NSInteger)row forComponent:(NSInteger)component reusingView:(UIView *)view +{ + UILabel *myView = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, 330, 30)]; + myView.textAlignment = NSTextAlignmentCenter; + myView.font = [UIFont systemFontOfSize:16]; + switch (component) { + case 0: + myView.text = self.yearList[row]; + break; + case 1: + myView.text = self.monthList[row]; + break; + case 2: + myView.text = self.dayList[row]; + break; + case 3: + myView.text = self.hourList[row]; + break; + case 4: + myView.text = self.minuteList[row]; + break; + default: + break; + } + return myView; +} + +- (NSString *)getDate +{ + NSInteger yearRow = [_pickerView selectedRowInComponent:0]; + NSString *year = [self.yearList[yearRow] stringByReplacingOccurrencesOfString:@"å¹´" withString:@""]; + NSInteger monthRow = [_pickerView selectedRowInComponent:1]; + NSString *month = [self.monthList[monthRow] stringByReplacingOccurrencesOfString:@"月" withString:@""]; + NSInteger dayRow = [_pickerView selectedRowInComponent:2]; + NSString *day = [self.dayList[dayRow] stringByReplacingOccurrencesOfString:@"æ—¥" withString:@""]; + NSInteger hourRow = [_pickerView selectedRowInComponent:3]; + NSString *hour = [self.hourList[hourRow] stringByReplacingOccurrencesOfString:@"æ—¶" withString:@""]; + NSInteger minuteRow = [_pickerView selectedRowInComponent:4]; + NSString *minute = [self.minuteList[minuteRow] stringByReplacingOccurrencesOfString:@"分" withString:@""]; + NSArray *array1 = [NSArray arrayWithObjects:year,month,day, nil]; + NSArray *array2 = [NSArray arrayWithObjects:hour,minute, nil]; + NSString *date1 = [array1 componentsJoinedByString:@"-"]; + NSString *date2 = [array2 componentsJoinedByString:@":"]; + NSString *date = [NSString stringWithFormat:@"%@ %@",date1,date2]; + NSDateFormatter *formatter = [[NSDateFormatter alloc]init]; + formatter.dateFormat = @"yyyy-MM-dd HH:mm"; + + return [formatter stringFromDate:[formatter dateFromString:date]]; + +} + +- (void)okClick{ + NSString *dateStr = [self getDate]; + [self.delegate okTimeView:dateStr]; +} +- (void)cancelClick{ + [self.delegate cancelTimeView]; +} +@end diff --git a/XFFruit/ViewControllers/Survey/Views/StartTimeView.h b/XFFruit/ViewControllers/Survey/Views/StartTimeView.h index 1921ce66927d9e1bf7c36084e5f740b10116dcf5..c9a10d67709f4a17be0ef76fad50c092ac4bb1bb 100644 --- a/XFFruit/ViewControllers/Survey/Views/StartTimeView.h +++ b/XFFruit/ViewControllers/Survey/Views/StartTimeView.h @@ -17,6 +17,5 @@ @interface StartTimeView : UIView @property (nonatomic,weak)id<StartTimeViewDelegate>delegate; -- (instancetype)initWithFrame:(CGRect)frame withMode:(UIDatePickerMode)timeMode -; +- (instancetype)initWithFrame:(CGRect)frame withDate:(NSDate *)currentDate; @end diff --git a/XFFruit/ViewControllers/Survey/Views/StartTimeView.m b/XFFruit/ViewControllers/Survey/Views/StartTimeView.m index a64d5b7792987326bd94d32507d9f894bcfedd39..7e22775eb2811082c9bc7ddd7ad405bd69943d4d 100644 --- a/XFFruit/ViewControllers/Survey/Views/StartTimeView.m +++ b/XFFruit/ViewControllers/Survey/Views/StartTimeView.m @@ -13,7 +13,7 @@ UIView *_bgView; UIDatePicker *_timePicker; } -@property (nonatomic,assign)UIDatePickerMode timeMode; +@property (nonatomic,strong)NSDate *currentDate; @end @implementation StartTimeView @@ -21,16 +21,15 @@ { self = [super initWithFrame:frame]; if (self) { - self.timeMode = UIDatePickerModeDate; [self bulidLayout]; } return self; } -- (instancetype)initWithFrame:(CGRect)frame withMode:(UIDatePickerMode)timeMode +- (instancetype)initWithFrame:(CGRect)frame withDate:(NSDate *)currentDate { self = [super initWithFrame:frame]; if (self) { - self.timeMode = timeMode; + self.currentDate = currentDate; [self bulidLayout]; } return self; @@ -48,7 +47,8 @@ _timePicker= [[UIDatePicker alloc] initWithFrame:CGRectMake(0, 30,ScreenSize.width, DateViewHeight - 30)]; _timePicker.backgroundColor = [UIColor whiteColor]; - _timePicker.datePickerMode = self.timeMode; + _timePicker.date = self.currentDate; + _timePicker.datePickerMode = UIDatePickerModeDate; _timePicker.locale = [[NSLocale alloc]initWithLocaleIdentifier:@"zh_CN"]; // // è®¾ç½®æœ€å°æ—¶é—´æ®µï¼Œé˜²æ¢ç”¨æˆ·çš„出现已过去的时间 // _timePicker.minimumDate = [NSDate date]; diff --git a/XFFruit/ViewControllers/Survey/controllers/NewSurveyViewController.m b/XFFruit/ViewControllers/Survey/controllers/NewSurveyViewController.m index 8f8ae2de29349bf7c534dd410c45b3b4b5217b88..8c40cb296111d8746b3a98af284b1f502508aa68 100644 --- a/XFFruit/ViewControllers/Survey/controllers/NewSurveyViewController.m +++ b/XFFruit/ViewControllers/Survey/controllers/NewSurveyViewController.m @@ -452,7 +452,21 @@ typedef enum : NSUInteger { - (void)startDatePickView{ if (!_startTimeView) { - _startTimeView = [[StartTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64)]; + NSDate *currentDate; + if (_isClickStart) { + if ([_startDateLabel.text isEqualToString:@"选择日期"] || _startDateLabel.text.length < 1) { + currentDate = [NSDate date]; + }else{ + currentDate = [IBTCommon convertToDateFrom:_startDateLabel.text]; + } + }else{ + if ([_endDateLabel.text isEqualToString:@"选择日期"] || _endDateLabel.text.length < 1) { + currentDate = [NSDate date]; + }else{ + currentDate = [IBTCommon convertToDateFrom:_endDateLabel.text]; + } + } + _startTimeView = [[StartTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64) withDate:currentDate]; _startTimeView.delegate = self; _startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5); [self.view addSubview:_startTimeView]; diff --git a/XFFruit/ViewControllers/Survey/controllers/SurveyDetailViewController.m b/XFFruit/ViewControllers/Survey/controllers/SurveyDetailViewController.m index d57d7e8baf8d44c1f32aa191b7461efd6625d8c2..9d6531b3ad543d51a2e49c9dea4a5ea640a3a2ef 100644 --- a/XFFruit/ViewControllers/Survey/controllers/SurveyDetailViewController.m +++ b/XFFruit/ViewControllers/Survey/controllers/SurveyDetailViewController.m @@ -87,7 +87,7 @@ typedef enum : NSUInteger { NSString *message = data[@"message"] ; if (success == 1) { NSString *dataStr = data[@"data"]; - NSString *urlStr = [NSString stringWithFormat:@"%@/DisplayChart?filename=%@",Server_Url,dataStr]; + NSString *urlStr = [NSString stringWithFormat:@"%@/DisplayChart?filename=%@",@"http://122.224.171.126:7280/cruiser-server",dataStr]; [_chartImageView sd_setImageWithURL:[NSURL URLWithString:urlStr]]; }else{ [IBTLoadingView showTips:message]; diff --git a/XFFruit/ViewControllers/Transfer/Controllers/NewTransferViewController.m b/XFFruit/ViewControllers/Transfer/Controllers/NewTransferViewController.m index 84334e6af13766e4eb6620e265b149864a1bc89b..d77055f700b5e4e6b994470deb1839feef06498d 100644 --- a/XFFruit/ViewControllers/Transfer/Controllers/NewTransferViewController.m +++ b/XFFruit/ViewControllers/Transfer/Controllers/NewTransferViewController.m @@ -477,6 +477,10 @@ typedef enum : NSUInteger { if(self.transfer && [self.state isEqualToString:TRANSFER_STATE_INITIAL]){ [ICRUserUtil sharedInstance].needFresh = YES; } + if (_sheetView.startTimeView) { + [_sheetView.startTimeView removeFromSuperview]; + _sheetView.startTimeView = nil; + } } /* diff --git a/XFFruit/ViewControllers/Transfer/Views/TopTransferView.h b/XFFruit/ViewControllers/Transfer/Views/TopTransferView.h index e11b265632c59ae41510f90874df879479fe8ed0..963430ff94d08dc0a8400bf4fc08cbc6c0aed6a0 100644 --- a/XFFruit/ViewControllers/Transfer/Views/TopTransferView.h +++ b/XFFruit/ViewControllers/Transfer/Views/TopTransferView.h @@ -9,6 +9,7 @@ #import <UIKit/UIKit.h> #import "HPGrowingTextView.h" #import "Transfer.h" +#import "FinishTimeView.h" @protocol TopTransferViewDelegate <NSObject> - (void)hiddenKeyBoard; @@ -40,4 +41,7 @@ @property (nonatomic,strong)NSString *arriveDate; @property (nonatomic,strong)NSString *note; @property (nonatomic,strong)Transfer *transfer; + +@property (nonatomic,strong)FinishTimeView *startTimeView; + @end diff --git a/XFFruit/ViewControllers/Transfer/Views/TopTransferView.m b/XFFruit/ViewControllers/Transfer/Views/TopTransferView.m index 600d54507cf393d2cf5a951be6b321eac3962829..ac7d5f1cc3270e23ef471a232a7d974af2fb8015 100644 --- a/XFFruit/ViewControllers/Transfer/Views/TopTransferView.m +++ b/XFFruit/ViewControllers/Transfer/Views/TopTransferView.m @@ -13,18 +13,16 @@ #import "Warehouse.h" #import "ChooseWarehouseViewController.h" #import "ChooseTypeViewController.h" -#import "StartTimeView.h" #define LeftMargin 15 #define TopMargin 20 #define LeftWidth 80 #define TableHeight 44 #define SpaceHeight 10 -@interface TopTransferView ()<UITableViewDataSource,UITableViewDelegate,HPGrowingTextViewDelegate,UITextFieldDelegate,StartTimeViewDelegate> +@interface TopTransferView ()<UITableViewDataSource,UITableViewDelegate,HPGrowingTextViewDelegate,UITextFieldDelegate,FinishTimeViewDelegate> { UITableView *_tableView; NSMutableArray *_dataArr; - StartTimeView *_startTimeView; } @property (nonatomic,strong)NSString *selectType; @@ -247,16 +245,22 @@ } - (void)startDatePickView{ - if (!_startTimeView) { - _startTimeView = [[StartTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64)withMode:UIDatePickerModeDateAndTime]; - _startTimeView.delegate = self; - _startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5); - [AppWindow addSubview:_startTimeView]; + if (!self.startTimeView) { + NSString *currentStr = @""; + if ([self.arriveDateLabel.text isEqualToString:@"选择预计到货时间"] || self.arriveDateLabel.text.length < 1) { + currentStr = [IBTCommon stringFromDateWithFormat:[NSDate date] format:@"yyyy-MM-dd HH:mm"]; + }else{ + currentStr = self.arriveDateLabel.text; + } + self.startTimeView = [[FinishTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64) withDate:currentStr]; + self.startTimeView.delegate = self; + self.startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5); + [AppWindow addSubview:self.startTimeView]; [UIView animateWithDuration:0.15 animations:^{ - CGRect startFrame = _startTimeView.frame; + CGRect startFrame = self.startTimeView.frame; startFrame.origin.y = 64; - _startTimeView.frame = startFrame; + self.startTimeView.frame = startFrame; } completion:^(BOOL finished) { }]; @@ -265,23 +269,23 @@ - (void)cancelTimeView{ [self clearDatePickView]; } -- (void)okTimeView:(NSDate *)time{ +- (void)okTimeView:(NSString *)time{ _arriveDateLabel.textColor = GXF_CONTENT_COLOR; - _arriveDateLabel.text = [IBTCommon stringFromDateWithFormat:time format:@"yyyy-MM-dd HH:mm"]; - self.arriveDate = [time httpParameterString]; + _arriveDateLabel.text = time; + self.arriveDate = time; // å…³é—选择器 [self clearDatePickView]; } #pragma mark - å–æ¶ˆ - (void)clearDatePickView{ [UIView animateWithDuration:0.15 animations:^{ - CGRect startFrame = _startTimeView.frame; + CGRect startFrame = self.startTimeView.frame; startFrame.origin.y = ScreenSize.height; - _startTimeView.frame = startFrame; + self.startTimeView.frame = startFrame; } completion:^(BOOL finished) { - [_startTimeView removeFromSuperview]; - _startTimeView = nil; + [self.startTimeView removeFromSuperview]; + self.startTimeView = nil; }]; } diff --git a/XFFruit/ViewControllers/Transport/Controllers/NewTransportViewController.m b/XFFruit/ViewControllers/Transport/Controllers/NewTransportViewController.m index 9a66b523e747a97243c39251acb13f5a7dd5be61..9216663a159b9c19c788630f17f7f3ce959578d2 100644 --- a/XFFruit/ViewControllers/Transport/Controllers/NewTransportViewController.m +++ b/XFFruit/ViewControllers/Transport/Controllers/NewTransportViewController.m @@ -425,6 +425,10 @@ typedef enum : NSUInteger { if(self.transport && [self.state isEqualToString:TRANSPORT_STATE_INITIAL]){ [ICRUserUtil sharedInstance].needFresh = YES; } + if (_sheetView.startTimeView) { + [_sheetView.startTimeView removeFromSuperview]; + _sheetView.startTimeView = nil; + } } /* diff --git a/XFFruit/ViewControllers/Transport/Views/TopTransportView.h b/XFFruit/ViewControllers/Transport/Views/TopTransportView.h index 804e588fcdbd122d7bfb0e256f9be73dec0a18fa..05aa5ee738b43b9dfc488c10a48b446d914ed929 100644 --- a/XFFruit/ViewControllers/Transport/Views/TopTransportView.h +++ b/XFFruit/ViewControllers/Transport/Views/TopTransportView.h @@ -9,6 +9,7 @@ #import <UIKit/UIKit.h> #import "HPGrowingTextView.h" #import "Transport.h" +#import "FinishTimeView.h" @protocol TopTransportViewDelegate <NSObject> - (void)hiddenKeyBoard; @@ -23,6 +24,7 @@ @property (nonatomic,strong)UITextField *phoneTextFiled; //ç”µè¯ @property (nonatomic,strong)UILabel *arriveDateLabel; //预计收货时间 @property (nonatomic,strong)HPGrowingTextView *remarkTextView;//备注 +@property (nonatomic,strong)FinishTimeView *startTimeView; @property (nonatomic,weak)id <TopTransportViewDelegate>delegate; diff --git a/XFFruit/ViewControllers/Transport/Views/TopTransportView.m b/XFFruit/ViewControllers/Transport/Views/TopTransportView.m index 3c509ec4bee1abdfab3798a401a5aa84e037a2ce..5f619e3baea7d4246aceed4ec980aba7046fbafa 100644 --- a/XFFruit/ViewControllers/Transport/Views/TopTransportView.m +++ b/XFFruit/ViewControllers/Transport/Views/TopTransportView.m @@ -11,18 +11,16 @@ #import "Warehouse.h" #import "ChooseWarehouseViewController.h" #import "ChooseTypeViewController.h" -#import "StartTimeView.h" #define LeftMargin 15 #define TopMargin 20 #define LeftWidth 80 #define TableHeight 44 #define SpaceHeight 10 -@interface TopTransportView ()<UITableViewDataSource,UITableViewDelegate,HPGrowingTextViewDelegate,UITextFieldDelegate,StartTimeViewDelegate> +@interface TopTransportView ()<UITableViewDataSource,UITableViewDelegate,HPGrowingTextViewDelegate,UITextFieldDelegate,FinishTimeViewDelegate> { UITableView *_tableView; NSMutableArray *_dataArr; - StartTimeView *_startTimeView; } @property (nonatomic,strong)NSString *selectType; @property (nonatomic,strong)NSString *selectRwarehouse; @@ -246,16 +244,22 @@ } - (void)startDatePickView{ - if (!_startTimeView) { - _startTimeView = [[StartTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64) withMode:UIDatePickerModeDateAndTime]; - _startTimeView.delegate = self; - _startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5); - [AppWindow addSubview:_startTimeView]; + if (!self.startTimeView) { + NSString *currentStr = @""; + if ([self.arriveDateLabel.text isEqualToString:@"选择预计到货时间"] || self.arriveDateLabel.text.length < 1) { + currentStr = [IBTCommon stringFromDateWithFormat:[NSDate date] format:@"yyyy-MM-dd HH:mm"]; + }else{ + currentStr = self.arriveDateLabel.text; + } + self.startTimeView = [[FinishTimeView alloc] initWithFrame:CGRectMake(0, ScreenSize.height, ScreenSize.width, ScreenSize.height - 64) withDate:currentStr]; + self.startTimeView.delegate = self; + self.startTimeView.backgroundColor = RGBA(0, 0, 0 ,0.5); + [AppWindow addSubview:self.startTimeView]; [UIView animateWithDuration:0.15 animations:^{ - CGRect startFrame = _startTimeView.frame; + CGRect startFrame = self.startTimeView.frame; startFrame.origin.y = 64; - _startTimeView.frame = startFrame; + self.startTimeView.frame = startFrame; } completion:^(BOOL finished) { }]; @@ -264,23 +268,23 @@ - (void)cancelTimeView{ [self clearDatePickView]; } -- (void)okTimeView:(NSDate *)time{ +- (void)okTimeView:(NSString *)time{ _arriveDateLabel.textColor = GXF_CONTENT_COLOR; - _arriveDateLabel.text = [IBTCommon stringFromDateWithFormat:time format:@"yyyy-MM-dd HH:mm"]; - self.arriveDate = [time httpParameterString]; + _arriveDateLabel.text = time; + self.arriveDate = time; // å…³é—选择器 [self clearDatePickView]; } #pragma mark - å–æ¶ˆ - (void)clearDatePickView{ [UIView animateWithDuration:0.15 animations:^{ - CGRect startFrame = _startTimeView.frame; + CGRect startFrame = self.startTimeView.frame; startFrame.origin.y = ScreenSize.height; - _startTimeView.frame = startFrame; + self.startTimeView.frame = startFrame; } completion:^(BOOL finished) { - [_startTimeView removeFromSuperview]; - _startTimeView = nil; + [self.startTimeView removeFromSuperview]; + self.startTimeView = nil; }]; }