Bläddra i källkod

1.越疆-修改商机漏斗
2.泽天-签名功能-出货单

huangyp 7 år sedan
förälder
incheckning
7a2e0e4a45

+ 6 - 0
shiku_im/shiku_im.xcodeproj/project.pbxproj

@@ -294,6 +294,7 @@
 		270A9F321F0607F90034BDF6 /* ContactsCell.m in Sources */ = {isa = PBXBuildFile; fileRef = 270A9F311F0607F90034BDF6 /* ContactsCell.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; };
 		270A9F351F063DAB0034BDF6 /* ContactsSearchBarVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 270A9F341F063DAB0034BDF6 /* ContactsSearchBarVC.m */; };
 		270AE6A01FAC4B8D0031DC53 /* UU_serveBook_distance.png in Resources */ = {isa = PBXBuildFile; fileRef = 270AE69F1FAC4B8D0031DC53 /* UU_serveBook_distance.png */; };
+		270BF407225DDAB700B7A668 /* ZeTianSignDetailVC.m in Sources */ = {isa = PBXBuildFile; fileRef = 270BF406225DDAB700B7A668 /* ZeTianSignDetailVC.m */; settings = {COMPILER_FLAGS = "-fobjc-arc"; }; };
 		270D67AD1F7B9FDD006D7709 /* UU_serveBook_bookBtn.png in Resources */ = {isa = PBXBuildFile; fileRef = 270D67AC1F7B9E1A006D7709 /* UU_serveBook_bookBtn.png */; };
 		270D67AE1F7B9FDD006D7709 /* UU_serveBook_starLevel0.png in Resources */ = {isa = PBXBuildFile; fileRef = 270D67AB1F7B9B21006D7709 /* UU_serveBook_starLevel0.png */; };
 		270D67AF1F7B9FDD006D7709 /* UU_serveBook_starLevel1.png in Resources */ = {isa = PBXBuildFile; fileRef = 270D67A71F7B9B20006D7709 /* UU_serveBook_starLevel1.png */; };
@@ -3312,6 +3313,8 @@
 		270A9F331F063DAB0034BDF6 /* ContactsSearchBarVC.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = ContactsSearchBarVC.h; sourceTree = "<group>"; };
 		270A9F341F063DAB0034BDF6 /* ContactsSearchBarVC.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = ContactsSearchBarVC.m; sourceTree = "<group>"; };
 		270AE69F1FAC4B8D0031DC53 /* UU_serveBook_distance.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = UU_serveBook_distance.png; sourceTree = "<group>"; };
+		270BF405225DDAB700B7A668 /* ZeTianSignDetailVC.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = ZeTianSignDetailVC.h; sourceTree = "<group>"; };
+		270BF406225DDAB700B7A668 /* ZeTianSignDetailVC.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = ZeTianSignDetailVC.m; sourceTree = "<group>"; };
 		270D67A61F7B9B1F006D7709 /* UU_serveBook_starLevel4.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = UU_serveBook_starLevel4.png; sourceTree = "<group>"; };
 		270D67A71F7B9B20006D7709 /* UU_serveBook_starLevel1.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = UU_serveBook_starLevel1.png; sourceTree = "<group>"; };
 		270D67A81F7B9B20006D7709 /* UU_serveBook_starLevel5.png */ = {isa = PBXFileReference; lastKnownFileType = image.png; path = UU_serveBook_starLevel5.png; sourceTree = "<group>"; };
@@ -9404,6 +9407,8 @@
 			children = (
 				2749B8AA1DE7DF200019D41B /* DocumentDetailVC.h */,
 				2749B8AB1DE7DF200019D41B /* DocumentDetailVC.m */,
+				270BF405225DDAB700B7A668 /* ZeTianSignDetailVC.h */,
+				270BF406225DDAB700B7A668 /* ZeTianSignDetailVC.m */,
 			);
 			name = "详情页";
 			sourceTree = "<group>";
@@ -18680,6 +18685,7 @@
 				20664D951F4AB63C00DBB573 /* UASGuideController.m in Sources */,
 				4D4FC9FF1DAE2C1E005B68BD /* JONewMeetingTableViewController.m in Sources */,
 				7D0C78C71DC8C12000F0FC72 /* LYJournalModel.m in Sources */,
+				270BF407225DDAB700B7A668 /* ZeTianSignDetailVC.m in Sources */,
 				20AB07541FB5AB85004C535B /* NSString+CJString.m in Sources */,
 				275F2B131D21283F004899BA /* JODYModel.m in Sources */,
 				272BFE291D1B90B200189BC7 /* CRMCell.m in Sources */,

+ 1 - 1
shiku_im/shiku_im/controller/CRMViewController.m

@@ -208,7 +208,7 @@ static NSString *cellID = @"cellID";
     UIBarButtonItem *BBI3 = [[UIBarButtonItem alloc]initWithCustomView:btn4];
     
     if ([g_server.myself.userNickname isEqualToString:@"黄耀鹏"]) {
-        self.navigationItem.rightBarButtonItems = @[BBI1,BBI2,BBI3];
+        self.navigationItem.rightBarButtonItems = @[BBI2];
     }else{
 //        self.navigationItem.rightBarButtonItems = @[BBI1];
     }

+ 57 - 22
shiku_im/shiku_im/controller/DocumentListVC.m

@@ -15,6 +15,7 @@
 #import "iflyMSC/IFlyMSC.h"
 #import "IATConfig.h"
 #import "ISRDataHelper.h"
+#import "ZeTianSignDetailVC.h" //泽天出货单
 #import "LYYReimbursementVC.h" //报销单界面
 //#define FONT_SIZE 14.0f
 #define CELL_CONTENT_WIDTH [UIScreen mainScreen].bounds.size.width
@@ -222,6 +223,9 @@ static NSString *cellID = @"cellID";
     {
         url = [NSString stringWithFormat:@"%@mobile/common/list.action?caller=%@&condition=%@&page=%@&pageSize=%@&emcode=%@&currentMaster=%@&sessionId=%@",ip,_caller,FORMAT(@"fp_pleasemancode='%@'",emcode),page,pageSize,emcode,currentMaster,sessionId];
         
+    }else if ([_caller isEqualToString:@"ProdInOut!Sale"])//泽天-出货单
+    {
+        url = [NSString stringWithFormat:@"%@mobile/common/list.action?caller=%@&condition=%@&page=%@&pageSize=%@&emcode=%@&currentMaster=%@&sessionId=%@",ip,_caller,@"pi_invostatuscode='AUDITED'  and  pi_statuscode='POSTED'",page,pageSize,emcode,currentMaster,sessionId];
     }
     else{
         
@@ -507,31 +511,62 @@ static NSString *cellID = @"cellID";
         }
     }else{
         
-        DocumentDetailVC *documentDVC = [[DocumentDetailVC alloc]init];
-        documentDVC.serverId = self.serveId;
-        documentDVC.caller = _caller;
-        documentDVC.dan_id = [_listData[indexPath.row] objectForKey:_keyField];
-        documentDVC.pushOrPop = @"pop";
-        documentDVC.danjuStatus = status;
-        documentDVC.cModel = _cModel;
-        documentDVC.block = ^{
-            //												_increasePageNum = 0;
-            //												[self getDataFromServerWithCondition:_conditions pageSize:0];
-            
-            NSString *str1 = [NSString stringWithFormat:@"%@",[_listData[indexPath.row] objectForKey:_keyField]];
-            for (int i = 0; i<_allDataArr.count; i++) {
-                NSString *str2 = [NSString stringWithFormat:@"%@",[_allDataArr[i] objectForKey:_keyField]];
-                if ([str2 isEqualToString:str1]) {
-                    [_allDataArr removeObjectAtIndex:i];
+        if ([self.caller isEqualToString:@"ProdInOut!Sale"]) { //泽天-出货单跳签名界面
+            ZeTianSignDetailVC *documentDVC = [ZeTianSignDetailVC new];
+            documentDVC.serverId = self.serveId;
+            documentDVC.caller = _caller;
+            documentDVC.dan_id = [_listData[indexPath.row] objectForKey:_keyField];
+            documentDVC.pushOrPop = @"pop";
+            documentDVC.danjuStatus = status;
+//            documentDVC.cModel = _cModel;
+            documentDVC.block = ^{
+                //                                                _increasePageNum = 0;
+                //                                                [self getDataFromServerWithCondition:_conditions pageSize:0];
+                
+                NSString *str1 = [NSString stringWithFormat:@"%@",[_listData[indexPath.row] objectForKey:_keyField]];
+                for (int i = 0; i<_allDataArr.count; i++) {
+                    NSString *str2 = [NSString stringWithFormat:@"%@",[_allDataArr[i] objectForKey:_keyField]];
+                    if ([str2 isEqualToString:str1]) {
+                        [_allDataArr removeObjectAtIndex:i];
+                    }
                 }
-            }
+                
+                [_listData removeObjectAtIndex:indexPath.row];
+                
+                [_tableView reloadData];
+            };
             
-            [_listData removeObjectAtIndex:indexPath.row];
+            [self.navigationController pushViewController:documentDVC animated:YES];
             
-            [_tableView reloadData];
-        };
-        
-        [self.navigationController pushViewController:documentDVC animated:YES];
+            
+        }else{
+            DocumentDetailVC *documentDVC = [[DocumentDetailVC alloc]init];
+            documentDVC.serverId = self.serveId;
+            documentDVC.caller = _caller;
+            documentDVC.dan_id = [_listData[indexPath.row] objectForKey:_keyField];
+            documentDVC.pushOrPop = @"pop";
+            documentDVC.danjuStatus = status;
+            documentDVC.cModel = _cModel;
+            documentDVC.block = ^{
+                //                                                _increasePageNum = 0;
+                //                                                [self getDataFromServerWithCondition:_conditions pageSize:0];
+                
+                NSString *str1 = [NSString stringWithFormat:@"%@",[_listData[indexPath.row] objectForKey:_keyField]];
+                for (int i = 0; i<_allDataArr.count; i++) {
+                    NSString *str2 = [NSString stringWithFormat:@"%@",[_allDataArr[i] objectForKey:_keyField]];
+                    if ([str2 isEqualToString:str1]) {
+                        [_allDataArr removeObjectAtIndex:i];
+                    }
+                }
+                
+                [_listData removeObjectAtIndex:indexPath.row];
+                
+                [_tableView reloadData];
+            };
+            
+            [self.navigationController pushViewController:documentDVC animated:YES];
+        }
+ 
     }
     
     

+ 2 - 0
shiku_im/shiku_im/controller/ShangjiViewController.h

@@ -10,4 +10,6 @@
 
 @interface ShangjiViewController : UIViewController
 
+@property (nonatomic,strong) NSString *funnelType;
+
 @end

+ 19 - 8
shiku_im/shiku_im/controller/ShangjiViewController.m

@@ -57,7 +57,7 @@
     self.view.backgroundColor = BGB_COLOR;
     
     self.navigationController.navigationBar.barTintColor = [UIColor colorWithRed:106/255.0 green:106/255.0 blue:106/255.0 alpha:1.0];
-    _nicheType = @"项目商机";
+    _nicheType = self.funnelType;
     
     rightBtn = [[UIButton alloc] initWithFrame:CGRectMake(10, 0, 70, 30)];
     [rightBtn setTitle:Localized(@"UU_work_CRM_sift") forState:normal];
@@ -107,7 +107,7 @@
     [self buildFormUI]; // 表格
     
     _nicheTitle = [[UILabel alloc]initWithFrame:CGRectMake(0, 0, self_width, 35)];
-    _nicheTitle.text = @"项目商机";
+    _nicheTitle.text = self.funnelType;
     _nicheTitle.textColor = HexColor(@"#139EFE");
     _nicheTitle.font = FONT_SIZE(14);
     _nicheTitle.textAlignment = NSTextAlignmentCenter;
@@ -143,7 +143,14 @@
     NSString *master = [[[NSUserDefaults standardUserDefaults] objectForKey:@"masterDic"]objectForKey:@"ma_user"];
     NSString *sessionUser = [[NSUserDefaults standardUserDefaults] objectForKey:@"erpaccount"];
     
-    NSString *url = [NSString stringWithFormat:@"%@mobile/crm/getBusinessChancebyMonth.action?currentdate=%@&type=%@&sessionId=%@&master=%@&sessionUser=%@",g_id,dateStr,_nicheType,sessionId,master,sessionUser];
+    
+    NSString *uploadType = _nicheType;
+    if ([uploadType isEqualToString:@"公司商机"]) {
+        uploadType = @"";
+    }
+    
+    NSString *url = [NSString stringWithFormat:@"%@mobile/crm/getBusinessChancebyMonth.action?currentdate=%@&type=%@&sessionId=%@&master=%@&sessionUser=%@",g_id,dateStr,uploadType,sessionId,master,sessionUser];
+    
     url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
     
     UASNetworkManager *manager = [UASNetworkManager shareManager];
@@ -170,7 +177,7 @@
         }else{
             for (NSDictionary *dic in responseObject[@"chances"])
             {
-                [_stateCount addObject:FORMAT(@"%@/%@",dic[@"count"],dic[@"amount"])];
+                [_stateCount addObject:[NSString stringWithFormat:@"%@/%@",dic[@"count"],dic[@"amount"]==nil?@"":dic[@"amount"]]];
                 [_statePercent addObject:dic[@"percent"]];
                 [_colorArr addObject:dic[@"color"]];
                 [_stateName addObject:dic[@"currentprocess"]];
@@ -187,7 +194,8 @@
     }];
 }
 
--(void)buildNewFunnelUI //获取数据后的漏斗图
+#pragma mark --- 获取数据后的漏斗图
+-(void)buildNewFunnelUI
 {
     int a = 0;
     for (int i = 0; i<_stateCount.count; i++) {
@@ -253,7 +261,8 @@
     }
 }
 
--(void)buildFunnelUI //默认无数据的漏斗图
+#pragma mark --- 默认无数据的漏斗图
+-(void)buildFunnelUI
 {
     [basefunnelChartView removeFromSuperview];
     [newfunnelChartView removeFromSuperview];
@@ -347,7 +356,8 @@
     }
 }
 
--(void)buildNewFormUI //获取数据后的表格
+#pragma mark --- 获取数据后的表格
+-(void)buildNewFormUI
 {
     [baseformView removeFromSuperview];
     [newformView removeFromSuperview];
@@ -405,7 +415,8 @@
     [self.navigationController pushViewController:shangjiVC animated:YES];
 }
 
--(void)buildFormUI //默认无数据的表格
+#pragma mark --- 默认无数据的表格
+-(void)buildFormUI
 {
     [baseformView removeFromSuperview];
     [newformView removeFromSuperview];

+ 30 - 0
shiku_im/shiku_im/controller/ZeTianSignDetailVC.h

@@ -0,0 +1,30 @@
+//
+//  ZeTianSignDetailVC.h
+//  shiku_im
+//
+//  Created by huangyp-pc on 2019/4/10.
+//
+
+#import "UASBaseVC.h"
+
+NS_ASSUME_NONNULL_BEGIN
+
+@interface ZeTianSignDetailVC : UASBaseVC
+
+@property(nonatomic,copy)NSString *serverId;
+@property (nonatomic,strong) NSString *caller;
+@property(copy,nonatomic)NSString *nameStr;
+@property(copy,nonatomic)NSString *titleStr;
+@property (nonatomic,copy) NSString *dan_id;
+@property (nonatomic,strong) NSString *danjuStatus;
+@property (nonatomic,strong) NSString *pushOrPop; //@"push1221" 这个是从审批知会跳转
+
+@property (nonatomic,copy)void(^scheduleBlock)(void);
+
+@property (nonatomic,copy)void(^block)(void);
+
+//@property (nonatomic,strong) ConfigModel *cModel;
+
+@end
+
+NS_ASSUME_NONNULL_END

+ 512 - 0
shiku_im/shiku_im/controller/ZeTianSignDetailVC.m

@@ -0,0 +1,512 @@
+//
+//  ZeTianSignDetailVC.m
+//  shiku_im
+//
+//  Created by huangyp-pc on 2019/4/10.
+//
+
+#import "ZeTianSignDetailVC.h"
+#import "EmployeeModel.h"
+#import "PopSignatureView.h"
+
+@interface ZeTianSignDetailVC ()<UIScrollViewDelegate,PopSignatureViewDelegate>
+@property (nonatomic,strong) UIScrollView *scrollV;
+@property (strong , nonatomic) NSMutableArray  *letterOfName;
+@property (strong , nonatomic) NSMutableArray *fd_dataArr;
+@end
+
+@implementation ZeTianSignDetailVC
+{
+    MBProgressHUD *HUD;
+    UIView *_firstView;
+    UIView *_secondView;
+    int _height;
+    
+    NSMutableArray *_formconfigs; //第一模块属性的数组
+    NSMutableArray *_formdata; //第一模块全部数据的数组
+    
+    NSMutableArray *_dataArr; //tableview的数组(审批流)
+    
+    UIButton *_upLoadAgain; //重新提交按钮
+    
+}
+
+- (void)viewDidLoad {
+    [super viewDidLoad];
+    self.title = @"详情";
+    self.view.backgroundColor = BGKJ_COLOR;
+}
+
+#pragma mark --- 创建UI
+-(void)createUI
+{
+    NSString * companyName=[[[NSUserDefaults standardUserDefaults] objectForKey:@"masterDic"]objectForKey:@"ma_function"];
+    companyName=[companyName stringByReplacingOccurrencesOfString:@"(" withString:@""];
+    companyName=[companyName stringByReplacingOccurrencesOfString:@")" withString:@""];
+    
+    _scrollV = [[UIScrollView alloc]init];
+    _scrollV.showsHorizontalScrollIndicator = NO;
+    _scrollV.showsVerticalScrollIndicator = NO;
+    _scrollV.scrollsToTop = YES;
+    _scrollV.backgroundColor = BGKJ_COLOR;
+    [self.view addSubview:_scrollV];
+    
+    [_scrollV mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.top.right.equalTo(self.view);
+        make.bottom.equalTo(self.view).offset(-60);
+    }];
+    
+    _upLoadAgain = [UIButton buttonWithType:UIButtonTypeCustom];
+    [_upLoadAgain setTitle:@"签名" forState:UIControlStateNormal];
+    _upLoadAgain.layer.cornerRadius = 5;
+    _upLoadAgain.layer.masksToBounds = YES;
+    [_upLoadAgain setBackgroundColor:HexColor(@"#33A2EE") forState:UIControlStateNormal];
+    [_upLoadAgain setBackgroundColor:HexColor(@"#2D84C0") forState:UIControlStateHighlighted];
+    [_upLoadAgain setTitleColor:HexColor(@"#FFFFFF") forState:UIControlStateNormal];
+    _upLoadAgain.titleLabel.font = FONT_SIZE(15);
+    [_upLoadAgain addTarget:self action:@selector(submitAction) forControlEvents:UIControlEventTouchUpInside];
+    [self.view addSubview:_upLoadAgain];
+    
+    [_upLoadAgain mas_makeConstraints:^(MASConstraintMaker *make) {
+        make.left.equalTo(self.view).offset(20);
+        make.right.equalTo(self.view).offset(-20);
+        make.bottom.equalTo(self.view.mas_bottom).offset(-10);
+        make.height.mas_equalTo(40);
+    }];
+    
+    @weakify(self)
+    [self selectTableNameWithtableName:companyName completed:^(NSArray *array) {
+        @strongify(self)
+        _letterOfName = [[NSMutableArray alloc]initWithArray:array];
+        
+        _height = 0;
+        _formconfigs = [[NSMutableArray alloc]init];
+        _formdata = [[NSMutableArray alloc]init];
+        _dataArr = [[NSMutableArray alloc]init];
+        
+        [self buildFirstView];
+        [self getDataFromServerWithCaller];
+        
+        if ((companyName==nil || [companyName isEqualToString:@""]) && self.serverId == nil)
+        {
+            [JOShowMessageFromNavi showDropViewWithMessage:@"ERP未登录" ToNavi:self.navigationController withColor:nil];
+            return;
+        }
+    }];
+}
+
+#pragma mark --- 提交签名
+-(void)submitAction
+{
+    PopSignatureView *socialSingnatureView = [[PopSignatureView alloc] initWithFrame:self.view.bounds];
+    socialSingnatureView.delegate = self;
+    [socialSingnatureView show];
+}
+
+#pragma mark --- popSignview的代理方法
+- (void)onSubmitBtn:(UIImage*)signatureImg{
+    
+    [self commitConfirmEnterPriseWageImage:signatureImg];
+}
+
+-(void)commitConfirmEnterPriseWageImage:(UIImage *)signatureImg{
+    NSDictionary * dic = @{
+                           @"pi_id":self.dan_id,
+                           @"emcode":g_emcode,
+                           @"result":@"true",
+                           @"master":g_master,
+                           };
+
+    [[UASNetworkManager shareManager] request:FORMAT(@"%@mobile/scm/signProdInOutSale.action",g_id) method:POST parameters:dic constructingBodyWithBlock:^(id<AFMultipartFormData> formData) {
+        if (signatureImg) {
+            NSData *data = UIImageJPEGRepresentation(signatureImg,0.8);
+            [formData appendPartWithFileData:data name:@"img" fileName:@"file.jpg" mimeType:@"image/jpeg"];
+        }
+    } progress:nil
+        success:^(NSURLSessionDataTask *task, id responseObject) {
+            SLog(@"成功上传附件");
+            [JOShowMessageFromNavi showDropViewWithMessage:@"签名成功" ToNavi:self.navigationController withColor:nil];
+            [self.navigationController popViewControllerAnimated:YES];
+        } failure:^(NSURLSessionDataTask *task, NSError *error) {
+            SLog(@"失败上传附件");
+            [JOShowMessageFromNavi showDropViewWithMessage:@"签名失败" ToNavi:self.navigationController withColor:nil];
+    }];
+}
+
+#pragma mark --- 网络获取数据
+-(void)getDataFromServerWithCaller
+{
+    [_formdata removeAllObjects];
+    [_formconfigs removeAllObjects];
+    
+    NSString *ip = [[NSUserDefaults standardUserDefaults] objectForKey:@"ipAndPort"];
+    NSString *sessionId = [[NSUserDefaults standardUserDefaults] stringForKey:@"sessionId"];
+    
+    NSString *url = [NSString stringWithFormat:@"%@mobile/common/getformandgriddata.action?caller=%@&id=%@&sessionId=%@",ip,_caller,_dan_id,sessionId];
+    //21655,Ask4Leave
+    UASNetworkManager *manager = [UASNetworkManager shareManager];
+    manager.requestSerializer = [AFHTTPRequestSerializer serializer];
+    manager.responseSerializer = [AFJSONResponseSerializer serializer];
+    NSString *paramSessionId=[@"" stringByAppendingFormat:@"JSESSIONID=%@",sessionId];
+    //设置cookie
+    [manager.requestSerializer setValue:paramSessionId forHTTPHeaderField:@"Cookie"];
+    [manager.requestSerializer setValue:[NSString stringWithFormat:@"%@",g_sessionUser] forHTTPHeaderField:@"sessionUser"];
+    if (self.serverId.length > 0 && self.serverId != nil) {
+        
+        url = [NSString stringWithFormat:@"%@api/serve/config.action?serve_id=%@&id=%@&sessionId=%@",ccIp,self.serverId,_dan_id,sessionId];
+        NSString *session = [[NSUserDefaults standardUserDefaults] stringForKey:b2bSession];
+        NSString *sessionId=[@"" stringByAppendingFormat:@"%@",session];
+        //设置cookie
+        [manager.requestSerializer setValue:sessionId forHTTPHeaderField:@"Cookie"];
+        
+        
+    }
+    
+    url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
+    
+    
+    //拼接sessionID
+    
+    [manager request:url method:POST parameters:nil progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
+        NSString *fb_attachName;
+        SLog(@"adfssadvfad:%@",responseObject);
+        
+        responseObject = [NSDictionary changeType:responseObject];
+        
+        NSArray *arr = responseObject[@"datas"][@"formdata"];
+        //主表的属性数组
+        NSMutableArray *formconfigsArr = [[NSMutableArray alloc]init];
+        for (id obj in responseObject[@"datas"][@"formconfigs"]) {
+            
+            if ([[obj objectForKey:@"FD_CAPTION"] isEqualToString:@"附件"]) {
+                fb_attachName=[obj objectForKey:@"FD_FIELD"];
+            }
+            NSString *isDefault = [NSString stringWithFormat:@"%@",obj[@"MFD_ISDEFAULT"]];
+            if ([isDefault isEqualToString:@"-1"]) {
+                [formconfigsArr addObject:obj];
+            }
+        }
+        [_formconfigs addObject:formconfigsArr];
+        
+        //从表的属性数组
+        NSMutableArray *gridconfigsArr = [[NSMutableArray alloc]init];
+        for (id obj in responseObject[@"datas"][@"gridconfigs"]) {
+            NSString *isDefault = [NSString stringWithFormat:@"%@",obj[@"MDG_ISDEFAULT"]];
+            if ([isDefault isEqualToString:@"-1"]) {
+                [gridconfigsArr addObject:obj];
+            }
+        }
+        
+        //主表的值数组
+        for (id obj in responseObject[@"datas"][@"formdata"]) {
+            [_formdata addObject:obj];
+        }
+        //从表的值数组
+        for (id obj in responseObject[@"datas"][@"griddata"]) {
+            [_formdata addObject:obj];
+            if (gridconfigsArr.count != 0) {
+                [_formconfigs addObject:gridconfigsArr];
+            }
+        }
+        
+        _formdata = [NSDictionary changeType:_formdata];
+        _formconfigs = [NSDictionary changeType:_formconfigs];
+        DLog(@"总的值数组:%@",_formdata);
+        DLog(@"总的属性数组:%@",_formconfigs);
+        NSString *fb_attach;
+        if (arr.count != 0) {
+            
+            NSDictionary *dic =[NSDictionary changeType:responseObject[@"datas"][@"formdata"][0]];
+            
+            fb_attach = dic[fb_attachName];
+            
+        }else{
+            fb_attach = @"";
+        }
+        
+        [HUD hide:YES];
+        if (_formdata.count != 0) {
+            [self changeShowDataUI];
+        }
+        
+    } failure:^(NSURLSessionDataTask *task, NSError *error) {
+        DLog(@"请求失败:%@",error);
+        [HUD hide:YES];
+        NSData *returnData = [[error userInfo] objectForKey:@"com.alamofire.serialization.response.error.data"];
+        if (returnData) {
+            NSDictionary *content = [NSJSONSerialization JSONObjectWithData:returnData options:NSJSONReadingMutableContainers error:nil];//转换数据格式
+            
+            NSString *errorStr = [NSString stringWithFormat:@"%@",[content objectForKey:@"exceptionInfo"]];
+            
+            DLog(@"错误的原因:%@",errorStr);
+            [JOShowMessageFromNavi showDropViewWithMessage:errorStr ToNavi:self.navigationController withColor:nil];
+        }
+        else{
+            [JOShowMessageFromNavi showDropViewWithMessage:@"请检查网络情况" ToNavi:self.navigationController withColor:nil];
+        }
+        
+    }];
+}
+
+#pragma mark --- 改变页面结构
+-(void)changeShowDataUI
+{
+    for (int i = 0; i<_formconfigs.count; i++) {
+
+        if (i == 0) {
+            NSArray *a = _formconfigs[i];
+            NSDictionary *b = _formdata[i];
+            for (int j = 0; j < a.count; j++) {
+                NSDictionary *c = a[j];
+                
+                NSString *upStr = [c objectForKey:@"FD_FIELD"];
+                NSString *str11;
+                if ([FORMAT(@"%@",[c objectForKey:@"FD_CAPTION"]) isEqualToString:@"报销总额"]) {
+                    str11 =[NSString getkCFNumberFormatterCurrencyStyle:[NSString stringWithFormat:@"%.2f",[[b objectForKey:upStr] doubleValue]]] ;
+                }
+                else{
+                    str11 = [NSString stringWithFormat:@"%@",[b objectForKey:upStr]];
+                }
+                UILabel *rightLbl = [self creatRightLabelWithHeight:j text:str11];
+                [_firstView addSubview:rightLbl];
+                
+                /*泽天-出货单判断签名按钮是否显示*/
+                if ([upStr isEqualToString:@"pi_signstatus"]) {
+                    NSString *str = [NSString stringWithFormat:@"%@",[b objectForKey:upStr]];
+                    if ([str isEqualToString:@"已签名"]) {
+                        _upLoadAgain.hidden = YES;
+                        [_scrollV mas_updateConstraints:^(MASConstraintMaker *make) {
+                            make.bottom.equalTo(self.view);
+                        }];
+                    }
+                }
+                
+                CGSize size = [self getSizeWithText:[NSString stringWithFormat:@"%@",str11]];
+                
+                CGSize size1 = [self getleftWithText:[c objectForKey:@"FD_CAPTION"]];
+                
+                UILabel *letfLbl = [self creatLeftLabelWithHeight:j text:[c objectForKey:@"FD_CAPTION"] withHeight:size.height+5];
+                
+                [_firstView addSubview:letfLbl];
+                
+                if (size.height < size1.height) {
+                    letfLbl.height = size1.height;
+                    _height += size1.height+5;
+                }else{
+                    _height += size.height+5;
+                }
+            }
+            
+        }
+        else{
+            UIImageView *line = [[UIImageView alloc]initWithFrame:CGRectMake(5, _height, SCREEN_WIDTH-5, 0.5)];
+            line.backgroundColor = [[UIColor lightGrayColor]colorWithAlphaComponent:0.3];
+            [_firstView addSubview:line];
+            
+            UILabel *title = [self creatDetailLabelWithText:[NSString stringWithFormat:@"明细%d",i]];
+            [_firstView addSubview:title];
+            _height += 30;
+            
+            NSArray *a = _formconfigs[i];
+            
+            NSDictionary *b = @{};
+            
+            if (_formdata.count > i) {
+                
+                b = _formdata[i];
+                
+            }
+            
+            for (int j = 0; j < a.count; j++) {
+                NSDictionary *c = a[j];
+                
+                NSString *upStr = [c objectForKey:@"DG_FIELD"];
+                NSString *str;
+                str = [b objectForKey:upStr];
+                upStr = [upStr uppercaseString];
+                UILabel *rightLbl = [self creatRightLabelWithHeight:j text:str];
+                [_firstView addSubview:rightLbl];
+
+                CGSize size = [self getSizeWithText:[NSString stringWithFormat:@"%@",str]];
+                SLog(@"这是什么东:%f -- %@",size.height,str);
+                CGSize size1 = [self getleftWithText:[c objectForKey:@"DG_CAPTION"]];
+                UILabel *letfLbl = [self creatLeftLabelWithHeight:j text:[c objectForKey:@"DG_CAPTION"]  withHeight:size.height+5];
+                
+                [_firstView addSubview:letfLbl];
+                if (size.height < size1.height) {
+                    letfLbl.height = size1.height;
+                    _height += size1.height+5;
+                }else{
+                    _height += size.height+5;
+                }
+                
+            }
+        }
+    }
+    
+    CGRect frame = _firstView.frame;
+    frame.size.height = _height;
+    _firstView.frame = frame;
+    
+    _scrollV.contentSize = CGSizeMake(frame.size.width, frame.size.height + 10);
+}
+
+#pragma mark --- 第一个View
+-(void)buildFirstView
+{
+    _firstView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT-100)];
+    _firstView.backgroundColor = BGKJ_COLOR;
+    [_scrollV addSubview:_firstView];
+    
+    UIImageView *headImageV = [[UIImageView alloc]initWithFrame:CGRectMake(10, 11, 40, 40)];
+    headImageV.layer.cornerRadius = 4;
+    headImageV.layer.masksToBounds = YES;
+    [g_server getHeadImageSmall:g_server.myself.userId imageView:headImageV];
+
+    [_firstView addSubview:headImageV];
+    
+    DLog(@"savboaebo:%@",g_server.myself.userId);
+    
+    UILabel *name = [[UILabel alloc]initWithFrame:CGRectMake(CGRectGetMaxX(headImageV.frame)+15, 11, 100, 20)];
+    name.text = [[NSUserDefaults standardUserDefaults] stringForKey:@"personName"];
+    name.textColor = Color(87, 87, 87, 1);
+    name.font = FONT_SIZE(15);
+    [_firstView addSubview:name];
+    
+    UILabel *depart = [[UILabel alloc]initWithFrame:CGRectMake(CGRectGetMaxX(headImageV.frame)+15, CGRectGetMaxY(name.frame), 300, 20)];
+    depart.text = [NSString stringWithFormat:@"%@ > %@",[[NSUserDefaults standardUserDefaults] stringForKey:@"personDepartment"],[[NSUserDefaults standardUserDefaults] stringForKey:@"personPosition"]];
+    depart.textColor = Color(87, 87, 87, 1);
+    depart.font = FONT_SIZE(12);
+    [_firstView addSubview:depart];
+    
+    UIImageView *line = [[UIImageView alloc]initWithFrame:CGRectMake(5, 63.5, SCREEN_WIDTH-5, 0.5)];
+    line.backgroundColor = [[UIColor lightGrayColor]colorWithAlphaComponent:0.3];
+    [_firstView addSubview:line];
+    
+    UILabel *status = [[UILabel alloc]initWithFrame:CGRectMake(SCREEN_WIDTH-70, 11, 60, 20)];
+    status.text = _danjuStatus;
+    if ([_danjuStatus isEqualToString:@"已审核"]) {
+        status.textColor = Color(38, 133, 9, 1);
+    }else{
+        status.textColor = [UIColor redColor];
+    }
+    status.textAlignment = NSTextAlignmentRight;
+    status.font = FONT_SIZE(12);
+    [_firstView addSubview:status];
+    
+    _height += 64;
+}
+
+
+#pragma mark --- 数据库找数据
+-(void)selectTableNameWithtableName:(NSString *)tableName completed:(completedBlock)completed{
+    
+    [[TIFmdbManager shareManager] createOrOpenDatabasaWithDbName:TONGXUNLUDATA completed:^(BOOL result) {
+        
+        if(result){
+            
+            NSMutableArray *dataArr = [NSMutableArray new];
+            
+            [[TIFmdbManager shareManager] executeWithDb:TONGXUNLUDATA excuteDbBlock:^(FMDatabase *db) {
+                
+                NSString *sql = [NSString stringWithFormat:@"SELECT * FROM %@",tableName];
+                FMResultSet *rs = [db executeQuery:sql];
+                
+                while ([rs next])
+                {
+                    EmployeeModel *model = [[EmployeeModel alloc] init];
+                    
+                    model.em_name = [rs stringForColumn:_em_name];
+                    model.em_code  = [rs stringForColumn:_em_code];
+                    model.em_imid = [[rs stringForColumn:_em_imid] integerValue];
+                    [dataArr addObject:model];
+                    
+                }
+                
+            } completed:^{
+                
+                if(completed){
+                    
+                    completed(dataArr);
+                    
+                }
+                
+            }];
+            
+        }
+        
+    }];
+    
+}
+
+#pragma mark --- 一些类方法
+-(UILabel *)creatLeftLabelWithHeight:(int)hang text:(NSString *)text withHeight:(float)high
+{
+    UILabel *lbl = [[UILabel alloc]initWithFrame:CGRectMake(10, _height, 90, high)];
+    lbl.textColor = Color(87, 87, 87, 1);
+    if ([text isKindOfClass:[NSNull class]]) {
+        text = @"";
+    }
+    lbl.numberOfLines = 0;
+    lbl.text = text;
+    lbl.font = FONT_SIZE(12);
+    return lbl;
+}
+
+-(UILabel *)creatRightLabelWithHeight:(int)hang text:(NSString *)text
+{
+    CGSize size = [self getSizeWithText:text];
+    UILabel *lbl = [[UILabel alloc]initWithFrame:CGRectMake(100, _height, size.width, size.height+5)];
+    lbl.textColor = Color(150, 149, 149, 1);
+    if ([FORMAT(@"%@",text) isEqualToString:@"(null)"]) {
+        text = @"";
+    }
+    lbl.text = FORMAT(@"%@",text);
+    lbl.font = FONT_SIZE(12);
+    lbl.numberOfLines = 0;
+    
+    return lbl;
+}
+
+-(UILabel *)creatDetailLabelWithText:(NSString *)text
+{
+    UILabel *lbl = [[UILabel alloc]initWithFrame:CGRectMake(10, _height, SCREEN_WIDTH-10, 30)];
+    lbl.textColor = Color(250, 85, 4, 1);
+    if ([text isEqualToString:@"(null)"]) {
+        text = @"";
+    }
+    lbl.text = text;
+    lbl.font = FONT_SIZE(14);
+    return lbl;
+}
+
+//自动获取文本高度
+- (CGSize)getSizeWithText:(NSString *)text
+{
+    /**
+     参数1:Size 文本显示的最大区域
+     参数2:options 用什么来的换行模式来计算
+     参数3:attributes 文字的大小
+     参数4:context 上下文
+     */
+    
+    return [FORMAT(@"%@",text) boundingRectWithSize:CGSizeMake(SCREEN_WIDTH - 100, CGFLOAT_MAX) options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : FONT_SIZE(12)} context:NULL].size;
+}
+
+- (CGSize)getleftWithText:(NSString *)text
+{
+    /**
+     参数1:Size 文本显示的最大区域
+     参数2:options 用什么来的换行模式来计算
+     参数3:attributes 文字的大小
+     参数4:context 上下文
+     */
+    
+    return [FORMAT(@"%@",text) boundingRectWithSize:CGSizeMake(90, CGFLOAT_MAX) options:NSStringDrawingUsesFontLeading | NSStringDrawingUsesLineFragmentOrigin attributes:@{NSFontAttributeName : FONT_SIZE(12)} context:NULL].size;
+}
+
+-(void)backAction
+{
+    [self.navigationController popViewControllerAnimated:YES];
+}
+@end

