codernight 1 month ago
parent
commit
4030237094
7 changed files with 455 additions and 190 deletions
  1. 2 2
      common/Config.js
  2. 142 134
      manifest.json
  3. 6 5
      pages/index/index.vue
  4. 43 7
      pages/index/taskDeatils.vue
  5. 33 1
      pages/main/main.vue
  6. 26 17
      pages/risk/risk.vue
  7. 203 24
      pages/risk/riskDetail.vue

+ 2 - 2
common/Config.js

@@ -1,7 +1,7 @@
 export const Config = {
 	// baseUrl: "http://192.1.1.67:8080/zh-admin",
-	baseUrl: "https://wrj.cdzhenghong.com/zh-admin",
-	// baseUrl: "http://60.247.155.214:8001/zh-admin",
+	// baseUrl: "https://wrj.cdzhenghong.com/zh-admin",
+	baseUrl: "http://60.247.155.214:8001/zh-admin",
 	// baseUrl: "http://192.1.1.187:8080/zh-admin",
 }
 export default Config 

+ 142 - 134
manifest.json

@@ -1,135 +1,143 @@
 {
-    "name" : "无人机",
-    "appid" : "__UNI__1E0C199",
-    "description" : "",
-    "versionName" : "1.0.0",
-    "versionCode" : "100",
-    "transformPx" : false,
-    "app-plus" : {
-        /* 5+App特有相关 */
-        "compatible" : {
-            "ignoreVersion" : true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持  
-        },
-        "usingComponents" : true,
-        "nvueCompiler" : "uni-app",
-        "nvueStyleCompiler" : "uni-app",
-        "splashscreen" : {
-            "alwaysShowBeforeRender" : true,
-            "waiting" : true,
-            "autoclose" : true,
-            "delay" : 0
-        },
-        "modules" : {
-            "Camera" : {},
-            "Geolocation" : {},
-            "Maps" : {}
-        },
-        /* 模块配置 */
-        "distribute" : {
-            /* 应用发布信息 */
-            "android" : {
-                /* android打包配置 */
-                "permissions" : [
-                    "<uses-feature android:name=\"android.hardware.camera\"/>",
-                    "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
-                    "<uses-permission android:name=\"android.permission.MANAGE_EXTERNAL_STORAGE\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.FACTORY_TEST\"/>",
-                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_TASKS\"/>",
-                    "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_INPUT_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
-                    "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
-                ],
-                "requestLegacyExternalStorage" : true,
-                "autoSdkPermissions" : true,
-                "abiFilters" : [ "armeabi-v7a", "arm64-v8a", "x86" ],
-                "minSdkVersion" : ""
-            },
-            "ios" : {
-                "dSYMs" : false
-            },
-            /* ios打包配置 */
-            "sdkConfigs" : {
-                "ad" : {},
-                "geolocation" : {
-                    "amap" : {
-                        "__platform__" : [ "ios", "android" ],
-                        "appkey_ios" : "2bb50848fdac3436c0de1efdf976ba92",
-                        "appkey_android" : "2bb50848fdac3436c0de1efdf976ba92"
-                    }
-                },
-                "maps" : {
-                    "amap" : {
-                        "appkey_ios" : "2bb50848fdac3436c0de1efdf976ba92",
-                        "appkey_android" : "2bb50848fdac3436c0de1efdf976ba92"
-                    }
-                }
-            },
-            "icons" : {
-                "android" : {
-                    "hdpi" : "unpackage/res/icons/72x72.png",
-                    "xhdpi" : "unpackage/res/icons/96x96.png",
-                    "xxhdpi" : "unpackage/res/icons/144x144.png",
-                    "xxxhdpi" : "unpackage/res/icons/192x192.png"
-                },
-                "ios" : {
-                    "appstore" : "unpackage/res/icons/1024x1024.png",
-                    "ipad" : {
-                        "app" : "unpackage/res/icons/76x76.png",
-                        "app@2x" : "unpackage/res/icons/152x152.png",
-                        "notification" : "unpackage/res/icons/20x20.png",
-                        "notification@2x" : "unpackage/res/icons/40x40.png",
-                        "proapp@2x" : "unpackage/res/icons/167x167.png",
-                        "settings" : "unpackage/res/icons/29x29.png",
-                        "settings@2x" : "unpackage/res/icons/58x58.png",
-                        "spotlight" : "unpackage/res/icons/40x40.png",
-                        "spotlight@2x" : "unpackage/res/icons/80x80.png"
-                    },
-                    "iphone" : {
-                        "app@2x" : "unpackage/res/icons/120x120.png",
-                        "app@3x" : "unpackage/res/icons/180x180.png",
-                        "notification@2x" : "unpackage/res/icons/40x40.png",
-                        "notification@3x" : "unpackage/res/icons/60x60.png",
-                        "settings@2x" : "unpackage/res/icons/58x58.png",
-                        "settings@3x" : "unpackage/res/icons/87x87.png",
-                        "spotlight@2x" : "unpackage/res/icons/80x80.png",
-                        "spotlight@3x" : "unpackage/res/icons/120x120.png"
-                    }
-                }
-            }
-        },
-        "nativePlugins" : {}
-    },
-    /* SDK配置 */
-    "quickapp" : {},
-    /* 快应用特有相关 */
-    "mp-weixin" : {
-        /* 小程序特有相关 */
-        "appid" : "wx766fc988c8e2d2f3",
-        "setting" : {
-            "urlCheck" : false
-        },
-        "usingComponents" : true,
-        "permission" : {},
-        "unipush" : {
-            "enable" : false
-        }
-    },
-    "vueVersion" : "2",
-    "fallbackLocale" : "zh-Hans",
-    "mp-lark" : {
-        "appid" : "cli_a50808e5447c1013"
-    }
-}
+	"name": "无人机",
+	"appid": "__UNI__1E0C199",
+	"description": "",
+	"versionName": "1.0.0",
+	"versionCode": "100",
+	"transformPx": false,
+	"app-plus": {
+		/* 5+App特有相关 */
+		"compatible": {
+			"ignoreVersion": true //true表示忽略版本检查提示框,HBuilderX1.9.0及以上版本支持  
+		},
+		"usingComponents": true,
+		"nvueCompiler": "uni-app",
+		"nvueStyleCompiler": "uni-app",
+		"splashscreen": {
+			"alwaysShowBeforeRender": true,
+			"waiting": true,
+			"autoclose": true,
+			"delay": 0
+		},
+		"modules": {
+			"Camera": {},
+			"Geolocation": {},
+			"Maps": {}
+		},
+		/* 模块配置 */
+		"distribute": {
+			/* 应用发布信息 */
+			"android": {
+				/* android打包配置 */
+				"permissions": [
+					"<uses-feature android:name=\"android.hardware.camera\"/>",
+					"<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+					"<uses-permission android:name=\"android.permission.MANAGE_EXTERNAL_STORAGE\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CAMERA\"/>",
+					"<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.FACTORY_TEST\"/>",
+					"<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
+					"<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
+					"<uses-permission android:name=\"android.permission.GET_TASKS\"/>",
+					"<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
+					"<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
+					"<uses-permission android:name=\"android.permission.READ_INPUT_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
+					"<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
+					"<uses-permission android:name=\"android.permission.VIBRATE\"/>",
+					"<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
+					"<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
+				],
+				"requestLegacyExternalStorage": true,
+				"autoSdkPermissions": true,
+				"abiFilters": ["armeabi-v7a", "arm64-v8a", "x86"],
+				"minSdkVersion": ""
+			},
+			"ios": {
+				"dSYMs": false
+			},
+			/* ios打包配置 */
+			"sdkConfigs": {
+				"ad": {},
+				"geolocation": {
+					"amap": {
+						"__platform__": ["ios", "android"],
+						"appkey_ios": "2bb50848fdac3436c0de1efdf976ba92",
+						"appkey_android": "2bb50848fdac3436c0de1efdf976ba92"
+					}
+				},
+				"maps": {
+					"amap": {
+						"appkey_ios": "2bb50848fdac3436c0de1efdf976ba92",
+						"appkey_android": "2bb50848fdac3436c0de1efdf976ba92"
+					}
+				}
+			},
+			"icons": {
+				"android": {
+					"hdpi": "unpackage/res/icons/72x72.png",
+					"xhdpi": "unpackage/res/icons/96x96.png",
+					"xxhdpi": "unpackage/res/icons/144x144.png",
+					"xxxhdpi": "unpackage/res/icons/192x192.png"
+				},
+				"ios": {
+					"appstore": "unpackage/res/icons/1024x1024.png",
+					"ipad": {
+						"app": "unpackage/res/icons/76x76.png",
+						"app@2x": "unpackage/res/icons/152x152.png",
+						"notification": "unpackage/res/icons/20x20.png",
+						"notification@2x": "unpackage/res/icons/40x40.png",
+						"proapp@2x": "unpackage/res/icons/167x167.png",
+						"settings": "unpackage/res/icons/29x29.png",
+						"settings@2x": "unpackage/res/icons/58x58.png",
+						"spotlight": "unpackage/res/icons/40x40.png",
+						"spotlight@2x": "unpackage/res/icons/80x80.png"
+					},
+					"iphone": {
+						"app@2x": "unpackage/res/icons/120x120.png",
+						"app@3x": "unpackage/res/icons/180x180.png",
+						"notification@2x": "unpackage/res/icons/40x40.png",
+						"notification@3x": "unpackage/res/icons/60x60.png",
+						"settings@2x": "unpackage/res/icons/58x58.png",
+						"settings@3x": "unpackage/res/icons/87x87.png",
+						"spotlight@2x": "unpackage/res/icons/80x80.png",
+						"spotlight@3x": "unpackage/res/icons/120x120.png"
+					}
+				}
+			}
+		},
+		"nativePlugins": {}
+	},
+	/* SDK配置 */
+	"quickapp": {},
+	/* 快应用特有相关 */
+	"mp-weixin": {
+		/* 小程序特有相关 */
+		"appid": "wx766fc988c8e2d2f3",
+		"setting": {
+			"urlCheck": false
+		},
+
+		"requiredPrivateInfos": [
+			"getLocation"
+		],
+		"usingComponents": true,
+		"permission": {
+			"scope.userLocation": {
+				"desc": "您的位置将用于获取当前位置"
+			}
+		},
+		"unipush": {
+			"enable": false
+		}
+	},
+	"vueVersion": "2",
+	"fallbackLocale": "zh-Hans",
+	"mp-lark": {
+		"appid": "cli_a50808e5447c1013"
+	}
+}

