From cc4663206bdab1afe6d9d547dc1e5247474683b9 Mon Sep 17 00:00:00 2001 From: History <2596007731@qq.com> Date: Wed, 2 Jul 2025 18:34:25 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E7=BB=84=E7=BB=87=E5=85=B3?= =?UTF-8?q?=E7=B3=BB!=E5=88=A0=E9=99=A4=E6=97=A0=E7=94=A8=E4=BB=A3?= =?UTF-8?q?=E7=A0=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../Categorys/NSArray/NSArray+Sudoku.h | 2 +- .../Categorys/NSArray/NSArray+Sudoku.m | 2 +- .../Categorys/NSAttributedString+Extension.h | 2 +- .../Categorys/NSAttributedString+Extension.m | 2 +- .../Categorys/UIDevice/UIDevice+model.h | 2 +- .../Categorys/UIDevice/UIDevice+model.m | 2 +- .../Categorys/UIImage+RoundedCorner.h | 2 +- .../Categorys/UIImage+RoundedCorner.m | 2 +- .../XinjiangProject/Define/StatusMacros.h | 6 +- .../XinjiangProject/Define/YYUtilsMacros.h | 2 +- .../Manager/AudioManager/CQAudioPlayManager.h | 2 +- .../Manager/AudioManager/CQAudioPlayManager.m | 2 +- .../NetworkHelpManager/DownToolsManager.h | 2 +- .../NetworkHelpManager/DownToolsManager.m | 2 +- .../Manager/NetworkHelpManager/JKCQAPI.h | 10 + .../Manager/NetworkHelpManager/JKCQAPI.m | 33 +- .../SDGETHealthTokenManager.h | 2 +- .../SDGETHealthTokenManager.m | 2 +- .../Manager/TUIManager/ESCTUIManager.h | 2 +- .../Manager/TUIManager/ESCTUIManager.m | 2 +- .../AppDelegate/AppDelegate+AppService.m | 4 +- .../Project/Base/DownPDFFileVC.h | 2 +- .../Project/Base/DownPDFFileVC.m | 2 +- .../Project/Base/HQBaseTabBarController.m | 13 +- .../Project/Base/HQBaseViewController.m | 2 +- .../CustomModel/CustomSystemEvaluateModel.h | 2 +- .../CustomModel/CustomSystemEvaluateModel.m | 2 +- .../CustomModel/CustomTUIHistoryModel.h | 2 +- .../CustomModel/CustomTUIHistoryModel.m | 2 +- .../CustomModel/CustomTextModel.h | 2 +- .../CustomModel/CustomTextModel.m | 2 +- .../Project/CustomTUIChat/CustomTUIModel.h | 2 +- .../Project/CustomTUIChat/CustomTUIModel.m | 2 +- .../VC/CustomTUIBaseMessageController.h | 2 +- .../VC/CustomTUIBaseMessageController.m | 2 +- .../CustomTUIChat/VC/CustomTUIHistoryTable.h | 2 +- .../CustomTUIChat/VC/CustomTUIHistoryTable.m | 2 +- .../CustomTUIChat/cell/CustomAudioCell.h | 2 +- .../CustomTUIChat/cell/CustomAudioCell.m | 2 +- .../cell/CustomDoctorIDTableViewCell.h | 2 +- .../cell/CustomDoctorIDTableViewCell.m | 2 +- .../cell/CustomHealthFileVideoCell.h | 2 +- .../cell/CustomHealthFileVideoCell.m | 2 +- .../cell/CustomHealthReportVideoCell.h | 2 +- .../cell/CustomHealthReportVideoCell.m | 2 +- .../CustomTUIChat/cell/CustomMapMessageCell.h | 2 +- .../CustomTUIChat/cell/CustomMapMessageCell.m | 2 +- .../cell/CustomReviceTableViewCell.h | 2 +- .../cell/CustomReviceTableViewCell.m | 2 +- .../cell/CustomSystemImageCell.h | 2 +- .../cell/CustomSystemImageCell.m | 2 +- .../CustomTUIChat/cell/CustomSystemTextCell.h | 2 +- .../CustomTUIChat/cell/CustomSystemTextCell.m | 2 +- .../cell/CustomSystemVideoCell.h | 2 +- .../cell/CustomSystemVideoCell.m | 2 +- .../cellData/CustomMapMessageCellData.h | 2 +- .../cellData/CustomMapMessageCellData.m | 2 +- .../Login/Model/IMUserInfoModel.h | 2 +- .../Login/Model/IMUserInfoModel.m | 2 +- .../XJLoginFoundPasswordViewController.h | 16 + .../XJLoginFoundPasswordViewController.m | 211 ++++ .../Login/XJLoginSetPasswordViewController.h | 18 + .../Login/XJLoginSetPasswordViewController.m | 229 ++++ .../Login/XJLoginViewController.h | 16 + .../Login/XJLoginViewController.m | 576 ++++++++++ .../register/XJRegisterViewController.h | 16 + .../register/XJRegisterViewController.m | 264 +++++ .../Controller/XJAddContactViewController.h | 21 + .../Controller/XJAddContactViewController.m | 355 ++++++ .../Controller/XJEditSystemViewController.h | 16 + .../Controller/XJEditSystemViewController.m | 239 ++++ .../XJMinePictureRecordViewController.h | 18 + .../XJMinePictureRecordViewController.m | 561 +++++++++ .../XJMineQuestionRecordViewController.h | 18 + .../XJMineQuestionRecordViewController.m | 256 +++++ .../Controller/XJMineUserInfoViewController.h | 16 + .../Controller/XJMineUserInfoViewController.m | 141 +++ .../XJMineVideoRecordViewController.h | 19 + .../XJMineVideoRecordViewController.m | 374 ++++++ .../Controller/XJMyCenterViewController.h | 16 + .../Controller/XJMyCenterViewController.m | 294 +++++ .../XJSOSDetailInfoViewController.h | 18 + .../XJSOSDetailInfoViewController.m | 75 ++ .../XJSOSDetailSmallSumViewController.h | 18 + .../XJSOSLookDoctorDetailViewController.h | 22 + .../XJSOSLookDoctoreViewController.h | 16 + .../XJSOSLookDoctoreViewController.m | 135 +++ .../MainCenter/Model/MineCenterUserModel.m | 12 - .../MainCenter/Model/XJBigillessDetailModel.h | 38 + .../MainCenter/Model/XJBigillessDetailModel.m | 17 + .../Model/XJBigillessHospitalModel.h | 19 + .../Model/XJBigillessHospitalModel.m | 18 + .../MainCenter/Model/XJBigillnessModel.h | 24 + .../MainCenter/Model/XJBigillnessModel.m | 19 + .../Model/XJEmergencyContactModel.h | 23 + .../Model/XJEmergencyContactModel.m | 19 + .../MainCenter/Model/XJMineCenterUserModel.h | 30 + .../MainCenter/Model/XJMineCenterUserModel.m | 12 + .../Model/XJSOSDoctorDetailInfoModel.h | 107 ++ .../Model/XJSOSDoctorDetailInfoModel.m | 40 + .../MainCenter/Model/XJSOSDoctorModel.h | 38 + .../MainCenter/Model/XJSOSDoctorModel.m | 37 + .../MainCenter/View/BigillessTableViewCell.h | 18 - .../View/HistoryOrderTableViewCell.h | 18 - .../MainCenter/View/MineHeardTableViewCell.h | 18 - .../MainCenter/View/SOSDetailTableHeardView.h | 22 - .../MainCenter/View/SOSDoctorDetailTable.h | 18 - .../MainCenter/View/XJBigilessTopStatusView.h | 25 + .../MainCenter/View/XJBigilessTopStatusView.m | 120 ++ .../MainCenter/View/XJBigillessListTable.h | 22 + .../MainCenter/View/XJBigillessListTable.m | 137 +++ .../View/XJBigillessTableViewCell.h | 18 + .../View/XJBigillessTableViewCell.m | 193 ++++ .../View/XJHistoryOrderTableViewCell.h | 18 + .../View/XJHistoryOrderTableViewCell.m | 101 ++ .../View/XJMineHeardTableViewCell.h | 18 + .../View/XJMineHeardTableViewCell.m | 77 ++ .../MainCenter/View/XJMineUserInfoTable.h | 29 + .../MainCenter/View/XJMineUserInfoTable.m | 265 +++++ .../MainCenter/View/XJMyCenterHeardView.h | 50 + .../MainCenter/View/XJMyCenterHeardView.m | 203 ++++ .../MainCenter/View/XJMyCenterTableView.h | 33 + .../MainCenter/View/XJMyCenterTableView.m | 264 +++++ .../View/XJSOSDetailTableHeardView.h | 22 + .../View/XJSOSDetailTableHeardView.m | 207 ++++ .../MainCenter/View/XJSOSDoctorDetailTable.h | 18 + .../MainCenter/View/XJSOSDoctorDetailTable.m | 181 +++ .../MainCenter/View/XJSOSDoctorTableView.h | 21 + .../MainCenter/View/XJSOSDoctorTableView.m | 137 +++ .../View/XJSOSDoctorTableViewCell.h | 18 + .../View/XJSOSDoctorTableViewCell.m | 149 +++ .../Project/MainCenter/View/XJSliderView.h | 21 + .../Project/MainCenter/View/XJSliderView.m | 157 +++ .../MonitoringDetailViewController.h | 16 + .../MonitoringDetailViewController.m | 146 +++ .../Controller/MonitoringHistoryController.h | 18 + .../Controller/MonitoringHistoryController.m | 279 +++++ .../MonitoringWarchViewController.h | 16 + .../Monitoring/Model/MonitoringDataModel.h | 23 +- .../Monitoring/Model/MonitoringDataModel.m | 14 + .../Monitoring/View/HeardBadHeardView.h | 16 - .../Monitoring/View/HeardBadTabFooterView.h | 16 - .../Monitoring/View/HeardBadTableView.h | 20 - .../Monitoring/View/HeardBadTableViewCell.h | 16 - .../Monitoring/View/HeardBadTableViewCell.m | 104 -- .../View/MonitoringHistoryTableView.h | 18 + ...bleView.m => MonitoringHistoryTableView.m} | 81 +- .../View/MonitoringHistoryTableViewCell.h | 19 + .../View/MonitoringHistoryTableViewCell.m | 275 +++++ .../View/MonitoringWarchTableHeardView.h | 23 + .../View/MonitoringWarchTableHeardView.m | 401 +++++++ .../View/MonitoringWatchTableFooterView.h | 20 + .../View/MonitoringWatchTableFooterView.m | 99 ++ .../View/MonitoringWatchTableView.h | 35 + .../View/MonitoringWatchTableView.m | 246 ++++ .../View/MonitoringWatchTableViewCell.h | 27 + .../View/MonitoringWatchTableViewCell.m | 199 ++++ .../Controller/EvaluationListViewController.h | 2 +- .../Controller/EvaluationListViewController.m | 2 +- .../Controller/ExpertMainViewController.h | 2 +- .../Controller/ExpertMainViewController.m | 2 +- .../Controller/FileDataDetailViewController.h | 2 +- .../Controller/FileDataDetailViewController.m | 2 +- .../Controller/HospitalIntroViewController.h | 2 +- .../Controller/HospitalIntroViewController.m | 2 +- .../HospitalJianjieViewController.h | 2 +- .../HospitalJianjieViewController.m | 2 +- .../Controller/HospitalMainViewController.h | 2 +- .../Controller/HospitalMainViewController.m | 2 +- .../LookModficalFileViewController.h | 2 +- .../LookModficalFileViewController.m | 6 +- .../QuesstionDetailLookFileViewController.h | 2 +- .../QuesstionDetailLookFileViewController.m | 2 +- .../QuestionMustKnowViewController.h | 2 +- .../QuestionMustKnowViewController.m | 2 +- .../Controller/QuestionPeopleMangerVC.h | 2 +- .../Controller/QuestionPeopleMangerVC.m | 8 +- .../Controller/QuestionViewController.h | 2 +- .../Controller/QuestionViewController.m | 60 +- .../XJAudioVideoRecordViewController.h | 16 + .../XJAudioVideoRecordViewController.m | 229 ++++ ...ller.h => XJPictureRecordViewController.h} | 6 +- .../XJPictureRecordViewController.m | 477 ++++++++ .../XJQuestionCompleteViewController.h | 16 + .../XJQuestionCompleteViewController.m | 196 ++++ .../XJQuestionJingxingViewController.h | 16 + .../XJQuestionJingxingViewController.m | 196 ++++ ...ller.h => XJQustionRecordViewController.h} | 6 +- .../XJQustionRecordViewController.m | 272 +++++ .../XJQustionWaitEvlaViewController.h | 16 + .../XJQustionWaitEvlaViewController.m | 196 ++++ .../RoomSearchResultViewController.h | 2 +- .../RoomSearchResultViewController.m | 2 +- .../FoundExpertSubViewController.h | 2 +- .../FoundExpertSubViewController.m | 2 +- .../FoundExpertViewController.h | 2 +- .../FoundExpertViewController.m | 2 +- .../FoundHospitalViewController.h | 2 +- .../FoundHospitalViewController.m | 2 +- .../FoundJIBingViewController.h | 2 +- .../FoundJIBingViewController.m | 2 +- .../FoundRoomsViewController.h | 2 +- .../FoundRoomsViewController.m | 2 +- .../MainSearchViewController.h | 2 +- .../MainSearchViewController.m | 2 +- .../SearchZhuangJiaViewController.h | 2 +- .../SearchZhuangJiaViewController.m | 2 +- .../Controller/SearchMainViewController.h | 2 +- .../Controller/SearchMainViewController.m | 2 +- .../SelectFIleDateDetailViewController.h | 2 +- .../SelectFIleDateDetailViewController.m | 2 +- .../Controller/SelectedDoctorTimeVC.h | 2 +- .../Controller/SelectedDoctorTimeVC.m | 4 +- .../SelectedQuestionViewController.h | 2 +- .../SelectedQuestionViewController.m | 6 +- .../Controller/SmallHelpHandViewController.h | 2 +- .../Controller/SmallHelpHandViewController.m | 2 +- .../Controller/XJAddQuestionViewController.h | 19 + .../Controller/XJAddQuestionViewController.m | 597 ++++++++++ .../XJBasicHealthInfoViewController.h | 19 + .../XJBasicHealthInfoViewController.m | 290 +++++ .../Controller/XJDoctorMainViewController.h | 21 + .../Controller/XJDoctorMainViewController.m | 733 ++++++++++++ .../Qusetion/Model/DoctorDetailModel.h | 2 +- .../Qusetion/Model/DoctorDetailModel.m | 2 +- .../Qusetion/Model/DoctorRecommendModel.h | 2 +- .../Qusetion/Model/DoctorRecommendModel.m | 2 +- .../Qusetion/Model/DoctorReportModel.h | 2 +- .../Qusetion/Model/DoctorReportModel.m | 2 +- .../Project/Qusetion/Model/DoctorTimeModel.h | 2 +- .../Project/Qusetion/Model/DoctorTimeModel.m | 2 +- .../Project/Qusetion/Model/EvaluatListModel.h | 2 +- .../Project/Qusetion/Model/EvaluatListModel.m | 2 +- .../Model/FamilyMemberRelationModel.h | 2 +- .../Model/FamilyMemberRelationModel.m | 2 +- .../Project/Qusetion/Model/FileDataModel.h | 2 +- .../Project/Qusetion/Model/FileDataModel.m | 2 +- .../Project/Qusetion/Model/FoundExpertModel.h | 2 +- .../Project/Qusetion/Model/FoundExpertModel.m | 2 +- .../Qusetion/Model/HospitalInfoModel.h | 2 +- .../Qusetion/Model/HospitalInfoModel.m | 2 +- .../Qusetion/Model/LookFileDataModel.h | 2 +- .../Qusetion/Model/LookFileDataModel.m | 2 +- .../Qusetion/Model/QuestionBodyReportModel.h | 2 +- .../Qusetion/Model/QuestionBodyReportModel.m | 2 +- .../Qusetion/Model/QuestionDiseaseInfoModel.h | 2 +- .../Qusetion/Model/QuestionDiseaseInfoModel.m | 2 +- .../Qusetion/Model/QuestionItemModel.h | 2 +- .../Qusetion/Model/QuestionItemModel.m | 2 +- .../Qusetion/Model/QuestionOptionModel.h | 2 +- .../Qusetion/Model/QuestionOptionModel.m | 2 +- .../Qusetion/Model/QuestionPeopleModel.h | 2 +- .../Qusetion/Model/QuestionPeopleModel.m | 2 +- .../Qusetion/Model/QuestionRecordModel.h | 2 +- .../Qusetion/Model/QuestionRecordModel.m | 2 +- .../Qusetion/Model/RecordIMListDateModel.h | 2 +- .../Qusetion/Model/RecordIMListDateModel.m | 2 +- .../Project/Qusetion/Model/SOSGroupIMModel.h | 2 +- .../Project/Qusetion/Model/SOSGroupIMModel.m | 2 +- .../Project/Qusetion/Model/SearchRoomModel.h | 2 +- .../Project/Qusetion/Model/SearchRoomModel.m | 2 +- .../Project/Qusetion/Model/SearchSicksModel.h | 2 +- .../Project/Qusetion/Model/SearchSicksModel.m | 2 +- .../Qusetion/Model/SmallHelpIMDataModel.h | 2 +- .../Qusetion/Model/SmallHelpIMDataModel.m | 2 +- .../Qusetion/OtherFile/ADJumpViewController.h | 2 +- .../Qusetion/OtherFile/ADJumpViewController.m | 2 +- .../Project/Qusetion/OtherFile/HQSearchView.h | 2 +- .../Project/Qusetion/OtherFile/HQSearchView.m | 2 +- .../Qusetion/OtherFile/HealthPhyReportModel.h | 2 +- .../Qusetion/OtherFile/HealthPhyReportModel.m | 2 +- .../OtherFile/HealthPhyReportTableView.h | 2 +- .../OtherFile/HealthPhyReportTableView.m | 2 +- .../OtherFile/HealthSugReportTableViewCell.h | 2 +- .../OtherFile/HealthSugReportTableViewCell.m | 2 +- .../OtherFile/LookReportImageViewController.h | 2 +- .../OtherFile/LookReportImageViewController.m | 2 +- .../OtherFile/SickNameSubTableViewCell.h | 2 +- .../OtherFile/SickNameSubTableViewCell.m | 2 +- .../OtherFile/SickNameTopTableViewCell.h | 2 +- .../OtherFile/SickNameTopTableViewCell.m | 2 +- .../OtherFile/imageReportTableViewCell.h | 2 +- .../OtherFile/imageReportTableViewCell.m | 2 +- .../Qusetion/View/AppointmentInfoView.h | 2 +- .../Qusetion/View/AppointmentInfoView.m | 2 +- .../AllHospitalConditionView.h | 2 +- .../AllHospitalConditionView.m | 2 +- .../AllRoomsConditionView.h | 2 +- .../AllRoomsConditionView.m | 2 +- .../AllSicksConditionView.h | 2 +- .../AllSicksConditionView.m | 2 +- .../DataDetail(档案详情)/HQPhotoCollectView.h | 2 +- .../DataDetail(档案详情)/HQPhotoCollectView.m | 2 +- .../HQPhotoPostCollectionViewCell.h | 2 +- .../HQPhotoPostCollectionViewCell.m | 2 +- .../DataDetail(档案详情)/QuestionItemTable.h | 2 +- .../DataDetail(档案详情)/QuestionItemTable.m | 2 +- .../QuestionItemTableViewCell.h | 2 +- .../QuestionItemTableViewCell.m | 2 +- .../SelectedFileDateCenterView.h | 2 +- .../SelectedFileDateCenterView.m | 2 +- .../Qusetion/View/DoctorEvaluationTable.h | 2 +- .../Qusetion/View/DoctorEvaluationTable.m | 2 +- .../View/DoctorEvaluationTableViewCell.h | 2 +- .../View/DoctorEvaluationTableViewCell.m | 2 +- .../Project/Qusetion/View/DoctorInfoTopView.h | 2 +- .../Project/Qusetion/View/DoctorInfoTopView.m | 2 +- .../Qusetion/View/DoctorRoomCollectionView.h | 2 +- .../Qusetion/View/DoctorRoomCollectionView.m | 2 +- .../View/DoctorRoomCollectionViewCell.h | 2 +- .../View/DoctorRoomCollectionViewCell.m | 2 +- .../View/DoctorSelectTimeCollectionCell.h | 2 +- .../View/DoctorSelectTimeCollectionCell.m | 2 +- .../Project/Qusetion/View/DoctorStatusView.h | 2 +- .../Project/Qusetion/View/DoctorStatusView.m | 2 +- .../View/DoctorTimeSelectedCollectView.h | 2 +- .../View/DoctorTimeSelectedCollectView.m | 2 +- .../Qusetion/View/EvaluationListTableView.h | 2 +- .../Qusetion/View/EvaluationListTableView.m | 2 +- .../Qusetion/View/FoundExpertSubCollection.h | 2 +- .../Qusetion/View/FoundExpertSubCollection.m | 2 +- .../View/FoundExpertSubCollectionViewCell.h | 2 +- .../View/FoundExpertSubCollectionViewCell.m | 2 +- .../Qusetion/View/FoundLeftTableView.h | 2 +- .../Qusetion/View/FoundLeftTableView.m | 2 +- .../Qusetion/View/FoundRightTableView.h | 2 +- .../Qusetion/View/FoundRightTableView.m | 2 +- .../Qusetion/View/FoundRoomsTableViewCell.h | 2 +- .../Qusetion/View/FoundRoomsTableViewCell.m | 2 +- .../View/HealthyDoctorTableViewCell.h | 2 +- .../View/HealthyDoctorTableViewCell.m | 2 +- .../Qusetion/View/HealthyQuestionHeardView.h | 2 +- .../Qusetion/View/HealthyQuestionHeardView.m | 2 +- .../Qusetion/View/HealthyQuestionTable.h | 2 +- .../Qusetion/View/HealthyQuestionTable.m | 2 +- .../Project/Qusetion/View/HealthyToolsView.h | 2 +- .../Project/Qusetion/View/HealthyToolsView.m | 2 +- .../Qusetion/View/HospitalListTableCell.h | 2 +- .../Qusetion/View/HospitalListTableCell.m | 2 +- .../EvaluationTiitleTableViewCell.h | 2 +- .../EvaluationTiitleTableViewCell.m | 2 +- .../EvaluationTitleTableViewCell.h | 2 +- .../EvaluationTitleTableViewCell.m | 2 +- .../HospatilDoctorCollectionViewCell.h | 2 +- .../HospatilDoctorCollectionViewCell.m | 2 +- .../HospatilIntroduceTableViewCell.h | 2 +- .../HospatilIntroduceTableViewCell.m | 2 +- .../HospitalEvaluationTableViewCell.h | 2 +- .../HospitalEvaluationTableViewCell.m | 2 +- .../HospitalLocationTableViewCell.h | 2 +- .../HospitalLocationTableViewCell.m | 2 +- .../HospitalMainDoctorCollectView.h | 2 +- .../HospitalMainDoctorCollectView.m | 2 +- .../View/HospitalMain/HospitalMainHeardView.h | 2 +- .../View/HospitalMain/HospitalMainHeardView.m | 2 +- .../View/HospitalMain/HospitalMainTableView.h | 2 +- .../View/HospitalMain/HospitalMainTableView.m | 2 +- .../MainSearchExpertTableCell.h | 2 +- .../MainSearchExpertTableCell.m | 2 +- .../View/MainSearchView/MainSearchTable.h | 2 +- .../View/MainSearchView/MainSearchTable.m | 2 +- .../MainSearchView/SearchConetShowTable.h | 2 +- .../MainSearchView/SearchConetShowTable.m | 2 +- .../SearchShowUpTableViewCell.h | 2 +- .../SearchShowUpTableViewCell.m | 2 +- .../MainSearchView/SearchZhuangjiaTable.h | 2 +- .../MainSearchView/SearchZhuangjiaTable.m | 2 +- .../ZongheZhuangjiaTableViewCell.h | 2 +- .../ZongheZhuangjiaTableViewCell.m | 2 +- .../View/QuestionAddPeopleTableCell.h | 2 +- .../View/QuestionAddPeopleTableCell.m | 2 +- .../Qusetion/View/QuestionDiseaseTableView.h | 2 +- .../Qusetion/View/QuestionDiseaseTableView.m | 2 +- .../View/QuestionDiseaseTableViewCell.h | 2 +- .../View/QuestionDiseaseTableViewCell.m | 2 +- .../View/QuestionPeopleManagerTable.h | 2 +- .../View/QuestionPeopleManagerTable.m | 2 +- .../View/QuestionPeopleManagerTableCell.h | 2 +- .../View/QuestionPeopleManagerTableCell.m | 2 +- .../QuestionRecordTableViewCell.h | 2 +- .../QuestionRecordTableViewCell.m | 2 +- .../QuestionRecoredTable.h | 2 +- .../QuestionRecoredTable.m | 2 +- .../View/SelectedQuestionFirstTableCell.h | 2 +- .../View/SelectedQuestionFirstTableCell.m | 2 +- .../Qusetion/View/SelectedQuestionTableView.h | 2 +- .../Qusetion/View/SelectedQuestionTableView.m | 2 +- .../View/SelectedQuestionTypeTableCell.h | 2 +- .../View/SelectedQuestionTypeTableCell.m | 2 +- .../Qusetion/View/UserInfoHealthPopView.h | 2 +- .../Qusetion/View/UserInfoHealthPopView.m | 2 +- .../Project/Qusetion/View/evaluationPopView.h | 2 +- .../Project/Qusetion/View/evaluationPopView.m | 2 +- .../BasicHealthTable.h | 2 +- .../BasicHealthTable.m | 2 +- .../HealthTypeOneTableViewCell.h | 2 +- .../HealthTypeOneTableViewCell.m | 2 +- .../HealthTypeTwoTableViewCell.h | 2 +- .../HealthTypeTwoTableViewCell.m | 2 +- .../Qusetion/View/hospitalListTableView.h | 2 +- .../Qusetion/View/hospitalListTableView.m | 2 +- .../View/searchHospatilCellTableViewCell.h | 2 +- .../View/searchHospatilCellTableViewCell.m | 2 +- .../Controller/XJSosCenterViewController.h | 16 + .../Controller/XJSosCenterViewController.m | 1009 +++++++++++++++++ .../Project/SOS/Model/XJAEDNetWrokModel.h | 75 ++ .../Project/SOS/Model/XJAEDNetWrokModel.m | 19 + .../SOS/Model/XJHealthInterveneAEDModel.h | 36 + .../SOS/Model/XJHealthInterveneAEDModel.m | 19 + .../SOS/Model/XJHealthInterveneHomeModel.h | 56 + .../SOS/Model/XJHealthInterveneHomeModel.m | 18 + .../Project/SOS/Model/XJSOSCenterModel.h | 54 + .../Project/SOS/Model/XJSOSCenterModel.m | 36 + .../Project/SOS/View/XJSOSAddressView.h | 34 + .../Project/SOS/View/XJSOSAddressView.m | 224 ++++ .../TUIChat/ChatList/ChatListViewController.h | 2 +- .../TUIChat/ChatList/ChatListViewController.m | 2 +- .../Project/TUIChat/ChatViewController.h | 2 +- .../Project/TUIChat/ChatViewController.m | 2 +- .../Controller/ChatMapViewController.h | 2 +- .../Controller/ChatMapViewController.m | 2 +- .../Controller/SendHealthDataViewController.h | 2 +- .../Controller/SendHealthDataViewController.m | 2 +- .../DoctorCardCell/DoctiorIDCardCellData.h | 2 +- .../DoctorCardCell/DoctiorIDCardCellData.m | 2 +- .../DoctorCardCell/DoctorIDCardMessageCell.h | 2 +- .../DoctorCardCell/DoctorIDCardMessageCell.m | 2 +- .../EndSystemCell/EndSystemCellData.h | 2 +- .../EndSystemCell/EndSystemCellData.m | 2 +- .../EndSystemCell/EndSystemSoSCell.h | 2 +- .../EndSystemCell/EndSystemSoSCell.m | 2 +- .../chatPictureCollectionViewCell.h | 2 +- .../chatPictureCollectionViewCell.m | 2 +- .../HealthDataCustom/healthDataCustomCell.h | 2 +- .../HealthDataCustom/healthDataCustomCell.m | 2 +- .../healthDataCustomCellData.h | 2 +- .../healthDataCustomCellData.m | 2 +- .../sendPhysicalCustomCell.h | 2 +- .../sendPhysicalCustomCell.m | 2 +- .../sendPhysicalCustomCellData.h | 2 +- .../sendPhysicalCustomCellData.m | 2 +- .../StarMarkCustom/StarMarkCellData.h | 2 +- .../StarMarkCustom/StarMarkCellData.m | 2 +- .../StarMarkCustom/StarMarkCustomCell.h | 2 +- .../StarMarkCustom/StarMarkCustomCell.m | 2 +- .../userCustom/userDataInfoCellData.h | 2 +- .../userCustom/userDataInfoCellData.m | 2 +- .../userCustom/userDataInfoChatCell.h | 2 +- .../userCustom/userDataInfoChatCell.m | 2 +- .../Project/TUIChat/Model/SendReportModel.h | 2 +- .../Project/TUIChat/Model/SendReportModel.m | 2 +- .../Project/TUIChat/Model/sendHealthModel.h | 2 +- .../Project/TUIChat/Model/sendHealthModel.m | 2 +- .../TUIChat/View/SendHealthDataTable.h | 2 +- .../TUIChat/View/SendHealthDataTable.m | 2 +- .../View/SendHealthDataTableViewCell.h | 2 +- .../View/SendHealthDataTableViewCell.m | 2 +- .../Assets.xcassets/Image/Contents.json | 6 + .../HeardHistory_icon.imageset/Contents.json | 23 + .../HeardHistory_icon.png | Bin 0 -> 5072 bytes .../HeardHistory_icon@2x.png | Bin 0 -> 13237 bytes .../HeardHistory_icon@3x.png | Bin 0 -> 22885 bytes .../HeardProgress_icon.imageset/Contents.json | 23 + .../HeardProgress_icon.png | Bin 0 -> 5027 bytes .../HeardProgress_icon@2x.png | Bin 0 -> 13128 bytes .../HeardProgress_icon@3x.png | Bin 0 -> 23569 bytes .../Contents.json | 23 + .../tabbar_homepage_normal_icon.png | Bin 0 -> 588 bytes .../tabbar_homepage_normal_icon@2x.png | Bin 0 -> 967 bytes .../tabbar_homepage_normal_icon@3x.png | Bin 0 -> 1339 bytes .../Contents.json | 23 + .../tabBar_homepage_selected_icon.png | Bin 0 -> 631 bytes .../tabBar_homepage_selected_icon@2x.png | Bin 0 -> 1056 bytes .../tabBar_homepage_selected_icon@3x.png | Bin 0 -> 1395 bytes .../Satisfaction_icon.imageset/Contents.json | 23 + .../Satisfaction_icon.png | Bin 0 -> 2398 bytes .../Satisfaction_icon@2x.png | Bin 0 -> 6728 bytes .../Satisfaction_icon@3x.png | Bin 0 -> 13660 bytes .../allRoomDoctor.imageset/Contents.json | 23 + .../allRoomDoctor.imageset/allRoomDoctor.png | Bin 0 -> 26928 bytes .../allRoomDoctor@2x.png | Bin 0 -> 98360 bytes .../allRoomDoctor@3x.png | Bin 0 -> 193646 bytes .../cancalSuccess.imageset/Contents.json | 23 + .../cancalSuccess.imageset/cancalSuccess.png | Bin 0 -> 5197 bytes .../cancalSuccess@2x.png | Bin 0 -> 15056 bytes .../cancalSuccess@3x.png | Bin 0 -> 29753 bytes .../changwei_data.imageset/Contents.json | 23 + .../changwei_data.imageset/changwei_data.png | Bin 0 -> 580 bytes .../changwei_data@2x.png | Bin 0 -> 1285 bytes .../changwei_data@3x.png | Bin 0 -> 2208 bytes .../Image/chooseCircle.imageset/Contents.json | 23 + .../chooseCircle.imageset/chooseCircle.png | Bin 0 -> 813 bytes .../chooseCircle.imageset/chooseCircle@2x.png | Bin 0 -> 1686 bytes .../chooseCircle.imageset/chooseCircle@3x.png | Bin 0 -> 3135 bytes .../choose_Selected.imageset/Contents.json | 23 + .../choose_Selected.png | Bin 0 -> 540 bytes .../choose_Selected@2x.png | Bin 0 -> 997 bytes .../choose_Selected@3x.png | Bin 0 -> 1548 bytes .../Image/choose_nomal.imageset/Contents.json | 23 + .../choose_nomal.imageset/choose_nomal.png | Bin 0 -> 342 bytes .../choose_nomal.imageset/choose_nomal@2x.png | Bin 0 -> 573 bytes .../choose_nomal.imageset/choose_nomal@3x.png | Bin 0 -> 835 bytes .../Image/closeImage.imageset/Contents.json | 23 + .../Image/closeImage.imageset/closeImage.png | Bin 0 -> 797 bytes .../closeImage.imageset/closeImage@2x.png | Bin 0 -> 1815 bytes .../closeImage.imageset/closeImage@3x.png | Bin 0 -> 3429 bytes .../Image/collectLove.imageset/Contents.json | 23 + .../collectLove.imageset/collectLove.png | Bin 0 -> 484 bytes .../collectLove.imageset/collectLove@2x.png | Bin 0 -> 889 bytes .../collectLove.imageset/collectLove@3x.png | Bin 0 -> 1321 bytes .../Image/delect.imageset/Contents.json | 23 + .../Image/delect.imageset/delect.png | Bin 0 -> 672 bytes .../Image/delect.imageset/delect@2x.png | Bin 0 -> 1355 bytes .../Image/delect.imageset/delect@3x.png | Bin 0 -> 2352 bytes .../detail_collect.imageset/Contents.json | 23 + .../detail_collect.png | Bin 0 -> 2111 bytes .../detail_collect@2x.png | Bin 0 -> 4512 bytes .../detail_collect@3x.png | Bin 0 -> 7239 bytes .../Image/doctorHot.imageset/Contents.json | 23 + .../Image/doctorHot.imageset/doctorHot.png | Bin 0 -> 477 bytes .../Image/doctorHot.imageset/doctorHot@2x.png | Bin 0 -> 894 bytes .../Image/doctorHot.imageset/doctorHot@3x.png | Bin 0 -> 1379 bytes .../doctorNoImage.imageset/Contents.json | 21 + .../doctorNoImage.imageset/doctorNoImage.png | Bin 0 -> 7570 bytes .../endQuestionItem.imageset/Contents.json | 23 + .../endQuestionItem.png | Bin 0 -> 1542 bytes .../endQuestionItem@2x.png | Bin 0 -> 3058 bytes .../endQuestionItem@3x.png | Bin 0 -> 4973 bytes .../Image/eye.imageset/Contents.json | 21 + .../Image/eye.imageset/eye.png | Bin 0 -> 783 bytes .../Image/eye.slash.imageset/Contents.json | 21 + .../Image/eye.slash.imageset/eye.slash.png | Bin 0 -> 868 bytes .../firstStep_icon.imageset/Contents.json | 23 + .../firstStep_icon.png | Bin 0 -> 1510 bytes .../firstStep_icon@2x.png | Bin 0 -> 3242 bytes .../firstStep_icon@3x.png | Bin 0 -> 4907 bytes .../Image/foundDoctor.imageset/Contents.json | 23 + .../foundDoctor.imageset/foundDoctor.png | Bin 0 -> 810 bytes .../foundDoctor.imageset/foundDoctor@2x.png | Bin 0 -> 1690 bytes .../foundDoctor.imageset/foundDoctor@3x.png | Bin 0 -> 2259 bytes .../Image/garyDown.imageset/Contents.json | 23 + .../Image/garyDown.imageset/garyDown.png | Bin 0 -> 473 bytes .../Image/garyDown.imageset/garyDown@2x.png | Bin 0 -> 978 bytes .../Image/garyDown.imageset/garyDown@3x.png | Bin 0 -> 1991 bytes .../Image/garyRight.imageset/Contents.json | 23 + .../Image/garyRight.imageset/garyRight.png | Bin 0 -> 464 bytes .../Image/garyRight.imageset/garyRight@2x.png | Bin 0 -> 1025 bytes .../Image/garyRight.imageset/garyRight@3x.png | Bin 0 -> 2017 bytes .../Image/heard_man.imageset/Contents.json | 23 + .../Image/heard_man.imageset/heard_man.png | Bin 0 -> 3010 bytes .../Image/heard_man.imageset/heard_man@2x.png | Bin 0 -> 7136 bytes .../Image/heard_man.imageset/heard_man@3x.png | Bin 0 -> 12267 bytes .../Image/heard_woman.imageset/Contents.json | 23 + .../heard_woman.imageset/heard_woman.png | Bin 0 -> 3131 bytes .../heard_woman.imageset/heard_woman@2x.png | Bin 0 -> 7441 bytes .../heard_woman.imageset/heard_woman@3x.png | Bin 0 -> 12959 bytes .../Image/home_star.imageset/Contents.json | 23 + .../Image/home_star.imageset/home_star.png | Bin 0 -> 954 bytes .../Image/home_star.imageset/home_star@2x.png | Bin 0 -> 1909 bytes .../Image/home_star.imageset/home_star@3x.png | Bin 0 -> 2984 bytes .../homestar_gray.imageset/Contents.json | 23 + .../homestar_gray.imageset/homestar_gray.png | Bin 0 -> 837 bytes .../homestar_gray@2x.png | Bin 0 -> 1584 bytes .../homestar_gray@3x.png | Bin 0 -> 2482 bytes .../hospatilAddress.imageset/Contents.json | 23 + .../hospatilAddress.png | Bin 0 -> 623 bytes .../hospatilAddress@2x.png | Bin 0 -> 1225 bytes .../hospatilAddress@3x.png | Bin 0 -> 1880 bytes .../hospitalNoimage.imageset/Contents.json | 21 + .../hospitalNoimage.png | Bin 0 -> 224753 bytes .../hospital_location.imageset/Contents.json | 21 + .../hospital_location@2x.png | Bin 0 -> 994 bytes .../ic_more_archives.imageset/Contents.json | 21 + .../ic_more_archives.png | Bin 0 -> 3927 bytes .../Image/ic_more_info.imageset/Contents.json | 21 + .../ic_more_info.imageset/ic_more_info.png | Bin 0 -> 921 bytes .../ic_more_location.imageset/Contents.json | 21 + .../ic_more_location.png | Bin 0 -> 4930 bytes .../Contents.json | 21 + .../ic_more_medical_examination_report.png | Bin 0 -> 4416 bytes .../line_selected.imageset/Contents.json | 23 + .../line_selected.imageset/line_selected.png | Bin 0 -> 317 bytes .../line_selected@2x.png | Bin 0 -> 486 bytes .../line_selected@3x.png | Bin 0 -> 744 bytes .../Image/loginBtn_img.imageset/Contents.json | 22 + .../loginBtn_img.imageset/loginBtn_img.png | Bin 0 -> 42422 bytes .../loginBtn_img.imageset/loginBtn_img@2x.png | Bin 0 -> 187366 bytes .../loginCenterImg.imageset/Contents.json | 23 + .../loginCenterImg.png | Bin 0 -> 2755 bytes .../loginCenterImg@2x.png | Bin 0 -> 7148 bytes .../loginCenterImg@3x.png | Bin 0 -> 12482 bytes .../loginTitleImg.imageset/Contents.json | 23 + .../loginTitleImg.imageset/loginTitleImg.png | Bin 0 -> 3284 bytes .../loginTitleImg@2x.png | Bin 0 -> 7367 bytes .../loginTitleImg@3x.png | Bin 0 -> 11046 bytes .../loginTitle_Img.imageset/Contents.json | 23 + .../loginTitle_Img.png | Bin 0 -> 3284 bytes .../loginTitle_Img@2x.png | Bin 0 -> 7367 bytes .../loginTitle_Img@3x.png | Bin 0 -> 11046 bytes .../loginTopBackImg.imageset/Contents.json | 23 + .../loginTopBackImg.png | Bin 0 -> 139156 bytes .../loginTopBackImg@2x.png | Bin 0 -> 518635 bytes .../loginTopBackImg@3x.png | Bin 0 -> 1105740 bytes .../Image/loginTopBimg.imageset/Contents.json | 23 + .../loginTopBimg.imageset/loginTopBimg.png | Bin 0 -> 139156 bytes .../loginTopBimg.imageset/loginTopBimg@2x.png | Bin 0 -> 518635 bytes .../loginTopBimg.imageset/loginTopBimg@3x.png | Bin 0 -> 1105740 bytes .../Image/login_icon.imageset/Contents.json | 23 + .../Image/login_icon.imageset/login_icon.png | Bin 0 -> 2755 bytes .../login_icon.imageset/login_icon@2x.png | Bin 0 -> 7148 bytes .../login_icon.imageset/login_icon@3x.png | Bin 0 -> 12482 bytes .../Contents.json | 23 + .../login_nomalProtocol.png | Bin 0 -> 509 bytes .../login_nomalProtocol@2x.png | Bin 0 -> 992 bytes .../login_nomalProtocol@3x.png | Bin 0 -> 1558 bytes .../Contents.json | 23 + .../login_selectProtocol.png | Bin 0 -> 661 bytes .../login_selectProtocol@2x.png | Bin 0 -> 1333 bytes .../login_selectProtocol@3x.png | Bin 0 -> 2143 bytes .../merchatAddImg.imageset/Contents.json | 21 + .../merchatAddImg@2x.png | Bin 0 -> 6606 bytes .../Image/mine_normal.imageset/Contents.json | 23 + .../tabbar_mine_normal.png | Bin 0 -> 695 bytes .../tabbar_mine_normal@2x.png | Bin 0 -> 1266 bytes .../tabbar_mine_normal@3x.png | Bin 0 -> 1935 bytes .../mine_selected.imageset/Contents.json | 23 + .../tabbar_mine_selected.png | Bin 0 -> 732 bytes .../tabbar_mine_selected@2x.png | Bin 0 -> 1408 bytes .../tabbar_mine_selected@3x.png | Bin 0 -> 2119 bytes .../mustKnow_Nomal.imageset/Contents.json | 23 + .../mustKnow_Nomal.png | Bin 0 -> 490 bytes .../mustKnow_Nomal@2x.png | Bin 0 -> 991 bytes .../mustKnow_Nomal@3x.png | Bin 0 -> 1488 bytes .../mustKnow_Selected.imageset/Contents.json | 23 + .../mustKnow_Selected.png | Bin 0 -> 625 bytes .../mustKnow_Selected@2x.png | Bin 0 -> 1451 bytes .../mustKnow_Selected@3x.png | Bin 0 -> 2462 bytes .../Image/myQuestion.imageset/Contents.json | 23 + .../Image/myQuestion.imageset/myQuestion.png | Bin 0 -> 588 bytes .../myQuestion.imageset/myQuestion@2x.png | Bin 0 -> 1144 bytes .../myQuestion.imageset/myQuestion@3x.png | Bin 0 -> 1746 bytes .../myQuestionHome.imageset/Contents.json | 23 + .../myQuestionHome.png | Bin 0 -> 23397 bytes .../myQuestionHome@2x.png | Bin 0 -> 87250 bytes .../myQuestionHome@3x.png | Bin 0 -> 182242 bytes .../nearbyHospitalImg.imageset/Contents.json | 23 + .../nearbyHospitalImg.png | Bin 0 -> 10727 bytes .../nearbyHospitalImg@2x.png | Bin 0 -> 40238 bytes .../nearbyHospitalImg@3x.png | Bin 0 -> 86449 bytes .../Image/noData.imageset/Contents.json | 23 + .../Image/noData.imageset/noData.png | Bin 0 -> 26465 bytes .../Image/noData.imageset/noData@2x.png | Bin 0 -> 75227 bytes .../Image/noData.imageset/noData@3x.png | Bin 0 -> 130836 bytes .../Image/noDataBox.imageset/Contents.json | 23 + .../Image/noDataBox.imageset/noDataBox.png | Bin 0 -> 22095 bytes .../Image/noDataBox.imageset/noDataBox@2x.png | Bin 0 -> 64544 bytes .../Image/noDataBox.imageset/noDataBox@3x.png | Bin 0 -> 112837 bytes .../noQuetionList.imageset/Contents.json | 23 + .../noQuetionList.imageset/noQuetionList.png | Bin 0 -> 7076 bytes .../noQuetionList@2x.png | Bin 0 -> 22392 bytes .../noQuetionList@3x.png | Bin 0 -> 32822 bytes .../nomalDetailHeard.imageset/Contents.json | 23 + .../nomalDetailHeard.png | Bin 0 -> 2302 bytes .../nomalDetailHeard@2x.png | Bin 0 -> 5322 bytes .../nomalDetailHeard@3x.png | Bin 0 -> 7964 bytes .../Image/peoplexiugai.imageset/Contents.json | 23 + .../peoplexiugai.imageset/peoplexiugai.png | Bin 0 -> 363 bytes .../peoplexiugai.imageset/peoplexiugai@2x.png | Bin 0 -> 720 bytes .../peoplexiugai.imageset/peoplexiugai@3x.png | Bin 0 -> 1294 bytes .../physcialType_nomal.imageset/Contents.json | 23 + .../physcialType_nomal.png | Bin 0 -> 490 bytes .../physcialType_nomal@2x.png | Bin 0 -> 991 bytes .../physcialType_nomal@3x.png | Bin 0 -> 1488 bytes .../Contents.json | 23 + .../physcialType_selected.png | Bin 0 -> 625 bytes .../physcialType_selected@2x.png | Bin 0 -> 1451 bytes .../physcialType_selected@3x.png | Bin 0 -> 2462 bytes .../Contents.json | 23 + .../pictureQuestion_Left.png | Bin 0 -> 2326 bytes .../pictureQuestion_Left@2x.png | Bin 0 -> 6239 bytes .../pictureQuestion_Left@3x.png | Bin 0 -> 12716 bytes .../pictureTypeIcon.imageset/Contents.json | 23 + .../pictureTypeIcon.png | Bin 0 -> 722 bytes .../pictureTypeIcon@2x.png | Bin 0 -> 1202 bytes .../pictureTypeIcon@3x.png | Bin 0 -> 1776 bytes .../popChoose_normal.imageset/Contents.json | 23 + .../popChoose_normal.png | Bin 0 -> 389 bytes .../popChoose_normal@2x.png | Bin 0 -> 596 bytes .../popChoose_normal@3x.png | Bin 0 -> 915 bytes .../popChoose_selected.imageset/Contents.json | 23 + .../popChoose_selected.png | Bin 0 -> 538 bytes .../popChoose_selected@2x.png | Bin 0 -> 995 bytes .../popChoose_selected@3x.png | Bin 0 -> 1379 bytes .../questionDetailBack.imageset/Contents.json | 23 + .../questionDetailBack.png | Bin 0 -> 62588 bytes .../questionDetailBack@2x.png | Bin 0 -> 262512 bytes .../questionDetailBack@3x.png | Bin 0 -> 586749 bytes .../questionHeardBack.imageset/Contents.json | 23 + .../questionHeardBack.png | Bin 0 -> 94176 bytes .../questionHeardBack@2x.png | Bin 0 -> 389041 bytes .../questionHeardBack@3x.png | Bin 0 -> 885229 bytes .../questionLeft_icon.imageset/Contents.json | 23 + .../questionLeft_icon.png | Bin 0 -> 650 bytes .../questionLeft_icon@2x.png | Bin 0 -> 1333 bytes .../questionLeft_icon@3x.png | Bin 0 -> 2107 bytes .../questionTitleImg.imageset/Contents.json | 23 + .../questionTitleImg.png | Bin 0 -> 35979 bytes .../questionTitleImg@2x.png | Bin 0 -> 130412 bytes .../questionTitleImg@3x.png | Bin 0 -> 247303 bytes .../recordStatusIng.imageset/Contents.json | 23 + .../recordStatusIng.png | Bin 0 -> 778 bytes .../recordStatusIng@2x.png | Bin 0 -> 1503 bytes .../recordStatusIng@3x.png | Bin 0 -> 2438 bytes .../recordsStatusEnd.imageset/Contents.json | 23 + .../recordsStatusEnd.png | Bin 0 -> 801 bytes .../recordsStatusEnd@2x.png | Bin 0 -> 1425 bytes .../recordsStatusEnd@3x.png | Bin 0 -> 2291 bytes .../Image/repay_Icon.imageset/Contents.json | 23 + .../Image/repay_Icon.imageset/repay_Icon.png | Bin 0 -> 2100 bytes .../repay_Icon.imageset/repay_Icon@2x.png | Bin 0 -> 5743 bytes .../repay_Icon.imageset/repay_Icon@3x.png | Bin 0 -> 11728 bytes .../report_navRight.imageset/Contents.json | 21 + .../report_navRight.png | Bin 0 -> 1204 bytes .../roomPlaceholder 1.imageset/Contents.json | 23 + .../roomPlaceholder.png | Bin 0 -> 1370 bytes .../roomPlaceholder@2x.png | Bin 0 -> 2544 bytes .../roomPlaceholder@3x.png | Bin 0 -> 3949 bytes .../roomPlaceholder.imageset/Contents.json | 23 + .../roomPlaceholder.png | Bin 0 -> 1370 bytes .../roomPlaceholder@2x.png | Bin 0 -> 2544 bytes .../roomPlaceholder@3x.png | Bin 0 -> 3949 bytes .../Image/roomTopImg.imageset/Contents.json | 23 + .../Image/roomTopImg.imageset/roomTopImg.png | Bin 0 -> 61833 bytes .../roomTopImg.imageset/roomTopImg@2x.png | Bin 0 -> 307909 bytes .../roomTopImg.imageset/roomTopImg@3x.png | Bin 0 -> 763638 bytes .../samllAssistant.imageset/Contents.json | 23 + .../samllAssistant.png | Bin 0 -> 631 bytes .../samllAssistant@2x.png | Bin 0 -> 1307 bytes .../samllAssistant@3x.png | Bin 0 -> 1973 bytes .../Image/sangedian.imageset/Contents.json | 21 + .../Image/sangedian.imageset/sangedian.png | Bin 0 -> 608 bytes .../searchLeftIcon.imageset/Contents.json | 23 + .../searchLeftIcon.png | Bin 0 -> 633 bytes .../searchLeftIcon@2x.png | Bin 0 -> 1343 bytes .../searchLeftIcon@3x.png | Bin 0 -> 2198 bytes .../secondStep_icon.imageset/Contents.json | 23 + .../secondStep_icon.png | Bin 0 -> 1576 bytes .../secondStep_icon@2x.png | Bin 0 -> 3320 bytes .../secondStep_icon@3x.png | Bin 0 -> 5035 bytes .../statusTop_nomal.imageset/Contents.json | 23 + .../statusTop_nomal.png | Bin 0 -> 596 bytes .../statusTop_nomal@2x.png | Bin 0 -> 1172 bytes .../statusTop_nomal@3x.png | Bin 0 -> 1807 bytes .../topBackImg.imageset/20240708-103523.png | Bin 0 -> 260838 bytes .../Image/topBackImg.imageset/Contents.json | 21 + .../Contents.json | 23 + .../videQuestion_Left.png | Bin 0 -> 2068 bytes .../videQuestion_Left@2x.png | Bin 0 -> 5854 bytes .../videQuestion_Left@3x.png | Bin 0 -> 12248 bytes .../videQuestion_Left.imageset/Contents.json | 23 + .../videQuestion_Left.png | Bin 0 -> 2068 bytes .../videQuestion_Left@2x.png | Bin 0 -> 5854 bytes .../videQuestion_Left@3x.png | Bin 0 -> 12248 bytes .../videoTypeIcon.imageset/Contents.json | 23 + .../videoTypeIcon.imageset/videoTypeIcon.png | Bin 0 -> 834 bytes .../videoTypeIcon@2x.png | Bin 0 -> 1572 bytes .../videoTypeIcon@3x.png | Bin 0 -> 2589 bytes .../waitEveal_icon.imageset/Contents.json | 23 + .../waitEveal_icon.png | Bin 0 -> 5160 bytes .../waitEveal_icon@2x.png | Bin 0 -> 13111 bytes .../waitEveal_icon@3x.png | Bin 0 -> 23169 bytes .../whiteBack_icon.imageset/Contents.json | 23 + .../whiteBack_icon.png | Bin 0 -> 300 bytes .../whiteBack_icon@2x.png | Bin 0 -> 498 bytes .../whiteBack_icon@3x.png | Bin 0 -> 759 bytes .../blackLeftAccow.imageset/Contents.json | 23 + .../blackLeftAccow.png | Bin 0 -> 417 bytes .../blackLeftAccow@2x.png | Bin 0 -> 641 bytes .../blackLeftAccow@3x.png | Bin 0 -> 1198 bytes .../blackRightAccow.imageset/Contents.json | 23 + .../blackRightAccow.png | Bin 0 -> 452 bytes .../blackRightAccow@2x.png | Bin 0 -> 651 bytes .../blackRightAccow@3x.png | Bin 0 -> 1299 bytes .../other/noData.imageset/Contents.json | 23 + .../other/noData.imageset/noData.png | Bin 0 -> 26465 bytes .../other/noData.imageset/noData@2x.png | Bin 0 -> 75227 bytes .../other/noData.imageset/noData@3x.png | Bin 0 -> 130836 bytes .../ThirdParty/BRPickerView/Base/BRBaseView.m | 27 +- .../BRPickerView/Base/BRPickerStyle.m | 2 +- .../XinjiangProject/ThirdParty/MQTextField.h | 2 +- .../XinjiangProject/ThirdParty/MQTextField.m | 2 +- .../XinjiangProject/Utils/XLCircle.h | 2 +- .../XinjiangProject/Utils/XLCircle.m | 2 +- .../XinjiangProject/Utils/XLCircleProgress.h | 2 +- .../XinjiangProject/Utils/XLCircleProgress.m | 2 +- 795 files changed, 16195 insertions(+), 729 deletions(-) create mode 100644 XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginFoundPasswordViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginFoundPasswordViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginSetPasswordViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginSetPasswordViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/Login_Register/register/XJRegisterViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Login_Register/register/XJRegisterViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJAddContactViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJAddContactViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJEditSystemViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJEditSystemViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMinePictureRecordViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMinePictureRecordViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineQuestionRecordViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineQuestionRecordViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineUserInfoViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineUserInfoViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineVideoRecordViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineVideoRecordViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMyCenterViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMyCenterViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSDetailInfoViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSDetailInfoViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSDetailSmallSumViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSLookDoctorDetailViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSLookDoctoreViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSLookDoctoreViewController.m delete mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/MineCenterUserModel.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessDetailModel.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessDetailModel.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessHospitalModel.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessHospitalModel.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillnessModel.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillnessModel.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJEmergencyContactModel.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJEmergencyContactModel.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJMineCenterUserModel.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJMineCenterUserModel.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorDetailInfoModel.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorDetailInfoModel.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorModel.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorModel.m delete mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/BigillessTableViewCell.h delete mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/HistoryOrderTableViewCell.h delete mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/MineHeardTableViewCell.h delete mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/SOSDetailTableHeardView.h delete mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/SOSDoctorDetailTable.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigilessTopStatusView.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigilessTopStatusView.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessListTable.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessListTable.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessTableViewCell.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessTableViewCell.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJHistoryOrderTableViewCell.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJHistoryOrderTableViewCell.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineHeardTableViewCell.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineHeardTableViewCell.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineUserInfoTable.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineUserInfoTable.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterHeardView.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterHeardView.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterTableView.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterTableView.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDetailTableHeardView.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDetailTableHeardView.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorDetailTable.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorDetailTable.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableView.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableView.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableViewCell.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableViewCell.m create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSliderView.h create mode 100644 XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSliderView.m create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringDetailViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringDetailViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringHistoryController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringHistoryController.m create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringWarchViewController.h delete mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadHeardView.h delete mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTabFooterView.h delete mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableView.h delete mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableViewCell.h delete mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableViewCell.m create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableView.h rename XinjiangProject/XinjiangProject/Project/Monitoring/View/{HeardBadTableView.m => MonitoringHistoryTableView.m} (50%) create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableViewCell.h create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableViewCell.m create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWarchTableHeardView.h create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWarchTableHeardView.m create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableFooterView.h create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableFooterView.m create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableView.h create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableView.m create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableViewCell.h create mode 100644 XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableViewCell.m create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJAudioVideoRecordViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJAudioVideoRecordViewController.m rename XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/{QustionWaitEvlaViewController.h => XJPictureRecordViewController.h} (53%) create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJPictureRecordViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionCompleteViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionCompleteViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionJingxingViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionJingxingViewController.m rename XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/{QustionRecordViewController.h => XJQustionRecordViewController.h} (53%) create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionRecordViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionWaitEvlaViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionWaitEvlaViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJAddQuestionViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJAddQuestionViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJBasicHealthInfoViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJBasicHealthInfoViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJDoctorMainViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJDoctorMainViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/SOS/Controller/XJSosCenterViewController.h create mode 100644 XinjiangProject/XinjiangProject/Project/SOS/Controller/XJSosCenterViewController.m create mode 100644 XinjiangProject/XinjiangProject/Project/SOS/Model/XJAEDNetWrokModel.h create mode 100644 XinjiangProject/XinjiangProject/Project/SOS/Model/XJAEDNetWrokModel.m create mode 100644 XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneAEDModel.h create mode 100644 XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneAEDModel.m create mode 100644 XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneHomeModel.h create mode 100644 XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneHomeModel.m create mode 100644 XinjiangProject/XinjiangProject/Project/SOS/Model/XJSOSCenterModel.h create mode 100644 XinjiangProject/XinjiangProject/Project/SOS/Model/XJSOSCenterModel.m create mode 100644 XinjiangProject/XinjiangProject/Project/SOS/View/XJSOSAddressView.h create mode 100644 XinjiangProject/XinjiangProject/Project/SOS/View/XJSOSAddressView.m create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/HeardHistory_icon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/HeardHistory_icon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/HeardHistory_icon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardProgress_icon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardProgress_icon.imageset/HeardProgress_icon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardProgress_icon.imageset/HeardProgress_icon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardProgress_icon.imageset/HeardProgress_icon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_normal_icon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_normal_icon.imageset/tabbar_homepage_normal_icon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_normal_icon.imageset/tabbar_homepage_normal_icon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_normal_icon.imageset/tabbar_homepage_normal_icon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_selected_icon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_selected_icon.imageset/tabBar_homepage_selected_icon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_selected_icon.imageset/tabBar_homepage_selected_icon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_selected_icon.imageset/tabBar_homepage_selected_icon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Satisfaction_icon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Satisfaction_icon.imageset/Satisfaction_icon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Satisfaction_icon.imageset/Satisfaction_icon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Satisfaction_icon.imageset/Satisfaction_icon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/allRoomDoctor.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/allRoomDoctor.imageset/allRoomDoctor.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/allRoomDoctor.imageset/allRoomDoctor@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/allRoomDoctor.imageset/allRoomDoctor@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/cancalSuccess.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/cancalSuccess.imageset/cancalSuccess.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/cancalSuccess.imageset/cancalSuccess@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/cancalSuccess.imageset/cancalSuccess@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/changwei_data.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/changwei_data.imageset/changwei_data.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/changwei_data.imageset/changwei_data@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/changwei_data.imageset/changwei_data@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/chooseCircle.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/chooseCircle.imageset/chooseCircle.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/chooseCircle.imageset/chooseCircle@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/chooseCircle.imageset/chooseCircle@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/choose_Selected.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/choose_Selected.imageset/choose_Selected.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/choose_Selected.imageset/choose_Selected@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/choose_Selected.imageset/choose_Selected@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/choose_nomal.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/choose_nomal.imageset/choose_nomal.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/choose_nomal.imageset/choose_nomal@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/choose_nomal.imageset/choose_nomal@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/closeImage.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/closeImage.imageset/closeImage.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/closeImage.imageset/closeImage@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/closeImage.imageset/closeImage@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/collectLove.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/collectLove.imageset/collectLove.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/collectLove.imageset/collectLove@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/collectLove.imageset/collectLove@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/delect.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/delect.imageset/delect.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/delect.imageset/delect@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/delect.imageset/delect@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/detail_collect.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/detail_collect.imageset/detail_collect.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/detail_collect.imageset/detail_collect@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/detail_collect.imageset/detail_collect@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/doctorHot.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/doctorHot.imageset/doctorHot.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/doctorHot.imageset/doctorHot@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/doctorHot.imageset/doctorHot@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/doctorNoImage.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/doctorNoImage.imageset/doctorNoImage.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/endQuestionItem.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/endQuestionItem.imageset/endQuestionItem.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/endQuestionItem.imageset/endQuestionItem@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/endQuestionItem.imageset/endQuestionItem@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/eye.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/eye.imageset/eye.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/eye.slash.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/eye.slash.imageset/eye.slash.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/firstStep_icon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/firstStep_icon.imageset/firstStep_icon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/firstStep_icon.imageset/firstStep_icon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/firstStep_icon.imageset/firstStep_icon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/foundDoctor.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/foundDoctor.imageset/foundDoctor.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/foundDoctor.imageset/foundDoctor@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/foundDoctor.imageset/foundDoctor@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/garyDown.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/garyDown.imageset/garyDown.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/garyDown.imageset/garyDown@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/garyDown.imageset/garyDown@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/garyRight.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/garyRight.imageset/garyRight.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/garyRight.imageset/garyRight@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/garyRight.imageset/garyRight@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/heard_man.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/heard_man.imageset/heard_man.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/heard_man.imageset/heard_man@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/heard_man.imageset/heard_man@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/heard_woman.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/heard_woman.imageset/heard_woman.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/heard_woman.imageset/heard_woman@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/heard_woman.imageset/heard_woman@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/home_star.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/home_star.imageset/home_star.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/home_star.imageset/home_star@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/home_star.imageset/home_star@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/homestar_gray.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/homestar_gray.imageset/homestar_gray.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/homestar_gray.imageset/homestar_gray@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/homestar_gray.imageset/homestar_gray@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/hospatilAddress.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/hospatilAddress.imageset/hospatilAddress.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/hospatilAddress.imageset/hospatilAddress@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/hospatilAddress.imageset/hospatilAddress@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/hospitalNoimage.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/hospitalNoimage.imageset/hospitalNoimage.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/hospital_location.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/hospital_location.imageset/hospital_location@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/ic_more_archives.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/ic_more_archives.imageset/ic_more_archives.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/ic_more_info.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/ic_more_info.imageset/ic_more_info.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/ic_more_location.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/ic_more_location.imageset/ic_more_location.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/ic_more_medical_examination_report.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/ic_more_medical_examination_report.imageset/ic_more_medical_examination_report.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/line_selected.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/line_selected.imageset/line_selected.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/line_selected.imageset/line_selected@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/line_selected.imageset/line_selected@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginBtn_img.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginBtn_img.imageset/loginBtn_img.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginBtn_img.imageset/loginBtn_img@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginCenterImg.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginCenterImg.imageset/loginCenterImg.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginCenterImg.imageset/loginCenterImg@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginCenterImg.imageset/loginCenterImg@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTitleImg.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTitleImg.imageset/loginTitleImg.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTitleImg.imageset/loginTitleImg@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTitleImg.imageset/loginTitleImg@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTitle_Img.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTitle_Img.imageset/loginTitle_Img.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTitle_Img.imageset/loginTitle_Img@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTitle_Img.imageset/loginTitle_Img@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTopBackImg.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTopBackImg.imageset/loginTopBackImg.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTopBackImg.imageset/loginTopBackImg@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTopBackImg.imageset/loginTopBackImg@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTopBimg.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTopBimg.imageset/loginTopBimg.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTopBimg.imageset/loginTopBimg@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/loginTopBimg.imageset/loginTopBimg@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/login_icon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/login_icon.imageset/login_icon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/login_icon.imageset/login_icon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/login_icon.imageset/login_icon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/login_nomalProtocol.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/login_nomalProtocol.imageset/login_nomalProtocol.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/login_nomalProtocol.imageset/login_nomalProtocol@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/login_nomalProtocol.imageset/login_nomalProtocol@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/login_selectProtocol.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/login_selectProtocol.imageset/login_selectProtocol.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/login_selectProtocol.imageset/login_selectProtocol@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/login_selectProtocol.imageset/login_selectProtocol@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/merchatAddImg.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/merchatAddImg.imageset/merchatAddImg@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mine_normal.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mine_normal.imageset/tabbar_mine_normal.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mine_normal.imageset/tabbar_mine_normal@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mine_normal.imageset/tabbar_mine_normal@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mine_selected.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mine_selected.imageset/tabbar_mine_selected.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mine_selected.imageset/tabbar_mine_selected@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mine_selected.imageset/tabbar_mine_selected@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mustKnow_Nomal.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mustKnow_Nomal.imageset/mustKnow_Nomal.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mustKnow_Nomal.imageset/mustKnow_Nomal@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mustKnow_Nomal.imageset/mustKnow_Nomal@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mustKnow_Selected.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mustKnow_Selected.imageset/mustKnow_Selected.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mustKnow_Selected.imageset/mustKnow_Selected@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/mustKnow_Selected.imageset/mustKnow_Selected@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/myQuestion.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/myQuestion.imageset/myQuestion.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/myQuestion.imageset/myQuestion@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/myQuestion.imageset/myQuestion@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/myQuestionHome.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/myQuestionHome.imageset/myQuestionHome.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/myQuestionHome.imageset/myQuestionHome@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/myQuestionHome.imageset/myQuestionHome@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/nearbyHospitalImg.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/nearbyHospitalImg.imageset/nearbyHospitalImg.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/nearbyHospitalImg.imageset/nearbyHospitalImg@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/nearbyHospitalImg.imageset/nearbyHospitalImg@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/noData.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/noData.imageset/noData.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/noData.imageset/noData@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/noData.imageset/noData@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/noDataBox.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/noDataBox.imageset/noDataBox.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/noDataBox.imageset/noDataBox@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/noDataBox.imageset/noDataBox@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/noQuetionList.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/noQuetionList.imageset/noQuetionList.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/noQuetionList.imageset/noQuetionList@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/noQuetionList.imageset/noQuetionList@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/nomalDetailHeard.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/nomalDetailHeard.imageset/nomalDetailHeard.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/nomalDetailHeard.imageset/nomalDetailHeard@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/nomalDetailHeard.imageset/nomalDetailHeard@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/peoplexiugai.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/peoplexiugai.imageset/peoplexiugai.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/peoplexiugai.imageset/peoplexiugai@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/peoplexiugai.imageset/peoplexiugai@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/physcialType_nomal.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/physcialType_nomal.imageset/physcialType_nomal.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/physcialType_nomal.imageset/physcialType_nomal@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/physcialType_nomal.imageset/physcialType_nomal@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/physcialType_selected.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/physcialType_selected.imageset/physcialType_selected.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/physcialType_selected.imageset/physcialType_selected@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/physcialType_selected.imageset/physcialType_selected@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/pictureQuestion_Left.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/pictureQuestion_Left.imageset/pictureQuestion_Left.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/pictureQuestion_Left.imageset/pictureQuestion_Left@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/pictureQuestion_Left.imageset/pictureQuestion_Left@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/pictureTypeIcon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/pictureTypeIcon.imageset/pictureTypeIcon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/pictureTypeIcon.imageset/pictureTypeIcon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/pictureTypeIcon.imageset/pictureTypeIcon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/popChoose_normal.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/popChoose_normal.imageset/popChoose_normal.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/popChoose_normal.imageset/popChoose_normal@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/popChoose_normal.imageset/popChoose_normal@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/popChoose_selected.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/popChoose_selected.imageset/popChoose_selected.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/popChoose_selected.imageset/popChoose_selected@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/popChoose_selected.imageset/popChoose_selected@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionDetailBack.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionDetailBack.imageset/questionDetailBack.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionDetailBack.imageset/questionDetailBack@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionDetailBack.imageset/questionDetailBack@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionHeardBack.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionHeardBack.imageset/questionHeardBack.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionHeardBack.imageset/questionHeardBack@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionHeardBack.imageset/questionHeardBack@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionLeft_icon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionLeft_icon.imageset/questionLeft_icon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionLeft_icon.imageset/questionLeft_icon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionLeft_icon.imageset/questionLeft_icon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionTitleImg.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionTitleImg.imageset/questionTitleImg.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionTitleImg.imageset/questionTitleImg@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/questionTitleImg.imageset/questionTitleImg@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/recordStatusIng.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/recordStatusIng.imageset/recordStatusIng.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/recordStatusIng.imageset/recordStatusIng@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/recordStatusIng.imageset/recordStatusIng@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/recordsStatusEnd.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/recordsStatusEnd.imageset/recordsStatusEnd.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/recordsStatusEnd.imageset/recordsStatusEnd@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/recordsStatusEnd.imageset/recordsStatusEnd@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/repay_Icon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/repay_Icon.imageset/repay_Icon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/repay_Icon.imageset/repay_Icon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/repay_Icon.imageset/repay_Icon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/report_navRight.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/report_navRight.imageset/report_navRight.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/roomPlaceholder 1.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/roomPlaceholder 1.imageset/roomPlaceholder.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/roomPlaceholder 1.imageset/roomPlaceholder@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/roomPlaceholder 1.imageset/roomPlaceholder@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/roomPlaceholder.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/roomPlaceholder.imageset/roomPlaceholder.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/roomPlaceholder.imageset/roomPlaceholder@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/roomPlaceholder.imageset/roomPlaceholder@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/roomTopImg.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/roomTopImg.imageset/roomTopImg.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/roomTopImg.imageset/roomTopImg@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/roomTopImg.imageset/roomTopImg@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/samllAssistant.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/samllAssistant.imageset/samllAssistant.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/samllAssistant.imageset/samllAssistant@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/samllAssistant.imageset/samllAssistant@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/sangedian.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/sangedian.imageset/sangedian.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/searchLeftIcon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/searchLeftIcon.imageset/searchLeftIcon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/searchLeftIcon.imageset/searchLeftIcon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/searchLeftIcon.imageset/searchLeftIcon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/secondStep_icon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/secondStep_icon.imageset/secondStep_icon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/secondStep_icon.imageset/secondStep_icon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/secondStep_icon.imageset/secondStep_icon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/statusTop_nomal.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/statusTop_nomal.imageset/statusTop_nomal.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/statusTop_nomal.imageset/statusTop_nomal@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/statusTop_nomal.imageset/statusTop_nomal@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/topBackImg.imageset/20240708-103523.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/topBackImg.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/videQuestion_Left 1.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/videQuestion_Left 1.imageset/videQuestion_Left.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/videQuestion_Left 1.imageset/videQuestion_Left@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/videQuestion_Left 1.imageset/videQuestion_Left@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/videQuestion_Left.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/videQuestion_Left.imageset/videQuestion_Left.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/videQuestion_Left.imageset/videQuestion_Left@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/videQuestion_Left.imageset/videQuestion_Left@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/videoTypeIcon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/videoTypeIcon.imageset/videoTypeIcon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/videoTypeIcon.imageset/videoTypeIcon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/videoTypeIcon.imageset/videoTypeIcon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/waitEveal_icon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/waitEveal_icon.imageset/waitEveal_icon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/waitEveal_icon.imageset/waitEveal_icon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/waitEveal_icon.imageset/waitEveal_icon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/whiteBack_icon.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/whiteBack_icon.imageset/whiteBack_icon.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/whiteBack_icon.imageset/whiteBack_icon@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/whiteBack_icon.imageset/whiteBack_icon@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Monitoring/blackLeftAccow.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Monitoring/blackLeftAccow.imageset/blackLeftAccow.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Monitoring/blackLeftAccow.imageset/blackLeftAccow@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Monitoring/blackLeftAccow.imageset/blackLeftAccow@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Monitoring/blackRightAccow.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Monitoring/blackRightAccow.imageset/blackRightAccow.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Monitoring/blackRightAccow.imageset/blackRightAccow@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Monitoring/blackRightAccow.imageset/blackRightAccow@3x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/other/noData.imageset/Contents.json create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/other/noData.imageset/noData.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/other/noData.imageset/noData@2x.png create mode 100644 XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/other/noData.imageset/noData@3x.png diff --git a/XinjiangProject/XinjiangProject/Categorys/NSArray/NSArray+Sudoku.h b/XinjiangProject/XinjiangProject/Categorys/NSArray/NSArray+Sudoku.h index 3ed771f..518e2fa 100644 --- a/XinjiangProject/XinjiangProject/Categorys/NSArray/NSArray+Sudoku.h +++ b/XinjiangProject/XinjiangProject/Categorys/NSArray/NSArray+Sudoku.h @@ -1,6 +1,6 @@ // // NSArray+Sudoku.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/3/4. // diff --git a/XinjiangProject/XinjiangProject/Categorys/NSArray/NSArray+Sudoku.m b/XinjiangProject/XinjiangProject/Categorys/NSArray/NSArray+Sudoku.m index 7fe295c..cc785a9 100644 --- a/XinjiangProject/XinjiangProject/Categorys/NSArray/NSArray+Sudoku.m +++ b/XinjiangProject/XinjiangProject/Categorys/NSArray/NSArray+Sudoku.m @@ -1,6 +1,6 @@ // // NSArray+Sudoku.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/3/4. // diff --git a/XinjiangProject/XinjiangProject/Categorys/NSAttributedString+Extension.h b/XinjiangProject/XinjiangProject/Categorys/NSAttributedString+Extension.h index b270fcc..a5a0b28 100644 --- a/XinjiangProject/XinjiangProject/Categorys/NSAttributedString+Extension.h +++ b/XinjiangProject/XinjiangProject/Categorys/NSAttributedString+Extension.h @@ -1,6 +1,6 @@ // // NSAttributedString+Extension.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/3/14. // diff --git a/XinjiangProject/XinjiangProject/Categorys/NSAttributedString+Extension.m b/XinjiangProject/XinjiangProject/Categorys/NSAttributedString+Extension.m index b8c4ce7..6885856 100644 --- a/XinjiangProject/XinjiangProject/Categorys/NSAttributedString+Extension.m +++ b/XinjiangProject/XinjiangProject/Categorys/NSAttributedString+Extension.m @@ -1,6 +1,6 @@ // // NSAttributedString+Extension.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/3/14. // diff --git a/XinjiangProject/XinjiangProject/Categorys/UIDevice/UIDevice+model.h b/XinjiangProject/XinjiangProject/Categorys/UIDevice/UIDevice+model.h index e481868..a076804 100644 --- a/XinjiangProject/XinjiangProject/Categorys/UIDevice/UIDevice+model.h +++ b/XinjiangProject/XinjiangProject/Categorys/UIDevice/UIDevice+model.h @@ -1,6 +1,6 @@ // // UIDevice+model.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/3/29. // diff --git a/XinjiangProject/XinjiangProject/Categorys/UIDevice/UIDevice+model.m b/XinjiangProject/XinjiangProject/Categorys/UIDevice/UIDevice+model.m index 487561f..dfa9bd0 100644 --- a/XinjiangProject/XinjiangProject/Categorys/UIDevice/UIDevice+model.m +++ b/XinjiangProject/XinjiangProject/Categorys/UIDevice/UIDevice+model.m @@ -1,6 +1,6 @@ // // UIDevice+model.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/3/29. // diff --git a/XinjiangProject/XinjiangProject/Categorys/UIImage+RoundedCorner.h b/XinjiangProject/XinjiangProject/Categorys/UIImage+RoundedCorner.h index bb23801..b76c3c2 100644 --- a/XinjiangProject/XinjiangProject/Categorys/UIImage+RoundedCorner.h +++ b/XinjiangProject/XinjiangProject/Categorys/UIImage+RoundedCorner.h @@ -1,6 +1,6 @@ // // UIImage+RoundedCorner.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/4/24. // diff --git a/XinjiangProject/XinjiangProject/Categorys/UIImage+RoundedCorner.m b/XinjiangProject/XinjiangProject/Categorys/UIImage+RoundedCorner.m index ade1a26..6c29873 100644 --- a/XinjiangProject/XinjiangProject/Categorys/UIImage+RoundedCorner.m +++ b/XinjiangProject/XinjiangProject/Categorys/UIImage+RoundedCorner.m @@ -1,6 +1,6 @@ // // UIImage+RoundedCorner.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/4/24. // diff --git a/XinjiangProject/XinjiangProject/Define/StatusMacros.h b/XinjiangProject/XinjiangProject/Define/StatusMacros.h index 1fffed9..f8d7f20 100755 --- a/XinjiangProject/XinjiangProject/Define/StatusMacros.h +++ b/XinjiangProject/XinjiangProject/Define/StatusMacros.h @@ -82,9 +82,9 @@ //#define IntervenH5 @"https://starry.out.icdat.cn" //开发环境地址 -#define Http @"http://cqyt.dev.yg.dt.io"// -#define H5DevHost @"cqyt.dev.yg.dt.io"// -#define IntervenH5 @"http://cms.dev.yg.dt.io" +#define Http @"https://xjgateway.mcrm.vip:8888"// +#define H5DevHost @"xjgateway.mcrm.vip:8888"// +#define IntervenH5 @"https://xjconsole.mcrm.vip:8888" #define BASEURL @"https://yyjk.cqygjk.com" //北边接口前缀 #define SCHEME @"http" // diff --git a/XinjiangProject/XinjiangProject/Define/YYUtilsMacros.h b/XinjiangProject/XinjiangProject/Define/YYUtilsMacros.h index 7faacde..9156fed 100755 --- a/XinjiangProject/XinjiangProject/Define/YYUtilsMacros.h +++ b/XinjiangProject/XinjiangProject/Define/YYUtilsMacros.h @@ -184,7 +184,7 @@ alpha:1.0]) //数据验证 #define StrValid(f) ([f isKindOfClass:[NSNull class]] || f == nil || [f length] < 1 || [f isEqualToString:@"(null)"] || [f isEqualToString:@""] || [f isEqualToString:@"null"]? YES : NO) -#define SafeStr(f) (StrValid(f) ? f:@"") +#define SafeStr(f) (!StrValid(f) ? f:@"-") #define HasString(str,key) ([str rangeOfString:key].location!=NSNotFound) #define ValidStr(f) StrValid(f) diff --git a/XinjiangProject/XinjiangProject/Manager/AudioManager/CQAudioPlayManager.h b/XinjiangProject/XinjiangProject/Manager/AudioManager/CQAudioPlayManager.h index 7579ab1..8f24bb9 100644 --- a/XinjiangProject/XinjiangProject/Manager/AudioManager/CQAudioPlayManager.h +++ b/XinjiangProject/XinjiangProject/Manager/AudioManager/CQAudioPlayManager.h @@ -1,6 +1,6 @@ // // CQAudioPlayManager.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/12/5. // diff --git a/XinjiangProject/XinjiangProject/Manager/AudioManager/CQAudioPlayManager.m b/XinjiangProject/XinjiangProject/Manager/AudioManager/CQAudioPlayManager.m index 7e56838..7f225d1 100644 --- a/XinjiangProject/XinjiangProject/Manager/AudioManager/CQAudioPlayManager.m +++ b/XinjiangProject/XinjiangProject/Manager/AudioManager/CQAudioPlayManager.m @@ -1,6 +1,6 @@ // // CQAudioPlayManager.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/12/5. // diff --git a/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/DownToolsManager.h b/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/DownToolsManager.h index 85533d9..2ea4291 100644 --- a/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/DownToolsManager.h +++ b/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/DownToolsManager.h @@ -1,6 +1,6 @@ // // DownToolsManager.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/12/1. // diff --git a/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/DownToolsManager.m b/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/DownToolsManager.m index 481c18b..1401575 100644 --- a/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/DownToolsManager.m +++ b/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/DownToolsManager.m @@ -1,6 +1,6 @@ // // DownToolsManager.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/12/1. // diff --git a/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/JKCQAPI.h b/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/JKCQAPI.h index 0a0dac5..58d7601 100755 --- a/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/JKCQAPI.h +++ b/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/JKCQAPI.h @@ -123,4 +123,14 @@ - (void)getMinitringWatchData:(NSMutableDictionary *)parmDic; +- (void)getInterMonitoringMaxMinData:(NSMutableDictionary *)parmDic; + +- (void)getWranHistoryList:(NSMutableDictionary *)parmDic; + +- (void)getSOSDoctorRecordList:(NSMutableDictionary *)parmDic; + +- (void)getSOSDoctorDetailInfo:(NSMutableDictionary *)parmDic; + +- (void)getSOSSmallSumData:(NSMutableDictionary *)parmDic; + @end diff --git a/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/JKCQAPI.m b/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/JKCQAPI.m index c7c6ad7..5f9f96d 100755 --- a/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/JKCQAPI.m +++ b/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/JKCQAPI.m @@ -550,7 +550,7 @@ - (void)getUserAgreementPrivacy:(NSMutableDictionary *)parmDic { //GET https://cqyt.test.yg.icdat.cn/health-consultation/api/consult/conDoctor/selectDictList?dictKey=jump_url HTTP/1.1 - [httpRequest httpGetRequest:[NSString stringWithFormat:@"%@/health-consultation/api/consult/conDoctor/selectDictList?dictKey=qh_ios_jump_url",Http] params:parmDic]; + [httpRequest httpGetRequest:[NSString stringWithFormat:@"%@/health-consultation/api/consult/conDoctor/selectDictList?dictKey=jump_url",Http] params:parmDic]; } @@ -748,4 +748,35 @@ } +- (void)getInterMonitoringMaxMinData:(NSMutableDictionary *)parmDic { + + [httpRequest httpGetRequest:[NSString stringWithFormat:@"%@/health-watch/watchH5Api/thresholdSetting",Http] params:parmDic]; +} + +- (void)getWranHistoryList:(NSMutableDictionary *)parmDic { +// https://health-api.tzgl.shuziweidao.com/health-watch/watchH5Api/historicalWarn?eventType=spo2&queryDate=2025-07-01&userId=1898914204455915521&pageNo=1&pageSize=100 + [httpRequest httpGetRequest:[NSString stringWithFormat:@"%@/health-watch/watchH5Api/historicalWarn",Http] params:parmDic]; + +} + +//应急就医 +- (void)getSOSDoctorRecordList:(NSMutableDictionary *)parmDic { + + [httpRequest httpGetRequest:[NSString stringWithFormat:@"%@/health-emergency/api/emergency/order/initUserOrderPage",Http] params:parmDic]; + +} + +- (void)getSOSDoctorDetailInfo:(NSMutableDictionary *)parmDic { + + //GET https://cqyt.test.yg.icdat.cn/health-emergency/api/emergency/order/orderThrough?id=1744265549623332865 HTTP/1.1 + [httpRequest httpGetRequest:[NSString stringWithFormat:@"%@/health-emergency/api/emergency/order/getOrderById",Http] params:parmDic]; + +} + +//应急小结 +- (void)getSOSSmallSumData:(NSMutableDictionary *)parmDic { + // + [httpRequest httpGetRequest:[NSString stringWithFormat:@"%@/health-emergency/api/emergency/order/orderThrough",Http] params:parmDic]; + +} @end diff --git a/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/SDGETHealthTokenManager.h b/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/SDGETHealthTokenManager.h index 26b9806..3a02ddc 100644 --- a/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/SDGETHealthTokenManager.h +++ b/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/SDGETHealthTokenManager.h @@ -1,6 +1,6 @@ // // SDGETHealthTokenManager.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2024/1/4. // diff --git a/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/SDGETHealthTokenManager.m b/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/SDGETHealthTokenManager.m index 0dfab49..aacb864 100644 --- a/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/SDGETHealthTokenManager.m +++ b/XinjiangProject/XinjiangProject/Manager/NetworkHelpManager/SDGETHealthTokenManager.m @@ -1,6 +1,6 @@ // // SDGETHealthTokenManager.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2024/1/4. // diff --git a/XinjiangProject/XinjiangProject/Manager/TUIManager/ESCTUIManager.h b/XinjiangProject/XinjiangProject/Manager/TUIManager/ESCTUIManager.h index 7db5257..21bdfca 100644 --- a/XinjiangProject/XinjiangProject/Manager/TUIManager/ESCTUIManager.h +++ b/XinjiangProject/XinjiangProject/Manager/TUIManager/ESCTUIManager.h @@ -1,6 +1,6 @@ // // ESCTUIManager.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/16. // diff --git a/XinjiangProject/XinjiangProject/Manager/TUIManager/ESCTUIManager.m b/XinjiangProject/XinjiangProject/Manager/TUIManager/ESCTUIManager.m index b13398b..17f6a13 100644 --- a/XinjiangProject/XinjiangProject/Manager/TUIManager/ESCTUIManager.m +++ b/XinjiangProject/XinjiangProject/Manager/TUIManager/ESCTUIManager.m @@ -1,6 +1,6 @@ // // ESCTUIManager.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/16. // diff --git a/XinjiangProject/XinjiangProject/Project/AppDelegate/AppDelegate+AppService.m b/XinjiangProject/XinjiangProject/Project/AppDelegate/AppDelegate+AppService.m index 8f52968..7b5bf97 100644 --- a/XinjiangProject/XinjiangProject/Project/AppDelegate/AppDelegate+AppService.m +++ b/XinjiangProject/XinjiangProject/Project/AppDelegate/AppDelegate+AppService.m @@ -7,7 +7,7 @@ #import "AppDelegate+AppService.h" #import "HQBaseTabBarController.h" -#import "HQLoginViewController.h" +#import "XJLoginViewController.h" #import #import @@ -314,7 +314,7 @@ self.window = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds]; self.window.backgroundColor = KWhiteColor; - HQLoginViewController * loginvc = [[HQLoginViewController alloc] init]; + XJLoginViewController * loginvc = [[XJLoginViewController alloc] init]; HQBaseNavigationController * nav = [[HQBaseNavigationController alloc] initWithRootViewController:loginvc]; self.window.rootViewController = nav; [self.window makeKeyAndVisible]; diff --git a/XinjiangProject/XinjiangProject/Project/Base/DownPDFFileVC.h b/XinjiangProject/XinjiangProject/Project/Base/DownPDFFileVC.h index 0f5be9c..f2df855 100644 --- a/XinjiangProject/XinjiangProject/Project/Base/DownPDFFileVC.h +++ b/XinjiangProject/XinjiangProject/Project/Base/DownPDFFileVC.h @@ -1,6 +1,6 @@ // // DownPDFFileVC.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/12/1. // diff --git a/XinjiangProject/XinjiangProject/Project/Base/DownPDFFileVC.m b/XinjiangProject/XinjiangProject/Project/Base/DownPDFFileVC.m index 0eeeb9a..13814f2 100644 --- a/XinjiangProject/XinjiangProject/Project/Base/DownPDFFileVC.m +++ b/XinjiangProject/XinjiangProject/Project/Base/DownPDFFileVC.m @@ -1,6 +1,6 @@ // // DownPDFFileVC.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/12/1. // diff --git a/XinjiangProject/XinjiangProject/Project/Base/HQBaseTabBarController.m b/XinjiangProject/XinjiangProject/Project/Base/HQBaseTabBarController.m index 3f3f119..533a057 100644 --- a/XinjiangProject/XinjiangProject/Project/Base/HQBaseTabBarController.m +++ b/XinjiangProject/XinjiangProject/Project/Base/HQBaseTabBarController.m @@ -7,13 +7,12 @@ #import "HQBaseTabBarController.h" #import "HQTabBar.h" -#import "MyCenterViewController.h" +#import "XJMyCenterViewController.h" #import "ChatListViewController.h" //主控制器 #import "QuestionViewController.h" -#import "MyCenterViewController.h" -#import "SosCenterViewController.h" -#import "HeartBadViewController.h" +#import "XJSosCenterViewController.h" +#import "MonitoringWarchViewController.h" //干预二期 @@ -78,14 +77,14 @@ [self setupChildViewController:questionVC title:@"咨询" imageName:@"Question_normal_icon" seleceImageName:@"Question_selected_icon"]; - SosCenterViewController * sosVC = [[SosCenterViewController alloc]init]; + XJSosCenterViewController * sosVC = [[XJSosCenterViewController alloc]init]; [self setupChildViewController:sosVC title:@"就医" imageName:@"Question_normal_icon" seleceImageName:@"Question_selected_icon"]; - HeartBadViewController * jianceVC = [[HeartBadViewController alloc]init]; + MonitoringWarchViewController * jianceVC = [[MonitoringWarchViewController alloc]init]; [self setupChildViewController:jianceVC title:@"监测" imageName:@"Question_normal_icon" seleceImageName:@"Question_selected_icon"]; - MyCenterViewController * centerVC = [[MyCenterViewController alloc] init]; + XJMyCenterViewController * centerVC = [[XJMyCenterViewController alloc] init]; [self setupChildViewController:centerVC title:@"我的" imageName:@"mine_normal" seleceImageName:@"mine_selected"]; diff --git a/XinjiangProject/XinjiangProject/Project/Base/HQBaseViewController.m b/XinjiangProject/XinjiangProject/Project/Base/HQBaseViewController.m index ff3e492..4acc5b3 100644 --- a/XinjiangProject/XinjiangProject/Project/Base/HQBaseViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Base/HQBaseViewController.m @@ -6,7 +6,7 @@ // #import "HQBaseViewController.h" -#import "HQLoginViewController.h" +#import "XJLoginViewController.h" @interface HQBaseViewController () diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomSystemEvaluateModel.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomSystemEvaluateModel.h index 0e3fbc8..8bfbca3 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomSystemEvaluateModel.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomSystemEvaluateModel.h @@ -1,6 +1,6 @@ // // CustomSystemEvaluateModel.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomSystemEvaluateModel.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomSystemEvaluateModel.m index 829b6fc..82012ae 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomSystemEvaluateModel.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomSystemEvaluateModel.m @@ -1,6 +1,6 @@ // // CustomSystemEvaluateModel.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTUIHistoryModel.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTUIHistoryModel.h index 9c4a965..a7c309a 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTUIHistoryModel.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTUIHistoryModel.h @@ -1,6 +1,6 @@ // // CustomTUIHistoryModel.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/21. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTUIHistoryModel.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTUIHistoryModel.m index afd93e7..60ec048 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTUIHistoryModel.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTUIHistoryModel.m @@ -1,6 +1,6 @@ // // CustomTUIHistoryModel.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/21. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTextModel.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTextModel.h index aec4837..ab71957 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTextModel.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTextModel.h @@ -1,6 +1,6 @@ // // CustomTextModel.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTextModel.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTextModel.m index d714621..6e996eb 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTextModel.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomModel/CustomTextModel.m @@ -1,6 +1,6 @@ // // CustomTextModel.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomTUIModel.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomTUIModel.h index 7dbbf5b..efd953a 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomTUIModel.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomTUIModel.h @@ -1,6 +1,6 @@ // // CustomTUIModel.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/17. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomTUIModel.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomTUIModel.m index a1595b5..b21a362 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomTUIModel.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/CustomTUIModel.m @@ -1,6 +1,6 @@ // // CustomTUIModel.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/17. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIBaseMessageController.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIBaseMessageController.h index 57ebc22..ca8517e 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIBaseMessageController.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIBaseMessageController.h @@ -1,6 +1,6 @@ // // CustomTUIBaseMessageController.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIBaseMessageController.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIBaseMessageController.m index b8c6970..c89a14d 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIBaseMessageController.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIBaseMessageController.m @@ -1,6 +1,6 @@ // // CustomTUIBaseMessageController.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIHistoryTable.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIHistoryTable.h index f249abd..bbb9970 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIHistoryTable.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIHistoryTable.h @@ -1,6 +1,6 @@ // // CustomTUIHistoryTable.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIHistoryTable.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIHistoryTable.m index 1dea67f..3285bb0 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIHistoryTable.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/VC/CustomTUIHistoryTable.m @@ -1,6 +1,6 @@ // // CustomTUIHistoryTable.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomAudioCell.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomAudioCell.h index 6eea7d6..1d7d999 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomAudioCell.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomAudioCell.h @@ -1,6 +1,6 @@ // // CustomAudioCell.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomAudioCell.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomAudioCell.m index bb10684..81c2f13 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomAudioCell.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomAudioCell.m @@ -1,6 +1,6 @@ // // CustomAudioCell.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomDoctorIDTableViewCell.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomDoctorIDTableViewCell.h index ace5b7a..34fe71a 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomDoctorIDTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomDoctorIDTableViewCell.h @@ -1,6 +1,6 @@ // // CustomDoctorIDTableViewCell.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/7/5. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomDoctorIDTableViewCell.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomDoctorIDTableViewCell.m index 86ce2c3..e607076 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomDoctorIDTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomDoctorIDTableViewCell.m @@ -1,6 +1,6 @@ // // CustomDoctorIDTableViewCell.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/7/5. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthFileVideoCell.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthFileVideoCell.h index 21a0c4d..6f1592d 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthFileVideoCell.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthFileVideoCell.h @@ -1,6 +1,6 @@ // // CustomHealthFileVideoCell.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthFileVideoCell.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthFileVideoCell.m index f334c68..f677e6f 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthFileVideoCell.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthFileVideoCell.m @@ -1,6 +1,6 @@ // // CustomHealthFileVideoCell.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthReportVideoCell.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthReportVideoCell.h index 14b1cac..b1dc626 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthReportVideoCell.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthReportVideoCell.h @@ -1,6 +1,6 @@ // // CustomHealthReportVideoCell.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthReportVideoCell.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthReportVideoCell.m index fed2751..d037b9a 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthReportVideoCell.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomHealthReportVideoCell.m @@ -1,6 +1,6 @@ // // CustomHealthReportVideoCell.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomMapMessageCell.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomMapMessageCell.h index 0142b26..2ab9adf 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomMapMessageCell.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomMapMessageCell.h @@ -1,6 +1,6 @@ // // CustomMapMessageCell.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomMapMessageCell.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomMapMessageCell.m index 08ad66b..17437da 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomMapMessageCell.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomMapMessageCell.m @@ -1,6 +1,6 @@ // // CustomMapMessageCell.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomReviceTableViewCell.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomReviceTableViewCell.h index c0c4b33..a38d86e 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomReviceTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomReviceTableViewCell.h @@ -1,6 +1,6 @@ // // CustomReviceTableViewCell.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/7/5. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomReviceTableViewCell.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomReviceTableViewCell.m index da470e9..1c4e731 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomReviceTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomReviceTableViewCell.m @@ -1,6 +1,6 @@ // // CustomReviceTableViewCell.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/7/5. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemImageCell.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemImageCell.h index 0380026..1080632 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemImageCell.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemImageCell.h @@ -1,6 +1,6 @@ // // CustomSystemImageCell.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemImageCell.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemImageCell.m index 58e64f5..18dec47 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemImageCell.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemImageCell.m @@ -1,6 +1,6 @@ // // CustomSystemImageCell.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemTextCell.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemTextCell.h index 545d60b..f778c29 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemTextCell.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemTextCell.h @@ -1,6 +1,6 @@ // // CustomSystemTextCell.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemTextCell.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemTextCell.m index 5a54655..3a1f52c 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemTextCell.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemTextCell.m @@ -1,6 +1,6 @@ // // CustomSystemTextCell.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemVideoCell.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemVideoCell.h index ca5f9f1..9f7e461 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemVideoCell.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemVideoCell.h @@ -1,6 +1,6 @@ // // CustomSystemVideoCell.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemVideoCell.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemVideoCell.m index c4ed379..edee2b6 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemVideoCell.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cell/CustomSystemVideoCell.m @@ -1,6 +1,6 @@ // // CustomSystemVideoCell.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cellData/CustomMapMessageCellData.h b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cellData/CustomMapMessageCellData.h index 5fec76d..f3f8cc8 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cellData/CustomMapMessageCellData.h +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cellData/CustomMapMessageCellData.h @@ -1,6 +1,6 @@ // // CustomMapMessageCellData.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cellData/CustomMapMessageCellData.m b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cellData/CustomMapMessageCellData.m index 3632559..70dbfa8 100644 --- a/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cellData/CustomMapMessageCellData.m +++ b/XinjiangProject/XinjiangProject/Project/CustomTUIChat/cellData/CustomMapMessageCellData.m @@ -1,6 +1,6 @@ // // CustomMapMessageCellData.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/Login_Register/Login/Model/IMUserInfoModel.h b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/Model/IMUserInfoModel.h index 5572c6f..0b8653f 100644 --- a/XinjiangProject/XinjiangProject/Project/Login_Register/Login/Model/IMUserInfoModel.h +++ b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/Model/IMUserInfoModel.h @@ -1,6 +1,6 @@ // // IMUserInfoModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/29. // diff --git a/XinjiangProject/XinjiangProject/Project/Login_Register/Login/Model/IMUserInfoModel.m b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/Model/IMUserInfoModel.m index 0df806a..c6b1ee9 100644 --- a/XinjiangProject/XinjiangProject/Project/Login_Register/Login/Model/IMUserInfoModel.m +++ b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/Model/IMUserInfoModel.m @@ -1,6 +1,6 @@ // // IMUserInfoModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/29. // diff --git a/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginFoundPasswordViewController.h b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginFoundPasswordViewController.h new file mode 100644 index 0000000..8c739a5 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginFoundPasswordViewController.h @@ -0,0 +1,16 @@ +// +// XJLoginFoundPasswordViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/5/22. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJLoginFoundPasswordViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginFoundPasswordViewController.m b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginFoundPasswordViewController.m new file mode 100644 index 0000000..2efe4ac --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginFoundPasswordViewController.m @@ -0,0 +1,211 @@ +// +// XJLoginFoundPasswordViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/5/22. +// + +#import "XJLoginFoundPasswordViewController.h" +#import "XJLoginSetPasswordViewController.h" +#import "LVKeyboard.h" +#import "MQTextField.h" +@interface XJLoginFoundPasswordViewController () + +@property (nonatomic, strong)UITextField * nameTextFild; +@property (nonatomic, strong)UITextField * phoneTextFild; +@property (nonatomic, strong)MQTextField * codeTextFild; +@property (nonatomic, strong)UIButton * codeButton; +@property (nonatomic, strong) LVKeyboard *keyboard; + +@end + +@implementation XJLoginFoundPasswordViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + self.isHidenNaviBar = false; + self.navigationItem.title = @"修改密码"; + // Do any additional setup after loading the view. + self.view.backgroundColor = UIColorHex(#E0E0E0); + [self createUI]; +} + +- (void)createUI { + + + //初始化键盘 + LVKeyboard *keyboard = [[LVKeyboard alloc] init]; + keyboard.delegate = self; + self.keyboard = keyboard; + + UIView * topView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(151))]; + topView.backgroundColor = KWhiteColor; + [self.view addSubview:topView]; + + + + UIView * nameLeft = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 112, kRealValue(50))]; + UILabel * nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(16, 0, 80, kRealValue(50))]; + nameLabel.text = @"用户姓名"; + nameLabel.textAlignment = NSTextAlignmentLeft; + nameLabel.font = SYSTEMFONT(13); + nameLabel.textColor = UIColorHex(#666666); + [nameLeft addSubview:nameLabel]; + + + self.nameTextFild = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(50))]; + self.nameTextFild.placeholder = @"请输入用户姓名"; + self.nameTextFild.returnKeyType = UIReturnKeyDone; + self.nameTextFild.font = [UIFont systemFontOfSize:14]; + self.nameTextFild.backgroundColor = KWhiteColor; + self.nameTextFild.leftView = nameLeft; + self.nameTextFild.leftViewMode = UITextFieldViewModeAlways; + self.nameTextFild.font = SYSTEMFONT(14); + [topView addSubview:self.nameTextFild]; + + UIView * linv = [[UIView alloc] initWithFrame:CGRectMake(16, self.nameTextFild.bottom, kScreenWidth - 32, 1)]; + linv.backgroundColor = UIColorHex(#E0E0E0); + [topView addSubview:linv]; + + UIView * codeLeft = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 112, kRealValue(50))]; + UILabel * codeLabel = [[UILabel alloc] initWithFrame:CGRectMake(16, 0, 90, kRealValue(50))]; + codeLabel.text = @"身份证号"; + codeLabel.textAlignment = NSTextAlignmentLeft; + codeLabel.font = SYSTEMFONT(13); + codeLabel.textColor = UIColorHex(#666666); + + [codeLeft addSubview:codeLabel]; + + self.codeTextFild = [[MQTextField alloc] initWithFrame:CGRectMake(0, self.nameTextFild.bottom+1, kScreenWidth, kRealValue(50))]; + self.codeTextFild.placeholder = @"请输入用户身份证号"; + self.codeTextFild.font = [UIFont systemFontOfSize:14]; + self.codeTextFild.backgroundColor = KWhiteColor; + self.codeTextFild.inputView = self.keyboard; + self.codeTextFild.delegate = self; + self.codeTextFild.leftView = codeLeft; + self.codeTextFild.leftViewMode = UITextFieldViewModeAlways; + [topView addSubview:self.codeTextFild]; + + UIView * linvCard = [[UIView alloc] initWithFrame:CGRectMake(16, self.codeTextFild.bottom, kScreenWidth - 32, 1)]; + linvCard.backgroundColor = UIColorHex(#E0E0E0); + [topView addSubview:linvCard]; + + + UIView * phoneLeft = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 112, kRealValue(50))]; + UILabel * phoneLabel = [[UILabel alloc] initWithFrame:CGRectMake(16, 0, 90, kRealValue(50))]; + phoneLabel.text = @"手机号"; + phoneLabel.textAlignment = NSTextAlignmentLeft; + phoneLabel.font = SYSTEMFONT(13); + phoneLabel.textColor = UIColorHex(#666666); + [phoneLeft addSubview:phoneLabel]; + + self.phoneTextFild = [[UITextField alloc] initWithFrame:CGRectMake(0, self.codeTextFild.bottom+1, kScreenWidth, kRealValue(50))]; + self.phoneTextFild.placeholder = @"请输入用户手机号"; + self.phoneTextFild.font = [UIFont systemFontOfSize:14]; + self.phoneTextFild.backgroundColor = KWhiteColor; + self.phoneTextFild.leftView = phoneLeft; + self.phoneTextFild.keyboardType = UIKeyboardTypeNumberPad; + self.phoneTextFild.leftViewMode = UITextFieldViewModeAlways; + [topView addSubview:self.phoneTextFild]; + + UIView * phoneLinv = [[UIView alloc] initWithFrame:CGRectMake(16, self.phoneTextFild.bottom, kScreenWidth - 32, 1)]; + phoneLinv.backgroundColor = UIColorHex(#E0E0E0); + [topView addSubview:phoneLinv]; + + + UIButton * loginBtn = [[UIButton alloc] initWithFrame:CGRectMake(48,self.phoneTextFild.bottom+58, kScreenWidth-96, 48)]; + [loginBtn setTitle:@"确定" forState:UIControlStateNormal ]; + loginBtn.titleLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:14]; + [loginBtn setBackgroundColor:UIColorHex(#21BEBD)]; + loginBtn.layer.cornerRadius = 20; + loginBtn.layer.masksToBounds = true; + [loginBtn setTitleColor:KWhiteColor forState:UIControlStateNormal]; + [loginBtn addTarget:self action:@selector(sureFoundAction) forControlEvents:UIControlEventTouchUpInside]; + [self.view addSubview:loginBtn]; +} + +#pragma mark - 确定点击 +- (void)sureFoundAction { + + + if (ValidStr(self.nameTextFild.text)) { + [EasyTextView showErrorText:@"请输入用户姓名"]; + return; + } + if (ValidStr(self.codeTextFild.text)) { + [EasyTextView showErrorText:@"请输入用户身份证号"]; + return; + } + if (ValidStr(self.phoneTextFild.text)) { + [EasyTextView showErrorText:@"请输入用户手机号"]; + return; + } + [self showMBProgressHUDWithString:@"信息验证中,请稍候..." autoHidden:false]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:self.nameTextFild.text forKey:@"realname"]; + [parmDic setObject:self.codeTextFild.text forKey:@"idCard"]; + [parmDic setObject:self.phoneTextFild.text forKey:@"phone"]; + + JKCQAPI * chageApi = [[JKCQAPI alloc] init:self tag:@"CHANGEAPI" NeedToken:@""]; + + [chageApi postSetUserPassword:parmDic]; + + +} + +#pragma mark -网络请求处理 +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + [self showMBProgressHUDOnlyWithString:message]; + [self hiddenAllMBProgressHUD]; + +} +- (void)Sucess:(id)response tag:(NSString*)tag +{ + if ([tag isEqualToString:@"CHANGEAPI"]) { + + [self hiddenAllMBProgressHUD]; + NSString * result = response; + + XJLoginSetPasswordViewController * password = [[XJLoginSetPasswordViewController alloc] init]; + password.result = result; + [self.navigationController pushViewController:password animated:YES]; + } + +} + + +-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField { + + if(textField == self.codeTextFild) { + + self.codeTextFild.inputView = self.keyboard; + } + return YES; + +} + +- (void)keyboard:(LVKeyboard *)keyboard didClickDeleteButton:(UIButton *)deleteBtn string:(NSMutableString *)string { + self.codeTextFild.text = string; +} + +- (void)keyboard:(LVKeyboard *)keyboard didClickTextButton:(UIButton *)textBtn string:(NSMutableString *)string { + self.codeTextFild.text = string; +} + + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { + [self.codeTextFild resignFirstResponder]; +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginSetPasswordViewController.h b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginSetPasswordViewController.h new file mode 100644 index 0000000..12a4813 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginSetPasswordViewController.h @@ -0,0 +1,18 @@ +// +// XJLoginSetPasswordViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/5/22. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJLoginSetPasswordViewController : HQBaseViewController + +@property (nonatomic, copy) NSString * result; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginSetPasswordViewController.m b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginSetPasswordViewController.m new file mode 100644 index 0000000..2d6243e --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginSetPasswordViewController.m @@ -0,0 +1,229 @@ +// +// XJLoginSetPasswordViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/5/22. +// + +#import "XJLoginSetPasswordViewController.h" +#import "RSAObjC.h" +#import "XJLoginViewController.h" + +@interface XJLoginSetPasswordViewController () + +@property (nonatomic, strong) UITextField * phoneTextFild; +@property (nonatomic, strong) UITextField * codeTextFild; + +@property (nonatomic, strong) UIButton * toggleButton; +@property (nonatomic, strong) UIButton * suretoggleButton; + +@end + +@implementation XJLoginSetPasswordViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = false; + self.navigationItem.title = @"设置密码"; + self.view.backgroundColor = UIColorHex(#EFEFEF); + [self createUI]; +} + +- (void)createUI { + + UIView * topView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(100))]; + topView.backgroundColor = KWhiteColor; + [self.view addSubview:topView]; + + + + UIView * phoneLeft = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 112, kRealValue(50))]; + UILabel * phoneLabel = [[UILabel alloc] initWithFrame:CGRectMake(16, 0, 80, kRealValue(50))]; + phoneLabel.text = @"新密码"; + phoneLabel.textAlignment = NSTextAlignmentLeft; + phoneLabel.font = SYSTEMFONT(13); + phoneLabel.textColor = UIColorHex(#666666); + [phoneLeft addSubview:phoneLabel]; + + + self.phoneTextFild = [[UITextField alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(50))]; + self.phoneTextFild.placeholder = @"请输入新密码"; + self.phoneTextFild.returnKeyType = UIReturnKeyDone; + self.phoneTextFild.font = [UIFont systemFontOfSize:14]; + self.phoneTextFild.backgroundColor = KWhiteColor; + self.phoneTextFild.leftView = phoneLeft; + self.phoneTextFild.secureTextEntry = YES; + self.phoneTextFild.leftViewMode = UITextFieldViewModeAlways; + self.phoneTextFild.font = SYSTEMFONT(14); + [self.view addSubview:self.phoneTextFild]; + + + self.toggleButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [self.toggleButton setImage:[UIImage imageNamed:@"eye"] forState:UIControlStateNormal]; + [self.toggleButton setImage:[UIImage imageNamed:@"eye.slash"] forState:UIControlStateSelected]; + self.toggleButton.frame = CGRectMake(0, 5, 30,30); + [self.toggleButton addTarget:self action:@selector(togglePasswordVisibility) forControlEvents:UIControlEventTouchUpInside]; + // 创建一个容器视图来包含按钮,并增加边距 + UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)]; + [rightView addSubview:self.toggleButton]; + + // 调整按钮在容器视图中的位置,增加边距 + self.toggleButton.centerX = rightView.centerX; + + self.toggleButton.center = CGPointMake(rightView.frame.size.width - self.toggleButton.frame.size.width / 2, rightView.frame.size.height / 2); + self.phoneTextFild.rightView = rightView; + self.phoneTextFild.rightViewMode = UITextFieldViewModeAlways; + + UIView * linv = [[UIView alloc] initWithFrame:CGRectMake(16, self.phoneTextFild.bottom, kScreenWidth - 32, 1)]; + linv.backgroundColor = UIColorHex(#E0E0E0); + [self.view addSubview:linv]; + + UIView * codeLeft = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 112, kRealValue(50))]; + UILabel * codeLabel = [[UILabel alloc] initWithFrame:CGRectMake(16, 0, 90, kRealValue(50))]; + codeLabel.text = @"确认密码"; + codeLabel.textAlignment = NSTextAlignmentLeft; + codeLabel.font = SYSTEMFONT(13); + codeLabel.textColor = UIColorHex(#666666); + [codeLeft addSubview:codeLabel]; + + self.codeTextFild = [[UITextField alloc] initWithFrame:CGRectMake(0, self.phoneTextFild.bottom+1, kScreenWidth, kRealValue(50))]; + self.codeTextFild.placeholder = @"请输入新密码"; + self.codeTextFild.font = [UIFont systemFontOfSize:14]; + self.codeTextFild.backgroundColor = KWhiteColor; + self.codeTextFild.leftView = codeLeft; + self.codeTextFild.secureTextEntry = YES; + self.codeTextFild.leftViewMode = UITextFieldViewModeAlways; + [self.view addSubview:self.codeTextFild]; + + + self.suretoggleButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [self.suretoggleButton setImage:[UIImage imageNamed:@"eye"] forState:UIControlStateNormal]; + [self.suretoggleButton setImage:[UIImage imageNamed:@"eye.slash"] forState:UIControlStateSelected]; + self.suretoggleButton.frame = CGRectMake(0, 5, 30,30); + [self.suretoggleButton addTarget:self action:@selector(sureTogglePasswordVisibility) forControlEvents:UIControlEventTouchUpInside]; + // 创建一个容器视图来包含按钮,并增加边距 + UIView *coderightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)]; + [coderightView addSubview:self.suretoggleButton]; + + // 调整按钮在容器视图中的位置,增加边距 + self.suretoggleButton.centerX = coderightView.centerX; + self.codeTextFild.rightView = coderightView; + self.codeTextFild.rightViewMode = UITextFieldViewModeAlways; + + UILabel * passwordLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(15), topView.bottom + kRealValue(8) , kScreenWidth - kRealValue(30), 42)]; + passwordLabel.textColor = UIColorHex(#666666); + passwordLabel.text = @"温馨提示:密码需要为12-32位(包含数字、大写、小写字母、特殊字符)"; + passwordLabel.numberOfLines = 2; + passwordLabel.font =MEDIUMFONT(14); + [passwordLabel sizeToFit]; +// NSMutableAttributedString * attString = [HQCommonUtils firstString:@"请为您的账号" firstColor:UIColorHex(#666666) firstSize:14 secondString:@"zhangsan" secondColor:UIColorHex(#333333) secondSize:14 thirdString:@"设置一个新密码" thirdColor:UIColorHex(#666666) thirdSize:14]; +// passwordLabel.attributedText = attString ; +// passwordLabel.textAlignment = NSTextAlignmentCenter; +// [topView addSubview:passwordLabel]; + [self.view addSubview:passwordLabel]; + + UIButton * loginBtn = [[UIButton alloc] initWithFrame:CGRectMake(48,passwordLabel.bottom+58, kScreenWidth-96, 48)]; + [loginBtn setTitle:@"确定" forState:UIControlStateNormal ]; + loginBtn.titleLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:14]; + [loginBtn setBackgroundColor:UIColorHex(#21BEBD)]; + loginBtn.layer.cornerRadius = 20; + loginBtn.layer.masksToBounds = true; + [loginBtn setTitleColor:KWhiteColor forState:UIControlStateNormal]; + [loginBtn addTarget:self action:@selector(sureFoundAction) forControlEvents:UIControlEventTouchUpInside]; + [self.view addSubview:loginBtn]; +} + +#pragma mark:重新设置密码 +- (void)sureFoundAction { + + [self.phoneTextFild resignFirstResponder]; + [self.codeTextFild resignFirstResponder]; + + if (ValidStr(self.phoneTextFild.text) || ValidStr(self.codeTextFild.text)) { + [EasyTextView showErrorText:@"请输入新密码"]; + return; + } + if (isValidPassword(self.phoneTextFild.text)) { + + } else { + [EasyTextView showErrorText:@"请按照密码规则,请重新输入"]; + return; + } + if ( ![self.phoneTextFild.text isEqualToString:self.codeTextFild.text]) { + [EasyTextView showErrorText:@"两次输入密码不一致,请重新输入"]; + return; + } + + NSString * publish_key = @" MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmZfR/bA9X3vp86y1aEpvwzXJYKRRF1fLau2+05/ZtaITLpV8bhkmSf3neSy/Q9gAdvG75Fr73E+GWE+K5b0BpvIS1jDGo319+PpZR39SaZTKZ27XFXrosmJTZutN79t819HS1VseleunHAFgMVufE9U5jP6LGzl/wbkSy01GhzwIDAQAB"; + + // 原始数据,要加密的字符串 + NSString *originalString = self.phoneTextFild.text; + + // RSA 加密,使用字符串格式的公钥私钥加密解密, RSAPublickKey 为公钥字符串(NSString 格式) + NSString *encryptStr = [RSAObjC encrypt:originalString PublicKey:publish_key]; + + [self showMBProgressHUDWithString:@"密码重置中,请稍候..." autoHidden:false]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:encryptStr forKey:@"newPassword"]; + [parmDic setObject:encryptStr forKey:@"newPasswordConfirm"]; + [parmDic setObject:self.result forKey:@"resetCode"]; + + JKCQAPI * chageApi = [[JKCQAPI alloc] init:self tag:@"CHANGEAPI" NeedToken:@""]; + + [chageApi postResetUserNewPassword:parmDic]; + + +} + + +BOOL isValidPassword(NSString *password) { + // 定义正则表达式 + NSString *pattern = @"^(?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*(),.?\":{}|<>]).{12,32}$"; + + // 创建NSPredicate对象 + NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", pattern]; + + // 使用NSPredicate对象进行判断 + return [predicate evaluateWithObject:password]; +} + +#pragma mark -网络请求处理 +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + [self showMBProgressHUDOnlyWithString:message]; + [self hiddenAllMBProgressHUD]; + +} +- (void)Sucess:(id)response tag:(NSString*)tag +{ + if ([tag isEqualToString:@"CHANGEAPI"]) { + [self hiddenAllMBProgressHUD]; + [self.navigationController popToRootViewControllerAnimated:YES]; + [self showMBProgressHUDOnlyWithString:response]; + } + +} + + +- (void)togglePasswordVisibility { + self.phoneTextFild.secureTextEntry = !self.phoneTextFild.secureTextEntry; + self.toggleButton.selected = !self.toggleButton.selected; +} + +- (void)sureTogglePasswordVisibility { + self.codeTextFild.secureTextEntry = !self.codeTextFild.secureTextEntry; + self.suretoggleButton.selected = !self.suretoggleButton.selected; +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginViewController.h b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginViewController.h new file mode 100644 index 0000000..ea06b76 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginViewController.h @@ -0,0 +1,16 @@ +// +// XJLoginViewController.h +// healthQuestion +// +// Created by xulei on 2022/8/16. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJLoginViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginViewController.m b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginViewController.m new file mode 100644 index 0000000..4f3f8df --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Login_Register/Login/XJLoginViewController.m @@ -0,0 +1,576 @@ +// +// HQLoginViewController.m +// healthQuestion +// +// Created by xulei on 2022/8/16. +// + +#import "XJLoginViewController.h" +#import "TUIC2CChatViewController.h" +#import "XJLoginFoundPasswordViewController.h" +#import "IMUserInfoModel.h" +#import "RSAObjC.h" +#import "XJMineCenterUserModel.h" +#import "ADJumpViewController.h" +#import "XJRegisterViewController.h" +#import "LVKeyboard.h" +#import "MQTextField.h" +@interface XJLoginViewController () + +@property (nonatomic, strong) UITextField * userNameField; + +@property (nonatomic, strong) MQTextField * passwordField; + +@property (nonatomic, strong) UIButton * logoBtn; + +@property (nonatomic, strong) UIView * loginView; + +@property (nonatomic, strong) UIButton * privacyPolicyBtn; + +@property (nonatomic, strong) UIButton * agreenBtn; + +@property (nonatomic, strong) IMUserInfoModel * model ; + +@property (nonatomic, strong) NSMutableArray * dataArray; + +@property (nonatomic, strong) UIButton * regisBtn; + +@property (nonatomic, strong) LVKeyboard *keyboard; + +@property (nonatomic, strong) UIButton *toggleButton; + +@end + +@implementation XJLoginViewController + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + _dataArray = [[NSMutableArray alloc] init]; + } + return _dataArray; +} + + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = YES; + self.view.backgroundColor = KWhiteColor; + [self createUI]; + [self createData]; +// [self ishiderRegisData]; + //初始化键盘 + LVKeyboard *keyboard = [[LVKeyboard alloc] init]; + keyboard.delegate = self; + self.keyboard = keyboard; + + +} + +- (void)createUI { + + UIImageView * topBackImg = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(243))]; + topBackImg.image = IMAGE_NAMED(@"loginTopBimg"); + topBackImg.userInteractionEnabled = true; + [self.view addSubview:topBackImg]; + + UIImageView * cenetrImg = [[UIImageView alloc] initWithFrame:CGRectMake(0, kRealValue(70), kRealValue(68), kRealValue(68))]; + cenetrImg.centerX = self.view.centerX; + cenetrImg.image = IMAGE_NAMED(@"login_icon"); + cenetrImg.userInteractionEnabled = true; + [self.view addSubview:cenetrImg]; + + UIButton * homeBtn = [UIButton buttonWithType:UIButtonTypeCustom]; + homeBtn.frame = CGRectMake(kRealValue(15), kRealValue(40),kRealValue(100), 41); + [homeBtn setTitle:@"< 去首页" forState:UIControlStateNormal]; + [homeBtn.titleLabel setFont:BOLDSYSTEMFONT(14)]; + [homeBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [homeBtn addTarget:self action:@selector(backHomeAction) forControlEvents:UIControlEventTouchUpInside]; + [topBackImg addSubview:homeBtn]; + + UIImageView *titleImg = [[UIImageView alloc] initWithFrame:CGRectMake(0, cenetrImg.bottom + kRealValue(20), kRealValue(109), kRealValue(24))]; + titleImg.centerX = self.view.centerX; + titleImg.image = IMAGE_NAMED(@"loginTitle_Img"); + [self.view addSubview:titleImg]; +// + UIView *loginView = [[UIView alloc]init]; + loginView.frame = CGRectMake(0, titleImg.bottom + kRealValue(41), kScreenWidth, kScreenHeight - titleImg.bottom - kRealValue(41)); + [self.view addSubview:loginView]; + loginView.backgroundColor = KWhiteColor; + UIBezierPath *maskPath = [UIBezierPath bezierPathWithRoundedRect:loginView.bounds byRoundingCorners:UIRectCornerTopLeft | UIRectCornerTopRight cornerRadii:CGSizeMake(20, 20)]; + CAShapeLayer *maskLayer = [[CAShapeLayer alloc] init]; + maskLayer.path = maskPath.CGPath; + loginView.layer.mask = maskLayer; + self.loginView = loginView; +// + UITextField *accountField = [[UITextField alloc]init]; + accountField.frame = CGRectMake(kRealValue(35), kRealValue(36), loginView.width - kRealValue(70), 40); + accountField.placeholder = @"请输入用户名"; + accountField.font = BOLDSYSTEMFONT(14); + accountField.textColor = CFontColor1; + self.userNameField = accountField; + self.userNameField.backgroundColor = UIColorHex(#EEEEEE); + self.userNameField.layer.cornerRadius = 20; + self.userNameField.layer.masksToBounds = true; + UIView * leftview = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 20, 40)]; + self.userNameField.leftView = leftview; + self.userNameField.leftViewMode = UITextFieldViewModeAlways; + [loginView addSubview:accountField ]; +// +// + MQTextField * passwordField = [[MQTextField alloc]init]; + passwordField.frame = CGRectMake(kRealValue(35), accountField.bottom + kRealValue(19), accountField.width, accountField.height); + passwordField.placeholder = @"请输入密码"; + passwordField.font = BOLDSYSTEMFONT(14); + passwordField.textColor = CFontColor1; + passwordField.backgroundColor = UIColorHex(#EEEEEE); + passwordField.secureTextEntry = YES; + self.passwordField = passwordField; + self.passwordField.leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 20, 40)]; + self.passwordField.leftViewMode = UITextFieldViewModeAlways; + self.passwordField.layer.cornerRadius = 20; + self.passwordField.layer.masksToBounds = true; + self.passwordField.delegate = self; + self.passwordField.inputView = self.keyboard; + + self.toggleButton = [UIButton buttonWithType:UIButtonTypeCustom]; + [self.toggleButton setImage:[UIImage imageNamed:@"eye"] forState:UIControlStateNormal]; + [self.toggleButton setImage:[UIImage imageNamed:@"eye.slash"] forState:UIControlStateSelected]; + self.toggleButton.frame = CGRectMake(0, 5, 30,30); + [self.toggleButton addTarget:self action:@selector(togglePasswordVisibility) forControlEvents:UIControlEventTouchUpInside]; + // 创建一个容器视图来包含按钮,并增加边距 + UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 40, 40)]; + [rightView addSubview:self.toggleButton]; + + // 调整按钮在容器视图中的位置,增加边距 + self.toggleButton.center = CGPointMake(rightView.frame.size.width - self.toggleButton.frame.size.width / 2, rightView.frame.size.height / 2); + self.passwordField.rightView = rightView; + self.passwordField.rightViewMode = UITextFieldViewModeAlways; + + [loginView addSubview:passwordField]; + + + + + UIButton *loginBtn = [UIButton buttonWithType:UIButtonTypeCustom]; + loginBtn.frame = CGRectMake(kRealValue(35), self.passwordField.bottom + kRealValue(19), WIDTH - kRealValue(70), 41); + [loginBtn setTitle:@"登录" forState:UIControlStateNormal]; + [loginBtn.titleLabel setFont:BOLDSYSTEMFONT(14)]; + [loginBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal]; + [loginBtn setBackgroundImage:[UIImage imageNamed:@"loginBtn_img"] forState:UIControlStateNormal]; + [loginBtn addTarget:self action:@selector(toClickFootBtn:) forControlEvents:UIControlEventTouchUpInside]; + [loginView addSubview:loginBtn]; + + UIButton * foundPasswordBtn = [UIButton buttonWithType:UIButtonTypeCustom]; + foundPasswordBtn.frame = CGRectMake(kRealValue(35), loginBtn.bottom + kRealValue(10), WIDTH - kRealValue(70), 20); + [foundPasswordBtn setTitle:@"找回密码" forState:UIControlStateNormal]; + foundPasswordBtn.titleLabel.font = MEDIUMFONT(14); + [foundPasswordBtn setTitleColor:UIColorHex(#999999) forState:UIControlStateNormal]; + [foundPasswordBtn addTarget:self action:@selector(foundUserPasswordAction) forControlEvents:UIControlEventTouchUpInside]; + [loginView addSubview:foundPasswordBtn]; + + + UIButton * regisBtn = [UIButton buttonWithType:UIButtonTypeCustom]; + regisBtn.frame = CGRectMake(kRealValue(35), foundPasswordBtn.bottom + kRealValue(20), kScreenWidth - kRealValue(70), 20); + [regisBtn setTitle:@"注册" forState:UIControlStateNormal]; + self.regisBtn = regisBtn; + regisBtn.titleLabel.font = MEDIUMFONT(14); + self.regisBtn.hidden = true; + [regisBtn setTitleColor:UIColorHex(#999999) forState:UIControlStateNormal]; + [regisBtn addTarget:self action:@selector(regisAction) forControlEvents:UIControlEventTouchUpInside]; + [loginView addSubview:regisBtn]; + + [[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"LOGINAgree"]; + [[NSUserDefaults standardUserDefaults] synchronize]; + + NSUserDefaults * agreeDefaul = [NSUserDefaults standardUserDefaults]; + + NSString * agree = [agreeDefaul objectForKey:@"LOGINAgree"]; + + self.agreenBtn = [UIButton buttonWithType:UIButtonTypeCustom]; + self.agreenBtn.frame = CGRectMake(kRealValue(28), self.view.bottom - kRealValue(45) - SafetyAreaHeight, kRealValue(20), kRealValue(20)); + [self.agreenBtn addTarget:self action:@selector(agreeProtocolAction:) forControlEvents:UIControlEventTouchUpInside]; + [self.agreenBtn setImage:IMAGE_NAMED(@"login_nomalProtocol") forState:UIControlStateNormal]; + [self.agreenBtn setImage:IMAGE_NAMED(@"login_selectProtocol") forState:UIControlStateSelected]; + if ([agree intValue] == 1) { + self.agreenBtn.selected = true; + }else + { + self.agreenBtn.selected = false; + } + [self.view addSubview:self.agreenBtn]; + + + //隐私 + YYLabel * yslabel = [[YYLabel alloc] initWithFrame:CGRectMake(self.agreenBtn.right + kRealValue(5) ,self.agreenBtn.top , kScreenWidth - self.agreenBtn.right - kRealValue(47), 20)]; + [self.view addSubview:yslabel]; + yslabel.numberOfLines = 0; + + NSString *string = @"已阅读并同意《用户协议》、《隐私政策》"; + NSMutableAttributedString *attributed = [[NSMutableAttributedString alloc] initWithString:string]; + [attributed setAttribute:NSForegroundColorAttributeName value:UIColorHex(#3390FF) range:[string rangeOfString:@"《用户协议》"]]; + [attributed setAttribute:NSForegroundColorAttributeName value:UIColorHex(#3390FF) range:[string rangeOfString:@"《隐私政策》"]]; +// [attributed setAttribute:NSForegroundColorAttributeName value:UIColorHex(#3390FF) range:[string rangeOfString:@"《相关法律说明》"]]; + + YYTextHighlight * protocolHightlight = [[YYTextHighlight alloc] init]; + protocolHightlight.userInfo = @{@"协议":@"《用户协议》"}; + [protocolHightlight setColor:UIColorHex(#3390FF)]; + [attributed setTextHighlight:protocolHightlight range:[string rangeOfString:@"《用户协议》"]]; + + YYTextHighlight * layHightlight = [[YYTextHighlight alloc] init]; + layHightlight.userInfo = @{@"隐私":@"《隐私政策》"}; + [layHightlight setColor:UIColorHex(#3390FF)]; + [attributed setTextHighlight:layHightlight range:[string rangeOfString:@"《隐私政策》"]]; + +// +// YYTextHighlight * shuoHightlight = [[YYTextHighlight alloc] init]; +// shuoHightlight.userInfo = @{@"说明":@"《相关法律说明》"}; +// [shuoHightlight setColor:UIColorHex(#3390FF)]; +// [attributed setTextHighlight:shuoHightlight range:[string rangeOfString:@"《相关法律说明》"]]; + + attributed.lineSpacing = 3; + attributed.paragraphSpacing = 5; + yslabel.attributedText = attributed; + + yslabel.highlightTapAction = ^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) { + NSString *string = [text.string substringWithRange:range]; + if ([string containsString:@"用户协议"]){ + if (self.dataArray.count <= 0) { + [EasyTextView showErrorText:@"暂无用户协议"]; + return; + } + for (XJMineCenterUserModel * model in self.dataArray) { + + if ([model.value integerValue] == 1) { + + ADJumpViewController * webVC= [[ADJumpViewController alloc] init]; + webVC.webTitle = @"用户协议"; + webVC.webUrl = [NSString stringWithFormat:@"%@%@",IntervenH5,model.text]; + [self.navigationController pushViewController:webVC animated:YES]; + } + + } + + } + if ([string containsString:@"隐私政策"]){ + if (self.dataArray.count <= 0) { + [EasyTextView showErrorText:@"暂无隐私政策"]; + return; + } + for (XJMineCenterUserModel * model in self.dataArray) { + if ([model.value integerValue] == 2) { + + ADJumpViewController * webVC= [[ADJumpViewController alloc] init]; + webVC.webTitle = @"隐私政策"; + webVC.webUrl = [NSString stringWithFormat:@"%@%@",IntervenH5,model.text]; + [self.navigationController pushViewController:webVC animated:YES]; + } + } + } + if ([string containsString:@"相关法律说明"]){ + for (XJMineCenterUserModel * model in self.dataArray) { + if ([model.value integerValue] == 3) { + + ADJumpViewController * webVC= [[ADJumpViewController alloc] init]; + webVC.webTitle = @"相关法律说明"; + webVC.webUrl = [NSString stringWithFormat:@"%@%@",IntervenH5,model.text]; + [self.navigationController pushViewController:webVC animated:YES]; + } + } + } + }; + +} +- (void)createData { + + JKCQAPI * agreeAPI = [[JKCQAPI alloc] init:self tag:@"AGREEAPI" NeedToken:@""]; + + [agreeAPI getUserAgreementPrivacy:nil]; + +} + + +#pragma mark - ACTION +- (void)toClickFootBtn:(UIButton *)button{ + + if (self.agreenBtn.selected == false) { + [EasyTextView showErrorText:@"请选阅读并同意用户服务协议与隐私"]; + return;; + } + + + + if (self.userNameField.text.length < 1) { + [EasyTextView showErrorText:@"请输入用户名"]; + return;; + } + + if (self.passwordField.text.length < 12 || self.passwordField.text.length > 32) { + + + + UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"温馨提示" message:@"密码不安全,请先修改密码" preferredStyle:UIAlertControllerStyleAlert]; + + UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { + + }]; + UIAlertAction *sureAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { + + XJLoginFoundPasswordViewController * modifVC = [[XJLoginFoundPasswordViewController alloc] init]; + [self.navigationController pushViewController:modifVC animated:YES]; + + }]; + [alertController addAction:cancelAction]; + [alertController addAction:sureAction]; + + [self presentViewController:alertController animated:YES completion:nil]; + + + return;; + } + + if (self.passwordField.text.length < 1) { + [EasyTextView showErrorText:@"请输入密码"]; + return;; + } + + NSString * publish_key = @" MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCmZfR/bA9X3vp86y1aEpvwzXJYKRRF1fLau2+05/ZtaITLpV8bhkmSf3neSy/Q9gAdvG75Fr73E+GWE+K5b0BpvIS1jDGo319+PpZR39SaZTKZ27XFXrosmJTZutN79t819HS1VseleunHAFgMVufE9U5jP6LGzl/wbkSy01GhzwIDAQAB"; + + // 原始数据,要加密的字符串 + NSString *originalString = self.passwordField.text; + + // RSA 加密,使用字符串格式的公钥私钥加密解密, RSAPublickKey 为公钥字符串(NSString 格式) + NSString *encryptStr = [RSAObjC encrypt:originalString PublicKey:publish_key]; + + [self showMBProgressHUDWithString:@"登录中" autoHidden:false]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + + [parmDic setObject:self.userNameField.text forKey:@"username"]; + //新增 + UIDevice *currentDevice = [UIDevice currentDevice]; + NSString * phone = [currentDevice getCurrentDeviceModel]; +// NSString * system = [NSString stringWithFormat:@"%.1f",CurrentSystemVersion] ; + if (!ValidStr(phone)) { + [parmDic setObject:phone forKey:@"deviceType"]; + + } + [parmDic setObject:@(CurrentSystemVersion) forKey:@"deviceSystem"]; + + [parmDic setObject:encryptStr forKey:@"password"]; + + JKCQAPI * proctocolApi = [[JKCQAPI alloc] init:self tag:@"LOGINGAPI" NeedToken:nil]; + [proctocolApi PostLogin:parmDic]; + +// +// NSString * userSig = @""; +// if ([self.userNameField.text isEqual:@"111"]) { +// +// userSig = @"eAEtzMsKgkAUBuB3OdtCzow2N3CTiZs01F4gcmpOkYgjUUTvnjhtv--ygeO*jXx3Pw0DdWBYgig1l1ytl2Sih51VSLHhUqgkqKcrGGhjXZZFvap2mTvnLneHbXOrG1k5XcT4Vk1Bo2Uq471PIQzta5gNjMBEIQZ72nE*4xH*O9TZfqILLcwYg*8PBAYuZw__"; +// }else { +// userSig = @"eAEtzLsOgjAUBuB36arB9gR6gMSBQV0g0UBwcTFpK0esaQARY3x3iXX9-subVXkZ9Ko9O0eKpSLkHBNAiJe-ZCCrZ5UoI0CUodeeLixl1xticRRCtmbf2M0z2dVVsS2jCbKHMK-Tyo1NVotykdvDmvmlnhx186PkYcy5t1F38xsE-N8hpe8DGfIMwD5fblkvWg__"; +// } +// +// [ESCTUIManager loginInitTUISDKUserID:self.userNameField.text userSig:userSig]; +// +// + +} + +#pragma mark -网络请求处理 +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + [self hiddenAllMBProgressHUD]; + [self showMBProgressHUDOnlyWithString:message]; + + +} +- (void)Sucess:(id)response tag:(NSString*)tag +{ + + if ([tag isEqualToString:@"LOGINGAPI"]) { + [self hiddenAllMBProgressHUD]; + [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"AVATAR"]; + [[NSUserDefaults standardUserDefaults] removeObjectForKey:@"placeholdImg"]; + + NSDictionary * dic = response; + HQUserInfo * user = [[HQUserInfo alloc] init]; + user.userInfo = [dic objectForKey:@"userInfo"]; + user.token = [dic objectForKey:@"token"]; + [HQCommonUtils keyedArchiverWithData:user key:LoginUserInfo]; + [[NSUserDefaults standardUserDefaults] setObject:@"1" forKey:@"LOGINAgree"]; + [[NSUserDefaults standardUserDefaults] synchronize]; + NSString * avatar = @""; + NSString * placeholdImg ; + if (!ValidStr(user.avatar)) { + avatar = user.avatar; + }else + { + if ([user.sex_dictText isEqualToString:@"女"]) { + placeholdImg = @"heard_man"; + }else + { + placeholdImg = @"heard_woman"; + } + } + if (ValidStr(user.personType) || [user.personType intValue] != 1 ) { + + [self showMBProgressHUDOnlyWithString:@"账号或登录密码错误,请重试"]; + return; + } + [[NSUserDefaults standardUserDefaults] setObject:avatar forKey:@"AVATAR"]; + [[NSUserDefaults standardUserDefaults] setObject:placeholdImg forKey:@"placeholdImg"]; + [[NSUserDefaults standardUserDefaults] synchronize]; + + KPostNotification(KNotificationLoginStateChange, @YES); + //登录im + [self loginImAccount]; + } + if ([tag isEqualToString:@"IMAPI"]) { + + NSDictionary * pamrDic = response; + + IMUserInfoModel * model = [IMUserInfoModel modelWithDictionary:pamrDic]; + + IMUserInfoModel * iminfoModel = [[IMUserInfoModel alloc] init]; + iminfoModel.IMInfo = pamrDic; + [HQCommonUtils keyedArchiverWithData:iminfoModel key:IMLoginUserInfo]; + + + // 1. 从即时通信 IM 控制台获取应用 SDKAppID。 + // 2. 初始化 config 对象 + V2TIMSDKConfig *config = [[V2TIMSDKConfig alloc] init]; + + // 3. 指定 log 输出级别。 + config.logLevel = V2TIM_LOG_INFO; + // 4. 添加 V2TIMSDKListener 的事件监听器,self 是 id 的实现类,如果您不需要监听 IM SDK 的事件,这个步骤可以忽略。 + [[V2TIMManager sharedInstance] addIMSDKListener:self]; + // 5. 初始化 IM SDK,调用这个接口后,可以立即调用登录接口。 + [[V2TIMManager sharedInstance] initSDK:[model.sdkAppId intValue] config:config]; + + [ESCTUIManager loginInitTUISDKAppidWith:[model.sdkAppId intValue] UserID:model.userId userSig:model.userSig]; + } + if ([tag isEqualToString:@"AGREEAPI"]) { + + NSArray * array = response; + + for (NSDictionary * parmDic in array) { + + XJMineCenterUserModel * model = [XJMineCenterUserModel modelWithDictionary:parmDic]; + https://api.cqygjk.com/health-consultation/api/consult/conDoctor/selectDictList?dictKey=qh_jump_url + [self.dataArray addObject:model]; + + } + + } + if ([tag isEqualToString:@"VERSIONAPI"]) { + + NSString * version = response; + + + NSBundle *mainBundle = [NSBundle mainBundle]; + if (mainBundle) { + NSString *version = [mainBundle objectForInfoDictionaryKey:@"CFBundleShortVersionString"]; +// NSString *build = [mainBundle objectForInfoDictionaryKey:@"CFBundleVersion"]; +// NSString *displayName = [mainBundle objectForInfoDictionaryKey:@"CFBundleDisplayName"]; +// NSString *fullVersion = [NSString stringWithFormat:@"%@ %@ (Build %@)", displayName, version, build]; + if([version floatValue] < [version floatValue]) { + self.regisBtn.hidden = true; + }else + { + self.regisBtn.hidden = false; + } + } + } +} + + +- (void)backHomeAction { + + KPostNotification(KNotificationLoginStateChange, @YES); + +} + + +- (void)loginImAccount { + + + JKCQAPI * proctocolApi = [[JKCQAPI alloc] init:self tag:@"IMAPI" NeedToken:nil]; + [proctocolApi GetIMLoginAccount:nil]; + + + +} +//建议整体禁用(复制、粘贴、全选等都被禁用了) +-(BOOL)canPerformAction:(SEL)action withSender:(id)sender{ + + UIMenuController *menuController = [UIMenuController sharedMenuController]; + if (menuController) { + [UIMenuController sharedMenuController].menuVisible = NO; + } + return NO; +} + +- (void)agreeProtocolAction:(UIButton *)agreeBtn { + + agreeBtn.selected = !agreeBtn.selected; + + +} +#pragma mark:找回密码 +- (void)foundUserPasswordAction { +// GastoremteroscopeViewController * resultAppointVC = [[GastoremteroscopeViewController alloc] init]; +// [self.navigationController pushViewController:resultAppointVC animated:YES]; + XJLoginFoundPasswordViewController * foundVC = [[XJLoginFoundPasswordViewController alloc] init]; + + [self.navigationController pushViewController:foundVC animated:YES]; +} + +- (void)ishiderRegisData { + + + JKCQAPI * versionAPI = [[JKCQAPI alloc] init:self tag:@"VERSIONAPI" NeedToken:@""]; + + [versionAPI getVesionHideRegis:@{@"type":@"app_update_user_ios"}.mutableCopy]; + + +} + +#pragma mark:注册 +- (void)regisAction { + + XJRegisterViewController * forgetVc = [[XJRegisterViewController alloc] init]; + + [self presentViewController:forgetVc animated:YES completion:nil]; +} + + +-(BOOL)textFieldShouldBeginEditing:(UITextField *)textField { + + if(textField == self.passwordField) { + + self.passwordField.inputView = self.keyboard; + } + return YES; + +} + +- (void)keyboard:(LVKeyboard *)keyboard didClickDeleteButton:(UIButton *)deleteBtn string:(NSMutableString *)string { + self.passwordField.text = string; +} + +- (void)keyboard:(LVKeyboard *)keyboard didClickTextButton:(UIButton *)textBtn string:(NSMutableString *)string { + self.passwordField.text = string; +} + + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { + [self.passwordField resignFirstResponder]; +} + +- (void)togglePasswordVisibility { + self.passwordField.secureTextEntry = !self.passwordField.secureTextEntry; + self.toggleButton.selected = !self.toggleButton.selected; +} +@end + diff --git a/XinjiangProject/XinjiangProject/Project/Login_Register/register/XJRegisterViewController.h b/XinjiangProject/XinjiangProject/Project/Login_Register/register/XJRegisterViewController.h new file mode 100644 index 0000000..c661942 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Login_Register/register/XJRegisterViewController.h @@ -0,0 +1,16 @@ +// +// XJRegisterViewController.h +// healthQuestion +// +// Created by xulei on 2022/8/17. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJRegisterViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Login_Register/register/XJRegisterViewController.m b/XinjiangProject/XinjiangProject/Project/Login_Register/register/XJRegisterViewController.m new file mode 100644 index 0000000..bf82a93 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Login_Register/register/XJRegisterViewController.m @@ -0,0 +1,264 @@ +// +// XJRegisterViewController.m +// healthQuestion +// +// Created by xulei on 2022/8/17. +// + +#import "XJRegisterViewController.h" +#import "ADJumpViewController.h" +#import "XJMineCenterUserModel.h" + +@interface XJRegisterViewController () + +@property (nonatomic, strong)UITextField * phoneTextField; +@property (nonatomic, strong)UITextField * codeTextField; +@property (nonatomic, strong)UITextField * passwordTextField; +@property (nonatomic, strong)UITextField * surePasswordTextField; +@property (nonatomic, strong)UITextField * inviteCodeTextField; +@property (nonatomic, strong)UIButton * protocolBtn; +@property (nonatomic, strong)UIButton * codeButton; +@property (nonatomic, copy)NSString * protocolString; + +@end + +@implementation XJRegisterViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = YES; + self.StatusBarStyle = UIStatusBarStyleDefault; + self.view.backgroundColor = CViewBgColor; + [self createUI]; + [self getUserProtocol]; +} + +- (void)createUI +{ + + UIImageView * topBackImg = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(243))]; + topBackImg.image = IMAGE_NAMED(@"loginTopBimg"); + [self.view addSubview:topBackImg]; + + UIImageView * cenetrImg = [[UIImageView alloc] initWithFrame:CGRectMake(0, kRealValue(70), kRealValue(68), kRealValue(68))]; + cenetrImg.centerX = self.view.centerX; + cenetrImg.image = IMAGE_NAMED(@"login_icon"); + [self.view addSubview:cenetrImg]; + + + UIImageView *titleImg = [[UIImageView alloc] initWithFrame:CGRectMake(0, cenetrImg.bottom + kRealValue(20), kRealValue(109), kRealValue(24))]; + titleImg.centerX = self.view.centerX; + titleImg.image = IMAGE_NAMED(@"loginTitle_Img"); + [self.view addSubview:titleImg]; + + UIButton * leftButton = [[UIButton alloc] initWithFrame:CGRectMake(11, 40, 20, 20)]; + [leftButton setImage:[UIImage imageNamed:@"close_Icon"] forState:UIWindowLevelNormal]; + [leftButton addTarget:self action:@selector(leftBtnClick) forControlEvents:UIControlEventTouchUpInside]; + [self.view addSubview:leftButton]; + + UIView * connetView = [[UIView alloc] init]; + connetView.frame = CGRectMake(0, topBackImg.bottom+1, kScreenWidth, 200); + connetView.backgroundColor = [UIColor whiteColor]; + [self.view addSubview:connetView]; + + self.phoneTextField = [self createTextFieldWithFrame:CGRectMake(10, 0, kScreenWidth-20, 50) placeholder:@"请输入账户名" passWord:NO leftImageView:nil rightImageView:nil Font:14]; + self.phoneTextField.delegate =self; + self.phoneTextField.keyboardType = UIKeyboardTypeNumberPad; + [connetView addSubview:self.phoneTextField]; + + + self.passwordTextField = [self createTextFieldWithFrame:CGRectMake(10, self.phoneTextField.bottom+1, kScreenWidth-20, 50) placeholder:@"请输入密码(6-20位)" passWord:NO leftImageView:nil rightImageView:nil Font:14]; + self.passwordTextField.secureTextEntry = YES; + self.passwordTextField.delegate =self; + [connetView addSubview:self.passwordTextField]; + + + + //平台协议 + UIButton * protocolBtn = [[UIButton alloc] initWithFrame:CGRectMake(10, connetView.bottom+9, 20, 20)]; + [protocolBtn setImage:IMAGE_NAMED(@"login_nomalProtocol") forState:UIControlStateNormal]; + [protocolBtn setImage:IMAGE_NAMED(@"login_selectProtocol") forState:UIControlStateSelected]; + protocolBtn.selected = NO; + [protocolBtn addTarget:self action:@selector(agreeProtocol:) forControlEvents:UIControlEventTouchUpInside]; + self.protocolBtn = protocolBtn; + [self.view addSubview:protocolBtn]; + + UILabel * contentTitle = [[UILabel alloc] initWithFrame:CGRectMake(protocolBtn.right+5,connetView.bottom+9, 300, 20)]; + NSString *text = @"我已阅读并同意《健康咨询员工端使用协议》"; + NSMutableAttributedString *attributeStr = [[NSMutableAttributedString alloc]initWithString:text]; + [attributeStr addAttribute:NSForegroundColorAttributeName value:[UIColor colorWithRed:50/255.0 green:170/255.0 blue:223/255.0 alpha:1] range:NSMakeRange(7, text.length - 7)]; + contentTitle.attributedText = attributeStr; + contentTitle.textAlignment = NSTextAlignmentLeft; + contentTitle.font = [UIFont systemFontOfSize:12]; + contentTitle.userInteractionEnabled = YES; + UITapGestureRecognizer * tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap)]; + [contentTitle addGestureRecognizer:tapRecognizer]; + [self.view addSubview:contentTitle]; + + UIButton * loginBtn = [[UIButton alloc] initWithFrame:CGRectMake(10, self.surePasswordTextField.bottom+140, kScreenWidth-20, 44)]; + loginBtn.mj_y = self.protocolBtn.bottom+25; + [loginBtn setTitle:@"注册" forState:UIControlStateNormal ]; + loginBtn.tag = 100; + loginBtn.titleLabel.font = [UIFont fontWithName:@"Helvetica-Bold" size:16]; + [loginBtn setBackgroundImage:[UIImage imageNamed:@"loginBtn_img"] forState:UIControlStateNormal]; + [loginBtn setTitleColor:UIColorTitle1 forState:UIControlStateNormal]; + [loginBtn addTarget:self action:@selector(regisOnClick) forControlEvents:UIControlEventTouchUpInside]; + [self.view addSubview:loginBtn]; + +} +- (void)agreeProtocol:(UIButton *)agreeBtn +{ + agreeBtn.selected = !agreeBtn.selected; + +} + +#pragma mark - 获取协议 +- (void)getUserProtocol { + + JKCQAPI * agreeAPI = [[JKCQAPI alloc] init:self tag:@"AGREEAPI" NeedToken:@""]; + + [agreeAPI getUserAgreementPrivacy:nil]; +} + +// 跳转用户协议 +- (void)tap +{ + + ADJumpViewController * webVC= [[ADJumpViewController alloc] init]; + webVC.webTitle = @"用户注册协议"; + webVC.webUrl = [NSString stringWithFormat:@"%@%@",IntervenH5,self.protocolString]; + [self.navigationController pushViewController:webVC animated:YES]; +} + + +- (void)xmProtocol +{ + self.protocolBtn.selected = YES; + +} + +#pragma mark - 注册 + +- (void)regisOnClick +{ + if ([NSString stringWithFormat:@"%@",self.passwordTextField.text].length<6||[NSString stringWithFormat:@"%@",self.passwordTextField.text].length>20) + { + [EasyTextView showErrorText:@"密码的长度是6-20位"]; + return; + } + + if (!self.protocolBtn.selected ) + { + [EasyTextView showErrorText:@"请先阅读并同意协议"]; + return; + } + + [self showMBProgressHUDOnlyWithString:@"注册已提交,请等待审核通过后方可登录"]; +} + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + + + if ([tag isEqualToString:@"GetUserRegister"]) + { + [self showMBProgressHUDOnlyWithString:@"注册成功"]; + [self dismissViewControllerAnimated:YES completion:nil]; + } + if ([tag isEqualToString:@"AGREEAPI"]) { + + NSArray * array = response; + NSMutableArray * dataArray = [[NSMutableArray alloc] init]; + + for (NSDictionary * parmDic in array) { + + XJMineCenterUserModel * model = [XJMineCenterUserModel modelWithDictionary:parmDic]; + if ([model.value integerValue] == 1) { + self.protocolString = model.text; + } + [dataArray addObject:model]; + + } + + } +} + + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + [EasyTextView showErrorText:message]; + + NSLog(@"apiError=%@",message); + // [self showMessage:message]; + +} + +- (void)leftBtnClick +{ + [self dismissViewControllerAnimated:YES completion:nil]; +} +//实现UITextField代理方法 +- (BOOL)textFieldShouldReturn:(UITextField *)textField { + + [textField resignFirstResponder];//取消第一响应者 + + return YES; +} + +- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event { + [self.view endEditing:YES]; +} +- (void)didReceiveMemoryWarning { + [super didReceiveMemoryWarning]; + // Dispose of any resources that can be recreated. +} + +-(UITextField*)createTextFieldWithFrame:(CGRect)frame placeholder:(NSString*)placeholder passWord:(BOOL)YESorNO leftImageView:(UIView*)leftView rightImageView:(UIView*)rightView Font:(float)font +{ + UITextField*textField=[[UITextField alloc]initWithFrame:frame]; + //灰色提示框 + textField.placeholder=placeholder; + //文字对齐方式 + textField.textAlignment=NSTextAlignmentLeft; + textField.secureTextEntry=YESorNO; + + //边框 + //textField.borderStyle=UITextBorderStyleLine; + //键盘类型 + textField.returnKeyType=UIReturnKeyDone; + //关闭首字母大写 + textField.autocapitalizationType=NO; + //清除按钮 + textField.clearButtonMode=NO; + //左图片 + textField.leftView=leftView; + textField.leftViewMode=UITextFieldViewModeAlways; + //右图片 + textField.rightView=rightView; + //编辑状态下一直存在 + textField.rightViewMode=UITextFieldViewModeAlways; + //自定义键盘 + //textField.inputView + //字体 + textField.font=[UIFont systemFontOfSize:font]; + //字体颜色 + UIView * line2 = [[UIView alloc] initWithFrame:CGRectMake(0, frame.size.height-1, kScreenWidth, 1)]; + line2.backgroundColor = UIColorLine; + [textField addSubview:line2]; + return textField; + +} + + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJAddContactViewController.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJAddContactViewController.h new file mode 100644 index 0000000..09e27dd --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJAddContactViewController.h @@ -0,0 +1,21 @@ +// +// XJAddContactViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/27. +// + +#import "HQBaseViewController.h" +#import "XJEmergencyContactModel.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJAddContactViewController : HQBaseViewController + +@property (nonatomic, copy) NSString * contact_id; + +@property (nonatomic, strong) XJEmergencyContactModel * model; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJAddContactViewController.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJAddContactViewController.m new file mode 100644 index 0000000..568afaf --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJAddContactViewController.m @@ -0,0 +1,355 @@ +// +// XJAddContactViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/27. +// + +#import "XJAddContactViewController.h" +#import "LineTextField.h" +#import "FamilyMemberRelationModel.h" +#import "BRStringPickerView.h" + +@interface XJAddContactViewController () + +@property (nonatomic, strong) LineTextField * nameField; + +@property (nonatomic, strong) LineTextField * phoneField; + +@property (nonatomic, strong) LineTextField * cardNumberField; + +@property (nonatomic, strong) LineTextField * relationshipTextField; + +@property (nonatomic, strong) NSMutableArray * memberArray; + +@property (nonatomic, copy) NSString * familyInt; + + +@end + +@implementation XJAddContactViewController + + +- (NSMutableArray *)memberArray { + if (!_memberArray) { + + _memberArray = [[NSMutableArray alloc] init]; + } + + return _memberArray; + +} + +- (void)viewDidLoad { + [super viewDidLoad]; + self.isHidenNaviBar = false; + self.navigationItem.title = @"紧急联系人"; + self.view.backgroundColor = KWhiteColor; + [self createUI]; + [self getFamilyMembers]; + // Do any additional setup after loading the view. +} + + +- (void)createUI { + + //咨询人姓名 + self.nameField = [self createFieldWithLeftTitle:@"姓名" withRightString:@"" placeholderStr:@"请填写紧急联系人姓名" isShowRight:true]; + self.nameField.frame = CGRectMake(0, 1, kScreenWidth, 51); + [self.view addSubview:self.nameField]; + //手机号 + self.phoneField = [self createFieldWithLeftTitle:@"手机号" withRightString:@" " placeholderStr:@"请填写手机号" isShowRight:true]; + self.phoneField.frame = CGRectMake(0, self.nameField.bottom, kScreenWidth, 51); + [self.view addSubview:self.phoneField]; + //身份证号码, + self.cardNumberField = [self createFieldWithLeftTitle:@"身份证号" withRightString:@"" placeholderStr:@"请填写身份证号" isShowRight:true]; + self.cardNumberField.frame = CGRectMake(0, self.phoneField.bottom, kScreenWidth, 51); + [self.view addSubview:self.cardNumberField]; + + + //与本人关系 + self.relationshipTextField = [self createFieldWithLeftTitle:@"与咨询人关系" withRightString:@">" placeholderStr:@"请点击选择" isShowRight:true]; + self.relationshipTextField.frame = CGRectMake(0, self.cardNumberField.bottom, kScreenWidth, 51); + self.relationshipTextField.userInteractionEnabled = true; + [self.view addSubview:self.relationshipTextField]; + + UIButton * shipBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 51)]; + [shipBtn addTarget:self action:@selector(relastionShipOnclick) forControlEvents:UIControlEventTouchUpInside]; + [self.relationshipTextField addSubview:shipBtn]; + + + //保存按钮 + + if (self.model) { + + self.nameField.text = self.model.name; + self.phoneField.text = self.model.phone; + self.cardNumberField.text = self.model.idCard; + self.relationshipTextField.text = self.model.familyRelation_dictText; + + UIButton * delectBtn = [[UIButton alloc] initWithFrame:CGRectMake(kScreenWidth/2 - kRealValue(120) , kScreenHeight - kTopHeight - kTabBarHeight - 30 - 40, kRealValue(110), 33)]; + [delectBtn setTitle:@"删除" forState:UIControlStateNormal]; + delectBtn.titleLabel.font = SYSTEMFONT(14); + delectBtn.layer.cornerRadius = 17.0f; + delectBtn.layer.masksToBounds = true; + delectBtn.layer.borderColor = UIColorHex(#21BEBD).CGColor; + delectBtn.layer.borderWidth = 1.0f; + delectBtn.backgroundColor = KWhiteColor; + [delectBtn addTarget:self action:@selector(delectedInfoAction) forControlEvents:UIControlEventTouchUpInside]; + [delectBtn setTitleColor:UIColorHex(#21BEBD) forState:UIControlStateNormal]; + [self.view addSubview:delectBtn]; + + UIButton * saveBtn = [[UIButton alloc] initWithFrame:CGRectMake(kScreenWidth/2 + kRealValue(10), kScreenHeight - kTopHeight - kTabBarHeight - 30 - 40, kRealValue(110), 33)]; + [saveBtn setTitle:@"保存" forState:UIControlStateNormal]; + saveBtn.titleLabel.font = SYSTEMFONT(14); + saveBtn.layer.cornerRadius = 17; + saveBtn.layer.masksToBounds = true; + saveBtn.backgroundColor = UIColorHex(#21BEBD); + [saveBtn addTarget:self action:@selector(saveInfo) forControlEvents:UIControlEventTouchUpInside]; + [saveBtn setTitleColor:KWhiteColor forState:UIControlStateNormal]; + [self.view addSubview:saveBtn]; + }else + { + UIButton * saveBtn = [[UIButton alloc] initWithFrame:CGRectMake(kRealValue(48), kScreenHeight - kTopHeight - kTabBarHeight - 30 - 40, kScreenWidth - kRealValue(96), 40)]; + [saveBtn setTitle:@"保存" forState:UIControlStateNormal]; + saveBtn.titleLabel.font = SYSTEMFONT(14); + saveBtn.layer.cornerRadius = 20.0f; + saveBtn.layer.masksToBounds = true; + saveBtn.layer.borderColor = UIColorHex(#21BEBD).CGColor; + saveBtn.layer.borderWidth = 1.0f; + saveBtn.backgroundColor = KWhiteColor; + [saveBtn addTarget:self action:@selector(saveInfo) forControlEvents:UIControlEventTouchUpInside]; + [saveBtn setTitleColor:UIColorHex(#21BEBD) forState:UIControlStateNormal]; + [self.view addSubview:saveBtn]; + } + +} + + +- (LineTextField *)createFieldWithLeftTitle:(NSString *)leftStr + withRightString:(NSString *)rightStr + placeholderStr:(NSString *)placeStr + isShowRight:(BOOL)isShowRight { + + LineTextField * field = [[LineTextField alloc] init]; + field.font = SYSTEMFONT(13); + field.placeholder = placeStr; + field.textAlignment = NSTextAlignmentRight; + field.backgroundColor = KWhiteColor; + UIView * leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 51)]; + + UILabel * leftlabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(16), 0, 100, 51)]; + + leftlabel.text = leftStr; + + leftlabel.font = SYSTEMFONT(13); + + leftlabel.textAlignment = NSTextAlignmentLeft; + + leftlabel.textColor = UIColorHex(#666666); + + [leftView addSubview:leftlabel]; + + field.leftView = leftView; + + field.leftViewMode = UITextFieldViewModeAlways; + + if (isShowRight) { + + UIView * rightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 51)]; + + UILabel * rightlabel = [[UILabel alloc] initWithFrame:CGRectMake(5, 0, 30, 51)]; + + rightlabel.text = rightStr; + + rightlabel.font = SYSTEMFONT(13); + + rightlabel.textColor = UIColorHex(#666666); + + field.rightView = rightView; + + rightlabel.textAlignment = NSTextAlignmentLeft; + + field.rightViewMode = UITextFieldViewModeAlways; + + [rightView addSubview:rightlabel]; + + } + + return field; +} + +- (void)delectedInfoAction { + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:self.model.contact_ID forKey:@"id"]; + + JKCQAPI * memberApi = [[JKCQAPI alloc] init:self tag:@"DelectedAPI" NeedToken:@""]; + [memberApi getDelectedEmergencyContact:parmDic]; + +} + + +- (void)getFamilyMembers { + + JKCQAPI * memberApi = [[JKCQAPI alloc] init:self tag:@"Family" NeedToken:@""]; + + [memberApi getCheckKeyResult:@{@"dictKey":@"family_member_relation"}]; + +} + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + + [self hiddenAllMBProgressHUD]; + +} + + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + if ([tag isEqualToString:@"Family"]) { + + NSArray * array = response; + + for (NSDictionary * dic in array) { + + FamilyMemberRelationModel * model = [FamilyMemberRelationModel modelWithDictionary:dic] ; + + [self.memberArray addObject:model]; + } + } + if ([tag isEqualToString:@"ADDAPI"]) { + + [EasyTextView showSuccessText:@"操作成功"]; + [self.navigationController popViewControllerAnimated:YES]; + + } + if ([tag isEqualToString:@"DelectedAPI"]) { + + [EasyTextView showSuccessText:@"操作成功"]; + [self.navigationController popViewControllerAnimated:YES]; + } + +} + + + +- (void)relastionShipOnclick { + + /// 1.单列字符串选择器(传字符串数组) + BRStringPickerView *stringPickerView = [[BRStringPickerView alloc]init]; + stringPickerView.pickerMode = BRStringPickerComponentSingle; + stringPickerView.title = @"关系"; + + NSMutableArray * array = [[NSMutableArray alloc] init]; + for (FamilyMemberRelationModel * model in self.memberArray) { + + [array addObject:model.text]; + } + stringPickerView.dataSourceArr = array; + stringPickerView.selectIndex = 2; + stringPickerView.resultModelBlock = ^(BRResultModel *resultModel) { + NSLog(@"选择的值:%@", resultModel.value); + + for (FamilyMemberRelationModel * model in self.memberArray) { + + if ([model.text isEqualToString:resultModel.value]) { + + self.familyInt = model.value; + } + + } + self.relationshipTextField.text = resultModel.value; + }; + + [stringPickerView show]; + +} + + +- (void)saveInfo { + + [self.view endEditing:TRUE]; + + + if (ValidStr(self.nameField.text)) { + [EasyTextView showErrorText:@"请输入紧急联系人姓名"]; + return; + } + if (ValidStr(self.phoneField.text)) { + [EasyTextView showErrorText:@"请输入手机号"]; + return; + } + if (ValidStr(self.cardNumberField.text)) { + [EasyTextView showErrorText:@"请输入身份证号"]; + return; + } + + if (ValidStr(self.relationshipTextField.text)) { + [EasyTextView showErrorText:@"请选择与咨询人关系"]; + return; + } + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + if (self.model) { + [parmDic setObject:self.model.contact_ID forKey:@"id"]; + }else + { + [parmDic setObject:@"" forKey:@"id"]; + } + [parmDic setObject:self.nameField.text forKey:@"name"]; + [parmDic setObject:self.phoneField.text forKey:@"phone"]; + [parmDic setObject:self.cardNumberField.text forKey:@"idCard"]; + [parmDic setObject:self.familyInt forKey:@"familyRelation"]; + + JKCQAPI * api = [[JKCQAPI alloc] init:self tag:@"ADDAPI" NeedToken:@""]; + + [api postAddEmergencyContact:parmDic]; + +} + +- (NSString *)getTimestampFromTime:(NSString *)CurrentTime{ + + + + + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + + [formatter setDateStyle:NSDateFormatterMediumStyle]; + + [formatter setTimeStyle:NSDateFormatterShortStyle]; + + [formatter setDateFormat:@"yyyy-MM-dd"]; //(@"YYYY-MM-dd hh:mm:ss") ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制 + + //设置时区选择北京时间 + + NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"]; + + [formatter setTimeZone:timeZone]; + + NSDate* date = [formatter dateFromString:CurrentTime]; //------------将字符串按formatter转成nsdate + + //时间转时间戳的方法: + + NSInteger timeSp = [[NSNumber numberWithDouble:[date timeIntervalSince1970]] integerValue] * 1000; + + + return [NSString stringWithFormat:@"%ld",(long)timeSp]; + + + +} + + + + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJEditSystemViewController.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJEditSystemViewController.h new file mode 100644 index 0000000..cd18740 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJEditSystemViewController.h @@ -0,0 +1,16 @@ +// +// XJEditSystemViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2024/1/10. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJEditSystemViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJEditSystemViewController.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJEditSystemViewController.m new file mode 100644 index 0000000..4af9999 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJEditSystemViewController.m @@ -0,0 +1,239 @@ +// +// XJEditSystemViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2024/1/10. +// + +#import "XJEditSystemViewController.h" +#import "XJLoginFoundPasswordViewController.h" +#import "XJMineCenterUserModel.h" +#import "ADJumpViewController.h" + +@interface XJEditSystemViewController () + +@property (nonatomic, strong) UITableView * homeTableView; + +@property (nonatomic, strong) NSMutableArray * dataArray; + +@end + +@implementation XJEditSystemViewController + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + _dataArray = [[NSMutableArray alloc] init]; + } + return _dataArray; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.view.backgroundColor = CViewBgColor; + self.navigationItem.title = @"设置"; + [self createUI]; + [self createData]; +} + +- (void)createUI +{ + self.homeTableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight - kTopHeight) style:UITableViewStyleGrouped]; + if (@available(iOS 11.0, *)) { + self.homeTableView.estimatedRowHeight = 0; + self.homeTableView.estimatedSectionFooterHeight = 0; + self.homeTableView.estimatedSectionHeaderHeight = 0; + self.homeTableView.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; + } + self.homeTableView.delegate = self; + self.homeTableView.backgroundColor = CViewBgColor; + self.homeTableView.dataSource = self; + self.homeTableView.separatorStyle = UITableViewCellSeparatorStyleSingleLine; + self.homeTableView.showsVerticalScrollIndicator = NO; + [self.view addSubview:self.homeTableView]; +} + +- (void)createData { + + JKCQAPI * agreeAPI = [[JKCQAPI alloc] init:self tag:@"AGREEAPI" NeedToken:@""]; + + [agreeAPI getUserAgreementPrivacy:nil]; + +} + + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + [self showMBProgressHUDOnlyWithString:message]; + [self hiddenAllMBProgressHUD]; + +} + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + if ([tag isEqualToString:@"AGREEAPI"]) { + + NSArray * array = response; + + for (NSDictionary * parmDic in array) { + + XJMineCenterUserModel * model = [XJMineCenterUserModel modelWithDictionary:parmDic]; + + [self.dataArray addObject:model]; + + } + + } +} + + +#pragma mark - DataSource +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + if (section == 0) { + return 3; + } + return 1; +} + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return 2; + +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + + if (indexPath.section == 0) { + + NSArray * sectionOne = @[@"账号与安全(修改密码)",@"用户协议",@"隐私政策"]; + + + static NSString * cellID = @"cellID"; + + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID]; + + if (!cell) { + + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID]; + } + cell.selectionStyle = UITableViewCellSelectionStyleNone; + cell.textLabel.font = SYSTEMFONT(14); + cell.textLabel.text = sectionOne[indexPath.row]; + cell.textLabel.textColor = UIColorHex(#666666); + cell.textLabel.font = SYSTEMFONT(14); + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + cell.backgroundColor = KWhiteColor; + return cell; + + + } + if (indexPath.section == 1) { + + + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CONNETCELL"]; + + if (!cell) { + + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:@"CONNETCELL"]; + } + cell.selectionStyle = UITableViewCellSelectionStyleNone; + cell.textLabel.font = SYSTEMFONT(14); + cell.textLabel.text = @"版本号"; + cell.detailTextLabel.text = [[[NSBundle mainBundle]infoDictionary] objectForKey:@"CFBundleShortVersionString"]; + return cell; + + + } + + + return UITableViewCell.new; + +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { + + + return 44; + +} + +- (CGFloat )tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section +{ + + return CGFLOAT_MIN; +} + + +- (CGFloat )tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section +{ + return kRealValue(5); +} + + +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + + + return UIView.new; + +} + + + + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + + if (indexPath.section == 0) { + + if (indexPath.row == 0) { + + XJLoginFoundPasswordViewController * loginVC = [[XJLoginFoundPasswordViewController alloc] init]; + [self.navigationController pushViewController:loginVC animated:YES]; + } + if (indexPath.row == 1) { + + for (XJMineCenterUserModel * model in self.dataArray) { + + if ([model.value integerValue] == 1) { + + ADJumpViewController * webVC= [[ADJumpViewController alloc] init]; + webVC.webTitle = @"用户协议"; + webVC.webUrl = [NSString stringWithFormat:@"%@%@",IntervenH5,model.text]; + [self.navigationController pushViewController:webVC animated:YES]; + } + + } + } + if (indexPath.row == 2) { + + for (XJMineCenterUserModel * model in self.dataArray) { + + if ([model.value integerValue] == 2) { + + ADJumpViewController * webVC= [[ADJumpViewController alloc] init]; + webVC.webTitle = @"隐私政策"; + webVC.webUrl = [NSString stringWithFormat:@"%@%@",IntervenH5,model.text]; + [self.navigationController pushViewController:webVC animated:YES]; + } + + } + } + } + + + +} + + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMinePictureRecordViewController.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMinePictureRecordViewController.h new file mode 100644 index 0000000..31f04e4 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMinePictureRecordViewController.h @@ -0,0 +1,18 @@ +// +// XJMinePictureRecordViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/25. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJMinePictureRecordViewController : HQBaseViewController + +@property (nonatomic, assign) NSInteger selectOnes; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMinePictureRecordViewController.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMinePictureRecordViewController.m new file mode 100644 index 0000000..4bd2fa6 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMinePictureRecordViewController.m @@ -0,0 +1,561 @@ +// +// XJMinePictureRecordViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/25. +// +#import "XJMinePictureRecordViewController.h" + +#import "QuestionRecoredTable.h" +#import "QuestionRecordModel.h" +#import "RecordIMListDateModel.h" +#import "XJDoctorMainViewController.h" +@interface XJMinePictureRecordViewController () + +@property (nonatomic, strong) QuestionRecoredTable * homeTable; + +@property (nonatomic, strong) NSMutableArray * buttonArray; +@property (nonatomic, strong) NSMutableArray * redCountArray; + +@property (nonatomic, assign) NSInteger pageNo; + +@property (nonatomic, copy) NSString * type; + +@property (nonatomic, strong) NSMutableArray * dataArray; + +@property (nonatomic, strong) NSMutableArray * groupIDArray; + +@property (nonatomic, strong) NSMutableArray * jingxingArray; + +@property (nonatomic, assign) NSInteger totalCount; + +@end + + +@implementation XJMinePictureRecordViewController + + +- (NSMutableArray *)groupIDArray { + + if (!_groupIDArray) { + + _groupIDArray = [[NSMutableArray alloc] init]; + + } + return _groupIDArray; + +} + +- (NSMutableArray *)redCountArray { + + if (!_redCountArray) { + + _redCountArray = [[NSMutableArray alloc] init]; + } + return _redCountArray; + +} +- (NSMutableArray *)jingxingArray { + + if (!_jingxingArray) { + + _jingxingArray = [[NSMutableArray alloc] init]; + + } + return _jingxingArray; + +} + + + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + + _dataArray = [[NSMutableArray alloc] init]; + + } + return _dataArray; + +} + +- (NSMutableArray *)buttonArray { + + if (!_buttonArray) { + + _buttonArray = [[NSMutableArray alloc] init]; + + } + return _buttonArray; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = false; + self.pageNo = 0; + + + [self createUI]; + + if ([ESCTUIManager TUIUserStatus] == false) { + + [self loginImAccount]; + } + + if ([self.type integerValue] == 3) + { + [self getChatList]; + } + else + { + [self createData]; + } + +} + +- (void)viewWillAppear:(BOOL)animated { + + [super viewWillAppear:animated]; + + [self.homeTable.mj_header beginRefreshing]; + + +} +- (void)createUI { + + NSArray * array = @[@"进行中",@"已评价",@"历史"]; + [self.buttonArray removeAllObjects]; + CGFloat w = kRealValue(80); + for (int index = 0; index < array.count; index ++) { + + UIButton * listBtn = [[UIButton alloc] init]; + + listBtn.frame = CGRectMake(kRealValue(15) + (w + kRealValue(13)) * index , kRealValue(15), w, 27); + [listBtn setTitle:array[index] forState:UIControlStateNormal]; + [listBtn setTitleColor:KWhiteColor forState:UIControlStateSelected]; + [listBtn setTitleColor:CFontColor1 forState:UIControlStateNormal]; + [listBtn addTarget:self action:@selector(statusChange:) forControlEvents:UIControlEventTouchUpInside]; + listBtn.titleLabel.font = SYSTEMFONT(13); + listBtn.layer.cornerRadius = 14.0; + listBtn.layer.masksToBounds = true; + listBtn.tag = 1000 + index; + [self.view addSubview:listBtn]; + if (self.selectOnes == 3) { + if (index == 0 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + } + if (self.selectOnes == 4) { + if (index == 1 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + } + if (self.selectOnes == 5) { + if (index == 2 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + } + if (self.selectOnes == 6) { + if (index == 2 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + } + [self.buttonArray addObject:listBtn]; + + } + + + + self.homeTable = [[QuestionRecoredTable alloc] initWithFrame:CGRectMake(0, 50, kScreenWidth, kScreenHeight - kTopHeight - 50 - SafetyAreaHeight) style:UITableViewStyleGrouped]; + + self.homeTable.detailBlock = ^(NSString * _Nonnull recordID, NSString * _Nonnull imID, NSString * _Nonnull memberId, RecordIMListDateModel * _Nonnull model) { + +// DoctorMainViewController * doctorVC = [[DoctorMainViewController alloc] init]; +// doctorVC.yuyue_id = recordID; +// [self.navigationController pushViewController:doctorVC animated:YES]; + if ([TUILogin isUserLogined]) { + ChatViewController * chatVC = [[ChatViewController alloc] init]; + chatVC.isGroupID = YES; + chatVC.chatID = imID ; + chatVC.pictureEnd_id = recordID ; + chatVC.eableSendReport = true; + chatVC.eablehaveHelathData = false; + chatVC.navTitle = @"图文咨询"; + chatVC.isVideo = NO; + chatVC.questionType = 2; + chatVC.medicalRecordsId = memberId; + //是否评价 + if ([model.contentStatus integerValue] == 5 ) { + chatVC.isEveal = true; + }else + { + chatVC.isEveal = false; + } + + if ([model.contentStatus intValue] >= 4) + { + chatVC.endRecordType = 100; + } + [self.navigationController pushViewController:chatVC animated:YES]; + }else + { + [self loginImAccount]; + } + + }; + [self.view addSubview:self.homeTable]; + +// [self.homeTable mas_makeConstraints:^(MASConstraintMaker *make) { +// make.top.mas_equalTo(@50); +// make.bottom.left.right.mas_offset(0); +// }]; + + + __weak __typeof(self) weakSelf = self; + self.homeTable.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + weakSelf.pageNo = 0; + if ([ESCTUIManager TUIUserStatus] == false) { + + [self loginImAccount]; + } + if ([self.type integerValue] == 3) + { + [self getChatList]; + } + else + { + [weakSelf createData]; + } + + + + }]; + self.homeTable.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + weakSelf.pageNo ++; + if ([ESCTUIManager TUIUserStatus] == false) { + + [self loginImAccount]; + } + if ([self.type integerValue] == 3) + { + [self getChatList]; + } + else + { + [weakSelf createData]; + } + }]; + LYEmptyView *emptyView = [LYEmptyView emptyViewWithImageStr:@"noData" titleStr:@"暂无数据" detailStr:@""]; + //元素竖直方向的间距 + emptyView.subViewMargin = 20.f; + //标题颜色 + emptyView.titleLabTextColor = [UIColor blackColor]; + //描述字体 + emptyView.detailLabFont = [UIFont systemFontOfSize:17]; + //按钮背景色 + emptyView.actionBtnBackGroundColor = KWhiteColor; + emptyView.actionBtnWidth = CGFLOAT_MIN; + emptyView.actionBtnHeight = CGFLOAT_MIN; + + //设置空内容占位图 + self.homeTable.ly_emptyView = emptyView; + + +} +//获取腾讯im会话列表 + +- (void)getChatList { + + + V2TIMConversationListFilter *filter = [[V2TIMConversationListFilter alloc] init]; +// filter.type = V2TIM_C2C; //拉取单聊会话 + filter.type = V2TIM_GROUP; //拉取群聊会话 + [[V2TIMManager sharedInstance] getConversationListByFilter:filter nextSeq:self.pageNo count:50 succ:^(NSArray *list, uint64_t nextSeq, BOOL isFinished) { + // 获取会话列表成功,list 为会话列表 + if (self.pageNo == 0) { + [self.groupIDArray removeAllObjects]; + } + DLog(@"%@",list); + [self.redCountArray addObjectsFromArray:list]; + + for (V2TIMConversation * v2Model in list) { + [self.groupIDArray addObject: v2Model.groupID]; + + + } + [self postGroupArray:self.groupIDArray]; + } fail:^(int code, NSString *desc) { + // 获取会话列表失败 + }]; + +// //获取所以会话的未读总数 +// // filter.type = V2TIM_GROUP; //拉取群聊会话 +// +// [[V2TIMManager sharedInstance] getUnreadMessageCountByFilter:filter succ:^(UInt64 totalUnreadCount) { +// self.totalCount = totalUnreadCount; +// } fail:^(int code, NSString *desc) { +// +// }]; + +} + + +#pragma mark:上传id数组 +- (void)postGroupArray:(NSArray *)array { + + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + + [parmDic setObject:array forKey:@"imIds"]; + [self showMBProgressHUDWithString:@"数据加载中,请稍候..." autoHidden:NO]; + JKCQAPI * recordApi = [[JKCQAPI alloc] init:self tag:@"GROUPID" NeedToken:@""]; + [recordApi PostGroupIDArray:parmDic]; +} + + +- (void)createData { + // type : 1 图文 2 音视频 + [self showMBProgressHUDWithString:@"数据加载中,请稍候..." autoHidden:NO]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:@(self.pageNo) forKey:@"pageNo"]; + [parmDic setObject:@(10) forKey:@"pageSize"]; + [parmDic setObject:self.type forKey:@"status"]; + [parmDic setObject:@"1" forKey:@"type"]; + //status 1 3 4 5 //4 代评价 + JKCQAPI * recordApi = [[JKCQAPI alloc] init:self tag:@"RECORD" NeedToken:@""]; + [recordApi getMineQuestionRecord:parmDic]; +} + +- (void)loginImAccount { + + + JKCQAPI * proctocolApi = [[JKCQAPI alloc] init:self tag:@"IMAPI" NeedToken:nil]; + [proctocolApi GetIMLoginAccount:nil]; + + + +} + + + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + [self showMBProgressHUDOnlyWithString:message]; + [self hiddenAllMBProgressHUD]; + +} + + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + if ([tag isEqualToString:@"RECORD"]) { + [self hiddenAllMBProgressHUD]; + if (self.pageNo == 0) { + [self.dataArray removeAllObjects]; + } + NSArray * array = response ; + + for (NSDictionary * dic in array) { + + RecordIMListDateModel * model = [ RecordIMListDateModel modelWithDictionary:dic]; + + [self.dataArray addObject:model]; + } + self.homeTable.dataArray = self.dataArray; + + } + if ([tag isEqualToString:@"IMAPI"]) { + + + NSDictionary * pamrDic = response; + + IMUserInfoModel * model = [IMUserInfoModel modelWithDictionary:pamrDic]; + + IMUserInfoModel * iminfoModel = [[IMUserInfoModel alloc] init]; + iminfoModel.IMInfo = pamrDic; + [HQCommonUtils keyedArchiverWithData:iminfoModel key:IMLoginUserInfo]; + + // 1. 从即时通信 IM 控制台获取应用 SDKAppID。 + // 2. 初始化 config 对象 + V2TIMSDKConfig *config = [[V2TIMSDKConfig alloc] init]; + // 3. 指定 log 输出级别。 + config.logLevel = V2TIM_LOG_INFO; + // 4. 添加 V2TIMSDKListener 的事件监听器,self 是 id 的实现类,如果您不需要监听 IM SDK 的事件,这个步骤可以忽略。 + [[V2TIMManager sharedInstance] addIMSDKListener:self]; + // 5. 初始化 IM SDK,调用这个接口后,可以立即调用登录接口。 + [[V2TIMManager sharedInstance] initSDK:[model.sdkAppId intValue] config:config]; + + // 1. 从即时通信 IM 控制台获取应用 SDKAppID。 + // 2. 初始化 config 对象 + + // 3. 指定 log 输出级别。 + config.logLevel = V2TIM_LOG_INFO; + // 4. 添加 V2TIMSDKListener 的事件监听器,self 是 id 的实现类,如果您不需要监听 IM SDK 的事件,这个步骤可以忽略。 + // 5. 初始化 IM SDK,调用这个接口后,可以立即调用登录接口。 + + [TUILogin login:[model.sdkAppId intValue] userID:model.userId userSig:model.userSig succ:^{ + + [self getChatList]; + + } fail:^(int code, NSString *msg) { + + [EasyTextView showErrorText:msg]; + + }]; + + + + + } + if ([tag isEqualToString:@"GROUPID"]) { + + NSArray * array = response; + [self.jingxingArray removeAllObjects]; + [self hiddenAllMBProgressHUD]; + for (NSDictionary * parmDic in array) { + + RecordIMListDateModel * model = [ RecordIMListDateModel modelWithDictionary:parmDic]; + + for (V2TIMConversation * v2Model in self.redCountArray) { + + if ([v2Model.groupID isEqualToString:model.imId]) + { + model.unredCount = v2Model.unreadCount; + } + } + + [self.jingxingArray addObject:model]; + } + self.homeTable.dataArray = self.jingxingArray; +// self.homeTable.totalCount + } +} + +- (void)statusChange:(UIButton *)statusBtn { + [self.dataArray removeAllObjects]; + if (statusBtn.tag == 1000) { + self.type = @"3"; //进行中 + [self getChatList]; + } + if (statusBtn.tag == 1001) { + self.type = @"5"; //已评价 + [self createData]; + } + if (statusBtn.tag == 1002) { + self.type = @""; //全部 历史 + [self createData]; + } + for (UIButton * titBtn in self.buttonArray) { + + if (titBtn == statusBtn) { + + titBtn.selected = YES; + titBtn.backgroundColor = UIColorHex(#21BEBD); + + }else + { + titBtn.selected = NO; + titBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } + + +} + +- (void)setSelectOnes:(NSInteger)selectOnes { + + _selectOnes = selectOnes; + self.type = [NSString stringWithFormat:@"%ld",_selectOnes]; + switch (_selectOnes) { + case 3://进行中 + { + for (UIButton * seleBtn in self.buttonArray) { + if (seleBtn.tag == 1000) { + seleBtn.selected = YES; + seleBtn.backgroundColor = UIColorHex(#21BEBD); + }else + { + seleBtn.selected = NO; + seleBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } + } + break; + case 5://已评价 + { + for (UIButton * seleBtn in self.buttonArray) { + if (seleBtn.tag == 1001) { + seleBtn.selected = YES; + seleBtn.backgroundColor = UIColorHex(#21BEBD); + }else + { + seleBtn.selected = NO; + seleBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } + } + break; + case 6: + { + for (UIButton * seleBtn in self.buttonArray) { + if (seleBtn.tag == 1002) { + seleBtn.selected = YES; + seleBtn.backgroundColor = UIColorHex(#21BEBD); + }else + { + seleBtn.selected = NO; + seleBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } + } + break; + + + default: + break; + } + +} + +//在线时票据过期:此时您需要生成新的 userSig,并再次重新调用初始化。 +- (void)onKickedOffline { + + [HQCommonUtils keyedArchiverWithData:nil key:LoginUserInfo]; + [ESCTUIManager outLoginTUISDK]; + KPostNotification(KNotificationLoginStateChange, @NO); + +} +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end + diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineQuestionRecordViewController.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineQuestionRecordViewController.h new file mode 100644 index 0000000..cd1fc4d --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineQuestionRecordViewController.h @@ -0,0 +1,18 @@ +// +// XJMineQuestionRecordViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/25. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJMineQuestionRecordViewController : HQBaseViewController + +@property (nonatomic, assign) NSInteger type; // 1 进行中 2 待评价 3 已评价 4 历史 +@property (nonatomic, assign) NSInteger titleSelected; // 10 图文 11 音视频 +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineQuestionRecordViewController.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineQuestionRecordViewController.m new file mode 100644 index 0000000..c455b95 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineQuestionRecordViewController.m @@ -0,0 +1,256 @@ +// +// XJMineQuestionRecordViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/25. +// + +#import "XJMineQuestionRecordViewController.h" +#import "XJMineVideoRecordViewController.h" +#import "XJMinePictureRecordViewController.h" + +@interface XJMineQuestionRecordViewController () + +/** 顶部控件*/ +@property (nonatomic, weak) UIScrollView *topView; +/** 下划线 */ +@property (nonatomic, weak) UIView *lineView; +/** 滚动视图 */ +@property (nonatomic, weak) UICollectionView *collectionView; +/** 当前选中的按钮 */ +@property (nonatomic, weak) UIButton *selectButton; +/** 按钮数组 */ +@property (nonatomic, strong) NSMutableArray *titleButtons; + +@end + +@implementation XJMineQuestionRecordViewController + +#pragma mark - 懒加载 +- (NSMutableArray *)titleButtons { + if (_titleButtons==nil) { + _titleButtons = [NSMutableArray array]; + } + return _titleButtons; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = NO; + self.title = @"我的咨询"; + self.view.backgroundColor = UIColorBackground; +// [self addNavigationItemWithImageNames:@[@"backIcon@2x"] isLeft:YES target:self action:@selector(popVc) tags:@[@"100"]]; + [self createUI]; + +} + +#pragma mark:返回 +- (void)popVc +{ + [self.navigationController popViewControllerAnimated:YES]; +} + +- (void)createUI +{ + [self setupNavgationBar]; + + // 添加底部内容view + [self setupBottomContentView]; + + // 添加所有子控制器 + [self setupAllChildViewController]; + + [self setupAllTitle:self.titleSelected]; + + // 不添加额外滚动区域 + self.automaticallyAdjustsScrollViewInsets = NO; +} + +#pragma mark - 添加所有的子控制器 +- (void)setupAllChildViewController { + + XJMinePictureRecordViewController * pictureVc = [[XJMinePictureRecordViewController alloc] init]; + pictureVc.navigationItem.title = @"图文咨询"; + pictureVc.selectOnes = self.type; + pictureVc.view.backgroundColor = CViewBgColor; + [self addChildViewController:pictureVc]; + + // + XJMineVideoRecordViewController * videoVc = [[XJMineVideoRecordViewController alloc] init]; + videoVc.navigationItem.title = @"视频咨询"; + videoVc.selectOnes = self.type; + videoVc.view.backgroundColor = CViewBgColor; + [self addChildViewController:videoVc]; + +} + +#pragma mark - 设置导航条内容 +- (void)setupNavgationBar { + UIScrollView *topView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 1, kScreenWidth, kRealValue(48))]; + topView.backgroundColor = [UIColor whiteColor]; + _topView = topView; + [self.view addSubview:topView]; +} + +#pragma mark - 按钮被点击 +- (void)titleClick:(UIButton *)titleButton{ + + NSInteger i = titleButton.tag; + // 重复点击标题按钮的时候,刷新当前界面 + if (titleButton == _selectButton) { + } + + [self selButton:titleButton]; + + //滚动collectionView 修改偏移量 + CGFloat offsetX = i * kScreenWidth; + _collectionView.contentOffset = CGPointMake(offsetX, 0); +} + +#pragma mark - 选中标题按钮 +- (void)selButton:(UIButton *)titleButton{ + + _selectButton.selected = NO; + titleButton.selected = YES; + _selectButton = titleButton; + + // 移动下划线的位置 + [UIView animateWithDuration:0.25 animations:^{ + _lineView.centerX = titleButton.centerX; + }]; +} + +#pragma mark - 添加标题 +- (void)setupAllTitle:(NSInteger)titleSelected{ + + NSUInteger count = self.childViewControllers.count; + CGFloat btnX = 0; + CGFloat btnW = kScreenWidth/count; + CGFloat btnH = _topView.height; + for (int i = 0; i < count; i++) { + UIButton *titleButton = [UIButton buttonWithType:UIButtonTypeCustom]; + titleButton.tag = i; + + UIViewController *vc = self.childViewControllers[i]; + [titleButton setTitle:vc.navigationItem.title forState:UIControlStateNormal]; + // 设置标题颜色 + [titleButton setTitleColor:RGBA(34, 34, 34, 1) forState:UIControlStateSelected]; + [titleButton setTitleColor:RGBA(102, 102, 102, 1) forState:UIControlStateNormal]; + + // 设置标题字体 + titleButton.titleLabel.font = MEDIUMFONT(14); + + btnX = i * btnW; + + titleButton.frame = CGRectMake(btnX, 0, btnW, btnH); + + // 监听按钮点击 + [titleButton addTarget:self action:@selector(titleClick:) forControlEvents:UIControlEventTouchUpInside]; + + [_topView addSubview:titleButton]; + + if (i == titleSelected - 10) { + // 添加下划线 + // 下划线宽度 = 按钮文字宽度 + // 下划线中心点x = 按钮中心点x + CGFloat h = 5; + CGFloat y = kRealValue(45) ; + UIView *lineView =[[UIView alloc] init]; + // 位置和尺寸 + lineView.height = h; + // 先计算文字尺寸,在给label去赋值 + [titleButton.titleLabel sizeToFit]; + lineView.width = kRealValue(28); + lineView.centerX = titleButton.centerX; + lineView.mj_y = y; + lineView.backgroundColor = UIColorHex(#21BEBD); + _lineView = lineView; + [_topView addSubview:lineView]; + + [self titleClick:titleButton]; + } + [self.titleButtons addObject:titleButton]; + } +} + +#pragma mark - 添加底部内容view +- (void)setupBottomContentView +{ + // 创建一个流水布局 + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; + layout.itemSize = CGSizeMake(kScreenWidth, kScreenHeight-44); + + // 设置水平滚动方向 + layout.scrollDirection = UICollectionViewScrollDirectionHorizontal; + layout.minimumInteritemSpacing = 0; + layout.minimumLineSpacing = 0; + + // 创建UICollectionView + UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0,kRealValue(48), kScreenWidth, kScreenHeight - kRealValue(48) ) collectionViewLayout:layout]; + collectionView.backgroundColor = [UIColor whiteColor]; + [self.view addSubview:collectionView]; + _collectionView = collectionView; + collectionView.scrollsToTop = NO; + collectionView.scrollEnabled = YES; + // 开启分页 + collectionView.pagingEnabled = YES; + collectionView.showsHorizontalScrollIndicator = NO; + collectionView.bounces = YES; + + // 展示cell + collectionView.dataSource = self; + collectionView.delegate = self; + + // 注册cell + [collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"COUPCELLID"]; +} + +#pragma mark - UICollectionViewDelegate +// 滚动完成的时候就会调用 +- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ + // 获取角标 + NSInteger i = scrollView.contentOffset.x / kScreenWidth; + + // 获取选中标题 + UIButton *selButton = self.titleButtons[i]; + + // 选中标题 + [self selButton:selButton]; +} + +#pragma mark - UICollectionViewDataSource +- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ + + return self.childViewControllers.count; +} + +// 只要有新的cell出现的时候才会调用 +- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ + + UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"COUPCELLID" forIndexPath:indexPath]; + + // 移除之前子控制器view + [cell.contentView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]; + + // 取出对应的子控制器添加到对应cell上 + UIViewController *vc = self.childViewControllers[indexPath.row]; + + [cell.contentView addSubview:vc.view]; + + return cell; +} + + + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineUserInfoViewController.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineUserInfoViewController.h new file mode 100644 index 0000000..e83ba85 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineUserInfoViewController.h @@ -0,0 +1,16 @@ +// +// XJMineUserInfoViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/26. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJMineUserInfoViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineUserInfoViewController.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineUserInfoViewController.m new file mode 100644 index 0000000..4e57bdf --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineUserInfoViewController.m @@ -0,0 +1,141 @@ +// +// XJMineUserInfoViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/26. +// + +#import "XJMineUserInfoViewController.h" +#import "XJMineUserInfoTable.h" +#import "XJEmergencyContactModel.h" +#import "XJAddContactViewController.h" +@interface XJMineUserInfoViewController () + +@property (nonatomic, strong) XJMineUserInfoTable * homeTable; + +@property (nonatomic, strong) NSMutableArray * dataArray; + + +@end + +@implementation XJMineUserInfoViewController + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + + _dataArray = [[NSMutableArray alloc] init]; + } + + return _dataArray; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.navigationItem.title = @"个人信息"; + self.isHidenNaviBar = false; + self.view.backgroundColor = KWhiteColor; + [self createUI]; + [self createData]; + +} + +- (void)viewWillAppear:(BOOL)animated { + + [super viewWillAppear:animated] ; + [self.dataArray removeAllObjects]; + [self getEmergencyContact]; + + + +} +- (void)createUI { + + MJWeakSelf + self.homeTable = [[XJMineUserInfoTable alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight - kTopHeight) style:UITableViewStyleGrouped]; + self.homeTable.addBlcok = ^{ + //新增紧急联系人 + [weakSelf addEmergencyContact]; + }; + self.homeTable.editBlcok = ^(XJEmergencyContactModel * _Nonnull model) { + + XJAddContactViewController * addVC = [[XJAddContactViewController alloc] init]; + addVC.model = model; + [weakSelf.navigationController pushViewController:addVC animated:YES]; + }; + [self.view addSubview:self.homeTable]; + +} + +- (void)createData { + + JKCQAPI * infoApi = [[JKCQAPI alloc] init:self tag:@"USERINFO" NeedToken:@""]; + [infoApi getMineCenterUserInfo:nil]; + + +} + + + +- (void)getEmergencyContact { + + NSMutableDictionary * dic = [[NSMutableDictionary alloc] init]; + + JKCQAPI * numbeApi = [[JKCQAPI alloc] init:self tag:@"ContactAPI" NeedToken:@""]; + + [numbeApi getEmergencyContact:dic]; +} + + +#pragma mark -网络请求处理 +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + [self showMBProgressHUDOnlyWithString:message]; + [self hiddenAllMBProgressHUD]; + +} +- (void)Sucess:(id)response tag:(NSString*)tag +{ + [self hiddenAllMBProgressHUD]; + + if ([tag isEqualToString:@"USERINFO"]) { + NSDictionary * dic = response; + XJMineCenterUserModel * userModel = [XJMineCenterUserModel modelWithDictionary:dic]; + self.homeTable.model = userModel; + + } + if ([tag isEqualToString:@"ContactAPI"]) { + + NSArray * array = response; + + for (NSDictionary * parmDic in array) { + + XJEmergencyContactModel * model = [XJEmergencyContactModel modelWithDictionary:parmDic]; + + [self.dataArray addObject:model]; + + } + self.homeTable.dataArray = self.dataArray; + } +} +#pragma mark:新增联系人 +- (void)addEmergencyContact { + + XJAddContactViewController * addVC = [[XJAddContactViewController alloc] init]; + + [self.navigationController pushViewController:addVC animated:YES]; + +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineVideoRecordViewController.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineVideoRecordViewController.h new file mode 100644 index 0000000..cc40e2d --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineVideoRecordViewController.h @@ -0,0 +1,19 @@ +// +// XJMineVideoRecordViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/25. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJMineVideoRecordViewController : HQBaseViewController + +@property (nonatomic, assign) NSInteger selectOnes; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineVideoRecordViewController.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineVideoRecordViewController.m new file mode 100644 index 0000000..06c6d62 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMineVideoRecordViewController.m @@ -0,0 +1,374 @@ +// +// XJMineVideoRecordViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/25. +// + +#import "XJMineVideoRecordViewController.h" +#import "QuestionRecoredTable.h" +#import "QuestionRecordModel.h" +#import "RecordIMListDateModel.h" +#import "XJDoctorMainViewController.h" +@interface XJMineVideoRecordViewController () + +@property (nonatomic, strong) QuestionRecoredTable * homeTable; + +@property (nonatomic, strong) NSMutableArray * buttonArray; + +@property (nonatomic, assign) NSInteger pageNo; + +@property (nonatomic, copy) NSString * type; + +@property (nonatomic, strong) NSMutableArray * dataArray; + +@property (nonatomic, strong) NSMutableArray * groupIDArray; + +@property (nonatomic, strong) NSMutableArray * jingxingArray; + +@end + + +@implementation XJMineVideoRecordViewController + + +- (NSMutableArray *)groupIDArray { + + if (!_groupIDArray) { + + _groupIDArray = [[NSMutableArray alloc] init]; + + } + return _groupIDArray; + +} + +- (NSMutableArray *)jingxingArray { + + if (!_jingxingArray) { + + _jingxingArray = [[NSMutableArray alloc] init]; + + } + return _jingxingArray; + +} + + + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + + _dataArray = [[NSMutableArray alloc] init]; + + } + return _dataArray; + +} + +- (NSMutableArray *)buttonArray { + + if (!_buttonArray) { + + _buttonArray = [[NSMutableArray alloc] init]; + + } + return _buttonArray; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = false; + self.pageNo = 0; + self.type = [NSString stringWithFormat:@"%ld",_selectOnes]; + [self createUI]; + [self createData]; +} + +- (void)viewWillAppear:(BOOL)animated { + + [super viewWillAppear:animated]; + + [self.homeTable.mj_header beginRefreshing]; + +} + +- (void)createUI { + + NSArray * array = @[@"进行中",@"待评价",@"已评价",@"历史"]; + [self.buttonArray removeAllObjects]; + CGFloat w = kRealValue(70); + for (int index = 0; index < array.count; index ++) { + + UIButton * listBtn = [[UIButton alloc] init]; + + listBtn.frame = CGRectMake(kRealValue(17) + (w + kRealValue(13)) * index , kRealValue(15), w, 27); + [listBtn setTitle:array[index] forState:UIControlStateNormal]; + [listBtn setTitleColor:KWhiteColor forState:UIControlStateSelected]; + [listBtn setTitleColor:CFontColor1 forState:UIControlStateNormal]; + [listBtn addTarget:self action:@selector(statusChange:) forControlEvents:UIControlEventTouchUpInside]; + listBtn.titleLabel.font = SYSTEMFONT(13); + listBtn.layer.cornerRadius = 14.0; + listBtn.layer.masksToBounds = true; + listBtn.tag = 1000 + index; + [self.view addSubview:listBtn]; +// if (index == 0 ) { +// listBtn.selected = YES; +// listBtn.backgroundColor = UIColorHex(#21BEBD); +// }else{ +// listBtn.backgroundColor = UIColorHex(#DDDDDD); +// } + if (self.selectOnes == 3) { + if (index == 0 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + } + if (self.selectOnes == 4) { + if (index == 1 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + } + if (self.selectOnes == 5) { + if (index == 2 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + } + if (self.selectOnes == 6) { + if (index == 3 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + } + [self.buttonArray addObject:listBtn]; + + } + + + + self.homeTable = [[QuestionRecoredTable alloc] initWithFrame:CGRectMake(0, 50, kScreenWidth, kScreenHeight - kTopHeight - 45 - 60) style:UITableViewStyleGrouped]; + MJWeakSelf; + self.homeTable.detailBlock = ^(NSString * _Nonnull recordID, NSString * _Nonnull imID, NSString * _Nonnull memberId, RecordIMListDateModel * _Nonnull model) { + + XJDoctorMainViewController * doctorVC = [[XJDoctorMainViewController alloc] init]; + doctorVC.yuyue_id = recordID; + doctorVC.popType = 1; + [weakSelf.navigationController pushViewController:doctorVC animated:YES]; + }; + [self.view addSubview:self.homeTable]; + + + + self.homeTable.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + weakSelf.pageNo = 0; + [weakSelf createData]; + + + }]; + self.homeTable.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + weakSelf.pageNo ++; + [weakSelf createData]; + }]; + LYEmptyView *emptyView = [LYEmptyView emptyViewWithImageStr:@"noData" titleStr:@"暂无数据" detailStr:@""]; + //元素竖直方向的间距 + emptyView.subViewMargin = 20.f; + //标题颜色 + emptyView.titleLabTextColor = [UIColor blackColor]; + //描述字体 + emptyView.detailLabFont = [UIFont systemFontOfSize:17]; + //按钮背景色 + emptyView.actionBtnBackGroundColor = KWhiteColor; + emptyView.actionBtnWidth = CGFLOAT_MIN; + emptyView.actionBtnHeight = CGFLOAT_MIN; + + //设置空内容占位图 + self.homeTable.ly_emptyView = emptyView; +} + + +- (void)createData { + // type : 1 图文 2 音视频 + [self showMBProgressHUDWithString:@"数据加载中,请稍候..." autoHidden:NO]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:@(self.pageNo) forKey:@"pageNo"]; + [parmDic setObject:@(10) forKey:@"pageSize"]; + [parmDic setObject:self.type forKey:@"status"]; + [parmDic setObject:@"2" forKey:@"type"]; + //status 1 3 4 5 //4 代评价 + JKCQAPI * recordApi = [[JKCQAPI alloc] init:self tag:@"RECORD" NeedToken:@""]; + [recordApi getMineQuestionRecord:parmDic]; +} + + + + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + [self hiddenAllMBProgressHUD]; + +} + + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + + if ([tag isEqualToString:@"RECORD"]) { + + [self hiddenAllMBProgressHUD]; + if (self.pageNo == 1) { + [self.dataArray removeAllObjects]; + } + NSArray * array = response ; + if (self.pageNo == 0) { + [self.dataArray removeAllObjects]; + } + for (NSDictionary * dic in array) { + + RecordIMListDateModel * model = [ RecordIMListDateModel modelWithDictionary:dic]; + + [self.dataArray addObject:model]; + } + + self.homeTable.dataArray = self.dataArray; + + } + + +} + +- (void)statusChange:(UIButton *)statusBtn { + + + if (statusBtn.tag == 1000) { //进行中 + self.type = @"3"; + } + if (statusBtn.tag == 1001) { //待评价 + self.type = @"4"; + } + if (statusBtn.tag == 1002) { //已评价 + self.type = @"5"; + } + if (statusBtn.tag == 1003) { //全部 + self.type = @"6"; + } + for (UIButton * titBtn in self.buttonArray) { + + if (titBtn == statusBtn) { + + titBtn.selected = YES; + titBtn.backgroundColor = UIColorHex(#21BEBD); + + }else + { + titBtn.selected = NO; + titBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } + + [self.homeTable.mj_header beginRefreshing]; +} + +- (void)setSelectOnes:(NSInteger)selectOnes { + + _selectOnes = selectOnes; + + switch (_selectOnes) { + case 3: //进行中 + { + for (UIButton * seleBtn in self.buttonArray) { + if (seleBtn.tag == 1000) { + seleBtn.selected = YES; + seleBtn.backgroundColor = UIColorHex(#21BEBD); + }else + { + seleBtn.selected = NO; + seleBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } + } + break; + case 4: //待评价 + { + for (UIButton * seleBtn in self.buttonArray) { + if (seleBtn.tag == 1001) { + seleBtn.selected = YES; + seleBtn.backgroundColor = UIColorHex(#21BEBD); + }else + { + seleBtn.selected = NO; + seleBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } + } + break; + case 5://已经评价 + { + for (UIButton * seleBtn in self.buttonArray) { + if (seleBtn.tag == 1002) { + seleBtn.selected = YES; + seleBtn.backgroundColor = UIColorHex(#21BEBD); + }else + { + seleBtn.selected = NO; + seleBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } + } + break; + case 6:// 全部历史 + { + for (UIButton * seleBtn in self.buttonArray) { + if (seleBtn.tag == 1002) { + seleBtn.selected = YES; + seleBtn.backgroundColor = UIColorHex(#21BEBD); + }else + { + seleBtn.selected = NO; + seleBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } + } + break; + + default: + break; + } + +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end + diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMyCenterViewController.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMyCenterViewController.h new file mode 100644 index 0000000..0a406f9 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMyCenterViewController.h @@ -0,0 +1,16 @@ +// +// MyCenterViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/2/13. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJMyCenterViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMyCenterViewController.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMyCenterViewController.m new file mode 100644 index 0000000..2d874e9 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJMyCenterViewController.m @@ -0,0 +1,294 @@ +// +// MyCenterViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/2/13. +// + +#import "XJMyCenterViewController.h" +#import "XJSliderView.h" +#import "UILabel+Extension.h" +#import "XJMyCenterTableView.h" +#import "QuestionPeopleMangerVC.h" +#import "XJSosCenterViewController.h" +#import "XJMineQuestionRecordViewController.h" +#import "XJMineUserInfoViewController.h" +#import "XJMineCenterUserModel.h" +#import "XJEditSystemViewController.h" +#import "XJSOSLookDoctoreViewController.h" + +@interface XJMyCenterViewController () + +@property (nonatomic, strong) XJMyCenterTableView * homeTable; + + +@end + +@implementation XJMyCenterViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + self.isHidenNaviBar = false; + self.navigationItem.title = @"个人中心"; + self.view.backgroundColor = UIColorHex(#EEEEEE); +// [self createTopAndNav]; + [self addNavigationItemWithImageNames:@[@"setting_icon"] isLeft:false target:self action:@selector(settingAction) tags:@[ @"100"]]; + [self createUI]; + + + +} + +-(void)viewWillAppear:(BOOL)animated { + + [super viewWillAppear:animated]; + + if ([HQCommonUtils isLogin]) { + [self createUserInfo]; + [self questionNumber]; + } + + if (@available(iOS 15.0, *)) { + UINavigationBarAppearance *appearance = [UINavigationBarAppearance new]; + [appearance configureWithOpaqueBackground]; // 使用纯色背景(更推荐) + appearance.backgroundColor = UIColorHex(#21BEBD); + appearance.shadowColor = nil; // ✅ 隐藏底部阴影线 + appearance.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]}; + + self.navigationController.navigationBar.standardAppearance = appearance; + self.navigationController.navigationBar.scrollEdgeAppearance = appearance; + self.navigationController.navigationBar.compactAppearance = appearance; + + self.navigationController.navigationBar.tintColor = [UIColor whiteColor]; // 按钮颜色 + } else { + self.navigationController.navigationBar.barTintColor = UIColorHex(#21BEBD); + [self.navigationController.navigationBar setTitleTextAttributes:@{NSForegroundColorAttributeName : [UIColor whiteColor]}]; + [self.navigationController.navigationBar setShadowImage:[UIImage new]]; // ✅ 旧系统隐藏阴影线 + [self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault]; + } + +} + + +- (void)settingAction { + + XJEditSystemViewController * infoVC = [[XJEditSystemViewController alloc] init]; + [self.navigationController pushViewController:infoVC animated:YES]; + +} + +#pragma mark - numberFormat +- (NSString *)numberFormat:(float)num { + NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; + [formatter setPositiveFormat:@"0"]; + return [formatter stringFromNumber:[NSNumber numberWithFloat:num]]; +} + + + +- (void)createUI { + + UIView * topView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(120))]; + topView.backgroundColor = UIColorHex(#21BEBD); + [self.view addSubview:topView]; + + + + self.homeTable = [[XJMyCenterTableView alloc] initWithFrame:CGRectMake(kRealValue(15), kRealValue(25), kScreenWidth - kRealValue(30), kScreenHeight - kRealValue(25) - kTopHeight - kTabBarHeight) style:UITableViewStyleGrouped]; + self.homeTable.heardDelegate =self; + self.homeTable.cellDelegate = self; + self.homeTable.contentInset = UIEdgeInsetsMake(20, 0, 0, 0); + [self.homeTable scrollRectToVisible:CGRectMake(0, 29,1, 1) animated:YES]; + [self.view addSubview:self.homeTable]; + + UIButton * outLoginBtn = [[UIButton alloc] initWithFrame:CGRectMake(kRealValue(48), kScreenHeight - kTabBarHeight - kTopHeight -kRealValue(100) , kScreenWidth - kRealValue(96), kRealValue(40))]; + outLoginBtn.backgroundColor = KWhiteColor; + if ([HQCommonUtils isLogin]) { + [outLoginBtn setTitle:@"退出登录" forState:UIControlStateNormal]; + [outLoginBtn addTarget:self action:@selector(outLoginUserinfo) forControlEvents:UIControlEventTouchUpInside]; + }else + { + [outLoginBtn setTitle:@"去登录" forState:UIControlStateNormal]; + [outLoginBtn addTarget:self action:@selector(gotoLoginUserinfo) forControlEvents:UIControlEventTouchUpInside]; + } + [outLoginBtn setTitleColor:UIColorHex(#21BEBD) forState:UIControlStateNormal]; + outLoginBtn.layer.cornerRadius = 20; + outLoginBtn.layer.masksToBounds = YES; + outLoginBtn.layer.borderColor = UIColorHex(#21BEBD).CGColor; + outLoginBtn.titleLabel.font = SYSTEMFONT(14); + outLoginBtn.layer.borderWidth = 1.0f; + [self.view addSubview:outLoginBtn]; +} + +- (void)createUserInfo { + + [self showMBProgressHUDWithString:@"数据加载中,请稍候..." autoHidden:NO]; + JKCQAPI * infoApi = [[JKCQAPI alloc] init:self tag:@"USERINFO" NeedToken:@""]; + [infoApi getMineCenterUserInfo:nil]; +} + +- (void)outLoginUserinfo { + + + UIAlertController *alertController = [UIAlertController alertControllerWithTitle:@"温馨提示" message:@"是否确定退出登录?" preferredStyle:UIAlertControllerStyleAlert]; + + UIAlertAction *cancelAction = [UIAlertAction actionWithTitle:@"取消" style:UIAlertActionStyleCancel handler:^(UIAlertAction * _Nonnull action) { + + }]; + UIAlertAction *sureAction = [UIAlertAction actionWithTitle:@"确定" style:UIAlertActionStyleDefault handler:^(UIAlertAction * _Nonnull action) { + [HQCommonUtils keyedArchiverWithData:nil key:LoginUserInfo]; + [ESCTUIManager outLoginTUISDK]; + KPostNotification(KNotificationLoginStateChange, @NO); + }]; + [alertController addAction:cancelAction]; + [alertController addAction:sureAction]; + + [[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:alertController animated:YES completion:nil]; +} + +#pragma mark:进行中 +- (void)myCenterInProgress { + + XJMineQuestionRecordViewController * recordVC = [[XJMineQuestionRecordViewController alloc] init]; + recordVC.titleSelected = 10;//图文视频 + recordVC.type = 3; + [self.navigationController pushViewController:recordVC animated:YES]; +} + +#pragma mark:待评价 +- (void)waitEvaluation { + + XJMineQuestionRecordViewController * recordVC = [[XJMineQuestionRecordViewController alloc] init]; + recordVC.titleSelected = 11;//音视频 + recordVC.type = 4; + [self.navigationController pushViewController:recordVC animated:YES]; +} + +#pragma mark:已评价 +- (void)completeEvaluation { + XJMineQuestionRecordViewController * recordVC = [[XJMineQuestionRecordViewController alloc] init]; + recordVC.titleSelected = 10;//图文视频 + recordVC.type = 4; + [self.navigationController pushViewController:recordVC animated:YES]; + +} +#pragma mark:历史 +- (void)myHistoryAction { + XJMineQuestionRecordViewController * recordVC = [[XJMineQuestionRecordViewController alloc] init]; + recordVC.titleSelected = 10;//图文视频 + recordVC.type = 6; + [self.navigationController pushViewController:recordVC animated:YES]; + +} +#pragma mark:查看全部 +- (void)lookAllQuestion { + + XJMineQuestionRecordViewController * recordVC = [[XJMineQuestionRecordViewController alloc] init]; + recordVC.titleSelected = 10;//图文视频 + recordVC.type = 6; + [self.navigationController pushViewController:recordVC animated:YES]; +} + +- (void)cellListClick:(NSInteger)cellIndex { + + HQUserInfo *infoModel = [HQCommonUtils keyedUnarchiverWithKey:LoginUserInfo]; + + UIViewController *vcToPush = nil; + switch (cellIndex) { + case 0: + vcToPush = [[QuestionPeopleMangerVC alloc] init]; + break; + case 1: + vcToPush = [[XJSOSLookDoctoreViewController alloc] init]; + break; + default: + break; + } + if (vcToPush) { + [self.navigationController pushViewController:vcToPush animated:YES]; + } + + + + + +} + +- (void)questionNumber { + + NSMutableDictionary * dic = [[NSMutableDictionary alloc] init]; + + JKCQAPI * numbeApi = [[JKCQAPI alloc] init:self tag:@"NUMBERAPI" NeedToken:@""]; + + [numbeApi getMineCenterNumber:dic]; + +} + +- (void)heardImageOnClick { + + if (![HQCommonUtils isLogin]) { + + KPostNotification(KNotificationLoginStateChange, @NO); + return; + } + + XJMineUserInfoViewController * infoVC = [[XJMineUserInfoViewController alloc] init]; + + [self.navigationController pushViewController:infoVC animated:YES]; +} + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + + + [self hiddenAllMBProgressHUD]; + +} + + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + + if ([tag isEqualToString:@"NUMBERAPI"]) { + + NSString * number = response; + + self.homeTable.number = [number integerValue]; + + } + + if ([tag isEqualToString:@"USERINFO"]) { + [self hiddenAllMBProgressHUD]; + NSDictionary * dic = response; + XJMineCenterUserModel * userModel = [XJMineCenterUserModel modelWithDictionary:dic]; + self.homeTable.userModel = userModel; + + } + +} +- (BOOL)shouldAutorotate { + + return NO; +} + +- (void)gotoLoginUserinfo { + + KPostNotification(KNotificationLoginStateChange, @NO); + +} + + + + + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSDetailInfoViewController.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSDetailInfoViewController.h new file mode 100644 index 0000000..ed20939 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSDetailInfoViewController.h @@ -0,0 +1,18 @@ +// +// XJSOSDetailInfoViewController.h +// EscortProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJSOSDetailInfoViewController : HQBaseViewController + +@property (nonatomic, copy) NSString * sessionId; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSDetailInfoViewController.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSDetailInfoViewController.m new file mode 100644 index 0000000..54ed2bf --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSDetailInfoViewController.m @@ -0,0 +1,75 @@ +// +// XJSOSDetailInfoViewController.m +// EscortProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import "XJSOSDetailInfoViewController.h" +#import "XJSOSDoctorDetailTable.h" +#import "XJSOSDoctorDetailInfoModel.h" + + +@interface XJSOSDetailInfoViewController () + +@property (nonatomic, strong) XJSOSDoctorDetailTable * homeTable; + +@end + +@implementation XJSOSDetailInfoViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.view.backgroundColor = CViewBgColor; + [self createUI]; + [self createData]; +} + +- (void)createUI { + + self.homeTable = [[XJSOSDoctorDetailTable alloc] initWithFrame:CGRectMake(kRealValue(10), kRealValue(58), kScreenWidth - kRealValue(20), kScreenHeight - kTopHeight - kRealValue(58)) style:UITableViewStyleGrouped]; + self.homeTable.layer.cornerRadius = 10.0; + self.homeTable.layer.masksToBounds = YES; + [self.view addSubview:self.homeTable]; +} + +- (void)createData { + + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setValue:self.sessionId forKey:@"id"]; + + JKCQAPI * detailApi = [[JKCQAPI alloc] init:self tag:@"DETAILAPI" NeedToken:@""]; + [detailApi getSOSDoctorDetailInfo:parmDic]; +} + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + [self showMBProgressHUDOnlyWithString:message]; + [self hiddenAllMBProgressHUD]; + +} + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + if ([tag isEqualToString:@"DETAILAPI"]) { + NSDictionary * dic = response; + + XJSOSDoctorDetailInfoModel * model = [XJSOSDoctorDetailInfoModel modelWithDictionary:dic]; + + self.homeTable.model = model; + } + +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSDetailSmallSumViewController.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSDetailSmallSumViewController.h new file mode 100644 index 0000000..2c2e55a --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSDetailSmallSumViewController.h @@ -0,0 +1,18 @@ +// +// XJSOSDetailSmallSumViewController.h +// EscortProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJSOSDetailSmallSumViewController : HQBaseViewController + +@property (nonatomic, copy) NSString * hospital_id; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSLookDoctorDetailViewController.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSLookDoctorDetailViewController.h new file mode 100644 index 0000000..112a7c0 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSLookDoctorDetailViewController.h @@ -0,0 +1,22 @@ +// +// XJSOSLookDoctorDetailViewController.h +// EscortProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJSOSLookDoctorDetailViewController : HQBaseViewController + +@property (nonatomic, copy) NSString * sessionId; + +@property (nonatomic, copy) NSString * hospital_id; + + + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSLookDoctoreViewController.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSLookDoctoreViewController.h new file mode 100644 index 0000000..91299fe --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSLookDoctoreViewController.h @@ -0,0 +1,16 @@ +// +// XJSOSLookDoctoreViewController.h +// EscortProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJSOSLookDoctoreViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSLookDoctoreViewController.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSLookDoctoreViewController.m new file mode 100644 index 0000000..4c3da9a --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Controller/XJSOSLookDoctoreViewController.m @@ -0,0 +1,135 @@ +// +// XJSOSLookDoctoreViewController.m +// EscortProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import "XJSOSLookDoctoreViewController.h" +#import "XJSOSDoctorTableView.h" +#import "XJSOSDoctorModel.h" +#import "XJSOSLookDoctorDetailViewController.h" + +@interface XJSOSLookDoctoreViewController () + +@property (nonatomic, strong) XJSOSDoctorTableView * homeTable; + +@property (nonatomic, strong) NSMutableArray * dataArray; + +@property (nonatomic, assign) NSInteger pageNo; +@end + +@implementation XJSOSLookDoctoreViewController + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + _dataArray = [[NSMutableArray alloc] init]; + } + return _dataArray; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.view.backgroundColor = CViewBgColor; + self.isHidenNaviBar = false; + self.navigationItem.title = @"应急就医"; + self.pageNo = 1; + [self createUI]; + [self createData]; + +} + +- (void)createUI { + + MJWeakSelf + self.homeTable = [[XJSOSDoctorTableView alloc] initWithFrame:CGRectMake(kRealValue(15), 0, kScreenWidth - kRealValue(30), kScreenHeight - kTopHeight) style:UITableViewStyleGrouped]; + + self.homeTable.recordBlock = ^(NSString * _Nonnull sessionId, NSString * _Nonnull hospitalId) { + XJSOSLookDoctorDetailViewController * detailVC = [[XJSOSLookDoctorDetailViewController alloc] init]; + detailVC.sessionId = hospitalId; + detailVC.hospital_id = hospitalId; + [weakSelf.navigationController pushViewController:detailVC animated:YES]; + }; + [self.view addSubview:self.homeTable]; + + + self.homeTable.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + weakSelf.pageNo = 1; + [weakSelf createData]; + + + }]; + self.homeTable.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + weakSelf.pageNo ++; + [weakSelf createData]; + }]; + [self createData]; + + //初始化一个emptyView + LYEmptyView *emptyView = [LYEmptyView emptyViewWithImageStr:@"boxNoData" titleStr:@"暂无数据" detailStr:@""]; + + //元素竖直方向的间距 + emptyView.subViewMargin = 20.f; + //标题颜色 + emptyView.titleLabTextColor = [UIColor blackColor]; + //描述字体 + emptyView.detailLabFont = [UIFont systemFontOfSize:17]; + //按钮背景色 + //设置空内容占位图 + self.homeTable.ly_emptyView = emptyView; +} + +- (void)createData { + + [self showMBProgressHUDWithString:@"数据加载中..." autoHidden:false]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + + [parmDic setObject:@(self.pageNo) forKey:@"pageNo"]; + [parmDic setObject:@"20" forKey:@"pageSize"]; + + JKCQAPI * api = [[JKCQAPI alloc] init:self tag:@"STATUSING" NeedToken:@""]; + + [api getSOSDoctorRecordList:parmDic]; +} + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + [self showMBProgressHUDOnlyWithString:message]; + [self hiddenAllMBProgressHUD]; + [self.homeTable.mj_header endRefreshing]; + [self.homeTable.mj_footer endRefreshing]; +} + + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + [self.homeTable.mj_header endRefreshing]; + [self.homeTable.mj_footer endRefreshing]; + if ([tag isEqualToString:@"STATUSING"]) { + [self hiddenAllMBProgressHUD]; + NSDictionary * dic = response; + + if (self.pageNo == 1) { + [self.dataArray removeAllObjects]; + } + + XJSOSDoctorModel * model = [XJSOSDoctorModel modelWithDictionary:dic] ; + [self.dataArray addObjectsFromArray:model.records]; + } + self.homeTable.dataArray = self.dataArray; + +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/MineCenterUserModel.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/MineCenterUserModel.m deleted file mode 100644 index 6746c54..0000000 --- a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/MineCenterUserModel.m +++ /dev/null @@ -1,12 +0,0 @@ -// -// MineCenterUserModel.m -// EscortProject -// -// Created by 仁康信息 on 2023/7/26. -// - -#import "MineCenterUserModel.h" - -@implementation MineCenterUserModel - -@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessDetailModel.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessDetailModel.h new file mode 100644 index 0000000..55d576b --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessDetailModel.h @@ -0,0 +1,38 @@ +// +// XJBigillessDetailModel.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/21. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XJBigillessDetailModel : NSObject + +@property (nonatomic, copy) NSString * detail_id; +@property (nonatomic, copy) NSString * hospitalId; +@property (nonatomic, copy) NSString * hospitalName; +@property (nonatomic, copy) NSString * medicalCardNo; +@property (nonatomic, copy) NSString * registerCategory; +@property (nonatomic, copy) NSString * registerCategory_dictText; +@property (nonatomic, copy) NSString * yiyuan_id; +@property (nonatomic, copy) NSString * state; +@property (nonatomic, copy) NSString * desireTime; +@property (nonatomic, copy) NSString * reservationOffice; +@property (nonatomic, copy) NSString * createTime; +@property (nonatomic, copy) NSString * reservationDoctor; +@property (nonatomic, copy) NSString * diseaseDescribe; +@property (nonatomic, copy) NSString * rejectionReason; +@property (nonatomic, copy) NSString * realname; +@property (nonatomic, copy) NSString * idNo; +@property (nonatomic, copy) NSString * telPhone; +@property (nonatomic, copy) NSString * reservationNo; +@property (nonatomic, copy) NSString * topState; +@property (nonatomic, copy) NSString * rejectionTime; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessDetailModel.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessDetailModel.m new file mode 100644 index 0000000..a68354c --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessDetailModel.m @@ -0,0 +1,17 @@ +// +// XJBigillessDetailModel.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/21. +// + +#import "XJBigillessDetailModel.h" + +@implementation XJBigillessDetailModel ++ (NSDictionary *)modelCustomPropertyMapper +{ + NSDictionary * dic =@{@"topState" :@"newState"}; + return dic; +} + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessHospitalModel.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessHospitalModel.h new file mode 100644 index 0000000..90ea271 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessHospitalModel.h @@ -0,0 +1,19 @@ +// +// XJBigillessHospitalModel.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/21. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XJBigillessHospitalModel : NSObject + +@property (nonatomic, copy) NSString * yiyuan_id; +@property (nonatomic, copy) NSString * name; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessHospitalModel.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessHospitalModel.m new file mode 100644 index 0000000..c9b6ef7 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillessHospitalModel.m @@ -0,0 +1,18 @@ +// +// XJBigillessHospitalModel.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/21. +// + +#import "XJBigillessHospitalModel.h" + +@implementation XJBigillessHospitalModel + ++ (NSDictionary *)modelCustomPropertyMapper +{ + NSDictionary * dic =@{@"yiyuan_id" :@"id"}; + return dic; +} + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillnessModel.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillnessModel.h new file mode 100644 index 0000000..8ee4dda --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillnessModel.h @@ -0,0 +1,24 @@ +// +// XJBigillnessModel.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/21. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XJBigillnessModel : NSObject + +@property (nonatomic, copy) NSString * zixun_id; +@property (nonatomic, copy) NSString * hospitalName; +@property (nonatomic, copy) NSString * reservationOffice; +@property (nonatomic, copy) NSString * reservationDoctor; +@property (nonatomic, copy) NSString * realname; +@property (nonatomic, copy) NSString * state ;// 状态 1未派单 2已派单 3已接单 4已预约 5已完成 6操作人员驳回 7驻场人员驳回 8 超时未接单 6,7,8红色 其余都是绿色 +@property (nonatomic, copy) NSString * createTime; +@property (nonatomic, copy) NSString * desireTime; +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillnessModel.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillnessModel.m new file mode 100644 index 0000000..78e733e --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJBigillnessModel.m @@ -0,0 +1,19 @@ +// +// XJBigillnessModel.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/21. +// + +#import "XJBigillnessModel.h" + +@implementation XJBigillnessModel + ++ (NSDictionary *)modelCustomPropertyMapper +{ + NSDictionary * dic =@{@"zixun_id" :@"id"}; + return dic; +} + + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJEmergencyContactModel.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJEmergencyContactModel.h new file mode 100644 index 0000000..1cdcfd7 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJEmergencyContactModel.h @@ -0,0 +1,23 @@ +// +// XJEmergencyContactModel.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/27. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XJEmergencyContactModel : NSObject + +@property (nonatomic, copy) NSString * contact_ID; +@property (nonatomic, copy) NSString * phone; +@property (nonatomic, copy) NSString * familyRelation_dictText; +@property (nonatomic, copy) NSString * name; +@property (nonatomic, copy) NSString * idCard; +@property (nonatomic, copy) NSString * familyRelation; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJEmergencyContactModel.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJEmergencyContactModel.m new file mode 100644 index 0000000..2a5cbc2 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJEmergencyContactModel.m @@ -0,0 +1,19 @@ +// +// XJEmergencyContactModel.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/27. +// + +#import "XJEmergencyContactModel.h" + +@implementation XJEmergencyContactModel + ++ (NSDictionary *)modelCustomPropertyMapper +{ + NSDictionary * dic =@{@"contact_ID" :@"id"}; + return dic; +} + + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJMineCenterUserModel.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJMineCenterUserModel.h new file mode 100644 index 0000000..b835132 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJMineCenterUserModel.h @@ -0,0 +1,30 @@ +// +// XJMineCenterUserModel.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/26. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XJMineCenterUserModel : NSObject + +@property (nonatomic, copy) NSString * realname; +@property (nonatomic, copy) NSString * workNo; +@property (nonatomic, copy) NSString * phone; +@property (nonatomic, copy) NSString * idCard; +@property (nonatomic, copy) NSString * sex; +@property (nonatomic, copy) NSString * sex_dictText; +@property (nonatomic, copy) NSString * personType; +@property (nonatomic, copy) NSString * personType_dictText; +@property (nonatomic, copy) NSString * orgCode; +@property (nonatomic, copy) NSString * avatar; +@property (nonatomic, copy) NSString * value; +@property (nonatomic, copy) NSString * text; +@property (nonatomic, copy) NSString * title; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJMineCenterUserModel.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJMineCenterUserModel.m new file mode 100644 index 0000000..747dbc0 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJMineCenterUserModel.m @@ -0,0 +1,12 @@ +// +// XJMineCenterUserModel.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/26. +// + +#import "XJMineCenterUserModel.h" + +@implementation XJMineCenterUserModel + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorDetailInfoModel.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorDetailInfoModel.h new file mode 100644 index 0000000..75bb783 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorDetailInfoModel.h @@ -0,0 +1,107 @@ +// +// XJSOSDoctorDetailInfoModel.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/23. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XJSOSDoctorDetailHistory : NSObject + +@property (nonatomic, copy) NSString * status; +@property (nonatomic, copy) NSString * stationUserId; +@property (nonatomic, copy) NSString * stationUserName; +@property (nonatomic, copy) NSString * stationUserSex; +@property (nonatomic, copy) NSString * accept_dictText; +@property (nonatomic, copy) NSString * updateTime; +@property (nonatomic, copy) NSString * stationBusiness_dictText; +@property (nonatomic, copy) NSString * sendOrderHospital; +@property (nonatomic, copy) NSString * orderId; +@property (nonatomic, copy) NSString * stationBusiness; +@property (nonatomic, copy) NSString * createTime; +@property (nonatomic, copy) NSString * createBy; +@property (nonatomic, copy) NSString * history_id; +@property (nonatomic, copy) NSString * transferOrderTime; + + +@end + +@interface XJSOSDoctorDetailInfoModel : NSObject + +@property (nonatomic, copy) NSString * createTimeEnd; +@property (nonatomic, copy) NSString * majorSalvageOpinion; +@property (nonatomic, copy) NSString * infoDesc; +@property (nonatomic, copy) NSString * delFlag; +@property (nonatomic, copy) NSString * detail_id; +@property (nonatomic, copy) NSString * initiatorUserDepart; +@property (nonatomic, copy) NSString * stationUserMobile; +@property (nonatomic, copy) NSString * memo; +@property (nonatomic, copy) NSString * orderDetail; +@property (nonatomic, copy) NSString * stationUserAvatar; + +@property (nonatomic, copy) NSString * updateBy; +@property (nonatomic, copy) NSString * sessionNow; +@property (nonatomic, copy) NSString * stationUserSex; +@property (nonatomic, copy) NSString * stationUserId; +@property (nonatomic, copy) NSString * isDispatch_dictText; +@property (nonatomic, copy) NSString * createBy; +@property (nonatomic, copy) NSString * stationRejectionTime; +@property (nonatomic, copy) NSString * initiatorUserName; +@property (nonatomic, copy) NSString * salvageUserAge; +@property (nonatomic, copy) NSString * createTime; + +@property (nonatomic, copy) NSString * resourceId; +@property (nonatomic, copy) NSString * operationUserSex; +@property (nonatomic, copy) NSString * stationBusiness; +@property (nonatomic, copy) NSString * majorUserSex; +@property (nonatomic, copy) NSString * status; +@property (nonatomic, copy) NSString * operationUserName; +@property (nonatomic, copy) NSString * stationUserDepart; +@property (nonatomic, copy) NSString * salvageUserSecondDepart; +@property (nonatomic, copy) NSString * majorUserId; +@property (nonatomic, copy) NSString * initiatorUserSex; + +@property (nonatomic, strong) NSArray * orderSendRecordList; + +@property (nonatomic, copy) NSString * stationBusiness_dictText; +@property (nonatomic, copy) NSString * majorResponseTime; +@property (nonatomic, copy) NSString * salvageUserMobile; +@property (nonatomic, copy) NSString * initiatorUserId; +@property (nonatomic, copy) NSString * orderStatus; +@property (nonatomic, copy) NSString * salvageUserAvatar; +@property (nonatomic, copy) NSString * initiatorType; +@property (nonatomic, copy) NSString * initiatorUserAge; +@property (nonatomic, copy) NSString * sessionId; + +@property (nonatomic, copy) NSString * salvageUserName; +@property (nonatomic, copy) NSString * initiatorUserMobile; +@property (nonatomic, copy) NSString * stationUserName; +@property (nonatomic, copy) NSString * updateTime; +@property (nonatomic, copy) NSString * operationUserMobile; +@property (nonatomic, copy) NSString * majorUserName; +@property (nonatomic, copy) NSString * isDispatch; +@property (nonatomic, copy) NSString * orderStatus_dictText; +@property (nonatomic, copy) NSString * resourceName; + +@property (nonatomic, copy) NSString * initiatorUserSecondDepart; +@property (nonatomic, copy) NSString * salvageUserDepart; +@property (nonatomic, copy) NSString * orderOverTime; +@property (nonatomic, copy) NSString * initiatorUserIdCard; +@property (nonatomic, copy) NSString * initiatorUserAvatar; +@property (nonatomic, copy) NSString * salvageUserId; +@property (nonatomic, copy) NSString * operationUserId; +@property (nonatomic, copy) NSString * operationResponseTime; +@property (nonatomic, copy) NSString * stationResponseTime; + +@property (nonatomic, copy) NSString * operationSendOrderTime; +@property (nonatomic, assign) BOOL isFill; +@property (nonatomic, copy) NSString * sendOrderHospital; +@property (nonatomic, copy) NSString * salvageUserIdCard; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorDetailInfoModel.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorDetailInfoModel.m new file mode 100644 index 0000000..1b78d0c --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorDetailInfoModel.m @@ -0,0 +1,40 @@ +// +// XJSOSDoctorDetailInfoModel.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/23. +// + +#import "XJSOSDoctorDetailInfoModel.h" + + + +@implementation XJSOSDoctorDetailHistory + ++ (NSDictionary *)modelCustomPropertyMapper +{ + NSDictionary * dic =@{@"history_id" :@"id"}; + return dic; +} + + +@end + +@implementation XJSOSDoctorDetailInfoModel + ++ (NSDictionary *)modelContainerPropertyGenericClass +{ + + return @{ + @"orderSendRecordList":[XJSOSDoctorDetailHistory class] + }; +} + ++ (NSDictionary *)modelCustomPropertyMapper +{ + NSDictionary * dic =@{@"detail_id" :@"id"}; + return dic; +} + + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorModel.h b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorModel.h new file mode 100644 index 0000000..12285a4 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorModel.h @@ -0,0 +1,38 @@ +// +// XJSOSDoctorModel.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + + + +@interface XJSOSDoctorRecordListModel : NSObject + +@property (nonatomic, copy) NSString * sos_id; +@property (nonatomic, copy) NSString * sessionId; +@property (nonatomic, copy) NSString * initiatorUserId; +@property (nonatomic, copy) NSString * initiatorUserName; +@property (nonatomic, copy) NSString * createTime; +@property (nonatomic, copy) NSString * initiatorUserSex; +@property (nonatomic, copy) NSString * orderStatus_dictText; +@property (nonatomic, copy) NSString * sendOrderHospital; +@property (nonatomic, copy) NSString * stationBusiness; +@property (nonatomic, copy) NSString * orderStatus; +@property (nonatomic, copy) NSString * stationBusiness_dictText; + +@end + + +@interface XJSOSDoctorModel : NSObject + +@property (nonatomic, strong) NSArray * records; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorModel.m b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorModel.m new file mode 100644 index 0000000..2f3fd8b --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/Model/XJSOSDoctorModel.m @@ -0,0 +1,37 @@ +// +// XJSOSDoctorModel.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import "XJSOSDoctorModel.h" + + + +@implementation XJSOSDoctorRecordListModel + ++ (NSDictionary *)modelCustomPropertyMapper +{ + NSDictionary * dic =@{@"sos_id" :@"id"}; + return dic; +} + + +@end + + + +@implementation XJSOSDoctorModel + ++ (NSDictionary *)modelContainerPropertyGenericClass +{ + + return @{ + @"records":[XJSOSDoctorRecordListModel class] + }; +} + + +@end + diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/BigillessTableViewCell.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/BigillessTableViewCell.h deleted file mode 100644 index 8c84106..0000000 --- a/XinjiangProject/XinjiangProject/Project/MainCenter/View/BigillessTableViewCell.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// BigillessTableViewCell.h -// EscortProject -// -// Created by 仁康信息 on 2023/8/19. -// - -#import -#import "BigillnessModel.h" -NS_ASSUME_NONNULL_BEGIN - -@interface BigillessTableViewCell : UITableViewCell - -@property (nonatomic, strong) BigillnessModel * model; - -@end - -NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/HistoryOrderTableViewCell.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/HistoryOrderTableViewCell.h deleted file mode 100644 index d365bec..0000000 --- a/XinjiangProject/XinjiangProject/Project/MainCenter/View/HistoryOrderTableViewCell.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// HistoryOrderTableViewCell.h -// EscortProject -// -// Created by 仁康信息 on 2023/8/23. -// - -#import -#import "SOSDoctorDetailInfoModel.h" -NS_ASSUME_NONNULL_BEGIN - -@interface HistoryOrderTableViewCell : UITableViewCell - -@property (nonatomic, strong) SOSDoctorDetailHistory * historyModel; - -@end - -NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/MineHeardTableViewCell.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/MineHeardTableViewCell.h deleted file mode 100644 index 0649c0c..0000000 --- a/XinjiangProject/XinjiangProject/Project/MainCenter/View/MineHeardTableViewCell.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// MineHeardTableViewCell.h -// EscortProject -// -// Created by 仁康信息 on 2023/7/26. -// - -#import -#import "MineCenterUserModel.h" -NS_ASSUME_NONNULL_BEGIN - -@interface MineHeardTableViewCell : UITableViewCell - -@property (nonatomic, strong) MineCenterUserModel * heardModel; - -@end - -NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/SOSDetailTableHeardView.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/SOSDetailTableHeardView.h deleted file mode 100644 index 28e98a5..0000000 --- a/XinjiangProject/XinjiangProject/Project/MainCenter/View/SOSDetailTableHeardView.h +++ /dev/null @@ -1,22 +0,0 @@ -// -// SOSDetailTableHeardView.h -// EscortProject -// -// Created by 仁康信息 on 2023/8/22. -// - -#import -#import "SOSDoctorDetailInfoModel.h" - -NS_ASSUME_NONNULL_BEGIN - -@interface SOSDetailTableHeardView : UIView - -@property (nonatomic, assign) CGFloat heradHeight; - -@property (nonatomic, strong) SOSDoctorDetailInfoModel * heardModel; -@property (nonatomic, strong) SOSDoctorDetailHistory * historyModel; - -@end - -NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/SOSDoctorDetailTable.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/SOSDoctorDetailTable.h deleted file mode 100644 index 5d22477..0000000 --- a/XinjiangProject/XinjiangProject/Project/MainCenter/View/SOSDoctorDetailTable.h +++ /dev/null @@ -1,18 +0,0 @@ -// -// SOSDoctorDetailTable.h -// EscortProject -// -// Created by 仁康信息 on 2023/8/23. -// - -#import -#import "SOSDoctorDetailInfoModel.h" -NS_ASSUME_NONNULL_BEGIN - -@interface SOSDoctorDetailTable : UITableView - -@property (nonatomic, strong) SOSDoctorDetailInfoModel * model; - -@end - -NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigilessTopStatusView.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigilessTopStatusView.h new file mode 100644 index 0000000..75c30ed --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigilessTopStatusView.h @@ -0,0 +1,25 @@ +// +// XJBigilessTopStatusView.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/21. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XJBigilessTopStatusView : UIView + +@property (nonatomic, assign) BOOL isSelected; + +@property (nonatomic, assign) BOOL isLast; + +@property (nonatomic, assign) NSInteger lastType; + +@property (nonatomic, copy) NSString * statusString; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigilessTopStatusView.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigilessTopStatusView.m new file mode 100644 index 0000000..44d64c8 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigilessTopStatusView.m @@ -0,0 +1,120 @@ +// +// XJBigilessTopStatusView.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/21. +// + +#import "XJBigilessTopStatusView.h" + + +@interface XJBigilessTopStatusView () + +@property (nonatomic, strong) UIButton * statusBtn; + +@property (nonatomic, strong) UILabel * statusLabel; + +@property (nonatomic, strong) UILabel * numberLabel; + + +@property (nonatomic, strong) UIImageView * statusView; + +@property (nonatomic, strong) UIView * lineView; + +@end + + +@implementation XJBigilessTopStatusView + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code +} +*/ + +- (instancetype)initWithFrame:(CGRect)frame { + + if (self = [super initWithFrame:frame]) { + + [self createUI]; + } + + return self; +} + +- (void)createUI { + + self.statusBtn = [[UIButton alloc] initWithFrame:CGRectMake(kRealValue(5), 0, kRealValue(38), kRealValue(38))]; + [self.statusBtn setImage:[UIImage imageNamed:@"statusTop_nomal"] forState:UIControlStateNormal]; + [self.statusBtn setImage:[UIImage imageNamed:@"statusTop_selected"] forState:UIControlStateSelected]; + [self addSubview:self.statusBtn]; + + + self.numberLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(5), 0, kRealValue(38), kRealValue(38))]; + self.numberLabel.textAlignment = NSTextAlignmentCenter; + self.numberLabel.font = SYSTEMFONT(13); + self.numberLabel.text = @"1"; + self.numberLabel.textColor = UIColorHex(#21BEBD); + [self addSubview:self.numberLabel]; + + + self.statusLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, self.statusBtn.bottom + 8, 60, 13)]; + self.statusLabel.textAlignment = NSTextAlignmentLeft; + self.statusLabel.font = SYSTEMFONT(13); + self.statusLabel.text = @"在线咨询"; + self.statusLabel.textColor = KWhiteColor; + [self addSubview:self.statusLabel]; + + self.statusView = [[UIImageView alloc] initWithFrame:CGRectMake(self.statusBtn.right + kRealValue(13) , kRealValue(13), 20, 7)]; + self.statusView.image = [UIImage imageNamed:@"line_selected"]; + self.statusView.hidden = true; + [self addSubview:self.statusView]; + + self.lineView = [[UIImageView alloc] initWithFrame:CGRectMake(self.statusBtn.right , kRealValue(19), kRealValue(24), 2)]; + self.lineView.backgroundColor = KWhiteColor; + self.lineView.hidden = true; + [self addSubview:self.lineView]; + +} + +- (void)setIsSelected:(BOOL)isSelected { + + _isSelected = isSelected; + + if (_isSelected) { + self.statusBtn.selected = true; + self.statusView.hidden = false; + self.lineView.hidden = true; + self.statusLabel.textColor = KWhiteColor; + } + else { + self.statusBtn.selected = false; + self.statusView.hidden = true; + self.lineView.hidden = false; + self.statusLabel.textColor = UIColorHex(#FBFBFB); + } +} + + +- (void)setLastType:(NSInteger)lastType { + + _lastType = lastType; + + if (_lastType == 3) { + self.lineView.hidden = YES; + self.statusView.hidden = YES; + } + self.numberLabel.text = [NSString stringWithFormat:@"%ld",_lastType + 1]; + +} + +- (void)setStatusString:(NSString *)statusString { + + _statusString = statusString; + + self.statusLabel.text = _statusString; + +} +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessListTable.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessListTable.h new file mode 100644 index 0000000..c0562e1 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessListTable.h @@ -0,0 +1,22 @@ +// +// XJBigillessListTable.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/19. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +typedef void(^lookDetailBlock)(NSString * card_id); + +@interface XJBigillessListTable : UITableView + +@property (nonatomic, strong) NSArray * dataArray; + +@property (nonatomic, copy) lookDetailBlock detailBlock; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessListTable.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessListTable.m new file mode 100644 index 0000000..ff020a1 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessListTable.m @@ -0,0 +1,137 @@ +// +// XJBigillessListTable.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/19. +// + +#import "XJBigillessListTable.h" +#import "XJBigillessTableViewCell.h" + + +@interface XJBigillessListTable () + + +@end + + +@implementation XJBigillessListTable + + +- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style { + + if (self = [super initWithFrame:frame style:style]) { + + [self createUI]; + } + + return self; +} + +- (void)createUI { + + if (@available(iOS 11.0, *)) { + self.estimatedRowHeight = 0; + self.estimatedSectionFooterHeight = 0; + self.estimatedSectionHeaderHeight = 0; + self.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; + } + self.delegate = self; + self.dataSource = self; + self.backgroundColor = UIColor.clearColor; + self.showsVerticalScrollIndicator = false; + self.showsHorizontalScrollIndicator = false; + self.separatorStyle = UITableViewCellSeparatorStyleNone; + self.estimatedRowHeight = 60; + self.rowHeight = UITableViewAutomaticDimension; + +} + +- (void)setDataArray:(NSArray *)dataArray { + + _dataArray = dataArray; + + [self reloadData]; +} + +#pragma mark - tableview的代理方法 +//组数 +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return self.dataArray.count; +} +//每组多少行 +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + return 1; +} +//注册cell +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + + XJBigillessTableViewCell * cell = [self dequeueReusableCellWithIdentifier:@"STATUSCELL"]; + if (!cell) { + + cell = [[XJBigillessTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"STATUSCELL"]; + } + cell.model= self.dataArray[indexPath.section]; + cell.backgroundColor = KWhiteColor; + cell.layer.cornerRadius = 10; + cell.layer.masksToBounds = YES; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + return cell; + + + +} +//每行高度 +//- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath +//{ +// return kRealValue(77); +//} + +- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { + + return kRealValue(10); +} + +- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { + + return CGFLOAT_MIN; +} + +//组头 --- 组尾 + +- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { + + + return [UIView new]; + +} + + +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + + + + UIView * footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(10))]; + + + return footerView; + +} +////cell点击事件 +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + XJBigillnessModel * model= self.dataArray[indexPath.section]; + + if (self.detailBlock) { + self.detailBlock(model.zixun_id); + } +} + + +@end + + + diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessTableViewCell.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessTableViewCell.h new file mode 100644 index 0000000..87ee71b --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessTableViewCell.h @@ -0,0 +1,18 @@ +// +// XJBigillessTableViewCell.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/19. +// + +#import +#import "XJBigillnessModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface XJBigillessTableViewCell : UITableViewCell + +@property (nonatomic, strong) XJBigillnessModel * model; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessTableViewCell.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessTableViewCell.m new file mode 100644 index 0000000..7c6c669 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJBigillessTableViewCell.m @@ -0,0 +1,193 @@ +// +// XJBigillessTableViewCell.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/19. +// + +#import "XJBigillessTableViewCell.h" + +@interface XJBigillessTableViewCell() + +@property (nonatomic, strong) UILabel * hospitalLabel; + +@property (nonatomic, strong) UILabel * roomLabel; + +@property (nonatomic, strong) UILabel * doctorLabel; + +@property (nonatomic, strong) UILabel * peopleLabel; + +@property (nonatomic, strong) UILabel * timeLabel; + +@property (nonatomic, strong) UILabel * statusLabel; + +@end + +@implementation XJBigillessTableViewCell + +- (void)awakeFromNib { + [super awakeFromNib]; + // Initialization code +} + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated { + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} + +- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { + + if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { + + [self createUI]; + } + + return self; + +} + +- (void)createUI { + + self.hospitalLabel = [[UILabel alloc] init]; + self.hospitalLabel.textColor = UIColorHex(#333333); + self.hospitalLabel.font = BOLDSYSTEMFONT(14); + self.hospitalLabel.textAlignment = NSTextAlignmentLeft; + self.hospitalLabel.text = @"预约医院:"; + [self.contentView addSubview:self.hospitalLabel]; + + [self.hospitalLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_offset(14); + make.top.mas_offset(16); + make.height.mas_offset(14); + }]; + [self.hospitalLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal]; + + + self.roomLabel = [[UILabel alloc] init]; + self.roomLabel.textColor = UIColorHex(#333333); + self.roomLabel.font = SYSTEMFONT(13); + self.roomLabel.textAlignment = NSTextAlignmentLeft; + self.roomLabel.text = @"预约科室:"; + [self.contentView addSubview:self.roomLabel]; + + + [self.roomLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_offset(14); + make.top.mas_equalTo(self.hospitalLabel.mas_bottom).offset(14); + make.height.mas_offset(14); + make.right.mas_offset (0); + }]; + + + self.doctorLabel = [[UILabel alloc] init]; + self.doctorLabel.textColor = UIColorHex(#333333); + self.doctorLabel.font = SYSTEMFONT(14); + self.doctorLabel.textAlignment = NSTextAlignmentLeft; + self.doctorLabel.text = @"预约医生:"; + [self.contentView addSubview:self.doctorLabel]; + + [self.doctorLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_offset(14); + make.top.mas_equalTo(self.roomLabel.mas_bottom).offset(14); + make.height.mas_offset(14); + make.right.mas_offset (0); + }]; + + self.peopleLabel = [[UILabel alloc] init]; + self.peopleLabel.textColor = UIColorHex(#333333); + self.peopleLabel.font = SYSTEMFONT(14); + self.peopleLabel.text = @"预约人:"; + self.peopleLabel.textAlignment = NSTextAlignmentLeft; + [self.contentView addSubview:self.peopleLabel]; + + [self.peopleLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_offset(14); + make.top.mas_equalTo(self.doctorLabel.mas_bottom).offset(14); + make.height.mas_offset(14); + make.right.mas_offset (0); + make.bottom.mas_offset(-15); + }]; + + self.timeLabel = [[UILabel alloc] init]; + self.timeLabel.textColor = UIColorHex(#999999); + self.timeLabel.font = SYSTEMFONT(13); + self.timeLabel.textAlignment = NSTextAlignmentRight; + [self.contentView addSubview:self.timeLabel]; + + [self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(@17); + make.height.mas_offset(12); + make.right.mas_offset (-17); + }]; + + self.statusLabel = [[UILabel alloc] init]; + self.statusLabel.textColor = UIColorHex(#16C716); + self.statusLabel.font = SYSTEMFONT(14); + self.statusLabel.textAlignment = NSTextAlignmentRight; + self.statusLabel.text = @"待派单"; + [self.contentView addSubview:self.statusLabel]; + + [self.statusLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.mas_equalTo(self.timeLabel.mas_right); + make.top.mas_equalTo(self.timeLabel.mas_bottom).offset(28); + make.height.mas_offset(12); + make.right.mas_offset (-17); + }]; +} +- (void)setModel:(XJBigillnessModel *)model { + + _model = model; + + self.hospitalLabel.text = [NSString stringWithFormat:@"预约医院:%@",model.hospitalName] ; + self.roomLabel.text = [NSString stringWithFormat:@"预约科室:%@",model.reservationOffice]; + self.doctorLabel.text = [NSString stringWithFormat:@"预约医生:%@",model.reservationDoctor]; + self.peopleLabel.text = [NSString stringWithFormat:@"预约人:%@",model.realname]; + self.timeLabel.text = model.createTime; + //状态 1未派单 2已派单 3已接单 4已预约 5已完成 6操作人员驳回 7驻场人员驳回 8 超时未接单 6,7,8红色 其余都是绿色 + if ([_model.state integerValue] == 1 ) { + + self.statusLabel.text =@"待派单"; + self.statusLabel.textColor = UIColorHex(#16C716); + } + if ([_model.state integerValue] == 2 ) { + + self.statusLabel.text =@"已派单"; + self.statusLabel.textColor = UIColorHex(#16C716); + } + if ([_model.state integerValue] == 3 ) { + + self.statusLabel.text =@"已接单"; + self.statusLabel.textColor = UIColorHex(#16C716); + } + if ([_model.state integerValue] == 4 ) { + + self.statusLabel.text =@"已预约"; + self.statusLabel.textColor = UIColorHex(#16C716); + } + if ([_model.state integerValue] == 5 ) { + + self.statusLabel.text =@"已完成"; + self.statusLabel.textColor = UIColorHex(#16C716); + } + if ([_model.state integerValue] == 6 ) { + + self.statusLabel.text =@"被驳回"; + self.statusLabel.textColor = KRedColor; + + + } + if ([_model.state integerValue] == 7 ) { + + self.statusLabel.text =@"被驳回"; + self.statusLabel.textColor = KRedColor; + + + } + if ([_model.state integerValue] == 8 ) { + + self.statusLabel.text =@"未响应"; + self.statusLabel.textColor = KRedColor; + } +} +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJHistoryOrderTableViewCell.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJHistoryOrderTableViewCell.h new file mode 100644 index 0000000..81b99b0 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJHistoryOrderTableViewCell.h @@ -0,0 +1,18 @@ +// +// XJHistoryOrderTableViewCell.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/23. +// + +#import +#import "XJSOSDoctorDetailInfoModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface XJHistoryOrderTableViewCell : UITableViewCell + +@property (nonatomic, strong) XJSOSDoctorDetailHistory * historyModel; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJHistoryOrderTableViewCell.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJHistoryOrderTableViewCell.m new file mode 100644 index 0000000..35948e9 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJHistoryOrderTableViewCell.m @@ -0,0 +1,101 @@ +// +// XJHistoryOrderTableViewCell.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/23. +// + +#import "XJHistoryOrderTableViewCell.h" + +@implementation XJHistoryOrderTableViewCell + +- (void)awakeFromNib { + [super awakeFromNib]; + // Initialization code +} + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated { + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} + +- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { + + if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { + + [self createUI]; + } + + return self; +} + +- (void)createUI { + + + NSArray * leftInfoArray = @[@"派单时间",@"当前状态",@"派单业务",@"派单医院",@"驻场人员",@"转单时间"]; + UIView * linTwoView; + for (int j = 0; j < leftInfoArray.count; j ++) { + + UIView * orderView = [self orderInfoLabelViewWithFrame:CGRectMake(0, kRealValue(5) + kRealValue(25) * j, kScreenWidth - kRealValue(22), kRealValue(25)) withLeftText:leftInfoArray[j] withRightLabTag:300 + j]; + [self addSubview:orderView]; + if (j == leftInfoArray.count - 1) { + linTwoView = [[UIView alloc] initWithFrame:CGRectMake(0, orderView.bottom + kRealValue(8), kScreenWidth - kRealValue(22), 1)]; + linTwoView.backgroundColor = UIColorHex(#E0E0E0); + } + [self addSubview:linTwoView]; + } + +} + +- (UIView *)orderInfoLabelViewWithFrame:(CGRect)frame + withLeftText:(NSString *)leftText + withRightLabTag:(NSInteger)rightTag { + + UIView * labeView = [[UIView alloc] initWithFrame:frame]; + + UILabel * leftLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(14), 0, 80, kRealValue(25))]; + leftLabel.textColor = UIColorHex(#666666); + leftLabel.font = SYSTEMFONT(13); + leftLabel.textAlignment = NSTextAlignmentLeft; + leftLabel.text = leftText; + [labeView addSubview:leftLabel]; + + + UILabel * rightLabel = [[UILabel alloc] initWithFrame:CGRectMake(kScreenWidth - kRealValue(22) - 200 - kRealValue(14), 0, 200, kRealValue(25))]; + rightLabel.textColor = UIColorHex(#333333); + rightLabel.font = SYSTEMFONT(13); + rightLabel.textAlignment = NSTextAlignmentRight; + rightLabel.text = leftText; + rightLabel.tag = rightTag; + [labeView addSubview:rightLabel]; + + return labeView; + +} + +- (void)setHistoryModel:(XJSOSDoctorDetailHistory *)historyModel { + + _historyModel = historyModel; + + UILabel * timeLabel = [self viewWithTag:300]; + timeLabel.text = _historyModel.createTime; + + UILabel * currentStatusLabel = [self viewWithTag:301]; + currentStatusLabel.text = _historyModel.accept_dictText; + + UILabel * yewuLabel = [self viewWithTag:302]; + yewuLabel.text = _historyModel.stationBusiness_dictText; + + UILabel * hospitalLabel = [self viewWithTag:303]; + hospitalLabel.text = _historyModel.sendOrderHospital; + + UILabel * zhuchangLabel = [self viewWithTag:304]; + zhuchangLabel.text = _historyModel.stationUserName; + + UILabel * zhuangTimeLabel = [self viewWithTag:305]; + zhuangTimeLabel.text = _historyModel.transferOrderTime; +} + + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineHeardTableViewCell.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineHeardTableViewCell.h new file mode 100644 index 0000000..7ff4272 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineHeardTableViewCell.h @@ -0,0 +1,18 @@ +// +// XJMineHeardTableViewCell.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/26. +// + +#import +#import "XJMineCenterUserModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface XJMineHeardTableViewCell : UITableViewCell + +@property (nonatomic, strong) XJMineCenterUserModel * heardModel; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineHeardTableViewCell.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineHeardTableViewCell.m new file mode 100644 index 0000000..e0befd6 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineHeardTableViewCell.m @@ -0,0 +1,77 @@ +// +// XJMineHeardTableViewCell.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/26. +// + +#import "XJMineHeardTableViewCell.h" + +@interface XJMineHeardTableViewCell () + +@property (nonatomic, strong) UILabel * headLabel; + +@property (nonatomic, strong) UIImageView * heardImage ; + +@end + +@implementation XJMineHeardTableViewCell + +- (void)awakeFromNib { + [super awakeFromNib]; + // Initialization code +} + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated { + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} + +- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { + + if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { + + [self createUI]; + } + return self; +} + +- (void)createUI { + + self.headLabel = [[UILabel alloc] initWithFrame:CGRectMake(16, 24, 100, 14)]; + self.headLabel.textColor = UIColorHex(#666666); + self.headLabel.text = @"头像"; + self.headLabel.font = MEDIUMFONT(14); + self.headLabel.textAlignment = NSTextAlignmentLeft; + [self.contentView addSubview:self.headLabel]; + + self.heardImage = [[UIImageView alloc] initWithFrame:CGRectMake(kScreenWidth - 33 - 45, 8, 45, 45)]; + self.heardImage.layer.cornerRadius = 22.0; + self.heardImage.layer.masksToBounds = YES; + [self.contentView addSubview:self.heardImage]; +} + +- (void)setHeardModel:(XJMineCenterUserModel *)heardModel { + + _heardModel = heardModel; + + NSString * photo = [NSString stringWithFormat:@"%@%@",ResourceAddress,_heardModel.avatar]; + + NSString * str1 = @"\\"; + + photo = [ photo stringByReplacingOccurrencesOfString:str1 withString:@"/"]; + + NSString *encodedString3 = CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef) photo, (CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]", NULL, kCFStringEncodingUTF8)); + if ([_heardModel.sex integerValue] == 1) { //女[] + [self.heardImage sd_setImageWithURL:[NSURL URLWithString:encodedString3] placeholderImage:[UIImage imageNamed:@"heard_woman"]]; + + }else + { + [self.heardImage sd_setImageWithURL:[NSURL URLWithString:encodedString3] placeholderImage:[UIImage imageNamed:@"heard_man"]]; + + } +} + + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineUserInfoTable.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineUserInfoTable.h new file mode 100644 index 0000000..ed2479b --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineUserInfoTable.h @@ -0,0 +1,29 @@ +// +// XJMineUserInfoTable.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/26. +// + +#import +#import "XJMineCenterUserModel.h" +#import "XJEmergencyContactModel.h" + +NS_ASSUME_NONNULL_BEGIN + +typedef void(^addContactBlock)(); + +typedef void(^editContactMode)(XJEmergencyContactModel * model); + +@interface XJMineUserInfoTable : UITableView + +@property (nonatomic, strong) XJMineCenterUserModel * model; + +@property (nonatomic, copy) addContactBlock addBlcok; +@property (nonatomic, copy) editContactMode editBlcok; + +@property (nonatomic, strong) NSArray * dataArray; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineUserInfoTable.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineUserInfoTable.m new file mode 100644 index 0000000..4d56d36 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMineUserInfoTable.m @@ -0,0 +1,265 @@ +// +// XJMineUserInfoTable.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/7/26. +// + +#import "XJMineUserInfoTable.h" +#import "XJMineHeardTableViewCell.h" +#import "XJEmergencyContactModel.h" + +@interface XJMineUserInfoTable () + + +@end + +@implementation XJMineUserInfoTable + +- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style +{ + if (self = [super initWithFrame:frame style:style]) + { + [self createUI]; + } + return self; +} + + +- (void)createUI +{ + if ([[UIDevice currentDevice].systemVersion floatValue] >= 11) { + self.estimatedRowHeight = 0; + self.estimatedSectionFooterHeight = 0; + self.estimatedSectionHeaderHeight = 0; + self.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; + } + self.delegate = self; + self.backgroundColor = CViewBgColor; + self.dataSource = self; + self.separatorStyle = UITableViewCellSeparatorStyleSingleLine; + self.showsVerticalScrollIndicator = NO; +} + +- (void)setModel:(XJMineCenterUserModel *)model { + + _model = model; + + [self reloadData]; + +} + +- (void)setDataArray:(NSArray *)dataArray { + + _dataArray = dataArray; + [self reloadData]; + +} + + +#pragma mark - DataSource +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + if (section == 0) { + return 8; + } + return self.dataArray.count; +} + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return 2; + +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + + if (indexPath.section == 0) { + //头像 + if (indexPath.row == 0) { + + XJMineHeardTableViewCell * heardCell = [tableView dequeueReusableCellWithIdentifier:@"HEARDCELL"]; + + if (!heardCell) { + heardCell = [[XJMineHeardTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"HEARDCELL"]; + } + heardCell.backgroundColor = KWhiteColor; + heardCell.heardModel = self.model; + heardCell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + return heardCell; + + }else + { + NSArray * sectionOne = @[@"姓名",@"性别",@"工号",@"手机号",@"身份证号",@"人员类型",@"所属部门"]; + NSArray * sectionTwo ; + NSString * workNo = @"--"; + NSString * sex_dictText = @"--"; + NSString * realname = @"--"; + NSString * phone = @"--"; + NSString * idCard = @"--"; + NSString * personType_dictText = @"--"; + NSString * orgCode = @"--"; + + if (!ValidStr(self.model.workNo)) { + workNo = [NSString stringWithFormat:@"%@",self.model.workNo]; + + } + if (!ValidStr(self.model.realname)) { + realname = [NSString stringWithFormat:@"%@",self.model.realname]; + + } + if (!ValidStr(self.model.sex_dictText)) { + sex_dictText = [NSString stringWithFormat:@"%@",self.model.sex_dictText]; + + } + if (!ValidStr(self.model.phone)) { + phone = [NSString stringWithFormat:@"%@",self.model.phone]; + + } + if (!ValidStr(self.model.idCard)) { + idCard = [NSString stringWithFormat:@"%@",self.model.idCard]; + + } + if (!ValidStr(self.model.personType_dictText)) { + personType_dictText = [NSString stringWithFormat:@"%@",self.model.personType_dictText]; + + } + if (!ValidStr(self.model.orgCode)) { + orgCode = [NSString stringWithFormat:@"%@",self.model.orgCode]; + + } + sectionTwo = @[realname,sex_dictText,workNo,phone,idCard,personType_dictText,orgCode]; + + static NSString * cellID = @"cellID"; + + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID]; + + if (!cell) { + + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleValue1 reuseIdentifier:cellID]; + } + cell.selectionStyle = UITableViewCellSelectionStyleNone; + cell.textLabel.font = SYSTEMFONT(14); + if (self.model) { + cell.detailTextLabel.text = sectionTwo[indexPath.row - 1]; + } + cell.textLabel.text = sectionOne[indexPath.row - 1]; + cell.textLabel.textColor = UIColorHex(#666666); + cell.textLabel.font = SYSTEMFONT(14); + cell.detailTextLabel.font = SYSTEMFONT(14); + cell.detailTextLabel.textColor = UIColorHex(#333333); + cell.backgroundColor = KWhiteColor; + return cell; + + } + } + if (indexPath.section == 1) { + + XJEmergencyContactModel * model = self.dataArray[indexPath.row]; + + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CONNETCELL"]; + + if (!cell) { + + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CONNETCELL"]; + } + cell.selectionStyle = UITableViewCellSelectionStyleNone; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + cell.textLabel.font = SYSTEMFONT(14); + cell.textLabel.text = [NSString stringWithFormat:@"%@-%@",model.name,model.phone]; + return cell; + + + } + + + return UITableViewCell.new; + +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath { + + if (indexPath.section == 0) { + if (indexPath.row == 0) { + return 62; + }else + { + return 45; + } + } + return 46; + +} + +- (CGFloat )tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section +{ + if (section == 1) { + return 50; + } + return CGFLOAT_MIN; +} + + +- (CGFloat )tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section +{ + return CGFLOAT_MIN; +} + + +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + + if (section == 1) { + + UIView * sectionHeardView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 50)]; + sectionHeardView.backgroundColor = CViewBgColor; + + UIView * labView = [[UIView alloc] initWithFrame:CGRectMake(0, 10, kScreenWidth, 40)]; + labView.backgroundColor = KWhiteColor; + [sectionHeardView addSubview:labView]; + + UILabel * heardLabel = [[UILabel alloc] initWithFrame:CGRectMake(16, 0, 200, 40)]; + heardLabel.text = @"紧急联系人"; + heardLabel.textColor = UIColorHex(#666666); + heardLabel.font = SYSTEMFONT(14); + + heardLabel.textAlignment = NSTextAlignmentLeft; + [labView addSubview:heardLabel]; + + UIButton * addBtn = [[UIButton alloc] initWithFrame:CGRectMake(kScreenWidth - 18 - 40, 12, 40, 13)]; + [addBtn setTitle:@"新增" forState:UIControlStateNormal]; + addBtn.titleLabel.textAlignment = NSTextAlignmentRight; + [addBtn setTitleColor:UIColorHex(#3390FF) forState:UIControlStateNormal]; + addBtn.titleLabel.font = SYSTEMFONT(13); + [addBtn addTarget:self action:@selector(addEmergencyContact) forControlEvents:UIControlEventTouchUpInside]; + [labView addSubview:addBtn]; + + return sectionHeardView; + } + + return UIView.new; + +} + +- (void)addEmergencyContact { + + if (self.addBlcok) { + self.addBlcok(); + } +} + + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + + if (indexPath.section == 1) { + + XJEmergencyContactModel * model = self.dataArray[indexPath.row]; + + self.editBlcok(model); + } + + + +} + + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterHeardView.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterHeardView.h new file mode 100644 index 0000000..17ea9ff --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterHeardView.h @@ -0,0 +1,50 @@ +// +// XJMyCenterHeardView.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/4/23. +// + +#import +#import "XJMineCenterUserModel.h" + +NS_ASSUME_NONNULL_BEGIN + +@protocol myCenterHeardToolsDelegate + +/* + 进行中 + */ +- (void)myCenterInProgress; +/* + 待评价 + */ +- (void)waitEvaluation; +/* + 已评价 + */ +- (void)completeEvaluation; +/* + 历史 + */ +- (void)myHistoryAction; + +//查看全部 +- (void)lookAllQuestion; + +- (void)heardImageOnClick; + +@end + + +@interface XJMyCenterHeardView : UIView + +@property (nonatomic, weak)id heardDelegate; + +@property (nonatomic, assign) NSInteger number; + +@property (nonatomic, strong) XJMineCenterUserModel * heardModel; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterHeardView.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterHeardView.m new file mode 100644 index 0000000..e1e3f9b --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterHeardView.m @@ -0,0 +1,203 @@ +// +// XJMyCenterHeardView.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/4/23. +// + +#import "XJMyCenterHeardView.h" + +@interface XJMyCenterHeardView () + +@property (nonatomic, strong) UIImageView * heardImage; + +@property (nonatomic, strong) UILabel * nameLabel; + +@property (nonatomic, strong) UILabel * numberLabel; + +@property (nonatomic, strong) YYLabel * lookMoreLabel; + +@end + + + +@implementation XJMyCenterHeardView + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code +} +*/ + +- (instancetype)initWithFrame:(CGRect)frame { + + if (self = [super initWithFrame:frame]) { + + [self createUI]; + } + + return self; +} + +- (void)createUI { + + UIImageView * heardImg = [[UIImageView alloc] initWithFrame:CGRectMake(kRealValue(26), - kRealValue(16) , 52, 52)]; + self.heardImage = heardImg; + heardImg.layer.cornerRadius = 26; + heardImg.layer.masksToBounds = true; + heardImg.userInteractionEnabled = true; + heardImg.image = [UIImage imageNamed:@"heard_woman"] ; + UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(heardImageAction)]; + [heardImg addGestureRecognizer:tap]; + [self addSubview:heardImg]; + + self.nameLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.heardImage.right + kRealValue(8), kRealValue(10), self.width - self.heardImage.right - kRealValue(10), 15)]; + self.nameLabel.textColor = CFontColor1; + self.nameLabel.font = SYSTEMFONT(15); + self.nameLabel.textAlignment = NSTextAlignmentLeft; + self.nameLabel.text = @"未登录"; + [self addSubview:self.nameLabel]; + + self.lookMoreLabel = [[YYLabel alloc] initWithFrame:CGRectMake(kScreenWidth - kRealValue(100), kRealValue(10), kRealValue(60), 15)]; + self.lookMoreLabel.textColor = CFontColor1; + self.lookMoreLabel.font = SYSTEMFONT(13); + self.lookMoreLabel.textAlignment = NSTextAlignmentRight; + self.lookMoreLabel.text = @"查看更多>"; + MJWeakSelf + [self.lookMoreLabel setTextTapAction:^(UIView * _Nonnull containerView, NSAttributedString * _Nonnull text, NSRange range, CGRect rect) { + if ([weakSelf.heardDelegate respondsToSelector:@selector(lookAllQuestion)]) { + [weakSelf.heardDelegate lookAllQuestion]; + } + }]; + [self addSubview:self.lookMoreLabel]; + + + NSArray * array = @[@[@"进行中",@"HeardProgress_icon"],@[@"待评价",@"waitEveal_icon"],@[@"已评价",@"alreadyEveal"],@[@"历史",@"HeardHistory_icon"]]; + + CGFloat w = 58 ; + + for (int i = 0 ; i < 4; i++) { + + UIView * heardView = [[UIView alloc] initWithFrame:CGRectMake(i * (kScreenWidth - kRealValue(30))/4, self.heardImage.bottom + kRealValue(18),(kScreenWidth - kRealValue(30))/4, self.height - self.heardImage.bottom - kRealValue(18))]; + [self addSubview:heardView]; + + UIImageView * toolsImg = [[UIImageView alloc] initWithFrame:CGRectMake((heardView.width / 2 - 29 ) , kRealValue(18), w, w)]; + toolsImg.image = [UIImage imageNamed:array[i][1]]; + toolsImg.userInteractionEnabled = true; + + if (i == 0) + { + UILabel * numLabel = [[UILabel alloc] initWithFrame:CGRectMake(toolsImg.width - 16, -2, 18, 18)]; + numLabel.text = @"1"; + numLabel.textColor = KWhiteColor; + numLabel.font = SYSTEMFONT(13); + numLabel.textAlignment = NSTextAlignmentCenter; + numLabel.backgroundColor = KRedColor; + numLabel.layer.borderColor = UIColor.whiteColor.CGColor; + numLabel.layer.borderWidth = 1.0f; + numLabel.layer.cornerRadius = 9.0; + numLabel.layer.masksToBounds = YES; + self.numberLabel = numLabel; + numLabel.hidden = YES; + [toolsImg addSubview:numLabel]; + } + [heardView addSubview:toolsImg]; + + UILabel * toolsLabel = [[UILabel alloc] initWithFrame:CGRectMake(0 ,toolsImg.bottom + kRealValue(5), heardView.width, 15)]; + toolsLabel.textColor = CFontColor1; + toolsLabel.font = SYSTEMFONT(13); + toolsLabel.text = array[i][0]; + toolsLabel.textAlignment = NSTextAlignmentCenter; + [heardView addSubview:toolsLabel]; + + UIButton * heardBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, heardView.width, 80)]; + [heardBtn addTarget:self action:@selector(heardToolsAction:) forControlEvents:UIControlEventTouchUpInside]; + heardBtn.tag = 100 + i; + [heardView addSubview:heardBtn]; + + + } + + +} + +- (void)heardToolsAction:(UIButton *)toolsBtn { + + + + if (toolsBtn.tag == 100) { + + if ([self.heardDelegate respondsToSelector:@selector(myCenterInProgress)]) { + [self.heardDelegate myCenterInProgress]; + } + } + if (toolsBtn.tag == 101) { + + if ([self.heardDelegate respondsToSelector:@selector(waitEvaluation)]) { + [self.heardDelegate waitEvaluation]; + } + } + if (toolsBtn.tag == 102) { + + if ([self.heardDelegate respondsToSelector:@selector(completeEvaluation)]) { + [self.heardDelegate completeEvaluation]; + } + } + if (toolsBtn.tag == 103) { + + if ([self.heardDelegate respondsToSelector:@selector(myHistoryAction)]) { + [self.heardDelegate myHistoryAction]; + } + } + + +} + +- (void)setNumber:(NSInteger )number { + _number = number; + + if (number == 0) { + self.numberLabel.hidden = YES; + }else + { + self.numberLabel.hidden = false; + self.numberLabel.text = [NSString stringWithFormat:@"%ld",number]; + } + +} + +- (void)setHeardModel:(XJMineCenterUserModel *)heardModel { + + _heardModel = heardModel; + + NSString * photo = [NSString stringWithFormat:@"%@%@",ResourceAddress,_heardModel.avatar]; + NSString * str1 = @"\\"; + + photo = [ photo stringByReplacingOccurrencesOfString:str1 withString:@"/"]; + + NSString *encodedString3 = CFBridgingRelease(CFURLCreateStringByAddingPercentEscapes(kCFAllocatorDefault, (CFStringRef) photo, (CFStringRef)@"!$&'()*+,-./:;=?@_~%#[]", NULL, kCFStringEncodingUTF8)); + + self.nameLabel.text = _heardModel.realname; + + if ([_heardModel.sex integerValue] == 1) { //女[] + [self.heardImage sd_setImageWithURL:[NSURL URLWithString:encodedString3] placeholderImage:[UIImage imageNamed:@"heard_woman"]]; + + }else + { + [self.heardImage sd_setImageWithURL:[NSURL URLWithString:encodedString3] placeholderImage:[UIImage imageNamed:@"heard_man"]]; + + } + + +} + +- (void)heardImageAction { + + if ([self.heardDelegate respondsToSelector:@selector(heardImageOnClick)]) { + [self.heardDelegate heardImageOnClick]; + } + +} +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterTableView.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterTableView.h new file mode 100644 index 0000000..9520636 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterTableView.h @@ -0,0 +1,33 @@ +// +// XJMyCenterTableView.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/4/23. +// + +#import +#import "XJMyCenterHeardView.h" +#import "XJMineCenterUserModel.h" + +NS_ASSUME_NONNULL_BEGIN +@protocol cenerCellListDelegate + +- (void)cellListClick:(NSInteger)cellIndex; + +@end + +@interface XJMyCenterTableView : UITableView + +@property (nonatomic, strong) NSArray * dataArray; + +@property (nonatomic, weak)id heardDelegate; + +@property (nonatomic, weak)id cellDelegate; + +@property (nonatomic, assign) NSInteger number; + +@property (nonatomic, strong) XJMineCenterUserModel * userModel; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterTableView.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterTableView.m new file mode 100644 index 0000000..f069ab0 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJMyCenterTableView.m @@ -0,0 +1,264 @@ +// +// XJMyCenterTableView.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/4/23. +// + +#import "XJMyCenterTableView.h" +#import "XJMyCenterHeardView.h" + +@interface XJMyCenterTableView () + +@property (nonatomic, strong) XJMyCenterHeardView * heardV; + +@end + +@implementation XJMyCenterTableView + +- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style +{ + if (self = [super initWithFrame:frame style:style]) + { + [self createUI]; + } + return self; +} + + +- (void)createUI +{ + if (@available(iOS 11.0, *)) { + self.estimatedRowHeight = 0; + self.estimatedSectionFooterHeight = 0; + self.estimatedSectionHeaderHeight = 0; + self.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; + } + self.delegate = self; + self.backgroundColor = KClearColor; + self.dataSource = self; + self.tableHeaderView = [self createHeardView]; + self.separatorStyle = UITableViewCellSeparatorStyleNone; + self.showsVerticalScrollIndicator = NO; +} + +- (void)setDataArray:(NSArray *)dataArray +{ + _dataArray = dataArray; + [self reloadData]; +} + +- (void)setHeardDelegate:(id)heardDelegate { + + _heardDelegate = heardDelegate; + + self.heardV.heardDelegate = _heardDelegate; +} + +- (void)setUserModel:(XJMineCenterUserModel *)userModel { + + _userModel = userModel; + + self.heardV.heardModel = _userModel; + +} + + +- (void)setNumber:(NSInteger)number { + _number = number; + + self.heardV.number = _number; +} + +- (UIView *)createHeardView +{ + XJMyCenterHeardView * heardV = [[XJMyCenterHeardView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(150))]; + heardV.layer.cornerRadius = 10; + heardV.backgroundColor = KWhiteColor; + heardV.heardDelegate = self.heardDelegate; + [HQCommonUtils addShadowToView:heardV]; + self.heardV = heardV; + return heardV; +} + + + + +#pragma mark - DataSource +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + + return 2; +} + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return 1; + +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + + //,@[@"我的关注",@"myLove_icon"] + NSArray *sectionOne = @[ + @[@"咨询人管理", @"relatives_icon"], + @[@"应急就医", @"medicalReson_icon"] + ]; + + static NSString * cellID = @"cellID"; + + UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellID]; + + if (!cell) { + + cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:cellID]; + } + cell.selectionStyle = UITableViewCellSelectionStyleNone; + cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator; + cell.textLabel.font = SYSTEMFONT(14); + cell.textLabel.text = sectionOne[indexPath.row][0]; +// cell.imageView.image = [UIImage imageNamed: sectionOne[indexPath.row][1]]; + // 安全判断 + if (indexPath.row < sectionOne.count) { + NSArray *item = sectionOne[indexPath.row]; + if (item.count >= 2) { + cell.textLabel.text = item[0]; + cell.imageView.image = [UIImage imageNamed:item[1]]; + } + } else { + cell.textLabel.text = @"--"; + cell.imageView.image = nil; + } + return cell; + +} + + + +- (CGFloat )tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section +{ + return kRealValue(10); +} + + +- (CGFloat )tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section +{ + return CGFLOAT_MIN; +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath +{ + + return kRealValue(52); +} + +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + + UIView * sectionHeardView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(10))]; + sectionHeardView.backgroundColor = KClearColor; + return sectionHeardView; + +} + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + + + + if ([self.cellDelegate respondsToSelector:@selector(cellListClick:)] ) { + + [self.cellDelegate cellListClick:indexPath.row]; + } + + + +} + +- (void)tableView:(UITableView*)tableView willDisplayCell:(UITableViewCell*)cell forRowAtIndexPath:(NSIndexPath*)indexPath + +{ + + if([cell respondsToSelector:@selector(tintColor)]) { + + if(tableView ==self) { + + CGFloat cornerRadius =5.f; + + cell.backgroundColor=UIColor.clearColor; + + CAShapeLayer * layer = [[CAShapeLayer alloc]init]; + + CGMutablePathRef pathRef = CGPathCreateMutable(); + + CGRect bounds = CGRectInset(cell.bounds,0,0); + + BOOL addLine =NO; + + if(indexPath.row==0&& indexPath.row== [tableView numberOfRowsInSection:indexPath.section]-1) { + + CGPathAddRoundedRect(pathRef,nil, bounds, cornerRadius, cornerRadius); + + }else if(indexPath.row==0) { + + CGPathMoveToPoint(pathRef,nil,CGRectGetMinX(bounds),CGRectGetMaxY(bounds)); + + CGPathAddArcToPoint(pathRef,nil,CGRectGetMinX(bounds),CGRectGetMinY(bounds),CGRectGetMidX(bounds),CGRectGetMinY(bounds), cornerRadius); + + CGPathAddArcToPoint(pathRef,nil,CGRectGetMaxX(bounds),CGRectGetMinY(bounds),CGRectGetMaxX(bounds),CGRectGetMidY(bounds), cornerRadius); + + CGPathAddLineToPoint(pathRef,nil,CGRectGetMaxX(bounds),CGRectGetMaxY(bounds)); + + addLine =YES; + + }else if(indexPath.row== [tableView numberOfRowsInSection:indexPath.section]-1) { + + CGPathMoveToPoint(pathRef,nil,CGRectGetMinX(bounds),CGRectGetMinY(bounds)); + + CGPathAddArcToPoint(pathRef,nil,CGRectGetMinX(bounds),CGRectGetMaxY(bounds),CGRectGetMidX(bounds),CGRectGetMaxY(bounds), cornerRadius); + + CGPathAddArcToPoint(pathRef,nil,CGRectGetMaxX(bounds),CGRectGetMaxY(bounds),CGRectGetMaxX(bounds),CGRectGetMidY(bounds), cornerRadius); + + CGPathAddLineToPoint(pathRef,nil,CGRectGetMaxX(bounds),CGRectGetMinY(bounds)); + + }else{ + + CGPathAddRect(pathRef,nil, bounds); + + addLine =YES; + + } + + layer.path= pathRef; + + CFRelease(pathRef); + + layer.fillColor= [UIColor colorWithWhite:1.f alpha:0.8f].CGColor; + + if(addLine ==YES) { + + CALayer* lineLayer = [[CALayer alloc]init]; + + CGFloat lineHeight = (1.f/ [UIScreen mainScreen].scale); + + lineLayer.frame=CGRectMake(CGRectGetMinX(bounds)+10, bounds.size.height-lineHeight, bounds.size.width-10, lineHeight); + + lineLayer.backgroundColor= tableView.separatorColor.CGColor; + + [layer addSublayer:lineLayer]; + + } + + UIView*testView = [[UIView alloc]initWithFrame:bounds]; + + [testView.layer insertSublayer:layer atIndex:0]; + + testView.backgroundColor=UIColor.clearColor; + + cell.backgroundView= testView; + + } + + } + +} + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDetailTableHeardView.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDetailTableHeardView.h new file mode 100644 index 0000000..06d6e6d --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDetailTableHeardView.h @@ -0,0 +1,22 @@ +// +// XJSOSDetailTableHeardView.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import +#import "XJSOSDoctorDetailInfoModel.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJSOSDetailTableHeardView : UIView + +@property (nonatomic, assign) CGFloat heradHeight; + +@property (nonatomic, strong) XJSOSDoctorDetailInfoModel * heardModel; +@property (nonatomic, strong) XJSOSDoctorDetailHistory * historyModel; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDetailTableHeardView.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDetailTableHeardView.m new file mode 100644 index 0000000..907e1fd --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDetailTableHeardView.m @@ -0,0 +1,207 @@ +// +// XJSOSDetailTableHeardView.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import "XJSOSDetailTableHeardView.h" + + +@interface XJSOSDetailTableHeardView () + +@property (nonatomic, strong) UILabel * orderStatusLabel; +@property (nonatomic, strong) UILabel * sendLabel; +@property (nonatomic, strong) UILabel * helpLabel; +@property (nonatomic, strong) UILabel * orderNumberLabel; +@property (nonatomic, strong) UILabel * helpTimeLabel; +@property (nonatomic, strong) UILabel * sosTimeLabel; +@property (nonatomic, strong) UILabel * peopleLabel; +@property (nonatomic, strong) UILabel * orderTimeLabel; +@property (nonatomic, strong) UILabel * statusLabel; +@property (nonatomic, strong) UILabel * yewuLabel; +@property (nonatomic, strong) UILabel * hospitalLabel; +@property (nonatomic, strong) UILabel * zhuchangLabel; +@property (nonatomic, strong) UILabel * jiedanLabel; +@property (nonatomic, strong) UILabel * infoLabel; +@property (nonatomic, strong) UIView * lineView; +@property (nonatomic, strong) UIView * lineTwoView; + +@end + +@implementation XJSOSDetailTableHeardView + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code +} +*/ +- (instancetype)initWithFrame:(CGRect)frame { + + if (self = [super initWithFrame:frame]) { + self.backgroundColor = KWhiteColor; + [self createUI]; + } + return self; +} + +- (void)createUI { + + + UILabel * titLabel= [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(14), kRealValue(24), 100, 14)]; + titLabel.text = @"工单信息"; + titLabel.textAlignment = NSTextAlignmentLeft; + titLabel.font =BOLDSYSTEMFONT(14); + titLabel.textColor = UIColorHex(#333333); + [self addSubview:titLabel]; + NSArray * leftArray = @[@"工单状态",@"发起人",@"求助人",@"工单号",@"求助时间",@"就助时间"]; + UIView * linView; + for (int i = 0; i < leftArray.count; i ++) { + + UIView * infoView = [self orderInfoLabelViewWithFrame:CGRectMake(0, titLabel.bottom + kRealValue(10)+ kRealValue(27) * i, self.width, kRealValue(27)) withLeftText:leftArray[i] withRightLabTag:100 + i]; + [self addSubview:infoView]; + if (i == leftArray.count - 1) { + linView = [[UIView alloc] initWithFrame:CGRectMake(0, infoView.bottom + kRealValue(8), self.width, 1)]; + linView.backgroundColor = UIColorHex(#E0E0E0); + self.lineView = linView; + } + [self addSubview:linView]; + } + + UILabel * infoLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(14), linView.bottom + kRealValue(21), 100, 14)]; + infoLabel.text = @"派单信息"; + infoLabel.textAlignment = NSTextAlignmentLeft; + infoLabel.font =BOLDSYSTEMFONT(14); + infoLabel.textColor = UIColorHex(#333333); + self.infoLabel = infoLabel; + [self addSubview:infoLabel]; + + NSArray * leftInfoArray = @[@"操作人员",@"派单时间",@"当前状态",@"派单业务",@"派单医院",@"驻场人员",@"接单时间"]; + UIView * linTwoView; + for (int j = 0; j < leftInfoArray.count; j ++) { + + UIView * orderView = [self orderInfoLabelViewWithFrame:CGRectMake(0, infoLabel.bottom + kRealValue(10) + kRealValue(25) * j, self.width, kRealValue(25)) withLeftText:leftInfoArray[j] withRightLabTag:200 + j]; + orderView.tag = 500 + j; + [self addSubview:orderView]; + + if (j == leftInfoArray.count - 1) { + linTwoView = [[UIView alloc] initWithFrame:CGRectMake(0, orderView.bottom + kRealValue(8), self.width, 1)]; + linTwoView.backgroundColor = UIColorHex(#E0E0E0); + self.lineTwoView = linTwoView; + } + + [self addSubview:linTwoView]; + } + +} + + +- (UIView *)orderInfoLabelViewWithFrame:(CGRect)frame + withLeftText:(NSString *)leftText + withRightLabTag:(NSInteger)rightTag { + + UIView * labeView = [[UIView alloc] initWithFrame:frame]; + + UILabel * leftLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(14), 0, 80, kRealValue(25))]; + leftLabel.textColor = UIColorHex(#666666); + leftLabel.font = SYSTEMFONT(13); + leftLabel.textAlignment = NSTextAlignmentLeft; + leftLabel.text = leftText; + [labeView addSubview:leftLabel]; + + + UILabel * rightLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.width - 200 - kRealValue(14), 0, 200, kRealValue(25))]; + rightLabel.textColor = UIColorHex(#333333); + rightLabel.font = SYSTEMFONT(13); + rightLabel.textAlignment = NSTextAlignmentRight; + rightLabel.text = leftText; + rightLabel.tag = rightTag; + [labeView addSubview:rightLabel]; + + return labeView; + +} + +- (void)setHeardModel:(XJSOSDoctorDetailInfoModel *)heardModel { + + _heardModel = heardModel; + + self.statusLabel = [self viewWithTag:100]; + self.statusLabel.text = _heardModel.orderStatus_dictText; + + self.sendLabel = [self viewWithTag:101]; + self.sendLabel.text = _heardModel.initiatorUserName; + + self.helpLabel = [self viewWithTag:102]; + self.helpLabel.text = _heardModel.salvageUserName; + + self.orderNumberLabel = [self viewWithTag:103]; + self.orderNumberLabel.text = _heardModel.detail_id; + + self.helpTimeLabel = [self viewWithTag:104]; + self.helpTimeLabel.text = _heardModel.createTime; + + self.sosTimeLabel = [self viewWithTag:105]; + self.sosTimeLabel.text = _heardModel.majorResponseTime; +// + + self.peopleLabel = [self viewWithTag:200]; + self.peopleLabel.text = _heardModel.operationUserName; + + +} + +- (void)setHistoryModel:(XJSOSDoctorDetailHistory *)historyModel { + + _historyModel = historyModel; + + UIView * oneView = [self viewWithTag:500]; + UIView * twoView = [self viewWithTag:501]; + UIView * threeView = [self viewWithTag:502]; + UIView * fourView = [self viewWithTag:503]; + UIView * fiveView = [self viewWithTag:504]; + UIView * sixView = [self viewWithTag:505]; + UIView * sevView = [self viewWithTag:506]; + + self.orderTimeLabel = [self viewWithTag:201]; + self.statusLabel = [self viewWithTag:202]; + self.yewuLabel = [self viewWithTag:203]; + self.hospitalLabel = [self viewWithTag:204]; + self.zhuchangLabel = [self viewWithTag:205]; + self.jiedanLabel = [self viewWithTag:206]; + + + + if (_historyModel) { + self.orderTimeLabel.text = _historyModel.createTime; + self.statusLabel.text = _historyModel.accept_dictText; + self.yewuLabel.text = _historyModel.stationBusiness_dictText; + self.hospitalLabel.text = _historyModel.sendOrderHospital; + self.zhuchangLabel.text = _historyModel.stationUserName; + self.jiedanLabel.text = _historyModel.transferOrderTime; + self.lineTwoView.hidden = false; + self.heradHeight = sevView.bottom; + }else + { + [oneView removeFromSuperview]; + [twoView removeFromSuperview]; + [threeView removeFromSuperview]; + [fourView removeFromSuperview]; + [fiveView removeFromSuperview]; + [sixView removeFromSuperview]; + [sevView removeFromSuperview]; + + self.infoLabel.hidden = true; + self.orderTimeLabel.hidden = true; + self.statusLabel.hidden = true; + self.yewuLabel.hidden = true; + self.hospitalLabel.hidden = true; + self.zhuchangLabel.hidden = true; + self.lineTwoView.hidden = true; + self.heradHeight = self.lineView.bottom; + } + +} +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorDetailTable.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorDetailTable.h new file mode 100644 index 0000000..87d740d --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorDetailTable.h @@ -0,0 +1,18 @@ +// +// XJSOSDoctorDetailTable.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/23. +// + +#import +#import "XJSOSDoctorDetailInfoModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface XJSOSDoctorDetailTable : UITableView + +@property (nonatomic, strong) XJSOSDoctorDetailInfoModel * model; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorDetailTable.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorDetailTable.m new file mode 100644 index 0000000..95ab802 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorDetailTable.m @@ -0,0 +1,181 @@ +// +// XJSOSDoctorDetailTable.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/23. +// + +#import "XJSOSDoctorDetailTable.h" +#import "XJSOSDetailTableHeardView.h" +#import "XJHistoryOrderTableViewCell.h" + +@interface XJSOSDoctorDetailTable () + +@property (nonatomic, strong) XJSOSDetailTableHeardView * heardView; + +@end + + +@implementation XJSOSDoctorDetailTable + +- (XJSOSDetailTableHeardView *)heardView { + + if (!_heardView) { + + _heardView = [[XJSOSDetailTableHeardView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth - kRealValue(22), 190)]; + + _heardView.backgroundColor = KClearColor; + + } + return _heardView; +} + +- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style { + + if (self = [super initWithFrame:frame style:style]) { + + [self createUI]; + } + + return self; +} + +- (void)createUI { + + if (@available(iOS 11.0, *)) { + self.estimatedRowHeight = 0; + self.estimatedSectionFooterHeight = 0; + self.estimatedSectionHeaderHeight = 0; + self.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; + } + self.delegate = self; + self.dataSource = self; + self.backgroundColor = UIColor.clearColor; + self.showsVerticalScrollIndicator = false; + self.showsHorizontalScrollIndicator = false; + self.separatorStyle = UITableViewCellSeparatorStyleNone; + self.estimatedRowHeight = 60; + self.rowHeight = UITableViewAutomaticDimension; + self.tableHeaderView = self.heardView; + self.tableHeaderView.height = self.heardView.heradHeight; + +} + + +- (void)setModel:(XJSOSDoctorDetailInfoModel *)model { + + _model = model; + if (_model.orderSendRecordList.count >= 1) { + + self.heardView.historyModel = self.model.orderSendRecordList[0]; + }else + { + self.heardView.historyModel = nil; + } + self.heardView.heardModel = self.model; + self.heardView.height = self.heardView.heradHeight; + [self reloadData]; + +} +#pragma mark - tableview的代理方法 +//组数 +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + if (_model.orderSendRecordList.count >= 1) { + + return 1; + }else + { + return 0; + } +} +//每组多少行 +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + if (_model.orderSendRecordList.count >= 1) { + + return self.model.orderSendRecordList.count - 1; + }else + { + return 0; + } + +} +//注册cell +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + NSMutableArray * dataArray = [[NSMutableArray alloc] initWithArray:self.model.orderSendRecordList]; + [dataArray removeFirstObject]; + + XJSOSDoctorDetailHistory * hisModel = dataArray[indexPath.row]; + XJHistoryOrderTableViewCell * cell = [self dequeueReusableCellWithIdentifier:@"STATUSCELL"]; + if (!cell) { + + cell = [[XJHistoryOrderTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"STATUSCELL"]; + } + cell.historyModel= hisModel; + cell.backgroundColor = KWhiteColor; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + return cell; + + + +} +//每行高度 +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath +{ + return kRealValue(180); +} + +- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { + + return kRealValue(46); +} + +- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { + + return CGFLOAT_MIN; +} + +//组头 --- 组尾 + +- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { + + + return [UIView new]; + +} + + +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + + + if (_model.orderSendRecordList.count >= 2) { + + + + UIView * heardView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(46))]; + heardView.backgroundColor = KWhiteColor; + UILabel * historyLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(14), kRealValue(23), 100, 14)]; + historyLabel.text = @"历史派单"; + historyLabel.textAlignment = NSTextAlignmentLeft; + historyLabel.font =BOLDSYSTEMFONT(14); + historyLabel.textColor = UIColorHex(#333333); + [heardView addSubview:historyLabel]; + return heardView; + } + return UIView.new; + + +} +////cell点击事件 +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + +} + + +@end + + + diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableView.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableView.h new file mode 100644 index 0000000..49f09c3 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableView.h @@ -0,0 +1,21 @@ +// +// XJSOSDoctorTableView.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import + +NS_ASSUME_NONNULL_BEGIN +typedef void(^sosDoctorListActionBlock)(NSString * sessionId , NSString * hospitalId); + +@interface XJSOSDoctorTableView : UITableView + +@property (nonatomic, strong) NSArray * dataArray; + +@property (nonatomic, copy) sosDoctorListActionBlock recordBlock; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableView.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableView.m new file mode 100644 index 0000000..efe4664 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableView.m @@ -0,0 +1,137 @@ +// +// XJSOSDoctorTableView.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import "XJSOSDoctorTableView.h" +#import "XJSOSDoctorTableViewCell.h" + +@interface XJSOSDoctorTableView () + + +@end + + +@implementation XJSOSDoctorTableView + + +- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style { + + if (self = [super initWithFrame:frame style:style]) { + + [self createUI]; + } + + return self; +} + +- (void)createUI { + + if (@available(iOS 11.0, *)) { + self.estimatedRowHeight = 0; + self.estimatedSectionFooterHeight = 0; + self.estimatedSectionHeaderHeight = 0; + self.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; + } + self.delegate = self; + self.dataSource = self; + self.backgroundColor = UIColor.clearColor; + self.showsVerticalScrollIndicator = false; + self.showsHorizontalScrollIndicator = false; + self.separatorStyle = UITableViewCellSeparatorStyleNone; + self.estimatedRowHeight = 60; + self.rowHeight = UITableViewAutomaticDimension; + +} + + +- (void)setDataArray:(NSArray *)dataArray { + + _dataArray = dataArray; + + [self reloadData]; +} + +#pragma mark - tableview的代理方法 +//组数 +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return self.dataArray.count; +} +//每组多少行 +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + return 1; +} +//注册cell +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath +{ + + XJSOSDoctorTableViewCell * cell = [self dequeueReusableCellWithIdentifier:@"STATUSCELL"]; + if (!cell) { + + cell = [[XJSOSDoctorTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"STATUSCELL"]; + } + cell.model= self.dataArray[indexPath.section]; + cell.backgroundColor = KWhiteColor; + cell.layer.cornerRadius = 10; + cell.layer.masksToBounds = YES; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + return cell; + + + +} +//每行高度 +//- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath +//{ +// return kRealValue(77); +//} + +- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section { + + return kRealValue(10); +} + +- (CGFloat)tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section { + + return CGFLOAT_MIN; +} + +//组头 --- 组尾 + +- (UIView *)tableView:(UITableView *)tableView viewForFooterInSection:(NSInteger)section { + + + return [UIView new]; + +} + + +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + + + + UIView * footerView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(10))]; + + + return footerView; + +} +////cell点击事件 +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + XJSOSDoctorRecordListModel * model= self.dataArray[indexPath.section]; + + if (self.recordBlock) { + self.recordBlock(model.sos_id,model.sos_id); + } +} + + +@end + + + diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableViewCell.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableViewCell.h new file mode 100644 index 0000000..abde276 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableViewCell.h @@ -0,0 +1,18 @@ +// +// XJSOSDoctorTableViewCell.h +// EscortProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import +#import "XJSOSDoctorModel.h" +NS_ASSUME_NONNULL_BEGIN + +@interface XJSOSDoctorTableViewCell : UITableViewCell + +@property (nonatomic, strong) XJSOSDoctorRecordListModel * model; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableViewCell.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableViewCell.m new file mode 100644 index 0000000..43bdf1e --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSOSDoctorTableViewCell.m @@ -0,0 +1,149 @@ +// +// XJSOSDoctorTableViewCell.m +// EscortProject +// +// Created by 仁康信息 on 2023/8/22. +// + +#import "XJSOSDoctorTableViewCell.h" + +@interface XJSOSDoctorTableViewCell () + +@property (nonatomic, strong) UILabel * nameLabel; + +@property (nonatomic, strong) UILabel * timeLabel; + +@property (nonatomic, strong) YYLabel * lookDetail; + +@property (nonatomic, strong) UILabel * statusLabel; + +@property (nonatomic, strong) UILabel * hospitalLabel; + + + +@end + + +@implementation XJSOSDoctorTableViewCell + +- (void)awakeFromNib { + [super awakeFromNib]; + // Initialization code +} + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated { + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} + +- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { + + if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { + + [self createUI]; + } + return self; +} + +- (void)createUI { + + self.nameLabel = [[UILabel alloc] init]; + self.nameLabel.textColor = CFontColor1; + self.nameLabel.font = BOLDSYSTEMFONT(14); + self.nameLabel.textAlignment = NSTextAlignmentLeft; + self.nameLabel.text = @"求助人:张三"; + [self.contentView addSubview:self.nameLabel]; + + [self.nameLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_offset(15); + make.top.mas_offset(16); + make.height.mas_offset(14); + }]; + [self.nameLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal]; + + + self.timeLabel = [[UILabel alloc] init]; + self.timeLabel.textColor = UIColorHex(#333333); + self.timeLabel.font = MEDIUMFONT(14); + self.timeLabel.text = @"求救时间:202-01-01 13:12"; + self.timeLabel.textAlignment = NSTextAlignmentLeft; + [self.contentView addSubview:self.timeLabel]; + + [self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_offset(15); + make.top.mas_equalTo(self.nameLabel.mas_bottom).offset(14); + make.height.mas_offset(14); + }]; + [self.timeLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal]; + + self.hospitalLabel = [[UILabel alloc] init]; + self.hospitalLabel.textColor = UIColorHex(#333333); + self.hospitalLabel.font = MEDIUMFONT(14); + self.hospitalLabel.textAlignment = NSTextAlignmentLeft; + self.hospitalLabel.text = @"应急医院:西京医院-协助检查"; + [self.contentView addSubview:self.hospitalLabel]; + + [self.hospitalLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_offset(15); + make.top.mas_equalTo(self.timeLabel.mas_bottom).offset(14); + make.height.mas_offset(13); + make.bottom.mas_offset(-18); + }]; + [self.hospitalLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal]; + + UIImageView * accowImg = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"garyRight"]]; + [self.contentView addSubview:accowImg]; + + + [accowImg mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.mas_offset(-15); + make.top.mas_offset(16); + make.height.mas_offset(14); + make.width.mas_offset(8); + }]; + + self.lookDetail = [[YYLabel alloc] init]; + self.lookDetail.textColor = UIColorHex(#999999); + self.lookDetail.font = MEDIUMFONT(13); + self.lookDetail.text = @"查看详情"; + self.lookDetail.textAlignment = NSTextAlignmentRight; + [self.contentView addSubview:self.lookDetail]; + + [self.lookDetail mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.mas_equalTo(accowImg.mas_left).offset(-6); + make.top.mas_offset(16); + make.height.mas_offset(14); + make.width.mas_offset(100); + }]; + + self.statusLabel = [[UILabel alloc] init]; + self.statusLabel.textColor = UIColorHex(#16C716); + self.statusLabel.font = MEDIUMFONT(14); + self.statusLabel.text = @"已完成"; + self.statusLabel.textAlignment = NSTextAlignmentRight; + [self.contentView addSubview:self.statusLabel]; + + [self.statusLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.mas_offset(-15); + make.top.mas_equalTo(self.lookDetail.mas_bottom).offset(26); + make.height.mas_offset(13); + }]; + + +} + +- (void)setModel:(XJSOSDoctorRecordListModel *)model { + _model = model; + self.nameLabel.text = [NSString stringWithFormat:@"求助人:%@",_model.initiatorUserName]; + self.timeLabel.text = [NSString stringWithFormat:@"求救时间:%@",_model.createTime]; + if ( ValidStr(_model.sendOrderHospital) ) { + self.hospitalLabel.text = @"应急医院:"; + }else + { + self.hospitalLabel.text =[NSString stringWithFormat:@"应急医院:%@-%@",_model.sendOrderHospital,_model.stationBusiness_dictText]; + } + self.statusLabel.text = model.orderStatus_dictText; +} + +@end diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSliderView.h b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSliderView.h new file mode 100644 index 0000000..f904f63 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSliderView.h @@ -0,0 +1,21 @@ +// +// XJSliderView.h +// WDYAdjustFontSize +// +// Created by wdyzmx on 2022/1/19. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +typedef void (^SliderValueCallBack)(UISlider *); + +@interface XJSliderView : UIView +/// 初始化方法 +/// @param frame frame +/// @param callBack 回调block +- (instancetype)initWithFrame:(CGRect)frame callBack:(SliderValueCallBack)callBack; +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSliderView.m b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSliderView.m new file mode 100644 index 0000000..366718f --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/MainCenter/View/XJSliderView.m @@ -0,0 +1,157 @@ +// +// XJSliderView.m +// WDYAdjustFontSize +// +// Created by wdyzmx on 2022/1/19. +// + +#import "XJSliderView.h" + +#define kScreenWidth UIScreen.mainScreen.bounds.size.width +#define kScreenHeight UIScreen.mainScreen.bounds.size.height +#define SliderRate 1.0 +#define DefaultFontSize 16 +#define SliderHeight 10 +#define SliderBGWidth 300 +#define SliderWidth 330 + +@interface XJSliderView () +/// slider +@property (nonatomic, strong) UISlider *slider; +/// tap手势 +@property (nonatomic, strong) UITapGestureRecognizer *tapGesture; +/// slider控件value回调 +@property (nonatomic, copy) SliderValueCallBack callBack; +/// @{@"字体size": @"slider value"} 字体size对应slider value +@property (nonatomic, strong) NSDictionary *unitDict; +@property (nonatomic, strong) NSArray *unitArr; +@end + +@implementation XJSliderView + +#pragma mark - initWithFrame +- (instancetype)initWithFrame:(CGRect)frame callBack:(SliderValueCallBack)callBack { + self = [super initWithFrame:frame]; + if (self) { + self.callBack = callBack; + + UIImageView *sliderBgImgView = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"icon_detail_sliderBgImg"]]; + [self addSubview:sliderBgImgView]; + sliderBgImgView.frame = CGRectMake(frame.size.width / 2 - SliderBGWidth / 2, 5, SliderBGWidth, SliderHeight); + + self.slider = [[UISlider alloc] init]; + self.slider.minimumValue = 1; + self.slider.maximumValue = 4; + self.slider.minimumTrackTintColor = [UIColor clearColor]; + self.slider.maximumTrackTintColor = [UIColor clearColor]; + self.slider.multipleTouchEnabled = NO; + [self.slider setThumbImage:[UIImage imageNamed:@"icon_detail_slider_thum"] forState:UIControlStateNormal]; + [self addSubview:self.slider]; + self.slider.frame = CGRectMake(0, 0, SliderWidth, SliderHeight); + self.slider.center = sliderBgImgView.center; + [self.slider addTarget:self + action:@selector(valueChanged:) + forControlEvents:UIControlEventValueChanged]; + [self.slider addTarget:self + action:@selector(sliderTouchDown:) + forControlEvents:UIControlEventTouchDown]; + [self.slider addTarget:self + action:@selector(sliderTouchUp:) + forControlEvents:UIControlEventTouchUpInside]; + // 字体size值为该字典key slider value值为该字典value + self.unitDict = @{ + @"16": @"1", + @"18": @"2", + @"20": @"3", + @"22": @"4" + }; + + self.unitArr = @[ + @"16", + @"18", + @"20", + @"22" + ]; + + [self.slider setValue:[self sliderInitialValue]]; + + for (int i = 0; i < self.unitArr.count; i++) { + CGFloat ptx = (kScreenWidth - SliderBGWidth) / 2 + (SliderBGWidth / 3) * i; + UILabel *label = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 50, 20)]; + label.center = CGPointMake(ptx, self.slider.center.y + 25); + label.font = [UIFont systemFontOfSize:14]; + label.textAlignment = NSTextAlignmentCenter; + label.text = self.unitArr[i]; +// label.backgroundColor = UIColor.redColor; + [self addSubview:label]; + } +// self.backgroundColor = UIColor.orangeColor; + self.tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapAction:)]; + [self addGestureRecognizer:self.tapGesture]; + } + return self; +} + +- (CGFloat)sliderInitialValue { + NSMutableDictionary *mdict = [NSMutableDictionary dictionaryWithDictionary:[[NSUserDefaults standardUserDefaults] objectForKey:@"fontSizeDict"]]; + __block NSString *value = nil; + if (mdict) { + [mdict enumerateKeysAndObjectsUsingBlock:^(NSString * _Nonnull key, NSString * _Nonnull obj, BOOL * _Nonnull stop) { + if ([obj isEqualToString:@"1"]) { + value = self.unitDict[key]; + } + }]; + } + return value ? value.floatValue : 1; +} + +#pragma mark - 滑动slider修改 +- (void)valueChanged:(UISlider *)sender { + // 只取整数值,固定间距 + NSString *tempStr = [self numberFormat:sender.value]; + if (tempStr.floatValue == sender.value) { + return; + } + [sender setValue:tempStr.integerValue]; + // 调用block + self.callBack(self.slider); +} + +#pragma mark - Slider Action +- (void)sliderTouchDown:(UISlider *)sender { + self.tapGesture.enabled = NO; +} + +- (void)sliderTouchUp:(UISlider *)sender { + self.tapGesture.enabled = YES; +} + +#pragma mark - 手势点击事件 +- (void)tapAction:(UITapGestureRecognizer *)tap { + CGPoint point = [tap locationInView:self]; + CGFloat margin = kScreenWidth / 2 - SliderBGWidth / 2; + CGFloat unitWidth = SliderWidth / 3; + CGFloat res = (point.x - margin) / unitWidth; + [self.slider setValue:[self numberFormat:res].floatValue + 1]; + // 调用block + self.callBack(self.slider); +// CGFloat rate = res - [self numberFormat:res].floatValue; +} + +#pragma mark - numberFormat +- (NSString *)numberFormat:(float)num { + NSNumberFormatter *formatter = [[NSNumberFormatter alloc] init]; + [formatter setPositiveFormat:@"0"]; + return [formatter stringFromNumber:[NSNumber numberWithFloat:num]]; +} + + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringDetailViewController.h b/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringDetailViewController.h new file mode 100644 index 0000000..f6f716a --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringDetailViewController.h @@ -0,0 +1,16 @@ +// +// MonitoringDetailViewController.h +// XinjiangProject +// +// Created by Apple on 2025/7/1. +// + +#import "BaseWebViewVC.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MonitoringDetailViewController : BaseWebViewVC + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringDetailViewController.m b/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringDetailViewController.m new file mode 100644 index 0000000..8de5af1 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringDetailViewController.m @@ -0,0 +1,146 @@ +// +// MonitoringDetailViewController.m +// XinjiangProject +// +// Created by Apple on 2025/7/1. +// + +#import "MonitoringDetailViewController.h" + +@interface MonitoringDetailViewController () + +@end + +@implementation MonitoringDetailViewController + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.view.backgroundColor = CViewBgColor; + self.isHidenNaviBar = false; + self.navigationItem.title = @"详情"; + [self addNavigationItemWithImageNames:@[@"whiteBack_icon"] isLeft:YES target:self action:@selector(backOnclick) tags:@[@"1"]]; + +} +- (void)backOnclick { + + [self.navigationController popViewControllerAnimated:YES]; +} + +- (void)webView:(WKWebView *)webView didFinishNavigation:(null_unspecified WKNavigation *)navigation{ + [self hiddenAllMBProgressHUD]; + self.navigationItem.title = @"详情";; + +} + + +-(void)viewWillAppear:(BOOL)animated { + + [super viewWillAppear:animated]; + + if (@available(iOS 15.0, *)) { + UINavigationBarAppearance *appearance = [UINavigationBarAppearance new]; + [appearance configureWithDefaultBackground]; + appearance.shadowColor = nil; + appearance.backgroundEffect = nil; + appearance.backgroundColor = UIColorHex(#21BEBD); + self.navigationController.navigationBar.backgroundColor = UIColorHex(#21BEBD);; + self.navigationController.navigationBar.barTintColor = KWhiteColor; + self.navigationController.navigationBar.shadowImage = [UIImage new]; + appearance.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]}; // 设置标题颜色 +// appearance.tintColor = [UIColor whiteColor]; // 设置按钮颜色为白色 + self.navigationController.navigationBar.standardAppearance = appearance; + /** + * iOS15 新增特性:滑动边界样式 + * New feature in iOS15: sliding border style + */ + self.navigationController.navigationBar.scrollEdgeAppearance = appearance; + + } else { + self.navigationController.navigationBar.backgroundColor =UIColorHex(#21BEBD); + self.navigationController.navigationBar.barTintColor = UIColorHex(#21BEBD); + self.navigationController.navigationBar.shadowImage = [UIImage new]; + NSDictionary *titleAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]}; + [self.navigationController.navigationBar setTitleTextAttributes:titleAttributes]; + } + + +} + + +- (void)viewWillDisappear:(BOOL)animated { + + [super viewWillDisappear:animated]; + //自定义navBar,根据当前的nav自定义 navBar + + if (@available(iOS 15.0, *)) { + UINavigationBarAppearance *appearance = [UINavigationBarAppearance new]; + [appearance configureWithDefaultBackground]; + appearance.shadowColor = nil; + appearance.backgroundEffect = nil; + appearance.backgroundColor = UIColorHex(#21BEBD); + self.navigationController.navigationBar.backgroundColor = UIColorHex(#21BEBD);; + self.navigationController.navigationBar.barTintColor = KWhiteColor; + self.navigationController.navigationBar.shadowImage = [UIImage new]; + appearance.titleTextAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]}; // 设置标题颜色 +// appearance.tintColor = [UIColor whiteColor]; // 设置按钮颜色为白色 + self.navigationController.navigationBar.standardAppearance = appearance; + /** + * iOS15 新增特性:滑动边界样式 + * New feature in iOS15: sliding border style + */ + self.navigationController.navigationBar.scrollEdgeAppearance = appearance; + + } else { + self.navigationController.navigationBar.backgroundColor =UIColorHex(#21BEBD); + self.navigationController.navigationBar.barTintColor =KWhiteColor; + self.navigationController.navigationBar.shadowImage = [UIImage new]; + NSDictionary *titleAttributes = @{NSForegroundColorAttributeName : [UIColor whiteColor]}; + [self.navigationController.navigationBar setTitleTextAttributes:titleAttributes]; + } + + UINavigationBar *navBar = [UINavigationBar appearanceWhenContainedInInstancesOfClasses:@[[HQBaseNavigationController class]]]; + //设置导航条字体颜色和大小 +// self.navigationController.navigationBar + NSDictionary *dict = [NSDictionary dictionary]; + if (@available(iOS 13.0, *)) { + // iOS 13 之后,这样设置导航条的相关属性才正确。之前的做法已失效 + dict = @{NSForegroundColorAttributeName: [UIColor tertiarySystemBackgroundColor], NSFontAttributeName: [UIFont systemFontOfSize:18]}; + UINavigationBarAppearance *navBarAppearance = [[UINavigationBarAppearance alloc]init]; + [navBarAppearance configureWithOpaqueBackground]; //Opaque: 不透明 + navBarAppearance.backgroundColor = UIColorHex(#21BEBD); + [navBarAppearance setTitleTextAttributes: dict]; + navBar.standardAppearance = navBarAppearance; + navBar.scrollEdgeAppearance = navBarAppearance; + [navBarAppearance configureWithOpaqueBackground];// 重置背景和阴影颜色 + navBarAppearance.backgroundColor = UIColorHex(#21BEBD); + navBarAppearance.backgroundEffect = nil; + // 去除导航栏阴影(如果不设置clear,导航栏底下会有一条阴影线) + navBarAppearance.shadowColor = [UIColor clearColor]; + } else { + dict = @{NSForegroundColorAttributeName: KWhiteColor, NSFontAttributeName: [UIFont systemFontOfSize:18]}; + //设置导航条背景色 + navBar.barTintColor = KWhiteColor; + [navBar setTitleTextAttributes:dict]; + } + //设置导航条不透明 + navBar.translucent = NO; + //设置除导航条以外的其他字体颜色 + [navBar setTintColor:UIColorHex(#21BEBD)]; + [navBar setBackgroundImage:[UIImage imageWithColor:UIColorHex(#21BEBD)] forBarMetrics:UIBarMetricsDefault]; + [navBar setShadowImage:[UIImage new]]; + //自定义navBar,根据当前的nav自定义 navBar + +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringHistoryController.h b/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringHistoryController.h new file mode 100644 index 0000000..eb2781c --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringHistoryController.h @@ -0,0 +1,18 @@ +// +// MonitoringHistoryController.h +// XinjiangProject +// +// Created by Apple on 2025/7/1. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MonitoringHistoryController : HQBaseViewController + +@property (nonatomic, strong) NSString * eventType; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringHistoryController.m b/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringHistoryController.m new file mode 100644 index 0000000..f3562fb --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringHistoryController.m @@ -0,0 +1,279 @@ +// +// MonitoringHistoryController.m +// XinjiangProject +// +// Created by Apple on 2025/7/1. +// + +#import "MonitoringHistoryController.h" +#import "MonitoringHistoryTableView.h" +#import "MonitoringDataModel.h" + +@interface MonitoringHistoryController () + +@property (nonatomic, strong) UILabel *weekLabel; +@property (nonatomic, strong) NSDate *currentDate; // 当前日期 +@property (nonatomic, strong) UIButton * nextBtn; +@property (nonatomic, assign) NSInteger pageNo; +@property (nonatomic, strong) MonitoringHistoryTableView * tableView; + +@property (nonatomic, strong) NSMutableArray * dataArray; + + + +@end + +@implementation MonitoringHistoryController + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + _dataArray = [[NSMutableArray alloc] init]; + } + return _dataArray; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. +// [self createUI]; + self.pageNo = 1; + self.isHidenNaviBar = false; + self.currentDate = [NSDate date]; + [self addNavigationItemWithImageNames:@[@"whiteBack_icon"] isLeft:YES target:self action:@selector(popUpVC) tags:@[@"1"]]; + self.view.backgroundColor = UIColorHex(#F5F7FB); + self.navigationItem.title = @"预警历史"; + UIView * topView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 84)]; + topView.backgroundColor = KClearColor; + [self.view addSubview:topView]; + + UIButton * preBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 20, kRealValue(97), 40)]; + [preBtn setTitle:@"前一月" forState:UIControlStateNormal]; + [preBtn setImage:[UIImage imageNamed:@"blackLeftAccow"] forState:UIControlStateNormal]; + [preBtn setTitleColor:UIColorHex(#252535) forState:UIControlStateNormal]; + preBtn.titleLabel.font = MEDIUMFONT(14); + [preBtn addTarget:self action:@selector(previousMonthAction) forControlEvents:UIControlEventTouchUpInside]; + + // 设置标题的位置(标题右移) + preBtn.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0); + + // 设置图像的位置(图像左移) + preBtn.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 10); + [topView addSubview:preBtn]; + + + UILabel * centeLabel = [[UILabel alloc] initWithFrame:CGRectMake(preBtn.right, 20, kScreenWidth - kRealValue(194), 40)]; + centeLabel.layer.cornerRadius = 20; + centeLabel.layer.masksToBounds = true; + centeLabel.backgroundColor = UIColorHex(#EAECF1); + centeLabel.textAlignment = NSTextAlignmentCenter; + centeLabel.font = BOLDSYSTEMFONT(13); +// centeLabel.text = [self getWeekRangeForDateString:self.currentTime]; + self.weekLabel = centeLabel; + [topView addSubview:centeLabel]; + + + UIButton * nextBtn = [[UIButton alloc] initWithFrame:CGRectMake(centeLabel.right, 20, kRealValue(97), 40)]; + [nextBtn setTitle:@"下一月" forState:UIControlStateNormal]; + [nextBtn setImage:[UIImage imageNamed:@"blackRightAccow"] forState:UIControlStateNormal]; + [nextBtn setTitleColor:UIColorHex(#252535) forState:UIControlStateNormal]; + nextBtn.titleLabel.font = MEDIUMFONT(14); + [nextBtn DIYStyle:DIYStyleImgRight padding:10]; + [nextBtn addTarget:self action:@selector(nextWeekAction) forControlEvents:UIControlEventTouchUpInside]; + self.nextBtn = nextBtn; + [topView addSubview:nextBtn]; + // 更新显示的日期范围 + [self updateMonthLabel]; + + self.tableView = [[MonitoringHistoryTableView alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; + [self.view addSubview:self.tableView]; + + [self.tableView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.bottom.mas_offset(0); + make.top.mas_offset(94); + }]; + MJWeakSelf + self.tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + weakSelf.pageNo = 1; + [weakSelf updateHistoryData:self.currentDate]; + }]; + + self.tableView.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + weakSelf.pageNo ++; + [weakSelf updateHistoryData:self.currentDate]; + }]; + + LYEmptyView *emptyView = [LYEmptyView emptyViewWithImageStr:@"noData" titleStr:@"暂无数据" detailStr:@""]; + //元素竖直方向的间距 + emptyView.subViewMargin = 20.f; + //标题颜色 + emptyView.titleLabTextColor = [UIColor blackColor]; + //描述字体 + emptyView.detailLabFont = [UIFont systemFontOfSize:17]; + //按钮背景色 + emptyView.actionBtnBackGroundColor = KWhiteColor; + emptyView.actionBtnWidth = CGFLOAT_MIN; + emptyView.actionBtnHeight = CGFLOAT_MIN; + + //设置空内容占位图 + self.tableView.ly_emptyView = emptyView; + +} + +- (void)popUpVC { + + [self.navigationController popViewControllerAnimated:YES]; +} + +// 更新显示月份的标签 +- (void)updateMonthLabel { + NSString *currentMonth = [self getMonthFromDate:self.currentDate]; + self.weekLabel.text = currentMonth; // 设置标签显示当前月份 + [self updateHistoryData:currentMonth]; +} + +// 根据传入的日期获取当前的月份 (yyyy-MM 格式) +- (NSString *)getMonthFromDate:(NSDate *)date { + NSCalendar *calendar = [NSCalendar currentCalendar]; + NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth fromDate:date]; + + // 格式化输出为 yyyy-MM 格式 + NSString *month = [NSString stringWithFormat:@"%04ld-%02ld", (long)components.year, (long)components.month]; + + return month; +} + +// 日期字符串转 NSDate +- (NSDate *)dateFromString:(NSString *)dateString { + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + [formatter setDateFormat:@"yyyy-MM-dd"]; + return [formatter dateFromString:dateString]; +} + +// 获取传入日期的上一个月 +- (NSDate *)getPreviousMonthFromDate:(NSDate *)date { + NSCalendar *calendar = [NSCalendar currentCalendar]; + NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth fromDate:date]; + components.month -= 1; // 上一个月 + return [calendar dateFromComponents:components]; +} + +// 获取传入日期的下一个月 +- (NSDate *)getNextMonthFromDate:(NSDate *)date { + NSCalendar *calendar = [NSCalendar currentCalendar]; + NSDateComponents *components = [calendar components:NSCalendarUnitYear | NSCalendarUnitMonth fromDate:date]; + components.month += 1; // 下一个月 + return [calendar dateFromComponents:components]; +} + +// 上个月按钮点击事件 +- (void)previousMonthAction { + // 获取上个月的日期 + self.currentDate = [self getPreviousMonthFromDate:self.currentDate]; + + // 更新显示标签 + [self updateMonthLabel]; + + // 更新按钮状态 + [self updateButtonStates]; +} + +// 下个月按钮点击事件 +- (void)nextWeekAction { + // 获取下个月的日期 + NSDate *nextMonthDate = [self getNextMonthFromDate:self.currentDate]; + + // 如果下个月大于当前日期,则禁止切换 + if ([nextMonthDate compare:[NSDate date]] == NSOrderedDescending) { + [EasyTextView showErrorText:@"暂无更多数据"]; + return; // 不允许切换到未来的月份 + } + + // 更新日期 + self.currentDate = nextMonthDate; + + // 更新显示标签 + [self updateMonthLabel]; + + // 更新按钮状态 + [self updateButtonStates]; +} + +// 更新按钮的状态 +- (void)updateButtonStates { + // 检查是否可以切换到下一个月 + NSDate *nextMonthDate = [self getNextMonthFromDate:self.currentDate]; + if ([nextMonthDate compare:[NSDate date]] == NSOrderedDescending) { + self.nextBtn.enabled = NO; // 禁用下个月按钮 + } else { + self.nextBtn.enabled = YES; // 启用下个月按钮 + } + +} + + +#pragma mark:接口请求 +- (void)updateHistoryData:(NSString *)date { + + [self showMBProgressHUDWithString:@"加载中,请稍候..." autoHidden:false]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:User_ID forKey:@"userId"]; + [parmDic setObject:self.eventType forKey:@"eventType"]; + [parmDic setObject:[NSString stringWithFormat:@"%@-01",date] forKey:@"queryDate"]; + [parmDic setObject:@(self.pageNo) forKey:@"pageNo"]; + [parmDic setObject:@"20" forKey:@"pageSize"]; + + JKCQAPI * sosApi = [[JKCQAPI alloc] init:self tag:@"HISTORYAPI" NeedToken:@""]; + [sosApi getWranHistoryList:parmDic]; + +} + +#pragma mark:网络请求 +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + [self.tableView.mj_header endRefreshing]; + [self.tableView.mj_footer endRefreshing]; + [EasyTextView showErrorText:message]; + [self hiddenAllMBProgressHUD]; + +} +- (void)Sucess:(id)response tag:(NSString*)tag +{ + if ([tag isEqualToString:@"HISTORYAPI"]) + { + [self hiddenAllMBProgressHUD]; + [self.tableView.mj_header endRefreshing]; + [self.tableView.mj_footer endRefreshing]; + NSArray * array = response; + + for (NSDictionary * dic in array) { + + MonitoringDataModel * model = [MonitoringDataModel modelWithDictionary:dic]; + model.eventType = self.eventType; + [self.dataArray addObject:model]; + + } + self.tableView.dataArray = self.dataArray; + } + +} + + + + + + + + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end + diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringWarchViewController.h b/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringWarchViewController.h new file mode 100644 index 0000000..e1ddfb2 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/Controller/MonitoringWarchViewController.h @@ -0,0 +1,16 @@ +// +// MonitoringWarchViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/14. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MonitoringWarchViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/Model/MonitoringDataModel.h b/XinjiangProject/XinjiangProject/Project/Monitoring/Model/MonitoringDataModel.h index cd37294..d938523 100644 --- a/XinjiangProject/XinjiangProject/Project/Monitoring/Model/MonitoringDataModel.h +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/Model/MonitoringDataModel.h @@ -9,7 +9,7 @@ NS_ASSUME_NONNULL_BEGIN -@interface MonitoringDataModel : NSObject +@interface MonitoringListDataModel : NSObject @property (nonatomic, copy) NSString * dataValue; @property (nonatomic, copy) NSString * wdTypeName; @@ -20,6 +20,27 @@ NS_ASSUME_NONNULL_BEGIN @property (nonatomic, copy) NSString * imageName; + + +@end + + +@interface MonitoringDataModel : NSObject + +@property (nonatomic, assign) NSInteger days; +@property (nonatomic, assign) CGFloat distance; +@property (nonatomic, assign) CGFloat aveSleep; + +@property (nonatomic, copy) NSString * watchNo; +@property (nonatomic, copy) NSString * warnTime; +@property (nonatomic, copy) NSString * dataValue; +@property (nonatomic, copy) NSString * address; +@property (nonatomic, copy) NSString * addressGd; +@property (nonatomic, copy) NSString * gpsErrorMsg; +@property (nonatomic, copy) NSString * eventType; + +@property (nonatomic, strong) NSArray * indexItemVos; + @end NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/Model/MonitoringDataModel.m b/XinjiangProject/XinjiangProject/Project/Monitoring/Model/MonitoringDataModel.m index df664fa..0e06f6e 100644 --- a/XinjiangProject/XinjiangProject/Project/Monitoring/Model/MonitoringDataModel.m +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/Model/MonitoringDataModel.m @@ -7,6 +7,20 @@ #import "MonitoringDataModel.h" +@implementation MonitoringListDataModel + +@end + + @implementation MonitoringDataModel + ++ (NSDictionary *)modelContainerPropertyGenericClass +{ + + return @{ + @"indexItemVos":[MonitoringListDataModel class], + + }; +} @end diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadHeardView.h b/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadHeardView.h deleted file mode 100644 index 60af7cc..0000000 --- a/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadHeardView.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// HeardBadHeardView.h -// EscortProject -// -// Created by 仁康信息 on 2023/12/14. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface HeardBadHeardView : UIView - -@end - -NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTabFooterView.h b/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTabFooterView.h deleted file mode 100644 index 77e0afd..0000000 --- a/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTabFooterView.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// HeardBadTabFooterView.h -// EscortProject -// -// Created by 仁康信息 on 2023/12/14. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface HeardBadTabFooterView : UIView - -@end - -NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableView.h b/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableView.h deleted file mode 100644 index 17175c1..0000000 --- a/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableView.h +++ /dev/null @@ -1,20 +0,0 @@ -// -// HeardBadTableView.h -// EscortProject -// -// Created by 仁康信息 on 2023/12/14. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface HeardBadTableView : UITableView - -@property (nonatomic, strong) NSArray * dataArray; - -@property (nonatomic, assign) BOOL isHaveQustion; - -@end - -NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableViewCell.h deleted file mode 100644 index 3e94c09..0000000 --- a/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableViewCell.h +++ /dev/null @@ -1,16 +0,0 @@ -// -// HeardBadTableViewCell.h -// EscortProject -// -// Created by 仁康信息 on 2023/12/14. -// - -#import - -NS_ASSUME_NONNULL_BEGIN - -@interface HeardBadTableViewCell : UITableViewCell - -@end - -NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableViewCell.m deleted file mode 100644 index 7b7b9e9..0000000 --- a/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableViewCell.m +++ /dev/null @@ -1,104 +0,0 @@ -// -// HeardBadTableViewCell.m -// EscortProject -// -// Created by 仁康信息 on 2023/12/14. -// - -#import "HeardBadTableViewCell.h" - -@interface HeardBadTableViewCell () - -@property (nonatomic, strong) UIImageView * projectImage; - -@property (nonatomic, strong) UILabel * projectName; - -@property (nonatomic, strong) UILabel * timeLabel; - -@property (nonatomic, strong) UILabel * dataLabel; - -@end - -@implementation HeardBadTableViewCell - -- (void)awakeFromNib { - [super awakeFromNib]; - // Initialization code -} - -- (void)setSelected:(BOOL)selected animated:(BOOL)animated { - [super setSelected:selected animated:animated]; - - // Configure the view for the selected state -} - -- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { - - if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { - - [self createUI]; - } - return self; -} - -- (void)createUI { - - UIView * backView = [[UIView alloc] initWithFrame:CGRectMake(kRealValue(15), 0, kScreenWidth - kRealValue(30), kRealValue(120))]; - backView.backgroundColor = KWhiteColor; - backView.layer.cornerRadius = 15.0; - backView.layer.masksToBounds = true; - [self addSubview:backView]; - - self.projectImage = [[UIImageView alloc] initWithFrame:CGRectMake(kRealValue(12), kRealValue(22), kRealValue(32), kRealValue(32))]; - [backView addSubview:self.projectImage]; - - self.projectName = [[UILabel alloc] initWithFrame:CGRectMake(self.projectImage.right + kRealValue(12), kRealValue(20), backView.width - kRealValue(90), 15)]; - self.projectName.text = @"--"; - self.projectName.textColor = CFontColor1; - self.projectName.textAlignment = NSTextAlignmentLeft; - self.projectName.font = BOLDSYSTEMFONT(16); - [backView addSubview:self.projectName]; - - self.timeLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.projectImage.right + kRealValue(12),self.projectName.bottom + kRealValue(10), backView.width - kRealValue(90), 15)]; - self.timeLabel.text = @"--"; - self.timeLabel.textColor = CFontColor1; - self.timeLabel.textAlignment = NSTextAlignmentLeft; - self.timeLabel.font = BOLDSYSTEMFONT(16); - [backView addSubview:self.timeLabel]; - - UIButton * accowBtn = [[UIButton alloc] initWithFrame:CGRectMake(backView.width - kRealValue(12) - 20, kRealValue(23), 20, 20)]; - [accowBtn setImage:[UIImage imageNamed:@"garyRight"] forState:UIControlStateNormal]; - [backView addSubview:accowBtn]; - - self.dataLabel = [[UILabel alloc] initWithFrame:CGRectMake(accowBtn.left - kRealValue(12) - 200, kRealValue(26), 200, 22)]; - self.dataLabel.text = @"--"; - self.dataLabel.textColor = CFontColor1; - self.dataLabel.textAlignment = NSTextAlignmentRight; - self.dataLabel.font = BOLDSYSTEMFONT(16); - [backView addSubview:self.dataLabel]; - - UIView * lineView = [[UIView alloc] initWithFrame:CGRectMake(0, backView.bottom - kRealValue(44), backView.width, 1)]; - lineView.backgroundColor = UIColorHex(#EAECF1); - [backView addSubview:lineView]; - - UIButton * historyBtn = [[UIButton alloc] initWithFrame:CGRectMake(backView.width - kRealValue(82) ,backView.bottom - kRealValue(10) - kRealValue(24) , kRealValue(70), kRealValue(24))]; - [historyBtn setTitle:@"预警历史" forState:UIControlStateNormal]; - [historyBtn setTitleColor:KWhiteColor forState:UIControlStateNormal]; - historyBtn.layer.cornerRadius = 4.0; - historyBtn.layer.masksToBounds = true; - historyBtn.titleLabel.font = BOLDSYSTEMFONT(13); - historyBtn.backgroundColor = UIColorHex(#21BEBD); - [backView addSubview:historyBtn]; - - - UIButton * thresholdBtn = [[UIButton alloc] initWithFrame:CGRectMake(historyBtn.left - kRealValue(82) ,backView.bottom - kRealValue(10) - kRealValue(24) , kRealValue(70), kRealValue(24))]; - [thresholdBtn setTitle:@"阈值设置" forState:UIControlStateNormal]; - [thresholdBtn setTitleColor:KWhiteColor forState:UIControlStateNormal]; - thresholdBtn.layer.cornerRadius = 4.0; - thresholdBtn.layer.masksToBounds = true; - thresholdBtn.titleLabel.font = BOLDSYSTEMFONT(13); - thresholdBtn.backgroundColor = UIColorHex(#F1B101); - [backView addSubview:thresholdBtn]; -} - -@end diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableView.h b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableView.h new file mode 100644 index 0000000..e488435 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableView.h @@ -0,0 +1,18 @@ +// +// MonitoringHistoryTableView.h +// XinjiangProject +// +// Created by Apple on 2025/7/1. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface MonitoringHistoryTableView : UITableView + +@property (nonatomic, strong) NSArray * dataArray; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableView.m b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableView.m similarity index 50% rename from XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableView.m rename to XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableView.m index d2fa011..c89a5d2 100644 --- a/XinjiangProject/XinjiangProject/Project/Monitoring/View/HeardBadTableView.m +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableView.m @@ -1,45 +1,25 @@ // -// HeardBadTableView.m -// EscortProject +// MonitoringHistoryTableView.m +// XinjiangProject // -// Created by 仁康信息 on 2023/12/14. +// Created by Apple on 2025/7/1. // -#import "HeardBadTableView.h" -#import "HeardBadHeardView.h" -#import "HeardBadTableViewCell.h" -#import "HeardBadTabFooterView.h" +#import "MonitoringHistoryTableView.h" +#import "MonitoringWatchTableView.h" +#import "MonitoringWarchTableHeardView.h" +#import "MonitoringWatchTableViewCell.h" +#import "MonitoringWatchTableFooterView.h" +#import "MonitoringHistoryTableViewCell.h" -@interface HeardBadTableView () - -@property (nonatomic, strong) HeardBadHeardView * badHeardView; - -@property (nonatomic, strong) HeardBadTabFooterView * badfooterView; +@interface MonitoringHistoryTableView () @end -@implementation HeardBadTableView +@implementation MonitoringHistoryTableView -- (HeardBadHeardView *)badHeardView { - - if (!_badHeardView) { - - _badHeardView = [[HeardBadHeardView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(195))]; - } - return _badHeardView; -} - -- (HeardBadTabFooterView *)badfooterView { - - if (!_badfooterView) { - - _badfooterView = [[HeardBadTabFooterView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(165))]; - } - return _badfooterView; - -} - (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style { @@ -64,19 +44,17 @@ self.dataSource = self; self.separatorStyle = UITableViewCellSeparatorStyleNone; self.showsVerticalScrollIndicator = NO; - self.tableHeaderView = self.badHeardView; - self.tableFooterView = self.badfooterView; + self.estimatedRowHeight = 60; + self.rowHeight = UITableViewAutomaticDimension; } -//- (void)setDataArray:(NSArray *)dataArray { -// -// _dataArray = dataArray; -// -// [self reloadData]; -// -//} -// - +- (void)setDataArray:(NSArray *)dataArray { + + _dataArray = dataArray; + + [self reloadData]; + +} #pragma mark - DataSource - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { @@ -86,20 +64,20 @@ - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView { - return 5; + return self.dataArray.count; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { - HeardBadTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"CELLID"]; + MonitoringHistoryTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"CELLID"]; if (!cell) { - cell = [[HeardBadTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CELLID"]; + cell = [[MonitoringHistoryTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CELLID"]; } - cell.backgroundColor = CViewBgColor; - cell.selectionStyle = UITableViewCellSelectionStyleDefault; + cell.selectionStyle = UITableViewCellSelectionStyleNone; + cell.model = self.dataArray[indexPath.section]; return cell; } @@ -108,6 +86,7 @@ - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { + } - (CGFloat )tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section @@ -120,12 +99,6 @@ return kRealValue(15); } -- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath -{ - - return kRealValue(120); -} - - (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { @@ -133,4 +106,6 @@ } + + @end diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableViewCell.h new file mode 100644 index 0000000..f152e67 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableViewCell.h @@ -0,0 +1,19 @@ +// +// MonitoringHistoryTableViewCell.h +// XinjiangProject +// +// Created by Apple on 2025/7/1. +// + +#import +#import "MonitoringDataModel.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MonitoringHistoryTableViewCell : UITableViewCell + +@property (nonatomic, strong) MonitoringDataModel * model; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableViewCell.m new file mode 100644 index 0000000..6c13915 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringHistoryTableViewCell.m @@ -0,0 +1,275 @@ +// +// MonitoringHistoryTableViewCell.m +// XinjiangProject +// +// Created by Apple on 2025/7/1. +// + +#import "MonitoringHistoryTableViewCell.h" + +@interface MonitoringHistoryTableViewCell () + +@property (nonatomic, strong) UIView * backView; +@property (nonatomic, strong) UIImageView * iconImage; +@property (nonatomic, strong) UILabel * typeNameLabel; +@property (nonatomic, strong) UILabel * warnLabel; + +@property (nonatomic, strong) UILabel * dataLabel; +@property (nonatomic, strong) UILabel * timeLabel; +@property (nonatomic, strong) UILabel * locationLabel; + +@end + +@implementation MonitoringHistoryTableViewCell + +- (void)awakeFromNib { + [super awakeFromNib]; + // Initialization code +} + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated { + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} + +- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { + + if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { + self.backgroundColor = CViewBgColor; + [self createUI]; + } + return self; +} + +- (void)createUI { + + self.backView = [[UIView alloc] init]; + self.backView.backgroundColor = KWhiteColor; + self.backView.layer.cornerRadius = 15.0; + self.backView.layer.masksToBounds = true; + [self.contentView addSubview:self.backView]; + + [self.backView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_offset(10); + make.right.mas_offset(-10); + make.top.mas_offset(0); + }]; + + self.iconImage = [[UIImageView alloc] init]; + self.iconImage.layer.cornerRadius = 15.0; + self.iconImage.layer.masksToBounds = true; + [self.backView addSubview:self.iconImage]; + + [self.iconImage mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_offset(12); + make.width.height.mas_offset(32); + make.top.mas_offset(21); + }]; + + self.typeNameLabel = [[UILabel alloc] init]; + self.typeNameLabel.textColor = UIColorHex(#252535); + self.typeNameLabel.font = BOLDSYSTEMFONT(16); + self.typeNameLabel.textAlignment = NSTextAlignmentLeft; + [self.backView addSubview:self.typeNameLabel]; + + [self.typeNameLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(self.iconImage.mas_right).offset(12); + make.top.mas_offset(21); + make.height.mas_offset(32); + }]; + + self.dataLabel = [[UILabel alloc] init]; + self.dataLabel.textColor = UIColorHex(#252535); + self.dataLabel.font = BOLDSYSTEMFONT(16); + self.dataLabel.textAlignment = NSTextAlignmentLeft; + self.dataLabel.text = @"--"; + [self.backView addSubview:self.dataLabel]; + + [self.dataLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_offset(20); + make.right.mas_offset(-15); + }]; + [self.dataLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal]; + + self.warnLabel = [[UILabel alloc] init]; + self.warnLabel.textColor = UIColorHex(#F14D6B); + self.warnLabel.font = BOLDSYSTEMFONT(13); + self.warnLabel.textAlignment = NSTextAlignmentCenter; + self.warnLabel.text = @"预警值"; + self.warnLabel.layer.cornerRadius = 5; + self.warnLabel.layer.masksToBounds = true; + self.warnLabel.layer.borderWidth = 1.0; + self.warnLabel.layer.borderColor = UIColorHex(#F14D6B).CGColor; + [self.backView addSubview:self.warnLabel]; + + [self.warnLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.mas_equalTo(self.dataLabel.mas_left).offset(-15); + make.top.mas_offset(21); + make.height.mas_offset(24); + make.width.mas_offset(60); + }]; + + UIView * linView = [[UIView alloc] init]; + linView.backgroundColor = UIColorHex(#EAECF1); + [self.backView addSubview:linView]; + + [linView mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.mas_offset(-15); + make.left.mas_offset(15); + make.top.mas_equalTo(self.iconImage.mas_bottom).offset(21); + make.height.mas_offset(1); + }]; + + self.timeLabel = [[UILabel alloc] init]; + self.timeLabel.textColor = UIColorHex(#77849E); + self.timeLabel.font = BOLDSYSTEMFONT(14); + self.timeLabel.textAlignment = NSTextAlignmentLeft; + self.timeLabel.text = @"预警时间:--"; + [self.backView addSubview:self.timeLabel]; + + [self.timeLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_offset(15); + make.right.mas_offset(-15); + make.top.mas_equalTo(linView.mas_bottom).offset(20); + }]; + + + self.locationLabel = [[UILabel alloc] init]; + self.locationLabel.textColor = UIColorHex(#77849E); + self.locationLabel.font = BOLDSYSTEMFONT(14); + self.locationLabel.textAlignment = NSTextAlignmentLeft; + self.locationLabel.text = @"预警地点:--"; + [self.backView addSubview:self.locationLabel]; + + [self.locationLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_offset(15); + make.right.mas_offset(-15); + make.top.mas_equalTo(self.timeLabel.mas_bottom).offset(20); + }]; + + [self.locationLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisVertical]; + + + [self.backView mas_makeConstraints:^(MASConstraintMaker *make) { + + make.bottom.mas_equalTo(self.locationLabel.mas_bottom).offset(20); + }]; + + [self.contentView mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.right.top.mas_offset(0); + make.bottom.mas_equalTo(self.locationLabel.mas_bottom).offset(20); + + }]; + + +} + +- (void)setModel:(MonitoringDataModel *)model { + + _model = model; + + self.timeLabel.text = [NSString stringWithFormat:@"预警时间:%@",SafeStr(_model.warnTime) ]; + + NSString *address = nil; + if ([_model.address isKindOfClass:[NSString class]] && _model.address.length > 0) { + address = _model.address; + } else if ([_model.addressGd isKindOfClass:[NSString class]] && _model.addressGd.length > 0) { + address = _model.addressGd; + } else if ([_model.gpsErrorMsg isKindOfClass:[NSString class]] && _model.gpsErrorMsg.length > 0) { + address = _model.gpsErrorMsg; + } + self.locationLabel.text = [NSString stringWithFormat:@"预警地点:%@",address]; + + + + UIColor * color; + if ([_model.eventType isEqualToString:@"heart_rate"]) { + color = UIColorHex(#F14D6B); + self.iconImage.image = [UIImage imageNamed:@"homePageXinlv"]; + self.typeNameLabel.text = @"心率"; + NSString * dataString = [NSString stringWithFormat:@"%@次/分钟",SafeStr(_model.dataValue)]; + self.dataLabel.attributedText = [self attributedStringWithText:dataString numberColor:color]; + self.warnLabel.layer.borderColor = UIColorHex(#F14D6B).CGColor; + self.warnLabel.textColor = UIColorHex(#F14D6B); + + } + if ([_model.eventType isEqualToString:@"spo2"]) { + color = UIColorHex(#2AC79F); + self.iconImage.image = [UIImage imageNamed:@"homePageXueyang"]; + self.typeNameLabel.text = @"血氧饱和度"; + NSString * dataString = [NSString stringWithFormat:@"%@%%",SafeStr(_model.dataValue)]; + self.dataLabel.attributedText = [self attributedStringWithText:dataString numberColor:color]; + self.warnLabel.layer.borderColor = UIColorHex(#2AC79F).CGColor; + self.warnLabel.textColor = UIColorHex(#2AC79F); + + } + if ([_model.eventType isEqualToString:@"stress"]) { + color = UIColorHex(#1385FA); + self.iconImage.image = [UIImage imageNamed:@"homePageXinlv"]; + self.typeNameLabel.text = @"压力"; + NSString * dataString = [NSString stringWithFormat:@"%@",SafeStr(_model.dataValue)]; + self.dataLabel.attributedText = [self attributedStringWithText:dataString numberColor:color]; + self.warnLabel.layer.borderColor = color.CGColor; + self.warnLabel.textColor = color; + } + if ([_model.eventType isEqualToString:@"temperature"]) { + color = UIColorHex(#02C7D2); + self.iconImage.image = [UIImage imageNamed:@"homePageTiwen"]; + self.typeNameLabel.text = @"体温"; + NSString * dataString = [NSString stringWithFormat:@"%@℃",SafeStr(_model.dataValue)]; + self.dataLabel.attributedText = [self attributedStringWithText:dataString numberColor:color]; + self.warnLabel.layer.borderColor = color.CGColor; + self.warnLabel.textColor = color; + } + + + +} + + + + +/// 传入字符串和数字颜色,返回符合需求的富文本 +- (NSAttributedString *)attributedStringWithText:(NSString *)text numberColor:(UIColor *)numberColor { + if (text.length == 0) { + NSMutableAttributedString *emptyStr = [[NSMutableAttributedString alloc] initWithString:@""]; + [emptyStr addAttributes:@{ + NSFontAttributeName: [UIFont systemFontOfSize:12], + NSForegroundColorAttributeName: [UIColor blackColor] + } range:NSMakeRange(0, 0)]; + return emptyStr; + } + + // 替换单个 "-" 为 "--" + NSString *processedText = [text stringByReplacingOccurrencesOfString:@"-" withString:@"--"]; + + NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:processedText]; + + // 默认样式 + [attributedStr addAttributes:@{ + NSFontAttributeName: [UIFont systemFontOfSize:12], + NSForegroundColorAttributeName: [UIColor blackColor] + } range:NSMakeRange(0, processedText.length)]; + + // 匹配数字或 "--" + NSError *error = nil; + NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\d+(\\.\\d+)?|--" + options:0 + error:&error]; + if (error) { + return attributedStr; + } + + NSArray *matches = [regex matchesInString:processedText options:0 range:NSMakeRange(0, processedText.length)]; + for (NSTextCheckingResult *match in matches) { + NSRange range = match.range; + [attributedStr addAttributes:@{ + NSFontAttributeName: [UIFont systemFontOfSize:24 weight:UIFontWeightBold], + NSForegroundColorAttributeName: numberColor ?: [UIColor redColor] + } range:range]; + } + + return attributedStr; +} +@end diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWarchTableHeardView.h b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWarchTableHeardView.h new file mode 100644 index 0000000..54d85e6 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWarchTableHeardView.h @@ -0,0 +1,23 @@ +// +// MonitoringWarchTableHeardView.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/14. +// + +#import +#import "MonitoringDataModel.h" + +NS_ASSUME_NONNULL_BEGIN +typedef void(^sleepAndStepDetailBlock)(NSString * type, NSString *time); + + +@interface MonitoringWarchTableHeardView : UIView + +@property (nonatomic, strong) MonitoringDataModel * heardModel; + +@property (nonatomic, copy) sleepAndStepDetailBlock heardBlock; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWarchTableHeardView.m b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWarchTableHeardView.m new file mode 100644 index 0000000..e574128 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWarchTableHeardView.m @@ -0,0 +1,401 @@ +// +// MonitoringWarchTableHeardView.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/14. +// + +#import "MonitoringWarchTableHeardView.h" + +@interface MonitoringWarchTableHeardView () + +@property (nonatomic, strong) UILabel * stepLabel; + +@property (nonatomic, strong) UILabel * timeLabel; + +@property (nonatomic, strong) UILabel * numberLabel; + +@property (nonatomic, strong) UILabel * allNumberLabel; + +@property (nonatomic, strong) UILabel * sleepTimeLabel; + +@property (nonatomic, strong) UILabel * subTimeLabel; + +@property (nonatomic, strong) UILabel * avgTimeLabel; + +@end + +@implementation MonitoringWarchTableHeardView + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code +} +*/ + +- (instancetype)initWithFrame:(CGRect)frame { + + if (self = [super initWithFrame:frame]) { + + self.backgroundColor = CViewBgColor; + [self createUI]; + } + return self; +} + +- (void)createUI { + + UIImageView * StepView = [[UIImageView alloc] initWithFrame:CGRectMake(kRealValue(15), kRealValue(15), ( kScreenWidth - kRealValue(45))/2, kRealValue(165))]; + StepView.layer.cornerRadius = 15.0; + StepView.layer.masksToBounds = YES; + StepView.image = [UIImage imageNamed:@"stepNumerIcon"]; + StepView.userInteractionEnabled = true; + StepView.backgroundColor = KWhiteColor; + StepView.userInteractionEnabled = true; + [self addSubview:StepView]; + + UITapGestureRecognizer *tapGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(clickAction)]; + [StepView addGestureRecognizer:tapGesture]; + + + UIImageView * stepImg = [[UIImageView alloc] initWithFrame:CGRectMake(kRealValue(12), kRealValue(16), kRealValue(32), kRealValue(32))]; + stepImg.image = [UIImage imageNamed:@"stepNumberIcon"]; + [StepView addSubview:stepImg]; + + self.stepLabel = [[UILabel alloc] initWithFrame:CGRectMake(stepImg.right + kRealValue(12), kRealValue(14), StepView.width - kRealValue(46), 16)]; + self.stepLabel.text = @"步数"; + self.stepLabel.textColor = CFontColor1; + self.stepLabel.font = BOLDSYSTEMFONT(16); + self.stepLabel.textAlignment = NSTextAlignmentLeft; + [StepView addSubview:self.stepLabel]; + + self.timeLabel = [[UILabel alloc] initWithFrame:CGRectMake(stepImg.right + kRealValue(12),self.stepLabel.bottom + kRealValue(9), StepView.width - kRealValue(46), 16)]; + self.timeLabel.text = @"--/--/--"; + self.timeLabel.textColor = UIColorHex(#77849E); + self.timeLabel.font = SYSTEMFONT(13); + self.timeLabel.textAlignment = NSTextAlignmentLeft; + [StepView addSubview:self.timeLabel]; + + UIButton * stepIconBtn = [[UIButton alloc] initWithFrame:CGRectMake(StepView.width - kRealValue(9) - 20, kRealValue(16), 20, 20)]; + [stepIconBtn setImage:[UIImage imageNamed:@"garyRight"] forState:UIControlStateNormal]; + [StepView addSubview:stepIconBtn]; + + UIImageView * stepBackImg =[[UIImageView alloc] initWithFrame:CGRectMake(0, stepImg.bottom + kRealValue(4), StepView.width, kRealValue(114))]; + stepBackImg.image = [UIImage imageNamed:@"steoBackImage"]; + [StepView addSubview:stepBackImg]; + + + self.allNumberLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(15), StepView.height - 12 - kRealValue(8), StepView.width - kRealValue(30), 12)]; + self.allNumberLabel.text = @"累计约步行--公里"; + self.allNumberLabel.textColor = UIColorHex(#77849E); + self.allNumberLabel.font = MEDIUMFONT(12); + self.allNumberLabel.textAlignment = NSTextAlignmentLeft; + [StepView addSubview:self.allNumberLabel]; + + self.numberLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(15), self.allNumberLabel.top - 28 - kRealValue(12), StepView.width - kRealValue(30), 28)]; + self.numberLabel.text = @"--步"; + self.numberLabel.textColor = UIColorHex(#77849E); + self.numberLabel.font = BOLDSYSTEMFONT(28); + self.numberLabel.textAlignment = NSTextAlignmentLeft; + [StepView addSubview:self.numberLabel]; + + + + + //睡眠 + UIView * sleepView = [[UIView alloc] initWithFrame:CGRectMake(StepView.right + kRealValue(15), kRealValue(15), ( kScreenWidth - kRealValue(45))/2, kRealValue(165))]; + sleepView.layer.cornerRadius = 15.0; + sleepView.layer.masksToBounds = YES; + sleepView.backgroundColor = KWhiteColor; + UITapGestureRecognizer *sleepGesture=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(sleepAction)]; + [sleepView addGestureRecognizer:sleepGesture]; + [self addSubview:sleepView]; + + UIImageView * sleepImg = [[UIImageView alloc] initWithFrame:CGRectMake(kRealValue(12), kRealValue(16), kRealValue(32), kRealValue(32))]; + sleepImg.image = [UIImage imageNamed:@"sleepIcon"]; + [sleepView addSubview:sleepImg]; + + + UILabel * sleepLab = [[UILabel alloc] initWithFrame:CGRectMake(sleepImg.right + kRealValue(12), kRealValue(14), StepView.width - kRealValue(46), 16)]; + sleepLab.text = @"睡眠"; + sleepLab.textColor = CFontColor1; + sleepLab.font = BOLDSYSTEMFONT(16); + sleepLab.textAlignment = NSTextAlignmentLeft; + [sleepView addSubview:sleepLab]; + + self.sleepTimeLabel = [[UILabel alloc] initWithFrame:CGRectMake(sleepImg.right + kRealValue(12),sleepLab.bottom + kRealValue(9), sleepView.width - kRealValue(46), 16)]; + self.sleepTimeLabel.text = @"--/--/--"; + self.sleepTimeLabel.textColor = UIColorHex(#77849E); + self.sleepTimeLabel.font = SYSTEMFONT(13); + self.sleepTimeLabel.textAlignment = NSTextAlignmentLeft; + [sleepView addSubview:self.sleepTimeLabel]; + + UIButton * sleepIconBtn = [[UIButton alloc] initWithFrame:CGRectMake(sleepView.width - kRealValue(9) - 20, kRealValue(16), 20, 20)]; + [sleepIconBtn setImage:[UIImage imageNamed:@"garyRight"] forState:UIControlStateNormal]; + [sleepView addSubview:sleepIconBtn]; + + UIView * blueView = [[UIView alloc] initWithFrame:CGRectMake(sleepView.width - kRealValue(29) , self.sleepTimeLabel.bottom + kRealValue(11), kRealValue(17), kRealValue(34))]; + CAGradientLayer *gradientLayer = [CAGradientLayer layer]; + gradientLayer.frame = blueView.bounds; + gradientLayer.colors = @[(__bridge id)RGBA(1, 142, 253, 0.5).CGColor, (__bridge id)UIColorHex(#FFFFFF).CGColor]; + gradientLayer.startPoint = CGPointMake(0, 0); + gradientLayer.endPoint = CGPointMake(0, 1); + gradientLayer.transform = CATransform3DMakeRotation(0, 0, 0, 1); + [blueView.layer addSublayer:gradientLayer]; + [sleepView addSubview:blueView]; + UIView * blueLine = [[UIView alloc] initWithFrame:CGRectMake(0, 0, blueView.width, 2)]; + blueLine.backgroundColor = UIColorHex(#018EFD); + [blueView addSubview:blueLine]; + + UIView * orangeView = [[UIView alloc] initWithFrame:CGRectMake(blueView.left - kRealValue(5) , self.sleepTimeLabel.bottom + kRealValue(11), kRealValue(4), kRealValue(34))]; + CAGradientLayer * orangegradientLayer = [CAGradientLayer layer]; + orangegradientLayer.frame = orangeView.bounds; + orangegradientLayer.colors = @[(__bridge id)RGBA(253, 193, 32, 0.5).CGColor, (__bridge id)UIColorHex(#FFFFFF).CGColor]; + orangegradientLayer.startPoint = CGPointMake(0, 0); + orangegradientLayer.endPoint = CGPointMake(0, 1); + orangegradientLayer.transform = CATransform3DMakeRotation(0, 0, 0, 1); + [orangeView.layer addSublayer:orangegradientLayer]; + [sleepView addSubview:orangeView]; + UIView * orangeLine = [[UIView alloc] initWithFrame:CGRectMake(0, 0, orangeView.width, 2)]; + orangeLine.backgroundColor = RGBA(253, 193, 32, 1); + [orangeView addSubview:orangeLine]; + + UIView * pickView = [[UIView alloc] initWithFrame:CGRectMake(orangeView.left - kRealValue(35) , self.sleepTimeLabel.bottom + kRealValue(11), kRealValue(34), kRealValue(34))]; + CAGradientLayer * pickViewgradientLayer = [CAGradientLayer layer]; + pickViewgradientLayer.frame = pickView.bounds; + pickViewgradientLayer.colors = @[(__bridge id)RGBA(252, 120, 117, 0.5).CGColor, (__bridge id)UIColorHex(#FFFFFF).CGColor]; + pickViewgradientLayer.startPoint = CGPointMake(0, 0); + pickViewgradientLayer.endPoint = CGPointMake(0, 1); + pickViewgradientLayer.transform = CATransform3DMakeRotation(0, 0, 0, 1); + [pickView.layer addSublayer:pickViewgradientLayer]; + [sleepView addSubview:pickView]; + UIView * pickLine = [[UIView alloc] initWithFrame:CGRectMake(0, 0, pickView.width, 2)]; + pickLine.backgroundColor = RGBA(252, 120, 117, 1); + [pickView addSubview:pickLine]; + + UIView * purpleView = [[UIView alloc] initWithFrame:CGRectMake(pickView.left - kRealValue(45) , self.sleepTimeLabel.bottom + kRealValue(11), kRealValue(44), kRealValue(34))]; + CAGradientLayer * pupleViewgradientLayer = [CAGradientLayer layer]; + pupleViewgradientLayer.frame = purpleView.bounds; + pupleViewgradientLayer.colors = @[(__bridge id)RGBA(203, 45, 218, 0.5).CGColor, (__bridge id)UIColorHex(#FFFFFF).CGColor]; + pupleViewgradientLayer.startPoint = CGPointMake(0, 0); + pupleViewgradientLayer.endPoint = CGPointMake(0, 1); + pupleViewgradientLayer.transform = CATransform3DMakeRotation(0, 0, 0, 1); + [purpleView.layer addSublayer:pupleViewgradientLayer]; + [sleepView addSubview:purpleView]; + UIView * purpleLine = [[UIView alloc] initWithFrame:CGRectMake(0, 0, purpleView.width, 2)]; + purpleLine.backgroundColor = RGBA(203, 45, 218, 1); + [purpleView addSubview:purpleLine]; + + UIView * blackPurple = [[UIView alloc] initWithFrame:CGRectMake(purpleView.left - kRealValue(39) , self.sleepTimeLabel.bottom + kRealValue(11), kRealValue(38), kRealValue(34))]; + CAGradientLayer * blackPurplegradientLayer = [CAGradientLayer layer]; + blackPurplegradientLayer.frame = blackPurple.bounds; + blackPurplegradientLayer.colors = @[(__bridge id)RGBA(155, 70, 225, 0.5).CGColor, (__bridge id)UIColorHex(#FFFFFF).CGColor]; + blackPurplegradientLayer.startPoint = CGPointMake(0, 0); + blackPurplegradientLayer.endPoint = CGPointMake(0, 1); + blackPurplegradientLayer.transform = CATransform3DMakeRotation(0, 0, 0, 1); + [blackPurple.layer addSublayer:blackPurplegradientLayer]; + [sleepView addSubview:blackPurple]; + UIView * blackPurpleLine = [[UIView alloc] initWithFrame:CGRectMake(0, 0, blackPurple.width, 2)]; + blackPurpleLine.backgroundColor = RGBA(155, 70, 225, 1); + [blackPurple addSubview:blackPurpleLine]; + + + self.avgTimeLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(15), sleepView.height - 12 - kRealValue(8), StepView.width - kRealValue(30), 12)]; + self.avgTimeLabel.text = @"平均睡眠--小时"; + self.avgTimeLabel.textColor = UIColorHex(#77849E); + self.avgTimeLabel.font = MEDIUMFONT(12); + self.avgTimeLabel.textAlignment = NSTextAlignmentLeft; + [sleepView addSubview:self.avgTimeLabel]; + + self.subTimeLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(15),self.avgTimeLabel.top - 28 - kRealValue(12), StepView.width - kRealValue(30), 28)]; + self.subTimeLabel.text = @"--小时--分"; + self.subTimeLabel.textColor = UIColorHex(#77849E); + self.subTimeLabel.font = BOLDSYSTEMFONT(28); + self.subTimeLabel.textAlignment = NSTextAlignmentLeft; + [sleepView addSubview:self.subTimeLabel]; +} + +- (void)setHeardModel:(MonitoringDataModel *)heardModel { + + _heardModel = heardModel; + + self.allNumberLabel.text = [NSString stringWithFormat:@"累计约步行%.0f公里",_heardModel.distance]; + + CGFloat minutes = _heardModel.aveSleep; + NSString *timeString; + if (minutes == 0) { + timeString = @"--"; + } else if (minutes < 1) { + int seconds = (int)roundf(minutes * 60); + timeString = [NSString stringWithFormat:@"%d秒", seconds]; + } else if (minutes < 60) { + timeString = [NSString stringWithFormat:@"%.2f分钟", minutes]; + } else { + int wholeHours = (int)(minutes / 60); + int remainingMinutes = (int)(minutes - (wholeHours * 60)); + timeString = [NSString stringWithFormat:@"%d小时%d分钟", wholeHours, remainingMinutes]; + } + + self.avgTimeLabel.text = [NSString stringWithFormat:@"平均睡眠%@",timeString]; + + for (MonitoringListDataModel * listModel in _heardModel.indexItemVos) { + + if ([listModel.wdTypeName isEqualToString:@"步数"]) { + + self.timeLabel.text =listModel.dataDate; + + self.numberLabel.attributedText = [self attributedStringWithText:[NSString stringWithFormat:@"%@步",SafeStr(listModel.dataValue)] numberColor:UIColorHex(#42ADF2)]; + } + if ([listModel.wdTypeName isEqualToString:@"睡眠"]) { + + + self.sleepTimeLabel.text =listModel.dataDate; + + self.subTimeLabel.attributedText = [self convertMinutes:[listModel.dataValue floatValue] withFont:[UIFont systemFontOfSize:24 weight:UIFontWeightBold] withColor:UIColorHex(#9B46E1)]; + } + } + + +} + + + + +- (NSMutableAttributedString *)convertMinutes:(float)minutes withFont:(UIFont *)font withColor:(UIColor *)color { + NSString *timeString; + + if (minutes == 0) { + timeString = @"--"; + } else if (minutes < 1) { + int seconds = (int)roundf(minutes * 60); + timeString = [NSString stringWithFormat:@"%d秒", seconds]; + } else if (minutes < 60) { + timeString = [NSString stringWithFormat:@"%.0f分钟", minutes]; + } else { + int wholeHours = (int)(minutes / 60); + int remainingMinutes = (int)(minutes - (wholeHours * 60)); + timeString = [NSString stringWithFormat:@"%d小时%d分钟", wholeHours, remainingMinutes]; + } + + NSMutableAttributedString *attributedString = [[NSMutableAttributedString alloc] initWithString:timeString]; + + // 整体默认样式 + [attributedString addAttributes:@{ + NSFontAttributeName: [UIFont systemFontOfSize:12], + NSForegroundColorAttributeName: [UIColor blackColor] + } range:NSMakeRange(0, timeString.length)]; + + // 匹配数字并加粗放大 + NSError *error = nil; + NSRegularExpression *numberRegex = [NSRegularExpression regularExpressionWithPattern:@"\\d+(\\.\\d+)?" + options:0 + error:&error]; + if (!error) { + NSArray *matches = [numberRegex matchesInString:timeString options:0 range:NSMakeRange(0, timeString.length)]; + for (NSTextCheckingResult *match in matches) { + [attributedString addAttributes:@{ + NSFontAttributeName: font, + NSForegroundColorAttributeName: color + } range:match.range]; + } + } + + // 设置单位样式(小时 / 分钟 / 秒) + UIFont *unitFont = [UIFont systemFontOfSize:14 weight:UIFontWeightMedium]; + UIColor *unitColor = UIColorHex(#252535); + + NSArray *units = @[@"小时", @"分钟", @"秒"]; + for (NSString *unit in units) { + NSRange unitRange = [timeString rangeOfString:unit]; + if (unitRange.location != NSNotFound) { + [attributedString addAttributes:@{ + NSFontAttributeName: unitFont, + NSForegroundColorAttributeName: unitColor + } range:unitRange]; + } + } + + return attributedString; +} + + + +/// 传入字符串和数字颜色,返回符合需求的富文本 +- (NSAttributedString *)attributedStringWithText:(NSString *)text numberColor:(UIColor *)numberColor { + if (text.length == 0) { + NSMutableAttributedString *emptyStr = [[NSMutableAttributedString alloc] initWithString:@""]; + [emptyStr addAttributes:@{ + NSFontAttributeName: [UIFont systemFontOfSize:12], + NSForegroundColorAttributeName: [UIColor blackColor] + } range:NSMakeRange(0, 0)]; + return emptyStr; + } + + // 替换单个 "-" 为 "--" + NSString *processedText = [text stringByReplacingOccurrencesOfString:@"-" withString:@"--"]; + + NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:processedText]; + + // 默认样式 + [attributedStr addAttributes:@{ + NSFontAttributeName: [UIFont systemFontOfSize:13], + NSForegroundColorAttributeName: [UIColor blackColor] + } range:NSMakeRange(0, processedText.length)]; + + // 匹配数字或 "--" + NSError *error = nil; + NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\d+(\\.\\d+)?|--" + options:0 + error:&error]; + if (error) { + return attributedStr; + } + + NSArray *matches = [regex matchesInString:processedText options:0 range:NSMakeRange(0, processedText.length)]; + for (NSTextCheckingResult *match in matches) { + NSRange range = match.range; + [attributedStr addAttributes:@{ + NSFontAttributeName: [UIFont systemFontOfSize:28 weight:UIFontWeightBold], + NSForegroundColorAttributeName: numberColor ?: [UIColor redColor] + } range:range]; + } + + return attributedStr; +} + +//步数 +- (void)clickAction { + + for (MonitoringListDataModel * listModel in _heardModel.indexItemVos) { + + if ([listModel.wdTypeName isEqualToString:@"步数"]) { + + if (self.heardBlock) { + + self.heardBlock(listModel.wdType, listModel.dataDate); + } + } + + } + +} +- (void)sleepAction { + + for (MonitoringListDataModel * listModel in _heardModel.indexItemVos) { + + + if ([listModel.wdTypeName isEqualToString:@"睡眠"]) { + + + if (self.heardBlock) { + + self.heardBlock(listModel.wdType, listModel.dataDate); + } + } + } + +} + +@end diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableFooterView.h b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableFooterView.h new file mode 100644 index 0000000..b3164df --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableFooterView.h @@ -0,0 +1,20 @@ +// +// MonitoringWatchTableFooterView.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/14. +// + +#import +#import "MonitoringDataModel.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface MonitoringWatchTableFooterView : UIView + +@property (nonatomic, strong) MonitoringDataModel * footModel; + + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableFooterView.m b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableFooterView.m new file mode 100644 index 0000000..d564da9 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableFooterView.m @@ -0,0 +1,99 @@ +// +// MonitoringWatchTableFooterView.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/14. +// + +#import "MonitoringWatchTableFooterView.h" + +@interface MonitoringWatchTableFooterView () + +@property (nonatomic, strong) UIView * warnView ; + +@property (nonatomic, strong) UILabel * contLabel ; + + +@end + +@implementation MonitoringWatchTableFooterView + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code +} +*/ + +- (instancetype)initWithFrame:(CGRect)frame { + + if (self = [super initWithFrame:frame]) { + + [self createUI]; + } + return self; +} + +- (void)createUI { + + + UIView * watchView = [[UIView alloc] initWithFrame:CGRectMake(kRealValue(15), kRealValue(16), kScreenWidth - kRealValue(30), kRealValue(143))]; + watchView.layer.cornerRadius = 15; + watchView.backgroundColor = KWhiteColor; + watchView.layer.masksToBounds = true; + [self addSubview:watchView]; + CGFloat footWidth = (watchView.width - kRealValue(60))/3; + + for (int i = 0; i < 3; i ++) { + + UIView * footView = [[UIView alloc] initWithFrame:CGRectMake(kRealValue(15) + (footWidth + kRealValue(15) )* i, kRealValue(11), footWidth, kRealValue(123))]; + footView.layer.cornerRadius = 15; + footView.backgroundColor = KWhiteColor; + footView.layer.masksToBounds = true; + + UILabel * titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, kRealValue(19), footWidth, 16)]; + titleLabel.font = BOLDSYSTEMFONT(16); + titleLabel.textAlignment = NSTextAlignmentCenter; + + UILabel * contLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, titleLabel.bottom + kRealValue(12), footWidth, footView.height - kRealValue(56))]; + contLabel.font = MEDIUMFONT(12); + contLabel.numberOfLines = 0; + self.contLabel = contLabel; + contLabel.textColor = UIColorHex(#77849E); + contLabel.textAlignment = NSTextAlignmentCenter; + + if (i == 0) { + footView.backgroundColor = UIColorHex(#E3F2F9); + titleLabel.text = @"穿戴设备"; + titleLabel.textColor = UIColorHex(#0789C0); + contLabel.text = @"佩戴90天23小时\n充电284次"; + + } + if (i == 1) { + footView.backgroundColor = UIColorHex(#FFF3EB); + titleLabel.text = @"预警研究"; + titleLabel.textColor = UIColorHex(#E7AE84); + contLabel.text = @"心率失常权重 \n 心率失常权重 \n 心率失常权重"; + } + if (i == 2) { + footView.backgroundColor = UIColorHex(#FFEFF2); + titleLabel.text = @"心脏体检"; + titleLabel.textColor = UIColorHex(#D16685); + contLabel.text = @"心电图正常 \n 心脏CTA正常 \n 检验指标正常"; + } + [watchView addSubview:footView]; + [footView addSubview:titleLabel]; + [footView addSubview:contLabel]; + } + +} + +- (void)setFootModel:(MonitoringDataModel *)footModel { + + _footModel = footModel; + + self.contLabel.text = [NSString stringWithFormat:@"佩戴%ld天",_footModel.days]; + +} +@end diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableView.h b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableView.h new file mode 100644 index 0000000..4e47439 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableView.h @@ -0,0 +1,35 @@ +// +// MonitoringWatchTableView.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/14. +// + +#import +#import "MonitoringDataModel.h" +#import "MonitoringWatchTableViewCell.h" +#import "MonitoringWarchTableHeardView.h" + +NS_ASSUME_NONNULL_BEGIN +typedef void(^lookDetailBlock)(NSString * type, NSString *time); +typedef void(^sleepAndStepDetailBlock)(NSString * type, NSString *time); + +@interface MonitoringWatchTableView : UITableView + +@property (nonatomic, strong) NSArray * dataArray; + +@property (nonatomic, assign) BOOL isHaveQustion; + +@property (nonatomic, strong) MonitoringDataModel * model; + +@property (nonatomic, copy) showPickStringBlock popBlock; + +@property (nonatomic, copy) lookDetailBlock detailBlock; + +@property (nonatomic, copy) sleepAndStepDetailBlock heardBlock; + +@property (nonatomic, copy) showHistoryListBlock historyBlock; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableView.m b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableView.m new file mode 100644 index 0000000..e5f8d66 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableView.m @@ -0,0 +1,246 @@ +// +// MonitoringWatchTableView.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/14. +// + +#import "MonitoringWatchTableView.h" +#import "MonitoringWarchTableHeardView.h" +#import "MonitoringWatchTableViewCell.h" +#import "MonitoringWatchTableFooterView.h" + +@interface MonitoringWatchTableView () + +@property (nonatomic, strong) MonitoringWarchTableHeardView * badHeardView; + +@property (nonatomic, strong) MonitoringWatchTableFooterView * badfooterView; + + +@end + +@implementation MonitoringWatchTableView + + +- (MonitoringWarchTableHeardView *)badHeardView { + + if (!_badHeardView) { + + _badHeardView = [[MonitoringWarchTableHeardView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(195))]; + MJWeakSelf + _badHeardView.heardBlock = ^(NSString * _Nonnull type, NSString * _Nonnull time) { + weakSelf.heardBlock(type, time); + }; + } + return _badHeardView; +} + +- (MonitoringWatchTableFooterView *)badfooterView { + + if (!_badfooterView) { + + _badfooterView = [[MonitoringWatchTableFooterView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(165))]; + } + return _badfooterView; + +} + +- (instancetype)initWithFrame:(CGRect)frame style:(UITableViewStyle)style +{ + if (self = [super initWithFrame:frame style:style]) + { + [self createUI]; + } + return self; +} + + +- (void)createUI +{ + if ([[UIDevice currentDevice].systemVersion floatValue] >= 11) { + self.estimatedRowHeight = 0; + self.estimatedSectionFooterHeight = 0; + self.estimatedSectionHeaderHeight = 0; + self.contentInsetAdjustmentBehavior = UIScrollViewContentInsetAdjustmentNever; + } + self.delegate = self; + self.backgroundColor = KClearColor; + self.dataSource = self; + self.separatorStyle = UITableViewCellSeparatorStyleNone; + self.showsVerticalScrollIndicator = NO; + self.tableHeaderView = self.badHeardView; +// self.tableFooterView = self.badfooterView; +} + +- (void)setModel:(MonitoringDataModel *)model { + + _model = model; + + self.badHeardView.heardModel = _model; + self.badfooterView.footModel = _model; + [self reloadData]; + +} + +#pragma mark - DataSource +- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section +{ + + return 1; +} + +- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView +{ + return 4; + +} + +- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { + + MonitoringWatchTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:@"CELLID"]; + + if (!cell) { + + cell = [[MonitoringWatchTableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CELLID"]; + } + cell.backgroundColor = CViewBgColor; + if (indexPath.section == 0) { + + for (MonitoringListDataModel * listModel in self.model.indexItemVos) { + + if ([listModel.wdTypeName isEqualToString:@"心率"]) { + cell.listModel = listModel; + } + + } + + + } + if (indexPath.section == 1) { + + for (MonitoringListDataModel * listModel in self.model.indexItemVos) { + + if ([listModel.wdTypeName isEqualToString:@"血氧饱和度"]) { + cell.listModel = listModel; + } + + } + + } + if (indexPath.section == 2) { + + for (MonitoringListDataModel * listModel in self.model.indexItemVos) { + + if ([listModel.wdTypeName isEqualToString:@"压力"]) { + cell.listModel = listModel; + } + + } + + } + if (indexPath.section == 3) { + + for (MonitoringListDataModel * listModel in self.model.indexItemVos) { + + if ([listModel.wdTypeName isEqualToString:@"体温"]) { + cell.listModel = listModel; + } + + } + + } + cell.selectionStyle = UITableViewCellSelectionStyleNone; + cell.popBlock = self.popBlock; + cell.historyBlock = self.historyBlock; + return cell; +} + + + +- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath +{ + NSString * lookType; + if (indexPath.section == 0) { + + for (MonitoringListDataModel * listModel in self.model.indexItemVos) { + + if ([listModel.wdTypeName isEqualToString:@"心率"]) { + + if (self.detailBlock) { + self.detailBlock(listModel.wdType, listModel.dataDate); + } + } + + } + + + } + if (indexPath.section == 1) { + + for (MonitoringListDataModel * listModel in self.model.indexItemVos) { + + if ([listModel.wdTypeName isEqualToString:@"血氧饱和度"]) { + + if (self.detailBlock) { + self.detailBlock(listModel.wdType, listModel.dataDate); + } + } + + } + + } + if (indexPath.section == 2) { + + for (MonitoringListDataModel * listModel in self.model.indexItemVos) { + + if ([listModel.wdTypeName isEqualToString:@"压力"]) { + if (self.detailBlock) { + self.detailBlock(listModel.wdType, listModel.dataDate); + } + } + + } + + } + if (indexPath.section == 3) { + + for (MonitoringListDataModel * listModel in self.model.indexItemVos) { + + if ([listModel.wdTypeName isEqualToString:@"体温"]) { + if (self.detailBlock) { + self.detailBlock(listModel.wdType, listModel.dataDate); + } + } + + } + + } + +} + +- (CGFloat )tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section +{ + return CGFLOAT_MIN; +} + +- (CGFloat )tableView:(UITableView *)tableView heightForFooterInSection:(NSInteger)section +{ + return kRealValue(15); +} + +- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath +{ + + return kRealValue(120); +} + +- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section { + + + return [UIView new]; + +} + + + +@end diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableViewCell.h new file mode 100644 index 0000000..58a4b09 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableViewCell.h @@ -0,0 +1,27 @@ +// +// MonitoringWatchTableViewCell.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/14. +// + +#import +#import "MonitoringDataModel.h" + +typedef void(^showPickStringBlock)(NSString * type); + +typedef void(^showHistoryListBlock)(NSString * type); + +NS_ASSUME_NONNULL_BEGIN + +@interface MonitoringWatchTableViewCell : UITableViewCell + +@property (nonatomic, strong) MonitoringListDataModel * listModel; + +@property (nonatomic, copy) showPickStringBlock popBlock; + +@property (nonatomic, copy) showHistoryListBlock historyBlock; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableViewCell.m new file mode 100644 index 0000000..c417c59 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Monitoring/View/MonitoringWatchTableViewCell.m @@ -0,0 +1,199 @@ +// +// MonitoringWatchTableViewCell.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/14. +// + +#import "MonitoringWatchTableViewCell.h" + +@interface MonitoringWatchTableViewCell () + +@property (nonatomic, strong) UIImageView * projectImage; + +@property (nonatomic, strong) UILabel * projectName; + +@property (nonatomic, strong) UILabel * timeLabel; + +@property (nonatomic, strong) UILabel * dataLabel; + +@end + +@implementation MonitoringWatchTableViewCell + +- (void)awakeFromNib { + [super awakeFromNib]; + // Initialization code +} + +- (void)setSelected:(BOOL)selected animated:(BOOL)animated { + [super setSelected:selected animated:animated]; + + // Configure the view for the selected state +} + +- (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier { + + if (self = [super initWithStyle:style reuseIdentifier:reuseIdentifier]) { + + [self createUI]; + } + return self; +} + +- (void)createUI { + + UIView * backView = [[UIView alloc] initWithFrame:CGRectMake(kRealValue(15), 0, kScreenWidth - kRealValue(30), kRealValue(120))]; + backView.backgroundColor = KWhiteColor; + backView.layer.cornerRadius = 15.0; + backView.layer.masksToBounds = true; + [self.contentView addSubview:backView]; + + self.projectImage = [[UIImageView alloc] initWithFrame:CGRectMake(kRealValue(12), kRealValue(22), kRealValue(32), kRealValue(32))]; + [backView addSubview:self.projectImage]; + + self.projectName = [[UILabel alloc] initWithFrame:CGRectMake(self.projectImage.right + kRealValue(12), kRealValue(20), backView.width - kRealValue(90), 15)]; + self.projectName.text = @"--"; + self.projectName.textColor = CFontColor1; + self.projectName.textAlignment = NSTextAlignmentLeft; + self.projectName.font = BOLDSYSTEMFONT(16); + [backView addSubview:self.projectName]; + + self.timeLabel = [[UILabel alloc] initWithFrame:CGRectMake(self.projectImage.right + kRealValue(12),self.projectName.bottom + kRealValue(10), backView.width - kRealValue(90), 15)]; + self.timeLabel.text = @"--"; + self.timeLabel.textColor = UIColorHex(#77849E); + self.timeLabel.textAlignment = NSTextAlignmentLeft; + self.timeLabel.font = [UIFont systemFontOfSize:13 weight:UIFontWeightRegular]; + [backView addSubview:self.timeLabel]; + + UIButton * accowBtn = [[UIButton alloc] initWithFrame:CGRectMake(backView.width - kRealValue(12) - 20, kRealValue(23), 15, 15)]; + [accowBtn setImage:[UIImage imageNamed:@"garyRight"] forState:UIControlStateNormal]; + accowBtn.userInteractionEnabled = false; + [backView addSubview:accowBtn]; + + self.dataLabel = [[UILabel alloc] initWithFrame:CGRectMake(accowBtn.left - kRealValue(5) - 200, kRealValue(22), 200, 22)]; + self.dataLabel.text = @"--"; + self.dataLabel.textColor = CFontColor1; + self.dataLabel.textAlignment = NSTextAlignmentRight; + self.dataLabel.font = BOLDSYSTEMFONT(16); + [backView addSubview:self.dataLabel]; + + UIView * lineView = [[UIView alloc] initWithFrame:CGRectMake(0, backView.bottom - kRealValue(44), backView.width, 1)]; + lineView.backgroundColor = UIColorHex(#EAECF1); + [backView addSubview:lineView]; + + UIButton * historyBtn = [[UIButton alloc] initWithFrame:CGRectMake(backView.width - kRealValue(82) ,backView.bottom - kRealValue(10) - kRealValue(24) , kRealValue(70), kRealValue(24))]; + [historyBtn setTitle:@"预警历史" forState:UIControlStateNormal]; + [historyBtn setTitleColor:KWhiteColor forState:UIControlStateNormal]; + historyBtn.layer.cornerRadius = 4.0; + historyBtn.layer.masksToBounds = true; + historyBtn.titleLabel.font = BOLDSYSTEMFONT(13); + historyBtn.backgroundColor = UIColorHex(#21BEBD); + [historyBtn addTarget:self action:@selector(historyList) forControlEvents:UIControlEventTouchUpInside]; + [backView addSubview:historyBtn]; + + + UIButton * thresholdBtn = [[UIButton alloc] initWithFrame:CGRectMake(historyBtn.left - kRealValue(82) ,backView.bottom - kRealValue(10) - kRealValue(24) , kRealValue(70), kRealValue(24))]; + [thresholdBtn setTitle:@"阈值设置" forState:UIControlStateNormal]; + [thresholdBtn setTitleColor:KWhiteColor forState:UIControlStateNormal]; + thresholdBtn.layer.cornerRadius = 4.0; + thresholdBtn.layer.masksToBounds = true; + thresholdBtn.titleLabel.font = BOLDSYSTEMFONT(13); + thresholdBtn.backgroundColor = UIColorHex(#F1B101); + [thresholdBtn addTarget:self action:@selector(popStringPick) forControlEvents:UIControlEventTouchUpInside]; + [backView addSubview:thresholdBtn]; +} +- (void)popStringPick { + + self.popBlock(self.listModel.wdType); + +} + +- (void)historyList { + + self.historyBlock(self.listModel.wdType); + +} + +- (void)setListModel:(MonitoringListDataModel *)listModel { + + _listModel = listModel; + + self.projectName.text = listModel.wdTypeName; + self.timeLabel.text = listModel.dataDate; + + UIColor * color; + if ([_listModel.wdTypeName isEqualToString:@"心率"]) { + color = UIColorHex(#F14D6B); + self.projectImage.image = [UIImage imageNamed:@"homePageXinlv"]; + NSString * dataString = [NSString stringWithFormat:@"%@次/分钟",SafeStr(_listModel.dataValue)]; + self.dataLabel.attributedText = [self attributedStringWithText:dataString numberColor:color]; + + + } + if ([listModel.wdTypeName isEqualToString:@"血氧饱和度"]) { + color = UIColorHex(#2AC79F); + self.projectImage.image = [UIImage imageNamed:@"homePageXueyang"]; + NSString * dataString = [NSString stringWithFormat:@"%@%%",SafeStr(_listModel.dataValue)]; + self.dataLabel.attributedText = [self attributedStringWithText:dataString numberColor:color]; + } + if ([listModel.wdTypeName isEqualToString:@"压力"]) { + color = UIColorHex(#1385FA); + self.projectImage.image = [UIImage imageNamed:@"homePageYali"]; + NSString * dataString = [NSString stringWithFormat:@"%@",SafeStr(_listModel.dataValue)]; + self.dataLabel.attributedText = [self attributedStringWithText:dataString numberColor:color]; + } + if ([listModel.wdTypeName isEqualToString:@"体温"]) { + color = UIColorHex(#02C7D2); + self.projectImage.image = [UIImage imageNamed:@"homePageTiwen"]; + NSString * dataString = [NSString stringWithFormat:@"%@℃",SafeStr(_listModel.dataValue)]; + self.dataLabel.attributedText = [self attributedStringWithText:dataString numberColor:color]; + } + +} + + +/// 传入字符串和数字颜色,返回符合需求的富文本 +- (NSAttributedString *)attributedStringWithText:(NSString *)text numberColor:(UIColor *)numberColor { + if (text.length == 0) { + NSMutableAttributedString *emptyStr = [[NSMutableAttributedString alloc] initWithString:@""]; + [emptyStr addAttributes:@{ + NSFontAttributeName: [UIFont systemFontOfSize:12], + NSForegroundColorAttributeName: [UIColor blackColor] + } range:NSMakeRange(0, 0)]; + return emptyStr; + } + + // 替换单个 "-" 为 "--" + NSString *processedText = [text stringByReplacingOccurrencesOfString:@"-" withString:@"--"]; + + NSMutableAttributedString *attributedStr = [[NSMutableAttributedString alloc] initWithString:processedText]; + + // 默认样式 + [attributedStr addAttributes:@{ + NSFontAttributeName: [UIFont systemFontOfSize:12], + NSForegroundColorAttributeName: [UIColor blackColor] + } range:NSMakeRange(0, processedText.length)]; + + // 匹配数字或 "--" + NSError *error = nil; + NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"\\d+(\\.\\d+)?|--" + options:0 + error:&error]; + if (error) { + return attributedStr; + } + + NSArray *matches = [regex matchesInString:processedText options:0 range:NSMakeRange(0, processedText.length)]; + for (NSTextCheckingResult *match in matches) { + NSRange range = match.range; + [attributedStr addAttributes:@{ + NSFontAttributeName: [UIFont systemFontOfSize:24 weight:UIFontWeightBold], + NSForegroundColorAttributeName: numberColor ?: [UIColor redColor] + } range:range]; + } + + return attributedStr; +} + +@end diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/EvaluationListViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/EvaluationListViewController.h index 98b07ca..2b0e26c 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/EvaluationListViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/EvaluationListViewController.h @@ -1,6 +1,6 @@ // // EvaluationListViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/EvaluationListViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/EvaluationListViewController.m index c9cf91c..14f3538 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/EvaluationListViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/EvaluationListViewController.m @@ -1,6 +1,6 @@ // // EvaluationListViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/ExpertMainViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/ExpertMainViewController.h index 2d4a22b..2148615 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/ExpertMainViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/ExpertMainViewController.h @@ -1,6 +1,6 @@ // // ExpertMainViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/16. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/ExpertMainViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/ExpertMainViewController.m index 0c90e23..fcbfadc 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/ExpertMainViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/ExpertMainViewController.m @@ -1,6 +1,6 @@ // // ExpertMainViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/16. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/FileDataDetailViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/FileDataDetailViewController.h index be672bb..c95fb86 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/FileDataDetailViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/FileDataDetailViewController.h @@ -1,6 +1,6 @@ // // FileDataDetailViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/FileDataDetailViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/FileDataDetailViewController.m index a7e7502..33e7850 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/FileDataDetailViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/FileDataDetailViewController.m @@ -1,6 +1,6 @@ // // FileDataDetailViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalIntroViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalIntroViewController.h index 9d70418..e6dae8f 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalIntroViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalIntroViewController.h @@ -1,6 +1,6 @@ // // HospitalIntroViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalIntroViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalIntroViewController.m index fcba9ea..86454a8 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalIntroViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalIntroViewController.m @@ -1,6 +1,6 @@ // // HospitalIntroViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalJianjieViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalJianjieViewController.h index 29dcb0e..90e6396 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalJianjieViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalJianjieViewController.h @@ -1,6 +1,6 @@ // // HospitalJianjieViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/1. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalJianjieViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalJianjieViewController.m index 2da1181..bebe7ea 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalJianjieViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalJianjieViewController.m @@ -1,6 +1,6 @@ // // HospitalJianjieViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/1. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalMainViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalMainViewController.h index 86c1781..965e354 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalMainViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalMainViewController.h @@ -1,6 +1,6 @@ // // HospitalMainViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalMainViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalMainViewController.m index 042a45a..d615e58 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalMainViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/HospitalMainViewController.m @@ -1,6 +1,6 @@ // // HospitalMainViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/LookModficalFileViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/LookModficalFileViewController.h index ea204b1..03b9f09 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/LookModficalFileViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/LookModficalFileViewController.h @@ -1,6 +1,6 @@ // // LookModficalFileViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/27. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/LookModficalFileViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/LookModficalFileViewController.m index dcb07ff..20828b7 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/LookModficalFileViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/LookModficalFileViewController.m @@ -1,6 +1,6 @@ // // LookModficalFileViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/27. // @@ -16,7 +16,7 @@ #import "FileDataModel.h" #import "LookFileDataModel.h" #import "SOSGroupIMModel.h" -#import "DoctorMainViewController.h" +#import "XJDoctorMainViewController.h" #import "TZPhotoPreviewController.h" #import #import "TZImagePickerController.h" @@ -665,7 +665,7 @@ if ([tag isEqualToString:@"VIDEO"]) { NSString * resultString = response; - DoctorMainViewController * doctorVC = [[DoctorMainViewController alloc] init]; + XJDoctorMainViewController * doctorVC = [[XJDoctorMainViewController alloc] init]; doctorVC.yuyue_id = resultString; doctorVC.popType = 1; [self.navigationController pushViewController:doctorVC animated:YES]; diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuesstionDetailLookFileViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuesstionDetailLookFileViewController.h index 7168b14..8f73b0e 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuesstionDetailLookFileViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuesstionDetailLookFileViewController.h @@ -1,6 +1,6 @@ // // QuesstionDetailLookFileViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuesstionDetailLookFileViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuesstionDetailLookFileViewController.m index 169bad4..16ab094 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuesstionDetailLookFileViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuesstionDetailLookFileViewController.m @@ -1,6 +1,6 @@ // // QuesstionDetailLookFileViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionMustKnowViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionMustKnowViewController.h index 9c3a7d2..e6396b6 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionMustKnowViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionMustKnowViewController.h @@ -1,6 +1,6 @@ // // QuestionMustKnowViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/13. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionMustKnowViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionMustKnowViewController.m index 4f1f7fd..9d7f9c7 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionMustKnowViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionMustKnowViewController.m @@ -1,6 +1,6 @@ // // QuestionMustKnowViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/13. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionPeopleMangerVC.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionPeopleMangerVC.h index aa676f3..d452b55 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionPeopleMangerVC.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionPeopleMangerVC.h @@ -1,6 +1,6 @@ // // QuestionPeopleMangerVC.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionPeopleMangerVC.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionPeopleMangerVC.m index 83290e5..512064b 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionPeopleMangerVC.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionPeopleMangerVC.m @@ -1,6 +1,6 @@ // // QuestionPeopleMangerVC.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // @@ -9,7 +9,7 @@ #import "QuestionPeopleManagerTable.h" #import "QuestionPeopleModel.h" #import "SelectedQuestionViewController.h" -#import "AddQuestionViewController.h" +#import "XJAddQuestionViewController.h" @interface QuestionPeopleMangerVC () @@ -62,7 +62,7 @@ __weak __typeof(self) weakSelf = self; self.homeTable.xiugaiBlcok = ^(QuestionPeopleModel * _Nullable model) { - AddQuestionViewController * selcetVC = [[AddQuestionViewController alloc] init]; + XJAddQuestionViewController * selcetVC = [[XJAddQuestionViewController alloc] init]; selcetVC.questionModel = model; [weakSelf.navigationController pushViewController:selcetVC animated:true]; @@ -161,7 +161,7 @@ - (void)addQuestionAction { - AddQuestionViewController * selcetVC = [[AddQuestionViewController alloc] init]; + XJAddQuestionViewController * selcetVC = [[XJAddQuestionViewController alloc] init]; // [self.navigationController pushViewController:selcetVC animated:true]; diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionViewController.h index 8dc96c2..3fa698f 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionViewController.h @@ -1,6 +1,6 @@ // // QuestionViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/13. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionViewController.m index 559ee70..acfc768 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QuestionViewController.m @@ -1,6 +1,6 @@ // // QuestionViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/13. // @@ -10,10 +10,10 @@ #import "HealthyQuestionHeardView.h" #import "QuestionPeopleMangerVC.h" #import "FoundExpertViewController.h" -#import "DoctorMainViewController.h" +#import "XJDoctorMainViewController.h" #import "DoctorRecommendModel.h" #import "ExpertMainViewController.h" -#import "QustionRecordViewController.h" +#import "XJQustionRecordViewController.h" #import "ChatViewController.h" #import "QuesstionDetailLookFileViewController.h" #import "SmallHelpIMDataModel.h" @@ -24,7 +24,7 @@ #import "PSCheckVersionView.h" #import "RoomDoctorRecordsVC.h" #import "HomeQusetionRecordsModel.h" -#import "DoctorMainViewController.h" +#import "XJDoctorMainViewController.h" @interface QuestionViewController () @@ -32,7 +32,7 @@ @property (nonatomic, assign) NSInteger page; -@property (nonatomic, strong) PSCheckVersionView * checkVersionView; +//@property (nonatomic, strong) PSCheckVersionView * checkVersionView; @property (nonatomic, strong) UIView * coverView; //定位相关 @property (nonatomic, strong) AMapSearchAPI *search; @@ -173,12 +173,12 @@ #pragma mark:更新 - (void)getUpDateinfo { - NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; - // 获取应用的版本号 - [parmDic setObject:@"com.question.QinghaiProvince" forKey:@"pkg"]; - - JKCQAPI * homeRemakerApi = [[JKCQAPI alloc] init:self tag:@"UPVERSION" NeedToken:@""]; - [homeRemakerApi getABMUpdate:parmDic]; +// NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; +// // 获取应用的版本号 +// [parmDic setObject:@"com.question.QinghaiProvince" forKey:@"pkg"]; +// +// JKCQAPI * homeRemakerApi = [[JKCQAPI alloc] init:self tag:@"UPVERSION" NeedToken:@""]; +// [homeRemakerApi getABMUpdate:parmDic]; } @@ -256,7 +256,7 @@ //1图文 2视频 if ([model.contentType intValue] == 2) { - DoctorMainViewController * doctorVC = [[DoctorMainViewController alloc] init]; + XJDoctorMainViewController * doctorVC = [[XJDoctorMainViewController alloc] init]; doctorVC.yuyue_id = model.records_id; doctorVC.popType = 1; [weakself.navigationController pushViewController:doctorVC animated:YES]; @@ -627,23 +627,23 @@ - (void)show:(PSAppInfo *)info { - if (_coverView) { return; } - - __weak typeof(self)weakSelf = self; - - self.checkVersionView = [[PSCheckVersionView alloc] - initWithAppInfo:info - confirm:^{ - [self jumpAppStoreUpdate]; - }]; - - [self.coverView addSubview:self.checkVersionView]; - [self.checkVersionView mas_makeConstraints:^(MASConstraintMaker *make) { - make.width.equalTo(self.coverView).multipliedBy(0.69); - make.height.equalTo(self.coverView).multipliedBy(0.57); - make.center.equalTo(self.coverView); - }]; - [[UIApplication sharedApplication].keyWindow.rootViewController.view addSubview:self.coverView]; +// if (_coverView) { return; } +// +// __weak typeof(self)weakSelf = self; +// +// self.checkVersionView = [[PSCheckVersionView alloc] +// initWithAppInfo:info +// confirm:^{ +// [self jumpAppStoreUpdate]; +// }]; +// +// [self.coverView addSubview:self.checkVersionView]; +// [self.checkVersionView mas_makeConstraints:^(MASConstraintMaker *make) { +// make.width.equalTo(self.coverView).multipliedBy(0.69); +// make.height.equalTo(self.coverView).multipliedBy(0.57); +// make.center.equalTo(self.coverView); +// }]; +// [[UIApplication sharedApplication].keyWindow.rootViewController.view addSubview:self.coverView]; } - (void)jumpAppStoreUpdate { @@ -699,7 +699,7 @@ - (void)myQuestionAction { - QustionRecordViewController * myVC = [[QustionRecordViewController alloc] init]; + XJQustionRecordViewController * myVC = [[XJQustionRecordViewController alloc] init]; [self.navigationController pushViewController:myVC animated:true]; diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJAudioVideoRecordViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJAudioVideoRecordViewController.h new file mode 100644 index 0000000..e9d2944 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJAudioVideoRecordViewController.h @@ -0,0 +1,16 @@ +// +// XJAudioVideoRecordViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/28. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJAudioVideoRecordViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJAudioVideoRecordViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJAudioVideoRecordViewController.m new file mode 100644 index 0000000..18dde8c --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJAudioVideoRecordViewController.m @@ -0,0 +1,229 @@ +// +// XJAudioVideoRecordViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/28. +// + +#import "XJAudioVideoRecordViewController.h" +#import "QuestionRecoredTable.h" +#import "QuestionRecordModel.h" +#import "RecordIMListDateModel.h" +#import "XJDoctorMainViewController.h" + +@interface XJAudioVideoRecordViewController () + +@property (nonatomic, strong) QuestionRecoredTable * homeTable; + +@property (nonatomic, strong) NSMutableArray * buttonArray; + +@property (nonatomic, strong) NSMutableArray * dataArray; + +@property (nonatomic, assign) NSInteger pageNo; + +@property (nonatomic, copy) NSString * type; + +@end + +@implementation XJAudioVideoRecordViewController + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + + _dataArray = [[NSMutableArray alloc] init]; + + } + return _dataArray; + +} + +- (NSMutableArray *)buttonArray { + + if (!_buttonArray) { + + _buttonArray = [[NSMutableArray alloc] init]; + + } + return _buttonArray; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = false; + self.pageNo = 1; + self.type = @"3"; + [self createUI]; + [self createData]; +} + +- (void)createUI { + // 3 1 5 + NSArray * array = @[@"进行中",@"待确认",@"已完成"]; + + [self.buttonArray removeAllObjects]; + CGFloat w = kRealValue(80); + for (int index = 0; index < array.count; index ++) { + + UIButton * listBtn = [[UIButton alloc] init]; + + listBtn.frame = CGRectMake(kRealValue(15) + (w + kRealValue(13)) * index , kRealValue(15), w, 27); + [listBtn setTitle:array[index] forState:UIControlStateNormal]; + [listBtn setTitleColor:KWhiteColor forState:UIControlStateSelected]; + [listBtn setTitleColor:CFontColor1 forState:UIControlStateNormal]; + [listBtn addTarget:self action:@selector(statusChange:) forControlEvents:UIControlEventTouchUpInside]; + listBtn.titleLabel.font = SYSTEMFONT(13); + listBtn.layer.cornerRadius = 14.0; + listBtn.layer.masksToBounds = true; + listBtn.tag = 1000 + index; + [self.view addSubview:listBtn]; + if (index == 0 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + [self.buttonArray addObject:listBtn]; + + } + + + + self.homeTable = [[QuestionRecoredTable alloc] initWithFrame:CGRectMake(0, 50, kScreenWidth, kScreenHeight - kTopHeight - kRealValue(110)) style:UITableViewStyleGrouped]; + self.homeTable.detailBlock = ^(NSString * _Nonnull recordID, NSString * _Nonnull imID, NSString * _Nonnull memberId, RecordIMListDateModel * _Nonnull model) { + + XJDoctorMainViewController * doctorVC = [[XJDoctorMainViewController alloc] init]; + doctorVC.yuyue_id = recordID; + doctorVC.popType = 1; + [self.navigationController pushViewController:doctorVC animated:YES]; + }; + [self.view addSubview:self.homeTable]; + + + + [self.view addSubview:self.homeTable]; + + + __weak __typeof(self) weakSelf = self; + self.homeTable.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + weakSelf.pageNo = 1; + + [weakSelf createData]; + + + }]; + self.homeTable.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + weakSelf.pageNo ++; + [weakSelf createData]; + }]; + + LYEmptyView *emptyView = [LYEmptyView emptyViewWithImageStr:@"noData" titleStr:@"暂无数据" detailStr:@""]; + //元素竖直方向的间距 + emptyView.subViewMargin = 20.f; + //标题颜色 + emptyView.titleLabTextColor = [UIColor blackColor]; + //描述字体 + emptyView.detailLabFont = [UIFont systemFontOfSize:17]; + //按钮背景色 + emptyView.actionBtnBackGroundColor = KWhiteColor; + emptyView.actionBtnWidth = CGFLOAT_MIN; + emptyView.actionBtnHeight = CGFLOAT_MIN; + + //设置空内容占位图 + self.homeTable.ly_emptyView = emptyView; + +} +- (void)viewWillAppear:(BOOL)animated { + + [super viewWillAppear:animated]; + [self.homeTable.mj_header beginRefreshing]; +} +- (void)createData { + // type : 1 图文 2 音视频 + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:@(self.pageNo) forKey:@"pageNo"]; + [parmDic setObject:@(10) forKey:@"pageSize"]; + [parmDic setObject: self.type forKey:@"status"]; + [parmDic setObject:@"2" forKey:@"type"]; + + JKCQAPI * recordApi = [[JKCQAPI alloc] init:self tag:@"RECORD" NeedToken:@""]; + [recordApi GetQuestionRecordList:parmDic]; +} + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + [self hiddenAllMBProgressHUD]; + +} + + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + if ([tag isEqualToString:@"RECORD"]) { + if (self.pageNo == 1) { + [self.dataArray removeAllObjects]; + } + NSArray * array = response ; + + for (NSDictionary * dic in array) { + + RecordIMListDateModel * model = [ RecordIMListDateModel modelWithDictionary:dic]; + + [self.dataArray addObject:model]; + } + self.homeTable.dataArray = self.dataArray; + + } +} + +- (void)statusChange:(UIButton *)statusBtn { + + + if (statusBtn.tag == 1000) { + self.type = @"3"; + } + if (statusBtn.tag == 1001) { + self.type = @"1"; + } + if (statusBtn.tag == 1002) { + self.type = @"5"; + } + + for (UIButton * titBtn in self.buttonArray) { + + if (titBtn == statusBtn) { + + titBtn.selected = YES; + titBtn.backgroundColor = UIColorHex(#21BEBD); + + }else + { + titBtn.selected = NO; + titBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } + [self.homeTable.mj_header beginRefreshing]; +} + + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end + diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/QustionWaitEvlaViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJPictureRecordViewController.h similarity index 53% rename from XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/QustionWaitEvlaViewController.h rename to XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJPictureRecordViewController.h index 38e533f..2b71679 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/QustionWaitEvlaViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJPictureRecordViewController.h @@ -1,6 +1,6 @@ // -// QustionWaitEvlaViewController.h -// EscortProject +// XJPictureRecordViewController.h +// XinjiangProject // // Created by 仁康信息 on 2023/6/28. // @@ -9,7 +9,7 @@ NS_ASSUME_NONNULL_BEGIN -@interface QustionWaitEvlaViewController : HQBaseViewController +@interface XJPictureRecordViewController : HQBaseViewController @end diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJPictureRecordViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJPictureRecordViewController.m new file mode 100644 index 0000000..ec77f50 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJPictureRecordViewController.m @@ -0,0 +1,477 @@ +// +// XJPictureRecordViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/28. +// + +#import "XJPictureRecordViewController.h" +#import "QuestionRecoredTable.h" +#import "QuestionRecordModel.h" +#import "RecordIMListDateModel.h" +#import "XJDoctorMainViewController.h" +@interface XJPictureRecordViewController () + +@property (nonatomic, strong) QuestionRecoredTable * homeTable; + +@property (nonatomic, strong) NSMutableArray * buttonArray; +@property (nonatomic, strong) NSMutableArray * redCountArray; + +@property (nonatomic, assign) NSInteger pageNo; + +@property (nonatomic, copy) NSString * type; + +@property (nonatomic, strong) NSMutableArray * dataArray; + +@property (nonatomic, strong) NSMutableArray * groupIDArray; + +@property (nonatomic, strong) NSMutableArray * jingxingArray; + +@property (nonatomic, assign) NSInteger totalCount; + +@end + + +@implementation XJPictureRecordViewController + + +- (NSMutableArray *)groupIDArray { + + if (!_groupIDArray) { + + _groupIDArray = [[NSMutableArray alloc] init]; + + } + return _groupIDArray; + +} + +- (NSMutableArray *)redCountArray { + + if (!_redCountArray) { + + _redCountArray = [[NSMutableArray alloc] init]; + } + return _redCountArray; + +} +- (NSMutableArray *)jingxingArray { + + if (!_jingxingArray) { + + _jingxingArray = [[NSMutableArray alloc] init]; + + } + return _jingxingArray; + +} + + + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + + _dataArray = [[NSMutableArray alloc] init]; + + } + return _dataArray; + +} + +- (NSMutableArray *)buttonArray { + + if (!_buttonArray) { + + _buttonArray = [[NSMutableArray alloc] init]; + + } + return _buttonArray; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = false; + self.pageNo = 0; + self.type = @"3"; + + [self createUI]; + + if ([ESCTUIManager TUIUserStatus] == false) { + + [self loginImAccount]; + } + + if ([self.type integerValue] == 3) + { + [self getChatList]; + } + else + { + [self createData]; + } + +} + +- (void)createUI { + + NSArray * array = @[@"进行中",@"已完成"]; + [self.buttonArray removeAllObjects]; + CGFloat w = kRealValue(80); + for (int index = 0; index < array.count; index ++) { + + UIButton * listBtn = [[UIButton alloc] init]; + + listBtn.frame = CGRectMake(kRealValue(15) + (w + kRealValue(13)) * index , kRealValue(15), w, 27); + [listBtn setTitle:array[index] forState:UIControlStateNormal]; + [listBtn setTitleColor:KWhiteColor forState:UIControlStateSelected]; + [listBtn setTitleColor:CFontColor1 forState:UIControlStateNormal]; + [listBtn addTarget:self action:@selector(statusChange:) forControlEvents:UIControlEventTouchUpInside]; + listBtn.titleLabel.font = SYSTEMFONT(13); + listBtn.layer.cornerRadius = 14.0; + listBtn.layer.masksToBounds = true; + listBtn.tag = 1000 + index; + [self.view addSubview:listBtn]; + if (index == 0 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.width = kRealValue(90); + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + [self.buttonArray addObject:listBtn]; + + } + + + + self.homeTable = [[QuestionRecoredTable alloc] initWithFrame:CGRectMake(0, 50, kScreenWidth, kScreenHeight - kTopHeight - kRealValue(110) ) style:UITableViewStyleGrouped]; + self.homeTable.detailBlock = ^(NSString * _Nonnull recordID, NSString * _Nonnull imID, NSString * _Nonnull memberId, RecordIMListDateModel * _Nonnull model) { + + XJDoctorMainViewController * doctorVC = [[XJDoctorMainViewController alloc] init]; + doctorVC.yuyue_id = imID; + doctorVC.popType = 1; + [self.navigationController pushViewController:doctorVC animated:YES]; + }; + [self.view addSubview:self.homeTable]; + + + + + __weak __typeof(self) weakSelf = self; + self.homeTable.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + weakSelf.pageNo = 1; + + [weakSelf createData]; + + + }]; + self.homeTable.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + weakSelf.pageNo ++; + [weakSelf createData]; + }]; + + + self.homeTable = [[QuestionRecoredTable alloc] initWithFrame:CGRectMake(0, 50, kScreenWidth, kScreenHeight - kTopHeight - kRealValue(110)) style:UITableViewStyleGrouped]; + self.homeTable.detailBlock = ^(NSString * _Nonnull recordID, NSString * _Nonnull imID, NSString * _Nonnull memberId, RecordIMListDateModel * _Nonnull model) { + + +// DoctorMainViewController * doctorVC = [[DoctorMainViewController alloc] init]; +// doctorVC.yuyue_id = recordID; +// [self.navigationController pushViewController:doctorVC animated:YES]; + if ([TUILogin isUserLogined]) { + ChatViewController * chatVC = [[ChatViewController alloc] init]; + chatVC.isGroupID = YES; + chatVC.chatID = imID ; + chatVC.eableSendReport = true; + chatVC.eablehaveHelathData = false; + chatVC.navTitle = @"图文咨询"; + chatVC.isVideo = NO; + chatVC.pictureEnd_id = model.Record_id; + chatVC.questionType = 2; + chatVC.medicalRecordsId = memberId; + if ([model.contentStatus intValue] == 5) { + chatVC.isEveal = true; + }else + { + chatVC.isEveal = false; + } + if ([model.contentStatus intValue] >=4 ) { + chatVC.endRecordType = 100; + } + [self.navigationController pushViewController:chatVC animated:YES]; + }else + { + [self loginImAccount]; + } + + }; + [self.view addSubview:self.homeTable]; + + + + self.homeTable.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + weakSelf.pageNo = 0; + if ([ESCTUIManager TUIUserStatus] == false) { + + [self loginImAccount]; + } + if ([self.type integerValue] == 3) + { + [self getChatList]; + } + else + { + [weakSelf createData]; + } + + + + }]; + self.homeTable.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + weakSelf.pageNo ++; + if ([ESCTUIManager TUIUserStatus] == false) { + + [self loginImAccount]; + } + if ([self.type integerValue] == 3) + { + [self getChatList]; + } + else + { + [weakSelf createData]; + } + }]; + +} + +//获取腾讯im会话列表 + +- (void)getChatList { + + + V2TIMConversationListFilter *filter = [[V2TIMConversationListFilter alloc] init]; +// filter.type = V2TIM_C2C; //拉取单聊会话 + filter.type = V2TIM_GROUP; //拉取群聊会话 + [[V2TIMManager sharedInstance] getConversationListByFilter:filter nextSeq:self.pageNo count:50 succ:^(NSArray *list, uint64_t nextSeq, BOOL isFinished) { + // 获取会话列表成功,list 为会话列表 + if (self.pageNo == 0) { + [self.groupIDArray removeAllObjects]; + } + DLog(@"%@",list); + [self.redCountArray addObjectsFromArray:list]; + + for (V2TIMConversation * v2Model in list) { + [self.groupIDArray addObject: v2Model.groupID]; + + + } + [self postGroupArray:self.groupIDArray]; + } fail:^(int code, NSString *desc) { + // 获取会话列表失败 + }]; + +// //获取所以会话的未读总数 +// // filter.type = V2TIM_GROUP; //拉取群聊会话 +// +// [[V2TIMManager sharedInstance] getUnreadMessageCountByFilter:filter succ:^(UInt64 totalUnreadCount) { +// self.totalCount = totalUnreadCount; +// } fail:^(int code, NSString *desc) { +// +// }]; + +} + + +#pragma mark:上传id数组 +- (void)postGroupArray:(NSArray *)array { + + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + + [parmDic setObject:array forKey:@"imIds"]; + [self showMBProgressHUDWithString:@"加载中,请稍候..." autoHidden:false]; + JKCQAPI * recordApi = [[JKCQAPI alloc] init:self tag:@"GROUPID" NeedToken:@""]; + [recordApi PostGroupIDArray:parmDic]; +} + + +- (void)createData { + // type : 1 图文 2 音视频 + [self showMBProgressHUDWithString:@"加载中,请稍候..." autoHidden:false]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:@(self.pageNo) forKey:@"pageNo"]; + [parmDic setObject:@(10) forKey:@"pageSize"]; + [parmDic setObject:self.type forKey:@"status"]; + [parmDic setObject:@"1" forKey:@"type"]; + //status 1 3 4 5 //4 代评价 + JKCQAPI * recordApi = [[JKCQAPI alloc] init:self tag:@"RECORD" NeedToken:@""]; + [recordApi GetQuestionRecordList:parmDic]; + //getMineQuestionRecord +} + +- (void)loginImAccount { + + + JKCQAPI * proctocolApi = [[JKCQAPI alloc] init:self tag:@"IMAPI" NeedToken:nil]; + [proctocolApi GetIMLoginAccount:nil]; + + + +} + + + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + [self hiddenAllMBProgressHUD]; + +} + + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + [self hiddenAllMBProgressHUD]; + if ([tag isEqualToString:@"RECORD"]) { + if (self.pageNo == 0) { + [self.dataArray removeAllObjects]; + } + NSArray * array = response ; + + for (NSDictionary * dic in array) { + + RecordIMListDateModel * model = [ RecordIMListDateModel modelWithDictionary:dic]; + + [self.dataArray addObject:model]; + } + self.homeTable.dataArray = self.dataArray; + + } + if ([tag isEqualToString:@"IMAPI"]) { + [self hiddenAllMBProgressHUD]; + + NSDictionary * pamrDic = response; + + IMUserInfoModel * model = [IMUserInfoModel modelWithDictionary:pamrDic]; + + IMUserInfoModel * iminfoModel = [[IMUserInfoModel alloc] init]; + iminfoModel.IMInfo = pamrDic; + [HQCommonUtils keyedArchiverWithData:iminfoModel key:IMLoginUserInfo]; + + // 1. 从即时通信 IM 控制台获取应用 SDKAppID。 + // 2. 初始化 config 对象 + V2TIMSDKConfig *config = [[V2TIMSDKConfig alloc] init]; + // 3. 指定 log 输出级别。 + config.logLevel = V2TIM_LOG_INFO; + // 4. 添加 V2TIMSDKListener 的事件监听器,self 是 id 的实现类,如果您不需要监听 IM SDK 的事件,这个步骤可以忽略。 + [[V2TIMManager sharedInstance] addIMSDKListener:self]; + // 5. 初始化 IM SDK,调用这个接口后,可以立即调用登录接口。 + [[V2TIMManager sharedInstance] initSDK:[model.sdkAppId intValue] config:config]; + + // 1. 从即时通信 IM 控制台获取应用 SDKAppID。 + // 2. 初始化 config 对象 + + // 3. 指定 log 输出级别。 + config.logLevel = V2TIM_LOG_INFO; + // 4. 添加 V2TIMSDKListener 的事件监听器,self 是 id 的实现类,如果您不需要监听 IM SDK 的事件,这个步骤可以忽略。 + // 5. 初始化 IM SDK,调用这个接口后,可以立即调用登录接口。 + + [TUILogin login:[model.sdkAppId intValue] userID:model.userId userSig:model.userSig succ:^{ + + [self getChatList]; + + } fail:^(int code, NSString *msg) { + + [EasyTextView showErrorText:msg]; + + }]; + + + + + } + if ([tag isEqualToString:@"GROUPID"]) { + [self hiddenAllMBProgressHUD]; + NSArray * array = response; + [self.jingxingArray removeAllObjects]; + for (NSDictionary * parmDic in array) { + + RecordIMListDateModel * model = [ RecordIMListDateModel modelWithDictionary:parmDic]; + + for (V2TIMConversation * v2Model in self.redCountArray) { + + if ([v2Model.groupID isEqualToString:model.imId]) + { + model.unredCount = v2Model.unreadCount; + } + } + + [self.jingxingArray addObject:model]; + } + self.homeTable.dataArray = self.jingxingArray; +// self.homeTable.totalCount + } +} + +- (void)statusChange:(UIButton *)statusBtn { + + [self.dataArray removeAllObjects]; + + if (statusBtn.tag == 1000) { + self.type = @"3"; //进行中 + [self getChatList]; + + } + if (statusBtn.tag == 1001) { + self.type = @"5"; //已评价 + [self createData]; + } + if (statusBtn.tag == 1002) { + self.type = @""; //全部 历史 + [self createData]; + } + for (UIButton * titBtn in self.buttonArray) { + + if (titBtn == statusBtn) { + + titBtn.selected = YES; + titBtn.backgroundColor = UIColorHex(#21BEBD); + + }else + { + titBtn.selected = NO; + titBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } + +} + +//在线时票据过期:此时您需要生成新的 userSig,并再次重新调用初始化。 +- (void)onKickedOffline { + + [HQCommonUtils keyedArchiverWithData:nil key:LoginUserInfo]; + [ESCTUIManager outLoginTUISDK]; + KPostNotification(KNotificationLoginStateChange, @NO); + +} +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end + diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionCompleteViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionCompleteViewController.h new file mode 100644 index 0000000..83a0dca --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionCompleteViewController.h @@ -0,0 +1,16 @@ +// +// XJQuestionCompleteViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/28. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJQuestionCompleteViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionCompleteViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionCompleteViewController.m new file mode 100644 index 0000000..2a2854f --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionCompleteViewController.m @@ -0,0 +1,196 @@ +// +// XJQuestionCompleteViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/28. +// + +#import "XJQuestionCompleteViewController.h" +#import "QuestionRecoredTable.h" +#import "QuestionRecordModel.h" + +@interface XJQuestionCompleteViewController () + +@property (nonatomic, strong) QuestionRecoredTable * homeTable; + +@property (nonatomic, strong) NSMutableArray * buttonArray; + +@property (nonatomic, strong) NSMutableArray * dataArray; + +@property (nonatomic, assign) NSInteger pageNo; + +@property (nonatomic, copy) NSString * type; + +@end + +@implementation XJQuestionCompleteViewController + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + + _dataArray = [[NSMutableArray alloc] init]; + + } + return _dataArray; + +} + +- (NSMutableArray *)buttonArray { + + if (!_buttonArray) { + + _buttonArray = [[NSMutableArray alloc] init]; + + } + return _buttonArray; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = false; + self.pageNo = 1; + self.type = @"1"; + [self createUI]; + [self createData]; +} + +- (void)createUI { + + NSArray * array = @[@"图文咨询",@"视频咨询"]; + [self.buttonArray removeAllObjects]; + CGFloat w = kRealValue(80); + for (int index = 0; index < array.count; index ++) { + + UIButton * listBtn = [[UIButton alloc] init]; + + listBtn.frame = CGRectMake(kRealValue(15) + (w + kRealValue(13)) * index , kRealValue(15), w, 27); + [listBtn setTitle:array[index] forState:UIControlStateNormal]; + [listBtn setTitleColor:KWhiteColor forState:UIControlStateSelected]; + [listBtn setTitleColor:CFontColor1 forState:UIControlStateNormal]; + [listBtn addTarget:self action:@selector(statusChange:) forControlEvents:UIControlEventTouchUpInside]; + listBtn.titleLabel.font = SYSTEMFONT(13); + listBtn.layer.cornerRadius = 14.0; + listBtn.layer.masksToBounds = true; + listBtn.tag = 1000 + index; + [self.view addSubview:listBtn]; + if (index == 0 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.width = kRealValue(90); + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + [self.buttonArray addObject:listBtn]; + + } + + + + self.homeTable = [[QuestionRecoredTable alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; + [self.view addSubview:self.homeTable]; + + [self.homeTable mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(@50); + make.bottom.left.right.mas_offset(0); + }]; + + + __weak __typeof(self) weakSelf = self; + self.homeTable.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + weakSelf.pageNo = 1; + + [weakSelf createData]; + + + }]; + self.homeTable.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + weakSelf.pageNo ++; + [weakSelf createData]; + }]; + +} + +- (void)createData { + // type : 1 图文 2 音视频 + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:@(self.pageNo) forKey:@"pageNo"]; + [parmDic setObject:@(10) forKey:@"pageSize"]; + [parmDic setObject:@"5" forKey:@"status"]; + [parmDic setObject:self.type forKey:@"type"]; + + JKCQAPI * recordApi = [[JKCQAPI alloc] init:self tag:@"RECORD" NeedToken:@""]; + [recordApi GetQuestionRecordList:parmDic]; +} + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + [self hiddenAllMBProgressHUD]; + +} + + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + if ([tag isEqualToString:@"RECORD"]) { + if (self.pageNo == 1) { + [self.dataArray removeAllObjects]; + } + NSArray * array = response ; + + for (NSDictionary * dic in array) { + + QuestionRecordModel * model = [QuestionRecordModel modelWithDictionary:dic]; + + [self.dataArray addObject:model]; + } + self.homeTable.dataArray = self.dataArray; + + } +} + +- (void)statusChange:(UIButton *)statusBtn { + + if (statusBtn.tag == 1000) { + self.type = @"1"; + } + if (statusBtn.tag == 1001) { + self.type = @"2"; + } + for (UIButton * titBtn in self.buttonArray) { + + if (titBtn == statusBtn) { + + titBtn.selected = YES; + titBtn.backgroundColor = UIColorHex(#21BEBD); + + }else + { + titBtn.selected = NO; + titBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } +} + + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end + diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionJingxingViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionJingxingViewController.h new file mode 100644 index 0000000..ed49781 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionJingxingViewController.h @@ -0,0 +1,16 @@ +// +// XJQuestionJingxingViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/28. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJQuestionJingxingViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionJingxingViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionJingxingViewController.m new file mode 100644 index 0000000..17e6179 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQuestionJingxingViewController.m @@ -0,0 +1,196 @@ +// +// XJQuestionJingxingViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/28. +// + +#import "XJQuestionJingxingViewController.h" +#import "QuestionRecoredTable.h" +#import "QuestionRecordModel.h" + +@interface XJQuestionJingxingViewController () + +@property (nonatomic, strong) QuestionRecoredTable * homeTable; + +@property (nonatomic, strong) NSMutableArray * buttonArray; + +@property (nonatomic, strong) NSMutableArray * dataArray; + +@property (nonatomic, assign) NSInteger pageNo; + +@property (nonatomic, copy) NSString * type; + +@end + +@implementation XJQuestionJingxingViewController + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + + _dataArray = [[NSMutableArray alloc] init]; + + } + return _dataArray; + +} + +- (NSMutableArray *)buttonArray { + + if (!_buttonArray) { + + _buttonArray = [[NSMutableArray alloc] init]; + + } + return _buttonArray; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = false; + self.pageNo = 1; + self.type = @"1"; + [self createUI]; + [self createData]; +} + +- (void)createUI { + + NSArray * array = @[@"图文咨询",@"视频咨询"]; + [self.buttonArray removeAllObjects]; + CGFloat w = kRealValue(80); + for (int index = 0; index < array.count; index ++) { + + UIButton * listBtn = [[UIButton alloc] init]; + + listBtn.frame = CGRectMake(kRealValue(15) + (w + kRealValue(13)) * index , kRealValue(15), w, 27); + [listBtn setTitle:array[index] forState:UIControlStateNormal]; + [listBtn setTitleColor:KWhiteColor forState:UIControlStateSelected]; + [listBtn setTitleColor:CFontColor1 forState:UIControlStateNormal]; + [listBtn addTarget:self action:@selector(statusChange:) forControlEvents:UIControlEventTouchUpInside]; + listBtn.titleLabel.font = SYSTEMFONT(13); + listBtn.layer.cornerRadius = 14.0; + listBtn.layer.masksToBounds = true; + listBtn.tag = 1000 + index; + [self.view addSubview:listBtn]; + if (index == 0 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.width = kRealValue(90); + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + [self.buttonArray addObject:listBtn]; + + } + + + + self.homeTable = [[QuestionRecoredTable alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; + [self.view addSubview:self.homeTable]; + + [self.homeTable mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(@50); + make.bottom.left.right.mas_offset(0); + }]; + + + __weak __typeof(self) weakSelf = self; + self.homeTable.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + weakSelf.pageNo = 1; + + [weakSelf createData]; + + + }]; + self.homeTable.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + weakSelf.pageNo ++; + [weakSelf createData]; + }]; + +} + +- (void)createData { + // type : 1 图文 2 音视频 + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:@(self.pageNo) forKey:@"pageNo"]; + [parmDic setObject:@(10) forKey:@"pageSize"]; + [parmDic setObject:@"3" forKey:@"status"]; + [parmDic setObject:self.type forKey:@"type"]; + + JKCQAPI * recordApi = [[JKCQAPI alloc] init:self tag:@"RECORD" NeedToken:@""]; + [recordApi GetQuestionRecordList:parmDic]; +} + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + [self hiddenAllMBProgressHUD]; + +} + + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + if ([tag isEqualToString:@"RECORD"]) { + if (self.pageNo == 1) { + [self.dataArray removeAllObjects]; + } + NSArray * array = response ; + + for (NSDictionary * dic in array) { + + QuestionRecordModel * model = [QuestionRecordModel modelWithDictionary:dic]; + + [self.dataArray addObject:model]; + } + self.homeTable.dataArray = self.dataArray; + + } +} + +- (void)statusChange:(UIButton *)statusBtn { + + if (statusBtn.tag == 1000) { + self.type = @"1"; + } + if (statusBtn.tag == 1001) { + self.type = @"2"; + } + for (UIButton * titBtn in self.buttonArray) { + + if (titBtn == statusBtn) { + + titBtn.selected = YES; + titBtn.backgroundColor = UIColorHex(#21BEBD); + + }else + { + titBtn.selected = NO; + titBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } +} + + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end + diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/QustionRecordViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionRecordViewController.h similarity index 53% rename from XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/QustionRecordViewController.h rename to XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionRecordViewController.h index b6c59bf..7bf0e2a 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/QustionRecordViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionRecordViewController.h @@ -1,6 +1,6 @@ // -// QustionRecordViewController.h -// EscortProject +// XJQustionRecordViewController.h +// XinjiangProject // // Created by 仁康信息 on 2023/6/28. // @@ -9,7 +9,7 @@ NS_ASSUME_NONNULL_BEGIN -@interface QustionRecordViewController : HQBaseViewController +@interface XJQustionRecordViewController : HQBaseViewController @end diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionRecordViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionRecordViewController.m new file mode 100644 index 0000000..2e8dc32 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionRecordViewController.m @@ -0,0 +1,272 @@ +// +// XJQustionRecordViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/28. +// + +#import "XJQustionRecordViewController.h" +#import "XJAudioVideoRecordViewController.h" +#import "XJPictureRecordViewController.h" +#import "XJQuestionCompleteViewController.h" +#import "XJQustionWaitEvlaViewController.h" +#import "XJQuestionJingxingViewController.h" +#import "XJQustionWaitEvlaViewController.h" + +@interface XJQustionRecordViewController () + +/** 顶部控件*/ +@property (nonatomic, weak) UIScrollView *topView; +/** 下划线 */ +@property (nonatomic, weak) UIView *lineView; +/** 滚动视图 */ +@property (nonatomic, weak) UICollectionView *collectionView; +/** 当前选中的按钮 */ +@property (nonatomic, weak) UIButton *selectButton; +/** 按钮数组 */ +@property (nonatomic, strong) NSMutableArray *titleButtons; + +@end + +@implementation XJQustionRecordViewController + +#pragma mark - 懒加载 +- (NSMutableArray *)titleButtons { + if (_titleButtons==nil) { + _titleButtons = [NSMutableArray array]; + } + return _titleButtons; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = NO; + self.navigationItem.title = @"我的咨询"; + self.view.backgroundColor = UIColorBackground; +// [self addNavigationItemWithImageNames:@[@"backIcon@2x"] isLeft:YES target:self action:@selector(popVc) tags:@[@"100"]]; + [self createUI]; + +} + +#pragma mark:返回 +- (void)popVc +{ + [self.navigationController popViewControllerAnimated:YES]; +} + +- (void)createUI +{ + [self setupNavgationBar]; + + // 添加底部内容view + [self setupBottomContentView]; + + // 添加所有子控制器 + [self setupAllChildViewController]; + + [self setupAllTitle]; + + // 不添加额外滚动区域 + self.automaticallyAdjustsScrollViewInsets = NO; +} + +#pragma mark - 添加所有的子控制器 +- (void)setupAllChildViewController { + + XJPictureRecordViewController * pictureVc = [[XJPictureRecordViewController alloc] init]; + pictureVc.view.backgroundColor = UIColorBackground; + pictureVc.navigationItem.title = @"图文咨询"; + [self addChildViewController:pictureVc]; + + // + XJAudioVideoRecordViewController * videoVc = [[XJAudioVideoRecordViewController alloc] init]; + videoVc.view.backgroundColor = UIColorBackground; + videoVc.navigationItem.title = @"视频咨询"; + [self addChildViewController:videoVc]; + // +// XJQuestionJingxingViewController * jingxingVc = [[XJQuestionJingxingViewController alloc] init]; +// jingxingVc.view.backgroundColor = UIColorBackground; +// jingxingVc.navigationItem.title = @"进行中"; +// [self addChildViewController:jingxingVc]; +// // +// QustionWaitEvlaViewController * evlVc = [[QustionWaitEvlaViewController alloc] init]; +// evlVc.view.backgroundColor = UIColorBackground; +// evlVc.navigationItem.title = @"待评价"; +// [self addChildViewController:evlVc]; +// // +// XJQuestionCompleteViewController * completeVc = [[XJQuestionCompleteViewController alloc] init]; +// completeVc.view.backgroundColor = UIColorBackground; +// completeVc.navigationItem.title = @"已完成"; +// [self addChildViewController:completeVc]; +} + +#pragma mark - 设置导航条内容 +- (void)setupNavgationBar { + UIScrollView *topView = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 1, kScreenWidth, kRealValue(48))]; + topView.backgroundColor = [UIColor whiteColor]; + _topView = topView; + [self.view addSubview:topView]; +} + +#pragma mark - 按钮被点击 +- (void)titleClick:(UIButton *)titleButton{ + + NSInteger i = titleButton.tag; + // 重复点击标题按钮的时候,刷新当前界面 + if (titleButton == _selectButton) { + } + + [self selButton:titleButton]; + + //滚动collectionView 修改偏移量 + CGFloat offsetX = i * kScreenWidth; + _collectionView.contentOffset = CGPointMake(offsetX, 0); +} + +#pragma mark - 选中标题按钮 +- (void)selButton:(UIButton *)titleButton{ + + _selectButton.selected = NO; + titleButton.selected = YES; + _selectButton = titleButton; + + // 移动下划线的位置 + [UIView animateWithDuration:0.25 animations:^{ + _lineView.centerX = titleButton.centerX; + }]; +} + +#pragma mark - 添加标题 +- (void)setupAllTitle{ + + NSUInteger count = self.childViewControllers.count; + CGFloat btnX = 0; + CGFloat btnW = kScreenWidth/count; + CGFloat btnH = _topView.height; + for (int i = 0; i < count; i++) { + UIButton *titleButton = [UIButton buttonWithType:UIButtonTypeCustom]; + titleButton.tag = i; + + UIViewController *vc = self.childViewControllers[i]; + [titleButton setTitle:vc.navigationItem.title forState:UIControlStateNormal]; + // 设置标题颜色 + [titleButton setTitleColor:RGBA(34, 34, 34, 1) forState:UIControlStateSelected]; + [titleButton setTitleColor:RGBA(102, 102, 102, 1) forState:UIControlStateNormal]; + + // 设置标题字体 + titleButton.titleLabel.font = MEDIUMFONT(14); + + btnX = i * btnW; + + titleButton.frame = CGRectMake(btnX, 0, btnW, btnH); + + // 监听按钮点击 + [titleButton addTarget:self action:@selector(titleClick:) forControlEvents:UIControlEventTouchUpInside]; + + [_topView addSubview:titleButton]; + + if (i == 0) { + // 添加下划线 + // 下划线宽度 = 按钮文字宽度 + // 下划线中心点x = 按钮中心点x + CGFloat h = 5; + CGFloat y = kRealValue(45) ; + UIView *lineView =[[UIView alloc] init]; + // 位置和尺寸 + lineView.height = h; + // 先计算文字尺寸,在给label去赋值 + [titleButton.titleLabel sizeToFit]; + lineView.width = kRealValue(28); + lineView.centerX = titleButton.centerX; + lineView.mj_y = y; + lineView.backgroundColor = UIColorHex(#21BEBD); + _lineView = lineView; + [_topView addSubview:lineView]; + + [self titleClick:titleButton]; + } + [self.titleButtons addObject:titleButton]; + } +} + +#pragma mark - 添加底部内容view +- (void)setupBottomContentView +{ + // 创建一个流水布局 + UICollectionViewFlowLayout *layout = [[UICollectionViewFlowLayout alloc] init]; + layout.itemSize = CGSizeMake(kScreenWidth, kScreenHeight-44); + + // 设置水平滚动方向 + layout.scrollDirection = UICollectionViewScrollDirectionHorizontal; + layout.minimumInteritemSpacing = 0; + layout.minimumLineSpacing = 0; + + // 创建UICollectionView + UICollectionView *collectionView = [[UICollectionView alloc] initWithFrame:CGRectMake(0,kRealValue(48), kScreenWidth, kScreenHeight - kRealValue(48) ) collectionViewLayout:layout]; + collectionView.backgroundColor = [UIColor whiteColor]; + [self.view addSubview:collectionView]; + _collectionView = collectionView; + collectionView.scrollsToTop = NO; + collectionView.scrollEnabled = YES; + // 开启分页 + collectionView.pagingEnabled = YES; + collectionView.showsHorizontalScrollIndicator = NO; + collectionView.bounces = YES; + + // 展示cell + collectionView.dataSource = self; + collectionView.delegate = self; + + // 注册cell + [collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"COUPCELLID"]; +} + +#pragma mark - UICollectionViewDelegate +// 滚动完成的时候就会调用 +- (void)scrollViewDidEndDecelerating:(UIScrollView *)scrollView{ + // 获取角标 + NSInteger i = scrollView.contentOffset.x / kScreenWidth; + + // 获取选中标题 + UIButton *selButton = self.titleButtons[i]; + + // 选中标题 + [self selButton:selButton]; +} + +#pragma mark - UICollectionViewDataSource +- (NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section{ + + return self.childViewControllers.count; +} + +// 只要有新的cell出现的时候才会调用 +- (UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath{ + + UICollectionViewCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:@"COUPCELLID" forIndexPath:indexPath]; + + // 移除之前子控制器view + [cell.contentView.subviews makeObjectsPerformSelector:@selector(removeFromSuperview)]; + + // 取出对应的子控制器添加到对应cell上 + UIViewController *vc = self.childViewControllers[indexPath.row]; + + [cell.contentView addSubview:vc.view]; + + return cell; +} + + + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionWaitEvlaViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionWaitEvlaViewController.h new file mode 100644 index 0000000..0cc201a --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionWaitEvlaViewController.h @@ -0,0 +1,16 @@ +// +// XJQustionWaitEvlaViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/28. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJQustionWaitEvlaViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionWaitEvlaViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionWaitEvlaViewController.m new file mode 100644 index 0000000..0a5df37 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/QusetionRecord(咨询记录)/XJQustionWaitEvlaViewController.m @@ -0,0 +1,196 @@ +// +// XJQustionWaitEvlaViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/28. +// + +#import "XJQustionWaitEvlaViewController.h" +#import "QuestionRecoredTable.h" +#import "QuestionRecordModel.h" + +@interface XJQustionWaitEvlaViewController () + +@property (nonatomic, strong) QuestionRecoredTable * homeTable; + +@property (nonatomic, strong) NSMutableArray * buttonArray; + +@property (nonatomic, strong) NSMutableArray * dataArray; + +@property (nonatomic, assign) NSInteger pageNo; + +@property (nonatomic, copy) NSString * type; + +@end + +@implementation XJQustionWaitEvlaViewController + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + + _dataArray = [[NSMutableArray alloc] init]; + + } + return _dataArray; + +} + +- (NSMutableArray *)buttonArray { + + if (!_buttonArray) { + + _buttonArray = [[NSMutableArray alloc] init]; + + } + return _buttonArray; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = false; + self.pageNo = 1; + self.type = @"1"; + [self createUI]; + [self createData]; +} + +- (void)createUI { + + NSArray * array = @[@"图文咨询",@"视频咨询"]; + [self.buttonArray removeAllObjects]; + CGFloat w = kRealValue(80); + for (int index = 0; index < array.count; index ++) { + + UIButton * listBtn = [[UIButton alloc] init]; + + listBtn.frame = CGRectMake(kRealValue(15) + (w + kRealValue(13)) * index , kRealValue(15), w, 27); + [listBtn setTitle:array[index] forState:UIControlStateNormal]; + [listBtn setTitleColor:KWhiteColor forState:UIControlStateSelected]; + [listBtn setTitleColor:CFontColor1 forState:UIControlStateNormal]; + [listBtn addTarget:self action:@selector(statusChange:) forControlEvents:UIControlEventTouchUpInside]; + listBtn.titleLabel.font = SYSTEMFONT(13); + listBtn.layer.cornerRadius = 14.0; + listBtn.layer.masksToBounds = true; + listBtn.tag = 1000 + index; + [self.view addSubview:listBtn]; + if (index == 0 ) { + listBtn.selected = YES; + listBtn.backgroundColor = UIColorHex(#21BEBD); + }else{ + listBtn.width = kRealValue(90); + listBtn.backgroundColor = UIColorHex(#DDDDDD); + } + [self.buttonArray addObject:listBtn]; + + } + + + + self.homeTable = [[QuestionRecoredTable alloc] initWithFrame:CGRectZero style:UITableViewStyleGrouped]; + [self.view addSubview:self.homeTable]; + + [self.homeTable mas_makeConstraints:^(MASConstraintMaker *make) { + make.top.mas_equalTo(@50); + make.bottom.left.right.mas_offset(0); + }]; + + + __weak __typeof(self) weakSelf = self; + self.homeTable.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{ + weakSelf.pageNo = 1; + + [weakSelf createData]; + + + }]; + self.homeTable.mj_footer = [MJRefreshBackNormalFooter footerWithRefreshingBlock:^{ + weakSelf.pageNo ++; + [weakSelf createData]; + }]; + +} + +- (void)createData { + // type : 1 图文 2 音视频 + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:@(self.pageNo) forKey:@"pageNo"]; + [parmDic setObject:@(10) forKey:@"pageSize"]; + [parmDic setObject:@"4" forKey:@"status"]; + [parmDic setObject:self.type forKey:@"type"]; + + JKCQAPI * recordApi = [[JKCQAPI alloc] init:self tag:@"RECORD" NeedToken:@""]; + [recordApi GetQuestionRecordList:parmDic]; +} + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + [self hiddenAllMBProgressHUD]; + +} + + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + [self.homeTable.mj_footer endRefreshing]; + [self.homeTable.mj_header endRefreshing]; + + if ([tag isEqualToString:@"RECORD"]) { + if (self.pageNo == 1) { + [self.dataArray removeAllObjects]; + } + NSArray * array = response ; + + for (NSDictionary * dic in array) { + + QuestionRecordModel * model = [QuestionRecordModel modelWithDictionary:dic]; + + [self.dataArray addObject:model]; + } + self.homeTable.dataArray = self.dataArray; + + } +} + +- (void)statusChange:(UIButton *)statusBtn { + + if (statusBtn.tag == 1000) { + self.type = @"1"; + } + if (statusBtn.tag == 1001) { + self.type = @"2"; + } + for (UIButton * titBtn in self.buttonArray) { + + if (titBtn == statusBtn) { + + titBtn.selected = YES; + titBtn.backgroundColor = UIColorHex(#21BEBD); + + }else + { + titBtn.selected = NO; + titBtn.backgroundColor = UIColorHex(#DDDDDD); + } + + } +} + + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end + diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/RoomSearchResultViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/RoomSearchResultViewController.h index 0e716f0..c3f5658 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/RoomSearchResultViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/RoomSearchResultViewController.h @@ -1,6 +1,6 @@ // // RoomSearchResultViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/10/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/RoomSearchResultViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/RoomSearchResultViewController.m index 1396ac7..ebfa66e 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/RoomSearchResultViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/RoomSearchResultViewController.m @@ -1,6 +1,6 @@ // // RoomSearchResultViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/10/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertSubViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertSubViewController.h index dae9643..3521de7 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertSubViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertSubViewController.h @@ -1,6 +1,6 @@ // // FoundExpertSubViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertSubViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertSubViewController.m index 495e789..276d157 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertSubViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertSubViewController.m @@ -1,6 +1,6 @@ // // FoundExpertSubViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertViewController.h index 19f3c05..cf2d636 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertViewController.h @@ -1,6 +1,6 @@ // // FoundExpertViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertViewController.m index 7be4ff0..261aa30 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundExpertViewController.m @@ -1,6 +1,6 @@ // // FoundExpertViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundHospitalViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundHospitalViewController.h index 4d688be..ed8f016 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundHospitalViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundHospitalViewController.h @@ -1,6 +1,6 @@ // // FoundHospitalViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundHospitalViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundHospitalViewController.m index d5d17f4..df84d57 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundHospitalViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundHospitalViewController.m @@ -1,6 +1,6 @@ // // FoundHospitalViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundJIBingViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundJIBingViewController.h index 84dce0b..e4ce01c 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundJIBingViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundJIBingViewController.h @@ -1,6 +1,6 @@ // // FoundJIBingViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundJIBingViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundJIBingViewController.m index f68e809..3895bcf 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundJIBingViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundJIBingViewController.m @@ -1,6 +1,6 @@ // // FoundJIBingViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundRoomsViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundRoomsViewController.h index c11d41f..5db5570 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundRoomsViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundRoomsViewController.h @@ -1,6 +1,6 @@ // // FoundRoomsViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundRoomsViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundRoomsViewController.m index a0191eb..9b861e8 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundRoomsViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/FoundRoomsViewController.m @@ -1,6 +1,6 @@ // // FoundRoomsViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/MainSearchViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/MainSearchViewController.h index b3ac5dc..e979df6 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/MainSearchViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/MainSearchViewController.h @@ -1,6 +1,6 @@ // // MainSearchViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/MainSearchViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/MainSearchViewController.m index 56645e8..650999e 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/MainSearchViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/MainSearchViewController.m @@ -1,6 +1,6 @@ // // MainSearchViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/SearchZhuangJiaViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/SearchZhuangJiaViewController.h index 27c2faa..6bafb9d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/SearchZhuangJiaViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/SearchZhuangJiaViewController.h @@ -1,6 +1,6 @@ // // SearchJibingViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/26. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/SearchZhuangJiaViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/SearchZhuangJiaViewController.m index d059bab..8bb6bd0 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/SearchZhuangJiaViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/Search(搜索页面)/SearchZhuangJiaViewController.m @@ -1,6 +1,6 @@ // // SearchZhuangJiaViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/26. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SearchMainViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SearchMainViewController.h index 885ef41..18ce129 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SearchMainViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SearchMainViewController.h @@ -1,6 +1,6 @@ // // SearchMainViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/10. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SearchMainViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SearchMainViewController.m index 9c51b00..5e199b1 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SearchMainViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SearchMainViewController.m @@ -1,6 +1,6 @@ // // SearchMainViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/10. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectFIleDateDetailViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectFIleDateDetailViewController.h index d1671f9..9a4a6db 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectFIleDateDetailViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectFIleDateDetailViewController.h @@ -1,6 +1,6 @@ // // SelectFIleDateDetailViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectFIleDateDetailViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectFIleDateDetailViewController.m index e67dbc1..9509df8 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectFIleDateDetailViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectFIleDateDetailViewController.m @@ -1,6 +1,6 @@ // // SelectFIleDateDetailViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedDoctorTimeVC.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedDoctorTimeVC.h index de49173..cc17968 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedDoctorTimeVC.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedDoctorTimeVC.h @@ -1,6 +1,6 @@ // // SelectedDoctorTimeVC.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/21. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedDoctorTimeVC.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedDoctorTimeVC.m index d14f1d9..2c92c2d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedDoctorTimeVC.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedDoctorTimeVC.m @@ -1,6 +1,6 @@ // // SelectedDoctorTimeVC.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/21. // @@ -11,7 +11,7 @@ #import "ZHTagListView.h" #import "DoctorDetailModel.h" #import "DoctorTimeModel.h" -#import "DoctorMainViewController.h" +#import "XJDoctorMainViewController.h" #import "SelectedQuestionViewController.h" @interface SelectedDoctorTimeVC () diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedQuestionViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedQuestionViewController.h index 93c57dd..7ac0f2d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedQuestionViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedQuestionViewController.h @@ -1,6 +1,6 @@ // // SelectedQuestionViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedQuestionViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedQuestionViewController.m index 2fb7a5d..5c0a4e7 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedQuestionViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SelectedQuestionViewController.m @@ -1,6 +1,6 @@ // // SelectedQuestionViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // @@ -13,7 +13,7 @@ #import "SelectedQuestionTypeTableCell.h" #import "LookModficalFileViewController.h" #import "SOSGroupIMModel.h" -#import "DoctorMainViewController.h" +#import "XJDoctorMainViewController.h" @interface SelectedQuestionViewController () @@ -342,7 +342,7 @@ if ([tag isEqualToString:@"VIDEO"]) { [self hiddenAllMBProgressHUD]; NSString * resultString = response; - DoctorMainViewController * doctorVC = [[DoctorMainViewController alloc] init]; + XJDoctorMainViewController * doctorVC = [[XJDoctorMainViewController alloc] init]; doctorVC.disModel = self.disModel; doctorVC.yuyue_id = resultString; [self.navigationController pushViewController:doctorVC animated:YES]; diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SmallHelpHandViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SmallHelpHandViewController.h index 93a0a0a..149381d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SmallHelpHandViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SmallHelpHandViewController.h @@ -1,6 +1,6 @@ // // SmallHelpHandViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/29. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SmallHelpHandViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SmallHelpHandViewController.m index d423e70..cb8e117 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SmallHelpHandViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/SmallHelpHandViewController.m @@ -1,6 +1,6 @@ // // SmallHelpHandViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/29. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJAddQuestionViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJAddQuestionViewController.h new file mode 100644 index 0000000..efaad0d --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJAddQuestionViewController.h @@ -0,0 +1,19 @@ +// +// XJAddQuestionViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/4/18. +// + +#import "HQBaseViewController.h" +#import "QuestionPeopleModel.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJAddQuestionViewController : HQBaseViewController + +@property (nonatomic, strong) QuestionPeopleModel * questionModel; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJAddQuestionViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJAddQuestionViewController.m new file mode 100644 index 0000000..95eb020 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJAddQuestionViewController.m @@ -0,0 +1,597 @@ +// +// XJAddQuestionViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/4/18. +// + +#import "XJAddQuestionViewController.h" +#import "LineTextField.h" +#import "BRPickerView.h" +#import "FamilyMemberRelationModel.h" +#import "UserInfoHealthPopView.h" +#import "XJBasicHealthInfoViewController.h" + + +@interface XJAddQuestionViewController () + +@property (nonatomic, strong) LineTextField * questionNameField; + +@property (nonatomic, strong) UIButton * sexBtn; + +@property (nonatomic, strong) UILabel * birthdayLabel; + +@property (nonatomic, strong) LineTextField * birthdayTextField; + +@property (nonatomic, strong) UIButton * womanBtn ; + +@property (nonatomic, strong) UIButton * manBtn ; + +@property (nonatomic, strong) NSMutableArray * memberArray; + +@property (nonatomic, strong) LineTextField * heiTextField; + +@property (nonatomic, strong) LineTextField * weightTextField; + +@property (nonatomic, strong) LineTextField * relationshipTextField; + +@property (nonatomic, copy) NSString * familyInt; + +@property (nonatomic, strong) UserInfoHealthPopView * popView; + +@property (nonatomic, strong) LineTextField * baseHelathInfoField; + + +@property (nonatomic, copy) NSString * memberId; + +@property (nonatomic, assign) bool isJump; + +@end + +@implementation XJAddQuestionViewController + + +- (NSMutableArray *)memberArray { + + if (!_memberArray) { + + _memberArray = [[NSMutableArray alloc] init]; + } + return _memberArray; +} + +- (UserInfoHealthPopView *)popView { + + if (!_popView) { + + _popView = [[UserInfoHealthPopView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight)]; + _popView.popDelegate = self; + } + + return _popView; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = false; + self.view.backgroundColor = UIColorHex(#EFEFEF); + self.navigationItem.title = @"添加咨询人信息"; + + [self createUI]; + [self getFamilyMembers]; +} + +- (void)createUI { + + //咨询人姓名 + self.questionNameField = [self createFieldWithLeftTitle:@"咨询人姓名" withRightString:@"" placeholderStr:@"请填写咨询人姓名" isShowRight:true]; + self.questionNameField.frame = CGRectMake(0, 1, kScreenWidth, 51); + [self.view addSubview:self.questionNameField]; + + //性别选择 + UIView * sexView = [[UIView alloc] initWithFrame:CGRectMake(0, self.questionNameField.bottom, kScreenWidth, 51)]; + sexView.backgroundColor = KWhiteColor; + [self.view addSubview:sexView]; + + UILabel * sexlabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(16), 0, 100, 51)]; + sexlabel.text = @"性别"; + sexlabel.font = SYSTEMFONT(13); + sexlabel.textAlignment = NSTextAlignmentLeft; + sexlabel.textColor = UIColorHex(#666666); + [sexView addSubview:sexlabel]; + + UIButton * womanBtn = [[UIButton alloc] initWithFrame:CGRectMake(kScreenWidth - kRealValue(16) - 60, 0, 50, 51)]; + [womanBtn setImage:[UIImage imageNamed:@"choose_nomal"] forState:UIControlStateNormal]; + [womanBtn setImage:[UIImage imageNamed:@"choose_Selected"] forState:UIControlStateSelected]; + [womanBtn addTarget:self action:@selector(womanAction) forControlEvents:UIControlEventTouchUpInside]; + [womanBtn setTitle:@" 女" forState:UIControlStateNormal]; + womanBtn.titleLabel.font = SYSTEMFONT(13); + self.womanBtn = womanBtn; + [womanBtn setTitleColor:CFontColor1 forState:UIControlStateNormal]; + [sexView addSubview:womanBtn]; + + UIButton * manBtn = [[UIButton alloc] initWithFrame:CGRectMake(womanBtn.left - 60, 0, 50, 51)]; + [manBtn setImage:[UIImage imageNamed:@"choose_nomal"] forState:UIControlStateNormal]; + [manBtn setImage:[UIImage imageNamed:@"choose_Selected"] forState:UIControlStateSelected]; + [manBtn setTitle:@" 男" forState:UIControlStateNormal]; + [manBtn addTarget:self action:@selector(manAction) forControlEvents:UIControlEventTouchUpInside]; + manBtn.titleLabel.font = SYSTEMFONT(13); + [manBtn setTitleColor:CFontColor1 forState:UIControlStateNormal]; + self.manBtn = manBtn; + [sexView addSubview:manBtn]; + + UIView * sexLineView = [[UIView alloc] initWithFrame:CGRectMake(kRealValue(14), sexView.bottom, kScreenWidth - kRealValue(28), 0.5)]; + sexLineView.backgroundColor = UIColorHex(#E0E0E0); + [self.view addSubview:sexLineView]; + + //出生日期 + + self.birthdayTextField = [self createFieldWithLeftTitle:@"出生日期" withRightString:@">" placeholderStr:@"请选择出生日期" isShowRight:true]; + + self.birthdayTextField.frame = CGRectMake(0, sexLineView.bottom, kScreenWidth, 51); + self.birthdayTextField.userInteractionEnabled = true; + [self.view addSubview:self.birthdayTextField]; + + UIButton * birBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 51)]; + [birBtn addTarget:self action:@selector(selectBirthdayOnclick) forControlEvents:UIControlEventTouchUpInside]; + [self.birthdayTextField addSubview:birBtn]; + + self.heiTextField = [self createFieldWithLeftTitle:@"身高" withRightString:@"cm" placeholderStr:@"请填写咨询人身高" isShowRight:true]; + self.heiTextField.keyboardType = UIKeyboardTypeNumberPad; + self.heiTextField.frame = CGRectMake(0, self.birthdayTextField.bottom, kScreenWidth, 51); + + [self.view addSubview:self.heiTextField]; + + + self.weightTextField = [self createFieldWithLeftTitle:@"体重" withRightString:@"kg" placeholderStr:@"请填写咨询人体重" isShowRight:true]; + self.weightTextField.keyboardType = UIKeyboardTypeDecimalPad; + self.weightTextField.frame = CGRectMake(0, self.heiTextField.bottom, kScreenWidth, 51); + + [self.view addSubview:self.weightTextField]; + + //与本人关系 + self.relationshipTextField = [self createFieldWithLeftTitle:@"与咨询人关系" withRightString:@">" placeholderStr:@"请点击选择" isShowRight:true]; + + self.relationshipTextField.frame = CGRectMake(0, self.weightTextField.bottom, kScreenWidth, 51); + self.relationshipTextField.userInteractionEnabled = true; + [self.view addSubview:self.relationshipTextField]; + + UIButton * shipBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 51)]; + [shipBtn addTarget:self action:@selector(relastionShipOnclick) forControlEvents:UIControlEventTouchUpInside]; + [self.relationshipTextField addSubview:shipBtn]; + + self.baseHelathInfoField = [self createFieldWithLeftTitle:@"基本健康信息" withRightString:@">" placeholderStr:@"" isShowRight:true]; + self.baseHelathInfoField.frame = CGRectMake(0, self.relationshipTextField.bottom + 5, kScreenWidth, 51); + self.baseHelathInfoField.userInteractionEnabled = true; + UIButton * baseBtn = [[UIButton alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 51)]; + [baseBtn addTarget:self action:@selector(healthInfoAction) forControlEvents:UIControlEventTouchUpInside]; + [self.baseHelathInfoField addSubview:baseBtn]; + [self.view addSubview:self.baseHelathInfoField]; + + + UILabel * tishiLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(15), self.relationshipTextField.bottom + kRealValue(10) , kScreenWidth - kRealValue(30), 30)]; + + + tishiLabel.text = @"温馨提示:咨询人姓名、证件信息用于平台审核,不会外传。请输入正确的咨询人姓名和证件号码。"; + tishiLabel.numberOfLines = 0; + tishiLabel.font = SYSTEMFONT(12); + tishiLabel.textColor = UIColorHex(#999999); + CGFloat h = [HQCommonUtils getSpaceLabelHeight:tishiLabel withStr:tishiLabel.text withFont: SYSTEMFONT(12) withWidth:kScreenWidth withLineSpacing:2]; + tishiLabel.height = h ; + [self.view addSubview:tishiLabel]; + //保存按钮 + + UIButton * saveBtn = [[UIButton alloc] initWithFrame:CGRectMake(kRealValue(48), kScreenHeight - kTopHeight - kTabBarHeight - 30 - 40, kScreenWidth - kRealValue(96), 40)]; + [saveBtn setTitle:@"保存" forState:UIControlStateNormal]; + saveBtn.titleLabel.font = SYSTEMFONT(14); + saveBtn.layer.cornerRadius = 20.0f; + saveBtn.layer.masksToBounds = true; + saveBtn.layer.borderColor = UIColorHex(#21BEBD).CGColor; + saveBtn.layer.borderWidth = 1.0f; + saveBtn.backgroundColor = KWhiteColor; + [saveBtn addTarget:self action:@selector(saveInfo) forControlEvents:UIControlEventTouchUpInside]; + [saveBtn setTitleColor:UIColorHex(#21BEBD) forState:UIControlStateNormal]; + [self.view addSubview:saveBtn]; + + if (self.questionModel) { + self.baseHelathInfoField.hidden = false; + baseBtn.hidden = false; + tishiLabel.top = self.baseHelathInfoField.bottom + kRealValue(10); + self.questionNameField.text = self.questionModel.name; + self.relationshipTextField.text = self.questionModel.familyRelation; + self.weightTextField.text = [NSString stringWithFormat:@"%@",self.questionModel.weight]; + self.heiTextField.text = [NSString stringWithFormat:@"%@",self.questionModel.height]; + if ( [self.questionModel.gender integerValue] == 1 ) { + self.womanBtn.selected = true; + self.manBtn.selected = false; + }else + { + self.womanBtn.selected = false; + self.manBtn.selected = true; + } + self.birthdayTextField.text = [NSString stringWithFormat:@"%@",self.questionModel.birthday]; + NSDateFormatter *dateFormatter = [[NSDateFormatter alloc] init]; + //需要设置为和字符串相同的格式 + [dateFormatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"]; + NSDate *localDate = [dateFormatter dateFromString:self.questionModel.birthday]; + NSString * str = [NSDate br_stringFromDate:localDate dateFormat:@"yyyy-MM-dd"]; + self.birthdayTextField.text = str; + + }else { + self.baseHelathInfoField.hidden = true; + baseBtn.hidden = true; + tishiLabel.top = self.relationshipTextField.bottom + kRealValue(10); + } +// [kAppWindow addSubview:self.popView]; + +} + + +- (LineTextField *)createFieldWithLeftTitle:(NSString *)leftStr + withRightString:(NSString *)rightStr + placeholderStr:(NSString *)placeStr + isShowRight:(BOOL)isShowRight { + + LineTextField * field = [[LineTextField alloc] init]; + field.font = SYSTEMFONT(13); + field.placeholder = placeStr; + field.textAlignment = NSTextAlignmentRight; + field.backgroundColor = KWhiteColor; + UIView * leftView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 51)]; + + UILabel * leftlabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(16), 0, 100, 51)]; + + leftlabel.text = leftStr; + + leftlabel.font = SYSTEMFONT(13); + + leftlabel.textAlignment = NSTextAlignmentLeft; + + leftlabel.textColor = UIColorHex(#666666); + + [leftView addSubview:leftlabel]; + + field.leftView = leftView; + + field.leftViewMode = UITextFieldViewModeAlways; + + if (isShowRight) { + + UIView * rightView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 30, 51)]; + + UILabel * rightlabel = [[UILabel alloc] initWithFrame:CGRectMake(5, 0, 30, 51)]; + + rightlabel.text = rightStr; + + rightlabel.font = SYSTEMFONT(13); + + rightlabel.textColor = UIColorHex(#666666); + + field.rightView = rightView; + + rightlabel.textAlignment = NSTextAlignmentLeft; + + field.rightViewMode = UITextFieldViewModeAlways; + + [rightView addSubview:rightlabel]; + + } + + return field; +} + +- (void)getFamilyMembers { + + JKCQAPI * memberApi = [[JKCQAPI alloc] init:self tag:@"Family" NeedToken:@""]; + + [memberApi getCheckKeyResult:@{@"dictKey":@"family_member_relation"}]; + +} + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + + [EasyTextView showErrorText:message]; + [self hiddenAllMBProgressHUD]; + +} + + +- (void)Sucess:(id)response tag:(NSString*)tag +{ + if ([tag isEqualToString:@"Family"]) { + + NSArray * array = response; + + for (NSDictionary * dic in array) { + + FamilyMemberRelationModel * model = [FamilyMemberRelationModel modelWithDictionary:dic] ; + + [self.memberArray addObject:model]; + } + } + if ([tag isEqualToString:@"ADDAPI"]) { + + self.memberId = response; + [self hiddenAllMBProgressHUD]; + if (self.isJump == true) { + [self.navigationController popViewControllerAnimated:YES]; + } + if (self.isJump == false) { + XJBasicHealthInfoViewController * basicVC = [[XJBasicHealthInfoViewController alloc] init]; + basicVC.memberId = self.memberId; + if (self.questionModel) { + basicVC.isAddQuetsion = false; + }else + { + basicVC.isAddQuetsion = true; + } + [self.navigationController pushViewController:basicVC animated:YES]; + } + + } + if ([tag isEqualToString:@"updataAPI"]) { + [self hiddenAllMBProgressHUD]; + [EasyTextView showSuccessText:@"保存成功"]; + [self.navigationController popViewControllerAnimated:YES]; + } +} + +- (void)selectBirthdayOnclick { + [self.view endEditing:TRUE]; + + // 1.创建日期选择器 + BRDatePickerView *datePickerView = [[BRDatePickerView alloc]init]; + // 2.设置属性 + datePickerView.pickerMode = BRDatePickerModeYMD; + datePickerView.title = @"选择出生日期"; + // datePickerView.selectValue = @"2019-10-30"; + datePickerView.minDate = [NSDate br_setYear:1949 month:3 day:12]; + datePickerView.maxDate = [NSDate date]; + datePickerView.isAutoSelect = YES; + datePickerView.showUnitType = BRShowUnitTypeOnlyCenter; + datePickerView.resultBlock = ^(NSDate *selectDate, NSString *selectValue) { + NSLog(@"选择的值:%@", selectValue); + self.birthdayTextField.text = selectValue; + }; + + datePickerView.pickerStyle = [BRPickerStyle pickerStyleWithThemeColor:UIColorHex(#21BEBD)]; + // 3.显示 + [datePickerView show]; +} + +- (void)relastionShipOnclick { + + /// 1.单列字符串选择器(传字符串数组) + BRStringPickerView *stringPickerView = [[BRStringPickerView alloc]init]; + stringPickerView.pickerMode = BRStringPickerComponentSingle; + stringPickerView.title = @"关系"; + + NSMutableArray * array = [[NSMutableArray alloc] init]; + for (FamilyMemberRelationModel * model in self.memberArray) { + + [array addObject:model.text]; + } + stringPickerView.dataSourceArr = array; + stringPickerView.selectIndex = 2; + stringPickerView.resultModelBlock = ^(BRResultModel *resultModel) { + NSLog(@"选择的值:%@", resultModel.value); + + + for (FamilyMemberRelationModel * model in self.memberArray) { + + if ([model.text isEqualToString:resultModel.value]) { + + self.familyInt = model.value; + } + + } + self.relationshipTextField.text = resultModel.value; + }; + + [stringPickerView show]; + +} + +- (void)womanAction { + + [self.view endEditing:TRUE]; + self.womanBtn.selected = true; + self.manBtn.selected = false; + +} + +- (void)manAction { + [self.view endEditing:TRUE]; + self.womanBtn.selected = false; + self.manBtn.selected = true; + +} + +- (void)saveInfo { + + [self.view endEditing:TRUE]; + + NSInteger sexInter; + + sexInter = self.womanBtn.selected == true ?1:2; + + if (ValidStr(self.questionNameField.text)) { + [EasyTextView showErrorText:@"请输入咨询人姓名"]; + return; + } + if (self.womanBtn.selected == false && self.manBtn.selected == false ) { + [EasyTextView showErrorText:@"请选择咨询人性别"]; + return; + } + if (ValidStr(self.birthdayTextField.text)) { + [EasyTextView showErrorText:@"请选择咨询人出生日期"]; + return; + } + if (ValidStr(self.heiTextField.text)) { + [EasyTextView showErrorText:@"请输入咨询人身高"]; + return; + } + if (ValidStr(self.weightTextField.text)) { + [EasyTextView showErrorText:@"请输入咨询人体重"]; + return; + } + if (ValidStr(self.relationshipTextField.text)) { + [EasyTextView showErrorText:@"请选择与咨询人关系"]; + return; + } + + if (self.questionModel) { + [self updateQuestionInfo]; + }else + { + + [kAppWindow addSubview:self.popView]; + } + + + + +} + +- (NSString *)getTimestampFromTime:(NSString *)CurrentTime{ + + + + + NSDateFormatter *formatter = [[NSDateFormatter alloc] init]; + + [formatter setDateStyle:NSDateFormatterMediumStyle]; + + [formatter setTimeStyle:NSDateFormatterShortStyle]; + + [formatter setDateFormat:@"yyyy-MM-dd"]; //(@"YYYY-MM-dd hh:mm:ss") ----------设置你想要的格式,hh与HH的区别:分别表示12小时制,24小时制 + + //设置时区选择北京时间 + + NSTimeZone* timeZone = [NSTimeZone timeZoneWithName:@"Asia/Beijing"]; + + [formatter setTimeZone:timeZone]; + + NSDate* date = [formatter dateFromString:CurrentTime]; //------------将字符串按formatter转成nsdate + + //时间转时间戳的方法: + + NSInteger timeSp = [[NSNumber numberWithDouble:[date timeIntervalSince1970]] integerValue] * 1000; + + + return [NSString stringWithFormat:@"%ld",(long)timeSp]; + + + +} + +- (void)jumpOnclick { + + self.isJump = true; + [self.popView removeFromSuperview]; + [self addQuestionInfo]; + + +} + + +- (void)updateQuestionInfo { + + NSInteger sexInter; + + sexInter = self.womanBtn.selected == true ?1:2; + [self showMBProgressHUDWithString:@"更新中,请稍候..." autoHidden:false]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + NSString * time = [self getTimestampFromTime:self.birthdayTextField.text]; + [parmDic setObject:self.questionNameField.text forKey:@"name"]; + [parmDic setObject:@(sexInter) forKey:@"gender"]; + [parmDic setObject:time forKey:@"birthdayLong"]; + [parmDic setObject:self.heiTextField.text forKey:@"height"]; + [parmDic setObject:self.weightTextField.text forKey:@"weight"]; + if (ValidStr(self.familyInt)) { + self.familyInt = self.questionModel.familyRelation; + } + [parmDic setObject:self.familyInt forKey:@"familyRelation"]; + [parmDic setObject:self.questionModel.people_id forKey:@"id"]; + JKCQAPI * api = [[JKCQAPI alloc] init:self tag:@"updataAPI" NeedToken:@""]; + + [api postUpdateQuestionFailyMembers:parmDic]; + +} + + +- (void)wanshanOnclick { + self.isJump = false; + [self.popView removeFromSuperview]; + [self addQuestionInfo]; + +} + + +- (void)addQuestionInfo { + + [self.view endEditing:TRUE]; + + NSInteger sexInter; + + sexInter = self.womanBtn.selected == true ?1:2; + + if (ValidStr(self.questionNameField.text)) { + [EasyTextView showErrorText:@"请输入咨询人姓名"]; + return; + } + if (self.womanBtn.selected == false && self.manBtn.selected == false ) { + [EasyTextView showErrorText:@"请选择咨询人性别"]; + return; + } + if (ValidStr(self.birthdayTextField.text)) { + [EasyTextView showErrorText:@"请选择咨询人出生日期"]; + return; + } + if (ValidStr(self.heiTextField.text)) { + [EasyTextView showErrorText:@"请输入咨询人身高"]; + return; + } + if (ValidStr(self.weightTextField.text)) { + [EasyTextView showErrorText:@"请输入咨询人体重"]; + return; + } + if (ValidStr(self.relationshipTextField.text)) { + [EasyTextView showErrorText:@"请选择与咨询人关系"]; + return; + } + [self showMBProgressHUDWithString:@"加载中,请稍候..." autoHidden:false]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + NSString * time = [self getTimestampFromTime:self.birthdayTextField.text]; + [parmDic setObject:self.questionNameField.text forKey:@"name"]; + [parmDic setObject:@(sexInter) forKey:@"gender"]; + [parmDic setObject:time forKey:@"birthdayLong"]; + [parmDic setObject:self.heiTextField.text forKey:@"height"]; + [parmDic setObject:self.weightTextField.text forKey:@"weight"]; + [parmDic setObject:self.familyInt forKey:@"familyRelation"]; + + JKCQAPI * api = [[JKCQAPI alloc] init:self tag:@"ADDAPI" NeedToken:@""]; + + [api getAddQuestionFailyMembers:parmDic]; + +} +- (void)healthInfoAction { + + XJBasicHealthInfoViewController * basicVC = [[XJBasicHealthInfoViewController alloc] init]; + basicVC.memberId = self.questionModel.people_id; + [self.navigationController pushViewController:basicVC animated:YES]; + +} +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJBasicHealthInfoViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJBasicHealthInfoViewController.h new file mode 100644 index 0000000..9909ae4 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJBasicHealthInfoViewController.h @@ -0,0 +1,19 @@ +// +// XJBasicHealthInfoViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/21. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJBasicHealthInfoViewController : HQBaseViewController + +@property (nonatomic, strong) NSString * memberId; + +@property (nonatomic, assign) bool isAddQuetsion; +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJBasicHealthInfoViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJBasicHealthInfoViewController.m new file mode 100644 index 0000000..1cac0c3 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJBasicHealthInfoViewController.m @@ -0,0 +1,290 @@ +// +// XJBasicHealthInfoViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/21. +// + +#import "XJBasicHealthInfoViewController.h" +#import "BasicHealthTable.h" +#import "QuestionOptionModel.h" +#import "QuestionPeopleMangerVC.h" +@interface XJBasicHealthInfoViewController () + +@property (nonatomic, strong) BasicHealthTable * homeTable; + +@property (nonatomic, strong) NSMutableArray * dataArray; + +@end + +@implementation XJBasicHealthInfoViewController + + +- (NSMutableArray *)dataArray { + + if (!_dataArray) { + _dataArray = [[NSMutableArray alloc] init]; + } + return _dataArray; + +} + + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = false; + self.navigationItem.title = @"基本健康信息"; + [self createUI]; + [self createData]; + [self addNavigationItemWithImageNames:@[@"whiteBack_icon"] isLeft:YES target:self action:@selector(backQuestionVC) tags:@[@"1"]]; + +} + +- (void)backQuestionVC { + + if (self.isAddQuetsion == true) { + + for (UIViewController *controller in self.navigationController.viewControllers) + { + if ([controller isKindOfClass:[QuestionPeopleMangerVC class]]) { + QuestionPeopleMangerVC * phyVC =(QuestionPeopleMangerVC *)controller; + [self.navigationController popToViewController:phyVC animated:false]; + } + } + }else + { + [self.navigationController popViewControllerAnimated:YES]; + } + +} + +- (void)createUI { + + self.homeTable = [[BasicHealthTable alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight - kTopHeight) style:UITableViewStyleGrouped]; + self.homeTable.saveBlock = ^(NSArray * _Nonnull array) { + DLog(@"%@",array); + NSString * baseHealthId; + NSString * itemType; + NSString * itemOptions = @""; + NSMutableArray * customArray = [[NSMutableArray alloc] init]; + for (QuestionOptionModel * model in array) { + + for (QuestionOptionChildListModel * listModel in model.childList) { + baseHealthId = listModel.option_id; + itemType = listModel.itemType; + NSMutableDictionary * pamrDic = [[NSMutableDictionary alloc] init]; + for (QuestionOptionCustomModel * customModel in listModel.answerList) { + + [pamrDic setObject:customModel.value forKey:customModel.radioText]; +// itemOptions = [NSString stringWithFormat:@"%@,%@",currentString,itemOptions]; + itemOptions = [self convertToJSONData:pamrDic]; + + } + listModel.itemOptions = itemOptions; + itemOptions = @""; + } + + + + + [customArray addObject:model]; + } + DLog(@"%@",customArray); + [self saveBaseHealthInfo:customArray]; + + }; + [self.view addSubview:self.homeTable]; +} + +- (void)createData { + + + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + + [parmDic setObject:self.memberId forKey:@"memberId"]; + + JKCQAPI * detailApi = [[JKCQAPI alloc] init:self tag:@"MEMBERAPI" NeedToken:@""]; + + [detailApi getQustionOptionsMembers :parmDic]; + +} + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + + [self hiddenAllMBProgressHUD]; + [EasyTextView showSuccessText:message]; + + +} +- (void)Sucess:(id)response tag:(NSString*)tag +{ + [self hiddenAllMBProgressHUD]; + if ([tag isEqualToString:@"MEMBERAPI"]) { + + NSArray * array = response; + + for (NSDictionary * dic in array) { + + QuestionOptionModel * model = [QuestionOptionModel modelWithDictionary:dic]; + + NSMutableArray * customAnswerArray = [[NSMutableArray alloc] init]; + + for (QuestionOptionChildListModel * optionModel in model.childList) { + + NSData *jsonData = [optionModel.itemOptions dataUsingEncoding:NSUTF8StringEncoding]; + + NSDictionary * dictionary = [NSJSONSerialization JSONObjectWithData:jsonData options:NSJSONReadingMutableContainers error:nil]; + + NSMutableArray * dicArray = [[NSMutableArray alloc] init]; + + + [dictionary enumerateKeysAndObjectsUsingBlock:^(id  _Nonnull key, id  _Nonnull obj, BOOL * _Nonnull stop) { + + NSDictionary * dic = @{@"radioText":key,@"itemType":optionModel.itemType,@"checked":@(false),@"value":[NSString stringWithFormat:@"%@",obj]}; + + NSString *mainString = optionModel.itemOptions; + NSString *subString = key; + + NSRange range = [mainString rangeOfString:subString]; + + if (range.location != NSNotFound) { + NSLog(@"Substring '%@' found at location %lu, length %lu", subString, (unsigned long)range.location, (unsigned long)range.length); + } else { + NSLog(@"Substring '%@' not found", subString); + } + + QuestionOptionCustomModel * model = [[QuestionOptionCustomModel alloc] init]; + model.radioText = key; + model.itemType = optionModel.itemType; + model.checked = false; + model.loctaionThin = range.location; + if ([optionModel.itemType intValue] == 4) { //带输入框 + + + }else + { + if ([obj boolValue] == true) { + optionModel.answerContent = key; + } + } + + model.value =[NSString stringWithFormat:@"%@",obj] ; + + + + [dicArray addObject:model]; + + optionModel.answerList = dicArray; + + }]; + + + } + + [self.dataArray addObject:model]; + } + self.homeTable.dataArray = self.dataArray; + + } + if ([tag isEqualToString:@"UPHEALTH"]) { + + [EasyTextView showSuccessText:response]; + [self backQuestionVC]; + } +} + +- (void)saveBaseHealthInfo:(NSArray *)array { + + + NSMutableArray * jsonArray = [[NSMutableArray alloc] init]; + + NSString * baseHealthId; + NSString * itemType; + NSString * itemOptions = @""; + NSMutableArray * customArray = [[NSMutableArray alloc] init]; + + for (QuestionOptionModel * model in array) { + + for (QuestionOptionChildListModel * listModel in model.childList) { + baseHealthId = listModel.option_id; + itemType = listModel.itemType; + NSMutableDictionary * dic = [[NSMutableDictionary alloc] init]; + [dic setObject:baseHealthId forKey:@"id"]; + [dic setObject:listModel.itemOptions forKey:@"itemOptions"]; + [dic setObject:listModel.itemType forKey:@"itemType"]; + [dic setObject:self.memberId forKey:@"memberId"]; + if (![listModel.itemOptions containsString:@"1"]) { + [EasyTextView showErrorText:[NSString stringWithFormat:@"请选择%@",listModel.itemProblem]]; + return; + } + if ([listModel.itemType intValue] == 4) { + NSString *itemOptionsJSONString = listModel.itemOptions; + + NSData *jsonData = [itemOptionsJSONString dataUsingEncoding:NSUTF8StringEncoding]; + NSDictionary *itemOptions = [NSJSONSerialization JSONObjectWithData:jsonData options:0 error:nil]; + if ([itemOptions[@"无"] isEqualToString:@"1"]) { + listModel.answerContent = @""; + } + + } + [dic setObject:listModel.answerContent forKey:@"answerContent"]; + + [jsonArray addObject:dic]; + } + + + + + [customArray addObject:model]; + } + + + + [self showMBProgressHUDWithString:@"正在保存" autoHidden:NO]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + + [parmDic setObject:jsonArray forKey:@"list"]; + + JKCQAPI * detailApi = [[JKCQAPI alloc] init:self tag:@"UPHEALTH" NeedToken:@""]; + + [detailApi postBaseHealthInfoAPI :parmDic]; + +} + +- (NSString*)convertToJSONData:(id)infoDict +{ + NSError *error; + NSData *jsonData = [NSJSONSerialization dataWithJSONObject:infoDict + options:NSJSONWritingPrettyPrinted // Pass 0 if you don't care about the readability of the generated string + error:&error]; + + NSString *jsonString = @""; + + if (! jsonData) + { + }else + { + jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding]; + } + + jsonString = [jsonString stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]; //去除掉首尾的空白字符和换行字符 + + [jsonString stringByReplacingOccurrencesOfString:@"\n" withString:@""]; + + return jsonString; +} + + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJDoctorMainViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJDoctorMainViewController.h new file mode 100644 index 0000000..c1e984d --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJDoctorMainViewController.h @@ -0,0 +1,21 @@ +// +// XJDoctorMainViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/4/20. +// + +#import "HQBaseViewController.h" +#import "QuestionDiseaseInfoModel.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJDoctorMainViewController : HQBaseViewController + +@property (nonatomic, strong) QuestionDiseaseInfoModel * disModel; +@property (nonatomic, strong) NSString * yuyue_id; +@property (nonatomic, assign) NSInteger popType; // 1返回上一页 其他跳转向相应 + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJDoctorMainViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJDoctorMainViewController.m new file mode 100644 index 0000000..2e94e56 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Controller/XJDoctorMainViewController.m @@ -0,0 +1,733 @@ +// +// XJDoctorMainViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/4/20. +// + +#import "XJDoctorMainViewController.h" +#import "DoctorStatusView.h" +#import "DoctorInfoTopView.h" +#import "AppointmentInfoView.h" +#import "evaluationPopView.h" +#import "SelectedDoctorTimeVC.h" +#import "DoctorReportModel.h" +#import "LookModficalFileViewController.h" +#import "QuesstionDetailLookFileViewController.h" +#import "QuestionBodyReportModel.h" +#import "ExpertMainViewController.h" +#import "evaluationPopView.h" +#import "FSXBStarRateView.h" +#import "SelectedQuestionViewController.h" + +@interface XJDoctorMainViewController () + +@property (nonatomic, strong) DoctorReportDoctorInfoModel * doctorModel; +@property (nonatomic, strong) DoctorReportConSessionModel * sessionModel; +@property (nonatomic, strong) DoctorReportRecordsModel * danganModel; +@property (nonatomic, strong) DoctorInfoTopView * doctorInfoView; +@property (nonatomic, strong) AppointmentInfoView * AppointView; +@property (nonatomic, strong) UIScrollView * mainScrollview; +@property (nonatomic, copy) NSString * yueyue_id; +@property (nonatomic, strong) UIButton * bottomBtn; +@property (nonatomic, strong) UIButton * pingjiaBtn; +@property (nonatomic, strong) UIView * evaluateView; +@property (nonatomic, strong) NSMutableArray * topViewArray; +@property (nonatomic, strong) UILabel * evaluateLabel; +@property (nonatomic, strong) UILabel * evaluateNameLabel; +@property (nonatomic, strong) FSXBStarRateView * starRateView; + +@property (nonatomic, strong) evaluationPopView * popView; + + + +@end + +@implementation XJDoctorMainViewController + +- (NSMutableArray *)topViewArray { + + if (!_topViewArray) { + + _topViewArray = [[NSMutableArray alloc] init]; + } + return _topViewArray; +} + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.view.backgroundColor = UIColorHex(#EFEFEF); + + // 注册键盘通知 + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(keyboardWillShow:) + name:UIKeyboardWillShowNotification + object:nil]; + + [[NSNotificationCenter defaultCenter] addObserver:self + selector:@selector(keyboardWillHide:) + name:UIKeyboardWillHideNotification + object:nil]; + // 启用侧滑返回手势 + self.navigationController.interactivePopGestureRecognizer.delegate = self; + self.navigationController.interactivePopGestureRecognizer.enabled = YES; + + // 创建自定义手势识别器 + UIScreenEdgePanGestureRecognizer *panGesture = [[UIScreenEdgePanGestureRecognizer alloc] initWithTarget:self action:@selector(handlePanGesture:)]; + panGesture.edges = UIRectEdgeLeft; + [self.view addGestureRecognizer:panGesture]; + self.isHidenNaviBar = YES; + [self createTopAndNav]; + [self createStatusView]; + [self createData]; +} + +- (void)createTopAndNav { + + UIView * navView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kRealValue(222))]; + navView.backgroundColor = UIColorHex(#21BEBD); + [self.view addSubview:navView]; + UIButton * backBtn = [[UIButton alloc] initWithFrame:CGRectMake(kRealValue(15), kStatusBarHeight + kRealValue(15), 30, 30)]; + [backBtn setImage:[UIImage imageNamed:@"whiteBack_icon"] forState:UIControlStateNormal]; + [backBtn addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside]; + [navView addSubview:backBtn]; +} + +- (void)backAction { + +// if (self.popType == 1) { +// [self.navigationController popViewControllerAnimated:YES]; +// }else +// { +//// int i = 0; +//// int allCount = self.navigationController.viewControllers.count; +//// for (UIViewController *controller in self.navigationController.viewControllers) +//// { +//// if ([controller isKindOfClass:[ExpertMainViewController class]]) { +//// ExpertMainViewController * expervc =(ExpertMainViewController *)controller; +//// [self.navigationController popToViewController:expervc animated:YES]; +//// } +//// if ([controller isKindOfClass:[OneKeyQuestionDetailVC class]]) { +//// OneKeyQuestionDetailVC * phyVC =(OneKeyQuestionDetailVC *)controller; +//// [self.navigationController popToViewController:phyVC animated:false]; +//// } +//// i++; +//// if (i == allCount && ![controller isKindOfClass:[ExpertMainViewController class]] && ![controller isKindOfClass:[OneKeyQuestionDetailVC class]] ) { +//// [self.navigationController popViewControllerAnimated:YES]; +//// } +//// +//// } +// // 获取导航堆栈视图控制器数组 +// NSArray *viewControllers = self.navigationController.viewControllers; +// +// // 确保堆栈中有足够的视图控制器 +// if (viewControllers.count >= 3) { +// // 返回到上上级视图控制器 +// UIViewController *targetViewController = viewControllers[viewControllers.count - 3]; +// [self.navigationController popToViewController:targetViewController animated:YES]; +// } else { +// // 处理视图控制器不足的情况,比如弹出提示或者直接 popToRootViewController +// [self.navigationController popViewControllerAnimated:YES]; +// } +// } + // 获取当前导航控制器的视图控制器堆栈 + NSArray *viewControllers = self.navigationController.viewControllers; + + // 查找导航堆栈中的目标视图控制器 + UIViewController *targetViewController = nil; + for (UIViewController *vc in viewControllers) { + if ([vc isKindOfClass:[SelectedQuestionViewController class]]) { + targetViewController = vc; + break; + } + } + + if (targetViewController) { + // 如果找到目标视图控制器,则弹出到该视图控制器 + [self.navigationController popToViewController:targetViewController animated:YES]; + } else { + // 如果没有找到目标视图控制器,则返回到上一页 + [self.navigationController popViewControllerAnimated:YES]; + } +} + +- (void)createStatusView { + NSArray * array = @[@" 待确认 ",@" 待开始 ",@"在线咨询",@" 待评价 ",@" 完成 "]; + CGFloat statusW = (kScreenWidth - kRealValue(68))/5; + for (int i = 0; i < 5 ; i ++) { + + DoctorStatusView * statusView = [[DoctorStatusView alloc] initWithFrame:CGRectMake(kRealValue(34) + (statusW + 5) * i , kTopHeight + kRealValue(5), statusW, kRealValue(50))]; + if (i == 0) { + statusView.isSelected = true; + }else + { + statusView.isSelected = false; + + } + statusView.lastType = 4; + + statusView.statusString = array[i]; + [self.topViewArray addObject:statusView]; + [self.view addSubview:statusView]; + } + + UILabel * titleLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(33), kTopHeight + kRealValue(11) + kRealValue(70) , kScreenWidth - kRealValue(66), 13)]; + titleLabel.text = @"预约成功后,请就诊当日打开APP等待医生呼叫"; + titleLabel.textColor = KWhiteColor; + titleLabel.font = MEDIUMFONT(12); + titleLabel.textAlignment = NSTextAlignmentLeft; + [self.view addSubview:titleLabel]; + + UIButton * bottomBtn = [[UIButton alloc] initWithFrame:CGRectMake(kRealValue(31.5), kScreenHeight - 50 , self.view.width - kRealValue(66), 40)]; + [bottomBtn setTitle:@"取消预约" forState:UIControlStateNormal]; + [bottomBtn setTitleColor:UIColorHex(#21BEBD) forState:UIControlStateNormal]; + bottomBtn.titleLabel.font = SYSTEMFONT(14); + bottomBtn.layer.cornerRadius = 20; + bottomBtn.layer.masksToBounds = true; + bottomBtn.layer.borderColor = UIColorHex(#21BEBD).CGColor; + [bottomBtn addTarget:self action:@selector(cancelAppointClick) forControlEvents:UIControlEventTouchUpInside]; + bottomBtn.layer.borderWidth = 1.0f; + self.bottomBtn = bottomBtn; + [self.view addSubview:bottomBtn]; + + self.pingjiaBtn = [[UIButton alloc] initWithFrame:CGRectMake(kRealValue(31.5), kScreenHeight - 50 , self.view.width - kRealValue(66), 40)]; + [self.pingjiaBtn setTitle:@"去评价" forState:UIControlStateNormal]; + [self.pingjiaBtn setTitleColor:KWhiteColor forState:UIControlStateNormal]; + self.pingjiaBtn.titleLabel.font = SYSTEMFONT(14); + self.pingjiaBtn.layer.cornerRadius = 20; + self.pingjiaBtn.layer.masksToBounds = true; + [self.pingjiaBtn addTarget:self action:@selector(qupingjiaAction) forControlEvents:UIControlEventTouchUpInside]; + self.pingjiaBtn.hidden = true; + self.pingjiaBtn.backgroundColor = UIColorHex(#21BEBD); + [self.view addSubview:self.pingjiaBtn]; + MJWeakSelf + UIScrollView * mainScrollView = [[UIScrollView alloc] initWithFrame:CGRectMake(kRealValue(15), titleLabel.bottom + kRealValue(27), kScreenWidth - kRealValue(30),kScreenHeight - titleLabel.bottom - 50 - 40)]; + mainScrollView.showsVerticalScrollIndicator = false; + mainScrollView.showsHorizontalScrollIndicator = false; + mainScrollView.backgroundColor = KClearColor; + self.mainScrollview = mainScrollView; + [self.view addSubview:mainScrollView]; + + DoctorInfoTopView * infoView = [[DoctorInfoTopView alloc] initWithFrame:CGRectMake(0, 0, mainScrollView.width, 210)]; + infoView.backgroundColor = KWhiteColor; + self.doctorInfoView = infoView; + infoView.height = infoView.doctorinfoHeight; + infoView.layer.cornerRadius = 5.0; + infoView.layer.masksToBounds = true; + infoView.collectBlock = ^(DoctorReportDoctorInfoModel * _Nonnull doctorModel) { + [weakSelf collectDoctor:doctorModel]; + }; + [mainScrollView addSubview:infoView]; + + + AppointmentInfoView * AppointView = [[AppointmentInfoView alloc] initWithFrame:CGRectMake(0, infoView.bottom + kRealValue(10), mainScrollView.width, 400)]; + AppointView.backgroundColor = KWhiteColor; + self.AppointView = AppointView; + + AppointView.lookBlock = ^{ + [weakSelf lookFileDeatil]; + }; + + [HQCommonUtils addShadowToView:AppointView]; + AppointView.height = AppointView.infoH; + [mainScrollView addSubview:AppointView]; + + self.evaluateView = [[UIView alloc] initWithFrame:CGRectMake(0, AppointView.bottom + kRealValue(10), mainScrollView.width, 50)]; + self.evaluateView.backgroundColor = KWhiteColor; + self.evaluateView.layer.cornerRadius = 10; + self.evaluateView.layer.masksToBounds = true; + self.evaluateView.hidden = true; + [mainScrollView addSubview:self.evaluateView]; + + self.evaluateNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(15), kRealValue(15), 100, 15)]; + self.evaluateNameLabel.textColor = CFontColor1; + self.evaluateNameLabel.textAlignment = NSTextAlignmentLeft; + self.evaluateNameLabel.font = BOLDSYSTEMFONT(14); + self.evaluateNameLabel.text = @"--"; + + [self.evaluateView addSubview:self.evaluateNameLabel]; + + self.starRateView = [[FSXBStarRateView alloc] initWithFrame:CGRectMake(self.evaluateNameLabel.right, kRealValue(13), 100, 15) numberOfStars:5 rateStyle:HalfStar isAnination:YES finish:^(CGFloat currentScore) { + }]; + self.starRateView.enable = false; + self.starRateView.currentScore = 3; + [self.evaluateView addSubview:self.starRateView]; + + self.evaluateLabel = [[UILabel alloc] initWithFrame:CGRectMake(kRealValue(15),self.evaluateNameLabel.bottom + kRealValue(15), self.evaluateView.width - kRealValue(30), 15)]; + self.evaluateLabel.textColor = CFontColor2; + self.evaluateLabel.textAlignment = NSTextAlignmentLeft; + self.evaluateLabel.font = SYSTEMFONT(12); + self.evaluateLabel.text = @"--"; + [self.evaluateView addSubview:self.evaluateLabel]; + + + + mainScrollView.contentSize = CGSizeMake(kScreenWidth - kRealValue(30), kScreenHeight - titleLabel.bottom - 50 - 40); + + + +} + +- (void)createData { + + [self showMBProgressHUDWithString:@"数据加载中,请稍候..." autoHidden:NO]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + + [parmDic setObject:self.yuyue_id forKey:@"id"]; + + JKCQAPI * detailApi = [[JKCQAPI alloc] init:self tag:@"ReportApi" NeedToken:@""]; + + [detailApi getAppointmentReportDetailAPI:parmDic]; +} + + +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + [self showMBProgressHUDOnlyWithString:message]; + [self hiddenAllMBProgressHUD]; + + +} +- (void)Sucess:(id)response tag:(NSString*)tag +{ + if ([tag isEqualToString:@"ReportApi"]) { + + [self hiddenAllMBProgressHUD]; + NSDictionary * resDic = response; + DoctorReportModel * model = [DoctorReportModel modelWithDictionary:resDic]; + + self.sessionModel = [DoctorReportConSessionModel modelWithDictionary:model.conSession] ; + self.doctorModel = [DoctorReportDoctorInfoModel modelWithDictionary:model.conDoctorDO] ; + self.danganModel = [DoctorReportRecordsModel modelWithDictionary:model.conMedicalRecordsListDO]; +// 预约状态 1待确认 2待开始 3已开始 4待评价 5已完成 6 拒绝 7取消 8 超时 + [self topStatus:[self.sessionModel.contentStatus intValue]]; + self.doctorInfoView.model = model; + +// self.AppointView.recordModel = [DoctorReportRecordsModel modelWithDictionary:model.conMedicalRecordsListDO] ; +// self.AppointView.familyModel = [DoctorReportFamilyInfoModel modelWithDictionary:model.conFamilyMembersDO]; +// self.AppointView.answerModel = model; + self.AppointView.model = model; + if ([self.sessionModel.contentStatus intValue] == 7) { + self.AppointView.isQuxiao = true; + self.bottomBtn.hidden = true; + } + if ([self.sessionModel.contentStatus intValue] == 6) { + self.AppointView.isQuxiao = false; + self.bottomBtn.hidden = true; + } + if ([self.sessionModel.contentStatus intValue] == 4) { + + self.pingjiaBtn.hidden = false; + } + if ([self.sessionModel.contentStatus intValue] == 5) { + + self.pingjiaBtn.hidden = true; + self.bottomBtn.hidden = true; + self.evaluateView.hidden = false; + DoctorConEvaluateDOModel * evModel = [DoctorConEvaluateDOModel modelWithDictionary:model.conEvaluateDO] ; + self.evaluateLabel.text = evModel.context; + self.evaluateNameLabel.text = evModel.userName; + self.starRateView.currentScore = [evModel.score floatValue]; + + self.evaluateNameLabel.width = [HQCommonUtils getLengthFromText:self.evaluateNameLabel.text andFontSize:16]; + self.starRateView.left = self.evaluateNameLabel.right + kRealValue(10); + self.evaluateLabel.height = [HQCommonUtils getSpaceLabelHeight:self.evaluateLabel withStr:self.evaluateLabel.text withFont:[UIFont systemFontOfSize:12 weight:UIFontWeightMedium] withWidth:self.evaluateLabel.width withLineSpacing:5]; + self.evaluateView.height = self.evaluateLabel.bottom + kRealValue(10); + + } + if ([self.sessionModel.contentStatus intValue] == 1 || [self.sessionModel.contentStatus intValue] == 2 || [self.sessionModel.contentStatus intValue] == 3) + { + self.AppointView.isQuxiao = false; + } + //布局 + self.doctorInfoView.height = self.doctorInfoView.doctorinfoHeight; + self.AppointView.top = self.doctorInfoView.bottom + 10; + self.AppointView.height = self.AppointView.infoH; + self.evaluateView.top = self.AppointView.bottom + 10; + self.AppointView.height = self.AppointView.infoH; + self.evaluateView.top = self.AppointView.bottom + 10; + self.mainScrollview.contentSize = CGSizeMake(kScreenWidth - kRealValue(30), self.evaluateView.bottom); +// //是否体检报告 +// if ([self.danganModel.tfPermission integerValue] == 1) { //有体检报告 +// +// [self getBodyInfoReport:model.idNo]; +// +// }else +// { +// +// } + } + + if ([tag isEqualToString:@"CARDSEARCH"]) { + + [self hiddenAllMBProgressHUD]; +// NSDictionary * dic = response; +// +// if ([dic.allKeys containsObject:@"records"]) { +// int i = 0; +// NSArray * array = [dic objectForKey:@"records"]; +// for (NSDictionary * parm in array) { +// +// PhyscialReportListModel * model = [PhyscialReportListModel modelWithDictionary:parm]; +// +// if (i == 0) { +// self.AppointView.bodyModel =model; +// } +// i++; +// } +// if (array.count <= 0) { +// self.AppointView.bodyModel = nil; +// } +// self.AppointView.height = self.AppointView.infoH; +// self.evaluateView.top = self.AppointView.bottom + 10; +// self.mainScrollview.contentSize = CGSizeMake(kScreenWidth - kRealValue(30), self.evaluateView.bottom); +// +// } +// + } + + if ([tag isEqualToString:@"CANCELQUESTION"]) { + [self hiddenAllMBProgressHUD]; + [self createData]; + } + if ([tag isEqualToString:@"CollAPI"]) { + [self hiddenAllMBProgressHUD]; + + [EasyTextView showSuccessText:response]; + [self createData]; + } + if ([tag isEqualToString:@"cancelAPI"]) { + [self hiddenAllMBProgressHUD]; + + [EasyTextView showSuccessText:response]; + [self createData]; + + } + if ([tag isEqualToString:@"DoctorSource"]) { + [self hiddenAllMBProgressHUD]; + [self.popView removeFromSuperview]; + [self createData]; + } +} + +- (void)collectDoctor:(DoctorReportDoctorInfoModel *)doctorModel { + + + if([doctorModel.tfFollow integerValue] == 1) { //已经关注 点击取消 + + + [self showMBProgressHUDWithString:@"正在取消关注" autoHidden:false]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + + [parmDic setObject:doctorModel.doctor_id forKey:@"doctorId"]; + + JKCQAPI * detailApi = [[JKCQAPI alloc] init:self tag:@"cancelAPI" NeedToken:@""]; + + [detailApi getCancelCollectDoctorExpertData:parmDic]; + + } +else + { + [self showMBProgressHUDWithString:@"正在关注" autoHidden:false]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + + [parmDic setObject:doctorModel.doctor_id forKey:@"doctorId"]; + + JKCQAPI * detailApi = [[JKCQAPI alloc] init:self tag:@"CollAPI" NeedToken:@""]; + + [detailApi getCollectDoctorExpertData:parmDic]; + + } + + +} + +//请求体检信息 +- (void)getBodyInfoReport:(NSString *)byID { + +// NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; +// +// [parmDic setObject:User_ID forKey:@"userId"]; +// +// JKCQAPI * api = [[JKCQAPI alloc] init:self tag:@"CARDSEARCH" NeedToken:nil]; +// +// [api GetPhyscialIDCardSearch:parmDic]; + +} + +- (void)topStatus:(int)status { + //预约状态 1待确认 2待开始 3已开始 4待评价 5已完成 + // 6 拒绝 7取消 8 超时 + + if(status == 1 || status == 6 ) { + + int i = 0; + for (DoctorStatusView * topView in self.topViewArray) { + if ( i == 0) { + topView.isSelected = true; + }else + { + topView.isSelected = false; + } + topView.lastType = i ; + i ++; + } + } + if(status == 2) { + + int i = 0; + for (DoctorStatusView * topView in self.topViewArray) { + if ( i == 1) { + + topView.isSelected = true; + }else + { + topView.isSelected = false; + } + topView.lastType = i ; + + i ++; + } + } + if(status == 3) { + + int i = 0; + for (DoctorStatusView * topView in self.topViewArray) { + if ( i == 2) { + + topView.isSelected = true; + }else + { + topView.isSelected = false; + } + i ++; + } + } + if(status == 4) { + + int i = 0; + for (DoctorStatusView * topView in self.topViewArray) { + if ( i == 3) { + + topView.isSelected = true; + }else + { + topView.isSelected = false; + } + topView.lastType = i ; + + i ++; + } + } + + if(status == 5) { + + int i = 0; + for (DoctorStatusView * topView in self.topViewArray) { + if ( i == 4) { + + topView.isSelected = true; + }else + { + topView.isSelected = false; + } + topView.lastType = i ; + + i ++; + } + } + // 6 拒绝 7取消 8 超时 + if(status == 7) + { + int i = 0; + for (DoctorStatusView * topView in self.topViewArray) { + if ( i == 1) { + topView.statusString = @"取消预约"; + topView.isSelected = true; + }else + { + topView.isSelected = false; + } + topView.lastType = i ; + + i ++; + } + } + + if(status == 8 ) + { + DoctorStatusView * topView = self.topViewArray.lastObject; + topView.isSelected = true; + } + DoctorStatusView * lastView = self.topViewArray.lastObject; + lastView.lastType = 4; + +} + +#pragma mark:查看档案详情 + +- (void)lookFileDeatil { + +#pragma mark - 网络请求 + + +// NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; +// +// [parmDic setObject:self.danganModel.dangan_id forKey:@"id"]; +// +// JKCQAPI * upApi = [[JKCQAPI alloc] init:self tag:@"FILEDATA" NeedToken:@""]; +// +// [upApi GetLookModficalMemberShipFileData:parmDic]; +// + QuesstionDetailLookFileViewController * detailvc = [[QuesstionDetailLookFileViewController alloc] init]; + detailvc.danganID = self.danganModel.dangan_id; + [self.navigationController pushViewController:detailvc animated:YES]; +} + +#pragma mark:查看体检报告 + +- (void)lookReportDeatil { + +// PhysicalReportViewController * phyVC = [[PhysicalReportViewController alloc] init]; +// [self.navigationController pushViewController:phyVC animated:YES]; +// PhyReportDetailViewController * yearVC = [[PhyReportDetailViewController alloc] init]; +// yearVC.navTitle = model.medicalYear; +// yearVC.yearString = model.report_id; +// [self.navigationController pushViewController:yearVC animated:YES]; + +} + +#pragma mark:取消预约 + +- (void)cancelAppointClick { + +// GET http://cqyt.dev.yg.dt.io/health-consultation/api/consult/conSession/cancelSession?id=1716737797670907906 HTTP/1.1 + +// evaluationPopView * popView = [[evaluationPopView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight)]; +// popView.popBlock = ^(CGFloat starNumber, BOOL isSecrect, NSString * _Nonnull evaluationString) { +// [EasyTextView showInfoText:@"点击了提交"]; +// }; +// [[UIApplication sharedApplication].keyWindow addSubview:popView]; + +// GET http://cqyt.dev.yg.dt.io/health-consultation/api/consult/conDoctorSchedulingDate/selectSchedulingDateListByDoctorId?doctorId=1539253293e421ab0115425351860001 HTTP/1.1 +// QuesstionDetailLookFileViewController * lookVC = [[QuesstionDetailLookFileViewController alloc] init]; +// +// lookVC.danganID = self.danganModel.dangan_id; +// +// [self.navigationController pushViewController:lookVC animated:YES]; + [self showMBProgressHUDWithString:@"正在取消..." autoHidden:false]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + + [parmDic setObject:self.sessionModel.yuyue_id forKey:@"id"]; + + JKCQAPI * api = [[JKCQAPI alloc] init:self tag:@"CANCELQUESTION" NeedToken:nil]; + + [api getCancelQuestion:parmDic]; + +} + +- (void)qupingjiaAction { + + evaluationPopView * popView = [[evaluationPopView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight)]; + self.popView = popView; + popView.popBlock = ^(CGFloat starNumber, BOOL isSecrect, NSString * _Nonnull evaluationString) { + NSString * niming = isSecrect == YES? @"1":@"0"; + [self doctorSourceWithStarNumaber:starNumber withContext:evaluationString isKnow:niming]; + }; + [[UIApplication sharedApplication].keyWindow addSubview:popView]; + +} + +- (void)doctorSourceWithStarNumaber:(CGFloat)starNumer withContext:(NSString *)connet isKnow:(NSString *)isNiming{ + + [self showMBProgressHUDWithString:@"评价中,请稍候..." autoHidden:false]; + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:@(starNumer) forKey:@"score"]; + [parmDic setObject:connet forKey:@"context"]; + [parmDic setObject:self.sessionModel.yuyue_id forKey:@"sessionId"]; + [parmDic setObject:isNiming forKey:@"tfUnknow"]; + + JKCQAPI * endApi = [[JKCQAPI alloc] init:self tag:@"DoctorSource" NeedToken:@""]; + [endApi PostQustionDoctorScore:parmDic]; + +} + + +- (void)keyboardWillShow:(NSNotification *)notification { + // 获取键盘的大小和动画持续时间 + NSDictionary *userInfo = [notification userInfo]; + CGRect keyboardFrame = [[userInfo objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue]; + double duration = [[userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; + + // 根据键盘的大小调整视图的位置 + [UIView animateWithDuration:duration animations:^{ + // 您可以在这里调整视图的位置,例如: + self.popView.frame = CGRectMake(0, self.view.bounds.size.height - keyboardFrame.size.height - self.popView.bounds.size.height, self.popView.bounds.size.width, self.popView.bounds.size.height); + }]; +} + +- (void)keyboardWillHide:(NSNotification *)notification { + // 获取动画持续时间 + NSDictionary *userInfo = [notification userInfo]; + double duration = [[userInfo objectForKey:UIKeyboardAnimationDurationUserInfoKey] doubleValue]; + + // 恢复视图的位置 + [UIView animateWithDuration:duration animations:^{ + // 恢复视图到原来的位置,例如: + self.popView.frame = CGRectMake(0, 0, kScreenWidth, kScreenHeight); // originalFrame 是视图原来的位置 + }]; +} + + + +- (void)dealloc { + // 移除通知 + [[NSNotificationCenter defaultCenter] removeObserver:self + name:UIKeyboardWillShowNotification + object:nil]; + + [[NSNotificationCenter defaultCenter] removeObserver:self + name:UIKeyboardWillHideNotification + object:nil]; +} +// 手势处理方法 +- (void)handlePanGesture:(UIScreenEdgePanGestureRecognizer *)gesture { + if (gesture.state == UIGestureRecognizerStateEnded) { + NSArray *viewControllers = self.navigationController.viewControllers; + UIViewController *targetViewController = nil; + + // 查找导航堆栈中的目标视图控制器 + for (UIViewController *vc in viewControllers) { + if ([vc isKindOfClass:[SelectedQuestionViewController class]]) { + targetViewController = vc; + break; + } + } + if (targetViewController) { + // 如果找到目标视图控制器,则弹出到该视图控制器 + [self.navigationController popToViewController:targetViewController animated:YES]; + } else { + // 如果没有找到目标视图控制器,则返回到上一页 + [self.navigationController popViewControllerAnimated:YES]; + } + } +} + +// UIGestureRecognizerDelegate 方法 +- (BOOL)gestureRecognizerShouldBegin:(UIGestureRecognizer *)gestureRecognizer { + // 确保只有在不是根视图控制器时才启用手势 + return self.navigationController.viewControllers.count > 1; +} + +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorDetailModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorDetailModel.h index 8da747d..ee4c59c 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorDetailModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorDetailModel.h @@ -1,6 +1,6 @@ // // DoctorDetailModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/16. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorDetailModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorDetailModel.m index 1f4e27e..31b5df9 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorDetailModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorDetailModel.m @@ -1,6 +1,6 @@ // // DoctorDetailModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/16. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorRecommendModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorRecommendModel.h index 0ce85b0..988b488 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorRecommendModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorRecommendModel.h @@ -1,6 +1,6 @@ // // DoctorRecommendModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorRecommendModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorRecommendModel.m index 0f83016..b72d792 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorRecommendModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorRecommendModel.m @@ -1,6 +1,6 @@ // // DoctorRecommendModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorReportModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorReportModel.h index 8f3a361..6e6b6cf 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorReportModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorReportModel.h @@ -1,6 +1,6 @@ // // DoctorReportModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/12. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorReportModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorReportModel.m index a9955e2..14c2058 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorReportModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorReportModel.m @@ -1,6 +1,6 @@ // // DoctorReportModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/12. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorTimeModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorTimeModel.h index 005daee..7742488 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorTimeModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorTimeModel.h @@ -1,6 +1,6 @@ // // DoctorTimeModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorTimeModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorTimeModel.m index 8a4e844..afbbcb1 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorTimeModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/DoctorTimeModel.m @@ -1,6 +1,6 @@ // // DoctorTimeModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/EvaluatListModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/EvaluatListModel.h index 5424697..fc4d0d4 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/EvaluatListModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/EvaluatListModel.h @@ -1,6 +1,6 @@ // // EvaluatListModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/EvaluatListModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/EvaluatListModel.m index 9611ed4..e49515c 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/EvaluatListModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/EvaluatListModel.m @@ -1,6 +1,6 @@ // // EvaluatListModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FamilyMemberRelationModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FamilyMemberRelationModel.h index 107a83f..5bc51df 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FamilyMemberRelationModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FamilyMemberRelationModel.h @@ -1,6 +1,6 @@ // // FamilyMemberRelationModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/21. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FamilyMemberRelationModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FamilyMemberRelationModel.m index 58d9889..7048ffd 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FamilyMemberRelationModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FamilyMemberRelationModel.m @@ -1,6 +1,6 @@ // // FamilyMemberRelationModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/21. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FileDataModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FileDataModel.h index 66d96ea..a19228c 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FileDataModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FileDataModel.h @@ -1,6 +1,6 @@ // // FileDataModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FileDataModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FileDataModel.m index 0cffd92..7dd296e 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FileDataModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FileDataModel.m @@ -1,6 +1,6 @@ // // FileDataModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FoundExpertModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FoundExpertModel.h index d2bdfbb..a89e44d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FoundExpertModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FoundExpertModel.h @@ -1,6 +1,6 @@ // // FoundExpertModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/26. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FoundExpertModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FoundExpertModel.m index a48008e..1594ad4 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FoundExpertModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/FoundExpertModel.m @@ -1,6 +1,6 @@ // // FoundExpertModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/26. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/HospitalInfoModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/HospitalInfoModel.h index 2e4a36c..fd8fc15 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/HospitalInfoModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/HospitalInfoModel.h @@ -1,6 +1,6 @@ // // HospitalInfoModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/HospitalInfoModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/HospitalInfoModel.m index 66d512b..b2d8bb0 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/HospitalInfoModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/HospitalInfoModel.m @@ -1,6 +1,6 @@ // // HospitalInfoModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/LookFileDataModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/LookFileDataModel.h index 075cc7b..34e4276 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/LookFileDataModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/LookFileDataModel.h @@ -1,6 +1,6 @@ // // LookFileDataModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/27. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/LookFileDataModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/LookFileDataModel.m index 01e0bc4..b1c5021 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/LookFileDataModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/LookFileDataModel.m @@ -1,6 +1,6 @@ // // LookFileDataModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/27. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionBodyReportModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionBodyReportModel.h index 40d69ba..ef4e982 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionBodyReportModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionBodyReportModel.h @@ -1,6 +1,6 @@ // // QuestionBodyReportModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionBodyReportModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionBodyReportModel.m index 1c6fc58..e413764 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionBodyReportModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionBodyReportModel.m @@ -1,6 +1,6 @@ // // QuestionBodyReportModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionDiseaseInfoModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionDiseaseInfoModel.h index 695af6a..511655a 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionDiseaseInfoModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionDiseaseInfoModel.h @@ -1,6 +1,6 @@ // // QuestionDiseaseInfoModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/17. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionDiseaseInfoModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionDiseaseInfoModel.m index ba740de..696d410 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionDiseaseInfoModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionDiseaseInfoModel.m @@ -1,6 +1,6 @@ // // QuestionDiseaseInfoModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/17. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionItemModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionItemModel.h index 7810ae8..1658ff6 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionItemModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionItemModel.h @@ -1,6 +1,6 @@ // // QuestionItemModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionItemModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionItemModel.m index da357a8..5ba324b 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionItemModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionItemModel.m @@ -1,6 +1,6 @@ // // QuestionItemModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionOptionModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionOptionModel.h index 5b103a7..ca80fbd 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionOptionModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionOptionModel.h @@ -1,6 +1,6 @@ // // QuestionOptionModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionOptionModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionOptionModel.m index d5e45e2..8f0864a 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionOptionModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionOptionModel.m @@ -1,6 +1,6 @@ // // QuestionOptionModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionPeopleModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionPeopleModel.h index 995c519..5f31cf1 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionPeopleModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionPeopleModel.h @@ -1,6 +1,6 @@ // // QuestionPeopleModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionPeopleModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionPeopleModel.m index 29da842..41e237e 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionPeopleModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionPeopleModel.m @@ -1,6 +1,6 @@ // // QuestionPeopleModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionRecordModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionRecordModel.h index 782ff4d..3073507 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionRecordModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionRecordModel.h @@ -1,6 +1,6 @@ // // QuestionRecordModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/28. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionRecordModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionRecordModel.m index afa6586..0e22367 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionRecordModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/QuestionRecordModel.m @@ -1,6 +1,6 @@ // // QuestionRecordModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/28. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/RecordIMListDateModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/RecordIMListDateModel.h index d2b4003..308ea9f 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/RecordIMListDateModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/RecordIMListDateModel.h @@ -1,6 +1,6 @@ // // RecordIMListDateModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/23. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/RecordIMListDateModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/RecordIMListDateModel.m index ec88848..0eeca02 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/RecordIMListDateModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/RecordIMListDateModel.m @@ -1,6 +1,6 @@ // // RecordIMListDateModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/23. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SOSGroupIMModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SOSGroupIMModel.h index 8a815d9..a9d1e86 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SOSGroupIMModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SOSGroupIMModel.h @@ -1,6 +1,6 @@ // // SOSGroupIMModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/4. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SOSGroupIMModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SOSGroupIMModel.m index b2135f1..317944d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SOSGroupIMModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SOSGroupIMModel.m @@ -1,6 +1,6 @@ // // SOSGroupIMModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/4. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchRoomModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchRoomModel.h index 991f83b..438c8c9 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchRoomModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchRoomModel.h @@ -1,6 +1,6 @@ // // SearchRoomModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchRoomModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchRoomModel.m index 6dc650f..a17cb08 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchRoomModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchRoomModel.m @@ -1,6 +1,6 @@ // // SearchRoomModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchSicksModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchSicksModel.h index a4cb75b..c3fe59a 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchSicksModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchSicksModel.h @@ -1,6 +1,6 @@ // // SearchSicksModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchSicksModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchSicksModel.m index 44dd93c..25ea992 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchSicksModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SearchSicksModel.m @@ -1,6 +1,6 @@ // // SearchSicksModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/12. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SmallHelpIMDataModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SmallHelpIMDataModel.h index 2ee21a5..134d89e 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SmallHelpIMDataModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SmallHelpIMDataModel.h @@ -1,6 +1,6 @@ // // SmallHelpIMDataModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/24. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SmallHelpIMDataModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SmallHelpIMDataModel.m index bcdd622..f70931e 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SmallHelpIMDataModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/Model/SmallHelpIMDataModel.m @@ -1,6 +1,6 @@ // // SmallHelpIMDataModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/24. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/ADJumpViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/ADJumpViewController.h index cbd93f2..bd48a74 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/ADJumpViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/ADJumpViewController.h @@ -1,6 +1,6 @@ // // ADJumpViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/6. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/ADJumpViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/ADJumpViewController.m index a196b73..36600b4 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/ADJumpViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/ADJumpViewController.m @@ -1,6 +1,6 @@ // // ADJumpViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/6. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HQSearchView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HQSearchView.h index 2108b6c..5d1a102 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HQSearchView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HQSearchView.h @@ -1,6 +1,6 @@ // // HQSearchView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/13. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HQSearchView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HQSearchView.m index 68f728c..57cea84 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HQSearchView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HQSearchView.m @@ -1,6 +1,6 @@ // // HQSearchView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/13. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportModel.h b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportModel.h index bdb729c..3e8cf15 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportModel.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportModel.h @@ -1,6 +1,6 @@ // // HealthPhyReportModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/8/28. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportModel.m b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportModel.m index 294a636..2e911d3 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportModel.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportModel.m @@ -1,6 +1,6 @@ // // HealthPhyReportModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/8/28. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportTableView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportTableView.h index 66e3d3a..2f4969d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportTableView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportTableView.h @@ -1,6 +1,6 @@ // // HealthPhyReportTableView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/8/28. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportTableView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportTableView.m index ce37494..b1e3600 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportTableView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthPhyReportTableView.m @@ -1,6 +1,6 @@ // // HealthPhyReportTableView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/8/28. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthSugReportTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthSugReportTableViewCell.h index 4c7b6c6..6dfd604 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthSugReportTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthSugReportTableViewCell.h @@ -1,6 +1,6 @@ // // HealthSugReportTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/8/28. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthSugReportTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthSugReportTableViewCell.m index dc27775..97867a7 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthSugReportTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/HealthSugReportTableViewCell.m @@ -1,6 +1,6 @@ // // HealthSugReportTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/8/28. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/LookReportImageViewController.h b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/LookReportImageViewController.h index fc77983..872c0d8 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/LookReportImageViewController.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/LookReportImageViewController.h @@ -1,6 +1,6 @@ // // LookReportImageViewController.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/2/26. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/LookReportImageViewController.m b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/LookReportImageViewController.m index ed3f4ca..a241c7a 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/LookReportImageViewController.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/LookReportImageViewController.m @@ -1,6 +1,6 @@ // // LookReportImageViewController.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/2/26. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameSubTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameSubTableViewCell.h index 3dc5836..d9ef462 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameSubTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameSubTableViewCell.h @@ -1,6 +1,6 @@ // // SickNameSubTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/8/29. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameSubTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameSubTableViewCell.m index 4da9430..ea44559 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameSubTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameSubTableViewCell.m @@ -1,6 +1,6 @@ // // SickNameSubTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/8/29. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameTopTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameTopTableViewCell.h index 4161780..494fc57 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameTopTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameTopTableViewCell.h @@ -1,6 +1,6 @@ // // SickNameTopTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/8/29. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameTopTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameTopTableViewCell.m index 992c08b..1e1e803 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameTopTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/SickNameTopTableViewCell.m @@ -1,6 +1,6 @@ // // SickNameTopTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/8/29. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/imageReportTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/imageReportTableViewCell.h index 4b64a86..ebc9b69 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/imageReportTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/imageReportTableViewCell.h @@ -1,6 +1,6 @@ // // imageReportTableViewCell.h -// EscortProject +// XinjiangProject // // Created by Apple on 2024/2/23. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/imageReportTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/imageReportTableViewCell.m index 7ef1794..9f58378 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/imageReportTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/OtherFile/imageReportTableViewCell.m @@ -1,6 +1,6 @@ // // imageReportTableViewCell.m -// EscortProject +// XinjiangProject // // Created by Apple on 2024/2/23. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/AppointmentInfoView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/AppointmentInfoView.h index 61b465e..513261a 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/AppointmentInfoView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/AppointmentInfoView.h @@ -1,6 +1,6 @@ // // AppointmentInfoView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/AppointmentInfoView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/AppointmentInfoView.m index d2bf2da..d061242 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/AppointmentInfoView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/AppointmentInfoView.m @@ -1,6 +1,6 @@ // // AppointmentInfoView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllHospitalConditionView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllHospitalConditionView.h index a1c8e1e..ad1030f 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllHospitalConditionView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllHospitalConditionView.h @@ -1,6 +1,6 @@ // // AllHospitalConditionView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/13. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllHospitalConditionView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllHospitalConditionView.m index e5e5627..4824006 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllHospitalConditionView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllHospitalConditionView.m @@ -1,6 +1,6 @@ // // AllHospitalConditionView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/13. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllRoomsConditionView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllRoomsConditionView.h index 67a6ab2..b4d19b7 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllRoomsConditionView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllRoomsConditionView.h @@ -1,6 +1,6 @@ // // AllRoomsConditionView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/13. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllRoomsConditionView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllRoomsConditionView.m index 3ed12f2..2b86bf2 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllRoomsConditionView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllRoomsConditionView.m @@ -1,6 +1,6 @@ // // AllRoomsConditionView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/13. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllSicksConditionView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllSicksConditionView.h index 97079a7..b8cdb05 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllSicksConditionView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllSicksConditionView.h @@ -1,6 +1,6 @@ // // AllSicksConditionView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/13. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllSicksConditionView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllSicksConditionView.m index b8c0664..ee87fe0 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllSicksConditionView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/ConditionsView(条件筛选)/AllSicksConditionView.m @@ -1,6 +1,6 @@ // // AllSicksConditionView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/13. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoCollectView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoCollectView.h index 148cacf..52b389a 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoCollectView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoCollectView.h @@ -1,6 +1,6 @@ // // HQPhotoCollectView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoCollectView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoCollectView.m index bafe02b..eabd4e3 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoCollectView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoCollectView.m @@ -1,6 +1,6 @@ // // HQPhotoCollectView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoPostCollectionViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoPostCollectionViewCell.h index 4c522a4..9d5a04c 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoPostCollectionViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoPostCollectionViewCell.h @@ -1,6 +1,6 @@ // // HQPhotoPostCollectionViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoPostCollectionViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoPostCollectionViewCell.m index 8b84803..fe81a79 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoPostCollectionViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/HQPhotoPostCollectionViewCell.m @@ -1,6 +1,6 @@ // // HQPhotoPostCollectionViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTable.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTable.h index 4ff485b..0ca62d0 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTable.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTable.h @@ -1,6 +1,6 @@ // // QuestionItemTable.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTable.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTable.m index 3d53309..d2a4d06 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTable.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTable.m @@ -1,6 +1,6 @@ // // QuestionItemTable.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTableViewCell.h index fba3520..b0214f7 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTableViewCell.h @@ -1,6 +1,6 @@ // // QuestionItemTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTableViewCell.m index a46e0f6..7bdc9b9 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/QuestionItemTableViewCell.m @@ -1,6 +1,6 @@ // // QuestionItemTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/SelectedFileDateCenterView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/SelectedFileDateCenterView.h index 3ec7ce9..08755d9 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/SelectedFileDateCenterView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/SelectedFileDateCenterView.h @@ -1,6 +1,6 @@ // // SelectedFileDateCenterView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/SelectedFileDateCenterView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/SelectedFileDateCenterView.m index 9f39fe4..931b169 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/SelectedFileDateCenterView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DataDetail(档案详情)/SelectedFileDateCenterView.m @@ -1,6 +1,6 @@ // // SelectedFileDateCenterView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTable.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTable.h index e516882..8b83cbf 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTable.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTable.h @@ -1,6 +1,6 @@ // // DoctorEvaluationTable.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/16. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTable.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTable.m index 53f38b7..782ea3a 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTable.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTable.m @@ -1,6 +1,6 @@ // // DoctorEvaluationTable.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/16. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTableViewCell.h index 7ed6402..491def5 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTableViewCell.h @@ -1,6 +1,6 @@ // // DoctorEvaluationTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/16. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTableViewCell.m index 35d94d0..3cbe5be 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorEvaluationTableViewCell.m @@ -1,6 +1,6 @@ // // DoctorEvaluationTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/16. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorInfoTopView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorInfoTopView.h index 02652d7..a02f1d6 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorInfoTopView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorInfoTopView.h @@ -1,6 +1,6 @@ // // DoctorInfoTopView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorInfoTopView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorInfoTopView.m index 83bed1e..5ca1b7e 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorInfoTopView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorInfoTopView.m @@ -1,6 +1,6 @@ // // DoctorInfoTopView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionView.h index 8d18fb4..b695988 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionView.h @@ -1,6 +1,6 @@ // // DoctorRoomCollectionView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionView.m index edd9d6a..a13b834 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionView.m @@ -1,6 +1,6 @@ // // DoctorRoomCollectionView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionViewCell.h index 0380371..0dea649 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionViewCell.h @@ -1,6 +1,6 @@ // // DoctorRoomCollectionViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionViewCell.m index 0e51de6..cf9ada7 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorRoomCollectionViewCell.m @@ -1,6 +1,6 @@ // // DoctorRoomCollectionViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorSelectTimeCollectionCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorSelectTimeCollectionCell.h index b66d1b4..ded2f2d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorSelectTimeCollectionCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorSelectTimeCollectionCell.h @@ -1,6 +1,6 @@ // // DoctorSelectTimeCollectionCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/21. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorSelectTimeCollectionCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorSelectTimeCollectionCell.m index 97ed870..82dacc3 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorSelectTimeCollectionCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorSelectTimeCollectionCell.m @@ -1,6 +1,6 @@ // // DoctorSelectTimeCollectionCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/21. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorStatusView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorStatusView.h index 8a5a723..b7814ff 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorStatusView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorStatusView.h @@ -1,6 +1,6 @@ // // DoctorStatusView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorStatusView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorStatusView.m index a662cef..3c392e9 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorStatusView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorStatusView.m @@ -1,6 +1,6 @@ // // DoctorStatusView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorTimeSelectedCollectView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorTimeSelectedCollectView.h index cb15f78..1b4ad5a 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorTimeSelectedCollectView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorTimeSelectedCollectView.h @@ -1,6 +1,6 @@ // // DoctorTimeSelectedCollectView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/21. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorTimeSelectedCollectView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorTimeSelectedCollectView.m index 218674d..5e3914d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorTimeSelectedCollectView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/DoctorTimeSelectedCollectView.m @@ -1,6 +1,6 @@ // // DoctorTimeSelectedCollectView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/21. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/EvaluationListTableView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/EvaluationListTableView.h index 0776e66..d9874b3 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/EvaluationListTableView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/EvaluationListTableView.h @@ -1,6 +1,6 @@ // // EvaluationListTableView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/EvaluationListTableView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/EvaluationListTableView.m index a0c73f8..5919917 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/EvaluationListTableView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/EvaluationListTableView.m @@ -1,6 +1,6 @@ // // EvaluationListTableView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollection.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollection.h index d1689e4..06c4839 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollection.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollection.h @@ -1,6 +1,6 @@ // // FoundExpertSubCollection.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollection.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollection.m index 76def83..e507939 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollection.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollection.m @@ -1,6 +1,6 @@ // // FoundExpertSubCollection.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollectionViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollectionViewCell.h index d0bc1bf..58affa3 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollectionViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollectionViewCell.h @@ -1,6 +1,6 @@ // // FoundExpertSubCollectionViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollectionViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollectionViewCell.m index c00f5a2..3809440 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollectionViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundExpertSubCollectionViewCell.m @@ -1,6 +1,6 @@ // // FoundExpertSubCollectionViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundLeftTableView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundLeftTableView.h index 290df57..b5fe855 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundLeftTableView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundLeftTableView.h @@ -1,6 +1,6 @@ // // FoundLeftTableView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundLeftTableView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundLeftTableView.m index 042e756..0c71e8d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundLeftTableView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundLeftTableView.m @@ -1,6 +1,6 @@ // // FoundLeftTableView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRightTableView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRightTableView.h index 3268626..4eb0ca9 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRightTableView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRightTableView.h @@ -1,6 +1,6 @@ // // FoundRightTable.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRightTableView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRightTableView.m index b4df4bb..411fb89 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRightTableView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRightTableView.m @@ -1,6 +1,6 @@ // // FoundRightTable.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRoomsTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRoomsTableViewCell.h index 2ba6ead..6731267 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRoomsTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRoomsTableViewCell.h @@ -1,6 +1,6 @@ // // FoundRoomsTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRoomsTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRoomsTableViewCell.m index f576032..41fcc34 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRoomsTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/FoundRoomsTableViewCell.m @@ -1,6 +1,6 @@ // // FoundRoomsTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/19. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyDoctorTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyDoctorTableViewCell.h index de69cf3..73e788e 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyDoctorTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyDoctorTableViewCell.h @@ -1,6 +1,6 @@ // // HealthyDoctorTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyDoctorTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyDoctorTableViewCell.m index 38b54a0..75af621 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyDoctorTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyDoctorTableViewCell.m @@ -1,6 +1,6 @@ // // HealthyDoctorTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionHeardView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionHeardView.h index ad7f6c1..fa4881c 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionHeardView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionHeardView.h @@ -1,6 +1,6 @@ // // HealthyQuestionHeardView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionHeardView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionHeardView.m index c9640ab..044e90d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionHeardView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionHeardView.m @@ -1,6 +1,6 @@ // // HealthyQuestionHeardView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionTable.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionTable.h index 9bed3d1..9fbad43 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionTable.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionTable.h @@ -1,6 +1,6 @@ // // HealthyQuestionTable.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionTable.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionTable.m index ec4c31d..8848a73 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionTable.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyQuestionTable.m @@ -1,6 +1,6 @@ // // HealthyQuestionTable.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyToolsView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyToolsView.h index a46268d..cdd0d12 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyToolsView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyToolsView.h @@ -1,6 +1,6 @@ // // HealthyToolsView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyToolsView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyToolsView.m index 7bfa93e..5b31dba 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyToolsView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HealthyToolsView.m @@ -1,6 +1,6 @@ // // HealthyToolsView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalListTableCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalListTableCell.h index 4eaea61..9fd80de 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalListTableCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalListTableCell.h @@ -1,6 +1,6 @@ // // HospitalListTableCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalListTableCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalListTableCell.m index c5396af..7c6ce7f 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalListTableCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalListTableCell.m @@ -1,6 +1,6 @@ // // HospitalListTableCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTiitleTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTiitleTableViewCell.h index 34c5283..9dd511f 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTiitleTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTiitleTableViewCell.h @@ -1,6 +1,6 @@ // // EvaluationTiitleTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTiitleTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTiitleTableViewCell.m index 50d451f..1caf3b7 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTiitleTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTiitleTableViewCell.m @@ -1,6 +1,6 @@ // // EvaluationTiitleTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTitleTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTitleTableViewCell.h index fd4f53a..1cbcbe3 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTitleTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTitleTableViewCell.h @@ -1,6 +1,6 @@ // // EvaluationTitleTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/1. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTitleTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTitleTableViewCell.m index 83b6b34..8b81d95 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTitleTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/EvaluationTitleTableViewCell.m @@ -1,6 +1,6 @@ // // EvaluationTitleTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/1. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilDoctorCollectionViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilDoctorCollectionViewCell.h index 80895f7..dc299ed 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilDoctorCollectionViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilDoctorCollectionViewCell.h @@ -1,6 +1,6 @@ // // HospatilDoctorCollectionViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/1. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilDoctorCollectionViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilDoctorCollectionViewCell.m index 3cce6be..cd150ee 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilDoctorCollectionViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilDoctorCollectionViewCell.m @@ -1,6 +1,6 @@ // // HospatilDoctorCollectionViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/1. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilIntroduceTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilIntroduceTableViewCell.h index db82c77..116ab7d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilIntroduceTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilIntroduceTableViewCell.h @@ -1,6 +1,6 @@ // // HospatilIntroduceTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilIntroduceTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilIntroduceTableViewCell.m index f762728..d5764d1 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilIntroduceTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospatilIntroduceTableViewCell.m @@ -1,6 +1,6 @@ // // HospatilIntroduceTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalEvaluationTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalEvaluationTableViewCell.h index 148a986..77ea874 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalEvaluationTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalEvaluationTableViewCell.h @@ -1,6 +1,6 @@ // // HospitalEvaluationTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalEvaluationTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalEvaluationTableViewCell.m index cff8c33..d369ee9 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalEvaluationTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalEvaluationTableViewCell.m @@ -1,6 +1,6 @@ // // HospitalEvaluationTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalLocationTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalLocationTableViewCell.h index a9554d4..e617389 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalLocationTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalLocationTableViewCell.h @@ -1,6 +1,6 @@ // // HospitalLocationTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalLocationTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalLocationTableViewCell.m index 99d55c7..1e0aa14 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalLocationTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalLocationTableViewCell.m @@ -1,6 +1,6 @@ // // HospitalLocationTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainDoctorCollectView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainDoctorCollectView.h index f53dbe4..e36ff0f 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainDoctorCollectView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainDoctorCollectView.h @@ -1,6 +1,6 @@ // // HospitalMainDoctorCollectView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/1. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainDoctorCollectView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainDoctorCollectView.m index 3195bd2..168c623 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainDoctorCollectView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainDoctorCollectView.m @@ -1,6 +1,6 @@ // // HospitalMainDoctorCollectView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/1. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainHeardView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainHeardView.h index b91b3a5..77b6f02 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainHeardView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainHeardView.h @@ -1,6 +1,6 @@ // // HospitalMainHeardView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainHeardView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainHeardView.m index e645ef6..6f52522 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainHeardView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainHeardView.m @@ -1,6 +1,6 @@ // // HospitalMainHeardView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainTableView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainTableView.h index bf61adf..89c2a7b 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainTableView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainTableView.h @@ -1,6 +1,6 @@ // // HospitalMainTableView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainTableView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainTableView.m index ec2b14e..a1e5ca2 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainTableView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/HospitalMain/HospitalMainTableView.m @@ -1,6 +1,6 @@ // // HospitalMainTableView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/9. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchExpertTableCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchExpertTableCell.h index 10f3df6..79181ce 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchExpertTableCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchExpertTableCell.h @@ -1,6 +1,6 @@ // // MainSearchExpertTableCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchExpertTableCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchExpertTableCell.m index d41a2db..9028bad 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchExpertTableCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchExpertTableCell.m @@ -1,6 +1,6 @@ // // MainSearchExpertTableCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchTable.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchTable.h index 094923b..4006504 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchTable.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchTable.h @@ -1,6 +1,6 @@ // // MainSearchTable.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchTable.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchTable.m index 3bdcf2a..f98d32c 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchTable.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/MainSearchTable.m @@ -1,6 +1,6 @@ // // MainSearchTable.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchConetShowTable.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchConetShowTable.h index 6e39f03..6e76cac 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchConetShowTable.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchConetShowTable.h @@ -1,6 +1,6 @@ // // SearchConetShowTable.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/26. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchConetShowTable.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchConetShowTable.m index 5937741..efd0f41 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchConetShowTable.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchConetShowTable.m @@ -1,6 +1,6 @@ // // SearchConetShowTable.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/26. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchShowUpTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchShowUpTableViewCell.h index bbf0d18..0a63d07 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchShowUpTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchShowUpTableViewCell.h @@ -1,6 +1,6 @@ // // SearchShowUpTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/26. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchShowUpTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchShowUpTableViewCell.m index 7d49a38..f5d9ba2 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchShowUpTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchShowUpTableViewCell.m @@ -1,6 +1,6 @@ // // SearchShowUpTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/26. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchZhuangjiaTable.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchZhuangjiaTable.h index 7962bd0..63b1bba 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchZhuangjiaTable.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchZhuangjiaTable.h @@ -1,6 +1,6 @@ // // SearchZhuangjiaTable.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/26. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchZhuangjiaTable.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchZhuangjiaTable.m index 2b81cb3..addbd5c 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchZhuangjiaTable.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/SearchZhuangjiaTable.m @@ -1,6 +1,6 @@ // // SearchZhuangjiaTable.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/5/26. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/ZongheZhuangjiaTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/ZongheZhuangjiaTableViewCell.h index b4df2ea..6cc794b 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/ZongheZhuangjiaTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/ZongheZhuangjiaTableViewCell.h @@ -1,6 +1,6 @@ // // ZongheZhuangjiaTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/21. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/ZongheZhuangjiaTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/ZongheZhuangjiaTableViewCell.m index 5bda6b0..ba34b93 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/ZongheZhuangjiaTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/MainSearchView/ZongheZhuangjiaTableViewCell.m @@ -1,6 +1,6 @@ // // ZongheZhuangjiaTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/21. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionAddPeopleTableCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionAddPeopleTableCell.h index 06348d7..5daed2c 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionAddPeopleTableCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionAddPeopleTableCell.h @@ -1,6 +1,6 @@ // // QuestionAddPeopleTableCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/17. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionAddPeopleTableCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionAddPeopleTableCell.m index 3c0fb71..edcde78 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionAddPeopleTableCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionAddPeopleTableCell.m @@ -1,6 +1,6 @@ // // QuestionAddPeopleTableCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/17. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableView.h index 2f2aec3..f70be3b 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableView.h @@ -1,6 +1,6 @@ // // QuestionDiseaseTableView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableView.m index 6d4ef29..1aadcf7 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableView.m @@ -1,6 +1,6 @@ // // QuestionDiseaseTableView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableViewCell.h index 67b02dd..e22eb81 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableViewCell.h @@ -1,6 +1,6 @@ // // QuestionDiseaseTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableViewCell.m index b768a25..71162c0 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionDiseaseTableViewCell.m @@ -1,6 +1,6 @@ // // QuestionDiseaseTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTable.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTable.h index a30b39d..92b2d9b 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTable.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTable.h @@ -1,6 +1,6 @@ // // QuestionPeopleManagerTable.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTable.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTable.m index 56ff8b9..553b2de 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTable.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTable.m @@ -1,6 +1,6 @@ // // QuestionPeopleManagerTable.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTableCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTableCell.h index edaa9d6..183e2c9 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTableCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTableCell.h @@ -1,6 +1,6 @@ // // QuestionPeopleManagerTableCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTableCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTableCell.m index f044f32..ef68c66 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTableCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionPeopleManagerTableCell.m @@ -1,6 +1,6 @@ // // QuestionPeopleManagerTableCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecordTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecordTableViewCell.h index 359c912..14a0970 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecordTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecordTableViewCell.h @@ -1,6 +1,6 @@ // // QuestionRecordTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/28. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecordTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecordTableViewCell.m index fbd47f7..5969325 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecordTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecordTableViewCell.m @@ -1,6 +1,6 @@ // // QuestionRecordTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/28. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecoredTable.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecoredTable.h index 0e33b9c..b42a3e3 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecoredTable.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecoredTable.h @@ -1,6 +1,6 @@ // // QuestionRecoredTable.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/28. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecoredTable.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecoredTable.m index 22fe184..dc7097f 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecoredTable.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/QuestionRecordView(咨询view)/QuestionRecoredTable.m @@ -1,6 +1,6 @@ // // QuestionRecoredTable.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/28. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionFirstTableCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionFirstTableCell.h index fd2a2a3..04ffbc2 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionFirstTableCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionFirstTableCell.h @@ -1,6 +1,6 @@ // // SelectedQuestionFirstTableCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionFirstTableCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionFirstTableCell.m index 4c0475f..2d2e0c7 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionFirstTableCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionFirstTableCell.m @@ -1,6 +1,6 @@ // // SelectedQuestionFirstTableCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTableView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTableView.h index df84af3..8da0d5e 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTableView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTableView.h @@ -1,6 +1,6 @@ // // SelectedQuestionTableView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTableView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTableView.m index da433e1..d10580f 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTableView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTableView.m @@ -1,6 +1,6 @@ // // SelectedQuestionTableView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTypeTableCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTypeTableCell.h index 781b531..29c9b0c 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTypeTableCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTypeTableCell.h @@ -1,6 +1,6 @@ // // SelectedQuestionTypeTableCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTypeTableCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTypeTableCell.m index d23b9e1..3d4f81d 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTypeTableCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/SelectedQuestionTypeTableCell.m @@ -1,6 +1,6 @@ // // SelectedQuestionTypeTableCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/14. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/UserInfoHealthPopView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/UserInfoHealthPopView.h index b6d6874..9c1b6bb 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/UserInfoHealthPopView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/UserInfoHealthPopView.h @@ -1,6 +1,6 @@ // // UserInfoHealthPopView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/21. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/UserInfoHealthPopView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/UserInfoHealthPopView.m index a3ab04e..57e31f5 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/UserInfoHealthPopView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/UserInfoHealthPopView.m @@ -1,6 +1,6 @@ // // UserInfoHealthPopView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/21. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/evaluationPopView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/evaluationPopView.h index b5501d4..b4835ad 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/evaluationPopView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/evaluationPopView.h @@ -1,6 +1,6 @@ // // evaluationPopView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/evaluationPopView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/evaluationPopView.m index ec7feb1..b5cee3b 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/evaluationPopView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/evaluationPopView.m @@ -1,6 +1,6 @@ // // evaluationPopView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/BasicHealthTable.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/BasicHealthTable.h index b614386..766c693 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/BasicHealthTable.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/BasicHealthTable.h @@ -1,6 +1,6 @@ // // BasicHealthTable.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/BasicHealthTable.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/BasicHealthTable.m index 0be9f27..9a80306 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/BasicHealthTable.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/BasicHealthTable.m @@ -1,6 +1,6 @@ // // BasicHealthTable.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeOneTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeOneTableViewCell.h index 883898f..0550931 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeOneTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeOneTableViewCell.h @@ -1,6 +1,6 @@ // // HealthTypeOneTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeOneTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeOneTableViewCell.m index bac8e7c..9058353 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeOneTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeOneTableViewCell.m @@ -1,6 +1,6 @@ // // HealthTypeOneTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeTwoTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeTwoTableViewCell.h index 9218099..29204fa 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeTwoTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeTwoTableViewCell.h @@ -1,6 +1,6 @@ // // HealthTypeTwoTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeTwoTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeTwoTableViewCell.m index a93127f..46d2703 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeTwoTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/healethOptionsView(健康选项)/HealthTypeTwoTableViewCell.m @@ -1,6 +1,6 @@ // // HealthTypeTwoTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/6/25. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/hospitalListTableView.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/hospitalListTableView.h index c86beaa..791ca08 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/hospitalListTableView.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/hospitalListTableView.h @@ -1,6 +1,6 @@ // // hospitalListTableView.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/hospitalListTableView.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/hospitalListTableView.m index 8741172..8482249 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/hospitalListTableView.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/hospitalListTableView.m @@ -1,6 +1,6 @@ // // hospitalListTableView.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/4/18. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/searchHospatilCellTableViewCell.h b/XinjiangProject/XinjiangProject/Project/Qusetion/View/searchHospatilCellTableViewCell.h index d6f162a..5cda3e4 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/searchHospatilCellTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/searchHospatilCellTableViewCell.h @@ -1,6 +1,6 @@ // // searchHospatilCellTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/20. // diff --git a/XinjiangProject/XinjiangProject/Project/Qusetion/View/searchHospatilCellTableViewCell.m b/XinjiangProject/XinjiangProject/Project/Qusetion/View/searchHospatilCellTableViewCell.m index 7cd8a92..3d050a3 100644 --- a/XinjiangProject/XinjiangProject/Project/Qusetion/View/searchHospatilCellTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/Qusetion/View/searchHospatilCellTableViewCell.m @@ -1,6 +1,6 @@ // // searchHospatilCellTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/20. // diff --git a/XinjiangProject/XinjiangProject/Project/SOS/Controller/XJSosCenterViewController.h b/XinjiangProject/XinjiangProject/Project/SOS/Controller/XJSosCenterViewController.h new file mode 100644 index 0000000..3a723b6 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/SOS/Controller/XJSosCenterViewController.h @@ -0,0 +1,16 @@ +// +// XJSosCenterViewController.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/4/13. +// + +#import "HQBaseViewController.h" + +NS_ASSUME_NONNULL_BEGIN + +@interface XJSosCenterViewController : HQBaseViewController + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/SOS/Controller/XJSosCenterViewController.m b/XinjiangProject/XinjiangProject/Project/SOS/Controller/XJSosCenterViewController.m new file mode 100644 index 0000000..45d722e --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/SOS/Controller/XJSosCenterViewController.m @@ -0,0 +1,1009 @@ +// +// XJSosCenterViewController.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/4/13. +// + +#import "XJSosCenterViewController.h" +#import "POIAnnotation.h" +#import "CustomAnnotationView.h" +#import "XMButton.h" +#import +#import "LXSegmentTitleView.h" +#import "XJSOSCenterModel.h" +#import +#import +#import +#import "XJSOSAddressView.h" +#import "SOSGroupIMModel.h" +#import "TYMapNavSheet.h" +#import "XJHealthInterveneHomeModel.h" +#import "XJAEDNetWrokModel.h" + +@interface XJSosCenterViewController () +{ + TYMapNavSheet * TYNavSheet; + +} +@property (nonatomic, strong) MAMapView * mapView ; + +@property (nonatomic, strong) UIView * grapView ; + +@property (nonatomic, strong) AMapSearchAPI *search; +@property (nonatomic, strong) AMapLocationManager *locationManager; +@property (nonatomic, copy) AMapLocatingCompletionBlock completionBlock; + + +@property (nonatomic, strong) LXSegmentTitleView *titleView; + +@property(strong, nonatomic) NSArray *titles; + +@property(strong, nonatomic) NSMutableArray * titlesArray; +@property(strong, nonatomic) NSMutableArray * ponisArray; +@property (strong, nonatomic) XJSOSCenterModel * model; +//经纬度 +@property (assign, nonatomic) CGFloat Longitude; +@property (assign, nonatomic) CGFloat latitude; +@property (copy, nonatomic) NSString * type; +// +@property (nonatomic, strong) XJSOSAddressView * addressView; + +@property (nonatomic, strong) XJSOSResourcesModel * resourceModel; + +@property (assign, nonatomic) NSInteger selecetIndex; + +@property (strong, nonatomic) NSMutableArray * hospitalArray; + +@property (strong, nonatomic) NSMutableArray * AedArray; + +@property (strong, nonatomic) NSMutableArray * carArray; + +@end + +@implementation XJSosCenterViewController + +- (NSMutableArray *)carArray { + + if (!_carArray) { + + _carArray = [[NSMutableArray alloc] init]; + } + return _carArray; +} + +- (NSMutableArray *)hospitalArray { + + if (!_hospitalArray) { + + _hospitalArray = [[NSMutableArray alloc] init]; + } + return _hospitalArray; +} + +- (NSMutableArray *)AedArray { + + if (!_AedArray) { + + _AedArray = [[NSMutableArray alloc] init]; + } + return _AedArray; + + +} + +- (NSMutableArray *)titlesArray { + + if (!_titlesArray) { + + _titlesArray = [[NSMutableArray alloc] init]; + } + return _titlesArray; +} + +- (NSMutableArray *)ponisArray { + + if (!_ponisArray) { + + _ponisArray = [[NSMutableArray alloc] init]; + } + return _ponisArray; +} + +- (XJSOSAddressView *)addressView { + + if (!_addressView) { + + _addressView = [[XJSOSAddressView alloc] initWithFrame:CGRectMake(kRealValue(15), kScreenHeight - kTopHeight - kRealValue(130), kScreenWidth - kRealValue(30), kRealValue(110))]; + _addressView.addressDelegate = self; + _addressView.backgroundColor = KWhiteColor; + + } + return _addressView; +} + +- (void)showBottomBtn { + + self.grapView.hidden = false; + +} +- (void)configLocationManager +{ + self.locationManager = [[AMapLocationManager alloc] init]; + + [self.locationManager setDelegate:self]; + + //设置期望定位精度 + [self.locationManager setDesiredAccuracy:kCLLocationAccuracyNearestTenMeters]; + + //设置不允许系统暂停定位 + [self.locationManager setPausesLocationUpdatesAutomatically:NO]; + + //设置允许在后台定位 + [self.locationManager setAllowsBackgroundLocationUpdates:NO]; + + //设置定位超时时间 + [self.locationManager setLocationTimeout:10]; + + //设置逆地理超时时间 + [self.locationManager setReGeocodeTimeout:3]; + + //设置开启虚拟定位风险监测,可以根据需要开启 + [self.locationManager setDetectRiskOfFakeLocation:NO]; +} + +- (void)cleanUpAction +{ + //停止定位 + [self.locationManager stopUpdatingLocation]; + + [self.locationManager setDelegate:nil]; + +} + +- (void)reGeocodeAction +{ + [self.mapView removeAnnotations:self.mapView.annotations]; + + //进行单次带逆地理定位请求 + [self.locationManager requestLocationWithReGeocode:YES completionBlock:self.completionBlock]; +} + +- (void)initCompleteBlock +{ + __weak XJSosCenterViewController *weakSelf = self; + self.completionBlock = ^(CLLocation *location, AMapLocationReGeocode *regeocode, NSError *error) + { + if (error != nil && error.code == AMapLocationErrorLocateFailed) + { + //定位错误:此时location和regeocode没有返回值,不进行annotation的添加 + return; + } + else if (error != nil + && (error.code == AMapLocationErrorReGeocodeFailed + || error.code == AMapLocationErrorTimeOut + || error.code == AMapLocationErrorCannotFindHost + || error.code == AMapLocationErrorBadURL + || error.code == AMapLocationErrorNotConnectedToInternet + || error.code == AMapLocationErrorCannotConnectToHost)) + { + //逆地理错误:在带逆地理的单次定位中,逆地理过程可能发生错误,此时location有返回值,regeocode无返回值,进行annotation的添加 + } + else if (error != nil && error.code == AMapLocationErrorRiskOfFakeLocation) + { + //存在虚拟定位的风险:此时location和regeocode没有返回值,不进行annotation的添加 + + //存在虚拟定位的风险的定位结果 + __unused CLLocation *riskyLocateResult = [error.userInfo objectForKey:@"AMapLocationRiskyLocateResult"]; + //存在外接的辅助定位设备 + __unused NSDictionary *externalAccressory = [error.userInfo objectForKey:@"AMapLocationAccessoryInfo"]; + + return; + } + else + { + //没有错误:location有返回值,regeocode是否有返回值取决于是否进行逆地理操作,进行annotation的添加 + } + + //根据定位信息,添加annotation + MAPointAnnotation *annotation = [[MAPointAnnotation alloc] init]; + [annotation setCoordinate:location.coordinate]; + + //有无逆地理信息,annotationView的标题显示的字段不一样 + if (regeocode) + { + [annotation setTitle:[NSString stringWithFormat:@"%@", regeocode.formattedAddress]]; + [annotation setSubtitle:[NSString stringWithFormat:@"%@-%@-%.2fm", regeocode.citycode, regeocode.adcode, location.horizontalAccuracy]]; + } + else + { + [annotation setTitle:[NSString stringWithFormat:@"lat:%f;lon:%f;", location.coordinate.latitude, location.coordinate.longitude]]; + [annotation setSubtitle:[NSString stringWithFormat:@"accuracy:%.2fm", location.horizontalAccuracy]]; + } + self.Longitude = location.coordinate.longitude; + self.latitude = location.coordinate.latitude; + [self getResourceDataWithType:@"1" Longitude:self.Longitude withLatitude:self.latitude]; + + XJSosCenterViewController *strongSelf = weakSelf; + [strongSelf addAnnotationToMapView:annotation]; + }; +} + +- (void)addAnnotationToMapView:(id)annotation +{ + [self.mapView addAnnotation:annotation]; + [self.mapView showAnnotations:self.mapView.annotations edgePadding:UIEdgeInsetsMake(100, 100, 100, 100) animated:YES]; + [self.mapView setCenterCoordinate:annotation.coordinate animated:YES]; +} + + +- (void)viewDidLoad { + [super viewDidLoad]; + // Do any additional setup after loading the view. + self.isHidenNaviBar = false; + self.type = @"0"; + self.selecetIndex = 0; + self.navigationItem.title = @"应急就医"; + self.view.backgroundColor = KWhiteColor; + TYNavSheet = [[TYMapNavSheet alloc]init]; + [self initMapView]; +// [self initCompleteBlock]; +// [self configLocationManager]; +// [self reGeocodeAction]; + + self.titleView = [[LXSegmentTitleView alloc] initWithFrame:CGRectMake(0 , 0 , kScreenWidth , kRealValue(35))]; + self.titleView.itemMinMargin = 15.f; + self.titleView.delegate = self; + self.titleView.titleNormalColor = CFontColor1; + self.titleView.titleSelectedColor = KWhiteColor; + self.titleView.btnNormalColor = KClearColor; + self.titleView.btnSelectedColor = UIColorHex(#21BEBD); + self.titleView.backgroundColor = KWhiteColor; + self.titleView.indicatorColor = KWhiteColor; + [self.view addSubview:self.titleView]; + + UIView * grapView = [[UIView alloc] initWithFrame:CGRectMake(0, kScreenHeight - kTopHeight - kRealValue(170) - kTabBarHeight, kScreenWidth,kRealValue(170))]; + grapView.backgroundColor = RGBA(0, 0, 0, 0.1); + self.grapView = grapView; + self.grapView.hidden = false; + [self.view addSubview:grapView]; + + + // 添加渐变图层 + CAGradientLayer *gradient = [CAGradientLayer layer]; + gradient.frame = grapView.bounds; + gradient.colors = @[(__bridge id)[UIColor colorWithWhite:1.0 alpha:0.0].CGColor, // 顶部白色透明 + (__bridge id)[UIColor blackColor].CGColor]; // 底部黑色 + gradient.locations = @[@0.0, @1.0]; + gradient.startPoint = CGPointMake(0.5, 0.0); // 从上到下 + gradient.endPoint = CGPointMake(0.5, 1.0); + + [grapView.layer insertSublayer:gradient atIndex:0]; + + + XMButton * callBtn = [[XMButton alloc] initWithFrame:CGRectMake(kScreenWidth/2 - 70 - kRealValue(33), grapView.height - StatusBar_Height - kRealValue(80) , kRealValue(70), kRealValue(70))]; + callBtn.style = SDButtonStyleTop; + callBtn.backgroundColor = KWhiteColor; + callBtn.layer.cornerRadius = 35.0f; + callBtn.layer.masksToBounds = true; + [callBtn setTitle:@"120" forState:UIControlStateNormal]; + callBtn.titleLabel.font = SYSTEMFONT(12); + [callBtn setTitleColor:UIColorHex(#FF422F) forState:UIControlStateNormal]; + [callBtn setImage:[UIImage imageNamed:@"callHospation"] forState:UIControlStateNormal]; + [callBtn addTarget:self action:@selector(callHospationAction) forControlEvents:UIControlEventTouchUpInside]; + callBtn.imageW = 22; + callBtn.imageH = 20; + callBtn.imageY = 19; + callBtn.imageX = 24; + callBtn.interval = 5; + [grapView addSubview:callBtn]; + + XMButton * sosBtn = [[XMButton alloc] initWithFrame:CGRectMake(kScreenWidth/2 + kRealValue(33), callBtn.top , kRealValue(70), kRealValue(70))]; + sosBtn.style = SDButtonStyleTop; + sosBtn.backgroundColor = KWhiteColor; + sosBtn.layer.cornerRadius = 35.0f; + sosBtn.layer.masksToBounds = true; + [sosBtn setTitle:@"应急就医" forState:UIControlStateNormal]; + sosBtn.titleLabel.font = SYSTEMFONT(11); + [sosBtn setTitleColor:UIColorHex(#FF422F) forState:UIControlStateNormal]; + [sosBtn setImage:[UIImage imageNamed:@"callSoSIcon"] forState:UIControlStateNormal]; + [sosBtn addTarget:self action:@selector(callSoSAction) forControlEvents:UIControlEventTouchUpInside]; + sosBtn.imageW = 22; + sosBtn.imageH = 21; + sosBtn.imageY = 19; + sosBtn.imageX = 24; + sosBtn.interval = 5; + [grapView addSubview:sosBtn]; + + self.titles = @[@"油田医院",@"合作医院",@"医疗点",@"AED",@"救护车"]; + self.titleView.segmentTitles = self.titles; + [self.titleView reloadData]; +} + +- (void)initMapView { + if (self.mapView == nil) { + [AMapServices sharedServices].enableHTTPS = YES; + // ///初始化地图 + self.mapView = [[MAMapView alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, kScreenHeight)]; + self.mapView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight; + self.mapView.showsCompass = YES; //设置成NO表示关闭指南针;YES表示显示指南针 + self.mapView.compassOrigin = CGPointMake(self.mapView.compassOrigin.x, 222); + self.mapView.showsScale = YES; //设置成NO表示不显示比例尺;YES表示显示比例尺 + self.mapView.delegate = self; + ///如果您需要进入地图就显示定位小蓝点,则需要下面两行代码 + _mapView.scaleOrigin= CGPointMake(_mapView.scaleOrigin.x, kRealValue(45)); //设置比例尺位置 + + + [self.view addSubview:self.mapView]; + + + self.mapView.showsUserLocation = YES; + self.mapView.userTrackingMode = MAUserTrackingModeFollow; + + //1.2、新增点A + +// //将目标经纬度设置为地图中心店 + MAUserLocationRepresentation *r = [[MAUserLocationRepresentation alloc] init]; + r.showsAccuracyRing = YES;///精度圈是否显示,默认YES + r.showsHeadingIndicator = YES;///是否显示方向指示(MAUserTrackingModeFollowWithHeading模式开启)。默认为YES + r.enablePulseAnnimation = YES;///内部蓝色圆点是否使用律动效果, 默认YES + r.image = [UIImage imageNamed:@"myLocationIcon"]; ///定位图标, 与蓝色原点互斥 + [self.mapView updateUserLocationRepresentation:r]; + + } + +} + +- (void)viewWillAppear:(BOOL)animated +{ + [super viewWillAppear:animated]; + + NSUserDefaults * user = [NSUserDefaults standardUserDefaults]; + CGFloat longitude = [[user objectForKey:USERDEFAULLONG] floatValue]; + CGFloat latitude = [[user objectForKey:USERDEFAULLATITUDE] floatValue]; + [self getResourceDataWithType:@"1" Longitude:longitude withLatitude:latitude]; +} + +- (void)viewDidAppear:(BOOL)animated +{ + [super viewDidAppear:animated]; + + // 开启定位 + self.mapView.showsUserLocation = YES; + self.mapView.userTrackingMode = MAUserTrackingModeFollow; +} + +- (void)viewDidDisappear:(BOOL)animated +{ + [super viewDidDisappear:animated]; +} + +#pragma mark: 拨打120 + +- (void)callHospationAction { + + + NSUserDefaults * user = [NSUserDefaults standardUserDefaults]; + CGFloat longitude = [[user objectForKey:USERDEFAULLONG] floatValue]; + CGFloat latitude = [[user objectForKey:USERDEFAULLATITUDE] floatValue]; + + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:@(longitude) forKey:@"longitude"]; + [parmDic setObject:@(latitude) forKey:@"latitude"]; + [parmDic setObject:@"0" forKey:@"callType"]; + [parmDic setObject:self.type forKey:@"resourceId"]; + + + JKCQAPI * sosApi = [[JKCQAPI alloc] init:self tag:@"CALLAPI" NeedToken:@""]; + [sosApi PostSoSPhoneEmergency:parmDic]; + + [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"tel://120"] options:nil completionHandler:^(BOOL success) { + + }]; +} + +#pragma mark:应急点击 +- (void)callSoSAction { + + [self showMBProgressHUDWithString:@"应急发起中,请稍候..." autoHidden:false]; + NSUserDefaults * user = [NSUserDefaults standardUserDefaults]; + CGFloat longitude = [[user objectForKey:USERDEFAULLONG] floatValue]; + CGFloat latitude = [[user objectForKey:USERDEFAULLATITUDE] floatValue]; + + + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + [parmDic setObject:@(longitude) forKey:@"longitude"]; + [parmDic setObject:@(latitude) forKey:@"latitude"]; + [parmDic setObject:@"0" forKey:@"name"]; + + + JKCQAPI * sosApi = [[JKCQAPI alloc] init:self tag:@"GroupAPI" NeedToken:@""]; + [sosApi getSoSCreateGroupChat:parmDic]; + +} + +#pragma mark - AMapLocationManager Delegate + +- (void)amapLocationManager:(AMapLocationManager *)manager doRequireLocationAuth:(CLLocationManager *)locationManager +{ + [locationManager requestAlwaysAuthorization]; +} + + +#pragma mark - MAMapViewDelegate + +- (void)mapViewRequireLocationAuth:(CLLocationManager *)locationManager +{ + [locationManager requestAlwaysAuthorization]; +} + + +- (void)mapView:(MAMapView *)mapView didChangeUserTrackingMode:(MAUserTrackingMode)mode animated:(BOOL)animated +{ +} + +#pragma mark:定位失败 +- (void)mapView:(MAMapView *)mapView didFailToLocateUserWithError:(NSError *)error { + +} + + +#pragma mark:更新位置 +- (void)mapView:(MAMapView *)mapView didUpdateUserLocation:(MAUserLocation *)userLocation updatingLocation:(BOOL)updatingLocation +{ + if (updatingLocation) + { + DLog(@"userlocation :%f", userLocation.location.coordinate.latitude); + self.Longitude = userLocation.location.coordinate.longitude; + self.latitude = userLocation.location.coordinate.latitude; + NSUserDefaults * user = [NSUserDefaults standardUserDefaults]; +// [self.mapView setCenterCoordinate: userLocation.location.coordinate animated:YES]; + + [user setObject:@(userLocation.location.coordinate.longitude) forKey:USERDEFAULLONG]; + [user setObject:@(userLocation.location.coordinate.latitude) forKey:USERDEFAULLATITUDE]; + [user synchronize]; +// [self getResourceDataWithType:@"0" Longitude:self.Longitude withLatitude:self.latitude]; + +// [self getResourceDataWithType:self.type Longitude:self.Longitude withLatitude:self.latitude]; + } +} + +#pragma mark - LXSegmentTitleViewDataSource + +- (NSArray *)segmentTitlesOfSegmentTitleView:(LXSegmentTitleView *)segmentView { + + return self.titles; +} + +- (void)segmentTitleView:(LXSegmentTitleView *)segmentView selectedIndex:(NSInteger)selectedIndex lastSelectedIndex:(NSInteger)lastSelectedIndex { + + self.mapView.showsUserLocation = YES; + self.mapView.userTrackingMode = MAUserTrackingModeFollow; + + [self getResourceDataWithType:[NSString stringWithFormat:@"%ld",selectedIndex] Longitude:self.Longitude withLatitude:self.latitude]; + [self.addressView removeFromSuperview]; + +// self.selecetIndex = selectedIndex + 1; +// if (self.selecetIndex == 1 || self.selecetIndex == 2) +// { +// [self getResourceDataWithType:[NSString stringWithFormat:@"%ld",self.selecetIndex] Longitude:self.Longitude withLatitude:self.latitude]; +// [self.addressView removeFromSuperview]; +// } +// if (self.selecetIndex ==3) { +// [self.hospitalArray removeAllObjects]; +// [self NearbyHospitalData]; +// [self.addressView removeFromSuperview]; +// } +// if (self.selecetIndex ==4) { +// [self.AedArray removeAllObjects]; +// [self NearbyAEDEquipmentData]; +// [self.addressView removeFromSuperview]; +// } +// +// if (self.selecetIndex ==5) { +// [self.AedArray removeAllObjects]; +// [self NearbySoSCarInf0Data]; +// [self.addressView removeFromSuperview]; +// } + + +} + +#pragma mark:请求医疗点数据 +//- (void)NearbyHospitalData { +// +// NSUserDefaults * user = [NSUserDefaults standardUserDefaults]; +// CGFloat longitude = [[user objectForKey:USERDEFAULLONG] floatValue]; +// CGFloat latitude = [[user objectForKey:USERDEFAULLATITUDE] floatValue]; +// +// NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; +// [parmDic setObject:[NSString stringWithFormat:@"%f",longitude] forKey:@"longitude"]; +// [parmDic setObject:[NSString stringWithFormat:@"%f",latitude] forKey:@"latitude"]; +// [parmDic setObject:[NSString stringWithFormat:@"%d",100000] forKey:@"radiusRange"]; +// [parmDic setObject:@"" forKey:@"name"]; +// [parmDic setObject:@(5) forKey:@"resourceNum"]; +// +// JKCQAPI * sosApi = [[JKCQAPI alloc] init:self tag:@"HOSPITALAPI" NeedToken:@""]; +// [sosApi getNearbyHomePageHospitalPoint:parmDic]; +// +//} +//#pragma mark:请求医疗点数据 +//- (void)NearbyAEDEquipmentData { +// +// NSUserDefaults * user = [NSUserDefaults standardUserDefaults]; +// CGFloat longitude = [[user objectForKey:USERDEFAULLONG] floatValue]; +// CGFloat latitude = [[user objectForKey:USERDEFAULLATITUDE] floatValue]; +// +// NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; +// [parmDic setObject:[NSString stringWithFormat:@"%f",longitude] forKey:@"longitude"]; +// [parmDic setObject:[NSString stringWithFormat:@"%f",latitude] forKey:@"latitude"]; +// [parmDic setObject:[NSString stringWithFormat:@"%d",100000] forKey:@"radiusRange"]; +// [parmDic setObject:@"" forKey:@"aedNum"]; +// +// JKCQAPI * sosApi = [[JKCQAPI alloc] init:self tag:@"AEDEQAPI" NeedToken:@""]; +// [sosApi getNearbyAEDEquipmentqNumber:parmDic]; +// +//} + +//#pragma mark:请求救护车数据 +//- (void)NearbySoSCarInf0Data { +// +// NSUserDefaults * user = [NSUserDefaults standardUserDefaults]; +// CGFloat longitude = [[user objectForKey:USERDEFAULLONG] floatValue]; +// CGFloat latitude = [[user objectForKey:USERDEFAULLATITUDE] floatValue]; +// +// NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; +// [parmDic setObject:[NSString stringWithFormat:@"%f",longitude] forKey:@"longitude"]; +// [parmDic setObject:[NSString stringWithFormat:@"%f",latitude] forKey:@"latitude"]; +// [parmDic setObject:[NSString stringWithFormat:@"%d",100000] forKey:@"radiusRange"]; +// +// JKCQAPI * sosApi = [[JKCQAPI alloc] init:self tag:@"SOSCARAPI" NeedToken:@""]; +// [sosApi getSoSCarInfoLocationHome:parmDic]; +// +//} + + +- (void)getResourceDataWithType:(NSString *)type + Longitude:(CGFloat)longitude + withLatitude:(CGFloat)latitude{ + + NSMutableDictionary * parmDic = [[NSMutableDictionary alloc] init]; + + [parmDic setObject:type forKey:@"type"]; + + [parmDic setObject:@(longitude) forKey:@"longitude"]; + + [parmDic setObject:@(latitude) forKey:@"latitude"]; + + JKCQAPI * api = [[JKCQAPI alloc] init:self tag:@"RESOURCES" NeedToken:@""]; + [api GetSoSHomePageResources:parmDic]; + +} + +#pragma mark:网络请求 +- (void)Failed:(NSString*)message tag:(NSString*)tag +{ + + [EasyTextView showErrorText:message]; + [self hiddenAllMBProgressHUD]; + +} +- (void)Sucess:(id)response tag:(NSString*)tag +{ + if ([tag isEqualToString:@"RESOURCES"]) + { + NSDictionary * parmDic = response; + + XJSOSCenterModel * model = [XJSOSCenterModel modelWithDictionary:parmDic]; + self.model = model; + + NSMutableArray * poiAnnotations = [[NSMutableArray alloc] init]; + [self.mapView removeAnnotations:self.mapView.annotations]; + [self.ponisArray removeAllObjects]; + // 获取用户位置 + MAUserLocation *userLocation = self.mapView.userLocation; + if (userLocation) { + [self.ponisArray addObject:userLocation]; + } + for (XJSOSResourcesModel * resourceModel in model.resources) { + + MAPointAnnotation *pointAnnotation = [[MAPointAnnotation alloc] init]; + pointAnnotation.coordinate = CLLocationCoordinate2DMake(resourceModel.latitude, resourceModel.longitude); + pointAnnotation.title = resourceModel.name; + pointAnnotation.subtitle = resourceModel.address; + [poiAnnotations addObject:pointAnnotation]; + [self addAnnotationToMapView:pointAnnotation]; + [self.ponisArray addObject:pointAnnotation]; + } + } + if ([tag isEqualToString:@"CALLAPI"]) { + NSDictionary * dic = response; + + + } + if ([tag isEqualToString:@"GroupAPI"]) { + NSDictionary * dic = response; + + if ([ESCTUIManager TUIUserStatus] == false) { + + + [self loginImAccount]; + return; + } + + + SOSGroupIMModel * model = [SOSGroupIMModel modelWithDictionary:dic]; + ChatViewController * chatVC = [[ChatViewController alloc] init]; + chatVC.isGroupID = YES; + chatVC.isVideo = YES; + chatVC.eableSendReport = true; + chatVC.eablehaveHelathData = true ; + chatVC.chatID = model.groupId; + chatVC.tfNew = model.tfNew; + chatVC.member = model.member; + chatVC.sosEnd_id = model.sosEnd_id; + chatVC.navTitle = @"应急中心"; + chatVC.questionType = 1; + [self.navigationController pushViewController:chatVC animated:YES]; + [self hiddenAllMBProgressHUD]; + + } + if ([tag isEqualToString:@"loginIMAPI"]) { + + NSDictionary * pamrDic = response; + + IMUserInfoModel * model = [IMUserInfoModel modelWithDictionary:pamrDic]; + + IMUserInfoModel * iminfoModel = [[IMUserInfoModel alloc] init]; + iminfoModel.IMInfo = pamrDic; + [HQCommonUtils keyedArchiverWithData:iminfoModel key:IMLoginUserInfo]; + [ESCTUIManager loginInitTUISDKAppidWith:[model.sdkAppId intValue] UserID:model.userId userSig:model.userSig]; + [self callSoSAction]; + } + +// if([tag isEqualToString:@"HOSPITALAPI"]) { +// +// NSArray * responseArray = response; +// +// NSMutableArray * poiAnnotations = [[NSMutableArray alloc] init]; +// [self.mapView removeAnnotations:self.mapView.annotations]; +// [self.ponisArray removeAllObjects]; +// // 获取用户位置 +// MAUserLocation *userLocation = self.mapView.userLocation; +// if (userLocation) { +// [self.ponisArray addObject:userLocation]; +// } +// for (NSDictionary * dic in responseArray) { +// +// XJHealthInterveneHomeModel * hospitalModel = [XJHealthInterveneHomeModel modelWithDictionary:dic]; +// [self.hospitalArray addObject:hospitalModel]; +// +// MAPointAnnotation *pointAnnotation = [[MAPointAnnotation alloc] init]; +// pointAnnotation.coordinate = CLLocationCoordinate2DMake(hospitalModel.latitude, hospitalModel.longitude); +// pointAnnotation.title = hospitalModel.name; +// pointAnnotation.subtitle = hospitalModel.address; +// [poiAnnotations addObject:pointAnnotation]; +// [self addAnnotationToMapView:pointAnnotation]; +// [self.ponisArray addObject:pointAnnotation]; +// } +// +// +// } +// if ([tag isEqualToString:@"AEDEQAPI"]) { +// +// NSArray * responseArray = response; +// +// NSMutableArray * poiAnnotations = [[NSMutableArray alloc] init]; +// [self.mapView removeAnnotations:self.mapView.annotations]; +// [self.ponisArray removeAllObjects]; +// // 获取用户位置 +// MAUserLocation *userLocation = self.mapView.userLocation; +// if (userLocation) { +// [self.ponisArray addObject:userLocation]; +// } +// +// for (NSDictionary * dic in responseArray) { +// +// XJAEDNetWrokModel * aedModel = [XJAEDNetWrokModel modelWithDictionary:dic]; +// [self.AedArray addObject:aedModel]; +// +// MAPointAnnotation *pointAnnotation = [[MAPointAnnotation alloc] init]; +// pointAnnotation.coordinate = CLLocationCoordinate2DMake(aedModel.latitude, aedModel.longitude); +// pointAnnotation.title = aedModel.name; +// pointAnnotation.subtitle = aedModel.installAddress; +// [poiAnnotations addObject:pointAnnotation]; +// [self addAnnotationToMapView:pointAnnotation]; +// [self.ponisArray addObject:pointAnnotation]; +// } +// +// } +// if ([tag isEqualToString:@"SOSCARAPI"]) { +// +// NSArray * responseArray = response; +// +// NSMutableArray * poiAnnotations = [[NSMutableArray alloc] init]; +// [self.mapView removeAnnotations:self.mapView.annotations]; +// [self.ponisArray removeAllObjects]; +// // 获取用户位置 +// MAUserLocation *userLocation = self.mapView.userLocation; +// if (userLocation) { +// [self.ponisArray addObject:userLocation]; +// } +// +// for (NSDictionary * dic in responseArray) { +// +// XJSOSResourcesModel * aedModel = [XJSOSResourcesModel modelWithDictionary:dic]; +// [self.carArray addObject:aedModel]; +// +// MAPointAnnotation *pointAnnotation = [[MAPointAnnotation alloc] init]; +// pointAnnotation.coordinate = CLLocationCoordinate2DMake(aedModel.latitude, aedModel.longitude); +// pointAnnotation.title = aedModel.departCode; +// pointAnnotation.subtitle = aedModel.licensePlateNumber; +// [poiAnnotations addObject:pointAnnotation]; +// [self addAnnotationToMapView:pointAnnotation]; +// [self.ponisArray addObject:pointAnnotation]; +// } +// +// +// } +// + + +} + +- (void)loginImAccount { + + JKCQAPI * proctocolApi = [[JKCQAPI alloc] init:self tag:@"loginIMAPI" NeedToken:nil]; + [proctocolApi GetIMLoginAccount:nil]; + +} + +- (MAAnnotationView *)mapView:(MAMapView *)mapView viewForAnnotation:(id)annotation +{ + [self.mapView showAnnotations:self.ponisArray edgePadding:UIEdgeInsetsMake(100, 100, 100, 100) animated:YES]; + //用户当前位置大头针 + if ([annotation isKindOfClass:[MAUserLocation class]]) + { + static NSString *userLocationStyleReuseIndetifier = @"userLocationStyleReuseIndetifier"; + + MAAnnotationView *annotationView = [mapView dequeueReusableAnnotationViewWithIdentifier:userLocationStyleReuseIndetifier]; + + if (annotationView == nil) + { + annotationView = [[MAAnnotationView alloc] initWithAnnotation:annotation reuseIdentifier:userLocationStyleReuseIndetifier]; + } + + annotationView.canShowCallout = true; + annotationView.image = [UIImage imageNamed:@"myLocationIcon"]; + annotationView.frame = CGRectMake(0, 0, 50, 50); + + return annotationView; + } + + if ([annotation isKindOfClass:[MAPointAnnotation class]]) + { + static NSString *reuseIndetifier = @"annotationReuseIndetifier"; + MAAnnotationView *annotationView = (MAAnnotationView *)[mapView dequeueReusableAnnotationViewWithIdentifier:reuseIndetifier]; + if (annotationView == nil) + { + annotationView = [[MAAnnotationView alloc] initWithAnnotation:annotation + reuseIdentifier:reuseIndetifier]; + } +// if (self.selecetIndex == 0) { +// +// for (XJHealthInterveneHomeModel * hospitalModel in self.hospitalArray) { +// +// if (annotation.coordinate.longitude == hospitalModel.longitude && annotation.coordinate.latitude == hospitalModel.latitude) { +// annotationView.image = [UIImage imageNamed:@"medicalAnnitation"]; +// } +// } +// +// // 使用动画效果将点显示在屏幕内 +// [annotationView setSelected:false animated:YES]; +// //设置中心点偏移,使得标注底部中间点成为经纬度对应点 +// annotationView.centerOffset = CGPointMake(0, -18); +// return annotationView; +// } +// if (self.selecetIndex == 3) { +// +// for (XJAEDNetWrokModel * aedModel in self.AedArray) { +// +// if (annotation.coordinate.longitude == aedModel.longitude && annotation.coordinate.latitude == aedModel.latitude) { +// annotationView.image = [UIImage imageNamed:@"AEDIcon"]; +// } +// } +// // 使用动画效果将点显示在屏幕内 +// [annotationView setSelected:false animated:YES]; +// //设置中心点偏移,使得标注底部中间点成为经纬度对应点 +// annotationView.centerOffset = CGPointMake(0, -18); +// return annotationView; +// +// } +// //救护车 +// if (self.selecetIndex == 5) { +// +// for (XJSOSResourcesModel * aedModel in self.carArray) { +// +// if (annotation.coordinate.longitude == aedModel.longitude && annotation.coordinate.latitude == aedModel.latitude) { +// annotationView.image = [UIImage imageNamed:@"sosCard"]; +// } +// } +// // 使用动画效果将点显示在屏幕内 +// [annotationView setSelected:false animated:YES]; +// //设置中心点偏移,使得标注底部中间点成为经纬度对应点 +// annotationView.centerOffset = CGPointMake(0, -18); +// return annotationView; +// +// } +// else +// { + for (XJSOSResourcesModel * resourceModel in self.model.resources) { + + if (annotation.coordinate.longitude == resourceModel.longitude && annotation.coordinate.latitude == resourceModel.latitude) { + if ([resourceModel.type integerValue]== 1) { + annotationView.image = [UIImage imageNamed:@"youtianHosoital"]; + } + if ([resourceModel.type integerValue]== 2) { + annotationView.image = [UIImage imageNamed:@"hezuoHospital"]; + } + if ([resourceModel.type integerValue]== 3) { + annotationView.image = [UIImage imageNamed:@"medicalAnnitation"]; + } + if ([resourceModel.type integerValue]== 4) { + annotationView.image = [UIImage imageNamed:@"AEDIcon"]; + } + if ([resourceModel.type integerValue]== 5) { + annotationView.image = [UIImage imageNamed:@"sosCard"]; + } + if ([resourceModel.type integerValue]== 6) { + annotationView.image = [UIImage imageNamed:@"sosPeople"]; + } + + } + } + // 使用动画效果将点显示在屏幕内 + [annotationView setSelected:false animated:YES]; + //设置中心点偏移,使得标注底部中间点成为经纬度对应点 + annotationView.centerOffset = CGPointMake(0, -18); + + return annotationView; + } + + +// } + return nil; +} + +- (void)mapView:(MAMapView *)mapView didSelectAnnotationView:(MAAnnotationView *)view +{ + + self.grapView.hidden = true; + + + if (self.selecetIndex == 3) { //医疗点 + + for (XJHealthInterveneHomeModel * hospitalModel in self.hospitalArray) { + + if (view.annotation.coordinate.longitude == hospitalModel.longitude && view.annotation.coordinate.latitude == hospitalModel.latitude) { + + XJSOSResourcesModel * resourceModel = [[XJSOSResourcesModel alloc] init]; + + resourceModel.address = hospitalModel.address; + resourceModel.name = hospitalModel.name; + resourceModel.mobile = hospitalModel.mobile; + resourceModel.latitude = hospitalModel.latitude; + resourceModel.longitude = hospitalModel.longitude; + + self.addressView.resourceModel = resourceModel; + self.resourceModel = resourceModel; + [self.mapView addSubview:self.addressView]; + } + } + return; + + } + if (self.selecetIndex == 4) { //aed + + for (XJAEDNetWrokModel * aedModel in self.AedArray) { + + if (view.annotation.coordinate.longitude == aedModel.longitude && view.annotation.coordinate.latitude == aedModel.latitude) { + + XJHealthInterveneAEDModel * subAedModel = [[XJHealthInterveneAEDModel alloc] init]; + + subAedModel.resourceAddress = aedModel.installAddress; + subAedModel.resourceName = aedModel.name; + subAedModel.principalPhone = aedModel.chargeFirstMobile; + self.addressView.aedModel = subAedModel; + + XJSOSResourcesModel * resourceModel = [[XJSOSResourcesModel alloc] init]; + resourceModel.address = aedModel.installAddress; + resourceModel.name = aedModel.name; + resourceModel.mobile = aedModel.chargeFirstMobile; + resourceModel.latitude = aedModel.latitude; + resourceModel.longitude = aedModel.longitude; + self.resourceModel = resourceModel; + [self.mapView addSubview:self.addressView]; + } + } + return; + + } + if (self.selecetIndex == 5) { + + for (XJSOSResourcesModel * aedModel in self.carArray) { + + if (view.annotation.coordinate.longitude == aedModel.longitude && view.annotation.coordinate.latitude == aedModel.latitude) { + + XJSOSResourcesModel * resourceModel = [[XJSOSResourcesModel alloc] init]; + resourceModel.address = aedModel.licensePlateNumber; + resourceModel.name = aedModel.departCode; + resourceModel.latitude = aedModel.latitude; + resourceModel.longitude = aedModel.longitude; + self.resourceModel = resourceModel; + self.addressView.resourceModel = resourceModel; + [self.mapView addSubview:self.addressView]; + } + } + return; + + } + for (XJSOSResourcesModel * resourceModel in self.model.resources) { + + + if (view.annotation.coordinate.longitude == resourceModel.longitude && view.annotation.coordinate.latitude == resourceModel.latitude) { + + self.addressView.resourceModel = resourceModel; + self.resourceModel = resourceModel; + [self.mapView addSubview:self.addressView]; + } + + } + +// } +} + +- (void)addressNavLocataion { + + NSUserDefaults * user = [NSUserDefaults standardUserDefaults]; + CGFloat longitude = [[user objectForKey:USERDEFAULLONG] floatValue]; + CGFloat latitude = [[user objectForKey:USERDEFAULLATITUDE] floatValue]; + + + + NSMutableDictionary * Dic = [[NSMutableDictionary alloc] initWithObjectsAndKeys:@"我的位置",@"startName",self.resourceModel.address,@"endName", nil]; + [TYNavSheet ShowMapNavSheetSuperView:self withLocationDic:Dic withstartCoor:CLLocationCoordinate2DMake(latitude, longitude) withendCoor:CLLocationCoordinate2DMake(self.resourceModel.latitude, self.resourceModel.longitude)]; + +} + +-(void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex +{ + [TYNavSheet actionSheetBtnClick:buttonIndex]; +} + +- (void)resourcePhoneOnclick:(NSString *)phoneNumber { + + + [[UIApplication sharedApplication] openURL:[NSURL URLWithString: [NSString stringWithFormat:@"tel://%@",phoneNumber]] options:nil completionHandler:^(BOOL success) { + + }]; +} +//在线时票据过期:此时您需要生成新的 userSig,并再次重新调用初始化。 +- (void)onKickedOffline { + + [HQCommonUtils keyedArchiverWithData:nil key:LoginUserInfo]; + [ESCTUIManager outLoginTUISDK]; + KPostNotification(KNotificationLoginStateChange, @NO); + +} +/* +#pragma mark - Navigation + +// In a storyboard-based application, you will often want to do a little preparation before navigation +- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender { + // Get the new view controller using [segue destinationViewController]. + // Pass the selected object to the new view controller. +} +*/ + +@end + diff --git a/XinjiangProject/XinjiangProject/Project/SOS/Model/XJAEDNetWrokModel.h b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJAEDNetWrokModel.h new file mode 100644 index 0000000..0d76448 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJAEDNetWrokModel.h @@ -0,0 +1,75 @@ +// +// XJAEDNetWrokModel.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/19. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XJAEDNetWrokModel : NSObject + +@property (nonatomic, copy) NSString * aed_id; +@property (nonatomic, copy) NSString * routerStatus_dictText; +@property (nonatomic, copy) NSString * installAddressImg; +@property (nonatomic, copy) NSString * manageDepartName; +@property (nonatomic, copy) NSString * installAddress; +@property (nonatomic, copy) NSString * batteryStatus; + +@property (nonatomic, copy) NSString * handleExplain; +@property (nonatomic, copy) NSString * videoHandle; +@property (nonatomic, copy) NSString * aedAnnexStatus; +@property (nonatomic, copy) NSString * chargeFirstMobile; +@property (nonatomic, copy) NSString * manageUserName; +@property (nonatomic, copy) NSString * routerSerialNum; + +@property (nonatomic, copy) NSString * manageUserId; +@property (nonatomic, copy) NSString * secondDepartName; +@property (nonatomic, copy) NSString * hostModel; +@property (nonatomic, copy) NSString * hostSerialNum; +@property (nonatomic, copy) NSString * delFlag; +@property (nonatomic, copy) NSString * annex; + + +@property (nonatomic, copy) NSString * batteryModel; +@property (nonatomic, copy) NSString * updateBy; +@property (nonatomic, copy) NSString * checkStatus_dictText; +@property (nonatomic, copy) NSString * routerModel; +@property (nonatomic, copy) NSString * name; +@property (nonatomic, copy) NSString * updateTime; + +@property (nonatomic, copy) NSString * electrodeSheetValidTime; +@property (nonatomic, copy) NSString * createBy; +@property (nonatomic, copy) NSString * departName; +@property (nonatomic, copy) NSString * manageDepartCode; +@property (nonatomic, assign) long distance; +@property (nonatomic, copy) NSString * aedImg; + +@property (nonatomic, assign) double longitude; +@property (nonatomic, copy) NSString * manageUserMobile; +@property (nonatomic, assign) double latitude; +@property (nonatomic, copy) NSString * departCode; + +@property (nonatomic, copy) NSString * electrodeSheetStatus; +@property (nonatomic, copy) NSString * batteryStatus_dictText; +@property (nonatomic, assign) NSInteger coverUserNum; + +@property (nonatomic, copy) NSString * chargeSecond; +@property (nonatomic, copy) NSString * chargeSecondMobile; + +@property (nonatomic, copy) NSString * checkStatus; +@property (nonatomic, copy) NSString * createTime; +@property (nonatomic, copy) NSString * mfrsName; +@property (nonatomic, copy) NSString * warrantyEndDate; +@property (nonatomic, copy) NSString * warrantyStartDate; +@property (nonatomic, copy) NSString * chargeFirst; +@property (nonatomic, copy) NSString * routerStatus; +@property (nonatomic, copy) NSString * electrodeSheetStatus_dictText; +@property (nonatomic, copy) NSString * mfrsMobile; +@property (nonatomic, copy) NSString * memo; +@property (nonatomic, assign) NSInteger batteryVoltage; +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/SOS/Model/XJAEDNetWrokModel.m b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJAEDNetWrokModel.m new file mode 100644 index 0000000..7a757b3 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJAEDNetWrokModel.m @@ -0,0 +1,19 @@ +// +// AEDNetWrokModel.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/19. +// + +#import "XJAEDNetWrokModel.h" + +@implementation XJAEDNetWrokModel + ++ (NSDictionary *)modelCustomPropertyMapper +{ + NSDictionary * dic =@{@"aed_id" :@"id"}; + return dic; +} + + +@end diff --git a/XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneAEDModel.h b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneAEDModel.h new file mode 100644 index 0000000..fb089f5 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneAEDModel.h @@ -0,0 +1,36 @@ +// +// HealthInterveneAEDModel.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/19. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XJHealthInterveneAEDModel : NSObject + +@property (nonatomic, copy) NSString * aed_id; +@property (nonatomic, copy) NSString * resourceAddress; +@property (nonatomic, copy) NSString * principalName; +@property (nonatomic, copy) NSString * principalPhone; +@property (nonatomic, copy) NSString * updateBy; +@property (nonatomic, copy) NSString * resourceDesc; + +@property (nonatomic, copy) NSString * resourceType; +@property (nonatomic, assign) double longitude; +@property (nonatomic, copy) NSString * delFlag; +@property (nonatomic, assign) double latitude; +@property (nonatomic, copy) NSString * resourceName; + +@property (nonatomic, copy) NSString * resourceImg; +@property (nonatomic, copy) NSString * resourceNo; +@property (nonatomic, assign) long distance; + +@property (nonatomic, strong) NSArray * assoSymtomIds; +@property (nonatomic, copy) NSString * status; +@property (nonatomic, copy) NSString * createBy; +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneAEDModel.m b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneAEDModel.m new file mode 100644 index 0000000..d49ab1e --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneAEDModel.m @@ -0,0 +1,19 @@ +// +// HealthInterveneAEDModel.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/12/19. +// + +#import "XJHealthInterveneAEDModel.h" + +@implementation XJHealthInterveneAEDModel + + ++ (NSDictionary *)modelCustomPropertyMapper +{ + NSDictionary * dic =@{@"aed_id" :@"id"}; + return dic; +} + +@end diff --git a/XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneHomeModel.h b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneHomeModel.h new file mode 100644 index 0000000..950b192 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneHomeModel.h @@ -0,0 +1,56 @@ +// +// XJHealthInterveneHomeModel.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/9/12. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XJHealthInterveneHomeModel : NSObject + +@property (nonatomic, copy) NSString * tit; +@property (nonatomic, copy) NSString * healthImg; +@property (nonatomic, copy) NSString * des; +@property (nonatomic, copy) NSString * currentData; +@property (nonatomic, copy) NSString * backImg; +@property (nonatomic, copy) NSString * type; + +//医院 +@property (nonatomic, copy) NSString * status; +@property (nonatomic, copy) NSString * status_dictText; +@property (nonatomic, copy) NSString * delFlag; +@property (nonatomic, copy) NSString * createBy; +@property (nonatomic, copy) NSString * createTime; +@property (nonatomic, copy) NSString * updateBy; +@property (nonatomic, copy) NSString * updateTime; +@property (nonatomic, copy) NSString * memo; +@property (nonatomic, copy) NSString * detail_id; +@property (nonatomic, copy) NSString * name; +@property (nonatomic, copy) NSString * address; +@property (nonatomic, copy) NSString * mobile; +@property (nonatomic, assign) double longitude; +@property (nonatomic, assign) double latitude; +@property (nonatomic, copy) NSString * aidrange; +@property (nonatomic, copy) NSString * gdId; +@property (nonatomic, copy) NSString * url; +@property (nonatomic, copy) NSString * level; +@property (nonatomic, copy) NSString * img; +@property (nonatomic, copy) NSString * hospitalId; +@property (nonatomic, copy) NSString * hospitalName; +@property (nonatomic, copy) NSString * departCode; +@property (nonatomic, copy) NSString * departName; +@property (nonatomic, copy) NSString * adminUser; +@property (nonatomic, copy) NSString * setUpTime; +@property (nonatomic, copy) NSString * medicalStaffNum; +@property (nonatomic, copy) NSString * radiationNum; +@property (nonatomic, copy) NSString * ambulanceNum; +@property (nonatomic, copy) NSString * radiationDepart; +@property (nonatomic, strong) NSArray * radiationDepartList; +@property (nonatomic, copy) NSString * distance; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneHomeModel.m b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneHomeModel.m new file mode 100644 index 0000000..10efd62 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJHealthInterveneHomeModel.m @@ -0,0 +1,18 @@ +// +// XJHealthInterveneHomeModel.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/9/12. +// + +#import "XJHealthInterveneHomeModel.h" + +@implementation XJHealthInterveneHomeModel + ++ (NSDictionary *)modelCustomPropertyMapper +{ + NSDictionary * dic =@{@"detail_id" :@"id"}; + return dic; +} + +@end diff --git a/XinjiangProject/XinjiangProject/Project/SOS/Model/XJSOSCenterModel.h b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJSOSCenterModel.h new file mode 100644 index 0000000..c87c18e --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJSOSCenterModel.h @@ -0,0 +1,54 @@ +// +// XJSOSCenterModel.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/5/13. +// + +#import + +NS_ASSUME_NONNULL_BEGIN + +@interface XJSOSTitleModel : NSObject + +@property (nonatomic, copy) NSString * title; + +@property (nonatomic, copy) NSString * value; + + +@end + +@interface XJSOSResourcesModel : NSObject + +@property (nonatomic, copy) NSString * province; +@property (nonatomic, copy) NSString * gdId; +@property (nonatomic, assign) double latitude; +@property (nonatomic, copy) NSString * city; +@property (nonatomic, copy) NSString * name; +@property (nonatomic, copy) NSString * type; +@property (nonatomic, copy) NSString * level; +@property (nonatomic, assign) double longitude; +@property (nonatomic, copy) NSString * distance; +@property (nonatomic, copy) NSString * reaourceID; +@property (nonatomic, copy) NSString * address; +@property (nonatomic, copy) NSString * img; +@property (nonatomic, copy) NSString * mobile; +@property (nonatomic, copy) NSString * licensePlateNumber; + +@property (nonatomic, copy) NSString * departCode; + + +@property (nonatomic, copy) NSString * driverName; + + +@end + + +@interface XJSOSCenterModel : NSObject + +@property (nonatomic, strong) NSArray * resources; +@property (nonatomic, strong) NSArray * dicts; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/SOS/Model/XJSOSCenterModel.m b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJSOSCenterModel.m new file mode 100644 index 0000000..4c47654 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/SOS/Model/XJSOSCenterModel.m @@ -0,0 +1,36 @@ +// +// XJSOSCenterModel.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/5/13. +// + +#import "XJSOSCenterModel.h" + +@implementation XJSOSTitleModel + + +@end + +@implementation XJSOSResourcesModel + ++ (NSDictionary *)modelCustomPropertyMapper +{ + NSDictionary * dic =@{@"reaourceID" :@"id"}; + return dic; +} + +@end + +@implementation XJSOSCenterModel + ++ (NSDictionary *)modelContainerPropertyGenericClass +{ + + + return @{@"resources":[XJSOSResourcesModel class], + @"dicts":[XJSOSTitleModel class] + }; + +} +@end diff --git a/XinjiangProject/XinjiangProject/Project/SOS/View/XJSOSAddressView.h b/XinjiangProject/XinjiangProject/Project/SOS/View/XJSOSAddressView.h new file mode 100644 index 0000000..69db27c --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/SOS/View/XJSOSAddressView.h @@ -0,0 +1,34 @@ +// +// XJSOSAddressView.h +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/2. +// + +#import +#import "XJSOSCenterModel.h" +#import "XJHealthInterveneAEDModel.h" +NS_ASSUME_NONNULL_BEGIN + +@protocol SoSBottomProtocol + +- (void)addressNavLocataion; + +- (void)resourcePhoneOnclick:(NSString *)phoneNumber; + +- (void)showBottomBtn; + +@end + +@interface XJSOSAddressView : UIView + +@property (nonatomic, strong) XJSOSResourcesModel * resourceModel; + +@property (nonatomic, strong) XJHealthInterveneAEDModel * aedModel; + + +@property (nonatomic, weak)id addressDelegate; + +@end + +NS_ASSUME_NONNULL_END diff --git a/XinjiangProject/XinjiangProject/Project/SOS/View/XJSOSAddressView.m b/XinjiangProject/XinjiangProject/Project/SOS/View/XJSOSAddressView.m new file mode 100644 index 0000000..975a927 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Project/SOS/View/XJSOSAddressView.m @@ -0,0 +1,224 @@ +// +// XJSOSAddressView.m +// XinjiangProject +// +// Created by 仁康信息 on 2023/6/2. +// + +#import "XJSOSAddressView.h" + + +@interface XJSOSAddressView () + +@property (nonatomic, strong) UILabel * lvLabel; +@property (nonatomic, strong) UILabel * hospitalName; +@property (nonatomic, strong) UILabel * phoneLabel; +@property (nonatomic, strong) UILabel * addressLabel; + + +@end + + +@implementation XJSOSAddressView + +/* +// Only override drawRect: if you perform custom drawing. +// An empty implementation adversely affects performance during animation. +- (void)drawRect:(CGRect)rect { + // Drawing code +} +*/ + +- (instancetype)initWithFrame:(CGRect)frame { + + if (self = [super initWithFrame:frame]) { + + [self createUI]; + } + return self; +} + +- (void)createUI { + + self.layer.cornerRadius = 10; + self.layer.masksToBounds = true; + self.lvLabel = [[UILabel alloc] init]; + self.lvLabel.layer.cornerRadius = 3.0f; + self.lvLabel.layer.masksToBounds = true; + self.lvLabel.text = @"--"; + self.lvLabel.textColor = KWhiteColor; + self.lvLabel.backgroundColor = UIColorHex(#21BEBD); + self.lvLabel.textAlignment = NSTextAlignmentCenter; + self.lvLabel.font = MEDIUMFONT(9); + self.lvLabel.hidden = true; + [self addSubview:self.lvLabel]; + + [self.lvLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(kRealValue(18)); + make.width.mas_offset(60); + make.top.mas_offset(20); + make.height.mas_offset(16); + + }]; + + self.hospitalName = [[UILabel alloc] init]; + self.hospitalName.text = @"--"; + self.hospitalName.font = BOLDSYSTEMFONT(14); + self.hospitalName.textColor = UIColorHex(#333333); + self.hospitalName.textAlignment = NSTextAlignmentLeft; + [self addSubview:self.hospitalName]; + + [self.hospitalName mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(self.lvLabel.mas_right).offset(10); + make.right.mas_offset(-30); + make.top.mas_offset(20); + make.height.mas_offset(15); + + }]; + + self.phoneLabel = [[UILabel alloc] init]; + self.phoneLabel.text = @"--"; + self.phoneLabel.font = MEDIUMFONT(13); + self.phoneLabel.textColor = UIColorHex(#999999); + self.phoneLabel.textAlignment = NSTextAlignmentLeft; + [self addSubview:self.phoneLabel]; + + [self.phoneLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(kRealValue(15)); + make.right.mas_offset(-30); + make.top.mas_equalTo(self.lvLabel.mas_bottom).offset(12); + make.height.mas_offset(15); + + }]; + + + self.addressLabel = [[UILabel alloc] init]; + self.addressLabel.text = @"--km | ---"; + self.addressLabel.font = MEDIUMFONT(13); + self.addressLabel.textColor = UIColorHex(#999999); + [self addSubview:self.addressLabel]; + + [self.addressLabel mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(kRealValue(18)); + make.right.mas_offset(kRealValue(-15)); + make.top.mas_equalTo(self.phoneLabel.mas_bottom).offset(10); + make.bottom.mas_offset(-10); + }]; + + [self.addressLabel setContentHuggingPriority:UILayoutPriorityRequired forAxis:UILayoutConstraintAxisHorizontal]; + + + UIButton * closeBtn = [[UIButton alloc] init]; + [closeBtn setImage:IMAGE_NAMED(@"close_icon") forState:UIControlStateNormal]; + [closeBtn addTarget:self action:@selector(closePopView) forControlEvents:UIControlEventTouchUpInside]; + [self addSubview:closeBtn]; + + [closeBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.mas_offset(kRealValue(-15)); + make.top.mas_equalTo(@10); + make.width.height.mas_offset(20); + }]; + + UIButton * navBtn = [[UIButton alloc] init]; + [navBtn setImage:IMAGE_NAMED(@"address_NavLoctaion") forState:UIControlStateNormal]; + [navBtn addTarget:self action:@selector(navLocationView) forControlEvents:UIControlEventTouchUpInside]; + [self addSubview:navBtn]; + + [navBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.mas_offset(kRealValue(-21)); + make.top.mas_equalTo(self.hospitalName.mas_bottom).offset(4); + make.width.height.mas_offset(26); + }]; + + UIButton * samllPhoneBtn = [[UIButton alloc] init]; + [samllPhoneBtn setImage:IMAGE_NAMED(@"address_phone") forState:UIControlStateNormal]; + [samllPhoneBtn addTarget:self action:@selector(LocationPhoneView) forControlEvents:UIControlEventTouchUpInside]; + [self addSubview:samllPhoneBtn]; + + [samllPhoneBtn mas_makeConstraints:^(MASConstraintMaker *make) { + make.right.mas_equalTo(navBtn.mas_left).offset(-14); + make.top.mas_equalTo(self.hospitalName.mas_bottom).offset(4); + make.width.height.mas_offset(26); + }]; +} + +- (void)setResourceModel:(XJSOSResourcesModel *)resourceModel { + _resourceModel = resourceModel; + if ( !ValidStr(_resourceModel.level) ) { + self.lvLabel.hidden = false; + self.lvLabel.text = _resourceModel.level; + [self.hospitalName mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(self.lvLabel.mas_right).offset(10); + make.right.mas_offset(-30); + make.top.mas_offset(20); + make.height.mas_offset(15); + + }]; + }else + { + [self.hospitalName mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(kRealValue(18)); + make.right.mas_offset(-30); + make.top.mas_offset(20); + make.height.mas_offset(15); + + }]; + } + self.addressLabel.text = _resourceModel.address; + self.hospitalName.text = _resourceModel.name; + self.phoneLabel.text = _resourceModel.mobile; +} +- (void)setAedModel:(XJHealthInterveneAEDModel *)aedModel { + + _aedModel = aedModel; + [self.hospitalName mas_makeConstraints:^(MASConstraintMaker *make) { + make.left.mas_equalTo(kRealValue(18)); + make.right.mas_offset(-30); + make.top.mas_offset(20); + make.height.mas_offset(15); + + }]; + self.addressLabel.text = [NSString stringWithFormat:@"%.2f | %@",_aedModel.distance / 1000.0, _aedModel.resourceAddress] ; + self.hospitalName.text = _aedModel.resourceName; + self.phoneLabel.text = _aedModel.principalPhone; + +} + +- (void)navLocationView { + + if ([self.addressDelegate respondsToSelector:@selector(addressNavLocataion)]) { + + [self.addressDelegate addressNavLocataion]; + } + +} + +- (void)LocationPhoneView { + + if ([self.addressDelegate respondsToSelector:@selector(resourcePhoneOnclick:)]) { + + if (self.resourceModel) { + [self.addressDelegate resourcePhoneOnclick:self.resourceModel.mobile]; + + } + if (self.aedModel ) { + [self.addressDelegate resourcePhoneOnclick:self.aedModel.principalPhone]; + + } + } + + +} + + +- (void)closePopView { + + if ([self.addressDelegate respondsToSelector:@selector(showBottomBtn)]) { + + [self.addressDelegate showBottomBtn]; + } + + [self removeFromSuperview]; +} + +@end diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/ChatList/ChatListViewController.h b/XinjiangProject/XinjiangProject/Project/TUIChat/ChatList/ChatListViewController.h index ff38eef..e6bcbf2 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/ChatList/ChatListViewController.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/ChatList/ChatListViewController.h @@ -1,6 +1,6 @@ // // ChatListViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/ChatList/ChatListViewController.m b/XinjiangProject/XinjiangProject/Project/TUIChat/ChatList/ChatListViewController.m index 9826250..0c1c173 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/ChatList/ChatListViewController.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/ChatList/ChatListViewController.m @@ -1,6 +1,6 @@ // // ChatListViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/ChatViewController.h b/XinjiangProject/XinjiangProject/Project/TUIChat/ChatViewController.h index 8f4a7c1..e1825ad 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/ChatViewController.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/ChatViewController.h @@ -1,6 +1,6 @@ // // ChatViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/ChatViewController.m b/XinjiangProject/XinjiangProject/Project/TUIChat/ChatViewController.m index 08e8ae7..04236ee 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/ChatViewController.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/ChatViewController.m @@ -1,6 +1,6 @@ // // ChatViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/ChatMapViewController.h b/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/ChatMapViewController.h index 11568d5..1a39b16 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/ChatMapViewController.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/ChatMapViewController.h @@ -1,6 +1,6 @@ // // ChatMapViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/5. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/ChatMapViewController.m b/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/ChatMapViewController.m index cb6d73e..dc74b83 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/ChatMapViewController.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/ChatMapViewController.m @@ -1,6 +1,6 @@ // // ChatMapViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/5. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/SendHealthDataViewController.h b/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/SendHealthDataViewController.h index fdef8c7..f5b239f 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/SendHealthDataViewController.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/SendHealthDataViewController.h @@ -1,6 +1,6 @@ // // SendHealthDataViewController.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/27. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/SendHealthDataViewController.m b/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/SendHealthDataViewController.m index 78cd308..90972c1 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/SendHealthDataViewController.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/Controller/SendHealthDataViewController.m @@ -1,6 +1,6 @@ // // SendHealthDataViewController.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/27. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctiorIDCardCellData.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctiorIDCardCellData.h index c988d64..3c8d9bb 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctiorIDCardCellData.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctiorIDCardCellData.h @@ -1,6 +1,6 @@ // // DoctiorIDCardCellData.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/8. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctiorIDCardCellData.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctiorIDCardCellData.m index b1b5008..1d0f19d 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctiorIDCardCellData.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctiorIDCardCellData.m @@ -1,6 +1,6 @@ // // DoctiorIDCardCellData.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/8. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctorIDCardMessageCell.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctorIDCardMessageCell.h index dc1b0e7..a264aec 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctorIDCardMessageCell.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctorIDCardMessageCell.h @@ -1,6 +1,6 @@ // // DoctorIDCardMessageCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/8. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctorIDCardMessageCell.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctorIDCardMessageCell.m index 9a0f69c..b55c2d7 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctorIDCardMessageCell.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/DoctorCardCell/DoctorIDCardMessageCell.m @@ -1,6 +1,6 @@ // // DoctorIDCardMessageCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/8. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemCellData.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemCellData.h index 6d9ae6a..7932499 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemCellData.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemCellData.h @@ -1,6 +1,6 @@ // // EndSystemCellData.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/10. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemCellData.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemCellData.m index 6ca284f..f957c6f 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemCellData.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemCellData.m @@ -1,6 +1,6 @@ // // EndSystemCellData.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/10. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemSoSCell.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemSoSCell.h index 61e9cab..08dded0 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemSoSCell.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemSoSCell.h @@ -1,6 +1,6 @@ // // EndSystemSoSCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/10. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemSoSCell.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemSoSCell.m index 728183d..85c8368 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemSoSCell.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/EndSystemCell/EndSystemSoSCell.m @@ -1,6 +1,6 @@ // // EndSystemSoSCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/10. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/chatPictureCollectionViewCell.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/chatPictureCollectionViewCell.h index 151d9ee..233e9f5 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/chatPictureCollectionViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/chatPictureCollectionViewCell.h @@ -1,6 +1,6 @@ // // chatPictureCollectionViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/chatPictureCollectionViewCell.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/chatPictureCollectionViewCell.m index 9151f11..6f62193 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/chatPictureCollectionViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/chatPictureCollectionViewCell.m @@ -1,6 +1,6 @@ // // chatPictureCollectionViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCell.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCell.h index 73103de..b8fa896 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCell.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCell.h @@ -1,6 +1,6 @@ // // healthDataCustomCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCell.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCell.m index 7cb2276..90e028e 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCell.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCell.m @@ -1,6 +1,6 @@ // // healthDataCustomCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCellData.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCellData.h index b5c8dea..eb7f1ec 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCellData.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCellData.h @@ -1,6 +1,6 @@ // // healthDataCustomCellData.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCellData.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCellData.m index 5cfb9d2..0425f39 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCellData.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/HealthDataCustom/healthDataCustomCellData.m @@ -1,6 +1,6 @@ // // healthDataCustomCellData.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCell.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCell.h index ffbe4f2..020c9b7 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCell.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCell.h @@ -1,6 +1,6 @@ // // sendPhysicalCustomCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/25. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCell.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCell.m index 558cdbd..6da8c23 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCell.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCell.m @@ -1,6 +1,6 @@ // // sendPhysicalCustomCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/25. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCellData.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCellData.h index 5aa1f5d..2a72a00 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCellData.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCellData.h @@ -1,6 +1,6 @@ // // sendPhysicalCustomCellData.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/25. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCellData.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCellData.m index a895575..ef0ae45 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCellData.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/SendPhysicalModel/sendPhysicalCustomCellData.m @@ -1,6 +1,6 @@ // // sendPhysicalCustomCellData.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/25. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCellData.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCellData.h index aa89cee..f0521c9 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCellData.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCellData.h @@ -1,6 +1,6 @@ // // StarMarkCellData.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/3. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCellData.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCellData.m index beba219..eb7dd71 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCellData.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCellData.m @@ -1,6 +1,6 @@ // // StarMarkCellData.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/3. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCustomCell.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCustomCell.h index 31792c2..a4c32c7 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCustomCell.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCustomCell.h @@ -1,6 +1,6 @@ // // StarMarkCustomCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/3. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCustomCell.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCustomCell.m index afb886e..f51f4ec 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCustomCell.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/StarMarkCustom/StarMarkCustomCell.m @@ -1,6 +1,6 @@ // // StarMarkCustomCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/3. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoCellData.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoCellData.h index 46094da..0c46af4 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoCellData.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoCellData.h @@ -1,6 +1,6 @@ // // userDataInfoCellData.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoCellData.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoCellData.m index b922b12..406f0d8 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoCellData.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoCellData.m @@ -1,6 +1,6 @@ // // userDataInfoCellData.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoChatCell.h b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoChatCell.h index 74b20f6..7dbfce3 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoChatCell.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoChatCell.h @@ -1,6 +1,6 @@ // // userDataInfoChatCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoChatCell.m b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoChatCell.m index a4498a3..3233f4f 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoChatCell.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/CustomChatCell/userCustom/userDataInfoChatCell.m @@ -1,6 +1,6 @@ // // userDataInfoChatCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/2/13. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/Model/SendReportModel.h b/XinjiangProject/XinjiangProject/Project/TUIChat/Model/SendReportModel.h index 7e92c9c..22c3403 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/Model/SendReportModel.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/Model/SendReportModel.h @@ -1,6 +1,6 @@ // // SendReportModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/24. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/Model/SendReportModel.m b/XinjiangProject/XinjiangProject/Project/TUIChat/Model/SendReportModel.m index 969b1dc..266b6cf 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/Model/SendReportModel.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/Model/SendReportModel.m @@ -1,6 +1,6 @@ // // SendReportModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/24. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/Model/sendHealthModel.h b/XinjiangProject/XinjiangProject/Project/TUIChat/Model/sendHealthModel.h index 0ce64af..b4d6cab 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/Model/sendHealthModel.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/Model/sendHealthModel.h @@ -1,6 +1,6 @@ // // sendHealthModel.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/27. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/Model/sendHealthModel.m b/XinjiangProject/XinjiangProject/Project/TUIChat/Model/sendHealthModel.m index 8bd8c00..62c7421 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/Model/sendHealthModel.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/Model/sendHealthModel.m @@ -1,6 +1,6 @@ // // sendHealthModel.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/27. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTable.h b/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTable.h index 26f1d8b..4d5088d 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTable.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTable.h @@ -1,6 +1,6 @@ // // SendHealthDataTable.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/27. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTable.m b/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTable.m index de1cd04..e52faba 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTable.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTable.m @@ -1,6 +1,6 @@ // // SendHealthDataTable.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/27. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTableViewCell.h b/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTableViewCell.h index 47ae8e0..adcb439 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTableViewCell.h +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTableViewCell.h @@ -1,6 +1,6 @@ // // SendHealthDataTableViewCell.h -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/27. // diff --git a/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTableViewCell.m b/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTableViewCell.m index e957cf5..d589e5b 100644 --- a/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTableViewCell.m +++ b/XinjiangProject/XinjiangProject/Project/TUIChat/View/SendHealthDataTableViewCell.m @@ -1,6 +1,6 @@ // // SendHealthDataTableViewCell.m -// EscortProject +// XinjiangProject // // Created by 仁康信息 on 2023/7/27. // diff --git a/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Contents.json b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Contents.json new file mode 100644 index 0000000..73c0059 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Contents.json @@ -0,0 +1,6 @@ +{ + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/Contents.json b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/Contents.json new file mode 100644 index 0000000..6b23319 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "HeardHistory_icon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "HeardHistory_icon@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "HeardHistory_icon@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/HeardHistory_icon.png b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/HeardHistory_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..f1af3974424f1053a6cebf8f876ef90d814ee514 GIT binary patch literal 5072 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 m6!>(LtX*kP3#jZS=0000F1(BY literal 0 HcmV?d00001 diff --git a/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/HeardHistory_icon@2x.png b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/HeardHistory_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..7a3db6a3a830f398f416d93c9420cda34d00d8e1 GIT binary patch literal 13237 zcmV;mGfK>fP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91bD#qN1ONa40RR91a{vGU0Lr*<OdM|Ec1d*6G# ztF=p(Wmz`fWgDB_9ugda4L0KtCgTvuKnMXslJCo8!XyDQd|#7HHj>#gFj*!fArk_G z1QMG`YzRi4;20c?S9y_bNybuZX>Gl}e(&97{=ceD-MaVP*R5_zmdHnSzk6yqb?Vgl zZ>@Jz>bve=j0J*!2{p--I;nafGemsnyOT1)3tjz1K^t2lsACI*_?-swSr29daX|Y6!3h|1}>b}b$D*36Xm2wv)Nk`ZtpMKB;6H!3PscTP^}93y zS-@QgSQOy$m5P7CgN4ez;H9HLSR&V95da0a27sfk1Y_XupGm$?snm#4!EKPY&6D{W zGQ!v7a*_5QyLpl!{(^^F^Vsv^{`N6j&&9#zECakxIOfvwJNH;DhPsW(VR8`sP$2;7Ac@d z*o;DUPtPrxD&@|mK_Q*wI3iqn5FU8(`M(vJrC{Lxo!K7Ikxm4zxkq?1NL#H zn*IG5TWnW1Ja%S5eZjzlIrFl{jNfmG8bpkL1dwCh$o4(S%an@0_5+s=U;W~1uNmkc zyb&T^ABMrDVJ#Zf01>1#Q)!x*U;)S+FvqKLwZQ7+42lFQ0+Ki}G`KtyI-O)P$+D+H zmE6^8w!S?6>@yEtcKcH^-+Za6O^fpWYrskM(r(;QZET=Q9pqLaw@@3JFn%TbrJ_SeE{jE1s>ro@nr}{uu4R5 z(d^?+I*+dSTWK19cIwFF->v_|_FZF0dCd)5YgM4S$;}+S1*PbJLu~*_4CALAWYDjJ z9%Y*5F>zI3b5>LfO*LAbcpN9wXPdKgfA-%0_2oxj2T(7$p}M7>2~cxm>q?)x1I&}l z29Q-<>Y<6*u(@|ncFQxWGyS2rTroH@{F6acdmBJptpH$x?o&GfMW{g!NxeZR=PLq* zd~_lYRLAJBktwnbHT-O?5t?n>NseYo@)t8RQ-AQgzrX$QS6rm(1Dm%7>(>pXm0j$SBi zPH^(06>6L610;Bq0zD9PP^W`O2db%VnZBH|3<>v;<(~`$m8}&m^>C6Tzc+X2!0-L^ zpFeQuqc?1=#}(sgxs{$SKu;-{Fk>#S2awVlXP!~nn?Ca6H`fOH#{lFtY>65~YjEFq zl^|8|X&iAV0K-$ki<2~u7RoBiuzcMo1G`@{wsw;Aq501INACRcm;P?JrGlzfS_YJL zI@O@&#@7~G{sA_~WdTUPTV20yTgX}J#PRv?OZV;Vyz5;zuHSU=)?be5wRfv9Y@~6l z8=pSV?leA~Gq?^gLjMabfKcGi^A~uWygc1xW4I{WgbkkoQgb4@n3v%Oy51zs+U-vK zi6aN5{_`Jy=H5d$UAMWuZe@SUS?{5V9cf`1GbR;0wSeXTP}gNTR42SGK%TNysixJagNl$p%bUyL@WLIpZK3&`KSMI-R4HCua=d^Qr$|&j3$(bthQi= zmhW;9mMH^TK@_e@J7|q`0)jRsYt?Pgo_v}W2cb@$ zi7Nu3ney_M0F*93%5c=kbFEg_BUAlRq&i7_biUL1z@2yh!zVYd*c`o3faXAGi!JSd z>g4%LK#s1T4E09$o;^x!-Bx?`8?OJQTD|^3WQo$m&QdLaxv}VjRA(@aj!{ZLFN2_2 zjA7l0VR_v+Cp?}E6UBU9dBSIDQJ3yAbc~ki$$+ir%Pjm$xuiy^9jFZ#le+f8C|+fDDZJd3VeYI8&UYZ8`iDg zFdq$l_2?5jJ83i+u3m%Ps$&zD(w#O%=DTpp9Ez9ziyH8(N^11Yae!5UA+mz9VDeqi6{`9^*M}Kzw(FbPw&e)d9_C8N`50*WALV13FHOCwa9j zlOj=|R-VYv>AozRE_^yD=|Y*=@Ci^xElC$jHp54L`sT3_GFXq^dcoFpAEj*??Nl$* z*o$#*n!TD{%AuE|YRI#!Mz$m{T_Ltm7Aza(1af4g9X@(QrEhrSYd%o#tG_$LjMY}l z8A7Ydj7-u0!eOZdT~5t}kfDYAT8=&FWRC~loR?l5VWY}?dAb9F*?k>!m@!t4qt$$V zUKZWLq;H@Wz5DyG+4R9jM;d8kZK|&h@p>(7XvHga5`ZoVOjjU0vPDN_xQ--{e|X1u z=dJH~*E;~@2e67RoS`nS*uq7?Q;4$xi4$7j7oHOJc|@pysEhH1iC<_5D2bN*jU5!uG8x>-P)NrqfJqT9oMNUM{nDE++45tw6>Ub_(T1*dQv5Pqenu=J0J<4ooH+s{ zcXkBGFWxa8zyHH;zix2VioXt3uqI!AK(I4}sjwKso#o|p30tETTBR6?`f5Hz=zl{+ zwxOC?^Hs`_ax67K^p=wYMY-L4CsGD4uOaV|sb>4%e*C_#{nNj`a8qr1x{-2YL3WD# zB@5VXC75qvcS2x7S{IP)8f50m3D1_7-Mr?UEn9C7>-B5RhJe*U4Axb7YT0cNt*+z& zE$}eWOY?ah5IuNYx>l>CTe+NyGE6oe@iPIB>IkT2sDG0A{F2@eM4NH)(EiEhtrNSx zapY7@h?dpO$~eg-$k0e9-21#z8#izH<*)%DxzB29>xePBKDt8}NG^{xh=g4ZcwCb6 z=u|CB_zDJP9^n-ROC{b>#)DVb9krfHzMNlxa^>l4l5S<_qBBg0QZ-nMuGu)!_n-D6 zjy9w%yT(t=f8vKl!Gs!Jty0EG4&q<<(!tJ~e)63+2ld)daIe)F!zyl6k;<6L<;J)1 zVkno{6kH*b9(y4NesgeO>js}>Y(n?0kfz%B8CN2fTs?oJ7*ti8(h3lp)$#2HE7tg_r`ONceSAVCkKy{=Ki-Z7#X+1%Fj)aesG#-6p+Fs* zFnE+|o62@jKeWy@BaO!UX7}&?_XB1K9K2`HWTc3aD*)!FF(b#y z>Q*_Pz4mRlUA21sy1Q`a_)60%ZSKMu$T&#S|5k@`x`cf`&1&+gq@%*`d6NpipO+WT zoXZaFQ=Py3?<(E-Anp~ZLtCp~ffnoNTE4Dh6+ca5ZtcXK3X}8m^Eci7^npj0+d3=9 zOcYxHS+`0%=^2=2t5n&FRjb~PRtX?&1!!j<7;Sf{fCWKVh1%$xRroCfyVmvRsqode z`kZIPAFMxD)qm_mDm-T^9*%%sQU^^%Z>VPDi$F?zA(IA@l>v}!oujzA^bWMnj5hWs zL*x+$2?cBADjN@p_sFji2f;m#fxUV_J5u6P9|NSIY?C-q>!_;a9aTvxqxM#s;5+_&wo z1sezY>Tl%Cb~&xH3rs17lxGAV;*nN)Y{lx}`dcpZ6W3m6Pw~}D|TTjIoz4&F<;Lf_MaYuJi5<{Y#t>lSzuQ{J5 zgT~PEoY3y_&QMIS@qA2zhW@Bi>1odD@RvcJ3cWR)8@22 zpNON=>&^wb+5(s;va*Zi8PeCkGTe(L*TCS=jd+Bhe<7u)pF8_RSzRfrBp%IV_;i#P zPd4ogkA%(^%CS?`vDRf%qO-u{HZjqrs!|83pH0)mOQRQZ`of?Ox0>9jp5LozbJ|{( zDW#kRteDnwovFK6PJAZfV09x24)-hd##=8L3Zv*oeQ}Pt-PuJyBTB9iX9E%^)XyUF zg!*Z{{MZr7nz%EHE3krN0f?h4EcSz;6@}E331B&9WV6zlDK}SHDkhXA8GjD8P4ihS zPYgkLp5?}iuDa;A5920<5wy;|?KoI(uX#FQ6kBrLV4@l8wWVcbGq0&MICkWz#^iJIw8zAWq+*&49X+Jt&;71S4`Y*9@6IsZ zD-+%TVQ$HVFMpk?z5YiHU!|}mM6!rdUGj1%2Mk&bp(ctcj!*P-ye5egA&9pFP`K>?Q`7N`EpPf`{`dI#(I%@q#Rf_lw;pE;sRK{(& z)8MLGoak++8+HoO2^>7fb zb&_Co1Ma}DHLlZVq$%6T^8JX>O6xdDuv9?mKA~)dn7NdvtZgYAY`q-o&oGMSE=f4apwpLfDs*>McOFw| z;EF^)d)15R}_q`VlV%mI_F?d;Vg!O+Z-YMyZ%+zU2`SUsz?EV`@hGFll-jF)PMx#NzT>dafiZGm(9r_!sh ze$^(}YlEA?ImK-WLOfk1%3&pGIza-K3h<7CN&HSwg=ctF1^B(N&gg8qPME1uPoD?c zm8xsPWgZjOU-dv+HfIDP67Jd?!|8PO7fH>t?HrA>(B@eK;8&9^Hfs z&}*FHq8#Pve?z;pb`>=l@^09#ph=UwZhWCql2oPOnU2%CiGrXKwo!Sj^?0<-687rn z*@<9c!n~%hUf(=}?Nb>y7pra;n6lHrK3c}haZDERWa)W9Ev&Ji+`{nde^Jg-2|6S+ z6GDa-^7|U0+Z1kXt&a1-PR3?IG!hAR{<9RkI~J>*nq?dE$|CZi57VLz}e%^t0O+4 z)Y166TBXm@i^mxe5F7q21D$+gx)sui4NIwV8cgKV3>;X6X+PGNM=@U3F!`BZiB=zk z8+8d@cfhjqGs|i#=|V+u!wm5{lN4jA$y;c-R-728l;O+=sh`#nhXR#&s;Co+v>Zh? zafLK=wNbEPbYv}Nw7>ya5EEe)tdPaUb0LTA zP8|3OAnACUSpXMVn)(6pi?9-H&#UDAFRN_dF1H!rT7;A%GKDf;$`x@8^ZufB=c?NG z{D2BLhg{TI-F&&$5bgxGEG8NOk2mMBOim{g<}u9F>J4$~z@kdTrq>0*98AuR>`Zp^ zz@(Z$Mh?6~Q>~zm%a#ChrPY-(wObUVat7wIy5|NJ0!xSVv9GJ-^S@sL zQu6u~e*SB@#&04hP$y`b;WiPzsjGI=+e#(%3L>vG40_?*$>i!_6HIb7Pi_>gPOh6; zIUQ%gS^!Ec!iiaRF(gdl7M`jZZRMEB5;>FACG&uNWw;@I)Rkv(qNJ;ZN%rHBQ~+GF zO1_-En+IvaCe*SQNdF)d#X=ZPZ;?`C(OOevwqadHA&tDbaP4bgv*CpIa3wFO_6pV7 z@Bp_EkKrh@Nvt^+vi@3PH-C{(z(g25nzu|ZQoL*7X%C^l)@$+rTPdQP<&dCIMvGsl zW|e@Y<+D~tmw2=wiL>RENO<|nRqY)gRM{ciQeU{fD2&K&MHnJshKMY~_;JGl`?tZG zb5wNA_ekc2DMg4FTZlWs8BbTBCXn;kM6rd>j3h#c=G2%S&Vn^VsUj9LT4?XXf?yW2 zu>{0uV*S1XWG*R|w>XoJER{SufoawwawIJ2WeN~NUiIhiR5*^C^SA;N;#wtd=j1lw zf{u1D&AqF8%`1~jkorjdd>)-<7zA*YP{(5`UnQ=PZ5e?KS5lJu?o`Rw|6ZjN<9My` zJPN~pC@-T0s3mNe?t50LC%%byq<&EaE7z*%rLR@>*Zpt~Dix!y=pDLRWkG2Z=;D$3 zl4=%1eZZm7TwK!wyJ`N5)b)hG#E^-(LWb){Mlna7;fwLzEzZ}%@K*Aa<%w87`$_tf z$M0A1-~6G<_CAZ+pa3jGq6@E3;g(DB`~_BDT$aqwsB99K&%XVXN}k7i;f~?D>0O^v z$s=D=^?&nI;J?z0v(&}uC?1b`-Y&HlN#k``{FZdh?u5YXO!4||fLuQ@WO_@pm8)}5$1>|XVB%Vgg z9MZEjUEV^61;JcdkFqxA1j8Y~Ofo*GWSrGWf|`ml67Z?3gw3Jzix8nU4MbO7qJ`$k z%ksrv{k)3r_=J9jBzV!4s(#zgs_;Cn+7@t_2n8FqsQR1Uqaxg?(EbeWXnz7N8z%*C z=yIxwM^hYxLUd0cU2eng_-s7;Rm2^@C3jq^Qi@p2Xt@aVaFy#!zDdgG?;OYbd*gU- z9%qvUB&QfSB&Va!qqFBqleZ+tg~^IE$*OZM|B&u^LdAdgry9ucidU+}dwykcAWOxC zn=Vj&KlSS>dfE5uC(-Z*F2f-@S16k&Nku%Wy(a8z;xeEYhjg^e=ll92-f8Y!85@@X zPbHYbfE$WbG8<;~l`4qa^ZW2rbdqN%Dy9|k6zoC*X$2lHyD85^xQgjWVG@m&LGd(K ze8(T-Nv>%XY{pxD-}dtu8_h1rQl$k0L#ppbe?f&8ZUdlr1kgEMIfN>x<1xv8Q2Q&Y zh>j3%C&?1r545k2-5+8=EEaP)HYLvXVeAZAH!?69HRtBXF>oH?`dT|l73xRI8CIq~ zk2{mC0FZ95nN}!3OIXSw-SG{TKK(GZPx@8;%|EGvRornt35T(^@gqN{<+&T%3M!g_ zJ1M(tfOO4bXcr$6abJW=vh--X(;6SC54%N#k4aSxaxlkC5qwGC)0T79)KOh*WBqV= z;M>oRquC$SJ1wH1HFORFGU^%VCq#R67o_td25aN=WX`$o0pK79IdKbxzVmU}gzN?7`P=QCY2`>vZepfM1kD{u6 z!io90hD>)qrf=}7y#iyM-tw!?t7od8`W@A|`>*uYUNu)9TjR5$+$ECw2nCC)i)Vv8 zr}g2;K4`E;|2G6=H{o8w|cXq0Iqg=mK2qf;5g~_}s_+`6$gq;@#?3=i7!-mZc6TTZE1-@kr^Q3xn-3F2{?#S1o@KSMRuazL1kH7+ZSr zyFd-5rk}{!)2hCsSz8V1(w}?qv6&ZLebwD~-O1IO zucVV(H&SCbS2-Q9%%ZrXhSOvLkCRD{{K&Hm$EzR|!QC1+4eud`yw)Y(y2o^%%*#m> zE`s;}((kK)*E>BI44}1>2TrQvc}xNsG>>6)HgOp&nG)vL%5`R&k6o;s1kgZ_fe5psy{lz%VBNmm=*}0#58=ue z2jIalN;jeJ-S_P7hlfX3?!W`LFX0Qh+?gn6novr&pmkBGrh(Kd>VW26Se9W~$}w1j zu@Wtk&zk5(KF7o=2cE_czE{N?&&Sw_y=@L$)Qxq)jJ1ZXJXLCyd>>IdzDrAUC#BR~ zs1LNRCWXTJ=_W>(S4X+?Y5MryX7k}qBkfu(Y{YXZHf>;MVj--0^7A81gw30GJ)wuhRW{RCxYnJ@fH;W&M_S^h_@&q=zB%+dC^Z=#33@#k{(? z`baVbI=}Jgb0|(fKRumJji|7ez~1o+Z@dI16Bp*W>?!9|D|WLk+AK`jto68w%>(Ib z2iK28lSdBT6}LNwB9>0)0h9v?1+|V&V=@}{Tpt}ak(SSsWfE-}Ip+!c!YvnLS%S-2 zcz%;RL8sCskKC)b2wm;E^!7?~OpGhllVSYRmh(wEakSmKYcT3W(#3MKfEX0ISWmR? z?FMs9WwM4LBbzt-Y*}yiuN;iNe$V#ZaoqV^e4hl0l$GQ#`NVut#Eab0p^37LDdX4vPA@A(4m7%831rb5UlbO~WNhrw>aMOpgazHEbM2>8hcT z;P~;QpH4cRDcl`xl-EbE5>`o90RgI@hhuVDxr&pI;~n2;cM`6~cL-rWH9K-Z#b5f1 zlaQ2W?cDi)RKhzE%FCVZ>g2dd8pSxj@vwtyrRnrcC;4o;qr^8qojn?9=*voU_xi3<+@4F4<;`J>5?{Dz?+vN$ex#DkpNpz62+KqW#?c=7aW$PRs ztf$tKaw| zD!l9^`g&&juRf-40a=c`4lZ!F|Liw$aTn7|_DE7M>Z+YrH-ue%9G_+L2w(G!vGUmD zeDf2Grfq3s+L|`kT`Vx5)5G7GE6hZC$F6OWF*~DGH>iML#2K0160Bd@38s%GK_i(7 zTG>F51W7nDG#c%G_<=*4F1c()z0tVNz17mImnp|YxQgk>E+(U)j>f?y!vmwGyBJG56NPvP--tPw-JLQPMQJcCquQ`|4q{@lk^hZnf{ zid32S3A5-cVbaPti3GLYJ|NJF(?59Zxv9TiJ2Vh=`0}-+kwneObPkX6oiozNW?IA9 zzRmlyZM=H7ox+v+h#`feTbf9$J>Ni#V^=#cye(@r!L0bJ#f?rU%CD2U#s-de^LRq)%07t zxSz_r`iG8!SN_4raAv6vOFZv^<@jswg-yP3mr8cruWDDlQePg6csnI;=HjFD`VA&C zD%trEZsNLEB@g{0ZtyySG`;}Qy0YG;qDZ73{I{IKCt+r{N&IHme4IUXc&7PB1GWB$ zt#V+fmNue#I+NAYmNFkIpKj)Fwq$l%gtY7&Xnq1XP5hX7^T>s}UK+~F^+)?!QL{D@ zC0Prr*hXz;-|qOOx7>Q`$mojy4TGBJH>CoWn%OC&Y89*=9*?fLq&ZsTlbsl)-vLk1 zs4)(X&3U|d8wVzRn+I>D)RPvQFGF|9*QTN6>dkoGD+@rmW5j!CGpr@`c+E>)x?5#& zJ<8G1CM}2GFdK}QJw)5;ohyYm8{sfwf@jQ-hJmQZ@T5v1ATpOPxZEt)}DvF@;YP> z9*{al*V9x|*Hnj@*?63BxEaouDV6wLdO@xg;>S5ZOJzFcp(VnlhxaMP#~irrN8t32 z>D&^udRQuYNl*)rgDutsOFA%vjpDa9XWH>+o;*15_bUd6>S5A~8z<2!Sst`qz>S%S zkiSgf>?+|x7E@==y80TJMu$V$_%pjd+U|57uXA=wCzaAvDj}5Vh9L*SW)gk|;ap2_ z0!^$=Tr93ohAA&s%t+AE$j27TE|}nwGVD%gs%!HLb!8)7Cz*7oZx6pfft&?BIk#%Ql0E6{VEvXI6C+Cl@jqbbmu6yTZW_}Ihli3{6mBK+P=K!)1h4gN| zg@J%rk>?7a)~+yD1?Q0@9bp3QgpxE(aS*B{+C(W&s9%=OV)-QA=R*?5Np#|BwiEx_ z&cny=9l)G}wqp-RTgtjpK5NV#@kCoCtF$1P{+U3bY@OVR;J`eKY4ZrC&+HnwV-cgf zJ!kFt^@r}c?^CV$`H$6jS&1d+`stc7L<9_x3fqt-UYs+s7gr6G$QH^ntTZvErZ$p^ zmFdhQJSM-6ktmVnctnn2aQZsFTn2r#MIGaCyOVtEsqyJQAHl0cXfxWbfu#s-Nt@EP zv@vb1fwW?LENoO4SrAOeJ!WdaGo`A#Z6x)CT}59Urh|ic-sZtaey7=*|8yPSjnsf@ zL1GnaG946yfI*DlC^JdA(45b;N-f8*R`QGSHJ`|lOe{m3m$ndZkE|laQK<*Y=c7M% zoczqL!$*D_CQ`H&ZARNwb+2ygZcHlRB=__z3Z^?FAe3i{Oopnu+hb5JjfQat?^Ng6 zC!hXsv)R7A0H{>ZQR*c|G+rH3NM{UPZpCh29wU5tODX1c>8=c$*B4>S%4Gp{W>wx^-ED2qjGugB zzIpuM?6;qM<`g|DWYJR#ib@2FCN7t;XMN#x}EL#Fxw?pQl@eq+4uwXfDVZ%=*?JD9bPX;h+ zR^dlbT4R}7$s}DoP9MnenT3*6mP+$19OO$%T5;#WZ+!hXrsrlqfG4o0 z`eb84jN}Z!{~BZ92+roB)Bg5 z*@?Nij~<&kexN^V)Zz}tMz2K@$bkgCmt9Xz9vV#vfD)O;NO&a?ZE+=+Xo(hx1OmYSKp*%YYj;fKA}=>n3N zoIIG6Qqe+dc>T=IMl%`$pdA3(hgEX_TntbL!VUm!*V1t2=<&{Zo3?J;v}N-<>rw5U z_yojCentro%}}atA%wRIJOh+YEwz*dfD&+o>eg8$L(0^J>!M6~JnDDBss?s*aNo}H zb|?Pif#c0T-QSwrKit5#O|cnJ2awzln8)&iv(~yDBQI$WBrzZR=+Pos8UQg0F|b6p zY%p04O3m|E0BYVR)DHP6Bwhn;0MI5@E&Wk{G}(-!2D;xg46@dAE4lEBt=rbET=mW< zti7pG3r9M*l$OBgi?yg?I+YSzfLg!iDa2dtH7oh}uLCxZiL(i&rZ}=C*4Pr$Y#Ofx zxP5BA{U^Jgo7mAef*C-X;i7#l86BvhyPZ!4@c25{k+S^Ye1c=-=>n29%E4f084lIX zWt0HryHWWa<&hBs==8v7$Z?dQw$M7cbeROLp_Rr{trSKIF2CrKD@R9%-x5U8t@v`? zT7KsvMi;EHFbAWh1;>C{VSJ5E`D8#=kzvy*Y@ri^mE%%_5A-xU$zj~zaK{wZ%}+l+ z`B>j@kZIk~8b{e08`#nWC5U>WgZ);nBmG%x)fh<~P=wZq{^hzHh~-K^K4_84=>aHT z7|)3jzoIiU*U^BsXHBjLE*Z$onJI6y;zK;>N@JAwcsovSpKZ?F`TW7T-3ptl1d&~8 zA0|0w!`y7o5lG&Q)w1IwFK5YBkkbhy;mbi_=pmr8j2oB+<@De>L7)#;vQr?dUw^z6e2rl+P?)ceDs zzAQ)pB4?_+sI0F=;u03G?fR{emkD_Vgx4hxP3%Zz<6N&L$5^;=DBAfYZn^Z7fk_3R zRW1)LlyUmg8UU0_7wLATm2$S*Z(AwHQruXCd$o$7HgU^rJ832JcMj^>C|B*-$%F<@+G(_E&C0=* z!z1VR5A8&ThBdN~P=dL7l<-Z`l2Y18LC4L`kpR z&;^su17K2u8^^7b-7$-)H?lBH`-2eaLk;YOVnW4uarh!ZHj9tEa|Vq;4NoHnI$vMZ z7Y#M~!P`{4Jk<~2NZFN=Ced8hhs|-`5x^UiWnA<@tZI!c_jGovQZJ!}%1Y#^qGdoS zx7_Wrm2wHguD1+o1VAIayjWVR4=e!-Q+x~npz>mG4zSUlpc-HCn1;9#V4VQR30FTr zj|`MsB0=PmgJa`Dt&v4SAy>9l;gpif3ZK#vAZ$6H z@|!9gQ~6B~em$TJEOjKfQ8E-Xlhn3U!~tZ{pJ0ohlwe7ipy@b(i18M!Zx%0M4YMJH z`6@|{g?t2^0P44W;K3=5iF{;$-Rao`qSUESS&2Lyv=^W(%kO&2EmeOg2cLo93+Kzg zGB3O12rs3lpA#rjf=t@W5j3W8?9&u2Pu}WL29VE3@{z{HK%^XZ)x(aBjDsS&4Ej&E zTd>lnqwo^~72jCqr+KS@rB3|Dhk&cYXt|_py_%wHChg@27}MD5NZIlXjWPj`;VJ+X z9^z^Cn;WhQ%ME5YLm;wfx&!k_&zTn3hLoH%U- z^}ock*ykd^t{ulc@t=c9%pL?dkzpJsGo%XwNQN`q5~+gk&N!H&OaW9zj^!s>6|j;| zzKz8%@mwsCmJ)0~O2CphzEn`&MMvNyUM?1QwLmg>05XUITt0@+q$^bROe!K}cY(@; z3Sb#s{#qSdFXKnK6y$P-QusR! nw37PY4Sv@G-?hM5ZGry}eO&^8<8CmI00000NkvXXu0mjfo_Xoc literal 0 HcmV?d00001 diff --git a/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/HeardHistory_icon@3x.png b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardHistory_icon.imageset/HeardHistory_icon@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..3f6a9762983d60a78ba5b7aca28f26b709dc7d76 GIT binary patch literal 22885 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

(BYOclV0S3(oO}LJ z0BJjRWj@?&F>?(^SXPfmt&<)5`Taz%H`mJpSR=2U9%GGdy$}vzu_D{A|Pd zJ~rFz+9UoIz>K`RcgF}!Uj#8zPMrbAh{7XoVn8}8d_0gLJnC%s;AP(Zsu*9&w~EU> z(lw2??q$^UNsuztaVkN|Ja=Gm$yI(F8NW5FvjGGu<$9CF4KB<#MON|ySSvuK42=|9 z(%0G{C*WGEl-38mR&peRk)R{(Mf|)!XyqS}<5=}Wi z7KJT-a7UF@Wi(~p0#x!?v2uI@RKe=r{Y!pRR3%@>tfVbinXe56$gBVsjY;Z9m22(T zR);?yl}8WO>(~HX*3CvU!wCyyC$A3)$ZtC4 z5jkLwe|APEQbKqsOr_i_Ce-33}Ctyuu_i)8v7DxU03YP z=T-r1!K)<`#K&;cb~hLafc@}+dIa$~=1F51!8E(!22P7P8d(K1MG9!r+d1?yPaBP* zj&_&)y}0C`0)v-*@@1TQ0^?Ml*ULX;b_l?H6{zHeVE{9g$V%1=0jR8}9^qst<62J} zfy+v7A^K8nQUs=)LkOlk2x3RM;e^r}l{K%a1-J5K?5UYb%IK*qUhb8)H&f&hq$;ak z{+0h?0IRk&oD^leP|`;58sM@W)iE!5T%=&iV;q2wLUs~+8>oZD+pN3Z3}lKqHfFk& z!va(F6`;)PC7-kcl^|uF$GE6US>q6Zf`-USHYy$bGXFw4w%p;@a-$jn%nBP2D}c$? z;RER=5RzF=ZCW%-f?1Y%3$JfUNR0dMclH{7N&mKxO{L3|6+E$8`f* z*Btk`RRCM?($Yp?^=Cm$o(?HgekExYp!78fq?Fg9Dw)@LWMvcWab1GeHgGI}Rmlt? zlvM?@@|!@dvMWh#^t67q15n!GWF}GC`nsOz>mIcBWL*w`)qWh1Req&uBS6*Zm`JMP z7YkTTdzE}~rJDkn-O&(*n|f(0fSw4-s?$wCO7#~TP;D2zs3NUx_&9n?U>;|@!~7RB zFei28OQ4<9J4SZ3!Tb_HO=rJEKKDIvwE_Ozx9Fu3U+RIEdf=rVc&P_oTs`pr1Ht2o U&BK6aU;qFB07*qoM6N<$f;?#+g#Z8m literal 0 HcmV?d00001 diff --git a/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardProgress_icon.imageset/Contents.json b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardProgress_icon.imageset/Contents.json new file mode 100644 index 0000000..b9b11f2 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardProgress_icon.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "HeardProgress_icon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "HeardProgress_icon@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "HeardProgress_icon@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardProgress_icon.imageset/HeardProgress_icon.png b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/HeardProgress_icon.imageset/HeardProgress_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..dd44e05c9bc0fda253935c1bb4f8621511175a40 GIT binary patch literal 5027 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ɷS^Bz zNnNC(Aagt;h2X-N)T*Ns$Hu3*4>S#J@N=Ev+E%MyD_YYtqoS7;?M(tKVdui2Tg=ew z-*~BuPQcDwIO6xluILGG28b{2z>kOEJ)!ywj_o5CYWzyZ`3?FC&DE$QwQPI3Mv=Cj zwOY0I_IkZvo2ozd_(NYZH$V4d^sd;$23i^vk4px+GcZ-zO_&%bKE#*Kn4esuiI`-Q z@G)h|pi)U@bA^7T@*eulUHTCYyg&m#=Q%Y;!=B0c*T3rkGKB$@Xd93G0GtE7^@gru zVVMm;T|M37L;oczyPK5#iSN)L+9ihYOopy8uUZyNoXo}o0=DW<>!IXNl8H373xP7P zB_~C7Pe#9Ub?fDCqovS(MknX3VSU({ZP0pGXH?8=jYgfR(Qti!G+4Sa!jW4eZT93- ze5og%gjJ^o=+>?xEfjS_L#HT3I6yf`otDFDxE#0L&x)zeXo{mPJ-F8BkItT6`I9%i zW%f_W?km|g&ZoF?3`d5EattEX9wk?WXA@PfL(l9c0M_;hdk-IG6ZaPc$_BMYZ$-qL z5l{X37X5H?jee9Q=O0iGuScS{uj24S@7@AP5K-~kQLF;!>ze3c(C{J+c`t+YQ@X)z zNrQ<@1+g!fce_l0L#;C<%;s(Oqv#l$;DL1b>rc!uLH=``CJv zn#{2(T&Ssy1^rNFH0AzV)hn~Uen5k)eLJ3pn75#Vb=grd{MBB6_0&wW7;RD-(B3AH z(mg9z=vzB#){14yY0prwqtrl+lX5pv76uio2Z^8L_Ap%lMzrOegjDr*MP0M)ZHFsl zMUz$%KJ&Sc4+evuCADO@$wZQbg`&YS)lSO9Do!Tpuv(%kW6&8FnO0$}>XCqragB5w zaT*IR8>b^DQs$POSbxkVX^QfWGSer5O`KgxW>xiT47C-8$h}zm!aQ$px-^f*FHZN0 z&aZX`jUKLm;hq!(F|5rlO}F{bzsb*ng|%5=2zb)9*`(cTRCWMunp5bRodTDaE7s@Y zEhiLhJB{#8gre0OwYu%1Pyf%oboQUnVKO|0se{#$I_F5Dsiq7^g2`-==|qLGsX?hm zO5P^UgVV3@=cLXdal@bWkNY4UvHp~F*hU?iOc}99W#3LRpE)e%Ohb$ed`LY>rYyIw=oVz$lo}iTent z7UYk)RH+w!*n(H7qpTO6LB=5G-W1A3{BZ&{=PY||O!*>fwuOE+QvKDwa; z^%!BkpJJPsAi<|@CNe@LX~|;IF;#0k>IN2Rgg-7JH5<@cNlLAVFRC&}mB+>ANL9pA z>_V+%MlyAr_9+;t2W{Ke#Zy{HBd!%kMxPOo>d~vEJt;1C2iyN`R#0|NDIq^nLn)$0 zS-sByevndXl+`1)9>KL8I*m=6iUOmq0b0{zf=|fg@m@q*bU<@kgnt|c_%0rfwwl}a zM^{$XE?vEJ<;UpTZI8uT&zPVOWjNCFxC2fH23!@M0YM4Xg`uM>ZBiBIm$aR2bQPG| zl<7EKBb6{^c#(}{EEX9Trf(xu?bsK!gT(2ZqVj~nRmU?@h%vb-IREhF_|j#%0ABoy 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 literal 0 HcmV?d00001 diff --git a/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_normal_icon.imageset/Contents.json b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_normal_icon.imageset/Contents.json new file mode 100644 index 0000000..95c5831 --- /dev/null +++ b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_normal_icon.imageset/Contents.json @@ -0,0 +1,23 @@ +{ + "images" : [ + { + "filename" : "tabbar_homepage_normal_icon.png", + "idiom" : "universal", + "scale" : "1x" + }, + { + "filename" : "tabbar_homepage_normal_icon@2x.png", + "idiom" : "universal", + "scale" : "2x" + }, + { + "filename" : "tabbar_homepage_normal_icon@3x.png", + "idiom" : "universal", + "scale" : "3x" + } + ], + "info" : { + "author" : "xcode", + "version" : 1 + } +} diff --git a/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_normal_icon.imageset/tabbar_homepage_normal_icon.png b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_normal_icon.imageset/tabbar_homepage_normal_icon.png new file mode 100644 index 0000000000000000000000000000000000000000..e6c7c59e8b7007a239a4a79043ec3ebf5b3bb04f GIT binary patch literal 588 zcmeAS@N?(olHy`uVBq!ia0vp^f*{Pn1|+R>-G2co#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyy~ST)>QAgB12no(xpMxXshWF~mZ! zH+Zkt;RF%ieJZM3^eP#TieGTGDh>F>&=qi8FOQG&(FL(C5zQqtx8yyt?r7qF@IcAJ zvSiB^eTAU*8B2~8dwG4n9HQUyrg3Vm>6~eXFjn%9l8HI>CVBvW%tdi?ZF)EAF))s1slbl4uihQ3(xQ z`m*F#!@4zPyKTEZ3n}$ImT7QkEWQ8z@s69@mt~4bIp4@Kk@{YIz-P(jmup_`s#9#) zprFJs=ecpdNJ6>&hJCMhJ%3Pla$Byn!o7zayVsoi_TNaZKlWjU{{eX}0Y8m~1N&Jb z8d^Kl`)j(Ugm3MyS?9WElSB4T<`YZxg`TYDHvfH8G3ka-+ll>?SY0N@2y!+2=z7k3 zL-&VurPCbGV>==w?)h$vSd(zK|L3yvKa5UyeE7cb5zFQ6zL)=~b>{!-F`jS6XI5Cx z;dIq=Wyr6d=9k9v#1!Kd3?Kcx+*YyZ^cH`c$|u23xMo{DV>6QA%!+vFa)09bvxY|| zyYIV|we{Y{U)2`tI}fPovv$=myg9miasMCXylssZ-TaJu)&7g8`@Yb7AiPx#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91A)o^Q1ONa40RR91ApigX02V-i00003F-b&0R9Fe^S39T^K@`nyK140V zLhxZFmLeJu1mTH>prV3>rco=g5yV1XKASXY^74CF2x23OgeO9ZhoFTa0YR|Q7!hpb zfmKwn5W$$u-*dul$Y=91yO6bU;4(XR?%aFk%$=KwO@RmogHE5%cU_j{l-upz)o!gN3bc^05@O-$MgiU5|78fO&J*| zoCdlnRVtM_<8ry4LQcXtsh_f;Lf3)lC6GS?lK7hb?;OtbV(;4n^mLnrQ6Bg__0KN!7x1-VM zCnGz<;{brGaIg*shengn$iX}va|eF*gOQ7YK;V0+RQfo%W{io|)z#h1eC+-j7D-0Q zH|aohtR-z9tUQEYB^HbQ(AN$@WV6|2DDMKmVXO4(PG|Ka$MXR;x5DA@YuXM#fc|qp zx(?Y%0E=$S6R`0Mas_$vLIMMOK>Zsqu+I(v`UbUx{Q`E5$vC64b^{;~ZkTZyA15Fm z1uZ&2TYJW3d>M3jY>hk-jPYgUgK-U>FkaM<@#RH1H{MIqd)~kuuL3+DE=v#}^xLcyJkvRW0>fwAbL@J#QmGtA*}cS`W9m6?wwVH< z)%<+3*$gU*QqkX$>^Y_$1t?EDGffx-a{yF-g+vmGglZIodd}01_M%M~gtoilyvM6H zUo^vpFbHNocK2CiceFEeQ-nci!9^b%qILtfG7?D`2zDoQ(4uxk!1(+Xt+D9*i>4L3 z8bNHJ=&0yz#ld)5+zq+WXuJn~k31gFpak22ga8N25#a%=VKUN0K&aMJNDRVwOTGD(bOLoBj#ua p`#k2xZV3|>Qp5Z+RM@xr+P`o0qZXrzdoln3002ovPDHLkV1jVzo^=2K literal 0 HcmV?d00001 diff --git a/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_normal_icon.imageset/tabbar_homepage_normal_icon@3x.png b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_normal_icon.imageset/tabbar_homepage_normal_icon@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..e046a375c8e9468da5e21bcd48442cb4ef4964e4 GIT binary patch literal 1339 zcmV-B1;qM^P)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91GN1zh1ONa40RR91G5`Po0Cmf+s{jB5rAb6VRA>e5nqO#JRUF67&A$!; zDx>SzgQJz{qqU`?!@bNtY`E>kwX%l^GDvZ-joO;pKhT10Z9B9~_L8v8Jq#R;FG58b zv6ET!p|G)su`;!-FV&6CwbFG7OBz4FYC_W8H2375*hYHbkaK_McYeR`_x#Skdu|+0 z6)E-h_U?4KT>Bgj$6j%fOeV+T@%Xo0U0uHw!=*#F(Vm_jpV#Ys69OM#yM~hzs*qQz!^e}B1Q7$0NoF!|{mMi(F%b~>Hyt*xzdIdqi8T8IRLLHGRp zd=rpFfBA;Tt1;Cb7ho{XlZL}n|-3zqM#rme!t&cSy}l8 z&M)I9*Icj&A+5GR>Fuehsj*Nfq&(D=iS+gLRWPCbkT`+k@-z%Rg?mK!?DFz*sI#;4 zu8K(|BCJZULE=*!yiE40I8xA!p?d=|?{{=`{A9JAB_gc(E+(Wbsb|RBtQxnecaQd` zSV+Fae>|V9yhMhEhIY|ArwI8mhErKSgF5T+8O7&$M!}gtAn@~AwsR6`XlQWO)z$5X zL^}p{uVv&vsQXbi+KGvYZ^Gel!pxsxCKOpsO-%q2Ur}6d5&~zpV5zOGm1B=-%8JOy z$cS@hX67YA`XRZ&w8c6L8ERqj0MWUb8J(<%Oixe01M^Fecx#>U=5#OE1S2EnXr_`g z^)N6n@Db%fas@dnQYoDc@+;WNiOPZc`g%_!61gh495S5PO^;CijQp$!ODH`6>&dFB zsxO??)z#ZLQlCcfLJ1K_LES=RD(2?qMh!?j&$xRvRa0uef?YTmFnR^>>A6yBL*xO+<>d ztIL(nea=8XaC}&~G@!hT@*d<{$=a`ybQ6(_fg1o0av~k&=Hm~Z(}^3I?Y!L`MBpdO z-I%t+s_vn6g^xQ&`TlWXH3?xOGVZC)iw=)hM5Zh0jL0289?Ex_M*TA2C;2_ZrQa>e zT3+aMMPz|{rz81DWcI%3N*iPgnesx*x`;#=F1J-dEG;cf(k7zX&P-ni5xJMW%7>b$ znS-@t-QC@fSk1miC-2?vT6UyP2a$)YQnLV(kDW?M+9VQ*S=uitH8fGyG1=oRwX$y% zl$a;dR{6uuYG*nkvfAdlJj>;S?OR1QIomeuuon(;9b|i=*#V)Wt#FW`rSz>%hvOpH zxGO}ikqe%zMF6F0Qm|h$*vRfs7*}n*f%M0PgVEB`avx9^nJ|BCAaItT{EPXbaFEHK z-G2co#^NA%Cx&(BWL^R}E~ycoX}-P; zT0k}j17mw80}DtA5K93u0|WB{Mh0de%?J`(zyy~ST)>QAgB12no(xpM_|VhEF~mZ! zH+Z9;w4=b>o419{3Y!I{@I7M=a$TvBQ{d`6rAgl7Ia9a1g4e7moG(9ddvrFrv`?HU zwA9O0_UHpKS3x6*`*+{@q=hNXsXb_LDKkIqezmc=F}uOhY5e@*)ArZ@Uh-T-;z7Os z_iu}C9r|N7>xF1UG~;u(j(wqNdyYu-2GX@_`r8(OuORtCCMLjOg@Nxda(U~@V>;BLnq|cC^V1q+c<)lhdL6Pq1>gTe~DWM4f D$iw`2 literal 0 HcmV?d00001 diff --git a/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_selected_icon.imageset/tabBar_homepage_selected_icon@2x.png b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/Question_selected_icon.imageset/tabBar_homepage_selected_icon@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e3920c78a217a1643b8eaaa9c7009e82205626ab GIT binary patch literal 1056 zcmV+*1mF9KP)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91A)o^Q1ONa40RR91ApigX02V-i00003ib+I4R9Fe^S50UWK@@&7yGh&h zAQq&p9&C%?!Ha?*2o)28EtTR$d+_HXA_yWPRmrWl9xNh)2qKD9J@g_{Eo}*jMeyP; zLJx{f;-RfYtq3+vc4v2dZ_B2Cn`9@{oE!+VdGqFd-^{$983q-$#<8*bkglHtCObf~ zv8)ic=Q=tTDlx|@nbej{?v)I#F-gsYYUGNNZ_mID_E* zETC_ehEc#{!5~Oe{6aFZ%>4Xa=;^TvgJnK^lh{5w+N=cw1EA~2rIY}c2Zp8rV`x%{ z$ChFCe(mg>Erah2`y$a2k9RU%yTJm1ozCisM6re>mUhMbB!zV`6OE1*Q+4GfNo*Y+ z4%LK0G0=D~9zm@%O?O_|9to45OnTYyB+;6Tp9J6oxUG#cpZA)lBx5x-fX6roVE3lO(T8g%uOiVj zGP0$vwzeO1?KG2;;dZXoulPS6C#Dk&Vqx7|%;jR=y1Kr*#tI}_;?5kq<)pw#th~LbXCsL8fbJmhfHZhQ| zkU*=7_xlAbrsp`U5NQc)Kj%_(Rhs}2qXiQ#;d2SvKBy%8iY-w^j<|%+(PM)u^EO(S z@Ui@r%E22A>0uA?xreywqW>h^E!W)-<({%1reeS%MbYJ?_zK;tA`&c!W!f+oZ6V$x zm01b08B^~bl-HqLc|FQLfe8j=-h75dx;^vb=Ye!2a+G@dPjVVpZAvqooNt(elJm1u z;c%`1hWE)SfVWrzj$vWCgL=kRKybbT!hL&$4XuNO} za}9X)e)VWB;S+)BrOwOTKbAT0FpbB@p5P-TS9KytfN%+)rzR%e;iL9G$7^}jh#&#N zBV5Ag(AQ_zbAH8M%-+I>}~i+K>u29EN`Gy>*KPd#24z>d1DY)x;mN|-lJ?e%`EF_DjI$5 aTKEeT4SoR?)e#r~0000Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR91GN1zh1ONa40RR91G5`Po0Cmf+s{jB5-AP12RA>e5T3u)yRTMtw&TNxl zL7Ppq_+YY|);{O;X2eGzJv zu*o(i=u2zqLouc`n}9@ZyU~O;X~@n!em60?o9l-q*~pyp&M$3kR8REP`9vb?=F62xyuW9wIQAiA;Q*Xfx;YHF{|>TqimmL4 zk*C|PF6X;Ak?w9QUR(Vf33p&gesVb{rS1dBABg4X$c>3_Y0n;~P&`#gXk_u4n!_Ue z^=gwaSPTY(r9K)p+n$0gKO@LOT{QZrQgj5?FBP;{Z6UTdTGO$yOy+WKcJeY3k49gC z;52D@akcRljSp;!aNjed2DqC(aS8A7QF|D&xj}i@`=(lT(^c4_zI4B8YA67;twa{Ky5;=&Ct_2&2 zCUe9qz6^LGG({4cB`okcS6`OGsu;PX_hkYOHER7bJ$b1^GdaQOs z^$~A)(B?S7eFVV(4yO1Jc%TKr5QeScpswU*F%!eTH3yWwC;rjjP>4Cbyb7zg?rg{R`Pqff7>wfR zHwbyx>@XJGTLzlDs6jcc(8wh@JX;3=N}UfkA}I9RT2OI002ovPDHLkV1o0X Bj7

    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 Hu0mjfTYA}j literal 0 HcmV?d00001 diff --git a/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/allRoomDoctor.imageset/allRoomDoctor@2x.png b/XinjiangProject/XinjiangProject/Supporting Files/Assets.xcassets/Image/allRoomDoctor.imageset/allRoomDoctor@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..67abe2318883f174304f9fa3273a45023af96fbb GIT binary patch literal 98360 zcmV)BK*PU@P)Px#L}ge>W=%~1DgXcg2mk?xX#fNO00031000^Q000001E2u_0{{R30RRC20H6W@ z1ONa40RR92QJ@0=1ONa40RR91`~Uy|0PMpD1w=(fK}oO)>P=J>M2QVVKm`;PMHDqE*n&nyOnhn-Me*e&NNmtVBSxQoi6WXP zCMvNZF$B>l(%lQUKi&WDj4|dMRkPOK`NPJj}gl_c}w5$I9l7GJS-}>g5e$3uJ|tBU_=cyZ^c);axP{6?{F@q_kTLZ z`ng?doCC3YzvM6bWK|#SI{sFznDpI*_MY||x8Mr1#OJZxl)3Kdc+H)@9;>>`oW!PP z(#A1$M;gX0HLP#^KAhuM-X0&c&F$yfg@?Sgox@^=o=mr%seJd}=>-@)$v-!zI&F*SU(-_f+`BTc1xOGhw4o&#~0nU$~n388?SW-!3~xN z*RyjNCIL_MSW;N1!<}o#NVIJgOfd&;+j+ccoA;v7zt|kF{t&C(uN`jg`qg{Bx!npV z?jPIwscqau4xzAI+vF#)J*BOA_qn<8+IzK=o999J3$dg=5MJa%9BKPT^O7Ugk;5=& zc*0uxOPVEgXW#f*k9|7{JDgX7CuTW%)psQtkl+(e-CTB`>WX8hT-doUk{2M0WE>6Q zOYO)*ETi0TDkU9#N8$uCzDvL4BBW3A%*Q9s*_{~Y;N*dBB;J7ySFcg&RAfz6vW{aB z)8(ndSR75P!L+YzQ+Yw(&)Fd+7j~j1pBalej^k4LJG5)%4D*;S3DX2%5^jma3Ms3* ztAd>a9^*&8W5mOj_6|Q?hz(Wq7~qzX4q!c;6FmZJso%jA$T@4g^_RMW&buO0ObH!8 z<`C$UtJUW0@n&`Brv25rZC-h*o%n(4{`9tY|1@qWpOQC}v*;L^?uYoQy%;x=FUB(Y ziD#bHR_lMrpTzT7nj2b}P3+WE)Uh zsv#&T?98W|oBU|y&kh^o94B_?=1HU+7?47kbsVsAs)@hw^{QAOW8jJoeLZ)XTPsol zC_MAW5zv#23ZMK2a93(_!5G8Kzjv3w#G*0z%vmaEpQ)h$Pxw;gTTKfK?6zw0N!;gZKgGhMpYP^agA zG3xjaSAB0gSU(@K6y^J&6wta!1z)qviYIlcUcpX+z_}$Qg{aieF@g!jGUvEg`AY=gHqR?G5dN-fnYz(3f$@Zn_;V5x1qa7 zdS`&x=~Pf?hk#tz8SA#^HLnk;l`S{=;#g1}o+UXj-ynehW2j>$M%o%FFu|Hkt} zB90@dc&*wtThlFKUTKSjQzUwTIz47?T!|4@2s>vTq+%@u-L2PPK@Z^+C4Q;D?cfC7o4n=X<_GWhpu1ksem!2+Bkr`)QWAKm%Wc&jfAy zRF@cPJ3@4~OO?+X>2^E66~)jMKD6r!QoJIcl*T z8p@=l3!qrCI!gvPmDYpSbgg*-DQ*y}*_xVzXklD|UN?h52sNA-wg<)`wtXu&_;f+j zWzmjX7$t=(R@w!ucPk$DoE4}p(iuAqFV+n1rDVYItz0JSIJeV~Ck_m2Y@^Z>E1(zy zOJdFHL`xrFB*7hbk`cF0LAkJ_q_bFCD;#D?C$Odzq(u{3%+NBMQcDM!m_P

    k_o!qvYc?-n_i~x*fjfsQtvf{`*~@ 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