提交 69ec597e authored 作者: yueweilu's avatar yueweilu

Merge remote-tracking branch 'origin/test' into test

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