api_service.dart 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289129012911292129312941295129612971298129913001301130213031304130513061307130813091310131113121313131413151316131713181319132013211322132313241325132613271328132913301331133213331334133513361337133813391340134113421343134413451346134713481349135013511352135313541355135613571358135913601361136213631364136513661367136813691370137113721373137413751376137713781379138013811382138313841385138613871388138913901391139213931394139513961397139813991400140114021403140414051406140714081409141014111412141314141415141614171418141914201421142214231424142514261427142814291430143114321433143414351436143714381439144014411442144314441445144614471448144914501451145214531454145514561457145814591460146114621463146414651466146714681469147014711472147314741475147614771478147914801481148214831484148514861487148814891490149114921493149414951496149714981499150015011502150315041505150615071508150915101511151215131514151515161517151815191520152115221523152415251526152715281529153015311532153315341535153615371538153915401541154215431544154515461547154815491550155115521553155415551556155715581559156015611562156315641565156615671568156915701571157215731574157515761577157815791580158115821583158415851586158715881589159015911592
  1. import 'dart:io';
  2. import 'package:dio/dio.dart';
  3. import 'package:fake_push/fake_push.dart';
  4. import 'package:flustars/flustars.dart';
  5. import 'package:flutter/cupertino.dart';
  6. import 'package:liftmanager/common/common.dart';
  7. import 'package:liftmanager/common/user_db.dart';
  8. import 'package:liftmanager/internal/account/account_router.dart';
  9. import 'package:liftmanager/internal/account/model/certificate_item.dart';
  10. import 'package:liftmanager/internal/account/model/user_entity.dart';
  11. import 'package:liftmanager/internal/account/model/user_info_entity.dart';
  12. import 'package:liftmanager/internal/heavy/model/heavy_count_item.dart';
  13. import 'package:liftmanager/internal/heavy/model/heavy_list_entity.dart';
  14. import 'package:liftmanager/internal/heavy/model/heavy_user_entity.dart';
  15. import 'package:liftmanager/internal/maintenance/model/maintenance_count_item.dart';
  16. import 'package:liftmanager/internal/message/model/message_list_entity.dart';
  17. import 'package:liftmanager/internal/news/model/news_comm_entity.dart';
  18. import 'package:liftmanager/internal/news/model/news_detail_item.dart';
  19. import 'package:liftmanager/internal/heavy/model/heavy_item.dart';
  20. import 'package:liftmanager/internal/lift/model/lift_brand_entity.dart';
  21. import 'package:liftmanager/internal/lift/model/lift_item.dart';
  22. import 'package:liftmanager/internal/lift/model/lift_list_entity.dart';
  23. import 'package:liftmanager/internal/maintenance/model/maintenance_detail_item.dart';
  24. import 'package:liftmanager/internal/maintenance/model/maintenance_last_entity.dart';
  25. import 'package:liftmanager/internal/maintenance/model/maintenance_list_entity.dart';
  26. import 'package:liftmanager/internal/maintenance/model/maintenance_options_item.dart';
  27. import 'package:liftmanager/internal/project/model/project_list_entity.dart';
  28. import 'package:liftmanager/internal/project/model/worker_entity.dart';
  29. import 'package:liftmanager/internal/repair/model/repair_count_item.dart';
  30. import 'package:liftmanager/internal/repair/model/repair_fault_entity.dart';
  31. import 'package:liftmanager/internal/repair/model/repair_list_entity.dart';
  32. import 'package:liftmanager/internal/sign/model/sign_config_item.dart';
  33. import 'package:liftmanager/internal/sign/model/sign_list_entity.dart';
  34. import 'package:liftmanager/internal/team/model/team_auth_item.dart';
  35. import 'package:liftmanager/internal/team/model/team_current_entity.dart';
  36. import 'package:liftmanager/internal/team/model/team_entity.dart';
  37. import 'package:liftmanager/internal/team/model/team_info_item.dart';
  38. import 'package:liftmanager/internal/team/model/team_user_entity.dart';
  39. import 'package:liftmanager/internal/wode/model/version_item.dart';
  40. import 'package:liftmanager/internal/work/model/banner_entity.dart';
  41. import 'package:liftmanager/internal/work/model/count_doing_item.dart';
  42. import 'package:liftmanager/internal/yearly/model/yearly_count_item.dart';
  43. import 'package:liftmanager/internal/yearly/model/yearly_list_entity.dart';
  44. import 'package:liftmanager/net/dio_utils.dart';
  45. import 'package:liftmanager/routers/fluro_navigator.dart';
  46. import 'package:liftmanager/utils/toast.dart';
  47. import 'package:flustars/flustars.dart' as f;
  48. class ApiUrl {
  49. ///上传图片
  50. static const String upload = ":20227/common/upload";
  51. static const String uploads = ":20227/common/uploads";
  52. // static const String upload = "http://121.40.159.228:20234/common/upload";
  53. // static const String uploads = "http://121.40.159.228:20234/common/uploads";
  54. // static const String upload = ":10111/upload";
  55. // static const String uploads = ":10111/uploads";
  56. ///banner
  57. static const String banner_list = ":20230/banner/list";
  58. ///统计
  59. static const String count_doing = ":20227/common/countDoing";
  60. ///登录
  61. static const String version = ":20230/version";
  62. static const String account_login = ":20230/login/login";
  63. static const String account_wxlogin = ":20230/login/wxLogin";
  64. static const String account_smscode = ":20230/login/smsCode";
  65. static const String account_register = ":20230/login/register";
  66. static const String account_wxregister = ":20230/login/wxRegister";
  67. static const String account_resetPassword = ":20230/login/resetPassword";
  68. static const String account_appBindMobile = ":20230/login/appBindMobile";
  69. ///用户信息相关
  70. static const String user_info = ":20230/user/info";
  71. static const String modify_avatar = ":20230/user/modifyAvatar";
  72. static const String modify_name = ":20230/user/modifyName";
  73. ///操作证
  74. static const String liftCertificate_add = ":20229/oa/liftCertificate/add";
  75. static const String liftCertificate_findByUser = ":20229/oa/liftCertificate/findByUser";
  76. ///消息中心列表
  77. static const String notification_list = ":20230/notification/list";
  78. ///团队
  79. static const String mtcompany_ownList = ":20230/mtcompany/ownList";
  80. static const String mtcompany_list = ":20230/mtcompany/list";
  81. static const String mtcompany_createTeam = ":20230/mtcompany/createTeam";
  82. static const String mtcompany_changeTeam = ":20230/login/changeTeam";
  83. static const String mtcompany_applyTeam = ":20230/userapply/applyTeam";
  84. static const String mtcompany_auditResult = ":20230/attestation/auditResult";
  85. static const String mtcompany_applyAudit = ":20230/attestation/applyAudit";
  86. static const String mtcompany_teamInfo = ":20230/mtcompany/teamInfo";
  87. static const String mtcompany_userList = ":20230/companyuser/app/getCompanyMembers";
  88. ///项目
  89. static const String project_list = ":20227/app/project/list";
  90. static const String project_detail = ":20227/app/project/detail";
  91. static const String project_user = ":20227/app/project/user/list";
  92. ///电梯
  93. static const String lift_brand = ":20227/common/brand/list";
  94. static const String lift_list = ":20227/app/lift/list";
  95. static const String lift_detail = ":20227/lift/detail";
  96. static const String lift_add = ":20227/app/lift/add";
  97. static const String lift_modify = ":20227/lift/modify";
  98. ///急修
  99. static const String repair_count =
  100. ":20227/emergency/emergency-repair/count";
  101. static const String repair_list =
  102. ":20227/emergency/emergency-repair/pageWorker";
  103. static const String repair_add =
  104. ":20227/emergency/emergency-repair/add";
  105. static const String repair_taking =
  106. ":20227/emergency/emergency-repair/taking";
  107. static const String repair_arrive =
  108. ":20227/emergency/emergency-repair/arrive";
  109. static const String repair_stop = ":20227/emergency/emergency-repair/stop";
  110. static const String repair_fault_tree =
  111. ":20227/emergency/emergency-repair/fault/tree";
  112. static const String repair_fault_list =
  113. ":20227/emergency/emergency-repair/fault/list";
  114. static const String repair_repairOrder = ":20227/emergency/emergency-repair/repairOrder";
  115. static const String repair_detail = ":20227/emergency/emergency-repair/findOne";
  116. static const String repair_evaluate = ":20227/emergency/emergency-repair/evaluate";
  117. ///日常保养
  118. static const String maintenance_count = ":20227/app/maintenance/count";
  119. static const String maintenance_planTask_list = ":20227/app/maintenance/planTask";
  120. static const String maintenance_recordTask_list = ":20227/app/maintenance/recordTask";
  121. // static const String maintenance_list = ":20227/app/maintenance/task";
  122. static const String maintenance_record_info =
  123. ":20227/app/maintenance/record/info";
  124. static const String maintenance_options = ":20229/maintenance-option/options";
  125. static const String maintenance_record_add = ":20227/app/record/add";
  126. static const String maintenance_record_modify = ":20227/app/record/modify";
  127. static const String maintenance_record_detail = ":20227/maintenance/record/one";
  128. static const String maintenance_record_evaluate = ":20227/maintenance/record/evaluate";
  129. ///年检
  130. static const String yearly_list =
  131. ":20227/annualinspection/annual-inspection/pageWorker";
  132. static const String yearly_toConfirmList =
  133. ":20227/annualinspection/annual-inspection/toConfirm";
  134. static const String yearly_confirm =
  135. ":20227/annualinspection/annual-inspection/confirm";
  136. static const String yearly_selfcheck =
  137. ":20227/annualinspection/annual-inspection/selfcheck";
  138. static const String yearly_check =
  139. ":20227/annualinspection/annual-inspection/check";
  140. static const String yearly_finish = ":20227/annualinspection/annual-inspection/finish";
  141. static const String yearly_count = ":20227/annualinspection/annual-inspection/count";
  142. ///新闻
  143. static const String news_city = ":20232/news/location";
  144. static const String news_list = ":20232/news/app/list";
  145. static const String news_detail = ":20232/news";
  146. static const String news_zan = ":20232/news/like";
  147. ///考勤签到
  148. static const String sign_list = ":20229/oa/attendance/pageByUser";
  149. static const String sign_config = ":20229/oa/attendance/time";
  150. static const String sign_add = ":20229/oa/attendance/clock";
  151. ///大修
  152. static const String capital_count = ":20227/app/capital/count";
  153. static const String capital_project_list = ":20227/app/capital/project/list";
  154. static const String capital_lift_list = ":20227/app/capital/lift/list";
  155. static const String capital_attendance_list = ":20227/app/capital/attendance/list";
  156. static const String capital_sign_in = ":20227/app/capital/sign/in";
  157. static const String capital_overdueApply = ":20227/app/capital/overdueApply";
  158. static const String capital_project_detail = ":20227/app/capital/project/detail";
  159. static const String capital_begin = ":20227/app/capital/begin";
  160. static const String capital_completed = ":20227/app/capital/completed";
  161. ///消息
  162. static const String push_msg_list = "/push/message/list";
  163. static const String push_msg = "/push/message";
  164. }
  165. class ApiService {
  166. BuildContext context;
  167. ApiService({this.context});
  168. Push _push = Push();
  169. Future uploadMore(List<File> files,
  170. {String name="",String code="",Function onSuccess, Function(int code, String msg) onError}) async {
  171. FormData formData = FormData.fromMap({
  172. "workerName":name,
  173. "registrationCode":code
  174. });
  175. for (var i = 0; i < files.length; ++i) {
  176. File file = files[i];
  177. print(file.path);
  178. var name = file.path.substring(file.path.lastIndexOf("/") + 1);
  179. formData.files.add(MapEntry(
  180. "files",
  181. MultipartFile.fromFileSync(file.path, filename: "${name}.jpg"),
  182. ));
  183. }
  184. // Map<String, dynamic> map = Map();
  185. // List<MultipartFile> list = [];
  186. // for (var i = 0; i < files.length; ++i) {
  187. // var file = files[i];
  188. // list.add(await MultipartFile.fromFile(file.path));
  189. // }
  190. await DioUtils().requestNetwork<String>(Method.post, ApiUrl.uploads,
  191. params: formData,
  192. options: _getFormOptions(),
  193. isList: true,
  194. onSuccessList: onSuccess,
  195. onError:(code,msg){
  196. loginExpire(code);
  197. onError(code,msg);
  198. });
  199. }
  200. ///上传图片
  201. Future upload(String file,
  202. {String name="",String code="",Function onSuccess, Function(int code, String msg) onError}) async {
  203. // var name = file.substring(file.lastIndexOf("/") + 1);
  204. FormData formData = FormData.fromMap({
  205. "workerName":name,
  206. "registrationCode":code,
  207. "file": await MultipartFile.fromFile(file)
  208. });
  209. await DioUtils().requestNetwork<String>(Method.post, ApiUrl.upload,
  210. params: formData,
  211. options: _getFormOptions(),
  212. onSuccess: onSuccess,
  213. onError:(code,msg){
  214. loginExpire(code);
  215. onError(code,msg);
  216. });
  217. }
  218. ///获取City
  219. Future getCity(lat,lng,
  220. {Function onSuccess, Function(int code, String msg) onError}) async {
  221. await DioUtils().requestNetwork<String>(
  222. Method.get, "${ApiUrl.news_city}?point=${lat},${lng}",
  223. onSuccessList: onSuccess,
  224. onError:(code,msg){
  225. loginExpire(code);
  226. onError(code,msg);
  227. });
  228. }
  229. ///获取banner图
  230. Future getBanner(
  231. {Function onSuccess, Function(int code, String msg) onError}) async {
  232. var data = {"type": 1};
  233. await DioUtils().requestNetwork<BannerEntity>(
  234. Method.post, ApiUrl.banner_list,
  235. objectFromJson: (res) => BannerEntity.fromJsonMap(res),
  236. params: data,
  237. isList: true,
  238. onSuccessList: onSuccess,
  239. onError:(code,msg){
  240. loginExpire(code);
  241. onError(code,msg);
  242. });
  243. }
  244. ///获取统计
  245. Future countDoing(
  246. {Function onSuccess, Function(int code, String msg) onError}) async {
  247. var data = {
  248. "userId": int.parse(SpUtil.getString(Constant.userId)),
  249. "mtCompanyId": SpUtil.getString(Constant.companyId),
  250. };
  251. await DioUtils().requestNetwork<CountDoingItem>(
  252. Method.post, ApiUrl.count_doing,
  253. objectFromJson: (res) => CountDoingItem.fromJsonMap(res),
  254. params: data,
  255. onSuccess: onSuccess,
  256. onError:(code,msg){
  257. loginExpire(code);
  258. onError(code,msg);
  259. });
  260. }
  261. ///版本号
  262. Future version( {Function onSuccess, Function(int code, String msg) onError}) async {
  263. await DioUtils().requestNetwork<VersionItem>(
  264. Method.post, ApiUrl.version,
  265. objectFromJson: (res) => VersionItem.fromJsonMap(res),
  266. params: {
  267. "deviceModel":Platform.isIOS?2:1
  268. },
  269. onSuccess: onSuccess,
  270. onError:(code,msg){
  271. loginExpire(code);
  272. onError(code,msg);
  273. });
  274. }
  275. ///手机号密码登录
  276. Future login(String account, String password,
  277. {Function onSuccess, Function(int code, String msg) onError}) async {
  278. var data = {
  279. "mobile": account,
  280. "password": password,
  281. "deviceModel":Platform.isIOS?2:1,
  282. "deviceFlag":await _push.getDeviceToken()
  283. };
  284. await DioUtils().requestNetwork<UserEntity>(
  285. Method.post, ApiUrl.account_login,
  286. objectFromJson: (res) => UserEntity.fromJsonMap(res),
  287. params: data,
  288. onSuccess: onSuccess,
  289. onError:(code,msg){
  290. loginExpire(code);
  291. onError(code,msg);
  292. });
  293. }
  294. ///微信登录
  295. void wxLogin(String authCode,
  296. {Function onSuccess, Function(int code, String msg) onError}) async {
  297. var data = {
  298. "authCode": authCode,
  299. "deviceModel":Platform.isIOS?2:1,
  300. "deviceFlag":await _push.getDeviceToken()
  301. };
  302. await DioUtils().requestNetwork<UserEntity>(
  303. Method.post, ApiUrl.account_wxlogin,
  304. params: data, onSuccess: onSuccess, onError:(code,msg){
  305. loginExpire(code);
  306. onError(code,msg);
  307. });
  308. }
  309. ///获取验证码
  310. Future getVCode(String account,
  311. {Function onSuccess, Function(int code, String msg) onError}) async {
  312. var data = {
  313. "mobile": account,
  314. };
  315. await DioUtils().requestNetwork(Method.get, ApiUrl.account_smscode,
  316. queryParameters: data, onSuccess: onSuccess, onError:(code,msg){
  317. loginExpire(code);
  318. onError(code,msg);
  319. });
  320. }
  321. ///注册
  322. Future register(String account, String password, String name, String vCode,
  323. String authCode,
  324. {Function onSuccess, Function(int code, String msg) onError}) async {
  325. var data = {
  326. "mobile": account,
  327. "password": password,
  328. "name": name,
  329. "inputSmsCode": vCode,
  330. "authCode": authCode,
  331. "deviceModel":Platform.isIOS?2:1,
  332. "deviceFlag":await _push.getDeviceToken()
  333. };
  334. await DioUtils().requestNetwork(Method.post,authCode.length>0?ApiUrl.account_wxregister: ApiUrl.account_register,
  335. params: data, onSuccess: onSuccess, onError:(code,msg){
  336. loginExpire(code);
  337. onError(code,msg);
  338. });
  339. }
  340. Future accountAppBindMobile(String authCode, {Function onSuccess, Function(int code, String msg) onError}) async {
  341. var data = {
  342. "authCode": authCode,
  343. "deviceModel":Platform.isIOS?2:1,
  344. "deviceFlag":await _push.getDeviceToken()
  345. };
  346. print(data);
  347. await DioUtils().requestNetwork(Method.post,ApiUrl.account_appBindMobile,
  348. params: data, onSuccess: onSuccess, onError:(code,msg){
  349. loginExpire(code);
  350. onError(code,msg);
  351. });
  352. }
  353. ///注册
  354. Future resetPassword(String account, String password, String vCode,
  355. {Function onSuccess, Function(int code, String msg) onError}) async {
  356. var data = {
  357. "mobile": account,
  358. "password": password,
  359. "inputSmsCode": vCode,
  360. };
  361. await DioUtils().requestNetwork(Method.post, ApiUrl.account_resetPassword,
  362. params: data, onSuccess: onSuccess, onError:(code,msg){
  363. loginExpire(code);
  364. onError(code,msg);
  365. });
  366. }
  367. ///用户信息
  368. Future userInfo(
  369. {Function onSuccess, Function(int code, String msg) onError}) async {
  370. var data = {
  371. "userId": int.parse(SpUtil.getString(Constant.userId)),
  372. "companyId": SpUtil.getString(Constant.companyId)
  373. };
  374. await DioUtils().requestNetwork<UserInfoEntity>(
  375. Method.post, ApiUrl.user_info,
  376. objectFromJson: (res) => UserInfoEntity.fromJsonMap(res),
  377. params: data,
  378. onSuccess: onSuccess,
  379. onError:(code,msg){
  380. loginExpire(code);
  381. onError(code,msg);
  382. });
  383. }
  384. Future modifyAvatar(url,
  385. {Function onSuccess, Function(int code, String msg) onError}) async {
  386. var data = {
  387. "userId": int.parse(SpUtil.getString(Constant.userId)),
  388. "avatarUrl": url
  389. };
  390. await DioUtils().requestNetwork<String>(
  391. Method.post, ApiUrl.modify_avatar,
  392. params: data,
  393. onSuccess: onSuccess,
  394. onError:(code,msg){
  395. loginExpire(code);
  396. onError(code,msg);
  397. });
  398. }
  399. Future modifyName(name,
  400. {Function onSuccess, Function(int code, String msg) onError}) async {
  401. var data = {
  402. "userId": int.parse(SpUtil.getString(Constant.userId)),
  403. "name": name
  404. };
  405. await DioUtils().requestNetwork<String>(
  406. Method.post, ApiUrl.modify_name,
  407. params: data,
  408. onSuccess: onSuccess,
  409. onError:(code,msg){
  410. loginExpire(code);
  411. onError(code,msg);
  412. });
  413. }
  414. Future liftCertificateAdd(code,issuanceAgency,expirationDate,certificateType,firstImgUrl,secondImgUrl,
  415. {Function onSuccess, Function(int code, String msg) onError}) async {
  416. var data = {
  417. "ownerId": int.parse(SpUtil.getString(Constant.userId)),
  418. "mtCompanyId": SpUtil.getString(Constant.companyId),
  419. "code": code,
  420. "issuanceAgency": issuanceAgency,
  421. "expirationDate": expirationDate,
  422. "certificateType": certificateType,
  423. "firstImgUrl": firstImgUrl,
  424. "secondImgUrl": secondImgUrl,
  425. };
  426. await DioUtils().requestNetwork<bool>(
  427. Method.post, ApiUrl.liftCertificate_add,
  428. params: data,
  429. onSuccess: onSuccess,
  430. onError:(code,msg){
  431. loginExpire(code);
  432. onError(code,msg);
  433. });
  434. }
  435. Future liftCertificateFindByUser({Function onSuccess, Function(int code, String msg) onError}) async {
  436. var data = {
  437. "ownerId": int.parse(SpUtil.getString(Constant.userId)),
  438. "mtCompanyId": SpUtil.getString(Constant.companyId)
  439. };
  440. await DioUtils().requestNetwork<CertificateItem>(
  441. Method.post, ApiUrl.liftCertificate_findByUser,
  442. objectFromJson: (res) => CertificateItem.fromJsonMap(res),
  443. params: data,
  444. onSuccess: onSuccess,
  445. onError:(code,msg){
  446. loginExpire(code);
  447. onError(code,msg);
  448. });
  449. }
  450. ///项目列表
  451. Future searchProject(pageNum, pageSize, searchStr,
  452. {Function onSuccess, Function(int code, String msg) onError}) async {
  453. var data = {
  454. "mtCompanyId": SpUtil.getString(Constant.companyId),
  455. "pageNum": pageNum,
  456. "projectName":searchStr,
  457. "pageSize": pageSize
  458. };
  459. await DioUtils().requestNetwork<ProjectListEntity>(
  460. Method.post, ApiUrl.project_list,
  461. objectFromJson: (res) => ProjectListEntity.fromJsonMap(res),
  462. params: data,
  463. onSuccess: onSuccess,
  464. onError:(code,msg){
  465. loginExpire(code);
  466. onError(code,msg);
  467. });
  468. }
  469. ///项目详情
  470. Future projectDetail(id,
  471. {Function onSuccess, Function(int code, String msg) onError}) async {
  472. var data = {
  473. "id": id,
  474. };
  475. await DioUtils().requestNetwork<ProjectListItem>(
  476. Method.post, ApiUrl.project_detail,
  477. objectFromJson: (res) => ProjectListItem.fromJsonMap(res),
  478. params: data,
  479. onSuccess: onSuccess,
  480. onError:(code,msg){
  481. loginExpire(code);
  482. onError(code,msg);
  483. });
  484. }
  485. ///项目用户
  486. Future projectUser(id,
  487. {Function onSuccess, Function(int code, String msg) onError}) async {
  488. var data = {
  489. "id": id,
  490. };
  491. await DioUtils().requestNetwork<WorkerItem>(
  492. Method.post, ApiUrl.project_user,
  493. objectFromJson: (res) => WorkerItem.fromJsonMap(res),
  494. isList: true,
  495. params: data,
  496. onSuccessList: onSuccess,
  497. onError:(code,msg){
  498. loginExpire(code);
  499. onError(code,msg);
  500. });
  501. }
  502. ///电梯列表
  503. Future searchLift(projectId, pageNum, pageSize, searchStr,
  504. {Function onSuccess, Function(int code, String msg) onError}) async {
  505. var data = {
  506. "id": projectId,
  507. "pageNum": pageNum,
  508. "pageSize": pageSize,
  509. "registrationCode":searchStr
  510. };
  511. await DioUtils().requestNetwork<LiftListEntity>(
  512. Method.post, ApiUrl.lift_list,
  513. objectFromJson: (res) => LiftListEntity.fromJsonMap(res),
  514. params: data,
  515. onSuccess: onSuccess,
  516. onError:(code,msg){
  517. loginExpire(code);
  518. onError(code,msg);
  519. });
  520. }
  521. ///电梯详情
  522. Future liftDetail(projectId,id,
  523. {Function onSuccess, Function(int code, String msg) onError}) async {
  524. var data = {
  525. "projectId":projectId,
  526. "id": id,
  527. };
  528. await DioUtils().requestNetwork<LiftItem>(
  529. Method.post, ApiUrl.lift_detail,
  530. objectFromJson: (res) => LiftItem.fromJsonMap(res),
  531. params: data,
  532. onSuccess: onSuccess,
  533. onError:(code,msg){
  534. loginExpire(code);
  535. onError(code,msg);
  536. });
  537. }
  538. ///品牌
  539. Future liftBrand(
  540. {Function onSuccess, Function(int code, String msg) onError}) async {
  541. await DioUtils().requestNetwork<LiftBrandEntity>(
  542. Method.post, ApiUrl.lift_brand,
  543. objectFromJson: (res) => LiftBrandEntity.fromJsonMap(res),
  544. params: {},
  545. isList: true,
  546. onSuccessList: onSuccess,
  547. onError:(code,msg){
  548. loginExpire(code);
  549. onError(code,msg);
  550. });
  551. }
  552. ///添加电梯
  553. Future liftAdd(projectId,workerId, lift,
  554. {Function onSuccess, Function(int code, String msg) onError}) async {
  555. var data = {
  556. "workerId": workerId,
  557. "mtCompanyId": SpUtil.getString(Constant.companyId),
  558. "projectId": projectId,
  559. "lift": lift
  560. };
  561. await DioUtils().requestNetwork<bool>(
  562. Method.post, ApiUrl.lift_add,
  563. params: data,
  564. onSuccess: onSuccess,
  565. onError:(code,msg){
  566. loginExpire(code);
  567. onError(code,msg);
  568. });
  569. }
  570. ///编辑电梯
  571. Future liftEdit(projectId,workerId, lift,
  572. {Function onSuccess, Function(int code, String msg) onError}) async {
  573. var data = {
  574. "workerId": workerId,
  575. "mtCompanyId": SpUtil.getString(Constant.companyId),
  576. "projectId": projectId,
  577. "relevanceId": lift["relevanceId"],
  578. "lift": lift
  579. };
  580. await DioUtils().requestNetwork<bool>(
  581. Method.post, ApiUrl.lift_modify,
  582. params: data,
  583. onSuccess: onSuccess,
  584. onError:(code,msg){
  585. loginExpire(code);
  586. onError(code,msg);
  587. });
  588. }
  589. ///获取消息中心列表
  590. Future notificationList(
  591. {Function onSuccess, Function(int code, String msg) onError}) async {
  592. var data = {
  593. "userId": SpUtil.getString(Constant.userId),
  594. "companyId": SpUtil.getString(Constant.companyId)
  595. };
  596. await DioUtils().requestNetwork<TeamItem>(
  597. Method.post, ApiUrl.notification_list,
  598. objectFromJson: (res) => TeamItem.fromJsonMap(res),
  599. params: data, onSuccessList: onSuccess, onError: (code,msg){
  600. loginExpire(code);
  601. onError(code,msg);
  602. });
  603. }
  604. ///已加入的团队列表
  605. Future teamList(
  606. {Function onSuccess, Function(int code, String msg) onError}) async {
  607. var data = {
  608. "userId": SpUtil.getString(Constant.userId),
  609. "companyId": SpUtil.getString(Constant.companyId)
  610. };
  611. await DioUtils().requestNetwork<TeamItem>(
  612. Method.post, ApiUrl.mtcompany_ownList,
  613. objectFromJson: (res) => TeamItem.fromJsonMap(res),
  614. params: data, isList: true, onSuccessList: onSuccess, onError: (code,msg){
  615. loginExpire(code);
  616. onError(code,msg);
  617. });
  618. }
  619. ///搜索团队列表
  620. Future teamSearch(pageNum, pageSize, companyName,
  621. {Function onSuccess, Function(int code, String msg) onError}) async {
  622. var data = {
  623. "pageNum": "${pageNum}",
  624. "pageSize": "${pageSize}",
  625. "companyName": "${companyName}",
  626. };
  627. await DioUtils().requestNetwork<TeamEntity>(
  628. Method.post, ApiUrl.mtcompany_list,
  629. objectFromJson: (res) => TeamEntity.fromJsonMap(res),
  630. params: data, onSuccess: onSuccess, onError: (code,msg){
  631. loginExpire(code);
  632. onError(code,msg);
  633. });
  634. }
  635. ///团队创建
  636. Future teamCreate(logoImg, companyName, remarks, corporator, telephone,
  637. {Function onSuccess, Function(int code, String msg) onError}) async {
  638. var data = {
  639. "logoImg": "${logoImg}",
  640. "companyName": "${companyName}",
  641. "remarks": "${remarks}",
  642. "corporator": "${corporator}",
  643. "telephone": "${telephone}",
  644. "userId": SpUtil.getString(Constant.userId)
  645. };
  646. await DioUtils().requestNetwork<TeamEntity>(
  647. Method.post, ApiUrl.mtcompany_createTeam,
  648. objectFromJson: (res) => TeamEntity.fromJsonMap(res),
  649. params: data, onSuccess: onSuccess, onError
  650. : (code,msg){
  651. loginExpire(code);
  652. onError(code,msg);
  653. });
  654. }
  655. ///切换团队
  656. Future changTeam(companyId,
  657. {Function onSuccess, Function(int code, String msg) onError}) async {
  658. var data = {
  659. "companyId": companyId,
  660. "userId": SpUtil.getString(Constant.userId)
  661. };
  662. await DioUtils().requestNetwork<UserEntity>(
  663. Method.post, ApiUrl.mtcompany_changeTeam,
  664. objectFromJson: (res) => UserEntity.fromJsonMap(res),
  665. params: data, onSuccess: onSuccess, onError: (code,msg){
  666. loginExpire(code);
  667. onError(code,msg);
  668. });
  669. }
  670. ///申请加入团队
  671. Future applyTeam(companyId, desc,
  672. {Function onSuccess, Function(int code, String msg) onError}) async {
  673. var data = {
  674. "companyId": companyId,
  675. "userId": SpUtil.getString(Constant.userId),
  676. "description": desc
  677. };
  678. await DioUtils().requestNetwork<TeamEntity>(
  679. Method.post, ApiUrl.mtcompany_applyTeam,
  680. objectFromJson: (res) => TeamEntity.fromJsonMap(res),
  681. params: data, onSuccess: onSuccess, onError: (code,msg){
  682. loginExpire(code);
  683. onError(code,msg);
  684. });
  685. }
  686. Future teamDetail(
  687. {Function onSuccess, Function(int code, String msg) onError}) async {
  688. var data = {
  689. "companyId": SpUtil.getString(Constant.companyId),
  690. };
  691. await DioUtils().requestNetwork<TeamInfoItem>(
  692. Method.post, ApiUrl.mtcompany_teamInfo,
  693. objectFromJson: (res) => TeamInfoItem.fromJsonMap(res),
  694. params: data, onSuccess: onSuccess, onError: (code,msg){
  695. loginExpire(code);
  696. onError(code,msg);
  697. });
  698. }
  699. Future teamAuth(
  700. {Function onSuccess, Function(int code, String msg) onError}) async {
  701. var data = {
  702. "mtCompanyId": SpUtil.getString(Constant.companyId),
  703. };
  704. await DioUtils().requestNetwork<TeamAuthItem>(
  705. Method.post, ApiUrl.mtcompany_auditResult,
  706. objectFromJson: (res) => TeamAuthItem.fromJsonMap(res),
  707. params: data, onSuccess: onSuccess, onError: (code,msg){
  708. loginExpire(code);
  709. onError(code,msg);
  710. });
  711. }
  712. /**
  713. * 发起认证
  714. */
  715. Future teamUploadAuth(id,attestationName,contactsName,contactsTel,businessLicenseAnnex,taxRegistration,logo,
  716. {Function onSuccess, Function(int code, String msg) onError}) async {
  717. var data = {
  718. "id":id,
  719. "attestationName":attestationName,
  720. "contactsName":contactsName,
  721. "contactsTel":contactsTel,
  722. "businessLicenseAnnex":businessLicenseAnnex,
  723. "taxRegistration":taxRegistration,
  724. "logoImg":logo,
  725. "userId": SpUtil.getString(Constant.userId),
  726. "mtCompanyId": SpUtil.getString(Constant.companyId),
  727. };
  728. await DioUtils().requestNetwork<TeamAuthItem>(
  729. Method.post, ApiUrl.mtcompany_applyAudit,
  730. objectFromJson: (res) => TeamAuthItem.fromJsonMap(res),
  731. params: data, onSuccess: onSuccess, onError: (code,msg){
  732. loginExpire(code);
  733. onError(code,msg);
  734. });
  735. }
  736. Future teamUserList(pageNum,pageSize,
  737. {Function onSuccess, Function(int code, String msg) onError}) async {
  738. var data = {
  739. "companyId": SpUtil.getString(Constant.companyId),
  740. "pageNum":pageNum,
  741. "pageSize":pageSize
  742. };
  743. await DioUtils().requestNetwork<TeamUserEntity>(
  744. Method.post, ApiUrl.mtcompany_userList,
  745. objectFromJson: (res) => TeamUserEntity.fromJsonMap(res),
  746. params: data, onSuccess: onSuccess, onError: (code,msg){
  747. loginExpire(code);
  748. onError(code,msg);
  749. });
  750. }
  751. Future maintenanceCount(String time,
  752. {Function onSuccess, Function(int code, String msg) onError}) async {
  753. var data = {
  754. "userId": SpUtil.getString(Constant.userId),
  755. "beginTime":time.substring(0,8)+"01",
  756. };
  757. await DioUtils().requestNetwork<MantenanceCountItem>(
  758. Method.post, ApiUrl.maintenance_count,
  759. objectFromJson: (res) => MantenanceCountItem.fromJsonMap(res),
  760. isList: true,
  761. params: data, onSuccessList: onSuccess, onError: (code,msg){
  762. loginExpire(code);
  763. onError(code,msg);
  764. });
  765. }
  766. ///保养列表
  767. Future maintenanceList(pageNum, pageSize, status,time,
  768. {Function onSuccess, Function(int code, String msg) onError}) async {
  769. if(status == 0 || status == 3){
  770. var data = {
  771. "pageNum": pageNum,
  772. "pageSize": pageSize,
  773. "workerId": SpUtil.getString(Constant.userId),
  774. "status": status==3?-1:status,
  775. "currentTime": time
  776. };
  777. await DioUtils().requestNetwork<MaintenanceListEntity>(
  778. Method.post, ApiUrl.maintenance_planTask_list,
  779. objectFromJson: (res) => MaintenanceListEntity.fromJsonMap(res),
  780. params: data,
  781. onSuccess: onSuccess,
  782. onError: (code,msg){
  783. loginExpire(code);
  784. onError(code,msg);
  785. });
  786. }else{
  787. var data = {
  788. "pageNum": pageNum,
  789. "pageSize": pageSize,
  790. "workerId": SpUtil.getString(Constant.userId),
  791. "status": status,
  792. "currentTime": time
  793. };
  794. await DioUtils().requestNetwork<MaintenanceListEntity>(
  795. Method.post, ApiUrl.maintenance_recordTask_list,
  796. objectFromJson: (res) => MaintenanceListEntity.fromJsonMap(res),
  797. params: data,
  798. onSuccess: onSuccess,
  799. onError: (code,msg){
  800. loginExpire(code);
  801. onError(code,msg);
  802. });
  803. }
  804. }
  805. ///上次维保信息
  806. Future maintenanceRecordInfo(liftId,
  807. {Function onSuccess, Function(int code, String msg) onError}) async {
  808. var data = {
  809. "mtCompanyId": SpUtil.getString(Constant.companyId),
  810. "liftId": liftId
  811. };
  812. await DioUtils().requestNetwork<MaintenanceLastEntity>(
  813. Method.post, ApiUrl.maintenance_record_info,
  814. objectFromJson: (res) => MaintenanceLastEntity.fromJsonMap(res),
  815. params: data,
  816. onSuccess: onSuccess,
  817. onError: (code,msg){
  818. loginExpire(code);
  819. onError(code,msg);
  820. });
  821. }
  822. ///保养项目
  823. Future maintenanceOptions(type, liftCategory,
  824. {Function onSuccess, Function(int code, String msg) onError}) async {
  825. var data = {
  826. "mtCompanyId": SpUtil.getString(Constant.companyId),
  827. "type": type,
  828. "liftCategory": liftCategory
  829. };
  830. await DioUtils().requestNetwork<MaintenanceOptionsItem>(
  831. Method.post, ApiUrl.maintenance_options,
  832. objectFromJson: (res) => MaintenanceOptionsItem.fromJsonMap(res),
  833. params: data,
  834. isList: true,
  835. onSuccessList: onSuccess,
  836. onError: (code,msg){
  837. loginExpire(code);
  838. onError(code,msg);
  839. });
  840. }
  841. ///保养项目
  842. Future maintenanceRecordAdd(id,workerId, liftId, liftType, projectId, type,
  843. safetyConfirm, coordinate, address,isRegular,isRepair,
  844. {Function onSuccess, Function(int code, String msg) onError}) async {
  845. String mType = "1";
  846. if(type == "6" || type == "18"){
  847. mType = "2";
  848. }else if(type == "12"){
  849. mType = "3";
  850. }else if(type == "24" ){
  851. mType ="4";
  852. }
  853. var data = {
  854. "coordinate":coordinate,
  855. "periods":type,
  856. "record": {
  857. "mtCompanyId": SpUtil.getString(Constant.companyId),
  858. "workerId1": SpUtil.getString(Constant.userId),
  859. "workerId": workerId,
  860. "mtPlanId": id,
  861. "liftId": liftId,
  862. "liftType": liftType,
  863. "projectId": projectId,
  864. "type": mType,
  865. "safetyConfirm": safetyConfirm,
  866. "position": address,
  867. "isRegular":isRegular,
  868. "isRepair":isRepair
  869. }
  870. };
  871. await
  872. DioUtils().requestNetwork<String>(
  873. Method.post, ApiUrl.maintenance_record_add,
  874. params: data,
  875. onSuccess: onSuccess,
  876. onError: (code,msg){
  877. loginExpire(code);
  878. onError(code,msg);
  879. });
  880. }
  881. ///提交保养单
  882. Future maintenanceRecordModify(id, maintenanceAdvice, options,
  883. signatureImg1, signatureImg2, images,
  884. {Function onSuccess, Function(int code, String msg) onError}) async {
  885. var data =
  886. {
  887. "record": {
  888. "id": id,
  889. "maintenanceAdvice": maintenanceAdvice,
  890. "maintenanceOption": options,
  891. "signatureImg1": signatureImg1,
  892. "signatureImg2": signatureImg2,
  893. },
  894. "recordImageList": images
  895. };
  896. await DioUtils().requestNetwork<bool>(
  897. Method.post, ApiUrl.maintenance_record_modify,
  898. params: data,
  899. onSuccess: onSuccess,
  900. onError: (code,msg){
  901. loginExpire(code);
  902. onError(code,msg);
  903. });
  904. }
  905. ///保养详情
  906. Future maintenanceRecordDetail(id,
  907. {Function onSuccess, Function(int code, String msg) onError}) async {
  908. var data = {
  909. "id": id
  910. };
  911. await DioUtils().requestNetwork<MaintenanceDetailEntity>(
  912. Method.post, ApiUrl.maintenance_record_detail,
  913. objectFromJson: (res)=>MaintenanceDetailEntity.fromJsonMap(res),
  914. params: data,
  915. onSuccess: onSuccess,
  916. onError: (code,msg){
  917. loginExpire(code);
  918. onError(code,msg);
  919. });
  920. }
  921. ///保养评价
  922. Future maintenanceEvaluate(id, advice, serviceLevel, starLevel, imgUrl,
  923. {Function onSuccess,
  924. Function(int code, String msg) onError}) async {
  925. var data = {
  926. "userId": SpUtil.getString(Constant.userId),
  927. "recordId": id,
  928. "type": 2,
  929. "advice": advice,
  930. "serviceLevel": serviceLevel,
  931. "starLevel": starLevel,
  932. "imgUrl": imgUrl,
  933. };
  934. await DioUtils().requestNetwork<bool>(
  935. Method.post, ApiUrl.maintenance_record_evaluate,
  936. params: data, onSuccess: onSuccess, onError: (code,msg){
  937. loginExpire(code);
  938. onError(code,msg);
  939. });
  940. }
  941. ///急修列表
  942. Future repairCount(
  943. {Function onSuccess, Function(int code, String msg) onError}) async {
  944. await DioUtils().requestNetwork<RepairCountItem>(
  945. Method.post, ApiUrl.repair_count,
  946. objectFromJson: (res) => RepairCountItem.fromJsonMap(res),
  947. params: {},
  948. onSuccess: onSuccess,
  949. onError: (code,msg){
  950. loginExpire(code);
  951. onError(code,msg);
  952. });
  953. }
  954. ///急修列表
  955. Future repairList(pageNum, pageSize, status,
  956. {Function onSuccess, Function(int code, String msg) onError}) async {
  957. var data = {
  958. "pageNum": pageNum,
  959. "pageSize": pageSize,
  960. "workerId": SpUtil.getString(Constant.userId),
  961. "status": status
  962. };
  963. await DioUtils().requestNetwork<RepairListEntity>(
  964. Method.post, ApiUrl.repair_list,
  965. objectFromJson: (res) => RepairListEntity.fromJsonMap(res),
  966. params: data,
  967. onSuccess: onSuccess,
  968. onError: (code,msg){
  969. loginExpire(code);
  970. onError(code,msg);
  971. });
  972. }
  973. ///新增急修
  974. Future repairAdd(projectId,liftId, isTrapped,isCritical,repairReason,callerFaultDescription,callerName,callerTel,callerDate,
  975. {Function onSuccess, Function(int code, String msg) onError}) async {
  976. var data = {
  977. "mtCompanyId": SpUtil.getString(Constant.companyId),
  978. "workerId1":SpUtil.getString(Constant.userId),
  979. "projectId": projectId,
  980. "liftId": liftId,
  981. "isTrapped": isTrapped,
  982. "isCritical": isCritical,
  983. "repairReason": repairReason,
  984. "callerFaultDescription": callerFaultDescription,
  985. "source": 2,
  986. "callerName": callerName,
  987. "callerTel": callerTel,
  988. "callerDate": callerDate,
  989. };
  990. await DioUtils().requestNetwork<bool>(Method.post, ApiUrl.repair_add,
  991. params: data, onSuccess: onSuccess, onError: (code,msg){
  992. loginExpire(code);
  993. onError(code,msg);
  994. });
  995. }
  996. ///接单
  997. Future repairTaking(id, takingTime,
  998. {Function onSuccess, Function(int code, String msg) onError}) async {
  999. var data = {
  1000. "id": id,
  1001. "takingTime": takingTime,
  1002. };
  1003. await DioUtils().requestNetwork<bool>(Method.post, ApiUrl.repair_taking,
  1004. params: data, onSuccess: onSuccess, onError: (code,msg){
  1005. loginExpire(code);
  1006. onError(code,msg);
  1007. });
  1008. }
  1009. ///到达
  1010. Future repairArrive(id, arriveTime, position,
  1011. {Function onSuccess, Function(int code, String msg) onError}) async {
  1012. var data = {"id": id, "arriveTime": arriveTime, "position": position};
  1013. await DioUtils().requestNetwork<bool>(Method.post, ApiUrl.repair_arrive,
  1014. params: data, onSuccess: onSuccess, onError: (code,msg){
  1015. loginExpire(code);
  1016. onError(code,msg);
  1017. });
  1018. }
  1019. ///停梯
  1020. Future repairStop(id, stopDate, safetyConfirm,
  1021. {Function onSuccess, Function(int code, String msg) onError}) async {
  1022. var data = {"id": id, "stopDate": stopDate, "safetyConfirm": safetyConfirm};
  1023. await DioUtils().requestNetwork<bool>(Method.post, ApiUrl.repair_stop,
  1024. params: data, onSuccess: onSuccess, onError: (code,msg){
  1025. loginExpire(code);
  1026. onError(code,msg);
  1027. });
  1028. }
  1029. ///获取急修故障
  1030. Future repairFaultTree(liftCategory,
  1031. {Function onSuccess, Function(int code, String msg) onError}) async {
  1032. var data = {
  1033. "liftCategory": liftCategory
  1034. };
  1035. await DioUtils().requestNetwork<RepairFaultEntity>(
  1036. Method.post, ApiUrl.repair_fault_tree,
  1037. objectFromJson: (res) => RepairFaultEntity.fromJsonMap(res),
  1038. params: data,
  1039. isList: true,
  1040. onSuccessList: onSuccess,
  1041. onError: (code,msg){
  1042. loginExpire(code);
  1043. onError(code,msg);
  1044. });
  1045. }
  1046. ///保存急修单
  1047. Future repairSaveOrder(id,
  1048. recoveryDate,
  1049. erRecordImg,
  1050. fieldDescription,
  1051. mainSign,
  1052. secondSign,
  1053. faultPart,
  1054. faultReason,
  1055. faultHandle,
  1056. faultNature,
  1057. faultDuty,
  1058. {Function onSuccess,
  1059. Function(int code, String msg) onError}) async {
  1060. var data = {
  1061. "id": id,
  1062. "recoveryDate": recoveryDate,
  1063. "erRecordImg": erRecordImg,
  1064. "fieldDescription": fieldDescription,
  1065. "mainSign": mainSign,
  1066. "secondSign": secondSign,
  1067. "faultPart": faultPart,
  1068. "faultReason": faultReason,
  1069. "faultHandle": faultHandle,
  1070. "faultNature": faultNature,
  1071. "faultDuty": faultDuty,
  1072. };
  1073. print(data);
  1074. await DioUtils().requestNetwork<bool>(
  1075. Method.post, ApiUrl.repair_repairOrder,
  1076. params: data, onSuccess: onSuccess, onError: (code,msg){
  1077. loginExpire(code);
  1078. onError(code,msg);
  1079. });
  1080. }
  1081. ///获取急修单
  1082. Future repairDetail(id,
  1083. {Function onSuccess,
  1084. Function(int code, String msg) onError}) async {
  1085. var data = {
  1086. "id": id
  1087. };
  1088. await DioUtils().requestNetwork<RepairItem>(
  1089. Method.post, ApiUrl.repair_detail,
  1090. objectFromJson: (res) => RepairItem.fromJsonMap(res),
  1091. params: data, onSuccess: onSuccess, onError: (code,msg){
  1092. loginExpire(code);
  1093. onError(code,msg);
  1094. });
  1095. }
  1096. ///急修评价
  1097. Future repairEvaluate(id, advice, serviceLevel, starLevel, imgUrl,
  1098. {Function onSuccess,
  1099. Function(int code, String msg) onError}) async {
  1100. var data = {
  1101. "userId": SpUtil.getString(Constant.userId),
  1102. "recordId": id,
  1103. "type": 2,
  1104. "advice": advice,
  1105. "serviceLevel": serviceLevel,
  1106. "starLevel": starLevel,
  1107. "imgUrl": imgUrl,
  1108. };
  1109. await DioUtils().requestNetwork<bool>(
  1110. Method.post, ApiUrl.repair_evaluate,
  1111. params: data, onSuccess: onSuccess, onError: (code,msg){
  1112. loginExpire(code);
  1113. onError(code,msg);
  1114. });
  1115. }
  1116. ///年检列表
  1117. Future yearlyList(pageNum, pageSize, status,
  1118. {Function onSuccess, Function(int code, String msg) onError}) async {
  1119. var data = {
  1120. "pageNum": pageNum,
  1121. "pageSize": pageSize,
  1122. "workerId": SpUtil.getString(Constant.userId),
  1123. "status": status //年检完成状态(0 待完成;1 已完成;2 超期)
  1124. };
  1125. await DioUtils().requestNetwork<YearlyListEntity>(
  1126. Method.post, ApiUrl.yearly_list,
  1127. objectFromJson: (res) => YearlyListEntity.fromJsonMap(res),
  1128. params: data,
  1129. onSuccess: onSuccess,
  1130. onError: (code,msg){
  1131. loginExpire(code);
  1132. onError(code,msg);
  1133. });
  1134. }
  1135. ///年检管理-待确认年检列表
  1136. Future yearlyNoConfirmList(pageNum, pageSize, status,
  1137. {Function onSuccess, Function(int code, String msg) onError}) async {
  1138. var data = {
  1139. "pageNum": pageNum,
  1140. "pageSize": pageSize,
  1141. "mtCompanyId": SpUtil.getString(Constant.companyId),
  1142. };
  1143. await DioUtils().requestNetwork<YearlyListEntity>(
  1144. Method.post, ApiUrl.yearly_toConfirmList,
  1145. objectFromJson: (res) => YearlyListEntity.fromJsonMap(res),
  1146. params: data,
  1147. onSuccess: onSuccess,
  1148. onError: (code,msg){
  1149. loginExpire(code);
  1150. onError(code,msg);
  1151. });
  1152. }
  1153. Future yearlyConfirm(liftId,isCheckGoverner,loadInspectionSetting,planDate,
  1154. {Function onSuccess, Function(int code, String msg) onError}) async {
  1155. var data = {
  1156. "liftId": liftId,
  1157. "mtCompanyId": SpUtil.getString(Constant.companyId),
  1158. "isCheckGoverner": isCheckGoverner,
  1159. "loadInspectionSetting": loadInspectionSetting,
  1160. "planDate": planDate
  1161. };
  1162. await DioUtils().requestNetwork<String>(Method.post, ApiUrl.yearly_confirm,
  1163. params: data, onSuccess: onSuccess, onError: (code,msg){
  1164. loginExpire(code);
  1165. onError(code,msg);
  1166. });
  1167. }
  1168. ///上传质检报告
  1169. Future yearlySelfCheck(id, time, imgUrl,
  1170. {Function onSuccess, Function(int code, String msg) onError}) async {
  1171. var data = {
  1172. "id": id,
  1173. "selfcheckDate": "${time}",
  1174. "selfcheckReportImg": "${imgUrl}"
  1175. };
  1176. await DioUtils().requestNetwork<bool>(Method.post, ApiUrl.yearly_selfcheck,
  1177. params: data, onSuccess: onSuccess, onError: (code,msg){
  1178. loginExpire(code);
  1179. onError(code,msg);
  1180. });
  1181. }
  1182. ///上传检验结果
  1183. Future yearlyCheck(id, time, imgUrl,
  1184. {Function onSuccess, Function(int code, String msg) onError}) async {
  1185. var data = {
  1186. "id": id,
  1187. "checkDate": "${time}",
  1188. "checkResultImg": "${imgUrl}"
  1189. };
  1190. await DioUtils().requestNetwork<bool>(Method.post, ApiUrl.yearly_check,
  1191. params: data, onSuccess: onSuccess, onError: (code,msg){
  1192. loginExpire(code);
  1193. onError(code,msg);
  1194. });
  1195. }
  1196. ///上传检验结果
  1197. Future yearlyFinish(id, imgUrl, imgUrl2,
  1198. {Function onSuccess, Function(int code, String msg) onError}) async {
  1199. var data = {
  1200. "id": id,
  1201. "certificateImgUrl": "${imgUrl2}",
  1202. "annualInspectionImg": "${imgUrl}"
  1203. };
  1204. await DioUtils().requestNetwork<bool>(Method.post, ApiUrl.yearly_finish,
  1205. params: data, onSuccess: onSuccess, onError: (code,msg){
  1206. loginExpire(code);
  1207. onError(code,msg);
  1208. });
  1209. }
  1210. ///年检统计
  1211. Future yearlyCount(
  1212. {Function onSuccess, Function(int code, String msg) onError}) async {
  1213. await DioUtils().requestNetwork<YearlyCountItem>(Method.post, ApiUrl.yearly_count,
  1214. objectFromJson:(res) => YearlyCountItem.fromJsonMap(res),
  1215. params: {}, onSuccess: onSuccess, onError: (code,msg){
  1216. loginExpire(code);
  1217. onError(code,msg);
  1218. });
  1219. }
  1220. Future newsList(pageNum, pageSize, haveTops,title,city,
  1221. {Function onSuccess, Function(int code, String msg) onError}) async {
  1222. var data = {
  1223. "pageNum": pageNum,
  1224. "pageSize": pageSize,
  1225. "haveTops": haveTops,
  1226. "title": title,
  1227. "district": city
  1228. };
  1229. await DioUtils().requestNetwork<NewsCommEntity>(Method.post, ApiUrl.news_list,
  1230. objectFromJson: (res) => NewsCommEntity.fromJsonMap(res),
  1231. params: data, onSuccess: onSuccess, onError: (code,msg){
  1232. loginExpire(code);
  1233. onError(code,msg);
  1234. });
  1235. }
  1236. Future newsDetail(id,
  1237. {Function onSuccess, Function(int code, String msg) onError}) async {
  1238. var data = {
  1239. "id": id,
  1240. };
  1241. await DioUtils().requestNetwork<NewsDetailItem>(Method.post, ApiUrl.news_detail,
  1242. objectFromJson: (res) => NewsDetailItem.fromJsonMap(res),
  1243. params: data, onSuccess: onSuccess, onError: (code,msg){
  1244. loginExpire(code);
  1245. onError(code,msg);
  1246. });
  1247. }
  1248. Future newsZan(id,
  1249. {Function onSuccess, Function(int code, String msg) onError}) async {
  1250. var data = {
  1251. "id": id,
  1252. "userId": SpUtil.getString(Constant.userId)
  1253. };
  1254. await DioUtils().requestNetwork<NewsDetailItem>(Method.post, ApiUrl.news_zan,
  1255. objectFromJson: (res) => NewsDetailItem.fromJsonMap(res),
  1256. params: data, onSuccess: onSuccess, onError: (code,msg){
  1257. loginExpire(code);
  1258. onError(code,msg);
  1259. });
  1260. }
  1261. Future signList(pageNum, pageSize, clockTime,
  1262. {Function onSuccess, Function(int code, String msg) onError}) async {
  1263. var data = {
  1264. "pageNum": pageNum,
  1265. "pageSize": pageSize,
  1266. "userId": SpUtil.getString(Constant.userId),
  1267. "clockTime": clockTime,
  1268. };
  1269. await DioUtils().requestNetwork<SignListEntity>(Method.post, ApiUrl.sign_list,
  1270. objectFromJson: (res) => SignListEntity.fromJsonMap(res),
  1271. params: data, onSuccess: onSuccess, onError: (code,msg){
  1272. loginExpire(code);
  1273. onError(code,msg);
  1274. });
  1275. }
  1276. Future signConfig({Function onSuccess, Function(int code, String msg) onError}) async {
  1277. var data = {
  1278. "mtCompanyId": SpUtil.getString(Constant.companyId),
  1279. };
  1280. await DioUtils().requestNetwork<SignConfigItem>(Method.post, ApiUrl.sign_config,
  1281. objectFromJson: (res) => SignConfigItem.fromJsonMap(res),
  1282. params: data, onSuccess: onSuccess, onError: (code,msg){
  1283. loginExpire(code);
  1284. onError(code,msg);
  1285. });
  1286. }
  1287. Future signAdd(coordinate,address,type,{Function onSuccess, Function(int code, String msg) onError}) async {
  1288. var data = {
  1289. "mtCompanyId": SpUtil.getString(Constant.companyId),
  1290. "userId": SpUtil.getString(Constant.userId),
  1291. "coordinate": coordinate,
  1292. "address": address,
  1293. "type": type
  1294. };
  1295. await DioUtils().requestNetwork<bool>(Method.post, ApiUrl.sign_add,
  1296. params: data, onSuccess: onSuccess, onError: (code,msg){
  1297. loginExpire(code);
  1298. onError(code,msg);
  1299. });
  1300. }
  1301. ///大修统计
  1302. Future heavyCount(
  1303. {Function onSuccess, Function(int code, String msg) onError}) async {
  1304. await DioUtils().requestNetwork<HeavyCountItem>(
  1305. Method.post, ApiUrl.capital_count,
  1306. objectFromJson: (res) => HeavyCountItem.fromJsonMap(res),
  1307. params: {},
  1308. onSuccess: onSuccess,
  1309. onError: (code,msg){
  1310. loginExpire(code);
  1311. onError(code,msg);
  1312. });
  1313. }
  1314. ///大修项目列表
  1315. Future searchHeavyProject(pageNum, pageSize, status,
  1316. {Function onSuccess, Function(int code, String msg) onError}) async {
  1317. var data = {
  1318. "mtCompanyId": SpUtil.getString(Constant.companyId),
  1319. "userId":SpUtil.getString(Constant.userId),
  1320. "projectStatus":status,
  1321. "pageNum": pageNum,
  1322. "projectName":"",
  1323. "pageSize": pageSize
  1324. };
  1325. await DioUtils().requestNetwork<HeavyListEntity>(
  1326. Method.post, ApiUrl.capital_project_list,
  1327. objectFromJson: (res) => HeavyListEntity.fromJsonMap(res),
  1328. params: data,
  1329. onSuccess: onSuccess,
  1330. onError: (code,msg){
  1331. loginExpire(code);
  1332. onError(code,msg);
  1333. });
  1334. }
  1335. ///大修电梯列表
  1336. Future searchHeavyLift(projectId, pageNum, pageSize, searchStr,
  1337. {Function onSuccess, Function(int code, String msg) onError}) async {
  1338. var data = {
  1339. "id": projectId,
  1340. "pageNum": pageNum,
  1341. "pageSize": pageSize,
  1342. "registrationCode":searchStr
  1343. };
  1344. await DioUtils().requestNetwork<LiftListEntity>(
  1345. Method.post, ApiUrl.capital_lift_list,
  1346. objectFromJson: (res) => LiftListEntity.fromJsonMap(res),
  1347. params: data,
  1348. onSuccess: onSuccess,
  1349. onError: (code,msg){
  1350. loginExpire(code);
  1351. onError(code,msg);
  1352. });
  1353. }
  1354. ///大修项目详情
  1355. Future heavyProjectDetail(id,
  1356. {Function onSuccess, Function(int code, String msg) onError}) async {
  1357. var data = {
  1358. "id": id,
  1359. };
  1360. await DioUtils().requestNetwork<HeavyItem>(
  1361. Method.post, ApiUrl.capital_project_detail,
  1362. objectFromJson: (res) => HeavyItem.fromJsonMap(res),
  1363. params: data,
  1364. onSuccess: onSuccess,
  1365. onError: (code,msg){
  1366. loginExpire(code);
  1367. onError(code,msg);
  1368. });
  1369. }
  1370. ///大修项目用户列表
  1371. Future heavyUserList(projectId,isUser,signDate,
  1372. {Function onSuccess, Function(int code, String msg) onError}) async {
  1373. var data = {
  1374. "mtCompanyId": SpUtil.getString(Constant.companyId),
  1375. "projectId":projectId,
  1376. "userId":isUser?SpUtil.getString(Constant.userId):"",
  1377. };
  1378. if(signDate.length>0){
  1379. data['signDate'] = signDate;
  1380. }
  1381. await DioUtils().requestNetwork<HeavyUserEntity>(
  1382. Method.post, ApiUrl.capital_attendance_list,
  1383. objectFromJson: (res) => HeavyUserEntity.fromJsonMap(res),
  1384. isList: true,
  1385. params: data, onSuccessList: onSuccess, onError: (code,msg){
  1386. loginExpire(code);
  1387. onError(code,msg);
  1388. });
  1389. }
  1390. ///大修签到
  1391. Future heavySignAdd(coordinate,address,projectId,{Function onSuccess, Function(int code, String msg) onError}) async {
  1392. var data = {
  1393. "mtCompanyId": SpUtil.getString(Constant.companyId),
  1394. "userId": SpUtil.getString(Constant.userId),
  1395. "projectId":projectId,
  1396. "coordinate": coordinate,
  1397. "address": address
  1398. };
  1399. await DioUtils().requestNetwork<bool>(Method.post, ApiUrl.capital_sign_in,
  1400. params: data, onSuccess: onSuccess, onError: (code,msg){
  1401. loginExpire(code);
  1402. onError(code,msg);
  1403. });
  1404. }
  1405. ///开始项目
  1406. Future capitalBegin(id,{Function onSuccess, Function(int code, String msg) onError}) async {
  1407. var data = {
  1408. "projectId": id,
  1409. };
  1410. await DioUtils().requestNetwork<bool>(Method.post, ApiUrl.capital_begin,
  1411. params: data, onSuccess: onSuccess, onError: (code,msg){
  1412. loginExpire(code);
  1413. onError(code,msg);
  1414. });
  1415. }
  1416. ///竣工
  1417. Future capitalCompleted(id,imgs,{Function onSuccess, Function(int code, String msg) onError}) async {
  1418. var data = {
  1419. "mtCompanyId": SpUtil.getString(Constant.companyId),
  1420. "projectId": id,
  1421. "imageUrlList":imgs
  1422. };
  1423. await DioUtils().requestNetwork<String>(Method.post, ApiUrl.capital_completed,
  1424. params: data, onSuccess: onSuccess, onError: (code,msg){
  1425. loginExpire(code);
  1426. onError(code,msg);
  1427. });
  1428. }
  1429. ///消息列表
  1430. Future messageList(pageIndex,pageSize,type,
  1431. {Function onSuccess, Function(int code, String msg) onError}) async {
  1432. var data = {
  1433. "userId": SpUtil.getString(Constant.userId),
  1434. "type":type,
  1435. "pageNum":pageIndex,
  1436. "pageSize":pageSize,
  1437. };
  1438. await DioUtils().requestNetwork<MessageListEntity>(
  1439. Method.post, ApiUrl.push_msg_list,
  1440. objectFromJson: (res) => MessageListEntity.fromJsonMap(res),
  1441. params: data, onSuccess: onSuccess, onError: (code,msg){
  1442. loginExpire(code);
  1443. onError(code,msg);
  1444. });
  1445. }
  1446. ///消息列表
  1447. Future messageDetail(id,
  1448. {Function onSuccess, Function(int code, String msg) onError}) async {
  1449. var data = {
  1450. "id":id,
  1451. };
  1452. await DioUtils().requestNetwork<MessageListItem>(
  1453. Method.post, ApiUrl.push_msg,
  1454. objectFromJson: (res) => MessageListItem.fromJsonMap(res),
  1455. params: data, onSuccess: onSuccess, onError: (code,msg){
  1456. loginExpire(code);
  1457. onError(code,msg);
  1458. });
  1459. }
  1460. loginExpire(int code){
  1461. if(code == 10 && context != null){
  1462. showAlert(context, "提示", "用户登录失效,请重新登录", "重新登录", (){
  1463. User().clearUser();
  1464. _push.unbindAccount(account: f.SpUtil.getString(Constant.phone));
  1465. NavigatorUtils.push(context, AccountRouter.loginPage, clearStack: true);
  1466. });
  1467. }
  1468. }
  1469. Options _getFormOptions() {
  1470. Map<String, String> map = new Map();
  1471. // map["Content-Type"] = "multipart/form-data; charset=utf-8";
  1472. map["Accept"] = "application/json";
  1473. // return Options(contentType: "multipart/form-data; charset=utf-8",responseType: ResponseType.json);
  1474. return Options(contentType: "multipart/form-data; charset=utf-8");
  1475. }
  1476. }