From fe6ab0fa032f243b94977f593d3230b9d21567d1 Mon Sep 17 00:00:00 2001
From: xufei <727302827@qq.com>
Date: Wed, 23 Jul 2025 20:14:38 +0800
Subject: [PATCH] =?UTF-8?q?2025.7.23=20=E4=BA=BA=E5=91=98=EF=BC=8C?=
=?UTF-8?q?=E5=B7=A5=E4=BD=9C=E5=AE=89=E6=8E=92=EF=BC=8C=E9=A3=8E=E9=99=A9?=
=?UTF-8?q?=E5=88=86=E5=B8=83=EF=BC=8C=E6=B3=95=E5=BE=8B=E6=B3=95=E8=A7=84?=
=?UTF-8?q?=E5=B7=AE=E8=AF=A6=E6=83=85=E5=92=8C=E9=A2=84=E8=A7=88?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
android/app/src/main/AndroidManifest.xml | 1 +
assets/image/videostart.png | Bin 0 -> 1214 bytes
ios/Runner/Info.plist | 4 +
lib/customWidget/ItemWidgetFactory.dart | 3 +-
lib/customWidget/big_video_viewer.dart | 63 +++
lib/http/ApiService.dart | 155 +++++++
lib/pages/home/home_page.dart | 4 +-
lib/pages/home/low_page.dart | 37 +-
lib/pages/home/risk/riskControl_page.dart | 180 ++++++++-
lib/pages/home/risk/risk_detail_page.dart | 258 ++++++++++--
lib/pages/home/userInfo_page.dart | 56 ++-
lib/pages/home/work/custom_driver_drawer.dart | 300 +++++++++++---
lib/pages/home/work/danger_repair_page.dart | 224 ++++++++++-
lib/pages/home/work/danger_wait_deawer.dart | 252 +++++++++---
.../home/work/danger_wait_list_page.dart | 37 +-
.../home/work/hidden_record_detail_page.dart | 266 ++++++++++++
lib/pages/home/work/laws_list_picker.dart | 169 ++++++++
.../home/work/laws_regulations_page.dart | 358 +++++++++++++++++
lib/pages/home/work/risk_list_picker.dart | 169 ++++++++
lib/pages/home/work/wait_list_picker.dart | 169 ++++++++
lib/pages/home/workSet_page.dart | 188 ++++++++-
lib/tools/tools.dart | 6 +
pubspec.lock | 380 ++++++++++++------
pubspec.yaml | 4 +
24 files changed, 2961 insertions(+), 322 deletions(-)
create mode 100644 assets/image/videostart.png
create mode 100644 lib/customWidget/big_video_viewer.dart
create mode 100644 lib/pages/home/work/hidden_record_detail_page.dart
create mode 100644 lib/pages/home/work/laws_list_picker.dart
create mode 100644 lib/pages/home/work/laws_regulations_page.dart
create mode 100644 lib/pages/home/work/risk_list_picker.dart
create mode 100644 lib/pages/home/work/wait_list_picker.dart
diff --git a/android/app/src/main/AndroidManifest.xml b/android/app/src/main/AndroidManifest.xml
index ae8c781..ae19d87 100644
--- a/android/app/src/main/AndroidManifest.xml
+++ b/android/app/src/main/AndroidManifest.xml
@@ -4,6 +4,7 @@
+
diff --git a/assets/image/videostart.png b/assets/image/videostart.png
new file mode 100644
index 0000000000000000000000000000000000000000..cbdbfa270c9d9f17005c61c484465dfb89388762
GIT binary patch
literal 1214
zcmV;v1VQ_WP)Px(cu7P-RA@uxn@z}7RTPHb7o14s4_E^Sp)?3`qLie8fr45lAr4A3$R9{05gqt9
zQYYFUBvJGO>enD?=0vR=sOZ4YB66ZrzmWqC(x~y0_p*+hdp-A_eeOQ{++%ma$9LiG
zz1Dut*>|6{_I?kM$jod8fVTj=0^m6S&-;IU)}QQt?(d#|{sX|zB>zb>;nKh04%9%U_E{&0enmHhgknnz-FeqxEsK#*ntH0
zzX;$C?cK|-D
z5}<*$-;>-P8YdXo%&r1h7V5a+cGpP05fU>9*v$02oD<@3gl+yJnLXe84x<#<%z1)Mp#XQ@!JP0@#xZrE>oVTSBrcIVl4E5x}T2sJbum8IqgwPP>3TH$GQ))Dinz
zo6o&_fq!kV5NPT;TqLwg93^?gW2nm73*dzWaY9@!B6%|dJ_z7=NUw@*mXo}a^)a)#05b4t6@A4v
zKSc854EU1oMa4Sp?cW8Q1Ao=QyB-;J2k-Hxy|EQEvsnQCP86&VI0ycYgKOij37aio
zB^gRKQrJM?9Jn?BHPv5AF^HVcO#)Vuy)RLqAYfnAX8WQh@MjZ^=Q9DPECGXob9Z}z
zgKtX!Jt1Iid9F#|TrMjE=fGDwxK1zXvI_$K4Zz~MJofk*8aM~8O@2*t@NQezZe0luAN1zm5(I{UGJcEop^K}ORY*g98|TdO38O4?`UuLPU6vu
z)Y3s!D+^T5-4xbIE#Cw1Qwr~)nUJz|brkYovs)3udT_nHGfF(D&
zl_2{2Bs-f6W~Lf9+s{(%+q5l^{3*Xpdp&{d=q`ZIolNzuYTZ%TB*~=;JiZ(8KJCWm
zsKtS`QjgDJnnRDzaj66Ad}(|R#2va#YP(@q^+J{2AW=&jRd=EAebsqovZXew@A|07*qoM6N<$g2g09M*si-
literal 0
HcmV?d00001
diff --git a/ios/Runner/Info.plist b/ios/Runner/Info.plist
index 7b0ffc3..bff5938 100644
--- a/ios/Runner/Info.plist
+++ b/ios/Runner/Info.plist
@@ -55,6 +55,10 @@
app需要访问相册以上传图片
NSUserNotificationsUsageDescription
app需要发送通知提醒重要信息
+ NSLocationWhenInUseUsageDescription
+ 需要位置权限以提供定位服务
+ NSLocationAlwaysUsageDescription
+ 需要位置权限以提供定位服务
UIApplicationSupportsIndirectInputEvents
UILaunchStoryboardName
diff --git a/lib/customWidget/ItemWidgetFactory.dart b/lib/customWidget/ItemWidgetFactory.dart
index 0d1235b..727aac6 100644
--- a/lib/customWidget/ItemWidgetFactory.dart
+++ b/lib/customWidget/ItemWidgetFactory.dart
@@ -1,5 +1,6 @@
import 'package:flutter/material.dart';
+import '../http/ApiService.dart';
import '../tools/tools.dart';
/// 自定义组件
@@ -115,7 +116,7 @@ class ListItemFactory {
spacing: 8, // 水平间距
runSpacing: 8, // 垂直间距
children: List.generate(imageUrls.length, (i) {
- final url = imageUrls[i];
+ final url =ApiService.baseImgPath + imageUrls[i];
Widget img;
if (url.startsWith('http')) {
img = Image.network(
diff --git a/lib/customWidget/big_video_viewer.dart b/lib/customWidget/big_video_viewer.dart
new file mode 100644
index 0000000..9f12746
--- /dev/null
+++ b/lib/customWidget/big_video_viewer.dart
@@ -0,0 +1,63 @@
+import 'package:flutter/material.dart';
+import 'package:photo_view/photo_view.dart';
+import 'package:qhd_prevention/customWidget/video_player_widget.dart';
+import 'package:qhd_prevention/pages/my_appbar.dart';
+import 'package:video_player/video_player.dart';
+// 查看视频
+class BigVideoViewer extends StatefulWidget {
+ const BigVideoViewer({Key? key, required this.videoUrl}) : super(key: key);
+
+ final String videoUrl;
+
+ @override
+ State createState() => _BigVideoViewerState();
+}
+
+class _BigVideoViewerState extends State {
+
+ VideoPlayerController? _videoController;
+
+ @override
+ void initState() {
+ // TODO: implement initState
+ super.initState();
+
+ _videoController?.removeListener(_controllerListener);
+ _videoController?.dispose();
+ _videoController = VideoPlayerController.networkUrl(Uri.parse(widget.videoUrl))
+ ..initialize().then((_) {
+ _videoController!
+ ..play()
+ ..addListener(_controllerListener);
+ });
+ }
+
+ void _controllerListener() {
+ if (mounted) setState(() {});
+ }
+
+ @override
+ void dispose() {
+ _videoController?.dispose();
+ super.dispose();
+ }
+
+ @override
+ Widget build(BuildContext context) {
+
+ return Scaffold(
+ backgroundColor: Colors.black,
+ appBar: MyAppbar(
+ backgroundColor: Colors.transparent, title: '',
+ ),
+ body: Center(
+ child: VideoPlayerWidget(
+ allowSeek: false,
+ controller: _videoController,
+ coverUrl:"",
+ aspectRatio: _videoController?.value.aspectRatio ?? 16/9,
+ ),
+ ),
+ );
+ }
+}
diff --git a/lib/http/ApiService.dart b/lib/http/ApiService.dart
index 4c3916e..68ba1be 100644
--- a/lib/http/ApiService.dart
+++ b/lib/http/ApiService.dart
@@ -838,6 +838,161 @@ U6Hzm1ninpWeE+awIDAQAB
);
}
+ /// 获取隐患记录详情
+ static Future