|
|
@@ -0,0 +1,144 @@
|
|
|
+import 'package:electronic_assistant/base/base_page.dart';
|
|
|
+import 'package:electronic_assistant/module/main/drawer/complaint/controller.dart';
|
|
|
+import 'package:electronic_assistant/resource/assets.gen.dart';
|
|
|
+import 'package:electronic_assistant/resource/colors.gen.dart';
|
|
|
+import 'package:electronic_assistant/utils/expand.dart';
|
|
|
+import 'package:flutter/material.dart';
|
|
|
+import 'package:flutter/services.dart';
|
|
|
+import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
|
+import 'package:get/get.dart';
|
|
|
+
|
|
|
+class ComplaintOpinionPage extends BasePage<ComplaintOpinionController> {
|
|
|
+ const ComplaintOpinionPage({super.key});
|
|
|
+
|
|
|
+ @override
|
|
|
+ bool immersive() {
|
|
|
+ return true;
|
|
|
+ }
|
|
|
+
|
|
|
+ // 点击空白处收起键盘
|
|
|
+ @override
|
|
|
+ void backgroundOnTapEvent() {
|
|
|
+ super.backgroundOnTapEvent();
|
|
|
+ FocusScope.of(Get.context!).requestFocus(FocusNode());
|
|
|
+ }
|
|
|
+
|
|
|
+ @override
|
|
|
+ Widget buildBody(BuildContext context) {
|
|
|
+ return Scaffold(
|
|
|
+ resizeToAvoidBottomInset: false,
|
|
|
+ backgroundColor: Colors.transparent,
|
|
|
+ appBar: AppBar(
|
|
|
+ systemOverlayStyle: SystemUiOverlayStyle.dark,
|
|
|
+ backgroundColor: Colors.transparent,
|
|
|
+ title: Obx(() => Text(controller.title.value,
|
|
|
+ style:
|
|
|
+ TextStyle(fontSize: 17.sp, color: ColorName.primaryTextColor))),
|
|
|
+ leading: IconButton(
|
|
|
+ icon: SizedBox(
|
|
|
+ width: 24.w, height: 24.w, child: Assets.images.iconBack.image()),
|
|
|
+ // Custom icon
|
|
|
+ onPressed: () {
|
|
|
+ Get.back();
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ body: _buildContentView(),
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ Widget _buildContentView() {
|
|
|
+ return SafeArea(
|
|
|
+ child: Container(
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 12.w),
|
|
|
+ child: Column(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.start,
|
|
|
+ children: [
|
|
|
+ Obx(
|
|
|
+ () => Text(
|
|
|
+ controller.title.value,
|
|
|
+ style: TextStyle(
|
|
|
+ color: ColorName.secondaryTextColor,
|
|
|
+ fontSize: 14.sp,
|
|
|
+ fontWeight: FontWeight.w500,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ SizedBox(
|
|
|
+ height: 12.h,
|
|
|
+ ),
|
|
|
+ Container(
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ color: "#E9E9E9".toColor(),
|
|
|
+ borderRadius: BorderRadius.circular(8),
|
|
|
+ ),
|
|
|
+ height: 260.h,
|
|
|
+ child: TextField(
|
|
|
+ maxLength: 200,
|
|
|
+ maxLines: null,
|
|
|
+ cursorColor: ColorName.colorPrimary,
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 15.sp, color: ColorName.primaryTextColor),
|
|
|
+ decoration: InputDecoration(
|
|
|
+ counterText: '',
|
|
|
+ border: InputBorder.none,
|
|
|
+ fillColor: Colors.transparent,
|
|
|
+ hintText: "请输入您的投诉内容",
|
|
|
+ hintStyle: TextStyle(
|
|
|
+ fontSize: 15.sp, color: ColorName.tertiaryTextColor),
|
|
|
+ contentPadding: const EdgeInsets.all(12).w,
|
|
|
+ ),
|
|
|
+ onChanged: (value) {
|
|
|
+ controller.numCount.value = value.length;
|
|
|
+ controller.content.value = value;
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ SizedBox(
|
|
|
+ height: 13.h,
|
|
|
+ ),
|
|
|
+ Row(
|
|
|
+ mainAxisAlignment: MainAxisAlignment.end,
|
|
|
+ children: [
|
|
|
+ Obx(
|
|
|
+ () => Text(
|
|
|
+ "${controller.numCount}/200",
|
|
|
+ style: TextStyle(
|
|
|
+ color: ColorName.tertiaryTextColor,
|
|
|
+ fontSize: 12.sp,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ const Spacer(),
|
|
|
+ GestureDetector(
|
|
|
+ onTap: () => controller.requestSubmit(),
|
|
|
+ child: Container(
|
|
|
+ height: 48.w,
|
|
|
+ alignment: Alignment.center,
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ gradient: LinearGradient(
|
|
|
+ colors: ['#6177F2'.color, '#8B9DFF'.color],
|
|
|
+ begin: Alignment.centerLeft,
|
|
|
+ end: Alignment.centerRight,
|
|
|
+ stops: const [0.0, 1.0],
|
|
|
+ ),
|
|
|
+ borderRadius: BorderRadius.circular(8.w),
|
|
|
+ ),
|
|
|
+ child: Text(
|
|
|
+ "提交",
|
|
|
+ style: TextStyle(
|
|
|
+ fontWeight: FontWeight.bold,
|
|
|
+ fontSize: 16.sp,
|
|
|
+ color: Colors.white,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }
|
|
|
+}
|