+ 6 - 5
pages/index/index.vue

@@ -42,7 +42,8 @@
 			</view>
 		</view>
 		<scroll-list ref="list" :option="option" @refresh="refresh" @scrolltolower="loadMore">
-			<view class="list-item" v-for="(item, index) in list" :key="index" @click="handleTest(item)">
+			<view class="list-item" v-for="(item, index) in list"
+				:style="{'--isReceivedColor':isReceivedColor[item.isReceived]}" :key="index" @click="handleTest(item)">
 				<view class="main_box">
 					<view class="text">
 						管线名称 :{{item.lineName}}
@@ -81,7 +82,7 @@
 				},
 				showpopup: false,
 				isReceivedColor: {
-					"0": "#CCCCCC", // 灰色 - 未接收
+					"0": "#d07946", // 灰色 - 未接收
 					"1": "#4CAF50", // 绿色 - 已接收
 					"2": "#9E9E9E", // 深灰色 - 已结束
 					"3": "#F44336", // 红色 - 已拒绝
@@ -242,7 +243,7 @@
 
 
 			.text {
-				margin: 5rpx 0;
+				margin: 18rpx 0;
 			}
 		}
 	}
@@ -315,8 +316,8 @@
 		display: block;
 		content: '';
 		width: 6rpx;
