JOOAViewController.m 110 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698169917001701170217031704170517061707170817091710171117121713171417151716171717181719172017211722172317241725172617271728172917301731173217331734173517361737173817391740174117421743174417451746174717481749175017511752175317541755175617571758175917601761176217631764176517661767176817691770177117721773177417751776177717781779178017811782178317841785178617871788178917901791179217931794179517961797179817991800180118021803180418051806180718081809181018111812181318141815181618171818181918201821182218231824182518261827182818291830183118321833183418351836183718381839184018411842184318441845184618471848184918501851185218531854185518561857185818591860186118621863186418651866186718681869187018711872187318741875187618771878187918801881188218831884188518861887188818891890189118921893189418951896189718981899190019011902190319041905190619071908190919101911191219131914191519161917191819191920192119221923192419251926192719281929193019311932193319341935193619371938193919401941194219431944194519461947194819491950195119521953195419551956195719581959196019611962196319641965196619671968196919701971197219731974197519761977197819791980198119821983198419851986198719881989199019911992199319941995199619971998199920002001200220032004200520062007200820092010201120122013201420152016201720182019202020212022202320242025202620272028202920302031203220332034203520362037203820392040204120422043204420452046204720482049205020512052205320542055205620572058205920602061206220632064206520662067206820692070207120722073207420752076207720782079208020812082208320842085208620872088208920902091209220932094209520962097209820992100210121022103210421052106210721082109211021112112211321142115211621172118211921202121212221232124212521262127212821292130213121322133213421352136213721382139214021412142214321442145214621472148214921502151215221532154215521562157215821592160216121622163216421652166216721682169217021712172217321742175217621772178217921802181218221832184218521862187218821892190219121922193219421952196219721982199220022012202220322042205220622072208220922102211221222132214221522162217221822192220222122222223222422252226222722282229223022312232223322342235223622372238223922402241224222432244224522462247224822492250225122522253225422552256225722582259226022612262226322642265226622672268226922702271227222732274227522762277227822792280228122822283228422852286228722882289229022912292229322942295229622972298229923002301230223032304230523062307230823092310231123122313231423152316231723182319232023212322232323242325232623272328232923302331233223332334233523362337233823392340234123422343234423452346234723482349235023512352235323542355235623572358235923602361236223632364236523662367236823692370237123722373237423752376237723782379238023812382238323842385238623872388238923902391239223932394239523962397239823992400240124022403240424052406240724082409241024112412241324142415241624172418241924202421242224232424242524262427242824292430243124322433243424352436243724382439244024412442244324442445244624472448244924502451245224532454245524562457245824592460246124622463246424652466246724682469247024712472247324742475247624772478247924802481248224832484248524862487248824892490249124922493249424952496249724982499250025012502250325042505250625072508250925102511251225132514251525162517251825192520252125222523252425252526252725282529253025312532253325342535253625372538253925402541254225432544254525462547254825492550255125522553255425552556255725582559256025612562256325642565256625672568256925702571257225732574257525762577257825792580258125822583258425852586258725882589259025912592259325942595259625972598259926002601260226032604260526062607260826092610261126122613261426152616261726182619262026212622262326242625262626272628262926302631263226332634263526362637263826392640264126422643264426452646264726482649265026512652265326542655265626572658265926602661266226632664266526662667266826692670267126722673267426752676267726782679268026812682268326842685268626872688268926902691269226932694269526962697269826992700270127022703270427052706270727082709271027112712271327142715271627172718271927202721272227232724272527262727272827292730273127322733273427352736273727382739274027412742274327442745274627472748274927502751275227532754275527562757275827592760276127622763276427652766276727682769277027712772277327742775277627772778277927802781278227832784278527862787278827892790279127922793279427952796279727982799280028012802280328042805280628072808280928102811281228132814281528162817281828192820282128222823282428252826282728282829283028312832283328342835283628372838283928402841284228432844284528462847284828492850285128522853285428552856285728582859286028612862286328642865286628672868286928702871287228732874287528762877287828792880288128822883288428852886288728882889289028912892289328942895289628972898289929002901290229032904290529062907290829092910291129122913291429152916291729182919292029212922292329242925292629272928292929302931293229332934293529362937293829392940294129422943294429452946294729482949295029512952295329542955295629572958295929602961296229632964296529662967296829692970297129722973297429752976297729782979298029812982298329842985298629872988298929902991299229932994299529962997299829993000300130023003300430053006300730083009301030113012301330143015301630173018301930203021302230233024302530263027302830293030303130323033303430353036303730383039304030413042304330443045304630473048304930503051305230533054305530563057305830593060306130623063306430653066306730683069307030713072307330743075307630773078307930803081308230833084308530863087308830893090309130923093309430953096309730983099310031013102310331043105310631073108310931103111311231133114311531163117311831193120312131223123312431253126312731283129313031313132313331343135313631373138313931403141314231433144314531463147314831493150315131523153315431553156315731583159316031613162316331643165316631673168316931703171317231733174317531763177317831793180318131823183318431853186318731883189319031913192319331943195319631973198319932003201320232033204320532063207320832093210321132123213321432153216321732183219322032213222322332243225322632273228322932303231323232333234323532363237323832393240324132423243324432453246324732483249325032513252325332543255325632573258325932603261326232633264326532663267326832693270327132723273
  1. //
  2. // JOOAViewController.m
  3. // shiku_im
  4. //
  5. // Created by 周兵 on 16/6/27.
  6. // Copyright © 2016年 Reese. All rights reserved.
  7. //
  8. #import "JOOAViewController.h"
  9. //自定义按钮
  10. #import "JOButtonView.h"
  11. //日历
  12. #import "FDCalendar.h"
  13. //查询统计
  14. //#import "SearchViewController.h"
  15. //会议管理
  16. #import "JOHYTableViewController.h"
  17. //工作日志
  18. #import "JORZTableViewController.h"
  19. //新工作日志
  20. #import "LYJournalViewController.h"
  21. #import "JORZtextViewController.h"//测试版
  22. //加号按钮选择菜单
  23. #import "KxMenu.h"
  24. /*新打卡签到*/
  25. #import "JLPunchCardViewController.h"
  26. //打卡签到
  27. #import "JOPunchCardViewController.h"
  28. //外勤签到
  29. #import "JOWQViewController.h"
  30. //日历星号代理
  31. #import "LBStarView.h"
  32. //显示日历信息
  33. #import "DateDetailView.h"
  34. //日历
  35. #import "LBCalendar.h"
  36. //http请求
  37. #import "AFURLRequestSerialization.h"
  38. //新增任务
  39. #import "AddDateViewController.h"
  40. #import "JOOASetUpViewController.h"
  41. //新增拜访计划
  42. #import "VisitPlanVC.h"
  43. //新增拜访报告
  44. #import "ClientReportVC.h"
  45. //cell模型
  46. #import "JOOABFCell.h"
  47. //数据模型
  48. #import "JOOABFModel.h"
  49. #import "JOOARWRCModel.h"
  50. #import "JOOABFBGModel.h"
  51. #import "JOOABFJHModel.h"
  52. #import "MJExtension.h"
  53. //sigmentView
  54. #import "LiuXSegmentView.h"
  55. //自定义导航栏
  56. #import "JONavigationController.h"
  57. //选择我的下属
  58. #import "MySubordinateVC.h"
  59. //链接去拜访
  60. #import "ClientReportVC.h"
  61. //任务链接
  62. #import "HandleTaskViewController.h"
  63. //网络监控
  64. #import "Reachability.h"
  65. //工作日报提交界面
  66. #import "JOComposeViewController.h"
  67. //工作汇报
  68. #import "LYYWorkreportMainVC.h"
  69. //
  70. //报销单
  71. #import "LYYReimbursementVC.h"
  72. #import "DocumentVC.h"
  73. #import "JOOutWorkPlanVC.h"
  74. #import "HrorgModel.h"//组织架构表(原)
  75. #import "JOHrorgsModel.h"//组织架构
  76. #import "JOEmployeeModel.h"
  77. #import "JOKaoQCountVC.h"//考勤统计
  78. #import "B2BChangeViewController.h"
  79. #import "ERPNewTaskViewController.h"
  80. #import "ZXVisitReportViewController.h"
  81. #import "JONewMeetingTableViewController.h"
  82. #define BTNWIDTH00 self.view.frame.size.width/5
  83. #define BTNWIDTH01 self.view.frame.size.width/4
  84. #define BTNWIDTH02 self.view.frame.size.width/3
  85. @interface JOOAViewController ()<UIScrollViewDelegate,LBCalendarDataSource,UITableViewDataSource,UITableViewDelegate>
  86. {
  87. /**背景控件*/
  88. UIScrollView * _myScroll;
  89. /**背景空间高度*/
  90. int addHeight;
  91. //全局空间高度控制
  92. int heightOfquanju;
  93. /**日历显示板*/
  94. DateDetailView * _dateDetailView;
  95. /**日历控件*/
  96. LBCalendarContentView * _calendarContentView;
  97. /**任务完成状态栏*/
  98. UIView * _bottomView;
  99. UILabel * _label001;
  100. UILabel * _label002;
  101. UILabel * _label003;
  102. /**日程tableViewCell*/
  103. UITableView * _tableView;
  104. /**任务,日程,拜访计划,拜访报告*/
  105. //抽取时间
  106. NSMutableArray * _timeArray;
  107. //抽取状态
  108. NSMutableArray * _statuArray;
  109. //模型数组
  110. NSMutableArray * _renwuArr;
  111. NSMutableArray * _richengArr;
  112. NSMutableArray * _baifangArr;
  113. NSMutableArray * _baifangbgArr;
  114. NSMutableArray * _baifangjhArr;
  115. NSMutableArray * _renwuBrr;
  116. NSMutableArray * _richengBrr;
  117. NSMutableArray * _baifangBrr;
  118. NSMutableArray * _baifangbgBrr;
  119. NSMutableArray * _baifangjhBrr;
  120. //点击cell
  121. NSMutableArray * _dianjirenwu;
  122. NSMutableArray * _dianjiricheng;
  123. NSMutableArray * _dianjibaifangbg;
  124. NSMutableArray * _dianjibaifangjh;
  125. NSMutableArray * _dianjiNewbaifangjh;
  126. LiuXSegmentView * _sigmenView;
  127. UIButton * _selectBtn;
  128. NSString * _POSTLabel;
  129. UIImageView * _tixingImagev1;
  130. //记录返回是否需要刷新
  131. int JOindex;
  132. MBProgressHUD * HUD;
  133. JOButtonView * _addBtn001;
  134. JOButtonView * _addBtn002;
  135. JOButtonView * _addBtn003;
  136. JOButtonView * _closeAndOpen;
  137. JOButtonView * temp1Btn;
  138. JOButtonView * temp2Btn;
  139. JOButtonView * temp3Btn;
  140. JOButtonView * temp4Btn;
  141. NSDate * myDate;
  142. UIImage * _shadowImage;
  143. //判断是否是自动外勤
  144. NSString * _ReturnResult;
  145. //计算偏移高度
  146. CGFloat aa;
  147. NSInteger admin;
  148. NSMutableArray *SuoLingDataArr;
  149. //我的下属
  150. NSArray *XiaShuarr;
  151. }
  152. @property (strong, nonatomic) LBCalendar *calendar;
  153. @property (nonatomic,copy) NSString * type;
  154. @property (nonatomic,strong) UIImageView * mainView;
  155. @property (nonatomic,strong) UIView * subView;
  156. @property (nonatomic, strong) Reachability *conn;
  157. @property (nonatomic, strong) UILabel * labelsss;
  158. @property(copy,nonatomic)NSString *selectedStr;
  159. @end
  160. @implementation JOOAViewController
  161. - (void)viewDidLoad
  162. {
  163. [super viewDidLoad];
  164. //1.初始化页面 选中日期为空
  165. [[NSUserDefaults standardUserDefaults] setObject:[NSString getYYYYMMDDLongCurenTime] forKey:@"calendarSecletTIME"];
  166. // [self loadDate];
  167. /**
  168. 一,OA主页面逻辑解析
  169. 1,push进来
  170. 2,navi加了一个创建列表
  171. 3,八个固定按钮
  172. 4,日历选择器
  173. 5,日历上的collectionView
  174. 6,最下面的tableView
  175. 7,整个View是scrollView
  176. */
  177. /**给ViewController添加背景颜色*/
  178. SuoLingDataArr = [NSMutableArray array];
  179. //设置导航栏
  180. [self setNavi];
  181. if (g_ERPUser) {
  182. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(isAdmin) name:@"OAAdminJurisdiction" object:nil];
  183. }
  184. //初始化全部变量
  185. [self initQJBL];
  186. //设置十个按钮
  187. // [self setMainBtn];
  188. //设置segment按钮
  189. [self setSegmentController];
  190. //创建日历星期列表
  191. [self createCalendarheaderView];
  192. //设置scroll
  193. [self createBGScrollview];
  194. //设置任务日程完成状态
  195. [self setMYricheng];
  196. //设置我的日程列表
  197. [self setMyRCtableView];
  198. //1, 我现在要做的是,第一次进来,先判断是否有下属,如果有,显示我的下属工作日历,如果没有,显示我自己的工作日历
  199. myDate=[NSDate date];
  200. //第一次进来
  201. JOindex=111;
  202. _ReturnResult=@"";
  203. //进来默认取“我的工作日历”
  204. if ([_isHaveSub isEqualToString:@"YES"])
  205. {
  206. _POSTLabel=@"other";
  207. }else{
  208. _POSTLabel=@"me";
  209. }
  210. [self dataBeginGet];
  211. /**1.修改刷新的背景颜色*/
  212. _myScroll.backgroundColor = [UIColor whiteColor];
  213. /**3.添加下拉刷新*/
  214. [self setupHeader];
  215. //newGuide
  216. // if (![[[NSUserDefaults standardUserDefaults] objectForKey:@"OANewGuide"] isEqualToString:@"click"])
  217. // {
  218. // // [self newUserGuide];
  219. // }
  220. [self getSuolingMenucofig];
  221. [self getAutoOutWorkData];
  222. }
  223. - (void)loadTXUN
  224. {
  225. // [self createFmdb];
  226. }
  227. //获取是否为自动外勤接口
  228. -(void)getAutoOutWorkData{
  229. NSString * ipStr = [[NSUserDefaults standardUserDefaults] stringForKey:@"ipAndPort"];
  230. NSString *sessionId = [[NSUserDefaults standardUserDefaults] stringForKey:@"sessionId"];
  231. NSString *url = [NSString stringWithFormat:@"%@/mobile/getOutSetInfo.action?master=%@&sessionUser=%@&sessionId=%@",ipStr,g_master,g_sessionUser,sessionId];
  232. // DLog(@"保存的url是:%@",url);
  233. url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  234. UASNetworkManager *mannage = [UASNetworkManager shareManager];
  235. //拼接sessionID
  236. NSString *paramSessionId=[@"" stringByAppendingFormat:@"JSESSIONID=%@",sessionId];
  237. //设置cookie
  238. [mannage.requestSerializer setValue:paramSessionId forHTTPHeaderField:@"Cookie"];
  239. [mannage.requestSerializer setValue:[NSString stringWithFormat:@"%@",g_sessionUser] forHTTPHeaderField:@"sessionUser"];
  240. mannage.responseSerializer = [AFJSONResponseSerializer serializer];
  241. [mannage request:url method:POST parameters:nil progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
  242. // DLog(@"返回的结果是:%@",responseObject[@"result"]);
  243. responseObject = [NSDictionary changeType:responseObject];
  244. //
  245. NSUserDefaults * user=[NSUserDefaults standardUserDefaults];
  246. NSArray * a = responseObject[@"result"];
  247. if ([a isEqual:@""]) {
  248. }else{
  249. for (id obj in a) {
  250. _ReturnResult = [NSString stringWithFormat:@"%@",obj[@"MO_AUTOSIGN"]];
  251. [user setObject:[NSString stringWithFormat:@"%@",obj[@"MO_AUTOSIGN"]] forKey:@"OutPlanIsOpenOrClose"];
  252. [[NSUserDefaults standardUserDefaults] setObject:[NSString stringWithFormat:@"%@",obj[@"MO_NEEDPROCESS"]] forKey:@"JOOUTisOrNoPostSPL"];
  253. }
  254. }
  255. //获取系统权限
  256. } failure:^(NSURLSessionDataTask *task, NSError *error) {
  257. NSData *returnData = [[error userInfo] objectForKey:@"com.alamofire.serialization.response.error.data"];
  258. if (returnData)
  259. {
  260. NSDictionary *content = [NSJSONSerialization JSONObjectWithData:returnData options:NSJSONReadingMutableContainers error:nil];//转换数据格式
  261. NSString *errorStr = [NSString stringWithFormat:@"%@",[content objectForKey:@"exceptionInfo"]];
  262. DLog(@"错误信息是:%@",errorStr);
  263. [JOShowMessageFromNavi showDropViewWithMessage:errorStr ToNavi:self.navigationController withColor:nil];
  264. }
  265. }];
  266. }
  267. - (void)isAdmin
  268. {
  269. //#warning 测试之前 叫权限打开
  270. if (g_B2BUser) {
  271. [B2BHTTPRequest Get:B2B_IfORNoAdmin pageSize:0 condition:nil Completion:^(id ObjectData, NSError *error) {
  272. if (error == nil) {
  273. // DLog(@"%@",ObjectData);
  274. NSString *isAdmin = FORMAT(@"%@",ObjectData[@"data"][@"isAdmin"]);
  275. if ([isAdmin isEqualToString:@"1"]) {
  276. admin = 1;
  277. [[NSUserDefaults standardUserDefaults] setObject:FORMAT(@"%ld",(long)admin) forKey:@"Pduanshigouyouquanxiansetting"];
  278. }else{
  279. admin = 0;
  280. [[NSUserDefaults standardUserDefaults] setObject:FORMAT(@"%ld",(long)admin) forKey:@"Pduanshigouyouquanxiansetting"];
  281. }
  282. [MBProgressHUD hideHUD];
  283. }else{
  284. [MBProgressHUD hideHUD];
  285. if (error.code==-1009)
  286. {
  287. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_networkDisconnect") ToNavi:self.navigationController withColor:nil];
  288. }else if (error.code==-1001)
  289. {
  290. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_networkTimeOut") ToNavi:self.navigationController withColor:nil];
  291. }
  292. else{
  293. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_getDataFaild") ToNavi:self.navigationController withColor:nil];
  294. }
  295. }
  296. }];
  297. }
  298. else{
  299. [LYHTTPRequest Get:Oa_If_Admin page:0 condition:nil Completion:^(id ObjectData, NSError *error) {
  300. if (error == nil) {
  301. // SLog(@"%@",ObjectData);
  302. if ([[ObjectData allKeys] containsObject:@"sessionId"])
  303. {
  304. NSString * sessionId=[NSString stringWithFormat:@"%@",[ObjectData objectForKey:@"sessionId"]];
  305. [[NSUserDefaults standardUserDefaults] setObject:sessionId forKey:@"sessionId"];
  306. }
  307. int i=5;
  308. i=[[ObjectData objectForKey:@"isAdmin"] integerValue];
  309. if (i==1)
  310. {
  311. admin =1;
  312. [[NSUserDefaults standardUserDefaults] setObject:FORMAT(@"%ld",(long)admin) forKey:@"Pduanshigouyouquanxiansetting"];
  313. }else{
  314. admin = 0;
  315. [[NSUserDefaults standardUserDefaults] setObject:FORMAT(@"%ld",(long)admin) forKey:@"Pduanshigouyouquanxiansetting"];
  316. }
  317. [MBProgressHUD hideHUD];
  318. }else{
  319. admin = 0;
  320. [[NSUserDefaults standardUserDefaults] setObject:FORMAT(@"%ld",(long)admin) forKey:@"Pduanshigouyouquanxiansetting"];
  321. [MBProgressHUD hideHUD];
  322. if (error.code==-1009)
  323. {
  324. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_networkDisconnect") ToNavi:self.navigationController withColor:nil];
  325. }else if (error.code==-1001)
  326. {
  327. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_networkTimeOut") ToNavi:self.navigationController withColor:nil];
  328. }
  329. else{
  330. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_getDataFaild") ToNavi:self.navigationController withColor:nil];
  331. }
  332. }
  333. }];
  334. //
  335. }
  336. }
  337. - (void)viewWillDisappear:(BOOL)animated
  338. {
  339. [_labelsss removeFromSuperview];
  340. [self.navigationController setNavigationBarHidden:NO];
  341. [[NSNotificationCenter defaultCenter] postNotificationName:@"showBottomView" object:nil];
  342. }
  343. - (void)viewWillAppear:(BOOL)animated
  344. {
  345. /*
  346. 先进来让导航栏隐藏掉
  347. */
  348. [self.navigationController setNavigationBarHidden:NO];
  349. [[NSNotificationCenter defaultCenter] postNotificationName:@"hiddenTabBar"object:nil];
  350. /**
  351. 1,记住特定界面进去后返回来刷新
  352. 2,一些不需要刷新的界面返回不刷新
  353. 3,当JOindex等于333的时候返回界面时刷新
  354. */
  355. if (JOindex==333)
  356. {
  357. [self dataBeginGet];
  358. }
  359. // if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"OANewGuide0101"] isEqualToString:@"click"])
  360. // {
  361. // temp1Btn.redImage.hidden=YES;
  362. // }
  363. //
  364. // if ([[[NSUserDefaults standardUserDefaults] objectForKey:@"OANewGuide0102"] isEqualToString:@"click"])
  365. // {
  366. // temp2Btn.redImage.hidden=YES;
  367. // }
  368. }
  369. - (void)dataBeginGet
  370. {
  371. NSDate *senddate = myDate;
  372. NSDateFormatter* f=[[NSDateFormatter alloc]init];
  373. f.dateFormat = @"yyyyMM";
  374. NSString* s = [f stringFromDate:senddate];
  375. [self getAllDateFromServer:s withLabel:_POSTLabel];
  376. }
  377. -(NSString *)getTodayDate{
  378. NSDate *date = [NSDate date];
  379. NSDateFormatter *dateFor = [[NSDateFormatter alloc]init];
  380. [dateFor setDateFormat:@"yyyy-MM-dd"];
  381. NSString *str = [dateFor stringFromDate:date];
  382. return str;
  383. }
  384. -(void)getCurrentMonthData{
  385. NSDate *senddate = [NSDate date];
  386. NSDateFormatter* f=[[NSDateFormatter alloc]init];
  387. f.dateFormat = @"yyyyMM";
  388. NSString* s = [f stringFromDate:senddate];
  389. [self getAllDateFromServer:s withLabel:_POSTLabel];
  390. }
  391. /**
  392. 4,设置segmentView
  393. */
  394. - (void)setSegmentController
  395. {
  396. __weak typeof(self) weakSelf = self;
  397. //默认进来是不会点击的
  398. _sigmenView=[[LiuXSegmentView alloc]initWithFrame:CGRectMake(0,heightOfquanju,self_width,40) titles:[NSArray arrayWithObjects:Localized(@"UU_work_OA_AS_SubordinateWorkCalendar"),Localized(@"UU_work_OA_AS_MYWorkCalendar"), nil] clickBlick:^(NSInteger index) {
  399. __strong JOOAViewController *strongSelf = weakSelf;
  400. if (index==1)
  401. {
  402. // [MBProgressHUD showMessage:@""];
  403. [weakSelf getPeopleDataFromServer];
  404. }
  405. else if (index==2)
  406. {
  407. // [MBProgressHUD showMessage:@""];
  408. // DLog(@"我的工作日志");
  409. [weakSelf removeAlldate];
  410. //请求之前 清空数组
  411. [_statuArray removeAllObjects];
  412. [_timeArray removeAllObjects];
  413. [_renwuArr removeAllObjects];
  414. [_richengArr removeAllObjects];
  415. [_baifangArr removeAllObjects];
  416. [_baifangbgArr removeAllObjects];
  417. [_baifangjhArr removeAllObjects];
  418. strongSelf->_selectBtn.frame=CGRectMake(weakSelf.view.frame.size.width/4-20+40,5,0,0);
  419. strongSelf->_selectBtn.userInteractionEnabled=NO;
  420. //请求我的数据
  421. NSDate *senddate = [NSDate date];
  422. NSDateFormatter* f=[[NSDateFormatter alloc]init];
  423. f.dateFormat = @"yyyyMM";
  424. NSString* s = [f stringFromDate:senddate];
  425. strongSelf->_POSTLabel=@"me";
  426. [weakSelf getAllDateFromServer:s withLabel:strongSelf->_POSTLabel];
  427. }
  428. }];
  429. _sigmenView.titleSelectColor= HexColor(@"#1084D1");
  430. if ([_isHaveSub isEqualToString:@"YES"])
  431. {
  432. _sigmenView.defaultIndex=1;
  433. }else{
  434. _sigmenView.defaultIndex=2;
  435. }
  436. _sigmenView.backgroundColor = [UIColor whiteColor];
  437. [_myScroll addSubview:_sigmenView];
  438. UIView * shuxian=[[UIView alloc]initWithFrame:CGRectMake(self.view.frame.size.width/2,heightOfquanju+5,1,30)];
  439. shuxian.backgroundColor=[UIColor grayColor];
  440. [_myScroll addSubview:shuxian];
  441. heightOfquanju=heightOfquanju+40;
  442. }
  443. #pragma mark -- 网络接口
  444. /**
  445. 获取任务日程拜访数据
  446. */
  447. - (void)getAllDateFromServer:(NSString *)dateStr withLabel:(NSString *)label
  448. {
  449. UASNetworkManager *manager = [UASNetworkManager shareManager];
  450. manager.requestSerializer.timeoutInterval=20;
  451. /*
  452. 请求参数配置
  453. */
  454. NSString *ip=[UASUserInfo shareManager].urlIp;
  455. NSString *sessionId=[[NSUserDefaults standardUserDefaults] stringForKey:@"sessionId"];
  456. NSString * userID=[[NSUserDefaults standardUserDefaults] objectForKey:@"erpaccount"];
  457. NSString *master=[[[NSUserDefaults standardUserDefaults] objectForKey:@"masterDic"]objectForKey:@"ma_user"];
  458. NSString *emcode = [[NSUserDefaults standardUserDefaults] stringForKey:@"erpaccount"];
  459. //拼接sessionID
  460. NSString *paramSessionId=[@"" stringByAppendingFormat:@"JSESSIONID=%@",sessionId];
  461. //设置cookie
  462. [manager.requestSerializer setValue:paramSessionId forHTTPHeaderField:@"Cookie"];
  463. [manager.securityPolicy setAllowInvalidCertificates:YES];
  464. NSString *url = [NSString stringWithFormat:@"%@mobile/crm/gettaskscheduleandvisitplanmsg.action?emcode=%@&date=%@&sessionId=%@&master=%@&sessionUser=%@",ip,emcode,dateStr,sessionId,master,userID];
  465. url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  466. //请求之前 清空数组
  467. [_renwuBrr removeAllObjects];
  468. [_richengBrr removeAllObjects];
  469. [_baifangBrr removeAllObjects];
  470. [_baifangbgBrr removeAllObjects];
  471. [_baifangjhBrr removeAllObjects];
  472. [_statuArray removeAllObjects];
  473. [_timeArray removeAllObjects];
  474. [_renwuArr removeAllObjects];
  475. [_richengArr removeAllObjects];
  476. [_baifangArr removeAllObjects];
  477. [_baifangbgArr removeAllObjects];
  478. [_baifangjhArr removeAllObjects];
  479. [manager request:url method:POST parameters:nil progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
  480. [MBProgressHUD hideHUD];
  481. [_renwuBrr removeAllObjects];
  482. [_richengBrr removeAllObjects];
  483. [_baifangBrr removeAllObjects];
  484. [_baifangbgBrr removeAllObjects];
  485. [_baifangjhBrr removeAllObjects];
  486. [_statuArray removeAllObjects];
  487. [_timeArray removeAllObjects];
  488. [_renwuArr removeAllObjects];
  489. [_richengArr removeAllObjects];
  490. [_baifangArr removeAllObjects];
  491. [_baifangbgArr removeAllObjects];
  492. [_baifangjhArr removeAllObjects];
  493. NSDictionary *rootDic=responseObject;
  494. // SLog(@"过滤成功%@",rootDic);
  495. rootDic = [NSDictionary changeType:rootDic];
  496. if ([[rootDic allKeys] containsObject:@"sessionId"]==YES)
  497. {
  498. NSString * sessionId=[NSString stringWithFormat:@"%@",[rootDic objectForKey:@"sessionId"]];
  499. [[NSUserDefaults standardUserDefaults] setObject:sessionId forKey:@"sessionId"];
  500. }
  501. //1,中转数组
  502. NSMutableArray * arr1=[[NSMutableArray alloc]init];
  503. NSMutableArray * arr2=[[NSMutableArray alloc]init];
  504. NSMutableArray * arr3=[[NSMutableArray alloc]init];
  505. NSMutableArray * arr4=[[NSMutableArray alloc]init];
  506. NSMutableArray * arr5=[[NSMutableArray alloc]init];
  507. //2,中转字典
  508. NSDictionary * dictMe=[[NSDictionary alloc]init];
  509. dictMe=[rootDic objectForKey:label];
  510. arr1=[dictMe objectForKey:@"task"];//任务
  511. arr2=[dictMe objectForKey:@"schedule"];//日程
  512. arr3=[dictMe objectForKey:@"visitPlan"];//拜访计划
  513. arr4=[dictMe objectForKey:@"visitRecord"];//拜访报告
  514. arr5=[dictMe objectForKey:@"outplan"];//外勤计划
  515. //根据ID 反向排序
  516. // for (NSInteger i = 0; i <arr1.count; i ++) {
  517. // for (NSInteger j = 0; j < arr1.count - 1 -i; j ++) {
  518. // NSDictionary *dic = arr1[j];
  519. // NSDictionary *dic1 = arr1[j+1];
  520. // if ([dic[@"ra_id"] integerValue] < [dic1[@"ra_id"] integerValue] ) {
  521. //
  522. // [arr1 replaceObjectAtIndex:j withObject:dic1];
  523. // [arr1 replaceObjectAtIndex:j+1 withObject:dic];
  524. // }
  525. //
  526. // }
  527. // }
  528. //
  529. // for (NSInteger i = 0; i <arr2.count; i ++) {
  530. // for (NSInteger j = 0; j < arr2.count - 1 -i; j ++) {
  531. // NSDictionary *dic = arr2[j];
  532. // NSDictionary *dic1 = arr2[j+1];
  533. // if ([dic[@"ra_id"] integerValue] < [dic1[@"ra_id"] integerValue] ) {
  534. //
  535. // [arr2 replaceObjectAtIndex:j withObject:dic1];
  536. // [arr2 replaceObjectAtIndex:j+1 withObject:dic];
  537. // }
  538. //
  539. // }
  540. // }
  541. // for (NSInteger i = 0; i <arr3.count; i ++) {
  542. // for (NSInteger j = 0; j < arr3.count - 1 -i; j ++) {
  543. // NSDictionary *dic = arr3[j];
  544. // NSDictionary *dic1 = arr3[j+1];
  545. // if ([dic[@"vp_id"] integerValue] < [dic1[@"vp_id"] integerValue] ) {
  546. //
  547. // [arr3 replaceObjectAtIndex:j withObject:dic1];
  548. // [arr3 replaceObjectAtIndex:j+1 withObject:dic];
  549. // }
  550. //
  551. // }
  552. // }
  553. //
  554. // for (NSInteger i = 0; i <arr4.count; i ++) {
  555. // for (NSInteger j = 0; j < arr4.count - 1 -i; j ++) {
  556. // NSDictionary *dic = arr4[j];
  557. // NSDictionary *dic1 = arr4[j+1];
  558. // if ([dic[@"id"] integerValue] < [dic1[@"id"] integerValue] ) {
  559. //
  560. // [arr4 replaceObjectAtIndex:j withObject:dic1];
  561. // [arr4 replaceObjectAtIndex:j+1 withObject:dic];
  562. // }
  563. //
  564. // }
  565. // }
  566. // for (NSInteger i = 0; i <arr5.count; i ++) {
  567. // for (NSInteger j = 0; j < arr3.count - 1 -i; j ++) {
  568. // NSDictionary *dic = arr5[j];
  569. // NSDictionary *dic1 = arr3[j+1];
  570. // if ([dic[@"vp_id"] integerValue] < [dic1[@"vp_id"] integerValue] ) {
  571. //
  572. // [arr5 replaceObjectAtIndex:j withObject:dic1];
  573. // [arr5 replaceObjectAtIndex:j+1 withObject:dic];
  574. // }
  575. //
  576. // }
  577. // }
  578. //3,分类和加上一个月的所有时间
  579. for (int i=0; i<arr1.count; i++)//任务
  580. {
  581. JOOARWRCModel * renwuModel=[JOOARWRCModel mj_objectWithKeyValues:arr1[i]];
  582. renwuModel.descriptions = [arr1[i] objectForKey:@"description"];
  583. [_timeArray addObject:renwuModel.startdate];
  584. [_renwuArr addObject:renwuModel];
  585. }
  586. for (int i=0; i<arr2.count; i++)//日程
  587. {
  588. JOOARWRCModel * richengModel=[JOOARWRCModel mj_objectWithKeyValues:arr2[i]];
  589. [_timeArray addObject:richengModel.startdate];
  590. [_richengArr addObject:richengModel];
  591. }
  592. for (int i=0; i<arr3.count; i++)//拜访计划
  593. {
  594. JOOABFModel * baifangModel=[JOOABFModel mj_objectWithKeyValues:arr3[i]];
  595. [_timeArray addObject:baifangModel.startdate];
  596. [_baifangArr addObject:baifangModel];
  597. }
  598. for (int i=0; i<arr4.count;i++)//拜访报告
  599. {
  600. JOOABFBGModel * baifbgModel=[JOOABFBGModel mj_objectWithKeyValues:arr4[i]];
  601. [_timeArray addObject:baifbgModel.vr_recorddate];
  602. [_baifangbgArr addObject:baifbgModel];
  603. }
  604. for (int i=0; i<arr5.count;i++)//外勤计划
  605. {
  606. JOOABFJHModel * baifangjhModel=[JOOABFJHModel mj_objectWithKeyValues:arr5[i]];
  607. if (![baifangjhModel.mpd_status isEqualToString:@"已完成"])
  608. {
  609. [_timeArray addObject:baifangjhModel.mpd_arrivedate];
  610. [_baifangjhArr addObject:baifangjhModel];
  611. }
  612. }
  613. //刷新日历上的红圈
  614. [self.calendar reloadData];
  615. //默认点击今天
  616. [self calendarDidDateSelected:self.calendar date:myDate];
  617. } failure:^(NSURLSessionDataTask *task, NSError *error) {
  618. DLog(@"请求失败:%@",error);
  619. [MBProgressHUD hideHUD];
  620. if (error.code==-1009)
  621. {
  622. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_networkDisconnect") ToNavi:self.navigationController withColor:nil];
  623. }else if (error.code==-1001)
  624. {
  625. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_networkTimeOut") ToNavi:self.navigationController withColor:nil];
  626. }
  627. else{
  628. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_getDataFaild") ToNavi:self.navigationController withColor:nil];
  629. }
  630. }];
  631. }
  632. #pragma mark -- UI设计
  633. /**
  634. 1,设置导航栏
  635. */
  636. - (void)setNavi
  637. {
  638. /**
  639. 伪导航栏,把真的导航栏隐藏掉
  640. */
  641. self.view.backgroundColor=[UIColor whiteColor];
  642. self.title = Localized(@"UU_work_CRM_clientVisit_workDate");
  643. UIImageView * images=[[UIImageView alloc]initWithFrame:CGRectMake(15, 30, 22, 22)];
  644. images.image=[UIImage imageNamed:@"icon_back_nor3"];
  645. images.userInteractionEnabled=YES;
  646. UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeSystem];
  647. btn2.frame = CGRectMake(0, 5, 22, 22);
  648. [btn2 setTitle:@"" forState:UIControlStateNormal];
  649. [btn2 addTarget:self action:@selector(backView) forControlEvents:UIControlEventTouchUpInside];
  650. [btn2 setTintColor:[UIColor whiteColor]];
  651. CGFloat imageY = 0;
  652. if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 11.0) {
  653. imageY = 5;
  654. }
  655. UIImageView *image = [[UIImageView alloc]initWithFrame:CGRectMake(0, imageY, 22, 22)];
  656. image.image = [UIImage imageNamed:@"icon_back_nor3"];
  657. [btn2 addSubview:image];
  658. UIBarButtonItem *bbi2 = [[UIBarButtonItem alloc]initWithCustomView:btn2];
  659. self.navigationItem.leftBarButtonItems = @[bbi2];
  660. //导航栏右上角加号按钮
  661. UIButton *rigntBtn = [UIButton buttonWithType:UIButtonTypeSystem];
  662. rigntBtn.frame = CGRectMake(self_width-35,30, 20, 20);
  663. [rigntBtn addTarget:self action:@selector(showBtn:) forControlEvents:UIControlEventTouchUpInside];
  664. [rigntBtn setTintColor:[UIColor whiteColor]];
  665. UIImageView *imageR = [[UIImageView alloc]initWithFrame:CGRectMake(0, imageY, 22, 22)];
  666. imageR.image = [UIImage imageNamed:@"crm_main_add"];
  667. [rigntBtn addSubview:imageR];
  668. UIBarButtonItem *rightB = [[UIBarButtonItem alloc]initWithCustomView:rigntBtn];
  669. self.navigationItem.rightBarButtonItems = @[rightB];
  670. }
  671. /**
  672. 2,初始化全局变量
  673. */
  674. - (void)initQJBL
  675. {
  676. addHeight=100;
  677. /**
  678. 添加一个scrollView
  679. */
  680. _myScroll=[[UIScrollView alloc]initWithFrame:CGRectMake(0,0,self_width,self_height)];
  681. _myScroll.contentSize=CGSizeMake(self_width,self_height+addHeight);
  682. _myScroll.bounces=YES;
  683. _myScroll.showsVerticalScrollIndicator=NO;
  684. _myScroll.scrollEnabled=YES;
  685. _myScroll.delegate = self;
  686. [self.view addSubview:_myScroll];
  687. [_myScroll mas_makeConstraints:^(MASConstraintMaker *make) {
  688. make.left.right.top.bottom.equalTo(self.view);
  689. }];
  690. heightOfquanju=0;
  691. _timeArray=[[NSMutableArray alloc]init];
  692. _statuArray=[[NSMutableArray alloc]init];
  693. _richengArr=[[NSMutableArray alloc]init];
  694. _renwuArr=[[NSMutableArray alloc]init];
  695. _baifangArr=[[NSMutableArray alloc]init];
  696. _baifangbgArr=[[NSMutableArray alloc]init];
  697. _baifangjhArr=[[NSMutableArray alloc]init];
  698. _richengBrr=[[NSMutableArray alloc]init];
  699. _renwuBrr=[[NSMutableArray alloc]init];
  700. _baifangBrr=[[NSMutableArray alloc]init];
  701. _baifangbgBrr=[[NSMutableArray alloc]init];
  702. _baifangjhBrr=[[NSMutableArray alloc]init];
  703. _dianjirenwu=[[NSMutableArray alloc]init];
  704. _dianjiricheng=[[NSMutableArray alloc]init];
  705. _dianjibaifangbg=[[NSMutableArray alloc]init];
  706. _dianjibaifangjh=[[NSMutableArray alloc]init];
  707. _dianjiNewbaifangjh=[[NSMutableArray alloc]init];
  708. }
  709. /**
  710. 3,十个按钮初始化
  711. */
  712. - (void)setMainBtn
  713. {
  714. heightOfquanju=BTNWIDTH01*2;
  715. CGFloat height = 0;
  716. if (iPhoneX) {
  717. height = 0;
  718. }
  719. NSArray * labeltextArray=@[Localized(@"UU_work_OA_punchClock"),Localized(@"UU_work_OA_WorkOutsideSign"),@"工作报告",Localized(@"UU_work_OA_DailyWork_More"),Localized(@"UU_work_OA_ManagementOfMeetings"),Localized(@"UU_work_OA_leave"),Localized(@"UU_work_OA_businessTrip"),Localized(@"UU_work_OA_overTime"),Localized(@"UU_work_OA_specialAttendance"),Localized(@"UU_work_OA_AttendanceStatistics"),Localized(@"UU_work_OA_ExpenseAccount")];
  720. _myScroll.backgroundColor = [UIColor whiteColor];
  721. _mainView=[[UIImageView alloc]init];
  722. // _mainView.image = [UIImage imageNamed:@"oa_main_backView"];
  723. _mainView.frame=CGRectMake(0,0,self_width,heightOfquanju);
  724. _mainView.backgroundColor = [UIColor whiteColor];
  725. _mainView.userInteractionEnabled=YES;
  726. [_myScroll addSubview:_mainView];
  727. _subView=[[UIView alloc]init];
  728. _subView.frame=CGRectMake(0,heightOfquanju+BTNWIDTH01+64+height,self_width,self_height-heightOfquanju);
  729. aa = _subView.y;
  730. _subView.backgroundColor= [UIColor colorWithWhite:0 alpha:0.5];
  731. [self.view addSubview:_subView];
  732. _subView.hidden=YES;
  733. UITapGestureRecognizer *singleTapGestureRecognizer = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(shouqi:)];
  734. [singleTapGestureRecognizer setNumberOfTapsRequired:1];
  735. [_subView addGestureRecognizer:singleTapGestureRecognizer];
  736. for (int i=0; i<3; i++)
  737. {
  738. for (int j=0; j<4; j++)
  739. {
  740. if (i==2&&j>2)
  741. {
  742. return;
  743. }
  744. JOButtonView * btn=[[JOButtonView alloc]initWithFrame:CGRectMake(j*BTNWIDTH01,i*BTNWIDTH01,BTNWIDTH01,BTNWIDTH01)];
  745. btn.lab.text=labeltextArray[j+i*4];
  746. btn.imgView.image=[UIImage imageNamed:[NSString stringWithFormat:@"OAButton_%d",i*4+j]];
  747. btn.btn.tag=30000+i*4+j;
  748. [btn.btn addTarget:self action:@selector(pushToYEWU:) forControlEvents:UIControlEventTouchUpInside];
  749. [_mainView addSubview:btn];
  750. if (i==2&&j==0)
  751. {
  752. btn.hidden=YES;
  753. _addBtn001=btn;
  754. }
  755. else if (i==2&&j==1)
  756. {
  757. btn.hidden=YES;
  758. _addBtn002=btn;
  759. }else if (i == 2 && j == 2)
  760. {
  761. btn.hidden=YES;
  762. _addBtn003=btn;
  763. }
  764. if (i==0&&j==3)
  765. {
  766. _closeAndOpen=btn;
  767. }
  768. if (i==0&&j<=1)
  769. {
  770. if (j==0)
  771. {
  772. temp1Btn=btn;
  773. if (![[[NSUserDefaults standardUserDefaults] objectForKey:@"OANewGuidePunch1"] isEqualToString:@"click"])
  774. {
  775. btn.redImage.image=[UIImage imageNamed:@"icon_hongdian_nor3"];
  776. }
  777. }else if (j==1)
  778. {
  779. temp2Btn=btn;
  780. if (![[[NSUserDefaults standardUserDefaults] objectForKey:@"OANewGuidePunch2"] isEqualToString:@"click"])
  781. {
  782. btn.redImage.image=[UIImage imageNamed:@"icon_hongdian_nor3"];
  783. }
  784. }
  785. }
  786. if (i==2&&j==1) {
  787. temp3Btn=btn;
  788. if (![[[NSUserDefaults standardUserDefaults] objectForKey:@"OANewGuidePunch3"] isEqualToString:@"click"])
  789. {
  790. btn.redImage.image=[UIImage imageNamed:@"icon_hongdian_nor3"];
  791. }
  792. }
  793. if (i==2&&j==2) {
  794. temp4Btn=btn;
  795. if (![[[NSUserDefaults standardUserDefaults] objectForKey:@"OANewGuidePunch4"] isEqualToString:@"click"])
  796. {
  797. btn.redImage.image=[UIImage imageNamed:@"icon_hongdian_nor3"];
  798. }
  799. }
  800. }
  801. }
  802. }
  803. //收起手势
  804. - (void)shouqi:(UIGestureRecognizer *)ges
  805. {
  806. _myScroll.scrollEnabled=YES;
  807. _addBtn001.hidden=YES;
  808. _addBtn002.hidden=YES;
  809. _addBtn003.hidden = YES;
  810. CGFloat duration = 0.1; // 动画的时间
  811. [UIView animateWithDuration:duration animations:^{
  812. _mainView.size=CGSizeMake(self_width,BTNWIDTH01*2);
  813. _closeAndOpen.imgView.transform = CGAffineTransformMakeRotation(0*M_PI/180);
  814. _closeAndOpen.lab.text=Localized(@"UU_work_OA_DailyWork_More");
  815. self.subView.hidden=YES;
  816. } completion:^(BOOL finished) {
  817. }];
  818. }
  819. /**
  820. 清空所有展示数组数据
  821. */
  822. - (void)removeAlldate
  823. {
  824. [_baifangBrr removeAllObjects];
  825. [_renwuBrr removeAllObjects];
  826. [_richengBrr removeAllObjects];
  827. [_baifangbgBrr removeAllObjects];
  828. [_baifangjhBrr removeAllObjects];
  829. [_dianjiricheng removeAllObjects];
  830. [_dianjirenwu removeAllObjects];
  831. [_dianjibaifangbg removeAllObjects];
  832. [_dianjibaifangjh removeAllObjects];
  833. [_dianjiNewbaifangjh removeAllObjects];
  834. _label001.text=@"0";
  835. _label002.text=@"0";
  836. _label003.text=@"0";
  837. [_tableView reloadData];
  838. }
  839. /**
  840. 设置日历头
  841. */
  842. - (void)createCalendarheaderView
  843. {
  844. _dateDetailView = [[DateDetailView alloc]initWithFrame:CGRectMake(0,heightOfquanju,self_width,60)];
  845. [_myScroll addSubview:_dateDetailView];
  846. _dateDetailView.backgroundColor = [UIColor whiteColor];
  847. heightOfquanju=heightOfquanju+60;
  848. }
  849. /**
  850. 设置日历的scroll
  851. */
  852. - (void)createBGScrollview
  853. {
  854. _calendarContentView = [[LBCalendarContentView alloc]initWithFrame:CGRectMake(0,heightOfquanju,self_width,160)];
  855. [_myScroll addSubview:_calendarContentView];
  856. self.calendar = [[LBCalendar alloc]init];
  857. //这个可以设置日历星期排序的方式
  858. self.calendar.calendarAppearance.calendar.firstWeekday = 1;
  859. self.calendar.calendarAppearance.dayRectangularRatio = 1.0;
  860. self.calendar.calendarAppearance.dayTextFont=FONT_SIZE(15);
  861. [self.calendar setContentView:_calendarContentView];
  862. [self.calendar setDataSource:self];
  863. //设置日历当前日期
  864. [self.calendar setCurrentDate:[NSDate date]];
  865. [self.calendar setCurrentDateSelected:[NSDate date]];
  866. [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(updateym:) name:@"currentYearMonth" object:nil];
  867. _calendarContentView.backgroundColor = [UIColor whiteColor];
  868. heightOfquanju=heightOfquanju+160;
  869. }
  870. /**
  871. 设置完成情况表格
  872. */
  873. - (void)setMYricheng
  874. {
  875. for (int i=0; i<4; i++)
  876. {
  877. if (i==0)
  878. {
  879. UIView * bottomView=[[UIView alloc]init];
  880. bottomView.frame=CGRectMake(0,heightOfquanju,self_width/4+10+1,28);
  881. bottomView.backgroundColor=[UIColor whiteColor];
  882. bottomView.layer.borderWidth=1;
  883. bottomView.layer.borderColor=Color(210,208,208,1.0).CGColor;
  884. [_myScroll addSubview:bottomView];
  885. UILabel * label1=[[UILabel alloc]init];
  886. label1.frame=CGRectMake(5,0,self_width/4-25,28);
  887. label1.textColor=[UIColor blackColor];
  888. label1.font=FONT_SIZE(13);
  889. label1.text=Localized(@"UU_work_OA_AS_WorkCalendar");
  890. [bottomView addSubview:label1];
  891. _label001=[[UILabel alloc]init];
  892. _label001.frame=CGRectMake(self_width/4-30+10,0,30,28);
  893. _label001.textColor= HexColor(@"#1084D1");
  894. _label001.font=FONT_SIZE(14);
  895. _label001.text=@"0";
  896. [bottomView addSubview:_label001];
  897. }
  898. if (i==1)
  899. {
  900. UIView * bottomView=[[UIView alloc]init];
  901. bottomView.frame=CGRectMake(self_width/4+10,heightOfquanju,self_width/4+1,28);
  902. bottomView.backgroundColor=[UIColor whiteColor];
  903. bottomView.layer.borderWidth=1;
  904. bottomView.layer.borderColor=Color(210,208,208,1.0).CGColor;
  905. [_myScroll addSubview:bottomView];
  906. UILabel * label1=[[UILabel alloc]init];
  907. label1.frame=CGRectMake(10,0,self_width/4-30,28);
  908. label1.textColor=[UIColor blackColor];
  909. label1.font=FONT_SIZE(13);
  910. label1.text=Localized(@"UU_work_OA_AS_Finished");
  911. [bottomView addSubview:label1];
  912. _label002=[[UILabel alloc]init];
  913. _label002.frame=CGRectMake(self_width/4-30,0,30,28);
  914. _label002.textColor=HexColor(@"#1084D1");
  915. _label002.font=FONT_SIZE(14);
  916. _label002.text=@"0";
  917. [bottomView addSubview:_label002];
  918. }
  919. if (i==2)
  920. {
  921. UIView * bottomView=[[UIView alloc]init];
  922. bottomView.frame=CGRectMake(self_width/4*2+10,heightOfquanju,self_width/2-10,28);
  923. bottomView.backgroundColor=[UIColor whiteColor];
  924. bottomView.layer.borderWidth=1;
  925. bottomView.layer.borderColor=Color(210,208,208,1.0).CGColor;
  926. [_myScroll addSubview:bottomView];
  927. UILabel * label1=[[UILabel alloc]init];
  928. label1.frame=CGRectMake(10,0,self_width/4-60+20,28);
  929. label1.textColor=[UIColor blackColor];
  930. label1.font=FONT_SIZE(13);
  931. label1.text=@"未完成";
  932. [bottomView addSubview:label1];
  933. _label003=[[UILabel alloc]init];
  934. _label003.frame=CGRectMake(self_width/4-60+10+20,0,30,28);
  935. _label003.textColor=HexColor(@"#1084D1");
  936. _label003.font=FONT_SIZE(14);
  937. _label003.text=@"0";
  938. [bottomView addSubview:_label003];
  939. _selectBtn =[UIButton buttonWithType:UIButtonTypeCustom];
  940. //_selectBtn.frame=CGRectMake(self_width/4-20+40,5,15,12);
  941. [_selectBtn setImage:[UIImage imageNamed:@"oa_main_selectName"] forState:UIControlStateNormal];
  942. [_selectBtn addTarget:self action:@selector(chooseName) forControlEvents:UIControlEventTouchUpInside];
  943. [bottomView addSubview:_selectBtn];
  944. if ([_isHaveSub isEqualToString:@"YES"])
  945. {
  946. _selectBtn.userInteractionEnabled=YES;
  947. _selectBtn.frame=CGRectMake(self_width/4-20+40,5,15,12);
  948. }else{
  949. _selectBtn.userInteractionEnabled=NO;
  950. _selectBtn.frame=CGRectMake(self_width/4-20+40,5,0,0);
  951. }
  952. }
  953. }
  954. heightOfquanju=heightOfquanju+28;
  955. }
  956. /**
  957. 设置我的日程列表
  958. */
  959. - (void)setMyRCtableView
  960. { //105+64+40+10
  961. /**添加一个tableview*/
  962. _tableView=[[UITableView alloc]initWithFrame:CGRectMake(0,heightOfquanju,self_width,self_height-heightOfquanju+100) style:UITableViewStylePlain];
  963. _tableView.backgroundColor=[UIColor whiteColor];
  964. [_myScroll addSubview:_tableView];
  965. //_tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectZero];
  966. _tableView.delegate=self;
  967. _tableView.dataSource=self;
  968. _tableView.backgroundColor=[UIColor whiteColor];
  969. [self setExtraCellLineHidden:_tableView];
  970. }
  971. #pragma mark --tableView 数据展示
  972. - (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
  973. {
  974. return 1;
  975. }
  976. - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
  977. {
  978. if (_baifangBrr.count==0&_renwuBrr.count==0&_richengBrr.count==0&_baifangbgBrr.count==0&_baifangjhBrr.count==0)
  979. {
  980. return 1;
  981. }else{
  982. return _renwuBrr.count+_richengBrr.count+_baifangBrr.count+_baifangbgBrr.count+_baifangjhBrr.count;
  983. }
  984. }
  985. - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
  986. {
  987. tableView.separatorStyle=YES;
  988. //拜访
  989. if (indexPath.row<_baifangBrr.count)
  990. {
  991. JOOABFCell * cell=[JOOABFCell cellWithTableView:tableView withType:@"baifang"];
  992. cell.baifangModel=_baifangBrr[indexPath.row];
  993. if ([_POSTLabel isEqualToString:@"me"]&&![cell.baifangModel.status isEqualToString:@"已拜访"])
  994. {
  995. UIButton * btn=[UIButton buttonWithType:UIButtonTypeCustom];
  996. btn.frame=CGRectMake(self_width-70,30,54,23);
  997. NSDateFormatter * formatter=[[NSDateFormatter alloc]init];
  998. [formatter setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
  999. NSDate * date=[NSDate date];
  1000. NSString * newTime=[formatter stringFromDate:date];
  1001. if ([self compareDate:newTime withDate:cell.baifangModel.enddate]==-1)
  1002. {
  1003. [btn setImage:[UIImage imageNamed:@"crm_clientVisit_buVisit"] forState:UIControlStateNormal];
  1004. }else{
  1005. [btn setImage:[UIImage imageNamed:@"crm_clientVisit_goVisit"] forState:UIControlStateNormal];
  1006. //cell.baifangModel.status=@"待拜访";
  1007. }
  1008. btn.tag=10000+indexPath.row;
  1009. [btn addTarget:self action:@selector(goTOBaifang:) forControlEvents:UIControlEventTouchUpInside];
  1010. [cell.contentView addSubview:btn];
  1011. }
  1012. if ([_POSTLabel isEqualToString:@"other"]&&[cell.baifangModel.status isEqualToString:@"未拜访"])
  1013. {
  1014. [_dianjibaifangjh addObject:[NSString stringWithFormat:@"%ld",(long)indexPath.row]];
  1015. }
  1016. cell.userInteractionEnabled=YES;
  1017. return cell;
  1018. }
  1019. //任务
  1020. else if (indexPath.row-_baifangBrr.count<_renwuBrr.count)
  1021. {
  1022. JOOABFCell * cell=[JOOABFCell cellWithTableView:tableView withType:@"renwu"];
  1023. cell.renwuModel=_renwuBrr[indexPath.row-_baifangBrr.count];
  1024. [_dianjirenwu addObject:[NSString stringWithFormat:@"%ld",(long)indexPath.row]];
  1025. return cell;
  1026. }
  1027. //日程
  1028. else if (indexPath.row-_baifangBrr.count-_renwuBrr.count<_richengBrr.count)
  1029. {
  1030. JOOABFCell * cell=[JOOABFCell cellWithTableView:tableView withType:@"richeng"];
  1031. cell.renwuModel=_richengBrr[indexPath.row-_baifangBrr.count-_renwuBrr.count];
  1032. [_dianjiricheng addObject:[NSString stringWithFormat:@"%ld",(long)indexPath.row]];
  1033. return cell;
  1034. }
  1035. //拜访报告
  1036. else if (indexPath.row-_baifangBrr.count-_renwuBrr.count-_richengBrr.count<_baifangbgBrr.count)
  1037. {
  1038. // DLog(@"hh:%u",indexPath.row-_baifangBrr.count-_renwuBrr.count-_richengBrr.count);
  1039. JOOABFCell * cell=[JOOABFCell cellWithTableView:tableView withType:@"baifangbg"];
  1040. cell.baifbgModel=_baifangbgBrr[indexPath.row-_baifangBrr.count-_renwuBrr.count-_richengBrr.count];
  1041. [_dianjibaifangbg addObject:[NSString stringWithFormat:@"%ld",(long)indexPath.row]];
  1042. return cell;
  1043. }
  1044. //拜访计划
  1045. else if (indexPath.row-_baifangBrr.count-_renwuBrr.count-_richengBrr.count-_baifangbgBrr.count<_baifangjhBrr.count)
  1046. {
  1047. JOOABFCell * cell=[JOOABFCell cellWithTableView:tableView withType:@"baifangjh"];
  1048. JOOABFJHModel *model =_baifangjhBrr[indexPath.row-_baifangBrr.count-_renwuBrr.count-_richengBrr.count-_baifangbgBrr.count];
  1049. if ([_POSTLabel isEqualToString:@"other"]) {
  1050. model.iSMypeople = @"other";
  1051. }
  1052. cell.baifjhModel= model;
  1053. //添加名字和部门
  1054. if ([_POSTLabel isEqualToString:@"other"])
  1055. {
  1056. if ([cell.baifjhModel.mpd_outdate isEqualToString:@""]||cell.baifjhModel.mpd_outdate==nil)
  1057. {
  1058. cell.userInteractionEnabled=NO;
  1059. }else{
  1060. cell.userInteractionEnabled=YES;
  1061. }
  1062. }else{
  1063. if ([cell.baifjhModel.mpd_outdate isEqualToString:@""]||cell.baifjhModel.mpd_outdate==nil)
  1064. {
  1065. //cell.userInteractionEnabled=NO;
  1066. }
  1067. }
  1068. [_dianjiNewbaifangjh addObject:[NSString stringWithFormat:@"%ld",(long)indexPath.row]];
  1069. return cell;
  1070. }
  1071. //没有数据
  1072. if (_baifangBrr.count==0&_renwuBrr.count==0&_richengBrr.count==0&_baifangbgBrr.count==0&_baifangjhBrr.count==0)
  1073. {
  1074. static NSString * ID =@"JOBOR";
  1075. UITableViewCell * cell=[tableView dequeueReusableCellWithIdentifier:ID];
  1076. cell=[[UITableViewCell alloc]initWithStyle:UITableViewCellStyleSubtitle reuseIdentifier:ID];
  1077. tableView.separatorStyle=NO;
  1078. _tixingImagev1=[[UIImageView alloc]init];
  1079. if ([_POSTLabel isEqualToString:@"me"])
  1080. {
  1081. _tixingImagev1.image=[UIImage imageNamed:@"oa_shouye_tixing"];
  1082. _tixingImagev1.frame=CGRectMake(self_width/2-75,60,150,33);
  1083. }else if ([_POSTLabel isEqualToString:@"other"])
  1084. {
  1085. _tixingImagev1.image=[UIImage imageNamed:@"crm_all_noData"];
  1086. _tixingImagev1.frame=CGRectMake((self_width-69)/2,60,69,78);
  1087. }
  1088. cell.contentView.backgroundColor=[UIColor whiteColor];
  1089. [cell.contentView addSubview:_tixingImagev1];
  1090. cell.selectionStyle=UITableViewCellSelectionStyleNone;
  1091. return cell;
  1092. }
  1093. return nil;
  1094. }
  1095. - (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
  1096. {
  1097. return 60;
  1098. }
  1099. - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
  1100. {
  1101. if ([g_master isEqualToString:@"N_AJC"] || [g_master isEqualToString:@"N_SHYZ"]) {
  1102. return;//安捷诚、昱众不让点击
  1103. }
  1104. if ([_POSTLabel isEqualToString:@"other"])
  1105. {
  1106. JOindex=333;
  1107. }else{
  1108. JOindex=333;
  1109. }
  1110. JOOARWRCModel * model=[[JOOARWRCModel alloc]init];
  1111. for (int i=0; i<_dianjirenwu.count;i++)
  1112. {
  1113. if (indexPath.row ==[_dianjirenwu[i] integerValue])
  1114. {
  1115. model=_renwuBrr[indexPath.row-_baifangBrr.count];
  1116. HandleTaskViewController *handleTaskViewController=[[HandleTaskViewController alloc] init];
  1117. handleTaskViewController.hidesBottomBarWhenPushed=YES;
  1118. handleTaskViewController.launchPerson=model.recorder;
  1119. handleTaskViewController.acceptPerson=model.handler;
  1120. handleTaskViewController.taskName=model.name;
  1121. handleTaskViewController.status=model.status;
  1122. handleTaskViewController.startDate=model.startdate;
  1123. handleTaskViewController.endDate=model.enddate;
  1124. handleTaskViewController.describ=model.descriptions;
  1125. handleTaskViewController.taskcode=model.taskcode;
  1126. handleTaskViewController.ra_id=model.ra_id;
  1127. handleTaskViewController.taskid=model.ra_taskid;
  1128. handleTaskViewController.audioIdArrayStr=@"";
  1129. NSString *state=model.status;
  1130. // DLog(@"获取的状态又是什么啊%@",model.status);
  1131. if ([_POSTLabel isEqualToString:@"other"])//下属的任务
  1132. {
  1133. handleTaskViewController.type = HandleTaskTypeForFinish1;
  1134. }else{//自己的任务
  1135. if ([state isEqualToString:@"已启动"] || [state isEqualToString:@"已审核"] )
  1136. {
  1137. handleTaskViewController.type=HandleTaskTypeForStart1;//回复页面
  1138. }
  1139. else if([state isEqualToString:@"待确认"]){
  1140. handleTaskViewController.type=HandleTaskTypeForWaitVerify1;//待确认页面
  1141. }
  1142. if ([state isEqualToString:@"已完成"])
  1143. {
  1144. handleTaskViewController.type=HandleTaskTypeForFinish1;//不可回复页面
  1145. }
  1146. }
  1147. [self.navigationController pushViewController:handleTaskViewController
  1148. animated:NO];
  1149. break;
  1150. }
  1151. }
  1152. for (int i=0; i<_dianjiricheng.count;i++)
  1153. {
  1154. if (indexPath.row ==[_dianjiricheng[i] integerValue])
  1155. {
  1156. if (_richengBrr.count >= indexPath.row-_baifangBrr.count-_renwuBrr.count) {
  1157. model=_richengBrr[indexPath.row-_baifangBrr.count-_renwuBrr.count];
  1158. }else{
  1159. model = nil;
  1160. }
  1161. HandleTaskViewController *handleTaskViewController=[[HandleTaskViewController alloc] init];
  1162. handleTaskViewController.hidesBottomBarWhenPushed=YES;
  1163. handleTaskViewController.launchPerson=model.recorder;
  1164. handleTaskViewController.acceptPerson=model.handler;
  1165. handleTaskViewController.taskName=model.name;
  1166. handleTaskViewController.status=model.status;
  1167. handleTaskViewController.startDate=model.startdate;
  1168. handleTaskViewController.endDate=model.enddate;
  1169. handleTaskViewController.describ=model.descriptions;
  1170. handleTaskViewController.taskcode=model.taskcode;
  1171. handleTaskViewController.ra_id=model.ra_id;
  1172. handleTaskViewController.taskid=model.ra_taskid;
  1173. handleTaskViewController.audioIdArrayStr=@"";
  1174. NSString *state=model.status;
  1175. // DLog(@"获取的状态是什么呢%@",model.status);
  1176. if ([_POSTLabel isEqualToString:@"other"])//下属的任务
  1177. {
  1178. handleTaskViewController.type=HandleTaskTypeForFinish1;
  1179. }else{//自己的任务
  1180. if ([state isEqualToString:@"已启动"])
  1181. {
  1182. handleTaskViewController.type=HandleTaskTypeForStart1;//回复页面
  1183. }else if ([state isEqualToString:@"待确认"]){
  1184. handleTaskViewController.type=HandleTaskTypeForWaitVerify1;//待确认页面
  1185. }
  1186. if ([state isEqualToString:@"已完成"]||[state isEqualToString:@"已审核"])
  1187. {
  1188. handleTaskViewController.type=HandleTaskTypeForFinish1;//不可回复页面
  1189. }
  1190. }
  1191. [self.navigationController pushViewController:handleTaskViewController
  1192. animated:NO];
  1193. break;
  1194. }
  1195. }
  1196. for (int i=0; i<_dianjibaifangbg.count;i++)
  1197. {
  1198. if (indexPath.row ==[_dianjibaifangbg[i] integerValue])
  1199. {
  1200. JOOABFBGModel * model=_baifangbgBrr[indexPath.row-_baifangBrr.count-_renwuBrr.count-_richengBrr.count];
  1201. ClientReportVC * vc=[[ClientReportVC alloc]init];
  1202. vc.backId =model.id;
  1203. vc.backCode = model.vr_code;
  1204. vc.addressStr=model.address;
  1205. vc.companyName=model.custname;
  1206. vc.clientName=model.vr_cucontact;
  1207. vc.clientTel = model.vr_tel;
  1208. vc.DocumentStatus = model.vr_status;
  1209. vc.salemanName=model.visitman;
  1210. vc.shangjiStr=model.vr_nichestep;
  1211. vc.startTime=model.vr_visittime;
  1212. vc.endTime=model.vr_visitend;
  1213. vc.linkBusiness = model.vr_nichename;
  1214. vc.visitClass = model.vr_class;
  1215. //对返回html 数据做操作
  1216. NSString *str = [self flattenHTML:model.vr_detail];
  1217. vc.visitNeiRong=str;
  1218. vc.visitZhuTi=model.vr_title;
  1219. vc.baifangStatu=@"已拜访";
  1220. // ZXVisitReportViewController * vc = [[ZXVisitReportViewController alloc]init];
  1221. // vc.backId =model.id;
  1222. // vc.backCode = model.vr_code;
  1223. // vc.visitDate = model.vr_recorddate;
  1224. // vc.visitAddress=model.address;
  1225. // vc.visitCompany=model.custname;
  1226. // vc.visitPurpose=model.vr_title;
  1227. // vc.visitContent = model.vr_detail;
  1228. // vc.DocumentStatus = model.vr_status;
  1229. // vc.visitStartTime=model.vr_visittime;
  1230. // vc.visitEndTime=model.vr_visitend;
  1231. // vc.linkBusiness = model.vr_nichename;
  1232. // vc.VisitClass = model.vr_class;
  1233. //
  1234. // vc.baifangStatu=@"已拜访";
  1235. [self.navigationController pushViewController:vc animated:YES];
  1236. break;
  1237. /*
  1238. [B2BHTTPRequest Get:B2B_OP_CHANGESTATU pageSize:1 condition:mpd_id Completion:^(id ObjectData, NSError *error) {
  1239. if (error==nil)
  1240. {
  1241. DLog(@"%@外勤计划更改成功",mpd_id);
  1242. }
  1243. }];
  1244. */
  1245. }
  1246. }
  1247. //点击拜访计划-手建
  1248. for (int i=0;i<_dianjibaifangjh.count;i++)
  1249. {
  1250. if (indexPath.row ==[_dianjibaifangjh[i] integerValue])
  1251. {
  1252. /*
  1253. @property (nonatomic,copy) NSString * visitman;//对象名字
  1254. @property (nonatomic,copy) NSString * recordman;//发起人
  1255. @property (nonatomic,copy) NSString * startdate;//开始日期
  1256. @property (nonatomic,copy) NSString * client;//对象名字
  1257. @property (nonatomic,copy) NSString * remark;//备注
  1258. @property (nonatomic,copy) NSString * address;//拜访对象地址
  1259. @property (nonatomic,copy) NSString * visitdate;//拜访日期
  1260. @property (nonatomic,copy) NSString * status;//拜访状态
  1261. @property (nonatomic,copy) NSString * department;//对象部门
  1262. @property (nonatomic,copy) NSString * vp_id;//拜访ID
  1263. @property (nonatomic,copy) NSString * enddate;//结束日期
  1264. @property (nonatomic,copy) NSString * vp_contact;
  1265. @property (nonatomic,copy) NSString * vp_visitmancode;//拜访人编号
  1266. @property (nonatomic,copy) NSString * vp_custcode;
  1267. @property (nonatomic,copy) NSString * nichestep;//商机阶段
  1268. */
  1269. JOOABFModel * model=_baifangBrr[indexPath.row];
  1270. //DLog(@"%@ %@ %@ %@ %@",model.visitman,model.recordman,model.client,model.department,model.vp_visitmancode);
  1271. ClientReportVC * vc=[[ClientReportVC alloc]init];
  1272. vc.addressStr=model.address;
  1273. vc.companyName=model.client;
  1274. vc.clientName=model.recordman;//这里找不到名字
  1275. vc.salemanName=@"";
  1276. vc.shangjiStr=model.nichestep;
  1277. vc.startTime=model.startdate;
  1278. vc.endTime=model.enddate;
  1279. vc.visitNeiRong=@"";
  1280. vc.visitZhuTi=model.remark;
  1281. vc.baifangStatu=@"已拜访";
  1282. [self.navigationController pushViewController:vc animated:YES];
  1283. break;
  1284. }
  1285. }
  1286. //点击拜访计划-自动外勤
  1287. for (int i=0;i<_dianjiNewbaifangjh.count;i++)
  1288. {
  1289. if (indexPath.row ==[_dianjiNewbaifangjh[i] integerValue])
  1290. {
  1291. JOOABFJHModel * model=_baifangjhBrr[indexPath.row-_baifangBrr.count-_renwuBrr.count-_richengBrr.count-_baifangbgBrr.count];
  1292. if ([model.mpd_outdate isEqualToString:@""]||model.mpd_outdate==nil || [model.mpd_status isEqualToString:@""])
  1293. {
  1294. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_work_OA_Title") ToNavi:self.navigationController withColor:nil];
  1295. return;
  1296. }
  1297. // @property(nonatomic,strong)NSString * backId;//带过来的Id
  1298. // @property(nonatomic,strong)NSString * backCode;//带过来的Code
  1299. //
  1300. // @property(nonatomic,strong)NSString * visitStartTime;//开始时间
  1301. // @property(nonatomic,strong)NSString * visitEndTime;//结束时间
  1302. // @property(nonatomic,strong)NSString * visitDate;//拜访(记录)日期
  1303. // @property(nonatomic,strong)NSString * visitCompany;//拜访公司
  1304. // @property(nonatomic,strong)NSString * visitAddress;//拜访地址
  1305. // @property(nonatomic,strong)NSString * visitPurpose;//拜访目的
  1306. // @property(nonatomic,strong)NSString * visitContent;//拜访内容
  1307. // @property(nonatomic,strong)NSString * linkBusiness;//关联商机
  1308. // @property(nonatomic,strong)NSString * VisitClass;//拜访类型
  1309. // @property(nonatomic,strong)NSString * baifangStatu;//拜访状态
  1310. //
  1311. // @property(nonatomic,strong)NSString * DocumentStatus;//单据状态
  1312. ZXVisitReportViewController * vc= [[ZXVisitReportViewController alloc]init];
  1313. vc.visitAddress=model.mpd_address;
  1314. vc.visitCompany=model.mpd_company;
  1315. vc.DocumentStatus= @"签退";
  1316. vc.visitStartTime=model.mpd_actdate;
  1317. vc.visitEndTime=model.mpd_outdate;
  1318. vc.visitDate= model.mpd_actdate;
  1319. vc.visitPurpose=model.mpd_remark;
  1320. vc.backId=model.mpd_id;
  1321. vc.baifangStatu=model.mpd_status;
  1322. vc.submitSuccess = ^(BOOL sucess) {
  1323. if (sucess) {
  1324. if ([self.selectedStr isEqualToString:[self getTodayDate]]) {
  1325. [self getCurrentMonthData];
  1326. }else{
  1327. [_baifangjhBrr removeObject:model];
  1328. [_tableView reloadData];
  1329. }
  1330. }
  1331. };
  1332. if ([_POSTLabel isEqualToString:@"other"])
  1333. {
  1334. vc.baifangStatu=@"已拜访";
  1335. }
  1336. [self.navigationController pushViewController:vc animated:YES];
  1337. break;
  1338. }
  1339. }
  1340. }
  1341. /**去拜访*/
  1342. - (void)goTOBaifang:(UIButton *)btn
  1343. {
  1344. JOindex=333;
  1345. JOOABFModel * model=_baifangBrr[btn.tag-10000];
  1346. ClientReportVC * vc=[[ClientReportVC alloc]init];
  1347. vc.addressStr=model.address;
  1348. vc.companyName=model.client;
  1349. vc.clientName=model.vp_contact;
  1350. vc.salemanName=model.recordman;
  1351. vc.salemanDepart=model.department;
  1352. vc.shangjiStr=model.nichestep;
  1353. //vc.vrcuuuCode=model.vp_custcode;
  1354. vc.vpid=model.vp_id;
  1355. //vc.visitNeiRong=model.remark;
  1356. vc.endTime=model.enddate;
  1357. vc.startTime=model.startdate;
  1358. vc.baifangStatu=model.status;
  1359. vc.visitZhuTi=model.remark;
  1360. vc.vrcuuuCode=model.vp_custcode;
  1361. [self.navigationController pushViewController:vc animated:YES];
  1362. }
  1363. /**
  1364. 点击选择日历contentView
  1365. */
  1366. - (void)calendarDidDateSelected:(LBCalendar *)calendar date:(NSDate *)date
  1367. {
  1368. [self removeAlldate];
  1369. myDate=date;
  1370. //1,通知改变
  1371. [[NSNotificationCenter defaultCenter] postNotificationName:@"DaySelected" object:date];
  1372. //2,切换数据
  1373. NSDateFormatter * formatte=[[NSDateFormatter alloc]init];
  1374. [formatte setDateFormat:@"yyyy-MM-dd"];
  1375. NSString * dateStr=[formatte stringFromDate:date];
  1376. [self selectDataFromyuan:dateStr];
  1377. self.selectedStr = [dateStr mutableCopy];
  1378. }
  1379. /**
  1380. 切换数据一些逻辑处理都在这里了
  1381. */
  1382. - (void)selectDataFromyuan:(NSString *)dateStr
  1383. {
  1384. [_renwuBrr removeAllObjects];
  1385. [_richengBrr removeAllObjects];
  1386. [_baifangBrr removeAllObjects];
  1387. [_baifangbgBrr removeAllObjects];
  1388. [_baifangjhBrr removeAllObjects];
  1389. [_statuArray removeAllObjects];
  1390. [_statuArray removeAllObjects];
  1391. for (int i=0; i<_timeArray.count; i++)
  1392. {
  1393. //
  1394. NSString * str=[NSString stringWithFormat:@"%@",_timeArray[i]];
  1395. if (str==nil || [str isEqualToString:@""])
  1396. {
  1397. return ;
  1398. }else{
  1399. str=[str substringToIndex:10];
  1400. }
  1401. //DLog(@"切多少了:%@",str);
  1402. if ([dateStr isEqualToString:str])
  1403. {
  1404. for (int i=0; i<_renwuArr.count; i++)
  1405. {
  1406. JOOARWRCModel * model=_renwuArr[i];
  1407. NSString * str=model.startdate;
  1408. str=[str substringToIndex:10];
  1409. if ([str isEqualToString:dateStr])
  1410. {
  1411. [_renwuBrr addObject:_renwuArr[i]];
  1412. [_statuArray addObject:model.status];
  1413. }
  1414. }
  1415. for (int i=0; i<_richengArr.count; i++)
  1416. {
  1417. JOOARWRCModel * model=_richengArr[i];
  1418. NSString * str=model.startdate;
  1419. str=[str substringToIndex:10];
  1420. if ([str isEqualToString:dateStr])
  1421. {
  1422. [_richengBrr addObject:_richengArr[i]];
  1423. [_statuArray addObject:model.status];
  1424. }
  1425. }
  1426. for (int i=0; i<_baifangArr.count;i++)
  1427. {
  1428. JOOABFModel * model=_baifangArr[i];
  1429. NSString * str=model.startdate;
  1430. str=[str substringToIndex:10];
  1431. if ([str isEqualToString:dateStr])
  1432. {
  1433. [_baifangBrr addObject:_baifangArr[i]];
  1434. [_statuArray addObject:model.status];
  1435. }
  1436. }
  1437. for (int i=0;i<_baifangbgArr.count; i++)
  1438. {
  1439. JOOABFBGModel * model=_baifangbgArr[i];
  1440. NSString * str=model.vr_recorddate;
  1441. if (str.length<10)
  1442. {
  1443. str=model.vr_visitend;
  1444. }else
  1445. str=[str substringToIndex:10];
  1446. if ([str isEqualToString:dateStr])
  1447. {
  1448. [_baifangbgBrr addObject:_baifangbgArr[i]];
  1449. [_statuArray addObject:@"已拜访"];
  1450. }
  1451. }
  1452. for (int i=0; i<_baifangjhArr.count; i++)
  1453. {
  1454. JOOABFJHModel * model=_baifangjhArr[i];
  1455. NSString * str=model.mpd_arrivedate;
  1456. //DLog(@"拜访计划%@",str);
  1457. if (![str isEqualToString:@""])
  1458. {
  1459. str=[str substringToIndex:10];
  1460. }
  1461. if ([str isEqualToString:dateStr])
  1462. {
  1463. DLog(@"%@-- %@",model.mpd_kind,model.mpd_status);
  1464. [_baifangjhBrr addObject:_baifangjhArr[i]];
  1465. if ([model.mpd_actdate isEqualToString:@""])
  1466. {
  1467. [_statuArray addObject:@"未拜访"];
  1468. }else if([model.mpd_outdate isEqualToString:@""]&&![model.mpd_actdate isEqualToString:@""])
  1469. {
  1470. [_statuArray addObject:@"拜访中"];
  1471. }else if([model.mpd_kind isEqualToString:@"全天"] && ![self nowIsAfterThanSeventeen] && ![model.mpd_status isEqualToString:@"签退"]){
  1472. [_statuArray addObject:@"拜访中"];
  1473. }else if([self compareDateWith:dateStr] < 0 && model.mpd_outdate.length > 0 && [model.mpd_kind isEqualToString:@"全天"]){
  1474. [_statuArray addObject:@"已拜访"];
  1475. }else if(![model.mpd_status isEqualToString:@"签退"] && [model.mpd_kind isEqualToString:@"半天"]){
  1476. [_statuArray addObject:@"拜访中"];
  1477. }else{
  1478. [_statuArray addObject:@"已拜访"];
  1479. }
  1480. }
  1481. }
  1482. int count=0;
  1483. int num=(int)_statuArray.count;
  1484. for (int i=0; i<num; i++)
  1485. {
  1486. if ([_statuArray[i] isEqualToString:@"已完成"]||[_statuArray[i] isEqualToString:@"已拜访"])
  1487. {
  1488. count++;
  1489. }
  1490. }
  1491. _label001.text=[NSString stringWithFormat:@"%d",num];
  1492. _label002.text=[NSString stringWithFormat:@"%d",count];
  1493. _label003.text=[NSString stringWithFormat:@"%u",num-count];
  1494. // DLog(@"这是下面要展示的:%@ %@ %@",_renwuBrr,_richengBrr,_baifangBrr);
  1495. [_tableView reloadData];
  1496. return ;
  1497. }
  1498. }
  1499. [self removeAlldate];
  1500. }
  1501. -(BOOL)nowIsAfterThanSeventeen{
  1502. NSDateFormatter *dateFor = [NSDateFormatter new];
  1503. [dateFor setDateFormat:@"yyyy-MM-dd HHmmss"];
  1504. NSDate *nowDate = [NSDate date];
  1505. NSString *nowStr = [dateFor stringFromDate:nowDate];
  1506. NSInteger nowInt = [[nowStr substringFromIndex:nowStr.length - 6] integerValue];
  1507. if (nowInt >= 170000) {
  1508. return YES;
  1509. }else{
  1510. return NO;
  1511. }
  1512. }
  1513. -(int)compareDateWith:(NSString *)dateOne{
  1514. NSDateFormatter *dateFor = [NSDateFormatter new];
  1515. [dateFor setDateFormat:@"yyyyMMdd"];
  1516. NSDate *today = [NSDate date];
  1517. NSString *todayStr = [dateFor stringFromDate:today];
  1518. NSString *newStr = [dateOne substringToIndex:10];
  1519. newStr = [newStr stringByReplacingOccurrencesOfString:@"-" withString:@""];
  1520. return ([newStr integerValue] - [todayStr integerValue]);
  1521. }
  1522. /**
  1523. 监听改变年月的值,滑动日历
  1524. */
  1525. - (void)updateym:(NSNotification *)notification
  1526. {
  1527. //1,请求
  1528. NSString * str=[NSString stringWithFormat:@"%@",[notification object]];
  1529. [self getAllDateFromServer:str withLabel:_POSTLabel];
  1530. //2,日期
  1531. NSString * str1=[str substringToIndex:4];
  1532. NSString * str2=[str substringFromIndex:4];
  1533. str=[NSString stringWithFormat:@"%@年%@月",str1,str2];
  1534. _dateDetailView.dayLabel1.text = str;
  1535. NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
  1536. NSTimeZone *timeZone = [NSTimeZone localTimeZone];
  1537. [formatter setTimeZone:timeZone];
  1538. [formatter setDateFormat : @"yyyy-MM-dd"];
  1539. NSString *stringTime;
  1540. NSString *selectTime = [[NSUserDefaults standardUserDefaults] objectForKey:@"calendarSecletTIME"];
  1541. if (selectTime.length > 0) {
  1542. NSArray *arr = [selectTime componentsSeparatedByString:@"-"];
  1543. if ([arr[1] isEqualToString:str2]) {
  1544. stringTime = selectTime;
  1545. }else{
  1546. stringTime =[NSString stringWithFormat:@"%@-%@-01",str1,str2];
  1547. }
  1548. }else{
  1549. stringTime =[NSString stringWithFormat:@"%@-%@-01",str1,str2];
  1550. }
  1551. NSDate * date = [formatter dateFromString:stringTime];
  1552. [self calendarDidDateSelected:self.calendar date:date];
  1553. }
  1554. /**
  1555. 返回哪些需要显示星星//此方法一进来就会调用,切换月份的时候也会调用
  1556. */
  1557. - (BOOL)calendarHaveEvent:(LBCalendar *)calendar date:(NSDate *)dates
  1558. {
  1559. NSDateFormatter *formatter = [[NSDateFormatter alloc] init];
  1560. formatter.dateFormat = @"yyyy-MM-dd";
  1561. NSString *string = [formatter stringFromDate:dates];
  1562. NSString * string2=[_dateDetailView.dayLabel1.text substringWithRange:NSMakeRange(5,2 )];
  1563. if ([[string substringWithRange:NSMakeRange(5,2)] isEqualToString:string2])
  1564. {
  1565. for (int i=0; i<_timeArray.count; i++)
  1566. {
  1567. //DLog(@"是开始时间吗%@",_timeArray[i]);
  1568. NSString * str=[NSString stringWithFormat:@"%@",_timeArray[i]];
  1569. if (str==nil || [str isEqualToString:@""])
  1570. {
  1571. return NO;
  1572. }
  1573. str=[str substringToIndex:10];
  1574. //DLog(@"切多少了:%@",str);
  1575. if ([string isEqualToString:str])
  1576. {
  1577. return YES;
  1578. }
  1579. }
  1580. }{
  1581. return NO;
  1582. }
  1583. return NO;
  1584. }
  1585. /**
  1586. 此方法是为了满足删选
  1587. */
  1588. - (void)getWodexiashuDataFromServer
  1589. {
  1590. [self removeAlldate];
  1591. UASNetworkManager *manager = [UASNetworkManager shareManager];
  1592. //1,ip
  1593. NSString *ip=[UASUserInfo shareManager].urlIp;
  1594. NSString *sessionId=[[NSUserDefaults standardUserDefaults] stringForKey:@"sessionId"];
  1595. NSDate *senddate = [NSDate date];
  1596. NSDateFormatter* f=[[NSDateFormatter alloc]init];
  1597. f.dateFormat = @"yyyyMM";
  1598. NSString* s = [f stringFromDate:senddate];
  1599. //3,员工ID
  1600. NSString *emcode = [[NSUserDefaults standardUserDefaults] stringForKey:@"erpaccount"];
  1601. //拼接sessionID
  1602. NSString *paramSessionId=[@"" stringByAppendingFormat:@"JSESSIONID=%@",sessionId];
  1603. //设置cookie
  1604. [manager.requestSerializer setValue:paramSessionId forHTTPHeaderField:@"Cookie"];
  1605. NSString *url = [NSString stringWithFormat:@"%@mobile/crm/gettaskscheduleandvisitplanmsg.action?emcode=%@&date=%@&sessionId=%@",ip,emcode,s,sessionId];
  1606. url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  1607. //请求之前 清空数组
  1608. [_renwuBrr removeAllObjects];
  1609. [_richengBrr removeAllObjects];
  1610. [_baifangBrr removeAllObjects];
  1611. [_baifangbgBrr removeAllObjects];
  1612. [_baifangjhBrr removeAllObjects];
  1613. [_statuArray removeAllObjects];
  1614. [_timeArray removeAllObjects];
  1615. [_renwuArr removeAllObjects];
  1616. [_richengArr removeAllObjects];
  1617. [_baifangArr removeAllObjects];
  1618. [_baifangbgArr removeAllObjects];
  1619. [_baifangjhArr removeAllObjects];
  1620. [manager request:url method:POST parameters:nil progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
  1621. NSData *data=responseObject;
  1622. NSDictionary *rootDic=[NSDictionary changeType:data];
  1623. if ([[rootDic allKeys] containsObject:@"sessionId"]==YES)
  1624. {
  1625. NSString * sessionId=[NSString stringWithFormat:@"%@",[rootDic objectForKey:@"sessionId"]];
  1626. [[NSUserDefaults standardUserDefaults] setObject:sessionId forKey:@"sessionId"];
  1627. }
  1628. //1,中转数组
  1629. NSMutableArray * arr1=[[NSMutableArray alloc]init];
  1630. NSMutableArray * arr2=[[NSMutableArray alloc]init];
  1631. NSMutableArray * arr3=[[NSMutableArray alloc]init];
  1632. NSMutableArray * arr4=[[NSMutableArray alloc]init];
  1633. NSMutableArray * arr5=[[NSMutableArray alloc]init];
  1634. //2,中转字典
  1635. NSDictionary * dictMe=[[NSDictionary alloc]init];
  1636. dictMe=[rootDic objectForKey:@"other"];
  1637. arr1=[dictMe objectForKey:@"task"];
  1638. arr2=[dictMe objectForKey:@"schedule"];
  1639. arr3=[dictMe objectForKey:@"visitPlan"];
  1640. arr4=[dictMe objectForKey:@"visitRecord"];
  1641. arr5=[dictMe objectForKey:@"outplan"];
  1642. //3,分类和加上一个月的所有时间
  1643. for (int i=0; i<arr1.count; i++)
  1644. {
  1645. JOOARWRCModel * renwuModel=[JOOARWRCModel mj_objectWithKeyValues:arr1[i]];
  1646. [_timeArray addObject:renwuModel.startdate];
  1647. [_renwuArr addObject:renwuModel];
  1648. }
  1649. for (int i=0; i<arr2.count; i++)
  1650. {
  1651. JOOARWRCModel * richengModel=[JOOARWRCModel mj_objectWithKeyValues:arr2[i]];
  1652. [_timeArray addObject:richengModel.startdate];
  1653. [_richengArr addObject:richengModel];
  1654. }
  1655. for (int i=0; i<arr3.count; i++)
  1656. {
  1657. JOOABFModel * baifangModel=[JOOABFModel mj_objectWithKeyValues:arr3[i]];
  1658. [_timeArray addObject:baifangModel.startdate];
  1659. [_baifangArr addObject:baifangModel];
  1660. }
  1661. for (int i=0; i<arr4.count;i++)
  1662. {
  1663. JOOABFBGModel * baifbgModel=[JOOABFBGModel mj_objectWithKeyValues:arr4[i]];
  1664. [_timeArray addObject:baifbgModel.vr_recorddate];
  1665. [_baifangbgArr addObject:baifbgModel];
  1666. }
  1667. for (int i=0; i<arr5.count;i++)
  1668. {
  1669. JOOABFJHModel * baifangjhModel=[JOOABFJHModel mj_objectWithKeyValues:arr5[i]];
  1670. if (![baifangjhModel.mpd_status isEqualToString:@"已完成"])
  1671. {
  1672. [_timeArray addObject:baifangjhModel.mpd_arrivedate];
  1673. [_baifangjhArr addObject:baifangjhModel];
  1674. }
  1675. // [_timeArray addObject:baifangjhModel.mpd_arrivedate];
  1676. // [_baifangjhArr addObject:baifangjhModel];
  1677. }
  1678. } failure:^(NSURLSessionDataTask *task, NSError *error) {
  1679. if (error.code==-1009)
  1680. {
  1681. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_networkDisconnect") ToNavi:self.navigationController withColor:nil];
  1682. }else if (error.code==-1001)
  1683. {
  1684. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_networkTimeOut") ToNavi:self.navigationController withColor:nil];
  1685. }
  1686. else{
  1687. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_custom_getDataFaild") ToNavi:self.navigationController withColor:nil];
  1688. }
  1689. }];
  1690. }
  1691. #pragma mark -- 以下为点击事件
  1692. //选择下属
  1693. - (void)chooseName
  1694. {
  1695. JOindex=666;
  1696. //点击跳转页面之前,或者返回来之后清空之前的数组
  1697. [self getWodexiashuDataFromServer];
  1698. MySubordinateVC * vc=[[MySubordinateVC alloc]init];
  1699. vc.block = ^(NSArray *dataArr){
  1700. //DLog(@"返回的是什么鬼啊:%@",dataArr);
  1701. NSString * thisName=[dataArr[0] objectForKey:@"em_name"];
  1702. //DLog(@"这个名字是谁%@",thisName);
  1703. NSMutableArray * arr=[[NSMutableArray alloc]init];
  1704. NSMutableArray * brr=[[NSMutableArray alloc]init];
  1705. NSMutableArray * crr=[[NSMutableArray alloc]init];
  1706. NSMutableArray * drr=[[NSMutableArray alloc]init];
  1707. [_timeArray removeAllObjects];
  1708. for (int i=0; i<4; i++)
  1709. {
  1710. if (i==0)
  1711. {
  1712. for (int j=0; j<_renwuArr.count;j++)
  1713. {
  1714. JOOARWRCModel * model=_renwuArr[j];
  1715. // DLog(@"任务%@",model.handler);
  1716. NSArray * names=[model.handler componentsSeparatedByString:@","];
  1717. // DLog(@"任务的%@",names);
  1718. for (int k=0; k<names.count; k++)
  1719. {
  1720. if ([names[k] isEqualToString:thisName])
  1721. {
  1722. [arr addObject:_renwuArr[j]];
  1723. [_timeArray addObject:model.startdate];
  1724. }
  1725. }
  1726. }
  1727. }
  1728. if (i==1)
  1729. {
  1730. for (int j=0; j<_richengArr.count;j++)
  1731. {
  1732. JOOARWRCModel * model=_richengArr[j];
  1733. //DLog(@"日程%@",model.handler);
  1734. NSArray * names=[model.handler componentsSeparatedByString:@","];
  1735. //DLog(@"日程的%@",names);
  1736. for (int k=0; k<names.count; k++)
  1737. {
  1738. if ([names[k] isEqualToString:thisName])
  1739. {
  1740. [brr addObject:_richengArr[j]];
  1741. [_timeArray addObject:model.startdate];
  1742. }
  1743. }
  1744. }
  1745. }
  1746. if (i==2)
  1747. {
  1748. for (int j=0; j<_baifangArr.count;j++)
  1749. {
  1750. JOOABFModel * model=_baifangArr[j];
  1751. //DLog(@"拜访%@",model.visitman);
  1752. NSArray * names=[model.visitman componentsSeparatedByString:@","];
  1753. //DLog(@"日程的%@",names);
  1754. for (int k=0; k<names.count; k++)
  1755. {
  1756. if ([names[k] isEqualToString:thisName])
  1757. {
  1758. [crr addObject:_baifangArr[j]];
  1759. [_timeArray addObject:model.startdate];
  1760. }
  1761. }
  1762. }
  1763. }
  1764. //拜访计划
  1765. if (i==3)
  1766. {
  1767. //_baifangjhArr
  1768. for (int j=0; j<_baifangjhArr.count;j++)
  1769. {
  1770. JOOABFJHModel * model=_baifangjhArr[j];
  1771. NSArray * names=[model.mp_recorder componentsSeparatedByString:@","];
  1772. for (int k=0; k<names.count; k++)
  1773. {
  1774. if ([names[k] isEqualToString:thisName])
  1775. {
  1776. [drr addObject:_baifangjhArr[j]];
  1777. [_timeArray addObject:model.mpd_arrivedate];
  1778. }
  1779. }
  1780. }
  1781. }
  1782. }
  1783. _renwuArr=[NSMutableArray arrayWithArray:arr];
  1784. _richengArr=[NSMutableArray arrayWithArray:brr];
  1785. _baifangArr=[NSMutableArray arrayWithArray:crr];
  1786. _baifangjhArr=[NSMutableArray arrayWithArray:drr];
  1787. //DLog(@"有数据吗%@ %@ %@",_renwuArr,_richengArr,_baifangArr);
  1788. [self.calendar reloadData];
  1789. //默认点击今天
  1790. [self calendarDidDateSelected:self.calendar date:[NSDate date]];
  1791. [_tableView reloadData];
  1792. };
  1793. [self.navigationController pushViewController:vc animated:YES];
  1794. }
  1795. /**
  1796. 页面跳转
  1797. */
  1798. - (void)pushToYEWU:(JOButtonView *)btn
  1799. {
  1800. JOindex=666;
  1801. [[NSNotificationCenter defaultCenter] postNotificationName:@"hideBottomView" object:nil];
  1802. //打卡签到
  1803. if (btn.tag==30000)
  1804. {
  1805. temp1Btn.redImage.hidden=YES;
  1806. // JOPunchCardViewController * vc=[[JOPunchCardViewController alloc]init];
  1807. // [self.navigationController pushViewController:vc animated:YES];
  1808. #pragma mark -- 新版本的打卡签到
  1809. JLPunchCardViewController * vc=[[JLPunchCardViewController alloc]init];
  1810. [[NSUserDefaults standardUserDefaults] setObject:@"click" forKey:@"OANewGuidePunch1"];
  1811. [self.navigationController pushViewController:vc animated:YES];
  1812. }
  1813. //外勤签到
  1814. else if (btn.tag==30001)
  1815. {
  1816. //btn.redImage.hidden=YES;
  1817. temp2Btn.redImage.hidden=YES;
  1818. [[NSUserDefaults standardUserDefaults] setObject:@"click" forKey:@"OANewGuidePunch2"];
  1819. JOOutWorkPlanVC * ovc = [[JOOutWorkPlanVC alloc]init];
  1820. JOWQViewController *vc = [[JOWQViewController alloc]init];
  1821. NSUserDefaults * user=[NSUserDefaults standardUserDefaults];
  1822. NSString * str=[user objectForKey:@"OutPlanIsOpenOrClose"];
  1823. if ([str isEqualToString:@"1"])
  1824. {
  1825. [self.navigationController pushViewController:ovc animated:YES];
  1826. JOindex=333;
  1827. }
  1828. else{
  1829. [self.navigationController pushViewController:vc animated:YES];
  1830. }
  1831. [[NSNotificationCenter defaultCenter] postNotificationName:@"workVCRedPoint" object:nil];
  1832. }
  1833. //工作日报
  1834. else if (btn.tag==30002)
  1835. {
  1836. //工作汇报
  1837. LYYWorkreportMainVC *vc = [[LYYWorkreportMainVC alloc] init];
  1838. //新工作日报
  1839. //调到工作日报提交界面
  1840. // JOComposeViewController *vc = [[JOComposeViewController alloc] init];
  1841. //老工作日报
  1842. // JORZtextViewController * vc=[[JORZtextViewController alloc]init];
  1843. [self.navigationController pushViewController:vc animated:YES];
  1844. }
  1845. //收起打开按钮
  1846. else if (btn.tag==30003)
  1847. {
  1848. [_myScroll bringSubviewToFront:_mainView];
  1849. if (_mainView.height==BTNWIDTH01*2)//开
  1850. {
  1851. _myScroll.scrollEnabled=NO;
  1852. CGFloat duration = 0.1; // 动画的时间
  1853. [UIView animateWithDuration:duration animations:^{
  1854. _mainView.size=CGSizeMake(self_width,BTNWIDTH01*3);
  1855. // _closeAndOpen.imgView.transform=CGAffineTransformRotate(_closeAndOpen.transform, M_PI);
  1856. _closeAndOpen.lab.text=Localized(@"UU_work_OA_DailyWork_Stop");
  1857. _closeAndOpen.imgView.transform = CGAffineTransformMakeRotation(180 *M_PI / 180.0);
  1858. } completion:^(BOOL finished) {
  1859. self.subView.hidden=NO;
  1860. _addBtn001.hidden=NO;
  1861. _addBtn002.hidden=NO;
  1862. _addBtn003.hidden = NO;
  1863. }];
  1864. }else{//关
  1865. self.subView.hidden=YES;
  1866. _myScroll.scrollEnabled=YES;
  1867. _addBtn001.hidden=YES;
  1868. _addBtn002.hidden=YES;
  1869. _addBtn003.hidden = YES;
  1870. CGFloat duration = 0.1; // 动画的时间
  1871. [UIView animateWithDuration:duration animations:^{
  1872. _mainView.size=CGSizeMake(self_width,BTNWIDTH01*2);
  1873. // _closeAndOpen.imgView.transform=CGAffineTransformRotate(_closeAndOpen.transform,-1*M_PI);
  1874. _closeAndOpen.lab.text=Localized(@"UU_work_OA_DailyWork_More");
  1875. _closeAndOpen.imgView.transform = CGAffineTransformMakeRotation(0*M_PI/180);
  1876. } completion:^(BOOL finished) {
  1877. }];
  1878. }
  1879. }
  1880. //会议
  1881. else if (btn.tag==30004)
  1882. {
  1883. // JOHYTableViewController * vc=[[JOHYTableViewController alloc]init];
  1884. // [self.navigationController pushViewController:vc animated:YES];
  1885. // MyUASViewController * uasVC =[[MyUASViewController alloc]init];
  1886. // [self.navigationController pushViewController:uasVC animated:YES];
  1887. // B2BChangeViewController * bvc = [[B2BChangeViewController alloc]init];
  1888. // [self.navigationController pushViewController:bvc animated:YES];
  1889. JONewMeetingTableViewController * jvc = [[JONewMeetingTableViewController alloc]init];
  1890. [self.navigationController pushViewController:jvc animated:YES];
  1891. }
  1892. else if (btn.tag==30005)
  1893. {
  1894. DocumentVC *a = [[DocumentVC alloc]init];
  1895. a.nameStr = @"请假申请";
  1896. a.caller = @"Ask4Leave";
  1897. [self.navigationController pushViewController:a animated:YES];
  1898. }
  1899. else if (btn.tag==30006)
  1900. {
  1901. [self getDocumentCallerWithTitle:@"出差申请" withCaller:@"FeePlease!CCSQ"];
  1902. }else if (btn.tag==30007)
  1903. {
  1904. [self getDocumentCallerWithTitle:@"加班申请" withCaller:@"Workovertime"];
  1905. }else if (btn.tag==30008)
  1906. {
  1907. DocumentVC *a = [[DocumentVC alloc]init];
  1908. a.nameStr = @"特殊考勤";
  1909. a.caller = @"SpeAttendance";
  1910. [self.navigationController pushViewController:a animated:YES];
  1911. }else if (btn.tag==30009)
  1912. {
  1913. // [[NSUserDefaults standardUserDefaults] setObject:@"click" forKey:@"OANewGuide"];
  1914. //
  1915. // _addBtn002.redImage.hidden=YES;
  1916. //
  1917. // [[NSNotificationCenter defaultCenter]postNotificationName:@"OANewGuide" object:nil];
  1918. temp3Btn.redImage.hidden=YES;
  1919. [[NSUserDefaults standardUserDefaults] setObject:@"click" forKey:@"OANewGuidePunch3"];
  1920. JOKaoQCountVC * vc=[[JOKaoQCountVC alloc]init];
  1921. [self.navigationController pushViewController:vc animated:YES];
  1922. }else if (btn.tag == 30010)
  1923. {
  1924. temp4Btn.redImage.hidden = YES;
  1925. [[NSUserDefaults standardUserDefaults] setObject:@"click" forKey:@"OANewGuidePunch4"];
  1926. LYYReimbursementVC *vc = [[LYYReimbursementVC alloc] init];
  1927. vc.mobile_id = @"";
  1928. vc.title = @"费用报销单";
  1929. [self.navigationController pushViewController:vc animated:YES];
  1930. }
  1931. }
  1932. /**
  1933. 导航栏加号按钮显示菜单
  1934. */
  1935. - (void)showBtn:(UIButton *)sender
  1936. {
  1937. NSArray *menuItems =
  1938. @[
  1939. [KxMenuItem menuItem:Localized(@"UU_work_OA_CreateTask")
  1940. image:nil
  1941. target:self
  1942. action:@selector(addMission)],
  1943. [KxMenuItem menuItem:Localized(@"UU_work_OA_CreateSchedule")
  1944. image:nil
  1945. target:self
  1946. action:@selector(addDate)],
  1947. // [KxMenuItem menuItem:@"新增拜访计划"
  1948. // image:nil
  1949. // target:self
  1950. // action:@selector(addVisitPlan)],
  1951. [KxMenuItem menuItem:Localized(@"UU_work_CRM_buildVisitReport")
  1952. image:nil
  1953. target:self
  1954. action:@selector(addVisitReport)],
  1955. ];
  1956. if ([g_master isEqualToString:@"N_AJC"] || [g_master isEqualToString:@"N_SHYZ"]) {
  1957. menuItems =
  1958. @[
  1959. [KxMenuItem menuItem:Localized(@"UU_work_OA_CreateTask")
  1960. image:nil
  1961. target:self
  1962. action:@selector(addMission)],
  1963. [KxMenuItem menuItem:Localized(@"UU_work_OA_CreateSchedule")
  1964. image:nil
  1965. target:self
  1966. action:@selector(addDate)]];
  1967. }
  1968. NSMutableArray *Arrr11 = [NSMutableArray arrayWithArray:menuItems];
  1969. if (SuoLingDataArr.count != 0) {
  1970. for (NSInteger i = 0; i < SuoLingDataArr.count; i ++) {
  1971. switch (i) {
  1972. case 0:
  1973. [Arrr11 addObject: [KxMenuItem menuItem:FORMAT(@"%@",SuoLingDataArr[i][@"MM_NAME"])
  1974. image:nil
  1975. target:self
  1976. action:@selector(addSuoLingDanjv)]];
  1977. break;
  1978. case 1:
  1979. [Arrr11 addObject: [KxMenuItem menuItem:FORMAT(@"%@",SuoLingDataArr[i][@"MM_NAME"])
  1980. image:nil
  1981. target:self
  1982. action:@selector(addSuoLingDanjv1)]];
  1983. break;
  1984. case 2:
  1985. [Arrr11 addObject: [KxMenuItem menuItem:FORMAT(@"%@",SuoLingDataArr[i][@"MM_NAME"])
  1986. image:nil
  1987. target:self
  1988. action:@selector(addSuoLingDanjv2)]];
  1989. break;
  1990. case 3:
  1991. [Arrr11 addObject: [KxMenuItem menuItem:FORMAT(@"%@",SuoLingDataArr[i][@"MM_NAME"])
  1992. image:nil
  1993. target:self
  1994. action:@selector(addSuoLingDanjv3)]];
  1995. break;
  1996. case 4:
  1997. [Arrr11 addObject: [KxMenuItem menuItem:FORMAT(@"%@",SuoLingDataArr[i][@"MM_NAME"])
  1998. image:nil
  1999. target:self
  2000. action:@selector(addSuoLingDanjv4)]];
  2001. break;
  2002. case 5:
  2003. [Arrr11 addObject: [KxMenuItem menuItem:FORMAT(@"%@",SuoLingDataArr[i][@"MM_NAME"])
  2004. image:nil
  2005. target:self
  2006. action:@selector(addSuoLingDanjv5)]];
  2007. break;
  2008. case 6:
  2009. [Arrr11 addObject: [KxMenuItem menuItem:FORMAT(@"%@",SuoLingDataArr[i][@"MM_NAME"])
  2010. image:nil
  2011. target:self
  2012. action:@selector(addSuoLingDanjv6)]];
  2013. break;
  2014. case 7:
  2015. [Arrr11 addObject: [KxMenuItem menuItem:FORMAT(@"%@",SuoLingDataArr[i][@"MM_NAME"])
  2016. image:nil
  2017. target:self
  2018. action:@selector(addSuoLingDanjv7)]];
  2019. break;
  2020. case 8:
  2021. [Arrr11 addObject: [KxMenuItem menuItem:FORMAT(@"%@",SuoLingDataArr[i][@"MM_NAME"])
  2022. image:nil
  2023. target:self
  2024. action:@selector(addSuoLingDanjv8)]];
  2025. break;
  2026. case 9:
  2027. [Arrr11 addObject: [KxMenuItem menuItem:FORMAT(@"%@",SuoLingDataArr[i][@"MM_NAME"])
  2028. image:nil
  2029. target:self
  2030. action:@selector(addSuoLingDanjv9)]];
  2031. break;
  2032. default:
  2033. break;
  2034. }
  2035. }
  2036. }
  2037. [KxMenu showMenuInView:self.view
  2038. fromRect:CGRectMake(BTNWIDTH02*2+10+30,-24,30,30)
  2039. menuItems:Arrr11];
  2040. }
  2041. - (void)addSuoLingDanjv
  2042. {
  2043. [self SuoLingDanjv:0];
  2044. }
  2045. - (void)addSuoLingDanjv1
  2046. {
  2047. [self SuoLingDanjv:1];
  2048. }
  2049. - (void)addSuoLingDanjv2
  2050. {
  2051. [self SuoLingDanjv:2];
  2052. }
  2053. - (void)addSuoLingDanjv3
  2054. {
  2055. [self SuoLingDanjv:3];
  2056. }
  2057. - (void)addSuoLingDanjv4
  2058. {
  2059. [self SuoLingDanjv:4];
  2060. }
  2061. - (void)addSuoLingDanjv5
  2062. {
  2063. [self SuoLingDanjv:5];
  2064. }
  2065. - (void)addSuoLingDanjv6
  2066. {
  2067. [self SuoLingDanjv:6];
  2068. }
  2069. - (void)addSuoLingDanjv7
  2070. {
  2071. [self SuoLingDanjv:7];
  2072. }
  2073. - (void)addSuoLingDanjv8
  2074. {
  2075. [self SuoLingDanjv:8];
  2076. }
  2077. - (void)addSuoLingDanjv9
  2078. {
  2079. [self SuoLingDanjv:9];
  2080. }
  2081. - (void)SuoLingDanjv:(NSInteger)ii
  2082. {
  2083. NSDictionary *dic = SuoLingDataArr[ii];
  2084. DocumentVC *a = [[DocumentVC alloc]init];
  2085. a.nameStr = FORMAT(@"%@",dic[@"MM_NAME"]);
  2086. a.caller = FORMAT(@"%@",dic[@"MM_CALLER"]);
  2087. [self.navigationController pushViewController:a animated:YES];
  2088. }
  2089. - (void)addMission //创建任务
  2090. {
  2091. JOindex=333;
  2092. // AddDateViewController *addDateVC = [[AddDateViewController alloc]init];
  2093. // addDateVC.kindful = @"addMission";
  2094. // addDateVC.shangjiCode = @"";
  2095. // JOOASetUpViewController * setUpVC=[[JOOASetUpViewController alloc]init];
  2096. // setUpVC.type=@"任务";
  2097. //
  2098. // [self.navigationController pushViewController:setUpVC animated:YES];
  2099. ERPNewTaskViewController * evc =[[ERPNewTaskViewController alloc]init];
  2100. [self.navigationController pushViewController:evc animated:YES];
  2101. }
  2102. - (void)addDate //新增日程
  2103. {
  2104. JOindex=333;
  2105. // AddDateViewController *addDateVC = [[AddDateViewController alloc]init];
  2106. // addDateVC.kindful = @"addDate";
  2107. // addDateVC.shangjiCode = @"";
  2108. JOOASetUpViewController * setUpVC=[[JOOASetUpViewController alloc]init];
  2109. setUpVC.type=@"日程";
  2110. [self.navigationController pushViewController:setUpVC animated:YES];
  2111. }
  2112. - (void)addVisitPlan //新增拜访计划
  2113. {
  2114. JOindex=333;
  2115. VisitPlanVC *visitPlan = [[VisitPlanVC alloc]init];
  2116. [self.navigationController pushViewController:visitPlan animated:YES];
  2117. }
  2118. - (void)addVisitReport //新增拜访报告
  2119. {
  2120. JOindex=333;
  2121. ClientReportVC *clientReportVC = [[ClientReportVC alloc]init];
  2122. clientReportVC.statu = 1;
  2123. [self.navigationController pushViewController:clientReportVC animated:YES];
  2124. // ZXVisitReportViewController * zvc =[[ZXVisitReportViewController alloc]init];
  2125. // [self.navigationController pushViewController:zvc animated:YES];
  2126. }
  2127. #pragma mark -- 以下为固定代码
  2128. - (void)backView
  2129. {
  2130. [self.navigationController popToRootViewControllerAnimated:YES];
  2131. }
  2132. /**比较两个时间大小*/
  2133. - (int)compareDate:(NSString*)date01 withDate:(NSString*)date02
  2134. {
  2135. int ci = 0;
  2136. NSDateFormatter *df = [[NSDateFormatter alloc] init];
  2137. [df setDateFormat:@"yyyy-MM-dd HH:mm:ss"];
  2138. NSDate *dt1 = [[NSDate alloc] init];
  2139. NSDate *dt2 = [[NSDate alloc] init];
  2140. dt1 = [df dateFromString:date01];
  2141. dt2 = [df dateFromString:date02];
  2142. NSComparisonResult result = [dt1 compare:dt2];
  2143. switch (result)
  2144. {
  2145. //date02比date01大
  2146. case NSOrderedAscending: ci=1;break;
  2147. //date02比date01小
  2148. case NSOrderedDescending: ci=-1;break;
  2149. //date02=date01
  2150. case NSOrderedSame: ci=0;break;
  2151. default: DLog(@"erorr dates %@, %@", dt2, dt1);break;
  2152. }
  2153. return ci;
  2154. }
  2155. /**
  2156. 去掉分割线
  2157. */
  2158. - (void)setExtraCellLineHidden: (UITableView *)tableView
  2159. {
  2160. UIView *view = [UIView new];
  2161. view.backgroundColor = [UIColor clearColor];
  2162. [tableView setTableFooterView:view];
  2163. }
  2164. #pragma mark -- 下拉刷新
  2165. //下拉刷新相关函数
  2166. - (void)setupHeader
  2167. {
  2168. _tableView.mj_header = [MJRefreshNormalHeader headerWithRefreshingBlock:^{
  2169. dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.5 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
  2170. [_tableView.mj_header endRefreshing];
  2171. });
  2172. }];
  2173. // 进入页面自动加载一次数据
  2174. //[refreshHeader beginRefreshing];
  2175. }
  2176. #pragma mark -- showDropView
  2177. - (void)showDropViewWithMessage:(NSString *)message
  2178. {
  2179. // 1.创建label
  2180. UILabel *label = [[UILabel alloc] init];
  2181. label.backgroundColor =Color(0,0,0,0.5);
  2182. label.width = [UIScreen mainScreen].bounds.size.width;
  2183. label.height = 25;
  2184. // 2.设置其他属性
  2185. label.textColor = [UIColor whiteColor];
  2186. label.textAlignment = NSTextAlignmentCenter;
  2187. label.font = FONT_SIZE(12);
  2188. label.text=message;
  2189. // 3.添加
  2190. label.y = 64 - label.height;
  2191. _labelsss=label;
  2192. // 4.将label添加到导航控制器的view中,并且是盖在导航栏下边
  2193. [self.navigationController.view insertSubview:label belowSubview:self.navigationController.navigationBar];
  2194. // 5.动画
  2195. // 先利用1s的时间,让label往下移动一段距离
  2196. CGFloat duration = 1.0; // 动画的时间
  2197. [UIView animateWithDuration:duration animations:^{
  2198. // label.y += label.height;
  2199. label.transform = CGAffineTransformMakeTranslation(0, label.height);
  2200. } completion:^(BOOL finished) {
  2201. // 延迟1s后,再利用1s的时间,让label往上移动一段距离(回到一开始的状态)
  2202. CGFloat delay = 2.0; // 延迟1s
  2203. // UIViewAnimationOptionCurveLinear:匀速
  2204. [UIView animateWithDuration:duration delay:delay options:UIViewAnimationOptionCurveLinear animations:^{
  2205. // label.y -= label.height;
  2206. label.transform = CGAffineTransformIdentity;
  2207. } completion:^(BOOL finished) {
  2208. [label removeFromSuperview];
  2209. }];
  2210. }];
  2211. // 如果某个动画执行完毕后,又要回到动画执行前的状态,建议使用transform来做动画
  2212. }
  2213. /**
  2214. * 新手指引
  2215. */
  2216. - (void)newUserGuide
  2217. {
  2218. // 这里创建指引在这个视图在window上
  2219. CGRect frame = [UIScreen mainScreen].bounds;
  2220. UIView * bgView = [[UIView alloc]initWithFrame:frame];
  2221. bgView.backgroundColor = Color(0,0,0,0.5);
  2222. UITapGestureRecognizer * tap =[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(sureTapClick:)];
  2223. [bgView addGestureRecognizer:tap];
  2224. [[UIApplication sharedApplication].keyWindow addSubview:bgView];
  2225. //create path 重点来了(**这里需要添加第一个路径)
  2226. UIBezierPath *path = [UIBezierPath bezierPathWithRect:frame];
  2227. // 这里添加第二个路径 (这个是圆)
  2228. [path appendPath:[UIBezierPath bezierPathWithArcCenter:CGPointMake(frame.size.width - 40, 92) radius:30 startAngle:0 endAngle:2*M_PI clockwise:NO]];
  2229. // 这里添加第二个路径 (这个是矩形)
  2230. //[path appendPath:[[UIBezierPath bezierPathWithRoundedRect:CGRectMake(frame.size.width/2.0-1, 234, frame.size.width/2.0+1, 55) cornerRadius:5] bezierPathByReversingPath]];
  2231. CAShapeLayer *shapeLayer = [CAShapeLayer layer];
  2232. shapeLayer.path = path.CGPath;
  2233. //shapeLayer.strokeColor = [UIColor blueColor].CGColor;
  2234. [bgView.layer setMask:shapeLayer];
  2235. UIImageView * imageView = [[UIImageView alloc]initWithFrame:CGRectMake(frame.size.width -40,112,50,50)];
  2236. imageView.image = [UIImage imageNamed:@"OA_NewGuide"];
  2237. [bgView addSubview:imageView];
  2238. }
  2239. /**
  2240. * 新手指引确定
  2241. */
  2242. - (void)sureTapClick:(UITapGestureRecognizer *)tap
  2243. {
  2244. UIView * view = tap.view;
  2245. [view removeFromSuperview];
  2246. [view removeAllSubviews];
  2247. [view removeGestureRecognizer:tap];
  2248. }
  2249. #pragma mark --创建数据库加载数据库
  2250. #pragma mark --
  2251. - (NSString *)flattenHTML:(NSString *)html
  2252. {
  2253. NSScanner *theScanner;
  2254. NSString *text = nil;
  2255. theScanner = [NSScanner scannerWithString:html];
  2256. while ([theScanner isAtEnd] == NO) {
  2257. // find start of tag
  2258. [theScanner scanUpToString:@"<" intoString:NULL] ;
  2259. // find end of tag
  2260. [theScanner scanUpToString:@">" intoString:&text] ;
  2261. // replace the found tag with a space
  2262. //(you can filter multi-spaces out later if you wish)
  2263. html = [html stringByReplacingOccurrencesOfString:
  2264. [NSString stringWithFormat:@"%@>", text]
  2265. withString:@""];
  2266. html = [html stringByReplacingOccurrencesOfString:@" "
  2267. withString:@" "];
  2268. html = [html stringByReplacingOccurrencesOfString:@" "
  2269. withString:@" "];
  2270. html = [html stringByReplacingOccurrencesOfString:@"\\n\\n"
  2271. withString:@"\\n"];
  2272. html = [html stringByReplacingOccurrencesOfString:@"\\n"
  2273. withString:@"\r\r"];
  2274. }
  2275. return html;
  2276. }
  2277. - (void)scrollViewDidScroll:(UIScrollView *)scrollView
  2278. {
  2279. CGFloat currentPostion = scrollView.contentOffset.y;
  2280. _subView.y = aa - currentPostion;
  2281. //DLog(@"%f",currentPostion);
  2282. }
  2283. /**
  2284. 创建消息表
  2285. */
  2286. - (void)createMsgTableWithTableNameCompeted:(void(^)())complete
  2287. {
  2288. [[TIFmdbManager shareManager] createOrOpenDatabasaWithDbName:JOMSGFMDB completed:^(BOOL result) {
  2289. if (result) {
  2290. [[TIFmdbManager shareManager] executeWithDb:JOMSGFMDB excuteDbBlock:^(FMDatabase *db) {
  2291. //创建表sql
  2292. NSString *createTableSqlStr=[NSString stringWithFormat:
  2293. @"CREATE TABLE IF NOT EXISTS %@ (id INTEGER PRIMARY KEY AUTOINCREMENT,%@ TEXT, %@ TEXT, %@ TEXT, %@ TEXT, %@ TEXT, %@ TEXT,%@ TEXT, %@ TEXT, %@ TEXT, %@ TEXT, %@ TEXT)",@"JOMsgtableName11",
  2294. @"createTime",
  2295. @"JOid",
  2296. @"title",
  2297. @"subTitle",
  2298. @"releaser",
  2299. @"JO_TYPE",
  2300. @"JO_STATUS",
  2301. @"JO_ZHANGTAO",
  2302. @"JO_UUID",
  2303. @"caller",
  2304. @"keyValue"
  2305. ];
  2306. [db executeUpdate:createTableSqlStr];
  2307. } completed:^{
  2308. if (complete) {
  2309. complete();
  2310. }
  2311. }];
  2312. }
  2313. }];
  2314. }
  2315. #pragma mark -- 获取索菱添加通用单据的接口
  2316. - (void)getSuolingMenucofig
  2317. {
  2318. // [MBProgressHUD showMessage:@"正在加载数据"];
  2319. [LYHTTPRequest Get:SL_MenuConfig_all_data page:0 condition:@"" Completion:^(id ObjectData, NSError *error) {
  2320. if (error == nil) {
  2321. // [self createFmdb];
  2322. NSArray *dataarr = ObjectData[@"listdata"];
  2323. for (NSInteger i = 0; i < dataarr.count; i ++) {
  2324. [SuoLingDataArr addObject:dataarr[i]];
  2325. }
  2326. // DLog(@"索菱数据:%@",ObjectData);
  2327. }else{
  2328. // [self createFmdb];
  2329. }
  2330. }];
  2331. }
  2332. #pragma mark --- 获取新老用户的单据(出差,加班)的caller
  2333. -(void)getDocumentCallerWithTitle:(NSString *)title withCaller:(NSString *)callerStr
  2334. {
  2335. NSString *url = [NSString stringWithFormat:@"%@mobile/oa/getoaconifg.action",g_id];
  2336. UASNetworkManager *manager = [UASNetworkManager shareManager];
  2337. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  2338. //拼接sessionID
  2339. NSString *paramSessionId=[@"" stringByAppendingFormat:@"JSESSIONID=%@",g_sessionId];
  2340. //设置cookie
  2341. [manager.requestSerializer setValue:paramSessionId forHTTPHeaderField:@"Cookie"];
  2342. [manager request:url method:GET parameters:nil progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
  2343. // SLog(@"新客户还是旧客户:%@",responseObject);
  2344. NSString *sessionId = [NSString stringWithFormat:@"%@",responseObject[@"sessionId"]];
  2345. if (![sessionId isEqualToString:@"(null)"]) {
  2346. [[NSUserDefaults standardUserDefaults] setObject:sessionId forKey:@"sessionId"];
  2347. }
  2348. NSString *caller = callerStr;
  2349. for (id obj in responseObject[@"listdata"]) {
  2350. NSString *nameStr = obj[@"MO_NAME"];
  2351. if ([nameStr isEqualToString:title]) {
  2352. caller = obj[@"MO_CALLER"];
  2353. }
  2354. }
  2355. // DLog(@"callerNew:%@",caller);
  2356. DocumentVC *a = [[DocumentVC alloc]init];
  2357. a.nameStr = title;
  2358. a.caller = caller;
  2359. [self.navigationController pushViewController:a animated:YES];
  2360. } failure:^(NSURLSessionDataTask *task, NSError *error) {
  2361. DLog(@"请求失败:%@",error);
  2362. [HUD hide:YES];
  2363. NSData *returnData = [[error userInfo] objectForKey:@"com.alamofire.serialization.response.error.data"];
  2364. if (returnData) {
  2365. NSDictionary *content = [NSJSONSerialization JSONObjectWithData:returnData options:NSJSONReadingMutableContainers error:nil];//转换数据格式
  2366. NSString *errorStr = [NSString stringWithFormat:@"%@",[content objectForKey:@"exceptionInfo"]];
  2367. // DLog(@"错误的原因:%@",errorStr);
  2368. [JOShowMessageFromNavi showDropViewWithMessage:errorStr ToNavi:self.navigationController withColor:nil];
  2369. }
  2370. else{
  2371. [JOShowMessageFromNavi showDropViewWithMessage:@"请检查网络情况" ToNavi:self.navigationController withColor:nil];
  2372. }
  2373. }];
  2374. }
  2375. #pragma mark --获取我的下属人数
  2376. -(void)getPeopleDataFromServer
  2377. {
  2378. NSString *sessionId=[[NSUserDefaults standardUserDefaults] stringForKey:@"sessionId"];
  2379. NSString *ip=[UASUserInfo shareManager].urlIp;
  2380. NSString *emcode = [[NSUserDefaults standardUserDefaults] stringForKey:@"erpaccount"];
  2381. NSString *master = [[[NSUserDefaults standardUserDefaults] objectForKey:@"masterDic"]objectForKey:@"ma_user"];
  2382. NSString *sessionUser = [[NSUserDefaults standardUserDefaults] objectForKey:@"erpaccount"];
  2383. NSString *url = [NSString stringWithFormat:@"%@mobile/crm/getstaffmsg.action?emcode=%@&master=%@&sessionUser=%@&sessionId=%@",ip,emcode,master,sessionUser,sessionId];
  2384. // DLog(@"aaaaaaaa:%@",url);
  2385. url = [url stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding];
  2386. UASNetworkManager *manager = [UASNetworkManager shareManager];
  2387. manager.responseSerializer = [AFJSONResponseSerializer serializer];
  2388. //拼接sessionID
  2389. NSString *paramSessionId=[@"" stringByAppendingFormat:@"JSESSIONID=%@",sessionId];
  2390. //设置cookie
  2391. [manager.requestSerializer setValue:paramSessionId forHTTPHeaderField:@"Cookie"];
  2392. [manager.requestSerializer setValue:[NSString stringWithFormat:@"%@",g_sessionUser] forHTTPHeaderField:@"sessionUser"];
  2393. [manager request:url method:POST parameters:nil progress:nil success:^(NSURLSessionDataTask *task, id responseObject) {
  2394. // DLog(@"chenggong---:%@",responseObject);
  2395. // NSString* listJsonStr=responseObject[@"data"];
  2396. // SBJsonParser *parser = [[SBJsonParser alloc] init];
  2397. // NSArray * jsonArray=[parser objectWithString:listJsonStr error:nil];
  2398. NSString *sessionId = [NSString stringWithFormat:@"%@",responseObject[@"sessionId"]];
  2399. if (![sessionId isEqualToString:@"(null)"]) {
  2400. [[NSUserDefaults standardUserDefaults] setObject:sessionId forKey:@"sessionId"];
  2401. }
  2402. [MBProgressHUD hideHUD];
  2403. XiaShuarr = responseObject[@"datas"];
  2404. if (XiaShuarr.count == 0) {
  2405. _sigmenView.defaultIndex=2;
  2406. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_work_OA_AS_SubTitle") ToNavi:self.navigationController withColor:nil];
  2407. return ;
  2408. }else{
  2409. [self removeAlldate];
  2410. _POSTLabel=@"other";
  2411. DLog(@"下属工作日志");
  2412. NSDate *senddate = [NSDate date];
  2413. NSDateFormatter* f=[[NSDateFormatter alloc]init];
  2414. f.dateFormat = @"yyyyMM";
  2415. NSString* s = [f stringFromDate:senddate];
  2416. [self getAllDateFromServer:s withLabel:_POSTLabel];
  2417. _selectBtn.userInteractionEnabled=YES;
  2418. _selectBtn.frame=CGRectMake(self_width/4-20+40,5,15,12);
  2419. }
  2420. } failure:^(NSURLSessionDataTask *task, NSError *error) {
  2421. [MBProgressHUD hideHUD];
  2422. _sigmenView.defaultIndex=2;
  2423. [JOShowMessageFromNavi showDropViewWithMessage:Localized(@"UU_work_OA_AS_SubTitle") ToNavi:self.navigationController withColor:nil];
  2424. return ;
  2425. // DLog(@"请求失败:%@",error);
  2426. // [JOShowMessageFromNavi showDropViewWithMessage:@"请求数据失败" ToNavi:self.navigationController withColor:nil];
  2427. }];
  2428. }
  2429. -(void)dealloc
  2430. {
  2431. [[NSNotificationCenter defaultCenter] removeObserver:self];
  2432. [[NSNotificationCenter defaultCenter] removeObserver:self name:@"OAAdminJurisdiction" object:nil];
  2433. [[NSNotificationCenter defaultCenter] removeObserver:self name:@"UASorganizationalStructureFMDB" object:nil];
  2434. }
  2435. @end