import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:get/get.dart'; import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetailChangeDate/electronicKeyDetailChangeDate_logic.dart'; import 'package:star_lock/main/lockDetail/electronicKey/electronicKeyDetail/electronicKeyDetailChangeDate/electronicKeyDetailChangeDate_state.dart'; import 'package:star_lock/tools/pickers/pickers.dart'; import 'package:star_lock/tools/pickers/time_picker/model/date_mode.dart'; import 'package:star_lock/tools/pickers/time_picker/model/pduration.dart'; import '../../../../../app_settings/app_colors.dart'; import '../../../../../tools/commonItem.dart'; import '../../../../../tools/dateTool.dart'; import '../../../../../tools/titleAppBar.dart'; class ElectronicKeyDetailChangeDate extends StatefulWidget { const ElectronicKeyDetailChangeDate({Key? key}) : super(key: key); @override State createState() => _ElectronicKeyDetailChangeDateState(); } class _ElectronicKeyDetailChangeDateState extends State { final ElectronicKeyDetailChangeDateLogic logic = Get.put(ElectronicKeyDetailChangeDateLogic()); final ElectronicKeyDetailChangeDateState state = Get.find().state; @override Widget build(BuildContext context) { return Scaffold( backgroundColor: AppColors.mainBackgroundColor, appBar: TitleAppBar( barTitle: '修改有效期'.tr, haveBack: true, backgroundColor: AppColors.mainColor, actionsList: [ TextButton( child: Text( '确定'.tr, style: TextStyle(color: Colors.white, fontSize: 24.sp), ), onPressed: logic.updateKeyDateRequest, ), ], ), body: buildMainUI(), ); } Widget buildMainUI() { return Column( children: [ Obx(() => CommonItem( leftTitel: '生效时间'.tr, rightTitle: state.beginTime.value, isHaveLine: true, isHaveDirection: true, action: () { PDuration selectDate = PDuration.parse(DateTime.tryParse(state.beginTime.value)); Pickers.showDatePicker(context, selectDate: selectDate, mode: DateMode.YMDHM, onConfirm: (PDuration p) { setState(() { state.beginTime.value = DateTool().getYMDHNDateString(p, 1); }); }); })), Obx(() => CommonItem( leftTitel: '失效时间'.tr, rightTitle: state.endTime.value, isHaveDirection: true, action: () { PDuration selectDate = PDuration.parse(DateTime.tryParse(state.endTime.value)); Pickers.showDatePicker(context, selectDate: selectDate, mode: DateMode.YMDHM, onConfirm: (PDuration p) { setState(() { state.endTime.value = DateTool().getYMDHNDateString(p, 1); }); }); })), ], ); } }