import 'dart:io'; import 'package:dio/dio.dart'; import 'package:fake_push/fake_push.dart'; import 'package:flustars/flustars.dart'; import 'package:flutter/cupertino.dart'; import 'package:liftmanager/common/common.dart'; import 'package:liftmanager/common/user_db.dart'; import 'package:liftmanager/internal/account/account_router.dart'; import 'package:liftmanager/internal/account/model/certificate_item.dart'; import 'package:liftmanager/internal/account/model/user_entity.dart'; import 'package:liftmanager/internal/account/model/user_info_entity.dart'; import 'package:liftmanager/internal/heavy/model/heavy_count_item.dart'; import 'package:liftmanager/internal/heavy/model/heavy_list_entity.dart'; import 'package:liftmanager/internal/heavy/model/heavy_user_entity.dart'; import 'package:liftmanager/internal/maintenance/model/maintenance_count_item.dart'; import 'package:liftmanager/internal/message/model/message_list_entity.dart'; import 'package:liftmanager/internal/news/model/news_comm_entity.dart'; import 'package:liftmanager/internal/news/model/news_detail_item.dart'; import 'package:liftmanager/internal/heavy/model/heavy_item.dart'; import 'package:liftmanager/internal/lift/model/lift_brand_entity.dart'; import 'package:liftmanager/internal/lift/model/lift_item.dart'; import 'package:liftmanager/internal/lift/model/lift_list_entity.dart'; import 'package:liftmanager/internal/maintenance/model/maintenance_detail_item.dart'; import 'package:liftmanager/internal/maintenance/model/maintenance_last_entity.dart'; import 'package:liftmanager/internal/maintenance/model/maintenance_list_entity.dart'; import 'package:liftmanager/internal/maintenance/model/maintenance_options_item.dart'; import 'package:liftmanager/internal/project/model/project_list_entity.dart'; import 'package:liftmanager/internal/project/model/worker_entity.dart'; import 'package:liftmanager/internal/repair/model/repair_count_item.dart'; import 'package:liftmanager/internal/repair/model/repair_fault_entity.dart'; import 'package:liftmanager/internal/repair/model/repair_list_entity.dart'; import 'package:liftmanager/internal/sign/model/sign_config_item.dart'; import 'package:liftmanager/internal/sign/model/sign_list_entity.dart'; import 'package:liftmanager/internal/team/model/team_auth_item.dart'; import 'package:liftmanager/internal/team/model/team_current_entity.dart'; import 'package:liftmanager/internal/team/model/team_entity.dart'; import 'package:liftmanager/internal/team/model/team_info_item.dart'; import 'package:liftmanager/internal/team/model/team_user_entity.dart'; import 'package:liftmanager/internal/wode/model/version_item.dart'; import 'package:liftmanager/internal/work/model/banner_entity.dart'; import 'package:liftmanager/internal/work/model/count_doing_item.dart'; import 'package:liftmanager/internal/yearly/model/yearly_count_item.dart'; import 'package:liftmanager/internal/yearly/model/yearly_list_entity.dart'; import 'package:liftmanager/net/dio_utils.dart'; import 'package:liftmanager/routers/fluro_navigator.dart'; import 'package:liftmanager/utils/toast.dart'; import 'package:flustars/flustars.dart' as f; class ApiUrl { ///上传图片 static const String upload = ":20227/common/upload"; static const String uploads = ":20227/common/uploads"; // static const String upload = "http://121.40.159.228:20234/common/upload"; // static const String uploads = "http://121.40.159.228:20234/common/uploads"; // static const String upload = ":10111/upload"; // static const String uploads = ":10111/uploads"; ///banner static const String banner_list = ":20230/banner/list"; ///统计 static const String count_doing = ":20227/common/countDoing"; ///登录 static const String version = ":20230/version"; static const String account_login = ":20230/login/login"; static const String account_wxlogin = ":20230/login/wxLogin"; static const String account_smscode = ":20230/login/smsCode"; static const String account_register = ":20230/login/register"; static const String account_wxregister = ":20230/login/wxRegister"; static const String account_resetPassword = ":20230/login/resetPassword"; static const String account_appBindMobile = ":20230/login/appBindMobile"; ///用户信息相关 static const String user_info = ":20230/user/info"; static const String modify_avatar = ":20230/user/modifyAvatar"; static const String modify_name = ":20230/user/modifyName"; ///操作证 static const String liftCertificate_add = ":20229/oa/liftCertificate/add"; static const String liftCertificate_findByUser = ":20229/oa/liftCertificate/findByUser"; ///消息中心列表 static const String notification_list = ":20230/notification/list"; ///团队 static const String mtcompany_ownList = ":20230/mtcompany/ownList"; static const String mtcompany_list = ":20230/mtcompany/list"; static const String mtcompany_createTeam = ":20230/mtcompany/createTeam"; static const String mtcompany_changeTeam = ":20230/login/changeTeam"; static const String mtcompany_applyTeam = ":20230/userapply/applyTeam"; static const String mtcompany_auditResult = ":20230/attestation/auditResult"; static const String mtcompany_applyAudit = ":20230/attestation/applyAudit"; static const String mtcompany_teamInfo = ":20230/mtcompany/teamInfo"; static const String mtcompany_userList = ":20230/companyuser/app/getCompanyMembers"; ///项目 static const String project_list = ":20227/app/project/list"; static const String project_detail = ":20227/app/project/detail"; static const String project_user = ":20227/app/project/user/list"; ///电梯 static const String lift_brand = ":20227/common/brand/list"; static const String lift_list = ":20227/app/lift/list"; static const String lift_detail = ":20227/lift/detail"; static const String lift_add = ":20227/app/lift/add"; static const String lift_modify = ":20227/lift/modify"; ///急修 static const String repair_count = ":20227/emergency/emergency-repair/count"; static const String repair_list = ":20227/emergency/emergency-repair/pageWorker"; static const String repair_add = ":20227/emergency/emergency-repair/add"; static const String repair_taking = ":20227/emergency/emergency-repair/taking"; static const String repair_arrive = ":20227/emergency/emergency-repair/arrive"; static const String repair_stop = ":20227/emergency/emergency-repair/stop"; static const String repair_fault_tree = ":20227/emergency/emergency-repair/fault/tree"; static const String repair_fault_list = ":20227/emergency/emergency-repair/fault/list"; static const String repair_repairOrder = ":20227/emergency/emergency-repair/repairOrder"; static const String repair_detail = ":20227/emergency/emergency-repair/findOne"; static const String repair_evaluate = ":20227/emergency/emergency-repair/evaluate"; ///日常保养 static const String maintenance_count = ":20227/app/maintenance/count"; static const String maintenance_planTask_list = ":20227/app/maintenance/planTask"; static const String maintenance_recordTask_list = ":20227/app/maintenance/recordTask"; // static const String maintenance_list = ":20227/app/maintenance/task"; static const String maintenance_record_info = ":20227/app/maintenance/record/info"; static const String maintenance_options = ":20229/maintenance-option/options"; static const String maintenance_record_add = ":20227/app/record/add"; static const String maintenance_record_modify = ":20227/app/record/modify"; static const String maintenance_record_detail = ":20227/maintenance/record/one"; static const String maintenance_record_evaluate = ":20227/maintenance/record/evaluate"; ///年检 static const String yearly_list = ":20227/annualinspection/annual-inspection/pageWorker"; static const String yearly_toConfirmList = ":20227/annualinspection/annual-inspection/toConfirm"; static const String yearly_confirm = ":20227/annualinspection/annual-inspection/confirm"; static const String yearly_selfcheck = ":20227/annualinspection/annual-inspection/selfcheck"; static const String yearly_check = ":20227/annualinspection/annual-inspection/check"; static const String yearly_finish = ":20227/annualinspection/annual-inspection/finish"; static const String yearly_count = ":20227/annualinspection/annual-inspection/count"; ///新闻 static const String news_city = ":20232/news/location"; static const String news_list = ":20232/news/app/list"; static const String news_detail = ":20232/news"; static const String news_zan = ":20232/news/like"; ///考勤签到 static const String sign_list = ":20229/oa/attendance/pageByUser"; static const String sign_config = ":20229/oa/attendance/time"; static const String sign_add = ":20229/oa/attendance/clock"; ///大修 static const String capital_count = ":20227/app/capital/count"; static const String capital_project_list = ":20227/app/capital/project/list"; static const String capital_lift_list = ":20227/app/capital/lift/list"; static const String capital_attendance_list = ":20227/app/capital/attendance/list"; static const String capital_sign_in = ":20227/app/capital/sign/in"; static const String capital_overdueApply = ":20227/app/capital/overdueApply"; static const String capital_project_detail = ":20227/app/capital/project/detail"; static const String capital_begin = ":20227/app/capital/begin"; static const String capital_completed = ":20227/app/capital/completed"; ///消息 static const String push_msg_list = "/push/message/list"; static const String push_msg = "/push/message"; } class ApiService { BuildContext context; ApiService({this.context}); Push _push = Push(); Future uploadMore(List files, {String name="",String code="",Function onSuccess, Function(int code, String msg) onError}) async { FormData formData = FormData.fromMap({ "workerName":name, "registrationCode":code }); for (var i = 0; i < files.length; ++i) { File file = files[i]; print(file.path); var name = file.path.substring(file.path.lastIndexOf("/") + 1); formData.files.add(MapEntry( "files", MultipartFile.fromFileSync(file.path, filename: "${name}.jpg"), )); } // Map map = Map(); // List list = []; // for (var i = 0; i < files.length; ++i) { // var file = files[i]; // list.add(await MultipartFile.fromFile(file.path)); // } await DioUtils().requestNetwork(Method.post, ApiUrl.uploads, params: formData, options: _getFormOptions(), isList: true, onSuccessList: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///上传图片 Future upload(String file, {String name="",String code="",Function onSuccess, Function(int code, String msg) onError}) async { // var name = file.substring(file.lastIndexOf("/") + 1); FormData formData = FormData.fromMap({ "workerName":name, "registrationCode":code, "file": await MultipartFile.fromFile(file) }); await DioUtils().requestNetwork(Method.post, ApiUrl.upload, params: formData, options: _getFormOptions(), onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///获取City Future getCity(lat,lng, {Function onSuccess, Function(int code, String msg) onError}) async { await DioUtils().requestNetwork( Method.get, "${ApiUrl.news_city}?point=${lat},${lng}", onSuccessList: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///获取banner图 Future getBanner( {Function onSuccess, Function(int code, String msg) onError}) async { var data = {"type": 1}; await DioUtils().requestNetwork( Method.post, ApiUrl.banner_list, objectFromJson: (res) => BannerEntity.fromJsonMap(res), params: data, isList: true, onSuccessList: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///获取统计 Future countDoing( {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "userId": int.parse(SpUtil.getString(Constant.userId)), "mtCompanyId": SpUtil.getString(Constant.companyId), }; await DioUtils().requestNetwork( Method.post, ApiUrl.count_doing, objectFromJson: (res) => CountDoingItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///版本号 Future version( {Function onSuccess, Function(int code, String msg) onError}) async { await DioUtils().requestNetwork( Method.post, ApiUrl.version, objectFromJson: (res) => VersionItem.fromJsonMap(res), params: { "deviceModel":Platform.isIOS?2:1 }, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///手机号密码登录 Future login(String account, String password, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mobile": account, "password": password, "deviceModel":Platform.isIOS?2:1, "deviceFlag":await _push.getDeviceToken() }; await DioUtils().requestNetwork( Method.post, ApiUrl.account_login, objectFromJson: (res) => UserEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///微信登录 void wxLogin(String authCode, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "authCode": authCode, "deviceModel":Platform.isIOS?2:1, "deviceFlag":await _push.getDeviceToken() }; await DioUtils().requestNetwork( Method.post, ApiUrl.account_wxlogin, params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///获取验证码 Future getVCode(String account, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mobile": account, }; await DioUtils().requestNetwork(Method.get, ApiUrl.account_smscode, queryParameters: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///注册 Future register(String account, String password, String name, String vCode, String authCode, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mobile": account, "password": password, "name": name, "inputSmsCode": vCode, "authCode": authCode, "deviceModel":Platform.isIOS?2:1, "deviceFlag":await _push.getDeviceToken() }; await DioUtils().requestNetwork(Method.post,authCode.length>0?ApiUrl.account_wxregister: ApiUrl.account_register, params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } Future accountAppBindMobile(String authCode, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "authCode": authCode, "deviceModel":Platform.isIOS?2:1, "deviceFlag":await _push.getDeviceToken() }; print(data); await DioUtils().requestNetwork(Method.post,ApiUrl.account_appBindMobile, params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///注册 Future resetPassword(String account, String password, String vCode, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mobile": account, "password": password, "inputSmsCode": vCode, }; await DioUtils().requestNetwork(Method.post, ApiUrl.account_resetPassword, params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///用户信息 Future userInfo( {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "userId": int.parse(SpUtil.getString(Constant.userId)), "companyId": SpUtil.getString(Constant.companyId) }; await DioUtils().requestNetwork( Method.post, ApiUrl.user_info, objectFromJson: (res) => UserInfoEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } Future modifyAvatar(url, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "userId": int.parse(SpUtil.getString(Constant.userId)), "avatarUrl": url }; await DioUtils().requestNetwork( Method.post, ApiUrl.modify_avatar, params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } Future modifyName(name, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "userId": int.parse(SpUtil.getString(Constant.userId)), "name": name }; await DioUtils().requestNetwork( Method.post, ApiUrl.modify_name, params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } Future liftCertificateAdd(code,issuanceAgency,expirationDate,certificateType,firstImgUrl,secondImgUrl, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "ownerId": int.parse(SpUtil.getString(Constant.userId)), "mtCompanyId": SpUtil.getString(Constant.companyId), "code": code, "issuanceAgency": issuanceAgency, "expirationDate": expirationDate, "certificateType": certificateType, "firstImgUrl": firstImgUrl, "secondImgUrl": secondImgUrl, }; await DioUtils().requestNetwork( Method.post, ApiUrl.liftCertificate_add, params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } Future liftCertificateFindByUser({Function onSuccess, Function(int code, String msg) onError}) async { var data = { "ownerId": int.parse(SpUtil.getString(Constant.userId)), "mtCompanyId": SpUtil.getString(Constant.companyId) }; await DioUtils().requestNetwork( Method.post, ApiUrl.liftCertificate_findByUser, objectFromJson: (res) => CertificateItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///项目列表 Future searchProject(pageNum, pageSize, searchStr, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mtCompanyId": SpUtil.getString(Constant.companyId), "pageNum": pageNum, "projectName":searchStr, "pageSize": pageSize }; await DioUtils().requestNetwork( Method.post, ApiUrl.project_list, objectFromJson: (res) => ProjectListEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///项目详情 Future projectDetail(id, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": id, }; await DioUtils().requestNetwork( Method.post, ApiUrl.project_detail, objectFromJson: (res) => ProjectListItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///项目用户 Future projectUser(id, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": id, }; await DioUtils().requestNetwork( Method.post, ApiUrl.project_user, objectFromJson: (res) => WorkerItem.fromJsonMap(res), isList: true, params: data, onSuccessList: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///电梯列表 Future searchLift(projectId, pageNum, pageSize, searchStr, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": projectId, "pageNum": pageNum, "pageSize": pageSize, "registrationCode":searchStr }; await DioUtils().requestNetwork( Method.post, ApiUrl.lift_list, objectFromJson: (res) => LiftListEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///电梯详情 Future liftDetail(projectId,id, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "projectId":projectId, "id": id, }; await DioUtils().requestNetwork( Method.post, ApiUrl.lift_detail, objectFromJson: (res) => LiftItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///品牌 Future liftBrand( {Function onSuccess, Function(int code, String msg) onError}) async { await DioUtils().requestNetwork( Method.post, ApiUrl.lift_brand, objectFromJson: (res) => LiftBrandEntity.fromJsonMap(res), params: {}, isList: true, onSuccessList: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///添加电梯 Future liftAdd(projectId,workerId, lift, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "workerId": workerId, "mtCompanyId": SpUtil.getString(Constant.companyId), "projectId": projectId, "lift": lift }; await DioUtils().requestNetwork( Method.post, ApiUrl.lift_add, params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///编辑电梯 Future liftEdit(projectId,workerId, lift, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "workerId": workerId, "mtCompanyId": SpUtil.getString(Constant.companyId), "projectId": projectId, "relevanceId": lift["relevanceId"], "lift": lift }; await DioUtils().requestNetwork( Method.post, ApiUrl.lift_modify, params: data, onSuccess: onSuccess, onError:(code,msg){ loginExpire(code); onError(code,msg); }); } ///获取消息中心列表 Future notificationList( {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "userId": SpUtil.getString(Constant.userId), "companyId": SpUtil.getString(Constant.companyId) }; await DioUtils().requestNetwork( Method.post, ApiUrl.notification_list, objectFromJson: (res) => TeamItem.fromJsonMap(res), params: data, onSuccessList: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///已加入的团队列表 Future teamList( {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "userId": SpUtil.getString(Constant.userId), "companyId": SpUtil.getString(Constant.companyId) }; await DioUtils().requestNetwork( Method.post, ApiUrl.mtcompany_ownList, objectFromJson: (res) => TeamItem.fromJsonMap(res), params: data, isList: true, onSuccessList: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///搜索团队列表 Future teamSearch(pageNum, pageSize, companyName, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "pageNum": "${pageNum}", "pageSize": "${pageSize}", "companyName": "${companyName}", }; await DioUtils().requestNetwork( Method.post, ApiUrl.mtcompany_list, objectFromJson: (res) => TeamEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///团队创建 Future teamCreate(logoImg, companyName, remarks, corporator, telephone, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "logoImg": "${logoImg}", "companyName": "${companyName}", "remarks": "${remarks}", "corporator": "${corporator}", "telephone": "${telephone}", "userId": SpUtil.getString(Constant.userId) }; await DioUtils().requestNetwork( Method.post, ApiUrl.mtcompany_createTeam, objectFromJson: (res) => TeamEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError : (code,msg){ loginExpire(code); onError(code,msg); }); } ///切换团队 Future changTeam(companyId, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "companyId": companyId, "userId": SpUtil.getString(Constant.userId) }; await DioUtils().requestNetwork( Method.post, ApiUrl.mtcompany_changeTeam, objectFromJson: (res) => UserEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///申请加入团队 Future applyTeam(companyId, desc, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "companyId": companyId, "userId": SpUtil.getString(Constant.userId), "description": desc }; await DioUtils().requestNetwork( Method.post, ApiUrl.mtcompany_applyTeam, objectFromJson: (res) => TeamEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } Future teamDetail( {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "companyId": SpUtil.getString(Constant.companyId), }; await DioUtils().requestNetwork( Method.post, ApiUrl.mtcompany_teamInfo, objectFromJson: (res) => TeamInfoItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } Future teamAuth( {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mtCompanyId": SpUtil.getString(Constant.companyId), }; await DioUtils().requestNetwork( Method.post, ApiUrl.mtcompany_auditResult, objectFromJson: (res) => TeamAuthItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } /** * 发起认证 */ Future teamUploadAuth(id,attestationName,contactsName,contactsTel,businessLicenseAnnex,taxRegistration,logo, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id":id, "attestationName":attestationName, "contactsName":contactsName, "contactsTel":contactsTel, "businessLicenseAnnex":businessLicenseAnnex, "taxRegistration":taxRegistration, "logoImg":logo, "userId": SpUtil.getString(Constant.userId), "mtCompanyId": SpUtil.getString(Constant.companyId), }; await DioUtils().requestNetwork( Method.post, ApiUrl.mtcompany_applyAudit, objectFromJson: (res) => TeamAuthItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } Future teamUserList(pageNum,pageSize, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "companyId": SpUtil.getString(Constant.companyId), "pageNum":pageNum, "pageSize":pageSize }; await DioUtils().requestNetwork( Method.post, ApiUrl.mtcompany_userList, objectFromJson: (res) => TeamUserEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } Future maintenanceCount(String time, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "userId": SpUtil.getString(Constant.userId), "beginTime":time.substring(0,8)+"01", }; await DioUtils().requestNetwork( Method.post, ApiUrl.maintenance_count, objectFromJson: (res) => MantenanceCountItem.fromJsonMap(res), isList: true, params: data, onSuccessList: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///保养列表 Future maintenanceList(pageNum, pageSize, status,time, {Function onSuccess, Function(int code, String msg) onError}) async { if(status == 0 || status == 3){ var data = { "pageNum": pageNum, "pageSize": pageSize, "workerId": SpUtil.getString(Constant.userId), "status": status==3?-1:status, "currentTime": time }; await DioUtils().requestNetwork( Method.post, ApiUrl.maintenance_planTask_list, objectFromJson: (res) => MaintenanceListEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); }else{ var data = { "pageNum": pageNum, "pageSize": pageSize, "workerId": SpUtil.getString(Constant.userId), "status": status, "currentTime": time }; await DioUtils().requestNetwork( Method.post, ApiUrl.maintenance_recordTask_list, objectFromJson: (res) => MaintenanceListEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } } ///上次维保信息 Future maintenanceRecordInfo(liftId, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mtCompanyId": SpUtil.getString(Constant.companyId), "liftId": liftId }; await DioUtils().requestNetwork( Method.post, ApiUrl.maintenance_record_info, objectFromJson: (res) => MaintenanceLastEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///保养项目 Future maintenanceOptions(type, liftCategory, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mtCompanyId": SpUtil.getString(Constant.companyId), "type": type, "liftCategory": liftCategory }; await DioUtils().requestNetwork( Method.post, ApiUrl.maintenance_options, objectFromJson: (res) => MaintenanceOptionsItem.fromJsonMap(res), params: data, isList: true, onSuccessList: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///保养项目 Future maintenanceRecordAdd(id,workerId, liftId, liftType, projectId, type, safetyConfirm, coordinate, address,isRegular,isRepair, {Function onSuccess, Function(int code, String msg) onError}) async { String mType = "1"; if(type == "6" || type == "18"){ mType = "2"; }else if(type == "12"){ mType = "3"; }else if(type == "24" ){ mType ="4"; } var data = { "coordinate":coordinate, "periods":type, "record": { "mtCompanyId": SpUtil.getString(Constant.companyId), "workerId1": SpUtil.getString(Constant.userId), "workerId": workerId, "mtPlanId": id, "liftId": liftId, "liftType": liftType, "projectId": projectId, "type": mType, "safetyConfirm": safetyConfirm, "position": address, "isRegular":isRegular, "isRepair":isRepair } }; await DioUtils().requestNetwork( Method.post, ApiUrl.maintenance_record_add, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///提交保养单 Future maintenanceRecordModify(id, maintenanceAdvice, options, signatureImg1, signatureImg2, images, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "record": { "id": id, "maintenanceAdvice": maintenanceAdvice, "maintenanceOption": options, "signatureImg1": signatureImg1, "signatureImg2": signatureImg2, }, "recordImageList": images }; await DioUtils().requestNetwork( Method.post, ApiUrl.maintenance_record_modify, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///保养详情 Future maintenanceRecordDetail(id, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": id }; await DioUtils().requestNetwork( Method.post, ApiUrl.maintenance_record_detail, objectFromJson: (res)=>MaintenanceDetailEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///保养评价 Future maintenanceEvaluate(id, advice, serviceLevel, starLevel, imgUrl, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "userId": SpUtil.getString(Constant.userId), "recordId": id, "type": 2, "advice": advice, "serviceLevel": serviceLevel, "starLevel": starLevel, "imgUrl": imgUrl, }; await DioUtils().requestNetwork( Method.post, ApiUrl.maintenance_record_evaluate, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///急修列表 Future repairCount( {Function onSuccess, Function(int code, String msg) onError}) async { await DioUtils().requestNetwork( Method.post, ApiUrl.repair_count, objectFromJson: (res) => RepairCountItem.fromJsonMap(res), params: {}, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///急修列表 Future repairList(pageNum, pageSize, status, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "pageNum": pageNum, "pageSize": pageSize, "workerId": SpUtil.getString(Constant.userId), "status": status }; await DioUtils().requestNetwork( Method.post, ApiUrl.repair_list, objectFromJson: (res) => RepairListEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///新增急修 Future repairAdd(projectId,liftId, isTrapped,isCritical,repairReason,callerFaultDescription,callerName,callerTel,callerDate, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mtCompanyId": SpUtil.getString(Constant.companyId), "workerId1":SpUtil.getString(Constant.userId), "projectId": projectId, "liftId": liftId, "isTrapped": isTrapped, "isCritical": isCritical, "repairReason": repairReason, "callerFaultDescription": callerFaultDescription, "source": 2, "callerName": callerName, "callerTel": callerTel, "callerDate": callerDate, }; await DioUtils().requestNetwork(Method.post, ApiUrl.repair_add, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///接单 Future repairTaking(id, takingTime, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": id, "takingTime": takingTime, }; await DioUtils().requestNetwork(Method.post, ApiUrl.repair_taking, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///到达 Future repairArrive(id, arriveTime, position, {Function onSuccess, Function(int code, String msg) onError}) async { var data = {"id": id, "arriveTime": arriveTime, "position": position}; await DioUtils().requestNetwork(Method.post, ApiUrl.repair_arrive, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///停梯 Future repairStop(id, stopDate, safetyConfirm, {Function onSuccess, Function(int code, String msg) onError}) async { var data = {"id": id, "stopDate": stopDate, "safetyConfirm": safetyConfirm}; await DioUtils().requestNetwork(Method.post, ApiUrl.repair_stop, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///获取急修故障 Future repairFaultTree(liftCategory, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "liftCategory": liftCategory }; await DioUtils().requestNetwork( Method.post, ApiUrl.repair_fault_tree, objectFromJson: (res) => RepairFaultEntity.fromJsonMap(res), params: data, isList: true, onSuccessList: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///保存急修单 Future repairSaveOrder(id, recoveryDate, erRecordImg, fieldDescription, mainSign, secondSign, faultPart, faultReason, faultHandle, faultNature, faultDuty, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": id, "recoveryDate": recoveryDate, "erRecordImg": erRecordImg, "fieldDescription": fieldDescription, "mainSign": mainSign, "secondSign": secondSign, "faultPart": faultPart, "faultReason": faultReason, "faultHandle": faultHandle, "faultNature": faultNature, "faultDuty": faultDuty, }; print(data); await DioUtils().requestNetwork( Method.post, ApiUrl.repair_repairOrder, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///获取急修单 Future repairDetail(id, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": id }; await DioUtils().requestNetwork( Method.post, ApiUrl.repair_detail, objectFromJson: (res) => RepairItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///急修评价 Future repairEvaluate(id, advice, serviceLevel, starLevel, imgUrl, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "userId": SpUtil.getString(Constant.userId), "recordId": id, "type": 2, "advice": advice, "serviceLevel": serviceLevel, "starLevel": starLevel, "imgUrl": imgUrl, }; await DioUtils().requestNetwork( Method.post, ApiUrl.repair_evaluate, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///年检列表 Future yearlyList(pageNum, pageSize, status, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "pageNum": pageNum, "pageSize": pageSize, "workerId": SpUtil.getString(Constant.userId), "status": status //年检完成状态(0 待完成;1 已完成;2 超期) }; await DioUtils().requestNetwork( Method.post, ApiUrl.yearly_list, objectFromJson: (res) => YearlyListEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///年检管理-待确认年检列表 Future yearlyNoConfirmList(pageNum, pageSize, status, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "pageNum": pageNum, "pageSize": pageSize, "mtCompanyId": SpUtil.getString(Constant.companyId), }; await DioUtils().requestNetwork( Method.post, ApiUrl.yearly_toConfirmList, objectFromJson: (res) => YearlyListEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } Future yearlyConfirm(liftId,isCheckGoverner,loadInspectionSetting,planDate, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "liftId": liftId, "mtCompanyId": SpUtil.getString(Constant.companyId), "isCheckGoverner": isCheckGoverner, "loadInspectionSetting": loadInspectionSetting, "planDate": planDate }; await DioUtils().requestNetwork(Method.post, ApiUrl.yearly_confirm, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///上传质检报告 Future yearlySelfCheck(id, time, imgUrl, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": id, "selfcheckDate": "${time}", "selfcheckReportImg": "${imgUrl}" }; await DioUtils().requestNetwork(Method.post, ApiUrl.yearly_selfcheck, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///上传检验结果 Future yearlyCheck(id, time, imgUrl, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": id, "checkDate": "${time}", "checkResultImg": "${imgUrl}" }; await DioUtils().requestNetwork(Method.post, ApiUrl.yearly_check, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///上传检验结果 Future yearlyFinish(id, imgUrl, imgUrl2, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": id, "certificateImgUrl": "${imgUrl2}", "annualInspectionImg": "${imgUrl}" }; await DioUtils().requestNetwork(Method.post, ApiUrl.yearly_finish, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///年检统计 Future yearlyCount( {Function onSuccess, Function(int code, String msg) onError}) async { await DioUtils().requestNetwork(Method.post, ApiUrl.yearly_count, objectFromJson:(res) => YearlyCountItem.fromJsonMap(res), params: {}, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } Future newsList(pageNum, pageSize, haveTops,title,city, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "pageNum": pageNum, "pageSize": pageSize, "haveTops": haveTops, "title": title, "district": city }; await DioUtils().requestNetwork(Method.post, ApiUrl.news_list, objectFromJson: (res) => NewsCommEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } Future newsDetail(id, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": id, }; await DioUtils().requestNetwork(Method.post, ApiUrl.news_detail, objectFromJson: (res) => NewsDetailItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } Future newsZan(id, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": id, "userId": SpUtil.getString(Constant.userId) }; await DioUtils().requestNetwork(Method.post, ApiUrl.news_zan, objectFromJson: (res) => NewsDetailItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } Future signList(pageNum, pageSize, clockTime, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "pageNum": pageNum, "pageSize": pageSize, "userId": SpUtil.getString(Constant.userId), "clockTime": clockTime, }; await DioUtils().requestNetwork(Method.post, ApiUrl.sign_list, objectFromJson: (res) => SignListEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } Future signConfig({Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mtCompanyId": SpUtil.getString(Constant.companyId), }; await DioUtils().requestNetwork(Method.post, ApiUrl.sign_config, objectFromJson: (res) => SignConfigItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } Future signAdd(coordinate,address,type,{Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mtCompanyId": SpUtil.getString(Constant.companyId), "userId": SpUtil.getString(Constant.userId), "coordinate": coordinate, "address": address, "type": type }; await DioUtils().requestNetwork(Method.post, ApiUrl.sign_add, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///大修统计 Future heavyCount( {Function onSuccess, Function(int code, String msg) onError}) async { await DioUtils().requestNetwork( Method.post, ApiUrl.capital_count, objectFromJson: (res) => HeavyCountItem.fromJsonMap(res), params: {}, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///大修项目列表 Future searchHeavyProject(pageNum, pageSize, status, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mtCompanyId": SpUtil.getString(Constant.companyId), "userId":SpUtil.getString(Constant.userId), "projectStatus":status, "pageNum": pageNum, "projectName":"", "pageSize": pageSize }; await DioUtils().requestNetwork( Method.post, ApiUrl.capital_project_list, objectFromJson: (res) => HeavyListEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///大修电梯列表 Future searchHeavyLift(projectId, pageNum, pageSize, searchStr, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": projectId, "pageNum": pageNum, "pageSize": pageSize, "registrationCode":searchStr }; await DioUtils().requestNetwork( Method.post, ApiUrl.capital_lift_list, objectFromJson: (res) => LiftListEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///大修项目详情 Future heavyProjectDetail(id, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id": id, }; await DioUtils().requestNetwork( Method.post, ApiUrl.capital_project_detail, objectFromJson: (res) => HeavyItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///大修项目用户列表 Future heavyUserList(projectId,isUser,signDate, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mtCompanyId": SpUtil.getString(Constant.companyId), "projectId":projectId, "userId":isUser?SpUtil.getString(Constant.userId):"", }; if(signDate.length>0){ data['signDate'] = signDate; } await DioUtils().requestNetwork( Method.post, ApiUrl.capital_attendance_list, objectFromJson: (res) => HeavyUserEntity.fromJsonMap(res), isList: true, params: data, onSuccessList: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///大修签到 Future heavySignAdd(coordinate,address,projectId,{Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mtCompanyId": SpUtil.getString(Constant.companyId), "userId": SpUtil.getString(Constant.userId), "projectId":projectId, "coordinate": coordinate, "address": address }; await DioUtils().requestNetwork(Method.post, ApiUrl.capital_sign_in, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///开始项目 Future capitalBegin(id,{Function onSuccess, Function(int code, String msg) onError}) async { var data = { "projectId": id, }; await DioUtils().requestNetwork(Method.post, ApiUrl.capital_begin, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///竣工 Future capitalCompleted(id,imgs,{Function onSuccess, Function(int code, String msg) onError}) async { var data = { "mtCompanyId": SpUtil.getString(Constant.companyId), "projectId": id, "imageUrlList":imgs }; await DioUtils().requestNetwork(Method.post, ApiUrl.capital_completed, params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///消息列表 Future messageList(pageIndex,pageSize,type, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "userId": SpUtil.getString(Constant.userId), "type":type, "pageNum":pageIndex, "pageSize":pageSize, }; await DioUtils().requestNetwork( Method.post, ApiUrl.push_msg_list, objectFromJson: (res) => MessageListEntity.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } ///消息列表 Future messageDetail(id, {Function onSuccess, Function(int code, String msg) onError}) async { var data = { "id":id, }; await DioUtils().requestNetwork( Method.post, ApiUrl.push_msg, objectFromJson: (res) => MessageListItem.fromJsonMap(res), params: data, onSuccess: onSuccess, onError: (code,msg){ loginExpire(code); onError(code,msg); }); } loginExpire(int code){ if(code == 10 && context != null){ showAlert(context, "提示", "用户登录失效,请重新登录", "重新登录", (){ User().clearUser(); _push.unbindAccount(account: f.SpUtil.getString(Constant.phone)); NavigatorUtils.push(context, AccountRouter.loginPage, clearStack: true); }); } } Options _getFormOptions() { Map map = new Map(); // map["Content-Type"] = "multipart/form-data; charset=utf-8"; map["Accept"] = "application/json"; // return Options(contentType: "multipart/form-data; charset=utf-8",responseType: ResponseType.json); return Options(contentType: "multipart/form-data; charset=utf-8"); } }