|
@@ -0,0 +1,167 @@
|
|
|
+import 'package:cpt_notice_board/modules/notice_board/page/notice_board_page.dart';
|
|
|
+import 'package:cs_resources/theme/app_colors_theme.dart';
|
|
|
+import 'package:flutter/material.dart';
|
|
|
+import 'package:auto_route/auto_route.dart';
|
|
|
+import 'package:hooks_riverpod/hooks_riverpod.dart';
|
|
|
+import 'package:router/ext/auto_router_extensions.dart';
|
|
|
+import 'package:shared/utils/log_utils.dart';
|
|
|
+import 'package:shared/utils/color_utils.dart';
|
|
|
+import 'package:widgets/ext/ex_widget.dart';
|
|
|
+import 'package:widgets/my_appbar.dart';
|
|
|
+import 'package:widgets/my_load_image.dart';
|
|
|
+import 'package:widgets/widget_export.dart';
|
|
|
+import 'package:cs_resources/generated/assets.dart';
|
|
|
+
|
|
|
+import '../../../router/page/notice_board_page_router.dart';
|
|
|
+import '../vm/announcement_detail_vm.dart';
|
|
|
+
|
|
|
+@RoutePage()
|
|
|
+class AnnouncementDetailPage extends HookConsumerWidget {
|
|
|
+ const AnnouncementDetailPage({Key? key}) : super(key: key);
|
|
|
+
|
|
|
+ //启动当前页面
|
|
|
+ static void startInstance({BuildContext? context}) {
|
|
|
+ if (context != null) {
|
|
|
+ context.router.push(const AnnouncementDetailPageRoute());
|
|
|
+ } else {
|
|
|
+ appRouter.push(const AnnouncementDetailPageRoute());
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+ Widget _buildDetailTop(BuildContext context, WidgetRef ref, _vm) {
|
|
|
+ // List itemsList = _vm.state.list.toList();
|
|
|
+ return Column(
|
|
|
+ children: [
|
|
|
+ Column(children: [
|
|
|
+ const Text(
|
|
|
+ 'STANDARD OPERATING PROCEDURE FOR REPLACEMENT VEHICLES AND OVERNICHT PARKING VEHICLES(REMINDER)',
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 18.0,
|
|
|
+ color: Colors.black,
|
|
|
+ fontWeight: FontWeight.w700), // 设置字体大小
|
|
|
+ ),
|
|
|
+ Row(
|
|
|
+ mainAxisAlignment: MainAxisAlignment.start,
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
+ children: [
|
|
|
+ const MyAssetImage(
|
|
|
+ Assets.noticeBoardAnnouncementDetailOur,
|
|
|
+ width: 15,
|
|
|
+ height: 15,
|
|
|
+ ).marginOnly(right: 8),
|
|
|
+ const Text(
|
|
|
+ 'Our ref: ',
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 15.0,
|
|
|
+ color: Colors.black,
|
|
|
+ fontWeight: FontWeight.w700), // 设置字体大小
|
|
|
+ ),
|
|
|
+ const Text(
|
|
|
+ '2024/CORR/CIR/112.V5',
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 15.0,
|
|
|
+ color: Colors.black,
|
|
|
+ fontWeight: FontWeight.w400), // 设置字体大小
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ).marginOnly(top: 15),
|
|
|
+ Row(
|
|
|
+ mainAxisAlignment: MainAxisAlignment.start,
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
+ children: [
|
|
|
+ const MyAssetImage(
|
|
|
+ Assets.noticeBoardAnnouncementDetailDate,
|
|
|
+ width: 15,
|
|
|
+ height: 15,
|
|
|
+ ).marginOnly(right: 8),
|
|
|
+ const Text(
|
|
|
+ 'Date: ',
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 15.0,
|
|
|
+ color: Colors.black,
|
|
|
+ fontWeight: FontWeight.w700), // 设置字体大小
|
|
|
+ ),
|
|
|
+ const Text(
|
|
|
+ '31 July 2024',
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 15.0,
|
|
|
+ color: Colors.black,
|
|
|
+ fontWeight: FontWeight.w400), // 设置字体大小
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ).marginOnly(top: 15),
|
|
|
+ Row(
|
|
|
+ mainAxisAlignment: MainAxisAlignment.start,
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
+ children: [
|
|
|
+ const MyAssetImage(
|
|
|
+ Assets.noticeBoardAnnouncementDetailTo,
|
|
|
+ width: 15,
|
|
|
+ height: 15,
|
|
|
+ ).marginOnly(right: 8),
|
|
|
+ const Text(
|
|
|
+ 'To: ',
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 15.0,
|
|
|
+ color: Colors.black,
|
|
|
+ fontWeight: FontWeight.w700), // 设置字体大小
|
|
|
+ ),
|
|
|
+ const Text(
|
|
|
+ 'All Residents',
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 15.0,
|
|
|
+ color: Colors.black,
|
|
|
+ fontWeight: FontWeight.w400), // 设置字体大小
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ).marginOnly(top: 15),
|
|
|
+ ]).paddingOnly(bottom: 25).border(bottom: 1,color: ColorUtils.string2Color('#F2F3F6')),
|
|
|
+ Column(
|
|
|
+ children: [
|
|
|
+ const Column(
|
|
|
+ mainAxisAlignment: MainAxisAlignment.center,
|
|
|
+ crossAxisAlignment: CrossAxisAlignment.center,
|
|
|
+ children: [
|
|
|
+ Text(
|
|
|
+ 'IMPORTANT',
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 18.0,
|
|
|
+ color: Colors.black,
|
|
|
+ fontWeight: FontWeight.w700), // 设置字体大小
|
|
|
+ )
|
|
|
+ ],
|
|
|
+ ).marginOnly(bottom: 25),
|
|
|
+ const Text(
|
|
|
+ 'Dear Residents,STANDARD OPERATING PROCEDURE FORREPLACEMENT VEHICLES ANDOVERNICHT PARKING VEHICLES',
|
|
|
+ style: TextStyle(
|
|
|
+ fontSize: 15.0,
|
|
|
+ color: Colors.black,
|
|
|
+ fontWeight: FontWeight.w400), // 设置字体大小
|
|
|
+ ),
|
|
|
+ ],
|
|
|
+ ).paddingOnly(top: 25, bottom: 50),
|
|
|
+ ],
|
|
|
+ );
|
|
|
+ }
|
|
|
+
|
|
|
+ @override
|
|
|
+ Widget build(BuildContext context, WidgetRef ref) {
|
|
|
+ final _vm = ref.read(announcementDetailVmProvider.notifier);
|
|
|
+
|
|
|
+ return Scaffold(
|
|
|
+ appBar: MyAppBar.appBar(
|
|
|
+ context,
|
|
|
+ "Lift Padding",
|
|
|
+ backgroundColor: context.appColors.whiteBG,
|
|
|
+ ),
|
|
|
+ body: Container(
|
|
|
+ child: EasyRefresh(
|
|
|
+ child: Container(
|
|
|
+ color: ColorUtils.string2Color('#FFFFFF'),
|
|
|
+ padding: const EdgeInsets.only(top: 30, left: 15, right: 15),
|
|
|
+ child: _buildDetailTop(context, ref, _vm)),
|
|
|
+ )),
|
|
|
+ );
|
|
|
+ }
|
|
|
+}
|