+ 1 - 1
shiku_im/shiku_im/controller/myOA/ALLURLHeader.h

@@ -12,7 +12,7 @@
 
 /*ip地址*/
 #define g_id  [[NSUserDefaults standardUserDefaults] objectForKey:@"ipAndPort"]
-//#define g_id @"http://10.1.80.197:8888/uas-system/"
+//#define g_id @"http://192.168.253.63:8080/uas_system/"
 //#define g_id @"http://192.168.253.12/APP/"
 /*新账户中心token*/
 #define g_accountToken [[NSUserDefaults standardUserDefaults] objectForKey:@"accountToken"]

+ 1 - 1
shiku_im/shiku_im/controller/myOA/B2BHTTPRequest.m

@@ -200,7 +200,7 @@
     //DLog(@"session:%@",g_sessionId);
     url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
     [JOHttpTool B2Bget:url params:nil success:^(id json) {
-        
+        SLog(@"接口url:%@ -- 接口数据:%@",url,json);
         block(json,nil);
         
         

+ 1 - 1
shiku_im/shiku_im/controller/myOA/LYHTTPRequest.m

@@ -289,7 +289,7 @@
      url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
     SLog(@"url = %@",url);
     [JOHttpTool get:url params:nil success:^(id json) {
-        
+        SLog(@"接口url:%@ -- 返回数据:%@",url,json);
         block(json,nil);
         
     }failure:^(NSError *error) {

+ 40 - 2
shiku_im/shiku_im/文件夹1/CRM3.0/商机管理/Controllers/NicheManageVC.m

@@ -580,14 +580,52 @@ static NSString *cellID = @"cellID";
         
         case 2://销售漏斗
         {
-            ShangjiViewController *vc = [[ShangjiViewController alloc]init];
-            [self.navigationController pushViewController:vc animated:YES];
+            [self pushWhichFunnelFromServerData];
             break;}
         default:
             break;
     }
 }
 
+#pragma mark --- 跳转漏斗:项目商机/公司商机
+-(void)pushWhichFunnelFromServerData
+{
+    NSString *url = FORMAT(@"%@ma/setting/config.action",g_id);
+    NSDictionary *dic = @{
+                          @"caller":@"sys",
+                          @"code":@"isNewBusinessChance"
+                          };
+    UASNetworkManager *manager = [UASNetworkManager shareManager];
+    manager.responseSerializer = [AFJSONResponseSerializer serializer];
+    [manager request:url method:GET parameters:dic progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
+        SLog(@"数据:%@",responseObject);
+        
+        ShangjiViewController *vc = [[ShangjiViewController alloc]init];
+        
+        if (responseObject) {
+            vc.funnelType = @"项目商机";
+        }else{
+            vc.funnelType = @"公司商机";
+        }
+        
+        [self.navigationController pushViewController:vc animated:YES];
+        
+    } failure:^(NSURLSessionDataTask *task, NSError *error) {
+        ErrorInfomation;
+        
+        SLog(@"%@",error);
+        
+        ShangjiViewController *vc = [[ShangjiViewController alloc]init];
+        
+        vc.funnelType = @"公司商机";
+        
+        [self.navigationController pushViewController:vc animated:YES];
+        
+    }];
+    
+    
+}
+
 #pragma mark --- 刷新时间
 -(void)refreshTime:(UIButton *)sender
 {

+ 15 - 0
shiku_im/shiku_im/文件夹1/WorkMain(工作新页面)/Controllers/UASWorkMainVC.m

@@ -22,6 +22,7 @@
 #import "JOWQViewController.h"
 #import "LYYWorkreportMainVC.h"
 #import "DocumentVC.h"
+#import "DocumentListVC.h"
 #import "JOKaoQCountVC.h"
 #import "LYYReimbursementVC.h"
 #import "NewSubscribleManageViewController.h"
@@ -947,6 +948,20 @@
     }
     else{//从服务器拿的数据
         
+        if ([model.caller isEqualToString:@"ProdInOut!Sale"]) {
+            //泽天-出货单特殊处理:跳转列表界面
+            
+            DocumentListVC *dListVC = [DocumentListVC new];
+            
+            dListVC.nameStr = @"出货单";
+            
+            dListVC.caller = model.caller;
+            
+            [self.navigationController pushViewController:dListVC animated:YES];
+            
+            return;
+            
+        }
         
         if (model.caller.length > 0) {