Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
L
laki_icu_app
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
张宏
laki_icu_app
Commits
2acc410c
Commit
2acc410c
authored
Jun 22, 2026
by
张宏
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
2222
parent
11226a07
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
45 additions
and
102 deletions
+45
-102
.flutter-plugins-dependencies
.flutter-plugins-dependencies
+0
-0
README.md
README.md
+3
-1
monitoring_alert_card.dart
...views/monitoring/index/widgets/monitoring_alert_card.dart
+36
-3
monitoring_video_card.dart
...views/monitoring/index/widgets/monitoring_video_card.dart
+6
-98
No files found.
.flutter-plugins-dependencies
View file @
2acc410c
This diff is collapsed.
Click to expand it.
README.md
View file @
2acc410c
...
...
@@ -49,4 +49,6 @@ flutter run
## Marionette
用 marionette 连接 ws://127.0.0.1:53101/dllUtkEggcs=/ws,然后截图并列出可交互元素
用 marionette 连接 ws://127.0.0.1:56172/vA41p82i4i0=/ws,然后截图并列出可交互元素
lib/views/monitoring/index/widgets/monitoring_alert_card.dart
View file @
2acc410c
...
...
@@ -15,11 +15,16 @@ class MonitoringAlertCard extends StatelessWidget {
@override
Widget
build
(
BuildContext
context
)
{
return
Container
(
padding:
EdgeInsets
.
zero
,
decoration:
BoxDecoration
(
image:
DecorationImage
(
image:
AssetImage
(
'lib/assets/monitoring/alert_box_bg_2.png'
),
fit:
BoxFit
.
cover
,
fit:
BoxFit
.
fill
,
),
border:
Border
.
all
(
color:
Colors
.
red
,
width:
1
.
w
)
),
// backgroundAsset: alerts.any((item) => item.status.contains('待处理'))
// ? 'lib/assets/monitoring/alert_box_bg_2.png'
...
...
@@ -28,8 +33,18 @@ class MonitoringAlertCard extends StatelessWidget {
child:
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
Container
(
width:
double
.
infinity
,
height:
100
.
h
,
decoration:
BoxDecoration
(
border:
Border
.
all
(
color:
Colors
.
red
,
width:
1
.
w
)
),
),
Expanded
(
child:
alerts
.
isEmpty
?
_buildEmpty
()
:
_buildList
(),
child:
_buildEmpty
()
//
alerts.isEmpty ? _buildEmpty() : _buildList(),
),
],
),
...
...
@@ -55,8 +70,13 @@ class MonitoringAlertCard extends StatelessWidget {
final
item
=
alerts
[
index
];
final
pending
=
item
.
status
.
contains
(
'待处理'
);
return
Container
(
height:
170
.
h
,
padding:
EdgeInsets
.
symmetric
(
horizontal:
16
.
w
,
vertical:
14
.
h
),
decoration:
BoxDecoration
(
border:
Border
.
all
(
width:
1
.
w
,
color:
Colors
.
red
)
// color: pending ? const Color(0x24FFB800) : const Color(0x1820E5FF),
// borderRadius: BorderRadius.circular(14.r),
// border: Border.all(
...
...
@@ -65,7 +85,20 @@ class MonitoringAlertCard extends StatelessWidget {
// width: 1,
// ),
),
child:
Text
(
"s"
),
child:
Column
(
children:
[
Text
(
item
.
title
,
style:
TextStyle
(
color:
Colors
.
white
,
fontSize:
20
.
sp
,
fontWeight:
FontWeight
.
bold
),
),
],
),
);
},
);
...
...
lib/views/monitoring/index/widgets/monitoring_video_card.dart
View file @
2acc410c
...
...
@@ -8,111 +8,19 @@ class MonitoringVideoCard extends StatelessWidget {
@override
Widget
build
(
BuildContext
context
)
{
return
MonitoringPanel
(
backgroundAsset:
'lib/assets/monitoring/box_bg_674x509.png'
,
padding:
EdgeInsets
.
all
(
18
.
w
),
child:
Stack
(
children:
[
Column
(
crossAxisAlignment:
CrossAxisAlignment
.
start
,
children:
[
_buildHeader
(),
SizedBox
(
height:
16
.
h
),
Expanded
(
child:
_buildPreview
()),
],
),
Positioned
(
right:
0
,
bottom:
0
,
child:
_buildSwitch
(),
),
],
),
);
}
Widget
_buildHeader
()
{
return
Row
(
children:
[
Container
(
width:
8
.
w
,
height:
8
.
w
,
decoration:
const
BoxDecoration
(
color:
Color
(
0xFF41FFB0
),
shape:
BoxShape
.
circle
,
),
),
SizedBox
(
width:
8
.
w
),
Text
(
'宠物预览图 / 视频卡片'
,
style:
TextStyle
(
color:
Colors
.
white
,
fontSize:
20
.
sp
,
fontWeight:
FontWeight
.
w600
,
),
),
const
Spacer
(),
Text
(
'LIVE'
,
style:
TextStyle
(
color:
const
Color
(
0xFF41FFB0
),
fontSize:
15
.
sp
,
fontWeight:
FontWeight
.
w700
,
letterSpacing:
1.2
,
),
),
],
);
}
Widget
_buildPreview
()
{
return
Container
(
width:
double
.
infinity
,
decoration:
BoxDecoration
(
borderRadius:
BorderRadius
.
circular
(
16
.
r
),
gradient:
const
LinearGradient
(
begin:
Alignment
.
topCenter
,
end:
Alignment
.
bottomCenter
,
colors:
[
Color
(
0x662665FF
),
Color
(
0x3300164A
)],
),
border:
Border
.
all
(
color:
const
Color
(
0x5539D8FF
),
width:
1
),
),
image:
DecorationImage
(
image:
AssetImage
(
'lib/assets/monitoring/box_bg_674x509.png'
),
fit:
BoxFit
.
fill
),
border:
Border
.
all
(
color:
Colors
.
red
,
width:
1
.
w
)
),
child:
Stack
(
children:
[
Center
(
child:
Icon
(
Icons
.
videocam_outlined
,
color:
const
Color
(
0x889DF5FF
),
size:
70
.
w
,
),
),
Positioned
(
left:
18
.
w
,
bottom:
16
.
h
,
child:
Text
(
'监护舱实时画面'
,
style:
TextStyle
(
color:
Colors
.
white70
,
fontSize:
17
.
sp
),
),
),
],
),
);
}
Widget
_buildSwitch
()
{
return
Row
(
children:
[
Text
(
'监控开关'
,
style:
TextStyle
(
color:
Colors
.
white70
,
fontSize:
15
.
sp
),
),
SizedBox
(
width:
8
.
w
),
Image
.
asset
(
'lib/assets/monitoring/switch_open.png'
,
width:
56
.
w
,
fit:
BoxFit
.
contain
,
),
],
);
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment