更新眠花糖选择城市
This commit is contained in:
@@ -1,24 +1,22 @@
|
||||
import 'dart:async';
|
||||
|
||||
import 'package:ef/ef.dart';
|
||||
import 'package:flutter/cupertino.dart';
|
||||
import 'package:flutter/material.dart';
|
||||
import 'package:flutter/widgets.dart';
|
||||
import 'package:flutter_svg/svg.dart';
|
||||
import 'package:flutterflow_ui/flutterflow_ui.dart';
|
||||
import 'package:vbvs_app/common/color/appConstants.dart';
|
||||
import 'package:vbvs_app/common/pojo/city.dart';
|
||||
import 'package:vbvs_app/common/util/FitTool.dart';
|
||||
import 'package:vbvs_app/common/util/MyUtils.dart';
|
||||
import 'package:vbvs_app/component/tool/CustomCard.dart';
|
||||
import 'package:vbvs_app/component/tool/TopSlideNotification.dart';
|
||||
import 'package:vbvs_app/controller/home/home_controller.dart';
|
||||
import 'package:vbvs_app/controller/main_bottom/global_controller.dart';
|
||||
import 'package:vbvs_app/controller/mh_controller/people_info_controller.dart';
|
||||
import 'package:vbvs_app/controller/person/person_controller.dart';
|
||||
|
||||
import 'package:vbvs_app/pages/common/selectDialog.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/homepage/controller/mht_home_controller.dart';
|
||||
import 'package:vbvs_app/pages/mh_page/test/WebviewTestModel.dart';
|
||||
import 'package:vbvs_app/pages/person/select_city.dart';
|
||||
|
||||
//更新人员信息
|
||||
class PeopleInfoPage extends GetView<PeopleInfoController> {
|
||||
Map data;
|
||||
PeopleInfoPage({required this.data});
|
||||
@@ -32,9 +30,10 @@ class PeopleInfoPage extends GetView<PeopleInfoController> {
|
||||
}
|
||||
|
||||
PeopleInfoController controller = Get.put(PeopleInfoController());
|
||||
|
||||
@override
|
||||
Widget build(BuildContext context) {
|
||||
getPersonData();
|
||||
getPersonData();
|
||||
return LayoutBuilder(
|
||||
builder: (context, boxConstraints) => GestureDetector(
|
||||
onTap: () {
|
||||
@@ -123,6 +122,22 @@ class PeopleInfoPage extends GetView<PeopleInfoController> {
|
||||
isValid = false;
|
||||
break;
|
||||
}
|
||||
// if (d['UTC'] == null ||
|
||||
// d['UTC'].toString().isEmpty) {
|
||||
// TopSlideNotification.show(context,
|
||||
// text: "请选择城市".tr,
|
||||
// textColor: Color(0xFFFF7159));
|
||||
// isValid = false;
|
||||
// break;
|
||||
// }
|
||||
// if (d['city_id'] ==null ||
|
||||
// d['city_id'].toString().isEmpty) {
|
||||
// TopSlideNotification.show(context,
|
||||
// text: "请选择城市".tr,
|
||||
// textColor: Color(0xFFFF7159));
|
||||
// isValid = false;
|
||||
// break;
|
||||
// }
|
||||
}
|
||||
// 所有数据合法,开始保存
|
||||
if (isValid) {
|
||||
@@ -785,6 +800,137 @@ class PeopleInfoPage extends GetView<PeopleInfoController> {
|
||||
),
|
||||
),
|
||||
getLine(),
|
||||
Container(
|
||||
height: 90.rpx,
|
||||
margin: EdgeInsets.only(
|
||||
left: 40.rpx, right: 35.rpx),
|
||||
child: InkWell(
|
||||
onTap: () {
|
||||
// if (widget.status ==
|
||||
// BindType.share.code) {
|
||||
// TopSlideNotification.show(
|
||||
// context,
|
||||
// text: "被分享用户只能修改用户名称",
|
||||
// textColor:
|
||||
// themeController
|
||||
// .currentColor
|
||||
// .sc9);
|
||||
// return;
|
||||
// }
|
||||
FocusScope.of(context)
|
||||
.requestFocus(
|
||||
FocusNode());
|
||||
Future.delayed(
|
||||
Duration(
|
||||
milliseconds: 250),
|
||||
() {
|
||||
// 使用当前选中的城市数据,如果没有则创建默认
|
||||
CityModel? currentCity;
|
||||
if (controller
|
||||
.model
|
||||
.cityModels
|
||||
.isNotEmpty &&
|
||||
index <
|
||||
controller
|
||||
.model
|
||||
.cityModels
|
||||
.length) {
|
||||
currentCity = controller
|
||||
.model
|
||||
.cityModels[index];
|
||||
} else {
|
||||
currentCity = CityModel();
|
||||
}
|
||||
|
||||
showCitySelectionDialog(
|
||||
context,
|
||||
selectedCity: currentCity,
|
||||
onCityChanged:
|
||||
(CityModel newCity) {
|
||||
final list = controller
|
||||
.model.cityModels;
|
||||
if (index <
|
||||
list.length) {
|
||||
// 替换
|
||||
list[index] = newCity;
|
||||
} else {
|
||||
// 补齐并追加
|
||||
list.add(newCity);
|
||||
}
|
||||
controller.model
|
||||
.peopleList[
|
||||
index]['UTC'] =
|
||||
list[index].UTC;
|
||||
controller.model
|
||||
.peopleList[
|
||||
index]
|
||||
['city_id'] = list[
|
||||
index]
|
||||
.id;
|
||||
controller.updateAll();
|
||||
},
|
||||
|
||||
title: "选择城市".tr,
|
||||
cityDataFuture: controller
|
||||
.cityDataFuture, // 传入预加载的数据
|
||||
colors:
|
||||
CitySelectionColors(
|
||||
pickerBackgroundColor:
|
||||
stringToColor(
|
||||
"#003058"),
|
||||
confirmTextColor:
|
||||
stringToColor(
|
||||
"#84F5FF"),
|
||||
selectedCityColor:
|
||||
stringToColor(
|
||||
"#84F5FF"),
|
||||
),
|
||||
);
|
||||
});
|
||||
},
|
||||
child: Row(
|
||||
mainAxisAlignment:
|
||||
MainAxisAlignment
|
||||
.spaceBetween,
|
||||
children: [
|
||||
Text(
|
||||
'请选择城市'.tr,
|
||||
style: TextStyle(
|
||||
fontFamily:
|
||||
'Readex Pro',
|
||||
color:
|
||||
Color(0xFF9EA4B7),
|
||||
fontSize: 30.rpx,
|
||||
letterSpacing: 0,
|
||||
),
|
||||
),
|
||||
Text(
|
||||
getCityModel(index) !=
|
||||
null
|
||||
? MyUtils
|
||||
.getDetailedCityDisplayText(
|
||||
getCityModel(
|
||||
index))
|
||||
: "请选择城市".tr,
|
||||
style: TextStyle(
|
||||
color: getCityModel(
|
||||
index) !=
|
||||
null
|
||||
? themeController
|
||||
.currentColor
|
||||
.sc3
|
||||
: themeController
|
||||
.currentColor
|
||||
.sc4,
|
||||
fontSize: AppConstants()
|
||||
.title_text_fontSize,
|
||||
),
|
||||
),
|
||||
],
|
||||
),
|
||||
),
|
||||
),
|
||||
getLine(),
|
||||
],
|
||||
),
|
||||
)
|
||||
@@ -819,4 +965,10 @@ class PeopleInfoPage extends GetView<PeopleInfoController> {
|
||||
await peopleInfoController
|
||||
.getPeoples(Get.arguments['mac'.tr]); // 控制器创建时立即执行
|
||||
}
|
||||
|
||||
CityModel? getCityModel(int index) {
|
||||
final list = controller.model.cityModels;
|
||||
if (list.isEmpty || index >= list.length) return null;
|
||||
return list[index];
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user