diff --git a/src/timemanagerapp/lib/widgets/AutoImportWidget.dart b/src/timemanagerapp/lib/widgets/AutoImportWidget.dart index 4ab4953..1e7a64e 100644 --- a/src/timemanagerapp/lib/widgets/AutoImportWidget.dart +++ b/src/timemanagerapp/lib/widgets/AutoImportWidget.dart @@ -12,11 +12,11 @@ class AutoImportWidget extends StatefulWidget { } class _AutoImportWidgetState extends State { - final CourseController courseController = CourseController.getInstance(); - final TextEditingController stuIdController = TextEditingController(); - final TextEditingController passwordController = TextEditingController(); - final TextEditingController yearController = TextEditingController(); - final TextEditingController termController = TextEditingController(); + late CourseController courseController = CourseController.getInstance(); + late TextEditingController stuIdController = TextEditingController(); + late TextEditingController passwordController = TextEditingController(); + late TextEditingController yearController = TextEditingController(); + late TextEditingController termController = TextEditingController(); bool loading = false; @@ -61,8 +61,21 @@ class _AutoImportWidgetState extends State { } + @override + void initState() { + super.initState(); + yearController = TextEditingController(text:DateTime.now().year.toString()); + if(DateTime.now().month<8) { + termController = TextEditingController(text: '2D:\Myprogramfile\Flutter\TimeManager\src\timemanagerapp\build\app\outputs\flutter-apk'); + }else{ + termController = TextEditingController(text: '1'); + } + } + @override Widget build(BuildContext context) { + + if(loading){ return Scaffold( appBar: AppBar( diff --git a/src/timemanagerapp/lib/widgets/HomeWidget.dart b/src/timemanagerapp/lib/widgets/HomeWidget.dart index 852abad..d803c0a 100644 --- a/src/timemanagerapp/lib/widgets/HomeWidget.dart +++ b/src/timemanagerapp/lib/widgets/HomeWidget.dart @@ -318,7 +318,7 @@ class _HomeWidgetState extends State { setState(() {}); }, ), - if (Setting.isDeveloperButtonVisible) + if (Setting.isDeveloperButtonVisible&&Setting.user!.getRole! >=1 ) ListTile( title: Text('开发者测试'), onTap: () async { diff --git a/src/timemanagerapp/lib/widgets/ManageUserTeamWidget.dart b/src/timemanagerapp/lib/widgets/ManageUserTeamWidget.dart index 57aa756..e94d4bc 100644 --- a/src/timemanagerapp/lib/widgets/ManageUserTeamWidget.dart +++ b/src/timemanagerapp/lib/widgets/ManageUserTeamWidget.dart @@ -140,14 +140,14 @@ class _ManageUserTeamWidgetState extends State { padding: EdgeInsets.all(16.0), child: Column( children: [ - if (team.leaderId == Setting.user!.getId!) + if (team.leaderId == Setting.user!.getId! || Setting.user!.getRole >= 2) TextField( controller: memberIdController, decoration: InputDecoration(labelText: '成员ID'), ), - if (team.leaderId == Setting.user!.getId!) + if (team.leaderId == Setting.user!.getId! || Setting.user!.getRole >= 2) SizedBox(height: 20), - if (team.leaderId == Setting.user!.getId!) + if (team.leaderId == Setting.user!.getId! || Setting.user!.getRole >= 2) ElevatedButton( onPressed: handleInviteButton, child: Text('邀请'), @@ -167,14 +167,14 @@ class _ManageUserTeamWidgetState extends State { ? Colors.black : Colors.orange) ), //如果时团队leader,就是橙色 - trailing: team.leaderId != Setting.user!.getId! - ? null - : IconButton( - icon: Icon(Icons.delete), - onPressed: () { - removeMember(member); - }, - ), + trailing: team.leaderId == Setting.user!.getId! || (team.leaderId != member.getId! && Setting.user!.getRole >= 2) + ? IconButton( + icon: Icon(Icons.delete), + onPressed: () { + removeMember(member); + }, + ) + : null, ); }, ), diff --git a/src/timemanagerapp/lib/widgets/TeamWidget.dart b/src/timemanagerapp/lib/widgets/TeamWidget.dart index 834ed77..6684d28 100644 --- a/src/timemanagerapp/lib/widgets/TeamWidget.dart +++ b/src/timemanagerapp/lib/widgets/TeamWidget.dart @@ -36,6 +36,12 @@ class TeamWidgetState extends State { myTeamList = await teamController.getMyTeamList(); joinTeamList = await teamController.getJoinedTeamList(); + if(Setting.user!.role >= 2){ + //如果是团队管理员,获取团队成员列表 + myTeamList.addAll(joinTeamList); + joinTeamList = []; + } + setState(() { }); } @@ -123,10 +129,12 @@ class TeamWidgetState extends State { }, child: Text('查看团队空闲时间'), ), - SizedBox(height: 10), - ElevatedButton( + if (team.leaderId != Setting.user!.getId!) + SizedBox(height: 10), + if (team.leaderId != Setting.user!.getId!) + ElevatedButton( onPressed: () { - // 导航到查看空团队空闲时间页面 + // 退出团队 Navigator.of(context).pop(); //首先关闭弹窗 teamController.deleteTeamUser(team, Setting.user!.id!).then((value) { futureDo(); @@ -181,9 +189,32 @@ class TeamWidgetState extends State { // 删除团队的功能按键 icon: Icon(Icons.delete), onPressed: () async { - print('删除团队'+ team.getTeamName + ' ' + team.id.toString()); - await teamController.deleteTeam(team); - futureDo(); + showDialog( + context: context, + builder: (BuildContext context) { + return AlertDialog( + title: Text('删除团队'), + content: Text('您确定要删除团队吗?'), + actions: [ + TextButton( + child: Text('取消'), + onPressed: () { + Navigator.of(context).pop(); + }, + ), + TextButton( + child: Text('确定'), + onPressed: () async { + print('删除团队'+ team.getTeamName + ' ' + team.id.toString()); + await teamController.deleteTeam(team); + futureDo(); + Navigator.of(context).pop(); + }, + ), + ], + ); + }, + ); }, ), ], diff --git a/src/timemanagerapp/lib/widgets/TestWidget.dart b/src/timemanagerapp/lib/widgets/TestWidget.dart index 5856350..3420287 100644 --- a/src/timemanagerapp/lib/widgets/TestWidget.dart +++ b/src/timemanagerapp/lib/widgets/TestWidget.dart @@ -377,25 +377,15 @@ class _TestWidgetState extends State { // }, // child: Text('增加团队'), // ), - // ElevatedButton( - // onPressed: () { - // NetWorkController() - // .deleteTeam(2) - // .then((resTeam) { - // showDialog( - // context: context, - // builder: (context) { - // return AlertDialog( - // title: Text('录'), - // content: SingleChildScrollView( - // child: Text(resTeam.toString())), - // ); - // }, - // ); - // }); - // }, - // child: Text('删除团队'), - // ), + ElevatedButton( + onPressed: () { + User user = Setting.user!; + if(user.role == 1) user.role = 2; + else user.role = 1; + Setting.saveUser(user); + }, + child: Text('修改role为2or!2(团队管理员)'), + ), ElevatedButton( onPressed: () { NetWorkController()