Bläddra i källkod

易错专项 完成100%

openlockPPP 3 månader sedan
förälder
incheckning
4e31d3bec8

+ 0 - 6
jiaPei.xcodeproj/project.pbxproj

@@ -83,7 +83,6 @@
 		90038E2C2D116A2D006A1637 /* NYFailSpecialExerciseDetailsCell01.m in Sources */ = {isa = PBXBuildFile; fileRef = 90038E2A2D116A2D006A1637 /* NYFailSpecialExerciseDetailsCell01.m */; };
 		90038E2D2D116A2D006A1637 /* NYFailSpecialExerciseDetailsCell01.xib in Resources */ = {isa = PBXBuildFile; fileRef = 90038E2B2D116A2D006A1637 /* NYFailSpecialExerciseDetailsCell01.xib */; };
 		90038E302D117CE5006A1637 /* NYFailItemPointCellView01.m in Sources */ = {isa = PBXBuildFile; fileRef = 90038E2F2D117CE5006A1637 /* NYFailItemPointCellView01.m */; };
-		90038E332D117D13006A1637 /* NYFailItemPointCellView02.m in Sources */ = {isa = PBXBuildFile; fileRef = 90038E322D117D13006A1637 /* NYFailItemPointCellView02.m */; };
 		90044C362A4E7BF7003FBBF8 /* NYFloatingSuggestView.m in Sources */ = {isa = PBXBuildFile; fileRef = 90044C352A4E7BF6003FBBF8 /* NYFloatingSuggestView.m */; };
 		90044C382A4E7CA0003FBBF8 /* NYFloatingSuggestView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 90044C372A4E7CA0003FBBF8 /* NYFloatingSuggestView.xib */; };
 		90044C3B2A4E821E003FBBF8 /* NYFloatingSuggestViewModel.m in Sources */ = {isa = PBXBuildFile; fileRef = 90044C3A2A4E821E003FBBF8 /* NYFloatingSuggestViewModel.m */; };
@@ -1863,8 +1862,6 @@
 		90038E2B2D116A2D006A1637 /* NYFailSpecialExerciseDetailsCell01.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NYFailSpecialExerciseDetailsCell01.xib; sourceTree = "<group>"; };
 		90038E2E2D117CE5006A1637 /* NYFailItemPointCellView01.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYFailItemPointCellView01.h; sourceTree = "<group>"; };
 		90038E2F2D117CE5006A1637 /* NYFailItemPointCellView01.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NYFailItemPointCellView01.m; sourceTree = "<group>"; };
-		90038E312D117D13006A1637 /* NYFailItemPointCellView02.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYFailItemPointCellView02.h; sourceTree = "<group>"; };
-		90038E322D117D13006A1637 /* NYFailItemPointCellView02.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NYFailItemPointCellView02.m; sourceTree = "<group>"; };
 		90044C342A4E7BF6003FBBF8 /* NYFloatingSuggestView.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = NYFloatingSuggestView.h; sourceTree = "<group>"; };
 		90044C352A4E7BF6003FBBF8 /* NYFloatingSuggestView.m */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.objc; path = NYFloatingSuggestView.m; sourceTree = "<group>"; };
 		90044C372A4E7CA0003FBBF8 /* NYFloatingSuggestView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = NYFloatingSuggestView.xib; sourceTree = "<group>"; };
@@ -4953,8 +4950,6 @@
 				90038E2B2D116A2D006A1637 /* NYFailSpecialExerciseDetailsCell01.xib */,
 				90038E2E2D117CE5006A1637 /* NYFailItemPointCellView01.h */,
 				90038E2F2D117CE5006A1637 /* NYFailItemPointCellView01.m */,
-				90038E312D117D13006A1637 /* NYFailItemPointCellView02.h */,
-				90038E322D117D13006A1637 /* NYFailItemPointCellView02.m */,
 			);
 			path = "易错专项";
 			sourceTree = "<group>";
@@ -11661,7 +11656,6 @@
 				D02010BB29373AE8001B9F4D /* SLAlertView.m in Sources */,
 				D02010CA29373AE8001B9F4D /* SLTimer.m in Sources */,
 				90AC53B22A9457070073D90F /* NYExerciseTestingCentreViewModel.m in Sources */,
-				90038E332D117D13006A1637 /* NYFailItemPointCellView02.m in Sources */,
 				9078D9462C50FEF500B37D58 /* NYWPViewModel.m in Sources */,
 				D074575A29272C680050BE10 /* QMVideoTableCell.m in Sources */,
 				D0D5BF172976A0C6004DC669 /* RQVipTrainPriceCell.m in Sources */,

BIN
jiaPei.xcworkspace/xcuserdata/mimasigeling.xcuserdatad/UserInterfaceState.xcuserstate


+ 105 - 89
jiaPei/Modules/HomePageModule/View/HomePage/NYHomePageOneBigCell.m

