提交 6f556e57 authored 作者: maodou's avatar maodou

订单评价

上级 a53af941
......@@ -6,13 +6,13 @@ class UserOrderEvaluateController extends GetxController {
late OrderInfoModel orderInfoModel = OrderInfoModel();
String orderNum;
UserOrderEvaluateController(this.orderNum); // 已完成订单
final TextEditingController commentsInput = TextEditingController();
TextEditingController commentsInput = TextEditingController();
late List<TextEditingController> _commentsControllers;
final FocusNode _focusNode = FocusNode();
// 按钮是否可用
bool _enable = false;
bool get enable => _enable;
@override
void onReady() {
getOrderInfo();
......@@ -22,6 +22,10 @@ class UserOrderEvaluateController extends GetxController {
/// 获取订单信息
Future<void> getOrderInfo() async {
orderInfoModel = await MineAPI.getOrderInfo(orderNum: orderNum);
_commentsControllers = List.generate(
orderInfoModel.bookList!.length,
(index) => TextEditingController(text: orderInfoModel.bookList![index].comments.toString()),
);
update();
}
......@@ -35,7 +39,7 @@ class UserOrderEvaluateController extends GetxController {
}
void setCanClick({num double=0}){
if (double > 0 || commentsInput.text!=''){
if (double > 0){
_enable = true;
}
else{
......@@ -44,6 +48,11 @@ class UserOrderEvaluateController extends GetxController {
update();
}
void updateText(String text){
commentsInput =TextEditingController(text: text);
// update();
}
@override
void onClose() {
commentsInput.dispose();
......
......@@ -17,11 +17,14 @@ class UserOrderEvaluatePage extends StatefulWidget {
class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with AutomaticKeepAliveClientMixin{
// late UserOrderEvaluateController myController;
// TextEditingController commentsInput = TextEditingController();
List<OrderEvaluate> orderEvaluates = [];
List<double> ratings = [];
@override
void initState() {
// myController = Get.put(UserOrderEvaluateController(widget.orderNum));
super.initState();
}
......@@ -36,30 +39,35 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
centerTitle: true,
title: const Text('订单评价'),
),
body:(controller.orderInfoModel==null ||controller.orderInfoModel.bookList==null)?
body:
GestureDetector(
onTap: () {
controller._focusNode.unfocus();
},
child: (controller.orderInfoModel==null ||controller.orderInfoModel.bookList==null)?
Container(
alignment: Alignment.center,
child: const CircularProgressIndicator(),):
Column(
children: [
Expanded(
child: Container(child: SingleChildScrollView(
child: SingleChildScrollView(
child: Column(
children: [
ListView.builder(
physics: const NeverScrollableScrollPhysics(),
shrinkWrap: true,
itemBuilder: (BuildContext context, int index) {
return listItem(
controller.orderInfoModel.bookList![index],index,controller
/*orderEvaluates,*//*controllers*/);
},
itemCount:
controller.orderInfoModel.bookList?.length,
itemCount: controller.orderInfoModel.bookList?.length,
),
],
),
),),
),
),
SizedBox(
height: 26.w,
......@@ -84,10 +92,7 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
)
],
),
),
),);
......@@ -95,8 +100,9 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
}
Widget listItem(BookListModel bookListModel,int index,UserOrderEvaluateController myController) {
// myController.updateText(bookListModel.comments.toString());
int indexToUpdate = orderEvaluates.indexWhere((obj) => obj.recordId == bookListModel.recordId);
myController.commentsInput.text =bookListModel.comments.toString();
if(indexToUpdate==-1){
OrderEvaluate evaluate = OrderEvaluate(recordId: bookListModel.recordId,rating: bookListModel.rating,comments: bookListModel.comments);
orderEvaluates.add(evaluate);
......@@ -209,7 +215,6 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
],
),
TextField(
controller: myController.commentsInput,
style:
TextStyle(fontSize: 14.w, color: Colours.c3),
decoration: InputDecoration(
......@@ -223,16 +228,17 @@ class _UserOrderEvaluatePageState extends State<UserOrderEvaluatePage> with Auto
fontSize: 14.w, height: 1.5, color: Colours.c6)),
maxLines: 5,
onChanged: (text){
myController.setCanClick();
orderEvaluates[index].comments=myController.commentsInput.text;
orderEvaluates[index].comments=myController._commentsControllers[index].text;
myController.setCanClick(double:orderEvaluates[index].rating??0);
},
focusNode: myController._focusNode,
// onTap: () {
// // 在文本框获取焦点时,将光标移动到文本末尾
// myController.commentsInput.selection = TextSelection.fromPosition(
// TextPosition(offset: myController.commentsInput.text.length),
// );
// },
controller: myController._commentsControllers[index],
onTap: () {
// 在文本框获取焦点时,将光标移动到文本末尾
myController._commentsControllers[index].selection = TextSelection.fromPosition(
TextPosition(offset: myController._commentsControllers[index].text.length),
);
},
),
......
Markdown 格式
0%
您添加了 0 到此讨论。请谨慎行事。
请先完成此评论的编辑!
注册 或者 后发表评论