This commit is contained in:
魏少阳 2023-08-24 14:34:18 +08:00
commit b80262cfcc
2 changed files with 21 additions and 14 deletions

View File

@ -2,14 +2,16 @@ class KeyPeriodValidityModel {
late String validityText; // late String validityText; //
late int validityIndex; //index late int validityIndex; //index
late bool isValidity; // late bool isValidity; //
late int validityValue; //
KeyPeriodValidityModel( KeyPeriodValidityModel(this.validityText, this.validityIndex, this.isValidity,
this.validityText, this.validityIndex, this.isValidity); this.validityValue);
KeyPeriodValidityModel.fromJson(Map<String, dynamic> json) { KeyPeriodValidityModel.fromJson(Map<String, dynamic> json) {
validityText = json['validityText']; validityText = json['validityText'];
validityIndex = json['validityIndex']; validityIndex = json['validityIndex'];
isValidity = json['isValidity']; isValidity = json['isValidity'];
validityValue = json['validityValue'];
} }
Map<String, dynamic> toJson() { Map<String, dynamic> toJson() {
@ -17,6 +19,7 @@ class KeyPeriodValidityModel {
data['validityText'] = validityText; data['validityText'] = validityText;
data['validityIndex'] = validityIndex; data['validityIndex'] = validityIndex;
data['isValidity'] = isValidity; data['isValidity'] = isValidity;
data['validityValue'] = validityValue;
return data; return data;
} }
} }

View File

@ -44,8 +44,14 @@ class _ElectronicKeyPeriodValidityPageState
super.initState(); super.initState();
for (var i = 0; i < validityTextList.length; i++) { for (var i = 0; i < validityTextList.length; i++) {
int validityValue = 0;
if (i == 0) {
validityValue = 7;
} else {
validityValue = i;
}
KeyPeriodValidityModel model = KeyPeriodValidityModel model =
KeyPeriodValidityModel(validityTextList[i], i, false); KeyPeriodValidityModel(validityTextList[i], i, false, validityValue);
validityDataList.add(model); validityDataList.add(model);
} }
} }
@ -110,9 +116,9 @@ class _ElectronicKeyPeriodValidityPageState
onTap: () { onTap: () {
model.isValidity = !model.isValidity; model.isValidity = !model.isValidity;
if (model.isValidity) { if (model.isValidity) {
selectIndexList.add(model.validityIndex); selectIndexList.add(model.validityValue);
} else { } else {
selectIndexList.remove(model.validityIndex); selectIndexList.remove(model.validityValue);
} }
setState(() {}); setState(() {});
}, },
@ -121,7 +127,7 @@ class _ElectronicKeyPeriodValidityPageState
height: 40.w, height: 40.w,
margin: EdgeInsets.all(10.w), margin: EdgeInsets.all(10.w),
decoration: BoxDecoration( decoration: BoxDecoration(
color: selectIndexList.contains(model.validityIndex) color: selectIndexList.contains(model.validityValue)
? Colors.blue ? Colors.blue
: Colors.white, : Colors.white,
border: Border.all(width: 1, color: AppColors.greyBackgroundColor), border: Border.all(width: 1, color: AppColors.greyBackgroundColor),
@ -132,7 +138,7 @@ class _ElectronicKeyPeriodValidityPageState
model.validityText, model.validityText,
style: TextStyle( style: TextStyle(
fontSize: 20.sp, fontSize: 20.sp,
color: selectIndexList.contains(model.validityIndex) color: selectIndexList.contains(model.validityValue)
? Colors.white ? Colors.white
: AppColors.darkGrayTextColor), : AppColors.darkGrayTextColor),
)), )),
@ -151,9 +157,7 @@ class _ElectronicKeyPeriodValidityPageState
action: () { action: () {
Pickers.showDatePicker(context, mode: DateMode.HM, Pickers.showDatePicker(context, mode: DateMode.HM,
onConfirm: (p) { onConfirm: (p) {
DateTime getPTime = DateTime.parse( _effectiveTime = '${intToStr(p.hour!)}:${intToStr(p.minute!)}';
'${intToStr(p.hour!)}:${intToStr(p.minute!)}');
_effectiveTime = formatDate(getPTime, [HH, ':', nn]);
setState(() {}); setState(() {});
}); });
@ -165,9 +169,7 @@ class _ElectronicKeyPeriodValidityPageState
action: () { action: () {
Pickers.showDatePicker(context, mode: DateMode.HM, Pickers.showDatePicker(context, mode: DateMode.HM,
onConfirm: (p) { onConfirm: (p) {
DateTime getPTime = DateTime.parse( _failureTime = '${intToStr(p.hour!)}:${intToStr(p.minute!)}';
'${intToStr(p.hour!)}:${intToStr(p.minute!)}');
_failureTime = formatDate(getPTime, [HH, ':', nn]);
setState(() {}); setState(() {});
}); });
@ -209,7 +211,9 @@ class _ElectronicKeyPeriodValidityPageState
margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w), margin: EdgeInsets.only(left: 30.w, right: 30.w, top: 30.w),
padding: EdgeInsets.only(top: 25.w, bottom: 25.w), padding: EdgeInsets.only(top: 25.w, bottom: 25.w),
onClick: () { onClick: () {
// Navigator.pushNamed(context, Routers.nearbyLockPage); Map<String, dynamic> resultMap = {};
resultMap['validityValue'] = selectIndexList;
Navigator.pop(context, resultMap);
}), }),
], ],
); );