-		height: 80rpx;
-		background-color: #037cfe;
+		height: 100rpx;
+		background-color: var(--is-received-color);
 		position: absolute;
 		top: 30%;
 	}

+ 43 - 7
pages/index/taskDeatils.vue

@@ -1,17 +1,40 @@
 <template>
 	<view class="main">
+		<view class="title">
+			任务信息
+		</view>
 		<view class="main_box">
 			<view class="text">
-				管线名称 :{{dataForm.lineName}}
+				<view class="label">
+					管线名称
+				</view>
+				<view class="value">
+					{{dataForm.lineName}}
+				</view>
 			</view>
 			<view class="text">
-				管线单元名称 :{{dataForm.lineUnitName}}
+				<view class="label">
+					管线单元名称
+				</view>
+				<view class="value">
+					{{dataForm.lineUnitName}}
+				</view>
 			</view>
 			<view class="text">
-				单元长度:{{dataForm.totalMileage}}km
+				<view class="label">
+					单元长度
+				</view>
+				<view class="value">
+					{{dataForm.totalMileage}}km
+				</view>
 			</view>
 			<view class="text">
-				创建时间:{{dataForm.createDate}}
+				<view class="label">
+					创建时间
+				</view>
+				<view class="value">
+					{{dataForm.createDate}}
+				</view>
 			</view>
 		</view>
 		<view class="btns">
