// // ScanOrderListViewController.m // iSales-USAI // // Created by Rui Zhang on 2/8/22. // Copyright © 2022 United Software Applications, Inc. All rights reserved. // #import "ScanOrderListViewController.h" #import "OrderListTableViewCell.h" #import "RANetwork.h" #import "OrderDetailViewController.h" #import "MainViewController.h" #import "ContactListViewController.h" #import "DefaultAppearance.h" #import "DefaultTableHeaderView.h" #import "SelectUploadOrderViewController.h" #import "NotificationNameCenter.h" #import "RASingleton.h" #import "ERPUtils.h" #import "UploadCell.h" #import "CustomerEditViewController.h" #import "CreateOrderViewController.h" #import "MainViewController.h" @interface ScanOrderListViewController () @property (nonatomic,strong) NSOperationQueue *dataOperationQueue; @property (nonatomic,strong) NSMutableArray *mergeList; @property (nonatomic,assign) NSInteger orderType;/// 1) { // [self.orderTypeSegmentControl setTitle:[NSString stringWithFormat:@"Purchase Order to %@",COMPANY_SHORT_NAME] forSegmentAtIndex:1]; // } // // // 显示Sales Order与否 // if (appDelegate.user && appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) { // if ([RASingleton sharedInstance].global_lock || ![RASingleton sharedInstance].customer_can_see_sales_Order) { // 是否解锁,是否有查看Sales Order权限 // if (self.orderTypeSegmentControl.numberOfSegments > 1) { // [self.orderTypeSegmentControl removeSegmentAtIndex:1 animated:YES]; // [self changeOrderType:0]; // } // } else { // // if (self.orderTypeSegmentControl.numberOfSegments == 1 && !self.table_order.isEditing) { // [self.orderTypeSegmentControl insertSegmentWithTitle:[NSString stringWithFormat:@"Purchase Order to %@",COMPANY_SHORT_NAME] atIndex:1 animated:YES]; // } // // } // } } -(void) newoloorder { NSString* order_code = [[NSUUID new] UUIDString]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; appDelegate.order_code = order_code; if(appDelegate.user.length==0) { [RAUtils message_alert:@"Please select a sales first." title:@"Warring" controller:self]; return; } // NSData* json =[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:URL_SO_CART ofType:@"json" ]]; NSMutableDictionary* cartTemplate=[OLDataProvider loadScanTemplate:@"scan_cart.json"]; RASingleton.sharedInstance.scan_cart=cartTemplate;//[[RAConvertor data2dict:json] mutableCopy]; appDelegate.user_type = USER_ROLE_EMPLOYEE; appDelegate.can_set_cart_price = true; appDelegate.can_see_price = true; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents = [paths objectAtIndex:0]; { NSString *orderdir = [documents stringByAppendingPathComponent:appDelegate.order_code]; NSError *error = nil; bool bsuccess=[[NSFileManager defaultManager] createDirectoryAtPath:orderdir withIntermediateDirectories:YES attributes:nil error:&error]; NSMutableDictionary * params= [[NSMutableDictionary alloc] init]; // NSString * string = [checked componentsJoinedByString:@","]; // [params setValue:string forKey:@"cart2Checkbox"]; // NSData* data=[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:URL_SO_ORDER ofType:@"json" ]]; // NSMutableDictionary* dict=[[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error] mutableCopy]; NSMutableDictionary* dict=[OLDataProvider loadScanTemplate:@"scan_order.json"]; NSString *orderPath = [orderdir stringByAppendingPathComponent:@"order.json"]; [RAUtils dicttofile:orderPath dict:dict]; NSString *contactpath = [orderdir stringByAppendingPathComponent:@"contact.json"]; [RAUtils dicttofile:contactpath dict:appDelegate.customerInfo]; } // MainViewController * mainvc=(MainViewController * )appDelegate.main_vc; // mainvc.btnScan.enabled = true; [appDelegate updateScanButton:true]; } - (IBAction)onNewOrderClicked:(id)sender { AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; if(appDelegate.user.length<=0) { [RAUtils message_alert:@"Please select a sales first." title:@"Warring" controller:self]; return; } if(appDelegate.order_code.length>0) { // 当前订单先关闭 // [OLDataProvider deleteScanOrder:appDelegate.order_code]; appDelegate.order_code = nil; appDelegate.customerInfo = nil; RASingleton.sharedInstance.scan_cart = nil; appDelegate.contact_id = nil; [appDelegate updateScanButton:false]; [appDelegate update_count_mark]; [appDelegate closeOrder]; } RASingleton.sharedInstance.enable_OfflineOrder = true; // __block MainViewController *brself= self; if(appDelegate.contact_id.length<=0) { UIAlertController *alertControl = [UIAlertController alertControllerWithTitle:@"New Offline Order" message:nil preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *actionOne = [UIAlertAction actionWithTitle:@"With Offline Contact" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { // if(appDelegate.order_code && appDelegate.order_code.length>0) // { // [RAUtils message_alert:@"Please close current order and try again." title:@"" controller:self]; // } // NSLog(@"new click"); NSMutableDictionary * params= [[NSMutableDictionary alloc] init]; // NSString *path = [[NSBundle mainBundle] pathForResource:@"editContact.json" ofType:nil]; CustomerEditViewController * cuseditVC = [[CustomerEditViewController alloc] initWithNibName:@"CommonEditor.iPad" bundle:nil]; cuseditVC.bnewcustomer=true; cuseditVC.bolocustomer = true; cuseditVC.url_type = URL_FILE; cuseditVC.request_url=[OLDataProvider scanTemplatePath:@"scan_contact.json"]; cuseditVC.params = params; cuseditVC.returnValue=^(NSMutableDictionary* value) { if(value==nil) { [RAUtils message_alert:@"Cannot create order without cursomer infomation." title:@"" controller:self]; } else { NSString* contact_id=[[NSUUID new] UUIDString]; //---------------- construct customer_contact---------------------- NSString* customer_first_name = [value valueForKey:@"customer_first_name"]; if(customer_first_name==nil) customer_first_name=@""; NSString* customer_last_name= [value valueForKey:@"customer_last_name"]; if(customer_last_name==nil) customer_last_name=@""; NSString* customer_contact = [NSString stringWithFormat:@"%@ %@",customer_first_name,customer_last_name]; customer_contact=[customer_contact stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; [value setValue:customer_contact forKey:@"customer_contact"]; value [@"customer_cid"] = contact_id; appDelegate.contact_id=contact_id; appDelegate.customerInfo = value; // [brself refreshContactDisplay]; [self newoloorder]; // [brself switchToCart:nil]; } }; // cuseditVC.delegate=self; // // if(checked.count==count) // { // orderinfoVC.have_tail = true // } [[self navigationController] setNavigationBarHidden:NO animated:NO]; [self.navigationController pushViewController:cuseditVC animated:false]; // [self dismissViewControllerAnimated:NO completion:^{ //// [(UINavigationController*)[self parentViewController] pushViewController:cuseditVC animated:false];; //// [[self navigationController] setNavigationBarHidden:NO animated:NO]; // //// [self pushViewController:cuseditVC animated:false]; // }]; // [[self navigationController] setNavigationBarHidden:NO animated:NO]; // [self.navigationController pushViewController:cuseditVC animated:false]; }]; UIAlertAction *alertCancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { }]; [alertControl addAction:actionOne]; // [alertControl addAction:alertthree]; [alertControl addAction:alertCancel]; [self presentViewController:alertControl animated:YES completion:nil]; } else { [self newoloorder]; } } - (void)didReceiveMemoryWarning { [super didReceiveMemoryWarning]; // Dispose of any resources that can be recreated. } -(void)manually_refresh { UIRefreshControl *reF = (UIRefreshControl *)[self.view viewWithTag:201]; if(self.isrefreshing) { [reF endRefreshing]; return; } reF.attributedTitle = [[NSAttributedString alloc]initWithString:@"Refreshing"]; if ([self respondsToSelector:@selector(ReloadData)]) [self performSelector:@selector(ReloadData) withObject:nil afterDelay:1]; } -(void)ReloadData { // [self.content_data removeAllObjects]; // [self.table_order reloadData]; // self.table_order.hidden = true; UIRefreshControl *reF = (UIRefreshControl *)[self.view viewWithTag:201]; [reF endRefreshing]; reF.attributedTitle = [[NSAttributedString alloc]initWithString:@"Pull to refresh"]; self.keywords=nil; // self.offset = 0; self.reset_result=true; // [self.content_data removeAllObjects]; // [self.table_order reloadData]; [self loadpage]; // [self loadpage]; } - (void)operation_loadPage { if (self.dataOperationQueue.operationCount > 1) { // 队列后面还有操作 return; } NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents = [paths objectAtIndex:0]; NSMutableDictionary* orderlist = nil; NSString *orderlistPath = [documents stringByAppendingPathComponent:@"orderlist.json"]; orderlist=[[RAUtils dictfromfile:orderlistPath] mutableCopy]; [self.content_data removeAllObjects]; int count = [orderlist[@"count"] intValue]; for(int i=0;i 1) { // 队列后面还有操作 // return ; // } // int result_code=[[content valueForKey:@"result"] intValue]; // // if(result_code==2||result_code==0) // { // // // int count = [[content valueForKey:@"count" ] intValue] ; // // // self.time_zone = [content valueForKey:@"time_zone" ]; // self.offset += count; // for(int i=0;i 1) { // 队列后面还有操作 //// return ; //// } //// int result=[[content valueForKey:@"result"] intValue]; //// //// if(result==2||result==0) //// { //// //// //// int count = [[content valueForKey:@"count" ] intValue] ; //// //// //// self.time_zone = [content valueForKey:@"time_zone" ]; //// self.offset += count; //// for(int i=0;i0) // { //// appDelegate.order_code= nil; //// [appDelegate SetSo:nil]; // // if (appDelegate.user_type == USER_ROLE_EMPLOYEE) { // // MainViewController* main_vc=(MainViewController*)appDelegate.main_vc; // ContactListViewController* cvc = [[UIStoryboard storyboardWithName:@"ERP_Mobile_Contact" bundle:nil] instantiateViewControllerWithIdentifier:@"ContactListViewController" ]; // cvc.showNavibar = true; // cvc.contact_type = @"Sales_Order_Customer"; // cvc.returnValue = ^(NSMutableDictionary* value,NSIndexPath* source){ // // appDelegate.contact_id=[value valueForKey:@"customer_cid"]; // appDelegate.customerInfo = value; // // self.norefresh = true; // [self neworder]; // // // // // [main_vc checklogin:true]; // // [self handle_action_return:value indexPath:indexPath action:ACTION_FILL_SECTION]; // // // // // if(self.returnValue) // // self.returnValue(value); // }; // // cvc.onCancel = ^(){ // self.norefresh = true; // if(appDelegate.customerInfo==nil) // { // [RAUtils message_alert:@"Cannot create order without cursomer infomation." title:@"" controller:self]; // } // else // { // [self neworder]; // } // // [main_vc checklogin:true]; // }; // cvc.onReset = ^(){ // // [main_vc checklogin:true]; // }; // // [self.navigationController pushViewController:cvc animated:true]; // } // else if (appDelegate.user_type == USER_ROLE_CUSTOMER){ // [self neworder]; // } // // } // else // { // //create new; // // if(appDelegate.customerInfo==nil)// select contact if current contact not exist // { // MainViewController* main_vc=(MainViewController*)appDelegate.main_vc; // ContactListViewController* cvc = [[UIStoryboard storyboardWithName:@"ERP_Mobile_Contact" bundle:nil] instantiateViewControllerWithIdentifier:@"ContactListViewController" ]; // cvc.showNavibar = true; // cvc.contact_type = @"Sales_Order_Customer"; // cvc.returnValue = ^(NSMutableDictionary* value,NSIndexPath* source){ // // appDelegate.contact_id=[value valueForKey:@"customer_cid"]; // appDelegate.customerInfo = value; // // // if(appDelegate.order_code==nil) // [self neworder]; // // // [main_vc checklogin:true]; // // [self handle_action_return:value indexPath:indexPath action:ACTION_FILL_SECTION]; // // // // // if(self.returnValue) // // self.returnValue(value); // }; // // cvc.onCancel = ^(){ // // [RAUtils message_alert:@"Cannot create order without cursomer infomation." title:@"" controller:self]; // // // // }; // cvc.onReset = ^(){ // [main_vc checklogin:true]; // }; // // [self.navigationController pushViewController:cvc animated:true]; // } // else // { // [self neworder]; // } // } // // } //} #pragma mark - Table view data source - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath; { if(tableView==self.table_order) return 66; else return 100; } //- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section //{ // return 0; //} //- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section //{ // return 0; //} //- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section //{ // UIView* myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 0.0001)]; // return myView; // //} - (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { if(tableView==self.table_order) { NSString* value =[DefaultAppearance get_noneappearance_value:@"DefaultTableHeaderView" valuename:@"title_text_color"]; if(value==nil) value=@""; unsigned long color = strtoul([value UTF8String],0,16); DefaultTableHeaderView* myView = [[DefaultTableHeaderView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 0.0001)]; // myView.backgroundColor = UIColorFromRGB(0x996633); myView.layer.shadowPath =[UIBezierPath bezierPathWithRect:myView.bounds].CGPath; myView.layer.shadowColor = [UIColor blackColor].CGColor; myView.layer.shadowOffset = CGSizeMake(0, 0); myView.layer.shadowOpacity = 0.5; myView.layer.shadowRadius = 2.0; UILabel *statuslabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 11, 130, 22)]; statuslabel.textColor=UIColorFromRGB(color); statuslabel.backgroundColor = [UIColor clearColor]; statuslabel.text=NSLocalizedString(@"Status", nil); [statuslabel sizeToFit]; [myView addSubview:statuslabel]; // UILabel *solabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 21, 130, 22)]; // solabel.textColor=UIColorFromRGB(color); // solabel.backgroundColor = [UIColor clearColor]; // solabel.text=NSLocalizedString(@"SO#", nil); // [solabel sizeToFit]; // [myView addSubview:solabel]; // UILabel *userlabel = [[UILabel alloc] initWithFrame:CGRectMake(165, 21, 125, 22)]; // userlabel.textColor=UIColorFromRGB(color); // userlabel.backgroundColor = [UIColor clearColor]; // userlabel.text=NSLocalizedString(@"Sales rep", nil); // [userlabel sizeToFit]; // [myView addSubview:userlabel]; UILabel *creatorlabel = [[UILabel alloc] initWithFrame:CGRectMake(165, 11, 125, 22)]; creatorlabel.textColor=UIColorFromRGB(color); creatorlabel.backgroundColor = [UIColor clearColor]; creatorlabel.text=NSLocalizedString(@"Create by", nil); [creatorlabel sizeToFit]; [myView addSubview:creatorlabel]; UILabel *contactlabel = [[UILabel alloc] initWithFrame:CGRectMake(296, 11, 150, 22)]; contactlabel.textColor=UIColorFromRGB(color); contactlabel.backgroundColor = [UIColor clearColor]; contactlabel.text=NSLocalizedString(@"Contact", nil); [contactlabel sizeToFit]; [myView addSubview:contactlabel]; // // UILabel *modellabel = [[UILabel alloc] initWithFrame:CGRectMake(424, 11, 52, 22)]; // modellabel.textColor=[UIColor whiteColor]; // modellabel.backgroundColor = [UIColor clearColor]; // modellabel.text=NSLocalizedString(@"Model", nil); // [modellabel sizeToFit]; // [myView addSubview:modellabel]; // UILabel *modellabel = [[UILabel alloc] initWithFrame:CGRectMake(self.table_order.frame.size.width-276, 2, 100, 22)]; // modellabel.autoresizingMask=UIViewAutoresizingFlexibleLeftMargin; // modellabel.textColor=[UIColor whiteColor]; // modellabel.backgroundColor = [UIColor clearColor]; // modellabel.text=NSLocalizedString(@"Items/QTY", nil); // [modellabel sizeToFit]; // [myView addSubview:modellabel]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; UILabel *pricelabel = nil; if(appDelegate.user_type==USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore && self.orderType==1) pricelabel=[[UILabel alloc] initWithFrame:CGRectMake(/*492*/self.table_order.frame.size.width-276, 2, 100, 22)]; else pricelabel=[[UILabel alloc] initWithFrame:CGRectMake(/*492*/self.table_order.frame.size.width-276, 11, 100, 22)]; pricelabel.autoresizingMask=UIViewAutoresizingFlexibleLeftMargin; pricelabel.textColor=UIColorFromRGB(color); pricelabel.backgroundColor = [UIColor clearColor]; pricelabel.text=NSLocalizedString(@"Order Total", nil); [pricelabel sizeToFit]; [myView addSubview:pricelabel]; if(appDelegate.user_type==USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore && self.orderType==1) { UILabel *polabel = nil; polabel=[[UILabel alloc] initWithFrame:CGRectMake(/*492*/self.table_order.frame.size.width-276, 21, 100, 22)]; polabel.autoresizingMask=UIViewAutoresizingFlexibleLeftMargin; polabel.textColor=UIColorFromRGB(color); polabel.backgroundColor = [UIColor clearColor]; polabel.text=NSLocalizedString(@"PO#", nil); [polabel sizeToFit]; [myView addSubview:polabel]; } UILabel *timelabel = [[UILabel alloc] initWithFrame:CGRectMake(self.table_order.frame.size.width-163/*605*/,11, 148, 22)]; timelabel.autoresizingMask=UIViewAutoresizingFlexibleLeftMargin; timelabel.textColor=UIColorFromRGB(color); timelabel.backgroundColor = [UIColor clearColor]; if(self.time_zone==nil) timelabel.text=@"Create time"; else timelabel.text=[NSString stringWithFormat:@"Create time (%@)",self.time_zone]; [timelabel sizeToFit]; [myView addSubview:timelabel]; myView.autoresizesSubviews=true; // [myView setAutoresizingMask:UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin]; // modellabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; // pricelabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; // timelabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin; myView.autoresizingMask = UIViewAutoresizingFlexibleWidth; // return myView; } else return nil; } - (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { return 44; } // //- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section { // if(section==0) // return nil; // else // return @"detail section"; //} - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { return 1; } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { if(tableView==self.table_order) { return self.content_data.count; // NSDictionary * item_json = [self.content_data objectForKey:@"items"]; // if( self.content_data.count==0) // return 0; // return self.content_data.count+1; } else { AppDelegate* Appdelegate=(AppDelegate*)[UIApplication sharedApplication].delegate; return Appdelegate.uploadManager.arr_queue.count; } } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { if(tableView==self.table_order) { AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // if(tableView==self.itemListTable) // { // if(indexPath.row>self.content_data.count) // { // int debug=true; // } // DebugLog(@"row %ld",(long)indexPath.row); // if(indexPath.row==self.content_data.count) // { // UITableViewCell *moreCell=[[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"mores"]; // UILabel *moreDataLabel=[[UILabel alloc] init]; // // moreDataLabel.tag=200; // moreDataLabel.text=self.load_more_hint; // [moreDataLabel setFont:[UIFont systemFontOfSize:14.0f]]; // [moreDataLabel setTextAlignment:NSTextAlignmentCenter]; // moreDataLabel.frame=CGRectMake(0, 10, self.table_order.bounds.size.width, 20); // [moreDataLabel setBackgroundColor:[UIColor clearColor]]; // moreDataLabel.autoresizingMask = UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleRightMargin; // // [moreDataLabel addTarget:self action:@selector(changeCell) forControlEvents:UIControlEventValueChanged]; // // [moreCell.contentView addSubview:moreDataLabel]; // if([self.load_more_hint isEqualToString:@"Load more..."]) // [self performSelector:@selector(loadmore) withObject:nil afterDelay:1]; // // DebugLog(@"更多..."); // moreCell.backgroundColor = [UIColor whiteColor]; // return moreCell; // } // else { NSString *CellIdentifier = @"OrderListTableViewCell"; OrderListTableViewCell * cell= [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; NSString* so= [self.content_data[indexPath.row] valueForKey:@"so#"]; NSString* price= [self.content_data[indexPath.row] valueForKey:@"price"]; if(appDelegate.can_see_price&&appDelegate.price_hidden==false) { } else { price=nil; } NSInteger statusCode = [[self.content_data[indexPath.row] valueForKey:@"orderStatus"] integerValue]; NSString* purchase_time= [self.content_data[indexPath.row] valueForKey:@"purchase_time"]; NSString* status = [self.content_data[indexPath.row] valueForKey:@"order_status"] ; if (appDelegate.user && appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) { status = [ERPUtils orderStatus:statusCode]; } NSString* customer_name = [self.content_data[indexPath.row] valueForKey:@"customer_name"]; NSString* model_count = [self.content_data[indexPath.row] valueForKey:@"model_count"]; NSString* sales = [self.content_data[indexPath.row] valueForKey:@"sales_rep"]; NSString* creator = [self.content_data[indexPath.row] valueForKey:@"create_by"]; NSString *po = [self.content_data[indexPath.row] valueForKey:@"po_id"]; CGRect price_frame = cell.labelprice.frame; if (appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore && self.orderType == 1) { cell.label_po.hidden = NO; price_frame.origin.y = 5; cell.label_po.text = po; } else { cell.label_po.hidden = YES; price_frame.origin.y = 21; } cell.labelprice.frame = price_frame; cell.label_so.text=so; cell.labelprice.text=price; cell.label_date.text=purchase_time; cell.label_contact.text=customer_name; cell.label_model.text = model_count; cell.label_sales.text = sales; cell.label_creator.text = creator; cell.label_status.text=status; cell.backgroundColor = [UIColor whiteColor]; return cell; } } else { AppDelegate* Appdelegate=(AppDelegate*)[UIApplication sharedApplication].delegate; { NSString *CellIdentifier = @"UploadCell"; UploadCell * cell= [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath]; NSDictionary * item_json = Appdelegate.uploadManager.arr_queue[indexPath.row]; // // if (cell.operation) { // cell.operation.updateUI = nil; // } RAUploadOperation* op = item_json[@"operation"]; NSString* status =nil; switch ([item_json[@"status"] intValue]) { case TaskStatusStart: status=@"uploading"; break; case TaskStatusStop: status=@"stop"; break; case TaskStatusError: status=@"warning"; break; case TaskStatusWait: status=@"waiting"; break; case TaskStatusFinish: status=@"finish"; break; default: status=@"warning"; break; } double progress =[item_json[@"progress"] doubleValue]; cell.progress=progress; cell.name=item_json[@"file"]; cell.state= status; cell.errorMsg = item_json[@"msg"]; // __block RAUploadOperation* block_op = op; // __block UploadCell* block_cell = cell; // __block NSIndexPath* block_index = indexPath; // long idx = indexPath.row; // __weak typeof(self) weakself = self; op.updateUI=^(){ // blockDebugLog(@"updateUI @ row%ld %p \n operation %p",idx,block_cell,block_op); NSString* status =nil; switch ([item_json[@"status"] intValue]) { case TaskStatusStart: status=@"uploading"; break; case TaskStatusStop: status=@"stop"; break; case TaskStatusError: status=@"warning"; break; case TaskStatusWait: status=@"waiting"; break; case TaskStatusFinish: status=@"finish"; break; default: status=@"warning"; break; } double progress =[item_json[@"progress"] doubleValue]; cell.progress=progress; cell.name=item_json[@"file"]; cell.state= status; cell.errorMsg = item_json[@"msg"]; }; DebugLog(@"%@ set update ui",item_json[@"file"]); // cell.operation = op; // return cell; } } } - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { if(tableView==self.table_order) { RASingleton.sharedInstance.enable_OfflineOrder = true; if (tableView.isEditing) { // 编辑模式下不响应 return; } // if(indexPath.row==self.content_data.count) return; UIAlertController *alertControl = [UIAlertController alertControllerWithTitle:@"Open Saved Order" message:nil preferredStyle:UIAlertControllerStyleAlert]; UIAlertAction *actionOne = [UIAlertAction actionWithTitle:@"Open" style:UIAlertActionStyleDefault handler:^(UIAlertAction *action) { AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; NSMutableDictionary* orderitem =self.content_data[indexPath.row]; NSString* ordercode =orderitem[@"order_code"]; appDelegate.order_code = ordercode; [appDelegate setUser:orderitem[@"create_by"]]; // appDelegate.user =; // appDelegate.custo orderitem[@"customer_name"] appDelegate.user_type = USER_ROLE_EMPLOYEE; appDelegate.can_set_cart_price = true; appDelegate.can_see_price = true; NSMutableDictionary * params= [[NSMutableDictionary alloc] init]; NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES); NSString *documents = [paths objectAtIndex:0]; NSString *orderdir = [documents stringByAppendingPathComponent:appDelegate.order_code]; // NSMutableDictionary* order= [[RAUtils dictfromfile:[orderdir stringByAppendingPathComponent:@"order.json"]] mutableCopy]; NSMutableDictionary* cart= [[RAUtils dictfromfile:[orderdir stringByAppendingPathComponent:@"cart.json"]] mutableCopy]; NSMutableDictionary* contact= [[RAUtils dictfromfile:[orderdir stringByAppendingPathComponent:@"contact.json"]] mutableCopy]; // NSMutableDictionary* app= [[RAUtils dictfromfile:[orderdir stringByAppendingPathComponent:@"app.json"]] mutableCopy]; [appDelegate setCustomerInfo: contact]; RASingleton.sharedInstance.scan_cart = cart; [appDelegate update_count_mark]; [appDelegate updateScanButton:true]; [appDelegate SetMode:@""]; CreateOrderViewController * orderinfoVC = [[CreateOrderViewController alloc] initWithNibName:@"CommonEditor.iPad" bundle:nil]; orderinfoVC.disable_dropdown_refresh=true; orderinfoVC.url_type = URL_FILE; orderinfoVC.request_url=[orderdir stringByAppendingPathComponent:@"order.json"]; orderinfoVC.params = params; orderinfoVC.title=@""; // orderinfoVC.delegate=self; // // if(checked.count==count) // { // orderinfoVC.have_tail = true // } [self.navigationController pushViewController:orderinfoVC animated:true]; return; }]; UIAlertAction *alertCancel = [UIAlertAction actionWithTitle:@"Cancel" style:UIAlertActionStyleCancel handler:^(UIAlertAction *action) { }]; [alertControl addAction:actionOne]; // [alertControl addAction:alertthree]; [alertControl addAction:alertCancel]; [self presentViewController:alertControl animated:YES completion:nil]; // NSString* orderid= [ valueForKey:@"order_id"]; } } #pragma mark - searchBar delegate; - (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { self.keywords=searchBar.text; // self.offset = 0; // [self.content_data removeAllObjects]; self.reset_result=true; [self loadpage]; } - (void)searchBar:(UISearchBar *)searchBar textDidChange:(NSString *)searchText { if([searchText isEqualToString:@""] && !self.reset) { DebugLog(@"clear"); self.reset=true; self.keywords=nil; // self.offset = 0; // [self.content_data removeAllObjects]; self.reset_result=true; [self loadpage]; } else self.reset = false; } #pragma mark 在滑动手势删除某一行的时候,显示出更多的按钮 - (NSArray *)tableView:(UITableView *)tableView editActionsForRowAtIndexPath:(NSIndexPath *)indexPath { // 添加一个删除按钮 // self.indexPath=indexPath; if(tableView==self.table_order) { if(indexPath.row==self.content_data.count) return @[]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // NSString* so= [self.content_data[indexPath.row] valueForKey:@"so#"]; NSString* order_code= [self.content_data[indexPath.row] valueForKey:@"order_code"]; // NSString* order_status= [self.content_data[indexPath.row] valueForKey:@"order_status"]; // NSInteger statusCode = [[self.content_data[indexPath.row] valueForKey:@"orderStatus"] integerValue]; if(appDelegate.user_type==USER_ROLE_EMPLOYEE || (appDelegate.user_type==USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeCustomer)) { UITableViewRowAction *deleteRowAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"Delete" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) { DebugLog(@"delete click"); NSString * title =@"Are you sure to delete order?"; UIAlertController *alertControl = [UIAlertController alertControllerWithTitle:title message:nil preferredStyle:UIAlertControllerStyleAlert]; //block代码块取代了delegate // [alertControl addTextFieldWithConfigurationHandler:^(UITextField *textField) { // textField.text = self.save_name; // // // }]; UIAlertAction *actionOne = [UIAlertAction actionWithTitle:@"Yes" style:UIAlertActionStyleDestructive handler:^(UIAlertAction *action) { [OLDataProvider deleteScanOrder:order_code]; [appDelegate closeOrder]; // // [self prepareReturn:nil]; // [self.navigationController popViewControllerAnimated:true]; // [((MainViewController*)appDelegate.main_vc) switchToOrder]; return; }]; 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]; }]; deleteRowAction.backgroundColor = UIColorFromRGB(0x336699); // 添加一个编辑按钮 // // if(/*[order_status isEqualToString:@"Saved Order"]*/statusCode == 1&&appDelegate.can_cancel_order) // return @[cancelAction]; // // else // { { NSMutableArray* arr=[@[] mutableCopy]; if(appDelegate.can_delete_order) [arr addObject:deleteRowAction]; // if(appDelegate.can_cancel_order) // [arr addObject:cancelAction]; return arr; } // } } return @[]; } else { AppDelegate* Appdelegate=(AppDelegate*)[UIApplication sharedApplication].delegate; NSMutableDictionary * task = Appdelegate.uploadManager.arr_queue[indexPath.row]; __weak typeof(self) weakself = self; UITableViewRowAction *startAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDefault title:@"Restart"handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) { if (Appdelegate.uploadManager.onlyWiFi && Appdelegate.uploadManager.reach.currentReachabilityStatus != ReachableViaWiFi) { [weakself.view makeToast:@"Current Network is not WiFi" duration:3.0 position:CSToastPositionCenter]; [tableView reloadRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationMiddle]; return ; } DebugLog(@"Start click"); task[@"retry"]=[NSNumber numberWithInt:0]; [Appdelegate.uploadManager startTask:task]; [tableView reloadRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationMiddle]; }]; startAction.backgroundColor = UIColorFromRGB(0xff9933); UITableViewRowAction *removeAction = [UITableViewRowAction rowActionWithStyle:UITableViewRowActionStyleDestructive title:@"Remove" handler:^(UITableViewRowAction *action, NSIndexPath *indexPath) { [Appdelegate.uploadManager removeTask:task]; // [tableView reloadRowsAtIndexPaths:@[indexPath]withRowAnimation:UITableViewRowAnimationMiddle]; }]; removeAction.backgroundColor = UIColorFromRGB(0x9BBF5A); // UIColorFromRGB(0x336699); // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; switch ([task[@"status"] intValue]) { case TaskStatusFinish: return @[removeAction]; case TaskStatusError: return @[startAction,removeAction]; case TaskStatusStop: return @[startAction]; default: return nil; break; } } } - (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath { if(tableView==self.table_order) { if(indexPath.row==self.content_data.count) return NO; // if(self.init_style==OL_OPEN) // return NO; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // NSString* order_status= [self.content_data[indexPath.row] valueForKey:@"order_status"]; NSInteger statusCode = [[self.content_data[indexPath.row] valueForKey:@"orderStatus"] integerValue]; if(appDelegate.user_type==USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) { // saved && ((type==0 && merge_permission) || type == 1 || can_cancel) BOOL isSavedOrder = /*[order_status isEqualToString:@"Saved Order"]*/statusCode == 1; switch (self.orderType) { case 0:{ // Shop Order if (!isSavedOrder) { return NO; } else { if ([RASingleton sharedInstance].permissions_merge_order || appDelegate.can_cancel_order) { return YES; } else { return NO; } } } break; case 1:{ // Sales Order if (isSavedOrder && appDelegate.can_cancel_order) { return YES; } return NO; } break; default: break; } } else { return YES; } return YES; } else { AppDelegate* Appdelegate=(AppDelegate*)[UIApplication sharedApplication].delegate; NSDictionary * item_json = Appdelegate.uploadManager.arr_queue[indexPath.row]; bool ret=false; switch ([item_json[@"status"] intValue]) { case TaskStatusStart: case TaskStatusWait: ret=false; break; case TaskStatusFinish: case TaskStatusStop: case TaskStatusError: ret = true; break; default: ret=false; break; } return ret; } } - (UITableViewCellEditingStyle)tableView:(UITableView *)tv editingStyleForRowAtIndexPath:(NSIndexPath *)indexPath { if(tv==self.table_order) { if(indexPath.row==self.content_data.count) return UITableViewCellEditingStyleNone; bool offline_edit =[[self.content_data[indexPath.row] valueForKey:@"offline_edit"] boolValue]; // NSString* order_status= [self.content_data[indexPath.row] valueForKey:@"order_status"]; NSInteger statusCode = [[self.content_data[indexPath.row] valueForKey:@"orderStatus"] integerValue]; if(/*![order_status isEqualToString:@"Saved Order"]&&! [order_status isEqualToString:@"Quote Saved"]*/statusCode != 1 && statusCode != 0) return UITableViewCellEditingStyleNone; else { BOOL condition = offline_edit; #ifdef OFFLINE_MODE AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; condition = condition || appDelegate.offline_mode==false; #else condition = YES; #endif if (condition) return UITableViewCellEditingStyleDelete; else return UITableViewCellEditingStyleNone; } } else return UITableViewCellEditingStyleDelete; } /* #pragma mark - Navigation // In a storyboard-based application, you will often want to do a little preparation before navigation - (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { // Get the new view controller using [segue destinationViewController]. // Pass the selected object to the new view controller. } */ #pragma mark EnumSelectViewControllerDelegate -(void) EnumValueChanged:(NSMutableDictionary *)value indexPath :(NSIndexPath*) indexPath { self.status_cadedate = value; UIApplication * app = [UIApplication sharedApplication]; AppDelegate *appDelegate = (AppDelegate *)[app delegate]; appDelegate.OrderFilter = value; // NSArray *paths = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES); // NSString *documents = [paths objectAtIndex:0]; // NSString *dist_path = [documents stringByAppendingPathComponent:@"status_filter_cadedate.json"]; // // // // if ([[NSFileManager defaultManager] fileExistsAtPath:dist_path]) { // // // // DebugLog(@"文件已经存在了"); // // // // } // // else // // { // // // // // // // // DebugLog(@"resourceSampleImagesFolderPath=%@",resourceFolderPath); // //NSData *data = [NSJSONSerialization dataWithJSONObject:self.status_cadedate options:kNilOptions error:nil]; // // // DebugLog(@"mainBundleFile==%@",mainBundleFile); // // [[NSFileManager defaultManager] createFileAtPath:dist_path // // contents:data // // attributes:nil]; // // } // self.keywords=searchBar.text; // self.offset = 0; // [self.content_data removeAllObjects]; self.reset_result=true; [self loadpage]; //[self.btnStatusFilter setTitle:setTitle:alert ]; } #pragma mark - button action - (NSIndexPath *)indexPathOfDeleteOrder:(NSString *)orderID { for (NSIndexPath *indexPath in self.table_order.indexPathsForSelectedRows) { NSString* orderid= [NSString stringWithFormat:@"%@",[self.content_data[indexPath.row] valueForKey:@"order_id"]]; if ([orderid isEqualToString:orderID]) { return indexPath; } } return nil; } - (IBAction)mergeListButtonClick:(UIBarButtonItem *)sender { if (!self.table_order.isEditing) { [RAUtils message_alert:@"You have to click select firstly then select some saved order" title:@"Warning" controller:self]; return; } [self handleSelectedOrders]; if (!self.mergeList.count) { // [RAUtils message_alert:@"Combine List is Empty" title:@"Warning" controller:self]; return; } SelectUploadOrderViewController *mergeVC = [[UIStoryboard storyboardWithName:@"OLM" bundle:[NSBundle mainBundle]] instantiateViewControllerWithIdentifier:@"SelectUploadOrderViewController"]; UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:mergeVC]; mergeVC.mergeList = self.mergeList; mergeVC.title = @"Combine List"; __weak typeof(self) weakself = self; mergeVC.mergeBlock = ^(NSDictionary *ret) { if (weakself) { __strong typeof(weakself) strongself = weakself; if([[ret objectForKey:@"result"]integerValue] == RESULT_TRUE) { [weakself.mergeList removeAllObjects]; [strongself.table_order endEditing:YES]; [strongself ReloadData]; if ([RASingleton sharedInstance].customer_can_see_sales_Order) { [strongself openOrder:ret]; } } else { NSString *msg = [ret objectForKey:@"err_msg"]; [RAUtils message_alert:msg title:nil controller:strongself]; } } }; mergeVC.deleteBlock = ^(NSString *orderID){ NSIndexPath *indexPath = [weakself indexPathOfDeleteOrder:orderID]; [weakself.table_order deselectRowAtIndexPath:indexPath animated:YES]; }; mergeVC.clearBlock = ^{ for (NSDictionary *order in self.mergeList) { NSString *order_id = [NSString stringWithFormat:@"%@",[order objectForKey:@"order_id"]]; NSIndexPath *indexPath = [weakself indexPathOfDeleteOrder:order_id]; [weakself.table_order deselectRowAtIndexPath:indexPath animated:YES]; } }; nav.modalPresentationStyle = UIModalPresentationFormSheet; [self presentViewController:nav animated:YES completion:nil]; } - (void)handleSelectedOrders { [self.mergeList removeAllObjects]; if (!self.table_order.isEditing) { return; } for (NSIndexPath *indexPath in self.table_order.indexPathsForSelectedRows) { if(indexPath.row==self.content_data.count) continue; NSString* so= [self.content_data[indexPath.row] valueForKey:@"so#"]; NSString* orderid= [self.content_data[indexPath.row] valueForKey:@"order_id"]; NSString *create_by = [self.content_data[indexPath.row] valueForKey:@"create_by"]; NSString *create_time = [self.content_data[indexPath.row] valueForKey:@"purchase_time"]; NSString *orderCode = [NSString stringWithFormat:@"%@",[self.content_data[indexPath.row] valueForKey:@"order_code"]]; NSMutableDictionary *dic = [NSMutableDictionary dictionary]; [dic setValue:orderid forKey:@"order_id"]; [dic setValue:orderCode forKey:@"order_code"]; [dic setValue:so forKey:@"so_id"]; [dic setValue:create_by forKey:@"create_by"]; [dic setValue:create_time forKey:@"create_time"]; [dic setValue:[NSNumber numberWithInteger:0] forKey:@"check"]; // 合并到 [self.mergeList addObject:dic]; } } - (IBAction)editOrderListButtonClick:(UIBarButtonItem *)sender { // if ([RASingleton sharedInstance].global_lock) { // Order list 被锁 // [RAUtils message_alert:@"Permission Needed.\nGoto Menu -> Unlock" title:@"Warning" controller:self]; // return; // } // // UIImage *gray = [UIImage imageNamed:@"Combinegray"]; // UIImage *green = [[UIImage imageNamed:@"converttopo"] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];//converttopo // // if (self.table_order.isEditing) { // [self mergeListButtonClick:nil]; // // 结束选择时恢复 // if ([RASingleton sharedInstance].customer_can_see_sales_Order && ![RASingleton sharedInstance].global_lock) { // 有查看Sales order 权限,并且app没有锁 // if (self.orderTypeSegmentControl.numberOfSegments == 1) { // [self.orderTypeSegmentControl insertSegmentWithTitle:[NSString stringWithFormat:@"Purchase Order to %@",COMPANY_SHORT_NAME] atIndex:1 animated:YES]; // } // } // // self.status_cadedate = self.shop_order_filter; // [self ReloadData]; // // [self.table_order setEditing:NO animated:YES]; //// sender.title = @"Select"; //// [self.mergeList removeAllObjects]; // [sender setImage:gray]; // // } else { // // 选择时不能选择Sales Order // if(self.orderTypeSegmentControl.numberOfSegments > 1) { // [self.orderTypeSegmentControl removeSegmentAtIndex:1 animated:YES]; // [self changeOrderType:0]; // } // // 切换filter // NSData *data=[NSData dataWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"status_filter_cadedate_open" ofType:@"json" ]]; // NSError *error=nil; // self.status_cadedate = [[NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableLeaves error:&error] mutableCopy]; // // 刷新,取Saved Order // [self ReloadData]; // // [self.table_order setEditing:YES animated:YES]; //// sender.title = @"Exit"; // [sender setImage:green]; // } } - (IBAction)onSegmentChanged:(UISegmentedControl *)sender { if(sender.selectedSegmentIndex==0) { self.table_order.hidden=false; self.table_upload.hidden = true; [self.table_order reloadData]; } else { self.table_order.hidden=true; self.table_upload.hidden = false; [self.table_upload reloadData]; } } - (void)openOrder:(NSDictionary *)order { if (!order) { return; } NSString *orderCode = [order objectForKey:@"orderCode"]; NSInteger orderStatus = [[order objectForKey:@"orderStatus"] integerValue]; NSString *so = [order objectForKey:@"so#"]; __weak typeof(self) weakself = self; [RANetwork request_open_order:orderCode completionHandler:^(NSMutableDictionary *result) { NSDictionary* order_json = result ; if([[order_json valueForKey:@"result"] intValue]==2) { AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; appDelegate.order_code = orderCode; appDelegate.order_status = (int)orderStatus; [appDelegate SetSo:so]; __weak MainViewController *mainVC = (MainViewController*)appDelegate.main_vc; #ifdef RA_NOTIFICATION [ActiveViewController Notify:@"CartViewController,OrderListViewController,ContactListViewController" Message:RA_NOTIFICATION_RELOAD_DATA]; #else [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; [((MainViewController*)appDelegate.main_vc) reloadCart:true immediately:false]; [((MainViewController*)appDelegate.main_vc) reloadContact:true immediately:false]; #endif [((MainViewController*)appDelegate.main_vc) switchToCart]; mainVC.cartViewController.onFinishLoad=^{ [mainVC.cartViewController placeOrder]; mainVC.cartViewController.onFinishLoad=nil; }; } else { [RAUtils message_alert:[order_json valueForKey:@"err_msg"] title:@"Open Order" controller:weakself] ; } }]; // dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{ // // NSDictionary* order_json = [RANetwork open_Order:orderCode]; // // dispatch_async(dispatch_get_main_queue(), ^{ // // if([[order_json valueForKey:@"result"] intValue]==2) // { // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; // appDelegate.order_code = orderCode; // appDelegate.order_status = orderStatus; // [appDelegate SetSo:so]; // // __weak MainViewController *mainVC = (MainViewController*)appDelegate.main_vc; // //#ifdef RA_NOTIFICATION // [ActiveViewController Notify:@"CartViewController,OrderListViewController,ContactListViewController" Message:RA_NOTIFICATION_RELOAD_DATA]; //#else // // // [((MainViewController*)appDelegate.main_vc) reloadOrder:true immediately:false]; // [((MainViewController*)appDelegate.main_vc) reloadCart:true immediately:false]; // [((MainViewController*)appDelegate.main_vc) reloadContact:true immediately:false]; //#endif // // [((MainViewController*)appDelegate.main_vc) switchToCart]; // // mainVC.cartViewController.onFinishLoad=^{ // [mainVC.cartViewController placeOrder]; // mainVC.cartViewController.onFinishLoad=nil; // }; // // } // else // { // [RAUtils message_alert:[order_json valueForKey:@"err_msg"] title:@"Open Order" controller:weakself] ; // } // // // // }); // }); } #pragma mark - notification action - (void)changePriceType:(id)notification { [self ReloadData]; } - (void)lockOrderListNotification:(NSNotification *)notification { if ([notification.name isEqual:Lock_Permission_Notification]) { if (self.orderType == 1) { self.orderTypeSegmentControl.selectedSegmentIndex = 0; // [self changeOrderType:0]; [self.orderTypeSegmentControl sendActionsForControlEvents:UIControlEventValueChanged]; } if(self.orderTypeSegmentControl.numberOfSegments > 1) { [self.orderTypeSegmentControl removeSegmentAtIndex:1 animated:YES]; // [self changeOrderType:0]; } } else { // 解锁 if ([RASingleton sharedInstance].customer_can_see_sales_Order) { // 有查看Sales order 权限 if (self.orderTypeSegmentControl.numberOfSegments == 1 && !self.table_order.isEditing) { [self.orderTypeSegmentControl insertSegmentWithTitle:[NSString stringWithFormat:@"Purchase Order to %@",COMPANY_SHORT_NAME] atIndex:1 animated:YES]; } } } } - (void)handleUserLogin:(NSNotification *)notification { AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; self.orderType = 0; if (self.table_order.isEditing) { [self.table_order setEditing:NO animated:YES]; self.editOrderListButton.image = [UIImage imageNamed:@"Combinegray"]; } if (appDelegate.user_type == USER_ROLE_CUSTOMER && appDelegate.customer_type == CustomerTypeStore) { self.orderTypeSegmentControl.selectedSegmentIndex = 0; [RASingleton sharedInstance].customer_order_type = 0; } } - (void)reRefreshView { [self.table_order reloadData]; } #pragma mark - RA_NOTIFICAITON -(void) refresh_ui { [self.table_order reloadData]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; if(appDelegate.can_create_order) { [self.btn_newOrder setImage:[UIImage imageNamed:@"neworder"]]; self.btn_newOrder.enabled = true; } else { [self.btn_newOrder setImage:nil]; self.btn_newOrder.enabled = false; } } -(void) reload_data { self.reset_result=true; self.norefresh=true; [self loadpage]; AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate]; if(appDelegate.can_create_order) { [self.btn_newOrder setImage:[UIImage imageNamed:@"neworder"]]; self.btn_newOrder.enabled = true; } else { [self.btn_newOrder setImage:nil]; self.btn_newOrder.enabled = false; } } -(void) refresh_price { [self refresh_ui]; } @end