CoachDetailInfoVC.m 9.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322
  1. //
  2. // CoachDetailInfoVC.m
  3. // jiaPei
  4. //
  5. // Created by apple on 16/1/14.
  6. // Copyright © 2016年 JCZ. All rights reserved.
  7. //
  8. #import "CoachDetailInfoVC.h"
  9. #import "commentVC.h"
  10. #import "CoachCell.h"
  11. #import "HolderView.h"
  12. @interface CoachDetailInfoVC ()<UITableViewDataSource,UITableViewDelegate,UIAlertViewDelegate>
  13. {
  14. UITableView *mainTableView;
  15. HolderView *holderV;
  16. NSArray *coachsArray;
  17. NSArray *commentsArray;
  18. NSString *telephone;
  19. BOOL isCommented[2];
  20. BOOL isLoad;
  21. }
  22. @end
  23. @implementation CoachDetailInfoVC
  24. - (void)viewDidLoad {
  25. [super viewDidLoad];
  26. coachsArray = [NSArray array];
  27. commentsArray = [NSArray array];
  28. isLoad = NO;
  29. [self myInit];
  30. [self getMyCoachInfos];
  31. }
  32. -(void)viewWillAppear:(BOOL)animated
  33. {
  34. [super viewWillAppear:animated];
  35. self.navigationController.navigationBarHidden = NO;
  36. if (isLoad)
  37. {
  38. [self getComments];
  39. }
  40. isLoad = YES;
  41. }
  42. -(void)myInit
  43. {
  44. [self setTitle:@"我的教练"];
  45. self.navigationController.navigationBar.translucent = NO;
  46. [self configNavigationBar];
  47. mainTableView = [[UITableView alloc] initWithFrame:kFrame style:UITableViewStylePlain];
  48. mainTableView.height -= kNavOffSet;
  49. mainTableView.delegate = self;
  50. mainTableView.dataSource = self;
  51. mainTableView.rowHeight = 450;
  52. [self.view addSubview:mainTableView];
  53. holderV = [[HolderView alloc] initWithFrame:mainTableView.frame];
  54. [holderV freshBlock:^{
  55. [self getMyCoachInfos];
  56. }];
  57. [self.view addSubview:holderV];
  58. }
  59. #pragma mark 异步获取教练信息
  60. -(void)getMyCoachInfos
  61. {
  62. if (![Util connectedToNetWork]) {
  63. showMsgUnconnect();
  64. return;
  65. }
  66. NSMutableArray *arr=[NSMutableArray array];
  67. if (!defUser.userDict[@"outId"]) {
  68. holderV.hidden = NO;
  69. return;
  70. }
  71. if ([defUser.userDict[@"outId"] isEqualToString:@""]) {
  72. holderV.hidden = NO;
  73. return;
  74. }
  75. [arr addPro:@"stuOutId" Value:defUser.userDict[@"outId"]];
  76. [arr addPro:@"dqbh" Value:defUser.userDict[@"city"]];
  77. NSString* method = @"getMyCoachInfos";
  78. [MBProgressHUD showLoadToView:self.view];
  79. [jiaPeiManager requestAnythingWithURL:method array:arr data:nil completion:^(NSDictionary *root) {
  80. holderV.hidden = NO;
  81. [MBProgressHUD hideHUDForView:self.view];
  82. // NSLog(@"教练列表---->%@",root);
  83. if (!root) {
  84. [LoadingView showMsg:@"刷新失败!"];
  85. return;
  86. }
  87. NSString* code = root[@"code"];
  88. if (code.intValue >0)
  89. {
  90. [LoadingView showMsg:root[@"body"]];
  91. return;
  92. }
  93. NSArray* body = root[@"body"];
  94. if (body.count < 1) {
  95. [LoadingView showMsg:@"查询不到您的教练"];
  96. return;
  97. }
  98. //我的教练
  99. coachsArray = body;
  100. //NSLog(@"教练刷新表");
  101. [self getComments];
  102. holderV.hidden = YES;
  103. [mainTableView reloadData];
  104. }];
  105. }
  106. #pragma mark 异步获取评论列表
  107. -(void)getComments
  108. {
  109. if (![Util connectedToNetWork]) {
  110. showMsgUnconnect();
  111. return;
  112. }
  113. NSMutableArray* arr = [NSMutableArray array];
  114. [arr addPro:@"userId" Value:defUser.userDict[@"id"]];
  115. [arr addPro:@"type" Value:@"2"];
  116. NSString* method = @"getMyEvaluate";
  117. [MBProgressHUD showLoadToView:self.view];
  118. [jiaPeiManager requestAnythingWithURL:method array:arr data:nil completion:^(NSDictionary *root) {
  119. [MBProgressHUD hideHUDForView:self.view];
  120. // NSLog(@"获取自己评论返回----%@的数据%@",arr,commentsArray);
  121. if (!root || [root[@"code"] intValue] == 1)
  122. {
  123. return;
  124. }
  125. commentsArray = root[@"body"];
  126. if (commentsArray.count < 1)
  127. {
  128. return;
  129. }
  130. //NSLog(@"评价刷新表");
  131. [mainTableView reloadData];
  132. }];
  133. }
  134. #pragma mark 对教练评价
  135. -(void)clickToComment:(UIButton *)btn
  136. {
  137. if (isCommented[btn.tag])
  138. {
  139. //NSLog(@"已评价,要在btn显示上做改动--第几个按钮-- %ld",(long)btn.tag);
  140. return;
  141. }
  142. commentVC *VC = [[commentVC alloc] init];
  143. VC.commentType = @"2";
  144. VC.coachzh = [coachsArray[btn.tag] objectForKey:@"SFZHM"];;
  145. [self navPushHideTabbarToVC:VC];
  146. }
  147. #pragma mark tableView delegate
  148. -(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  149. {
  150. return coachsArray.count;
  151. }
  152. -(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  153. {
  154. CoachCell *cell = [tableView dequeueReusableCellWithIdentifier:@"coachCell"];
  155. if (cell == nil)
  156. {
  157. cell = [[[NSBundle mainBundle] loadNibNamed:@"CoachCell" owner:nil options:nil] firstObject];
  158. [cell.commentBtn addTarget:self action:@selector(clickToComment:) forControlEvents:UIControlEventTouchUpInside];
  159. [cell.commentBtn setTitleColor:defGreen forState:UIControlStateNormal];
  160. [cell.commentBtn.layer setBorderWidth:.7];
  161. [cell.commentBtn.layer setBorderColor:defGreen.CGColor];
  162. }
  163. cell.selectionStyle = UITableViewCellSelectionStyleNone;
  164. cell.commentBtn.tag = indexPath.row;
  165. //教练信息获取的内容
  166. NSDictionary *dic = coachsArray[indexPath.row];
  167. //头像地址
  168. //NSLog(@"%@",[imgPreFix stringByAppendingString:dic[@"HEADIMG"]]);
  169. NSString *url = [Tools imageStringWithPhotoString:dic[@"PHOTO"] HeadImgString:dic[@"HEADIMG"] Type:1];
  170. [cell.headImg sd_setImageWithURL:[NSURL URLWithString:url] placeholderImage:[UIImage imageNamed:@"drawer_head"]];
  171. cell.name.text = [NSString stringWithFormat:@"姓名: %@",dic[@"NAME"]];
  172. cell.sex.text = [NSString stringWithFormat:@"性别: %@",[dic[@"SEX"] intValue]==1?@"男":@"女"];
  173. cell.score.text = [NSString stringWithFormat:@"综合评分:%@",dic[@"SCORE"]];
  174. if ([dic[@"SCORE"] isEqualToString:@""] || !dic[@"SCORE"])
  175. {
  176. cell.score.text = @"综合评分:暂无";
  177. }
  178. cell.carType.text = [NSString stringWithFormat:@"带教车型:%@",dic[@"CARTYPE"]];
  179. cell.school.text = [NSString stringWithFormat:@"所属驾校:%@",dic[@"SCHOOLNAME"]];
  180. NSString *KM = @"";
  181. if ([dic[@"SUBJECT"] isEqualToString:@"2"]) {
  182. KM = @"科二";
  183. }
  184. if ([dic[@"SUBJECT"] isEqualToString:@"3"]) {
  185. KM = @"科三";
  186. }
  187. cell.teachTypeLabel.text = KM;
  188. NSString *tel = [NSString stringWithFormat:@"%@ %@",dic[@"TELPHONE"],dic[@"MOBILE"]];
  189. if ([dic[@"TELPHONE"] isEqualToString:@""] || ![[dic allKeys]containsObject:@"TELPHONE"])
  190. {
  191. tel = dic[@"MOBILE"];
  192. if ([dic[@"MOBILE"] isEqualToString:@""])
  193. {
  194. tel = @"暂无";
  195. }
  196. telephone = tel;
  197. }
  198. else
  199. {
  200. telephone = dic[@"TELPHONE"];
  201. }
  202. //电话按钮
  203. [cell.telBtn addTarget:self action:@selector(clickToTel) forControlEvents:UIControlEventTouchUpInside];
  204. //字体颜色
  205. NSString *string = [NSString stringWithFormat:@"联系方式:%@",tel];
  206. NSMutableAttributedString *str = [[NSMutableAttributedString alloc] initWithString:[NSString stringWithFormat:@"联系方式:%@",tel]];
  207. NSInteger length = string.length - 5;
  208. [str addAttribute:NSForegroundColorAttributeName value:defGreen range:NSMakeRange(5,length)];
  209. cell.tel.attributedText = str;
  210. cell.bar1.starNumber = [dic[@"STAR"] integerValue];
  211. //教练评论获取的内容 遍历根据coachSFZHM获取某教练的评论
  212. NSDictionary *commentDic;
  213. for (NSDictionary *cDic in commentsArray)
  214. {
  215. if ([cDic[@"bpjr"] isEqualToString:dic[@"SFZHM"]])
  216. {
  217. commentDic = [[NSDictionary alloc] initWithDictionary:cDic];
  218. break;
  219. }
  220. }
  221. if (commentDic.allKeys.count != 0)
  222. {
  223. isCommented[indexPath.row] = YES;
  224. [cell.commentBtn setBackgroundColor:backGroundColor];
  225. [cell.commentBtn setTitle:@"已评价" forState:UIControlStateNormal];
  226. [cell.commentBtn setHidden:YES];
  227. cell.bar1.starNumber = [commentDic[@"star"] integerValue];
  228. cell.bar2.starNumber = [commentDic[@"serviceStar"] integerValue];
  229. cell.bar3.starNumber = [commentDic[@"teachStar"] integerValue];
  230. cell.bar4.starNumber = [commentDic[@"tollStar"] integerValue];
  231. if ([commentDic[@"star"] isEqualToString:@""])
  232. {
  233. cell.bar1.starNumber = 3;
  234. }
  235. if ([commentDic[@"serviceStar"] isEqualToString:@""])
  236. {
  237. cell.bar2.starNumber = 3;
  238. }
  239. if ([commentDic[@"teachStar"] isEqualToString:@""])
  240. {
  241. cell.bar3.starNumber = 3;
  242. }
  243. if ([commentDic[@"tollStar"] isEqualToString:@""])
  244. {
  245. cell.bar4.starNumber = 3;
  246. }
  247. if ([cell.score.text isEqualToString:@"综合评分:暂无"])
  248. {
  249. if (![commentDic[@"score"] isEqualToString:@""])
  250. {
  251. cell.score.text = [NSString stringWithFormat:@"综合评分:%@",commentDic[@"score"]];
  252. }
  253. }
  254. cell.comment.text = commentDic[@"content"];
  255. }
  256. return cell;
  257. }
  258. -(void)clickToTel
  259. {
  260. if (telephone.length == 0 || [telephone isEqualToString:@"暂无"])
  261. {
  262. return;
  263. }
  264. UIAlertView* alert = [[UIAlertView alloc] initWithTitle:nil message:telephone delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"呼叫", nil];
  265. [alert show];
  266. return;
  267. }
  268. #pragma mark - 呼叫功能
  269. -(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
  270. {
  271. if (1 == buttonIndex)
  272. {
  273. NSMutableString * url=[[NSMutableString alloc] initWithFormat:@"tel:%@",telephone];
  274. [[UIApplication sharedApplication] openURL:[NSURL URLWithString:url]];
  275. }
  276. }
  277. - (void)didReceiveMemoryWarning {
  278. [super didReceiveMemoryWarning];
  279. // Dispose of any resources that can be recreated.
  280. }
  281. @end