|
|
@@ -0,0 +1,168 @@
|
|
|
+
|
|
|
+
|
|
|
+import 'package:flutter/cupertino.dart';
|
|
|
+import 'package:flutter/material.dart';
|
|
|
+import 'package:flutter/src/widgets/framework.dart';
|
|
|
+import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
|
+import 'package:get/get.dart';
|
|
|
+import 'package:get/get_core/src/get_main.dart';
|
|
|
+import 'package:location/utils/common_expand.dart';
|
|
|
+
|
|
|
+import '../../../base/base_page.dart';
|
|
|
+import '../../../resource/colors.gen.dart';
|
|
|
+import '../../../resource/string.gen.dart';
|
|
|
+import '../../../router/app_pages.dart';
|
|
|
+import '../../../widget/common_view.dart';
|
|
|
+import 'news_report_controller.dart';
|
|
|
+import 'news_repost_text_view.dart';
|
|
|
+import 'news_tap_to_dismiss_key_board.dart';
|
|
|
+
|
|
|
+class NewsReportPage extends BasePage<NewsReportController> {
|
|
|
+ const NewsReportPage({super.key});
|
|
|
+
|
|
|
+ static void start() {
|
|
|
+ Get.toNamed(RoutePath.newsReport);
|
|
|
+ }
|
|
|
+
|
|
|
+ @override
|
|
|
+ bool immersive() {
|
|
|
+ return false;
|
|
|
+ }
|
|
|
+
|
|
|
+ @override
|
|
|
+ Widget buildBody(BuildContext context) {
|
|
|
+ // TODO: implement buildBody
|
|
|
+ return NewsTapToDismissKeyBoard(child: Column(
|
|
|
+ children: [
|
|
|
+ buildHeadView(onTap: controller.back),
|
|
|
+ SizedBox(height: 28.w,),
|
|
|
+ Container(
|
|
|
+ padding: EdgeInsets.symmetric(horizontal: 16.w),
|
|
|
+ child: Column(
|
|
|
+ children: [
|
|
|
+ Row(
|
|
|
+ children: [
|
|
|
+ Text("*",
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 14.sp,
|
|
|
+ color: '#FF3C3C'.color,
|
|
|
+ fontWeight: FontWeight.w500)),
|
|
|
+ Text("举报内容",
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 14.sp,
|
|
|
+ color: "#333333".color,
|
|
|
+ fontWeight: FontWeight.w500))
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ SizedBox(height: 10.w,),
|
|
|
+ Container(
|
|
|
+ color: ColorName.white,
|
|
|
+ child: NewsRepostTextView(
|
|
|
+ controller: controller.reportContetnController,
|
|
|
+ onChanged: (text) {
|
|
|
+ // 实时监听文本变化
|
|
|
+ print('当前内容: $text');
|
|
|
+ controller.inputContentText(text);
|
|
|
+ },
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ SizedBox(height: 20.w,),
|
|
|
+ Row(
|
|
|
+ children: [
|
|
|
+ Text("*",
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 14.sp,
|
|
|
+ color: '#FF3C3C'.color,
|
|
|
+ fontWeight: FontWeight.w500)),
|
|
|
+ Text("违规原因",
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 14.sp,
|
|
|
+ color: "#333333".color,
|
|
|
+ fontWeight: FontWeight.w500))
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ SizedBox(height: 10.w,),
|
|
|
+ Container(
|
|
|
+ height: 44.w,
|
|
|
+ color: ColorName.white,
|
|
|
+ child: TextField(
|
|
|
+ controller: controller.reportTitleContetnController,
|
|
|
+ onChanged: (text ) {
|
|
|
+ controller.inputTitleText(text);
|
|
|
+ },
|
|
|
+ decoration: InputDecoration(
|
|
|
+ hintText: "请输入违规原因",
|
|
|
+ border: OutlineInputBorder(
|
|
|
+ borderSide: BorderSide(
|
|
|
+ color: "#12C2C2C2".color,
|
|
|
+ width: 1.0,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ enabledBorder: OutlineInputBorder(
|
|
|
+ borderSide: BorderSide(
|
|
|
+ color: "#12C2C2C2".color,
|
|
|
+ width: 1.0,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ focusedBorder: OutlineInputBorder(
|
|
|
+ borderSide: BorderSide(
|
|
|
+ color: "#12C2C2C2".color,
|
|
|
+ width: 1.0,
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ // errorText: _errorText,
|
|
|
+ // counterText: '$_currentLength/${widget.maxLength}', // 显示字数统计
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ ),
|
|
|
+ SizedBox(height: 30.w,),
|
|
|
+ Container(
|
|
|
+ child: Obx(() {
|
|
|
+ return GestureDetector(
|
|
|
+ onTap: controller.submitBuEnble.value ? controller.onSubmti : null,
|
|
|
+ child: Container(
|
|
|
+ alignment: Alignment.center,
|
|
|
+ decoration: BoxDecoration(
|
|
|
+ color: controller.submitBuEnble.value ? "#7B7DFF".color : ColorName.black30,
|
|
|
+ borderRadius: BorderRadius.all(Radius.circular(41.w / 2)),
|
|
|
+ ),
|
|
|
+ width: 114.w,
|
|
|
+ height: 41.w,
|
|
|
+ child: Text(
|
|
|
+ "提 交",
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 16.sp, color: ColorName.white, fontWeight: FontWeight.w400)
|
|
|
+ ),
|
|
|
+
|
|
|
+ ),
|
|
|
+ );
|
|
|
+ }),
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ));
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+
|
|
|
+Widget buildHeadView({GestureTapCallback? onTap}) {
|
|
|
+ return Container(
|
|
|
+ margin: EdgeInsets.symmetric(horizontal: 12.w, vertical: 14.w),
|
|
|
+ child: Row(
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
+ mainAxisAlignment: MainAxisAlignment.spaceBetween,
|
|
|
+ children: [
|
|
|
+ GestureDetector(
|
|
|
+ onTap: onTap, child: CommonView.getBackBtnView()),
|
|
|
+ Text("举报投诉",
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 18.sp,
|
|
|
+ color: '#202020'.color,
|
|
|
+ fontWeight: FontWeight.bold)),
|
|
|
+ SizedBox(width: 24.w, height: 24.w)
|
|
|
+ ],
|
|
|
+ ),
|
|
|
+ );
|
|
|
+}
|