uploadFileRecordViewController.m 6.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184
  1. //
  2. // uoloadFileRecordViewController.m
  3. // 隐私保护
  4. //
  5. // Created by xd h on 2023/11/13.
  6. //
  7. #import "uploadFileRecordViewController.h"
  8. #import "uploadFileManager.h"
  9. #import "uploadFileDataModel.h"
  10. #import "uploadFileRecordheadView.h"
  11. #import "uploadFileRecordBodyView.h"
  12. @interface uploadFileRecordViewController ()
  13. //选中的项
  14. @property (nonatomic, strong) NSMutableArray *indexPathsForSelectedItems;
  15. @property (nonatomic, strong) uploadFileRecordheadView *uploadFileRecordheadV;
  16. @property (nonatomic, strong) uploadFileRecordBodyView *uploadFileRecordBodyV;
  17. @property (nonatomic, strong) NSMutableArray *allDataArr;
  18. @end
  19. @implementation uploadFileRecordViewController
  20. - (void)viewDidLoad {
  21. [super viewDidLoad];
  22. // Do any additional setup after loading the view.
  23. //[self.view setBackgroundColor:HWF5F7FAColor];
  24. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(uploadFileRefreshFun:) name:uploadFileRefreshNotification object:nil];
  25. [self.view setBackgroundColor:[UIColor whiteColor]];
  26. self.titleLabel.text = NSLocalizedString(@"my_set_no_File_upload_record",nil) ;
  27. [self.toolBar setHidden:YES];
  28. [self.navigationBar setHidden:YES];
  29. [self.navBarBGView setHidden:NO];
  30. self.navBarBGView.backgroundColor = [UIColor whiteColor];
  31. [self initbaseUIFun];
  32. [self getDataInDatabaseFun];
  33. }
  34. #pragma mark UI
  35. - (void)initbaseUIFun
  36. {
  37. _uploadFileRecordheadV = [[uploadFileRecordheadView alloc] init];
  38. [self.view addSubview:_uploadFileRecordheadV];
  39. [_uploadFileRecordheadV mas_makeConstraints:^(MASConstraintMaker *make) {
  40. make.left.mas_equalTo(15);
  41. make.right.mas_equalTo(-15);
  42. make.top.mas_equalTo(self.navBarBGView.mas_bottom).offset(15.0);
  43. make.height.mas_equalTo(50);
  44. }];
  45. KWeakSelf
  46. #pragma mark 头部点击事件
  47. _uploadFileRecordheadV.didClickButFun = ^(NSInteger index) {
  48. [weakSelf didClickHeadFun: index];
  49. };
  50. _uploadFileRecordBodyV = [[uploadFileRecordBodyView alloc] init];
  51. [self.view addSubview:_uploadFileRecordBodyV];
  52. [_uploadFileRecordBodyV mas_makeConstraints:^(MASConstraintMaker *make) {
  53. make.left.mas_equalTo(0);
  54. make.right.mas_equalTo(0);
  55. make.top.mas_equalTo(_uploadFileRecordheadV.mas_bottom).offset(0.0);
  56. make.bottom.mas_equalTo(0);
  57. }];
  58. _uploadFileRecordBodyV.didScrollFun = ^(NSInteger index) {
  59. [weakSelf didScorllBodyFun:index];
  60. };
  61. }
  62. #pragma mark 头部点击 背景滚动
  63. - (void)didClickHeadFun:(NSInteger)index
  64. {
  65. _uploadFileRecordBodyV.selectIndex = index;
  66. }
  67. - (void)didScorllBodyFun:(NSInteger)index
  68. {
  69. _uploadFileRecordheadV.selectIndex = index;
  70. }
  71. -(void)gotoUploadFile:(NSMutableArray*)indexPathsForSelectedItems
  72. {
  73. _indexPathsForSelectedItems = [[uploadFileManager shareInstance] handlTZAssetModelToUploadFileDataFunBy:indexPathsForSelectedItems];
  74. HLog(@"11");
  75. }
  76. #pragma mark 读取数据库数据
  77. - (void)getDataInDatabaseFun
  78. {
  79. _allDataArr = [NSMutableArray new];
  80. KWeakSelf
  81. [uploadFileDataModel bg_findAllAsync:upLoadFile_image_tableName complete:^(NSArray * _Nullable array) {
  82. NSMutableArray *failArr = [NSMutableArray new];
  83. NSMutableArray *doneArr = [NSMutableArray new];
  84. NSMutableArray *otherArr = [NSMutableArray new];
  85. for (uploadFileDataModel * curModel in array) {
  86. if(curModel.curUploadStateType == uploadStateFail){
  87. [failArr addObject:curModel];
  88. }
  89. else if(curModel.curUploadStateType == uploadStateDone){
  90. [doneArr addObject:curModel];
  91. }
  92. else{
  93. [otherArr addObject:curModel];
  94. }
  95. }
  96. [self->_allDataArr addObject:otherArr];
  97. [self->_allDataArr addObject:doneArr];
  98. [self->_allDataArr addObject:failArr];
  99. weakSelf.uploadFileRecordBodyV.allDataArr = self->_allDataArr;
  100. }];
  101. }
  102. - (void)uploadFileRefreshFun:(NSNotification*)not
  103. {
  104. uploadFileDataModel *uploadFileDataMod = [not object];
  105. HLog(@"%@",uploadFileDataMod);
  106. if(_allDataArr.count == 3 && [uploadFileDataMod isKindOfClass:[uploadFileDataModel class]] ){
  107. NSMutableArray *curArr = _allDataArr[0];
  108. NSInteger index = 0;
  109. for (uploadFileDataModel*mod in curArr) {
  110. HLog(@"bg_id:%@ ?=? %@",mod.bg_id,uploadFileDataMod.bg_id);
  111. if(mod.bg_id.integerValue == uploadFileDataMod.bg_id.integerValue){
  112. if(uploadFileDataMod.curUploadStateType == uploadStateDone){
  113. [curArr removeObject:mod];
  114. NSMutableArray *doneArr = _allDataArr[1];
  115. [doneArr insertObject:uploadFileDataMod atIndex:0];
  116. }
  117. else if(uploadFileDataMod.curUploadStateType == uploadStateFail){
  118. [curArr removeObject:mod];
  119. NSMutableArray *failArr = _allDataArr[2];
  120. [failArr insertObject:uploadFileDataMod atIndex:0];
  121. }
  122. else{
  123. [curArr replaceObjectAtIndex:index withObject:uploadFileDataMod];
  124. }
  125. break;
  126. }
  127. index++;
  128. }
  129. //精准刷新
  130. if(uploadFileDataMod.curUploadStateType == uploadStateDone){
  131. [self.uploadFileRecordBodyV RefreshDataWithUploadingArr:_allDataArr[0] withDoneArr:_allDataArr[1] withfailArr:nil];
  132. }
  133. else if(uploadFileDataMod.curUploadStateType == uploadStateFail){
  134. [self.uploadFileRecordBodyV RefreshDataWithUploadingArr:_allDataArr[0] withDoneArr:nil withfailArr:_allDataArr[2]];
  135. }
  136. else{
  137. [self.uploadFileRecordBodyV RefreshDataWithUploadingArr:_allDataArr[0] withDoneArr:nil withfailArr:nil];
  138. }
  139. }
  140. //self.uploadFileRecordBodyV.allDataArr = _allDataArr;
  141. }
  142. @end