Browse Source

add:添加评价弹窗。

zhoukun 5 months ago
parent
commit
3ec59dcc20

+ 10 - 0
lib/module/member/member_controller.dart

@@ -39,6 +39,7 @@ import '../../widget/animated_switcher_widget.dart';
 import '../browser/browser_view.dart';
 import '../mine/mine_controller.dart';
 import 'member_evaluate_bean.dart';
+import 'member_evaluation_pop_up_dialog.dart';
 import 'member_first_week_discount_dialog.dart';
 import 'member_fun_bean.dart';
 import 'package:apple_pay/apple_pay.dart';
@@ -144,6 +145,15 @@ class MemberController extends BaseController implements PaymentStatusCallback {
       _toolBarOpacity.value = opacity;
     });
     refreshMemberData();
+
+    /*
+    评价
+    MemberEvaluationPopUpDialog.show(payClick: () {
+
+    }, cancelClick: () {
+
+    });
+    */
   }
 
   ///是否弹窗提示

+ 97 - 0
lib/module/member/member_evaluation_pop_up_dialog.dart

@@ -0,0 +1,97 @@
+import 'package:flutter/material.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:flutter_smart_dialog/flutter_smart_dialog.dart';
+import 'package:location/resource/assets.gen.dart';
+
+
+class MemberEvaluationPopUpDialog {
+  static final String _tag = 'MemberEvaluationPopUpDialog';
+
+  static void show(
+      {required VoidCallback payClick, required VoidCallback cancelClick}) {
+    SmartDialog.show(
+        tag: _tag,
+        backDismiss: false,
+        clickMaskDismiss: false,
+        builder: (_) {
+          return _MemberEvaluationPopUpDialogWidget(
+              payClick: payClick, cancelClick: cancelClick);
+        });
+  }
+
+  static void dismiss() {
+    SmartDialog.dismiss(tag: _tag);
+  }
+}
+
+class _MemberEvaluationPopUpDialogWidget extends Dialog {
+  final VoidCallback payClick;
+  final VoidCallback cancelClick;
+
+  const _MemberEvaluationPopUpDialogWidget(
+      {required this.payClick, required this.cancelClick});
+
+  @override
+  Widget build(BuildContext context) {
+    return Container(
+      child: IntrinsicHeight(
+        child: Column(
+          children: [
+            Stack(
+              children: [
+                AspectRatio(
+                    aspectRatio: 1110 / 1296,
+                    child: Assets.images.imgMemberUserCancelsContainer
+                        .image(width: 301.w)),
+                Positioned(
+                  top: 360.w,
+                  left: 60.w,
+                  right: 60.w,
+                  child: GestureDetector(
+                    onTap: () {
+                      MemberEvaluationPopUpDialog.dismiss();
+                      payClick();
+                    },
+                    child: Container(
+                      height: 40.w,
+                      decoration: BoxDecoration(
+                        gradient: LinearGradient(
+                          begin: Alignment.centerLeft, // 90度相当于从左到右
+                          end: Alignment.centerRight,
+                          colors: [
+                            Color(0xFF7B7DFF), // #7B7DFF
+                            Color(0xFF6365FF), // #6365FF
+                          ],
+                          stops: [0.0, 1.0],
+                          // 从0%到100%
+                        ),
+                        borderRadius: BorderRadius.circular(40.w / 2.0),
+                      ),
+                      //getPrimaryBtnDecoration(100.w),
+                      child: Center(
+                        child: Text("立即领取",
+                            style: TextStyle(
+                                fontSize: 15.sp, color: Colors.white)),
+                      ),
+                    ),
+                  ),
+                ),
+              ],
+            ),
+            SizedBox(height: 24.w,),
+            Center(
+              child: GestureDetector(
+                onTap: () {
+                  MemberEvaluationPopUpDialog.dismiss();
+                  cancelClick();
+                },
+                child: Assets.images.iconMemberRetainClose
+                    .image(width: 32.w, height: 32.w),
+              ),
+            )
+          ],
+        ),
+      ),
+    );
+  }
+}