|
|
@@ -0,0 +1,849 @@
|
|
|
+//
|
|
|
+// DocumentListViewController.m
|
|
|
+// Granite Expo eSign
|
|
|
+//
|
|
|
+// Created by Ray on 12/28/16.
|
|
|
+// Copyright © 2016 United Software Applications, Inc. All rights reserved.
|
|
|
+//
|
|
|
+
|
|
|
+#import "DocumentListViewController.h"
|
|
|
+#import "ACNetwork.h"
|
|
|
+#import "DocListTableViewCell.h"
|
|
|
+#import "RAUtils.h"
|
|
|
+#import "GEContractFilterViewController.h"
|
|
|
+#import "PDFViewController.h"
|
|
|
+#import "AppDelegate.h"
|
|
|
+
|
|
|
+
|
|
|
+@interface DocumentListViewController ()
|
|
|
+
|
|
|
+
|
|
|
+@property (nonatomic,strong) NSOperationQueue *dataOperationQueue;
|
|
|
+
|
|
|
+@end
|
|
|
+
|
|
|
+@implementation DocumentListViewController
|
|
|
+- (NSOperationQueue *)dataOperationQueue {
|
|
|
+ if (!_dataOperationQueue) {
|
|
|
+ _dataOperationQueue = [[NSOperationQueue alloc] init];
|
|
|
+ _dataOperationQueue.maxConcurrentOperationCount = 1;
|
|
|
+ }
|
|
|
+ return _dataOperationQueue;
|
|
|
+}
|
|
|
+- (void)viewDidLoad {
|
|
|
+ [super viewDidLoad];
|
|
|
+
|
|
|
+ self.offset = 0;
|
|
|
+ self.limit = 20;
|
|
|
+
|
|
|
+ self.table_data = [[NSMutableArray alloc] init];
|
|
|
+
|
|
|
+ self.filterparams = [[NSMutableDictionary alloc]init];
|
|
|
+
|
|
|
+ self.label_net_err.layer.borderColor = [UIColor darkGrayColor].CGColor;
|
|
|
+ self.label_net_err.layer.borderWidth = 2.0;
|
|
|
+ self.label_net_err.layer.cornerRadius=15;
|
|
|
+ self.label_net_err.layer.masksToBounds=true;
|
|
|
+
|
|
|
+
|
|
|
+ UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(refresh_btn_click:)];
|
|
|
+
|
|
|
+ [self.label_net_err addGestureRecognizer:tap];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ UIRefreshControl *ref = [[UIRefreshControl alloc]init];
|
|
|
+ ref.tag = 201 ;
|
|
|
+ ref.attributedTitle = [[NSAttributedString alloc]initWithString:@"Pull to refresh"];
|
|
|
+ ref.tintColor = [UIColor colorWithRed:0.10 green:0.68 blue:0.94 alpha:0.7];
|
|
|
+ // ref.hidden = true;
|
|
|
+ [ref addTarget:self action:@selector(manually_refresh) forControlEvents:UIControlEventValueChanged];
|
|
|
+ [self.tableView addSubview:ref];
|
|
|
+
|
|
|
+// NSMutableArray * arr = [[NSMutableArray alloc] init];
|
|
|
+// for(int i=0;i<100;i++)
|
|
|
+// {
|
|
|
+// [arr addObject:[NSNumber numberWithInt:i]];
|
|
|
+// }
|
|
|
+// NSMutableDictionary* dict = [[NSMutableDictionary alloc] init];
|
|
|
+// dict[@"arr"] = arr;
|
|
|
+// DebugLog([RAUtils dict2string:dict]);
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ [self loadpage];
|
|
|
+ // Do any additional setup after loading the view.
|
|
|
+}
|
|
|
+
|
|
|
+- (void)didReceiveMemoryWarning {
|
|
|
+ [super didReceiveMemoryWarning];
|
|
|
+ // Dispose of any resources that can be recreated.
|
|
|
+}
|
|
|
+- (IBAction)onFilterClick:(id)sender {
|
|
|
+
|
|
|
+
|
|
|
+ GEContractFilterViewController * filterVC =[ self.storyboard instantiateViewControllerWithIdentifier:@"GEContractFilterViewController"];
|
|
|
+ filterVC.filterparams = self.filterparams;
|
|
|
+
|
|
|
+ filterVC.OnSearch = ^(NSMutableDictionary* params)
|
|
|
+ {
|
|
|
+ // [self reload_container_getdata:true];
|
|
|
+ self.reset_result=true;
|
|
|
+ // self.norefresh=true;
|
|
|
+ [self loadpage];
|
|
|
+ };
|
|
|
+
|
|
|
+ UINavigationController* navi = [[UINavigationController alloc] initWithRootViewController:filterVC] ;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ navi.modalPresentationStyle = UIModalTransitionStyleCrossDissolve;//有三种状态,自己看看是哪种
|
|
|
+ [self presentViewController:navi animated:YES completion:^{
|
|
|
+
|
|
|
+ // navi.view.superview.bounds = CGRectMake(0, 0, 480, 320);
|
|
|
+
|
|
|
+ DebugLog(@"filter present.........");
|
|
|
+
|
|
|
+ // self.btop = false;
|
|
|
+ // <#code#>
|
|
|
+ }];
|
|
|
+}
|
|
|
+
|
|
|
+-(void) previewPDF:(NSString*)url
|
|
|
+{
|
|
|
+ NSString* name=@"";//[self.content_data[indexPath.row] valueForKey:@"tear_name"];
|
|
|
+// NSString* url= file;//[self.content_data[indexPath.row] valueForKey:@"pdf_path"];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ bool isLocalFile= false;//[self.content_data[indexPath.row] valueForKey:@"isLocalFile"];
|
|
|
+
|
|
|
+ PDFViewController *ViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PDFViewController"];
|
|
|
+ ViewController.url = url;
|
|
|
+ ViewController.canSave = false;
|
|
|
+ ViewController.isLocalfile=isLocalFile;
|
|
|
+ ViewController.defaultStyle = true;
|
|
|
+ NSString* subject;
|
|
|
+ // if (company.length==0) {
|
|
|
+
|
|
|
+ NSString* cur_time =[RAUtils current_date];
|
|
|
+ subject =name;//[NSString stringWithFormat:@"NPD Product List %@",cur_time];
|
|
|
+
|
|
|
+ AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
|
|
|
+ // NSString* customer_email= [appDelegate.customerInfo valueForKey:@"customer_email"];
|
|
|
+
|
|
|
+
|
|
|
+ NSMutableArray* send_to = [[NSMutableArray alloc]init];
|
|
|
+ // if(customer_email.length>0)
|
|
|
+ // {
|
|
|
+ // send_to=[[customer_email componentsSeparatedByString:NSLocalizedString(@";", nil)] mutableCopy];
|
|
|
+ // // customer_email compo
|
|
|
+ // // [send_to addObject:customer_email];
|
|
|
+ // }
|
|
|
+ ViewController.mail_to = send_to;
|
|
|
+
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // subject = [NSString stringWithFormat:@"Tear sheet for %@",company ];
|
|
|
+ // }
|
|
|
+// ViewController.attachment_name = [NSString stringWithFormat:@"NPD_Product_List %@.pdf",cur_time];
|
|
|
+ ViewController.mail_subject = subject;
|
|
|
+
|
|
|
+ ViewController.hidenavi = false;
|
|
|
+ [self.navigationController pushViewController:ViewController animated:YES];
|
|
|
+}
|
|
|
+
|
|
|
+#pragma mark - OperationQueue request page data
|
|
|
+-(void) loadpage
|
|
|
+{
|
|
|
+ __weak typeof(self) weakself = self;
|
|
|
+ NSBlockOperation *operation = [NSBlockOperation blockOperationWithBlock:^{
|
|
|
+
|
|
|
+ if (weakself) {
|
|
|
+ __strong typeof(weakself) strongself = weakself;
|
|
|
+ [strongself operation_loadPage];
|
|
|
+ }
|
|
|
+
|
|
|
+ }];
|
|
|
+
|
|
|
+ [self.dataOperationQueue addOperation:operation];
|
|
|
+
|
|
|
+}
|
|
|
+- (void)loadmore
|
|
|
+{
|
|
|
+ // self.btnrefresh.enabled = NO;
|
|
|
+ // self.btnrefresh.titleLabel.text =NSLocalizedString(@"loading",nil);
|
|
|
+
|
|
|
+ // [self.btnrefresh setTitle:@"Loading..." forState:UIControlStateNormal];
|
|
|
+ [self loadpage];
|
|
|
+}
|
|
|
+-(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=self.searchbar.text;
|
|
|
+// // self.offset = 0;
|
|
|
+ self.reset_result=true;
|
|
|
+ // [self.content_data removeAllObjects];
|
|
|
+ // [self.table_order reloadData];
|
|
|
+
|
|
|
+
|
|
|
+ [self loadpage];
|
|
|
+
|
|
|
+ // [self loadpage];
|
|
|
+
|
|
|
+}
|
|
|
+-(void)refresh_btn_click:(UILongPressGestureRecognizer*)gestureRecognizer
|
|
|
+{
|
|
|
+// [self reload_container_getdata:true];
|
|
|
+ self.reset_result=true;
|
|
|
+// self.norefresh=true;
|
|
|
+ [self loadpage];
|
|
|
+}
|
|
|
+- (void)operation_loadPage {
|
|
|
+
|
|
|
+ if (self.dataOperationQueue.operationCount > 1) { // 队列后面还有操作
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ dispatch_sync(dispatch_get_main_queue(), ^{
|
|
|
+
|
|
|
+ //在主线程处理界面逻辑
|
|
|
+
|
|
|
+ if(self.reset_result)
|
|
|
+ {
|
|
|
+ self.offset = 0;
|
|
|
+ //[self.filterparams removeAllObjects];
|
|
|
+ [self.table_data removeAllObjects];
|
|
|
+ [self.tableView reloadData];
|
|
|
+ }
|
|
|
+//
|
|
|
+// // NSMutableArray* arr_status = [[NSMutableArray alloc] init];
|
|
|
+//
|
|
|
+// NSMutableArray* arr_statusname = [[NSMutableArray alloc] init];
|
|
|
+// int count = [[self.status_cadedate valueForKey:@"count"] intValue];
|
|
|
+// for(int i=0;i<count;i++)
|
|
|
+// {
|
|
|
+// NSDictionary* val_json =[self.status_cadedate objectForKey:[NSString stringWithFormat:@"val_%d",i]];
|
|
|
+// int check = [[val_json valueForKey:@"check"] intValue];
|
|
|
+// if(check==1)
|
|
|
+// {
|
|
|
+// // [arr_status addObject:[NSString stringWithFormat:@"%@",[val_json valueForKey:@"value_id"]]];
|
|
|
+// [arr_statusname addObject:[NSString stringWithFormat:@"%@",[val_json valueForKey:@"value"]]];
|
|
|
+//
|
|
|
+// // break;
|
|
|
+// }
|
|
|
+// }
|
|
|
+//
|
|
|
+// // NSString * str_status = [arr_status componentsJoinedByString:@","];
|
|
|
+// NSString * str_statusname = [arr_statusname componentsJoinedByString:@","];
|
|
|
+// if(str_statusname.length==0)
|
|
|
+// str_statusname = @"All";
|
|
|
+// self.label_filter.text = str_statusname;
|
|
|
+// if(self.offset==0)
|
|
|
+// {
|
|
|
+// self.table_order.hidden = true;
|
|
|
+//
|
|
|
+ self.mum.center = self.view.center;
|
|
|
+
|
|
|
+ self.mum.hidden = false;
|
|
|
+ [self.mum startAnimating];
|
|
|
+// }
|
|
|
+ self.label_net_err.hidden=true;
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+
|
|
|
+ NSMutableDictionary* content=nil;
|
|
|
+
|
|
|
+ // NSMutableDictionary* params = [[NSMutableDictionary alloc]init];
|
|
|
+
|
|
|
+ self.filterparams[@"offset"] = [NSNumber numberWithLong:self.offset];
|
|
|
+
|
|
|
+
|
|
|
+ // self.filterparams = params;
|
|
|
+ content=[[ACNetwork request_DocList:self.filterparams]mutableCopy];
|
|
|
+
|
|
|
+
|
|
|
+ dispatch_sync(dispatch_get_main_queue(), ^{
|
|
|
+
|
|
|
+
|
|
|
+ //在主线程处理界请求结果
|
|
|
+
|
|
|
+
|
|
|
+ [self.mum stopAnimating];
|
|
|
+// self.isrefreshing=false;
|
|
|
+ if (self.dataOperationQueue.operationCount > 1) { // 队列后面还有操作
|
|
|
+ return ;
|
|
|
+ }
|
|
|
+ int result=[[content valueForKey:@"result"] intValue];
|
|
|
+
|
|
|
+ if(result==2||result==0)
|
|
|
+ {
|
|
|
+
|
|
|
+
|
|
|
+ NSArray * arrlist = content[@"list"];
|
|
|
+ long count = arrlist.count ;
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ self.offset += count;
|
|
|
+ [self.table_data addObjectsFromArray:arrlist];
|
|
|
+// for(int i=0;i<count;i++)
|
|
|
+// {
|
|
|
+//
|
|
|
+// NSDictionary* objmsg = [content objectForKey:[NSString stringWithFormat:@"item_%d",i]];
|
|
|
+//
|
|
|
+// table_data
|
|
|
+//
|
|
|
+// [self.content_data addObject:[NSMutableDictionary dictionaryWithDictionary:objmsg]];
|
|
|
+//
|
|
|
+// }
|
|
|
+ if(count<self.limit)
|
|
|
+ {
|
|
|
+
|
|
|
+ // int i =self.btnrefresh.state;
|
|
|
+ self.load_more_hint=@"All loaded";
|
|
|
+ // self.btnrefresh.titleLabel.text =NSLocalizedString(@"no_more", nil);
|
|
|
+ // [self.btnrefresh setTitle:@"No more" forState:UIControlStateNormal];
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ self.load_more_hint=@"Load more...";
|
|
|
+ // self.btnrefresh.enabled = true;
|
|
|
+ // self.btnrefresh.titleLabel.text =NSLocalizedString(@"load_more",nil);
|
|
|
+ // [self.btnrefresh setTitle:@"Load more" forState:UIControlStateNormal];
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ self.tableView.hidden = false;
|
|
|
+ self.reset_result=false;
|
|
|
+ [self.tableView reloadData ];
|
|
|
+ }
|
|
|
+ else if(result==RESULT_NET_ERROR &&self.offset==0)
|
|
|
+ {
|
|
|
+ self.label_net_err.hidden=false;
|
|
|
+ self.tableView.hidden = true;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ [RAUtils message_alert:[content valueForKey:@"err_msg"] title:@"Loading Document List" controller:self] ;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ // NSUserDefaults *defaults =[NSUserDefaults standardUserDefaults];
|
|
|
+ // bool autologin =[defaults boolForKey:@"autologin"];
|
|
|
+ // if(!autologin)
|
|
|
+ // {
|
|
|
+ // TabBarController * viewController =[self.storyboard instantiateViewControllerWithIdentifier:@"LoginTabBar"];
|
|
|
+ // [self presentViewController:viewController animated:YES completion:^{
|
|
|
+ //
|
|
|
+ // }];
|
|
|
+ // }
|
|
|
+
|
|
|
+
|
|
|
+ });
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+/*
|
|
|
+#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 - Table view data source
|
|
|
+- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
|
|
|
+{
|
|
|
+
|
|
|
+ if(indexPath.row<self.table_data.count)
|
|
|
+ return 128;
|
|
|
+ else
|
|
|
+ return 44;
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+
|
|
|
+//- (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
|
|
|
+{
|
|
|
+
|
|
|
+ NSString* value =nil;//[DefaultAppearance get_noneappearance_value:@"DefaultTableHeaderView" valuename:@"title_text_color"];
|
|
|
+
|
|
|
+ if(value==nil)
|
|
|
+ value=@"";
|
|
|
+ unsigned long color = strtoul([value UTF8String],0,16);
|
|
|
+
|
|
|
+ UIView* myView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, tableView.bounds.size.width, 0.0001)];
|
|
|
+ myView.backgroundColor = UIColorFromRGB(0xf7f7f7);
|
|
|
+ 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, 2, 130, 22)];
|
|
|
+ statuslabel.textColor=UIColorFromRGB(color);
|
|
|
+ statuslabel.backgroundColor = [UIColor clearColor];
|
|
|
+ statuslabel.text=NSLocalizedString(@"Document #", 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(@"Address", nil);
|
|
|
+ [solabel sizeToFit];
|
|
|
+ [myView addSubview:solabel];
|
|
|
+
|
|
|
+ UILabel *userlabel = [[UILabel alloc] initWithFrame:CGRectMake(155, 11, 135, 22)];
|
|
|
+ userlabel.textColor=UIColorFromRGB(color);
|
|
|
+ userlabel.backgroundColor = [UIColor clearColor];
|
|
|
+ userlabel.text=NSLocalizedString(@"Customer", nil);
|
|
|
+ [userlabel sizeToFit];
|
|
|
+ [myView addSubview:userlabel];
|
|
|
+
|
|
|
+// UILabel *creatorlabel = [[UILabel alloc] initWithFrame:CGRectMake(155, 21, 135, 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(300, 11, 150, 22)];
|
|
|
+
|
|
|
+ contactlabel.textColor=UIColorFromRGB(color);
|
|
|
+ contactlabel.backgroundColor = [UIColor clearColor];
|
|
|
+ contactlabel.text=NSLocalizedString(@"Job Date", 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];
|
|
|
+
|
|
|
+ UILabel *pricelabel = [[UILabel alloc] initWithFrame:CGRectMake(/*492*/self.tableView.frame.size.width-276, 11, 100, 22)];
|
|
|
+ pricelabel.autoresizingMask=UIViewAutoresizingFlexibleLeftMargin;
|
|
|
+ pricelabel.textColor=UIColorFromRGB(color);
|
|
|
+ pricelabel.backgroundColor = [UIColor clearColor];
|
|
|
+ pricelabel.text=NSLocalizedString(@"Agent Name", nil);
|
|
|
+ [pricelabel sizeToFit];
|
|
|
+ [myView addSubview:pricelabel];
|
|
|
+
|
|
|
+ UILabel *timelabel = [[UILabel alloc] initWithFrame:CGRectMake(self.tableView.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=@"Sign Date";
|
|
|
+// 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;
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+//- (UIView *) tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
|
|
|
+//{
|
|
|
+//
|
|
|
+//
|
|
|
+// 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.masksToBounds = false;
|
|
|
+// //添加四个边阴影
|
|
|
+//
|
|
|
+// myView.layer.shadowColor = [UIColor blackColor].CGColor;
|
|
|
+// myView.layer.shadowOffset = CGSizeMake(0, 0);
|
|
|
+// myView.layer.shadowOpacity = 0.5;
|
|
|
+// myView.layer.shadowRadius = 2.0;
|
|
|
+//
|
|
|
+//
|
|
|
+// NSString*labeltitle = nil;
|
|
|
+// switch (section) {
|
|
|
+// case 0:
|
|
|
+// labeltitle= @"Order Info";
|
|
|
+// break;
|
|
|
+// case 1:
|
|
|
+// {
|
|
|
+// labeltitle= @"More Info";
|
|
|
+//
|
|
|
+// NSString* btntitle=nil ;
|
|
|
+// if(self.showMore)
|
|
|
+// {
|
|
|
+// btntitle=@"Hide";
|
|
|
+// // [section setValue:@"false" forKey:@"hide"];
|
|
|
+// // [sender setTitle:@"Show" forState:UIControlStateNormal];
|
|
|
+// }
|
|
|
+// else{
|
|
|
+// btntitle=@"Show";
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// UIButton * btn =[[UIButton alloc] initWithFrame:CGRectMake(tableView.bounds.size.width-50-15, 0, 50, 33)];
|
|
|
+// btn.tag=section;
|
|
|
+// [btn addTarget:self action:@selector(HideSction:) forControlEvents:UIControlEventTouchUpInside];
|
|
|
+// [btn setTitle:btntitle forState:UIControlStateNormal];
|
|
|
+// [myView addSubview:btn];
|
|
|
+//
|
|
|
+// }
|
|
|
+// break;
|
|
|
+// case 2:{
|
|
|
+// labeltitle= @"Models";
|
|
|
+//
|
|
|
+// NSString* btntitle=nil ;
|
|
|
+// if(self.showModels)
|
|
|
+// {
|
|
|
+// btntitle=@"Hide";
|
|
|
+// }
|
|
|
+// else{
|
|
|
+// btntitle=@"Show";
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+// UIButton * btn =[[UIButton alloc] initWithFrame:CGRectMake(tableView.bounds.size.width-50-15, 0, 50, 33)];
|
|
|
+// btn.tag=section;
|
|
|
+//
|
|
|
+// [btn addTarget:self action:@selector(HideSction:) forControlEvents:UIControlEventTouchUpInside];
|
|
|
+//
|
|
|
+// [btn setTitle:btntitle forState:UIControlStateNormal];
|
|
|
+// [myView addSubview:btn];
|
|
|
+//
|
|
|
+// }
|
|
|
+// break;
|
|
|
+// case 3:
|
|
|
+// labeltitle= @"Price Info";
|
|
|
+// default:
|
|
|
+// break;
|
|
|
+// }
|
|
|
+//
|
|
|
+//
|
|
|
+//
|
|
|
+// UILabel *titlelabel = [[UILabel alloc] initWithFrame:CGRectMake(15, 5.5, 200, 20)];
|
|
|
+// titlelabel.textColor=UIColorFromRGB(color);;
|
|
|
+// titlelabel.backgroundColor = [UIColor clearColor];
|
|
|
+// titlelabel.text=NSLocalizedString(labeltitle, nil);
|
|
|
+// [titlelabel sizeToFit];
|
|
|
+// [myView addSubview:titlelabel];
|
|
|
+//
|
|
|
+// //
|
|
|
+// return myView;
|
|
|
+//}
|
|
|
+
|
|
|
+//- (NSString *)tableView:(UITableView *)tableView titleForHeaderInSection:(NSInteger)section {
|
|
|
+//
|
|
|
+// return [NSString stringWithFormat:@"Signature%ld",(long)section+1];
|
|
|
+//
|
|
|
+//}
|
|
|
+- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
|
|
|
+{
|
|
|
+ return 1;
|
|
|
+}
|
|
|
+- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
|
|
|
+{
|
|
|
+ return 44;
|
|
|
+}
|
|
|
+
|
|
|
+- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
|
|
|
+{
|
|
|
+
|
|
|
+ if( self.table_data.count==0)
|
|
|
+ return 0;
|
|
|
+ return self.table_data.count+1;
|
|
|
+}
|
|
|
+
|
|
|
+- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
|
|
|
+{
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ if(indexPath.row==self.table_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.tableView.bounds.size.width, 20);
|
|
|
+ [moreDataLabel setBackgroundColor:[UIColor clearColor]];
|
|
|
+ // [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 = @"DocListTableViewCell";
|
|
|
+ DocListTableViewCell * cell= [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
|
|
|
+ NSDictionary * item_json = self.table_data[indexPath.row];
|
|
|
+
|
|
|
+ cell.labelAgent.text = item_json[@"agent_name"];
|
|
|
+ NSString* sss =item_json[@"doc_number"];
|
|
|
+
|
|
|
+
|
|
|
+ // if(sss.length==0)
|
|
|
+ // sss=@"";
|
|
|
+ cell.labelDocID.text = item_json[@"doc_number"];//
|
|
|
+ cell.labelExtInfo.text =item_json[@"address"];
|
|
|
+ cell.labelJobDate.text =item_json[@"job_date"];
|
|
|
+ cell.labelCustomer.text =item_json[@"customer_name"];
|
|
|
+ cell.labelSignDate.text =item_json[@"signed_date"];
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ return cell;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ // if(tableView==self.itemListTable)
|
|
|
+ // {
|
|
|
+ // NSString *CellIdentifier = @"CartItemCell";
|
|
|
+ // ModelItemCell * cell= [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
|
|
|
+ // NSDictionary * item_json = [self.content_data objectForKey:[NSString stringWithFormat:@"item_%ld",(long)indexPath.row]];
|
|
|
+ // NSDictionary * combine_json =[item_json objectForKey:@"combine"];
|
|
|
+ //
|
|
|
+ // cell.bundle_item=combine_json;
|
|
|
+ // NSString* img_url = [item_json valueForKey:@"img_url"];
|
|
|
+ // NSString* description = [item_json valueForKey:@"description"];
|
|
|
+ // // NSString* identifier = [item_json valueForKey:@"identifier"];
|
|
|
+ // // NSString* attribute = [item_json valueForKey:@"attribute"];
|
|
|
+ // NSString* currency = [item_json valueForKey:@"currency"];
|
|
|
+ // int count =[[item_json valueForKey:@"count"] intValue];
|
|
|
+ //
|
|
|
+ // int stockUom =[[item_json valueForKey:@"stockUom"] intValue];
|
|
|
+ //
|
|
|
+ // double totalprice =[[item_json valueForKey:@"subtotal_price"] doubleValue];
|
|
|
+ //
|
|
|
+ // double unitprice=[[item_json valueForKey:@"unit_price"] doubleValue];
|
|
|
+ // cell.unit_price = unitprice;
|
|
|
+ // // cell.labelAttribute.text = attribute;
|
|
|
+ // // cell.labelCurrency.text = currency;
|
|
|
+ // cell.labelDescription.text = description;
|
|
|
+ // // cell.labelIdentifier.text = identifier;
|
|
|
+ // cell.labelPrice.text = [NSString stringWithFormat:@"%.2f",totalprice];
|
|
|
+ //
|
|
|
+ // cell.labelUnitPrice.text = [NSString stringWithFormat:@"%.2f",unitprice];
|
|
|
+ //
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // NSString* cart_item_id= [item_json valueForKey:@"cart_item_id"];
|
|
|
+ // cell.cart_id = cart_item_id;
|
|
|
+ // [cell init_Stepper:stockUom max:9999 min:stockUom value:count];
|
|
|
+ //
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // [cell set_Count:count];
|
|
|
+ //
|
|
|
+ // NSString* file_name=[img_url lastPathComponent];
|
|
|
+ // NSData* img_data=[iSalesDB load_cached_img:file_name loadFrom:img_url];
|
|
|
+ // if(img_data!=nil)
|
|
|
+ // {
|
|
|
+ //
|
|
|
+ // UIImage * img =[UIImage imageWithData:img_data];
|
|
|
+ // [cell.btnImage setBackgroundImage:img forState:UIControlStateNormal];
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ //
|
|
|
+ // dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
|
|
|
+ //
|
|
|
+ // NSData* downloadimg_data = [NSData dataWithContentsOfURL:[NSURL URLWithString:img_url]];
|
|
|
+ //
|
|
|
+ // dispatch_async(dispatch_get_main_queue(), ^{
|
|
|
+ //
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // if(downloadimg_data!=nil)
|
|
|
+ // {
|
|
|
+ // [iSalesDB cache_img:downloadimg_data :file_name ];
|
|
|
+ //
|
|
|
+ // UIImage * img =[UIImage imageWithData:downloadimg_data];
|
|
|
+ // [cell.btnImage setBackgroundImage:img forState:UIControlStateNormal];
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // });
|
|
|
+ // });
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // }
|
|
|
+ // return cell;
|
|
|
+ // }
|
|
|
+ // else
|
|
|
+ // {
|
|
|
+ // NSString *CellIdentifier = @"OrderInfoListItem";
|
|
|
+ // UITableViewCell * cell= [tableView dequeueReusableCellWithIdentifier:CellIdentifier forIndexPath:indexPath];
|
|
|
+ // return cell;
|
|
|
+ // }
|
|
|
+}
|
|
|
+#pragma mark tableview delegate
|
|
|
+- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
|
|
|
+{
|
|
|
+
|
|
|
+
|
|
|
+ NSDictionary * item_json = self.table_data[indexPath.row];
|
|
|
+
|
|
|
+ NSString* pdf_url = item_json[@"pdf_path1"];
|
|
|
+
|
|
|
+ [self previewPDF:pdf_url];
|
|
|
+
|
|
|
+// if(self.blk_Select)
|
|
|
+// {
|
|
|
+//
|
|
|
+// // SignatureTableViewCell * cell= [tableView cellForRowAtIndexPath:indexPath];
|
|
|
+//
|
|
|
+// NSDictionary * item_json = self.signatureData[[NSString stringWithFormat:@"item_%ld",(long)indexPath.section]];
|
|
|
+//
|
|
|
+// // UIImage* img = [UIImage imageWithContentsOfFile:item_json[@"file"]];
|
|
|
+//
|
|
|
+//
|
|
|
+// self.blk_Select(item_json[@"file"]);
|
|
|
+//
|
|
|
+// }
|
|
|
+//
|
|
|
+// [self dismissViewControllerAnimated:false completion:nil];
|
|
|
+
|
|
|
+ // if (tableView.isEditing) { // 编辑模式下不响应
|
|
|
+ // return;
|
|
|
+ // }
|
|
|
+ // //
|
|
|
+ // if(indexPath.row==self.content_data.count)
|
|
|
+ // return;
|
|
|
+ // AppDelegate *appDelegate = (AppDelegate*)[[UIApplication sharedApplication] delegate];
|
|
|
+ //
|
|
|
+ // if(appDelegate.user_type==USER_ROLE_CUSTOMER) { // Customer
|
|
|
+ // if ([Singleton sharedInstance].global_lock) { // Order list 被锁
|
|
|
+ // [RAUtils message_alert:@"App is locked,You can't view the order Detail" title:@"Warning" controller:self];
|
|
|
+ // return;
|
|
|
+ // }
|
|
|
+ // }
|
|
|
+ //
|
|
|
+ // NSString* orderid= [self.content_data[indexPath.row] valueForKey:@"order_id"];
|
|
|
+ // OrderDetailViewController* dvc = [self.storyboard instantiateViewControllerWithIdentifier:@"OrderDetailViewController" ];
|
|
|
+ //
|
|
|
+ // // int i =[[self.content_data[indexPath.row] valueForKey:@"order_code"];
|
|
|
+ // dvc.selectOrder=^(NSMutableDictionary* order_detail){
|
|
|
+ //
|
|
|
+ // [self.navigationController popViewControllerAnimated:false];
|
|
|
+ // if(self.selectOrder)
|
|
|
+ // self.selectOrder(order_detail);
|
|
|
+ //
|
|
|
+ //
|
|
|
+ //
|
|
|
+ // };
|
|
|
+ // NSString* order_code =[self.content_data[indexPath.row] valueForKey:@"order_code"];
|
|
|
+ //
|
|
|
+ // dvc.is_shoporder=(self.orderType == 0);
|
|
|
+ // dvc.order_code = order_code;
|
|
|
+ // dvc.order_status =[[self.content_data[indexPath.row] valueForKey:@"orderStatus"] intValue];
|
|
|
+ // // bool temp_order = false ;
|
|
|
+ // // NSString* order_status=[self.content_data[indexPath.row] valueForKey:@"order_status"];
|
|
|
+ // // if([order_status isEqualToString:@"Saved"]||[order_status isEqualToString:@"Quoted"])
|
|
|
+ // // temp_order=true;
|
|
|
+ // //
|
|
|
+ // // dvc.isTempOrder = temp_order;
|
|
|
+ //
|
|
|
+ // // dvc
|
|
|
+ //
|
|
|
+ // dvc.orderid=orderid;
|
|
|
+ // // dvc.category_id=nil;
|
|
|
+ // // dvc.ispush=true;
|
|
|
+ // // [dvc reload];
|
|
|
+ // [self.navigationController pushViewController:dvc animated:true];
|
|
|
+
|
|
|
+
|
|
|
+}
|
|
|
+@end
|