Commit 222c8019 authored by 林生雨's avatar 林生雨

Merge branch 'test' into 'zx/gmFlutter'

# Conflicts:
#   lib/ClueModel/page/PlanCompareDetail/PlanCompareDetailPage.dart
#   lib/MainRouter/page/test/TestPage.dart
parents e2a5006b 6f6f2092
......@@ -16,7 +16,7 @@ abstract class ClueRouter implements RouterBaser {
Widget getLevelOnePage(Map<String, dynamic> params);
Widget getLevelTwoPage();
Widget getLevelTwoPage(Map<String, dynamic> params);
Widget getPlanPage();
......
......@@ -25,8 +25,8 @@ class ClueRouterImpl implements ClueRouter {
}
@override
Widget getLevelTwoPage() {
return LevelTwoPage();
Widget getLevelTwoPage(Map<String, dynamic> params) {
return LevelTwoPage(params);
}
@override
......
......@@ -5,7 +5,6 @@
* @Last Modified time: 2020-07-03 13:47:57
*/
import 'package:flutter/cupertino.dart';
import 'package:flutter/gestures.dart';
import 'package:flutter/material.dart';
import 'package:gm_flutter/ClueModel/page/PlanCompareDetail/PlanCompareDetailModel.dart';
import 'package:gm_flutter/ClueModel/server/entity/PlanCompareDetail.dart';
......@@ -15,11 +14,12 @@ import 'package:gm_flutter/commonModel/base/BaseState.dart';
import 'package:gm_flutter/commonModel/bean/Pair.dart';
class PlanCompareDetailPage extends StatefulWidget {
List<int> planIds = [];
Map<String, dynamic> params;
PlanCompareDetailPage(this.params) {
this.planIds = params['planIds'];
List<int> _planIds;
PlanCompareDetailPage(Map<String, dynamic> params) {
this._planIds = params["planIds"];
}
@override
State<StatefulWidget> createState() => PlanCompareDetailPageState();
}
......@@ -30,7 +30,7 @@ class PlanCompareDetailPageState extends BaseState<PlanCompareDetailPage> {
@override
void initState() {
super.initState();
_model.init(widget.planIds);
_model.init(widget._planIds);
}
@override
......@@ -62,7 +62,7 @@ class PlanCompareDetailPageState extends BaseState<PlanCompareDetailPage> {
if (data.data == FAIL) {
return errorItem(MediaQuery.of(context).size.width,
MediaQuery.of(context).size.height, () {
_model.init(widget.planIds);
_model.init(widget._planIds);
});
}
if (data.data == LOADING) {
......
......@@ -27,11 +27,17 @@ class _PlansCompareFeedItemViewState
@override
Widget buildItem(BuildContext context) {
return Container(
margin: EdgeInsets.only(left: 15, right: 15), child: getItem());
margin: EdgeInsets.only(left: 15, right: 15),
child: Column(
children: <Widget>[
getItem(),
Divider(height: 0.5, color: Color(0xFF979797))
],
));
}
getItem() {
if (widget.plan.planType == 2) {
if (widget.plan.planType == 1) {
return getFirstLevelItem();
} else {
return getSecondLevelItem();
......@@ -62,7 +68,7 @@ class _PlansCompareFeedItemViewState
Container(
margin: EdgeInsets.only(left: 15, right: 15),
child: ClipRRect(
borderRadius: BorderRadius.circular(2.0),
borderRadius: BorderRadius.circular(4.0),
child: Image.network(
widget.plan.projectImage,
width: 50,
......@@ -82,12 +88,18 @@ class _PlansCompareFeedItemViewState
children: <Widget>[
baseText(widget.plan.name, 14, Color(0xFF282828),
bold: true),
Row(children: <Widget>[
baseText("好评率 ", 11, Color(0xFF282828)),
baseText(
widget.plan.positiveRate, 14, Color(0xFFFF5963),
bold: true)
]),
Text.rich(TextSpan(children: [
TextSpan(
text: "好评率 ",
style: TextStyle(
fontSize: 11, color: Color(0xFF282828))),
TextSpan(
text: widget.plan.positiveRate,
style: TextStyle(
fontSize: 14,
color: Color(0xFFFF5963),
fontWeight: FontWeight.w500))
])),
],
),
),
......
......@@ -98,13 +98,24 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage>
behavior: HitTestBehavior.opaque,
onTap: () => onClickCompare(),
child: Container(
margin: EdgeInsets.only(left: 15, right: 15, top: 7.5, bottom: 7.5),
width: double.maxFinite,
height: 40,
decoration: BoxDecoration(
color: _compareColor, borderRadius: BorderRadius.circular(20)),
alignment: Alignment.center,
child: baseText("对比", 14, Colors.white, bold: true),
color: Colors.white,
child: Column(
mainAxisSize: MainAxisSize.min,
children: <Widget>[
Divider(height: 0.5, color: Color(0xFF979797)),
Container(
margin: EdgeInsets.only(
left: 15, right: 15, top: 7.5, bottom: 7.5),
width: double.maxFinite,
height: 40,
decoration: BoxDecoration(
color: _compareColor,
borderRadius: BorderRadius.circular(20)),
alignment: Alignment.center,
child: baseText("对比", 14, Colors.white, bold: true),
)
],
),
))
]);
}
......@@ -112,9 +123,13 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage>
onClickCompare() {
if (_compareColor == Color(0xFFCCCCCC)) return;
setState(() {
RouterCenterImpl()
.findMainRouter()
.jumpPage(context, "pageName", {"ids": _setCompare}, false);
RouterCenterImpl().findMainRouter().jumpPage(
context,
widget._planType == 1
? "level_one_plan_compare_detail"
: "level_two_plan_compare_deatil",
{"planIds": _setCompare.toList()},
false);
});
}
......
......@@ -23,6 +23,8 @@ import 'package:gm_flutter/main.mark.dart';
import 'package:pull_to_refresh/pull_to_refresh.dart';
class LevelTwoPage extends StatefulWidget {
LevelTwoPage(Map<String, dynamic> params) {}
@override
State<StatefulWidget> createState() => LevelTwoState();
}
......
......@@ -391,7 +391,7 @@ class PlanState extends BaseState<PlanPage> with TickerProviderStateMixin {
Map<String, dynamic> map = {"rank_type": "0"};
RouterCenterImpl()
.findMainRouter()
.jumpPage(context, "clueTop", map, false);
.jumpPage(context, "favor_plan", map, false);
});
},
),
......@@ -416,7 +416,7 @@ class PlanState extends BaseState<PlanPage> with TickerProviderStateMixin {
Map<String, dynamic> map = {"rank_type": "1"};
RouterCenterImpl()
.findMainRouter()
.jumpPage(context, "clueTop", map, false);
.jumpPage(context, "hot_plan", map, false);
});
},
),
......
......@@ -37,14 +37,21 @@ class JumpManager {
Map<String, dynamic> initMap(Map<String, dynamic> params) {
return {
"flutter://clueLevelOne":
"flutter://level_one_plan_detail":
RouterCenterImpl().findClueRouter().getLevelOnePage(params),
"flutter://clueProjectDetails":
"flutter://level_one_plan_instruction":
RouterCenterImpl().findClueRouter().getProjectDetailsPage(params),
"flutter://cluePlansCompareFeed":
"flutter://level_one_plan_compare":
RouterCenterImpl().findClueRouter().getPlansCompareFeed(params),
"flutter://cluePlan": RouterCenterImpl().findClueRouter().getPlanPage(),
"flutter://clueTop": RouterCenterImpl().findClueRouter().getTopPage(params),
"flutter://plan_home": RouterCenterImpl().findClueRouter().getPlanPage(),
"flutter://favor_plan":
RouterCenterImpl().findClueRouter().getTopPage(params),
"flutter://hot_plan":
RouterCenterImpl().findClueRouter().getTopPage(params),
'level_one_plan_compare_detail':
RouterCenterImpl().findClueRouter().getPlanCompareDetailPage(params),
'level_two_plan_compare_deatil':
RouterCenterImpl().findClueRouter().getPlanCompareDetailPage(params),
};
}
}
......@@ -34,20 +34,15 @@ class TestState extends BaseState<TestPage> {
}));
list.add(listItem("二级列表页", () {
JumpUtil.jumpToPageRight(
context, RouterCenterImpl().findClueRouter().getLevelTwoPage());
context, RouterCenterImpl().findClueRouter().getLevelTwoPage({}));
}));
list.add(listItem("方案页面", () {
JumpUtil.jumpToPageRight(
context, RouterCenterImpl().findClueRouter().getPlanPage());
}));
list.add(listItem("对比详情页", () {
RouterCenterImpl().findMainRouter().jumpPage(
context,
"planCompareDetailPage",
{
"planIds": [13, 123]
},
false);
JumpUtil.jumpToPageRight(context,
RouterCenterImpl().findClueRouter().getPlanCompareDetailPage({}));
}));
list.add(listItem("项目说明", () {
JumpUtil.jumpToPageRight(
......
......@@ -58,15 +58,25 @@ class MyApp extends State<MyAppWidget> {
void initState() {
super.initState();
FlutterBoost.singleton.registerPageBuilders({
'clueLevelOne': (pageName, params, _) =>
'plan_home': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getPlanPage(),
'level_one_plan_detail': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getLevelOnePage(params),
'clueProjectDetails': (pageName, params, _) =>
'level_two_plan_deatil': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getLevelTwoPage(params),
'level_one_plan_instruction': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getProjectDetailsPage(params),
'level_two_plan_instruction': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getProjectDetailsPage(params),
'cluePlansCompareFeed': (pageName, params, _) =>
'level_one_plan_compare': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getPlansCompareFeed(params),
'cluePlan': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getPlanPage(),
'clueTop': (pageName, params, _) =>
'level_one_plan_compare_detail': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getPlanCompareDetailPage(params),
'level_two_plan_compare_deatil': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getPlanCompareDetailPage(params),
'favor_plan': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getTopPage(params),
'hot_plan': (pageName, params, _) =>
RouterCenterImpl().findClueRouter().getTopPage(params),
});
FlutterBoost.singleton
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment