设备 预约接口
This commit is contained in:
@@ -1,4 +1,4 @@
|
|||||||
package com.taihe.vbvs_app
|
package com.taihe.mh_app
|
||||||
|
|
||||||
import io.flutter.embedding.android.FlutterActivity
|
import io.flutter.embedding.android.FlutterActivity
|
||||||
|
|
||||||
|
|||||||
241
lib/common/util/Dio.dart
Normal file
241
lib/common/util/Dio.dart
Normal file
@@ -0,0 +1,241 @@
|
|||||||
|
import 'package:dio/dio.dart';
|
||||||
|
import 'package:get/get.dart';
|
||||||
|
import 'package:get_storage/get_storage.dart';
|
||||||
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
|
import 'package:vbvs_app/controller/login/login_controller.dart';
|
||||||
|
import 'package:vbvs_app/pages/common/selectDialog.dart';
|
||||||
|
|
||||||
|
class ApiService {
|
||||||
|
static Dio dio = Dio();
|
||||||
|
|
||||||
|
static Dio request = Dio();
|
||||||
|
static Dio requestNoInfo = Dio();
|
||||||
|
static Dio requestNoError = Dio(); //不处理错误的请求,用于设备操作上报
|
||||||
|
|
||||||
|
static Dio reservation = Dio();
|
||||||
|
|
||||||
|
static void init() {
|
||||||
|
// 添加全局配置,如基础URL、
|
||||||
|
// 拦截器等
|
||||||
|
|
||||||
|
// dio.httpClientAdapter = IOHttpClientAdapter(
|
||||||
|
// createHttpClient: () {
|
||||||
|
// final client = HttpClient();
|
||||||
|
// client.badCertificateCallback =
|
||||||
|
// (X509Certificate cert, String host, int port) {
|
||||||
|
// return true; // Verify the certificate.
|
||||||
|
// };
|
||||||
|
// return client;
|
||||||
|
// },
|
||||||
|
// );
|
||||||
|
|
||||||
|
// request.options.baseUrl = CommonVariables.apiUrl;
|
||||||
|
// request.options.connectTimeout = const Duration(seconds: 15);
|
||||||
|
// request.options.receiveTimeout = const Duration(seconds: 10);
|
||||||
|
// request.options.sendTimeout = const Duration(seconds: 10);
|
||||||
|
// dio.options.headers['Content-Type'] = "application/json";
|
||||||
|
// dio.options.headers['Token'] = "1";
|
||||||
|
// 添加其他配置...
|
||||||
|
|
||||||
|
// 添加拦截器(可选)
|
||||||
|
// request.interceptors.add(InterceptorsWrapper(
|
||||||
|
// onRequest: (options, handler) {
|
||||||
|
// print("---> ${options.method}, ${options.path}, ${options.data}");
|
||||||
|
// options.headers['token'] = Get.find<UserInfoController>().model.token;
|
||||||
|
// print("${options.headers['token']}");
|
||||||
|
// return handler.next(options);
|
||||||
|
// },
|
||||||
|
// onResponse: (response, ResponseInterceptorHandler handler) {
|
||||||
|
// // 在响应处理前的操作,例如解析响应数据
|
||||||
|
// // if (response.realUri.toString().contains("/login")) {
|
||||||
|
// // String? token = response.headers.value('token');
|
||||||
|
// // if (token != null) {
|
||||||
|
// // print("token = ${token}");
|
||||||
|
// // Get.find<GlobalController>().token.value = token;
|
||||||
|
// // }
|
||||||
|
// // }
|
||||||
|
// print("<--- ${response.statusCode}, ${response.data}");
|
||||||
|
// if (response.data is Map) {
|
||||||
|
// if (response.data['code'] == HttpStatusCodes.ok) {
|
||||||
|
// return handler.next(response);
|
||||||
|
// } else {
|
||||||
|
// if (response.data['code'] == 10011) {
|
||||||
|
// Get.offAndToNamed(
|
||||||
|
// "/loginPage",
|
||||||
|
// );
|
||||||
|
// GlobalController globalController = Get.find<GlobalController>();
|
||||||
|
// globalController.resetParmAll();
|
||||||
|
// showCustomConfirmDialog(Get.context!, "当前用户已在别处登录,请确认账号密码安全!",
|
||||||
|
// btnName: "确定", icon: ConfirmDialogIcon.warn)
|
||||||
|
// .then((d) {
|
||||||
|
// if (d == "confirm") {
|
||||||
|
// Get.back();
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// } else if (response.data['code'] == 11004) {
|
||||||
|
// showCustomConfirmAndCancelDialog(Get.context!, "当前用户已登录,是否重新登录",
|
||||||
|
// confirmName: "确定", cancelName: "取消")
|
||||||
|
// .then((d) async {
|
||||||
|
// if (d == "confirm") {
|
||||||
|
// LoginController loginController = Get.find();
|
||||||
|
// loginController.model.forceLogin = 1;
|
||||||
|
// String msg = await loginController.login(Get.context!);
|
||||||
|
// if (msg == null || msg.isEmpty) {
|
||||||
|
// Get.offAndToNamed("/mianPageBottomChange");
|
||||||
|
// }
|
||||||
|
// } else if (d == "cancel") {
|
||||||
|
// // Get.offAndToNamed(
|
||||||
|
// // "/loginPage",
|
||||||
|
// // );
|
||||||
|
// Get.back();
|
||||||
|
// }
|
||||||
|
// });
|
||||||
|
// } else if (response.data['code'] == 10009 ||
|
||||||
|
// response.data['code'] == 11007 ||
|
||||||
|
// response.data['code'] == 11008) {
|
||||||
|
// // 有可能对象获取不到,所以try catch包住
|
||||||
|
// try {
|
||||||
|
// GlobalController globalController =
|
||||||
|
// Get.find<GlobalController>();
|
||||||
|
// globalController.resetParmAll();
|
||||||
|
// UserInfoController userInfoController =
|
||||||
|
// Get.find<UserInfoController>();
|
||||||
|
// userInfoController.model.token = null;
|
||||||
|
// userInfoController.model.user = null;
|
||||||
|
// userInfoController.model.login = 0;
|
||||||
|
// userInfoController.model.message = 0;
|
||||||
|
// LoginController loginController = Get.find();
|
||||||
|
// loginController.model.account = null;
|
||||||
|
// loginController.model.password = null;
|
||||||
|
// loginController.model.phone = null;
|
||||||
|
// loginController.model.code = null;
|
||||||
|
// } catch (e) {
|
||||||
|
// print(e);
|
||||||
|
// }
|
||||||
|
// final box = GetStorage();
|
||||||
|
// box.remove('user');
|
||||||
|
// box.remove('token');
|
||||||
|
// showToast(response.data["msg"]);
|
||||||
|
// } else if (response.data['code'] == 11005) {
|
||||||
|
// if (response.data['code'] == 11005) {
|
||||||
|
// var authUserData = response.data['data'];
|
||||||
|
// AuthBindTelController authBindTelController = Get.find();
|
||||||
|
// authBindTelController.model.authUserInfo = authUserData;
|
||||||
|
// Get.toNamed("/auth_bind_tel");
|
||||||
|
// }
|
||||||
|
// } else {
|
||||||
|
// showToast(response.data["msg"]);
|
||||||
|
// }
|
||||||
|
|
||||||
|
// return handler.reject(
|
||||||
|
// DioException(
|
||||||
|
// requestOptions: RequestOptions(data: response.data['msg']),
|
||||||
|
// message: response.data['msg']),
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return handler.next(response);
|
||||||
|
// },
|
||||||
|
// onError: (e, handler) {
|
||||||
|
// // 错误处理,例如打印错误信息
|
||||||
|
// showToast("网络异常或服务连接异常,请稍候再试", color: color_error);
|
||||||
|
// print("DioError: $e");
|
||||||
|
// return handler.reject(e);
|
||||||
|
// },
|
||||||
|
// ));
|
||||||
|
|
||||||
|
// requestNoInfo.options.baseUrl = CommonVariables.apiUrl;
|
||||||
|
// requestNoInfo.options.connectTimeout = const Duration(seconds: 15);
|
||||||
|
// requestNoInfo.options.receiveTimeout = const Duration(seconds: 10);
|
||||||
|
// requestNoInfo.options.sendTimeout = const Duration(seconds: 10);
|
||||||
|
// requestNoInfo.interceptors.add(InterceptorsWrapper(
|
||||||
|
// onRequest: (options, handler) {
|
||||||
|
// print("---> ${options.method}, ${options.path}, ${options.data}");
|
||||||
|
// options.headers['token'] = Get.find<UserInfoController>().model.token;
|
||||||
|
// print("${options.headers['token']}");
|
||||||
|
// return handler.next(options);
|
||||||
|
// },
|
||||||
|
// onResponse: (response, ResponseInterceptorHandler handler) {
|
||||||
|
// // 在响应处理前的操作,例如解析响应数据
|
||||||
|
// // if (response.realUri.toString().contains("/login")) {
|
||||||
|
// // String? token = response.headers.value('token');
|
||||||
|
// // if (token != null) {
|
||||||
|
// // print("token = ${token}");
|
||||||
|
// // Get.find<GlobalController>().token.value = token;
|
||||||
|
// // }
|
||||||
|
// // }
|
||||||
|
// print("<--- ${response.statusCode}, ${response.data}");
|
||||||
|
// if (response.data is Map) {
|
||||||
|
// if (response.data['code'] == HttpStatusCodes.ok) {
|
||||||
|
// return handler.next(response);
|
||||||
|
// } else {
|
||||||
|
// // showToast(response.data["msg"]);
|
||||||
|
// return handler.reject(
|
||||||
|
// DioException(
|
||||||
|
// requestOptions: RequestOptions(data: response.data['msg']),
|
||||||
|
// message: response.data['msg'],
|
||||||
|
// ),
|
||||||
|
// );
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
// return handler.next(response);
|
||||||
|
// },
|
||||||
|
// onError: (e, handler) {
|
||||||
|
// // 错误处理,例如打印错误信息
|
||||||
|
// showToast("网络异常或服务连接异常,请稍候再试", color: color_error);
|
||||||
|
// print("DioError: $e");
|
||||||
|
// return handler.reject(e);
|
||||||
|
// },
|
||||||
|
// ));
|
||||||
|
|
||||||
|
// requestNoError.options.baseUrl = CommonVariables.apiUrl;
|
||||||
|
// requestNoError.options.connectTimeout = const Duration(seconds: 5);
|
||||||
|
// requestNoError.options.receiveTimeout = const Duration(seconds: 3);
|
||||||
|
// requestNoError.options.sendTimeout = const Duration(seconds: 3);
|
||||||
|
// requestNoError.interceptors.add(InterceptorsWrapper(
|
||||||
|
// onRequest: (options, handler) {
|
||||||
|
// print(
|
||||||
|
// "requestNoError---> ${options.method}, ${options.path}, ${options.data}");
|
||||||
|
// options.headers['token'] = Get.find<UserInfoController>().model.token;
|
||||||
|
// print("${options.headers['token']}");
|
||||||
|
// return handler.next(options);
|
||||||
|
// },
|
||||||
|
// onResponse: (response, ResponseInterceptorHandler handler) {
|
||||||
|
// print("requestNoError<--- ${response.statusCode}, ${response.data}");
|
||||||
|
// return handler.next(response);
|
||||||
|
// },
|
||||||
|
// onError: (e, handler) {
|
||||||
|
// // 错误处理,例如打印错误信息
|
||||||
|
// print("requestNoError-->DioError: $e");
|
||||||
|
// return handler.reject(e);
|
||||||
|
// },
|
||||||
|
// ));
|
||||||
|
|
||||||
|
reservationInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
static void reservationInit() {
|
||||||
|
reservation.options.baseUrl = "https://crm-api.swes.com.cn";
|
||||||
|
reservation.options.connectTimeout = const Duration(seconds: 15);
|
||||||
|
reservation.options.receiveTimeout = const Duration(seconds: 10);
|
||||||
|
reservation.options.sendTimeout = const Duration(seconds: 10);
|
||||||
|
reservation.interceptors.add(InterceptorsWrapper(
|
||||||
|
onRequest: (options, handler) {
|
||||||
|
print("---> ${options.method}, ${options.path}, ${options.data}");
|
||||||
|
options.headers['token'] =
|
||||||
|
"bMAQVR1x48t66u8EDYSftAJGo17r0rIB3z15JgyyoGz1rAEZHs1htHOCorYFJ2RT";
|
||||||
|
return handler.next(options);
|
||||||
|
},
|
||||||
|
onResponse: (response, ResponseInterceptorHandler handler) {
|
||||||
|
print("<--- ${response.statusCode} ${response.data}");
|
||||||
|
return handler.next(response);
|
||||||
|
},
|
||||||
|
onError: (e, handler) {
|
||||||
|
// 错误处理,例如打印错误信息
|
||||||
|
showToast("网络异常或服务连接异常,请稍候再试", color: color_error);
|
||||||
|
print("DioError: $e");
|
||||||
|
return handler.reject(e);
|
||||||
|
},
|
||||||
|
));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -1,5 +1,13 @@
|
|||||||
import 'package:ef/ef.dart';
|
import 'package:ef/ef.dart';
|
||||||
|
import 'package:flutter/material.dart';
|
||||||
import 'package:json_annotation/json_annotation.dart';
|
import 'package:json_annotation/json_annotation.dart';
|
||||||
|
import 'package:vbvs_app/common/color/ServiceConstant.dart';
|
||||||
|
import 'package:vbvs_app/common/color/repair_status.dart';
|
||||||
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
|
import 'package:vbvs_app/common/util/myDialog/my_dialog_controller.dart';
|
||||||
|
import 'package:vbvs_app/common/util/requestWithLog.dart';
|
||||||
|
import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||||
|
import 'package:vbvs_app/model/user_data.dart';
|
||||||
|
|
||||||
part 'apply_repair_controller.g.dart';
|
part 'apply_repair_controller.g.dart';
|
||||||
|
|
||||||
@@ -91,69 +99,122 @@ class ApplyRepairController extends GetControllerEx<ApplyRepairModel> {
|
|||||||
// }
|
// }
|
||||||
// }
|
// }
|
||||||
|
|
||||||
// //提交
|
//提交
|
||||||
// Future<String> submitRepair(BuildContext context) async {
|
Future<String> submitRepair(BuildContext context) async {
|
||||||
// //tmp
|
//tmp
|
||||||
// // return '';
|
// return '';
|
||||||
// String message = '';
|
String message = '';
|
||||||
// final MyDialogController myDialogController =
|
final MyDialogController myDialogController =
|
||||||
// Get.find<MyDialogController>();
|
Get.find<MyDialogController>();
|
||||||
// if (model.device_type == null || model.device_type!.isEmpty) {
|
if (model.device_type == null || model.device_type!.isEmpty) {
|
||||||
// message = '请选择设备类型!';
|
message = '请选择设备类型!';
|
||||||
// showToast(message);
|
showToast(message);
|
||||||
// return message;
|
return message;
|
||||||
// }
|
}
|
||||||
// if (model.device_category == null || model.device_category!.isEmpty) {
|
if (model.device_category == null || model.device_category!.isEmpty) {
|
||||||
// message = '请输入设备型号!';
|
message = '请输入设备型号!';
|
||||||
// showToast(message);
|
showToast(message);
|
||||||
// return message;
|
return message;
|
||||||
// }
|
}
|
||||||
// if (model.device_id == null || model.device_id!.isEmpty) {
|
if (model.device_id == null || model.device_id!.isEmpty) {
|
||||||
// message = '请输入设备序列号id!';
|
message = '请输入设备序列号id!';
|
||||||
// showToast(message);
|
showToast(message);
|
||||||
// return message;
|
return message;
|
||||||
// }
|
}
|
||||||
// if (model.apply_name == null || model.apply_name!.isEmpty) {
|
if (model.apply_name == null || model.apply_name!.isEmpty) {
|
||||||
// message = '请输入姓名!';
|
message = '请输入姓名!';
|
||||||
// showToast(message);
|
showToast(message);
|
||||||
// return message;
|
return message;
|
||||||
// }
|
}
|
||||||
// RegExp nameRegExp = RegExp(r'^[\u4e00-\u9fa5]{2,4}$');
|
RegExp nameRegExp = RegExp(r'^[\u4e00-\u9fa5]{2,4}$');
|
||||||
|
|
||||||
// if (!nameRegExp.hasMatch(model.apply_name!)) {
|
if (!nameRegExp.hasMatch(model.apply_name!)) {
|
||||||
// message = '姓名必须为2到4个汉字!';
|
message = '姓名必须为2到4个汉字!';
|
||||||
// showToast(message);
|
showToast(message);
|
||||||
// return message;
|
return message;
|
||||||
// }
|
}
|
||||||
// if (model.tel == null || model.tel!.isEmpty) {
|
if (model.tel == null || model.tel!.isEmpty) {
|
||||||
// message = '请输入手机号!';
|
message = '请输入手机号!';
|
||||||
// showToast(message);
|
showToast(message);
|
||||||
// return message;
|
return message;
|
||||||
// }
|
}
|
||||||
// if (!MyUtils.isValidPhoneNumber(model.tel!)) {
|
if (!MyUtils.isValidPhoneNumber(model.tel!)) {
|
||||||
// message = '无效的手机号!';
|
message = '无效的手机号!';
|
||||||
// showToast(message);
|
showToast(message);
|
||||||
// return message;
|
return message;
|
||||||
// }
|
}
|
||||||
// if (model.address == null || model.address!.isEmpty) {
|
if (model.address == null || model.address!.isEmpty) {
|
||||||
// message = '请输入地址!';
|
message = '请输入地址!';
|
||||||
// showToast(message);
|
showToast(message);
|
||||||
// return message;
|
return message;
|
||||||
// }
|
}
|
||||||
// if (model.desc == null || model.desc!.isEmpty) {
|
if (model.desc == null || model.desc!.isEmpty) {
|
||||||
// message = '请输入问题描述!';
|
message = '请输入问题描述!';
|
||||||
// showToast(message);
|
showToast(message);
|
||||||
// return message;
|
return message;
|
||||||
// }
|
}
|
||||||
// if (model.issue_img == null || model.issue_img!.isEmpty) {
|
if (model.issue_img == null || model.issue_img!.isEmpty) {
|
||||||
// message = '请至少上传一张问题图片!';
|
message = '请至少上传一张问题图片!';
|
||||||
// showToast(message);
|
showToast(message);
|
||||||
// return message;
|
return message;
|
||||||
// }
|
}
|
||||||
// model.status = RepairStatus.pending;
|
model.status = RepairStatus.pending;
|
||||||
// await repairRepository.saveRepair(model);
|
// await repairRepository.saveRepair(model);
|
||||||
// return message;
|
String type = "repair_submit_${model.device_id}";
|
||||||
// }
|
String serviceAddress = ServiceConstant.service_address;
|
||||||
|
String serviceName = ServiceConstant.server_service;
|
||||||
|
String serviceApi = ServiceConstant.submit_repair;
|
||||||
|
String queryUrl = "$serviceAddress$serviceName$serviceApi?type=$type";
|
||||||
|
|
||||||
|
// 组织请求数据
|
||||||
|
final UserInfoController userInfoController =
|
||||||
|
Get.find<UserInfoController>();
|
||||||
|
UserModel user = userInfoController.model.user!;
|
||||||
|
|
||||||
|
Map<String, dynamic> data = {
|
||||||
|
'apply_name': model.apply_name,
|
||||||
|
'address': model.address,
|
||||||
|
'desc': model.desc,
|
||||||
|
'device_type': model.device_type,
|
||||||
|
'issue_img': model.issue_img,
|
||||||
|
'tel': model.tel,
|
||||||
|
'uid': user.uid,
|
||||||
|
'device_category': model.device_category,
|
||||||
|
'device_id': model.device_id,
|
||||||
|
'device_name': model.device_name,
|
||||||
|
'status': model.status,
|
||||||
|
};
|
||||||
|
|
||||||
|
// 发起插入请求(这里相当于之前的 saveRepair)
|
||||||
|
requestWithLog(
|
||||||
|
logTitle: "提交报修",
|
||||||
|
method: MyHttpMethod.post,
|
||||||
|
queryUrl: queryUrl,
|
||||||
|
data: data,
|
||||||
|
onSuccess: (res) {
|
||||||
|
if (res.data is List && res.data.isNotEmpty) {
|
||||||
|
final inserted = res.data[0];
|
||||||
|
model.id = inserted['id'];
|
||||||
|
model.create_time = DateTime.tryParse(inserted['create_time']);
|
||||||
|
// TextSelectionOverlay
|
||||||
|
// // saveRepairHistor
|
||||||
|
// saveRepairHistory(
|
||||||
|
// RepairProcessModel()
|
||||||
|
// ..status = model.status
|
||||||
|
// ..record_id = inserted['id'],
|
||||||
|
// );
|
||||||
|
showToast("提交成功!");
|
||||||
|
} else {
|
||||||
|
showToast("提交失败:未返回数据!");
|
||||||
|
}
|
||||||
|
},
|
||||||
|
onFailure: (res) {
|
||||||
|
showToast("提交失败!");
|
||||||
|
},
|
||||||
|
);
|
||||||
|
|
||||||
|
return message;
|
||||||
|
}
|
||||||
|
|
||||||
// Future<void> getDeviceList() async {
|
// Future<void> getDeviceList() async {
|
||||||
// final UserInfoController userInfoController =
|
// final UserInfoController userInfoController =
|
||||||
|
|||||||
@@ -5,9 +5,11 @@ import 'package:ef/ef.dart';
|
|||||||
import 'package:vbvs_app/common/color/ServiceConstant.dart';
|
import 'package:vbvs_app/common/color/ServiceConstant.dart';
|
||||||
import 'package:vbvs_app/common/color/app_uri_status.dart';
|
import 'package:vbvs_app/common/color/app_uri_status.dart';
|
||||||
import 'package:vbvs_app/common/util/DailyLogUtils.dart';
|
import 'package:vbvs_app/common/util/DailyLogUtils.dart';
|
||||||
|
import 'package:vbvs_app/common/util/Dio.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/common/util/requestWithLog.dart';
|
import 'package:vbvs_app/common/util/requestWithLog.dart';
|
||||||
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
|
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
|
||||||
|
import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||||
import 'package:vbvs_app/model/api_response.dart';
|
import 'package:vbvs_app/model/api_response.dart';
|
||||||
|
|
||||||
class BookInfoModel {
|
class BookInfoModel {
|
||||||
@@ -38,53 +40,23 @@ class BookInfoController extends GetControllerEx<BookInfoModel> {
|
|||||||
attr = GetModel(BookInfoModel()).obs;
|
attr = GetModel(BookInfoModel()).obs;
|
||||||
}
|
}
|
||||||
|
|
||||||
// get userInfoController => Get.find<UserInfoController>();
|
get userInfoController => Get.find<UserInfoController>();
|
||||||
|
|
||||||
Future<void> getData(String storeId) async {
|
getData(id) {
|
||||||
// 初始化模型
|
|
||||||
model.datetimes = [];
|
model.datetimes = [];
|
||||||
model.datetimes_index = null;
|
model.datetimes_index = null;
|
||||||
model.dataT = {};
|
model.dataT = {};
|
||||||
updateAll();
|
updateAll();
|
||||||
|
ApiService.reservation
|
||||||
String url =
|
.get("/agent/userBook/config/detailConfigByStore?storeId=$id")
|
||||||
"https://crm-api.swes.com.cn/agent/userBook/config/detailConfigByStore?storeId=$storeId";
|
.then((d) {
|
||||||
|
model.datetimes = d.data["dateList"];
|
||||||
await requestWithLog(
|
model.datetimes_index = 0;
|
||||||
logTitle: "获取预约门店时间",
|
model.dataT = d.data;
|
||||||
method: MyHttpMethod.get,
|
time_periodChange();
|
||||||
queryUrl: url,
|
});
|
||||||
successMsg: "获取预约门店时间成功",
|
|
||||||
errorMsg: "获取预约门店时间失败",
|
|
||||||
onSuccess: (res) {
|
|
||||||
final data = res.data;
|
|
||||||
if (data != null) {
|
|
||||||
model.datetimes = data["dateList"] ?? [];
|
|
||||||
model.datetimes_index = 0;
|
|
||||||
model.dataT = data;
|
|
||||||
time_periodChange(); // 原来的 time_periodChange
|
|
||||||
updateAll();
|
|
||||||
}
|
|
||||||
},
|
|
||||||
onFailure: (res) {},
|
|
||||||
);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// getData(id) {
|
|
||||||
// model.datetimes = [];
|
|
||||||
// model.datetimes_index = null;
|
|
||||||
// model.dataT = {};
|
|
||||||
// updateAll();
|
|
||||||
// ApiService.reservation
|
|
||||||
// .get("/agent/userBook/config/detailConfigByStore?storeId=$id")
|
|
||||||
// .then((d) {
|
|
||||||
// model.datetimes = d.data["dateList"];
|
|
||||||
// model.datetimes_index = 0;
|
|
||||||
// model.dataT = d.data;
|
|
||||||
// time_periodChange();
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
time_periodChange() {
|
time_periodChange() {
|
||||||
if (model.datetimes_index == null) {
|
if (model.datetimes_index == null) {
|
||||||
return;
|
return;
|
||||||
@@ -95,27 +67,23 @@ class BookInfoController extends GetControllerEx<BookInfoModel> {
|
|||||||
updateAll();
|
updateAll();
|
||||||
}
|
}
|
||||||
|
|
||||||
// submitData(id) {
|
submitData(id) {
|
||||||
// String tel = userInfoController.model?.user?.tel ?? "";
|
String tel = userInfoController.model?.user?.tel ?? "";
|
||||||
// if(tel.isEmpty) {
|
if (tel.isEmpty) {
|
||||||
// showToast("用户未存在手机号");
|
showToast("用户未存在手机号");
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
// return ApiService.reservation.post("/agent/userBook/submitBook", data: {
|
return ApiService.reservation.post("/agent/userBook/submitBook", data: {
|
||||||
// "extUserId": tel,
|
"extUserId": tel,
|
||||||
// "storeId": id,
|
"storeId": id,
|
||||||
// "realName": model.userName,
|
"realName": model.userName,
|
||||||
// "userPhone": model.userPhone,
|
"userPhone": model.userPhone,
|
||||||
// "bookDateId": model.time_period[model.select_time_index!]["id"]
|
"bookDateId": model.time_period[model.select_time_index!]["id"]
|
||||||
// });
|
});
|
||||||
// }
|
}
|
||||||
|
|
||||||
// messageAdd(Map data) {
|
messageAdd(Map data) {
|
||||||
// return ApiService.request.post("/api/message/info", data: {
|
return ApiService.request.post("/api/message/info",
|
||||||
// "type": 0,
|
data: {"type": 0, "status": 1, "read": 1, "data": jsonEncode(data)});
|
||||||
// "status": 1,
|
}
|
||||||
// "read": 1,
|
|
||||||
// "data": jsonEncode(data)
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -36,33 +36,6 @@ class DeviceListController extends GetControllerEx<DeviceListModel> {
|
|||||||
attr = GetModel(DeviceListModel()).obs;
|
attr = GetModel(DeviceListModel()).obs;
|
||||||
}
|
}
|
||||||
|
|
||||||
// @override
|
|
||||||
// void onInit() {
|
|
||||||
// super.onInit();
|
|
||||||
// model.keyword = "";
|
|
||||||
// getDeviceList(); // 正确的初始化数据调用
|
|
||||||
// }
|
|
||||||
|
|
||||||
// getDeviceList({int time = 1}) async {
|
|
||||||
// String search = (model.keyword != null && model.keyword!.isNotEmpty)
|
|
||||||
// ? "?key=${model.keyword}"
|
|
||||||
// : "";
|
|
||||||
// var data = await ApiService.request.get("/api/device/info/list$search");
|
|
||||||
// if (data.data["data"] != null) {
|
|
||||||
// try {
|
|
||||||
// List<dynamic> tmp = data.data["data"] as List<dynamic>;
|
|
||||||
// model.deviceList = tmp.map((obj) => DeviceModel.fromJson(obj)).toList();
|
|
||||||
// model.deviceListWyf = tmp;
|
|
||||||
// } catch (e) {
|
|
||||||
// print(e);
|
|
||||||
// }
|
|
||||||
// } else {
|
|
||||||
// model.deviceList = [];
|
|
||||||
// model.deviceListWyf = [];
|
|
||||||
// }
|
|
||||||
// updateAll();
|
|
||||||
// }
|
|
||||||
|
|
||||||
getDeviceList() async {
|
getDeviceList() async {
|
||||||
try {
|
try {
|
||||||
String search = (model.keyword != null && model.keyword!.isNotEmpty)
|
String search = (model.keyword != null && model.keyword!.isNotEmpty)
|
||||||
@@ -82,8 +55,8 @@ class DeviceListController extends GetControllerEx<DeviceListModel> {
|
|||||||
MyUtils.formatResponse(res, "设备.设备列表请求成功".tr, "设备.设备列表请求失败".tr);
|
MyUtils.formatResponse(res, "设备.设备列表请求成功".tr, "设备.设备列表请求失败".tr);
|
||||||
if (res.code == HttpStatusCodes.ok) {
|
if (res.code == HttpStatusCodes.ok) {
|
||||||
// bindDeviceNum.value = res.total!;
|
// bindDeviceNum.value = res.total!;
|
||||||
model.deviceList =res.data;
|
model.deviceList = res.data;
|
||||||
|
|
||||||
updateAll();
|
updateAll();
|
||||||
return res;
|
return res;
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,9 +1,11 @@
|
|||||||
import 'dart:ui';
|
import 'dart:ui';
|
||||||
|
|
||||||
import 'package:ef/ef.dart';
|
import 'package:ef/ef.dart';
|
||||||
|
import 'package:geolocator/geolocator.dart';
|
||||||
|
|
||||||
import 'package:json_annotation/json_annotation.dart';
|
import 'package:json_annotation/json_annotation.dart';
|
||||||
|
import 'package:vbvs_app/controller/weather/weather_controller.dart';
|
||||||
|
import 'package:vbvs_app/common/util/Dio.dart';
|
||||||
|
|
||||||
part 'experience_store_list_page.g.dart';
|
part 'experience_store_list_page.g.dart';
|
||||||
|
|
||||||
@@ -27,99 +29,98 @@ class ExperienceStoreListController
|
|||||||
ExperienceStoreListController() {
|
ExperienceStoreListController() {
|
||||||
attr = GetModel(ExperienceStoreListModel()).obs;
|
attr = GetModel(ExperienceStoreListModel()).obs;
|
||||||
}
|
}
|
||||||
|
WeatherModelController weatherModelController = Get.find();
|
||||||
|
Position? position;
|
||||||
|
double latitude = 31.8512;
|
||||||
|
double longitude = 117.26061;
|
||||||
|
|
||||||
// Position? position;
|
int total = 0;
|
||||||
// double latitude = 31.8512;
|
int page = 0;
|
||||||
// double longitude = 117.26061;
|
bool lock = false;
|
||||||
|
|
||||||
// int total = 0;
|
resetParm() {
|
||||||
// int page = 0;
|
position = null;
|
||||||
// bool lock = false;
|
total = 0;
|
||||||
|
page = 0;
|
||||||
|
lock = false;
|
||||||
// resetParm() {
|
model.experienceStoreModelList = [];
|
||||||
// position = null;
|
updateAll();
|
||||||
// total = 0;
|
|
||||||
// page = 0;
|
|
||||||
// lock = false;
|
|
||||||
// model.experienceStoreModelList = [];
|
|
||||||
// updateAll();
|
|
||||||
// }
|
|
||||||
|
|
||||||
// getData({int count = 10}) async {
|
|
||||||
// if (page != 0 && page * count > total) {
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// if (lock) {
|
|
||||||
// return;
|
|
||||||
// }
|
|
||||||
// if (page == 0) {
|
|
||||||
// position = await locationCheck();
|
|
||||||
// }
|
|
||||||
// lock = true;
|
|
||||||
// int page_ = page;
|
|
||||||
// ApiService.reservation
|
|
||||||
// .get(
|
|
||||||
// "/agent/userBook/config/getBookStoreList?storeName=${"${model.keyword}".isNotEmpty ? model.keyword : ''}&latitude=${position == null ? latitude : position?.latitude}&longitude=${position == null ? longitude : position?.longitude}&page=$page&size=$count&sort=distance")
|
|
||||||
// .then((d) {
|
|
||||||
// lock = false;
|
|
||||||
// if (page == 0) {
|
|
||||||
// model.experienceStoreModelList = d.data["records"];
|
|
||||||
// } else {
|
|
||||||
// int index = 0;
|
|
||||||
// d.data["records"]?.forEach((item) {
|
|
||||||
// if (model.experienceStoreModelList
|
|
||||||
// .indexWhere((item2) => item2["id"] == item["id"]) ==
|
|
||||||
// -1) {
|
|
||||||
// model.experienceStoreModelList.add(item);
|
|
||||||
// } else {
|
|
||||||
// model.experienceStoreModelList[index] = item;
|
|
||||||
// }
|
|
||||||
// index++;
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// page = page_ + 1;
|
|
||||||
// total = d.data["total"];
|
|
||||||
// updateAll();
|
|
||||||
// }).catchError((d) {
|
|
||||||
// lock = false;
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
|
|
||||||
determinePosition() async {
|
|
||||||
// bool serviceEnabled;
|
|
||||||
// LocationPermission permission;
|
|
||||||
|
|
||||||
// // Test if location services are enabled.
|
|
||||||
// serviceEnabled = await Geolocator.isLocationServiceEnabled();
|
|
||||||
// if (!serviceEnabled) {
|
|
||||||
// // Location services are not enabled don't continue
|
|
||||||
// // accessing the position and request users of the
|
|
||||||
// // App to enable the location services.
|
|
||||||
// return Future.error('Location services are disabled.');
|
|
||||||
// }
|
|
||||||
|
|
||||||
// permission = await Geolocator.checkPermission();
|
|
||||||
// if (permission == LocationPermission.denied) {
|
|
||||||
// permission = await Geolocator.requestPermission();
|
|
||||||
// if (permission == LocationPermission.denied) {
|
|
||||||
// // Permissions are denied, next time you could try
|
|
||||||
// // requesting permissions again (this is also where
|
|
||||||
// // Android's shouldShowRequestPermissionRationale
|
|
||||||
// // returned true. According to Android guidelines
|
|
||||||
// // your App should show an explanatory UI now.
|
|
||||||
// return Future.error('Location permissions are denied');
|
|
||||||
// }
|
|
||||||
// }
|
|
||||||
|
|
||||||
// if (permission == LocationPermission.deniedForever) {
|
|
||||||
// // Permissions are denied forever, handle appropriately.
|
|
||||||
// return Future.error(
|
|
||||||
// 'Location permissions are permanently denied, we cannot request permissions.');
|
|
||||||
// }
|
|
||||||
|
|
||||||
// // When we reach here, permissions are granted and we can
|
|
||||||
// // continue accessing the position of the device.
|
|
||||||
// position = await Geolocator.getCurrentPosition();
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
getData({int count = 10}) async {
|
||||||
|
if (page != 0 && page * count > total) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (lock) {
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
if (page == 0) {
|
||||||
|
position = await weatherModelController.determinePosition();
|
||||||
|
}
|
||||||
|
lock = true;
|
||||||
|
int page_ = page;
|
||||||
|
ApiService.reservation
|
||||||
|
.get(
|
||||||
|
"/agent/userBook/config/getBookStoreList?storeName=${"${model.keyword}".isNotEmpty ? model.keyword : ''}&latitude=${position == null ? latitude : position?.latitude}&longitude=${position == null ? longitude : position?.longitude}&page=$page&size=$count&sort=distance")
|
||||||
|
.then((d) {
|
||||||
|
lock = false;
|
||||||
|
if (page == 0) {
|
||||||
|
model.experienceStoreModelList = d.data["records"];
|
||||||
|
} else {
|
||||||
|
int index = 0;
|
||||||
|
d.data["records"]?.forEach((item) {
|
||||||
|
if (model.experienceStoreModelList
|
||||||
|
.indexWhere((item2) => item2["id"] == item["id"]) ==
|
||||||
|
-1) {
|
||||||
|
model.experienceStoreModelList.add(item);
|
||||||
|
} else {
|
||||||
|
model.experienceStoreModelList[index] = item;
|
||||||
|
}
|
||||||
|
index++;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
page = page_ + 1;
|
||||||
|
total = d.data["total"];
|
||||||
|
updateAll();
|
||||||
|
}).catchError((d) {
|
||||||
|
lock = false;
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
//determinePosition() async {
|
||||||
|
// bool serviceEnabled;
|
||||||
|
// LocationPermission permission;
|
||||||
|
|
||||||
|
// // Test if location services are enabled.
|
||||||
|
// serviceEnabled = await Geolocator.isLocationServiceEnabled();
|
||||||
|
// if (!serviceEnabled) {
|
||||||
|
// // Location services are not enabled don't continue
|
||||||
|
// // accessing the position and request users of the
|
||||||
|
// // App to enable the location services.
|
||||||
|
// return Future.error('Location services are disabled.');
|
||||||
|
// }
|
||||||
|
|
||||||
|
// permission = await Geolocator.checkPermission();
|
||||||
|
// if (permission == LocationPermission.denied) {
|
||||||
|
// permission = await Geolocator.requestPermission();
|
||||||
|
// if (permission == LocationPermission.denied) {
|
||||||
|
// // Permissions are denied, next time you could try
|
||||||
|
// // requesting permissions again (this is also where
|
||||||
|
// // Android's shouldShowRequestPermissionRationale
|
||||||
|
// // returned true. According to Android guidelines
|
||||||
|
// // your App should show an explanatory UI now.
|
||||||
|
// return Future.error('Location permissions are denied');
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
|
||||||
|
// if (permission == LocationPermission.deniedForever) {
|
||||||
|
// // Permissions are denied forever, handle appropriately.
|
||||||
|
// return Future.error(
|
||||||
|
// 'Location permissions are permanently denied, we cannot request permissions.');
|
||||||
|
// }
|
||||||
|
|
||||||
|
// // When we reach here, permissions are granted and we can
|
||||||
|
// // continue accessing the position of the device.
|
||||||
|
// position = await Geolocator.getCurrentPosition();
|
||||||
|
//}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,7 +1,9 @@
|
|||||||
import 'dart:convert';
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:ef/ef.dart';
|
import 'package:ef/ef.dart';
|
||||||
|
import 'package:vbvs_app/common/util/Dio.dart';
|
||||||
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
|
import 'package:vbvs_app/controller/user_info_controller.dart';
|
||||||
|
|
||||||
class BookExperienceListModel {
|
class BookExperienceListModel {
|
||||||
List bookInfoList = []; //预约列表
|
List bookInfoList = []; //预约列表
|
||||||
@@ -14,102 +16,102 @@ class BookExperienceListController
|
|||||||
attr = GetModel(BookExperienceListModel()).obs;
|
attr = GetModel(BookExperienceListModel()).obs;
|
||||||
}
|
}
|
||||||
|
|
||||||
// resetParm() {
|
resetParm() {
|
||||||
// model.bookInfoList = [];
|
model.bookInfoList = [];
|
||||||
// model.experienceStoreModelList = [];
|
model.experienceStoreModelList = [];
|
||||||
// total = 0;
|
total = 0;
|
||||||
// page = 0;
|
page = 0;
|
||||||
// lock = false;
|
lock = false;
|
||||||
// updateAll();
|
updateAll();
|
||||||
// }
|
}
|
||||||
|
|
||||||
// getAllBook() {
|
getAllBook() {
|
||||||
// ApiService.reservation
|
ApiService.reservation
|
||||||
// .get(
|
.get(
|
||||||
// "/agent/userBook/config/getBookStoreList?storeName=&latitude=31.8512&longitude=117.26061&page=0&size=20000&sort=distance")
|
"/agent/userBook/config/getBookStoreList?storeName=&latitude=31.8512&longitude=117.26061&page=0&size=20000&sort=distance")
|
||||||
// .then((d) {
|
.then((d) {
|
||||||
// model.experienceStoreModelList = d.data["records"];
|
model.experienceStoreModelList = d.data["records"];
|
||||||
// updateAll();
|
updateAll();
|
||||||
// });
|
});
|
||||||
// }
|
}
|
||||||
|
|
||||||
// int total = 0;
|
int total = 0;
|
||||||
// int page = 0;
|
int page = 0;
|
||||||
// bool lock = false;
|
bool lock = false;
|
||||||
|
|
||||||
// getData({int count = 10, Function? finished}) {
|
getData({int count = 10, Function? finished}) {
|
||||||
// if (page != 0 && page * count > total) {
|
if (page != 0 && page * count > total) {
|
||||||
// finished?.call();
|
finished?.call();
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
// if (lock) {
|
if (lock) {
|
||||||
// finished?.call();
|
finished?.call();
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
// lock = true;
|
lock = true;
|
||||||
// int page_ = page;
|
int page_ = page;
|
||||||
// String tel = Get.find<UserInfoController>().model.user?.tel ?? "";
|
String tel = Get.find<UserInfoController>().model.user?.phone ?? "";
|
||||||
// if (tel.isEmpty) {
|
if (tel.isEmpty) {
|
||||||
// showToast("用户未存在手机号");
|
showToast("用户未存在手机号");
|
||||||
// finished?.call();
|
finished?.call();
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
// ApiService.reservation
|
ApiService.reservation
|
||||||
// .get(
|
.get(
|
||||||
// "/agent/userBook/list?extUserId=$tel&page=$page_&size=$count&sort=create_time,desc")
|
"/agent/userBook/list?extUserId=$tel&page=$page_&size=$count&sort=create_time,desc")
|
||||||
// .then((d) {
|
.then((d) {
|
||||||
// lock = false;
|
lock = false;
|
||||||
// finished?.call();
|
finished?.call();
|
||||||
// if (page == 0) {
|
if (page == 0) {
|
||||||
// model.bookInfoList = d.data["records"];
|
model.bookInfoList = d.data["records"];
|
||||||
// } else {
|
} else {
|
||||||
// int index = 0;
|
int index = 0;
|
||||||
// d.data["records"]?.forEach((item) {
|
d.data["records"]?.forEach((item) {
|
||||||
// if (model.bookInfoList
|
if (model.bookInfoList
|
||||||
// .indexWhere((item2) => item2["id"] == item["id"]) ==
|
.indexWhere((item2) => item2["id"] == item["id"]) ==
|
||||||
// -1) {
|
-1) {
|
||||||
// model.bookInfoList.add(item);
|
model.bookInfoList.add(item);
|
||||||
// } else {
|
} else {
|
||||||
// model.bookInfoList[index] = item;
|
model.bookInfoList[index] = item;
|
||||||
// }
|
}
|
||||||
// index++;
|
index++;
|
||||||
// });
|
});
|
||||||
// }
|
}
|
||||||
// page = page_ + 1;
|
page = page_ + 1;
|
||||||
// total = d.data["total"];
|
total = d.data["total"];
|
||||||
// updateAll();
|
updateAll();
|
||||||
// }).catchError((d) {
|
}).catchError((d) {
|
||||||
// lock = false;
|
lock = false;
|
||||||
// finished?.call();
|
finished?.call();
|
||||||
// });
|
});
|
||||||
// }
|
}
|
||||||
|
|
||||||
// cancelBook(id, {Function? success}) {
|
cancelBook(id, {Function? success}) {
|
||||||
// String tel = Get.find<UserInfoController>().model.user?.tel ?? "";
|
String tel = Get.find<UserInfoController>().model.user?.phone ?? "";
|
||||||
// if (tel.isEmpty) {
|
if (tel.isEmpty) {
|
||||||
// showToast("用户未存在手机号");
|
showToast("用户未存在手机号");
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
// LoadingDialog.show("提交中...");
|
LoadingDialog.show("提交中...");
|
||||||
// ApiService.reservation
|
ApiService.reservation
|
||||||
// .post("/agent/userBook/cancel?extUserId=$tel&id=$id")
|
.post("/agent/userBook/cancel?extUserId=$tel&id=$id")
|
||||||
// .then((d) {
|
.then((d) {
|
||||||
// page = 0;
|
page = 0;
|
||||||
// getData(finished: () {
|
getData(finished: () {
|
||||||
// LoadingDialog.hide();
|
LoadingDialog.hide();
|
||||||
// });
|
});
|
||||||
// success?.call();
|
success?.call();
|
||||||
// }).catchError((d) {
|
}).catchError((d) {
|
||||||
// LoadingDialog.hide();
|
LoadingDialog.hide();
|
||||||
// });
|
});
|
||||||
// }
|
}
|
||||||
|
|
||||||
// messageAdd(Map data) {
|
messageAdd(Map data) {
|
||||||
// return ApiService.request.post("/api/message/info", data: {
|
return ApiService.request.post("/api/message/info", data: {
|
||||||
// "type": 0,
|
"type": 0,
|
||||||
// "status": 1,
|
"status": 1,
|
||||||
// "read": 1,
|
"read": 1,
|
||||||
// "data": jsonEncode(data)
|
"data": jsonEncode(data)
|
||||||
// });
|
});
|
||||||
// }
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -69,7 +69,7 @@ class WeatherModelController extends GetControllerEx<WeatherModel> {
|
|||||||
// 获取当前位置并存储到 model
|
// 获取当前位置并存储到 model
|
||||||
Future<void> _getCurrentLocation() async {
|
Future<void> _getCurrentLocation() async {
|
||||||
try {
|
try {
|
||||||
Position position = await _determinePosition();
|
Position position = await determinePosition();
|
||||||
if (position == null) {
|
if (position == null) {
|
||||||
throw Exception("获取位置失败");
|
throw Exception("获取位置失败");
|
||||||
}
|
}
|
||||||
@@ -97,7 +97,7 @@ class WeatherModelController extends GetControllerEx<WeatherModel> {
|
|||||||
}
|
}
|
||||||
|
|
||||||
// 获取当前位置
|
// 获取当前位置
|
||||||
Future<Position> _determinePosition() async {
|
Future<Position> determinePosition() async {
|
||||||
bool serviceEnabled;
|
bool serviceEnabled;
|
||||||
LocationPermission permission;
|
LocationPermission permission;
|
||||||
|
|
||||||
|
|||||||
@@ -16,6 +16,7 @@ import 'package:vbvs_app/common/color/AppGlobal.dart';
|
|||||||
import 'package:vbvs_app/common/color/ServiceConstant.dart';
|
import 'package:vbvs_app/common/color/ServiceConstant.dart';
|
||||||
import 'package:vbvs_app/common/util/CheckNetwork.dart';
|
import 'package:vbvs_app/common/util/CheckNetwork.dart';
|
||||||
import 'package:vbvs_app/common/util/CommonVariables.dart';
|
import 'package:vbvs_app/common/util/CommonVariables.dart';
|
||||||
|
import 'package:vbvs_app/common/util/Dio.dart';
|
||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/requestWithLog.dart';
|
import 'package:vbvs_app/common/util/requestWithLog.dart';
|
||||||
import 'package:vbvs_app/controller/date/CalendarController.dart';
|
import 'package:vbvs_app/controller/date/CalendarController.dart';
|
||||||
@@ -85,7 +86,7 @@ Future<void> main() async {
|
|||||||
await initLanguageSetting();
|
await initLanguageSetting();
|
||||||
WidgetsFlutterBinding.ensureInitialized();
|
WidgetsFlutterBinding.ensureInitialized();
|
||||||
|
|
||||||
// ApiService.init();
|
ApiService.init();
|
||||||
await GetStorage.init();
|
await GetStorage.init();
|
||||||
// 初始化登录
|
// 初始化登录
|
||||||
await initLocalStorage();
|
await initLocalStorage();
|
||||||
|
|||||||
@@ -875,7 +875,7 @@ Future showOneSelectionDialog(
|
|||||||
.bodyMedium
|
.bodyMedium
|
||||||
.override(
|
.override(
|
||||||
fontFamily: 'Readex Pro',
|
fontFamily: 'Readex Pro',
|
||||||
color: themeController.currentColor.sc3,
|
color: Colors.white,
|
||||||
fontSize: 30.rpx,
|
fontSize: 30.rpx,
|
||||||
)),
|
)),
|
||||||
ClickableContainer(
|
ClickableContainer(
|
||||||
|
|||||||
@@ -45,6 +45,7 @@ class ApplyRepairPage extends GetView<ApplyRepairController> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
child: Scaffold(
|
child: Scaffold(
|
||||||
|
resizeToAvoidBottomInset: true, // 自动调整页面避免被键盘遮挡
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
appBar: AppBar(
|
appBar: AppBar(
|
||||||
backgroundColor: Colors.transparent,
|
backgroundColor: Colors.transparent,
|
||||||
@@ -1779,8 +1780,8 @@ class ApplyRepairPage extends GetView<ApplyRepairController> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
Padding(
|
Padding(
|
||||||
padding: const EdgeInsetsDirectional.fromSTEB(
|
padding: EdgeInsetsDirectional.fromSTEB(30.rpx, 30.rpx,
|
||||||
15, 15, 15, AppConstants.page_button_bottom_padding),
|
30.rpx, AppConstants.page_button_bottom_padding),
|
||||||
child: Container(
|
child: Container(
|
||||||
width: bodysize!.maxWidth,
|
width: bodysize!.maxWidth,
|
||||||
height: bodysize!.maxHeight * 0.056,
|
height: bodysize!.maxHeight * 0.056,
|
||||||
@@ -1836,61 +1837,7 @@ class ApplyRepairPage extends GetView<ApplyRepairController> {
|
|||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
)
|
)),
|
||||||
|
|
||||||
// Container(
|
|
||||||
// width: bodysize!.maxWidth,
|
|
||||||
// height: bodysize!.maxHeight * 0.056,
|
|
||||||
// decoration: BoxDecoration(
|
|
||||||
// color: FlutterFlowTheme.of(context)
|
|
||||||
// .secondaryBackground,
|
|
||||||
// borderRadius: BorderRadius.circular(16.rpx),
|
|
||||||
// ),
|
|
||||||
// child: FFButtonWidget(
|
|
||||||
// onPressed: () {
|
|
||||||
// print('Button pressed ...');
|
|
||||||
// controller.submitRepair(context).then((msg) {
|
|
||||||
// if (msg.isEmpty) {
|
|
||||||
// MessageListController messageListController =
|
|
||||||
// Get.find();
|
|
||||||
// messageListController.addMessage();
|
|
||||||
// Get.to(() => ApplyRepairSuccessPage(),
|
|
||||||
// arguments: {'model': controller.model});
|
|
||||||
// controller.model =
|
|
||||||
// ApplyRepairModel(); // 在 submitRepair 完成后执行
|
|
||||||
// controller.updateAll();
|
|
||||||
// }
|
|
||||||
// }).catchError((error) {
|
|
||||||
// // 错误处理
|
|
||||||
// print('Error: $error');
|
|
||||||
// });
|
|
||||||
// },
|
|
||||||
// text: '提交申请',
|
|
||||||
// options: FFButtonOptions(
|
|
||||||
// height: 40,
|
|
||||||
// padding: const EdgeInsetsDirectional.fromSTEB(
|
|
||||||
// 24, 0, 24, 0),
|
|
||||||
// iconPadding: const EdgeInsetsDirectional.fromSTEB(
|
|
||||||
// 0, 0, 0, 0),
|
|
||||||
// color: const Color(0xFFD3B684),
|
|
||||||
// textStyle: FlutterFlowTheme.of(context)
|
|
||||||
// .titleSmall
|
|
||||||
// .override(
|
|
||||||
// fontFamily: 'Readex Pro',
|
|
||||||
// color: Colors.white,
|
|
||||||
// fontSize: AppFontsize.normal_text_size,
|
|
||||||
// letterSpacing: 0,
|
|
||||||
// ),
|
|
||||||
// elevation: 0,
|
|
||||||
// borderSide: const BorderSide(
|
|
||||||
// color: Colors.transparent,
|
|
||||||
// width: 1,
|
|
||||||
// ),
|
|
||||||
// borderRadius: BorderRadius.circular(8),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
// ),
|
|
||||||
),
|
|
||||||
),
|
),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -144,7 +144,7 @@ class _BluetoothState extends State<BluetoothPage> {
|
|||||||
_buildMenuButton(
|
_buildMenuButton(
|
||||||
context, '睡眠习惯', "/sleepHabitPage"),
|
context, '睡眠习惯', "/sleepHabitPage"),
|
||||||
_buildMenuButton(
|
_buildMenuButton(
|
||||||
context, '分享设备', "/devicePeopleInfo"),
|
context, '分享设备', "/deviceSharePage"),
|
||||||
_buildMenuButton(
|
_buildMenuButton(
|
||||||
context, '解绑', "/devicePeopleInfo"),
|
context, '解绑', "/devicePeopleInfo"),
|
||||||
],
|
],
|
||||||
|
|||||||
@@ -1,19 +1,11 @@
|
|||||||
import 'package:ef/ef.dart';
|
import 'package:ef/ef.dart';
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
|
import 'package:vbvs_app/common/color/appConstants.dart';
|
||||||
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
import 'package:vbvs_app/controller/mh_controller/book_info_controller.dart';
|
import 'package:vbvs_app/controller/mh_controller/book_info_controller.dart';
|
||||||
|
|
||||||
class BookDateWidget extends GetView<BookInfoController> {
|
class BookDateWidget extends GetView<BookInfoController> {
|
||||||
// final String week;
|
|
||||||
// final String date;
|
|
||||||
|
|
||||||
// const BookDateWidget({
|
|
||||||
// super.key,
|
|
||||||
// String? week,
|
|
||||||
// String? date,
|
|
||||||
// }) : this.week = week ?? '周一',
|
|
||||||
// this.date = date ?? '07/10';
|
|
||||||
|
|
||||||
int index;
|
int index;
|
||||||
BookInfoController bookInfoController;
|
BookInfoController bookInfoController;
|
||||||
|
|
||||||
@@ -22,25 +14,25 @@ class BookDateWidget extends GetView<BookInfoController> {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return InkWell(onTap: () {
|
return InkWell(onTap: () {
|
||||||
// if(index == controller.model.datetimes_index) {
|
if (index == controller.model.datetimes_index) {
|
||||||
// return;
|
return;
|
||||||
// }
|
}
|
||||||
// controller.model.datetimes_index = index;
|
controller.model.datetimes_index = index;
|
||||||
// controller.time_periodChange();
|
controller.time_periodChange();
|
||||||
// controller.updateAll();
|
controller.updateAll();
|
||||||
}, child: Obx(() {
|
}, child: Obx(() {
|
||||||
return Container(
|
return Container(
|
||||||
width: 71.5,
|
width: 144.rpx,
|
||||||
height: 71.5,
|
height: 143.rpx,
|
||||||
constraints: BoxConstraints(
|
constraints: BoxConstraints(
|
||||||
minHeight: 70,
|
minHeight: 140.rpx,
|
||||||
),
|
),
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
// color: FlutterFlowTheme.of(context).secondaryBackground,
|
// color: FlutterFlowTheme.of(context).secondaryBackground,
|
||||||
color: controller.model.datetimes_index == index
|
color: controller.model.datetimes_index == index
|
||||||
? stringToColor('#D3B684')
|
? Color(0XFF84F5FF)
|
||||||
: FlutterFlowTheme.of(context).secondaryBackground,
|
: Color(0xFF003058),
|
||||||
borderRadius: BorderRadius.circular(8),
|
borderRadius: BorderRadius.circular(13.rpx),
|
||||||
),
|
),
|
||||||
child: Column(
|
child: Column(
|
||||||
mainAxisSize: MainAxisSize.max,
|
mainAxisSize: MainAxisSize.max,
|
||||||
@@ -50,32 +42,32 @@ class BookDateWidget extends GetView<BookInfoController> {
|
|||||||
child: Text(
|
child: Text(
|
||||||
"${bookInfoController.model.datetimes![index]?['dayName']}",
|
"${bookInfoController.model.datetimes![index]?['dayName']}",
|
||||||
style: FlutterFlowTheme.of(context).bodyMedium.override(
|
style: FlutterFlowTheme.of(context).bodyMedium.override(
|
||||||
fontFamily: 'Readex Pro',
|
fontFamily: 'Readex Pro',
|
||||||
letterSpacing: 0,
|
letterSpacing: 0,
|
||||||
color: controller.model.datetimes_index == index
|
color: controller.model.datetimes_index == index
|
||||||
? stringToColor('#FFFFFF')
|
? Color(0XFF011D33)
|
||||||
: stringToColor('#333333'),
|
: Colors.white,
|
||||||
),
|
fontSize: 26.rpx),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Flexible(
|
Flexible(
|
||||||
child: Text(
|
child: Text(
|
||||||
"${bookInfoController.model.datetimes![index]?['day']}",
|
"${bookInfoController.model.datetimes![index]?['day']}",
|
||||||
style: FlutterFlowTheme.of(context).bodyMedium.override(
|
style: FlutterFlowTheme.of(context).bodyMedium.override(
|
||||||
fontFamily: 'Readex Pro',
|
fontFamily: 'Readex Pro',
|
||||||
letterSpacing: 0,
|
letterSpacing: 0,
|
||||||
color: controller.model.datetimes_index == index
|
color: controller.model.datetimes_index == index
|
||||||
? stringToColor('#FFFFFF')
|
? Color(0XFF011D33)
|
||||||
: stringToColor('#333333'),
|
: Colors.white,
|
||||||
),
|
fontSize: 19.rpx),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
Flexible(
|
Flexible(
|
||||||
child: Icon(
|
child: Icon(
|
||||||
Icons.keyboard_arrow_down_rounded,
|
Icons.keyboard_arrow_down_rounded,
|
||||||
color: controller.model.datetimes_index == index
|
color: controller.model.datetimes_index == index
|
||||||
? stringToColor('#FFFFFF')
|
? Color(0XFF011D33)
|
||||||
: stringToColor('#333333'),
|
: Colors.white,
|
||||||
size: 12,
|
size: 12,
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
File diff suppressed because it is too large
Load Diff
@@ -106,7 +106,7 @@ class DeviceInfoWidget extends GetView {
|
|||||||
text: '设备ID:' +
|
text: '设备ID:' +
|
||||||
(deviceListController.model
|
(deviceListController.model
|
||||||
.deviceList[
|
.deviceList[
|
||||||
index]['id'] ??
|
index]['_id'] ??
|
||||||
''),
|
''),
|
||||||
style: FlutterFlowTheme.of(
|
style: FlutterFlowTheme.of(
|
||||||
context)
|
context)
|
||||||
@@ -232,13 +232,9 @@ class DeviceInfoWidget extends GetView {
|
|||||||
padding: EdgeInsetsDirectional.fromSTEB(0, 36.rpx, 0, 0),
|
padding: EdgeInsetsDirectional.fromSTEB(0, 36.rpx, 0, 0),
|
||||||
child: Container(
|
child: Container(
|
||||||
width: MediaQuery.sizeOf(context).width,
|
width: MediaQuery.sizeOf(context).width,
|
||||||
height: 130,
|
height: 0.5.rpx,
|
||||||
constraints: BoxConstraints(
|
|
||||||
minHeight: 1,
|
|
||||||
maxHeight: 1,
|
|
||||||
),
|
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
color: Color(0xFFB6BBC9),
|
color: Color(0xFF929699),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -9,324 +9,330 @@ import 'package:vbvs_app/common/color/appConstants.dart';
|
|||||||
import 'package:vbvs_app/common/color/appFontsize.dart';
|
import 'package:vbvs_app/common/color/appFontsize.dart';
|
||||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||||
|
import 'package:vbvs_app/component/NullDataComponentWidget.dart';
|
||||||
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
import 'package:vbvs_app/component/tool/ClickableContainer.dart';
|
||||||
import 'package:vbvs_app/controller/mh_controller/experience_store_list_page.dart';
|
import 'package:vbvs_app/controller/mh_controller/experience_store_list_page.dart';
|
||||||
|
import 'package:vbvs_app/controller/weather/weather_controller.dart';
|
||||||
import 'package:vbvs_app/pages/mh_page/Empty.dart';
|
import 'package:vbvs_app/pages/mh_page/Empty.dart';
|
||||||
import 'package:vbvs_app/pages/mh_page/experience_store_widget.dart';
|
import 'package:vbvs_app/pages/mh_page/experience_store_widget.dart';
|
||||||
import 'package:vbvs_app/pages/mh_page/searchWidget.dart';
|
import 'package:vbvs_app/pages/mh_page/searchWidget.dart';
|
||||||
|
|
||||||
class ExperienceStorePage extends GetView<ExperienceStoreListController> {
|
class ExperienceStorePage extends StatefulWidget {
|
||||||
ExperienceStorePage({super.key});
|
ExperienceStorePage({super.key});
|
||||||
|
@override
|
||||||
|
State<ExperienceStorePage> createState() => _ExperienceStorePageState();
|
||||||
|
}
|
||||||
|
|
||||||
// class _ExperienceStorePageState extends State<ExperienceStorePage> {
|
class _ExperienceStorePageState extends State<ExperienceStorePage> {
|
||||||
// get controller => Get.find<ExperienceStoreListController>();
|
final scaffoldKey = GlobalKey<ScaffoldState>();
|
||||||
// final scaffoldKey = GlobalKey<ScaffoldState>();
|
|
||||||
BoxConstraints? bodysize;
|
BoxConstraints? bodysize;
|
||||||
|
|
||||||
ScrollController scrollController = ScrollController();
|
ScrollController scrollController = ScrollController();
|
||||||
ExperienceStoreListController controller = Get.find();
|
ExperienceStoreListController controller = Get.find();
|
||||||
|
WeatherModelController weatherModelController = Get.find();
|
||||||
int runTime = 0;
|
int runTime = 0;
|
||||||
|
|
||||||
// @override
|
@override
|
||||||
// void initState() {
|
void initState() {
|
||||||
// // TODO: implement initState
|
// TODO: implement initState
|
||||||
// super.initState();
|
super.initState();
|
||||||
// Timer(Duration(milliseconds: 100), () async {
|
Timer(Duration(milliseconds: 100), () async {
|
||||||
// controller.resetParm();
|
controller.resetParm();
|
||||||
// await controller.determinePosition();
|
await weatherModelController.determinePosition();
|
||||||
// controller.page = 0;
|
controller.page = 0;
|
||||||
// controller.getData();
|
controller.getData();
|
||||||
// scrollController.addListener(() {
|
scrollController.addListener(() {
|
||||||
// int ctime = DateTime.now().millisecondsSinceEpoch;
|
int ctime = DateTime.now().millisecondsSinceEpoch;
|
||||||
// if (ctime - runTime > 100 &&
|
if (ctime - runTime > 100 &&
|
||||||
// scrollController.position.pixels + 80 >
|
scrollController.position.pixels + 80 >
|
||||||
// scrollController.position.maxScrollExtent) {
|
scrollController.position.maxScrollExtent) {
|
||||||
// runTime = ctime;
|
runTime = ctime;
|
||||||
// print(
|
print(
|
||||||
// "bottom get more data ${scrollController.position.pixels} ${scrollController.position.maxScrollExtent}");
|
"bottom get more data ${scrollController.position.pixels} ${scrollController.position.maxScrollExtent}");
|
||||||
// controller.getData();
|
controller.getData();
|
||||||
// }
|
}
|
||||||
// });
|
});
|
||||||
// });
|
});
|
||||||
// }
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return LayoutBuilder(builder: (context, cc) {
|
return LayoutBuilder(builder: (context, cc) {
|
||||||
controller.model.experienceStoreModelList = [
|
// controller.model.experienceStoreModelList = [
|
||||||
{
|
// {
|
||||||
"id": "5b82d1d9c33c74647e7624ec1db7918f",
|
// "id": "5b82d1d9c33c74647e7624ec1db7918f",
|
||||||
"enabled": true,
|
// "enabled": true,
|
||||||
"code": "3401002",
|
// "code": "3401002",
|
||||||
"name": "SWES眠花糖合肥省委大院体验店",
|
// "name": "SWES眠花糖合肥省委大院体验店",
|
||||||
"customerId": null,
|
// "customerId": null,
|
||||||
"setNetCustomerKid": null,
|
// "setNetCustomerKid": null,
|
||||||
"customer": null,
|
// "customer": null,
|
||||||
"kingdeeId": "",
|
// "kingdeeId": "",
|
||||||
"channel": null,
|
// "channel": null,
|
||||||
"salePersonId": "ed648f977422a9f32a05b4892a3cb529",
|
// "salePersonId": "ed648f977422a9f32a05b4892a3cb529",
|
||||||
"salePerson": null,
|
// "salePerson": null,
|
||||||
"deptId": 3,
|
// "deptId": 3,
|
||||||
"deptName": null,
|
// "deptName": null,
|
||||||
"dept": null,
|
// "dept": null,
|
||||||
"introduction": "",
|
// "introduction": "",
|
||||||
"mobile": "18156022846",
|
// "mobile": "18156022846",
|
||||||
"hotline": "0551-64464894",
|
// "hotline": "0551-64464894",
|
||||||
"city": "合肥市",
|
// "city": "合肥市",
|
||||||
"district": "庐阳区",
|
// "district": "庐阳区",
|
||||||
"addressDetail": "合肥市庐阳区逍遥津街道南含山路与红星路交汇处",
|
// "addressDetail": "合肥市庐阳区逍遥津街道南含山路与红星路交汇处",
|
||||||
"image": "",
|
// "image": "",
|
||||||
"latitude": "31.858934",
|
// "latitude": "31.858934",
|
||||||
"longitude": "117.282166",
|
// "longitude": "117.282166",
|
||||||
"isDel": false,
|
// "isDel": false,
|
||||||
"isAppShow": true,
|
// "isAppShow": true,
|
||||||
"business": true,
|
// "business": true,
|
||||||
"authEndTime": null,
|
// "authEndTime": null,
|
||||||
"createTime": 1701133326000,
|
// "createTime": 1701133326000,
|
||||||
"createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
// "createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
||||||
"updateTime": 1709193588000,
|
// "updateTime": 1709193588000,
|
||||||
"updateAdminId": null,
|
// "updateAdminId": null,
|
||||||
"distance": 2.2
|
// "distance": 2.2
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"id": "97603deebb83f610f73acf5d0def2bce",
|
// "id": "97603deebb83f610f73acf5d0def2bce",
|
||||||
"enabled": true,
|
// "enabled": true,
|
||||||
"code": "3401003",
|
// "code": "3401003",
|
||||||
"name": "SWES眠花糖合肥安粮国贸体验店",
|
// "name": "SWES眠花糖合肥安粮国贸体验店",
|
||||||
"customerId": null,
|
// "customerId": null,
|
||||||
"setNetCustomerKid": null,
|
// "setNetCustomerKid": null,
|
||||||
"customer": null,
|
// "customer": null,
|
||||||
"kingdeeId": "",
|
// "kingdeeId": "",
|
||||||
"channel": null,
|
// "channel": null,
|
||||||
"salePersonId": "69297c65588adde4ee5de3c43a2c4033",
|
// "salePersonId": "69297c65588adde4ee5de3c43a2c4033",
|
||||||
"salePerson": null,
|
// "salePerson": null,
|
||||||
"deptId": 3,
|
// "deptId": 3,
|
||||||
"deptName": null,
|
// "deptName": null,
|
||||||
"dept": null,
|
// "dept": null,
|
||||||
"introduction": "",
|
// "introduction": "",
|
||||||
"mobile": "18655643429",
|
// "mobile": "18655643429",
|
||||||
"hotline": "0551-65156985",
|
// "hotline": "0551-65156985",
|
||||||
"city": "合肥市",
|
// "city": "合肥市",
|
||||||
"district": "政务新区",
|
// "district": "政务新区",
|
||||||
"addressDetail": "安徽省合肥市蜀山区合作化南路16号",
|
// "addressDetail": "安徽省合肥市蜀山区合作化南路16号",
|
||||||
"image": "",
|
// "image": "",
|
||||||
"latitude": "31.82018",
|
// "latitude": "31.82018",
|
||||||
"longitude": "117.25367",
|
// "longitude": "117.25367",
|
||||||
"isDel": false,
|
// "isDel": false,
|
||||||
"isAppShow": true,
|
// "isAppShow": true,
|
||||||
"business": true,
|
// "business": true,
|
||||||
"authEndTime": null,
|
// "authEndTime": null,
|
||||||
"createTime": 1701133473000,
|
// "createTime": 1701133473000,
|
||||||
"createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
// "createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
||||||
"updateTime": 1709193752000,
|
// "updateTime": 1709193752000,
|
||||||
"updateAdminId": null,
|
// "updateAdminId": null,
|
||||||
"distance": 3.5
|
// "distance": 3.5
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"id": "b6b588d7ff6b248115ee3e5951cf39a1",
|
// "id": "b6b588d7ff6b248115ee3e5951cf39a1",
|
||||||
"enabled": true,
|
// "enabled": true,
|
||||||
"code": "3301001",
|
// "code": "3301001",
|
||||||
"name": "SWES眠花糖杭州南星桥旗舰店",
|
// "name": "SWES眠花糖杭州南星桥旗舰店",
|
||||||
"customerId": null,
|
// "customerId": null,
|
||||||
"setNetCustomerKid": null,
|
// "setNetCustomerKid": null,
|
||||||
"customer": null,
|
// "customer": null,
|
||||||
"kingdeeId": "",
|
// "kingdeeId": "",
|
||||||
"channel": null,
|
// "channel": null,
|
||||||
"salePersonId": "f3a5e7935f65e94bc5aa6b2d63211e61",
|
// "salePersonId": "f3a5e7935f65e94bc5aa6b2d63211e61",
|
||||||
"salePerson": null,
|
// "salePerson": null,
|
||||||
"deptId": 33,
|
// "deptId": 33,
|
||||||
"deptName": null,
|
// "deptName": null,
|
||||||
"dept": null,
|
// "dept": null,
|
||||||
"introduction": "",
|
// "introduction": "",
|
||||||
"mobile": "15222919097",
|
// "mobile": "15222919097",
|
||||||
"hotline": "0571-86718606",
|
// "hotline": "0571-86718606",
|
||||||
"city": "杭州市",
|
// "city": "杭州市",
|
||||||
"district": "上城区",
|
// "district": "上城区",
|
||||||
"addressDetail": "浙江省杭州市上城区飞云江路45号一层102室",
|
// "addressDetail": "浙江省杭州市上城区飞云江路45号一层102室",
|
||||||
"image": "",
|
// "image": "",
|
||||||
"latitude": "30.21667",
|
// "latitude": "30.21667",
|
||||||
"longitude": "120.17757",
|
// "longitude": "120.17757",
|
||||||
"isDel": false,
|
// "isDel": false,
|
||||||
"isAppShow": true,
|
// "isAppShow": true,
|
||||||
"business": true,
|
// "business": true,
|
||||||
"authEndTime": null,
|
// "authEndTime": null,
|
||||||
"createTime": 1701135379000,
|
// "createTime": 1701135379000,
|
||||||
"createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
// "createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
||||||
"updateTime": 1709194185000,
|
// "updateTime": 1709194185000,
|
||||||
"updateAdminId": null,
|
// "updateAdminId": null,
|
||||||
"distance": 332.1
|
// "distance": 332.1
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"id": "38fdbb715dc7bfddae3e32685c288e49",
|
// "id": "38fdbb715dc7bfddae3e32685c288e49",
|
||||||
"enabled": true,
|
// "enabled": true,
|
||||||
"code": "3102001",
|
// "code": "3102001",
|
||||||
"name": "SWES眠花糖上海复兴荟旗舰店",
|
// "name": "SWES眠花糖上海复兴荟旗舰店",
|
||||||
"customerId": null,
|
// "customerId": null,
|
||||||
"setNetCustomerKid": null,
|
// "setNetCustomerKid": null,
|
||||||
"customer": null,
|
// "customer": null,
|
||||||
"kingdeeId": "",
|
// "kingdeeId": "",
|
||||||
"channel": null,
|
// "channel": null,
|
||||||
"salePersonId": "4ae944badb423197bc54c0a6ec252944",
|
// "salePersonId": "4ae944badb423197bc54c0a6ec252944",
|
||||||
"salePerson": null,
|
// "salePerson": null,
|
||||||
"deptId": 32,
|
// "deptId": 32,
|
||||||
"deptName": null,
|
// "deptName": null,
|
||||||
"dept": null,
|
// "dept": null,
|
||||||
"introduction": "",
|
// "introduction": "",
|
||||||
"mobile": "13053037959",
|
// "mobile": "13053037959",
|
||||||
"hotline": "021-63391962",
|
// "hotline": "021-63391962",
|
||||||
"city": "上海市",
|
// "city": "上海市",
|
||||||
"district": "黄浦区",
|
// "district": "黄浦区",
|
||||||
"addressDetail": "上海市黄浦区复兴东路1108号1层-1室",
|
// "addressDetail": "上海市黄浦区复兴东路1108号1层-1室",
|
||||||
"image": "",
|
// "image": "",
|
||||||
"latitude": "31.22209",
|
// "latitude": "31.22209",
|
||||||
"longitude": "121.494667",
|
// "longitude": "121.494667",
|
||||||
"isDel": false,
|
// "isDel": false,
|
||||||
"isAppShow": true,
|
// "isAppShow": true,
|
||||||
"business": true,
|
// "business": true,
|
||||||
"authEndTime": null,
|
// "authEndTime": null,
|
||||||
"createTime": 1701135192000,
|
// "createTime": 1701135192000,
|
||||||
"createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
// "createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
||||||
"updateTime": 1709194151000,
|
// "updateTime": 1709194151000,
|
||||||
"updateAdminId": null,
|
// "updateAdminId": null,
|
||||||
"distance": 407.3
|
// "distance": 407.3
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"id": "af908e6c5d1a2c8113b1c73117e15064",
|
// "id": "af908e6c5d1a2c8113b1c73117e15064",
|
||||||
"enabled": true,
|
// "enabled": true,
|
||||||
"code": "3101001",
|
// "code": "3101001",
|
||||||
"name": "SWES眠花糖上海外滩九里体验店",
|
// "name": "SWES眠花糖上海外滩九里体验店",
|
||||||
"customerId": null,
|
// "customerId": null,
|
||||||
"setNetCustomerKid": null,
|
// "setNetCustomerKid": null,
|
||||||
"customer": null,
|
// "customer": null,
|
||||||
"kingdeeId": "",
|
// "kingdeeId": "",
|
||||||
"channel": null,
|
// "channel": null,
|
||||||
"salePersonId": "1794f729f27ad4a44afad10061446dd5",
|
// "salePersonId": "1794f729f27ad4a44afad10061446dd5",
|
||||||
"salePerson": null,
|
// "salePerson": null,
|
||||||
"deptId": 31,
|
// "deptId": 31,
|
||||||
"deptName": null,
|
// "deptName": null,
|
||||||
"dept": null,
|
// "dept": null,
|
||||||
"introduction": "",
|
// "introduction": "",
|
||||||
"mobile": "13856414205",
|
// "mobile": "13856414205",
|
||||||
"hotline": "021-63391208",
|
// "hotline": "021-63391208",
|
||||||
"city": "上海市",
|
// "city": "上海市",
|
||||||
"district": "黄浦区",
|
// "district": "黄浦区",
|
||||||
"addressDetail": "上海市黄浦区紫霞路103-107号1层103-12室",
|
// "addressDetail": "上海市黄浦区紫霞路103-107号1层103-12室",
|
||||||
"image": "",
|
// "image": "",
|
||||||
"latitude": "31.218434",
|
// "latitude": "31.218434",
|
||||||
"longitude": "121.502098",
|
// "longitude": "121.502098",
|
||||||
"isDel": false,
|
// "isDel": false,
|
||||||
"isAppShow": true,
|
// "isAppShow": true,
|
||||||
"business": true,
|
// "business": true,
|
||||||
"authEndTime": null,
|
// "authEndTime": null,
|
||||||
"createTime": 1701134886000,
|
// "createTime": 1701134886000,
|
||||||
"createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
// "createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
||||||
"updateTime": 1709194053000,
|
// "updateTime": 1709194053000,
|
||||||
"updateAdminId": null,
|
// "updateAdminId": null,
|
||||||
"distance": 408.1
|
// "distance": 408.1
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"id": "a5f1fc9a03ba827841c473e28a3fcdb2",
|
// "id": "a5f1fc9a03ba827841c473e28a3fcdb2",
|
||||||
"enabled": true,
|
// "enabled": true,
|
||||||
"code": "3101002",
|
// "code": "3101002",
|
||||||
"name": "SWES眠花糖上海尚悦湾旗舰店",
|
// "name": "SWES眠花糖上海尚悦湾旗舰店",
|
||||||
"customerId": null,
|
// "customerId": null,
|
||||||
"setNetCustomerKid": null,
|
// "setNetCustomerKid": null,
|
||||||
"customer": null,
|
// "customer": null,
|
||||||
"kingdeeId": "",
|
// "kingdeeId": "",
|
||||||
"channel": null,
|
// "channel": null,
|
||||||
"salePersonId": "d97ec48ee3b1060eb7ff5c81f0ffa37f",
|
// "salePersonId": "d97ec48ee3b1060eb7ff5c81f0ffa37f",
|
||||||
"salePerson": null,
|
// "salePerson": null,
|
||||||
"deptId": 31,
|
// "deptId": 31,
|
||||||
"deptName": null,
|
// "deptName": null,
|
||||||
"dept": null,
|
// "dept": null,
|
||||||
"introduction": "",
|
// "introduction": "",
|
||||||
"mobile": "19523660595",
|
// "mobile": "19523660595",
|
||||||
"hotline": "021-63336707",
|
// "hotline": "021-63336707",
|
||||||
"city": "上海市",
|
// "city": "上海市",
|
||||||
"district": "浦东新区",
|
// "district": "浦东新区",
|
||||||
"addressDetail": "上海市浦东新区银城路66号",
|
// "addressDetail": "上海市浦东新区银城路66号",
|
||||||
"image": "",
|
// "image": "",
|
||||||
"latitude": "31.24103",
|
// "latitude": "31.24103",
|
||||||
"longitude": "121.51045",
|
// "longitude": "121.51045",
|
||||||
"isDel": false,
|
// "isDel": false,
|
||||||
"isAppShow": true,
|
// "isAppShow": true,
|
||||||
"business": true,
|
// "business": true,
|
||||||
"authEndTime": null,
|
// "authEndTime": null,
|
||||||
"createTime": 1701135694000,
|
// "createTime": 1701135694000,
|
||||||
"createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
// "createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
||||||
"updateTime": 1709194087000,
|
// "updateTime": 1709194087000,
|
||||||
"updateAdminId": null,
|
// "updateAdminId": null,
|
||||||
"distance": 408.4
|
// "distance": 408.4
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"id": "21ddfb547060e930f841605dc4469bec",
|
// "id": "21ddfb547060e930f841605dc4469bec",
|
||||||
"enabled": true,
|
// "enabled": true,
|
||||||
"code": "1101001",
|
// "code": "1101001",
|
||||||
"name": "SWES眠花糖北京富力城旗舰店",
|
// "name": "SWES眠花糖北京富力城旗舰店",
|
||||||
"customerId": null,
|
// "customerId": null,
|
||||||
"setNetCustomerKid": null,
|
// "setNetCustomerKid": null,
|
||||||
"customer": null,
|
// "customer": null,
|
||||||
"kingdeeId": "",
|
// "kingdeeId": "",
|
||||||
"channel": null,
|
// "channel": null,
|
||||||
"salePersonId": "b66028a628ce0fcb871ab7db5c17128e",
|
// "salePersonId": "b66028a628ce0fcb871ab7db5c17128e",
|
||||||
"salePerson": null,
|
// "salePerson": null,
|
||||||
"deptId": 11,
|
// "deptId": 11,
|
||||||
"deptName": null,
|
// "deptName": null,
|
||||||
"dept": null,
|
// "dept": null,
|
||||||
"introduction": "",
|
// "introduction": "",
|
||||||
"mobile": "15556119960",
|
// "mobile": "15556119960",
|
||||||
"hotline": "010-58766288",
|
// "hotline": "010-58766288",
|
||||||
"city": "北京市",
|
// "city": "北京市",
|
||||||
"district": "朝阳区",
|
// "district": "朝阳区",
|
||||||
"addressDetail": "北京市朝阳区天力街3号楼1至2层商业12号",
|
// "addressDetail": "北京市朝阳区天力街3号楼1至2层商业12号",
|
||||||
"image": "",
|
// "image": "",
|
||||||
"latitude": "39.89862",
|
// "latitude": "39.89862",
|
||||||
"longitude": "116.45851",
|
// "longitude": "116.45851",
|
||||||
"isDel": false,
|
// "isDel": false,
|
||||||
"isAppShow": false,
|
// "isAppShow": false,
|
||||||
"business": true,
|
// "business": true,
|
||||||
"authEndTime": null,
|
// "authEndTime": null,
|
||||||
"createTime": 1701134049000,
|
// "createTime": 1701134049000,
|
||||||
"createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
// "createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
||||||
"updateTime": 1733193484000,
|
// "updateTime": 1733193484000,
|
||||||
"updateAdminId": null,
|
// "updateAdminId": null,
|
||||||
"distance": 897.7
|
// "distance": 897.7
|
||||||
},
|
// },
|
||||||
{
|
// {
|
||||||
"id": "432bfdf508115827c5dca474b72dea68",
|
// "id": "432bfdf508115827c5dca474b72dea68",
|
||||||
"enabled": true,
|
// "enabled": true,
|
||||||
"code": "1102001",
|
// "code": "1102001",
|
||||||
"name": "SWES眠花糖北京英皇中心旗舰店",
|
// "name": "SWES眠花糖北京英皇中心旗舰店",
|
||||||
"customerId": null,
|
// "customerId": null,
|
||||||
"setNetCustomerKid": null,
|
// "setNetCustomerKid": null,
|
||||||
"customer": null,
|
// "customer": null,
|
||||||
"kingdeeId": "",
|
// "kingdeeId": "",
|
||||||
"channel": null,
|
// "channel": null,
|
||||||
"salePersonId": "155848302d5b6f2768111574f0161816",
|
// "salePersonId": "155848302d5b6f2768111574f0161816",
|
||||||
"salePerson": null,
|
// "salePerson": null,
|
||||||
"deptId": 12,
|
// "deptId": 12,
|
||||||
"deptName": null,
|
// "deptName": null,
|
||||||
"dept": null,
|
// "dept": null,
|
||||||
"introduction": "",
|
// "introduction": "",
|
||||||
"mobile": "18225602774",
|
// "mobile": "18225602774",
|
||||||
"hotline": "010-53269059",
|
// "hotline": "010-53269059",
|
||||||
"city": "北京市",
|
// "city": "北京市",
|
||||||
"district": "朝阳区",
|
// "district": "朝阳区",
|
||||||
"addressDetail": "北京市朝阳区建国门外大街丁12号",
|
// "addressDetail": "北京市朝阳区建国门外大街丁12号",
|
||||||
"image": "",
|
// "image": "",
|
||||||
"latitude": "39.907911",
|
// "latitude": "39.907911",
|
||||||
"longitude": "116.444584",
|
// "longitude": "116.444584",
|
||||||
"isDel": false,
|
// "isDel": false,
|
||||||
"isAppShow": true,
|
// "isAppShow": true,
|
||||||
"business": true,
|
// "business": true,
|
||||||
"authEndTime": null,
|
// "authEndTime": null,
|
||||||
"createTime": 1701134158000,
|
// "createTime": 1701134158000,
|
||||||
"createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
// "createAdminId": "f6da6faa2d50e7eff7b54bcdd55b0283",
|
||||||
"updateTime": 1710490644000,
|
// "updateTime": 1710490644000,
|
||||||
"updateAdminId": null,
|
// "updateAdminId": null,
|
||||||
"distance": 898.9
|
// "distance": 898.9
|
||||||
}
|
// }
|
||||||
];
|
// ];
|
||||||
|
|
||||||
bodysize = cc;
|
bodysize = cc;
|
||||||
|
|
||||||
return GestureDetector(
|
return GestureDetector(
|
||||||
@@ -411,6 +417,7 @@ class ExperienceStorePage extends GetView<ExperienceStoreListController> {
|
|||||||
},
|
},
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
Obx(() {
|
Obx(() {
|
||||||
if (controller
|
if (controller
|
||||||
.model.experienceStoreModelList.length ==
|
.model.experienceStoreModelList.length ==
|
||||||
@@ -420,6 +427,7 @@ class ExperienceStorePage extends GetView<ExperienceStoreListController> {
|
|||||||
return Container();
|
return Container();
|
||||||
}
|
}
|
||||||
}),
|
}),
|
||||||
|
|
||||||
Expanded(
|
Expanded(
|
||||||
child: Obx(() => ListView(
|
child: Obx(() => ListView(
|
||||||
controller: scrollController,
|
controller: scrollController,
|
||||||
|
|||||||
@@ -188,27 +188,23 @@ class ExperienceStoreWidget extends GetView {
|
|||||||
child: InkWell(
|
child: InkWell(
|
||||||
onTap: () async {
|
onTap: () async {
|
||||||
//"latitude" -> "31.858934" "longitude" -> "117.282166"
|
//"latitude" -> "31.858934" "longitude" -> "117.282166"
|
||||||
// AppMapLocation.checkInstalledApps()
|
AppMapLocation.checkInstalledApps().then((d) {
|
||||||
// .then((d) {
|
if (AppMapLocation
|
||||||
// if (AppMapLocation
|
.availableMapsToNames.isEmpty) {
|
||||||
// .availableMapsToNames.isEmpty) {
|
showToast("未检测到导航软件");
|
||||||
// showToast("未检测到导航软件");
|
} else {
|
||||||
// } else {
|
showOneSelectionDialog(context,
|
||||||
// showOneSelectionDialog(context,
|
title: "选择地图",
|
||||||
// title: "选择地图",
|
arr: AppMapLocation.availableMapsToNames,
|
||||||
// arr: AppMapLocation
|
checkChange: (index) {
|
||||||
// .availableMapsToNames,
|
AppMapLocation.launchMap(
|
||||||
// checkChange: (index) {
|
index,
|
||||||
// AppMapLocation.launchMap(
|
data["name"],
|
||||||
// index,
|
double.parse("${data["latitude"]}"),
|
||||||
// data["name"],
|
double.parse("${data["longitude"]}"));
|
||||||
// double.parse(
|
});
|
||||||
// "${data["latitude"]}"),
|
}
|
||||||
// double.parse(
|
});
|
||||||
// "${data["longitude"]}"));
|
|
||||||
// });
|
|
||||||
// }
|
|
||||||
// });
|
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
width: MediaQuery.sizeOf(context).width * 0.105,
|
width: MediaQuery.sizeOf(context).width * 0.105,
|
||||||
|
|||||||
@@ -281,7 +281,7 @@ class _MinePageState extends State<NewMinePage> {
|
|||||||
children: [
|
children: [
|
||||||
_buildListTile('assets/img/icon/order.svg',
|
_buildListTile('assets/img/icon/order.svg',
|
||||||
'我的订单', '快捷查看我在网上的订单记录',
|
'我的订单', '快捷查看我在网上的订单记录',
|
||||||
showTopLine: true, path: "/issueListpage"),
|
showTopLine: true, path: ""),
|
||||||
_buildListTile('assets/img/icon/store.svg',
|
_buildListTile('assets/img/icon/store.svg',
|
||||||
'门店体验', '如果想免费体验智能设备,可在此进行提前预约',
|
'门店体验', '如果想免费体验智能设备,可在此进行提前预约',
|
||||||
path: "/experienceStorePage"),
|
path: "/experienceStorePage"),
|
||||||
@@ -293,7 +293,7 @@ class _MinePageState extends State<NewMinePage> {
|
|||||||
),
|
),
|
||||||
_buildListTile('assets/img/icon/mall.svg', '网上商城',
|
_buildListTile('assets/img/icon/mall.svg', '网上商城',
|
||||||
'最新的智能产品线上购买服务',
|
'最新的智能产品线上购买服务',
|
||||||
path: "/issueListpage"),
|
path: ""),
|
||||||
_buildListTile('assets/img/icon/address.svg',
|
_buildListTile('assets/img/icon/address.svg',
|
||||||
'地址管理', '用于收货和报修时联系您',
|
'地址管理', '用于收货和报修时联系您',
|
||||||
path: "/addressListPage"),
|
path: "/addressListPage"),
|
||||||
@@ -304,7 +304,7 @@ class _MinePageState extends State<NewMinePage> {
|
|||||||
'assets/img/icon/customer_service.svg',
|
'assets/img/icon/customer_service.svg',
|
||||||
'在线客服',
|
'在线客服',
|
||||||
'购买和使用智能床过程中,如果遇到疑问可与客服进行联系',
|
'购买和使用智能床过程中,如果遇到疑问可与客服进行联系',
|
||||||
path: "/issueListpage"),
|
path: ""),
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
@@ -345,15 +345,19 @@ class _MinePageState extends State<NewMinePage> {
|
|||||||
highlightColor: Colors.white,
|
highlightColor: Colors.white,
|
||||||
padding: EdgeInsets.all(0.rpx),
|
padding: EdgeInsets.all(0.rpx),
|
||||||
onTap: () {
|
onTap: () {
|
||||||
Get.toNamed(path!);
|
if (path == null || path.isEmpty) {
|
||||||
|
TopSlideNotification.show(context, text: "待开发功能".tr);
|
||||||
|
} else {
|
||||||
|
Get.toNamed(path);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
child: Container(
|
child: Container(
|
||||||
decoration: BoxDecoration(
|
decoration: BoxDecoration(
|
||||||
border: Border(
|
border: Border(
|
||||||
top: showTopLine
|
top: showTopLine
|
||||||
? BorderSide(color: Color(0xFF929699), width: 2.rpx)
|
? BorderSide(color: Color(0xFF929699), width: 0.5.rpx)
|
||||||
: BorderSide.none,
|
: BorderSide.none,
|
||||||
bottom: BorderSide(color: Color(0xFF929699), width: 2.rpx),
|
bottom: BorderSide(color: Color(0xFF929699), width: 0.5.rpx),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
height: 116.rpx,
|
height: 116.rpx,
|
||||||
|
|||||||
@@ -35,7 +35,7 @@ class _PeopleInfoState extends State<PeopleInfoPage> {
|
|||||||
// }
|
// }
|
||||||
|
|
||||||
getLine() {
|
getLine() {
|
||||||
return Container(height: 0.5.rpx, color: Color(0xFFD8D8D8));
|
return Container(height: 0.5.rpx, color: Color(0xFF929699));
|
||||||
}
|
}
|
||||||
|
|
||||||
@override
|
@override
|
||||||
|
|||||||
@@ -158,10 +158,10 @@ class RepairHistoryWidget extends GetView<RepairInfoController> {
|
|||||||
// color: const Color(0xFF06486F),
|
// color: const Color(0xFF06486F),
|
||||||
border: Border(
|
border: Border(
|
||||||
top: index == 0
|
top: index == 0
|
||||||
? BorderSide(color: const Color(0xFF929699), width: 1.rpx)
|
? BorderSide(color: const Color(0xFF929699), width: 0.5.rpx)
|
||||||
: BorderSide.none,
|
: BorderSide.none,
|
||||||
bottom:
|
bottom:
|
||||||
BorderSide(color: const Color(0xFF929699), width: 1.rpx),
|
BorderSide(color: const Color(0xFF929699), width: 0.5.rpx),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
child: Padding(
|
child: Padding(
|
||||||
|
|||||||
@@ -13,13 +13,6 @@ class Smys extends GetView<SleepingHabitController> {
|
|||||||
|
|
||||||
// get glController => Get.find<GlobalController>();
|
// get glController => Get.find<GlobalController>();
|
||||||
|
|
||||||
getLine() {
|
|
||||||
return Container(
|
|
||||||
height: 1,
|
|
||||||
color: stringToColor("#152676"),
|
|
||||||
);
|
|
||||||
}
|
|
||||||
|
|
||||||
// updateParm(
|
// updateParm(
|
||||||
// {int time = 2, bool isShowToast = true, Function? errorccCallback = null}) {
|
// {int time = 2, bool isShowToast = true, Function? errorccCallback = null}) {
|
||||||
// ApiService.request
|
// ApiService.request
|
||||||
@@ -87,7 +80,7 @@ class Smys extends GetView<SleepingHabitController> {
|
|||||||
],
|
],
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
|
||||||
actions: [],
|
actions: [],
|
||||||
centerTitle: false,
|
centerTitle: false,
|
||||||
),
|
),
|
||||||
|
|||||||
@@ -59,7 +59,7 @@ var mhroutes = {
|
|||||||
"/roomPickerPage": (context) => RoomPickerPage(),
|
"/roomPickerPage": (context) => RoomPickerPage(),
|
||||||
"/editBedPage": (context) => EditBedPage(),
|
"/editBedPage": (context) => EditBedPage(),
|
||||||
"/experienceStorePage": (context) => ExperienceStorePage(),
|
"/experienceStorePage": (context) => ExperienceStorePage(),
|
||||||
"/bookInfoPage": (context, {arguments}) => BookInfoPage(data: arguments),
|
"/bookInfoPage": (context, {arguments}) => BookInfoPage(data: arguments["data"]),
|
||||||
"/bookSuccessPage": (contxt, {arguments}) =>
|
"/bookSuccessPage": (contxt, {arguments}) =>
|
||||||
BookSuccessPage(data: arguments["data"]),
|
BookSuccessPage(data: arguments["data"]),
|
||||||
"/myExperiencePage": (context) => MyExperiencePage(),
|
"/myExperiencePage": (context) => MyExperiencePage(),
|
||||||
|
|||||||
56
pubspec.lock
56
pubspec.lock
@@ -498,7 +498,7 @@ packages:
|
|||||||
easydevice:
|
easydevice:
|
||||||
dependency: "direct main"
|
dependency: "direct main"
|
||||||
description:
|
description:
|
||||||
path: "C:\\Users\\wyf\\Desktop\\blue\\easydevice"
|
path: "C:\\Users\\a\\Desktop\\blue\\easydevice"
|
||||||
relative: false
|
relative: false
|
||||||
source: path
|
source: path
|
||||||
version: "0.0.1"
|
version: "0.0.1"
|
||||||
@@ -652,6 +652,14 @@ packages:
|
|||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "6.1.0"
|
version: "6.1.0"
|
||||||
|
flutter_city_picker:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: flutter_city_picker
|
||||||
|
sha256: "393f138d90012ed8bbab0d98e1cd97e3c7577f079b43a9d288cdec7f440b6a7e"
|
||||||
|
url: "https://pub.flutter-io.cn"
|
||||||
|
source: hosted
|
||||||
|
version: "2.1.1"
|
||||||
flutter_credit_card:
|
flutter_credit_card:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -769,6 +777,14 @@ packages:
|
|||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.3"
|
version: "0.1.3"
|
||||||
|
flutter_slidable:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: flutter_slidable
|
||||||
|
sha256: a857de7ea701f276fd6a6c4c67ae885b60729a3449e42766bb0e655171042801
|
||||||
|
url: "https://pub.flutter-io.cn"
|
||||||
|
source: hosted
|
||||||
|
version: "3.1.2"
|
||||||
flutter_staggered_grid_view:
|
flutter_staggered_grid_view:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -785,6 +801,14 @@ packages:
|
|||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.0"
|
version: "2.1.0"
|
||||||
|
flutter_switch:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: flutter_switch
|
||||||
|
sha256: b91477f926bba135d2d203d7b24367492662d8d9c3aa6adb960b14c1087d3c41
|
||||||
|
url: "https://pub.flutter-io.cn"
|
||||||
|
source: hosted
|
||||||
|
version: "0.3.2"
|
||||||
flutter_test:
|
flutter_test:
|
||||||
dependency: "direct dev"
|
dependency: "direct dev"
|
||||||
description: flutter
|
description: flutter
|
||||||
@@ -901,13 +925,13 @@ packages:
|
|||||||
source: hosted
|
source: hosted
|
||||||
version: "13.0.3"
|
version: "13.0.3"
|
||||||
geolocator_android:
|
geolocator_android:
|
||||||
dependency: transitive
|
dependency: "direct overridden"
|
||||||
description:
|
description:
|
||||||
name: geolocator_android
|
name: geolocator_android
|
||||||
sha256: fcb1760a50d7500deca37c9a666785c047139b5f9ee15aa5469fae7dbbe3170d
|
sha256: "06e37fa32392f69f133e166ef6b358a8b6afddbf4c418fc236988184cc115a49"
|
||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "4.6.2"
|
version: "4.4.1"
|
||||||
geolocator_apple:
|
geolocator_apple:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -956,6 +980,14 @@ packages:
|
|||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "2.1.1"
|
version: "2.1.1"
|
||||||
|
gif:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: gif
|
||||||
|
sha256: ade95694f1471da737922806818ffade2814d1d7f8d10af38ebcf36ace012bc0
|
||||||
|
url: "https://pub.flutter-io.cn"
|
||||||
|
source: hosted
|
||||||
|
version: "2.3.0"
|
||||||
glob:
|
glob:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -1276,6 +1308,14 @@ packages:
|
|||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "0.1.2-main.4"
|
version: "0.1.2-main.4"
|
||||||
|
map_launcher:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: map_launcher
|
||||||
|
sha256: "7436d6ef9ae57ff15beafcedafe0a8f0604006cbecd2d26024c4cfb0158c2b9a"
|
||||||
|
url: "https://pub.flutter-io.cn"
|
||||||
|
source: hosted
|
||||||
|
version: "3.5.0"
|
||||||
mapbox_search:
|
mapbox_search:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
@@ -2098,6 +2138,14 @@ packages:
|
|||||||
url: "https://pub.flutter-io.cn"
|
url: "https://pub.flutter-io.cn"
|
||||||
source: hosted
|
source: hosted
|
||||||
version: "3.7.1"
|
version: "3.7.1"
|
||||||
|
timeline_tile:
|
||||||
|
dependency: "direct main"
|
||||||
|
description:
|
||||||
|
name: timeline_tile
|
||||||
|
sha256: "85ec2023c67137397c2812e3e848b2fb20b410b67cd9aff304bb5480c376fc0c"
|
||||||
|
url: "https://pub.flutter-io.cn"
|
||||||
|
source: hosted
|
||||||
|
version: "2.0.0"
|
||||||
timing:
|
timing:
|
||||||
dependency: transitive
|
dependency: transitive
|
||||||
description:
|
description:
|
||||||
|
|||||||
Reference in New Issue
Block a user