|
@@ -0,0 +1,434 @@
|
|
|
+//
|
|
|
+// EquipmentDetailVC.m
|
|
|
+// jiaPei
|
|
|
+//
|
|
|
+// Created by apple on 2017/5/10.
|
|
|
+// Copyright © 2017年 JCZ. All rights reserved.
|
|
|
+//
|
|
|
+
|
|
|
+#import "EquipmentDetailVC.h"
|
|
|
+#import "DateView.h"
|
|
|
+
|
|
|
+
|
|
|
+@interface EquipmentDetailVC ()<UITableViewDelegate,UITableViewDataSource>
|
|
|
+{
|
|
|
+ UILabel *priceLabel;
|
|
|
+ UITableView *mainTableView;
|
|
|
+ UILabel *noReserveLabel;
|
|
|
+ UIButton *beginBtn, *endBtn;
|
|
|
+ UIButton *discountBtn;
|
|
|
+
|
|
|
+ NSArray *dataArray;
|
|
|
+ NSString *beginTime, *endTime;
|
|
|
+ CGFloat price;
|
|
|
+ BOOL isUseDisCount;
|
|
|
+}
|
|
|
+@end
|
|
|
+
|
|
|
+@implementation EquipmentDetailVC
|
|
|
+
|
|
|
+- (void)viewDidLoad {
|
|
|
+ [super viewDidLoad];
|
|
|
+ self.title = [NSString stringWithFormat:@" 模拟设备%@",_devDic[@"CODE"]];
|
|
|
+ self.view.backgroundColor = backGroundColor;
|
|
|
+ [self configNavigationBar];
|
|
|
+
|
|
|
+
|
|
|
+ isUseDisCount = NO;
|
|
|
+ beginTime = endTime = @"";
|
|
|
+ dataArray = [NSArray array];
|
|
|
+
|
|
|
+ CGFloat x,y,w,h,bd;
|
|
|
+
|
|
|
+ x = y = bd = 10;
|
|
|
+ w = kSize.width - 2*x;
|
|
|
+ h = 40;
|
|
|
+ UILabel *label = [[UILabel alloc] setxywh];
|
|
|
+ label.backgroundColor = backGroundColor;
|
|
|
+ [label borderColor:RQlineColor width:1 cornorRadius:5];
|
|
|
+ [label setText:[NSString stringWithFormat:@" 训练点:%@",_imiAppoint] Font:Font17 TextColor:kTitleColor];
|
|
|
+ [self.view addSubview:label];
|
|
|
+
|
|
|
+ y += h + bd;
|
|
|
+ h = 90;
|
|
|
+ label = [[UILabel alloc] setxywh];
|
|
|
+ label.backgroundColor = backGroundColor;
|
|
|
+ [label borderColor:RQlineColor width:1 cornorRadius:5];
|
|
|
+ label.numberOfLines = 3;
|
|
|
+ [label setText:@" 培训日期:\n 开放时间:\n 培训价格:" Font:Font17 TextColor:kTitleColor];
|
|
|
+ [self.view addSubview:label];
|
|
|
+ priceLabel = label;
|
|
|
+
|
|
|
+ y += h + bd;
|
|
|
+ h = 30;
|
|
|
+ label = [[UILabel alloc] setxywh];
|
|
|
+ [label setText:@" 已约时段:" Font:Font17 TextColor:kTitleColor];
|
|
|
+ [self.view addSubview:label];
|
|
|
+
|
|
|
+ y += h + bd/2.0;
|
|
|
+ h = kSize.height - y - kNavOffSet - 200;
|
|
|
+ mainTableView = [[UITableView alloc] initWithFrame:setDIYFrame style:UITableViewStylePlain];
|
|
|
+ mainTableView.backgroundColor = backGroundColor;
|
|
|
+ [mainTableView borderColor:RQlineColor width:1 cornorRadius:5];
|
|
|
+ mainTableView.delegate = self;
|
|
|
+ mainTableView.dataSource = self;
|
|
|
+ [self.view addSubview:mainTableView];
|
|
|
+
|
|
|
+ [mainTableView registerClass:[UITableViewCell class] forCellReuseIdentifier:@"cell"];
|
|
|
+
|
|
|
+
|
|
|
+ //如果有预约就隐藏
|
|
|
+ label = [[UILabel alloc] setxywh];
|
|
|
+ label.x += 10;
|
|
|
+ label.y += 10;
|
|
|
+ label.width -= 20;
|
|
|
+ label.height = 50;
|
|
|
+ label.numberOfLines = 0;
|
|
|
+ [label setText:@"恭喜您,该设备还没有任何预约!" Font:FontTitle TextColor:[UIColor orangeColor]];
|
|
|
+ [self.view addSubview:label];
|
|
|
+ noReserveLabel = label;
|
|
|
+
|
|
|
+ //200 的尺寸 需要 选择时间 是否优惠 预约按钮 20+30 + 20+60+20 + 50
|
|
|
+ NSString *labelString = @" 选择时段:";
|
|
|
+ w = [labelString sizeForFont:Font17].width;
|
|
|
+ y += h + 2*bd;
|
|
|
+ h = 30;
|
|
|
+ label = [[UILabel alloc] setxywh];
|
|
|
+ [label setText:labelString Font:Font17 TextColor:kTitleColor];
|
|
|
+ [self.view addSubview:label];
|
|
|
+
|
|
|
+ x += w + bd;
|
|
|
+ w = (kSize.width - x - bd - 30)/2.0;
|
|
|
+ UIButton *btn = [UIButton buttonWithType:UIButtonTypeSystem];
|
|
|
+ btn.frame = setDIYFrame;
|
|
|
+ [btn setTitle:@"开始时间" textColor:RQ_MAIN_COLOR Font:Font17 fotState:UIControlStateNormal];
|
|
|
+ [btn borderColor:RQ_MAIN_COLOR width:1 cornorRadius:5];
|
|
|
+ [btn target:self tag:1];
|
|
|
+ [self.view addSubview:btn];
|
|
|
+ beginBtn = btn;
|
|
|
+
|
|
|
+ x += w + 30;
|
|
|
+ btn = [UIButton buttonWithType:UIButtonTypeSystem];
|
|
|
+ btn.frame = setDIYFrame;
|
|
|
+ [btn setTitle:@"结束时间" textColor:RQ_MAIN_COLOR Font:Font17 fotState:UIControlStateNormal];
|
|
|
+ [btn borderColor:RQ_MAIN_COLOR width:1 cornorRadius:5];
|
|
|
+ [btn target:self tag:2];
|
|
|
+ [self.view addSubview:btn];
|
|
|
+ endBtn = btn;
|
|
|
+
|
|
|
+ x -= 25;
|
|
|
+ w = 2 * bd;
|
|
|
+ label = [[UILabel alloc] setxywh];
|
|
|
+ [label setText:@"--" Font:Font17 TextColor:kTitleColor Alignment:NSTextAlignmentCenter];
|
|
|
+ [self.view addSubview:label];
|
|
|
+
|
|
|
+
|
|
|
+ //优惠
|
|
|
+ x = bd;
|
|
|
+ y += h + 2*bd;
|
|
|
+ w = kSize.width - 2*x;
|
|
|
+ h = 40;
|
|
|
+ btn = [[UIButton alloc] setxywh];
|
|
|
+ btn.titleLabel.numberOfLines = 0;
|
|
|
+ [btn setTitle:@"暂无可用优惠券" textColor:contentTextColor Font:Font17 fotState:UIControlStateNormal];
|
|
|
+ [btn borderColor:contentTextColor width:1 cornorRadius:5];
|
|
|
+ [btn target:self tag:3];
|
|
|
+ [self.view addSubview:btn];
|
|
|
+ btn.userInteractionEnabled = NO;
|
|
|
+ discountBtn = btn;
|
|
|
+
|
|
|
+
|
|
|
+ //预约按钮
|
|
|
+ x = 0;
|
|
|
+ w += 2*bd;
|
|
|
+ y += 60 + 2*bd;
|
|
|
+ h = 50;
|
|
|
+ btn = [[UIButton alloc] setxywh];
|
|
|
+ btn.backgroundColor = backGroundColor;
|
|
|
+ [btn setTitle:@"我要预约" textColor:RQ_MAIN_COLOR Font:FontTitle fotState:UIControlStateNormal];
|
|
|
+ [btn target:self tag:4];
|
|
|
+ [self.view addSubview:btn];
|
|
|
+
|
|
|
+
|
|
|
+ [self getReserveMnByDevId];
|
|
|
+}
|
|
|
+
|
|
|
+- (void)btnClick:(UIButton *)sender {
|
|
|
+
|
|
|
+ if (sender.tag == 1) {
|
|
|
+ DateView *dateV = [[DateView alloc] init];
|
|
|
+ [dateV setStyle:3];
|
|
|
+ [dateV showWithComplete:^(NSString * result) {
|
|
|
+
|
|
|
+ beginTime = result;
|
|
|
+ [beginBtn setTitle:beginTime forState:UIControlStateNormal];
|
|
|
+ }];
|
|
|
+ }
|
|
|
+
|
|
|
+ if (sender.tag == 2) {
|
|
|
+ DateView *dateV = [[DateView alloc] init];
|
|
|
+ [dateV setStyle:3];
|
|
|
+ [dateV showWithComplete:^(NSString * result) {
|
|
|
+
|
|
|
+ endTime = result;
|
|
|
+ [endBtn setTitle:endTime forState:UIControlStateNormal];
|
|
|
+ }];
|
|
|
+ }
|
|
|
+
|
|
|
+ if (sender.tag == 3) {
|
|
|
+ UIAlertController *alert = [UIAlertController alertControllerWithTitle:@"是否使用优惠券?" message:nil preferredStyle:UIAlertControllerStyleAlert];
|
|
|
+
|
|
|
+ UIAlertAction *noAction = [UIAlertAction actionWithTitle:@"不使用" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
|
|
|
+ isUseDisCount = NO;
|
|
|
+ [discountBtn setTitle:@"您有免费半小时优惠券,点击使用" forState:UIControlStateNormal];
|
|
|
+ }];
|
|
|
+
|
|
|
+ UIAlertAction *yesAction = [UIAlertAction actionWithTitle:@"使用" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) {
|
|
|
+ isUseDisCount = YES;
|
|
|
+ [discountBtn setTitle:@"已选择使用免费半小时优惠券,请选择时长为半小时的时间段" forState:UIControlStateNormal];
|
|
|
+ }];
|
|
|
+
|
|
|
+ [alert addAction:noAction];
|
|
|
+ [alert addAction:yesAction];
|
|
|
+
|
|
|
+ [self presentViewController:alert animated:NO completion:nil];
|
|
|
+ }
|
|
|
+
|
|
|
+ if (sender.tag == 4) {
|
|
|
+ if (![self isValueTime]) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (isUseDisCount) {
|
|
|
+ if (![self isHalfOfHour]) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ [self uploadReserveMn];
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+- (BOOL)isValueTime {
|
|
|
+
|
|
|
+ if (beginTime.length < 1) {
|
|
|
+ ShowMsg(@"请选择开始时间");
|
|
|
+ return NO;
|
|
|
+ }
|
|
|
+ if (endTime.length < 1) {
|
|
|
+ ShowMsg(@"请选择结束时间");
|
|
|
+ return NO;
|
|
|
+ }
|
|
|
+
|
|
|
+ if ([beginTime isEqualToString:endTime]) {
|
|
|
+ ShowMsg(@"开始时间不能等于结束时间");
|
|
|
+ return NO;
|
|
|
+ }
|
|
|
+
|
|
|
+ NSString *beginHou = [[beginTime componentsSeparatedByString:@":"] firstObject];
|
|
|
+ NSString *beginMin = [[beginTime componentsSeparatedByString:@":"] lastObject];
|
|
|
+
|
|
|
+ NSString *endHou = [[endTime componentsSeparatedByString:@":"] firstObject];
|
|
|
+ NSString *endMin = [[endTime componentsSeparatedByString:@":"] lastObject];
|
|
|
+
|
|
|
+ if (beginHou.integerValue > endHou.integerValue) {
|
|
|
+ ShowMsg(@"开始时间不能大于结束时间");
|
|
|
+ return NO;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ if (beginHou.integerValue == endHou.integerValue) {
|
|
|
+ if (beginMin.integerValue > endMin.integerValue) {
|
|
|
+ ShowMsg(@"开始时间不能大于结束时间");
|
|
|
+ return NO;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ return YES;
|
|
|
+}
|
|
|
+
|
|
|
+- (BOOL)isHalfOfHour {
|
|
|
+
|
|
|
+ NSString *beginHou = [[beginTime componentsSeparatedByString:@":"] firstObject];
|
|
|
+ NSString *beginMin = [[beginTime componentsSeparatedByString:@":"] lastObject];
|
|
|
+
|
|
|
+ NSString *endHou = [[endTime componentsSeparatedByString:@":"] firstObject];
|
|
|
+ NSString *endMin = [[endTime componentsSeparatedByString:@":"] lastObject];
|
|
|
+
|
|
|
+ if (endHou.integerValue - beginHou.integerValue > 1) {
|
|
|
+ return NO;
|
|
|
+ }
|
|
|
+
|
|
|
+ if (![beginHou isEqualToString:endHou] && [beginMin isEqualToString:endMin]) {
|
|
|
+ return NO;
|
|
|
+ }
|
|
|
+
|
|
|
+ return YES;
|
|
|
+}
|
|
|
+
|
|
|
+#pragma mark tableView
|
|
|
+-(NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {
|
|
|
+ return dataArray.count;
|
|
|
+}
|
|
|
+
|
|
|
+-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
|
|
|
+
|
|
|
+ UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
|
|
|
+ if (cell == nil) {
|
|
|
+ cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"cell"];
|
|
|
+ cell.selectionStyle = UITableViewCellSelectionStyleNone;
|
|
|
+ cell.textLabel.textAlignment = NSTextAlignmentCenter;
|
|
|
+ }
|
|
|
+
|
|
|
+ NSDictionary *dic = dataArray[indexPath.row];
|
|
|
+ cell.textLabel.text = [NSString stringWithFormat:@"%@--%@ %@",dic[@"startTime"],dic[@"endTime"],dic[@"userName"]];
|
|
|
+ return cell;
|
|
|
+}
|
|
|
+
|
|
|
+-(UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section{
|
|
|
+ return [UIView new];
|
|
|
+}
|
|
|
+
|
|
|
+-(CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section {
|
|
|
+ return .1;
|
|
|
+}
|
|
|
+
|
|
|
+#pragma mark 数据请求
|
|
|
+- (void)getReserveMnByDevId {
|
|
|
+
|
|
|
+ [LoadingView showHUD];
|
|
|
+ if (![Util connectedToNetWork]) {
|
|
|
+ showMsgUnconnect();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ NSMutableArray *arr=[NSMutableArray array];
|
|
|
+ [arr addPro:@"dqbh" Value:RQ_USER_MANAGER.currentUser.city];
|
|
|
+ [arr addPro:@"devId" Value:_devDic[@"ID"]];
|
|
|
+ [arr addPro:@"quotaId" Value:_quotaId];
|
|
|
+
|
|
|
+ NSString* method = @"getReserveMnByDevId";
|
|
|
+ [jiaPeiManager requestAnythingWithURL:method array:arr data:nil completion:^(NSDictionary *root) {
|
|
|
+
|
|
|
+ RemoveHUD();
|
|
|
+// NSLog(@"getReserveMnByDevId--><>%@",root);
|
|
|
+ if (!root) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if ([root[@"code"] intValue] == 1) {
|
|
|
+ ShowMsg(root[@"body"]);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ price = [[root[@"body"] objectForKey:@"price"] floatValue];
|
|
|
+ if ([[root[@"body"] objectForKey:@"price"] floatValue] > 0.0) {
|
|
|
+
|
|
|
+ priceLabel.text = [NSString stringWithFormat:@" 培训日期:%@\n 开放时间:%@-%@\n 培训价格:%@元",[root[@"body"] objectForKey:@"PXRQ"],[root[@"body"] objectForKey:@"STARTTIME"],[root[@"body"] objectForKey:@"ENDTIME"],[root[@"body"] objectForKey:@"price"]];
|
|
|
+ [self getDiscountHalfHour];
|
|
|
+ }else {
|
|
|
+ priceLabel.text = [NSString stringWithFormat:@" 培训日期:%@\n\n 开放时间:%@-%@",[root[@"body"] objectForKey:@"PXRQ"],[root[@"body"] objectForKey:@"STARTTIME"],[root[@"body"] objectForKey:@"ENDTIME"]];
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ dataArray = [root[@"body"] objectForKey:@"rmlist"];
|
|
|
+
|
|
|
+ if (dataArray.count > 0) {
|
|
|
+ noReserveLabel.hidden = YES;
|
|
|
+ }else {
|
|
|
+ noReserveLabel.hidden = NO;
|
|
|
+ }
|
|
|
+ [mainTableView reloadData];
|
|
|
+ }];
|
|
|
+}
|
|
|
+
|
|
|
+- (void)getDiscountHalfHour {
|
|
|
+
|
|
|
+ if (![Util connectedToNetWork]) {
|
|
|
+ showMsgUnconnect();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ NSMutableArray *arr=[NSMutableArray array];
|
|
|
+ [arr addPro:@"dqbh" Value:RQ_USER_MANAGER.currentUser.city];
|
|
|
+ [arr addPro:@"userId" Value:RQ_USER_MANAGER.currentUser._id];
|
|
|
+
|
|
|
+ NSString* method = @"getDiscountHalfHour";
|
|
|
+ [jiaPeiManager requestAnythingWithURL:method array:arr data:nil completion:^(NSDictionary *root) {
|
|
|
+
|
|
|
+ if (!root) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if ([root[@"code"] intValue] == 1) {
|
|
|
+ ShowMsg(root[@"body"]);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if ([root[@"body"] integerValue] == 1) {
|
|
|
+ discountBtn.userInteractionEnabled = YES;
|
|
|
+ discountBtn.height = 50;
|
|
|
+ [discountBtn setTitle:@"您有免费半小时优惠券,点击使用" textColor:[UIColor orangeColor] Font:Font17 fotState:UIControlStateNormal];
|
|
|
+ discountBtn.layer.borderColor = [UIColor orangeColor].CGColor;
|
|
|
+ }
|
|
|
+ }];
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+- (void)uploadReserveMn {
|
|
|
+
|
|
|
+ [LoadingView showHUD];
|
|
|
+ if (![Util connectedToNetWork]) {
|
|
|
+ showMsgUnconnect();
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ NSString *isPay = @"2";
|
|
|
+ if (price > 0.00) {
|
|
|
+ if (isUseDisCount) {
|
|
|
+ isPay = @"1";
|
|
|
+ }else{
|
|
|
+ isPay = @"0";
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ NSMutableArray *arr=[NSMutableArray array];
|
|
|
+ [arr addPro:@"dqbh" Value:RQ_USER_MANAGER.currentUser.city];
|
|
|
+ [arr addPro:@"deviceId" Value:_devDic[@"ID"]];
|
|
|
+ [arr addPro:@"quotaId" Value:_quotaId];
|
|
|
+ [arr addPro:@"isPay" Value:isPay];
|
|
|
+ [arr addPro:@"startTime" Value:beginTime];
|
|
|
+ [arr addPro:@"endTime" Value:endTime];
|
|
|
+ [arr addPro:@"userId" Value:RQ_USER_MANAGER.currentUser._id];
|
|
|
+
|
|
|
+
|
|
|
+ NSString* method = @"uploadReserveMn";
|
|
|
+ [jiaPeiManager requestAnythingWithURL:method array:arr data:nil completion:^(NSDictionary *root) {
|
|
|
+
|
|
|
+ RemoveHUD();
|
|
|
+
|
|
|
+ if (!root) {
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ if ([root[@"code"] intValue] == 1) {
|
|
|
+ ShowMsg(root[@"body"]);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ [self getReserveMnByDevId];
|
|
|
+ }];
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+- (void)didReceiveMemoryWarning {
|
|
|
+ [super didReceiveMemoryWarning];
|
|
|
+ // Dispose of any resources that can be recreated.
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+@end
|