You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
222 lines
6.6 KiB
Dart
222 lines
6.6 KiB
Dart
import 'package:flutter/material.dart';
|
|
import 'package:flutter_screenutil/flutter_screenutil.dart';
|
|
import 'package:hyzp_ybqx511505_sanjiang_new_area_launche/components/commonFun.dart';
|
|
|
|
import '../../../widget/JdButton.dart';
|
|
|
|
class MyFeedback extends StatefulWidget {
|
|
MyFeedback({Key key}) : super(key: key);
|
|
|
|
_LoginPageState createState() => _LoginPageState();
|
|
}
|
|
|
|
class _LoginPageState extends State<MyFeedback> {
|
|
void initState() {
|
|
// TODO: implement initState
|
|
super.initState();
|
|
}
|
|
|
|
doOK() {
|
|
Navigator.pop(context); //返回
|
|
}
|
|
|
|
int radioSelect = 0;
|
|
String opinionText = '';
|
|
|
|
//监听登录页面销毁的事件
|
|
dispose() {
|
|
super.dispose();
|
|
}
|
|
|
|
Widget getTextField() {
|
|
return Container(
|
|
decoration: new BoxDecoration(
|
|
color: Colors.white,
|
|
borderRadius: BorderRadius.all(Radius.circular(4.0)),
|
|
border: new Border.all(width: 1, color: Colors.blue),
|
|
),
|
|
constraints: BoxConstraints(
|
|
maxHeight: 240.0,
|
|
maxWidth: MediaQuery.of(context).size.width,
|
|
minHeight: 240.0,
|
|
minWidth: MediaQuery.of(context).size.width,
|
|
),
|
|
child: Row(
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
crossAxisAlignment: CrossAxisAlignment.start,
|
|
children: <Widget>[
|
|
SizedBox(width: 10),
|
|
Expanded(
|
|
child: TextField(
|
|
style: TextStyle(fontSize: 16),
|
|
keyboardType: TextInputType.multiline,
|
|
maxLines: null,
|
|
//不限制行数
|
|
decoration: InputDecoration(
|
|
hintText: '請輸入反馈问题的详细描述内容',
|
|
border: InputBorder.none, //TextField去掉下划线
|
|
//border: OutlineInputBorder(),
|
|
),
|
|
onChanged: (val) {
|
|
opinionText = val;
|
|
},
|
|
),
|
|
),
|
|
SizedBox(width: 10),
|
|
],
|
|
),
|
|
);
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
appBar: PreferredSize(
|
|
preferredSize: Size.fromHeight(ScreenUtil().setHeight(173)), // 设置appBar高度
|
|
// 设置appBar高度
|
|
child: AppBar(
|
|
automaticallyImplyLeading: false,
|
|
centerTitle: true,
|
|
titleSpacing: 0.0,
|
|
//设置title的左边距
|
|
flexibleSpace: Container(
|
|
//SizedBox(height: ScreenUtil().statusBarHeight), //显示顶部状态栏
|
|
// SizedBox(height: ScreenUtil().setHeight(10)), //显示顶部状态栏
|
|
padding: EdgeInsets.only(top: ScreenUtil().statusBarHeight), //留出顶部状态栏高度
|
|
child: Container(
|
|
//height: ScreenUtil().setHeight(173),
|
|
decoration: BoxDecoration(
|
|
gradient: LinearGradient(
|
|
begin: Alignment.centerLeft,
|
|
end: Alignment.centerRight,
|
|
colors: [
|
|
Color.fromRGBO(12, 186, 156, 1),
|
|
Color.fromRGBO(39, 127, 235, 1),
|
|
],
|
|
),
|
|
),
|
|
// decoration: BoxDecoration(
|
|
// gradient: LinearGradient(colors: [
|
|
// Color(0xFF0018EB),
|
|
// Color(0xFF01C1D9),
|
|
// ], begin: Alignment.bottomCenter, end: Alignment.topCenter),
|
|
// ),
|
|
),
|
|
),
|
|
title: Padding(
|
|
padding: EdgeInsets.only(left: 0, right: 0),
|
|
child: Row(
|
|
mainAxisAlignment: MainAxisAlignment.start,
|
|
children: [
|
|
getIconAndTextButton(
|
|
iconColor: Colors.white,
|
|
iconData: Icons.chevron_left_outlined,
|
|
onPress: () {
|
|
Navigator.pop(context);
|
|
},
|
|
),
|
|
Expanded(
|
|
child: Text("意见反馈",
|
|
style: TextStyle(color: Colors.white, fontSize: 20),
|
|
textAlign: TextAlign.center,
|
|
overflow: TextOverflow.ellipsis),
|
|
),
|
|
SizedBox(width: 50),
|
|
],
|
|
),
|
|
),
|
|
),
|
|
),
|
|
body: Container(
|
|
padding: EdgeInsets.only(top: 20, bottom: 20, left: 20, right: 20),
|
|
child: ListView(
|
|
children: <Widget>[
|
|
Center(
|
|
child: Container(
|
|
margin: EdgeInsets.only(top: 10),
|
|
height: ScreenUtil().setWidth(160),
|
|
width: ScreenUtil().setWidth(160),
|
|
//child: Image.asset('assets/images/user.png', fit: BoxFit.cover),
|
|
child: Image.asset('assets/images/ybsthbj.png', fit: BoxFit.fitHeight),
|
|
),
|
|
),
|
|
SizedBox(height: 10),
|
|
Text('请选择问题类型'),
|
|
getRadioRow(),
|
|
Text('请輸入问题描述'),
|
|
SizedBox(height: 10),
|
|
getTextField(),
|
|
SizedBox(height: 40),
|
|
JdButton(
|
|
height: 126,
|
|
text: "确认",
|
|
color: Colors.blueAccent,
|
|
onTop: doOK,
|
|
)
|
|
],
|
|
),
|
|
),
|
|
);
|
|
}
|
|
|
|
Widget getRadio(int index) {
|
|
return Container(
|
|
alignment: Alignment(1, -1),
|
|
height: 30,
|
|
width: 30,
|
|
child: Radio(
|
|
value: index,
|
|
onChanged: (v) {
|
|
setState(() {
|
|
radioSelect = v;
|
|
});
|
|
},
|
|
groupValue: radioSelect,
|
|
),
|
|
);
|
|
}
|
|
|
|
Widget getRadioRow() {
|
|
return Row(
|
|
mainAxisAlignment: MainAxisAlignment.center,
|
|
children: <Widget>[
|
|
Text(
|
|
"投诉",
|
|
style: TextStyle(
|
|
color: (0 == radioSelect) ? Colors.blue : null,
|
|
fontWeight: (0 == radioSelect) ? FontWeight.bold : null,
|
|
),
|
|
),
|
|
getRadio(0),
|
|
SizedBox(width: 25),
|
|
Text(
|
|
"故障",
|
|
style: TextStyle(
|
|
color: (1 == radioSelect) ? Colors.blue : null,
|
|
fontWeight: (1 == radioSelect) ? FontWeight.bold : null,
|
|
),
|
|
),
|
|
getRadio(1),
|
|
SizedBox(width: 25),
|
|
Text(
|
|
"建议",
|
|
style: TextStyle(
|
|
color: (2 == radioSelect) ? Colors.blue : null,
|
|
fontWeight: (2 == radioSelect) ? FontWeight.bold : null,
|
|
),
|
|
),
|
|
getRadio(2),
|
|
SizedBox(width: 25),
|
|
Text(
|
|
"其他",
|
|
style: TextStyle(
|
|
color: (3 == radioSelect) ? Colors.blue : null,
|
|
fontWeight: (3 == radioSelect) ? FontWeight.bold : null,
|
|
),
|
|
),
|
|
getRadio(3),
|
|
],
|
|
);
|
|
}
|
|
}
|