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

View File

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