// // CreateOrderViewController.m // RedAnt ERP Mobile // // Created by Ray on 8/24/15. // Copyright (c) 2015 United Software Applications, Inc. All rights reserved. // #import "CreateOrderViewController.h" #import "iSalesNetwork.h" #import "MainViewController.h" #import "Singleton.h" #import "config.h" #import "CustomIOSAlertView.h" #define SUBMIT_CONFIRM 123 #define KEEP_TAIL 456 #define CLOSE_ACTION 567 @interface CreateOrderViewController () // static const char associatedkey; @property (nonatomic,assign) BOOL isResume;///<恢复 @property (nonatomic,assign) NSInteger userType;///<恢复使用 @end @implementation CreateOrderViewController - (void)dealloc { if (self.isResume && self.userType == USER_ROLE_CUSTOMER) { [self releaseOrderAfterSave]; } } -(void) viewWillAppear:(BOOL)animated { [super viewWillAppear:animated]; self.isResume = [[[NSUserDefaults standardUserDefaults] objectForKey:@"urgency_resume"] boolValue]; self.userType = [[[NSUserDefaults standardUserDefaults] objectForKey:@"urgency_userType"] integerValue]; BOOL canSubmit = [[[NSUserDefaults standardUserDefaults] objectForKey:@"urgency_submitOrder"] boolValue]; // 检查权限 NSMutableArray * items = [[NSMutableArray alloc]init]; UIBarButtonItem *savebtn = nil; savebtn = [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"save"] imageWithRenderingMode:UIImageRenderingModeAutomatic] style:UIBarButtonItemStylePlain target:self action:@selector(onSaveClick:)]; self.btnSubmitOrder = nil; self.btnSubmitOrder =[[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"commit"] imageWithRenderingMode:UIImageRenderingModeAutomatic] style:UIBarButtonItemStylePlain target:self action:@selector(onCommitOrderClick:)]; UIBarButtonItem *fixedItem = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemFixedSpace target:nil action:nil]; fixedItem.width = 20.0f; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // if(appDelegate.user_type ==USER_ROLE_EMPLOYEE) { [items addObject:savebtn]; [items addObject:fixedItem]; } if (!self.isResume) { // 正常情况 if (appDelegate.user_type == USER_ROLE_CUSTOMER) { // customer的订单必须是Sales Order并且有提交权限才能提交 if ([Singleton sharedInstance].currentOrderIsMerged && [Singleton sharedInstance].permissions_submit_order) { [items addObject:self.btnSubmitOrder]; } } else { [items addObject:self.btnSubmitOrder]; } } else { // 恢复 if (self.userType == USER_ROLE_CUSTOMER) { // customer的订单必须是Sales Order并且有提交权限才能提交 if (canSubmit) { [items addObject:self.btnSubmitOrder]; } } else { [items addObject:self.btnSubmitOrder]; } [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"urgency_resume"]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"urgency_userType"]; [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"urgency_submitOrder"]; } // [items addObject:item2]; self.navigationItem.rightBarButtonItems=items; if(appDelegate.can_submit_order) { [self.btnSubmitOrder setImage:[UIImage imageNamed:@"commit"]]; self.btnSubmitOrder.enabled = true; } else { [self.btnSubmitOrder setImage:nil]; self.btnSubmitOrder.enabled = false; } self.navigationController.navigationBarHidden=false; } -(void) download_success { // 用于处理不同child,在成功去的数据后,需要附加的操作。 self.have_tail=[[self.content_data_download valueForKey:@"has_reItem"] boolValue]; NSString* order_customerid=[self getValue:@"customer_cid"]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; appDelegate.order_customer_id = order_customerid; } - (void)viewDidLoad { [super viewDidLoad]; self.editable = YES; UIBarButtonItem *closeButton = [[UIBarButtonItem alloc] initWithImage:[[UIImage imageNamed:@"close"] imageWithRenderingMode:UIImageRenderingModeAutomatic] style:UIBarButtonItemStylePlain target:self action:@selector(onCloseClick:)]; //[[UIBarButtonItem alloc] initWithTitle:NSLocalizedString(@"Close", nil) style:UIBarButtonItemStylePlain target:self action:@selector(onCloseClick:)]; // closeButton.title = @"Close"; self.navigationItem.leftBarButtonItem = closeButton; // self.navigationItem.backBarButtonItem = backButton; // Do any additional setup after loading the view. } - (void)onCommitOrderClick:(id)sender { // get customer info AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // if (appDelegate.user_type == USER_ROLE_CUSTOMER) { // // // 检查价格类型 // // 提货价才能提交订单 // /** 价格类型 // * 0 提货价 // * 1 统一价 // * 2 计算价 // */ // NSInteger priceType = [Singleton sharedInstance].npd_shop_price_type; // if (priceType != 0) { // // NSString* pricename = nil; // switch (priceType) { // case 1: // pricename=flat_price; // break; // case 2: // pricename=given_price; // break; // default: // break; // } // // UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"Warning" message:[NSString stringWithFormat:@"Current price is %@, please change to %@ and try again.",pricename,[Singleton sharedInstance].deliveryString] preferredStyle:UIAlertControllerStyleAlert]; // // UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"ok" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { // // [alertVC dismissViewControllerAnimated:YES completion:nil]; // // }]; // // // [alertVC addAction:cancelAction]; // // [self presentViewController:alertVC animated:YES completion:nil]; // // return; // } // } NSString* msg; #ifdef OFFLINE_MODE if(appDelegate.offline_mode) { msg=@"Are you sure to mark offline order as ready for submit?"; } else #endif { msg=@"Submit order now?"; // if(appDelegate.user_type == USER_ROLE_CUSTOMER) { // // NSString *specialInstuction = [Singleton sharedInstance].specialInstruction; // NSString * deliverprice=[Singleton sharedInstance].deliveryString; // msg = [NSString stringWithFormat:@"Are you sure to submit order?\n\n1. Your price type is %@, Order will sent to NPD with this price.",deliverprice]; // if (specialInstuction.length) { // msg = [msg stringByAppendingFormat:@"\n2. Special Instruction: %@.",specialInstuction]; // } // // } } // 2017-03-20 修改 // // CustomIOSAlertView *alertView = [[CustomIOSAlertView alloc] init]; // // // // // // Add some custom content to the alert view // [alertView setContainerView:[self createDemoView:msg]]; // // // Modify the parameters // // // NSArray *titleArr = [NSMutableArray arrayWithObjects:@"NO",@"YES", nil]; // [alertView setButtonTitles:titleArr]; // //[alertView setDelegate:self]; // // // You may use a Block, rather than a delegate. // [alertView setOnButtonTouchUpInside:^(CustomIOSAlertView *alertView, int buttonIndex) { // // DebugLog(@"Block: Button at position %d is clicked on alertView %d.", buttonIndex, (int)[alertView tag]); // if(buttonIndex==0) // [alertView close]; // else // { // // add params check here. // [self.lastedit endEditing:true]; // [self.lasttextview endEditing:true]; // // // // // self.cancommit=true; // // NSMutableDictionary* upparams=[[NSMutableDictionary alloc] init]; // // [upparams setValue:[self.params valueForKey:@"cart2Checkbox"] forKey:@"cart2Checkbox"]; // // int section_count=[[self.content_data_download valueForKey:@"section_count"] intValue]; // // for(int i=0;i // // // // */ // // }else // // if([[itemjson valueForKey:@"control"] isEqualToString:@"action"]) // // { // // if([[itemjson valueForKey:@"required"] isEqualToString: @"true"] && [itemjson objectForKeyedSubscript:@"data"]==nil) // // self.cancommit = false; // // } // // else if([[itemjson valueForKey:@"control"] isEqualToString:@"signature"]) // // { // // if([[itemjson valueForKey:@"required"] isEqualToString: @"true"] && [itemjson objectForKeyedSubscript:@"value"] ==nil) // // self.cancommit = false; // // // // NSString* valuestr = [itemjson valueForKey:@"value"]; // // [upparams setValue:valuestr forKey:[itemjson valueForKey:@"name"]]; // // } // // else if([[itemjson valueForKey:@"control"] isEqualToString:@"switch"]) // // { // // NSString* valuestr = [itemjson valueForKey:@"value"]; // // [upparams setValue:valuestr forKey:[itemjson valueForKey:@"name"]]; // // // // NSString* value = [itemjson valueForKey:@"value"]; // // NSMutableDictionary* boolitem=nil; // // NSMutableDictionary* subjson=nil; // // if([value isEqualToString:@"true"]) // // { // // boolitem =[[itemjson objectForKey:@"true"] mutableCopy]; // // // // } // // else // // { // // boolitem =[[itemjson objectForKey:@"false"] mutableCopy]; // // // // } // // subjson=[[boolitem objectForKey:@"sub_item"] mutableCopy]; // // if( subjson!=nil /*&& !active*/) // // { // // int sub_count = [[subjson valueForKey:@"count"] intValue]; // // for(int l=0;l0) // // { // // // // [alert dismissWithClickedButtonIndex:0 animated:FALSE]; // // //[self downloadpdf:pdf_url]; // // // // // // if([appDelegate.mode isEqualToString:@"Trade Show Mode"]&& appDelegate.submit_order_logout) // // { // // //bbb // // [((MainViewController*)appDelegate.main_vc) Loginout:false]; // // } // // // // [self prepareReturn:nil]; // // // // [self.navigationController popViewControllerAnimated:true]; // // // // [appDelegate printPdf:pdf_url]; // //// if(self.printPdfCallback) // //// self.printPdfCallback(pdf_url); // // } // // else // { // if([appDelegate.mode isEqualToString:@"TM"]&& appDelegate.submit_order_logout) // { // //bbb // [((MainViewController*)appDelegate.main_vc) Loginout:false]; // } // [self prepareReturn:nil]; // // [self.navigationController popViewControllerAnimated:true]; // // if(pdf_url.length>0) // { // // [alert dismissWithClickedButtonIndex:0 animated:FALSE]; // [appDelegate printPdf:pdf_url company:company send_to:send_to soid:soid content:email_content]; // // [appDelegate printPdf:pdf_url]; // // } // } // // } // else // { // [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Order Submission" controller:self] ; // } // // // // // }); // }); // } // else // { // UIAlertView * alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Retain models", nil) message:NSLocalizedString(@"There are some models left in cart,do you want to keep them?", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"NO", nil) otherButtonTitles:NSLocalizedString(@"YES", nil), nil]; // // // alert.tag = KEEP_TAIL; // // // self.upparams = upparams; // // [alert show]; // } // // } // else // { //USER_ROLE_CUSTOMER // // // if(self.have_tail) // // [upparams setValue:@"true" forKey:@"isHold"]; // // else // // [upparams setValue:@"false" forKey:@"isHold"]; // UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Order Submission"]; // // [upparams setValue:@"true" forKey:@"isHold"]; // dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // // NSDictionary* editor_json = [iSalesNetwork saveandcommit_Order:upparams]; // // dispatch_async(dispatch_get_main_queue(), ^{ // // [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; // // if([[editor_json valueForKey:@"result"] intValue]==2) // { // // NSMutableDictionary * customerInfo=[self create_cusromer_info_from_table]; // // // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // // appDelegate.customerInfo = customerInfo; // // // NSString* orderCode = [editor_json valueForKey:@"orderCode"]; // // appDelegate.order_code = orderCode; // // appDelegate.order_status = [[editor_json valueForKey:@"orderStatus"] intValue]; // [appDelegate closeOrder]; // [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; // // NSString* title=nil; // NSString* msg=nil; // if(appDelegate.offline_mode) // { // title=TITLE_OFFLINE_SUBMIT; // msg=MSG_OFFLINE_SUBMIT; // } // else // { // title=@"Submit successful."; // msg=[NSString stringWithFormat:@"SO#: %@",[editor_json valueForKey:@"so#"]]; // } // // UIAlertView * alert = [[UIAlertView alloc] initWithTitle: title message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; // // [alert show]; // // // self.labelContact.text=appDelegate.contact_name; // // // // NSDictionary * customerinfo = appDelegate.customerInfo; // [self prepareReturn:nil]; // [self.navigationController popViewControllerAnimated:true]; // // [self.navigationController dismissViewControllerAnimated:true completion:^{ // // // // // // ; // // }]; // // } // else // { // [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Order Submission" controller:self] ; // } // // // // // }); // }); // // } // // // // }]; // // UIAlertAction *alertthree = [UIAlertAction actionWithTitle:@"No" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { // //DebugLog(@"Cancel"); // // // }]; // [alertControl addAction:actionOne]; // // [alertControl addAction:alertthree]; // // //UIAlertControllerStyle类型为UIAlertControllerStyleAlert可以添加addTextFieldWithConfigurationHandler:^(UITextField *textField) // // // // // [self presentViewController:alertControl animated:YES completion:nil]; // // // // } // else // { // commit_order: // // { // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // // if(appDelegate.user_type ==USER_ROLE_EMPLOYEE ) // { // // if(/*!self.have_tail*/ true) // {UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Order Submission"]; // [upparams setValue:@"false" forKey:@"isHold"]; // dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // // NSDictionary* editor_json = [iSalesNetwork saveandcommit_Order:upparams]; // // dispatch_async(dispatch_get_main_queue(), ^{ // [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; // // // if([[editor_json valueForKey:@"result"] intValue]==2) // { // // //debug bbb // // NSMutableDictionary * customerInfo=[self create_cusromer_info_from_table]; // // // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // NSString* company= appDelegate.customerInfo[@"customer_name"]; // NSString* send_to =appDelegate.customerInfo[@"customer_email"]; // // appDelegate.customerInfo = customerInfo; // // appDelegate.contact_id = [customerInfo valueForKey:@"customer_cid"]; // // appDelegate.order_code = nil; // [appDelegate closeOrder]; // [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; // // NSString* title=nil; // NSString* msg=nil; // if(appDelegate.offline_mode) // { // title=TITLE_OFFLINE_SUBMIT; // msg=MSG_OFFLINE_SUBMIT; // } // else // { // title=@"Submit successful."; // msg=[NSString stringWithFormat:@"SO#: %@",[editor_json valueForKey:@"so#"]]; // } // // UIAlertView * alert = [[UIAlertView alloc] initWithTitle: title message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; // // [alert show]; // // NSString* pdf_url = [editor_json valueForKey:@"pdf_url"]; // NSString* email_content =[editor_json valueForKey:@"email_content"]; // NSString* soid=[editor_json valueForKey:@"so#"]; // // if(pdf_url.length>0) // // { // // // // [alert dismissWithClickedButtonIndex:0 animated:FALSE]; // //// [self downloadpdf:pdf_url]; // // // // // // if([appDelegate.mode isEqualToString:@"Trade Show Mode"]&& appDelegate.submit_order_logout) // // { // // //bbb // // [((MainViewController*)appDelegate.main_vc) Loginout:false]; // // } // // // // [self prepareReturn:nil]; // // // // [self.navigationController popViewControllerAnimated:true]; // // // // [appDelegate printPdf:pdf_url]; // // // //// if(self.printPdfCallback) // //// self.printPdfCallback(pdf_url); // // } // // else // { // if([appDelegate.mode isEqualToString:@"TM"]&& appDelegate.submit_order_logout) // { // //bbb // [((MainViewController*)appDelegate.main_vc) Loginout:false]; // } // [self prepareReturn:nil]; // // [self.navigationController popViewControllerAnimated:true]; // // // if(pdf_url.length>0) // { // // [alert dismissWithClickedButtonIndex:0 animated:FALSE]; // // [appDelegate printPdf:pdf_url company:company send_to:send_to soid:soid content:email_content]; // // // } // // // } // // // self.labelContact.text=appDelegate.contact_name; // // // // NSDictionary * customerinfo = appDelegate.customerInfo; // // // // // // // } // else // { // [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Order Submission" controller:self] ; // } // // // // // }); // }); // } // else // { // UIAlertView * alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Retain models", nil) message:NSLocalizedString(@"There are some models left in cart,do you want to keep them?", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"NO", nil) otherButtonTitles:NSLocalizedString(@"YES", nil), nil]; // // // alert.tag = KEEP_TAIL; // // // self.upparams = upparams; // // [alert show]; // } // // } // else // { //USER_ROLE_CUSTOMER // // // if(self.have_tail) // // [upparams setValue:@"true" forKey:@"isHold"]; // // else // // [upparams setValue:@"false" forKey:@"isHold"]; // UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Order Submission"]; // // [upparams setValue:@"true" forKey:@"isHold"]; // dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // // NSDictionary* editor_json = [iSalesNetwork saveandcommit_Order:upparams]; // // dispatch_async(dispatch_get_main_queue(), ^{ // // [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; // // if([[editor_json valueForKey:@"result"] intValue]==2) // { // // NSMutableDictionary * customerInfo=[self create_cusromer_info_from_table]; // // // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // // appDelegate.customerInfo = customerInfo; // // // NSString* orderCode = [editor_json valueForKey:@"orderCode"]; // // appDelegate.order_code = orderCode; // // appDelegate.order_status = [[editor_json valueForKey:@"orderStatus"] intValue]; // [appDelegate closeOrder]; // [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; // // NSString* title=nil; // NSString* msg=nil; // if(appDelegate.offline_mode) // { // title=TITLE_OFFLINE_SUBMIT; // msg=MSG_OFFLINE_SUBMIT; // } // else // { // title=@"Submit successful."; // msg=[NSString stringWithFormat:@"SO#: %@",[editor_json valueForKey:@"so#"]]; // } // // // UIAlertView * alert = [[UIAlertView alloc] initWithTitle: title message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; // // [alert show]; // // // self.labelContact.text=appDelegate.contact_name; // // // // NSDictionary * customerinfo = appDelegate.customerInfo; // [self prepareReturn:nil]; // // [self.navigationController dismissViewControllerAnimated:true completion:^{ // // // // // // ; // // }]; // [self.navigationController popViewControllerAnimated:true]; // // } // else // { // [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Order Submission" controller:self] ; // } // // // // // }); // }); // // } // } // // // // // } // // // // // // // // // // // // } // }]; // // // [alertView setUseMotionEffects:true]; // // // // And launch the dialog // // [alertView sizeToFit]; // [alertView show]; // UIAlertView * alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Submit Confirm.", nil) message:NSLocalizedString(msg, nil) delegate:self cancelButtonTitle:NSLocalizedString(@"NO", nil) otherButtonTitles:NSLocalizedString(@"YES", nil), nil]; // // alert.tag = SUBMIT_CONFIRM; // [alert show]; // UIAlertController *alertVC = [UIAlertController alertControllerWithTitle:@"Order Submission" message:msg preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *yesAction = [UIAlertAction actionWithTitle:@"YES" style:UIAlertActionStyleDestructive handler:^(UIAlertAction * _Nonnull action) { { // add params check here. [self.lastedit endEditing:true]; [self.lasttextview endEditing:true]; NSMutableDictionary* upparams = [self check_cancommit:true]; if(self.cancommit==false) return; if(upparams[@"shipping"]==nil) goto commit_order; if([upparams[@"shipping"] isEqualToString:@"Shipping To Be Quoted"]||[upparams[@"shipping"] isEqualToString:@"To Be Quoted"]) { upparams[@"shipping"] = nil; goto commit_order; } else if([upparams[@"shipping"] doubleValue]==0) { UIAlertController *alertControl = [UIAlertController alertControllerWithTitle:@"Shipping is $0.00, continue submit?" message:nil preferredStyle:UIAlertControllerStyleAlert]; //block代码块取代了delegate UIAlertAction *actionOne = [UIAlertAction actionWithTitle:@"Yes" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) { AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; if(appDelegate.user_type ==USER_ROLE_EMPLOYEE ) { if(/*!self.have_tail*/ true) {UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Order Submission"]; [upparams setValue:@"false" forKey:@"isHold"]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSDictionary* editor_json = [iSalesNetwork saveandcommit_Order:upparams]; dispatch_async(dispatch_get_main_queue(), ^{ [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; if([[editor_json valueForKey:@"result"] intValue]==2) { // NSMutableDictionary * customerInfo=[self create_cusromer_info_from_table]; // debug aaa AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; NSString* company= appDelegate.customerInfo[@"customer_name"]; NSString* send_to =appDelegate.customerInfo[@"customer_email"]; // appDelegate.customerInfo = customerInfo; // appDelegate.contact_id = [customerInfo valueForKey:@"customer_cid"]; // appDelegate.order_code = nil; [appDelegate closeOrder]; [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; NSString* title=nil; NSString* msg=nil; #ifdef OFFLINE_MODE if(appDelegate.offline_mode) { title=TITLE_OFFLINE_SUBMIT; msg=MSG_OFFLINE_SUBMIT; } else #endif { title=@"Order submitted sucessfully"; msg=[NSString stringWithFormat:@"Confirmation#: %@",[editor_json valueForKey:@"so#"]]; } UIAlertView * alert = [[UIAlertView alloc] initWithTitle: title message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; NSString* pdf_url = [editor_json valueForKey:@"pdf_url"]; NSString* email_content =[editor_json valueForKey:@"email_content"]; NSString* soid=[editor_json valueForKey:@"so#"]; // if(pdf_url.length>0) // { // // [alert dismissWithClickedButtonIndex:0 animated:FALSE]; // //[self downloadpdf:pdf_url]; // // // if([appDelegate.mode isEqualToString:@"Trade Show Mode"]&& appDelegate.submit_order_logout) // { // //bbb // [((MainViewController*)appDelegate.main_vc) Loginout:false]; // } // // [self prepareReturn:nil]; // // [self.navigationController popViewControllerAnimated:true]; // // [appDelegate printPdf:pdf_url]; //// if(self.printPdfCallback) //// self.printPdfCallback(pdf_url); // } // else { if([appDelegate.mode isEqualToString:@"TM"]&& appDelegate.submit_order_logout) { //bbb [((MainViewController*)appDelegate.main_vc) Loginout:false]; } [self prepareReturn:nil]; [self.navigationController popViewControllerAnimated:true]; if(pdf_url.length>0) { [alert dismissWithClickedButtonIndex:0 animated:FALSE]; [appDelegate printPdf:pdf_url company:company send_to:send_to soid:soid content:email_content]; // [appDelegate printPdf:pdf_url]; } } } else { [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Order Submission" controller:self] ; } }); }); } else { UIAlertView * alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Retain models", nil) message:NSLocalizedString(@"There are some models left in cart,do you want to keep them?", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"NO", nil) otherButtonTitles:NSLocalizedString(@"YES", nil), nil]; alert.tag = KEEP_TAIL; self.upparams = upparams; [alert show]; } } else { //USER_ROLE_CUSTOMER // if(self.have_tail) // [upparams setValue:@"true" forKey:@"isHold"]; // else // [upparams setValue:@"false" forKey:@"isHold"]; UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Order Submission"]; [upparams setValue:@"true" forKey:@"isHold"]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSDictionary* editor_json = [iSalesNetwork saveandcommit_Order:upparams]; dispatch_async(dispatch_get_main_queue(), ^{ [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; if([[editor_json valueForKey:@"result"] intValue]==2) { // NSMutableDictionary * customerInfo=[self create_cusromer_info_from_table]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // appDelegate.customerInfo = customerInfo; // NSString* orderCode = [editor_json valueForKey:@"orderCode"]; // appDelegate.order_code = orderCode; // appDelegate.order_status = [[editor_json valueForKey:@"orderStatus"] intValue]; [appDelegate closeOrder]; [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; NSString* title=nil; NSString* msg=nil; #ifdef OFFLINE_MODE if(appDelegate.offline_mode) { title=TITLE_OFFLINE_SUBMIT; msg=MSG_OFFLINE_SUBMIT; } else #endif { title=@"Order submitted sucessfully"; msg=[NSString stringWithFormat:@"Confirmation#: %@",[editor_json valueForKey:@"so#"]]; } UIAlertView * alert = [[UIAlertView alloc] initWithTitle: title message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; // // self.labelContact.text=appDelegate.contact_name; // // NSDictionary * customerinfo = appDelegate.customerInfo; [self prepareReturn:nil]; [self.navigationController popViewControllerAnimated:true]; // [self.navigationController dismissViewControllerAnimated:true completion:^{ // // // ; // }]; } else { [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Order Submission" controller:self] ; } }); }); } }]; UIAlertAction *alertthree = [UIAlertAction actionWithTitle:@"No" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { //DebugLog(@"Cancel"); }]; [alertControl addAction:actionOne]; [alertControl addAction:alertthree]; //UIAlertControllerStyle类型为UIAlertControllerStyleAlert可以添加addTextFieldWithConfigurationHandler:^(UITextField *textField) [self presentViewController:alertControl animated:YES completion:nil]; } else { commit_order: { AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; if(appDelegate.user_type ==USER_ROLE_EMPLOYEE ) { if(/*!self.have_tail*/ true) {UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Order Submission"]; [upparams setValue:@"false" forKey:@"isHold"]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSDictionary* editor_json = [iSalesNetwork saveandcommit_Order:upparams]; dispatch_async(dispatch_get_main_queue(), ^{ [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; if([[editor_json valueForKey:@"result"] intValue]==2) { //debug bbb // NSMutableDictionary * customerInfo=[self create_cusromer_info_from_table]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; NSString* company= appDelegate.customerInfo[@"customer_name"]; NSString* send_to =appDelegate.customerInfo[@"customer_email"]; // appDelegate.customerInfo = customerInfo; // appDelegate.contact_id = [customerInfo valueForKey:@"customer_cid"]; // appDelegate.order_code = nil; [appDelegate closeOrder]; [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; NSString* title=nil; NSString* msg=nil; #ifdef OFFLINE_MODE if(appDelegate.offline_mode) { title=TITLE_OFFLINE_SUBMIT; msg=MSG_OFFLINE_SUBMIT; } else #endif { title=@"Order submitted sucessfully"; msg=[NSString stringWithFormat:@"Confirmation#: %@",[editor_json valueForKey:@"so#"]]; } UIAlertView * alert = [[UIAlertView alloc] initWithTitle: title message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; NSString* pdf_url = [editor_json valueForKey:@"pdf_url"]; NSString* email_content =[editor_json valueForKey:@"email_content"]; NSString* soid=[editor_json valueForKey:@"so#"]; // if(pdf_url.length>0) // { // // [alert dismissWithClickedButtonIndex:0 animated:FALSE]; //// [self downloadpdf:pdf_url]; // // // if([appDelegate.mode isEqualToString:@"Trade Show Mode"]&& appDelegate.submit_order_logout) // { // //bbb // [((MainViewController*)appDelegate.main_vc) Loginout:false]; // } // // [self prepareReturn:nil]; // // [self.navigationController popViewControllerAnimated:true]; // // [appDelegate printPdf:pdf_url]; // //// if(self.printPdfCallback) //// self.printPdfCallback(pdf_url); // } // else { NSMutableDictionary* value=[[NSMutableDictionary alloc]init]; if([appDelegate.mode isEqualToString:@"TM"]&& appDelegate.submit_order_logout) { //bbb [((MainViewController*)appDelegate.main_vc) Loginout:false]; value[@"commitorder_logout"]=@"true"; } value[@"is_subaction"] = self.params[@"is_subaction"]; value[@"subaction_tag"] = self.params[@"subaction_tag"]; [self prepareReturn:value]; [self.navigationController popViewControllerAnimated:true]; if(pdf_url.length>0) { [alert dismissWithClickedButtonIndex:0 animated:FALSE]; [appDelegate printPdf:pdf_url company:company send_to:send_to soid:soid content:email_content]; } } // // self.labelContact.text=appDelegate.contact_name; // // NSDictionary * customerinfo = appDelegate.customerInfo; } else { [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Order Submission" controller:self] ; } }); }); } else { UIAlertView * alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Retain models", nil) message:NSLocalizedString(@"There are some models left in cart,do you want to keep them?", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"NO", nil) otherButtonTitles:NSLocalizedString(@"YES", nil), nil]; alert.tag = KEEP_TAIL; self.upparams = upparams; [alert show]; } } else { //USER_ROLE_CUSTOMER // if(self.have_tail) // [upparams setValue:@"true" forKey:@"isHold"]; // else // [upparams setValue:@"false" forKey:@"isHold"]; UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Order Submission"]; [upparams setValue:@"true" forKey:@"isHold"]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSDictionary* editor_json = [iSalesNetwork saveandcommit_Order:upparams]; dispatch_async(dispatch_get_main_queue(), ^{ [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; if([[editor_json valueForKey:@"result"] intValue]==2) { // NSMutableDictionary * customerInfo=[self create_cusromer_info_from_table]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // appDelegate.customerInfo = customerInfo; // NSString* orderCode = [editor_json valueForKey:@"orderCode"]; // appDelegate.order_code = orderCode; // appDelegate.order_status = [[editor_json valueForKey:@"orderStatus"] intValue]; [appDelegate closeOrder]; [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; NSString* title=nil; NSString* msg=nil; #ifdef OFFLINE_MODE if(appDelegate.offline_mode) { title=TITLE_OFFLINE_SUBMIT; msg=MSG_OFFLINE_SUBMIT; } else #endif { title=@"Order submitted sucessfully"; msg=[NSString stringWithFormat:@"Confirmation#: %@",[editor_json valueForKey:@"so#"]]; } UIAlertView * alert = [[UIAlertView alloc] initWithTitle: title message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; // // self.labelContact.text=appDelegate.contact_name; // // NSDictionary * customerinfo = appDelegate.customerInfo; [self prepareReturn:nil]; // [self.navigationController dismissViewControllerAnimated:true completion:^{ // // // ; // }]; [self.navigationController popViewControllerAnimated:true]; } else { [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Order Submission" controller:self] ; } }); }); } } } } }]; UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"NO" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { }]; [alertVC addAction:yesAction]; [alertVC addAction:cancelAction]; [self presentViewController:alertVC animated:yesAction completion:nil]; } - (UIView *)createDemoView:(NSString*) msg { UIView *demoView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 290, 200)]; // UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(10, 10, 270, 180)]; // [imageView setImage:[UIImage imageNamed:@"demo"]]; UILabel *titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(10, 10, 270, 10)]; titleLabel.font = [UIFont boldSystemFontOfSize:20]; titleLabel.text=@"Order Submission"; titleLabel.numberOfLines = 0; titleLabel.lineBreakMode =NSLineBreakByWordWrapping; // titleLabel.textAlignment = NSTextAlignmentRight; titleLabel.textAlignment = NSTextAlignmentCenter; CGSize constraintkey = CGSizeMake(270, 20000.0f);//key label width is 40% cell width; CGSize sizetitle = [titleLabel.text=@"Order Submission" sizeWithFont:[UIFont systemFontOfSize:20.0] constrainedToSize:constraintkey lineBreakMode:NSLineBreakByWordWrapping]; //[titleLabel sizeToFit]; // titleLabel.center.x = demoView.center.x; titleLabel.frame = CGRectMake(10, 10, 270, sizetitle.height); [demoView addSubview:titleLabel]; UILabel *lineLabel = [[UILabel alloc] initWithFrame:CGRectMake(15, titleLabel.frame.origin.y+ titleLabel.frame.size.height+20, 260, 10)]; lineLabel.font = [UIFont systemFontOfSize:17]; lineLabel.text=msg; lineLabel.numberOfLines = 0; lineLabel.lineBreakMode =NSLineBreakByWordWrapping; CGSize sizemsg = [msg sizeWithFont:[UIFont systemFontOfSize:17.0] constrainedToSize:constraintkey lineBreakMode:NSLineBreakByWordWrapping]; lineLabel.frame = CGRectMake(15, titleLabel.frame.origin.y+ titleLabel.frame.size.height+20, 260, sizemsg.height); //[lineLabel sizeToFit]; [demoView addSubview:lineLabel]; demoView.frame = CGRectMake(0, 0, 290, lineLabel.frame.origin.y+lineLabel.frame.size.height+25); return demoView; } - (void)onCloseClick:(UIButton *)sender { AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; if (self.resumeOrder) { [appDelegate.main_vc.navigationController popViewControllerAnimated:YES]; return; } // // NSRange range = [tempStr rangeOfString:@")\">"];//判断字符串是否包含 // // //if (range.location ==NSNotFound)//不包含 // if (range.length >0)//包含 // { // // // // } // else//不包含 // { // // } UIAlertView * alert = nil; if(appDelegate.order_status==0) { alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Choose your action", nil) message:NSLocalizedString(@"", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Cancel", nil) otherButtonTitles:NSLocalizedString(@"Switch to cart", nil),@"Switch to order history",NSLocalizedString(@"Close and cancel order", nil), nil]; } else { alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Choose your action", nil) message:NSLocalizedString(@"", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"Cancel", nil) otherButtonTitles:NSLocalizedString(@"Switch to cart", nil),@"Switch to order history",NSLocalizedString(@"Close and release order", nil), nil]; } alert.tag = CLOSE_ACTION; // alert. [alert show]; // if ([[upparams valueForKey:@"close_on_save"] boolValue]) { // appDelegate.order_code = nil; // // } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } - (IBAction)onSaveClick:(id)sender { // id foo = nil; // [[NSMutableArray array] addObject:foo]; // add params check here. [self.lastedit endEditing:true]; [self.lasttextview endEditing:true]; // self.cancommit=true; // NSMutableDictionary* upparams=[[NSMutableDictionary alloc] init]; // [upparams setValue:[self.params valueForKey:@"cart2Checkbox"] forKey:@"cart2Checkbox"]; // int section_count=[[self.content_data_download valueForKey:@"section_count"] intValue]; // for(int i=0;i // // */ // }else // if([[itemjson valueForKey:@"control"] isEqualToString:@"action"]) // { // if([[itemjson valueForKey:@"required"] isEqualToString: @"true"] && [itemjson objectForKeyedSubscript:@"data"]==nil) // self.cancommit = false; // } // else if([[itemjson valueForKey:@"control"] isEqualToString:@"signature"]) // { // if([[itemjson valueForKey:@"required"] isEqualToString: @"true"] && [itemjson objectForKeyedSubscript:@"value"]==nil) // self.cancommit = false; // // NSString* valuestr = [itemjson valueForKey:@"value"]; // [upparams setValue:valuestr forKey:[itemjson valueForKey:@"name"]]; // } // else if([[itemjson valueForKey:@"control"] isEqualToString:@"switch"]) // { // NSString* valuestr = [itemjson valueForKey:@"value"]; // [upparams setValue:valuestr forKey:[itemjson valueForKey:@"name"]]; // // NSString* value = [itemjson valueForKey:@"value"]; // NSMutableDictionary* boolitem=nil; // NSMutableDictionary* subjson=nil; // if([value isEqualToString:@"true"]) // { // boolitem =[[itemjson objectForKey:@"true"] mutableCopy]; // // } // else // { // boolitem =[[itemjson objectForKey:@"false"] mutableCopy]; // // } // subjson=[[boolitem objectForKey:@"sub_item"] mutableCopy]; // if( subjson!=nil /*&& !active*/) // { // int sub_count = [[subjson valueForKey:@"count"] intValue]; // for(int l=0;l=0) { NSUInteger newIndex[] = {indexPath.section, total_row_idx}; NSIndexPath *newPath = [[NSIndexPath alloc] initWithIndexes:newIndex length:2]; // DebugLog(@"before refresh %@",NSStringFromCGSize(self.editorTable.contentSize)); [self.editorTable reloadRowsAtIndexPaths:@[newPath]withRowAnimation:UITableViewRowAnimationMiddle]; // DebugLog(@"after refresh %@",NSStringFromCGSize(self.editorTable.contentSize)); // CGSize tablecontent =self.editorTable.contentSize; // tablecontent.height=tablecontent.height+self.keyboard_h; // self.editorTable.contentSize=tablecontent; // // // DebugLog(@"resize to %@",NSStringFromCGSize(self.editorTable.contentSize)); } // self.content_data = [editor_json mutableCopy]; // self.content_data = [self translate_json:editor_json]; // NSMutableDictionary* content_data1 = [self translate_json:self.content_data]; // [self.editorTable reloadData]; } // // [item_json setValue:@"true" forKey:@"dirty"]; // [item_json setValue:textField.text forKey:@"value"]; } -(float) getprice:(NSString*) name section :(long) index { NSMutableDictionary* section_json=nil; section_json = [[self.content_data_download objectForKey:[NSString stringWithFormat:@"section_%ld",index ]] mutableCopy]; int count=0; count=[[section_json valueForKey:@"count"] intValue]; for(int i=0;i // // */ // }else // if([[itemjson valueForKey:@"control"] isEqualToString:@"action"]) // { // if([[itemjson valueForKey:@"required"] isEqualToString: @"true"] && [itemjson objectForKeyedSubscript:@"data"]==nil) // self.cancommit = false; // } // else if([[itemjson valueForKey:@"control"] isEqualToString:@"signature"]) // { // if([[itemjson valueForKey:@"required"] isEqualToString: @"true"] && [itemjson objectForKeyedSubscript:@"value"] ==nil) // self.cancommit = false; // // NSString* valuestr = [itemjson valueForKey:@"value"]; // [upparams setValue:valuestr forKey:[itemjson valueForKey:@"name"]]; // } // else if([[itemjson valueForKey:@"control"] isEqualToString:@"switch"]) // { // NSString* valuestr = [itemjson valueForKey:@"value"]; // [upparams setValue:valuestr forKey:[itemjson valueForKey:@"name"]]; // // NSString* value = [itemjson valueForKey:@"value"]; // NSMutableDictionary* boolitem=nil; // NSMutableDictionary* subjson=nil; // if([value isEqualToString:@"true"]) // { // boolitem =[[itemjson objectForKey:@"true"] mutableCopy]; // // } // else // { // boolitem =[[itemjson objectForKey:@"false"] mutableCopy]; // // } // subjson=[[boolitem objectForKey:@"sub_item"] mutableCopy]; // if( subjson!=nil /*&& !active*/) // { // int sub_count = [[subjson valueForKey:@"count"] intValue]; // for(int l=0;l0) // { // // [alert dismissWithClickedButtonIndex:0 animated:FALSE]; // //[self downloadpdf:pdf_url]; // // // if([appDelegate.mode isEqualToString:@"Trade Show Mode"]&& appDelegate.submit_order_logout) // { // //bbb // [((MainViewController*)appDelegate.main_vc) Loginout:false]; // } // // [self prepareReturn:nil]; // // [self.navigationController popViewControllerAnimated:true]; // // [appDelegate printPdf:pdf_url]; //// if(self.printPdfCallback) //// self.printPdfCallback(pdf_url); // } // else { if([appDelegate.mode isEqualToString:@"TM"]&& appDelegate.submit_order_logout) { //bbb [((MainViewController*)appDelegate.main_vc) Loginout:false]; } [self prepareReturn:nil]; [self.navigationController popViewControllerAnimated:true]; if(pdf_url.length>0) { [alert dismissWithClickedButtonIndex:0 animated:FALSE]; [appDelegate printPdf:pdf_url company:company send_to:send_to soid:soid content:email_content]; // [appDelegate printPdf:pdf_url]; } } } else { [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Order Submission" controller:self] ; } }); }); } else { UIAlertView * alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Retain models", nil) message:NSLocalizedString(@"There are some models left in cart,do you want to keep them?", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"NO", nil) otherButtonTitles:NSLocalizedString(@"YES", nil), nil]; alert.tag = KEEP_TAIL; self.upparams = upparams; [alert show]; } } else { //USER_ROLE_CUSTOMER // if(self.have_tail) // [upparams setValue:@"true" forKey:@"isHold"]; // else // [upparams setValue:@"false" forKey:@"isHold"]; UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Order Submission"]; [upparams setValue:@"true" forKey:@"isHold"]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSDictionary* editor_json = [iSalesNetwork saveandcommit_Order:upparams]; dispatch_async(dispatch_get_main_queue(), ^{ [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; if([[editor_json valueForKey:@"result"] intValue]==2) { // NSMutableDictionary * customerInfo=[self create_cusromer_info_from_table]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // appDelegate.customerInfo = customerInfo; // NSString* orderCode = [editor_json valueForKey:@"orderCode"]; // appDelegate.order_code = orderCode; // appDelegate.order_status = [[editor_json valueForKey:@"orderStatus"] intValue]; [appDelegate closeOrder]; [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; NSString* title=nil; NSString* msg=nil; #ifdef OFFLINE_MODE if(appDelegate.offline_mode) { title=TITLE_OFFLINE_SUBMIT; msg=MSG_OFFLINE_SUBMIT; } else #endif { title=@"Order submitted sucessfully"; msg=[NSString stringWithFormat:@"Confirmation#: %@",[editor_json valueForKey:@"so#"]]; } UIAlertView * alert = [[UIAlertView alloc] initWithTitle: title message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; // // self.labelContact.text=appDelegate.contact_name; // // NSDictionary * customerinfo = appDelegate.customerInfo; [self prepareReturn:nil]; [self.navigationController popViewControllerAnimated:true]; // [self.navigationController dismissViewControllerAnimated:true completion:^{ // // // ; // }]; } else { [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Order Submission" controller:self] ; } }); }); } }]; UIAlertAction *alertthree = [UIAlertAction actionWithTitle:@"No" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { //DebugLog(@"Cancel"); }]; [alertControl addAction:actionOne]; [alertControl addAction:alertthree]; //UIAlertControllerStyle类型为UIAlertControllerStyleAlert可以添加addTextFieldWithConfigurationHandler:^(UITextField *textField) [self presentViewController:alertControl animated:YES completion:nil]; } else { commit_order: { AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; if(appDelegate.user_type ==USER_ROLE_EMPLOYEE ) { if(/*!self.have_tail*/ true) {UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Order Submission"]; [upparams setValue:@"false" forKey:@"isHold"]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSDictionary* editor_json = [iSalesNetwork saveandcommit_Order:upparams]; dispatch_async(dispatch_get_main_queue(), ^{ [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; if([[editor_json valueForKey:@"result"] intValue]==2) { //debug bbb // NSMutableDictionary * customerInfo=[self create_cusromer_info_from_table]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; NSString* company= appDelegate.customerInfo[@"customer_name"]; NSString* send_to =appDelegate.customerInfo[@"customer_email"]; // appDelegate.customerInfo = customerInfo; // appDelegate.contact_id = [customerInfo valueForKey:@"customer_cid"]; // appDelegate.order_code = nil; [appDelegate closeOrder]; [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; NSString* title=nil; NSString* msg=nil; #ifdef OFFLINE_MODE if(appDelegate.offline_mode) { title=TITLE_OFFLINE_SUBMIT; msg=MSG_OFFLINE_SUBMIT; } else #endif { title=@"Order submitted sucessfully"; msg=[NSString stringWithFormat:@"Confirmation#: %@",[editor_json valueForKey:@"so#"]]; } UIAlertView * alert = [[UIAlertView alloc] initWithTitle: title message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; NSString* pdf_url = [editor_json valueForKey:@"pdf_url"]; NSString* email_content =[editor_json valueForKey:@"email_content"]; NSString* soid=[editor_json valueForKey:@"so#"]; // if(pdf_url.length>0) // { // // [alert dismissWithClickedButtonIndex:0 animated:FALSE]; //// [self downloadpdf:pdf_url]; // // // if([appDelegate.mode isEqualToString:@"Trade Show Mode"]&& appDelegate.submit_order_logout) // { // //bbb // [((MainViewController*)appDelegate.main_vc) Loginout:false]; // } // // [self prepareReturn:nil]; // // [self.navigationController popViewControllerAnimated:true]; // // [appDelegate printPdf:pdf_url]; // //// if(self.printPdfCallback) //// self.printPdfCallback(pdf_url); // } // else { if([appDelegate.mode isEqualToString:@"TM"]&& appDelegate.submit_order_logout) { //bbb [((MainViewController*)appDelegate.main_vc) Loginout:false]; } [self prepareReturn:nil]; [self.navigationController popViewControllerAnimated:true]; if(pdf_url.length>0) { [alert dismissWithClickedButtonIndex:0 animated:FALSE]; [appDelegate printPdf:pdf_url company:company send_to:send_to soid:soid content:email_content]; } } // // self.labelContact.text=appDelegate.contact_name; // // NSDictionary * customerinfo = appDelegate.customerInfo; } else { [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Order Submission" controller:self] ; } }); }); } else { UIAlertView * alert = [[UIAlertView alloc] initWithTitle:NSLocalizedString(@"Retain models", nil) message:NSLocalizedString(@"There are some models left in cart,do you want to keep them?", nil) delegate:self cancelButtonTitle:NSLocalizedString(@"NO", nil) otherButtonTitles:NSLocalizedString(@"YES", nil), nil]; alert.tag = KEEP_TAIL; self.upparams = upparams; [alert show]; } } else { //USER_ROLE_CUSTOMER // if(self.have_tail) // [upparams setValue:@"true" forKey:@"isHold"]; // else // [upparams setValue:@"false" forKey:@"isHold"]; UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Order Submission"]; [upparams setValue:@"true" forKey:@"isHold"]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSDictionary* editor_json = [iSalesNetwork saveandcommit_Order:upparams]; dispatch_async(dispatch_get_main_queue(), ^{ [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; if([[editor_json valueForKey:@"result"] intValue]==2) { // NSMutableDictionary * customerInfo=[self create_cusromer_info_from_table]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // appDelegate.customerInfo = customerInfo; // NSString* orderCode = [editor_json valueForKey:@"orderCode"]; // appDelegate.order_code = orderCode; // appDelegate.order_status = [[editor_json valueForKey:@"orderStatus"] intValue]; [appDelegate closeOrder]; [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; NSString* title=nil; NSString* msg=nil; #ifdef OFFLINE_MODE if(appDelegate.offline_mode) { title=TITLE_OFFLINE_SUBMIT; msg=MSG_OFFLINE_SUBMIT; } else #endif { title=@"Order submitted sucessfully"; msg=[NSString stringWithFormat:@"Confirmation#: %@",[editor_json valueForKey:@"so#"]]; } UIAlertView * alert = [[UIAlertView alloc] initWithTitle: title message:msg delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [alert show]; // // self.labelContact.text=appDelegate.contact_name; // // NSDictionary * customerinfo = appDelegate.customerInfo; [self prepareReturn:nil]; // [self.navigationController dismissViewControllerAnimated:true completion:^{ // // // ; // }]; [self.navigationController popViewControllerAnimated:true]; } else { [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Order Submission" controller:self] ; } }); }); } } } } // else if( alertView.tag == KEEP_TAIL) // {UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Submit Order"]; // if(buttonIndex!=alertView.cancelButtonIndex) // {//keep tail; // // [self.upparams setValue:@"true" forKey:@"isHold"]; // dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // // NSDictionary* editor_json = [iSalesNetwork saveandcommit_Order:self.upparams]; // // dispatch_async(dispatch_get_main_queue(), ^{ // [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; // // // if([[editor_json valueForKey:@"result"] intValue]==2) // { // NSMutableDictionary * customerInfo=[self create_cusromer_info_from_table]; // UIAlertView * alert = [[UIAlertView alloc] initWithTitle: @"Submit successful." message:[NSString stringWithFormat:@"SO#: %@",[editor_json valueForKey:@"so#"]] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; // // [alert show]; // // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // appDelegate.customerInfo = customerInfo; // appDelegate.contact_id = [customerInfo valueForKey:@"customer_cid"]; // NSString* orderCode = [editor_json valueForKey:@"orderCode"]; // appDelegate.order_code = orderCode; // [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; // // // self.labelContact.text=appDelegate.contact_name; // // // // NSDictionary * customerinfo = appDelegate.customerInfo; // [self prepareReturn:nil]; //// [self.navigationController dismissViewControllerAnimated:true completion:^{ //// //// //// ; //// }]; // [self.navigationController popViewControllerAnimated:true]; // // } // else // { // [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Submit Order" controller:self] ; // } // // // // // }); // }); // } // else // {// not keep tail; // [self.upparams setValue:@"false" forKey:@"isHold"]; // dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // // NSDictionary* editor_json = [iSalesNetwork saveandcommit_Order:self.upparams]; // // dispatch_async(dispatch_get_main_queue(), ^{ // [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; // // // if([[editor_json valueForKey:@"result"] intValue]==2) // { // // NSMutableDictionary * customerInfo=[self create_cusromer_info_from_table]; // UIAlertView * alert = [[UIAlertView alloc] initWithTitle: @"Submit successful." message:[NSString stringWithFormat:@"SO#: %@",[editor_json valueForKey:@"so#"]] delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; // // [alert show]; // // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // // appDelegate.customerInfo = customerInfo; // // appDelegate.contact_id = [customerInfo valueForKey:@"customer_cid"]; // // appDelegate.order_code = nil; // [appDelegate closeOrder]; // [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; // // // self.labelContact.text=appDelegate.contact_name; // // // // NSDictionary * customerinfo = appDelegate.customerInfo; // [self prepareReturn:nil]; //// [self.navigationController dismissViewControllerAnimated:true completion:^{ //// //// //// ; //// }]; // [self.navigationController popViewControllerAnimated:true]; // // } // else // { // [RAUtils message_alert:[editor_json valueForKey:@"err_msg"] title:@"Submit Order" controller:self] ; // } // // // // // }); // }); // } // } else if(alertView.tag == CLOSE_ACTION) { if(buttonIndex==1) { [self.navigationController popViewControllerAnimated:true]; // back to cart; // [self.navigationController dismissViewControllerAnimated:true completion:^{ // ; // }]; // if ([[upparams valueForKey:@"close_on_save"] boolValue]) { // appDelegate.order_code = nil; // // } } if(buttonIndex==2) { [self.navigationController popViewControllerAnimated:false]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; [((MainViewController*)appDelegate.main_vc) switchToOrder]; // back to cart; // [self.navigationController dismissViewControllerAnimated:true completion:^{ // ; // }]; // if ([[upparams valueForKey:@"close_on_save"] boolValue]) { // appDelegate.order_code = nil; // // } } else if(buttonIndex==3) { // close order; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait" title:@"Release Order"]; dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ NSDictionary* order_json = [iSalesNetwork release_Order:appDelegate.order_code withScreen:nil]; dispatch_async(dispatch_get_main_queue(), ^{ [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; if([[order_json valueForKey:@"result"] intValue]==2) { AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // appDelegate.order_code = nil; [appDelegate closeOrder]; [((MainViewController*)appDelegate.main_vc) reloadCart:true immediately:false]; [((MainViewController*)appDelegate.main_vc) switchToHome]; if([appDelegate.mode isEqualToString:@"TM"]&& appDelegate.submit_order_logout) { [((MainViewController*)appDelegate.main_vc) Loginout:false]; } [self prepareReturn:nil]; [self.navigationController popViewControllerAnimated:true]; // [self.navigationController dismissViewControllerAnimated:true completion:^{ // ; // }]; } else { [RAUtils message_alert:[order_json valueForKey:@"err_msg"] title:@"Open Order"controller:self] ; } }); }); // // } } } } // // //-(void) downloadpdf:(NSString* )url //{ // UIAlertView * waitalert = [RAUtils waiting_alert:@"Please wait..." title:@"Printing..."]; // dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // // // NSMutableURLRequest *request = [[NSMutableURLRequest alloc] initWithURL:[NSURL URLWithString:url] cachePolicy:NSURLRequestReloadIgnoringLocalCacheData timeoutInterval:60*5]; // // //设置请求方式为get // // [request setHTTPMethod:@"GET"]; // // //添加用户会话id // // [request addValue:@"text/html" forHTTPHeaderField:@"Content-Type"]; // // //连接发送请求 // // // NSHTTPURLResponse* urlResponse = nil; // // NSError *error = [[NSError alloc] init]; // // NSData* content= [NSURLConnection sendSynchronousRequest:request returningResponse:&urlResponse error:&error]; // // // self.filename = [urlResponse suggestedFilename]; // // // dispatch_async(dispatch_get_main_queue(), ^{ // [waitalert dismissWithClickedButtonIndex:0 animated:FALSE]; // // self.navigationItem.title = self.save_name; // // UIRefreshControl *reF = (UIRefreshControl *)[self.view viewWithTag:200]; // // self.content=nil; // if(content!=nil&&content.length>0) // { // // // [self startAirPrintWithData:content]; // // // } // else // { // [RAUtils message_alert:nil title:@"Open PDF Failed" controller:self]; // // self.content = [self.url dataUsingEncoding:NSUTF8StringEncoding]; // } // // ; // // DebugLog(@"%@",[[NSString alloc] initWithData:self.content encoding:NSASCIIStringEncoding]); // // // // // // [self.webView loadData:self.content MIMEType:urlResponse.MIMEType textEncodingName:nil baseURL:nil]; // // // // // }); // }); //} // //- (void)startAirPrintWithData:(id )data //{ // // // // // UIPrintInteractionController* airPrinterController=[UIPrintInteractionController sharedPrintController]; // UIPrintInfo *printInfo = [UIPrintInfo printInfo]; // printInfo.outputType = UIPrintInfoOutputGeneral; // printInfo.orientation = UIPrintInfoOrientationPortrait; // printInfo.jobName = @"CoolVisitAirPrint"; // airPrinterController.printInfo = printInfo; // airPrinterController.printingItem = data; // airPrinterController.delegate = self; // // // airPrinterController.showsNumberOfCopies=true; // airPrinterController.showsPageRange = true; // airPrinterController.showsPaperSelectionForLoadedPapers=true; // // void (^completionHandler)(UIPrintInteractionController *, BOOL, NSError *) = ^(UIPrintInteractionController *printController, BOOL completed, NSError *error) { // if(completed && error) // DebugLog(@"Printing failed due to error in domain %@ with error code %lu. Localized description: %@, and failure reason: %@", error.domain, (long)error.code, error.localizedDescription, error.localizedFailureReason); // }; // // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // // UIPrinter *airPrinter = [UIPrinter printerWithURL:[NSURL URLWithString:appDelegate.printerURL] ];///*self.printer;*/ // // // // // [[UIPrinter printerWithURL:[NSURL URLWithString:appDelegate.printerURL]] contactPrinter:^(BOOL available) // { // if (available&& appDelegate.printerURL.length>0) // { // // [airPrinterController printToPrinter:airPrinter completionHandler:completionHandler]; // DebugLog(@"AIRPRINTER AVAILABLE"); // } // else // { // // // [airPrinterController presentFromRect:CGRectMake(0, 0, 300, 500) inView:self.view animated:YES completionHandler: // // // // // // // // // [printPicker presentAnimated:YES completionHandler: // // ^(UIPrintInteractionController *printerController, BOOL userDidSelect, NSError *error) // // { // // if (userDidSelect) // // { // // NSString* sid= printerController.printInfo.printerID; // // UIPrintPaper*paper= printerController.printPaper; // // // // } // // }]; // // // DebugLog(@"AIRPRINTER NOT AVAILABLE"); // // // // if (NSFoundationVersionNumber > NSFoundationVersionNumber_iOS_7_1) // { // UIPrinterPickerController *printPicker = [UIPrinterPickerController printerPickerControllerWithInitiallySelectedPrinter:nil]; // // [printPicker presentFromBarButtonItem:self.btnSubmitOrder animated:yes completionHandler: // // // // [ printPicker presentFromBarButtonItem:self.btnSubmitOrder animated:YES completionHandler: // // // // [printPicker presentFromRect:CGRectMake(0, 0, 300, 500) inView:self.view animated:YES completionHandler: // // // // // [printPicker presentAnimated:YES completionHandler: // ^(UIPrinterPickerController *printerPicker, BOOL userDidSelect, NSError *error) // { // if (userDidSelect) // { // //User selected the item in the UIPrinterPickerController and got the printer details. // // [UIPrinterPickerController printerPickerControllerWithInitiallySelectedPrinter:printerPicker.selectedPrinter]; // // //Here you will get the printer and printer details.ie, // // printerPicker.selectedPrinter, printerPicker.selectedPrinter.displayName, printerPicker.selectedPrinter.URL etc. So you can display the printer name in your label text or button title. // // // // // appDelegate.printerURL =printerPicker.selectedPrinter.URL.absoluteString; // // [self startAirPrintWithData:data]; // // } // else // { // // // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // if([appDelegate.mode isEqualToString:@"Trade Show Mode"]&& appDelegate.submit_order_logout) // { // // [((MainViewController*)appDelegate.main_vc) Loginout:false]; // } // [self prepareReturn:nil]; // // [self.navigationController popViewControllerAnimated:true]; // } // }]; // } // } // }]; // // // //} // //#pragma mark - UIPrintInteractionControllerDelegate //- (UIPrintPaper *)printInteractionController:(UIPrintInteractionController *)printInteractionController choosePaper:(NSArray *)paperList //{ // // ; // // // (int) width = 29700 // // Printing description of (*( (int *)0x7caa3a40)): // // (int) height = 42000 // //设置纸张大小 // // // for(UIPrintPaper* paper in paperList) // { // if (CGSizeEqualToSize(paper.paperSize, CGSizeMake(612, 792))) // return paper; // // } // CGSize paperSize = CGSizeMake(612, 792); // UIPrintPaper * p=[UIPrintPaper bestPaperForPageSize:paperSize withPapersFromArray:paperList]; // return p; //} //- (void)printInteractionControllerWillPresentPrinterOptions:(UIPrintInteractionController *)printInteractionController //{ // //} //- (void)printInteractionControllerDidPresentPrinterOptions:(UIPrintInteractionController *)printInteractionController //{ // //} //- (void)printInteractionControllerWillDismissPrinterOptions:(UIPrintInteractionController *)printInteractionController //{ // //} //- (void)printInteractionControllerDidDismissPrinterOptions:(UIPrintInteractionController *)printInteractionController //{ // //} // //- (void)printInteractionControllerWillStartJob:(UIPrintInteractionController *)printInteractionController //{ // //} //- (void)printInteractionControllerDidFinishJob:(UIPrintInteractionController *)printInteractionController //{ // // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // if([appDelegate.mode isEqualToString:@"Trade Show Mode"]&& appDelegate.submit_order_logout) // { // // [((MainViewController*)appDelegate.main_vc) Loginout:false]; // } // // [self prepareReturn:nil]; // // [self.navigationController popViewControllerAnimated:true]; //} // //- (NSString *)currentPriceTypeName { // NSInteger priceType = [Singleton sharedInstance].npd_shop_price_type; // // NSString* pricename = nil; // switch (priceType) { // case 0: // pricename=[Singleton sharedInstance].deliveryString; // break; // case 1: // pricename=flat_price; // break; // case 2: // pricename=given_price; // break; // default: // break; // } // return pricename; //} - (void)releaseOrderAfterSave { AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; [iSalesNetwork release_Order:appDelegate.order_code withScreen:nil]; [appDelegate closeOrder]; [appDelegate SetSo:nil]; appDelegate.cart_count=0; [appDelegate update_count_mark]; [((MainViewController*)appDelegate.main_vc) switchToOrder]; [self prepareReturn:nil]; [self.navigationController popToRootViewControllerAnimated:false]; } @end