| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263 |
- //
- // DeviceEnterFormVC.m
- // shiku_im
- //
- // Created by huangyp-pc on 2019/6/25.
- //
- #import "DeviceEnterFormVC.h"
- #import "MoreGridModel.h"
- #import "DeviceFormView.h"
- #import "DeviceSpecialView.h"
- #import "LYYDMDataSearchVC.h"
- #import "DocumentDataVC.h"
- #import "LYYDBfindSelctedVC.h"
- #import "MFselectVC.h"
- #import "ConfigModel.h"
- #import "YPSelectShenPiPersonVC.h"
- #import "DeviceFormVC.h"
- @interface DeviceEnterFormVC ()
- @property (nonatomic,strong) NSMutableArray *gridData;//主从表数据
- @property (nonatomic,strong) DeviceSpecialView *dView;//
- @end
- @implementation DeviceEnterFormVC
- {
- BOOL multidetailgrid;//判断是否有多明细表
- NSMutableArray *_listArr; //获取配置表的数据(主表)
- JXDatePicker *_date;
- UITableView *_acceptTableView;
- int _textTag; //判断哪个textView触发选择日期
- ConfigModel *_cModel; //单据配置时标识状态码字段
- UIButton *uploadBtn;//接单或提交按钮
- }
- - (void)viewDidLoad {
- [super viewDidLoad];
-
- _listArr = [NSMutableArray new];
- _gridData = [NSMutableArray new];
- multidetailgrid = NO;
- _acceptTableView = nil;
-
- /*获取配置数据*/
- [self getFormDataFromSever];
- }
- #pragma mark --- 提交上传操作
- -(void)uploadFormAction
- {
- [MBProgressHUD showMessage:@"" toView:self.view];
-
- [self.view endEditing:YES];
-
- //拼接主表上传的数据
- NSMutableDictionary *formParam = [NSMutableDictionary new];
- //拼接多明细表单上传的数据
- NSMutableArray *dataArr = [NSMutableArray new];
-
- for (UITableView *tableView in self.dView.tableViewArr) {
- [tableView endEditing:YES];
-
- id obj = tableView.dataArray[0];
- if ([obj isKindOfClass:[FormModel class]]) {
- for (int i = 0; i<_listArr.count; i++) {
- FormModel *model = _listArr[i];
- for (int j = 0; j < model.showItems.count; j++) {
- DetailFormModel *detailModel = model.showItems[j];
- /*判断必填项*/
- if ([detailModel.fd_allowblank isEqualToString:@"F"] || [detailModel.fd_allowblank isEqualToString:@"necessaryField"]) {
- if (detailModel.fd_value.length == 0) {
- [JOShowMessageFromNavi showDropViewWithMessage:@"必填项不能为空!" ToNavi:self.navigationController withColor:nil];
- [MBProgressHUD hideHUDForView:self.view];
- return;
- }else{
- [formParam addEntriesFromDictionary:@{detailModel.fd_field:FORMAT(@"%@",detailModel.fd_value != nil ? detailModel.fd_value:@"")}];
- }
- }else{
- [formParam addEntriesFromDictionary:@{detailModel.fd_field:FORMAT(@"%@",detailModel.fd_value != nil ? detailModel.fd_value:@"")}];
- }
- }
-
- for (int j = 0; j < model.hideItems.count; j++) {
- DetailFormModel *detailModel = model.hideItems[j];
- [formParam addEntriesFromDictionary:@{detailModel.fd_field:FORMAT(@"%@",detailModel.fd_value != nil ? detailModel.fd_value:@"")}];
- }
- }
-
- }else{
- NSMutableArray *gridDataArr = [NSMutableArray new];
- NSString *dgCaller = @"";
- for (int i = 0; i < tableView.dataArray.count; i++) {
- NSMutableDictionary *gridDataDic = [NSMutableDictionary new];
- MoreGridModel *model = tableView.dataArray[i];
- /*特殊处理:配件用料,当类型选择为辅材且数量大于0时,必须要输入新设备/仓库名称和编号*/
- NSString *typeStr = @"",*codeStr = @"",*newDevice = @"",*shuLiang = @"";
- for (int j = 0; j < model.showItems.count; j++) {
- DetailgridModel *detailModel = model.showItems[j];
- if ([detailModel.dg_value isEqualToString:@"PROD"] || [detailModel.dg_value isEqualToString:@"辅材"]) {
- typeStr = @"PROD";
- }
- if ([detailModel.dg_field isEqualToString:@"dd_ordercode"]) {
- codeStr = detailModel.dg_value;
- }
- if ([detailModel.dg_field isEqualToString:@"dd_othcode"]) {
- newDevice = detailModel.dg_value;
- }
- if ([detailModel.dg_field isEqualToString:@"dd_qty"]) {
- shuLiang = detailModel.dg_value;
- }
- /*判断必填项*/
- if ([detailModel.dg_logictype isEqualToString:@"F"] || [detailModel.dg_logictype isEqualToString:@"necessaryField"]) {
- if (detailModel.dg_value.length == 0) {
- [JOShowMessageFromNavi showDropViewWithMessage:@"明细必填项不能为空!" ToNavi:self.navigationController withColor:nil];
- [MBProgressHUD hideHUDForView:self.view];
- return;
- }else{
- [gridDataDic addEntriesFromDictionary:@{detailModel.dg_field:FORMAT(@"%@",detailModel.dg_value != nil ? detailModel.dg_value:@"")}];
- }
- }else{
- [gridDataDic addEntriesFromDictionary:@{detailModel.dg_field:FORMAT(@"%@",detailModel.dg_value != nil ? detailModel.dg_value:@"")}];
- }
- }
- /*特殊处理:配件用料,当类型选择为辅材且数量大于0时,必须要输入新设备/仓库名称和编号*/
- if ([typeStr isEqualToString:@"PROD"] && [shuLiang intValue] > 0) {
- if (newDevice.length == 0 || codeStr.length == 0) {
- [JOShowMessageFromNavi showDropViewWithMessage:FORMAT(@"明细%d的编号和新设备/仓库名称不能为空",i+1) ToNavi:self.navigationController withColor:nil];
- [MBProgressHUD hideHUDForView:self.view];
- return;
- }
- }
-
- for (int j = 0; j < model.hideItems.count; j++) {
- DetailgridModel *detailModel = model.hideItems[j];
- [gridDataDic addEntriesFromDictionary:@{detailModel.dg_field:FORMAT(@"%@",detailModel.dg_value != nil ? detailModel.dg_value:@"")}];
- }
- [gridDataArr addObject:gridDataDic];
- dgCaller = model.dgcaller;
- }
- NSDictionary *dgDic = @{
- @"dgcaller":dgCaller,
- @"dgData":gridDataArr,
- };
- if (multidetailgrid) {
- [dataArr addObject:dgDic];
- }else
- dataArr = gridDataArr;
- }
- }
-
- //主表
- NSData *jsonData = [NSJSONSerialization dataWithJSONObject:formParam options:NSJSONWritingPrettyPrinted error:nil];
- NSString *formStr=[[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
-
- //多明细表
- NSData *gridData = [NSJSONSerialization dataWithJSONObject:dataArr options:NSJSONWritingPrettyPrinted error:nil];
- NSString *gridStr = [[NSString alloc] initWithData:gridData encoding:NSUTF8StringEncoding];
- if (dataArr.count == 0) {
- gridStr = @"";
- }
-
- SLog(@"主表合并的东西:%@",formParam);
- SLog(@"多明细表合并的东西:%@",dataArr);
-
- NSString *url = [NSString stringWithFormat:@"%@mobile/device/saveAndSubmitDeviceChange.action",g_id];
-
- if (self.idStr) {
- url = [NSString stringWithFormat:@"%@mobile/device/updateAndSubmitDeviceChange.action",g_id];
- }
-
- NSDictionary *dic = @{
- @"caller":_caller,
- @"formStore":formStr,
- @"gridStore":multidetailgrid ? @"":gridStr,
- @"othergridStore":multidetailgrid ? gridStr:@"",
- @"master":g_master,
- @"sessionUser":g_sessionUser,
- @"sessionId":g_sessionId,
- @"id":self.idStr ? self.idStr : @"0"
- };
-
- SLog(@"aaaaaaaa:%@ --- url:%@",dic,url);
-
- url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
-
- UASNetworkManager *manager = [UASNetworkManager shareManager];
-
- [manager request:url method:POST parameters:dic progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
- [MBProgressHUD hideHUDForView:self.view];
-
- SLog(@"chenggong---:%@",responseObject);
-
- NSString *specialStr = responseObject[@"exceptionInfo"];
- //异常
- if (specialStr.length != 0) {
-
- [JOShowMessageFromNavi showDropViewWithMessage:specialStr ToNavi:self.navigationController withColor:nil];
-
- return;
- }
-
- NSDictionary *dic = responseObject;
- NSString *idStr = @"";
- idStr = FORMAT(@"%@",[dic objectForKey:_cModel.fo_keyfield]);
- if (idStr.length == 0 || [idStr isEqualToString:@"(null)"]) {
- idStr = [NSString stringWithFormat:@"%@",dic[@"keyvalue"]];
- }
-
- [self selectShenPiPersonWithDanJuId:idStr];
-
- } failure:^(NSURLSessionDataTask *task, NSError *error) {
- [MBProgressHUD hideHUDForView:self.view];
-
- SLog(@"错误的原因:%@",error);
- ErrorInfomation;
-
- }];
-
- }
- #pragma mark --- 提交审核人
- -(void)selectShenPiPersonWithDanJuId:(NSString *)idStr
- {
- [MBProgressHUD showMessage:@"" toView:self.view];
-
- UASNetworkManager *manager1 = [UASNetworkManager manager];
- manager1.requestSerializer = [AFHTTPRequestSerializer serializer];
- manager1.responseSerializer = [AFHTTPResponseSerializer serializer];
-
- NSString *url = [NSString stringWithFormat:@"%@common/getMultiNodeAssigns.action?caller=%@&id=%@&sessionId=%@&master=%@&sessionUser=%@",g_id,_caller,idStr,g_sessionId,g_master,g_sessionUser];
-
- url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
-
- [manager1 request:url method:GET parameters:nil progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
-
- [MBProgressHUD hideHUDForView:self.view];
-
- NSData *data = responseObject;
-
- NSMutableArray *dataArray = [[NSMutableArray alloc]init];
-
- id rootDic = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];
-
- NSString *idString = @"";
-
- for (id obj in rootDic[@"assigns"])
- {
- for (id obk in obj[@"JP_CANDIDATES"]) {
-
- [dataArray addObject:obk];
- }
-
- NSString * str = [NSString stringWithFormat:@"%@",obj[@"JP_NODEID"]];
- idString = str;
-
- }
-
- if (dataArray.count == 0) {
- /*详情页*/
- DeviceFormVC *vc = [DeviceFormVC new];
- vc.idStr = idStr;
- vc.caller = self.caller;
- vc.title = self.title;
- vc.status = @"已提交";
- [self.navigationController pushViewController:vc animated:YES];
- }else
- {
- YPSelectShenPiPersonVC *selectVC = [[YPSelectShenPiPersonVC alloc]init];
- selectVC.dataArr = dataArray;
- selectVC.backID = idString;
- selectVC.master = @"";
- //选择审批人之后的回调,跳转详情页
- selectVC.block = ^{
- DeviceFormVC *vc = [DeviceFormVC new];
- vc.idStr = idStr;
- vc.caller = self.caller;
- vc.title = self.title;
- vc.status = @"已提交";
- [self.navigationController pushViewController:vc animated:YES];
- };
- [self.navigationController pushViewController:selectVC animated:YES];
- }
-
- } failure:^(NSURLSessionDataTask *task, NSError *error) {
-
- [MBProgressHUD hideHUDForView:self.view];
-
- DLog(@"什么错误呀==%@",error);
- }];
- }
- #pragma mark --- 获取配置数据
- -(void)getFormDataFromSever
- {
- [MBProgressHUD showMessage:@"" toView:self.view];
- NSString *url = self.idStr ? [NSString stringWithFormat:@"%@mobile/getformandgriddetail.action",g_id] : [NSString stringWithFormat:@"%@mobile/common/getformandgriddetail.action",g_id];
- NSDictionary *param = @{
- @"id":self.idStr?self.idStr:@"0",
- @"caller":self.caller,
- @"condition":@"1=1",
- @"sessionId":g_sessionId,
- };
-
- url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
-
- UASNetworkManager *manager = [UASNetworkManager shareManager];
- manager.responseSerializer = [AFJSONResponseSerializer serializer];
- [manager request:url method:POST parameters:param progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
- [MBProgressHUD hideHUDForView:self.view];
- SLog(@"设备管理多明细通用表单:%@",responseObject);
-
- //单据配置时标识状态码字段
- _cModel = [[ConfigModel alloc]initWithDic:responseObject[@"config"]];
-
- NSMutableArray *formAllDataArr = [NSMutableArray new];
- NSMutableArray *gridAllDataArr = [NSMutableArray new];
-
- for (id obj in responseObject[@"data"][@"formdetail"]) {
-
- [formAllDataArr addObject:obj];
- }
-
- formAllDataArr = [NSDictionary changeType:formAllDataArr];
-
- multidetailgrid = [responseObject[@"data"][@"multidetailgrid"] boolValue];
- if (multidetailgrid) {
- for (id obj in responseObject[@"data"][@"othergridetail"]) {
- [gridAllDataArr addObject:obj];
- }
- }else{
- NSMutableArray *arr = [NSMutableArray new];
- for (id obj in responseObject[@"data"][@"gridetail"]) {
- [arr addObject:obj];
- }
- if (arr.count != 0) {
- NSDictionary *dic = @{
- @"dgtitle":@"从属明细表",
- @"dgcaller":@"",
- @"detailgrid":arr,
- };
- [gridAllDataArr addObject:dic];
- }
- }
-
- gridAllDataArr = [NSDictionary changeType:gridAllDataArr];
-
- if (formAllDataArr.count != 0) {
- [self handlerDataFromDowload:formAllDataArr andGridData:gridAllDataArr];
- }
-
- } failure:^(NSURLSessionDataTask *task, NSError *error) {
- ErrorInfomation;
- [MBProgressHUD hideHUDForView:self.view];
- SLog(@"%@",error);
- }];
- }
- #pragma mark --- 配置表单数据处理
- - (void)handlerDataFromDowload:(NSMutableArray *)dataArr andGridData:(NSMutableArray *)gridDataArr
- {
- /*先排序,后分组【坑货需求】*/
- NSArray *aArr ;
- NSArray *bArr ;
- aArr = [dataArr mutableCopy];
- // 排序key, 某个对象的属性名称,是否升序, YES-升序, NO-降序
- NSSortDescriptor *sortDescriptor = [NSSortDescriptor sortDescriptorWithKey:@"fd_detno" ascending:YES];
- // 排序结果
- bArr = [aArr sortedArrayUsingDescriptors:[NSArray arrayWithObject:sortDescriptor]];
- /************************************************************/
-
- /*分组*/
- NSMutableArray *array = [[NSMutableArray alloc]init];
- for (int i = 0; i < bArr.count; i++) {
- [array addObject:bArr[i][@"fd_group"]];
- }
- NSMutableArray *reloadArr = [[NSMutableArray alloc]init];
- reloadArr = [bArr mutableCopy];
-
- NSMutableArray *dateMutablearray = [[NSMutableArray alloc]init];
- NSMutableArray *dateMutablearray1 = [[NSMutableArray alloc]init];
- for (int i = 0; i < array.count; i ++) {
-
- NSString *string = array[i];
-
- //根据某个字段分组
- NSMutableArray *tempArray = [[NSMutableArray alloc]init];
-
- [tempArray addObject:string];
-
- //切换总体的数据
- NSMutableArray *tempArray1 = [[NSMutableArray alloc]init];
-
- [tempArray1 addObject:reloadArr[i]];
-
- for (int j = i+1; j < array.count; j ++) {
-
- NSString *jstring = array[j];
-
- if([string isEqualToString:jstring]){
-
- [tempArray addObject:jstring];
-
- [array removeObjectAtIndex:j];
-
- [tempArray1 addObject:reloadArr[j]];
-
- [reloadArr removeObjectAtIndex:j];
-
- j -= 1;
- }
- }
- [dateMutablearray addObject:tempArray];
- [dateMutablearray1 addObject:tempArray1];
- }
-
- /*构造模型*/
- for (int i = 0; i < dateMutablearray1.count; i++)
- {
- NSMutableArray *sub = [NSMutableArray new];
- sub = dateMutablearray1[i];
-
- NSMutableArray *showArr = [NSMutableArray new];
- NSMutableArray *hideArr = [NSMutableArray new];
- NSString *fdTitle = @"";
- for (id obj in sub) {
- NSString *isShow = FORMAT(@"%@",[obj objectForKey:@"mfd_isdefault"]);
- NSString *typeStr = FORMAT(@"%@",[obj objectForKey:@"fd_type"]);
- if ([isShow isEqualToString:@"-1"] && ![typeStr isEqualToString:@"H"]) {
- [showArr addObject:obj];
- }else{
- [hideArr addObject:obj];
- }
- fdTitle = [obj objectForKey:@"fd_group"];
-
- //知会消息->维修单特殊处理
- if ([self.caller isEqualToString:@"DeviceChange!Repair"]) {
- if ([[obj objectForKey:@"fd_field"] isEqualToString:@"dc_repairaccept"]) {
- NSString *dc_repairaccept = FORMAT(@"%@",[obj objectForKey:@"fd_value"]);
- if (dc_repairaccept.length == 0) {
- [uploadBtn setTitle:@"接单" forState:UIControlStateNormal];
- [uploadBtn removeTarget:self action:@selector(uploadFormAction) forControlEvents:UIControlEventTouchUpInside];
- [uploadBtn addTarget:self action:@selector(acceptRepairAction) forControlEvents:UIControlEventTouchUpInside];
- }
- }
- }
- }
- NSDictionary *baseDic = @{
- @"fdtitle":fdTitle != nil ? fdTitle:@"",
- @"showItems":showArr,
- @"hideItems":hideArr,
- };
- FormModel *model = [FormModel mj_objectWithKeyValues:baseDic];
-
- for (id obj in model.showItems) {
- DetailFormModel *detailFormModel = obj;
- CGFloat height = [self getSizeWithText:FORMAT(@"%@*",detailFormModel.fd_caption)].height;
- NSString *heightStr = FORMAT(@"%f",height+10);
- if (height < 40) {
- detailFormModel.cellHeight = @"40";
- }else{
- detailFormModel.cellHeight = heightStr;
- }
-
- if ([self.caller isEqualToString:@"DeviceChange!Maintain"]) {
- detailFormModel.fd_value = detailFormModel.fd_defaultvalue != nil ? detailFormModel.fd_defaultvalue:detailFormModel.fd_value;
- if (self.specialArr.count != 0 ) {
- for (int z = 0; z < self.specialArr.count; z++) {
- if ([[_specialArr[z] objectForKey:@"fd_field"] isEqualToString: detailFormModel.fd_field]) {
- detailFormModel.fd_value = FORMAT(@"%@",[_specialArr[z] objectForKey:@"fd_value"]);
- }
- }
- }
- if ([detailFormModel.fd_field isEqualToString:@"dc_emcode"]) {
- detailFormModel.fd_value = g_emcode;
- }
- if ([detailFormModel.fd_field isEqualToString:@"dc_emname"]) {
- detailFormModel.fd_value = g_personChineseName;
- }
- }else
- detailFormModel.fd_value = detailFormModel.fd_defaultvalue != nil ? detailFormModel.fd_defaultvalue:detailFormModel.fd_value;
- }
-
- for (id obj in model.hideItems) {
- DetailFormModel *detailFormModel = obj;
- detailFormModel.fd_value = detailFormModel.fd_defaultvalue != nil ? detailFormModel.fd_defaultvalue:detailFormModel.fd_value;
- }
-
- [_listArr addObject:model];
- }
-
- /*明细表的数据处理*/
- if (gridDataArr.count != 0) {
- [self handleGridDataWith:gridDataArr];
- }
- }
- #pragma mark --- 明细表的数据处理
- -(void)handleGridDataWith:(NSMutableArray *)gridDataArr
- {
- for (id allObj in gridDataArr) {
- NSArray *bArr = [allObj objectForKey:@"detailgrid"];
-
- /*分组*/
- NSMutableArray *array = [[NSMutableArray alloc]init];
- for (int i = 0; i < bArr.count; i++) {
- [array addObject:FORMAT(@"%@",bArr[i][@"dg_group"])];
- }
- NSMutableArray *reloadArr = [[NSMutableArray alloc]init];
- reloadArr = [bArr mutableCopy];
-
- NSMutableArray *dateMutablearray = [[NSMutableArray alloc]init];
- NSMutableArray *dateMutablearray1 = [[NSMutableArray alloc]init];
- for (int i = 0; i < array.count; i ++) {
-
- NSString *string = array[i];
-
- //根据某个字段分组
- NSMutableArray *tempArray = [[NSMutableArray alloc]init];
-
- [tempArray addObject:string];
-
- //切换总体的数据
- NSMutableArray *tempArray1 = [[NSMutableArray alloc]init];
-
- [tempArray1 addObject:reloadArr[i]];
-
- for (int j = i+1; j < array.count; j ++) {
-
- NSString *jstring = array[j];
-
- if([string isEqualToString:jstring]){
-
- [tempArray addObject:jstring];
-
- [array removeObjectAtIndex:j];
-
- [tempArray1 addObject:reloadArr[j]];
-
- [reloadArr removeObjectAtIndex:j];
-
- j -= 1;
- }
- }
- [dateMutablearray addObject:tempArray];
- [dateMutablearray1 addObject:tempArray1];
- }
-
- /*构造模型*/
- NSMutableArray <MoreGridModel *> *baseArr = [NSMutableArray new];
- for (int i = 0; i < dateMutablearray1.count; i++)
- {
- NSMutableArray *sub = [NSMutableArray new];
- sub = dateMutablearray1[i];
-
- NSMutableArray *showArr = [NSMutableArray new];
- NSMutableArray *hideArr = [NSMutableArray new];
- for (id obj in sub) {
- NSString *isShow = FORMAT(@"%@",[obj objectForKey:@"mdg_isdefault"]);
- NSString *typeStr = FORMAT(@"%@",[obj objectForKey:@"dg_type"]);
- if ([isShow isEqualToString:@"-1"] && ![typeStr isEqualToString:@"H"]) {
- [showArr addObject:obj];
- }else{
- [hideArr addObject:obj];
- }
- }
- NSDictionary *baseDic = @{
- @"dgtitle":allObj[@"dgtitle"],
- @"dgcaller":allObj[@"dgcaller"],
- @"showItems":showArr,
- @"hideItems":hideArr,
- };
- MoreGridModel *model = [MoreGridModel mj_objectWithKeyValues:baseDic];
- [baseArr addObject:model];
-
- }
- [self.gridData addObject:baseArr];
- }
-
- /**
- 把主表插在第一个TableView
- */
- [self.gridData insertObject:_listArr atIndex:0];
-
- [self creatFormUIWithData:self.gridData];
- }
- #pragma mark --- 配置表单页面
- -(void)creatFormUIWithData:(NSMutableArray *)arr
- {
- self.dView = [[DeviceSpecialView alloc]initWithFrame:CGRectMake(0, 0, self_width, self_height-50)];
- self.dView.statuType = Enter;
- self.dView.idStr = self.idStr;
- self.dView.gridData = arr;
- [self.view addSubview:self.dView];
-
- @weakify(self)
- self.dView.msgBlock = ^(NSString *msgStr) {
- @strongify(self)
- [JOShowMessageFromNavi showDropViewWithMessage:msgStr ToNavi:self.navigationController withColor:nil];
- };
-
- __weak typeof(self) weakSelf = self;
- self.dView.block = ^(int whichTextView,UITableView *tableView) {
- __strong typeof(DeviceEnterFormVC) *strongSelf = weakSelf;
- int a = whichTextView / 1000;
- int b = whichTextView % 1000;
-
- id obj = tableView.dataArray[a];
- NSString *typeStr,*fieldStr,*titleStr,*renderer,*value;
-
- if ([obj isKindOfClass:[MoreGridModel class]]) {
- MoreGridModel *model = tableView.dataArray[a];
- DetailgridModel *detailModel = model.showItems[b];
- typeStr = [NSString stringWithFormat:@"%@",detailModel.dg_type];
- fieldStr = [NSString stringWithFormat:@"%@",detailModel.dg_field];
- titleStr = [NSString stringWithFormat:@"%@",detailModel.dg_caption];
- renderer = [NSString stringWithFormat:@"%@",detailModel.dg_renderer];
- value = [NSString stringWithFormat:@"%@",detailModel.dg_value];
-
- /*保养用料-特殊处理*/
- if ([fieldStr isEqualToString:@"dd_ordercode"] || [fieldStr isEqualToString:@"dd_othcode"]) {//类型选择/新设备编号选择
- NSString *valueStr = @"";
- for (int i = 0; i < model.showItems.count; i ++) {
- DetailgridModel *detailModel = model.showItems[i];
- if ([detailModel.dg_field isEqualToString:@"dd_type"]) {
- valueStr = FORMAT(@"%@",detailModel.dg_value);
- }
- }
- for (int i = 0; i < model.hideItems.count; i ++) {
- DetailgridModel *detailModel = model.hideItems[i];
- if ([detailModel.dg_field isEqualToString:@"dd_type"]) {
- valueStr = FORMAT(@"%@",detailModel.dg_value);
- }
- }
- if ([valueStr isEqualToString:@"配件"]) {
- valueStr = @"DEVICE";
- }
- if ([valueStr isEqualToString:@"辅材"]) {
- valueStr = @"PROD";
- }
-
- if (valueStr.length == 0) {
- [JOShowMessageFromNavi showDropViewWithMessage:@"请先选择类型" ToNavi:strongSelf.navigationController withColor:nil];
- }else{
- LYYDBfindSelctedVC *vc = [[LYYDBfindSelctedVC alloc] init];
- if ([valueStr isEqualToString:@"DEVICE"]) {
- if ([fieldStr isEqualToString:@"dd_ordercode"]) {
- vc.caller = @"DeviceNew";
- vc.type = @"SpecialGrid";
- vc.mainCaller = model.dgcaller;
- vc.filed = @"1devcode";
- }
- if ([fieldStr isEqualToString:@"dd_othcode"]) {
- vc.caller = @"DeviceNew";
- vc.type = @"SpecialGrid";
- vc.mainCaller = model.dgcaller;
- vc.filed = @"2decode";
- }
- }
- if ([valueStr isEqualToString:@"PROD"]) {
- if ([fieldStr isEqualToString:@"dd_ordercode"]) {
- vc.caller = @"ProdOthDevice";
- vc.type = @"SpecialGrid";
- vc.mainCaller = model.dgcaller;
- vc.filed = @"2prodcode";
- }
- if ([fieldStr isEqualToString:@"dd_othcode"]) {
- vc.caller = @"WareHouse!Dev";
- vc.type = @"SpecialGrid";
- vc.mainCaller = model.dgcaller;
- vc.filed = @"1whcode";
- }
- }
-
- vc.title = titleStr;
-
- [vc setMyBlock:^(NSDictionary *dic,NSMutableArray *arr) {
-
- for (int z = 0; z < arr.count; z++) {
- NSDictionary *arrDic = arr[z];
-
- NSString *backField = @"";
-
- //从表回调
- backField = FORMAT(@"%@",[arrDic objectForKey:@"ds_gridfield"]);
- /*显示的*/
- for (int i = 0; i < model.showItems.count; i++) {
- DetailgridModel *dmodel = model.showItems[i];
- if ([dmodel.dg_field isEqualToString:backField]) {
- dmodel.dg_value = [dic objectForKey:[arrDic objectForKey:@"ds_dbfindfield"]];
- }
- }
- /*隐藏的*/
- for (int i = 0; i < model.hideItems.count; i++) {
- DetailgridModel *dmodel = model.hideItems[i];
- if ([dmodel.dg_field isEqualToString:backField]) {
- dmodel.dg_value = [dic objectForKey:[arrDic objectForKey:@"ds_dbfindfield"]];
- }
- }
- }
-
- [tableView reloadData];
- }];
-
- [strongSelf.navigationController pushViewController:vc animated:YES];
- }
- }
-
- else{
- if ([typeStr isEqualToString:@"C"]) { //下拉框跳转界面
- strongSelf->_date.hidden = YES;
- strongSelf->_acceptTableView = nil;
- [strongSelf.view endEditing:YES];
-
- DocumentDataVC *dataVC = [[DocumentDataVC alloc]init];
-
- dataVC.caller = model.dgcaller;
-
- dataVC.field = fieldStr;
-
- dataVC.type = typeStr;
-
- dataVC.block = ^(NSDictionary *listData,NSString *showKey,NSDictionary *chain){
-
- detailModel.dg_value = [listData objectForKey:@"DISPLAY"];
-
- if ([fieldStr isEqualToString:@"dd_type"]) {
- for (int i = 0; i < model.showItems.count; i ++) {
- DetailgridModel *detailModel = model.showItems[i];
- if (![detailModel.dg_field isEqualToString:@"dd_type"]) {
- detailModel.dg_value = @"";
- }
- }
- for (int i = 0; i < model.hideItems.count; i ++) {
- DetailgridModel *detailModel = model.hideItems[i];
- if (![detailModel.dg_field isEqualToString:@"dd_type"]) {
- detailModel.dg_value = @"";
- }
- }
- }
-
- [tableView reloadData];
- };
-
- dataVC.title = titleStr;
-
- [strongSelf.navigationController pushViewController:dataVC animated:YES];
- }
-
- else if ([typeStr isEqualToString:@"SF"] || [typeStr isEqualToString:@"DF"]) { //单选跳转界面
- strongSelf->_date.hidden = YES;
- strongSelf->_acceptTableView = nil;
- [strongSelf.view endEditing:YES];
-
- LYYDBfindSelctedVC *vc = [[LYYDBfindSelctedVC alloc] init];
- vc.caller = strongSelf->_caller;
- vc.type = @"grid";
- vc.mainCaller = strongSelf->_caller;
-
- if(strongSelf->multidetailgrid){
- //多明细表的要用多明细表自己的caller
- vc.mainCaller = model.dgcaller;
- }
-
- if ([[NSString stringWithFormat:@"%@",detailModel.dg_findfunctionname] containsString:@"|"]) {
- vc.caller = [NSString stringWithFormat:@"%@",detailModel.dg_findfunctionname];
-
- }else{
- [JOShowMessageFromNavi showDropViewWithMessage:@"服务器配置错误" ToNavi:strongSelf.navigationController withColor:nil];
- }
-
- vc.filed = fieldStr;
- vc.title = titleStr;
-
- [vc setMyBlock:^(NSDictionary *dic,NSMutableArray *arr) {
-
- for (int z = 0; z < arr.count; z++) {
- NSDictionary *arrDic = arr[z];
-
- NSString *backField = @"";
-
- //从表回调
- backField = FORMAT(@"%@",[arrDic objectForKey:@"ds_gridfield"]);
- /*显示的*/
- for (int i = 0; i < model.showItems.count; i++) {
- DetailgridModel *dmodel = model.showItems[i];
- if ([dmodel.dg_field isEqualToString:backField]) {
- dmodel.dg_value = [dic objectForKey:[arrDic objectForKey:@"ds_dbfindfield"]];
- }
- }
- /*隐藏的*/
- for (int i = 0; i < model.hideItems.count; i++) {
- DetailgridModel *dmodel = model.hideItems[i];
- if ([dmodel.dg_field isEqualToString:backField]) {
- dmodel.dg_value = [dic objectForKey:[arrDic objectForKey:@"ds_dbfindfield"]];
- }
- }
- }
-
- [tableView reloadData];
- }];
-
- [strongSelf.navigationController pushViewController:vc animated:YES];
- }
-
- else if ([typeStr isEqualToString:@"MF"]) { //多选跳转界面
-
- strongSelf->_date.hidden = YES;
- strongSelf->_acceptTableView = nil;
- [strongSelf.view endEditing:YES];
-
- MFselectVC *dataVC = [[MFselectVC alloc]init];
-
- dataVC.caller = strongSelf->_caller;
-
- dataVC.title = titleStr;
-
- dataVC.field = fieldStr;
-
- dataVC.type = typeStr;
-
- dataVC.block = ^(NSArray *backData,NSString *showKey,NSMutableArray *dgField){
- for (int a = 0; a < dgField.count; a++) {
- /*显示的*/
- for (int i = 0; i < model.showItems.count; i++) {
- DetailgridModel *dmodel = model.showItems[i];
- NSString *valueStr = @"";
- if ([dmodel.dg_field isEqualToString:[dgField[a] objectForKey:@"field"]]) {
- for (int i = 0; i < backData.count; i++) {
- valueStr = [valueStr stringByAppendingString:[backData[i] objectForKey:[dgField[a] objectForKey:@"dbGridField"]]];
- if (i != (backData.count-1)) {
- valueStr = [valueStr stringByAppendingString:@"#"];
- }
- }
-
- dmodel.dg_value = valueStr;
- }
- }
- /*隐藏的*/
- for (int i = 0; i < model.hideItems.count; i++) {
- DetailgridModel *dmodel = model.hideItems[i];
- NSString *valueStr = @"";
- if ([dmodel.dg_field isEqualToString:[dgField[a] objectForKey:@"field"]]) {
- for (int i = 0; i < backData.count; i++) {
- valueStr = [valueStr stringByAppendingString:[backData[i] objectForKey:[dgField[a] objectForKey:@"dbGridField"]]];
- if (i != (backData.count-1)) {
- valueStr = [valueStr stringByAppendingString:@"#"];
- }
- }
-
- dmodel.dg_value = valueStr;
- }
- }
- }
-
- [tableView reloadData];
- };
-
- [strongSelf.navigationController pushViewController:dataVC animated:YES];
- }
-
- else if ([typeStr isEqualToString:@"D"]) { //日期类型 - UIDatePickerModeDate
-
- _textTag = whichTextView;
- _acceptTableView = tableView;
- strongSelf->_date.datePicker.datePickerMode = UIDatePickerModeDate;
- [strongSelf.view addSubview:strongSelf->_date];
- strongSelf->_date.hidden = NO;
- [strongSelf.view endEditing:YES];
- }
-
- else if ([typeStr isEqualToString:@"DT"]) { //日期类型- UIDatePickerModeDateAndTime
-
- _textTag = whichTextView;
- _acceptTableView = tableView;
- strongSelf->_date.datePicker.datePickerMode = UIDatePickerModeDateAndTime;
- [strongSelf.view addSubview:strongSelf->_date];
- strongSelf->_date.hidden = NO;
- [strongSelf.view endEditing:YES];
-
- }
- }
- }
- else{
- FormModel *model = tableView.dataArray[a];
- DetailFormModel *detailModel = model.showItems[b];
- typeStr = [NSString stringWithFormat:@"%@",detailModel.fd_type];
- fieldStr = [NSString stringWithFormat:@"%@",detailModel.fd_field];
- titleStr = [NSString stringWithFormat:@"%@",detailModel.fd_caption];
- value = [NSString stringWithFormat:@"%@",detailModel.fd_value];
-
- if ([typeStr isEqualToString:@"C"]) { //下拉框跳转界面
- strongSelf->_date.hidden = YES;
- strongSelf->_acceptTableView = nil;
- [strongSelf.view endEditing:YES];
-
- DocumentDataVC *dataVC = [[DocumentDataVC alloc]init];
-
- dataVC.caller = strongSelf->_caller;
-
- dataVC.field = fieldStr;
-
- dataVC.type = typeStr;
-
- dataVC.block = ^(NSDictionary *listData,NSString *showKey,NSDictionary *chain){
-
- detailModel.fd_value = [listData objectForKey:@"VALUE"];
-
- [tableView reloadData];
- };
-
- dataVC.title = titleStr;
-
- [strongSelf.navigationController pushViewController:dataVC animated:YES];
- }
-
- else if ([typeStr isEqualToString:@"SF"] || [typeStr isEqualToString:@"DF"]) { //单选跳转界面
- strongSelf->_date.hidden = YES;
- strongSelf->_acceptTableView = nil;
- [strongSelf.view endEditing:YES];
-
- NSString *formType = @"";
- LYYDBfindSelctedVC *vc = [[LYYDBfindSelctedVC alloc] init];
- formType = @"form";
- vc.type = @"form";
- vc.caller = strongSelf->_caller;
- vc.filed = fieldStr;
- vc.title = titleStr;
-
- //特殊处理:保养单主表设备编号的DBFIND的condition要加上公司dc_cop
- if ([fieldStr isEqualToString:@"dc_devcode"]) {
- NSString *valueStr = @"";
- for (int i = 0; i < model.showItems.count; i ++) {
- DetailFormModel *detailModel = model.showItems[i];
- if ([detailModel.fd_field isEqualToString:@"dc_cop"]) {
- valueStr = FORMAT(@"%@",detailModel.fd_value);
- }
- }
- for (int i = 0; i < model.hideItems.count; i ++) {
- DetailFormModel *detailModel = model.hideItems[i];
- if ([detailModel.fd_field isEqualToString:@"dc_cop"]) {
- valueStr = FORMAT(@"%@",detailModel.fd_value);
- }
- }
- vc.specialConditon = @{@"dc_cop":valueStr};
- }
-
- [vc setMyBlock:^(NSDictionary *dic,NSMutableArray *arr) {
-
- for (int z = 0; z < arr.count; z++) {
- NSDictionary *arrDic = arr[z];
-
- NSString *backField = @"";
- //主表回调
- backField = FORMAT(@"%@",[arrDic objectForKey:@"field"]);
- /*显示的*/
- for (int i = 0; i < model.showItems.count; i++) {
- DetailFormModel *dmodel = model.showItems[i];
- if ([dmodel.fd_field isEqualToString:backField]) {
- dmodel.fd_value = [dic objectForKey:[arrDic objectForKey:@"dbGridField"]];
- }
- }
- /*隐藏的*/
- for (int i = 0; i < model.hideItems.count; i++) {
- DetailFormModel *dmodel = model.hideItems[i];
- if ([dmodel.fd_field isEqualToString:backField]) {
- dmodel.fd_value = [dic objectForKey:[arrDic objectForKey:@"dbGridField"]];
- }
- }
- }
-
- [tableView reloadData];
- }];
-
- [strongSelf.navigationController pushViewController:vc animated:YES];
- }
-
- else if ([typeStr isEqualToString:@"MF"]) { //多选跳转界面
-
- strongSelf->_date.hidden = YES;
- strongSelf->_acceptTableView = nil;
- [strongSelf.view endEditing:YES];
-
- MFselectVC *dataVC = [[MFselectVC alloc]init];
-
- dataVC.caller = strongSelf->_caller;
-
- dataVC.title = titleStr;
-
- dataVC.field = fieldStr;
-
- dataVC.type = typeStr;
-
- dataVC.block = ^(NSArray *backData,NSString *showKey,NSMutableArray *dgField){
- for (int a = 0; a < dgField.count; a++) {
- /*显示的*/
- for (int i = 0; i < model.showItems.count; i++) {
- DetailFormModel *dmodel = model.showItems[i];
- NSString *valueStr = @"";
- if ([dmodel.fd_field isEqualToString:[dgField[a] objectForKey:@"field"]]) {
- for (int i = 0; i < backData.count; i++) {
- valueStr = [valueStr stringByAppendingString:[backData[i] objectForKey:[dgField[a] objectForKey:@"dbGridField"]]];
- if (i != (backData.count-1)) {
- valueStr = [valueStr stringByAppendingString:@"#"];
- }
- }
-
- dmodel.fd_value = valueStr;
- }
- }
- /*隐藏的*/
- for (int i = 0; i < model.hideItems.count; i++) {
- DetailFormModel *dmodel = model.hideItems[i];
- NSString *valueStr = @"";
- if ([dmodel.fd_field isEqualToString:[dgField[a] objectForKey:@"field"]]) {
- for (int i = 0; i < backData.count; i++) {
- valueStr = [valueStr stringByAppendingString:[backData[i] objectForKey:[dgField[a] objectForKey:@"dbGridField"]]];
- if (i != (backData.count-1)) {
- valueStr = [valueStr stringByAppendingString:@"#"];
- }
- }
-
- dmodel.fd_value = valueStr;
- }
- }
- }
-
- [tableView reloadData];
- };
-
- [strongSelf.navigationController pushViewController:dataVC animated:YES];
- }
-
- else if ([typeStr isEqualToString:@"D"]) { //日期类型 - UIDatePickerModeDate
-
- _textTag = whichTextView;
- _acceptTableView = tableView;
- strongSelf->_date.datePicker.datePickerMode = UIDatePickerModeDate;
- [strongSelf.view addSubview:strongSelf->_date];
- strongSelf->_date.hidden = NO;
- [strongSelf.view endEditing:YES];
- }
-
- else if ([typeStr isEqualToString:@"DT"]) { //日期类型- UIDatePickerModeDateAndTime
-
- _textTag = whichTextView;
- _acceptTableView = tableView;
- strongSelf->_date.datePicker.datePickerMode = UIDatePickerModeDateAndTime;
- [strongSelf.view addSubview:strongSelf->_date];
- strongSelf->_date.hidden = NO;
- [strongSelf.view endEditing:YES];
-
- }
-
- }
- };
- }
- #pragma mark -- 时期选择
- -(void)onDateDO
- {
- NSDate *selected = [_date date];
-
- int a = _textTag / 1000;
- int b = _textTag % 1000;
-
- id obj = _acceptTableView.dataArray[a];
- if ([obj isKindOfClass:[MoreGridModel class]]) {
- NSString *dateStr = @"";
- if (_date.datePicker.datePickerMode == UIDatePickerModeDate) {
- dateStr = [((AppDelegate*)[[UIApplication sharedApplication] delegate]) formatdate:selected format:@"yyyy-MM-dd"];
- }else{
- dateStr = [((AppDelegate*)[[UIApplication sharedApplication] delegate]) formatdate:selected format:@"yyyy-MM-dd HH:mm:ss"];
- }
-
- MoreGridModel *model = _acceptTableView.dataArray[a];
- DetailgridModel *detailModel = model.showItems[b];
- detailModel.dg_value = dateStr;
- [_acceptTableView reloadData];
- }
- else{
- NSString *dateStr = @"";
- if (_date.datePicker.datePickerMode == UIDatePickerModeDate) {
- dateStr = [((AppDelegate*)[[UIApplication sharedApplication] delegate]) formatdate:selected format:@"yyyy-MM-dd"];
- }else{
- dateStr = [((AppDelegate*)[[UIApplication sharedApplication] delegate]) formatdate:selected format:@"yyyy-MM-dd HH:mm:ss"];
- }
-
- FormModel *model = _listArr[a];
- DetailFormModel *detailModel = model.showItems[b];
- detailModel.fd_value = dateStr;
- [_acceptTableView reloadData];
- }
-
- }
- -(void)onDateClear
- {
- int a = _textTag / 1000;
- int b = _textTag % 1000;
- id obj = _acceptTableView.dataArray[a];
- if ([obj isKindOfClass:[MoreGridModel class]]) {
- NSString *dateStr = @"";
-
- MoreGridModel *model = _acceptTableView.dataArray[a];
- DetailgridModel *detailModel = model.showItems[b];
- detailModel.dg_value = dateStr;
- [_acceptTableView reloadData];
-
- }else{
- NSString *dateStr = @"";
-
- FormModel *model = _listArr[a];
- DetailFormModel *detailModel = model.showItems[b];
- detailModel.fd_value = dateStr;
- [_acceptTableView reloadData];
- }
- }
- #pragma mark --- 创建UI
- -(void)createUI
- {
- UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
- btn.frame = CGRectMake(0, 0, 21, 21);
- UIImageView *image = [[UIImageView alloc]initWithFrame:CGRectMake(0, 0, 21, 21)];
- image.image = [UIImage imageNamed:@"UU_device_list"];
- [btn addSubview:image];
- [btn addTarget:self action:@selector(clickRightBtn) forControlEvents:UIControlEventTouchUpInside];
-
- if (!self.idStr) {
- UIBarButtonItem *bbi = [[UIBarButtonItem alloc]initWithCustomView:btn];
- self.navigationItem.rightBarButtonItems = @[bbi];
- }
-
- uploadBtn = [UIButton buttonWithType:UIButtonTypeCustom];
- uploadBtn.layer.masksToBounds = YES;
- uploadBtn.layer.cornerRadius = 5;
- [uploadBtn setBackgroundColor:HexColor(@"#33A2EE") forState:UIControlStateNormal];
- [uploadBtn setBackgroundColor:HexColor(@"#8EB2CD") forState:UIControlStateDisabled];
- [uploadBtn setBackgroundColor:HexColor(@"#2D84C0") forState:UIControlStateHighlighted];
- [uploadBtn setTitle:Localized(@"UU_custom_submit") forState:UIControlStateNormal];
- uploadBtn.userInteractionEnabled = YES;
- [uploadBtn addTarget:self action:@selector(uploadFormAction) forControlEvents:UIControlEventTouchUpInside];
- [self.view addSubview:uploadBtn];
- [uploadBtn mas_makeConstraints:^(MASConstraintMaker *make) {
- make.left.equalTo(self.view).offset(20);
- make.right.equalTo(self.view).offset(-20);
- make.bottom.equalTo(self.view).offset(-5);
- make.height.mas_equalTo(40);
- }];
-
- _date = [[JXDatePicker alloc] initWithFrame:CGRectMake(0, 0, self_width, self_height)];
- _date.delegate = self;
- _date.didSelect = @selector(onDateDO);
- _date.didClear = @selector(onDateClear);
- }
- #pragma mark --- 维修单接单
- -(void)acceptRepairAction
- {
- [MBProgressHUD showMessage:@"" toView:self.view];
-
- NSString *url = [NSString stringWithFormat:@"%@mobile/device/deviceRepairTaking.action",g_id];
- NSDictionary *param = @{
- @"id":self.idStr,
- @"caller":self.caller,
- @"sessionId":g_sessionId,
- };
-
- url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
-
- UASNetworkManager *manager = [UASNetworkManager shareManager];
- manager.responseSerializer = [AFJSONResponseSerializer serializer];
- [manager request:url method:POST parameters:param progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
- [MBProgressHUD hideHUDForView:self.view];
- SLog(@"设备管理多明细通用表单:%@",responseObject);
-
- [_listArr removeAllObjects];
- [self.gridData removeAllObjects];
- [self.dView removeFromSuperview];
- [uploadBtn setTitle:Localized(@"UU_custom_submit") forState:UIControlStateNormal];
- [uploadBtn removeTarget:self action:@selector(acceptRepairAction) forControlEvents:UIControlEventTouchUpInside];
- [uploadBtn addTarget:self action:@selector(uploadFormAction) forControlEvents:UIControlEventTouchUpInside];
-
- //单据配置时标识状态码字段
- _cModel = [[ConfigModel alloc]initWithDic:responseObject[@"config"]];
-
- NSMutableArray *formAllDataArr = [NSMutableArray new];
- NSMutableArray *gridAllDataArr = [NSMutableArray new];
-
- for (id obj in responseObject[@"data"][@"formdetail"]) {
-
- [formAllDataArr addObject:obj];
- }
-
- formAllDataArr = [NSDictionary changeType:formAllDataArr];
-
- multidetailgrid = [responseObject[@"data"][@"multidetailgrid"] boolValue];
- if (multidetailgrid) {
- for (id obj in responseObject[@"data"][@"othergridetail"]) {
- [gridAllDataArr addObject:obj];
- }
- }else{
- NSMutableArray *arr = [NSMutableArray new];
- for (id obj in responseObject[@"data"][@"gridetail"]) {
- [arr addObject:obj];
- }
- if (arr.count != 0) {
- NSDictionary *dic = @{
- @"dgtitle":@"从属明细表",
- @"dgcaller":@"",
- @"detailgrid":arr,
- };
- [gridAllDataArr addObject:dic];
- }
- }
-
- gridAllDataArr = [NSDictionary changeType:gridAllDataArr];
-
- if (formAllDataArr.count != 0) {
- [self handlerDataFromDowload:formAllDataArr andGridData:gridAllDataArr];
- }
-
- } failure:^(NSURLSessionDataTask *task, NSError *error) {
- ErrorInfomation;
- [MBProgressHUD hideHUDForView:self.view];
- SLog(@"%@",error);
- }];
- }
- #pragma mark --- 列表
- -(void)clickRightBtn
- {
- LYYDMDataSearchVC *dListVC = [[LYYDMDataSearchVC alloc]init];
- dListVC.title = self.title;
- dListVC.caller = self.caller;
- if ([self.title isEqualToString:Localized(@"UU_Maintenance")]) {
- dListVC.mustStr = @"保养维护";
- }else{
- dListVC.mustStr = self.title;
- }
- [self.navigationController pushViewController:dListVC animated:YES];
- }
- #pragma mark --- 自动获取文本高度
- - (CGSize)getSizeWithText:(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(14)} context:NULL].size;
- }
- @end
|