123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254 |
- //
- // RDSHomeInfoVC.m
- // Temperature
- //
- // Created by RD on 2023/2/1.
- //
- #import "RDSHomeInfoVC.h"
- #import "RDSHomeInfoCell.h"
- #import "RDSAddMemberVC.h"
- static NSString * const RDSHomeInfoCellID = @"RDSHomeInfoCell";
- @interface RDSHomeInfoVC ()<UICollectionViewDelegate, UICollectionViewDataSource>
- @property (weak, nonatomic) IBOutlet UILabel *homeNameLab;
- @property (weak, nonatomic) IBOutlet UIImageView *homeNameIcon;
- @property (weak, nonatomic) IBOutlet UILabel *localLab;
- @property (weak, nonatomic) IBOutlet UILabel *gatewayLab;
- @property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
- @property (weak, nonatomic) IBOutlet UIButton *delHomeBtn;
- @property (nonatomic, strong) UIBarButtonItem *editBtn;
- @property (nonatomic, strong) UIBarButtonItem *finishBtn;
- @property (nonatomic, assign) BOOL isEdit;// 是否在编辑
- @end
- @implementation RDSHomeInfoVC
- - (void)viewDidLoad {
- [super viewDidLoad];
- // Do any additional setup after loading the view from its nib.
-
- self.title = @"家庭信息维护";
-
- [self p_navEditItem];
- [self p_setupCollectionView];
-
- [self p_refreshUI];
- }
- - (void)viewWillAppear:(BOOL)animated{
- [super viewWillAppear:animated];
-
- [self refreshHomeInfo];
- }
- - (void)p_refreshUI{
- _homeNameLab.text = _home.name;
- _localLab.text = _home.city;
- _gatewayLab.text = _home.gateway;
- [_collectionView reloadData];
- }
- - (void)refreshHomeInfo{
- RDS_WEAKSELF(weakSelf)
- [RDSHomeModel rds_getHomeDetailWithHomeId:_home.record_id finished:^(RDSHomeModel * home, NSError * error) {
-
- if(error == nil){
- weakSelf.home = home;
- [weakSelf p_refreshUI];
- }
-
- }];
- }
- - (void)p_navEditItem{
- [self.navigationItem setRightBarButtonItem:self.editBtn];
- }
- - (void)p_navFinishItem{
- [self.navigationItem setRightBarButtonItem:self.finishBtn];
- }
- - (UIBarButtonItem *)editBtn{
- if(_editBtn == nil){
- UIBarButtonItem *item = [RDSBarButtonItem barButtonItemWithTitle:@"编辑" color:kTextColor target:self action:@selector(p_onEitdBtn)];
- _editBtn = item;
- }
- return _editBtn;
- }
- - (UIBarButtonItem *)finishBtn{
- if(_finishBtn == nil){
- UIBarButtonItem *item = [RDSBarButtonItem barButtonItemWithTitle:@"完成" color:RDSGreenColor target:self action:@selector(p_onEitdFinishBtn)];
- _finishBtn = item;
- }
- return _finishBtn;
- }
- // 编辑
- - (void)p_onEitdBtn{
-
- _isEdit = YES;
- [self p_navFinishItem];
-
- _delHomeBtn.hidden = NO;
- _homeNameIcon.hidden = NO;
- _homeNameLab.highlighted = YES;
-
- [_collectionView reloadData];
- }
- // 完成
- - (void)p_onEitdFinishBtn{
-
- _isEdit = NO;
- [self p_navEditItem];
-
- _delHomeBtn.hidden = YES;
- _homeNameIcon.hidden = YES;
- _homeNameLab.highlighted = NO;
-
- [_collectionView reloadData];
- }
- - (IBAction)onRenameClick:(id)sender {
-
- if(!_isEdit) return;
-
- RDS_WEAKSELF(weakSelf)
- [self rds_alertInputTitle:@"修改家庭名称" msg:nil placeholder:_home.name doneAction:^(NSString *name) {
- [weakSelf p_updateHomeName:name];
- TheDataManager.currentUser.user_name = name;
- }];
- }
- - (void)p_updateHomeName:(NSString *)name{
-
- RDS_WEAKSELF(weakSelf)
- [RDSDemoApiHelper rds_updateHomeInfoWithHomeId:_home.record_id name:name city:nil success:^(id responseObject) {
- if ([responseObject[@"code"] intValue] == 0) {
- [weakSelf refreshHomeInfo];
- } else{
- [RDSHudShower showErrorWithStatus:responseObject[@"message"]];
- }
- } failure:^(NSError *error) {
- [RDSHudShower showBottomToast:@"连接服务器失败"];
- }];
- }
- // 删除家庭
- - (IBAction)delHomeClick:(id)sender {
-
- RDS_WEAKSELF(weakSelf)
- [TheAlertCtrl rds_alertWithTitle:@"提示" message:@"删除家庭将清空该家庭下的所有数据,确认删除?" cancel:@"取消" sure:@"删除家庭" cancelColor:nil sureColor:RDSRedColor cancelAction:nil sureAction:^{
- [weakSelf p_delHome];
- }];
- }
- - (void)p_delHome{
- RDS_WEAKSELF(weakSelf)
- [RDSDemoApiHelper rds_delHomeWithHomeId:_home.record_id success:^(id responseObject) {
- if ([responseObject[@"code"] intValue] == 0) {
- [RDSHudShower showBottomToast:@"删除成功"];
- [weakSelf popViewControllerAnimated:YES];
- } else{
- [RDSHudShower showBottomToast:responseObject[@"message"]];
- }
- } failure:^(NSError *error) {
- [RDSHudShower showBottomToast:@"连接服务器失败"];
- }];
- }
- #pragma mark - UICollectionView
- - (void)p_setupCollectionView{
- UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init];
- layout.itemSize = CGSizeMake(44, 44);
- layout.minimumLineSpacing = 20;
- layout.sectionInset = UIEdgeInsetsMake(0, 0, 0, 0);
- layout.scrollDirection = UICollectionViewScrollDirectionVertical;
-
- self.collectionView.delegate = self;
- self.collectionView.dataSource = self;
- self.collectionView.showsVerticalScrollIndicator = NO;
- self.collectionView.collectionViewLayout = layout;
- self.collectionView.backgroundColor = [UIColor clearColor];
- [self.collectionView registerNib:[UINib nibWithNibName:RDSHomeInfoCellID bundle:nil] forCellWithReuseIdentifier:RDSHomeInfoCellID];
-
- [self.collectionView reloadData];
- }
- #pragma mark - UICollectionViewDelegate
- - (void)collectionView:(UICollectionView *)collectionView didSelectItemAtIndexPath:(NSIndexPath *)indexPath {
-
- [collectionView deselectItemAtIndexPath:indexPath animated:YES];
-
-
- if(indexPath.row == _home.member.count){
- RDSAddMemberVC *vc = [[RDSAddMemberVC alloc] init];
- vc.homeId = self.home.record_id;
- [self pushViewController:vc animated:YES];
- }
- else{
- if(_isEdit && indexPath.row != 0){
- // 编辑时删除成员
- [self p_delMemberAlertWithUserId:_home.member[indexPath.row].user_id];
- }
- }
-
- }
- // 删除成员弹窗
- - (void)p_delMemberAlertWithUserId:(NSString *)user_id{
-
- RDS_WEAKSELF(weakSelf)
- [TheAlertCtrl rds_alertWithTitle:@"删除权限" message:@"确认删除此用户控制权限吗?" cancel:@"取消" sure:@"删除" cancelColor:nil sureColor:RDSRedColor cancelAction:nil sureAction:^{
- [weakSelf p_delMemberWithUserId:user_id];
- }];
-
- }
- // 删除成员
- - (void)p_delMemberWithUserId:(NSString *)user_id{
-
- RDS_WEAKSELF(weakSelf)
- [RDSHudShower showWithStatus:@"加载中" autoDismiss:NO];
- [RDSDemoApiHelper rds_delMemberWithHomeId:_home.record_id user_id:user_id success:^(id responseObject) {
-
- if ([responseObject[@"code"] intValue] == 0) {
- [RDSHudShower showCenterToast:@"删除成功"];
- [weakSelf refreshHomeInfo];
- } else{
- [RDSHudShower showErrorWithStatus:responseObject[@"message"]];
- }
-
- } failure:^(NSError *error) {
- [RDSHudShower showBottomToast:@"连接服务器失败"];
- }];
- }
- #pragma mark - UICollectionViewDataSource
- - (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section {
- return _home.member.count+1;
- }
- - (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath {
-
- RDSHomeInfoCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:RDSHomeInfoCellID forIndexPath:indexPath];
-
-
- if(indexPath.row == _home.member.count){
- cell.isAddBtn = YES;
- }else{
- cell.isAddBtn = NO;
- cell.photo = _home.member[indexPath.row].photo;
- }
- cell.isFirstCell = indexPath.row == 0 ? YES : NO;
- cell.isEditing = _isEdit;
- return cell;
- }
- @end
|