@@ -92,23 +92,25 @@
 
 //顺序练习
 - (IBAction)btnSxlxActiondo:(UIButton *)sender {
-    NSArray *arr = [[RQ_YDTQuestion_Module getQuestionWithSubject:RQ_YDTQuestion_Module.subject exerciseType:RQExerciseType_Sequential ].rac_sequence.signal map:^id _Nullable(RQYDTQuestionModel  *ydtQuestionModel) {
-        return [RQExerciseModel exerciseModelWithRQYDTQuestionModel:ydtQuestionModel];
-    }].toArray;
-    
-//                NSArray *arr = (self.homePageSubjectType == RQHomePageSubjectType_SubjectFour)? fourArr.copy : oneArr.copy;
-//                arr = [arr.rac_sequence.signal map:^id _Nullable(RQYDTQuestionModel  *ydtQuestionModel) {
-//                    return [RQExerciseModel exerciseModelWithRQYDTQuestionModel:ydtQuestionModel];
-//                }].toArray;
-    RQExerciseViewModel *exerciseViewModel = [[RQExerciseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{
-        RQHomePageCarTypeKey        : @(self.viewModel.homePageCarType),
-        RQHomePageSubjectTypeKey    : @(self.viewModel.homePageSubjectType),
-        RQHomeSubPageTypeKey        : @(RQHomeSubPageType_SequentialPractice),
-        RQViewModelIDKey            : self.viewModel.sxlxtStr,
-        RQExerciseTypeKey           : @(RQExerciseType_Sequential),
-        RQViewModelUtilKey          : arr,
-    }];
-    [RQ_APPDELEGATE.services pushViewModel:exerciseViewModel animated:YES];
+    if (RQ_USER_MANAGER.isShouldLogin) {
+        NSArray *arr = [[RQ_YDTQuestion_Module getQuestionWithSubject:RQ_YDTQuestion_Module.subject exerciseType:RQExerciseType_Sequential ].rac_sequence.signal map:^id _Nullable(RQYDTQuestionModel  *ydtQuestionModel) {
+            return [RQExerciseModel exerciseModelWithRQYDTQuestionModel:ydtQuestionModel];
+        }].toArray;
+        
+        //                NSArray *arr = (self.homePageSubjectType == RQHomePageSubjectType_SubjectFour)? fourArr.copy : oneArr.copy;
+        //                arr = [arr.rac_sequence.signal map:^id _Nullable(RQYDTQuestionModel  *ydtQuestionModel) {
+        //                    return [RQExerciseModel exerciseModelWithRQYDTQuestionModel:ydtQuestionModel];
+        //                }].toArray;
+        RQExerciseViewModel *exerciseViewModel = [[RQExerciseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{
+            RQHomePageCarTypeKey        : @(self.viewModel.homePageCarType),
+            RQHomePageSubjectTypeKey    : @(self.viewModel.homePageSubjectType),
+            RQHomeSubPageTypeKey        : @(RQHomeSubPageType_SequentialPractice),
+            RQViewModelIDKey            : self.viewModel.sxlxtStr,
+            RQExerciseTypeKey           : @(RQExerciseType_Sequential),
+            RQViewModelUtilKey          : arr,
+        }];
+        [RQ_APPDELEGATE.services pushViewModel:exerciseViewModel animated:YES];
+    }
 }
 
 //模拟考试
@@ -124,115 +126,129 @@
 
 //VIP课程
 - (IBAction)btnVipAction:(UIButton *)sender {
-    [RQ_VIP_Module isVipWithSubject:0 complete:^(BOOL isVip) {
-        if (RQ_VIP_Module.isVip) {
-            [RQ_VIP_Module gotoVipCenter];
-        } else {
-            [RQ_VIP_Module gotoBuyVipWithVipPageType:RQVIPPageType_Full];
-        }
-    }];
+    if (RQ_USER_MANAGER.isShouldLogin) {
+        [RQ_VIP_Module isVipWithSubject:0 complete:^(BOOL isVip) {
+            if (RQ_VIP_Module.isVip) {
+                [RQ_VIP_Module gotoVipCenter];
+            } else {
+                [RQ_VIP_Module gotoBuyVipWithVipPageType:RQVIPPageType_Full];
+            }
+        }];
+    }
 }
 
 //真实考场
 - (IBAction)btnExaminationAction:(UIButton *)sender {
-    [RQ_VIP_Module isVipWithSubject:RQ_YDTQuestion_Module.subject + 1 complete:^(BOOL isVip) {
-        if (isVip) {
-//                        username subject headimg gs 替换-> model
-//                        NSString *urlStr = [NSString stringWithFormat:@"https://mn.zzxcx.net/#/exam/begin?username=%@&subject=%@&model=%@&headimg=%@",[RQ_USER_MANAGER.currentUser.userName qmui_stringByEncodingUserInputQuery],RQ_YDTQuestion_Module.subjectStr,RQ_YDTQuestion_Module.carTypeStrNew,RQ_USER_MANAGER.currentUser.photo];
-//                        NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:urlStr]];
-//                        RQWebViewModel *webViewModel = [[RQWebViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{RQViewModelRequestKey:request, RQViewModelWebViewTypeKey:@(RQWebViewType_Exam)}];
-//                        webViewModel.prefersNavigationBarHidden = YES;
-//                        [RQ_APPDELEGATE.services pushViewModel:webViewModel animated:YES];
-            
-            //显示真实考场
-            NYExaminationViewModel *examinationViewModel = [[NYExaminationViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{}];
-            examinationViewModel.km = RQ_YDTQuestion_Module.subjectStr.intValue;
-            [RQ_APPDELEGATE.services pushViewModel:examinationViewModel animated:YES];
-            
-        } else {
-            if (RQ_VIP_Module.freeLookSimExamNum == 1||
-                RQ_COMMON_MANAGER.APP_SWITCH) {//审核状态不用看广告
-//                            NSString *urlStr = [NSString stringWithFormat:@"https://mn.zzxcx.net/#/exam/begin?username=%@&subject=%@&model=%@&headimg=%@",[RQ_USER_MANAGER.currentUser.userName qmui_stringByEncodingUserInputQuery],RQ_YDTQuestion_Module.subjectStr,RQ_YDTQuestion_Module.carTypeStrNew,RQ_USER_MANAGER.currentUser.photo];
-//                            NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:urlStr]];
-//                            RQWebViewModel *webViewModel = [[RQWebViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{RQViewModelRequestKey:request, RQViewModelWebViewTypeKey:@(RQWebViewType_Exam)}];
-//                            webViewModel.prefersNavigationBarHidden = YES;
-//                            [RQ_APPDELEGATE.services pushViewModel:webViewModel animated:YES];
+    if (RQ_USER_MANAGER.isShouldLogin) {
+        [RQ_VIP_Module isVipWithSubject:RQ_YDTQuestion_Module.subject + 1 complete:^(BOOL isVip) {
+            if (isVip) {
+                //                        username subject headimg gs 替换-> model
+                //                        NSString *urlStr = [NSString stringWithFormat:@"https://mn.zzxcx.net/#/exam/begin?username=%@&subject=%@&model=%@&headimg=%@",[RQ_USER_MANAGER.currentUser.userName qmui_stringByEncodingUserInputQuery],RQ_YDTQuestion_Module.subjectStr,RQ_YDTQuestion_Module.carTypeStrNew,RQ_USER_MANAGER.currentUser.photo];
+                //                        NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:urlStr]];
+                //                        RQWebViewModel *webViewModel = [[RQWebViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{RQViewModelRequestKey:request, RQViewModelWebViewTypeKey:@(RQWebViewType_Exam)}];
+                //                        webViewModel.prefersNavigationBarHidden = YES;
+                //                        [RQ_APPDELEGATE.services pushViewModel:webViewModel animated:YES];
                 
                 //显示真实考场
                 NYExaminationViewModel *examinationViewModel = [[NYExaminationViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{}];
                 examinationViewModel.km = RQ_YDTQuestion_Module.subjectStr.intValue;
                 [RQ_APPDELEGATE.services pushViewModel:examinationViewModel animated:YES];
-                RQ_VIP_Module.freeLookSimExamNum = 0;
+                
             } else {
-                if(!RQ_COMMON_MANAGER.APP_SWITCH){
-                    [RQ_ALERTVIEW_MANAGER showAlertWithAlertType:RQAlertType_AD title:@"" message:@"" confirmTitle:@"充值会员无限使用" cancelTitle:@"看广告解锁使用" confirmAction:^(__kindof QMUIDialogViewController * _Nonnull dialogViewController) {
-                        [RQ_VIP_Module gotoBuyVipWithVipPageType:RQVIPPageType_Full];
-                    } cancelAction:^(__kindof QMUIDialogViewController * _Nonnull dialogViewController) {
-                        [RQ_AD_Module loadRewardvodAd];
-                    }];
+                if (RQ_VIP_Module.freeLookSimExamNum == 1||
+                    RQ_COMMON_MANAGER.APP_SWITCH) {//审核状态不用看广告
+                    //                            NSString *urlStr = [NSString stringWithFormat:@"https://mn.zzxcx.net/#/exam/begin?username=%@&subject=%@&model=%@&headimg=%@",[RQ_USER_MANAGER.currentUser.userName qmui_stringByEncodingUserInputQuery],RQ_YDTQuestion_Module.subjectStr,RQ_YDTQuestion_Module.carTypeStrNew,RQ_USER_MANAGER.currentUser.photo];
+                    //                            NSURLRequest *request = [[NSURLRequest alloc] initWithURL:[NSURL URLWithString:urlStr]];
+                    //                            RQWebViewModel *webViewModel = [[RQWebViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{RQViewModelRequestKey:request, RQViewModelWebViewTypeKey:@(RQWebViewType_Exam)}];
+                    //                            webViewModel.prefersNavigationBarHidden = YES;
+                    //                            [RQ_APPDELEGATE.services pushViewModel:webViewModel animated:YES];
+                    
+                    //显示真实考场
+                    NYExaminationViewModel *examinationViewModel = [[NYExaminationViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{}];
+                    examinationViewModel.km = RQ_YDTQuestion_Module.subjectStr.intValue;
+                    [RQ_APPDELEGATE.services pushViewModel:examinationViewModel animated:YES];
+                    RQ_VIP_Module.freeLookSimExamNum = 0;
+                } else {
+                    if(!RQ_COMMON_MANAGER.APP_SWITCH){
+                        [RQ_ALERTVIEW_MANAGER showAlertWithAlertType:RQAlertType_AD title:@"" message:@"" confirmTitle:@"充值会员无限使用" cancelTitle:@"看广告解锁使用" confirmAction:^(__kindof QMUIDialogViewController * _Nonnull dialogViewController) {
+                            [RQ_VIP_Module gotoBuyVipWithVipPageType:RQVIPPageType_Full];
+                        } cancelAction:^(__kindof QMUIDialogViewController * _Nonnull dialogViewController) {
+                            [RQ_AD_Module loadRewardvodAd];
+                        }];
+                    }
+                    
                 }
-                
             }
-        }
-    }];
+        }];
+    }
 }
 
 //分阶段练习
 - (IBAction)btnCateLxAction:(UIButton *)sender {
-    NYBlockExerciseViewModel *blockExerciseViewModel = [[NYBlockExerciseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{
-        RQHomePageSubjectTypeKey : @(self.viewModel.homePageSubjectType),
-    }];
-    [RQ_APPDELEGATE.services pushViewModel:blockExerciseViewModel animated:YES];
+    if (RQ_USER_MANAGER.isShouldLogin) {
+        NYBlockExerciseViewModel *blockExerciseViewModel = [[NYBlockExerciseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{
+            RQHomePageSubjectTypeKey : @(self.viewModel.homePageSubjectType),
+        }];
+        [RQ_APPDELEGATE.services pushViewModel:blockExerciseViewModel animated:YES];
+    }
 }
 
 //易错专项
 - (IBAction)btnFallibilityAction:(UIButton *)sender {
-    
-    NYFailSpecialExerciseViewModel *failSpecialExerciseViewModel = [[NYFailSpecialExerciseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{
-        RQHomePageSubjectTypeKey : @(self.viewModel.homePageSubjectType),
-    }];
-    [RQ_APPDELEGATE.services pushViewModel:failSpecialExerciseViewModel animated:YES];
+    if (RQ_USER_MANAGER.isShouldLogin) {
+        NYFailSpecialExerciseViewModel *failSpecialExerciseViewModel = [[NYFailSpecialExerciseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{
+            RQHomePageSubjectTypeKey : @(self.viewModel.homePageSubjectType),
+        }];
+        [RQ_APPDELEGATE.services pushViewModel:failSpecialExerciseViewModel animated:YES];
+    }
 }
 
 //500精选
 - (IBAction)btnWBAction:(UIButton *)sender {
-    
-    [RQ_VIP_Module isVipWithSubject:RQ_YDTQuestion_Module.subject + 1 complete:^(BOOL isVip) {
-        if (isVip) {
-            NSArray *arr = [[RQ_YDTQuestion_Module getQuestionWithSubject:RQ_YDTQuestion_Module.subject exerciseType:RQExerciseType_HandPick ].rac_sequence.signal map:^id _Nullable(RQYDTQuestionModel  *ydtQuestionModel) {
-                return [RQExerciseModel exerciseModelWithRQYDTQuestionModel:ydtQuestionModel];
-            }].toArray;
-            RQExerciseViewModel *exerciseViewModel = [[RQExerciseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{
-                RQHomePageCarTypeKey        : @(RQ_YDTQuestion_Module.carType),
-                RQHomePageSubjectTypeKey    : @(RQ_YDTQuestion_Module.subject),
-                RQHomeSubPageTypeKey        : @(RQHomeSubPageType_SequentialPractice),
-                RQViewModelIDKey            : @"精选500题",
-                RQExerciseTypeKey           : @(RQExerciseType_HandPick),
-                RQViewModelUtilKey          : arr,
-            }];
-            [RQ_APPDELEGATE.services pushViewModel:exerciseViewModel animated:YES];
-        } else {
-            [RQ_VIP_Module gotoBuyVipWithVipPageType:RQVIPPageType_Full];
-        }
-    }];
+    if (RQ_USER_MANAGER.isShouldLogin) {
+        [RQ_VIP_Module isVipWithSubject:RQ_YDTQuestion_Module.subject + 1 complete:^(BOOL isVip) {
+            if (isVip) {
+                NSArray *arr = [[RQ_YDTQuestion_Module getQuestionWithSubject:RQ_YDTQuestion_Module.subject exerciseType:RQExerciseType_HandPick ].rac_sequence.signal map:^id _Nullable(RQYDTQuestionModel  *ydtQuestionModel) {
+                    return [RQExerciseModel exerciseModelWithRQYDTQuestionModel:ydtQuestionModel];
+                }].toArray;
+                RQExerciseViewModel *exerciseViewModel = [[RQExerciseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:@{
+                    RQHomePageCarTypeKey        : @(RQ_YDTQuestion_Module.carType),
+                    RQHomePageSubjectTypeKey    : @(RQ_YDTQuestion_Module.subject),
+                    RQHomeSubPageTypeKey        : @(RQHomeSubPageType_SequentialPractice),
+                    RQViewModelIDKey            : @"精选500题",
+                    RQExerciseTypeKey           : @(RQExerciseType_HandPick),
+                    RQViewModelUtilKey          : arr,
+                }];
+                [RQ_APPDELEGATE.services pushViewModel:exerciseViewModel animated:YES];
+            } else {
+                [RQ_VIP_Module gotoBuyVipWithVipPageType:RQVIPPageType_Full];
+            }
+        }];
+    }
 }
 
 //专项练习
 - (IBAction)btnZxPracticeAction:(UIButton *)sender {
-    RQSpecialPractiseViewModel *specialPractiseViewModel = [[RQSpecialPractiseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:nil];
-    [RQ_APPDELEGATE.services pushViewModel:specialPractiseViewModel animated:YES];
+    if (RQ_USER_MANAGER.isShouldLogin) {
+        RQSpecialPractiseViewModel *specialPractiseViewModel = [[RQSpecialPractiseViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:nil];
+        [RQ_APPDELEGATE.services pushViewModel:specialPractiseViewModel animated:YES];
+    }
 }
 
 //电子资料
 - (IBAction)btnCorpuscleresAction:(UIButton *)sender {
     NSLog(@"点击了-电子资料");
-    [RQ_SHARE_FUNCTION miniwithUserName:RQ_COMMON_MANAGER.JSJP_XCX_NAME path:RQ_COMMON_MANAGER.JSJP_XCX_PAGE];
+    if (RQ_USER_MANAGER.isShouldLogin) {
+        [RQ_SHARE_FUNCTION miniwithUserName:RQ_COMMON_MANAGER.JSJP_XCX_NAME path:RQ_COMMON_MANAGER.JSJP_XCX_PAGE];
+    }
 }
 
 //错题收藏
 - (IBAction)btnErrorCollectAction:(UIButton *)sender {
-    RQErrorAndCollectViewModel *errorAndCollectViewModel = [[RQErrorAndCollectViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:nil];
-    [RQ_APPDELEGATE.services pushViewModel:errorAndCollectViewModel animated:YES];
+    if (RQ_USER_MANAGER.isShouldLogin) {
+        RQErrorAndCollectViewModel *errorAndCollectViewModel = [[RQErrorAndCollectViewModel alloc] initWithServices:RQ_APPDELEGATE.services params:nil];
+        [RQ_APPDELEGATE.services pushViewModel:errorAndCollectViewModel animated:YES];
+    }
 }
 
 

+ 0 - 17
jiaPei/Modules/HomePageModule/View/HomeSubPage/易错专项/NYFailItemPointCellView02.h

@@ -1,17 +0,0 @@
-//
-//  NYFailItemPointCellView02.h
-//  jiaPei
-//
-//  Created by Ning.ge on 2024/12/17.
-//  Copyright © 2024 JCZ. All rights reserved.
-//
-
-#import <UIKit/UIKit.h>
-
-NS_ASSUME_NONNULL_BEGIN
-
-@interface NYFailItemPointCellView02 : UIView
-
-@end
-
-NS_ASSUME_NONNULL_END

+ 0 - 21
jiaPei/Modules/HomePageModule/View/HomeSubPage/易错专项/NYFailItemPointCellView02.m

@@ -1,21 +0,0 @@
-//
-//  NYFailItemPointCellView02.m
-//  jiaPei
-//
-//  Created by Ning.ge on 2024/12/17.
-//  Copyright © 2024 JCZ. All rights reserved.
-//
-
-#import "NYFailItemPointCellView02.h"
-
-@implementation NYFailItemPointCellView02
-
-/*
-// Only override drawRect: if you perform custom drawing.
-// An empty implementation adversely affects performance during animation.
-- (void)drawRect:(CGRect)rect {
-    // Drawing code
-}
-*/
-
-@end

+ 2 - 0
jiaPei/Modules/HomePageModule/View/HomeSubPage/易错专项/NYFailSpecialExerciseDetailsCell.h

@@ -12,6 +12,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface NYFailSpecialExerciseDetailsCell : RQCommonCollectionViewCell
 
+@property (weak, nonatomic) IBOutlet UIImageView *vm_bm_imageView;
+
 @property (weak, nonatomic) IBOutlet UILabel *scoreStr_label;
 
 @property (weak, nonatomic) IBOutlet UIView *tbList_view;

+ 1 - 0
jiaPei/Modules/HomePageModule/View/HomeSubPage/易错专项/NYFailSpecialExerciseDetailsCell.m

@@ -80,6 +80,7 @@
 }
 
 - (void)initTbList_view{
+    self.vm_bm_imageView.image = [UIImage rq_resizableImage:@"blue_jb_bg"];
     // 初始化按钮
     CGFloat yOffset = 0; // 初始偏移量
     CGFloat cellHeight = 35.f; // 每个 Cell 的高度(根据实际设计调整)

+ 2 - 2
jiaPei/Modules/HomePageModule/View/HomeSubPage/易错专项/NYFailSpecialExerciseDetailsCell.xib

@@ -23,7 +23,7 @@
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nQV-y2-0ZW" userLabel="View-ct">
                                 <rect key="frame" x="5" y="5" width="365" height="214"/>
                                 <subviews>
-                                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="blue_jb_bg" translatesAutoresizingMaskIntoConstraints="NO" id="fAh-LT-a9N">
+                                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="fAh-LT-a9N">
                                         <rect key="frame" x="0.0" y="0.0" width="365" height="214"/>
                                         <userDefinedRuntimeAttributes>
                                             <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
@@ -149,12 +149,12 @@
                 <outlet property="scoreStr_label" destination="G05-l5-gNb" id="qbb-kp-dcc"/>
                 <outlet property="submit_btn" destination="XBW-iM-cie" id="iU2-q9-92b"/>
                 <outlet property="tbList_view" destination="ZG8-v6-VoO" id="vtF-S7-FEf"/>
+                <outlet property="vm_bm_imageView" destination="fAh-LT-a9N" id="Zcu-IB-lcY"/>
             </connections>
             <point key="canvasLocation" x="38.931297709923662" y="-12.67605633802817"/>
         </collectionViewCell>
     </objects>
     <resources>
-        <image name="blue_jb_bg" width="181.66667175292969" height="270.66665649414062"/>
         <image name="white_title_left" width="13" height="12"/>
         <image name="white_title_right" width="13" height="12"/>
         <systemColor name="systemBackgroundColor">

+ 2 - 0
jiaPei/Modules/HomePageModule/View/HomeSubPage/易错专项/NYFailSpecialExerciseDetailsCell01.h

@@ -12,6 +12,8 @@ NS_ASSUME_NONNULL_BEGIN
 
 @interface NYFailSpecialExerciseDetailsCell01 : RQCommonCollectionViewCell
 
+@property (weak, nonatomic) IBOutlet UIImageView *vm_bm_imageView;
+
 @property (weak, nonatomic) IBOutlet UIView *vw_ct_view;
 
 @property (weak, nonatomic) IBOutlet UIView *vw_left_view;

+ 150 - 51
jiaPei/Modules/HomePageModule/View/HomeSubPage/易错专项/NYFailSpecialExerciseDetailsCell01.m

@@ -28,7 +28,12 @@
 - (void)bindViewModel:(NYFailSpecialExerciseDetailItemModel *)viewModel {
     @weakify(self)
     self.viewModel = viewModel;
-    self.scoreStr_label.text = viewModel.dataModel.title;
+    if([viewModel.title isEqualToString:@"zhouqi"]||
+       [viewModel.title isEqualToString:@"tianqi"]){
+        self.scoreStr_label.attributedText = [self getAttributedString:viewModel.dataModel.title color:UIColorHex(0xFF6714)];
+    }else{
+        self.scoreStr_label.text = viewModel.dataModel.title;
+    }
     self.vw_left_label.text = viewModel.itemPointTitle;
     __block CGFloat yOffset = 0; // 初始偏移量
     __block CGFloat cellHeight = 35.f; // 每个 Cell 的高度(根据实际设计调整)
@@ -36,33 +41,116 @@
     CGFloat imgW = (RQ_SCREEN_WIDTH-22*2);
     self.itop_view.hidden = YES;
     if(viewModel.dataModel.con.count>0){//手势
+        // 在方法内定义串行队列
+        dispatch_queue_t serialQueue = dispatch_queue_create("com.yourapp.imageLoadingQueue", DISPATCH_QUEUE_SERIAL);
+        self.vw_left_view.hidden = YES;
+        self.itop_view.hidden = NO;
+        self.scoreStr_label.text = viewModel.dataModel.mainTit;
+        __block CGFloat itop_yOffset = 0; // 初始偏移量
+        __block CGFloat itop_cellHeight = 35.f; // 每个 Cell 的高度(根据实际设计调整)
+        int itop_bi = 0;
         for (int i= 0; i<viewModel.dataModel.con.count; i++) {
             NYFailItemPointDataCon *con = viewModel.dataModel.con[i];
-            NSString *img_url = con.image;
-            UIImageView *image_view = [self.item_view viewWithTag:99+i];
-            __block CGSize imageSize = CGSizeMake(imgW,cellHeight);
-            dispatch_async(dispatch_get_global_queue(0, 0), ^{
-                // 处理耗时操作的代码块...
-                imageSize = [UIImage getImageSizeWithURL:img_url];
-                //通知主线程刷新
-                dispatch_async(dispatch_get_main_queue(), ^{
-                    //回调或者说是通知主线程刷新,
-                    if (imageSize.width == 0 || imageSize.height == 0) {
-                        cellHeight = imgW * (175.f / 345.f);
-                    } else {
-                        cellHeight = imgW * (imageSize.height / imageSize.width);
+            if(![con.title isEqualToString:@""]){
+                self.itop_view.frame = CGRectMake(0, 0, imgW, viewModel.dataModel.iviewH);
+                // 从 XIB 加载 NYFailItemPointCellView
+                NYFailItemPointCellView *cellView = [self.itop_view viewWithTag:19+i];
+                cellView.line_view.hidden = YES;
+                cellView.hidden = NO;
+                CGSize str_size = [con.title rq_sizeWithFont:cellView.content_label.font limitWidth:cellView.content_label.width];
+                if(str_size.height>itop_cellHeight){
+                    itop_cellHeight = str_size.height + 12.f;
+                }
+                cellView.content_label.attributedText = [self getAttributedString:con.title color:UIColorHex(0xFF6714)];
+                NSString *img_url = con.image;
+                if(![img_url isEqualToString:@""]){
+                    self.itop_view.frame = CGRectMake(0, 0, imgW, viewModel.dataModel.iviewH+viewModel.dataModel.imgsH);
+                    UIImageView *image_view = [self.itop_view viewWithTag:79+i];
+                    __block CGSize imageSize = CGSizeMake(imgW,cellHeight);
+                    dispatch_async(serialQueue, ^{
+                        // 处理耗时操作的代码块...
+                        imageSize = [UIImage getImageSizeWithURL:img_url];
+                        //通知主线程刷新
+                        dispatch_async(dispatch_get_main_queue(), ^{
+                            cellView.frame = CGRectMake(0, itop_yOffset, RQ_SCREEN_WIDTH-22*2, itop_cellHeight);
+                            itop_yOffset +=itop_cellHeight;
+                            //回调或者说是通知主线程刷新,
+                            if (imageSize.width == 0 || imageSize.height == 0) {
+                                cellHeight = imgW * (175.f / 345.f);
+                            } else {
+                                cellHeight = imgW * (imageSize.height / imageSize.width);
+                            }
+                            image_view.frame = CGRectMake(0, itop_yOffset, imgW, cellHeight);
+                            // 调整偏移量
+                            itop_yOffset += cellHeight+10*(i+1);
+                        });
+                    });
+                    [image_view sd_setImageWithURL:[NSURL URLWithString:img_url]];
+                    image_view.hidden = NO;
+                    bi = i+1;
+                    itop_bi = i+1;
+                }else{
+                    dispatch_async(serialQueue, ^{
+                        //通知主线程刷新
+                        dispatch_async(dispatch_get_main_queue(), ^{
+                            cellView.frame = CGRectMake(0, itop_yOffset, RQ_SCREEN_WIDTH-22*2, itop_cellHeight);
+                            itop_yOffset +=itop_cellHeight;
+                        });
+                    });
+                    itop_bi = i+1;
+                }
+            }
+            if(con.questions.count>0){//二层子集
+                for (int z= 0; z<con.questions.count; z++) {
+                    NYFailItemPointDataQuesImage *img = con.questions[z];
+                    NSString *subTitle_str = img.subTitle;
+                    NSString *img_url = img.image;
+                    if(![img_url isEqualToString:@""]){
+                        self.itop_view.frame = CGRectMake(0, 0, imgW, viewModel.dataModel.iviewH+viewModel.dataModel.imgsH);
+                        // 从 XIB 加载 NYFailItemPointCellView
+                        NYFailItemPointCellView *cellView = [self.itop_view viewWithTag:19+i+z+1];
+                        cellView.line_view.hidden = YES;
+                        cellView.hidden = NO;
+                        CGSize str_size = [subTitle_str rq_sizeWithFont:cellView.content_label.font limitWidth:cellView.content_label.width];
+                        if(str_size.height>itop_cellHeight){
+                            itop_cellHeight = str_size.height + 12.f;
+                        }
+                        cellView.content_label.attributedText = [self getAttributedString:subTitle_str color:UIColorHex(0xFF6714)];
+                        UIImageView *image_view = [self.itop_view viewWithTag:79+i+z+1];
+                        __block CGSize imageSize = CGSizeMake(imgW,cellHeight);
+                        dispatch_async(serialQueue, ^{
+                            // 处理耗时操作的代码块...
+                            imageSize = [UIImage getImageSizeWithURL:img_url];
+                            //通知主线程刷新
+                            dispatch_async(dispatch_get_main_queue(), ^{
+                                cellView.frame = CGRectMake(0, itop_yOffset, RQ_SCREEN_WIDTH-22*2, itop_cellHeight);
+                                itop_yOffset +=itop_cellHeight;
+                                //回调或者说是通知主线程刷新,
+                                if (imageSize.width == 0 || imageSize.height == 0) {
+                                    cellHeight = imgW * (175.f / 345.f);
+                                } else {
+                                    cellHeight = imgW * (imageSize.height / imageSize.width);
+                                }
+                                image_view.frame = CGRectMake(0, itop_yOffset, imgW, cellHeight);
+                                // 调整偏移量
+                                itop_yOffset += cellHeight+10*(z+1);
+                            });
+                        });
+                        [image_view sd_setImageWithURL:[NSURL URLWithString:img_url]];
+                        image_view.hidden = NO;
+                        bi += z+1;
+                        itop_bi += z+1;
                     }
-                    image_view.frame = CGRectMake(0, yOffset, imgW, cellHeight);
-                    // 调整偏移量
-                    yOffset += cellHeight+10*(i+1);
-                });
-            });
-            [image_view sd_setImageWithURL:[NSURL URLWithString:img_url]];
-            image_view.hidden = NO;
-            bi = i+1;
+                }
+            }
+        }
+        
+        for (int ci=itop_bi; ci<10; ci++) {
+            NYFailItemPointCellView *cellView = [self.itop_view viewWithTag:19+ci];
+            cellView.hidden = YES;
         }
         for (int ci=bi; ci<10; ci++) {
-            UIImageView *image_view = [self.item_view viewWithTag:99+ci];
+            UIImageView *image_view = [self.itop_view viewWithTag:79+ci];
             image_view.hidden = YES;
         }
     }
@@ -80,8 +168,9 @@
             NSString *tag_str = tag.tag;
             // 从 XIB 加载 NYFailItemPointCellView
             UIButton *btn = [self.itop_view viewWithTag:29+i];
+            CGSize tag_size = [tag_str rq_sizeWithFont:btn.titleLabel.font];
             btn.hidden = NO;
-            btn.frame = CGRectMake(10, tagitop_yOffset+10*i, 150.f, 25.f);
+            btn.frame = CGRectMake(10, tagitop_yOffset+10*i, tag_size.width + 20.f, 25.f);
             [btn setTitleNormal:tag_str];
             // 调整偏移量
             tagitop_yOffset += 25.f+10*i;
@@ -251,36 +340,37 @@
             cellView.hidden = YES;
         }
     }
-    for (int i= 0; i<viewModel.dataModel.questions.images.count; i++) {
-        NSString *img_url = viewModel.dataModel.questions.images[i];
-        UIImageView *image_view = [self.item_view viewWithTag:99+i];
-        __block CGSize imageSize = CGSizeMake(imgW,cellHeight);
-        dispatch_async(dispatch_get_global_queue(0, 0), ^{
-            @strongify(self)
-            // 处理耗时操作的代码块...
-            imageSize = [UIImage getImageSizeWithURL:img_url];
-            //通知主线程刷新
-            dispatch_async(dispatch_get_main_queue(), ^{
-                //回调或者说是通知主线程刷新,
-                if (imageSize.width == 0 || imageSize.height == 0) {
-                    cellHeight = imgW * (175.f / 345.f);
-                } else {
-                    cellHeight = imgW * (imageSize.height / imageSize.width);
-                }
-                image_view.frame = CGRectMake(0, yOffset, imgW, cellHeight);
-                // 调整偏移量
-                yOffset += cellHeight+10*(i+1);
+    if(viewModel.dataModel.questions.images.count>0){
+        for (int i= 0; i<viewModel.dataModel.questions.images.count; i++) {
+            NSString *img_url = viewModel.dataModel.questions.images[i];
+            UIImageView *image_view = [self.item_view viewWithTag:99+i];
+            __block CGSize imageSize = CGSizeMake(imgW,cellHeight);
+            dispatch_async(dispatch_get_global_queue(0, 0), ^{
+                @strongify(self)
+                // 处理耗时操作的代码块...
+                imageSize = [UIImage getImageSizeWithURL:img_url];
+                //通知主线程刷新
+                dispatch_async(dispatch_get_main_queue(), ^{
+                    //回调或者说是通知主线程刷新,
+                    if (imageSize.width == 0 || imageSize.height == 0) {
+                        cellHeight = imgW * (175.f / 345.f);
+                    } else {
+                        cellHeight = imgW * (imageSize.height / imageSize.width);
+                    }
+                    image_view.frame = CGRectMake(0, yOffset, imgW, cellHeight);
+                    // 调整偏移量
+                    yOffset += cellHeight+10*(i+1);
+                });
             });
-        });
-        [image_view sd_setImageWithURL:[NSURL URLWithString:img_url]];
-        image_view.hidden = NO;
-        bi = i+1;
-        for (int ci=bi; ci<10; ci++) {
-            UIImageView *image_view = [self.item_view viewWithTag:99+ci];
-            image_view.hidden = YES;
+            [image_view sd_setImageWithURL:[NSURL URLWithString:img_url]];
+            image_view.hidden = NO;
+            bi = i+1;
         }
     }
-    
+    for (int ci=bi; ci<10; ci++) {
+        UIImageView *image_view = [self.item_view viewWithTag:99+ci];
+        image_view.hidden = YES;
+    }
 }
 
 
@@ -374,6 +464,8 @@
 }
 
 - (void)initTbList_view{
+    
+    self.vm_bm_imageView.image = [UIImage rq_resizableImage:@"blue_jb_bg"];
     UIView *itop_view = [[UIView alloc] initWithFrame:CGRectMake(0, 0, RQ_SCREEN_WIDTH-22*2, 20)];
     itop_view.backgroundColor = UIColor.whiteColor;
     itop_view.layer.cornerRadius = 5.f;
@@ -408,6 +500,13 @@
         label.hidden = YES;
         [self.itop_view addSubview:label];
     }
+    for (int i= 0; i<10; i++) {
+        UIImageView *imageView = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, RQ_SCREEN_WIDTH-22*2, 0)];
+        imageView.tag = 79+i;
+        imageView.hidden = YES;
+        [self.itop_view addSubview:imageView];
+    }
+    
     // 初始化按钮
     CGFloat yOffset = 0; // 初始偏移量
     CGFloat cellHeight = 1.f; // 每个 Cell 的高度(根据实际设计调整)

+ 4 - 4
jiaPei/Modules/HomePageModule/View/HomeSubPage/易错专项/NYFailSpecialExerciseDetailsCell01.xib

@@ -22,7 +22,7 @@
                             <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7DJ-ub-ofg" userLabel="View-ct">
                                 <rect key="frame" x="5" y="5" width="365" height="214"/>
                                 <subviews>
-                                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="blue_jb_bg" translatesAutoresizingMaskIntoConstraints="NO" id="eY5-ix-ttB">
+                                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="eY5-ix-ttB">
                                         <rect key="frame" x="0.0" y="0.0" width="365" height="214"/>
                                         <userDefinedRuntimeAttributes>
                                             <userDefinedRuntimeAttribute type="number" keyPath="layer.cornerRadius">
@@ -74,7 +74,7 @@
                                         </connections>
                                     </button>
                                     <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="80p-MY-DnZ" userLabel="View-left-tag">
-                                        <rect key="frame" x="8" y="10" width="62" height="27"/>
+                                        <rect key="frame" x="4" y="10" width="62" height="27"/>
                                         <subviews>
                                             <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="blue_left_tag" translatesAutoresizingMaskIntoConstraints="NO" id="iIG-sY-7iv">
                                                 <rect key="frame" x="0.0" y="0.0" width="62" height="27"/>
@@ -123,7 +123,7 @@
                                     <constraint firstItem="KDU-E8-yHY" firstAttribute="leading" secondItem="7DJ-ub-ofg" secondAttribute="leading" constant="16" id="ieR-vN-73Q"/>
                                     <constraint firstItem="KDU-E8-yHY" firstAttribute="top" secondItem="80p-MY-DnZ" secondAttribute="bottom" constant="8" id="lOQ-5p-fmf"/>
                                     <constraint firstItem="QYr-eO-ybw" firstAttribute="leading" secondItem="x4n-ZG-8qa" secondAttribute="trailing" constant="5" id="o4E-yR-4p5"/>
-                                    <constraint firstItem="80p-MY-DnZ" firstAttribute="leading" secondItem="7DJ-ub-ofg" secondAttribute="leading" constant="8" id="p2L-Fc-Mpl"/>
+                                    <constraint firstItem="80p-MY-DnZ" firstAttribute="leading" secondItem="7DJ-ub-ofg" secondAttribute="leading" constant="4" id="p2L-Fc-Mpl"/>
                                     <constraint firstAttribute="trailing" secondItem="NfW-LJ-PIE" secondAttribute="trailing" constant="126" id="qlG-c5-2xW"/>
                                     <constraint firstAttribute="bottom" secondItem="NfW-LJ-PIE" secondAttribute="bottom" constant="16" id="tI8-ow-49D"/>
                                 </constraints>
@@ -149,6 +149,7 @@
                 <outlet property="item_view" destination="KDU-E8-yHY" id="oRX-8m-pCz"/>
                 <outlet property="scoreStr_label" destination="x4n-ZG-8qa" id="tIY-i6-bfv"/>
                 <outlet property="submit_btn" destination="NfW-LJ-PIE" id="YgS-Z1-otx"/>
+                <outlet property="vm_bm_imageView" destination="eY5-ix-ttB" id="TrI-Q6-dYW"/>
                 <outlet property="vw_ct_view" destination="7DJ-ub-ofg" id="u0c-md-C1Z"/>
                 <outlet property="vw_left_label" destination="FCO-na-l87" id="Tvu-JU-3Vj"/>
                 <outlet property="vw_left_view" destination="80p-MY-DnZ" id="JvX-7n-3QW"/>
@@ -157,7 +158,6 @@
         </collectionViewCell>
     </objects>
     <resources>
-        <image name="blue_jb_bg" width="181.66667175292969" height="270.66665649414062"/>
         <image name="blue_left_tag" width="62" height="27"/>
         <image name="white_title_left" width="13" height="12"/>
         <image name="white_title_right" width="13" height="12"/>

+ 2 - 1
jiaPei/Modules/HomePageModule/ViewModel/HomeSubPage/易错专项/NYFailGroupPointDataModel.h

@@ -56,7 +56,7 @@ NS_ASSUME_NONNULL_BEGIN
 //驾驶证
 @property (nonatomic, copy) NSString *btnBgcColor;
 @property (nonatomic, strong) NYFailItemPointDataQuestions *questions;
-//罚款
+//罚款//周期//天气
 @property (nonatomic, strong) NSArray<NYFailItemPointDataQuesTexts *> *fquestions;
 //拘留
 @property (nonatomic, strong) NSArray<NYFailItemPointDataQuesImage *> *iquestions;
@@ -65,6 +65,7 @@ NS_ASSUME_NONNULL_BEGIN
 @property (nonatomic, strong) NSArray<NYFailItemPointDataCon *> *con;
 @property (nonatomic, copy) NSString *mainTit;
 
+
 @end
 
 @interface NYFailItemVideoDateModel : RQBaseModel

+ 1 - 1
jiaPei/Modules/HomePageModule/ViewModel/HomeSubPage/易错专项/NYFailGroupPointDataModel.m

@@ -15,7 +15,6 @@
                 @"questions"     :         [NYFailItemPointDataQuesImage class],
             };
 }
-
 @end
 
 @implementation NYFailItemPointDataQuesImage
@@ -46,6 +45,7 @@
                 @"iquestions"     :         [NYFailItemPointDataQuesImage class],
                 @"tagquestions"     :         [NYFailItemPointDataQuestions class],
                 @"con"     :         [NYFailItemPointDataCon class],
+                @"zquestions"     :         [NYFailItemPointDataQuesTexts class],
             };
 }
 

+ 57 - 19
jiaPei/Modules/HomePageModule/ViewModel/HomeSubPage/易错专项/NYFailSpecialExerciseDetailsViewModel.m

@@ -77,32 +77,70 @@
         for (NYFailItemPointDataModel *item in model.pointData) {
             if(item.showType.intValue == 1) continue;
             if(item.con.count>0){//手势
+                __block CGFloat itop_yOffset = 0; // 初始偏移量
                 __block CGFloat yOffset = 0; // 初始偏移量
                 __block CGFloat cellHeight = 35.f; // 每个 Cell 的高度(根据实际设计调整)
                 CGFloat imgW = (RQ_SCREEN_WIDTH-22*2);
                 for (int i= 0; i<item.con.count; i++) {
                     NYFailItemPointDataCon *con = item.con[i];
-                    NSString *img_url = con.image;
-                    if(img_url.length>0){
-                        __block CGSize imageSize = CGSizeMake(imgW,cellHeight);
-                        dispatch_async(dispatch_get_global_queue(0, 0), ^{
-                            // 处理耗时操作的代码块...
-                            imageSize = [UIImage getImageSizeWithURL:img_url];
-                            //通知主线程刷新
-                            dispatch_async(dispatch_get_main_queue(), ^{
-                                //回调或者说是通知主线程刷新,
-                                if (imageSize.width == 0 || imageSize.height == 0) {
-                                    cellHeight = imgW * (175.f / 345.f);
-                                } else {
-                                    cellHeight = imgW * (imageSize.height / imageSize.width);
-                                }
-                                yOffset += cellHeight+4.f;
-                                item.imgsH = yOffset;
+                    if(![con.title isEqualToString:@""]){
+                        itop_yOffset += cellHeight;
+                        item.iviewH += itop_yOffset;
+                        NSString *img_url = con.image;
+                        if(img_url.length>0){
+                            __block CGSize imageSize = CGSizeMake(imgW,cellHeight);
+                            dispatch_async(dispatch_get_global_queue(0, 0), ^{
+                                // 处理耗时操作的代码块...
+                                imageSize = [UIImage getImageSizeWithURL:img_url];
+                                //通知主线程刷新
+                                dispatch_async(dispatch_get_main_queue(), ^{
+                                    //回调或者说是通知主线程刷新,
+                                    if (imageSize.width == 0 || imageSize.height == 0) {
+                                        cellHeight = imgW * (175.f / 345.f);
+                                    } else {
+                                        cellHeight = imgW * (imageSize.height / imageSize.width);
+                                    }
+                                    yOffset += cellHeight;
+                                    item.imgsH = yOffset;
+                                });
                             });
-                        });
+                            item.imgsH = yOffset;
+                        }
+                    }
+                    if(con.questions.count>0){
+                        CGFloat cellH = 0.f;
+                        for(int z = 0; z<con.questions.count; z++){//文字 + 图片
+                            NYFailItemPointDataQuesImage *img = con.questions[z];
+                            NSString *title_str = img.subTitle;
+                            NSString *img_url = img.image;
+                            if(title_str.length>0){
+                                cellH +=35.f;
+                            }
+                            if(img_url.length>0){
+                                __block CGSize imageSize = CGSizeMake(imgW,cellHeight);
+                                dispatch_async(dispatch_get_global_queue(0, 0), ^{
+                                    // 处理耗时操作的代码块...
+                                    imageSize = [UIImage getImageSizeWithURL:img_url];
+                                    //通知主线程刷新
+                                    dispatch_async(dispatch_get_main_queue(), ^{
+                                        //回调或者说是通知主线程刷新,
+                                        if (imageSize.width == 0 || imageSize.height == 0) {
+                                            cellHeight = imgW * (175.f / 345.f);
+                                        } else {
+                                            cellHeight = imgW * (imageSize.height / imageSize.width);
+                                        }
+                                        yOffset += cellHeight+12.f;
+                                        item.imgsH = yOffset+60.f;
+                                    });
+                                });
+                                item.imgsH = yOffset;
+                            }
+                        }
+//                        item.iviewH = cellH + 45.f;
                     }
+                    
                 }
-                item.imgsH = yOffset;
+                
             }
             if(item.tagquestions.count>0){//拘留
                 CGFloat cellH = 0.f;
@@ -150,7 +188,7 @@
                     });
                 }
             }
-            if(item.fquestions.count>0){//罚款
+            if(item.fquestions.count>0){//罚款//周期
                 CGFloat cellH = 0.f;
                 for (int i= 0; i<item.fquestions.count; i++) {
                     NYFailItemPointDataQuesTexts *texts = item.fquestions[i];