2024-03-25 14:16:00 +08:00
|
|
|
|
import 'package:flutter/cupertino.dart';
|
2024-03-19 11:09:07 +08:00
|
|
|
|
import 'package:flutter/material.dart';
|
|
|
|
|
import 'package:flutter/widgets.dart';
|
|
|
|
|
import 'package:get/get.dart';
|
2024-03-25 14:16:00 +08:00
|
|
|
|
import 'package:sk_base_mobile/widgets/core/zt_bottomsheet_picker.dart';
|
2024-03-19 11:09:07 +08:00
|
|
|
|
|
|
|
|
|
class ModalUtil {
|
|
|
|
|
static Future<bool> showWarningDialog(
|
|
|
|
|
String title, String msg, String button, VoidCallback onConfirm) async {
|
|
|
|
|
bool confirmed = false;
|
|
|
|
|
await showDialog(
|
|
|
|
|
context: Get.overlayContext!,
|
|
|
|
|
builder: (context) {
|
|
|
|
|
return AlertDialog(
|
|
|
|
|
title: Text(title),
|
|
|
|
|
content: Text(msg),
|
|
|
|
|
actions: [
|
|
|
|
|
TextButton(
|
|
|
|
|
child: const Text(
|
|
|
|
|
'Cancel',
|
|
|
|
|
style: TextStyle(color: Colors.black),
|
|
|
|
|
),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
Navigator.of(context).pop();
|
|
|
|
|
confirmed = false;
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
TextButton(
|
|
|
|
|
child: Text(
|
|
|
|
|
button,
|
|
|
|
|
style: TextStyle(color: Colors.orange),
|
|
|
|
|
),
|
|
|
|
|
onPressed: () {
|
|
|
|
|
onConfirm();
|
|
|
|
|
Navigator.pop(context);
|
|
|
|
|
confirmed = true;
|
|
|
|
|
},
|
|
|
|
|
),
|
|
|
|
|
],
|
|
|
|
|
);
|
|
|
|
|
},
|
|
|
|
|
);
|
|
|
|
|
return confirmed;
|
|
|
|
|
}
|
2024-03-25 14:16:00 +08:00
|
|
|
|
|
|
|
|
|
/// 底部选择器,支持3级
|
|
|
|
|
static Future<void> showBottomSheetPicker(
|
|
|
|
|
{title = '请选择',
|
|
|
|
|
required onChanged,
|
|
|
|
|
required firstLevel,
|
|
|
|
|
secondLevel,
|
|
|
|
|
thirdLevel,
|
|
|
|
|
itemHeight,
|
|
|
|
|
popupHeight}) async =>
|
|
|
|
|
showCupertinoModalPopup(
|
|
|
|
|
context: Get.overlayContext!,
|
|
|
|
|
builder: (BuildContext context) {
|
|
|
|
|
return ZtBottomSheetPicker(
|
|
|
|
|
title: title,
|
|
|
|
|
onChanged: onChanged,
|
|
|
|
|
firstLevel: firstLevel,
|
|
|
|
|
secondLevel: secondLevel,
|
|
|
|
|
thirdLevel: thirdLevel,
|
|
|
|
|
itemHeight: itemHeight ?? 80.0,
|
|
|
|
|
popupHeight: popupHeight ?? 400);
|
|
|
|
|
},
|
|
|
|
|
);
|
2024-03-19 11:09:07 +08:00
|
|
|
|
}
|