SingleProfitAnalyzeListVc.m 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510
  1. //
  2. // SingleProfitAnalyzeListVc.m
  3. // IBOSS
  4. //
  5. // Created by 关宏厚 on 2019/4/11.
  6. // Copyright © 2019 elongtian. All rights reserved.
  7. //
  8. #import "SingleProfitAnalyzeListVc.h"
  9. @interface SingleProfitAnalyzeListVc ()
  10. {
  11. UIView *_headView;
  12. }
  13. @end
  14. @implementation SingleProfitAnalyzeListVc
  15. - (void)viewDidLoad {
  16. [super viewDidLoad];
  17. _dataList=[[NSMutableArray alloc]init];
  18. [self loadNavStyle];
  19. [self initSlideSlip];
  20. [self initUI];
  21. UIView *view = [self backGroundPromptViewByFrame:_vTableView.bounds promptStr:@"请筛选后查询"];
  22. _vTableView.tableHeaderView = nil;
  23. _vTableView.backgroundView = view;
  24. }
  25. /**
  26. 安全区视图发生变化
  27. */
  28. -(void)viewSafeAreaInsetsDidChange{
  29. _vTableView.frame=CGRectMake(0, 0, Screen_Width, self.view.safeAreaLayoutGuide.layoutFrame.size.height);
  30. [super viewSafeAreaInsetsDidChange];
  31. }
  32. /**
  33. 导航按钮样式
  34. */
  35. - (void)loadNavStyle {
  36. self.navigationItem.title = @"每单利润分析表";
  37. UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
  38. [button setImage:[UIImage imageNamed:@"icon_back"] forState:UIControlStateNormal];
  39. [button addTarget:self action:@selector(goBack)
  40. forControlEvents:UIControlEventTouchUpInside];
  41. button.frame = CGRectMake(0, 0,45,22);
  42. UIBarButtonItem *menuButton = [[UIBarButtonItem alloc] initWithCustomView:button];
  43. self.navigationItem.leftBarButtonItem = menuButton;
  44. // 右边
  45. UIView *v = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 42, 12)];
  46. UIButton *btnfilter = [UIButton buttonWithType:UIButtonTypeCustom];
  47. [btnfilter addTarget:self action:@selector(search)
  48. forControlEvents:UIControlEventTouchUpInside];
  49. btnfilter.frame = CGRectMake(0, 0,16, 16);
  50. [btnfilter setTitleColor:NavBarItemColor forState:UIControlStateNormal];
  51. [btnfilter setBackgroundImage:[UIImage imageNamed:@"icon_filter_white"]
  52. forState:UIControlStateNormal];
  53. [v addSubview:btnfilter];
  54. UIButton *filterLbl = [[UIButton alloc]init];
  55. filterLbl.frame=CGRectMake(CGRectGetMaxX(btnfilter.frame)+3,0,28, 16);
  56. [filterLbl setTitle:@"筛选" forState:UIControlStateNormal];
  57. [filterLbl setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
  58. filterLbl.titleLabel.font = [UIFont systemFontOfSize:ButtonFontOfSize];
  59. [filterLbl addTarget:self action:@selector(search)
  60. forControlEvents:UIControlEventTouchUpInside];
  61. [v addSubview:filterLbl];
  62. UIBarButtonItem *menubtnAdd = [[UIBarButtonItem alloc] initWithCustomView:v];
  63. self.navigationItem.rightBarButtonItem = menubtnAdd;
  64. }
  65. /**
  66. 加载数据
  67. */
  68. - (void)reloadData
  69. {
  70. [self startLoading];
  71. NSString *urlStr = [NSString stringWithFormat:@"%@", ServerURL];
  72. NSMutableDictionary *dict = [NSMutableDictionary dictionary];
  73. [dict setObject:@"GetSingleProfitOrgIphone" forKey:@"Action"];
  74. [dict setObject:[NSString stringWithFormat:@"%@",kkAccountCode]forKey:@"AccountCode"];
  75. [dict setObject:kkUserCode forKey:@"UserCode"];
  76. [dict setObject:kkUserPwd forKey:@"UserPassword"];
  77. [dict setObject:kkSessionKey forKey:@"SessionKey"];
  78. [dict setObject:_searchModel.organizationCode==nil?@"":_searchModel.organizationCode forKeyedSubscript:@"OrganizationCode"];
  79. [dict setObject:_searchModel.startDate==nil?@"":_searchModel.startDate forKeyedSubscript:@"AccountDateFrom"];
  80. [dict setObject:_searchModel.endDate==nil?@"":_searchModel.endDate forKeyedSubscript:@"AccountDateTo"];
  81. [dict setObject:_searchModel.businessType forKeyedSubscript:@"BusinessType"];
  82. [dict setObject:@"0" forKeyedSubscript:@"IsSearchDetail"];
  83. _downManager = [[ASIDownManager alloc] init];
  84. _downManager.delegate = self;
  85. _downManager.onRequestSuccess = @selector(onLoadFinish:);
  86. _downManager.onRequestFail = @selector(onLoadFail:);
  87. [_downManager postHttpRequest:urlStr dic:dict path:nil fileName:nil];
  88. }
  89. #pragma mark 委托接口回调函数
  90. /**
  91. 调用接口成功回调
  92. @param sender <#sender description#>
  93. */
  94. - (void)onLoadFinish:(ASIDownManager *)sender {
  95. // 取消进度条
  96. [self cancel];
  97. // 服务器返回数据
  98. RequestResultModel *resultModel = [RequestResultModel dk_modelWithJSON:sender.mWebStr];
  99. // 服务器返回数据状态值
  100. int iStatus = resultModel.status;
  101. // 服务器返回数据消息
  102. NSString *message = resultModel.message;
  103. _vTableView.backgroundView = nil;
  104. _vTableView.tableHeaderView = nil;
  105. // 服务器返回数据状态值正确
  106. if (iStatus == 0) {
  107. NSArray *infoArray = (NSArray *)resultModel.result;
  108. if(infoArray!=nil&&infoArray.count>0){
  109. _vTableView.tableHeaderView=_headView;
  110. for(int i=0;i<infoArray.count;i++){
  111. NSDictionary *infoDic=[infoArray objectAtIndex:i];
  112. SingleProfitAnalyseListModel *model = [SingleProfitAnalyseListModel dk_modelWithDictionary:infoDic];
  113. [_dataList addObject:model];
  114. }
  115. double totalCostValue = 0.0;
  116. double totalIncomeValue = 0.0;
  117. double totalProfitValue = 0.0;
  118. double totalMarginValue = 0.0;
  119. for(int i=0;i<_dataList.count;i++)
  120. {
  121. SingleProfitAnalyseListModel *model=[_dataList objectAtIndex:i];
  122. totalIncomeValue+=[model.amount doubleValue];
  123. totalCostValue+=[model.costAmount doubleValue];
  124. totalMarginValue+=[model.marginAmount doubleValue];
  125. totalProfitValue+=[model.profitAmount doubleValue];
  126. }
  127. // 合计信息
  128. self.lbtotalCostValue.text = [NSString stringWithFormat:@"¥%.2f",totalCostValue];
  129. self.lbtotalIncometValue.text = [NSString stringWithFormat:@"¥%.2f",totalIncomeValue];
  130. self.lbtotalProfitValue.text = [NSString stringWithFormat:@"¥%.2f",totalProfitValue];
  131. self.lbtotalMarginValue.text=[NSString stringWithFormat:@"¥%.2f",totalMarginValue];
  132. [_vTableView reloadData];
  133. }
  134. else
  135. {
  136. _vTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  137. // 未找到匹配结果
  138. if(_dataList == nil || _dataList.count == 0){
  139. _vTableView.backgroundView = [self noDataViewByFrame:_vTableView.bounds];
  140. [self showAlertViewBackText:@"未找到匹配结果"];
  141. }
  142. }
  143. }
  144. // 服务器返回数据状态值异常
  145. else if(iStatus == ActionResultStatusAuthError
  146. ||iStatus == ActionResultStatusNoLogin
  147. ||iStatus == ActionResultStatusLogined||iStatus==ActionResultSessionOverdue){
  148. [self showReLoginDialog:message];
  149. }
  150. else{
  151. [self showAlertViewText:message];
  152. return;
  153. }
  154. }
  155. /**
  156. 调用接口失败回调
  157. @param sender <#sender description#>
  158. */
  159. - (void)onLoadFail:(ASIDownManager *)sender {
  160. [self cancel];
  161. [self showAlertViewText:@"网络异常"];
  162. }
  163. /**
  164. 单元格cell个数
  165. @param tableView <#tableView description#>
  166. @param section <#section description#>
  167. @return <#return value description#>
  168. */
  169. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  170. {
  171. return [_dataList count];
  172. }
  173. /**
  174. <#Description#>
  175. @param tableView <#tableView description#>
  176. @return <#return value description#>
  177. */
  178. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
  179. return 1;
  180. }
  181. /**
  182. 高度
  183. @param tableView <#tableView description#>
  184. @param indexPath <#indexPath description#>
  185. @return <#return value description#>
  186. */
  187. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
  188. return 222;
  189. }
  190. /**
  191. 每个单元格cell
  192. @param tableView <#tableView description#>
  193. @param indexPath <#indexPath description#>
  194. @return <#return value description#>
  195. */
  196. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  197. {
  198. static NSString *cellIdentifier = @"SingleProfitAnalyseListCell";
  199. SingleProfitAnalyseListCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier ];
  200. if (!cell) {
  201. cell = [[SingleProfitAnalyseListCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellIdentifier];
  202. cell.selectionStyle=UITableViewCellSelectionStyleNone;
  203. }
  204. else
  205. //当页面拉动的时候 当cell存在并且最后一个存在 把它进行删除就出来一个独特的cell我们在进行数据配置即可避免
  206. {
  207. while ([cell.contentView.subviews lastObject] != nil) {
  208. [(UIView *)[cell.contentView.subviews lastObject] removeFromSuperview];
  209. }
  210. }
  211. SingleProfitAnalyseListModel *analyseListModel= [_dataList objectAtIndex:indexPath.row];
  212. [cell setSingleProfitAnalyseListCell:analyseListModel];
  213. return cell;
  214. }
  215. /**
  216. 点击单元格事件
  217. @param tableView tableView description
  218. @param indexPath indexPath description
  219. */
  220. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
  221. {
  222. self.hidesBottomBarWhenPushed=YES;
  223. SingleProfitAnalyseListDetailVc *detailVc = [[SingleProfitAnalyseListDetailVc alloc] init];
  224. SingleProfitAnalyseListModel *analyseListModel= [_dataList objectAtIndex:indexPath.row];
  225. detailVc.analyseListModel=analyseListModel;
  226. detailVc.startDate=_searchModel.startDate;
  227. detailVc.endDate=_searchModel.endDate;
  228. detailVc.businessType=_searchModel.businessType;
  229. [self.navigationController pushViewController:detailVc animated:YES];
  230. }
  231. /**
  232. 进度条隐藏
  233. */
  234. - (void)cancel {
  235. [self stopLoading];
  236. }
  237. /**
  238. 抽屉初始化
  239. */
  240. - (void)initSlideSlip{
  241. // 抽屉对象
  242. __weak typeof(self) weakself=self;
  243. self.filterController = [[SideSlipFilterController alloc] initWithSponsor:self resetBlock:^(NSArray *dataList) {
  244. for (SideSlipModel *model in dataList) {
  245. //selectedItem
  246. model.selectedItemList = nil;
  247. model.customDict = nil;
  248. }
  249. } commitBlock:^(NSArray *dataList) {
  250. // 查询条件
  251. SideSlipModel *serviceRegionModel = dataList[0];
  252. self->_searchModel = [serviceRegionModel.customDict objectForKey:SINGLE_PROFIT_ANALYSE_SEARCH_MODEL];
  253. if(self->_dataList!=nil&&self->_dataList.count>0){
  254. [self->_dataList removeAllObjects];
  255. [self->_vTableView reloadData];
  256. }
  257. if([self->_searchModel.startDate isEqualToString:@"请选择开始日期"]){
  258. self->_searchModel.startDate=@"";
  259. }
  260. if([self->_searchModel.endDate isEqualToString:@"请选择结束日期"]){
  261. self->_searchModel.endDate=@"";
  262. }
  263. if(self->_searchModel.startDate.length>0&&self->_searchModel.endDate.length>0){
  264. NSUInteger result= [DateFormat compareDate:self->_searchModel.startDate withDate:self->_searchModel.endDate];
  265. if(result == -1){
  266. [self showAlertViewText:@"开始日期不能大于结束日期"];
  267. return;
  268. }
  269. NSDateFormatter *dateformater = [[NSDateFormatter alloc] init];
  270. [dateformater setDateFormat:@"yyyy-MM-dd"];
  271. NSDate *dta = [[NSDate alloc] init];
  272. NSDate *dtb = [[NSDate alloc] init];
  273. dta = [dateformater dateFromString:self->_searchModel.startDate];
  274. dtb = [dateformater dateFromString:self->_searchModel.endDate];
  275. NSInteger days=[DateFormat calculateDaysFromBegin:dta end:dtb];
  276. if(days>31){
  277. [self showAlertViewText:@"日期间隔不能超过31天"];
  278. return;
  279. }
  280. }
  281. [weakself.filterController dismiss];
  282. [self reloadData];
  283. }];
  284. _filterController.animationDuration = AnimationDuration;
  285. _filterController.hasHeadView = YES;
  286. _filterController.sideSlipLeading = UIScreenSideSlipLeading*[UIScreen mainScreen].bounds.size.width;
  287. _filterController.dataList = [self packageDataList];
  288. }
  289. -(void)initUI
  290. {
  291. _vTableView = [[UITableView alloc] initWithFrame:CGRectMake(0,0, Screen_Width, Screen_Height )];
  292. _vTableView.rowHeight = UITableViewAutomaticDimension;
  293. _vTableView.autoresizingMask = UIViewAutoresizingFlexibleHeight;
  294. _vTableView.separatorStyle = UITableViewCellSeparatorStyleNone;
  295. _vTableView.backgroundColor = [UIColor whiteColor];
  296. _vTableView.delegate = self;
  297. _vTableView.dataSource=self;
  298. _vTableView.tableHeaderView = nil;
  299. [self.view addSubview:_vTableView];
  300. //头布局
  301. CGFloat height = 170;
  302. _headView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, Screen_Width, height)];
  303. UIButton *btnHead = [UIButton buttonWithType:UIButtonTypeCustom];
  304. btnHead.contentHorizontalAlignment = UIControlContentHorizontalAlignmentLeft;
  305. CGFloat titleHeight = 50;
  306. CGFloat lblx = 20;
  307. CGFloat lblwidth = 130;
  308. CGFloat fontsize = 14;
  309. //CGFloat valuex = 125;
  310. CGFloat valuey = 10;
  311. CGFloat valuewidth = 200;
  312. CGFloat valueheight = 25;
  313. CGFloat heightLine =1;
  314. //总合计 —————————
  315. UIView *vtotal = [UIView new];
  316. vtotal.frame=CGRectMake(0, 0, Screen_Width, titleHeight);
  317. [_headView addSubview:vtotal];
  318. UILabel *lbtotal = [UILabel new];
  319. lbtotal.frame=CGRectMake(lblx, valuey, lblwidth, valueheight);
  320. lbtotal.font = [UIFont boldSystemFontOfSize:fontsize];
  321. lbtotal.text = @"合计";
  322. [vtotal addSubview:lbtotal];
  323. //分割线
  324. UIView *viewBackgroud = [UIView new];
  325. viewBackgroud.frame = CGRectMake(0, CGRectGetMaxY(vtotal.frame), Screen_Width, heightLine);
  326. viewBackgroud.backgroundColor = LineBackgroundColor;
  327. [_headView addSubview:viewBackgroud];
  328. //收入总额 —————————
  329. UIView *vtotalIncome = [UIView new];
  330. vtotalIncome.frame=CGRectMake(0, CGRectGetMaxY(viewBackgroud.frame), Screen_Width, titleHeight);
  331. [_headView addSubview:vtotalIncome];
  332. UIImageView *imgview = [UIImageView new];
  333. imgview.frame=CGRectMake(lblx, valuey+5, 21, 16);
  334. [imgview setImage:[UIImage imageNamed:@"profit_income"]];
  335. [vtotalIncome addSubview:imgview];
  336. UILabel *lbtotalReceipt = [UILabel new];
  337. lbtotalReceipt.frame=CGRectMake(CGRectGetMaxX(imgview.frame)+5, valuey, lblwidth, valueheight);
  338. lbtotalReceipt.font = [UIFont systemFontOfSize:fontsize];
  339. lbtotalReceipt.text = @"收入";
  340. [vtotalIncome addSubview:lbtotalReceipt];
  341. self.lbtotalIncometValue = [UILabel new];
  342. self.lbtotalIncometValue.frame=CGRectMake(Screen_Width - valuewidth - lblx, valuey, valuewidth, valueheight);
  343. self.lbtotalIncometValue.font = [UIFont systemFontOfSize:fontsize];
  344. //lbtotalIncometValue = @"¥0";
  345. self.lbtotalIncometValue.textAlignment = NSTextAlignmentRight;
  346. [vtotalIncome addSubview:self.lbtotalIncometValue];
  347. viewBackgroud = [UIView new];
  348. viewBackgroud.frame = CGRectMake(0, CGRectGetMaxY(vtotalIncome.frame), Screen_Width, heightLine);
  349. viewBackgroud.backgroundColor = LineBackgroundColor;
  350. [_headView addSubview:viewBackgroud];
  351. //成本总额 —————————
  352. UIView *vtotalCost = [UIView new];
  353. vtotalCost.frame=CGRectMake(0, CGRectGetMaxY(viewBackgroud.frame), Screen_Width, titleHeight);
  354. [_headView addSubview:vtotalCost];
  355. UIImageView *imgviewReceivable = [UIImageView new];
  356. imgviewReceivable.frame=CGRectMake(lblx, valuey+1, 20, 20);
  357. [imgviewReceivable setImage:[UIImage imageNamed:@"profit_cost"]];
  358. [vtotalCost addSubview:imgviewReceivable];
  359. UILabel *lbtotalReceivable = [UILabel new];
  360. lbtotalReceivable.frame=CGRectMake(CGRectGetMaxX(imgviewReceivable.frame)+5, valuey, lblwidth, valueheight);
  361. lbtotalReceivable.font = [UIFont systemFontOfSize:fontsize];
  362. lbtotalReceivable.text = @"成本";
  363. [vtotalCost addSubview:lbtotalReceivable];
  364. self.lbtotalCostValue = [UILabel new];
  365. self.lbtotalCostValue.frame=CGRectMake(Screen_Width - valuewidth - lblx, valuey, valuewidth, valueheight);
  366. self.lbtotalCostValue.font = [UIFont systemFontOfSize:fontsize];
  367. self.lbtotalCostValue.textAlignment = NSTextAlignmentRight;
  368. [vtotalCost addSubview:self.lbtotalCostValue];
  369. viewBackgroud = [UIView new];
  370. viewBackgroud.frame = CGRectMake(0, CGRectGetMaxY(vtotalCost.frame), Screen_Width,heightLine);
  371. viewBackgroud.backgroundColor = LineBackgroundColor;
  372. [_headView addSubview:viewBackgroud];
  373. UIView *vtotalMargin = [UIView new];
  374. vtotalMargin.frame=CGRectMake(0, CGRectGetMaxY(viewBackgroud.frame), Screen_Width, titleHeight);
  375. [_headView addSubview:vtotalMargin];
  376. UIImageView *imgviewMargin = [UIImageView new];
  377. imgviewMargin.frame=CGRectMake(lblx, valuey+1, 20, 20);
  378. [imgviewMargin setImage:[UIImage imageNamed:@"profit_value"]];
  379. [vtotalMargin addSubview:imgviewMargin];
  380. UILabel *lbtotalMargin = [UILabel new];
  381. lbtotalMargin.frame=CGRectMake(CGRectGetMaxX(imgviewReceivable.frame)+5, valuey, lblwidth, valueheight);
  382. lbtotalMargin.font = [UIFont systemFontOfSize:fontsize];
  383. lbtotalMargin.text = @"毛利";
  384. [vtotalMargin addSubview:lbtotalMargin];
  385. self.lbtotalMarginValue = [UILabel new];
  386. self.lbtotalMarginValue.frame=CGRectMake(Screen_Width - valuewidth - lblx, valuey, valuewidth, valueheight);
  387. self.lbtotalMarginValue.font = [UIFont systemFontOfSize:fontsize];
  388. //lbtotalProfitValue = @"¥0";
  389. self.lbtotalMarginValue.textAlignment = NSTextAlignmentRight;
  390. [vtotalMargin addSubview:self.lbtotalMarginValue];
  391. viewBackgroud = [UIView new];
  392. viewBackgroud.frame = CGRectMake(0, CGRectGetMaxY(vtotalMargin.frame), Screen_Width, 1);
  393. viewBackgroud.backgroundColor = LineBackgroundColor;
  394. [_headView addSubview:viewBackgroud];
  395. UIView *vtotalProfit = [UIView new];
  396. vtotalProfit.frame=CGRectMake(0, CGRectGetMaxY(viewBackgroud.frame), Screen_Width, titleHeight);
  397. [_headView addSubview:vtotalProfit];
  398. UIImageView *imgviewProfit = [UIImageView new];
  399. imgviewProfit.frame=CGRectMake(lblx, valuey+1, 20, 20);
  400. [imgviewProfit setImage:[UIImage imageNamed:@"profit"]];
  401. [vtotalProfit addSubview:imgviewProfit];
  402. UILabel *lbtotalProfit = [UILabel new];
  403. lbtotalProfit.frame=CGRectMake(CGRectGetMaxX(imgviewReceivable.frame)+5, valuey, lblwidth, valueheight);
  404. lbtotalProfit.font = [UIFont systemFontOfSize:fontsize];
  405. lbtotalProfit.text = @"利润";
  406. [vtotalProfit addSubview:lbtotalProfit];
  407. self.lbtotalProfitValue = [UILabel new];
  408. self.lbtotalProfitValue.frame=CGRectMake(Screen_Width - valuewidth - lblx, valuey, valuewidth, valueheight);
  409. self.lbtotalProfitValue.font = [UIFont systemFontOfSize:fontsize];
  410. self.lbtotalProfitValue.textAlignment = NSTextAlignmentRight;
  411. [vtotalProfit addSubview:self.lbtotalProfitValue];
  412. _headView.frame = CGRectMake(0, 0, Screen_Width, CGRectGetMaxY(vtotalProfit.frame));
  413. }
  414. -(void)search{
  415. [_filterController show];
  416. }
  417. /**
  418. 数据源
  419. @return <#return value description#>
  420. */
  421. - (NSArray *)packageDataList {
  422. NSMutableArray *dataArray = [NSMutableArray array];
  423. SideSlipModel *model = [[SideSlipModel alloc] init];
  424. model.containerCellClass = @"SingleProfitAnalyzeListSearchCell";
  425. model.regionTitle = @"查询条件";
  426. [dataArray addObject:model];
  427. return [dataArray mutableCopy];
  428. }
  429. @end