//
//  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(350, 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-300, 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-113/*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* job_addr =item_json[@"job_addr"];
        NSString* job_city =item_json[@"job_city"];
        NSString* job_state =item_json[@"job_state"];
        NSString* job_zip =item_json[@"job_zip"];
        NSString* tel =item_json[@"tel"];
        
        if(tel.length>0)
            tel= [@"TEL: " stringByAppendingString:tel];
        
        
        NSMutableArray* arr_ext= [[NSMutableArray alloc] init];
        
        [arr_ext addObject:job_addr];
        [arr_ext addObject:@"\r\n"];
        
        [arr_ext addObject:job_city];
        [arr_ext addObject:job_state];
        [arr_ext addObject:job_zip];
        [arr_ext addObject:@"\r\n"];
        [arr_ext addObject:tel];
        
        NSString *nsext=[RAUtils arr2string:arr_ext separator:@", " trim:true];
        
        
        nsext=[nsext stringByReplacingOccurrencesOfString:@", \r\n," withString:@"\r\n"];
        
        
        //    if(sss.length==0)
        //        sss=@"";
        cell.labelDocID.text = item_json[@"doc_number"];//
        cell.labelExtInfo.text =nsext;
        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