@@ -150,14 +173,27 @@
 	}
 
 
+	.title {
+		color: #000;
+		font-weight: bold;
+		padding: 10rpx 20rpx;
+	}
 
 	.main_box {
-		padding: 20rpx;
+		background: #fff;
+		padding: 0rpx 20rpx;
+		color: #323233;
 
 		.text {
-			padding: 10rpx 0;
+			display: flex;
+			padding: 21rpx 0;
 			margin: 8rpx 0;
-			border-bottom: 1px solid #000;
+			border-bottom: 1px solid rgb(235, 237, 240);
+			font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Segoe UI, Arial, Roboto, "PingFang SC", "miui", "Hiragino Sans GB", "Microsoft Yahei", sans-serif;
+
+			.label {
+				width: 220rpx;
+			}
 		}
 	}
 </style>

+ 33 - 1
pages/main/main.vue

@@ -12,7 +12,7 @@
 					</span>
 				</view>
 				<view class="txt">
-					{{userInfo.realName}}  <span v-if="userInfo.deptName">({{userInfo.deptName}})</span>
+					{{userInfo.realName}} <span v-if="userInfo.deptName">({{userInfo.deptName}})</span>
 				</view>
 			</view>
 		</view>
@@ -109,6 +109,38 @@
 			// #endif
 		},
 		methods: {
+			getaltitude() {
+				// const key = "74d5aa7c4270effe9a18d9cfa6149abf";
+				// const lat = 39.9; // 指定纬度
+				// const lng = 116.4; // 指定经度
+
+				// wx.request({
+				//   url: `https://apis.map.qq.com/ws/elevation/v1/?locations=${lat},${lng}&key=${key}`,
+				//   method: "GET",
+				//   success: (res) => {
+				//     if (res.data.status === 0) {
+				//       console.log(`海拔:${res.data.result[0].elevation} 米`);
+				//     } else {
+				//       console.error("获取海拔失败", res.data);
+				//     }
+				//   },
+				//   fail: (err) => {
+				//     console.error("请求失败", err);
+				//   }
+				// });
+
+				uni.getLocation({
+					type: 'gcj02',
+					altitude:true,
+					success(res) {
+						console.log(res);
+					},
+					fail(fail) {
+						console.log(fail);
+					}
+				})
+
+			},
 			// 辅助函数,将字节数转换为更友好的格式
 			formatFileSize(bytes) {
 				if (bytes === 0) return '0 Bytes';

+ 26 - 17
pages/risk/risk.vue

@@ -13,7 +13,6 @@
 					mode="date"></u-datetime-picker>
 				<view class="project">
 					<view class="project_box">
-
 						<view class="title">
 							创建开始时间
 						</view>
@@ -65,7 +64,8 @@
 		</view>
 		<scroll-list ref="list" style="margin-top: 10rpx;" :option="option" @refresh="refresh"
 			@scrolltolower="loadMore">
-			<view class="list-item" v-for="(item, index) in list" :key="index" @click="handleTest(item)">
+			<view class="list-item" :class="item.isHandle=='1'?'red':'green'" v-for="(item, index) in list" :key="index"
+				@click="handleTest(item)">
 				<view class="main_box">
 					<view class="text">
 						管线名称 :{{item.lineName}}
@@ -132,17 +132,17 @@
 		onLoad() {
 			// #ifdef MP
 			let that = this
-			uni.showModal({
-				title: '提示',
-				content: '确认进行服务通知提醒系统通知',
-				success: function(res) {
-					if (res.confirm) {
-						that.sureType()
-					} else if (res.cancel) {
-						console.log('用户点击取消');
-					}
-				}
-			});
+			// uni.showModal({
+			// 	title: '提示',
+			// 	content: '确认进行服务通知提醒系统通知',
+			// 	success: function(res) {
+			// 		if (res.confirm) {
+			// 			that.sureType()
+			// 		} else if (res.cancel) {
+			// 			console.log('用户点击取消');
+			// 		}
+			// 	}
+			// });
 			// #endif
 		},
 		onShow() {
@@ -301,7 +301,7 @@
 			background-color: #fff;
 
 			.text {
-				margin: 5rpx 0;
+				margin: 18rpx 0;
 			}
 		}
 	}
@@ -370,12 +370,21 @@
 		}
 	}
 
-	.list-item::after {
+	.list-item.green::after {
+		display: block;
+		content: '';
+		width: 6rpx;
+		height: 120rpx;
+		background-color: #67c23a;
+		position: absolute;
+		top: 30%;
+	}
+	.list-item.red::after {
 		display: block;
 		content: '';
 		width: 6rpx;
-		height: 80rpx;
-		background-color: #037cfe;
+		height: 120rpx;
+		background-color: #f56c6c;
 		position: absolute;
 		top: 30%;
 	}

+ 203 - 24
pages/risk/riskDetail.vue

@@ -1,38 +1,121 @@
 <template>
 	<view class="main">
+		<view class="title">
+			基础信息
+		</view>
 		<view class="main_box">
 			<view class="text">
-				管线名称 :{{dataForm.lineName}}
+				<view class="label">
+					管线名称
+				</view>
+				<view class="value">
+					{{dataForm.lineName}}
+				</view>
 			</view>
 			<view class="text">
-				管线单元名称 :{{dataForm.lineUnitName}}
+				<view class="label">
+					管线单元名称
+				</view>
+				<view class="value">
+					{{dataForm.lineUnitName}}
+				</view>
 			</view>
 			<view class="text">
-				风险类型 :{{dataForm.riskCategory}}
+				<view class="label">
+					风险类型
+				</view>
+				<view class="value">
+					{{dataForm.riskCategory}}
+				</view>
 			</view>
 			<view class="text">
-				处理用户 :{{dataForm.handleUserNames}}
+				<view class="label">
+					处理用户
+				</view>
+				<view class="value">
+					{{dataForm.handleUserNames}}
+				</view>
 			</view>
-			<view class="text" v-if="!dataForm.isHandle">
-				处理意见 :{{dataForm.handleRiskDTO.remarks}}
+
+			<view class="text">
+				<view class="label">
+					风险照片
+				</view>
+				<view class="value">
+					<img @click="privew(dataForm.picUrl)" style="width: 400rpx;height: 300rpx;" :src="dataForm.picUrl"
+						alt="" />
+				</view>
 			</view>
-			<view class="text" v-else>
-				处理意见 : <u--input placeholder="请输入内容" border="none" v-model="dataForm.remarks"></u--input>
+			<view class="text">
+				<view class="label">
+					风险点位置
+				</view>
+				<view class="value">
+					<u-text class="success" type="primary" text="点击前往" @click="topicUrl"></u-text>
+				</view>
 			</view>
-			<view class="text" v-if="dataForm.isHandle">
-				图片 : <u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple
-					:maxCount="10"></u-upload>
+		</view>
+		<view class="title" v-if="dataForm.handleRiskDTO &&dataForm.handleRiskDTO.length>0">
+			处理意见
+		</view>
+		<view class="main_box" v-if="dataForm.handleRiskDTO &&dataForm.handleRiskDTO.length>0">
+			<view class="">
+				<view class="value" v-for="item in dataForm.handleRiskDTO" :key="item.id">
+					<div class="time">{{ item.createDate }}&nbsp;{{ item.createName }}</div>
+					<div class="imgs">
+						<img @click="privew(x.url)" v-for="(x, i) in item.fileList" :src="x.url" :key="x.id"
+							style="width: 100%; height: 170rpx" />
+					</div>
+					<div class="remarks">
+						{{ item.remarks ? item.remarks : "-" }}
+					</div>
+				</view>
 			</view>
+
+		</view>
+		<view class="title">
+			处理信息
+		</view>
+		<view class="main_box" v-if="dataForm.isHandle">
 			<view class="text">
-				风险照片:<img @click="privew" style="width: 400rpx;height: 300rpx;" :src="dataForm.picUrl" alt="" />
+				<view class="label">
+					图片
+				</view>
+				<view class="value">
+					<u-upload :fileList="fileList1" @afterRead="afterRead" @delete="deletePic" name="1" multiple
+						:maxCount="10"></u-upload>
+				</view>
+			</view>
+			<view class="text">
+				<view class="label">
+					风险类型
+				</view>
+				<view class="value" @click='show=true'>
+					<u--input placeholder="请选择" border="none" readonly v-model="dataForm.riskTypeName"></u--input>
+				</view>
+				<u-picker :show="show" :columns="selectData" keyName="dictLabel" @confirm='confirm'
+					@cancel='show=false'></u-picker>
+			</view>
+			<view class="text">
+				<view class="label">
+					处理意见
+				</view>
+				<view class="value">
+					<u--input placeholder="请输入内容" border="none" v-model="dataForm.remarks"></u--input>
+				</view>
 			</view>
 		</view>
 		<selectPeople ref="selectPeople" :checkof="true" v-model:value="dataForm.handleUserId"
 			@selectPeople='selectPeople'>
 		</selectPeople>
+		<view class="" style="height:200rpx">
+
+		</view>
 		<view class="btns">
-			<u-button class="success" v-if="dataForm.isHandle" type="primary" text="提交"
-				@click="completeTaskArrange"></u-button>
+			<u-button class="success" v-if="dataForm.isHandle" type="primary" text="阶段填报"
+				@click="completeTaskArrange(1)"></u-button>
+			<u-button class="success" v-if="dataForm.isHandle" type="primary" text="处理完成"
+				@click="completeTaskArrange(0)"></u-button>
 		</view>
 	</view>
 </template>
@@ -47,9 +130,13 @@
 		data() {
 			return {
 				fileList1: [],
+				selectData: [],
+				show: false,
 				dataForm: {
 					handleUserName: "",
 					remarks: "",
+					riskTypeId: "1897947555707232258",
+					riskTypeName: "正常施工",
 					handleRiskDTO: {
 						remarks: '',
 						handleUserName: '',
@@ -60,11 +147,39 @@
 		onLoad(x) {
 			Object.assign(this.dataForm, JSON.parse(x.data));
 			this.getInfo()
+			this.getInit()
 		},
 		methods: {
-			privew() {
+			confirm(x) {
+				console.log(x);
+				this.dataForm.riskTypeId = x.value[0].id
+				this.dataForm.riskTypeName = x.value[0].dictLabel
+				this.show = false
+			},
+			topicUrl() {
+				// 定义目的地的坐标和名称
+				const latitude = this.dataForm.photoLatitude; // 纬度
+				const longitude = this.dataForm.photoLongitude; // 经度
+				const name = '风险点'; // 地点名称
+				const address = '风险点'; // 地址
+
+				// 调用uni.openLocation方法
+				uni.openLocation({
+					latitude: Number(latitude), // 目标纬度
+					longitude: Number(longitude), // 目标经度
+					name: name, // 地点名称
+					// address: address, // 详细地址
+					success: function() {
+						console.log('成功打开地图');
+					},
+					fail: function(err) {
+						console.error('打开地图失败', err);
+					}
+				});
+			},
+			privew(url) {
 				wx.previewImage({
-					urls: [this.dataForm.picUrl],
+					urls: [url],
 				})
 			},
 			// 删除图片
@@ -126,31 +241,69 @@
 				this.dataForm.handleUserName = this.dataForm.handleUserName.toString()
 				this.dataForm.handleUserId = this.dataForm.handleUserId.toString()
 			},
+			getInit() {
+				this.$api.to_http(`/handle/zhkjwurenjihandlerisk/optionInit`).then((res) => {
+					if (res.data.code != 0) {
+						return uni.$u.toast(res.data.msg)
+					}
+					this.selectData = [res.data.data.options1]
+				})
+			},
 			getInfo() {
 				this.$api.to_http(`/pipe/zhkjwurenjipiperisk/${this.dataForm.id}`).then((res) => {
 					if (res.data.code != 0) {
 						return uni.$u.toast(res.data.msg)
 					}
+					if (res.data.data.handleRiskDTO?.length > 0) {
+						res.data.data.handleRiskDTO.forEach((x) => {
+							if (x.annex) {
+								if (JSON.parse(x.annex)) {
+									x.fileList = JSON.parse(x.annex);
+								} else {
+									x.fileList = [JSON.parse(x.annex)];
+								}
+							}
+						});
+						res.data.data.handleRiskDTO.forEach((x) => {
+							x.preview = [];
+							if (Array.isArray(x.fileList)) {
+								x.fileList.forEach((t) => {
+									x.preview.push(t.url);
+								});
+							} else {
+								x.fileList = [x.fileList];
+								x.preview.push(x.fileList.url);
+							}
+						});
+					}
 					Object.assign(this.dataForm, res.data.data);
+
 				})
 			},
-			completeTaskArrange() {
+			completeTaskArrange(isHandle) {
 				let data = {
 					id: "",
 					pipeRiskId: 0,
 					handleUserName: "",
+					riskTypeId: "",
+					riskTypeName: "",
 					handleUserId: "",
 					remarks: "",
+					isHandle,
 					annex: []
 				};
 				data.pipeRiskId = this.dataForm.id;
 				data.handleUserName = this.dataForm.handleUserNames;
 				data.handleUserId = this.dataForm.handleUserIds;
 				data.remarks = this.dataForm.remarks;
-				this.fileList1.forEach((x) => {
-					data.annex.push(JSON.stringify(x.url))
-				})
-				data.annex = data.annex.toString()
+				data.riskTypeId = this.dataForm.riskTypeId;
+				data.riskTypeName = this.dataForm.riskTypeName;
+
+				let filedata = [];
+				this.fileList1.forEach((x, i) => {
+					filedata.push(x.url);
+				});
+				data.annex = JSON.stringify(filedata);
 				this.$api.to_http(`/handle/zhkjwurenjihandlerisk`, data, 'POST')
 					.then((res) => {
 						if (res.data.code != 0) {
@@ -176,6 +329,10 @@
 		position: fixed;
 		width: 100%;
 		bottom: 1%;
+		display: grid;
+		grid-gap: 20rpx;
+		grid-template-columns: 1fr 1fr;
+		z-index: 2;
 	}
 
 	.success {
@@ -184,14 +341,36 @@
 		bottom: 1%;
 	}
 
+	.title {
+		color: #000;
+		font-weight: bold;
+		padding: 10rpx 20rpx;
+	}
+
 	.main_box {
-		padding: 20rpx;
+		background: #fff;
+		padding: 0rpx 20rpx;
+		color: #323233;
+
+		.imgs {
+			display: grid;
+			grid-gap: 20rpx;
+			grid-template-columns: 1fr 1fr 1fr 1fr;
+			image{
+				border-radius: 20rpx;
+			}
+		}
 
 		.text {
 			display: flex;
-			padding: 10rpx 0;
+			padding: 21rpx 0;
 			margin: 8rpx 0;
-			border-bottom: 1px solid #000;
+			border-bottom: 1px solid rgb(235, 237, 240);
+			font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", Helvetica, Segoe UI, Arial, Roboto, "PingFang SC", "miui", "Hiragino Sans GB", "Microsoft Yahei", sans-serif;
+
+			.label {
+				width: 220rpx;
+			}
 		}
 	}
 </style>