Browse Source

修改会议记录模版

weicu
tanlongsheng 12 months ago
parent
commit
600c00268c
  1. 84
      lib/modules/meeting/views/template/template_edit_view.dart
  2. 79
      lib/modules/meeting/views/template/template_view.dart

84
lib/modules/meeting/views/template/template_edit_view.dart

@ -0,0 +1,84 @@
import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
class TemplateEditView extends StatefulWidget {
const TemplateEditView({super.key});
@override
State<TemplateEditView> createState() => _TemplateEditViewState();
}
class _TemplateEditViewState extends State<TemplateEditView> {
TextEditingController titleController = TextEditingController();
@override
Widget build(BuildContext context) {
final isDarkMode = Theme.of(context).brightness == Brightness.dark;
return Scaffold(
backgroundColor: isDarkMode ? Colors.black : Colors.grey[50],
appBar: _buildAppBar(isDarkMode),
body: _buildBody(isDarkMode),
);
}
// 构建应用栏
PreferredSizeWidget _buildAppBar(bool isDarkMode) {
return AppBar(
backgroundColor: isDarkMode ? Colors.black : Colors.white,
elevation: 0.5,
leading: IconButton(
icon: Icon(
Icons.arrow_back_ios,
color: isDarkMode ? Colors.white : Colors.black,
size: 20.sp,
),
onPressed: () => Get.back(),
),
title: Text(
'创建模版',
style: TextStyle(
fontSize: 17.sp,
fontWeight: FontWeight.w600,
color: isDarkMode ? Colors.white : Colors.black,
),
),
centerTitle: true,
);
}
// 构建主体内容
Widget _buildBody(bool isDarkMode) {
return Column(
children: [
Expanded(
child: ListView(
children: [],
),
),
Padding(
padding: EdgeInsets.symmetric(horizontal: 12.w, vertical: 20.w),
child: GestureDetector(
onTap: () {},
child: Container(
height: 48.w,
alignment: Alignment.center,
decoration: BoxDecoration(
color: Colors.black,
borderRadius: BorderRadius.circular(12.r),
),
child: Text(
'提交',
style: TextStyle(
fontSize: 16.sp,
color: Colors.white,
),
),
),
),
),
],
);
}
}

79
lib/modules/meeting/views/template/template_view.dart

@ -3,6 +3,7 @@ import 'package:flutter_screenutil/flutter_screenutil.dart';
import 'package:get/get.dart';
import 'template_all_view.dart';
import 'template_edit_view.dart';
class TemplateView extends StatefulWidget {
final Map templateData;
@ -117,7 +118,7 @@ class _TemplateViewState extends State<TemplateView> {
itemCount: _categoryTemplateList.length,
itemBuilder: (BuildContext context, int index) {
Map data = _categoryTemplateList[index];
return _item(data);
return _item(data, index == _categoryTemplateList.length - 1);
},
),
),
@ -148,8 +149,9 @@ class _TemplateViewState extends State<TemplateView> {
);
}
Widget _item(Map data) {
Widget _item(Map data, bool isLast) {
return Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
GestureDetector(
onTap: () {
@ -183,15 +185,27 @@ class _TemplateViewState extends State<TemplateView> {
Container(
height: 150.w,
margin: EdgeInsets.only(bottom: 15.w),
child: ListView.builder(
itemCount: data['template'].length,
scrollDirection: Axis.horizontal,
padding: EdgeInsets.symmetric(horizontal: 8.w),
itemBuilder: (BuildContext context, int index) {
Map template = data['template'][index];
return _template(template);
},
),
child: isLast && data['template'].length == 0
? Padding(
padding: EdgeInsets.symmetric(horizontal: 8.w),
child: _createTemplate(),
)
: ListView.builder(
itemCount: data['template'].length,
scrollDirection: Axis.horizontal,
padding: EdgeInsets.symmetric(horizontal: 8.w),
itemBuilder: (BuildContext context, int index) {
Map template = data['template'][index];
return isLast && index == 0
? Row(
children: [
_createTemplate(),
_template(template),
],
)
: _template(template);
},
),
),
],
);
@ -338,4 +352,47 @@ class _TemplateViewState extends State<TemplateView> {
),
);
}
Widget _createTemplate() {
return GestureDetector(
onTap: () {
Get.to(() => const TemplateEditView());
},
child: Container(
width: 200.w,
margin: EdgeInsets.symmetric(horizontal: 4.w),
clipBehavior: Clip.hardEdge,
decoration: BoxDecoration(
borderRadius: BorderRadius.circular(14.w),
),
child: Container(
color: Colors.white,
child: Column(
mainAxisAlignment: MainAxisAlignment.center,
children: [
Padding(
padding: EdgeInsets.only(top: 5.w),
child: Icon(
Icons.add_circle_outlined,
color: Colors.orange,
size: 30.w,
),
),
Padding(
padding: EdgeInsets.symmetric(vertical: 10.w),
child: Text(
'创建',
style: TextStyle(
fontSize: 16.sp,
color: Colors.black87,
fontWeight: FontWeight.bold,
),
),
),
],
),
),
),
);
}
}

Loading…
Cancel
Save