From 54156b415bf56b635a0b55e9b69e5c00432835fc Mon Sep 17 00:00:00 2001
From: zhangmeng <494089941@qq.com>
Date: Wed, 19 May 2021 11:12:18 +0800
Subject: [PATCH] =?UTF-8?q?=E4=BF=AE=E6=94=B9=E6=8A=A5=E4=BA=8B=E6=8A=A5?=
 =?UTF-8?q?=E4=BF=AEtab=E6=98=BE=E7=A4=BA=20=E6=B7=BB=E5=8A=A0=E8=A7=84?=
 =?UTF-8?q?=E7=A8=8B=E7=AE=A1=E7=90=86?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

---
 lib/const/api.dart                            |  3 +
 .../rules_manage/rules_manage_list_model.dart | 24 +++++
 .../home/application/applications_page.dart   |  4 +-
 .../rules_manage/rules_manage_page.dart       | 96 +++++++++++++++++++
 .../business_and_fix_page.dart                | 19 ++--
 5 files changed, 136 insertions(+), 10 deletions(-)
 create mode 100644 lib/models/manager/rules_manage/rules_manage_list_model.dart
 create mode 100644 lib/ui/manage_pages/rules_manage/rules_manage_page.dart

diff --git a/lib/const/api.dart b/lib/const/api.dart
index 797dd1d..b29df28 100644
--- a/lib/const/api.dart
+++ b/lib/const/api.dart
@@ -194,6 +194,9 @@ class _Manage {
 
   ///管家app 包裹代收:添加包裹代收信息
   String get addPackage => '/user/packageCollection/insert';
+
+  ///管家app 规程管理:查询所有的规程管理信息
+  String get rulesManageList => '/user/regulationManage/list';
 }
 
 class _Upload {
diff --git a/lib/models/manager/rules_manage/rules_manage_list_model.dart b/lib/models/manager/rules_manage/rules_manage_list_model.dart
new file mode 100644
index 0000000..0750a4b
--- /dev/null
+++ b/lib/models/manager/rules_manage/rules_manage_list_model.dart
@@ -0,0 +1,24 @@
+class RulesManageListModel {
+  int id;
+  String title;
+  String content;
+  String releaseDate;
+
+  RulesManageListModel({this.id, this.title, this.content, this.releaseDate});
+
+  RulesManageListModel.fromJson(Map<String, dynamic> json) {
+    id = json['id'];
+    title = json['title'];
+    content = json['content'];
+    releaseDate = json['releaseDate'];
+  }
+
+  Map<String, dynamic> toJson() {
+    final Map<String, dynamic> data = new Map<String, dynamic>();
+    data['id'] = this.id;
+    data['title'] = this.title;
+    data['content'] = this.content;
+    data['releaseDate'] = this.releaseDate;
+    return data;
+  }
+}
\ No newline at end of file
diff --git a/lib/ui/home/application/applications_page.dart b/lib/ui/home/application/applications_page.dart
index e2b88b5..9e8b200 100644
--- a/lib/ui/home/application/applications_page.dart
+++ b/lib/ui/home/application/applications_page.dart
@@ -2,6 +2,7 @@
 import 'package:aku_community_manager/models/manager/facilities/facilities_page.dart';
 import 'package:aku_community_manager/ui/manage_pages/key_manage/key_manage_page.dart';
 import 'package:aku_community_manager/ui/manage_pages/packages_manage/packages_manage_page.dart';
+import 'package:aku_community_manager/ui/manage_pages/rules_manage/rules_manage_page.dart';
 import 'package:flutter/material.dart';
 
 // Package imports:
@@ -72,7 +73,8 @@ class _ApplicationPageState extends State<ApplicationPage>
     AppApplication('绿化管理', R.ASSETS_HOME_IC_GREENING_PNG, GreenManagePage()),
     AppApplication('设施检查', R.ASSETS_HOME_IC_FACILITIES_PNG, FacilitiesPage()),
     AppApplication('包裹管理', R.ASSETS_PLACEHOLDER_WEBP, PackagesManagePage()),
-    AppApplication('钥匙管理', R.ASSETS_PLACEHOLDER_WEBP, KeyManagePage())
+    AppApplication('钥匙管理', R.ASSETS_PLACEHOLDER_WEBP, KeyManagePage()),
+    AppApplication('规程管理', R.ASSETS_PLACEHOLDER_WEBP, RulesManagePage())
   ];
 
   @override
diff --git a/lib/ui/manage_pages/rules_manage/rules_manage_page.dart b/lib/ui/manage_pages/rules_manage/rules_manage_page.dart
new file mode 100644
index 0000000..768e156
--- /dev/null
+++ b/lib/ui/manage_pages/rules_manage/rules_manage_page.dart
@@ -0,0 +1,96 @@
+import 'package:aku_community_manager/const/api.dart';
+import 'package:aku_community_manager/models/manager/rules_manage/rules_manage_list_model.dart';
+import 'package:aku_community_manager/style/app_style.dart';
+import 'package:aku_community_manager/ui/widgets/common/aku_scaffold.dart';
+import 'package:aku_community_manager/ui/widgets/common/bee_list_view.dart';
+import 'package:common_utils/common_utils.dart';
+import 'package:flutter/material.dart';
+import 'package:flutter_easyrefresh/easy_refresh.dart';
+import 'package:flutter_screenutil/flutter_screenutil.dart';
+import 'package:velocity_x/velocity_x.dart';
+
+class RulesManagePage extends StatefulWidget {
+  RulesManagePage({Key key}) : super(key: key);
+
+  @override
+  _RulesManagePageState createState() => _RulesManagePageState();
+}
+
+class _RulesManagePageState extends State<RulesManagePage> {
+  EasyRefreshController _refreshController;
+  @override
+  void initState() {
+    super.initState();
+    _refreshController = EasyRefreshController();
+  }
+
+  @override
+  void dispose() {
+    _refreshController.dispose();
+    super.dispose();
+  }
+
+  @override
+  Widget build(BuildContext context) {
+    return AkuScaffold(
+      title: '规程管理',
+      body:  BeeListView(
+          path: API.manage.rulesManageList,
+          controller: _refreshController,
+          convert: (models) {
+            return models.tableList
+                .map((e) => RulesManageListModel.fromJson(e))
+                .toList();
+          },
+          builder: (items) {
+            return ListView.separated(
+                padding: EdgeInsets.symmetric(vertical: 24.w),
+                itemBuilder: (context, index) {
+                  return _buildCard(items[index]);
+                },
+                separatorBuilder: (_, __) {
+                  return 24.w.heightBox;
+                },
+                itemCount: items.length);
+          }),
+    );
+  }
+
+  Widget _buildCard(RulesManageListModel model) {
+    return Container(
+        color: Colors.white,
+        padding: EdgeInsets.symmetric(vertical: 24.w, horizontal: 32.w),
+        width: double.infinity,
+        child: Column(
+          crossAxisAlignment: CrossAxisAlignment.start,
+          children: [
+            model.title.text
+                .size(32.sp)
+                .color(kTextPrimaryColor)
+                .maxLines(1)
+                .overflow(TextOverflow.ellipsis)
+                .bold
+                .make(),
+            32.w.heightBox,
+            model.content.text
+                .size(24.sp)
+                .color(kTextSubColor)
+                .maxLines(3)
+                .overflow(TextOverflow.ellipsis)
+                .make(),
+            32.w.heightBox,
+            Row(
+              children: [
+                '南宁人才公寓'.text.size(20.sp).color(kTextSubColor).make(),
+                Spacer(),
+                '发布于 ${DateUtil.formatDateStr(model.releaseDate, format: 'MM-dd HH:mm')}'
+                    .text
+                    .size(20.sp)
+                    .color(kTextSubColor)
+                    .make(),
+              ],
+            ),
+          ],
+        ));
+  }
+}
diff --git a/lib/ui/sub_pages/business_and_fix/business_and_fix_page.dart b/lib/ui/sub_pages/business_and_fix/business_and_fix_page.dart
index 8ebf7bc..94e2022 100644
--- a/lib/ui/sub_pages/business_and_fix/business_and_fix_page.dart
+++ b/lib/ui/sub_pages/business_and_fix/business_and_fix_page.dart
@@ -35,10 +35,12 @@ class _BusinessAndFixPageState extends State<BusinessAndFixPage>
     //     return ['待接单', '处理中', '已处理', '全部'];
     //     break;
     // }
-    if (userProvider.infoModel.canSendTicket) {
-      return ['待派单', '已派单', '处理中', '已处理', '全部'];
-    } else if (userProvider.infoModel.canPickUpTicket) {
+    if ((userProvider.infoModel.canPickUpTicket) &&
+        (!userProvider.infoModel.canSendTicket)) {
       return ['待接单', '处理中', '已处理', '全部'];
+    } else if ((!userProvider.infoModel.canPickUpTicket) &&
+        (userProvider.infoModel.canSendTicket)) {
+      return ['待派单', '已派单', '处理中', '已处理', '全部'];
     } else {
       return ['未处理', '处理中', '已处理', '全部'];
     }
@@ -70,12 +72,11 @@ class _BusinessAndFixPageState extends State<BusinessAndFixPage>
       ),
       body: TabBarView(
         controller: _tabController,
-        children:
-            List.generate(
-                _tabs.length,
-                (index) => BussinessAndFixView(
-                      status: index == _tabs.length - 1 ? null : index + 1,
-                    )),
+        children: List.generate(
+            _tabs.length,
+            (index) => BussinessAndFixView(
+                  status: index == _tabs.length - 1 ? null : index + 1,
+                )),
       ),
     );
   }