Explorar o código

设施的图片资源与数据仓库创建

liukai hai 4 meses
pai
achega
04420e7b5b

+ 9 - 9
packages/cpt_facility/lib/modules/facility/facility_page.dart

@@ -58,8 +58,8 @@ class FacilityPage extends HookConsumerWidget {
                     _buildCategory(
                     _buildCategory(
                       context,
                       context,
                       Assets.facilityBookIcon,
                       Assets.facilityBookIcon,
-                      48.5,
-                      40,
+                      36.5,
+                      39.5,
                       S.current.book,
                       S.current.book,
                       tabsRouter.activeIndex == 0,
                       tabsRouter.activeIndex == 0,
                     ).onTap(
                     ).onTap(
@@ -70,8 +70,8 @@ class FacilityPage extends HookConsumerWidget {
                     _buildCategory(
                     _buildCategory(
                       context,
                       context,
                       Assets.facilityActiveIcon,
                       Assets.facilityActiveIcon,
-                      39,
-                      47.5,
+                      35,
+                      46,
                       S.current.facility_active,
                       S.current.facility_active,
                       tabsRouter.activeIndex == 1,
                       tabsRouter.activeIndex == 1,
                     ).onTap(
                     ).onTap(
@@ -82,8 +82,8 @@ class FacilityPage extends HookConsumerWidget {
                     _buildCategory(
                     _buildCategory(
                       context,
                       context,
                       Assets.facilityDepositIcon,
                       Assets.facilityDepositIcon,
-                      35.5,
-                      41.5,
+                      40,
+                      45,
                       S.current.deposit,
                       S.current.deposit,
                       tabsRouter.activeIndex == 2,
                       tabsRouter.activeIndex == 2,
                     ).onTap(
                     ).onTap(
@@ -93,9 +93,9 @@ class FacilityPage extends HookConsumerWidget {
                     ),
                     ),
                     _buildCategory(
                     _buildCategory(
                       context,
                       context,
-                      Assets.mainLatestPublish,
-                      47.5,
-                      45,
+                      Assets.facilityHistoryIcon,
+                      38,
+                      38,
                       S.current.history,
                       S.current.history,
                       tabsRouter.activeIndex == 3,
                       tabsRouter.activeIndex == 3,
                     ).onTap(
                     ).onTap(

+ 52 - 0
packages/cpt_facility/lib/modules/facility/facility_types.dart

@@ -0,0 +1,52 @@
+import 'package:cs_resources/generated/assets.dart';
+import 'package:cs_resources/generated/l10n.dart';
+
+
+class FacilityTypes {
+  //对应的type类型 对应的icon的图片与宽高
+  static Map<String, Map<String, dynamic>> iconMap = {
+    //Function Room
+    '1': {
+      'name': S.current.function_room,
+      'icon_path': Assets.facilityFunctionRoomIcon,
+      'width': 39.0,
+      'height': 39.5,
+    },
+    //Gourmet Pavilion
+    '2': {
+      'name': S.current.gourmet_pavilion,
+      'icon_path': Assets.facilityGourmetPavilionIcon,
+      'width': 38.0,
+      'height': 33.5,
+    },
+    //Kids Party Room
+    '3': {
+      'name': S.current.kids_party_room,
+      'icon_path': Assets.facilityKidsPartyRoomIcon,
+      'width': 39.0,
+      'height': 39.0,
+    },
+    //Media Room
+    '4': {
+      'name': S.current.media_room,
+      'icon_path': Assets.facilityMediaRoomIcon,
+      'width': 38.5,
+      'height': 38.0,
+    },
+    //Pet Pavilion
+    '5': {
+      'name': S.current.pet_pavilion,
+      'icon_path': Assets.facilityPetPavilionIcon,
+      'width': 38.5,
+      'height': 36.5,
+    },
+    //Tennis Court
+    '6': {
+      'name': S.current.tennis_court,
+      'icon_path': Assets.facilityTennisCourt,
+      'width': 38.5,
+      'height': 38.5,
+    },
+  };
+
+}

+ 20 - 0
packages/cs_domain/lib/constants/api_constants.dart

@@ -99,6 +99,26 @@ class ApiConstants {
   //在线表单的提交详情
   //在线表单的提交详情
   static const apiFormDetail = "/api/v1/user/online-form/apply/detail";
   static const apiFormDetail = "/api/v1/user/online-form/apply/detail";
 
 
+  // =========================== Facility ↓=========================================
+
+  //可用的设施列表
+  static const apiFacilityList = "/api/v1/user/facility/type/index";
+
+  //指定设施在指定日期下的可申请详情
+  static const apiFacilityDate = "/api/v1/user/facility/type/detail";
+
+  //预定指定的设施指定的日期
+  static const apiFacilityBook = "/api/v1/user/facility/booking/book";
+
+  //当前已预定的设施列表
+  static const apiFacilityActiveList = "/api/v1/user/facility/active/index";
+
+  //当前已预定的押金列表
+  static const apiFacilityDepositList = "/api/v1/user/facility/deposit/index";
+
+  //当前已预定的历史记录
+  static const apiFacilityHistoryList = "/api/v1/user/facility/history/index";
+
   // =========================== 其他 ↓=========================================
   // =========================== 其他 ↓=========================================
 
 
   //服务器时间
   //服务器时间

+ 68 - 0
packages/cs_domain/lib/repository/facility_repository.dart

@@ -0,0 +1,68 @@
+import 'dart:typed_data';
+
+import 'package:domain/entity/feedback_detail_entity.dart';
+import 'package:domain/entity/form_option_entity.dart';
+import 'package:plugin_platform/platform_export.dart';
+import 'package:plugin_platform/http/dio_engine.dart';
+import 'package:plugin_platform/http/http_result.dart';
+import 'package:riverpod_annotation/riverpod_annotation.dart';
+import 'package:shared/utils/log_utils.dart';
+import 'package:shared/utils/util.dart';
+
+import '../constants/api_constants.dart';
+import 'package:flutter_riverpod/flutter_riverpod.dart';
+import 'package:plugin_basic/provider/http_provider/http_provider.dart';
+import '../entity/form_content_entity.dart';
+import '../entity/form_detail_entity.dart';
+import '../entity/form_list_entity.dart';
+import '../entity/form_submitted_page_entity.dart';
+import '../entity/id_name_entity.dart';
+
+part 'facility_repository.g.dart';
+
+@Riverpod(keepAlive: true)
+FacilityRepository facilityRepository(Ref ref) {
+  final dioEngine = ref.watch(dioEngineProvider);
+  return FacilityRepository(dioEngine: dioEngine);
+}
+
+/*
+ * 设施的数据仓库
+ */
+class FacilityRepository {
+  DioEngine dioEngine;
+
+  FacilityRepository({required this.dioEngine});
+
+
+  Future<HttpResult<IdNameEntity>> fetchFormApplyList({
+    CancelToken? cancelToken,
+  }) async {
+    final result = await dioEngine.requestNetResult(
+      ApiConstants.apiFormList,
+      method: HttpMethod.GET,
+      cancelToken: cancelToken,
+    );
+
+    if (result.isSuccess) {
+      final jsonList = result.getListJson();
+
+      //获取List数据 需要转换一次
+      var list = jsonList
+          ?.map((value) {
+        if (value is Map<String, dynamic>) {
+          return IdNameEntity.fromJson(value);
+        } else {
+          return null;
+        }
+      })
+          .where((item) => item != null)
+          .cast<IdNameEntity>()
+          .toList();
+
+      return result.convert<IdNameEntity>(list: list);
+    }
+    return result.convert<IdNameEntity>();
+  }
+
+}

+ 28 - 0
packages/cs_domain/lib/repository/facility_repository.g.dart

@@ -0,0 +1,28 @@
+// GENERATED CODE - DO NOT MODIFY BY HAND
+
+part of 'facility_repository.dart';
+
+// **************************************************************************
+// RiverpodGenerator
+// **************************************************************************
+
+String _$facilityRepositoryHash() =>
+    r'1844e210a274e96734c1217c2bf2d25278f67155';
+
+/// See also [facilityRepository].
+@ProviderFor(facilityRepository)
+final facilityRepositoryProvider = Provider<FacilityRepository>.internal(
+  facilityRepository,
+  name: r'facilityRepositoryProvider',
+  debugGetCreateSourceHash: const bool.fromEnvironment('dart.vm.product')
+      ? null
+      : _$facilityRepositoryHash,
+  dependencies: null,
+  allTransitiveDependencies: null,
+);
+
+@Deprecated('Will be removed in 3.0. Use Ref instead')
+// ignore: unused_element
+typedef FacilityRepositoryRef = ProviderRef<FacilityRepository>;
+// ignore_for_file: type=lint
+// ignore_for_file: subtype_of_sealed_class, invalid_use_of_internal_member, invalid_use_of_visible_for_testing_member, deprecated_member_use_from_same_package

BIN=BIN
packages/cs_resources/assets/facility/active_icon.webp


BIN=BIN
packages/cs_resources/assets/facility/book_icon.webp


BIN=BIN
packages/cs_resources/assets/facility/deposit_icon.webp


BIN=BIN
packages/cs_resources/assets/facility/function_room_icon.webp


BIN=BIN
packages/cs_resources/assets/facility/gourmet_pavilion_icon.webp


BIN=BIN
packages/cs_resources/assets/facility/history_icon.webp


BIN=BIN
packages/cs_resources/assets/facility/kids_party_room_icon.webp


BIN=BIN
packages/cs_resources/assets/facility/media_room_icon.webp


BIN=BIN
packages/cs_resources/assets/facility/pet_pavilion_icon.webp


BIN=BIN
packages/cs_resources/assets/facility/tennis_court.webp


+ 6 - 0
packages/cs_resources/lib/generated/assets.dart

@@ -73,9 +73,15 @@ class Assets {
   static const String facilityConfirmFacilityIcon = 'assets/facility/confirm_facility_icon.webp';
   static const String facilityConfirmFacilityIcon = 'assets/facility/confirm_facility_icon.webp';
   static const String facilityConfirmPaymentIcon = 'assets/facility/confirm_payment_icon.webp';
   static const String facilityConfirmPaymentIcon = 'assets/facility/confirm_payment_icon.webp';
   static const String facilityDepositIcon = 'assets/facility/deposit_icon.webp';
   static const String facilityDepositIcon = 'assets/facility/deposit_icon.webp';
+  static const String facilityFunctionRoomIcon = 'assets/facility/function_room_icon.webp';
+  static const String facilityGourmetPavilionIcon = 'assets/facility/gourmet_pavilion_icon.webp';
   static const String facilityHistoryIcon = 'assets/facility/history_icon.webp';
   static const String facilityHistoryIcon = 'assets/facility/history_icon.webp';
+  static const String facilityKidsPartyRoomIcon = 'assets/facility/kids_party_room_icon.webp';
+  static const String facilityMediaRoomIcon = 'assets/facility/media_room_icon.webp';
   static const String facilityPaymentSuccessIcon = 'assets/facility/payment_success_icon.webp';
   static const String facilityPaymentSuccessIcon = 'assets/facility/payment_success_icon.webp';
+  static const String facilityPetPavilionIcon = 'assets/facility/pet_pavilion_icon.webp';
   static const String facilityQuestionIcon = 'assets/facility/question_icon.webp';
   static const String facilityQuestionIcon = 'assets/facility/question_icon.webp';
+  static const String facilityTennisCourt = 'assets/facility/tennis_court.webp';
   static const String facilityTitleLocationIcon = 'assets/facility/title_location_icon.webp';
   static const String facilityTitleLocationIcon = 'assets/facility/title_location_icon.webp';
   static const String formAccessCard = 'assets/form/access_card.webp';
   static const String formAccessCard = 'assets/form/access_card.webp';
   static const String formApplyIcon = 'assets/form/apply_icon.webp';
   static const String formApplyIcon = 'assets/form/apply_icon.webp';

+ 8 - 0
packages/cs_resources/lib/generated/intl/messages_en.dart

@@ -176,11 +176,14 @@ class MessageLookup extends MessageLookupByLibrary {
         "form": MessageLookupByLibrary.simpleMessage("Form"),
         "form": MessageLookupByLibrary.simpleMessage("Form"),
         "form_submit_title": MessageLookupByLibrary.simpleMessage("Submit"),
         "form_submit_title": MessageLookupByLibrary.simpleMessage("Submit"),
         "full_name": MessageLookupByLibrary.simpleMessage("Full Name"),
         "full_name": MessageLookupByLibrary.simpleMessage("Full Name"),
+        "function_room": MessageLookupByLibrary.simpleMessage("Function Room"),
         "get_code": MessageLookupByLibrary.simpleMessage("Get Code"),
         "get_code": MessageLookupByLibrary.simpleMessage("Get Code"),
         "get_started":
         "get_started":
             MessageLookupByLibrary.simpleMessage("let\'s get started"),
             MessageLookupByLibrary.simpleMessage("let\'s get started"),
         "get_verification_code":
         "get_verification_code":
             MessageLookupByLibrary.simpleMessage("Get Verification Code"),
             MessageLookupByLibrary.simpleMessage("Get Verification Code"),
+        "gourmet_pavilion":
+            MessageLookupByLibrary.simpleMessage("Gourmet Pavilion"),
         "guest_mobile_number":
         "guest_mobile_number":
             MessageLookupByLibrary.simpleMessage("GUEST MOBILE NUMBER"),
             MessageLookupByLibrary.simpleMessage("GUEST MOBILE NUMBER"),
         "guest_name": MessageLookupByLibrary.simpleMessage("GUEST NAME"),
         "guest_name": MessageLookupByLibrary.simpleMessage("GUEST NAME"),
@@ -213,6 +216,8 @@ class MessageLookup extends MessageLookupByLibrary {
         "introduction_to_info_pack":
         "introduction_to_info_pack":
             MessageLookupByLibrary.simpleMessage("Introduction to info-pack"),
             MessageLookupByLibrary.simpleMessage("Introduction to info-pack"),
         "iu_number": MessageLookupByLibrary.simpleMessage("IU NUMBER"),
         "iu_number": MessageLookupByLibrary.simpleMessage("IU NUMBER"),
+        "kids_party_room":
+            MessageLookupByLibrary.simpleMessage("Kids Party Room"),
         "label_replace_note": MessageLookupByLibrary.simpleMessage(
         "label_replace_note": MessageLookupByLibrary.simpleMessage(
             "If you would like to leave the Management a note to accompany this application, please leave them here.\n\nFor replacement of car label, please include the serial number of the damaged car label."),
             "If you would like to leave the Management a note to accompany this application, please leave them here.\n\nFor replacement of car label, please include the serial number of the damaged car label."),
         "label_txt": MessageLookupByLibrary.simpleMessage(
         "label_txt": MessageLookupByLibrary.simpleMessage(
@@ -237,6 +242,7 @@ class MessageLookup extends MessageLookupByLibrary {
             "Are you sure you want to logout?"),
             "Are you sure you want to logout?"),
         "mark_all": MessageLookupByLibrary.simpleMessage("Mark All"),
         "mark_all": MessageLookupByLibrary.simpleMessage("Mark All"),
         "me": MessageLookupByLibrary.simpleMessage("Me"),
         "me": MessageLookupByLibrary.simpleMessage("Me"),
+        "media_room": MessageLookupByLibrary.simpleMessage("Media Room"),
         "mobile_number_caps":
         "mobile_number_caps":
             MessageLookupByLibrary.simpleMessage("MOBILE NUMBER"),
             MessageLookupByLibrary.simpleMessage("MOBILE NUMBER"),
         "mobile_phone": MessageLookupByLibrary.simpleMessage("Mobile Phone"),
         "mobile_phone": MessageLookupByLibrary.simpleMessage("Mobile Phone"),
@@ -298,6 +304,7 @@ class MessageLookup extends MessageLookupByLibrary {
             MessageLookupByLibrary.simpleMessage("Payment Details"),
             MessageLookupByLibrary.simpleMessage("Payment Details"),
         "person_in_charge":
         "person_in_charge":
             MessageLookupByLibrary.simpleMessage("PERSON IN CHARGE"),
             MessageLookupByLibrary.simpleMessage("PERSON IN CHARGE"),
+        "pet_pavilion": MessageLookupByLibrary.simpleMessage("Pet Pavilion"),
         "phone_email": MessageLookupByLibrary.simpleMessage("Phone/Email"),
         "phone_email": MessageLookupByLibrary.simpleMessage("Phone/Email"),
         "primary_card": MessageLookupByLibrary.simpleMessage("Primary Card"),
         "primary_card": MessageLookupByLibrary.simpleMessage("Primary Card"),
         "privacy_policy":
         "privacy_policy":
@@ -399,6 +406,7 @@ class MessageLookup extends MessageLookupByLibrary {
             "I am the tenant of the company that rented the unit"),
             "I am the tenant of the company that rented the unit"),
         "tenants_desc4": MessageLookupByLibrary.simpleMessage(
         "tenants_desc4": MessageLookupByLibrary.simpleMessage(
             "The Management will verify your application accordingly"),
             "The Management will verify your application accordingly"),
+        "tennis_court": MessageLookupByLibrary.simpleMessage("Tennis Court"),
         "terms_conditions":
         "terms_conditions":
             MessageLookupByLibrary.simpleMessage("Terms & Conditions"),
             MessageLookupByLibrary.simpleMessage("Terms & Conditions"),
         "terms_of_service":
         "terms_of_service":

+ 60 - 0
packages/cs_resources/lib/generated/l10n.dart

@@ -2760,6 +2760,66 @@ class S {
     );
     );
   }
   }
 
 
+  /// `Function Room`
+  String get function_room {
+    return Intl.message(
+      'Function Room',
+      name: 'function_room',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Gourmet Pavilion`
+  String get gourmet_pavilion {
+    return Intl.message(
+      'Gourmet Pavilion',
+      name: 'gourmet_pavilion',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Kids Party Room`
+  String get kids_party_room {
+    return Intl.message(
+      'Kids Party Room',
+      name: 'kids_party_room',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Media Room`
+  String get media_room {
+    return Intl.message(
+      'Media Room',
+      name: 'media_room',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Pet Pavilion`
+  String get pet_pavilion {
+    return Intl.message(
+      'Pet Pavilion',
+      name: 'pet_pavilion',
+      desc: '',
+      args: [],
+    );
+  }
+
+  /// `Tennis Court`
+  String get tennis_court {
+    return Intl.message(
+      'Tennis Court',
+      name: 'tennis_court',
+      desc: '',
+      args: [],
+    );
+  }
+
   /// `Other`
   /// `Other`
   String get other {
   String get other {
     return Intl.message(
     return Intl.message(

+ 6 - 0
packages/cs_resources/lib/l10n/intl_en.arb

@@ -270,5 +270,11 @@
   "send_email": "Email",
   "send_email": "Email",
   "call_phone": "Call",
   "call_phone": "Call",
   "replied": "Replied",
   "replied": "Replied",
+  "function_room": "Function Room",
+  "gourmet_pavilion": "Gourmet Pavilion",
+  "kids_party_room": "Kids Party Room",
+  "media_room": "Media Room",
+  "pet_pavilion": "Pet Pavilion",
+  "tennis_court": "Tennis Court",
   "other": "Other"
   "other": "Other"
 }
 }

+ 6 - 0
packages/cs_resources/lib/l10n/intl_zh_CN.arb

@@ -270,5 +270,11 @@
   "send_email": "发送邮件",
   "send_email": "发送邮件",
   "call_phone": "拨打电话",
   "call_phone": "拨打电话",
   "replied": "已回复",
   "replied": "已回复",
+  "function_room": "功能房",
+  "gourmet_pavilion": "美食亭",
+  "kids_party_room": "儿童派对室",
+  "media_room": "多媒体室",
+  "pet_pavilion": "宠物亭",
+  "tennis_court": "网球场",
   "other": "其他"
   "other": "其他"
 }
 }

+ 6 - 0
packages/cs_resources/lib/l10n/intl_zh_HK.arb

@@ -256,5 +256,11 @@
   "send_email": "发送邮件",
   "send_email": "发送邮件",
   "call_phone": "拨打电话",
   "call_phone": "拨打电话",
   "replied": "已回复",
   "replied": "已回复",
+  "function_room": "功能房",
+  "gourmet_pavilion": "美食亭",
+  "kids_party_room": "儿童派对室",
+  "media_room": "多媒体室",
+  "pet_pavilion": "宠物亭",
+  "tennis_court": "网球场",
   "other": "其他"
   "other": "其他"
 }
 }