跌倒紀錄編號更新

This commit is contained in:
kuei 2024-10-31 01:19:51 +08:00
parent c7cce038aa
commit fbe67b7dd9

View File

@ -3,7 +3,6 @@ import 'package:mysql_client/mysql_client.dart';
import 'package:video_player/video_player.dart';
import 'package:better_player_plus/better_player_plus.dart';
class HistoricalRecord extends StatefulWidget {
final String email; // email
HistoricalRecord({required this.email});
@ -14,6 +13,7 @@ class HistoricalRecord extends StatefulWidget {
class _HistoricalRecordState extends State<HistoricalRecord> {
List<Map<String, dynamic>> _results = [];
int _totalRecords = 0; //
@override
void initState() {
@ -34,21 +34,30 @@ class _HistoricalRecordState extends State<HistoricalRecord> {
await conn.connect();
try {
var userNameResult = await conn.execute(// 使 email來找homeusername
var userNameResult = await conn.execute(
'SELECT homeUserName FROM HomeLogin WHERE homeEmail = :email',
{'email': widget.email},
);
if (userNameResult.rows.isNotEmpty) {
String homeUserName = userNameResult.rows.first.colByName(
"homeUserName").toString();
String homeUserName = userNameResult.rows.first.colByName("homeUserName").toString();
print('homeUserName: $homeUserName');
// homeUserName
//
var countResult = await conn.execute(
'SELECT COUNT(*) AS total FROM HomeElderFall WHERE homeUserName = :homeUserName',
{'homeUserName': homeUserName},
);
if (countResult.rows.isNotEmpty) {
_totalRecords = int.parse(countResult.rows.first.colByName("total").toString());
}
// homeUserName
var fallResult = await conn.execute(
'SELECT HomeElderFall.* FROM HomeElderFall WHERE homeUserName = :homeUserName ORDER BY hfTime DESC',
{'homeUserName': homeUserName},
);
if (fallResult.rows.isEmpty) {
print('No data found in users table.');
} else {
@ -56,9 +65,6 @@ class _HistoricalRecordState extends State<HistoricalRecord> {
_results = fallResult.rows
.map((row) =>
{
//'長者ID': row.colAt(4), //
'跌倒編號': row.colAt(0), // hfId
//'姓名': row.colAt(8),
'跌倒時間': row.colAt(1),
'跌倒原因': row.colAt(2),
'跌倒地點': row.colAt(6),
@ -66,7 +72,7 @@ class _HistoricalRecordState extends State<HistoricalRecord> {
.toList();
});
}
}else {
} else {
setState(() {
_results = [];
});
@ -105,9 +111,10 @@ class _HistoricalRecordState extends State<HistoricalRecord> {
),
)
: ListView.builder(
padding: EdgeInsets.symmetric(vertical: 5), // padding
padding: EdgeInsets.symmetric(vertical: 5), // 調 padding
itemCount: _results.length,
itemBuilder: (context, index) {
int displayIndex = _totalRecords - index; //
return Padding(
padding: const EdgeInsets.symmetric(
vertical: 4.0, horizontal: 16.0),
@ -126,8 +133,7 @@ class _HistoricalRecordState extends State<HistoricalRecord> {
),
child: ListTile(
title: Text(
'紀錄編號: ${_results[index]['跌倒編號']}', // hfId
//_results[index]['姓名'],
'紀錄編號: 第${displayIndex}', // 使
style: TextStyle(
fontWeight: FontWeight.bold,
fontSize: 18,
@ -136,7 +142,7 @@ class _HistoricalRecordState extends State<HistoricalRecord> {
subtitle: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(//'長者ID: ${_results[index]['長者ID']}\n'
Text(
'跌倒時間: ${_results[index]['跌倒時間']}\n'
'跌倒原因: ${_results[index]['跌倒原因']}\n'
'跌倒地點: ${_results[index]['跌倒地點']}\n',
@ -239,21 +245,18 @@ class _FallDetailPageState extends State<FallDetailPage> {
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: Text('詳細資料'),//'${fallDetail['姓名']} 的詳細資料'
title: Text('詳細資料'),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
//Text('長者ID: ${fallDetail['長者ID']}', style: TextStyle(fontSize: 18)),
//SizedBox(height: 10),
Text('跌倒時間: ${widget.fallDetail['跌倒時間']}', style: TextStyle(fontSize: 18)),
SizedBox(height: 10),
Text('跌倒原因: ${widget.fallDetail['跌倒原因']}', style: TextStyle(fontSize: 18)),
SizedBox(height: 10),
Text('跌倒地點: ${widget.fallDetail['跌倒地點']}', style: TextStyle(fontSize: 18)),
//
if (fhvideoId != '') AspectRatio(
aspectRatio: 16 / 9,
child: BetterPlayer(controller: _betterPlayerController),