Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
G
gm_flutter
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
林生雨
gm_flutter
Commits
826c7070
Commit
826c7070
authored
Jul 06, 2020
by
林生雨
Browse files
Options
Browse Files
Download
Plain Diff
Merge branch 'zcc/flutter' into 'test'
Zcc/flutter See merge request
!11
parents
afd0de6b
1212aedc
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
82 additions
and
64 deletions
+82
-64
ClueRouter.dart
lib/ClueModel/ClueRouter.dart
+2
-2
ClueRouterImpl.dart
lib/ClueModel/ClueRouterImpl.dart
+6
-6
PlansCompareFeedItemView.dart
...Model/page/PlansCompareFeed/PlansCompareFeedItemView.dart
+48
-28
PlansCompareFeedPage.dart
...ClueModel/page/PlansCompareFeed/PlansCompareFeedPage.dart
+11
-6
ProjectDetailsPage.dart
lib/ClueModel/page/ProjectDetails/ProjectDetailsPage.dart
+9
-17
JumpManager.dart
lib/MainRouter/manager/JumpManager.dart
+4
-3
TestPage.dart
lib/MainRouter/page/test/TestPage.dart
+2
-2
No files found.
lib/ClueModel/ClueRouter.dart
View file @
826c7070
...
...
@@ -10,9 +10,9 @@ import 'package:gm_flutter/ClueModel/ClueRouterImpl.dart';
@Router
(
"ClueRouter"
,
ClueRouterImpl
,
true
)
abstract
class
ClueRouter
implements
RouterBaser
{
Widget
getProjectDetailsPage
();
Widget
getProjectDetailsPage
(
Map
<
String
,
dynamic
>
params
);
Widget
getPlansCompareFeed
();
Widget
getPlansCompareFeed
(
Map
<
String
,
dynamic
>
params
);
Widget
getLevelOnePage
(
Map
<
String
,
dynamic
>
params
);
...
...
lib/ClueModel/ClueRouterImpl.dart
View file @
826c7070
...
...
@@ -5,22 +5,22 @@
import
'package:flutter/material.dart'
;
import
'package:flutter/src/widgets/framework.dart'
;
import
'package:gm_flutter/ClueModel/ClueRouter.dart'
;
import
'package:gm_flutter/ClueModel/page/PlanCompareDetail/PlanCompareDetailPage.dart'
;
import
'package:gm_flutter/ClueModel/page/PlansCompareFeed/PlansCompareFeedPage.dart'
;
import
'package:gm_flutter/ClueModel/page/ProjectDetails/ProjectDetailsPage.dart'
;
import
'package:gm_flutter/ClueModel/page/levelOne/LevelOnePage.dart'
;
import
'package:gm_flutter/ClueModel/page/levelTwo/LevelTwoPage.dart'
;
import
'package:gm_flutter/ClueModel/page/plan/PlanPage.dart'
;
import
'package:gm_flutter/ClueModel/page/PlanCompareDetail/PlanCompareDetailPage.dart'
;
import
'package:gm_flutter/ClueModel/page/top/TopPage.dart'
;
class
ClueRouterImpl
implements
ClueRouter
{
@override
Widget
getProjectDetailsPage
()
{
return
ProjectDetailsPage
(
1
);
Widget
getProjectDetailsPage
(
Map
<
String
,
dynamic
>
params
)
{
return
ProjectDetailsPage
(
params
);
}
@override
Widget
getLevelOnePage
(
Map
<
String
,
dynamic
>
params
)
{
Widget
getLevelOnePage
(
Map
<
String
,
dynamic
>
params
)
{
return
LevelOnePage
(
params
);
}
...
...
@@ -30,8 +30,8 @@ class ClueRouterImpl implements ClueRouter {
}
@override
Widget
getPlansCompareFeed
()
{
return
PlansCompareFeedPage
(
123
,
1
);
Widget
getPlansCompareFeed
(
Map
<
String
,
dynamic
>
params
)
{
return
PlansCompareFeedPage
(
params
);
}
@override
...
...
lib/ClueModel/page/PlansCompareFeed/PlansCompareFeedItemView.dart
View file @
826c7070
...
...
@@ -20,11 +20,9 @@ class PlansCompareFeedItemView extends StatefulWidget {
class
_PlansCompareFeedItemViewState
extends
BaseState
<
PlansCompareFeedItemView
>
{
ImageIcon
_checked
=
ImageIcon
(
AssetImage
(
"assets/icon_compare_select.png"
));
ImageIcon
_unchecked
=
ImageIcon
(
AssetImage
(
"assets/icon_compare_unselect.png"
));
ImageIcon
_icon
=
ImageIcon
(
AssetImage
(
"assets/icon_compare_unselect.png"
));
String
_checked
=
"assets/icon_compare_select.png"
;
String
_unchecked
=
"assets/icon_compare_unselect.png"
;
String
_icon
=
"assets/icon_compare_unselect.png"
;
@override
Widget
buildItem
(
BuildContext
context
)
{
...
...
@@ -48,10 +46,19 @@ class _PlansCompareFeedItemViewState
padding:
EdgeInsets
.
only
(
top:
20
,
bottom:
20
),
child:
Row
(
children:
<
Widget
>[
IconButton
(
icon:
_icon
,
onPressed:
()
=>
onClickCheckBox
(
_icon
),
),
GestureDetector
(
behavior:
HitTestBehavior
.
opaque
,
onTap:
()
=>
onClickCheckBox
(
_icon
),
child:
Container
(
alignment:
Alignment
.
center
,
child:
ClipRRect
(
child:
Image
.
asset
(
_icon
,
width:
17
,
height:
17
,
fit:
BoxFit
.
fill
,
)),
)),
Container
(
margin:
EdgeInsets
.
only
(
left:
15
,
right:
15
),
child:
ClipRRect
(
...
...
@@ -64,29 +71,33 @@ class _PlansCompareFeedItemViewState
),
),
),
Container
(
height:
50
,
Expanded
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
<
Widget
>[
Container
(
margin:
EdgeInsets
.
only
(
top:
2
,
bottom:
5
),
margin:
EdgeInsets
.
only
(
top:
2
,
bottom:
8
),
child:
Row
(
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
<
Widget
>[
baseText
(
widget
.
plan
.
name
,
14
,
Color
(
0xFF282828
),
bold:
true
),
baseText
(
" 好评率 "
,
11
,
Color
(
0xFF282828
)),
baseText
(
widget
.
plan
.
positiveRate
,
14
,
Color
(
0xFFFF5963
),
bold:
true
),
Row
(
children:
<
Widget
>[
baseText
(
"好评率 "
,
11
,
Color
(
0xFF282828
)),
baseText
(
widget
.
plan
.
positiveRate
,
14
,
Color
(
0xFFFF5963
),
bold:
true
)
]),
],
),
),
Row
(
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
<
Widget
>[
baseText
(
'¥
${widget.plan.minPrice}
-
${widget.plan.maxPrice}
'
,
13
,
Color
(
0xFFFF5963
)),
baseText
(
" 销量
${widget.plan.salesCount}
"
,
11
,
Color
(
0xFF282828
))
baseText
(
"销量
${widget.plan.salesCount}
"
,
11
,
Color
(
0xFF282828
))
],
)
],
...
...
@@ -105,12 +116,22 @@ class _PlansCompareFeedItemViewState
Container
(
margin:
EdgeInsets
.
only
(
right:
15.0
),
alignment:
Alignment
.
centerLeft
,
child:
IconButton
(
icon:
_icon
,
onPressed:
()
=>
onClickCheckBox
(
_icon
),
),
child:
GestureDetector
(
behavior:
HitTestBehavior
.
opaque
,
onTap:
()
=>
onClickCheckBox
(
_icon
),
child:
Container
(
alignment:
Alignment
.
center
,
child:
ClipRRect
(
child:
Image
.
asset
(
_icon
,
width:
17
,
height:
17
,
fit:
BoxFit
.
fill
,
)),
)),
),
Column
(
Expanded
(
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
<
Widget
>[
Container
(
...
...
@@ -119,24 +140,23 @@ class _PlansCompareFeedItemViewState
bold:
true
),
),
Row
(
mainAxisAlignment:
MainAxisAlignment
.
spaceBetween
,
children:
<
Widget
>[
baseText
(
'¥
${widget.plan.minPrice}
-
${widget.plan.maxPrice}
'
,
13
,
Color
(
0xFFFF5963
)),
Container
(
width:
160
,
alignment:
Alignment
.
centerRight
,
child:
baseText
(
"指导价:¥
${widget.plan.guidePrice}
"
,
11
,
Color
(
0xFF282828
))),
baseText
(
"指导价:¥
${widget.plan.guidePrice}
"
,
11
,
Color
(
0xFF282828
)),
],
),
],
),
)
],
),
);
}
onClickCheckBox
(
ImageIcon
icon
)
{
onClickCheckBox
(
String
icon
)
{
if
(
icon
==
_checked
)
{
_icon
=
_unchecked
;
}
else
{
...
...
lib/ClueModel/page/PlansCompareFeed/PlansCompareFeedPage.dart
View file @
826c7070
...
...
@@ -5,11 +5,11 @@
**/
import
'package:flutter/cupertino.dart'
;
import
'package:flutter/material.dart'
;
import
'package:flutter_boost/flutter_boost.dart'
;
import
'package:gm_flutter/ClueModel/page/PlansCompareFeed/PlansCompareFeedModel.dart'
;
import
'package:gm_flutter/ClueModel/server/entity/PlansCompareFeed.dart'
;
import
'package:gm_flutter/commonModel/base/BaseComponent.dart'
;
import
'package:gm_flutter/commonModel/base/BaseState.dart'
;
import
'package:gm_flutter/main.mark.dart'
;
import
'CallBackCompareItem.dart'
;
import
'PlansCompareFeedItemView.dart'
;
...
...
@@ -18,7 +18,10 @@ class PlansCompareFeedPage extends StatefulWidget {
int
_planType
;
int
_planId
;
PlansCompareFeedPage
(
this
.
_planType
,
this
.
_planId
);
PlansCompareFeedPage
(
Map
<
String
,
dynamic
>
params
)
{
this
.
_planType
=
params
[
"planType"
];
this
.
_planId
=
params
[
"planId"
];
}
@override
State
<
StatefulWidget
>
createState
()
=>
_PlansCompareFeedState
();
...
...
@@ -75,7 +78,9 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage>
}
if
(
item
.
error
!=
0
)
{
return
errorItem
(
MediaQuery
.
of
(
context
).
size
.
width
,
MediaQuery
.
of
(
context
).
size
.
height
,
()
{});
MediaQuery
.
of
(
context
).
size
.
height
,
()
{
_model
.
init
(
widget
.
_planType
,
widget
.
_planId
);
});
}
return
getList
(
item
.
data
.
plans
);
},
...
...
@@ -107,9 +112,9 @@ class _PlansCompareFeedState extends BaseState<PlansCompareFeedPage>
onClickCompare
()
{
if
(
_compareColor
==
Color
(
0xFFCCCCCC
))
return
;
setState
(()
{
Map
<
String
,
dynamic
>
map
=
{};
map
[
"ids"
]
=
_setCompare
;
FlutterBoost
.
singleton
.
open
(
"sample"
,
urlParams:
map
);
RouterCenterImpl
()
.
findMainRouter
()
.
jumpPage
(
context
,
"pageName"
,
{
"ids"
:
_setCompare
},
false
);
});
}
...
...
lib/ClueModel/page/ProjectDetails/ProjectDetailsPage.dart
View file @
826c7070
...
...
@@ -15,7 +15,9 @@ import '../../server/entity/ProjectDetailsItem.dart';
class
ProjectDetailsPage
extends
StatefulWidget
{
int
_planId
;
ProjectDetailsPage
(
this
.
_planId
);
ProjectDetailsPage
(
Map
<
String
,
dynamic
>
params
)
{
this
.
_planId
=
params
[
"planId"
];
}
@override
State
<
StatefulWidget
>
createState
()
=>
_ProjectDetailsState
();
...
...
@@ -62,24 +64,14 @@ class _ProjectDetailsState extends BaseState<ProjectDetailsPage> {
}
ProjectDetailsItem
item
=
data
.
data
;
if
(
item
==
null
||
item
.
data
==
null
||
item
.
data
.
groups
==
null
)
{
return
emptyItem
(
MediaQuery
.
of
(
context
)
.
size
.
width
,
MediaQuery
.
of
(
context
)
.
size
.
height
);
return
emptyItem
(
MediaQuery
.
of
(
context
).
size
.
width
,
MediaQuery
.
of
(
context
).
size
.
height
);
}
if
(
item
.
error
!=
0
)
{
return
errorItem
(
MediaQuery
.
of
(
context
)
.
size
.
width
,
MediaQuery
.
of
(
context
)
.
size
.
height
,
()
{});
return
errorItem
(
MediaQuery
.
of
(
context
).
size
.
width
,
MediaQuery
.
of
(
context
).
size
.
height
,
()
{
_model
.
init
(
widget
.
_planId
);
});
}
return
ListView
.
builder
(
itemCount:
item
.
data
.
groups
.
length
,
...
...
lib/MainRouter/manager/JumpManager.dart
View file @
826c7070
...
...
@@ -35,9 +35,10 @@ class JumpManager {
return
{
"flutter://clueLevelOne"
:
RouterCenterImpl
().
findClueRouter
().
getLevelOnePage
(
params
),
"flutter://cluePlan"
:
RouterCenterImpl
().
findClueRouter
().
getPlanPage
(),
"flutter://clueProjectDetails"
:
RouterCenterImpl
().
findClueRouter
().
getProjectDetailsPage
(
params
),
"flutter://cluePlansCompareFeed"
:
RouterCenterImpl
().
findClueRouter
().
getPlansCompareFeed
(
params
),
};
}
}
lib/MainRouter/page/test/TestPage.dart
View file @
826c7070
...
...
@@ -46,11 +46,11 @@ class TestState extends BaseState<TestPage> {
}));
list
.
add
(
listItem
(
"项目说明"
,
()
{
JumpUtil
.
jumpToPageRight
(
context
,
RouterCenterImpl
().
findClueRouter
().
getProjectDetailsPage
());
context
,
RouterCenterImpl
().
findClueRouter
().
getProjectDetailsPage
(
{
"planId"
:
1
}
));
}));
list
.
add
(
listItem
(
"方案对比"
,
()
{
JumpUtil
.
jumpToPageRight
(
context
,
RouterCenterImpl
().
findClueRouter
().
getPlansCompareFeed
());
context
,
RouterCenterImpl
().
findClueRouter
().
getPlansCompareFeed
(
{
"planId"
:
1
,
"planType"
:
1
}
));
}));
list
.
add
(
listItem
(
"榜单"
,
()
{
JumpUtil
.
jumpToPageRight
(
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment