Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
B
book-app
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
EzijingWeb
book-app
Commits
498558fc
提交
498558fc
authored
2月 29, 2024
作者:
maodou
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
1.订单评价优化
上级
ae4ca11b
显示空白字符变更
内嵌
并排
正在显示
8 个修改的文件
包含
190 行增加
和
79 行删除
+190
-79
completed.dart
lib/pages/user_order/widgets/completed.dart
+67
-17
list.dart
lib/pages/user_order/widgets/list.dart
+1
-1
search.dart
lib/pages/user_order/widgets/search.dart
+1
-1
controller.dart
lib/pages/user_order_completed/controller.dart
+48
-22
view.dart
lib/pages/user_order_completed/view.dart
+12
-6
controller.dart
lib/pages/user_order_evaluate/controller.dart
+40
-12
index.dart
lib/pages/user_order_evaluate/index.dart
+1
-0
view.dart
lib/pages/user_order_evaluate/view.dart
+20
-20
没有找到文件。
lib/pages/user_order/widgets/completed.dart
浏览文件 @
498558fc
...
@@ -3,17 +3,23 @@ part of user_order;
...
@@ -3,17 +3,23 @@ part of user_order;
/// 已完成item
/// 已完成item
class
BuiltCompleted
extends
StatelessWidget
{
class
BuiltCompleted
extends
StatelessWidget
{
final
OrderListModel
model
;
final
OrderListModel
model
;
final
UserOrderController
controller
;
// final BuildContext context;
// final BuildContext context;
const
BuiltCompleted
({
Key
?
key
,
required
this
.
model
/*,required this.context*/
const
BuiltCompleted
({
Key
?
key
,
required
this
.
model
,
required
this
.
controller
})
})
:
super
(
key:
key
);
:
super
(
key:
key
);
@override
@override
Widget
build
(
BuildContext
context
)
{
Widget
build
(
BuildContext
context
)
{
return
GestureDetector
(
return
GestureDetector
(
onTap:
()
{
context
.
pushNamed
(
Routes
.
orderCompleted
,
queryParameters:
{
'orderNum'
:
model
.
ordersnum
});},
onTap:
()
async
{
final
result
=
await
context
.
pushNamed
(
Routes
.
orderCompleted
,
queryParameters:
{
'orderNum'
:
model
.
ordersnum
});
if
(
result
==
true
)
{
controller
.
onRefresh
();
}
},
child:
Container
(
child:
Container
(
margin:
EdgeInsets
.
only
(
left:
10
.
w
,
right:
10
.
w
,
top:
10
.
w
),
margin:
EdgeInsets
.
only
(
left:
10
.
w
,
right:
10
.
w
,
top:
10
.
w
),
padding:
EdgeInsets
.
only
(
left:
11.5
.
w
,
bottom:
12
.
w
),
padding:
EdgeInsets
.
only
(
left:
11.5
.
w
,
bottom:
12
.
w
),
...
@@ -31,7 +37,6 @@ class BuiltCompleted extends StatelessWidget {
...
@@ -31,7 +37,6 @@ class BuiltCompleted extends StatelessWidget {
),
),
child:
_buildCom
(
context
)),
child:
_buildCom
(
context
)),
);
);
}
}
Widget
_buildCom
(
BuildContext
context
)
{
Widget
_buildCom
(
BuildContext
context
)
{
...
@@ -81,7 +86,7 @@ class BuiltCompleted extends StatelessWidget {
...
@@ -81,7 +86,7 @@ class BuiltCompleted extends StatelessWidget {
],
],
),
),
child:
Image
.
network
(
child:
Image
.
network
(
model
.
cartList
![
0
].
img
??
''
,
model
.
cartList
![
0
].
img
??
''
,
// 用实际图片链接替换
// 用实际图片链接替换
fit:
BoxFit
.
cover
,
fit:
BoxFit
.
cover
,
),
),
...
@@ -130,7 +135,6 @@ class BuiltCompleted extends StatelessWidget {
...
@@ -130,7 +135,6 @@ class BuiltCompleted extends StatelessWidget {
),
),
maxLines:
2
,
maxLines:
2
,
overflow:
TextOverflow
.
ellipsis
,
overflow:
TextOverflow
.
ellipsis
,
),
),
)),
)),
SizedBox
(
height:
22.5
.
w
),
SizedBox
(
height:
22.5
.
w
),
...
@@ -147,7 +151,9 @@ class BuiltCompleted extends StatelessWidget {
...
@@ -147,7 +151,9 @@ class BuiltCompleted extends StatelessWidget {
fontSize:
14
.
w
,
fontSize:
14
.
w
,
),
),
),
),
Align
(
Visibility
(
visible:
judgeComments
()
==
0
?
false
:
true
,
child:
Align
(
alignment:
Alignment
.
centerRight
,
alignment:
Alignment
.
centerRight
,
child:
Container
(
child:
Container
(
padding:
EdgeInsets
.
symmetric
(
horizontal:
12
.
w
),
padding:
EdgeInsets
.
symmetric
(
horizontal:
12
.
w
),
...
@@ -160,16 +166,21 @@ class BuiltCompleted extends StatelessWidget {
...
@@ -160,16 +166,21 @@ class BuiltCompleted extends StatelessWidget {
child:
GestureDetector
(
child:
GestureDetector
(
onTap:
()
{
onTap:
()
{
// print("保存昵称");
// print("保存昵称");
context
.
pushNamed
(
Routes
.
orderEvaluate
,
extra:
OrderInfoModel
(),
queryParameters:
{
'orderNum'
:
model
.
ordersnum
});
context
.
pushNamed
(
Routes
.
orderEvaluate
,
extra:
OrderInfoModel
(),
queryParameters:
{
'orderNum'
:
model
.
ordersnum
});
},
},
child:
Text
(
child:
Text
(
'去评价'
,
judgeComments
()
==
1
?
'去评价'
:
"继续评价"
,
style:
TextStyle
(
style:
TextStyle
(
fontSize:
12
.
w
,
color:
Colours
.
cC31F4C
),
fontSize:
12
.
w
,
color:
Colours
.
cC31F4C
),
)),
)),
),
),
),
),
),
),
),
],
],
),
),
),
),
...
@@ -239,7 +250,7 @@ class BuiltCompleted extends StatelessWidget {
...
@@ -239,7 +250,7 @@ class BuiltCompleted extends StatelessWidget {
],
],
),
),
child:
Image
.
network
(
child:
Image
.
network
(
cartModel
.
img
??
''
,
cartModel
.
img
??
''
,
// 用实际图片链接替换
// 用实际图片链接替换
fit:
BoxFit
.
cover
,
fit:
BoxFit
.
cover
,
),
),
...
@@ -261,7 +272,7 @@ class BuiltCompleted extends StatelessWidget {
...
@@ -261,7 +272,7 @@ class BuiltCompleted extends StatelessWidget {
Padding
(
Padding
(
padding:
EdgeInsets
.
only
(
right:
11
.
w
),
padding:
EdgeInsets
.
only
(
right:
11
.
w
),
child:
Text
(
child:
Text
(
'¥
${model.totalPrice
??
''}
'
,
'¥
${model.totalPrice
??
''}
'
,
style:
TextStyle
(
style:
TextStyle
(
color:
Colours
.
cAB1941
,
color:
Colours
.
cAB1941
,
fontWeight:
Fonts
.
medium
,
fontWeight:
Fonts
.
medium
,
...
@@ -272,7 +283,7 @@ class BuiltCompleted extends StatelessWidget {
...
@@ -272,7 +283,7 @@ class BuiltCompleted extends StatelessWidget {
Padding
(
Padding
(
padding:
EdgeInsets
.
only
(
right:
11
.
w
,
top:
0.5
),
padding:
EdgeInsets
.
only
(
right:
11
.
w
,
top:
0.5
),
child:
Text
(
child:
Text
(
'共
${model.cartList!.isEmpty
?0:
model.cartList?.length}
件'
,
'共
${model.cartList!.isEmpty
? 0 :
model.cartList?.length}
件'
,
style:
TextStyle
(
style:
TextStyle
(
color:
Colours
.
c9
,
color:
Colours
.
c9
,
fontSize:
10
.
w
,
fontSize:
10
.
w
,
...
@@ -282,25 +293,32 @@ class BuiltCompleted extends StatelessWidget {
...
@@ -282,25 +293,32 @@ class BuiltCompleted extends StatelessWidget {
SizedBox
(
SizedBox
(
height:
13.5
.
w
,
height:
13.5
.
w
,
),
),
Container
(
Visibility
(
visible:
judgeComments
()
==
0
?
false
:
true
,
child:
Container
(
height:
23
.
w
,
height:
23
.
w
,
width:
60
.
w
,
width:
60
.
w
,
decoration:
BoxDecoration
(
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
10
.
w
),
borderRadius:
BorderRadius
.
circular
(
10
.
w
),
border:
border:
Border
.
all
(
Border
.
all
(
color:
Colours
.
cC31F4C
,
width:
0.5
.
w
)),
color:
Colours
.
cC31F4C
,
width:
0.5
.
w
)),
child:
Center
(
child:
Center
(
child:
GestureDetector
(
child:
GestureDetector
(
onTap:
()
{
onTap:
()
{
context
.
pushNamed
(
Routes
.
orderEvaluate
,
extra:
OrderInfoModel
(),
queryParameters:
{
'orderNum'
:
model
.
ordersnum
});
context
.
pushNamed
(
Routes
.
orderEvaluate
,
extra:
OrderInfoModel
(),
queryParameters:
{
'orderNum'
:
model
.
ordersnum
});
},
},
child:
Text
(
child:
Text
(
'继续评价'
,
judgeComments
()
==
1
?
'去评价'
:
"继续评价"
,
style:
TextStyle
(
style:
TextStyle
(
fontSize:
10
.
w
,
color:
Colours
.
cC31F4C
),
fontSize:
10
.
w
,
color:
Colours
.
cC31F4C
),
)),
)),
),
),
),
),
),
],
],
),
),
)
)
...
@@ -310,4 +328,36 @@ class BuiltCompleted extends StatelessWidget {
...
@@ -310,4 +328,36 @@ class BuiltCompleted extends StatelessWidget {
),
),
);
);
}
}
/// 判断图书是否已评价,全部评价返回0,全部未评价返回1,部分未评价返回2
int
judgeComments
()
{
Console
.
log
(
'=============judgeComments 开始'
);
// 无图书
if
(
model
.
cartList
==
null
||
model
.
cartList
!.
isEmpty
)
{
Console
.
log
(
'=============judgeComments null 1'
);
return
1
;
}
else
{
List
<
CartListModel
>?
cartList
=
model
.
cartList
;
int
i
=
0
;
for
(
CartListModel
cart
in
cartList
!)
{
if
(
cart
.
rating
==
0
)
{
i
++;
}
}
// 全部已评价
if
(
i
==
0
)
{
Console
.
log
(
'=============judgeComments 0'
);
return
0
;
}
// 全部未评价
if
(
model
.
cartList
!.
length
==
i
)
{
Console
.
log
(
'=============judgeComments 1'
);
return
1
;
}
else
{
Console
.
log
(
'=============judgeComments 2'
);
// 部分未评价
return
2
;
}
}
}
}
}
lib/pages/user_order/widgets/list.dart
浏览文件 @
498558fc
...
@@ -49,7 +49,7 @@ class _BuildListPageState extends State<BuildListPage>
...
@@ -49,7 +49,7 @@ class _BuildListPageState extends State<BuildListPage>
}
else
if
(
model
.
status
==
2
)
{
}
else
if
(
model
.
status
==
2
)
{
return
BuiltCanceled
(
model:
model
,);
return
BuiltCanceled
(
model:
model
,);
}
else
if
(
model
.
status
==
3
)
{
}
else
if
(
model
.
status
==
3
)
{
return
BuiltCompleted
(
model:
model
,);
return
BuiltCompleted
(
model:
model
,
controller:
controller
,
);
}
else
if
(
model
.
status
==
4
)
{
}
else
if
(
model
.
status
==
4
)
{
return
BuiltRefunded
(
model:
model
,);
return
BuiltRefunded
(
model:
model
,);
}
}
...
...
lib/pages/user_order/widgets/search.dart
浏览文件 @
498558fc
...
@@ -63,7 +63,7 @@ class _SearchPageState extends State<OrderSearchPage> {
...
@@ -63,7 +63,7 @@ class _SearchPageState extends State<OrderSearchPage> {
}
else
if
(
model
.
status
==
2
)
{
}
else
if
(
model
.
status
==
2
)
{
return
BuiltCanceled
(
model:
model
,);
return
BuiltCanceled
(
model:
model
,);
}
else
if
(
model
.
status
==
3
)
{
}
else
if
(
model
.
status
==
3
)
{
return
BuiltCompleted
(
model:
model
,);
return
BuiltCompleted
(
model:
model
,
controller:
UserOrderController
(
0
)
);
}
else
if
(
model
.
status
==
4
)
{
}
else
if
(
model
.
status
==
4
)
{
return
BuiltRefunded
(
model:
model
,);
return
BuiltRefunded
(
model:
model
,);
}
}
...
...
lib/pages/user_order_completed/controller.dart
浏览文件 @
498558fc
...
@@ -2,12 +2,15 @@ part of user_order_completed;
...
@@ -2,12 +2,15 @@ part of user_order_completed;
/// 已完成订单
/// 已完成订单
class
UserOrderCompletedController
extends
GetxController
{
class
UserOrderCompletedController
extends
GetxController
{
final
String
orderNum
;
// 订单编号
final
String
orderNum
;
// 订单编号
UserOrderCompletedController
(
this
.
orderNum
);
/*{
UserOrderCompletedController
(
this
.
orderNum
);
/*{
getOrderInfo();
getOrderInfo();
}*/
}*/
late
OrderInfoModel
model
=
OrderInfoModel
();
late
OrderInfoModel
model
=
OrderInfoModel
();
// 应付款、订单编号等
// 应付款、订单编号等
List
<
OrderCompletedModel
>
orderCompleteds
=
[];
List
<
OrderCompletedModel
>
orderCompleteds
=
[];
...
@@ -23,33 +26,56 @@ class UserOrderCompletedController extends GetxController {
...
@@ -23,33 +26,56 @@ class UserOrderCompletedController extends GetxController {
super
.
onReady
();
super
.
onReady
();
}
}
/// 获取订单信息
/// 获取订单信息
void
getOrderInfo
()
async
{
void
getOrderInfo
()
async
{
model
=
await
MineAPI
.
getOrderInfo
(
orderNum:
orderNum
);
model
=
await
MineAPI
.
getOrderInfo
(
orderNum:
orderNum
);
String
payWay
=
''
;
String
payWay
=
''
;
if
(
model
.
payType
==
1
)
{
if
(
model
.
payType
==
1
)
{
payWay
=
'微信'
;
payWay
=
'微信'
;
}
else
if
(
model
.
payType
==
2
)
{
}
else
if
(
model
.
payType
==
2
)
{
payWay
=
'支付宝'
;
payWay
=
'支付宝'
;
}
else
if
(
model
.
payType
==
3
)
{
}
else
if
(
model
.
payType
==
3
)
{
payWay
=
'紫荆币'
;
payWay
=
'紫荆币'
;
}
}
orderCompleteds
=
[
orderCompleteds
=
[
OrderCompletedModel
(
name:
'应付款'
,
value:
model
.
finalTotalPrice
.
toString
(),
OrderCompletedModel
(
other:
(
double
.
parse
(
model
.
totalPrice
.
toString
())-
name:
'应付款'
,
double
.
parse
(
model
.
finalTotalPrice
.
toString
())).
toString
()),
value:
model
.
finalTotalPrice
.
toString
(),
OrderCompletedModel
(
name:
'订单编号'
,
value:
model
.
ordersnum
.
toString
()),
other:
(
double
.
parse
(
model
.
totalPrice
.
toString
())
-
OrderCompletedModel
(
name:
'支付方式'
,
value:
payWay
),
double
.
parse
(
model
.
finalTotalPrice
.
toString
()))
OrderCompletedModel
(
name:
'支付时间'
,
value:
model
.
payTime
.
toString
()),
.
toString
()),
OrderCompletedModel
(
name:
'下单时间'
,
value:
model
.
createTime
.
toString
()),
OrderCompletedModel
(
name:
'订单编号'
,
value:
model
.
ordersnum
.
toString
()),
OrderCompletedModel
(
name:
'支付方式'
,
value:
payWay
),
OrderCompletedModel
(
name:
'支付时间'
,
value:
model
.
payTime
.
toString
()),
OrderCompletedModel
(
name:
'下单时间'
,
value:
model
.
createTime
.
toString
()),
];
];
update
();
update
();
}
}
/// 判断图书是否已评价,全部评价返回0,全部未评价返回1,部分未评价返回2
int
judgeComments
()
{
// 无图书
if
(
model
.
bookList
==
null
||
model
.
bookList
!.
isEmpty
)
{
return
1
;
}
else
{
List
<
BookListModel
>?
bookList
=
model
.
bookList
;
int
i
=
0
;
for
(
BookListModel
book
in
bookList
!)
{
if
(
book
.
rating
==
0
)
{
i
++;
}
}
// 全部已评价
if
(
i
==
0
)
{
return
0
;
}
// 全部未评价
if
(
model
.
bookList
!.
length
==
i
)
{
return
1
;
}
else
{
// 部分未评价
return
2
;
}
}
}
}
}
lib/pages/user_order_completed/view.dart
浏览文件 @
498558fc
...
@@ -206,7 +206,10 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
...
@@ -206,7 +206,10 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
left:
10
.
w
,
right:
10
.
w
,
top:
6
.
w
,
bottom:
13
.
w
),
left:
10
.
w
,
right:
10
.
w
,
top:
6
.
w
,
bottom:
13
.
w
),
height:
1
.
w
,
height:
1
.
w
,
),
),
Align
(
Visibility
(
visible:
controller
.
judgeComments
()
==
0
?
false
:
true
,
// visible: true,
child:
Align
(
alignment:
Alignment
.
centerRight
,
alignment:
Alignment
.
centerRight
,
child:
Padding
(
child:
Padding
(
padding:
EdgeInsets
.
only
(
right:
15.2
),
padding:
EdgeInsets
.
only
(
right:
15.2
),
...
@@ -219,12 +222,13 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
...
@@ -219,12 +222,13 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
color:
Colours
.
cC31F4C
,
width:
0.5
.
w
)),
color:
Colours
.
cC31F4C
,
width:
0.5
.
w
)),
child:
Center
(
child:
Center
(
child:
GestureDetector
(
child:
GestureDetector
(
onTap:
()
{
onTap:
()
async
{
// print("保存昵称");
final
result
=
await
context
.
pushNamed
(
Routes
.
orderEvaluate
,
extra:
controller
.
model
,
context
.
pushNamed
(
Routes
.
orderEvaluate
,
extra:
controller
.
model
,
queryParameters:
{
'orderNum'
:
controller
.
model
.
ordersnum
});
queryParameters:
{
'orderNum'
:
controller
.
model
.
ordersnum
});
if
(
result
==
true
)
{
controller
.
getOrderInfo
();
}
},
},
child:
Text
(
child:
Text
(
controller
.
judgeComments
()
==
1
?
'去评价'
:
"继续评价"
,
'去评价'
,
style:
TextStyle
(
style:
TextStyle
(
fontSize:
12
.
w
,
color:
Colours
.
cC31F4C
),
fontSize:
12
.
w
,
color:
Colours
.
cC31F4C
),
)),
)),
...
@@ -232,6 +236,8 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
...
@@ -232,6 +236,8 @@ class _UserOrderCompletedState extends State<UserOrderCompletedPage> {
),
),
),
),
),
),
),
SizedBox
(
SizedBox
(
height:
14.5
.
w
,
height:
14.5
.
w
,
),
),
...
...
lib/pages/user_order_evaluate/controller.dart
浏览文件 @
498558fc
part of
user_order_evaluate
;
part of
user_order_evaluate
;
/// 订单评价
/// 订单评价
class
UserOrderEvaluateController
extends
GetxController
{
class
UserOrderEvaluateController
extends
GetxController
{
late
OrderInfoModel
orderInfoModel
=
OrderInfoModel
();
late
OrderInfoModel
orderInfoModel
=
OrderInfoModel
();
String
orderNum
;
String
orderNum
;
UserOrderEvaluateController
(
this
.
orderNum
);
// 已完成订单
UserOrderEvaluateController
(
this
.
orderNum
);
// 已完成订单
TextEditingController
commentsInput
=
TextEditingController
();
TextEditingController
commentsInput
=
TextEditingController
();
late
List
<
TextEditingController
>
_commentsControllers
;
late
List
<
TextEditingController
>
_commentsControllers
;
final
FocusNode
_focusNode
=
FocusNode
();
late
List
<
num
?>
ratings
;
late
List
<
FocusNode
?>
focusNodes
;
// final FocusNode _focusNode = FocusNode();
// 按钮是否可用
// 按钮是否可用
bool
_enable
=
false
;
bool
_enable
=
false
;
bool
get
enable
=>
_enable
;
bool
get
enable
=>
_enable
;
@override
@override
...
@@ -24,39 +28,63 @@ class UserOrderEvaluateController extends GetxController {
...
@@ -24,39 +28,63 @@ class UserOrderEvaluateController extends GetxController {
orderInfoModel
=
await
MineAPI
.
getOrderInfo
(
orderNum:
orderNum
);
orderInfoModel
=
await
MineAPI
.
getOrderInfo
(
orderNum:
orderNum
);
_commentsControllers
=
List
.
generate
(
_commentsControllers
=
List
.
generate
(
orderInfoModel
.
bookList
!.
length
,
orderInfoModel
.
bookList
!.
length
,
(
index
)
=>
TextEditingController
(
text:
orderInfoModel
.
bookList
![
index
].
comments
.
toString
()),
(
index
)
=>
TextEditingController
(
text:
orderInfoModel
.
bookList
![
index
].
comments
.
toString
()),
);
ratings
=
List
.
generate
(
orderInfoModel
.
bookList
!.
length
,
(
index
)
=>
orderInfoModel
.
bookList
![
index
].
rating
,
);
focusNodes
=
List
.
generate
(
orderInfoModel
.
bookList
!.
length
,
(
index
)
=>
FocusNode
(),
);
);
update
();
update
();
}
}
/// 上传评价
/// 上传评价
void
UpOrderEvaluate
(
String
evaluate
)
async
{
Future
<
bool
>
UpOrderEvaluate
(
String
evaluate
)
async
{
final
result
=
await
MineAPI
.
UpOrderEvaluate
(
evaluate:
evaluate
);
final
result
=
await
MineAPI
.
UpOrderEvaluate
(
evaluate:
evaluate
);
if
(
result
)
{
if
(
result
)
{
Toast
.
show
(
'评价成功'
);
Toast
.
show
(
'评价成功'
);
update
();
_enable
=
false
;
getOrderInfo
();
}
}
return
result
;
}
}
void
setCanClick
({
num
double
=
0
}){
/// 判断图书是否已评价,评价返回false,未评价返回true
if
(
double
>
0
){
bool
judgeComments
(
BookListModel
bookListModel
)
{
_enable
=
true
;
// 无图书
if
(
bookListModel
.
rating
==
0
)
{
return
true
;
}
return
false
;
}
}
else
{
void
setCanClick
({
num
double
=
0
})
{
if
(
double
>
0
)
{
_enable
=
true
;
}
else
{
_enable
=
false
;
_enable
=
false
;
}
}
update
();
update
();
}
}
void
updateText
(
String
text
){
void
updateText
(
String
text
)
{
commentsInput
=
TextEditingController
(
text:
text
);
commentsInput
=
TextEditingController
(
text:
text
);
// update();
// update();
}
}
@override
@override
void
onClose
()
{
void
onClose
()
{
commentsInput
.
dispose
();
commentsInput
.
dispose
();
_focusNode
.
dispose
();
for
(
TextEditingController
controller
in
_commentsControllers
){
controller
.
dispose
();
}
for
(
int
i
=
0
;
i
<
focusNodes
.
length
;
i
++){
focusNodes
[
i
]!.
dispose
();
}
super
.
onClose
();
super
.
onClose
();
}
}
}
}
lib/pages/user_order_evaluate/index.dart
浏览文件 @
498558fc
...
@@ -11,6 +11,7 @@ import 'package:get/get.dart';
...
@@ -11,6 +11,7 @@ import 'package:get/get.dart';
import
'package:get/get_core/src/get_main.dart'
;
import
'package:get/get_core/src/get_main.dart'
;
import
'package:get/get_state_manager/src/simple/get_controllers.dart'
;
import
'package:get/get_state_manager/src/simple/get_controllers.dart'
;
import
'package:get/get_state_manager/src/simple/get_state.dart'
;
import
'package:get/get_state_manager/src/simple/get_state.dart'
;
import
'package:go_router/go_router.dart'
;
import
'../../apis/index.dart'
;
import
'../../apis/index.dart'
;
import
'../../models/index.dart'
;
import
'../../models/index.dart'
;
...
...
lib/pages/user_order_evaluate/view.dart
浏览文件 @
498558fc
...
@@ -16,23 +16,25 @@ class UserOrderEvaluatePage extends StatefulWidget {
...
@@ -16,23 +16,25 @@ class UserOrderEvaluatePage extends StatefulWidget {
}
}
class
_UserOrderEvaluatePageState
extends
State
<
UserOrderEvaluatePage
>
with
AutomaticKeepAliveClientMixin
{
class
_UserOrderEvaluatePageState
extends
State
<
UserOrderEvaluatePage
>
with
AutomaticKeepAliveClientMixin
{
// late UserOrderEvaluateController myController;
// TextEditingController commentsInput = TextEditingController();
List
<
OrderEvaluate
>
orderEvaluates
=
[];
List
<
OrderEvaluate
>
orderEvaluates
=
[];
List
<
double
>
ratings
=
[];
List
<
double
>
ratings
=
[];
int
_index
=
0
;
// late FocusNode _focusNode;
@override
@override
void
initState
()
{
void
initState
()
{
// myController = Get.put(UserOrderEvaluateController(widget.orderNum));
// myController = Get.put(UserOrderEvaluateController(widget.orderNum));
super
.
initState
();
super
.
initState
();
}
}
@override
@override
Widget
build
(
BuildContext
context
)
{
Widget
build
(
BuildContext
context
)
{
// super.build(context);
// super.build(context);
return
return
WillPopScope
(
GetBuilder
<
UserOrderEvaluateController
>(
onWillPop:
()
async
{
context
.
pop
(
true
);
return
false
;
},
child:
GetBuilder
<
UserOrderEvaluateController
>(
init:
UserOrderEvaluateController
(
widget
.
orderNum
),
init:
UserOrderEvaluateController
(
widget
.
orderNum
),
builder:
(
controller
)
=>
Scaffold
(
builder:
(
controller
)
=>
Scaffold
(
appBar:
AppBar
(
appBar:
AppBar
(
...
@@ -42,7 +44,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
...
@@ -42,7 +44,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
body:
body:
GestureDetector
(
GestureDetector
(
onTap:
()
{
onTap:
()
{
controller
.
_focusNode
.
unfocus
();
controller
.
focusNodes
[
_index
]!
.
unfocus
();
},
},
child:
(
controller
.
orderInfoModel
==
null
||
controller
.
orderInfoModel
.
bookList
==
null
)?
child:
(
controller
.
orderInfoModel
==
null
||
controller
.
orderInfoModel
.
bookList
==
null
)?
Container
(
Container
(
...
@@ -58,7 +60,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
...
@@ -58,7 +60,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
physics:
const
NeverScrollableScrollPhysics
(),
physics:
const
NeverScrollableScrollPhysics
(),
shrinkWrap:
true
,
shrinkWrap:
true
,
itemBuilder:
(
BuildContext
context
,
int
index
)
{
itemBuilder:
(
BuildContext
context
,
int
index
)
{
_index
=
index
;
return
listItem
(
return
listItem
(
controller
.
orderInfoModel
.
bookList
![
index
],
index
,
controller
controller
.
orderInfoModel
.
bookList
![
index
],
index
,
controller
/*orderEvaluates,*//*controllers*/
);
/*orderEvaluates,*//*controllers*/
);
...
@@ -78,7 +80,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
...
@@ -78,7 +80,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
text:
'提交评价'
,
text:
'提交评价'
,
isEnabled:
controller
.
enable
,
isEnabled:
controller
.
enable
,
onPressed:
()
{
onPressed:
()
{
controller
.
_focusNode
.
unfocus
();
controller
.
focusNodes
[
_index
]!
.
unfocus
();
for
(
int
i
=
0
;
i
<
orderEvaluates
.
length
;
i
++){
for
(
int
i
=
0
;
i
<
orderEvaluates
.
length
;
i
++){
// orderEvaluates[i].comments=controllers[i].text.toString();
// orderEvaluates[i].comments=controllers[i].text.toString();
}
}
...
@@ -93,19 +95,17 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
...
@@ -93,19 +95,17 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
],
],
),
),
),
),
),);
),),);
}
}
Widget
listItem
(
BookListModel
bookListModel
,
int
index
,
UserOrderEvaluateController
myController
)
{
Widget
listItem
(
BookListModel
bookListModel
,
int
index
,
UserOrderEvaluateController
myController
)
{
// myController.updateText(bookListModel.comments.toString());
// myController.updateText(bookListModel.comments.toString());
// _focusNode = myController.focusNodes[index]!;
int
indexToUpdate
=
orderEvaluates
.
indexWhere
((
obj
)
=>
obj
.
recordId
==
bookListModel
.
recordId
);
int
indexToUpdate
=
orderEvaluates
.
indexWhere
((
obj
)
=>
obj
.
recordId
==
bookListModel
.
recordId
);
if
(
indexToUpdate
==-
1
){
if
(
indexToUpdate
==-
1
&&
myController
.
judgeComments
(
bookListModel
)
){
OrderEvaluate
evaluate
=
OrderEvaluate
(
recordId:
bookListModel
.
recordId
,
rating:
bookListModel
.
rating
,
comments:
bookListModel
.
comments
);
OrderEvaluate
evaluate
=
OrderEvaluate
(
recordId:
bookListModel
.
recordId
,
rating:
bookListModel
.
rating
,
comments:
bookListModel
.
comments
);
orderEvaluates
.
add
(
evaluate
);
orderEvaluates
.
add
(
evaluate
);
indexToUpdate
=
orderEvaluates
.
length
-
1
;
}
}
return
Container
(
return
Container
(
margin:
margin:
...
@@ -206,7 +206,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
...
@@ -206,7 +206,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
emptyColor:
Colours
.
cE2
,
emptyColor:
Colours
.
cE2
,
),
),
onRating:
(
double
)
{
onRating:
(
double
)
{
orderEvaluates
[
index
].
rating
=
double
;
orderEvaluates
[
index
ToUpdate
].
rating
=
double
;
myController
.
setCanClick
(
double
:
double
);
myController
.
setCanClick
(
double
:
double
);
print
(
double
);
print
(
double
);
},
},
...
@@ -229,12 +229,12 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
...
@@ -229,12 +229,12 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
fontSize:
14
.
w
,
height:
1.5
,
color:
Colours
.
c6
)),
fontSize:
14
.
w
,
height:
1.5
,
color:
Colours
.
c6
)),
maxLines:
5
,
maxLines:
5
,
onChanged:
(
text
){
onChanged:
(
text
){
orderEvaluates
[
index
].
comments
=
myController
.
_commentsControllers
[
index
].
text
;
orderEvaluates
[
index
ToUpdate
].
comments
=
myController
.
_commentsControllers
[
index
].
text
;
myController
.
setCanClick
(
double
:
orderEvaluates
[
index
].
rating
??
0
);
myController
.
setCanClick
(
double
:
orderEvaluates
[
index
ToUpdate
].
rating
??
0
);
},
},
focusNode:
myController
.
_focusNode
,
focusNode:
myController
.
focusNodes
[
index
]
,
controller:
myController
.
_commentsControllers
[
index
],
controller:
myController
.
_commentsControllers
[
index
],
enabled:
myController
.
_commentsControllers
[
index
].
text
.
isEmpty
,
enabled:
myController
.
ratings
[
index
]!>
0
?
false
:
true
,
onTap:
()
{
onTap:
()
{
// 在文本框获取焦点时,将光标移动到文本末尾
// 在文本框获取焦点时,将光标移动到文本末尾
myController
.
_commentsControllers
[
index
].
selection
=
TextSelection
.
fromPosition
(
myController
.
_commentsControllers
[
index
].
selection
=
TextSelection
.
fromPosition
(
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论