# Conflicts:
#	lib/pages/event_activity/voting_detail_page.dart
#	lib/pages/manager_func.dart
hmxc
张萌 4 years ago
commit 331f5ab3a8

@ -170,9 +170,23 @@ class _Community {
String get boardDetail => '/user/announcement/findById';
///
String get topicList => '/user/gambit/list';
String get topicList => '/user/gambit/listGambit';
String get eventByTopicId => '/user/gambit/listByGambitId';
String get newEventList => '/user/gambit/list';
///
String get addEvent => '/user/gambit/writePost';
///app/
String get like => '/user/gambit/likes';
///4
String get hotTopic => '/user/gambit/findActivityGambit';
///
String get myEvent => '/user/gambit/myTidings';
}
class _Upload {
@ -184,4 +198,6 @@ class _Upload {
///
String get uploadRepair => '/user/upload/uploadRepair';
String get uploadEvent => '/user/upload/uploadGambit';
}

@ -1,3 +1,8 @@
// Flutter imports:
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
// Project imports:
import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/pages/convenient_phone/convenient_phone_page.dart';
import 'package:akuCommunity/pages/event_activity/event_voting_page.dart';
@ -14,8 +19,6 @@ import 'package:akuCommunity/pages/things_page/fixed_submit_page.dart';
import 'package:akuCommunity/pages/visitor_access_page/visitor_access_page.dart';
import 'package:akuCommunity/ui/home/application/all_application.dart';
import 'package:akuCommunity/ui/manager/advice/advice_page.dart';
import 'package:flutter/material.dart';
import 'package:flutter/widgets.dart';
///
///Application Object

@ -1,5 +1,4 @@
// Flutter imports:
import 'package:akuCommunity/provider/app_provider.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -14,6 +13,7 @@ import 'package:pull_to_refresh/pull_to_refresh.dart';
// Project imports:
import 'package:akuCommunity/pages/splash/splash_page.dart';
import 'package:akuCommunity/provider/app_provider.dart';
import 'package:akuCommunity/provider/cart.dart';
import 'package:akuCommunity/provider/sign_up_provider.dart';
import 'package:akuCommunity/provider/user_provider.dart';

@ -1,3 +1,4 @@
// Project imports:
import 'package:akuCommunity/model/common/img_model.dart';
class BoardDetailModel {

@ -1,6 +1,9 @@
import 'package:akuCommunity/model/common/img_model.dart';
// Package imports:
import 'package:flustars/flustars.dart';
// Project imports:
import 'package:akuCommunity/model/common/img_model.dart';
class BoardItemModel {
int id;
String title;

@ -1,154 +1,54 @@
// Project imports:
import 'package:akuCommunity/model/common/img_model.dart';
class CommunityTopicModel {
int id;
int createId;
int isComment;
int isLike;
String createName;
String title;
String summary;
String content;
String gambitTitle;
String createDate;
List<LikeNames> likeNames;
List<ImgModel> imgUrls;
List<ImgModel> headSculptureImgUrl;
List<GambitThemeCommentVoList> gambitThemeCommentVoList;
List<ImgModel> imgUrl;
int activityNum;
String get firstImg {
var firstImg = '';
if (imgUrls?.isNotEmpty ?? false) {
firstImg = imgUrls?.first?.url ?? '';
}
return firstImg;
if (imgUrl.isEmpty)
return '';
else
return imgUrl.first.url;
}
CommunityTopicModel(
{this.id,
this.createId,
this.isComment,
this.isLike,
this.createName,
this.title,
this.summary,
this.content,
this.gambitTitle,
this.createDate,
this.likeNames,
this.imgUrls,
this.headSculptureImgUrl,
this.gambitThemeCommentVoList});
this.imgUrl,
this.activityNum});
CommunityTopicModel.fromJson(Map<String, dynamic> json) {
id = json['id'];
createId = json['createId'];
isComment = json['isComment'];
isLike = json['isLike'];
createName = json['createName'];
title = json['title'];
summary = json['summary'];
content = json['content'];
gambitTitle = json['gambitTitle'];
createDate = json['createDate'];
if (json['likeNames'] != null) {
likeNames = new List<LikeNames>();
json['likeNames'].forEach((v) {
likeNames.add(new LikeNames.fromJson(v));
});
}
if (json['imgUrls'] != null) {
imgUrls = new List<ImgModel>();
json['imgUrls'].forEach((v) {
imgUrls.add(new ImgModel.fromJson(v));
if (json['imgUrl'] != null) {
imgUrl = new List<ImgModel>();
json['imgUrl'].forEach((v) {
imgUrl.add(new ImgModel.fromJson(v));
});
} else
imgUrls = [];
if (json['headSculptureImgUrl'] != null) {
headSculptureImgUrl = new List<ImgModel>();
json['headSculptureImgUrl'].forEach((v) {
headSculptureImgUrl.add(new ImgModel.fromJson(v));
});
} else
headSculptureImgUrl = [];
if (json['gambitThemeCommentVoList'] != null) {
gambitThemeCommentVoList = new List<GambitThemeCommentVoList>();
json['gambitThemeCommentVoList'].forEach((v) {
gambitThemeCommentVoList.add(new GambitThemeCommentVoList.fromJson(v));
});
}
imgUrl = [];
activityNum = json['activityNum'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['createId'] = this.createId;
data['isComment'] = this.isComment;
data['isLike'] = this.isLike;
data['createName'] = this.createName;
data['title'] = this.title;
data['summary'] = this.summary;
data['content'] = this.content;
data['gambitTitle'] = this.gambitTitle;
data['createDate'] = this.createDate;
if (this.likeNames != null) {
data['likeNames'] = this.likeNames.map((v) => v.toJson()).toList();
}
if (this.imgUrls != null) {
data['imgUrls'] = this.imgUrls.map((v) => v.toJson()).toList();
}
if (this.headSculptureImgUrl != null) {
data['headSculptureImgUrl'] =
this.headSculptureImgUrl.map((v) => v.toJson()).toList();
if (this.imgUrl != null) {
data['imgUrl'] = this.imgUrl.map((v) => v.toJson()).toList();
}
if (this.gambitThemeCommentVoList != null) {
data['gambitThemeCommentVoList'] =
this.gambitThemeCommentVoList.map((v) => v.toJson()).toList();
}
return data;
}
}
class LikeNames {
int id;
String name;
LikeNames({this.id, this.name});
LikeNames.fromJson(Map<String, dynamic> json) {
id = json['id'];
name = json['name'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['name'] = this.name;
return data;
}
}
class GambitThemeCommentVoList {
int id;
String parentName;
String content;
String createName;
String createDate;
GambitThemeCommentVoList(
{this.id,
this.parentName,
this.content,
this.createName,
this.createDate});
GambitThemeCommentVoList.fromJson(Map<String, dynamic> json) {
id = json['id'];
parentName = json['parentName'];
content = json['content'];
createName = json['createName'];
createDate = json['createDate'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['parentName'] = this.parentName;
data['content'] = this.content;
data['createName'] = this.createName;
data['createDate'] = this.createDate;
data['activityNum'] = this.activityNum;
return data;
}
}

@ -1,6 +1,9 @@
import 'package:akuCommunity/model/common/img_model.dart';
// Package imports:
import 'package:common_utils/common_utils.dart';
// Project imports:
import 'package:akuCommunity/model/common/img_model.dart';
class EventItemModel {
int id;
int createId;

@ -0,0 +1,46 @@
// Package imports:
import 'package:flustars/flustars.dart';
// Project imports:
import 'package:akuCommunity/model/common/img_model.dart';
class MyEventItemModel {
int id;
String content;
List<ImgModel> imgUrl;
String createDate;
String get firstImg {
String img = '';
if (imgUrl.isNotEmpty) img = imgUrl.first.url;
return img;
}
DateTime get date => DateUtil.getDateTime(createDate);
MyEventItemModel({this.id, this.content, this.imgUrl, this.createDate});
MyEventItemModel.fromJson(Map<String, dynamic> json) {
id = json['id'];
content = json['content'];
if (json['imgUrl'] != null) {
imgUrl = new List<ImgModel>();
json['imgUrl'].forEach((v) {
imgUrl.add(new ImgModel.fromJson(v));
});
} else
imgUrl = [];
createDate = json['createDate'];
}
Map<String, dynamic> toJson() {
final Map<String, dynamic> data = new Map<String, dynamic>();
data['id'] = this.id;
data['content'] = this.content;
if (this.imgUrl != null) {
data['imgUrl'] = this.imgUrl.map((v) => v.toJson()).toList();
}
data['createDate'] = this.createDate;
return data;
}
}

@ -1,3 +1,4 @@
// Project imports:
import 'package:akuCommunity/model/common/img_model.dart';
class ArticleBorrowModel {

@ -18,4 +18,4 @@ class EstatePaymentModel {
data['status'] = this.status;
return data;
}
}
}

@ -1,3 +1,4 @@
// Project imports:
import 'package:akuCommunity/model/common/img_model.dart';
class EventVotingModel {

@ -1,3 +1,4 @@
// Project imports:
import 'package:akuCommunity/model/common/img_model.dart';
class VotingDetailModel {

@ -17,6 +17,8 @@ import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/bottom_button.dart';
import 'package:akuCommunity/widget/cached_image_wrapper.dart';
//TODO CLEAN BOTTOM CODES.
@Deprecated("sh*t activities_details_page need to be cleaned.")
class ActivitiesDetailsPage extends StatefulWidget {
final Bundle bundle;
ActivitiesDetailsPage({Key key, this.bundle}) : super(key: key);

@ -1,13 +1,18 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_easyrefresh/easy_refresh.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/manager/event_voting_model.dart';
import 'package:akuCommunity/pages/event_activity/voting_detail_page.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/others/stack_avatar.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:akuCommunity/utils/headers.dart';
class EventVotingPage extends StatefulWidget {
EventVotingPage({Key key}) : super(key: key);

@ -1,13 +1,17 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_easyrefresh/easy_refresh.dart';
// Project imports:
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/manager/voting_detail_model.dart';
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/widget/bee_divider.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/buttons/bee_check_box.dart';
import 'package:akuCommunity/widget/buttons/bee_single_check.dart';
import 'package:flutter/material.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
class VotingDetailPage extends StatefulWidget {
final int id;

@ -1,8 +1,4 @@
// Flutter imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/model/manager/article_QR_code_model.dart';
import 'package:akuCommunity/provider/user_provider.dart';
import 'package:akuCommunity/utils/bee_parse.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -12,6 +8,10 @@ import 'package:provider/provider.dart';
import 'package:qr_flutter/qr_flutter.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/model/manager/article_QR_code_model.dart';
import 'package:akuCommunity/provider/user_provider.dart';
import 'package:akuCommunity/utils/bee_parse.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/dotted_line.dart';

@ -4,18 +4,11 @@
import 'dart:io';
// Flutter imports:
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/pages/goods_deto_page/select_move_company_page.dart';
import 'package:akuCommunity/pages/life_pay/widget/my_house_page.dart';
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/utils/bee_parse.dart';
import 'package:akuCommunity/utils/network/base_model.dart';
import 'package:akuCommunity/utils/network/net_util.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:bot_toast/bot_toast.dart';
import 'package:flustars/flustars.dart';
import 'package:get/get.dart';
import 'package:provider/provider.dart';
@ -23,8 +16,15 @@ import 'package:provider/provider.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/pages/goods_deto_page/select_move_company_page.dart';
import 'package:akuCommunity/pages/life_pay/widget/my_house_page.dart';
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/provider/user_provider.dart';
import 'package:akuCommunity/utils/bee_parse.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/utils/network/base_model.dart';
import 'package:akuCommunity/utils/network/net_util.dart';
import 'package:akuCommunity/widget/bee_divider.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/buttons/bee_check_button.dart';

@ -3,7 +3,6 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:flutter_picker/flutter_picker.dart';

@ -1,25 +1,24 @@
// Flutter imports:
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/provider/user_provider.dart';
import 'package:akuCommunity/widget/buttons/bottom_button.dart';
import 'package:akuCommunity/widget/buttons/radio_button.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:provider/provider.dart';
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/manager/goods_out_model.dart';
import 'package:akuCommunity/pages/goods_deto_page/deto_create_page/deto_create_page.dart';
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/provider/user_provider.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/buttons/bottom_button.dart';
import 'package:akuCommunity/widget/buttons/radio_button.dart';
import 'widget/goods_info_card.dart';
class GoodsDetoPage extends StatefulWidget {

@ -1,16 +1,21 @@
// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:get/get.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/model/manager/moving_company_model.dart';
import 'package:akuCommunity/pages/goods_deto_page/deto_create_page/widget/common_radio.dart';
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_divider.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/buttons/bottom_button.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:get/get.dart';
class SelectMoveCompanyPage extends StatefulWidget {
SelectMoveCompanyPage({Key key}) : super(key: key);

@ -1,15 +1,14 @@
// Flutter imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/model/manager/goods_out_model.dart';
import 'package:akuCommunity/utils/bee_map.dart';
import 'package:akuCommunity/widget/views/horizontal_image_view.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/model/manager/goods_out_model.dart';
import 'package:akuCommunity/utils/bee_map.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/views/horizontal_image_view.dart';
import 'goods_info_card_button.dart';
import 'image_horizontal_list.dart';
class GoodsInfoCard extends StatelessWidget {
final GoodsOutModel model;

@ -1,19 +1,18 @@
// Flutter imports:
import 'package:akuCommunity/model/manager/article_QR_code_model.dart';
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/utils/network/base_model.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:bot_toast/bot_toast.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:get/get.dart';
import 'package:url_launcher/url_launcher.dart';
// Project imports:
import 'package:akuCommunity/extensions/page_router.dart';
import 'package:akuCommunity/model/manager/article_QR_code_model.dart';
import 'package:akuCommunity/pages/goods_deto_page/deto_code_page/deto_code_page.dart';
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/utils/headers.dart';
class GoodsInfoCardButton extends StatelessWidget {

@ -1,20 +1,20 @@
// Flutter imports:
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/manager/article_borrow_model.dart';
import 'package:akuCommunity/pages/goods_manage_page/mine_goods_page/mine_goods_page.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/widget/buttons/bottom_button.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
// Package imports:
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/manager/article_borrow_model.dart';
import 'package:akuCommunity/pages/goods_manage_page/mine_goods_page/mine_goods_page.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/widget/buttons/bottom_button.dart';
class GoodsManagePage extends StatefulWidget {
GoodsManagePage({Key key}) : super(key: key);

@ -1,14 +1,16 @@
// Flutter imports:
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/manager/mine_goods_model.dart';
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/utils/bee_map.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_easyrefresh/easy_refresh.dart';
// Project imports:
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/manager/mine_goods_model.dart';
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/utils/bee_map.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';

@ -3,44 +3,32 @@ import 'dart:async';
import 'dart:convert';
// Flutter imports:
import 'package:akuCommunity/model/community/board_model.dart';
import 'package:akuCommunity/ui/home/application/all_application.dart';
import 'package:akuCommunity/widget/buttons/column_action_button.dart';
import 'package:akuCommunity/widget/views/application_view.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/extensions/num_ext.dart';
import 'package:akuCommunity/extensions/page_router.dart';
import 'package:akuCommunity/model/aku_shop_model.dart';
import 'package:akuCommunity/model/community/activity_item_model.dart';
import 'package:akuCommunity/pages/convenient_phone/convenient_phone_page.dart';
import 'package:akuCommunity/model/community/board_model.dart';
import 'package:akuCommunity/pages/home/widget/animate_app_bar.dart';
import 'package:akuCommunity/pages/industry_committee/industry_committee_page.dart';
import 'package:akuCommunity/pages/life_pay/life_pay_page.dart';
import 'package:akuCommunity/pages/message_center_page/message_center_page.dart';
import 'package:akuCommunity/pages/open_door_page/open_door_page.dart';
import 'package:akuCommunity/pages/things_page/fixed_submit_page.dart';
import 'package:akuCommunity/pages/total_application_page/total_applications_page.dart';
import 'package:akuCommunity/pages/visitor_access_page/visitor_access_page.dart';
import 'package:akuCommunity/service/base_model.dart';
import 'package:akuCommunity/ui/community/activity/activity_card.dart';
import 'package:akuCommunity/ui/community/activity/activity_list_page.dart';
import 'package:akuCommunity/ui/community/community_func.dart';
import 'package:akuCommunity/ui/home/home_notification.dart';
import 'package:akuCommunity/ui/home/home_title.dart';
import 'package:akuCommunity/ui/manager/advice/advice_page.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/buttons/column_action_button.dart';
import 'package:akuCommunity/widget/container_comment.dart';
import 'package:akuCommunity/widget/grid_buttons.dart';
import 'package:akuCommunity/widget/views/application_view.dart';
import 'widget/home_search.dart';
import 'widget/home_swiper.dart';
@ -68,18 +56,6 @@ class _HomePageState extends State<HomePage>
ActivityItemModel _activityItemModel;
List<BoardItemModel> _boardItemModels = [];
List<GridButton> _gridList = [
GridButton('一键开门', R.ASSETS_ICONS_TOOL_YJKM_PNG, OpenDoorPage().to),
GridButton('访客通行', R.ASSETS_ICONS_TOOL_FKYQ_PNG, VisitorAccessPage().to),
GridButton('报事报修', R.ASSETS_ICONS_TOOL_BSBX_PNG, FixedSubmitPage().to),
GridButton('生活缴费', R.ASSETS_ICONS_TOOL_SHJF_PNG, LifePayPage().to),
GridButton('业委会', R.ASSETS_ICONS_TOOL_YWH_PNG, IndustryCommitteePage().to),
GridButton('建议咨询', R.ASSETS_ICONS_TOOL_JYTS_PNG,
AdvicePage(type: AdviceType.SUGGESTION).to),
GridButton('便民电话', R.ASSETS_ICONS_TOOL_BMDH_PNG, ConvenientPhonePage().to),
GridButton('全部应用', R.ASSETS_ICONS_TOOL_QBYY_PNG, AllApplicationPage().to),
];
@override
void initState() {
super.initState();

@ -1,26 +1,26 @@
// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:provider/provider.dart';
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/manager/life_pay_model.dart';
import 'package:akuCommunity/pages/life_pay/life_pay_record_page/life_pay_record_page.dart';
import 'package:akuCommunity/pages/life_pay/widget/life_pay_detail_page.dart';
import 'package:akuCommunity/pages/life_pay/widget/my_house_page.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/provider/user_provider.dart';
import 'package:akuCommunity/utils/bee_parse.dart';
import 'package:akuCommunity/widget/buttons/bee_check_radio.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:provider/provider.dart';
// Package imports:
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/pages/life_pay/life_pay_record_page/life_pay_record_page.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/buttons/bee_check_radio.dart';
class LifePayPage extends StatefulWidget {
LifePayPage({Key key}) : super(key: key);

@ -1,14 +1,19 @@
// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:get/get.dart';
import 'package:provider/provider.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/model/manager/life_pay_model.dart';
import 'package:akuCommunity/provider/user_provider.dart';
import 'package:akuCommunity/utils/bee_parse.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/buttons/bee_check_radio.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:get/get.dart';
import 'package:provider/provider.dart';
class LifePayDetailPage extends StatefulWidget {
final LifePayModel model;

@ -1,14 +1,19 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:provider/provider.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/model/manager/estate_payment_model.dart';
import 'package:akuCommunity/pages/goods_deto_page/deto_create_page/widget/common_radio.dart';
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/provider/user_provider.dart';
import 'package:akuCommunity/utils/bee_parse.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_divider.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:flutter/material.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:provider/provider.dart';
class MyHousePage extends StatefulWidget {
final bool needFindPayTag;

@ -9,8 +9,6 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
// Project imports:
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/app_bar_action.dart';
import 'package:akuCommunity/widget/container_comment.dart';
import 'package:akuCommunity/widget/grid_buttons.dart';
import 'package:akuCommunity/widget/search_bar_delegate.dart';
import 'package:akuCommunity/widget/single_ad_space.dart';
import 'widget/market_list.dart';

@ -124,8 +124,7 @@ class _PersonalIndexState extends State<PersonalIndex>
tag: 'AVATAR',
child: ClipOval(
child: FadeInImage.assetNetwork(
//TODO PLACEHOLDER
placeholder: R.ASSETS_ICONS_PROPOSAL_PNG,
placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
image: API.image(
userProvider?.userInfoModel?.imgUrl ?? ''),
height: 106.w,

@ -9,7 +9,6 @@ import 'package:flutter/material.dart';
import 'package:bot_toast/bot_toast.dart';
import 'package:common_utils/common_utils.dart';
import 'package:get/get.dart';
import 'package:image_picker/image_picker.dart';
import 'package:provider/provider.dart';
import 'package:velocity_x/velocity_x.dart';
@ -98,7 +97,7 @@ class _UserProfilePageState extends State<UserProfilePage> {
tag: 'AVATAR',
child: ClipOval(
child: FadeInImage.assetNetwork(
placeholder: R.ASSETS_ICONS_PROPOSAL_PNG,
placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
image: API.image(userProvider.userInfoModel.imgUrl),
height: 56.w,
width: 56.w,

@ -1,37 +1,21 @@
// Flutter imports:
import 'package:akuCommunity/constants/application_objects.dart';
import 'package:akuCommunity/ui/community/notice/notice_page.dart';
import 'package:akuCommunity/widget/views/application_view.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:get/get.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
// Project imports:
import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/pages/activities_page/activities_details_page/activities_details_page.dart';
import 'package:akuCommunity/pages/activities_page/activities_page.dart';
import 'package:akuCommunity/pages/convenient_phone/convenient_phone_page.dart';
import 'package:akuCommunity/pages/fitup_manage/fitup_manage_page.dart';
import 'package:akuCommunity/pages/goods_deto_page/goods_deto_page.dart';
import 'package:akuCommunity/pages/industry_committee/industry_committee_page.dart';
import 'package:akuCommunity/pages/life_pay/life_pay_page.dart';
import 'package:akuCommunity/pages/open_door_page/open_door_page.dart';
import 'package:akuCommunity/pages/opening_code_page/opening_code_page.dart';
import 'package:akuCommunity/pages/questionnaire_page/questionnaire_page.dart';
import 'package:akuCommunity/pages/things_page/fixed_submit_page.dart';
import 'package:akuCommunity/pages/total_application_page/total_applications_page.dart';
import 'package:akuCommunity/pages/visitor_access_page/visitor_access_page.dart';
import 'package:akuCommunity/routers/page_routers.dart';
import 'package:akuCommunity/ui/manager/advice/advice_page.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/constants/application_objects.dart';
import 'package:akuCommunity/model/community/board_model.dart';
import 'package:akuCommunity/ui/community/notice/notice_card.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/utils/network/base_list_model.dart';
import 'package:akuCommunity/utils/network/net_util.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/circle_trend.dart';
import 'package:akuCommunity/widget/container_comment.dart';
import 'package:akuCommunity/widget/grid_buttons.dart';
import 'package:akuCommunity/widget/single_ad_space.dart';
import 'package:akuCommunity/widget/views/application_view.dart';
import 'widget/property_card.dart';
//TODO CLEAN BOTTOM CODES.
@ -47,131 +31,23 @@ class PropertyIndex extends StatefulWidget {
@Deprecated("sh*t property_index need to be cleaned.")
class _PropertyIndexState extends State<PropertyIndex>
with AutomaticKeepAliveClientMixin, SingleTickerProviderStateMixin {
List<GridButton> _gridList = [
GridButton('一键开门', R.ASSETS_ICONS_TOOL_YJKM_PNG, () {
OpenDoorPage().to();
}),
GridButton('开门码', R.ASSETS_ICONS_TOOL_KMM_PNG, () {
OpeningCodePage().to();
}),
GridButton('访客通行', R.ASSETS_ICONS_TOOL_FKYQ_PNG, () {
VisitorAccessPage().to();
}),
GridButton('报事报修', R.ASSETS_ICONS_TOOL_BSBX_PNG, () {
FixedSubmitPage().to();
}),
GridButton('生活缴费', R.ASSETS_ICONS_TOOL_SHJF_PNG, () {
LifePayPage().to();
}),
GridButton('业委会', R.ASSETS_ICONS_TOOL_YWH_PNG, () {
IndustryCommitteePage().to();
}),
GridButton('建议咨询', R.ASSETS_ICONS_TOOL_JYTS_PNG,
AdvicePage(type: AdviceType.SUGGESTION).to),
GridButton('便民电话', R.ASSETS_ICONS_TOOL_BMDH_PNG, () {
ConvenientPhonePage().to();
}),
GridButton('活动投票', R.ASSETS_ICONS_TOOL_HDTP_PNG, () {
Get.to(ActivitiesPage());
}),
GridButton('物品出户', R.ASSETS_ICONS_TOOL_WPCM_PNG, () {
GoodsDetoPage().to();
}),
GridButton('投诉表扬', R.ASSETS_ICONS_TOOL_TSBY_PNG,
AdvicePage(type: AdviceType.COMPLAIN).to),
GridButton('问卷调查', R.ASSETS_ICONS_TOOL_WJDC_PNG, () {
QuestionnairePage().to();
}),
GridButton('装修管理', R.ASSETS_ICONS_TOOL_ZXGL_PNG, () {
FitupManagePage().to();
}),
GridButton('全部应用', R.ASSETS_ICONS_TOOL_QBYY_PNG, () {
TotalApplicationsPage().to();
}),
];
@override
bool get wantKeepAlive => true;
List<Map<String, dynamic>> _listView = [
{
'title': '今天',
'contentList': <Map<String, dynamic>>[
{
'subtitle': '小区环境秩序管理局物业执法简讯',
'imagePath':
'https://ss0.bdstatic.com/70cFvHSh_Q1YnxGkpoWK1HF6hhy/it/u=486282784,967147496&fm=26&gp=0.jpg'
},
{
'subtitle': '小区健身房已经修缮完毕',
'imagePath':
'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1600342657805&di=e47b51d9359495ee90488f7244afa85b&imgtype=0&src=http%3A%2F%2Fimage.cnpp.cn%2Fupload%2Fimages%2F20190122%2F14340317774_1200x800.jpg'
}
]
},
{
'title': '118月',
'contentList': <Map<String, dynamic>>[
{
'subtitle': '小区有了狗狗专用便桶',
'imagePath':
'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1600342731226&di=2223958ede406daa9fa85f3ea908e601&imgtype=0&src=http%3A%2F%2F5b0988e595225.cdn.sohucs.com%2Fimages%2F20180505%2F570fe33aab56409fa62f0626ab78f4cd.jpeg'
},
]
},
{
'title': '217月',
'contentList': <Map<String, dynamic>>[
{
'subtitle': '小区开展保安员业务培训暨消防技能演练',
'imagePath':
'https://timgsa.baidu.com/timg?image&quality=80&size=b9999_10000&sec=1600342893169&di=9f2fcf7e3b967ac99f0a2b22e59869d8&imgtype=0&src=http%3A%2F%2Fwww.nbbaxh.net%2FUploadFiles%2Fcontent%2F2018731649142.jpg'
},
]
},
];
RefreshController _refreshController =
RefreshController(initialRefresh: false);
ScrollController _controller;
@override
void initState() {
super.initState();
}
void _onRefresh() async {
await Future.delayed(Duration(milliseconds: 1500));
_refreshController.refreshCompleted();
}
void _onLoading() async {
await Future.delayed(Duration(milliseconds: 1500));
if (mounted) setState(() {});
_refreshController.loadComplete();
}
void activityRouter() {
ActivitiesPage().to;
}
void activityDetailsRouter(String imagePath, title, bool isOver, isVote,
isVoteOver, List<String> memberList) {
ActivitiesDetailsPage(
bundle: Bundle()
..putMap('details', {
'title': title,
'imagePath': imagePath,
'isOver': isOver,
'isVote': isVote,
'isVoteOver': isVoteOver,
'memberList': memberList
}),
).to;
}
void noticeRouter(String theme, imagePath) {
NoticePage().to;
EasyRefreshController _refreshController = EasyRefreshController();
int _page = 1;
int _pageCount = 0;
List<BoardItemModel> _models = [];
Future<List<BoardItemModel>> _getItems() async {
BaseListModel model = await NetUtil().getList(
API.community.boardList,
params: {
'pageNum': _page,
'size': 10,
},
);
_pageCount = model.pageCount;
return model.tableList.map((e) => BoardItemModel.fromJson(e)).toList();
}
@override
@ -185,22 +61,24 @@ class _PropertyIndexState extends State<PropertyIndex>
super.build(context);
return BeeScaffold(
title: '物业',
body: SmartRefresher(
body: EasyRefresh(
controller: _refreshController,
header: WaterDropHeader(),
footer: ClassicFooter(),
onRefresh: _onRefresh,
onLoading: _onLoading,
enablePullUp: true,
firstRefresh: true,
header: MaterialHeader(),
footer: MaterialFooter(),
onRefresh: () async {
_page = 1;
_models = await _getItems();
setState(() {});
},
onLoad: () async {
_page++;
_models.addAll(await _getItems());
if (_page >= _pageCount) _refreshController.finishLoad(noMore: true);
setState(() {});
},
child: CustomScrollView(
controller: _controller,
slivers: [
SliverToBoxAdapter(
child: SingleAdSpace(
imagePath: 'assets/example/guanggao5.png',
radius: 16,
),
),
SliverToBoxAdapter(
child: ContainerComment(
radius: 8,
@ -227,14 +105,23 @@ class _PropertyIndexState extends State<PropertyIndex>
child: ListView.builder(
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemBuilder: (context, index) => CircleTrend(
title: _listView[index]['title'],
contentList: _listView[index]['contentList'],
fun: noticeRouter,
),
itemBuilder: (context, index) => SizedBox(),
itemCount: 3,
),
),
SliverList(
delegate: SliverChildBuilderDelegate(
(context, index) {
final BoardItemModel model = _models[index];
BoardItemModel preModel;
if (index >= 1) preModel = _models[index - 1];
return Padding(
padding: EdgeInsets.only(bottom: 8.w),
child: NoticeCard(model: model, preModel: preModel),
);
},
childCount: _models.length,
)),
],
),
),

@ -1,5 +1,4 @@
// Flutter imports:
import 'package:akuCommunity/provider/app_provider.dart';
import 'package:flutter/material.dart';
// Package imports:
@ -14,6 +13,7 @@ import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/pages/tab_navigator.dart';
import 'package:akuCommunity/provider/app_provider.dart';
import 'package:akuCommunity/provider/user_provider.dart';
import 'package:akuCommunity/utils/hive_store.dart';

@ -1,5 +1,4 @@
// Flutter imports:
import 'package:akuCommunity/ui/community/community_views/community_page.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -7,9 +6,8 @@ import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
// Project imports:
import 'package:akuCommunity/base/assets_image.dart';
import 'package:akuCommunity/const/resource.dart';
import 'community/community_index.dart';
import 'package:akuCommunity/ui/community/community_views/community_page.dart';
import 'home/home_page.dart';
import 'personal/personal_page.dart';
import 'property/property_index.dart';

@ -1,5 +1,4 @@
// Flutter imports:
import 'package:akuCommunity/widget/buttons/radio_button.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';

@ -2,9 +2,6 @@
import 'dart:io';
// Flutter imports:
import 'package:akuCommunity/pages/life_pay/widget/my_house_page.dart';
import 'package:akuCommunity/utils/bee_parse.dart';
import 'package:akuCommunity/widget/buttons/bottom_button.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -20,13 +17,16 @@ import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/extensions/page_router.dart';
import 'package:akuCommunity/extensions/widget_list_ext.dart';
import 'package:akuCommunity/pages/life_pay/widget/my_house_page.dart';
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/pages/things_page/widget/finish_fixed_submit_page.dart';
import 'package:akuCommunity/provider/user_provider.dart';
import 'package:akuCommunity/utils/bee_parse.dart';
import 'package:akuCommunity/utils/network/base_model.dart';
import 'package:akuCommunity/utils/network/net_util.dart';
import 'package:akuCommunity/widget/bee_divider.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/buttons/bottom_button.dart';
import 'package:akuCommunity/widget/picker/grid_image_picker.dart';
class AddFixedSubmitPage extends StatefulWidget {

@ -1,5 +1,4 @@
// Flutter imports:
import 'package:akuCommunity/utils/bee_map.dart';
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
@ -16,6 +15,7 @@ import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/model/manager/fixed_detail_model.dart';
import 'package:akuCommunity/pages/manager_func.dart';
import 'package:akuCommunity/pages/things_page/widget/fixed_evaluate_page.dart';
import 'package:akuCommunity/utils/bee_map.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/utils/network/base_model.dart';
import 'package:akuCommunity/widget/bee_divider.dart';

@ -1,338 +0,0 @@
// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Project imports:
import 'package:akuCommunity/base/assets_image.dart';
import 'package:akuCommunity/pages/activities_page/activities_page.dart';
import 'package:akuCommunity/pages/convenient_phone/convenient_phone_page.dart';
import 'package:akuCommunity/pages/fitup_manage/fitup_manage_page.dart';
import 'package:akuCommunity/pages/goods_deto_page/goods_deto_page.dart';
import 'package:akuCommunity/pages/goods_manage_page/goods_manage_page.dart';
import 'package:akuCommunity/pages/industry_committee/industry_committee_page.dart';
import 'package:akuCommunity/pages/life_pay/life_pay_page.dart';
import 'package:akuCommunity/pages/market/market_detail_page/market_detail_page.dart';
import 'package:akuCommunity/pages/one_alarm/widget/alarm_page.dart';
import 'package:akuCommunity/pages/open_door_page/open_door_page.dart';
import 'package:akuCommunity/pages/opening_code_page/opening_code_page.dart';
import 'package:akuCommunity/pages/questionnaire_page/questionnaire_page.dart';
import 'package:akuCommunity/pages/things_page/fixed_submit_page.dart';
import 'package:akuCommunity/pages/visitor_access_page/visitor_access_page.dart';
import 'package:akuCommunity/routers/page_routers.dart';
import 'package:akuCommunity/ui/manager/advice/advice_page.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'widget/applications_bar.dart';
class TotalApplicationsPage extends StatefulWidget {
TotalApplicationsPage({Key key}) : super(key: key);
@override
_TotalApplicationsPageState createState() => _TotalApplicationsPageState();
}
class _TotalApplicationsPageState extends State<TotalApplicationsPage> {
int _currentIndex = 0;
bool isEdit = false;
List<String> _leftNav = ['为您推荐', '智慧管家'];
Widget _myApp() {
return Container(
margin: EdgeInsets.only(
top: 32.w,
left: 32.w,
right: 32.w,
),
padding: EdgeInsets.only(bottom: 16.w),
decoration: BoxDecoration(
border:
Border(bottom: BorderSide(color: Color(0xffd8d8d8), width: 0.5)),
),
child: Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [
Text(
'我的应用',
style: TextStyle(
fontSize: 28.sp,
color: Color(0xff333333),
),
),
InkWell(
onTap: () {
setState(() {
isEdit = !isEdit;
});
},
child: Container(
alignment: Alignment.center,
width: 90.w,
padding: EdgeInsets.symmetric(vertical: 6.w),
decoration: BoxDecoration(
color: Color(0xffffd000),
borderRadius: BorderRadius.all(Radius.circular(2)),
),
child: Text(
isEdit ? '完成' : '编辑',
style: TextStyle(
fontWeight: FontWeight.w600,
fontSize: 28.sp,
color: Color(0xff333333),
),
),
),
),
],
),
);
}
Widget _myAppGrid(List<Map<String, dynamic>> gridList, int count) {
return Container(
child: GridView.builder(
padding: EdgeInsets.zero,
shrinkWrap: true,
physics: NeverScrollableScrollPhysics(),
itemCount: gridList.length,
itemBuilder: (BuildContext context, int index) {
return InkWell(
onTap: isEdit
? () {
setState(() {
switch (count) {
case 3:
if ((!AssetsImage.mineAppList.any((item) =>
item['title'] == gridList[index]['title'])) &&
AssetsImage.mineAppList.length < 8) {
AssetsImage.mineAppList.add(gridList[index]);
}
break;
case 4:
gridList.removeAt(index);
break;
default:
}
});
}
: () {
switch (gridList[index]['title']) {
case '居家生活':
case '数码家电':
case '休闲副食':
case '滋补保健':
case '彩妆香水':
case '服饰箱包':
case '母婴玩具':
case '饮料酒水':
MarketDetailPage(
bundle: Bundle()
..putString('title', gridList[index]['title']),
).to;
break;
case '一键开门':
OpenDoorPage().to();
break;
case '开门码':
OpeningCodePage().to();
break;
case '访客通行':
case '我的访客':
VisitorAccessPage().to();
break;
case '报事报修':
FixedSubmitPage().to();
break;
case '生活缴费':
case '我的缴费':
LifePayPage().to();
break;
case '业委会':
IndustryCommitteePage().to();
break;
case '建议咨询':
AdvicePage(type: AdviceType.SUGGESTION).to();
break;
case '便民电话':
ConvenientPhonePage().to();
break;
case '活动投票':
ActivitiesPage().to();
break;
case '社区活动':
ActivitiesPage().to();
break;
case '物品出户':
GoodsDetoPage().to();
break;
case '投诉表扬':
AdvicePage(type: AdviceType.COMPLAIN).to();
break;
case '问卷调查':
QuestionnairePage().to();
break;
case '装修管理':
FitupManagePage().to();
break;
case '借还管理':
GoodsManagePage().to();
break;
case '一键报警':
AlarmPage().to();
break;
default:
break;
}
},
child: Container(
alignment: Alignment.center,
child: Stack(
children: [
Column(
mainAxisAlignment: MainAxisAlignment.center,
crossAxisAlignment: CrossAxisAlignment.center,
children: <Widget>[
Image.asset(
gridList[index]['imagePath'],
height: 75.w,
width: 75.w,
fit: BoxFit.cover,
),
SizedBox(height: 8.w),
Text(
gridList[index]['title'],
style: TextStyle(
fontSize: 24.sp,
color: Color(0xff4a4b51),
),
)
],
),
isEdit
? Positioned(
right: 0,
top: 24.w,
child: Image.asset(
count == 3
? AssetsImage.APPADD
: AssetsImage.APPREDUCE,
height: 24.w,
width: 24.w,
),
)
: SizedBox(),
],
),
),
);
},
gridDelegate: SliverGridDelegateWithFixedCrossAxisCount(
crossAxisCount: count,
childAspectRatio: 1.0,
),
),
);
}
Widget _leftInkWellNav(int index) {
return InkWell(
child: Stack(
children: [
Container(
height: 88.w,
alignment: Alignment.center,
color: _currentIndex == index ? Colors.white : Colors.transparent,
padding: EdgeInsets.symmetric(vertical: 24.w),
child: Text(
_leftNav[index],
style: TextStyle(
fontSize: 28.sp,
color: Color(0xff333333),
),
),
),
_currentIndex == index
? Positioned(
top: 24.w,
left: 1,
child: SizedBox(
width: 4.w,
height: 40.w,
child: DecoratedBox(
decoration: BoxDecoration(color: Color(0xffffd000)),
),
),
)
: SizedBox(),
],
),
onTap: () {
setState(() {
_currentIndex = index;
});
},
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: PreferredSize(
child: ApplicationsBar(),
preferredSize: Size.fromHeight(kToolbarHeight),
),
body: ListView(
children: [
Container(
color: Colors.white,
child: _myApp(),
),
Container(
color: Colors.white,
child: _myAppGrid(AssetsImage.mineAppList, 4),
),
Container(
margin: EdgeInsets.only(top: 32.w),
child: Row(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: <Widget>[
Container(
width: 172.w,
child: ListView.builder(
shrinkWrap: true,
itemCount: _leftNav.length,
itemBuilder: (BuildContext context, int index) {
return _leftInkWellNav(index);
}),
),
Container(
width: 578.w,
color: Colors.white,
child: ListView(
shrinkWrap: true,
children: [
Builder(builder: (_) {
switch (_currentIndex) {
case 0:
return _myAppGrid(AssetsImage.recommendGridList, 3);
break;
case 1:
return _myAppGrid(AssetsImage.propertyGridList, 3);
break;
case 2:
return _myAppGrid(AssetsImage.shopGridList, 3);
break;
default:
return SizedBox();
}
}),
],
),
),
],
),
),
],
),
);
}
}

@ -1,66 +0,0 @@
// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_icons/flutter_icons.dart';
import 'package:get/get.dart';
// Project imports:
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/search_bar_delegate.dart';
class ApplicationsBar extends StatelessWidget {
const ApplicationsBar({Key key}) : super(key: key);
@override
Widget build(BuildContext context) {
return Container(
child: AppBar(
elevation: 0,
titleSpacing: 0,
backgroundColor: Colors.white,
leading: InkWell(
onTap: () => Get.back(),
child: Icon(
AntDesign.left,
size: 45.sp,
color: Color(0xff333333),
),
),
centerTitle: true,
title: InkWell(
onTap: () {
showSearch(context: context, delegate: SearchBarDelegate());
},
child: Container(
margin: EdgeInsets.only(right: 32.w),
padding: EdgeInsets.only(
left: 40.w,
top: 15.w,
bottom: 15.w),
decoration: BoxDecoration(
color: Color(0xfff3f3f3),
borderRadius: BorderRadius.all(Radius.circular(36)),
),
child: Row(children: [
Icon(
AntDesign.search1,
size: 28.sp,
color: Color(0xff999999),
),
SizedBox(width: 5),
Text(
'搜索商品、活动、帖子、应用',
style: TextStyle(
fontSize: 28.sp,
color: Color(0xff999999),
),
)
]),
),
),
),
);
}
}

@ -3,7 +3,6 @@ import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_datetime_picker/flutter_datetime_picker.dart';
import 'package:flutter_icons/flutter_icons.dart';
import 'package:get/get.dart';
import 'package:provider/provider.dart';

@ -1,6 +1,9 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Project imports:
import 'package:akuCommunity/constants/application_objects.dart';
import 'package:akuCommunity/utils/hive_store.dart';
import 'package:flutter/material.dart';
class AppProvider extends ChangeNotifier {
///

@ -8,7 +8,6 @@ import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/common/img_model.dart';
import 'package:akuCommunity/model/community/activity_item_model.dart';
import 'package:akuCommunity/ui/community/activity/activity_detail_page.dart';
import 'package:akuCommunity/utils/headers.dart';

@ -11,7 +11,6 @@ import 'package:akuCommunity/model/community/activity_people_model.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/others/stack_avatar.dart';
class ActivityPeopleListPage extends StatefulWidget {
final int id;

@ -0,0 +1,154 @@
// Dart imports:
import 'dart:io';
// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:bot_toast/bot_toast.dart';
import 'package:get/get.dart';
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/utils/network/base_model.dart';
import 'package:akuCommunity/utils/network/net_util.dart';
import 'package:akuCommunity/widget/picker/grid_image_picker.dart';
class AddNewEventPage extends StatefulWidget {
AddNewEventPage({Key key}) : super(key: key);
@override
_AddNewEventPageState createState() => _AddNewEventPageState();
}
class _AddNewEventPageState extends State<AddNewEventPage> {
bool _commentable = true;
List<File> _files = [];
TextEditingController _textEditingController = TextEditingController();
///
_addEvent() async {
VoidCallback cancel = BotToast.showLoading();
final String content = _textEditingController.text;
List<String> imgs;
if (_files.isNotEmpty) {
imgs = await NetUtil().uploadFiles(_files, API.upload.uploadEvent);
}
Map<String, dynamic> params = {
//TODO ID
'gambitId': -1,
'content': content,
'isComment': _commentable ? 1 : 0,
'isPublic': 1,
'imgUrls': imgs,
};
BaseModel baseModel = await NetUtil().post(
API.community.addEvent,
params: params,
showMessage: true,
);
cancel();
if (baseModel.status) {
Get.back(result: true);
}
}
_buildSelectable() {
return MaterialButton(
onPressed: () {
setState(() {
_commentable = !_commentable;
});
},
height: 96.w,
child: Row(
children: [
Icon(
CupertinoIcons.bubble_left,
size: 32.w,
),
8.wb,
'不可评论'.text.size(28.sp).make(),
Spacer(),
AnimatedOpacity(
opacity: _commentable ? 0 : 1,
duration: Duration(milliseconds: 300),
curve: Curves.easeInOutCubic,
child: Icon(
Icons.check_rounded,
color: Colors.black,
size: 40.w,
),
),
],
),
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Colors.white,
elevation: 0,
leading: MaterialButton(
padding: EdgeInsets.zero,
onPressed: Get.back,
child: '取消'.text.size(34.sp).make(),
),
leadingWidth: 108.w,
centerTitle: true,
title: '社区'.text.make(),
actions: [
Hero(
tag: 'event_add',
child: MaterialButton(
elevation: 0,
minWidth: 116.w,
padding: EdgeInsets.zero,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(4.w),
),
color: kPrimaryColor,
onPressed: _addEvent,
child: '发表'.text.size(34.sp).make(),
).centered(),
),
32.wb,
],
),
body: ListView(
padding: EdgeInsets.symmetric(horizontal: 64.w, vertical: 32.w),
children: [
TextField(
minLines: 3,
maxLines: 99,
controller: _textEditingController,
decoration: InputDecoration(
contentPadding: EdgeInsets.zero,
border: InputBorder.none,
hintText: '这一刻的想法',
hintStyle: TextStyle(
color: Color(0xFF999999),
fontSize: 34.sp,
),
),
),
GridImagePicker(onChange: (files) => _files = files),
100.hb,
Divider(height: 1.w),
_buildSelectable(),
Divider(height: 1.w),
28.hb,
//TODO
],
).material(color: Colors.white),
);
}
}

@ -1,3 +1,11 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:get/get.dart';
// Project imports:
import 'package:akuCommunity/ui/community/community_views/add_new_event_page.dart';
import 'package:akuCommunity/ui/community/community_views/my_community_view.dart';
import 'package:akuCommunity/ui/community/community_views/new_community_view.dart';
import 'package:akuCommunity/ui/community/community_views/topic/topic_community_view.dart';
@ -5,7 +13,6 @@ import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/buttons/column_action_button.dart';
import 'package:akuCommunity/widget/tab_bar/bee_tab_bar.dart';
import 'package:flutter/material.dart';
class CommunityPage extends StatefulWidget {
CommunityPage({Key key}) : super(key: key);
@ -39,6 +46,11 @@ class _CommunityPageState extends State<CommunityPage>
path: R.ASSETS_ICONS_ALARM_PNG,
),
],
fab: FloatingActionButton(
onPressed: () => Get.to(AddNewEventPage()),
heroTag: 'event_add',
child: Icon(Icons.add),
),
appBarBottom: PreferredSize(
preferredSize: Size.fromHeight(48),
child: Align(

@ -0,0 +1,21 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Project imports:
import 'package:akuCommunity/widget/bee_scaffold.dart';
class EventDetailPage extends StatefulWidget {
EventDetailPage({Key key}) : super(key: key);
@override
_EventDetailPageState createState() => _EventDetailPageState();
}
class _EventDetailPageState extends State<EventDetailPage> {
@override
Widget build(BuildContext context) {
return BeeScaffold(
title: '详情',
);
}
}

@ -1,5 +1,16 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_easyrefresh/easy_refresh.dart';
// Project imports:
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/community/my_event_item_model.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/ui/community/community_views/widgets/my_event_card.dart';
import 'package:akuCommunity/utils/headers.dart';
class MyCommunityView extends StatefulWidget {
MyCommunityView({Key key}) : super(key: key);
@ -9,10 +20,31 @@ class MyCommunityView extends StatefulWidget {
class _MyCommunityViewState extends State<MyCommunityView>
with AutomaticKeepAliveClientMixin {
EasyRefreshController _refreshController = EasyRefreshController();
@override
Widget build(BuildContext context) {
super.build(context);
return Container();
return BeeListView(
path: API.community.myEvent,
controller: _refreshController,
convert: (model) {
return model.tableList
.map((e) => MyEventItemModel.fromJson(e))
.toList();
},
builder: (items) {
return ListView.separated(
itemBuilder: (context, index) {
final MyEventItemModel model = items[index];
MyEventItemModel preModel;
if (index >= 1) preModel = items[index - 1];
return MyEventCard(model: model, preModel: preModel);
},
separatorBuilder: (_, __) => 8.hb,
itemCount: items.length,
);
},
);
}
@override

@ -1,5 +1,15 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_easyrefresh/easy_refresh.dart';
// Project imports:
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/community/event_item_model.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/ui/community/community_views/widgets/chat_card.dart';
class NewCommunityView extends StatefulWidget {
NewCommunityView({Key key}) : super(key: key);
@ -9,10 +19,42 @@ class NewCommunityView extends StatefulWidget {
class _NewCommunityViewState extends State<NewCommunityView>
with AutomaticKeepAliveClientMixin {
EasyRefreshController _refreshController = EasyRefreshController();
@override
void dispose() {
_refreshController?.dispose();
super.dispose();
}
@override
Widget build(BuildContext context) {
super.build(context);
return Container();
return BeeListView(
path: API.community.newEventList,
controller: _refreshController,
convert: (model) {
return model.tableList.map((e) => EventItemModel.fromJson(e)).toList();
},
builder: (items) {
return ListView.builder(
itemBuilder: (context, index) {
final item = items[index] as EventItemModel;
return ChatCard(
content: item.content,
name: item.createName ?? '',
topic: item.gambitTitle ?? '',
contentImg: item.imgUrls,
date: item.date,
id: item.createId,
headImg: item.headSculptureImgUrl,
themeId: item.id,
initLike: item.isLike == 1,
);
},
itemCount: items.length,
);
},
);
}
@override

@ -1,14 +1,20 @@
// Dart imports:
import 'dart:ui';
import 'package:akuCommunity/ui/community/community_views/topic/topic_detail_page.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/community/community_topic_model.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:get/get.dart';
// Project imports:
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/community/community_topic_model.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/ui/community/community_views/topic/topic_detail_page.dart';
import 'package:akuCommunity/utils/headers.dart';
class TopicCommunityView extends StatefulWidget {
TopicCommunityView({Key key}) : super(key: key);
@ -56,9 +62,7 @@ class _TopicCommunityViewState extends State<TopicCommunityView>
),
child: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5),
//TODO
// model.summary
child: ('#${''}')
child: ('#${model.summary}')
.text
.center
.size(28.sp)
@ -76,7 +80,7 @@ class _TopicCommunityViewState extends State<TopicCommunityView>
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
(model?.gambitTitle ?? '')
(model?.title ?? '')
.text
.maxLines(2)
.size(28.sp)

@ -1,12 +1,16 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_easyrefresh/easy_refresh.dart';
// Project imports:
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/community/community_topic_model.dart';
import 'package:akuCommunity/model/community/event_item_model.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/ui/community/community_views/topic/topic_sliver_header.dart';
import 'package:akuCommunity/ui/community/community_views/widgets/chat_card.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
class TopicDetailPage extends StatefulWidget {
final CommunityTopicModel model;
@ -28,6 +32,11 @@ class _TopicDetailPageState extends State<TopicDetailPage> {
@override
Widget build(BuildContext context) {
return Scaffold(
floatingActionButton: FloatingActionButton(
heroTag: 'event_add',
onPressed: () {},
child: Icon(Icons.add),
),
body: BeeListView(
convert: (model) {
return model.tableList
@ -55,11 +64,15 @@ class _TopicDetailPageState extends State<TopicDetailPage> {
(context, index) {
final item = items[index] as EventItemModel;
return ChatCard(
initLike: item.isLike == 1,
themeId: item.id,
content: item.content,
name: item.createName,
title: item.gambitTitle,
topic: item.gambitTitle,
headImg: item.headSculptureImgUrl,
contentImg: item.imgUrls,
date: item.date,
id: item.createId,
);
},
childCount: items.length,

@ -1,8 +1,13 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_screenutil/flutter_screenutil.dart';
// Project imports:
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_back_button.dart';
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
class TopicSliverHeader extends SliverPersistentHeaderDelegate {
final String imgPath;

@ -1,25 +1,49 @@
// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:bot_toast/bot_toast.dart';
import 'package:get/get.dart';
import 'package:provider/provider.dart';
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/common/img_model.dart';
import 'package:akuCommunity/provider/user_provider.dart';
import 'package:akuCommunity/ui/community/community_views/event_detail_page.dart';
import 'package:akuCommunity/utils/bee_date_util.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:flutter/material.dart';
import 'package:velocity_x/velocity_x.dart';
import 'package:akuCommunity/utils/network/net_util.dart';
import 'package:akuCommunity/widget/picker/bee_image_preview.dart';
import 'package:akuCommunity/widget/views/bee_grid_image_view.dart';
class ChatCard extends StatefulWidget {
final String name;
final String title;
final String topic;
final List<ImgModel> headImg;
final List<ImgModel> contentImg;
final DateTime date;
final bool canDelete;
final bool initLike;
final String content;
///userID
final int id;
final int themeId;
ChatCard({
Key key,
this.name,
this.title,
this.headImg,
this.contentImg,
@required this.name,
@required this.topic,
@required this.headImg,
@required this.contentImg,
@required this.date,
this.canDelete,
this.initLike = false,
@required this.id,
@required this.content,
@required this.themeId,
}) : super(key: key);
@override
@ -27,6 +51,13 @@ class ChatCard extends StatefulWidget {
}
class _ChatCardState extends State<ChatCard> {
bool _like = false;
bool get _isMyself {
final userProvider = Provider.of<UserProvider>(context, listen: false);
return (userProvider?.userInfoModel?.id ?? -1) == widget.id;
}
String get firstHead {
if (widget.headImg == null || widget.headImg.isEmpty)
return '';
@ -37,20 +68,146 @@ class _ChatCardState extends State<ChatCard> {
_renderImage() {
if (widget.contentImg.isEmpty) return SizedBox();
if (widget.contentImg.length == 1)
return ConstrainedBox(
constraints: BoxConstraints(
maxHeight: 300.w,
minWidth: 300.w,
return MaterialButton(
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
padding: EdgeInsets.zero,
clipBehavior: Clip.antiAlias,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(8.w),
),
child: FadeInImage.assetNetwork(
placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
image: API.image(widget.contentImg.first.url),
onPressed: () {
Get.to(
BeeImagePreview.path(path: widget.contentImg.first.url),
opaque: false,
);
},
child: ConstrainedBox(
constraints: BoxConstraints(
maxHeight: 300.w,
maxWidth: 300.w,
),
child: Hero(
tag: widget.contentImg.first.url,
child: FadeInImage.assetNetwork(
placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
image: API.image(widget.contentImg.first.url),
),
),
),
);
else
return BeeGridImageView(
urls: widget.contentImg.map((e) => e.url).toList());
}
_buildMoreButton() {
return Builder(builder: (context) {
return MaterialButton(
elevation: 0,
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.circular(6.w),
),
padding: EdgeInsets.zero,
height: 40.w,
minWidth: 0,
color: Color(0xFFD8D8D8),
materialTapTargetSize: MaterialTapTargetSize.shrinkWrap,
onPressed: () {
BotToast.showAttachedWidget(
targetContext: context,
preferDirection: PreferDirection.leftCenter,
attachedBuilder: (cancel) {
return Padding(
padding: EdgeInsets.only(right: 10.w),
child: Material(
color: Color(0xFFD8D8D8),
borderRadius: BorderRadius.circular(8.w),
clipBehavior: Clip.antiAlias,
child: SizedBox(
height: 78.w,
child: Row(
mainAxisSize: MainAxisSize.min,
children: [
MaterialButton(
height: 78.w,
materialTapTargetSize:
MaterialTapTargetSize.shrinkWrap,
onPressed: () async {
cancel();
await NetUtil().get(
API.community.like,
params: {'themeId': widget.id},
showMessage: true,
);
setState(() {
_like = !_like;
});
},
child: [
_like
? Icon(Icons.favorite,
size: 30.w, color: Colors.red)
: Icon(Icons.favorite_border, size: 30.w),
10.wb,
''.text.make(),
].row(),
),
VerticalDivider(width: 1.w, thickness: 1.w),
MaterialButton(
height: 78.w,
materialTapTargetSize:
MaterialTapTargetSize.shrinkWrap,
onPressed: () {},
child: [
Icon(CupertinoIcons.bubble_right, size: 30.w),
10.wb,
'评论'.text.make(),
].row(),
),
],
),
),
),
);
},
);
},
child: Row(
children: [
20.wb,
Container(
height: 8.w,
width: 8.w,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(4.w),
),
),
8.wb,
Container(
height: 8.w,
width: 8.w,
decoration: BoxDecoration(
color: Colors.white,
borderRadius: BorderRadius.circular(4.w),
),
),
20.wb,
],
),
);
});
}
@override
void initState() {
super.initState();
_like = widget.initLike ?? false;
}
@override
Widget build(BuildContext context) {
final userProvider = Provider.of<UserProvider>(context);
return DecoratedBox(
decoration: BoxDecoration(
color: Colors.white,
@ -60,38 +217,95 @@ class _ChatCardState extends State<ChatCard> {
),
),
),
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Material(
color: Color(0xFFF5F5F5),
borderRadius: BorderRadius.circular(6.w),
child: FadeInImage.assetNetwork(
placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
image: API.image(firstHead),
height: 86.w,
width: 86.w,
),
),
24.wb,
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
widget.name.text.size(36.sp).make(),
6.hb,
widget.title.text.make(),
20.hb,
_renderImage(),
Row(
children: [
BeeDateUtil(widget.date).timeAgo.text.make(),
Spacer(),
],
child: MaterialButton(
padding: EdgeInsets.zero,
onPressed: () {
Get.to(EventDetailPage());
},
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Material(
color: Color(0xFFF5F5F5),
borderRadius: BorderRadius.circular(6.w),
clipBehavior: Clip.antiAlias,
child: FadeInImage.assetNetwork(
placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
image: API.image(firstHead),
height: 86.w,
width: 86.w,
),
],
).expand(),
],
).p(20.w),
),
24.wb,
Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
widget.name.text.size(36.sp).make(),
6.hb,
widget.content.text.make(),
20.hb,
_renderImage(),
widget.topic.isEmpty
? SizedBox()
: Chip(
label: '#${widget.topic}'.text.size(22.sp).make(),
padding: EdgeInsets.symmetric(
horizontal: 16.w, vertical: 5.w),
labelPadding: EdgeInsets.zero,
backgroundColor: Colors.transparent,
shape: StadiumBorder(
side: BorderSide(),
),
),
Row(
children: [
BeeDateUtil(widget.date)
.timeAgo
.text
.size(28.sp)
.color(Color(0xFF999999))
.make(),
_isMyself
? FlatButton(
materialTapTargetSize:
MaterialTapTargetSize.shrinkWrap,
height: 48.w,
onPressed: () async {
bool result =
await Get.dialog(CupertinoAlertDialog(
title: '你确定删除吗'.text.isIntrinsic.make(),
actions: [
CupertinoDialogAction(
child: '取消'.text.black.isIntrinsic.make(),
onPressed: () => Get.back(),
),
CupertinoDialogAction(
child: '确定'
.text
.color(Colors.orange)
.isIntrinsic
.make(),
onPressed: () => Get.back(result: true),
),
],
));
if (result == true) {
//TODO delete operation
}
},
child: '删除'.text.black.size(28.sp).make(),
)
: SizedBox(),
Spacer(),
_buildMoreButton(),
],
),
],
).expand(),
],
).p(20.w),
),
);
}
}

@ -0,0 +1,105 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:get/get.dart';
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/community/my_event_item_model.dart';
import 'package:akuCommunity/utils/bee_date_util.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/picker/bee_image_preview.dart';
class MyEventCard extends StatelessWidget {
final MyEventItemModel model;
final MyEventItemModel preModel;
const MyEventCard({
Key key,
@required this.model,
@required this.preModel,
}) : super(key: key);
bool get isFirst => preModel == null;
bool get notSameYear => model.date.year != (preModel?.date?.year ?? 0);
BeeDateUtil get beeDate => BeeDateUtil(model.date);
Widget title() {
if (beeDate.sameDay) return '今天'.text.size(52.sp).bold.make();
if (beeDate.isYesterday)
return '昨天'.text.size(52.sp).bold.make();
else
return Row(
mainAxisSize: MainAxisSize.min,
children: [
model.date.day.toString().text.size(52.sp).bold.make(),
'${model.date.month}'.text.size(36.sp).make(),
],
);
}
@override
Widget build(BuildContext context) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
mainAxisSize: MainAxisSize.min,
children: [
(notSameYear && model.date.year != DateTime.now().year)
? '${model.date.year}'
.text
.bold
.size(52.sp)
.make()
.paddingOnly(left: 32.w, top: isFirst ? 0 : 64.w, bottom: 32.w)
: SizedBox(),
MaterialButton(
onPressed: () {},
child: Row(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Container(
width: 200.w,
padding: EdgeInsets.only(left: 32.w),
alignment: Alignment.topLeft,
child: beeDate.sameDay ? SizedBox() : title(),
),
model.imgUrl.length == 0
? SizedBox(height: 152.w)
: GestureDetector(
onTap: () {
Get.to(
BeeImagePreview.path(path: model.imgUrl.first.url),
opaque: false,
);
},
child: Hero(
tag: model.imgUrl.first.url,
child: Container(
clipBehavior: Clip.antiAlias,
decoration: BoxDecoration(
color: Colors.black12,
borderRadius: BorderRadius.circular(8.w),
),
child: FadeInImage.assetNetwork(
placeholder: R.ASSETS_IMAGES_PLACEHOLDER_WEBP,
image: API.image(model.imgUrl.first.url),
width: 152.w,
height: 152.w,
fit: BoxFit.cover,
),
),
),
),
10.wb,
model.content.text.make().expand(),
],
),
),
],
);
}
}

@ -1,13 +1,18 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flustars/flustars.dart';
import 'package:get/get.dart';
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/community/board_model.dart';
import 'package:akuCommunity/ui/community/notice/notice_detail_page.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/model/community/board_model.dart';
import 'package:akuCommunity/widget/picker/bee_image_preview.dart';
import 'package:flustars/flustars.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:velocity_x/velocity_x.dart';
class NoticeCard extends StatelessWidget {
final BoardItemModel model;

@ -1,15 +1,20 @@
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:get/get.dart';
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/community/board_detail_model.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/utils/network/base_model.dart';
import 'package:akuCommunity/utils/network/net_util.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:akuCommunity/widget/picker/bee_image_preview.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
import 'package:get/get.dart';
import 'package:velocity_x/velocity_x.dart';
class NoticeDetailPage extends StatefulWidget {
final int id;

@ -1,11 +1,16 @@
import 'package:akuCommunity/ui/community/notice/notice_card.dart';
import 'package:akuCommunity/utils/headers.dart';
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:flutter_easyrefresh/easy_refresh.dart';
// Project imports:
import 'package:akuCommunity/constants/api.dart';
import 'package:akuCommunity/model/community/board_model.dart';
import 'package:akuCommunity/pages/things_page/widget/bee_list_view.dart';
import 'package:akuCommunity/ui/community/notice/notice_card.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_scaffold.dart';
import 'package:flutter/material.dart';
import 'package:flutter_easyrefresh/easy_refresh.dart';
class NoticePage extends StatefulWidget {
NoticePage({Key key}) : super(key: key);

@ -1,14 +1,19 @@
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/constants/application_objects.dart';
import 'package:akuCommunity/provider/app_provider.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_back_button.dart';
// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Package imports:
import 'package:get/get.dart';
import 'package:provider/provider.dart';
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/constants/application_objects.dart';
import 'package:akuCommunity/provider/app_provider.dart';
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/widget/bee_back_button.dart';
class AllApplicationPage extends StatefulWidget {
AllApplicationPage({Key key}) : super(key: key);

@ -1,19 +1,20 @@
// Flutter imports:
// Dart imports:
import 'dart:async';
import 'dart:math';
import 'package:akuCommunity/model/community/board_model.dart';
import 'package:akuCommunity/ui/community/notice/notice_detail_page.dart';
import 'package:akuCommunity/ui/community/notice/notice_page.dart';
// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:get/get.dart';
// Package imports:
import 'package:get/get.dart';
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/const/resource.dart';
import 'package:akuCommunity/model/community/board_model.dart';
import 'package:akuCommunity/ui/community/notice/notice_detail_page.dart';
import 'package:akuCommunity/ui/community/notice/notice_page.dart';
import 'package:akuCommunity/utils/headers.dart';
class HomeNotification extends StatefulWidget {

@ -1,3 +1,4 @@
// Package imports:
import 'package:common_utils/common_utils.dart';
class BeeDateUtil {

@ -1,6 +1,9 @@
import 'package:akuCommunity/base/base_style.dart';
// Flutter imports:
import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
// Project imports:
import 'package:akuCommunity/base/base_style.dart';
import 'package:akuCommunity/utils/headers.dart';
class BeeCheckRadio<T> extends StatefulWidget {

@ -1,7 +1,12 @@
import 'package:akuCommunity/utils/headers.dart';
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/utils/headers.dart';
class ColumnActionButton extends StatelessWidget {
final VoidCallback onPressed;
final String title;

@ -12,6 +12,7 @@ import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/utils/headers.dart';
//TODO
class BeeImagePicker {
static Future<File> pick({
String title,

@ -50,14 +50,11 @@ class _BeeImagePreviewState extends State<BeeImagePreview> {
onTap: Get.back,
child: Scaffold(
backgroundColor: Colors.black54,
body: BackdropFilter(
filter: ImageFilter.blur(sigmaX: 5, sigmaY: 5),
child: InteractiveViewer(
boundaryMargin: EdgeInsets.all(48),
minScale: 0.2,
maxScale: 10,
child: Center(child: image),
),
body: InteractiveViewer(
boundaryMargin: EdgeInsets.all(48),
minScale: 0.2,
maxScale: 10,
child: Center(child: image),
),
),
);

@ -1,11 +1,16 @@
import 'package:akuCommunity/utils/headers.dart';
import 'package:akuCommunity/constants/application_objects.dart';
import 'package:akuCommunity/provider/app_provider.dart';
// Flutter imports:
import 'package:flutter/material.dart';
// Package imports:
import 'package:get/get.dart';
import 'package:provider/provider.dart';
import 'package:velocity_x/velocity_x.dart';
// Project imports:
import 'package:akuCommunity/constants/application_objects.dart';
import 'package:akuCommunity/provider/app_provider.dart';
import 'package:akuCommunity/utils/headers.dart';
class ApplicationView extends StatefulWidget {
final List<AO> items;
ApplicationView({Key key})
@ -52,6 +57,7 @@ class _ApplicationViewState extends State<ApplicationView> {
Widget build(BuildContext context) {
return GridView.builder(
padding: EdgeInsets.zero,
physics: NeverScrollableScrollPhysics(),
gridDelegate:
SliverGridDelegateWithFixedCrossAxisCount(crossAxisCount: 4),
itemBuilder: (context, index) {

Loading…
Cancel
Save