Quellcode durchsuchen

云服务-巡检工单功能开发

dylan vor 2 Jahren
Ursprung
Commit
c3678547bc

+ 5 - 5
api/home.js

@@ -1,15 +1,15 @@
 const navButtons = [
 	{
-		name: '运维工单',
+		name: '工单管理',
 		img: '/static/images/home/order.png',
-		url: '/pages/check-order/checkorderlist',
+		url: '/pages/check-order/check-order-manage',
 		badge: false,
 		value: 0,
 	},
 	{
-		name: '设备巡检',
+		name: '巡检管理',
 		img: '/static/images/home/inspection.png',
-		url: '/pages/equipment-inspection/inspectionlist',
+		url: '/pages/equipment-inspection/inspection-manage',
 		badge: false,
 		value: 0,
 	},
@@ -47,7 +47,7 @@ const navButtons = [
 const sysAdminNavButton = [true,false,false,false,true,false];
 
 //获取盟市管理员导航按钮
-const orgAdminNavButton = [true,false,false,false,true,false];
+const orgAdminNavButton = [true,true,false,false,true,false];
 
 //获取运维公司管理员导航按钮
 const companyAdminNavButton = [true,true,true,true,true,false];

+ 6 - 6
common/setting.js

@@ -15,13 +15,13 @@ module.exports = {
 	// 开发环境接口Url
 	devUrl: 'http://127.0.0.1:50004',
 	// 生产环境
-	oss: 'https://wx.dahengsi.com:30001/oss/galaxy/',
-	imgPath: 'https://wx.dahengsi.com:30001/img/',
-	prodUrl: 'https://wx.dahengsi.com:30001/api',
+	// oss: 'https://wx.dahengsi.com:30001/oss/galaxy/',
+	// imgPath: 'https://wx.dahengsi.com:30001/img/',
+	// prodUrl: 'https://wx.dahengsi.com:30001/api',
 	// 测试环境
-	// oss: 'https://wx.dahengsi.com:44301/oss/galaxy/',
-	// imgPath: 'https://wx.dahengsi.com:44301/img/',
-	// prodUrl: 'https://wx.dahengsi.com:44301/api',
+	oss: 'https://wx.dahengsi.com:44301/oss/galaxy/',
+	imgPath: 'https://wx.dahengsi.com:44301/img/',
+	prodUrl: 'https://wx.dahengsi.com:44301/api',
 	// 后端数据的接收方式application/json;charset=UTF-8或者application/x-www-form-urlencoded;charset=UTF-8
 	contentType: 'application/json;charset=UTF-8',
 	// 后端返回状态码

+ 39 - 6
pages.json

@@ -52,6 +52,22 @@
 				"navigationStyle": "custom"
 			}
 		},
+		{
+			"path": "pages/check-order/order-advertising",
+			"style": {
+				"navigationBarTitleText": "工单登录",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/equipment-inspection/inspection-advertising",
+			"style": {
+				"navigationBarTitleText": "巡检登录",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
 		{
 			"path": "pages/map/maplocation",
 			"style": {
@@ -69,7 +85,7 @@
 			}
 		},
 		{
-			"path": "pages/check-order/checkorderlist",
+			"path": "pages/check-order/check-order-manage",
 			"style": {
 				"navigationBarTitleText": "维修任务",
 				"enablePullDownRefresh": false,
@@ -77,7 +93,7 @@
 			}
 		},
 		{
-			"path": "pages/check-order/orderadd",
+			"path": "pages/check-order/order-add",
 			"style": {
 				"navigationBarTitleText": "添加工单",
 				"enablePullDownRefresh": false,
@@ -93,7 +109,7 @@
 			}
 		},
 		{
-			"path": "pages/check-order/ordercloseapprove",
+			"path": "pages/check-order/order-close-approve",
 			"style": {
 				"navigationBarTitleText": "工单完结审批",
 				"enablePullDownRefresh": false,
@@ -209,7 +225,7 @@
 
 		},
 		{
-			"path": "pages/check-order/orderconfirm",
+			"path": "pages/check-order/order-confirm",
 			"style": {
 				"navigationBarTitleText": "维修任务确认",
 				"enablePullDownRefresh": false,
@@ -259,7 +275,15 @@
 			}
 		},
 		{
-			"path": "pages/equipment-inspection/inspectionlist",
+			"path": "pages/equipment-inspection/inspection-plan",
+			"style": {
+				"navigationBarTitleText": "巡检计划",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/equipment-inspection/inspection-manage",
 			"style": {
 				"navigationBarTitleText": "待巡检设备",
 				"enablePullDownRefresh": false,
@@ -291,7 +315,7 @@
 			}
 		},
 		{
-			"path": "pages/equipment-inspection/equipmentinspectionreport",
+			"path": "pages/equipment-inspection/equipment-inspection-report",
 			"style": {
 				"navigationBarTitleText": "设备巡检填报",
 				"enablePullDownRefresh": false,
@@ -360,6 +384,15 @@
 				"navigationStyle": "custom"
 			}
 
+		},
+		{
+			"path": "pages/equipment-inspection/inspection-close-approve",
+			"style": {
+				"navigationBarTitleText": "巡检完结审批",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		
 		},
 		{
 			"path": "pages/rtu-manage/rtumanage",

+ 16 - 33
pages/check-order/checkorderlist.vue → pages/check-order/check-order-manage.vue

@@ -15,12 +15,9 @@
 			</view>
 		</uni-nav-bar>
 		<view class="container">
-			<view v-if="permission.orgAdmin || (permission.companyServciePerson && postName=='servicePerson')"
-				class="view-flex-inline-center">
-				<view style="width: 90%;margin-top: 20px;margin-bottom: 20px;">
-					<button type="warn" @click="onCreateOrderClick">立即发起工单</button>
-				</view>
-			</view>
+            <uni-section title="工单统计" type="circle">
+				
+			</uni-section>
 			<uni-section title="工单查询" type="circle">
 				<view class="search-block">
 					<view style="margin-top: 10px;padding-left: 0px;padding-right: 0px;">
@@ -36,17 +33,10 @@
 			</uni-section>
 			<uni-section title="工单列表信息" type="circle">
 				<uni-list>
-					<uni-list-item v-for="item in list" :key="item.id" direction="column">
+					<uni-list-item v-for="item in list" :key="item.id" showArrow clickable
+							@click="toOrderProcessDetail(item)">
 						<template v-slot:body>
 							<view class="list-item-block">
-								<view class="line">
-									<uni-icons class="input-uni-icon" type="gear" size="18" color="lightblue" />
-									<view v-if="item.orderType==1" class="text" style="color: gray;">工单类型:<span
-											style="margin-left: 5px;color: cornflowerblue;">维修工单</span></view>
-									<view v-else-if="item.orderType==2" class="text" style="color: gray;">工单类型:<span
-											style="margin-left: 5px;color: cornflowerblue;">服务工单</span></view>
-									<view v-else></view>
-								</view>
 								<view class="line">
 									<uni-icons class="input-uni-icon" type="refresh" size="18" color="lightblue" />
 									<view class="text" style="color: gray;">工单状态:<span
@@ -55,30 +45,23 @@
 								</view>
 								<view class="line">
 									<uni-icons class="input-uni-icon" type="personadd" size="18" color="lightblue" />
-									<view class="text" style="color: gray;">工单发起人:<span
+									<view class="text" style="color: gray;">创建人:<span
 											style="margin-left: 10px;color: cornflowerblue;">{{item.createOrderPersonName}}</span>
 									</view>
 								</view>
 								<view class="line">
 									<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
-									<view class="text" style="color: gray;">发起时间:<span
+									<view class="text" style="color: gray;">创建时间:<span
 											style="margin-left: 10px;color: cornflowerblue;">{{item.createTime}}</span>
 									</view>
 								</view>
-								<view v-if="item.orderType==1" class="line">
+								<view class="line">
 									<uni-icons class="input-uni-icon" type="help" size="18" color="lightblue" />
 									<view class="text text-ellipsis" style="color: gray;width: 90%;"
 										@click="toOrderProcessDetail(item)">故障问题描述:<span class="text-underline"
 											style="margin-left: 10px;color: cornflowerblue;">{{item.orderDesc}}</span>
 									</view>
 								</view>
-								<view v-else class="line">
-									<uni-icons class="input-uni-icon" type="help" size="18" color="lightblue" />
-									<view class="text text-ellipsis" style="color: gray;width: 90%;"
-										@click="toOrderProcessDetail(item)">服务内容描述:<span class="text-underline"
-											style="margin-left: 10px;color: cornflowerblue;">{{item.orderDesc}}</span>
-									</view>
-								</view>
 							</view>
 						</template>
 					</uni-list-item>
@@ -104,7 +87,7 @@
 		components: {},
 		data() {
 			return {
-				title: '运维工单',
+				title: '工单管理',
 				permission: {
 					'admin': false,
 					'orgAdmin': false,
@@ -117,15 +100,15 @@
 				orderStatusItems: [{
 					'value': 0,
 					'text': '全部'
+				}, {
+					'value': 1,
+					'text': '未接工单'
 				}, {
 					'value': 2,
 					'text': '待处理工单'
-				}, {
-					'value': 4,
-					'text': '费用待审批工单'
-				}, {
+				},  {
 					'value': 6,
-					'text': '完结审批工单'
+					'text': '待完结审批工单'
 				}, {
 					'value': 7,
 					'text': '工单完结'
@@ -280,7 +263,7 @@
 				}
 			},
 			onCreateOrderClick() {
-				let url = '/pages/check-order/orderadd';
+				let url = '/pages/check-order/order-add';
 				uni.navigateTo({
 					url: url
 				})
@@ -389,7 +372,7 @@
 			},
 			onComfireCheckOrderClick(id) {
 				let url =
-					'/pages/check-order/orderconfirm?id=' + id;
+					'/pages/check-order/order-confirm?id=' + id;
 				uni.navigateTo({
 					url: url
 				})

+ 1 - 1
pages/check-order/companycheckorderlist.vue

@@ -236,7 +236,7 @@
 			},
 			onComfireCheckOrderClick(id) {
 				let url =
-					'/pages/check-order/orderconfirm?id=' + id;
+					'/pages/check-order/order-confirm?id=' + id;
 				uni.navigateTo({
 					url: url
 				})

+ 1 - 1
pages/check-order/completedcheckorderlist.vue

@@ -286,7 +286,7 @@
 			},
 			onComfireCheckOrderClick(id) {
 				let url =
-					'/pages/check-order/orderconfirm?id=' + id;
+					'/pages/check-order/order-confirm?id=' + id;
 				uni.navigateTo({
 					url: url
 				})

+ 441 - 441
pages/check-order/orderadd.vue → pages/check-order/order-add.vue

@@ -1,442 +1,442 @@
-<!--
- * @Title: 
- * @Description: 工单创建
- * @Author: swp
- * @Date: 2022-08-24 10:49:21
- * @LastEditors: 
- * @LastEditTime: 2022-08-24 10:49:21
--->
-<template>
-	<view class="container">
-		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
-			@clickLeft="toBack">
-			<view style="width: 100%;display: flex;flex-direction: row;justify-content: center;align-items: center;">
-				<text style="color: white;font-size: 1rem;">{{title}}</text>
-			</view>
-		</uni-nav-bar>
-		<uni-forms ref="baseForm" :model="formData" :rules="rules">
-			<uni-group>
-				</uni-forms-item>
-				<view class="view-flex-inline">
-					<text style="color: black;font-size: 1rem;margin-bottom: 10px;">工单描述</text>
-				</view>
-				<uni-forms-item name='orderDesc' label-width="0px" required>
-					<uni-easyinput :styles="styles" type="textarea" :autoHeight="true" v-model="formData.orderDesc"
-						placeholder="录入工单描述内容" />
-				</uni-forms-item>
-			</uni-group>
-			<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
-				<view class="view-flex-rs-flex-wrap">
-					<view v-for="(item, index) in orderPhotos" :key="index" class="view-flex-cc" style="width: 80px;">
-						<view class="img-container">
-							<view class="note-image-box">
-								<view class="note-image-item">
-									<view class="close-icon" @click="onPhotoDel(index)">
-										<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-									</view>
-									<view class="image-box">
-										<image :src="toOss(item)" mode="widthFix">
-										</image>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-					<view class="view-flex-cc" style="width: 80px;">
-						<view class="img-container">
-							<view class="note-image-box">
-								<view class="note-image-item" @click="onCheckPhotoAdd()">
-									<view class="image-box">
-										<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</uni-card>
-			<uni-card title="拍摄视频" extra="点击下方按钮开始拍摄" :is-shadow="false">
-				<view class="view-flex-rs-flex-wrap">
-					<view v-for="(item, index) in orderVideos" :key="index" class="view-flex-cc" style="width: 80px;">
-						<view class="img-container">
-							<view class="note-image-box">
-								<view class="note-image-item">
-									<view class="close-icon" @click="onVideoDel(index)">
-										<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-									</view>
-									<view class="image-box">
-										<image :src="videoImg" mode="widthFix" @click="openVideo(item)">
-										</image>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-					<view class="view-flex-cc" style="width: 80px;">
-						<view class="img-container">
-							<view class="note-image-box">
-								<view class="note-image-item" @click="onCheckVideoAdd()">
-									<view class="image-box">
-										<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-			</uni-card>
-			<uni-card title="指定人员" :is-shadow="false"> 
-				 <view class="view-flex-inline" style="height: 40px;">
-				 	<text v-if="formData.taskOwnerName"
-				 		style="color: gray;font-size: 0.8rem;padding-left: 0px">已选择人员:【{{formData.taskOwnerName}}】</text>
-				 	
-				 </view>
-			      <view class="item-button-group">
-			      	<view class="item-button mid-size" @click="onTaskOwnerSelectClick()">
-			      		<view class="items-line">
-			      			<uni-icons class="input-uni-icon" type="map-pin-ellipse" size="18" color="coral" />
-			      			<text class="button-text">选择</text>
-			      		</view>
-			      	</view>
-			      </view>
-			</uni-card>
-			<uni-card title="时限设定" :is-shadow="false">
-				<uni-forms-item name='completeDateTime' label="完成时限" label-width="100px">
-					<uni-datetime-picker type="date" v-model="formData.orderCompleteTime" @change="completeDateTimeChange" />
-				</uni-forms-item>
-			</uni-card>
-			<uni-card title="地图位置添加" :is-shadow="false">
-				<view class="view-flex-inline" style="height: 40px;">
-					<text v-if="formData.longitude"
-						style="color: gray;font-size: 0.8rem;padding-left: 0px">经度:【{{formData.longitude}}】</text>
-					<text v-if="formData.longitude"
-						style="color: gray;font-size: 0.8rem;padding-left: 5px">纬度:【{{formData.latitude}}】</text>
-				</view>
-				<uni-forms-item name='address' label="地址" label-width="100px">
-					<uni-easyinput v-model="formData.address" placeholder="请录入地址" />
-				</uni-forms-item>
-				<view class="item-button-group">
-					<view class="item-button mid-size" @click="onMapAddClick()">
-						<view class="items-line">
-							<uni-icons class="input-uni-icon" type="map-pin-ellipse" size="18" color="coral" />
-							<text class="button-text">定位</text>
-						</view>
-					</view>
-				</view>
-			</uni-card>
-		</uni-forms>
-		<view class="footer">
-			<view class="control">
-				<view class="view-flex-inline-center">
-					<view class="block"
-						style="width: 160px;height:32px;margin-left: 10px;margin-right: 10px;border-radius:7px;background-color:lightsalmon"
-						@click="toSubmit()">
-						<view class="view-flex-cc">
-							<uni-icons class="input-uni-icon" type="checkmarkempty" size="18" color="#ffffff" />
-						</view>
-						<view class="view-flex-cc" style="padding-left:5px;">
-							<text style="color:black;font-size:0.7rem">立即提交</text>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {
-		role
-	} from "@/api/role.js";
-	import http from '@/http/api.js';
-	import {
-		oss,
-		imgPath,
-		devUrl,
-		prodUrl
-	} from '@/common/setting';
-
-	export default {
-		components: {},
-		data() {
-			return {
-				title: '新建工单',
-				desc: '',
-				styles: {
-					color: '#333',
-					borderColor: '#e5e5e5',
-					disableColor: '#FFFFFF'
-				},
-				baseURL: '',
-				baseOSS: '',
-				videoImg: '/static/images/video.png',
-				formData: {
-					orderType: 0,
-					orderDesc: '',
-					longitude: '',
-					latitude: '',
-					address: '',
-					orderCompleteTime: '',
-					taskOwnerId:'',
-					taskOwnerName:''
-				},
-				rules: {
-					orderTypeOption: {
-						rules: [{
-							required: true,
-							errorMessage: '必填项',
-						}]
-					},
-					orderDesc: {
-						rules: [{
-							required: true,
-							errorMessage: '必填项',
-						}, ]
-					},
-				},
-				orderPhotos: [],
-				orderVideos: [],
-				uuid: '',
-			}
-		},
-		computed: {
-			videoImage() {
-				return imgPath + "logo_pc.png";
-			}
-		},
-		onLoad(options) {
-			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
-			this.baseOSS = oss;
-			this.uuid = this.getUuid();
-		},
-		onReady() {
-			//console.log("onReady++++++++++++++")
-			// 需要在onReady中设置规则
-			this.$refs.baseForm.setRules(this.rules)
-		},
-		onShow() {
-			let that = this;
-			this.uuid = this.getUuid();
-			uni.$once("lngLat", function(data) {
-				let p = JSON.parse(data)
-				that.formData.longitude = p.lng;
-				that.formData.latitude = p.lat;
-				that.formData.address = p.add;
-			})
-			uni.$once("taskOwnerInfo", function(data) {
-				let p = JSON.parse(data)
-				that.formData.taskOwnerId = p.taskOwnerId;
-				that.formData.taskOwnerName = p.taskOwnerName;
-			})
-		},
-		methods: {
-			toOss(path) {
-				return this.baseOSS + path;
-			},
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			getUuid() {
-				return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
-					var r = (Math.random() * 16) | 0,
-						v = c == 'x' ? r : (r & 0x3) | 0x8;
-					return v.toString(16);
-				});
-			},
-			completeDateTimeChange(e) {
-				console.log('change事件:', e);
-			},
-			onTaskOwnerSelectClick(){
-				var url = '/pages/serviceperson/taskOwnerSelect';
-				uni.navigateTo({
-					url: url
-				})
-			},
-			onMapAddClick() {
-				var url = '/pages/map/maplocation';
-				uni.navigateTo({
-					url: url
-				})
-			},
-			onCheckPhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['album ', 'camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadPhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadPhoto(imagePath) {
-				let that = this;
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.orderPhotos.push(path);
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onPhotoDel(index) {
-				this.orderPhotos.splice(index, 1);
-			},
-			onCheckVideoAdd() {
-				let that = this;
-				uni.chooseVideo({
-					sourceType: ['camera'],
-					maxDuration: 10,
-					success: (res) => {
-						that.uploadVideo(res.tempFilePath);
-					}
-				})
-			},
-			uploadVideo(videoPath) {
-				let that = this;
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					filePath: videoPath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.orderVideos.push(path);
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onVideoDel(index) {
-				this.orderVideos.splice(index, 1);
-			},
-			openVideo(item) {
-				let url = '/pages/check-order/videoView?url=' + item;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toSubmit() {
-				let that = this;
-				this.$refs.baseForm.validate().then(res => {
-					that.submitData();
-				}).catch(err => {
-					//console.log('表单错误信息:', err);
-					uni.showModal({
-						content: "录入错误,请根据提示信息检查录入内容!",
-						showCancel: false,
-						success(res) {
-							if (res.confirm) {
-								//that.$refs.baseForm.clearValidate();
-							}
-						}
-					});
-				})
-			},
-			submitData() {
-				let formdata = this.formData;
-				formdata['batchId'] = this.uuid;
-				if (this.orderPhotos.length > 0) {
-					let photos = '';
-					for (let i = 0; i < this.orderPhotos.length; i++) {
-						if (photos.length > 0) {
-							photos = photos + ',';
-						}
-						photos = photos + this.orderPhotos[i];
-					}
-					formdata['orderPhotos'] = photos;
-				}
-				if (this.orderVideos.length > 0) {
-					let videos = '';
-					for (let i = 0; i < this.orderVideos.length; i++) {
-						if (videos.length > 0) {
-							videos = videos + ',';
-						}
-						videos = videos + this.orderVideos[i];
-					}
-					formdata['orderVideos'] = videos;
-				}
-				let that = this;
-				http.request({
-					url: '/galaxy-business/order/xjgd/save',
-					method: 'POST',
-					data: formdata
-				}).then(res => {
-					if (res.success) {
-						uni.showModal({
-							content: '已成功提交',
-							showCancel: false,
-							success(res) {
-								that.toBack();
-							}
-						});
-					} else {
-						uni.showModal({
-							content: '' + res.msg,
-							showCancel: false
-						});
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-		}
-	}
-</script>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 100rpx;
-	}
-
-
-
-	.view-flex-cc {
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-	}
+<!--
+ * @Title: 
+ * @Description: 工单创建
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="container">
+		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
+			@clickLeft="toBack">
+			<view style="width: 100%;display: flex;flex-direction: row;justify-content: center;align-items: center;">
+				<text style="color: white;font-size: 1rem;">{{title}}</text>
+			</view>
+		</uni-nav-bar>
+		<uni-forms ref="baseForm" :model="formData" :rules="rules">
+			<uni-card title="工单描述" :is-shadow="false">
+<!-- 				<view class="view-flex-inline">
+					<text style="color: black;font-size: 1rem;margin-bottom: 10px;">工单描述</text>
+				</view> -->
+				<uni-forms-item name='orderDesc' label-width="0px" required>
+					<uni-easyinput :styles="styles" type="textarea" :autoHeight="true" v-model="formData.orderDesc"
+						placeholder="录入工单描述内容" />
+				</uni-forms-item>
+			</uni-card>
+			<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
+				<view class="view-flex-rs-flex-wrap">
+					<view v-for="(item, index) in orderPhotos" :key="index" class="view-flex-cc" style="width: 80px;">
+						<view class="img-container">
+							<view class="note-image-box">
+								<view class="note-image-item">
+									<view class="close-icon" @click="onPhotoDel(index)">
+										<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+									</view>
+									<view class="image-box">
+										<image :src="toOss(item)" mode="widthFix">
+										</image>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+					<view class="view-flex-cc" style="width: 80px;">
+						<view class="img-container">
+							<view class="note-image-box">
+								<view class="note-image-item" @click="onCheckPhotoAdd()">
+									<view class="image-box">
+										<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</uni-card>
+			<uni-card title="拍摄视频" extra="点击下方按钮开始拍摄" :is-shadow="false">
+				<view class="view-flex-rs-flex-wrap">
+					<view v-for="(item, index) in orderVideos" :key="index" class="view-flex-cc" style="width: 80px;">
+						<view class="img-container">
+							<view class="note-image-box">
+								<view class="note-image-item">
+									<view class="close-icon" @click="onVideoDel(index)">
+										<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+									</view>
+									<view class="image-box">
+										<image :src="videoImg" mode="widthFix" @click="openVideo(item)">
+										</image>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+					<view class="view-flex-cc" style="width: 80px;">
+						<view class="img-container">
+							<view class="note-image-box">
+								<view class="note-image-item" @click="onCheckVideoAdd()">
+									<view class="image-box">
+										<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</uni-card>
+			<uni-card title="指定人员" :is-shadow="false">
+				<view class="view-flex-inline" style="height: 40px;">
+					<text v-if="formData.taskOwnerName"
+						style="color: gray;font-size: 0.8rem;padding-left: 0px">已选择人员:【{{formData.taskOwnerName}}】</text>
+
+				</view>
+				<view class="item-button-group">
+					<view class="item-button mid-size" @click="onTaskOwnerSelectClick()">
+						<view class="items-line">
+							<uni-icons class="input-uni-icon" type="map-pin-ellipse" size="18" color="coral" />
+							<text class="button-text">选择</text>
+						</view>
+					</view>
+				</view>
+			</uni-card>
+			<uni-card title="时限设定" :is-shadow="false">
+				<uni-forms-item name='completeDateTime' label="完成时限" label-width="100px">
+					<uni-datetime-picker type="date" v-model="formData.orderCompleteTime"
+						@change="completeDateTimeChange" />
+				</uni-forms-item>
+			</uni-card>
+			<uni-card title="地图位置添加" :is-shadow="false">
+				<view class="view-flex-inline" style="height: 40px;">
+					<text v-if="formData.longitude"
+						style="color: gray;font-size: 0.8rem;padding-left: 0px">经度:【{{formData.longitude}}】</text>
+					<text v-if="formData.longitude"
+						style="color: gray;font-size: 0.8rem;padding-left: 5px">纬度:【{{formData.latitude}}】</text>
+				</view>
+				<uni-forms-item name='address' label="地址" label-width="100px">
+					<uni-easyinput v-model="formData.address" placeholder="请录入地址" />
+				</uni-forms-item>
+				<view class="item-button-group">
+					<view class="item-button mid-size" @click="onMapAddClick()">
+						<view class="items-line">
+							<uni-icons class="input-uni-icon" type="map-pin-ellipse" size="18" color="coral" />
+							<text class="button-text">定位</text>
+						</view>
+					</view>
+				</view>
+			</uni-card>
+		</uni-forms>
+		<view class="footer">
+			<view class="control">
+				<view class="view-flex-inline-center">
+					<view class="block"
+						style="width: 160px;height:32px;margin-left: 10px;margin-right: 10px;border-radius:7px;background-color:lightsalmon"
+						@click="toSubmit()">
+						<view class="view-flex-cc">
+							<uni-icons class="input-uni-icon" type="checkmarkempty" size="18" color="#ffffff" />
+						</view>
+						<view class="view-flex-cc" style="padding-left:5px;">
+							<text style="color:black;font-size:0.7rem">立即提交</text>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		role
+	} from "@/api/role.js";
+	import http from '@/http/api.js';
+	import {
+		oss,
+		imgPath,
+		devUrl,
+		prodUrl
+	} from '@/common/setting';
+
+	export default {
+		components: {},
+		data() {
+			return {
+				title: '新建工单',
+				desc: '',
+				styles: {
+					color: '#333',
+					borderColor: '#e5e5e5',
+					disableColor: '#FFFFFF'
+				},
+				baseURL: '',
+				baseOSS: '',
+				videoImg: '/static/images/video.png',
+				formData: {
+					orderType: 0,
+					orderDesc: '',
+					longitude: '',
+					latitude: '',
+					address: '',
+					orderCompleteTime: '',
+					taskOwnerId: '',
+					taskOwnerName: ''
+				},
+				rules: {
+					orderTypeOption: {
+						rules: [{
+							required: true,
+							errorMessage: '必填项',
+						}]
+					},
+					orderDesc: {
+						rules: [{
+							required: true,
+							errorMessage: '必填项',
+						}, ]
+					},
+				},
+				orderPhotos: [],
+				orderVideos: [],
+				uuid: '',
+			}
+		},
+		computed: {
+			videoImage() {
+				return imgPath + "logo_pc.png";
+			}
+		},
+		onLoad(options) {
+			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
+			this.baseOSS = oss;
+			this.uuid = this.getUuid();
+		},
+		onReady() {
+			//console.log("onReady++++++++++++++")
+			// 需要在onReady中设置规则
+			this.$refs.baseForm.setRules(this.rules)
+		},
+		onShow() {
+			let that = this;
+			this.uuid = this.getUuid();
+			uni.$once("lngLat", function(data) {
+				let p = JSON.parse(data)
+				that.formData.longitude = p.lng;
+				that.formData.latitude = p.lat;
+				that.formData.address = p.add;
+			})
+			uni.$once("taskOwnerInfo", function(data) {
+				let p = JSON.parse(data)
+				that.formData.taskOwnerId = p.taskOwnerId;
+				that.formData.taskOwnerName = p.taskOwnerName;
+			})
+		},
+		methods: {
+			toOss(path) {
+				return this.baseOSS + path;
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			getUuid() {
+				return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
+					var r = (Math.random() * 16) | 0,
+						v = c == 'x' ? r : (r & 0x3) | 0x8;
+					return v.toString(16);
+				});
+			},
+			completeDateTimeChange(e) {
+				console.log('change事件:', e);
+			},
+			onTaskOwnerSelectClick() {
+				var url = '/pages/serviceperson/taskOwnerSelect';
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onMapAddClick() {
+				var url = '/pages/map/maplocation';
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onCheckPhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['album ', 'camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadPhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadPhoto(imagePath) {
+				let that = this;
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.orderPhotos.push(path);
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onPhotoDel(index) {
+				this.orderPhotos.splice(index, 1);
+			},
+			onCheckVideoAdd() {
+				let that = this;
+				uni.chooseVideo({
+					sourceType: ['camera'],
+					maxDuration: 10,
+					success: (res) => {
+						that.uploadVideo(res.tempFilePath);
+					}
+				})
+			},
+			uploadVideo(videoPath) {
+				let that = this;
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					filePath: videoPath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.orderVideos.push(path);
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onVideoDel(index) {
+				this.orderVideos.splice(index, 1);
+			},
+			openVideo(item) {
+				let url = '/pages/check-order/videoView?url=' + item;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			toSubmit() {
+				let that = this;
+				this.$refs.baseForm.validate().then(res => {
+					that.submitData();
+				}).catch(err => {
+					//console.log('表单错误信息:', err);
+					uni.showModal({
+						content: "录入错误,请根据提示信息检查录入内容!",
+						showCancel: false,
+						success(res) {
+							if (res.confirm) {
+								//that.$refs.baseForm.clearValidate();
+							}
+						}
+					});
+				})
+			},
+			submitData() {
+				let formdata = this.formData;
+				formdata['batchId'] = this.uuid;
+				if (this.orderPhotos.length > 0) {
+					let photos = '';
+					for (let i = 0; i < this.orderPhotos.length; i++) {
+						if (photos.length > 0) {
+							photos = photos + ',';
+						}
+						photos = photos + this.orderPhotos[i];
+					}
+					formdata['orderPhotos'] = photos;
+				}
+				if (this.orderVideos.length > 0) {
+					let videos = '';
+					for (let i = 0; i < this.orderVideos.length; i++) {
+						if (videos.length > 0) {
+							videos = videos + ',';
+						}
+						videos = videos + this.orderVideos[i];
+					}
+					formdata['orderVideos'] = videos;
+				}
+				let that = this;
+				http.request({
+					url: '/galaxy-business/order/xjgd/save',
+					method: 'POST',
+					data: formdata
+				}).then(res => {
+					if (res.success) {
+						uni.showModal({
+							content: '已成功提交',
+							showCancel: false,
+							success(res) {
+								that.toBack();
+							}
+						});
+					} else {
+						uni.showModal({
+							content: '' + res.msg,
+							showCancel: false
+						});
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.container {
+		padding: 0 0 100rpx;
+	}
+
+
+
+	.view-flex-cc {
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+	}
 </style>

+ 86 - 0
pages/check-order/order-advertising.vue

@@ -0,0 +1,86 @@
+<!--
+ * @Title: 
+ * @Description: 任务确认
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="wrap">
+		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="关闭"
+			@clickLeft="toBack">
+			<view class="nav-title">
+				<text>{{title}}</text>
+			</view>
+		</uni-nav-bar>
+		<view class="container">
+			<image src="/static/images/order-ad.png" style="width: 100%;" mode="widthFix"></image>
+			<view class="view-flex-block-center">
+               <view style="margin-top: 50px;margin-bottom: 50px;">登录注册可体验更多功能</view>
+			</view>
+			<view class="view-flex-inline-center">
+				<button style="background-color: orangered;" type="default" @click="toLogin()">登录/注册</button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	import {
+		oss,
+	} from '@/common/setting';
+	export default {
+		components: {
+
+		},
+		data() {
+			return {
+				title: '欢迎使用工单系统',
+						toUrl:'',
+			}
+		},
+		computed: {},
+		onLoad(options) {
+          this.toUrl= options.toUrl;
+				console.log("url"+this.toUrl)
+		},
+		onShow() {},
+		methods: {
+			toOss(url) {
+				return oss + url;
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			toLogin() {
+				let url = '/pages/login/login-account?skipPage=2&toUrl='+this.toUrl;
+				uni.redirectTo({
+					url: url
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.view-btn {
+		margin-top: 20px;
+		margin-bottom: 20px;
+		padding-left: 10px;
+		padding-right: 10px;
+	}
+
+	.line-space {
+		margin-top: 4px;
+	}
+</style>

+ 417 - 432
pages/check-order/ordercloseapprove.vue → pages/check-order/order-close-approve.vue

@@ -1,433 +1,418 @@
-<!--
- * @Title: 
- * @Description: 任务确认
- * @Author: swp
- * @Date: 2022-08-24 10:49:21
- * @LastEditors: 
- * @LastEditTime: 2022-08-24 10:49:21
--->
-<template>
-	<view class="wrap">
-		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
-			@clickLeft="toBack">
-			<view class="nav-title">
-				<text>{{title}}</text>
-			</view>
-		</uni-nav-bar>
-		<view class="container">
-			<uni-forms ref="baseForm" :model="formData">
-				<uni-section title="审批意见" ftitleFontSize="0.8rem" style="width: 100%;">
-					<template v-slot:decoration>
-						<view class="decoration"></view>
-					</template>
-					<view style="padding-top: 10px;padding-bottom: 0px;padding-left: 15px;padding-right: 15px;">
-						<uni-forms-item>
-							<uni-easyinput :styles="styles" type="textarea" v-model="formData.processDesc"
-								placeholder="请录入工单完结审批意见" />
-						</uni-forms-item>
-					</view>
-				</uni-section>
-				<uni-card title="评分">
-					<uni-rate v-model="formData.orderRate" />
-				</uni-card>
-				<!-- 		<uni-section title="评分" ftitleFontSize="0.8rem" style="width: 100%;">
-					<template v-slot:decoration>
-						<view class="decoration"></view>
-					</template>
-					<uni-rate v-model="formData.orderRate" />
-				</uni-section> -->
-			</uni-forms>
-			<view class="view-btn">
-				<button style="background-color: lightcoral;" type="default"
-					@click="toOrderCloseConfirm()">工单关闭</button>
-			</view>
-			<uni-section title="工单处理详情" type="line">
-				<uni-list>
-					<uni-list-item v-for="(item,index) in orderProcessList" :key="item.id" direction="column">
-						<template v-slot:body>
-							<view class="point">
-								<view class="dot">
-									{{index+1}}
-								</view>
-								<view class="time-title">{{item.createTime}}【{{item.orderStatusName}}】</view>
-							</view>
-							<view class="time-info">
-								<view class="time-line">
-									<view v-if="item.orderStatusCode ==2" class="list-item-block">
-										<view class="line" style="padding-left:12px">
-											<view v-if="orderType==1" class="text" style="color: gray;">工单类型:<span
-													style="margin-left: 5px;color: cornflowerblue;">维修工单</span></view>
-											<view v-else-if="orderType==2" class="text" style="color: gray;">工单类型:<span
-													style="margin-left: 5px;color: cornflowerblue;">服务工单</span></view>
-											<view v-else></view>
-										</view>
-										<view class="line" style="padding-left:12px">
-											<view class="text" style="width: 90%;color: gray;">
-												工单创建人:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
-											</view>
-										</view>
-										<view class="line" style="padding-left:12px">
-											<view class="text" style="width: 90%;color: gray;">
-												创建时间:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.createTime}}</span>
-											</view>
-										</view>
-										<uni-card title="问题描述">
-											<view class="text" style="color: cornflowerblue;">{{item.processDesc}}
-											</view>
-										</uni-card>
-						<!-- 				<view class="line">
-											<view class="text" style="width: 90%;color: gray;">
-												问题描述:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.processDesc}}</span>
-											</view>
-										</view> -->
-										<uni-card title="处理照片">
-											<view class="view-flex-rs-flex-wrap">
-												<view v-for="(path, index) in item.failureProcessPhotoList" :key="index"
-													class="view-flex-cc" style="width: 80px;">
-													<view class="img-container">
-														<view class="note-image-box">
-															<view class="note-image-item">
-																<view class="image-box">
-																	<image :src="toOss(path)" mode="widthFix"
-																		@click="openPhoto(path)">
-																	</image>
-																</view>
-															</view>
-														</view>
-													</view>
-												</view>
-											</view>
-											<!-- 									<view class="view-flex-block-center">
-										<image v-for="(path, index) in item.failureProcessPhotoList" :key="index"
-											mode="widthFix" style="width: 80%;margin-top: 10px;" :src="toOss(path)">
-										</image>
-									</view> -->
-										</uni-card>
-										<uni-card title="处理视频">
-											<view class="view-flex-inline">
-												<image v-for="(path, index) in item.failureProcessVideoList"
-													:key="index" mode="widthFix" style="width: 80px;" :src="videoImg"
-													@click="openVideo(path)">
-												</image>
-											</view>
-										</uni-card>
-									</view>
-									<view v-else-if="item.orderStatusCode ==3" class="list-item-block">
-										<view class="line" style="padding-left:12px">
-											<view class="text" style="width: 90%;color: gray;">
-												工单处理人:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
-											</view>
-										</view>
-										<view class="line" style="padding-left:12px">
-											<view class="text" style="width: 90%;color: gray;">
-												处理时间:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.createTime}}</span>
-											</view>
-										</view>
-										<uni-card v-if="orderType==1" title="故障现象描述">
-											<view class="text" style="color: cornflowerblue;">{{item.failureCheckDesc}}
-											</view>
-										</uni-card>
-		<!-- 								<view v-if="orderType==1" class="line">
-											<view class="text" style="width: 90%;color: gray;">
-												故障现象描述:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.failureCheckDesc}}</span>
-											</view>
-										</view> -->
-										<uni-card v-else-if="orderType==2" title="服务内容描述">
-											<view class="text" style="color: cornflowerblue;">{{item.failureCheckDesc}}
-											</view>
-										</uni-card>
-<!-- 										<view v-else-if="orderType==2" class="line">
-											<view class="text" style="width: 90%;color: gray;">
-												服务内容描述:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.failureCheckDesc}}</span>
-											</view>
-										</view> -->
-										<view v-else></view>
-										<uni-card title="解决措施说明">
-											<view class="text" style="color: cornflowerblue;">{{item.processDesc}}
-											</view>
-										</uni-card>
-<!-- 										<view class="line">
-											<view class="text" style="width: 90%;color: gray;">
-												解决措施说明:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.processDesc}}</span>
-											</view>
-										</view> -->
-										<uni-card v-if="orderType==1 && item.costsReport==2" title="费用说明">
-											<view class="text" style="color: cornflowerblue;">{{item.costsReportDesc}}
-											</view>
-										</uni-card>
-										
-<!-- 										<view v-if="orderType==1 && item.costsReport==2" class="line">
-											<view class="text" style="width: 90%;color: gray;">
-												费用说明:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.costsReportDesc}}</span>
-											</view>
-										</view> -->
-										<uni-card title="处理照片">
-											<view class="view-flex-rs-flex-wrap">
-												<view v-for="(path, index) in item.failureProcessPhotoList" :key="index"
-													class="view-flex-cc" style="width: 80px;">
-													<view class="img-container">
-														<view class="note-image-box">
-															<view class="note-image-item">
-																<view class="image-box">
-																	<image :src="toOss(path)" mode="widthFix"
-																		@click="openPhoto(path)">
-																	</image>
-																</view>
-															</view>
-														</view>
-													</view>
-												</view>
-											</view>
-											<!-- 									<view class="view-flex-block-center">
-										<image v-for="(path, index) in item.failureProcessPhotoList" :key="index"
-											mode="widthFix" style="width: 80%;margin-top: 10px;" :src="toOss(path)">
-										</image>
-									</view> -->
-										</uni-card>
-									</view>
-									<view v-else-if="item.orderStatusCode ==5" class="list-item-block">
-										<view class="line" style="padding-left:12px">
-											<view class="text" style="width: 90%;color: gray;">
-												费用审批人:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
-											</view>
-										</view>
-			<!-- 							<view class="line" style="padding-left:12px">
-											<view class="text" style="width: 90%;color: gray;">
-												审批时间:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.createTime}}</span>
-											</view>
-										</view> -->
-										<uni-card title="审批意见">
-											<view class="text" style="color: cornflowerblue;">{{item.processDesc}}
-											</view>
-										</uni-card>
-<!-- 										<view class="line">
-											<view class="text" style="width: 90%;color: gray;">
-												审批意见:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.processDesc}}</span>
-											</view>
-										</view> -->
-									</view>
-									<view v-else-if="item.orderStatusCode ==7" class="list-item-block">
-										<view class="line" style="padding-left:12px">
-											<view class="text" style="width: 90%;color: gray;">
-												工单完结审批人:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
-											</view>
-										</view>
-			<!-- 							<view class="line" style="padding-left:12px">
-											<view class="text" style="width: 90%;color: gray;">
-												审批时间:<span
-													style="margin-left: 5px;color: cornflowerblue;">{{item.createTime}}</span>
-											</view>
-										</view> -->
-										<uni-card title="审批意见">
-											<view class="text" style="color: cornflowerblue;">{{item.processDesc}}
-											</view>
-										</uni-card> 
-									</view>
-								</view>
-							</view>
-						</template>
-					</uni-list-item>
-				</uni-list>
-			</uni-section>
-			<view style="margin-top: 5px;margin-bottom: 10px;padding-left: 10px;padding-right: 10px;">
-				<button style="background-color: lightcoral;" type="default" @click="toTopClick()">返回顶部</button>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import http from '@/http/api.js';
-	import {
-		oss,
-		devUrl,
-		prodUrl
-	} from '@/common/setting';
-	export default {
-		components: {
-
-		},
-		data() {
-			return {
-				title: '工单完结审批',
-				orderId: '',
-				orderType: 1,
-				orderProcessList: [],
-				formData: {
-					processDesc: '',
-					orderRate: 5,
-				},
-				orderInfo: {
-					'id': 0,
-					'updateTime': '',
-					'orderDesc': '',
-					'orderConfirm': 0,
-				},
-				styles: {
-					color: '#333',
-					borderColor: '#e5e5e5',
-					disableColor: '#FFFFFF'
-				},
-				baseURL: '',
-				baseOSS: '',
-				videoImg: '/static/images/video.png',
-			}
-		},
-		computed: {},
-		onLoad(option) {
-			this.orderId = option.orderId;
-			this.orderType = option.orderType;
-			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
-			this.baseOSS = oss;
-			this.getDetail();
-		},
-		onShow() {},
-		methods: {
-			toOss(path) {
-				let url = this.baseOSS + path;
-				//console.log("tooss " + url)
-				return url;
-			},
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			toTopClick() {
-				uni.pageScrollTo({
-					scrollTop: 0,
-					duration: 100,
-				});
-			},
-			openPhoto(file) {
-				let url = '/pages/check-order/photoView?url=' + file;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			openVideo(file) {
-				let url = '/pages/check-order/videoView?url=' + file;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			getDetail() {
-				let that = this;
-				let postData = {};
-				postData['orderId'] = this.orderId;
-				http.request({
-					url: '/galaxy-business/order/process/list',
-					method: 'GET',
-					data: postData,
-				}).then(res => {
-					if (res.data != null) {
-						console.log(JSON.stringify(res.data))
-						that.orderProcessList = res.data;
-					}
-				}).catch(err => {
-					console.log(JOSN.stringify(err))
-				})
-			},
-			toOrderCloseConfirm() {
-				let that = this;
-				uni.showModal({
-					content: '确定关闭该工单?',
-					showCancel: true,
-					success(res) {
-						if (res.confirm) {
-							that.formData['orderId'] = that.orderId;
-							http.request({
-								url: '/galaxy-business/order/process/closeapprove',
-								method: 'POST',
-								params: that.formData
-							}).then(res => {
-								console.log(res)
-								if (res.success) {
-									that.toBack();
-								}
-							}).catch(err => {
-								console.log(err)
-							})
-						}
-					}
-				});
-			},
-			toOrderProcessReport() {
-				var url = '/pages/check-order/orderprocessreport?orderId=' + this.id + '&skipPage=2';
-				uni.navigateTo({
-					url: url
-				})
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.view-btn {
-		margin-top: 20px;
-		margin-bottom: 20px;
-		padding-left: 10px;
-		padding-right: 10px;
-	}
-
-	.line-space {
-		margin-top: 4px;
-	}
-
-	.point {
-		display: flex;
-		flex-direction: row;
-		align-items: center;
-		margin: 15rpx 0;
-	}
-
-	.dot {
-		//margin-left: -22rpx;
-		background-color: #19be6b;
-		box-shadow: 0 0 5rpx 5rpx #71d5a1;
-		color: white;
-		width: 50rpx;
-		height: 50rpx;
-		padding: 5rpx;
-		font-size: 28rpx;
-		text-align: center;
-		border-radius: 50rpx;
-	}
-
-	.time-title {
-		font-size: 30rpx;
-		margin-left: 15rpx;
-		background-color: whitesmoke;
-		padding: 12rpx 25rpx;
-		border-radius: 50rpx;
-		color: orangered;
-	}
-
-	.time-info {
-		padding: 0rpx 0rpx 0rpx 25rpx;
-	}
-
-	.time-line {
-		border-left: 3rpx solid #71d5a1;
-		padding: 10rpx 10rpx 30rpx 20rpx;
-	}
+<!--
+ * @Title: 
+ * @Description: 任务确认
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="wrap">
+		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
+			@clickLeft="toBack">
+			<view class="nav-title">
+				<text>{{title}}</text>
+			</view>
+		</uni-nav-bar>
+		<view class="container">
+			<uni-forms ref="baseForm" :model="formData">
+				<uni-section title="审批意见" ftitleFontSize="0.8rem" style="width: 100%;">
+					<template v-slot:decoration>
+						<view class="decoration"></view>
+					</template>
+					<view style="padding-top: 10px;padding-bottom: 0px;padding-left: 15px;padding-right: 15px;">
+						<uni-forms-item>
+							<uni-easyinput :styles="styles" type="textarea" v-model="formData.processDesc"
+								placeholder="请录入工单完结审批意见" />
+						</uni-forms-item>
+					</view>
+				</uni-section>
+				<uni-card title="评分">
+					<uni-rate v-model="formData.orderRate" />
+				</uni-card>
+				<!-- 		<uni-section title="评分" ftitleFontSize="0.8rem" style="width: 100%;">
+					<template v-slot:decoration>
+						<view class="decoration"></view>
+					</template>
+					<uni-rate v-model="formData.orderRate" />
+				</uni-section> -->
+			</uni-forms>
+			<view class="view-btn">
+				<button style="background-color: lightcoral;" type="default"
+					@click="toOrderCloseConfirm()">工单关闭</button>
+			</view>
+			<uni-section title="工单处理详情" type="line">
+				<uni-list>
+					<uni-list-item v-for="(item,index) in orderProcessList" :key="item.id" direction="column">
+						<template v-slot:body>
+							<view class="point">
+								<view class="dot">
+									{{index+1}}
+								</view>
+								<view class="time-title">{{item.createTime}}【{{item.orderStatusName}}】</view>
+							</view>
+							<view class="time-info">
+								<view class="time-line">
+									<view v-if="item.orderStatusCode ==1" class="list-item-block">
+										<view class="line" style="padding-left:12px">
+											<view class="text" style="width: 90%;color: gray;">
+												工单创建人:<span
+													style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
+											</view>
+										</view>
+										<view class="line" style="padding-left:12px">
+											<view class="text" style="width: 90%;color: gray;">
+												创建时间:<span
+													style="margin-left: 5px;color: cornflowerblue;">{{item.createTime}}</span>
+											</view>
+										</view>
+										<uni-card title="问题描述">
+											<view class="text" style="color: cornflowerblue;">{{item.processDesc}}
+											</view>
+										</uni-card>
+										<uni-card title="处理照片">
+											<view class="view-flex-rs-flex-wrap">
+												<view v-for="(path, index) in item.failureProcessPhotoList" :key="index"
+													class="view-flex-cc" style="width: 80px;">
+													<view class="img-container">
+														<view class="note-image-box">
+															<view class="note-image-item">
+																<view class="image-box">
+																	<image :src="toOss(path)" mode="widthFix"
+																		@click="openPhoto(path)">
+																	</image>
+																</view>
+															</view>
+														</view>
+													</view>
+												</view>
+											</view>
+										</uni-card>
+										<uni-card title="处理视频">
+											<view class="view-flex-inline">
+												<image v-for="(path, index) in item.failureProcessVideoList"
+													:key="index" mode="widthFix" style="width: 80px;" :src="videoImg"
+													@click="openVideo(path)">
+												</image>
+											</view>
+										</uni-card>
+									</view>
+									<view v-else-if="item.orderStatusCode ==2" class="list-item-block">
+										<!-- 					<view class="line" style="padding-left:12px">
+											<view v-if="orderType==1" class="text" style="color: gray;">工单类型:<span
+													style="margin-left: 5px;color: cornflowerblue;">维修工单</span></view>
+											<view v-else-if="orderType==2" class="text" style="color: gray;">工单类型:<span
+													style="margin-left: 5px;color: cornflowerblue;">服务工单</span></view>
+											<view v-else></view>
+										</view> -->
+										<view class="line" style="padding-left:12px">
+											<view class="text" style="width: 90%;color: gray;">
+												处理人:<span
+													style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
+											</view>
+										</view>
+										<view class="line" style="padding-left:12px">
+											<view class="text" style="width: 90%;color: gray;">
+												接单时间:<span
+													style="margin-left: 5px;color: cornflowerblue;">{{item.createTime}}</span>
+											</view>
+										</view>
+		<!-- 								<uni-card title="问题描述">
+											<view class="text" style="color: cornflowerblue;">{{item.processDesc}}
+											</view>
+										</uni-card>
+										<uni-card title="处理照片">
+											<view class="view-flex-rs-flex-wrap">
+												<view v-for="(path, index) in item.failureProcessPhotoList" :key="index"
+													class="view-flex-cc" style="width: 80px;">
+													<view class="img-container">
+														<view class="note-image-box">
+															<view class="note-image-item">
+																<view class="image-box">
+																	<image :src="toOss(path)" mode="widthFix"
+																		@click="openPhoto(path)">
+																	</image>
+																</view>
+															</view>
+														</view>
+													</view>
+												</view>
+											</view>
+										</uni-card> -->
+<!-- 										<uni-card title="处理视频">
+											<view class="view-flex-inline">
+												<image v-for="(path, index) in item.failureProcessVideoList"
+													:key="index" mode="widthFix" style="width: 80px;" :src="videoImg"
+													@click="openVideo(path)">
+												</image>
+											</view>
+										</uni-card> -->
+									</view>
+									<view v-else-if="item.orderStatusCode ==3" class="list-item-block">
+										<view class="line" style="padding-left:12px">
+											<view class="text" style="width: 90%;color: gray;">
+												工单处理人:<span
+													style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
+											</view>
+										</view>
+										<view class="line" style="padding-left:12px">
+											<view class="text" style="width: 90%;color: gray;">
+												处理时间:<span
+													style="margin-left: 5px;color: cornflowerblue;">{{item.createTime}}</span>
+											</view>
+										</view>
+										<uni-card v-if="orderType==1" title="故障现象描述">
+											<view class="text" style="color: cornflowerblue;">{{item.failureCheckDesc}}
+											</view>
+										</uni-card>
+										<uni-card v-else-if="orderType==2" title="服务内容描述">
+											<view class="text" style="color: cornflowerblue;">{{item.failureCheckDesc}}
+											</view>
+										</uni-card>
+										<view v-else></view>
+										<uni-card title="解决措施说明">
+											<view class="text" style="color: cornflowerblue;">{{item.processDesc}}
+											</view>
+										</uni-card>
+										<uni-card v-if="orderType==1 && item.costsReport==2" title="费用说明">
+											<view class="text" style="color: cornflowerblue;">{{item.costsReportDesc}}
+											</view>
+										</uni-card>
+										<uni-card title="处理照片">
+											<view class="view-flex-rs-flex-wrap">
+												<view v-for="(path, index) in item.failureProcessPhotoList" :key="index"
+													class="view-flex-cc" style="width: 80px;">
+													<view class="img-container">
+														<view class="note-image-box">
+															<view class="note-image-item">
+																<view class="image-box">
+																	<image :src="toOss(path)" mode="widthFix"
+																		@click="openPhoto(path)">
+																	</image>
+																</view>
+															</view>
+														</view>
+													</view>
+												</view>
+											</view>
+										</uni-card>
+									</view>
+									<view v-else-if="item.orderStatusCode ==5" class="list-item-block">
+										<view class="line" style="padding-left:12px">
+											<view class="text" style="width: 90%;color: gray;">
+												费用审批人:<span
+													style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
+											</view>
+										</view>
+										<uni-card title="审批意见">
+											<view class="text" style="color: cornflowerblue;">{{item.processDesc}}
+											</view>
+										</uni-card>
+									</view>
+									<view v-else-if="item.orderStatusCode ==7" class="list-item-block">
+										<view class="line" style="padding-left:12px">
+											<view class="text" style="width: 90%;color: gray;">
+												工单完结审批人:<span
+													style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
+											</view>
+										</view>
+										<uni-card title="审批意见">
+											<view class="text" style="color: cornflowerblue;">{{item.processDesc}}
+											</view>
+										</uni-card>
+									</view>
+								</view>
+							</view>
+						</template>
+					</uni-list-item>
+				</uni-list>
+			</uni-section>
+			<view style="margin-top: 5px;margin-bottom: 10px;padding-left: 10px;padding-right: 10px;">
+				<button style="background-color: lightcoral;" type="default" @click="toTopClick()">返回顶部</button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	import {
+		oss,
+		devUrl,
+		prodUrl
+	} from '@/common/setting';
+	export default {
+		components: {
+
+		},
+		data() {
+			return {
+				title: '工单完结审批',
+				orderId: '',
+				orderType: 1,
+				orderProcessList: [],
+				formData: {
+					processDesc: '',
+					orderRate: 5,
+				},
+				orderInfo: {
+					'id': 0,
+					'updateTime': '',
+					'orderDesc': '',
+					'orderConfirm': 0,
+				},
+				styles: {
+					color: '#333',
+					borderColor: '#e5e5e5',
+					disableColor: '#FFFFFF'
+				},
+				baseURL: '',
+				baseOSS: '',
+				videoImg: '/static/images/video.png',
+			}
+		},
+		computed: {},
+		onLoad(option) {
+			this.orderId = option.orderId;
+			this.orderType = option.orderType;
+			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
+			this.baseOSS = oss;
+			this.getDetail();
+		},
+		onShow() {},
+		methods: {
+			toOss(path) {
+				let url = this.baseOSS + path;
+				//console.log("tooss " + url)
+				return url;
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			toTopClick() {
+				uni.pageScrollTo({
+					scrollTop: 0,
+					duration: 100,
+				});
+			},
+			openPhoto(file) {
+				let url = '/pages/check-order/photoView?url=' + file;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			openVideo(file) {
+				let url = '/pages/check-order/videoView?url=' + file;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			getDetail() {
+				let that = this;
+				let postData = {};
+				postData['orderId'] = this.orderId;
+				http.request({
+					url: '/galaxy-business/order/process/list',
+					method: 'GET',
+					data: postData,
+				}).then(res => {
+					if (res.data != null) {
+						console.log(JSON.stringify(res.data))
+						that.orderProcessList = res.data;
+					}
+				}).catch(err => {
+					console.log(JOSN.stringify(err))
+				})
+			},
+			toOrderCloseConfirm() {
+				let that = this;
+				uni.showModal({
+					content: '确定关闭该工单?',
+					showCancel: true,
+					success(res) {
+						if (res.confirm) {
+							that.formData['orderId'] = that.orderId;
+							http.request({
+								url: '/galaxy-business/order/process/closeapprove',
+								method: 'POST',
+								params: that.formData
+							}).then(res => {
+								console.log(res)
+								if (res.success) {
+									that.toBack();
+								}
+							}).catch(err => {
+								console.log(err)
+							})
+						}
+					}
+				});
+			},
+			toOrderProcessReport() {
+				var url = '/pages/check-order/orderprocessreport?orderId=' + this.id + '&skipPage=2';
+				uni.navigateTo({
+					url: url
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.view-btn {
+		margin-top: 20px;
+		margin-bottom: 20px;
+		padding-left: 10px;
+		padding-right: 10px;
+	}
+
+	.line-space {
+		margin-top: 4px;
+	}
+
+	.point {
+		display: flex;
+		flex-direction: row;
+		align-items: center;
+		margin: 15rpx 0;
+	}
+
+	.dot {
+		//margin-left: -22rpx;
+		background-color: #19be6b;
+		box-shadow: 0 0 5rpx 5rpx #71d5a1;
+		color: white;
+		width: 50rpx;
+		height: 50rpx;
+		padding: 5rpx;
+		font-size: 28rpx;
+		text-align: center;
+		border-radius: 50rpx;
+	}
+
+	.time-title {
+		font-size: 30rpx;
+		margin-left: 15rpx;
+		background-color: whitesmoke;
+		padding: 12rpx 25rpx;
+		border-radius: 50rpx;
+		color: orangered;
+	}
+
+	.time-info {
+		padding: 0rpx 0rpx 0rpx 25rpx;
+	}
+
+	.time-line {
+		border-left: 3rpx solid #71d5a1;
+		padding: 10rpx 10rpx 30rpx 20rpx;
+	}
 </style>

+ 210 - 211
pages/check-order/orderconfirm.vue → pages/check-order/order-confirm.vue

@@ -1,212 +1,211 @@
-<!--
- * @Title: 
- * @Description: 任务确认
- * @Author: swp
- * @Date: 2022-08-24 10:49:21
- * @LastEditors: 
- * @LastEditTime: 2022-08-24 10:49:21
--->
-<template>
-	<view class="wrap">
-		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
-			@clickLeft="toBack">
-			<view class="nav-title">
-				<text>{{title}}</text>
-			</view>
-		</uni-nav-bar>
-		<view class="container">
-			<view class="view-btn">
-				<button style="background-color: lightcoral;" type="default" @click="toOrderConfirm()">确认</button>
-			</view>
-			<uni-section title="工单详情" titleFontSize="0.8rem" type="circle">
-				<uni-card title="创建人">
-					<view class="items-line">
-						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">
-							{{orderInfo.createOrderPersonName}}
-						</view>
-					</view>
-				</uni-card>
-				<uni-card title="创建时间">
-					<view class="items-line">
-						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">
-							{{orderInfo.createTime}}
-						</view>
-					</view>
-				</uni-card>
-				<uni-card title="问题描述">
-					<view class="items-line">
-						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">
-							{{orderInfo.orderDesc}}
-						</view>
-					</view>
-				</uni-card>
-				<uni-card title="工单照片">
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(path, index) in orderInfo.orderPhotoList" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="image-box">
-											<image :src="toOss(path)" mode="widthFix" @click="openPhoto(path)">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card title="工单视频" sub-title="点击视频图标可进行播放预览">
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in orderInfo.orderVideoList" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="image-box">
-											<image :src="videoImg" mode="widthFix" @click="openVideo(item)">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-			</uni-section>
-		</view>
-	</view>
-</template>
-
-<script>
-	import http from '@/http/api.js';
-	import {
-		oss,
-	} from '@/common/setting';
-	export default {
-		components: {
-
-		},
-		data() {
-			return {
-				title: '接单',
-				orderId: '',
-				orderInfo: {
-					createOrderPersonName: '',
-					createTime: '',
-					orderDesc: '',
-				},
-				orderType: 1,
-				videoImg: '/static/images/video.png',
-			}
-		},
-		computed: {},
-		onLoad(option) {
-			this.orderId = option.orderId;
-			//this.orderType = option.orderType;
-			this.getDetail();
-		},
-		onShow() {},
-		methods: {
-			toOss(url) {
-				return oss + url;
-			},
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			openPhoto(file) {
-				let url = '/pages/check-order/photoView?url=' + file;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			openVideo(file) {
-				let url = '/pages/check-order/videoView?url=' + file;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			getDetail() {
-				let that = this;
-				let postData = {};
-				postData['id'] = this.orderId;
-				http.request({
-					url: '/galaxy-business/order/detail',
-					method: 'GET',
-					data: postData
-				}).then(res => {
-					console.log(res)
-					if (res.data != null) {
-						that.orderInfo = res.data;
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			toOrderConfirm() {
-				let that = this;
-				uni.showModal({
-					content: '确定接受该工单?',
-					showCancel: true,
-					success(res) {
-						if (res.confirm) {
-							let postData = {};
-							postData['id'] = that.orderId;
-							http.request({
-								url: '/galaxy-business/order/confirm',
-								method: 'POST',
-								data: postData
-							}).then(res => {
-								console.log(res)
-								if (res.success) {
-									uni.showModal({
-										content: '已接单,是否立即填报?',
-										showCancel: true,
-										cancelText: "返回",
-										success(res) {
-											if (res.confirm) {
-												that.toOrderProcessReport();
-											} else {
-												that.toBack();
-											}
-										}
-									});
-								}
-							}).catch(err => {
-								console.log(err)
-							})
-						}
-					}
-				});
-			},
-			toOrderProcessReport() {
-				var url = '/pages/check-order/orderprocessreport?orderId=' + this.id + '&skipPage=2';
-				uni.navigateTo({
-					url: url
-				})
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.view-btn {
-		margin-top: 20px;
-		margin-bottom: 20px;
-		padding-left: 10px;
-		padding-right: 10px;
-	}
-
-	.line-space {
-		margin-top: 4px;
-	}
+<!--
+ * @Title: 
+ * @Description: 任务确认
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="wrap">
+		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
+			@clickLeft="toBack">
+			<view class="nav-title">
+				<text>{{title}}</text>
+			</view>
+		</uni-nav-bar>
+		<view class="container">
+			<view class="view-btn">
+				<button style="background-color: lightcoral;" type="default" @click="toOrderConfirm()">确认</button>
+			</view>
+			<uni-section title="工单详情" titleFontSize="0.8rem" type="circle">
+				<uni-card title="创建人">
+					<view class="items-line">
+						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">
+							{{orderInfo.createOrderPersonName}}
+						</view>
+					</view>
+				</uni-card>
+				<uni-card title="创建时间">
+					<view class="items-line">
+						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">
+							{{orderInfo.createTime}}
+						</view>
+					</view>
+				</uni-card>
+				<uni-card title="问题描述">
+					<view class="items-line">
+						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">
+							{{orderInfo.orderDesc}}
+						</view>
+					</view>
+				</uni-card>
+				<uni-card title="工单照片">
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(path, index) in orderInfo.orderPhotoList" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="image-box">
+											<image :src="toOss(path)" mode="widthFix" @click="openPhoto(path)">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card title="工单视频" sub-title="点击视频图标可进行播放预览">
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in orderInfo.orderVideoList" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="image-box">
+											<image :src="videoImg" mode="widthFix" @click="openVideo(item)">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+			</uni-section>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	import {
+		oss,
+	} from '@/common/setting';
+	export default {
+		components: {
+
+		},
+		data() {
+			return {
+				title: '接单',
+				orderId: '',
+				orderInfo: {
+					createOrderPersonName: '',
+					createTime: '',
+					orderDesc: '',
+				},
+				orderType: 1,
+				videoImg: '/static/images/video.png',
+			}
+		},
+		computed: {},
+		onLoad(option) {
+			this.orderId = option.orderId;
+			this.getDetail();
+		},
+		onShow() {},
+		methods: {
+			toOss(url) {
+				return oss + url;
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			openPhoto(file) {
+				let url = '/pages/check-order/photoView?url=' + file;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			openVideo(file) {
+				let url = '/pages/check-order/videoView?url=' + file;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			getDetail() {
+				let that = this;
+				let postData = {};
+				postData['id'] = this.orderId;
+				http.request({
+					url: '/galaxy-business/order/detail',
+					method: 'GET',
+					data: postData
+				}).then(res => {
+					console.log(res)
+					if (res.data != null) {
+						that.orderInfo = res.data;
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			toOrderConfirm() {
+				let that = this;
+				uni.showModal({
+					content: '确定接受该工单?',
+					showCancel: true,
+					success(res) {
+						if (res.confirm) {
+							let postData = {};
+							postData['id'] = that.orderId;
+							http.request({
+								url: '/galaxy-business/order/confirm',
+								method: 'POST',
+								data: postData
+							}).then(res => {
+								console.log(res)
+								if (res.success) {
+									uni.showModal({
+										content: '已接单,是否立即填报?',
+										showCancel: true,
+										cancelText: "返回",
+										success(res) {
+											if (res.confirm) {
+												that.toOrderProcessReport();
+											} else {
+												that.toBack();
+											}
+										}
+									});
+								}
+							}).catch(err => {
+								console.log(err)
+							})
+						}
+					}
+				});
+			},
+			toOrderProcessReport() {
+				var url = '/pages/check-order/orderprocessreport?orderId=' + this.orderId + '&skipPage=2';
+				uni.navigateTo({
+					url: url
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.view-btn {
+		margin-top: 20px;
+		margin-bottom: 20px;
+		padding-left: 10px;
+		padding-right: 10px;
+	}
+
+	.line-space {
+		margin-top: 4px;
+	}
 </style>

+ 32 - 37
pages/check-order/processcheckorderlistview.vue

@@ -15,11 +15,11 @@
 			</view>
 		</uni-nav-bar>
 		<view class="container">
-			<view v-if="permission.orgAdmin && orderClose==0" class="view-flex-inline-center">
+<!-- 			<view v-if="orderClose==0" class="view-flex-inline-center">
 				<view style="width: 90%;margin-top: 20px;margin-bottom: 20px;">
-					<button type="warn" @click="toCancelOrder">取消工单</button>
+					<button type="warn" @click="toCancelOrder()">取消工单</button>
 				</view>
-			</view>
+			</view> -->
 			<view v-if="orderClose==1">
 				<uni-card title="工单评分">
 					<uni-rate :value="orderRate" color="#bbb" active-color="coral" />
@@ -36,20 +36,11 @@
 						</view>
 						<view class="time-info">
 							<view class="time-line">
-								<!-- 工单下发 -->
-								<view v-if="item.orderStatusCode ==2" class="list-item-block">
-									<view class="line" style="padding-left:12px">
-										<view v-if="orderType==1" class="text" style="color: gray;width: 90%;">
-											工单类型:<span style="margin-left: 5px;color: cornflowerblue;">维修工单</span>
-										</view>
-										<view v-else-if="orderType==2" class="text" style="color: gray;width: 90%;">
-											工单类型:<span style="margin-left: 5px;color: cornflowerblue;">服务工单</span>
-										</view>
-										<view v-else></view>
-									</view>
+								<!-- 新工单 -->
+								<view v-if="item.orderStatusCode ==1" class="list-item-block">
 									<view class="line" style="padding-left:12px">
 										<view class="text" style="color: gray;width: 90%;">
-											工单创建人:<span
+											创建人:<span
 												style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
 										</view>
 									</view>
@@ -84,6 +75,15 @@
 										</view>
 									</uni-card>
 								</view>
+								<!-- 工单下发 -->
+								<view v-if="item.orderStatusCode ==2" class="list-item-block">
+									<view class="line" style="padding-left:12px">
+										<view class="text" style="color: gray;width: 90%;">
+											处理人:<span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
+										</view>
+									</view>
+								</view>
 								<!-- 		工单处理中 -->
 								<view v-else-if="item.orderStatusCode ==3" class="list-item-block">
 									<view class="line" style="padding-left:12px">
@@ -92,20 +92,14 @@
 												style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
 										</view>
 									</view>
-									<!-- <view v-if="orderType==1" class="line"> -->
-										<uni-card v-if="orderType==1" title="故障现象描述">
-											<view class="text" style="color: cornflowerblue;">{{item.failureCheckDesc}}
-											</view>
-										</uni-card>
-									<!-- </view> -->
-									<!-- <view v-else-if="orderType==2" class="line"> -->
-										<uni-card v-else-if="orderType==2" title="服务内容描述">
-											<view class="text" style="color: cornflowerblue;">{{item.failureCheckDesc}}
-											</view>
-										</uni-card>
-									<!-- </view> -->
-
-								<!-- 	<view v-else></view> -->
+									<uni-card v-if="orderType==1" title="故障现象描述">
+										<view class="text" style="color: cornflowerblue;">{{item.failureCheckDesc}}
+										</view>
+									</uni-card>
+									<uni-card v-else-if="orderType==2" title="服务内容描述">
+										<view class="text" style="color: cornflowerblue;">{{item.failureCheckDesc}}
+										</view>
+									</uni-card>
 									<uni-card title="解决措施说明">
 										<view class="text" style="color: cornflowerblue;">{{item.processDesc}}
 										</view>
@@ -138,11 +132,12 @@
 										</view> -->
 									</uni-card>
 								</view>
-								<!-- 费用审批 -->
-								<view v-else-if="item.orderStatusCode ==5" class="list-item-block">
+
+								<!-- 关闭审批 -->
+								<view v-else-if="item.orderStatusCode ==7" class="list-item-block">
 									<view class="line" style="padding-left:12px">
 										<view class="text" style="width: 90%;color: gray;">
-											费用审批人:<span
+											审批人:<span
 												style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
 										</view>
 									</view>
@@ -151,19 +146,19 @@
 										</view>
 									</uni-card>
 								</view>
-								<!-- 关闭审批 -->
-								<view v-else-if="item.orderStatusCode ==7" class="list-item-block">
+								<!-- 取消 -->
+<!-- 								<view v-else-if="item.orderStatusCode ==8" class="list-item-block">
 									<view class="line" style="padding-left:12px">
 										<view class="text" style="width: 90%;color: gray;">
-											工单完结审批人:<span
+											处理人:<span
 												style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessUserName}}</span>
 										</view>
 									</view>
-									<uni-card title="审批意见">
+									<uni-card title="取消说明">
 										<view class="text" style="color: cornflowerblue;">{{item.processDesc}}
 										</view>
 									</uni-card>
-								</view>
+								</view> -->
 							</view>
 						</view>
 					</template>

+ 1 - 1
pages/check-order/servicepersoncheckorderlist.vue

@@ -212,7 +212,7 @@
 			},
 			onComfireCheckOrderClick(id) {
 				let url =
-					'/pages/check-order/orderconfirm?id=' + id;
+					'/pages/check-order/order-confirm?id=' + id;
 				uni.navigateTo({
 					url: url
 				})

+ 1 - 1
pages/check-order/uncomfirecheckorderlist.vue

@@ -220,7 +220,7 @@
 			},
 			onComfireCheckOrderClick(id) {
 				let url =
-					'/pages/check-order/orderconfirm?id=' + id;
+					'/pages/check-order/order-confirm?id=' + id;
 				uni.navigateTo({
 					url: url
 				})

+ 2960 - 2861
pages/equipment-inspection/equipmentinspectionreport.vue → pages/equipment-inspection/equipment-inspection-report.vue

@@ -1,2862 +1,2961 @@
-<!--
- * @Title: 
- * @Description: 巡检填报
- * @Author: swp
- * @Date: 2022-08-24 10:49:21
- * @LastEditors: 
- * @LastEditTime: 2022-08-24 10:49:21
--->
-<template>
-	<view class="container">
-		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
-			@clickLeft="toBack">
-			<view class="nav-title">
-				<text>{{title}}</text>
-			</view>
-		</uni-nav-bar>
-		<uni-forms ref="baseForm" :model="formData">
-			<uni-section title="移动网络信号" ftitleFontSize="0.8rem" style="width: 100%;">
-				<template v-slot:decoration>
-					<view class="decoration"></view>
-				</template>
-				<view style="padding-top: 10px;padding-bottom: 10px;padding-left: 15px;padding-right: 15px;">
-					<uni-forms-item name="networkSignalStatus" label="手机网络信号" label-width="130px" required>
-						<uni-data-checkbox v-model="formData.networkSignalStatus" :localdata="ispItems.items">
-						</uni-data-checkbox>
-					</uni-forms-item>
-					<view
-						style="margin-top: 10px;margin-bottom: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.6rem;color:skyblue;">
-						备注:如以下物联网卡信息发生变化,请仔细核对修改</view>
-					<uni-forms-item name='networkPayer' label="物联网卡运营商" label-width="130px">
-						<uni-easyinput v-model="formData.networkPayer" placeholder="请录入物联网卡运营商名称" />
-					</uni-forms-item>
-					<uni-forms-item name='networkSimId' label="物联网卡号" label-width="130px">
-						<uni-easyinput v-model="formData.networkSimId" placeholder="请录入物联网卡号" />
-					</uni-forms-item>
-				</view>
-			</uni-section>
-			<uni-section title="基础信息" titleFontSize="0.8rem" style="width: 100%;">
-				<template v-slot:decoration>
-					<view class="decoration"></view>
-				</template>
-				<view style="padding-top: 10px;padding-bottom: 10px;padding-left: 15px;padding-right: 15px;">
-					<uni-forms-item label="测站名称:" label-width="100px">
-						<view class="view-flex-rs" style="height: 100%;">
-							<view class="view-flex-cc"><text>{{rtuInfo.rtuName}}</text></view>
-						</view>
-					</uni-forms-item>
-					<uni-forms-item label="测站编码:" label-width="100px">
-						<view class="view-flex-rs" style="height: 100%;">
-							<view class="view-flex-cc"><text>{{rtuInfo.rtuCode}}</text></view>
-						</view>
-					</uni-forms-item>
-					<uni-forms-item label="测站类型:" label-width="100px">
-						<view class="view-flex-rs" style="height: 100%;">
-							<view class="view-flex-cc">
-								<text>{{toRtuKind()}}</text>
-							</view>
-						</view>
-					</uni-forms-item>
-				</view>
-			</uni-section>
-			<uni-section title="地理信息" titleFontSize="0.8rem" style="width: 100%;">
-				<template v-slot:decoration>
-					<view class="decoration"></view>
-				</template>
-				<view style="padding-top: 10px;padding-bottom: 10px;padding-left: 15px;padding-right: 15px;">
-					<!-- <view style="margin-bottom: 10px;font-size: 0.7rem;color:lightcoral;">备注:以下信息可以进行修改</view> -->
-					<uni-forms-item label="测站安装地址:" label-width="100px">
-						<view class="view-flex-rs" style="height: 100%;">
-							<view class="view-flex-cc"><text>{{data.locationDesc}}</text></view>
-						</view>
-					</uni-forms-item>
-					<uni-forms-item label="经纬度:" label-width="100px">
-						<view class="view-flex-rs" style="height: 100%;">
-							<view class="view-flex-cc"><text>{{data.lng}}/{{data.lat}}</text></view>
-						</view>
-					</uni-forms-item>
-				</view>
-			</uni-section>
-			<uni-section title="站点状态检查" titleFontSize="0.8rem" style="width: 100%;">
-				<template v-slot:decoration>
-					<view class="decoration"></view>
-				</template>
-				<uni-card title="检查项(单选)" :is-shadow="false">
-					<radio-group @change="onSiteCheckStatusRadioChange" class="view-flex-rs">
-						<label style="margin-right: 10px;width:80px" class="view-flex-rs"
-							v-for="(item, index) in data.siteCheckStatus.items" :key="item.id">
-							<view>
-								<radio :value="item.id" :checked="index === data.siteCheckStatus.current" />
-							</view>
-							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
-						</label>
-					</radio-group>
-				</uni-card>
-				<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
-					<view
-						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
-						备注:必填项,至少要拍一张照片</view>
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.siteCheckPhotos" :key="index" class="view-flex-cc"
-							style="width: 100px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onSiteCheckPhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onSiteCheckPhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card title="站点检查补充说明:" :is-shadow="false">
-					<uni-easyinput type="textarea" v-model="data.siteCheckRemark" placeholder="请输入站点检查补充说明" />
-				</uni-card>
-			</uni-section>
-			<uni-section v-if="rtuInfo.isRain" title="雨量站检查" titleFontSize="0.8rem" style="width: 100%;">
-				<template v-slot:decoration>
-					<view class="decoration"></view>
-				</template>
-				<uni-card title="检查项(多选)" :is-shadow="false">
-					<checkbox-group @change="onRainSiteCheckboxChange" class="view-flex-rs">
-						<label class="view-flex-rs" style="margin-right: 10px;font-size: 0.7rem;"
-							v-for="(item, index) in data.rainSiteCheckItems.items" :key="item.id">
-							<view>
-								<checkbox v-if="item.checked" :value="item.id" checked="true" />
-								<checkbox v-else :value="item.id" />
-							</view>
-							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
-						</label>
-					</checkbox-group>
-				</uni-card>
-				<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.rainSiteCheckPhotos" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onRainSitePhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onRainSiteCheckPhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card title="巡检结果" :is-shadow="false">
-					<radio-group @change="onRainSiteCheckStatusRadioChange" class="view-flex-rs">
-						<label style="margin-right: 10px;width:80px" class="view-flex-rs"
-							v-for="(item, index) in data.rainSiteCheckStatus.items" :key="item.id">
-							<view>
-								<radio :value="item.id" :checked="index === data.rainSiteCheckStatus.current" />
-							</view>
-							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
-						</label>
-					</radio-group>
-				</uni-card>
-				<uni-card title="雨量站检查补充说明:" :is-shadow="false">
-					<uni-easyinput type="textarea" v-model="data.rainSiteCheckRemark" placeholder="请输入雨量站检查补充说明" />
-				</uni-card>
-			</uni-section>
-			<uni-section v-if="rtuInfo.isRiver || rtuInfo.isRes" title="水位站检查" titleFontSize="0.8rem"
-				style="width: 100%;">
-				<template v-slot:decoration>
-					<view class="decoration"></view>
-				</template>
-				<uni-card title="检查项(多选)" :is-shadow="false">
-					<checkbox-group @change="onWaterSiteCheckboxChange" class="view-flex-rs">
-						<label class="view-flex-rs" style="margin-right: 10px;font-size: 0.7rem;"
-							v-for="(item, index) in data.waterSiteCheckItems.items" :key="item.id">
-							<view>
-								<checkbox v-if="item.checked" :value="item.id" checked="true" />
-								<checkbox v-else :value="item.id" />
-							</view>
-							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
-						</label>
-					</checkbox-group>
-				</uni-card>
-				<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.waterSiteCheckPhotos" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onWaterSitePhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onWaterSiteCheckPhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card title="巡检结果" :is-shadow="false">
-					<radio-group @change="onWaterSiteCheckStatusRadioChange" class="view-flex-rs">
-						<label style="margin-right: 10px;width:80px" class="view-flex-rs"
-							v-for="(item, index) in data.waterSiteCheckStatus.items" :key="item.id">
-							<view>
-								<radio :value="item.id" :checked="index === data.waterSiteCheckStatus.current" />
-							</view>
-							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
-						</label>
-					</radio-group>
-				</uni-card>
-				<uni-card title="水位站检查补充说明:" :is-shadow="false">
-					<uni-easyinput type="textarea" v-model="data.waterSiteCheckRemark" placeholder="请输入水位站检查补充说明" />
-				</uni-card>
-			</uni-section>
-			<uni-section v-if="rtuInfo.isGround" title="墒情站检查" titleFontSize="0.8rem" style="width: 100%;">
-				<template v-slot:decoration>
-					<view class="decoration"></view>
-				</template>
-				<uni-card title="检查项(多选)" :is-shadow="false">
-					<checkbox-group @change="onGroundSiteCheckboxChange" class="view-flex-rs">
-						<label class="view-flex-rs" style="margin-right: 10px;font-size: 0.7rem;"
-							v-for="(item, index) in data.groundSiteCheckItems.items" :key="item.id">
-							<view>
-								<checkbox v-if="item.checked" :value="item.id" checked="true" />
-								<checkbox v-else :value="item.id" />
-							</view>
-							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
-						</label>
-					</checkbox-group>
-				</uni-card>
-				<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.groundSiteCheckPhotos" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onGroundSitePhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onGroundSiteCheckPhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card title="巡检结果" :is-shadow="false">
-					<radio-group @change="onGroundSiteCheckStatusRadioChange" class="view-flex-rs">
-						<label style="margin-right: 10px;width:80px" class="view-flex-rs"
-							v-for="(item, index) in data.groundSiteCheckStatus.items" :key="item.id">
-							<view>
-								<radio :value="item.id" :checked="index === data.groundSiteCheckStatus.current" />
-							</view>
-							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
-						</label>
-					</radio-group>
-				</uni-card>
-				<uni-card title="墒情站检查补充说明:" :is-shadow="false">
-					<uni-easyinput type="textarea" v-model="data.groundSiteCheckRemark" placeholder="请输入墒情站检查补充说明" />
-				</uni-card>
-			</uni-section>
-			<uni-section title="其他设备检查" titleFontSize="0.8rem" style="width: 100%;">
-				<template v-slot:decoration>
-					<view class="decoration"></view>
-				</template>
-				<uni-card title="检查项(多选)" :is-shadow="false">
-					<checkbox-group @change="onOthersEquipmentCheckboxChange" class="view-flex-rs-flex-wrap">
-						<label class="view-flex-rs"
-							style="width: 140px;margin-bottom: 10px;margin-right: 10px;font-size: 0.7rem;"
-							v-for="(item, index) in data.othersEquipmentCheckItems.items" :key="item.id">
-							<view>
-								<checkbox v-if="item.checked" :value="item.id" checked="true" />
-								<checkbox v-else :value="item.id" />
-							</view>
-							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
-						</label>
-					</checkbox-group>
-				</uni-card>
-				<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.othersEquipmentCheckPhotos" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onOthersEquipmentPhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onOthersEquipmentCheckPhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card title="巡检结果" :is-shadow="false">
-					<radio-group @change="onOthersEquipmentCheckStatusRadioChange" class="view-flex-rs">
-						<label style="margin-right: 10px;width:80px" class="view-flex-rs"
-							v-for="(item, index) in data.othersEquipmentCheckStatus.items" :key="item.id">
-							<view>
-								<radio :value="item.id" :checked="index === data.othersEquipmentCheckStatus.current" />
-							</view>
-							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
-						</label>
-					</radio-group>
-				</uni-card>
-				<uni-card title="其他设备检查补充说明:" :is-shadow="false">
-					<uni-easyinput type="textarea" v-model="data.othersEquipmentCheckRemark"
-						placeholder="请输入其他设备检查补充说明" />
-				</uni-card>
-			</uni-section>
-			<uni-section title="设备更换" titleFontSize="0.8rem" style="width: 100%;">
-				<template v-slot:decoration>
-					<view class="decoration"></view>
-				</template>
-				<uni-card title="设备项(多选)" :is-shadow="false">
-					<checkbox-group @change="onEquipmentReplaceCheckboxChange" class="view-flex-rs-flex-wrap">
-						<label class="view-flex-rs"
-							style="width: 140px;margin-bottom: 10px;margin-right: 10px;font-size: 0.7rem;"
-							v-for="(item, index) in data.equipmentsReplaceItems.items" :key="item.id">
-							<view>
-								<checkbox v-if="item.checked" :value="item.id" checked="true" />
-								<checkbox v-else :value="item.id" />
-							</view>
-							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
-						</label>
-					</checkbox-group>
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.rtuReplace" title="RTU型号说明" :is-shadow="false">
-					<uni-easyinput v-model="data.rtuModelRemark" placeholder="请录入RTU型号说明" />
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.rtuReplace" title="RTU更换照片" extra="点击下方按钮开始拍摄"
-					:is-shadow="false">
-					<view
-						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
-						备注:必填项</view>
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.rtuReplacePhotos" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onRtuReplacePhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onRtuReplacePhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.rainSensorReplace" title="雨量计型号说明"
-					:is-shadow="false">
-					<uni-easyinput v-model="data.rainSensorModelRemark" placeholder="请录入雨量计型号说明" />
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.rainSensorReplace" title="雨量计更换照片"
-					extra="点击下方按钮开始拍摄" :is-shadow="false">
-					<view
-						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
-						备注:必填项</view>
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.rainSensorReplacePhotos" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onRainSensorReplacePhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onRainSensorReplacePhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.waterSensorReplace" title="水位计型号说明"
-					:is-shadow="false">
-					<uni-easyinput v-model="data.waterSensorModelRemark" placeholder="请录入水位计型号说明" />
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.waterSensorReplace" title="水位计更换照片"
-					extra="点击下方按钮开始拍摄" :is-shadow="false">
-					<view
-						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
-						备注:必填项</view>
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.waterSensorReplacePhotos" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onWaterSensorReplacePhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onWaterSensorReplacePhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.groundSensorReplace" title="墒情计型号说明"
-					:is-shadow="false">
-					<uni-easyinput v-model="data.groundSensorModelRemark" placeholder="请录入墒情计型号说明" />
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.groundSensorReplace" title="墒情计更换照片"
-					extra="点击下方按钮开始拍摄" :is-shadow="false">
-					<view
-						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
-						备注:必填项</view>
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.groundSensorReplacePhotos" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onGroundSensorReplacePhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onGroundSensorReplacePhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.batteryReplace" title="蓄电池型号说明" :is-shadow="false">
-					<uni-easyinput v-model="data.batteryModelRemark" placeholder="请录入蓄电池型号说明" />
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.batteryReplace" title="蓄电池更换照片" extra="点击下方按钮开始拍摄"
-					:is-shadow="false">
-					<view
-						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
-						备注:必填项</view>
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.batteryReplacePhotos" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onBatteryReplacePhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onBatteryReplacePhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.sunPowerReplace" title="太阳能板型号说明"
-					:is-shadow="false">
-					<uni-easyinput v-model="data.sunPowerModelRemark" placeholder="请录入太阳能板型号说明" />
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.sunPowerReplace" title="太阳能板更换照片" extra="点击下方按钮开始拍摄"
-					:is-shadow="false">
-					<view
-						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
-						备注:必填项</view>
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.sunPowerReplacePhotos" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onSunPowerReplacePhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onSunPowerReplacePhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.batteryControllerReplace" title="充电控制器型号说明"
-					:is-shadow="false">
-					<uni-easyinput v-model="data.batteryControlModelRemark" placeholder="请录入充电控制器型号说明" />
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.batteryControllerReplace" title="充电控制器更换照片"
-					extra="点击下方按钮开始拍摄" :is-shadow="false">
-					<view
-						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
-						备注:必填项</view>
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.batteryControlReplacePhotos" :key="index"
-							class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onBatteryControllerReplacePhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onBatteryControllerReplacePhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace" title="其他设备说明"
-					:is-shadow="false">
-					<uni-easyinput v-model="data.otherEquipmentModelRemark" placeholder="请录入其他设备说明" />
-				</uni-card>
-				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace" title="其他设备更换照片"
-					extra="点击下方按钮开始拍摄" :is-shadow="false">
-					<view
-						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
-						备注:必填项</view>
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.otherEquipmentReplacePhotos" :key="index"
-							class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onOtherEquipmentReplacePhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onOtherEquipmentReplacePhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-			</uni-section>
-			<uni-section title="遗留问题补充说明" titleFontSize="0.8rem" style="width: 100%;">
-				<template v-slot:decoration>
-					<view class="decoration"></view>
-				</template>
-				<view style="padding-top: 10px;padding-bottom: 10px;padding-left: 15px;padding-right: 15px;">
-					<uni-easyinput type="textarea" v-model="data.inspectionRemainProblemsRemark"
-						placeholder="请输入遗留问题补充说明" />
-				</view>
-			</uni-section>
-			<uni-section title="巡检工作留存照片" titleFontSize="0.8rem" style="width: 100%;">
-				<template v-slot:decoration>
-					<view class="decoration"></view>
-				</template>
-				<view
-					style="padding-top: 10px;padding-left: 15px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
-					备注:必填项,至少要拍一张整体的站点照片</view>
-				<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
-					<view class="view-flex-rs-flex-wrap">
-						<view v-for="(item, index) in data.inspectionWorkPhotos" :key="index" class="view-flex-cc"
-							style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item">
-										<view class="close-icon" @click="onInspectionWorkPhotoDel(index)">
-											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-										</view>
-										<view class="image-box">
-											<image :src="toOss(item)" mode="widthFix">
-											</image>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-						<view class="view-flex-cc" style="width: 80px;">
-							<view class="img-container">
-								<view class="note-image-box">
-									<view class="note-image-item" @click="onInspectionWorkCheckPhotoAdd()">
-										<view class="image-box">
-											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-										</view>
-									</view>
-								</view>
-							</view>
-						</view>
-					</view>
-				</uni-card>
-			</uni-section>
-		</uni-forms>
-	
-		<view class="footer">
-			<view class="control">
-				<view class="view-flex-rc">
-					<view class="block"
-						style="width: 120px;height:28px;margin-left: 10px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-						@click="toSave()">
-						<view class="view-flex-cc">
-							<uni-icons class="input-uni-icon" type="folder-add" size="18" color="#999" />
-						</view>
-						<view class="view-flex-cc" style="padding-left:5px;">
-							<text style="color:black;font-size:0.7rem">暂存</text>
-						</view>
-					</view>
-					<view class="block"
-						style="width: 120px;height:28px;margin-left: 10px;margin-right: 10px;border-radius:7px;background-color:lightpink"
-						@click="toSubmit()">
-						<view class="view-flex-cc">
-							<uni-icons class="input-uni-icon" type="checkmarkempty" size="18" color="#999" />
-						</view>
-						<view class="view-flex-cc" style="padding-left:5px;">
-							<text style="color:black;font-size:0.7rem">立即提交</text>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import http from '@/http/api.js';
-	import {
-		pathToBase64,
-		base64ToPath
-	} from '@/js_sdk/mmmm-image-tools/index.js';
-	import {
-		oss,
-		devUrl,
-		prodUrl
-	} from '@/common/setting';
-
-	export default {
-		components: {
-
-		},
-		data() {
-			return {
-				formData: {
-
-				},
-				rules: {
-					networkSignalStatus: {
-						rules: [{
-							required: true,
-							errorMessage: '必填项,请选择手机网络信号',
-						}]
-					},
-				},
-				title: '设备巡检填报',
-				baseURL: '',
-				baseOSS: '',
-				rtuCode: '',
-				ispItems: {
-					items: [{
-						'value': 0,
-						'text': '正常'
-					}, {
-						'value': 1,
-						'text': '三大运营商均无信号'
-					}],
-					current: -1,
-				},
-				rtuInfo: {
-					isRain: 0,
-					isRiver: 0,
-					isRes: 0,
-					isGround: 0,
-					rtuCode: '',
-					rtuName: '',
-					lng: '',
-					lat: '',
-					locationDesc: '',
-					isRain: false,
-					isWaterLevel: false,
-					isGround: false,
-					isCamera: false,
-				},
-				data: {
-					lng: '',
-					lat: '',
-					locationDesc: '',
-					//站点状态检查项
-					siteCheckStatus: {
-						items: [{
-							'id': '0',
-							'dictValue': '水毁'
-						}, {
-							'id': '1',
-							'dictValue': '丢失'
-						}, {
-							'id': '2',
-							'dictValue': '损坏'
-						}, {
-							'value': '3',
-							'dictValue': '正常'
-						}],
-						current: 3,
-					},
-					siteCheckPhotos: [],
-					siteCheckRemark: '',
-					//雨量站检查数据
-					rainSiteCheckItems: {
-						items: [{
-							'id': '0',
-							'checked': false,
-							'dictValue': '故障排查'
-						}, {
-							'id': '1',
-							'checked': false,
-							'dictValue': '清理堵塞'
-						}, {
-							'id': '2',
-							'checked': false,
-							'dictValue': '雨量计校核'
-						}],
-						current: -1,
-					},
-					rainSiteCheckItemsCheckBox: {
-						equipmentFaultCheck: 0,
-						equipmentClear: 0,
-						rainSensorCheck: 0,
-					},
-					rainSiteCheckPhotos: [],
-					rainSiteCheckStatus: {
-						items: [{
-							'id': '0',
-							'dictValue': '异常'
-						}, {
-							'id': '1',
-							'dictValue': '正常'
-						}],
-						current: 1,
-					},
-					rainSiteCheckRemark: '',
-					//水位站检查数据
-					waterSiteCheckItems: {
-						items: [{
-							'id': '0',
-							'checked': false,
-							'dictValue': '故障排查'
-						}, {
-							'id': '1',
-							'checked': false,
-							'dictValue': '水位计校核'
-						}],
-						current: -1,
-					},
-					waterSiteCheckItemsCheckBox: {
-						equipmentFaultCheck: 0,
-						waterSensorCheck: 0,
-					},
-					waterSiteCheckPhotos: [],
-					waterSiteCheckStatus: {
-						items: [{
-							'id': '0',
-							'dictValue': '异常'
-						}, {
-							'id': '1',
-							'dictValue': '正常'
-						}],
-						current: 1,
-					},
-					waterSiteCheckRemark: '',
-					//墒情站检查数据
-					groundSiteCheckItems: {
-						items: [{
-							'id': '0',
-							'checked': false,
-							'dictValue': '故障排查'
-						}, {
-							'id': '1',
-							'checked': false,
-							'dictValue': '墒情计校核'
-						}],
-						current: -1,
-					},
-					groundSiteCheckItemsCheckBox: {
-						equipmentFaultCheck: 0,
-						groundSensorCheck: 0,
-					},
-					groundSiteCheckPhotos: [],
-					groundSiteCheckStatus: {
-						items: [{
-							'id': '0',
-							'dictValue': '异常'
-						}, {
-							'id': '1',
-							'dictValue': '正常'
-						}],
-						current: 1,
-					},
-					groundSiteCheckRemark: '',
-					//其他设备检查
-					othersEquipmentCheckItems: {
-						items: [{
-							'id': '0',
-							'checked': false,
-							'dictValue': '设备接地检测'
-						}, {
-							'id': '1',
-							'checked': false,
-							'dictValue': '电源电压检测'
-						}, {
-							'id': '2',
-							'checked': false,
-							'dictValue': '太阳能板检查'
-						}, {
-							'id': '3',
-							'checked': false,
-							'dictValue': '蓄电池检查'
-						}, {
-							'id': '4',
-							'checked': false,
-							'dictValue': '网络通信检查'
-						}],
-						current: -1,
-					},
-					othersEquipmentCheckItemsCheckBox: {
-						equipmentGroundWireCheck: 0,
-						bvCheck: 0,
-						sunPowerCheck: 0,
-						btCheck: 0,
-						netCheck: 0,
-					},
-					othersEquipmentCheckPhotos: [],
-					othersEquipmentCheckStatus: {
-						items: [{
-							'id': '0',
-							'dictValue': '异常'
-						}, {
-							'id': '1',
-							'dictValue': '正常'
-						}],
-						current: 1,
-					},
-					othersEquipmentCheckRemark: '',
-					//设备替换
-					equipmentsReplaceItems: {
-						items: [{
-							'id': '0',
-							'checked': false,
-							'dictValue': 'RTU'
-						}, {
-							'id': '1',
-							'checked': false,
-							'dictValue': '雨量计'
-						}, {
-							'id': '2',
-							'checked': false,
-							'dictValue': '水位计'
-						}, {
-							'id': '3',
-							'checked': false,
-							'dictValue': '墒情计'
-						}, {
-							'id': '4',
-							'checked': false,
-							'dictValue': '蓄电池'
-						}, {
-							'id': '5',
-							'checked': false,
-							'dictValue': '太阳能板'
-						}, {
-							'id': '6',
-							'checked': false,
-							'dictValue': '充电控制器'
-						}, {
-							'id': '7',
-							'checked': false,
-							'dictValue': '其他'
-						}],
-						current: -1,
-					},
-					equipmentsReplaceItemsCheckBox: {
-						rtuReplace: 0,
-						rainSensorReplace: 0,
-						waterSensorReplace: 0,
-						groundSensorReplace: 0,
-						batteryReplace: 0,
-						sunPowerReplace: 0,
-						batteryControllerReplace: 0,
-						otherEquipmentReplace: 0
-					},
-					rtuModelRemark: '',
-					rtuReplacePhotos: [],
-					rainSensorModelRemark: '',
-					rainSensorReplacePhotos: [],
-					waterSensorModelRemark: '',
-					waterSensorReplacePhotos: [],
-					groundSensorModelRemark: '',
-					groundSensorReplacePhotos: [],
-					batteryModelRemark: '',
-					batteryReplacePhotos: [],
-					sunPowerModelRemark: '',
-					sunPowerReplacePhotos: [],
-					batteryControlModelRemark: '',
-					batteryControlReplacePhotos: [],
-					otherEquipmentModelRemark: '',
-					otherEquipmentReplacePhotos: [],
-					//巡检遗留问题描述
-					inspectionRemainProblemsRemark: '',
-					//工作留存数据
-					inspectionWorkPhotos: [],
-				},
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {},
-		created() {},
-		onReady() {
-			console.log("onReady++++++++++++++")
-			// 需要在onReady中设置规则
-			this.$refs.baseForm.setRules(this.rules)
-		},
-		onLoad(options) {
-			this.rtuCode = options.rtuCode;
-			this.baseOSS = oss;
-			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
-			this.loadRtuInfo();
-		},
-		methods: {
-			toOss(path) {
-				let url = this.baseOSS + path;
-				return url;
-			},
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			getDetail() {
-				console.log("ddddddddddddddddddddd")
-				//this.formData.networkSimId='1111'
-				let that = this;
-				let postData = {};
-				postData['id'] = this.orderId;
-				http.request({
-					url: '/galaxy-business/rtu/check/order/detail',
-					method: 'GET',
-					data: postData
-				}).then(res => {
-					console.log("ddddddddddddddddddddd " + JSON.stringify(res.data))
-					//if (res.data != null) {
-					let p = {};
-					p['networkSimId'] = res.data.networkSimId;
-					p['networkPayer'] = res.data.networkPayer;
-					that.formData = p;
-					//}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			toRtuKind() {
-				let htmltext = '';
-				if (this.rtuInfo.isRain === 1) {
-					htmltext = htmltext + "雨量站";
-				}
-				if (this.rtuInfo.isRiver == 1 || this.rtuInfo.isRes == 1) {
-					if (htmltext.length > 0) {
-						htmltext = htmltext + ' / ';
-					}
-					htmltext = htmltext + '水位站';
-				}
-				if (this.rtuInfo.isGround == 1) {
-					if (htmltext.length > 0) {
-						htmltext = htmltext + ' / ';
-					}
-					htmltext = htmltext + '墒情站';
-				}
-				if (this.rtuInfo.isVideo == 1) {
-					if (htmltext.length > 0) {
-						htmltext = htmltext + ' / ';
-					}
-					htmltext = htmltext + '视频站';
-				}
-				return htmltext;
-			},
-			loadCacheData() {
-				let formdata = uni.getStorageSync('inspection_report_storage_' + this.rtuCode);
-				if (null != formdata && '' != formdata) {
-					this.data = formdata;
-
-					let p = {};
-					p['networkSignalStatus'] = formdata.networkSignalStatus;
-					p['networkSimId'] = formdata.networkSimId;
-					p['networkPayer'] = formdata.networkPayer;
-					that.formData = p;
-
-					//雨位计
-					if (this.data.rainSiteCheckItemsCheckBox.equipmentFaultCheck == 1) {
-						this.data.rainSiteCheckItems.items[0].checked = true;
-					}
-					if (this.data.rainSiteCheckItemsCheckBox.equipmentClear == 1) {
-						this.data.rainSiteCheckItems.items[1].checked = true;
-					}
-					if (this.data.rainSiteCheckItemsCheckBox.rainSensorCheck == 1) {
-						this.data.rainSiteCheckItems.items[2].checked = true;
-					}
-					//水位计
-					if (this.data.waterSiteCheckItemsCheckBox.equipmentFaultCheck == 1) {
-						this.data.waterSiteCheckItems.items[0].checked = true;
-					}
-					if (this.data.waterSiteCheckItemsCheckBox.waterSensorCheck == 1) {
-						this.data.waterSiteCheckItems.items[1].checked = true;
-					}
-					//墒情计
-					if (this.data.groundSiteCheckItemsCheckBox.equipmentFaultCheck == 1) {
-						this.data.groundSiteCheckItems.items[0].checked = true;
-					}
-					if (this.data.groundSiteCheckItemsCheckBox.groundSensorCheck == 1) {
-						this.data.groundSiteCheckItems.items[1].checked = true;
-					}
-					//其他设备
-					if (this.data.othersEquipmentCheckItemsCheckBox.equipmentGroundWireCheck == 1) {
-						this.data.othersEquipmentCheckItems.items[0].checked = true;
-					}
-					if (this.data.othersEquipmentCheckItemsCheckBox.bvCheck == 1) {
-						this.data.othersEquipmentCheckItems.items[1].checked = true;
-					}
-					if (this.data.othersEquipmentCheckItemsCheckBox.sunPowerCheck == 1) {
-						this.data.othersEquipmentCheckItems.items[2].checked = true;
-					}
-					if (this.data.othersEquipmentCheckItemsCheckBox.btCheck == 1) {
-						this.data.othersEquipmentCheckItems.items[3].checked = true;
-					}
-					if (this.data.othersEquipmentCheckItemsCheckBox.netCheck == 1) {
-						this.data.othersEquipmentCheckItems.items[4].checked = true;
-					}
-					//设备更换
-					if (this.data.equipmentsReplaceItemsCheckBox.rtuReplace == 1) {
-						this.data.equipmentsReplaceItems.items[0].checked = true;
-					}
-					if (this.data.equipmentsReplaceItemsCheckBox.rainSensorReplace == 1) {
-						this.data.equipmentsReplaceItems.items[1].checked = true;
-					}
-					if (this.data.equipmentsReplaceItemsCheckBox.waterSensorReplace == 1) {
-						this.data.equipmentsReplaceItems.items[2].checked = true;
-					}
-					if (this.data.equipmentsReplaceItemsCheckBox.groundSensorReplace == 1) {
-						this.data.equipmentsReplaceItems.items[3].checked = true;
-					}
-					if (this.data.equipmentsReplaceItemsCheckBox.batteryReplace == 1) {
-						this.data.equipmentsReplaceItems.items[4].checked = true;
-					}
-					if (this.data.equipmentsReplaceItemsCheckBox.sunPowerReplace == 1) {
-						this.data.equipmentsReplaceItems.items[5].checked = true;
-					}
-					if (this.data.equipmentsReplaceItemsCheckBox.batteryControllerReplace == 1) {
-						this.data.equipmentsReplaceItems.items[6].checked = true;
-					}
-					if (this.data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace == 1) {
-						this.data.equipmentsReplaceItems.items[7].checked = true;
-					}
-				} else {
-					//this.getDetail();
-				}
-			},
-			clearCache() {
-				uni.removeStorageSync('inspection_report_storage_' + this.rtuCode);
-			},
-			loadRtuInfo() {
-				let that = this;
-				let postData = {};
-				postData['rtuCode'] = this.rtuCode;
-				http.request({
-					url: '/galaxy-business/rtu/base/detail',
-					method: 'GET',
-					data: postData
-				}).then(res => {
-					if (res.data != null) {
-						console.log(JSON.stringify(res.data))
-
-						that.rtuInfo = res.data;
-
-						that.rtuInfo.isRain = 1;
-						that.rtuInfo.isRiver = 1;
-						that.rtuInfo.isRes = 1;
-						that.rtuInfo.isGround = 1;
-
-						that.data['lng'] = that.rtuInfo.lng;
-						that.data['lat'] = that.rtuInfo.lat;
-						that.data['locationDesc'] = that.rtuInfo.locationDesc;
-
-						let p = {};
-						p['networkSimId'] = that.rtuInfo.networkSimId;
-						p['networkPayer'] = that.rtuInfo.networkPayer;
-						that.formData = p;
-						that.loadCacheData();
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			toSave() {
-				let that = this;
-				uni.setStorageSync('inspection_report_storage_' + this.rtuCode, this.data);
-				uni.showModal({
-					content: '已成功缓存,确认返回!',
-					showCancel: true,
-					success(res) {
-						if (res.confirm) {
-							that.toBack();
-						}
-					}
-				});
-			},
-			toSubmit() {
-				let that = this;
-				this.$refs.baseForm.validate().then(res => {
-					console.log('表单数据信息1:', res);
-					//console.log('表单数据信息2:', that.formData);
-					if (that.formData.networkSignalStatus == 0) {
-						let next = false;
-						let msg = '';
-
-						if (that.data.siteCheckPhotos.length > 0) {
-							next = true;
-						} else {
-							next = false;
-							msg = "站点状态检查照片为必填项,请至少要拍一张照片,请检查!";
-						}
-
-						if (next) {
-							if (this.data.equipmentsReplaceItemsCheckBox.rtuReplace == 1) {
-								if (this.data.rtuReplacePhotos.length > 0) {
-									next = true;
-								} else {
-									next = false;
-									msg = "更换RTU设备时,请至少要拍一张照片,请检查!";
-								}
-							}
-						}
-						if (next) {
-							if (this.data.equipmentsReplaceItemsCheckBox.rainSensorReplace == 1) {
-								if (this.data.rainSensorReplacePhotos.length > 0) {
-									next = true;
-								} else {
-									next = false;
-									msg = "更换雨量计时,请至少要拍一张照片,请检查!";
-								}
-							}
-						}
-						if (next) {
-							if (this.data.equipmentsReplaceItemsCheckBox.waterSensorReplace == 1) {
-								if (this.data.waterSensorReplacePhotos.length > 0) {
-									next = true;
-								} else {
-									next = false;
-									msg = "更换水位计时,请至少要拍一张照片,请检查!";
-								}
-							}
-						}
-
-						if (next) {
-							if (this.data.equipmentsReplaceItemsCheckBox.groundSensorReplace == 1) {
-								if (this.data.groundSensorReplacePhotos.length > 0) {
-									next = true;
-								} else {
-									next = false;
-									msg = "更换墒情计时,请至少要拍一张照片,请检查!";
-								}
-							}
-						}
-						if (next) {
-							if (this.data.equipmentsReplaceItemsCheckBox.batteryReplace == 1) {
-								if (this.data.batteryReplacePhotos.length > 0) {
-									next = true;
-								} else {
-									next = false;
-									msg = "更换蓄电池时,请至少要拍一张照片,请检查!";
-								}
-							}
-						}
-						if (next) {
-							if (this.data.equipmentsReplaceItemsCheckBox.sunPowerReplace == 1) {
-								if (this.data.sunPowerReplacePhotos.length > 0) {
-									next = true;
-								} else {
-									next = false;
-									msg = "更换太阳能板时,请至少要拍一张照片,请检查!";
-								}
-							}
-						}
-						if (next) {
-							if (this.data.equipmentsReplaceItemsCheckBox.batteryControllerReplace == 1) {
-								if (this.data.batteryControlReplacePhotos.length > 0) {
-									next = true;
-								} else {
-									next = false;
-									msg = "更换充电控制器时,请至少要拍一张照片,请检查!";
-								}
-							}
-						}
-						if (next) {
-							if (this.data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace == 1) {
-								if (this.data.otherEquipmentReplacePhotos.length > 0) {
-									next = true;
-								} else {
-									next = false;
-									msg = "更换其他设备时,请至少要拍一张照片,请检查!";
-								}
-							}
-						}
-						if (next) {
-							if (that.data.inspectionWorkPhotos.length > 0) {
-								next = true;
-							} else {
-								next = false;
-								msg = "巡检工作留存照片为必填项,请至少要拍一张整体的站点照片,请检查!";
-							}
-						}
-						if (next) {
-							that.submitData();
-						} else {
-							uni.showModal({
-								content: msg,
-								showCancel: false,
-								success(res) {
-									if (res.confirm) {
-
-									}
-								}
-							});
-						}
-					} else {
-						that.submitData();
-					}
-				}).catch(err => {
-					console.log('表单错误信息:', err);
-					uni.showModal({
-						content: "内容填报错误,请根据提示信息检查录入内容!",
-						showCancel: false,
-						success(res) {
-							if (res.confirm) {
-								//that.$refs.baseForm.clearValidate();
-							}
-						}
-					});
-				})
-			},
-			submitData() {
-				let formdata = this.formData;
-				formdata['rtuCode'] = this.rtuCode;
-				formdata['lng'] = this.data.lng;
-				formdata['lat'] = this.data.lat;
-				formdata['locationDesc'] = this.data.locationDesc;
-				formdata['siteCheckItem'] = '' + this.data.siteCheckStatus.current;
-				if (this.data.siteCheckPhotos.length > 0) {
-					let photos = '';
-					for (let i = 0; i < this.data.siteCheckPhotos.length; i++) {
-						if (photos.length > 0) {
-							photos = photos + ',';
-						}
-						photos = photos + this.data.siteCheckPhotos[i];
-					}
-					formdata['siteCheckPhotos'] = photos;
-				}
-				formdata['siteCheckRemark'] = this.data.siteCheckRemark;
-				//雨量站点检查信息
-				if (this.rtuInfo.isRain) {
-					let items = '';
-					if (this.data.rainSiteCheckItemsCheckBox.equipmentFaultCheck == 1) {
-						items = items + '1'
-					} else {
-						items = items + '0';
-					}
-					items = items + ',';
-					if (this.data.rainSiteCheckItemsCheckBox.equipmentClear == 1) {
-						items = items + '1'
-					} else {
-						items = items + '0';
-					}
-					items = items + ',';
-					if (this.data.rainSiteCheckItemsCheckBox.rainSensorCheck == 1) {
-						items = items + '1'
-					} else {
-						items = items + '0';
-					}
-					formdata['rainSiteCheckItem'] = items;
-					if (this.data.rainSiteCheckPhotos.length > 0) {
-						let photos = '';
-						for (let i = 0; i < this.data.rainSiteCheckPhotos.length; i++) {
-							if (photos.length > 0) {
-								photos = photos + ',';
-							}
-							photos = photos + this.data.rainSiteCheckPhotos[i];
-						}
-						formdata['rainSiteCheckPhotos'] = photos;
-					}
-					formdata['rainSiteCheckRemark'] = this.data.rainSiteCheckRemark;
-					formdata['rainSiteCheckResult'] = this.data.rainSiteCheckStatus.current;
-				}
-				//水位站点检查信息
-				if (this.rtuInfo.isRiver || this.rtuInfo.isRes) {
-					let items = '';
-					if (this.data.waterSiteCheckItemsCheckBox.equipmentFaultCheck == 1) {
-						items = items + '1'
-					} else {
-						items = items + '0';
-					}
-					items = items + ',';
-					if (this.data.waterSiteCheckItemsCheckBox.waterSensorCheck == 1) {
-						items = items + '1'
-					} else {
-						items = items + '0';
-					}
-					formdata['waterSiteCheckItem'] = items;
-					if (this.data.waterSiteCheckPhotos.length > 0) {
-						let photos = '';
-						for (let i = 0; i < this.data.waterSiteCheckPhotos.length; i++) {
-							if (photos.length > 0) {
-								photos = photos + ',';
-							}
-							photos = photos + this.data.waterSiteCheckPhotos[i];
-						}
-						formdata['waterSiteCheckPhotos'] = photos;
-					}
-					formdata['waterSiteCheckRemark'] = this.data.waterSiteCheckRemark;
-					formdata['waterSiteCheckResult'] = this.data.waterSiteCheckStatus.current;
-				}
-				//墒情站点检查信息
-				if (this.rtuInfo.isGround) {
-					let items = '';
-					if (this.data.groundSiteCheckItemsCheckBox.equipmentFaultCheck == 1) {
-						items = items + '1'
-					} else {
-						items = items + '0';
-					}
-					items = items + ',';
-					if (this.data.groundSiteCheckItemsCheckBox.groundSensorCheck == 1) {
-						items = items + '1'
-					} else {
-						items = items + '0';
-					}
-					formdata['groundSiteCheckItem'] = items;
-					if (this.data.groundSiteCheckPhotos.length > 0) {
-						let photos = '';
-						for (let i = 0; i < this.data.groundSiteCheckPhotos.length; i++) {
-							if (photos.length > 0) {
-								photos = photos + ',';
-							}
-							photos = photos + this.data.groundSiteCheckPhotos[i];
-						}
-						formdata['groundSiteCheckPhotos'] = photos;
-					}
-					formdata['groundSiteCheckRemark'] = this.data.groundSiteCheckRemark;
-					formdata['groundSiteCheckResult'] = this.data.groundSiteCheckStatus.current;
-				}
-
-				//其他设备检查信息
-
-				let otheritems = '';
-				if (this.data.othersEquipmentCheckItemsCheckBox.equipmentGroundWireCheck == 1) {
-					otheritems = otheritems + '1'
-				} else {
-					otheritems = otheritems + '0';
-				}
-				otheritems = otheritems + ',';
-				if (this.data.othersEquipmentCheckItemsCheckBox.bvCheck == 1) {
-					otheritems = otheritems + '1'
-				} else {
-					otheritems = otheritems + '0';
-				}
-				otheritems = otheritems + ',';
-				if (this.data.othersEquipmentCheckItemsCheckBox.sunPowerCheck == 1) {
-					otheritems = otheritems + '1'
-				} else {
-					otheritems = otheritems + '0';
-				}
-				otheritems = otheritems + ',';
-				if (this.data.othersEquipmentCheckItemsCheckBox.btCheck == 1) {
-					otheritems = otheritems + '1'
-				} else {
-					otheritems = otheritems + '0';
-				}
-				otheritems = otheritems + ',';
-				if (this.data.othersEquipmentCheckItemsCheckBox.netCheck == 1) {
-					otheritems = otheritems + '1'
-				} else {
-					otheritems = otheritems + '0';
-				}
-
-				formdata['otherEquipmentCheckItem'] = otheritems;
-				if (this.data.othersEquipmentCheckPhotos.length > 0) {
-					let photos = '';
-					for (let i = 0; i < this.data.othersEquipmentCheckPhotos.length; i++) {
-						if (photos.length > 0) {
-							photos = photos + ',';
-						}
-						photos = photos + this.data.othersEquipmentCheckPhotos[i];
-					}
-					formdata['otherEquipmentCheckPhotos'] = photos;
-				}
-				formdata['otherEquipmentCheckRemark'] = this.data.othersEquipmentCheckRemark;
-				formdata['otherEquipmentCheckResult'] = this.data.othersEquipmentCheckStatus.current;
-
-				formdata['rtuReplace'] = this.data.equipmentsReplaceItemsCheckBox.rtuReplace;
-				if (this.data.equipmentsReplaceItemsCheckBox.rtuReplace == 1) {
-					formdata['rtuModelRemark'] = this.data.rtuModelRemark;
-					if (this.data.rtuReplacePhotos.length > 0) {
-						let photos = '';
-						for (let i = 0; i < this.data.rtuReplacePhotos.length; i++) {
-							if (photos.length > 0) {
-								photos = photos + ',';
-							}
-							photos = photos + this.data.rtuReplacePhotos[i];
-						}
-						formdata['rtuReplacePhotos'] = photos;
-					}
-				}
-
-				formdata['rainSensorReplace'] = this.data.equipmentsReplaceItemsCheckBox.rainSensorReplace;
-				if (this.data.equipmentsReplaceItemsCheckBox.rainSensorReplace == 1) {
-					formdata['rainSensorModelRemark'] = this.data.rainSensorModelRemark;
-					if (this.data.rainSensorReplacePhotos.length > 0) {
-						let photos = '';
-						for (let i = 0; i < this.data.rainSensorReplacePhotos.length; i++) {
-							if (photos.length > 0) {
-								photos = photos + ',';
-							}
-							photos = photos + this.data.rainSensorReplacePhotos[i];
-						}
-						formdata['rainSensorReplacePhotos'] = photos;
-					}
-				}
-				formdata['waterSensorReplace'] = this.data.equipmentsReplaceItemsCheckBox.waterSensorReplace;
-				if (this.data.equipmentsReplaceItemsCheckBox.waterSensorReplace == 1) {
-					formdata['waterSensorModelRemark'] = this.data.waterSensorModelRemark;
-					if (this.data.waterSensorReplacePhotos.length > 0) {
-						let photos = '';
-						for (let i = 0; i < this.data.waterSensorReplacePhotos.length; i++) {
-							if (photos.length > 0) {
-								photos = photos + ',';
-							}
-							photos = photos + this.data.waterSensorReplacePhotos[i];
-						}
-						formdata['waterSensorReplacePhotos'] = photos;
-					}
-				}
-				formdata['groundSensorReplace'] = this.data.equipmentsReplaceItemsCheckBox.groundSensorReplace;
-				if (this.data.equipmentsReplaceItemsCheckBox.groundSensorReplace == 1) {
-					formdata['groundSensorModelRemark'] = this.data.groundSensorModelRemark;
-					if (this.data.groundSensorReplacePhotos.length > 0) {
-						let photos = '';
-						for (let i = 0; i < this.data.groundSensorReplacePhotos.length; i++) {
-							if (photos.length > 0) {
-								photos = photos + ',';
-							}
-							photos = photos + this.data.groundSensorReplacePhotos[i];
-						}
-						formdata['groundSensorReplacePhotos'] = photos;
-					}
-				}
-				formdata['batteryReplace'] = this.data.equipmentsReplaceItemsCheckBox.batteryReplace;
-				if (this.data.equipmentsReplaceItemsCheckBox.batteryReplace == 1) {
-					formdata['batteryModelRemark'] = this.data.batteryModelRemark;
-					if (this.data.batteryReplacePhotos.length > 0) {
-						let photos = '';
-						for (let i = 0; i < this.data.batteryReplacePhotos.length; i++) {
-							if (photos.length > 0) {
-								photos = photos + ',';
-							}
-							photos = photos + this.data.batteryReplacePhotos[i];
-						}
-						formdata['batteryReplacePhotos'] = photos;
-					}
-				}
-				formdata['sunPowerReplace'] = this.data.equipmentsReplaceItemsCheckBox.sunPowerReplace;
-				if (this.data.equipmentsReplaceItemsCheckBox.sunPowerReplace == 1) {
-					formdata['sunPowerModelRemark'] = this.data.sunPowerModelRemark;
-					if (this.data.sunPowerReplacePhotos.length > 0) {
-						let photos = '';
-						for (let i = 0; i < this.data.sunPowerReplacePhotos.length; i++) {
-							if (photos.length > 0) {
-								photos = photos + ',';
-							}
-							photos = photos + this.data.sunPowerReplacePhotos[i];
-						}
-						formdata['sunPowerReplacePhotos'] = photos;
-					}
-				}
-				formdata['batteryControllerReplace'] = this.data.equipmentsReplaceItemsCheckBox.batteryControllerReplace;
-				if (this.data.equipmentsReplaceItemsCheckBox.batteryControllerReplace == 1) {
-					formdata['batteryControllerModelRemark'] = this.data.batteryControlModelRemark;
-					if (this.data.batteryControlReplacePhotos.length > 0) {
-						let photos = '';
-						for (let i = 0; i < this.data.batteryControlReplacePhotos.length; i++) {
-							if (photos.length > 0) {
-								photos = photos + ',';
-							}
-							photos = photos + this.data.batteryControlReplacePhotos[i];
-						}
-						formdata['batteryControllerReplacePhotos'] = photos;
-					}
-				}
-				formdata['otherEquipmentReplace'] = this.data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace;
-				if (this.data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace == 1) {
-					formdata['otherEquipmentModelRemark'] = this.data.otherEquipmentModelRemark;
-					if (this.data.otherEquipmentReplacePhotos.length > 0) {
-						let photos = '';
-						for (let i = 0; i < this.data.otherEquipmentReplacePhotos.length; i++) {
-							if (photos.length > 0) {
-								photos = photos + ',';
-							}
-							photos = photos + this.data.otherEquipmentReplacePhotos[i];
-						}
-						formdata['otherEquipmentReplacePhotos'] = photos;
-					}
-
-				}
-
-				formdata['remainQuestion'] = this.data.inspectionRemainProblemsRemark;
-				if (this.data.inspectionWorkPhotos.length > 0) {
-					let photos = '';
-					for (let i = 0; i < this.data.inspectionWorkPhotos.length; i++) {
-						if (photos.length > 0) {
-							photos = photos + ',';
-						}
-						photos = photos + this.data.inspectionWorkPhotos[i];
-					}
-					formdata['inspectionWorkPhotos'] = photos;
-				}
-
-				console.log('toSubmit事件:', JSON.stringify(formdata));
-				let that = this;
-				http.request({
-					url: '/galaxy-business/equipment/inspection/report/save',
-					method: 'POST',
-					data: formdata
-				}).then(res => {
-					console.log('res ', JSON.stringify(res));
-					if (res.success) {
-						if (res.data.code == 0) {
-							that.clearCache();
-							uni.showModal({
-								content: '填报信息已成功提交',
-								showCancel: false,
-								success(res) {
-									if (res.confirm) {
-										uni.navigateBack();
-									}
-								}
-							});
-						} else {
-
-							uni.showModal({
-								content: '提交失败',
-								showCancel: false
-							});
-						}
-					} else {
-
-						uni.showModal({
-							content: '提交失败',
-							showCancel: false
-						});
-					}
-				}).catch(err => {
-					//	console.log('errr3',JSON.stringify(err));
-					uni.showModal({
-						content: '' + err.data.msg,
-						showCancel: false
-					});
-				})
-			},
-			//站点状态检查项
-			onSiteCheckStatusRadioChange: function(evt) {
-				for (let i = 0; i < this.data.siteCheckStatus.items.length; i++) {
-					if (this.data.siteCheckStatus.items[i].id === evt.detail.value) {
-						this.data.siteCheckStatus.current = i;
-						break;
-					}
-				}
-			},
-			//雨量站检查项
-			onRainSiteCheckboxChange: function(evt) {
-				this.data.rainSiteCheckItemsCheckBox.equipmentFaultCheck = 0;
-				this.data.rainSiteCheckItemsCheckBox.equipmentClear = 0;
-				this.data.rainSiteCheckItemsCheckBox.rainSensorCheck = 0;
-				for (let i = 0; i < evt.detail.value.length; i++) {
-					let c = evt.detail.value[i];
-					if (c === '0') {
-						this.data.rainSiteCheckItemsCheckBox.equipmentFaultCheck = 1;
-					} else if (c === '1') {
-						this.data.rainSiteCheckItemsCheckBox.equipmentClear = 1;
-					} else if (c === '2') {
-						this.data.rainSiteCheckItemsCheckBox.rainSensorCheck = 1;
-					}
-				}
-			},
-			//雨量站检查结果
-			onRainSiteCheckStatusRadioChange: function(evt) {
-				for (let i = 0; i < this.data.rainSiteCheckStatus.items.length; i++) {
-					if (this.data.rainSiteCheckStatus.items[i].id === evt.detail.value) {
-						this.data.rainSiteCheckStatus.current = i;
-						break;
-					}
-				}
-			},
-			//水位站检查项
-			onWaterSiteCheckboxChange: function(evt) {
-				this.data.waterSiteCheckItemsCheckBox.equipmentFaultCheck = 0;
-				this.data.waterSiteCheckItemsCheckBox.waterSensorCheck = 0;
-				for (let i = 0; i < evt.detail.value.length; i++) {
-					let c = evt.detail.value[i];
-					if (c === '0') {
-						this.data.waterSiteCheckItemsCheckBox.equipmentFaultCheck = 1;
-					} else if (c === '1') {
-						this.data.waterSiteCheckItemsCheckBox.waterSensorCheck = 1;
-					}
-				}
-			},
-			//水位站检查结果
-			onWaterSiteCheckStatusRadioChange: function(evt) {
-				for (let i = 0; i < this.data.waterSiteCheckStatus.items.length; i++) {
-					if (this.data.waterSiteCheckStatus.items[i].id === evt.detail.value) {
-						this.data.waterSiteCheckStatus.current = i;
-						break;
-					}
-				}
-			},
-			//墒情站检查项
-			onGroundSiteCheckboxChange: function(evt) {
-				this.data.groundSiteCheckItemsCheckBox.equipmentFaultCheck = 0;
-				this.data.groundSiteCheckItemsCheckBox.groundSensorCheck = 0;
-				for (let i = 0; i < evt.detail.value.length; i++) {
-					let c = evt.detail.value[i];
-					if (c === '0') {
-						this.data.groundSiteCheckItemsCheckBox.equipmentFaultCheck = 1;
-					} else if (c === '1') {
-						this.data.groundSiteCheckItemsCheckBox.groundSensorCheck = 1;
-					}
-				}
-			},
-			//墒情站检查结果
-			onGroundSiteCheckStatusRadioChange: function(evt) {
-				for (let i = 0; i < this.data.groundSiteCheckStatus.items.length; i++) {
-					if (this.data.groundSiteCheckStatus.items[i].id === evt.detail.value) {
-						this.data.groundSiteCheckStatus.current = i;
-						break;
-					}
-				}
-			},
-			//其他设备检查项
-			onOthersEquipmentCheckboxChange: function(evt) {
-				this.data.othersEquipmentCheckItemsCheckBox.equipmentGroundWireCheck = 0;
-				this.data.othersEquipmentCheckItemsCheckBox.bvCheck = 0;
-				this.data.othersEquipmentCheckItemsCheckBox.sunPowerCheck = 0;
-				this.data.othersEquipmentCheckItemsCheckBox.btCheck = 0;
-				this.data.othersEquipmentCheckItemsCheckBox.netCheck = 0;
-
-				for (let i = 0; i < evt.detail.value.length; i++) {
-					let c = evt.detail.value[i];
-					if (c === '0') {
-						this.data.othersEquipmentCheckItemsCheckBox.equipmentGroundWireCheck = 1;
-					} else if (c === '1') {
-						this.data.othersEquipmentCheckItemsCheckBox.bvCheck = 1;
-					} else if (c === '2') {
-						this.data.othersEquipmentCheckItemsCheckBox.sunPowerCheck = 1;
-					} else if (c === '3') {
-						this.data.othersEquipmentCheckItemsCheckBox.btCheck = 1;
-					} else if (c === '4') {
-						this.data.othersEquipmentCheckItemsCheckBox.netCheck = 1;
-					}
-				}
-			},
-			//其他设备检查结果
-			onOthersEquipmentCheckStatusRadioChange: function(evt) {
-				for (let i = 0; i < this.data.othersEquipmentCheckStatus.items.length; i++) {
-					if (this.data.othersEquipmentCheckStatus.items[i].id === evt.detail.value) {
-						this.data.othersEquipmentCheckStatus.current = i;
-						break;
-					}
-				}
-			},
-			//设备更换
-			onEquipmentReplaceCheckboxChange: function(evt) {
-
-				this.data.equipmentsReplaceItemsCheckBox.rtuReplace = 0;
-				this.data.equipmentsReplaceItemsCheckBox.rainSensorReplace = 0;
-				this.data.equipmentsReplaceItemsCheckBox.waterSensorReplace = 0;
-				this.data.equipmentsReplaceItemsCheckBox.groundSensorReplace = 0;
-				this.data.equipmentsReplaceItemsCheckBox.batteryReplace = 0;
-				this.data.equipmentsReplaceItemsCheckBox.sunPowerReplace = 0;
-				this.data.equipmentsReplaceItemsCheckBox.batteryControllerReplace = 0;
-				this.data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace = 0;
-				for (let i = 0; i < evt.detail.value.length; i++) {
-					let c = evt.detail.value[i];
-					if (c === '0') {
-						this.data.equipmentsReplaceItemsCheckBox.rtuReplace = 1;
-					} else if (c === '1') {
-						this.data.equipmentsReplaceItemsCheckBox.rainSensorReplace = 1;
-					} else if (c === '2') {
-						this.data.equipmentsReplaceItemsCheckBox.waterSensorReplace = 1;
-					} else if (c === '3') {
-						this.data.equipmentsReplaceItemsCheckBox.groundSensorReplace = 1;
-					} else if (c === '4') {
-						this.data.equipmentsReplaceItemsCheckBox.batteryReplace = 1;
-					} else if (c === '5') {
-						this.data.equipmentsReplaceItemsCheckBox.sunPowerReplace = 1;
-					} else if (c === '6') {
-						this.data.equipmentsReplaceItemsCheckBox.batteryControllerReplace = 1;
-					} else if (c === '7') {
-						this.data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace = 1;
-					}
-				}
-			},
-			onSiteCheckPhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadSiteCheckPhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadSiteCheckPhoto(imagePath) {
-				let that = this;
-
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.siteCheckPhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onSiteCheckPhotoDel(index) {
-				this.data.siteCheckPhotos.splice(index, 1);
-
-			},
-			onRainSiteCheckPhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadRainSiteCheckPhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadRainSiteCheckPhoto(imagePath) {
-				let that = this;
-
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.rainSiteCheckPhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onRainSitePhotoDel(index) {
-				this.data.rainSiteCheckPhotos.splice(index, 1);
-
-			},
-			onWaterSiteCheckPhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadWaterSiteCheckPhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadWaterSiteCheckPhoto(imagePath) {
-				let that = this;
-
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.waterSiteCheckPhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onWaterSitePhotoDel(index) {
-				this.data.waterSiteCheckPhotos.splice(index, 1);
-
-			},
-			onGroundSiteCheckPhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadGroundSiteCheckPhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadGroundSiteCheckPhoto(imagePath) {
-				let that = this;
-
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.groundSiteCheckPhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onGroundSitePhotoDel(index) {
-				this.data.groundSiteCheckPhotos.splice(index, 1);
-
-			},
-			onOthersEquipmentCheckPhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadOthersEquipmentCheckPhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadOthersEquipmentCheckPhoto(imagePath) {
-				let that = this;
-
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.othersEquipmentCheckPhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onOthersEquipmentPhotoDel(index) {
-				this.data.othersEquipmentCheckPhotos.splice(index, 1);
-
-			},
-			onInspectionWorkCheckPhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadInspectionWorkCheckPhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadInspectionWorkCheckPhoto(imagePath) {
-				let that = this;
-
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.inspectionWorkPhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onInspectionWorkPhotoDel(index) {
-				this.data.inspectionWorkPhotos.splice(index, 1);
-
-			},
-			onRtuReplacePhotoDel(index) {
-				this.data.rtuReplacePhotos.splice(index, 1);
-			},
-			onRtuReplacePhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadRtuReplacePhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadRtuReplacePhoto(imagePath) {
-				let that = this;
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.rtuReplacePhotos.push(path);
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onRainSensorReplacePhotoDel(index) {
-				this.data.rainSensorReplacePhotos.splice(index, 1);
-			},
-			onRainSensorReplacePhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadRainSensorReplacePhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadRainSensorReplacePhoto(imagePath) {
-				let that = this;
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.rainSensorReplacePhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onWaterSensorReplacePhotoDel(index) {
-				this.data.waterSensorReplacePhotos.splice(index, 1);
-			},
-			onWaterSensorReplacePhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadWaterSensorReplacePhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadWaterSensorReplacePhoto(imagePath) {
-				let that = this;
-
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.waterSensorReplacePhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onGroundSensorReplacePhotoDel(index) {
-				this.data.groundSensorReplacePhotos.splice(index, 1);
-			},
-			onGroundSensorReplacePhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadGroundSensorReplacePhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadGroundSensorReplacePhoto(imagePath) {
-				let that = this;
-
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.groundSensorReplacePhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onBatteryReplacePhotoDel(index) {
-				this.data.batteryReplacePhotos.splice(index, 1);
-			},
-			onBatteryReplacePhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadBatteryReplacePhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadBatteryReplacePhoto(imagePath) {
-				let that = this;
-
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.batteryReplacePhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onSunPowerReplacePhotoDel(index) {
-				this.data.sunPowerReplacePhotos.splice(index, 1);
-			},
-			onSunPowerReplacePhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadSunPowerReplacePhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadSunPowerReplacePhoto(imagePath) {
-				let that = this;
-
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.sunPowerReplacePhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onBatteryControllerReplacePhotoDel(index) {
-				this.data.batteryControlReplacePhotos.splice(index, 1);
-			},
-			onBatteryControllerReplacePhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadBatteryControllerReplacePhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadBatteryControllerReplacePhoto(imagePath) {
-				let that = this;
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.batteryControlReplacePhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-			onOtherEquipmentReplacePhotoDel(index) {
-				this.data.otherEquipmentReplacePhotos.splice(index, 1);
-			},
-			onOtherEquipmentReplacePhotoAdd() {
-				let that = this;
-				uni.chooseImage({
-					sourceType: ['camera'],
-					sizeType: ['compressed'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len === 1) {
-							res.tempFilePaths.forEach(path => {
-								that.uploadOtherEquipmentReplacePhoto(path);
-							})
-						} else {
-							uni.showModal({
-								content: '只能选择一张图片,请确认!',
-								showCancel: false
-							});
-						}
-					}
-				})
-			},
-			uploadOtherEquipmentReplacePhoto(imagePath) {
-				let that = this;
-				uni.showLoading({
-					title: '上传中'
-				});
-				uni.uploadFile({
-					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
-						uni.getStorageSync('accessToken'),
-					fileType: 'image',
-					filePath: imagePath,
-					name: 'file',
-					success: (uploadFileRes) => {
-						if (uploadFileRes.statusCode == 200) {
-							let data = JSON.parse(uploadFileRes.data);
-							if (data.success) {
-								let path = data.data['name'];
-								that.data.otherEquipmentReplacePhotos.push(path);
-
-							}
-						}
-					},
-					fail: (err) => {
-						console.log(err);
-						reject('err')
-					},
-					complete() {
-						uni.hideLoading()
-					}
-				});
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.cell-hover-class {
-		background-color: rgb(235, 237, 238);
-	}
-
-	.view-flex-rs {
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-start;
-		align-items: center;
-	}
-
-	.view-flex-rs-flex-wrap {
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-start;
-		flex-wrap: wrap;
-	}
-
-	.view-flex-rc {
-		display: flex;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.view-flex-re {
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-end;
-		align-items: center;
-	}
-
-	.view-flex-cs {
-		display: flex;
-		flex-direction: column;
-		justify-content: flex-start;
-		align-items: center;
-	}
-
-	.view-flex-cc {
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-		align-items: center;
-	}
-
-	.view-flex-ce {
-		display: flex;
-		flex-direction: column;
-		justify-content: flex-end;
-		align-items: center;
-	}
-
-	.line-body {
-		padding-left: 10px;
-		padding-right: 10px;
-	}
-
-	.required-star {
-		color: #FF0000;
-		font-size: 15px;
-		width: 20px;
-		text-align: center;
-		padding-left: 0px;
-		padding-right: 2px;
-	}
-
-	.item-title {
-		color: #909399;
-		font-size: 15px;
-	}
-
-	.mline-text {
-		padding-left: 2px;
-		width: 100%;
-		/* background-color:#909399; */
-		height: 70px;
-		border: 1px solid #FF5A5F;
-		border-radius: 5px;
-	}
-
-	.footer {
-		position: fixed;
-		bottom: 0;
-		left: 0;
-		right: 0;
-		z-index: 1;
-		height: 100rpx;
-		padding: 20rpx;
-		box-sizing: border-box;
-		display: flex;
-		align-items: center;
-		justify-content: flex-end;
-		background-color: whitesmoke;
-
-		.ipt {
-			width: 380rpx;
-			height: 77rpx;
-			background: #f7f7f7;
-			border-radius: 38px;
-			padding: 0 37rpx;
-			box-sizing: border-box;
-			margin-right: 20rpx;
-		}
-
-		.control {
-			flex: 1;
-			display: flex;
-			align-items: center;
-			justify-content: flex-end;
-
-			.block {
-				display: flex;
-				align-items: center;
-				justify-content: center;
-				flex: 1;
-			}
-
-			.icon {
-				height: auto;
-			}
-
-			.c {
-				width: 41rpx;
-				margin-right: 10rpx;
-			}
-
-			.s {
-				width: 36rpx;
-			}
-
-			.t {
-				width: 31rpx;
-			}
-		}
-	}
-
-	.container {
-		padding: 0 0 100rpx;
-	}
-
-	.img-container {
-		margin-bottom: 0px;
-		width: 100px;
-		height: 100px;
-
-		.note-image-box {
-			margin-top: 0px;
-			display: flex;
-			flex-wrap: wrap;
-			padding: 10px;
-
-			.note-image-item {
-				position: relative;
-				width: 100%;
-				height: 0;
-				padding-top: 100%;
-				box-sizing: border-box;
-				// background-color: #18B566;
-
-				.close-icon {
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					position: absolute;
-					right: 0px;
-					top: 0px;
-					width: 22px;
-					height: 22px;
-					border-radius: 50%;
-					background-color: #d5d5d5;
-					z-index: 2;
-				}
-
-				.image-box {
-					display: flex;
-					justify-content: center;
-					align-items: center;
-					position: absolute;
-					top: 0px;
-					right: 0px;
-					border: 0px;
-					left: 0px;
-					border: 1px #eee solid;
-					border-radius: 5px;
-					overflow: hidden;
-					width: 99%;
-					height: 99%;
-
-				}
-
-
-			}
-		}
-	}
-
-	.input-body {
-		background-color: #fff;
-		padding: 10px;
-	}
-
-	.decoration {
-		width: 6px;
-		height: 6px;
-		margin-right: 4px;
-		border-radius: 50%;
-		background-color: cadetblue;
-	}
+<!--
+ * @Title: 
+ * @Description: 巡检填报
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="container">
+		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
+			@clickLeft="toBack">
+			<view class="nav-title">
+				<text>{{title}}</text>
+			</view>
+		</uni-nav-bar>
+		<uni-forms ref="baseForm" :model="formData">
+			<!-- 			<uni-section title="移动网络信号" ftitleFontSize="0.8rem" style="width: 100%;">
+				<template v-slot:decoration>
+					<view class="decoration"></view>
+				</template>
+				<view style="padding-top: 10px;padding-bottom: 10px;padding-left: 15px;padding-right: 15px;">
+					<uni-forms-item name="networkSignalStatus" label="手机网络信号" label-width="130px" required>
+						<uni-data-checkbox v-model="formData.networkSignalStatus" :localdata="ispItems.items">
+						</uni-data-checkbox>
+					</uni-forms-item>
+					<view
+						style="margin-top: 10px;margin-bottom: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.6rem;color:skyblue;">
+						备注:如以下物联网卡信息发生变化,请仔细核对修改</view>
+					<uni-forms-item name='networkPayer' label="物联网卡运营商" label-width="130px">
+						<uni-easyinput v-model="formData.networkPayer" placeholder="请录入物联网卡运营商名称" />
+					</uni-forms-item>
+					<uni-forms-item name='networkSimId' label="物联网卡号" label-width="130px">
+						<uni-easyinput v-model="formData.networkSimId" placeholder="请录入物联网卡号" />
+					</uni-forms-item>
+				</view>
+			</uni-section> -->
+			<!-- 			<uni-section title="基础信息" titleFontSize="0.8rem" style="width: 100%;">
+				<template v-slot:decoration>
+					<view class="decoration"></view>
+				</template>
+				<view style="padding-top: 10px;padding-bottom: 10px;padding-left: 15px;padding-right: 15px;">
+					<uni-forms-item label="测站名称:" label-width="100px">
+						<view class="view-flex-rs" style="height: 100%;">
+							<view class="view-flex-cc"><text>{{rtuInfo.rtuName}}</text></view>
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="测站编码:" label-width="100px">
+						<view class="view-flex-rs" style="height: 100%;">
+							<view class="view-flex-cc"><text>{{rtuInfo.rtuCode}}</text></view>
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="测站类型:" label-width="100px">
+						<view class="view-flex-rs" style="height: 100%;">
+							<view class="view-flex-cc">
+								<text>{{toRtuKind()}}</text>
+							</view>
+						</view>
+					</uni-forms-item>
+				</view>
+			</uni-section> -->
+			<!-- 			<uni-section title="地理信息" titleFontSize="0.8rem" style="width: 100%;">
+				<template v-slot:decoration>
+					<view class="decoration"></view>
+				</template>
+				<view style="padding-top: 10px;padding-bottom: 10px;padding-left: 15px;padding-right: 15px;">
+				
+					<uni-forms-item label="测站安装地址:" label-width="100px">
+						<view class="view-flex-rs" style="height: 100%;">
+							<view class="view-flex-cc"><text>{{data.locationDesc}}</text></view>
+						</view>
+					</uni-forms-item>
+					<uni-forms-item label="经纬度:" label-width="100px">
+						<view class="view-flex-rs" style="height: 100%;">
+							<view class="view-flex-cc"><text>{{data.lng}}/{{data.lat}}</text></view>
+						</view>
+					</uni-forms-item>
+				</view>
+			</uni-section> -->
+			<!-- 			<uni-section title="站点状态检查" titleFontSize="0.8rem" style="width: 100%;">
+				<template v-slot:decoration>
+					<view class="decoration"></view>
+				</template>
+				<uni-card title="检查项(单选)" :is-shadow="false">
+					<radio-group @change="onSiteCheckStatusRadioChange" class="view-flex-rs">
+						<label style="margin-right: 10px;width:80px" class="view-flex-rs"
+							v-for="(item, index) in data.siteCheckStatus.items" :key="item.id">
+							<view>
+								<radio :value="item.id" :checked="index === data.siteCheckStatus.current" />
+							</view>
+							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
+						</label>
+					</radio-group>
+				</uni-card>
+				<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
+					<view
+						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
+						备注:必填项,至少要拍一张照片</view>
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.siteCheckPhotos" :key="index" class="view-flex-cc"
+							style="width: 100px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onSiteCheckPhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onSiteCheckPhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card title="站点检查补充说明:" :is-shadow="false">
+					<uni-easyinput type="textarea" v-model="data.siteCheckRemark" placeholder="请输入站点检查补充说明" />
+				</uni-card>
+			</uni-section> -->
+			<!-- 			<uni-section v-if="rtuInfo.isRain" title="雨量站检查" titleFontSize="0.8rem" style="width: 100%;">
+				<template v-slot:decoration>
+					<view class="decoration"></view>
+				</template>
+				<uni-card title="检查项(多选)" :is-shadow="false">
+					<checkbox-group @change="onRainSiteCheckboxChange" class="view-flex-rs">
+						<label class="view-flex-rs" style="margin-right: 10px;font-size: 0.7rem;"
+							v-for="(item, index) in data.rainSiteCheckItems.items" :key="item.id">
+							<view>
+								<checkbox v-if="item.checked" :value="item.id" checked="true" />
+								<checkbox v-else :value="item.id" />
+							</view>
+							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
+						</label>
+					</checkbox-group>
+				</uni-card>
+				<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.rainSiteCheckPhotos" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onRainSitePhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onRainSiteCheckPhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card title="巡检结果" :is-shadow="false">
+					<radio-group @change="onRainSiteCheckStatusRadioChange" class="view-flex-rs">
+						<label style="margin-right: 10px;width:80px" class="view-flex-rs"
+							v-for="(item, index) in data.rainSiteCheckStatus.items" :key="item.id">
+							<view>
+								<radio :value="item.id" :checked="index === data.rainSiteCheckStatus.current" />
+							</view>
+							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
+						</label>
+					</radio-group>
+				</uni-card>
+				<uni-card title="雨量站检查补充说明:" :is-shadow="false">
+					<uni-easyinput type="textarea" v-model="data.rainSiteCheckRemark" placeholder="请输入雨量站检查补充说明" />
+				</uni-card>
+			</uni-section> -->
+			<!-- 			<uni-section v-if="rtuInfo.isRiver || rtuInfo.isRes" title="水位站检查" titleFontSize="0.8rem"
+				style="width: 100%;">
+				<template v-slot:decoration>
+					<view class="decoration"></view>
+				</template>
+				<uni-card title="检查项(多选)" :is-shadow="false">
+					<checkbox-group @change="onWaterSiteCheckboxChange" class="view-flex-rs">
+						<label class="view-flex-rs" style="margin-right: 10px;font-size: 0.7rem;"
+							v-for="(item, index) in data.waterSiteCheckItems.items" :key="item.id">
+							<view>
+								<checkbox v-if="item.checked" :value="item.id" checked="true" />
+								<checkbox v-else :value="item.id" />
+							</view>
+							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
+						</label>
+					</checkbox-group>
+				</uni-card>
+				<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.waterSiteCheckPhotos" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onWaterSitePhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onWaterSiteCheckPhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card title="巡检结果" :is-shadow="false">
+					<radio-group @change="onWaterSiteCheckStatusRadioChange" class="view-flex-rs">
+						<label style="margin-right: 10px;width:80px" class="view-flex-rs"
+							v-for="(item, index) in data.waterSiteCheckStatus.items" :key="item.id">
+							<view>
+								<radio :value="item.id" :checked="index === data.waterSiteCheckStatus.current" />
+							</view>
+							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
+						</label>
+					</radio-group>
+				</uni-card>
+				<uni-card title="水位站检查补充说明:" :is-shadow="false">
+					<uni-easyinput type="textarea" v-model="data.waterSiteCheckRemark" placeholder="请输入水位站检查补充说明" />
+				</uni-card>
+			</uni-section> -->
+			<!-- 			<uni-section v-if="rtuInfo.isGround" title="墒情站检查" titleFontSize="0.8rem" style="width: 100%;">
+				<template v-slot:decoration>
+					<view class="decoration"></view>
+				</template>
+				<uni-card title="检查项(多选)" :is-shadow="false">
+					<checkbox-group @change="onGroundSiteCheckboxChange" class="view-flex-rs">
+						<label class="view-flex-rs" style="margin-right: 10px;font-size: 0.7rem;"
+							v-for="(item, index) in data.groundSiteCheckItems.items" :key="item.id">
+							<view>
+								<checkbox v-if="item.checked" :value="item.id" checked="true" />
+								<checkbox v-else :value="item.id" />
+							</view>
+							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
+						</label>
+					</checkbox-group>
+				</uni-card>
+				<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.groundSiteCheckPhotos" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onGroundSitePhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onGroundSiteCheckPhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card title="巡检结果" :is-shadow="false">
+					<radio-group @change="onGroundSiteCheckStatusRadioChange" class="view-flex-rs">
+						<label style="margin-right: 10px;width:80px" class="view-flex-rs"
+							v-for="(item, index) in data.groundSiteCheckStatus.items" :key="item.id">
+							<view>
+								<radio :value="item.id" :checked="index === data.groundSiteCheckStatus.current" />
+							</view>
+							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
+						</label>
+					</radio-group>
+				</uni-card>
+				<uni-card title="墒情站检查补充说明:" :is-shadow="false">
+					<uni-easyinput type="textarea" v-model="data.groundSiteCheckRemark" placeholder="请输入墒情站检查补充说明" />
+				</uni-card>
+			</uni-section> -->
+			<!-- 			<uni-section title="其他设备检查" titleFontSize="0.8rem" style="width: 100%;">
+				<template v-slot:decoration>
+					<view class="decoration"></view>
+				</template>
+				<uni-card title="检查项(多选)" :is-shadow="false">
+					<checkbox-group @change="onOthersEquipmentCheckboxChange" class="view-flex-rs-flex-wrap">
+						<label class="view-flex-rs"
+							style="width: 140px;margin-bottom: 10px;margin-right: 10px;font-size: 0.7rem;"
+							v-for="(item, index) in data.othersEquipmentCheckItems.items" :key="item.id">
+							<view>
+								<checkbox v-if="item.checked" :value="item.id" checked="true" />
+								<checkbox v-else :value="item.id" />
+							</view>
+							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
+						</label>
+					</checkbox-group>
+				</uni-card>
+				<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.othersEquipmentCheckPhotos" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onOthersEquipmentPhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onOthersEquipmentCheckPhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card title="巡检结果" :is-shadow="false">
+					<radio-group @change="onOthersEquipmentCheckStatusRadioChange" class="view-flex-rs">
+						<label style="margin-right: 10px;width:80px" class="view-flex-rs"
+							v-for="(item, index) in data.othersEquipmentCheckStatus.items" :key="item.id">
+							<view>
+								<radio :value="item.id" :checked="index === data.othersEquipmentCheckStatus.current" />
+							</view>
+							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
+						</label>
+					</radio-group>
+				</uni-card>
+				<uni-card title="其他设备检查补充说明:" :is-shadow="false">
+					<uni-easyinput type="textarea" v-model="data.othersEquipmentCheckRemark"
+						placeholder="请输入其他设备检查补充说明" />
+				</uni-card>
+			</uni-section> -->
+			<!-- 			<uni-section title="设备更换" titleFontSize="0.8rem" style="width: 100%;">
+				<template v-slot:decoration>
+					<view class="decoration"></view>
+				</template>
+				<uni-card title="设备项(多选)" :is-shadow="false">
+					<checkbox-group @change="onEquipmentReplaceCheckboxChange" class="view-flex-rs-flex-wrap">
+						<label class="view-flex-rs"
+							style="width: 140px;margin-bottom: 10px;margin-right: 10px;font-size: 0.7rem;"
+							v-for="(item, index) in data.equipmentsReplaceItems.items" :key="item.id">
+							<view>
+								<checkbox v-if="item.checked" :value="item.id" checked="true" />
+								<checkbox v-else :value="item.id" />
+							</view>
+							<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
+						</label>
+					</checkbox-group>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.rtuReplace" title="RTU型号说明" :is-shadow="false">
+					<uni-easyinput v-model="data.rtuModelRemark" placeholder="请录入RTU型号说明" />
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.rtuReplace" title="RTU更换照片" extra="点击下方按钮开始拍摄"
+					:is-shadow="false">
+					<view
+						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
+						备注:必填项</view>
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.rtuReplacePhotos" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onRtuReplacePhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onRtuReplacePhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.rainSensorReplace" title="雨量计型号说明"
+					:is-shadow="false">
+					<uni-easyinput v-model="data.rainSensorModelRemark" placeholder="请录入雨量计型号说明" />
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.rainSensorReplace" title="雨量计更换照片"
+					extra="点击下方按钮开始拍摄" :is-shadow="false">
+					<view
+						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
+						备注:必填项</view>
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.rainSensorReplacePhotos" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onRainSensorReplacePhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onRainSensorReplacePhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.waterSensorReplace" title="水位计型号说明"
+					:is-shadow="false">
+					<uni-easyinput v-model="data.waterSensorModelRemark" placeholder="请录入水位计型号说明" />
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.waterSensorReplace" title="水位计更换照片"
+					extra="点击下方按钮开始拍摄" :is-shadow="false">
+					<view
+						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
+						备注:必填项</view>
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.waterSensorReplacePhotos" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onWaterSensorReplacePhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onWaterSensorReplacePhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.groundSensorReplace" title="墒情计型号说明"
+					:is-shadow="false">
+					<uni-easyinput v-model="data.groundSensorModelRemark" placeholder="请录入墒情计型号说明" />
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.groundSensorReplace" title="墒情计更换照片"
+					extra="点击下方按钮开始拍摄" :is-shadow="false">
+					<view
+						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
+						备注:必填项</view>
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.groundSensorReplacePhotos" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onGroundSensorReplacePhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onGroundSensorReplacePhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.batteryReplace" title="蓄电池型号说明" :is-shadow="false">
+					<uni-easyinput v-model="data.batteryModelRemark" placeholder="请录入蓄电池型号说明" />
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.batteryReplace" title="蓄电池更换照片" extra="点击下方按钮开始拍摄"
+					:is-shadow="false">
+					<view
+						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
+						备注:必填项</view>
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.batteryReplacePhotos" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onBatteryReplacePhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onBatteryReplacePhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.sunPowerReplace" title="太阳能板型号说明"
+					:is-shadow="false">
+					<uni-easyinput v-model="data.sunPowerModelRemark" placeholder="请录入太阳能板型号说明" />
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.sunPowerReplace" title="太阳能板更换照片" extra="点击下方按钮开始拍摄"
+					:is-shadow="false">
+					<view
+						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
+						备注:必填项</view>
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.sunPowerReplacePhotos" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onSunPowerReplacePhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onSunPowerReplacePhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.batteryControllerReplace" title="充电控制器型号说明"
+					:is-shadow="false">
+					<uni-easyinput v-model="data.batteryControlModelRemark" placeholder="请录入充电控制器型号说明" />
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.batteryControllerReplace" title="充电控制器更换照片"
+					extra="点击下方按钮开始拍摄" :is-shadow="false">
+					<view
+						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
+						备注:必填项</view>
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.batteryControlReplacePhotos" :key="index"
+							class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onBatteryControllerReplacePhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onBatteryControllerReplacePhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace" title="其他设备说明"
+					:is-shadow="false">
+					<uni-easyinput v-model="data.otherEquipmentModelRemark" placeholder="请录入其他设备说明" />
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace" title="其他设备更换照片"
+					extra="点击下方按钮开始拍摄" :is-shadow="false">
+					<view
+						style="padding-top: 10px;padding-left: 0px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
+						备注:必填项</view>
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in data.otherEquipmentReplacePhotos" :key="index"
+							class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onOtherEquipmentReplacePhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onOtherEquipmentReplacePhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+			</uni-section> -->
+			<uni-section title="巡检工作内容描述" titleFontSize="0.8rem" style="width: 100%;">
+				<template v-slot:decoration>
+					<view class="decoration"></view>
+				</template>
+				<uni-group>
+					<uni-forms-item name='inspectionDesc' label-width="0px" required>
+						<uni-easyinput type="textarea" :autoHeight="true" v-model="formData.inspectionDesc"
+							placeholder="录入内容" />
+					</uni-forms-item>
+				</uni-group>
+
+				<!-- 		<view style="padding-top: 10px;padding-bottom: 10px;padding-left: 15px;padding-right: 15px;">
+					<uni-easyinput type="textarea" v-model="formData.inspectionDesc" placeholder="录入内容" />
+				</view> -->
+			</uni-section>
+			<uni-section title="巡检留存照片/视频" titleFontSize="0.8rem" style="width: 100%;">
+				<template v-slot:decoration>
+					<view class="decoration"></view>
+				</template>
+				<view
+					style="padding-top: 10px;padding-left: 15px;padding-right: 15px;font-size: 0.7rem;color:lightcoral;">
+					备注:必填项,至少要拍一张整体的站点照片</view>
+				<uni-card title="拍摄照片" extra="点击下方按钮开始拍摄" :is-shadow="false">
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in inspectionWorkPhotos" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onInspectionWorkPhotoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="toOss(item)" mode="widthFix">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onInspectionWorkCheckPhotoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+				<uni-card title="拍摄视频" extra="点击下方按钮开始拍摄" :is-shadow="false">
+					<view class="view-flex-rs-flex-wrap">
+						<view v-for="(item, index) in orderVideos" :key="index" class="view-flex-cc"
+							style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item">
+										<view class="close-icon" @click="onVideoDel(index)">
+											<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
+										</view>
+										<view class="image-box">
+											<image :src="videoImg" mode="widthFix" @click="openVideo(item)">
+											</image>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+						<view class="view-flex-cc" style="width: 80px;">
+							<view class="img-container">
+								<view class="note-image-box">
+									<view class="note-image-item" @click="onCheckVideoAdd()">
+										<view class="image-box">
+											<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</uni-card>
+			</uni-section>
+
+		</uni-forms>
+
+		<view class="footer">
+			<view class="control">
+				<view class="view-flex-rc">
+					<!-- 					<view class="block"
+						style="width: 120px;height:28px;margin-left: 10px;margin-right: 10px;border-radius:7px;background-color:lightblue"
+						@click="toSave()">
+						<view class="view-flex-cc">
+							<uni-icons class="input-uni-icon" type="folder-add" size="18" color="#999" />
+						</view>
+						<view class="view-flex-cc" style="padding-left:5px;">
+							<text style="color:black;font-size:0.7rem">暂存</text>
+						</view>
+					</view> -->
+					<view class="block"
+						style="width: 120px;height:28px;margin-left: 10px;margin-right: 10px;border-radius:7px;background-color:lightpink"
+						@click="toSubmit()">
+						<view class="view-flex-cc">
+							<uni-icons class="input-uni-icon" type="checkmarkempty" size="18" color="#999" />
+						</view>
+						<view class="view-flex-cc" style="padding-left:5px;">
+							<text style="color:black;font-size:0.7rem">立即提交</text>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	import {
+		pathToBase64,
+		base64ToPath
+	} from '@/js_sdk/mmmm-image-tools/index.js';
+	import {
+		oss,
+		devUrl,
+		prodUrl
+	} from '@/common/setting';
+
+	export default {
+		components: {
+
+		},
+		data() {
+			return {
+				formData: {
+					inspectionId:'',
+					inspectionDesc: ''
+				},
+				rules: {
+					inspectionDesc: {
+						rules: [{
+							required: true,
+							errorMessage: '必填项',
+						}]
+					},
+				},
+				title: '设备巡检填报',
+				baseURL: '',
+				baseOSS: '',
+				inspectionId:'',
+				rtuCode: '',
+				ispItems: {
+					items: [{
+						'value': 0,
+						'text': '正常'
+					}, {
+						'value': 1,
+						'text': '三大运营商均无信号'
+					}],
+					current: -1,
+				},
+				rtuInfo: {
+					isRain: 0,
+					isRiver: 0,
+					isRes: 0,
+					isGround: 0,
+					rtuCode: '',
+					rtuName: '',
+					lng: '',
+					lat: '',
+					locationDesc: '',
+					isRain: false,
+					isWaterLevel: false,
+					isGround: false,
+					isCamera: false,
+				},
+				orderVideos: [],
+				inspectionWorkPhotos: [],
+				data: {
+					lng: '',
+					lat: '',
+					locationDesc: '',
+					//站点状态检查项
+					siteCheckStatus: {
+						items: [{
+							'id': '0',
+							'dictValue': '水毁'
+						}, {
+							'id': '1',
+							'dictValue': '丢失'
+						}, {
+							'id': '2',
+							'dictValue': '损坏'
+						}, {
+							'value': '3',
+							'dictValue': '正常'
+						}],
+						current: 3,
+					},
+					siteCheckPhotos: [],
+					siteCheckRemark: '',
+					//雨量站检查数据
+					rainSiteCheckItems: {
+						items: [{
+							'id': '0',
+							'checked': false,
+							'dictValue': '故障排查'
+						}, {
+							'id': '1',
+							'checked': false,
+							'dictValue': '清理堵塞'
+						}, {
+							'id': '2',
+							'checked': false,
+							'dictValue': '雨量计校核'
+						}],
+						current: -1,
+					},
+					rainSiteCheckItemsCheckBox: {
+						equipmentFaultCheck: 0,
+						equipmentClear: 0,
+						rainSensorCheck: 0,
+					},
+					rainSiteCheckPhotos: [],
+					rainSiteCheckStatus: {
+						items: [{
+							'id': '0',
+							'dictValue': '异常'
+						}, {
+							'id': '1',
+							'dictValue': '正常'
+						}],
+						current: 1,
+					},
+					rainSiteCheckRemark: '',
+					//水位站检查数据
+					waterSiteCheckItems: {
+						items: [{
+							'id': '0',
+							'checked': false,
+							'dictValue': '故障排查'
+						}, {
+							'id': '1',
+							'checked': false,
+							'dictValue': '水位计校核'
+						}],
+						current: -1,
+					},
+					waterSiteCheckItemsCheckBox: {
+						equipmentFaultCheck: 0,
+						waterSensorCheck: 0,
+					},
+					waterSiteCheckPhotos: [],
+					waterSiteCheckStatus: {
+						items: [{
+							'id': '0',
+							'dictValue': '异常'
+						}, {
+							'id': '1',
+							'dictValue': '正常'
+						}],
+						current: 1,
+					},
+					waterSiteCheckRemark: '',
+					//墒情站检查数据
+					groundSiteCheckItems: {
+						items: [{
+							'id': '0',
+							'checked': false,
+							'dictValue': '故障排查'
+						}, {
+							'id': '1',
+							'checked': false,
+							'dictValue': '墒情计校核'
+						}],
+						current: -1,
+					},
+					groundSiteCheckItemsCheckBox: {
+						equipmentFaultCheck: 0,
+						groundSensorCheck: 0,
+					},
+					groundSiteCheckPhotos: [],
+					groundSiteCheckStatus: {
+						items: [{
+							'id': '0',
+							'dictValue': '异常'
+						}, {
+							'id': '1',
+							'dictValue': '正常'
+						}],
+						current: 1,
+					},
+					groundSiteCheckRemark: '',
+					//其他设备检查
+					othersEquipmentCheckItems: {
+						items: [{
+							'id': '0',
+							'checked': false,
+							'dictValue': '设备接地检测'
+						}, {
+							'id': '1',
+							'checked': false,
+							'dictValue': '电源电压检测'
+						}, {
+							'id': '2',
+							'checked': false,
+							'dictValue': '太阳能板检查'
+						}, {
+							'id': '3',
+							'checked': false,
+							'dictValue': '蓄电池检查'
+						}, {
+							'id': '4',
+							'checked': false,
+							'dictValue': '网络通信检查'
+						}],
+						current: -1,
+					},
+					othersEquipmentCheckItemsCheckBox: {
+						equipmentGroundWireCheck: 0,
+						bvCheck: 0,
+						sunPowerCheck: 0,
+						btCheck: 0,
+						netCheck: 0,
+					},
+					othersEquipmentCheckPhotos: [],
+					othersEquipmentCheckStatus: {
+						items: [{
+							'id': '0',
+							'dictValue': '异常'
+						}, {
+							'id': '1',
+							'dictValue': '正常'
+						}],
+						current: 1,
+					},
+					othersEquipmentCheckRemark: '',
+					//设备替换
+					equipmentsReplaceItems: {
+						items: [{
+							'id': '0',
+							'checked': false,
+							'dictValue': 'RTU'
+						}, {
+							'id': '1',
+							'checked': false,
+							'dictValue': '雨量计'
+						}, {
+							'id': '2',
+							'checked': false,
+							'dictValue': '水位计'
+						}, {
+							'id': '3',
+							'checked': false,
+							'dictValue': '墒情计'
+						}, {
+							'id': '4',
+							'checked': false,
+							'dictValue': '蓄电池'
+						}, {
+							'id': '5',
+							'checked': false,
+							'dictValue': '太阳能板'
+						}, {
+							'id': '6',
+							'checked': false,
+							'dictValue': '充电控制器'
+						}, {
+							'id': '7',
+							'checked': false,
+							'dictValue': '其他'
+						}],
+						current: -1,
+					},
+					equipmentsReplaceItemsCheckBox: {
+						rtuReplace: 0,
+						rainSensorReplace: 0,
+						waterSensorReplace: 0,
+						groundSensorReplace: 0,
+						batteryReplace: 0,
+						sunPowerReplace: 0,
+						batteryControllerReplace: 0,
+						otherEquipmentReplace: 0
+					},
+					rtuModelRemark: '',
+					rtuReplacePhotos: [],
+					rainSensorModelRemark: '',
+					rainSensorReplacePhotos: [],
+					waterSensorModelRemark: '',
+					waterSensorReplacePhotos: [],
+					groundSensorModelRemark: '',
+					groundSensorReplacePhotos: [],
+					batteryModelRemark: '',
+					batteryReplacePhotos: [],
+					sunPowerModelRemark: '',
+					sunPowerReplacePhotos: [],
+					batteryControlModelRemark: '',
+					batteryControlReplacePhotos: [],
+					otherEquipmentModelRemark: '',
+					otherEquipmentReplacePhotos: [],
+					//巡检遗留问题描述
+					inspectionRemainProblemsRemark: '',
+					//工作留存数据
+
+				},
+			}
+		},
+		computed: {
+			getIcon() {
+				return path => {
+					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
+				}
+			},
+		},
+		onShow() {},
+		created() {},
+		onReady() {
+			console.log("onReady++++++++++++++")
+			// 需要在onReady中设置规则
+			this.$refs.baseForm.setRules(this.rules)
+		},
+		onLoad(options) {
+			this.rtuCode = options.rtuCode;
+			this.baseOSS = oss;
+			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
+		//	this.loadRtuInfo();
+		    this.formData.inspectionId = options.id;
+		},
+		methods: {
+			toOss(path) {
+				let url = this.baseOSS + path;
+				return url;
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			getDetail() {
+				console.log("ddddddddddddddddddddd")
+				//this.formData.networkSimId='1111'
+				let that = this;
+				let postData = {};
+				postData['id'] = this.orderId;
+				http.request({
+					url: '/galaxy-business/rtu/check/order/detail',
+					method: 'GET',
+					data: postData
+				}).then(res => {
+					console.log("ddddddddddddddddddddd " + JSON.stringify(res.data))
+					//if (res.data != null) {
+					let p = {};
+					p['networkSimId'] = res.data.networkSimId;
+					p['networkPayer'] = res.data.networkPayer;
+					that.formData = p;
+					//}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			toRtuKind() {
+				let htmltext = '';
+				if (this.rtuInfo.isRain === 1) {
+					htmltext = htmltext + "雨量站";
+				}
+				if (this.rtuInfo.isRiver == 1 || this.rtuInfo.isRes == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '水位站';
+				}
+				if (this.rtuInfo.isGround == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '墒情站';
+				}
+				if (this.rtuInfo.isVideo == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '视频站';
+				}
+				return htmltext;
+			},
+			loadCacheData() {
+				let formdata = uni.getStorageSync('inspection_report_storage_' + this.rtuCode);
+				if (null != formdata && '' != formdata) {
+					this.data = formdata;
+
+					let p = {};
+					p['networkSignalStatus'] = formdata.networkSignalStatus;
+					p['networkSimId'] = formdata.networkSimId;
+					p['networkPayer'] = formdata.networkPayer;
+					that.formData = p;
+
+					//雨位计
+					if (this.data.rainSiteCheckItemsCheckBox.equipmentFaultCheck == 1) {
+						this.data.rainSiteCheckItems.items[0].checked = true;
+					}
+					if (this.data.rainSiteCheckItemsCheckBox.equipmentClear == 1) {
+						this.data.rainSiteCheckItems.items[1].checked = true;
+					}
+					if (this.data.rainSiteCheckItemsCheckBox.rainSensorCheck == 1) {
+						this.data.rainSiteCheckItems.items[2].checked = true;
+					}
+					//水位计
+					if (this.data.waterSiteCheckItemsCheckBox.equipmentFaultCheck == 1) {
+						this.data.waterSiteCheckItems.items[0].checked = true;
+					}
+					if (this.data.waterSiteCheckItemsCheckBox.waterSensorCheck == 1) {
+						this.data.waterSiteCheckItems.items[1].checked = true;
+					}
+					//墒情计
+					if (this.data.groundSiteCheckItemsCheckBox.equipmentFaultCheck == 1) {
+						this.data.groundSiteCheckItems.items[0].checked = true;
+					}
+					if (this.data.groundSiteCheckItemsCheckBox.groundSensorCheck == 1) {
+						this.data.groundSiteCheckItems.items[1].checked = true;
+					}
+					//其他设备
+					if (this.data.othersEquipmentCheckItemsCheckBox.equipmentGroundWireCheck == 1) {
+						this.data.othersEquipmentCheckItems.items[0].checked = true;
+					}
+					if (this.data.othersEquipmentCheckItemsCheckBox.bvCheck == 1) {
+						this.data.othersEquipmentCheckItems.items[1].checked = true;
+					}
+					if (this.data.othersEquipmentCheckItemsCheckBox.sunPowerCheck == 1) {
+						this.data.othersEquipmentCheckItems.items[2].checked = true;
+					}
+					if (this.data.othersEquipmentCheckItemsCheckBox.btCheck == 1) {
+						this.data.othersEquipmentCheckItems.items[3].checked = true;
+					}
+					if (this.data.othersEquipmentCheckItemsCheckBox.netCheck == 1) {
+						this.data.othersEquipmentCheckItems.items[4].checked = true;
+					}
+					//设备更换
+					if (this.data.equipmentsReplaceItemsCheckBox.rtuReplace == 1) {
+						this.data.equipmentsReplaceItems.items[0].checked = true;
+					}
+					if (this.data.equipmentsReplaceItemsCheckBox.rainSensorReplace == 1) {
+						this.data.equipmentsReplaceItems.items[1].checked = true;
+					}
+					if (this.data.equipmentsReplaceItemsCheckBox.waterSensorReplace == 1) {
+						this.data.equipmentsReplaceItems.items[2].checked = true;
+					}
+					if (this.data.equipmentsReplaceItemsCheckBox.groundSensorReplace == 1) {
+						this.data.equipmentsReplaceItems.items[3].checked = true;
+					}
+					if (this.data.equipmentsReplaceItemsCheckBox.batteryReplace == 1) {
+						this.data.equipmentsReplaceItems.items[4].checked = true;
+					}
+					if (this.data.equipmentsReplaceItemsCheckBox.sunPowerReplace == 1) {
+						this.data.equipmentsReplaceItems.items[5].checked = true;
+					}
+					if (this.data.equipmentsReplaceItemsCheckBox.batteryControllerReplace == 1) {
+						this.data.equipmentsReplaceItems.items[6].checked = true;
+					}
+					if (this.data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace == 1) {
+						this.data.equipmentsReplaceItems.items[7].checked = true;
+					}
+				} else {
+					//this.getDetail();
+				}
+			},
+			clearCache() {
+				uni.removeStorageSync('inspection_report_storage_' + this.rtuCode);
+			},
+			loadRtuInfo() {
+				let that = this;
+				let postData = {};
+				postData['rtuCode'] = this.rtuCode;
+				http.request({
+					url: '/galaxy-business/rtu/base/detail',
+					method: 'GET',
+					data: postData
+				}).then(res => {
+					if (res.data != null) {
+						console.log(JSON.stringify(res.data))
+
+						that.rtuInfo = res.data;
+
+						that.rtuInfo.isRain = 1;
+						that.rtuInfo.isRiver = 1;
+						that.rtuInfo.isRes = 1;
+						that.rtuInfo.isGround = 1;
+
+						that.data['lng'] = that.rtuInfo.lng;
+						that.data['lat'] = that.rtuInfo.lat;
+						that.data['locationDesc'] = that.rtuInfo.locationDesc;
+
+						let p = {};
+						p['networkSimId'] = that.rtuInfo.networkSimId;
+						p['networkPayer'] = that.rtuInfo.networkPayer;
+						that.formData = p;
+						that.loadCacheData();
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			toSave() {
+				let that = this;
+				uni.setStorageSync('inspection_report_storage_' + this.rtuCode, this.data);
+				uni.showModal({
+					content: '已成功缓存,确认返回!',
+					showCancel: true,
+					success(res) {
+						if (res.confirm) {
+							that.toBack();
+						}
+					}
+				});
+			},
+			toSubmit() {
+				let that = this;
+				this.$refs.baseForm.validate().then(res => {
+					console.log('表单数据信息1:', res);
+					//console.log('表单数据信息2:', that.formData);
+					// if (that.formData.networkSignalStatus == 0) {
+					// 	let next = false;
+					// 	let msg = '';
+
+					// 	if (that.data.siteCheckPhotos.length > 0) {
+					// 		next = true;
+					// 	} else {
+					// 		next = false;
+					// 		msg = "站点状态检查照片为必填项,请至少要拍一张照片,请检查!";
+					// 	}
+
+					// 	if (next) {
+					// 		if (this.data.equipmentsReplaceItemsCheckBox.rtuReplace == 1) {
+					// 			if (this.data.rtuReplacePhotos.length > 0) {
+					// 				next = true;
+					// 			} else {
+					// 				next = false;
+					// 				msg = "更换RTU设备时,请至少要拍一张照片,请检查!";
+					// 			}
+					// 		}
+					// 	}
+					// 	if (next) {
+					// 		if (this.data.equipmentsReplaceItemsCheckBox.rainSensorReplace == 1) {
+					// 			if (this.data.rainSensorReplacePhotos.length > 0) {
+					// 				next = true;
+					// 			} else {
+					// 				next = false;
+					// 				msg = "更换雨量计时,请至少要拍一张照片,请检查!";
+					// 			}
+					// 		}
+					// 	}
+					// 	if (next) {
+					// 		if (this.data.equipmentsReplaceItemsCheckBox.waterSensorReplace == 1) {
+					// 			if (this.data.waterSensorReplacePhotos.length > 0) {
+					// 				next = true;
+					// 			} else {
+					// 				next = false;
+					// 				msg = "更换水位计时,请至少要拍一张照片,请检查!";
+					// 			}
+					// 		}
+					// 	}
+
+					// 	if (next) {
+					// 		if (this.data.equipmentsReplaceItemsCheckBox.groundSensorReplace == 1) {
+					// 			if (this.data.groundSensorReplacePhotos.length > 0) {
+					// 				next = true;
+					// 			} else {
+					// 				next = false;
+					// 				msg = "更换墒情计时,请至少要拍一张照片,请检查!";
+					// 			}
+					// 		}
+					// 	}
+					// 	if (next) {
+					// 		if (this.data.equipmentsReplaceItemsCheckBox.batteryReplace == 1) {
+					// 			if (this.data.batteryReplacePhotos.length > 0) {
+					// 				next = true;
+					// 			} else {
+					// 				next = false;
+					// 				msg = "更换蓄电池时,请至少要拍一张照片,请检查!";
+					// 			}
+					// 		}
+					// 	}
+					// 	if (next) {
+					// 		if (this.data.equipmentsReplaceItemsCheckBox.sunPowerReplace == 1) {
+					// 			if (this.data.sunPowerReplacePhotos.length > 0) {
+					// 				next = true;
+					// 			} else {
+					// 				next = false;
+					// 				msg = "更换太阳能板时,请至少要拍一张照片,请检查!";
+					// 			}
+					// 		}
+					// 	}
+					// 	if (next) {
+					// 		if (this.data.equipmentsReplaceItemsCheckBox.batteryControllerReplace == 1) {
+					// 			if (this.data.batteryControlReplacePhotos.length > 0) {
+					// 				next = true;
+					// 			} else {
+					// 				next = false;
+					// 				msg = "更换充电控制器时,请至少要拍一张照片,请检查!";
+					// 			}
+					// 		}
+					// 	}
+					// 	if (next) {
+					// 		if (this.data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace == 1) {
+					// 			if (this.data.otherEquipmentReplacePhotos.length > 0) {
+					// 				next = true;
+					// 			} else {
+					// 				next = false;
+					// 				msg = "更换其他设备时,请至少要拍一张照片,请检查!";
+					// 			}
+					// 		}
+					// 	}
+					// 	if (next) {
+					// 		if (that.data.inspectionWorkPhotos.length > 0) {
+					// 			next = true;
+					// 		} else {
+					// 			next = false;
+					// 			msg = "巡检工作留存照片为必填项,请至少要拍一张整体的站点照片,请检查!";
+					// 		}
+					// 	}
+					// 	if (next) {
+					// 		that.submitData();
+					// 	} else {
+					// 		uni.showModal({
+					// 			content: msg,
+					// 			showCancel: false,
+					// 			success(res) {
+					// 				if (res.confirm) {
+
+					// 				}
+					// 			}
+					// 		});
+					// 	}
+					// } else {
+					that.submitData();
+					//}
+				}).catch(err => {
+					console.log('表单错误信息:', err);
+					uni.showModal({
+						content: "内容错误,请检查录入内容!",
+						showCancel: false,
+						success(res) {
+							if (res.confirm) {
+								//that.$refs.baseForm.clearValidate();
+							}
+						}
+					});
+				})
+			},
+			submitData() {
+				let formdata = this.formData;
+
+				// formdata['rtuCode'] = this.rtuCode;
+				// formdata['lng'] = this.data.lng;
+				// formdata['lat'] = this.data.lat;
+				// formdata['locationDesc'] = this.data.locationDesc;
+				// formdata['siteCheckItem'] = '' + this.data.siteCheckStatus.current;
+				// if (this.data.siteCheckPhotos.length > 0) {
+				// 	let photos = '';
+				// 	for (let i = 0; i < this.data.siteCheckPhotos.length; i++) {
+				// 		if (photos.length > 0) {
+				// 			photos = photos + ',';
+				// 		}
+				// 		photos = photos + this.data.siteCheckPhotos[i];
+				// 	}
+				// 	formdata['siteCheckPhotos'] = photos;
+				// }
+				// formdata['siteCheckRemark'] = this.data.siteCheckRemark;
+				//雨量站点检查信息
+				// if (this.rtuInfo.isRain) {
+				// 	let items = '';
+				// 	if (this.data.rainSiteCheckItemsCheckBox.equipmentFaultCheck == 1) {
+				// 		items = items + '1'
+				// 	} else {
+				// 		items = items + '0';
+				// 	}
+				// 	items = items + ',';
+				// 	if (this.data.rainSiteCheckItemsCheckBox.equipmentClear == 1) {
+				// 		items = items + '1'
+				// 	} else {
+				// 		items = items + '0';
+				// 	}
+				// 	items = items + ',';
+				// 	if (this.data.rainSiteCheckItemsCheckBox.rainSensorCheck == 1) {
+				// 		items = items + '1'
+				// 	} else {
+				// 		items = items + '0';
+				// 	}
+				// 	formdata['rainSiteCheckItem'] = items;
+				// 	if (this.data.rainSiteCheckPhotos.length > 0) {
+				// 		let photos = '';
+				// 		for (let i = 0; i < this.data.rainSiteCheckPhotos.length; i++) {
+				// 			if (photos.length > 0) {
+				// 				photos = photos + ',';
+				// 			}
+				// 			photos = photos + this.data.rainSiteCheckPhotos[i];
+				// 		}
+				// 		formdata['rainSiteCheckPhotos'] = photos;
+				// 	}
+				// 	formdata['rainSiteCheckRemark'] = this.data.rainSiteCheckRemark;
+				// 	formdata['rainSiteCheckResult'] = this.data.rainSiteCheckStatus.current;
+				// }
+				//水位站点检查信息
+				// if (this.rtuInfo.isRiver || this.rtuInfo.isRes) {
+				// 	let items = '';
+				// 	if (this.data.waterSiteCheckItemsCheckBox.equipmentFaultCheck == 1) {
+				// 		items = items + '1'
+				// 	} else {
+				// 		items = items + '0';
+				// 	}
+				// 	items = items + ',';
+				// 	if (this.data.waterSiteCheckItemsCheckBox.waterSensorCheck == 1) {
+				// 		items = items + '1'
+				// 	} else {
+				// 		items = items + '0';
+				// 	}
+				// 	formdata['waterSiteCheckItem'] = items;
+				// 	if (this.data.waterSiteCheckPhotos.length > 0) {
+				// 		let photos = '';
+				// 		for (let i = 0; i < this.data.waterSiteCheckPhotos.length; i++) {
+				// 			if (photos.length > 0) {
+				// 				photos = photos + ',';
+				// 			}
+				// 			photos = photos + this.data.waterSiteCheckPhotos[i];
+				// 		}
+				// 		formdata['waterSiteCheckPhotos'] = photos;
+				// 	}
+				// 	formdata['waterSiteCheckRemark'] = this.data.waterSiteCheckRemark;
+				// 	formdata['waterSiteCheckResult'] = this.data.waterSiteCheckStatus.current;
+				// }
+				//墒情站点检查信息
+				// if (this.rtuInfo.isGround) {
+				// 	let items = '';
+				// 	if (this.data.groundSiteCheckItemsCheckBox.equipmentFaultCheck == 1) {
+				// 		items = items + '1'
+				// 	} else {
+				// 		items = items + '0';
+				// 	}
+				// 	items = items + ',';
+				// 	if (this.data.groundSiteCheckItemsCheckBox.groundSensorCheck == 1) {
+				// 		items = items + '1'
+				// 	} else {
+				// 		items = items + '0';
+				// 	}
+				// 	formdata['groundSiteCheckItem'] = items;
+				// 	if (this.data.groundSiteCheckPhotos.length > 0) {
+				// 		let photos = '';
+				// 		for (let i = 0; i < this.data.groundSiteCheckPhotos.length; i++) {
+				// 			if (photos.length > 0) {
+				// 				photos = photos + ',';
+				// 			}
+				// 			photos = photos + this.data.groundSiteCheckPhotos[i];
+				// 		}
+				// 		formdata['groundSiteCheckPhotos'] = photos;
+				// 	}
+				// 	formdata['groundSiteCheckRemark'] = this.data.groundSiteCheckRemark;
+				// 	formdata['groundSiteCheckResult'] = this.data.groundSiteCheckStatus.current;
+				// }
+
+				//其他设备检查信息
+
+				// let otheritems = '';
+				// if (this.data.othersEquipmentCheckItemsCheckBox.equipmentGroundWireCheck == 1) {
+				// 	otheritems = otheritems + '1'
+				// } else {
+				// 	otheritems = otheritems + '0';
+				// }
+				// otheritems = otheritems + ',';
+				// if (this.data.othersEquipmentCheckItemsCheckBox.bvCheck == 1) {
+				// 	otheritems = otheritems + '1'
+				// } else {
+				// 	otheritems = otheritems + '0';
+				// }
+				// otheritems = otheritems + ',';
+				// if (this.data.othersEquipmentCheckItemsCheckBox.sunPowerCheck == 1) {
+				// 	otheritems = otheritems + '1'
+				// } else {
+				// 	otheritems = otheritems + '0';
+				// }
+				// otheritems = otheritems + ',';
+				// if (this.data.othersEquipmentCheckItemsCheckBox.btCheck == 1) {
+				// 	otheritems = otheritems + '1'
+				// } else {
+				// 	otheritems = otheritems + '0';
+				// }
+				// otheritems = otheritems + ',';
+				// if (this.data.othersEquipmentCheckItemsCheckBox.netCheck == 1) {
+				// 	otheritems = otheritems + '1'
+				// } else {
+				// 	otheritems = otheritems + '0';
+				// }
+
+				// formdata['otherEquipmentCheckItem'] = otheritems;
+				// if (this.data.othersEquipmentCheckPhotos.length > 0) {
+				// 	let photos = '';
+				// 	for (let i = 0; i < this.data.othersEquipmentCheckPhotos.length; i++) {
+				// 		if (photos.length > 0) {
+				// 			photos = photos + ',';
+				// 		}
+				// 		photos = photos + this.data.othersEquipmentCheckPhotos[i];
+				// 	}
+				// 	formdata['otherEquipmentCheckPhotos'] = photos;
+				// }
+				// formdata['otherEquipmentCheckRemark'] = this.data.othersEquipmentCheckRemark;
+				// formdata['otherEquipmentCheckResult'] = this.data.othersEquipmentCheckStatus.current;
+
+				// formdata['rtuReplace'] = this.data.equipmentsReplaceItemsCheckBox.rtuReplace;
+				// if (this.data.equipmentsReplaceItemsCheckBox.rtuReplace == 1) {
+				// 	formdata['rtuModelRemark'] = this.data.rtuModelRemark;
+				// 	if (this.data.rtuReplacePhotos.length > 0) {
+				// 		let photos = '';
+				// 		for (let i = 0; i < this.data.rtuReplacePhotos.length; i++) {
+				// 			if (photos.length > 0) {
+				// 				photos = photos + ',';
+				// 			}
+				// 			photos = photos + this.data.rtuReplacePhotos[i];
+				// 		}
+				// 		formdata['rtuReplacePhotos'] = photos;
+				// 	}
+				// }
+
+				// formdata['rainSensorReplace'] = this.data.equipmentsReplaceItemsCheckBox.rainSensorReplace;
+				// if (this.data.equipmentsReplaceItemsCheckBox.rainSensorReplace == 1) {
+				// 	formdata['rainSensorModelRemark'] = this.data.rainSensorModelRemark;
+				// 	if (this.data.rainSensorReplacePhotos.length > 0) {
+				// 		let photos = '';
+				// 		for (let i = 0; i < this.data.rainSensorReplacePhotos.length; i++) {
+				// 			if (photos.length > 0) {
+				// 				photos = photos + ',';
+				// 			}
+				// 			photos = photos + this.data.rainSensorReplacePhotos[i];
+				// 		}
+				// 		formdata['rainSensorReplacePhotos'] = photos;
+				// 	}
+				// }
+				// formdata['waterSensorReplace'] = this.data.equipmentsReplaceItemsCheckBox.waterSensorReplace;
+				// if (this.data.equipmentsReplaceItemsCheckBox.waterSensorReplace == 1) {
+				// 	formdata['waterSensorModelRemark'] = this.data.waterSensorModelRemark;
+				// 	if (this.data.waterSensorReplacePhotos.length > 0) {
+				// 		let photos = '';
+				// 		for (let i = 0; i < this.data.waterSensorReplacePhotos.length; i++) {
+				// 			if (photos.length > 0) {
+				// 				photos = photos + ',';
+				// 			}
+				// 			photos = photos + this.data.waterSensorReplacePhotos[i];
+				// 		}
+				// 		formdata['waterSensorReplacePhotos'] = photos;
+				// 	}
+				// }
+				// formdata['groundSensorReplace'] = this.data.equipmentsReplaceItemsCheckBox.groundSensorReplace;
+				// if (this.data.equipmentsReplaceItemsCheckBox.groundSensorReplace == 1) {
+				// 	formdata['groundSensorModelRemark'] = this.data.groundSensorModelRemark;
+				// 	if (this.data.groundSensorReplacePhotos.length > 0) {
+				// 		let photos = '';
+				// 		for (let i = 0; i < this.data.groundSensorReplacePhotos.length; i++) {
+				// 			if (photos.length > 0) {
+				// 				photos = photos + ',';
+				// 			}
+				// 			photos = photos + this.data.groundSensorReplacePhotos[i];
+				// 		}
+				// 		formdata['groundSensorReplacePhotos'] = photos;
+				// 	}
+				// }
+				// formdata['batteryReplace'] = this.data.equipmentsReplaceItemsCheckBox.batteryReplace;
+				// if (this.data.equipmentsReplaceItemsCheckBox.batteryReplace == 1) {
+				// 	formdata['batteryModelRemark'] = this.data.batteryModelRemark;
+				// 	if (this.data.batteryReplacePhotos.length > 0) {
+				// 		let photos = '';
+				// 		for (let i = 0; i < this.data.batteryReplacePhotos.length; i++) {
+				// 			if (photos.length > 0) {
+				// 				photos = photos + ',';
+				// 			}
+				// 			photos = photos + this.data.batteryReplacePhotos[i];
+				// 		}
+				// 		formdata['batteryReplacePhotos'] = photos;
+				// 	}
+				// }
+				// formdata['sunPowerReplace'] = this.data.equipmentsReplaceItemsCheckBox.sunPowerReplace;
+				// if (this.data.equipmentsReplaceItemsCheckBox.sunPowerReplace == 1) {
+				// 	formdata['sunPowerModelRemark'] = this.data.sunPowerModelRemark;
+				// 	if (this.data.sunPowerReplacePhotos.length > 0) {
+				// 		let photos = '';
+				// 		for (let i = 0; i < this.data.sunPowerReplacePhotos.length; i++) {
+				// 			if (photos.length > 0) {
+				// 				photos = photos + ',';
+				// 			}
+				// 			photos = photos + this.data.sunPowerReplacePhotos[i];
+				// 		}
+				// 		formdata['sunPowerReplacePhotos'] = photos;
+				// 	}
+				// }
+				// formdata['batteryControllerReplace'] = this.data.equipmentsReplaceItemsCheckBox.batteryControllerReplace;
+				// if (this.data.equipmentsReplaceItemsCheckBox.batteryControllerReplace == 1) {
+				// 	formdata['batteryControllerModelRemark'] = this.data.batteryControlModelRemark;
+				// 	if (this.data.batteryControlReplacePhotos.length > 0) {
+				// 		let photos = '';
+				// 		for (let i = 0; i < this.data.batteryControlReplacePhotos.length; i++) {
+				// 			if (photos.length > 0) {
+				// 				photos = photos + ',';
+				// 			}
+				// 			photos = photos + this.data.batteryControlReplacePhotos[i];
+				// 		}
+				// 		formdata['batteryControllerReplacePhotos'] = photos;
+				// 	}
+				// }
+				// formdata['otherEquipmentReplace'] = this.data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace;
+				// if (this.data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace == 1) {
+				// 	formdata['otherEquipmentModelRemark'] = this.data.otherEquipmentModelRemark;
+				// 	if (this.data.otherEquipmentReplacePhotos.length > 0) {
+				// 		let photos = '';
+				// 		for (let i = 0; i < this.data.otherEquipmentReplacePhotos.length; i++) {
+				// 			if (photos.length > 0) {
+				// 				photos = photos + ',';
+				// 			}
+				// 			photos = photos + this.data.otherEquipmentReplacePhotos[i];
+				// 		}
+				// 		formdata['otherEquipmentReplacePhotos'] = photos;
+				// 	}
+
+				// }
+
+				// formdata['remainQuestion'] = this.data.inspectionRemainProblemsRemark;
+				if (this.inspectionWorkPhotos.length > 0) {
+					let photos = '';
+					for (let i = 0; i < this.inspectionWorkPhotos.length; i++) {
+						if (photos.length > 0) {
+							photos = photos + ',';
+						}
+						photos = photos + this.inspectionWorkPhotos[i];
+					}
+					formdata['inspectionWorkPhotos'] = photos;
+				}
+				if (this.orderVideos.length > 0) {
+					let videos = '';
+					for (let i = 0; i < this.orderVideos.length; i++) {
+						if (videos.length > 0) {
+							videos = videos + ',';
+						}
+						videos = videos + this.orderVideos[i];
+					}
+					formdata['inspectionVideos'] = videos;
+				}
+				console.log('toSubmit事件:', JSON.stringify(formdata));
+				let that = this;
+				http.request({
+					url: '/galaxy-business/equipment/inspection/report/save',
+					method: 'POST',
+					data: formdata
+				}).then(res => {
+					console.log('res ', JSON.stringify(res));
+					if (res.success) {
+						// if (res.code == 200) {
+							//that.clearCache();
+							uni.showModal({
+								content: '填报信息已成功提交',
+								showCancel: false,
+								success(res) {
+									if (res.confirm) {
+										uni.navigateBack();
+									}
+								}
+							});
+						// } else {
+
+						// 	uni.showModal({
+						// 		content: '提交失败',
+						// 		showCancel: false
+						// 	});
+						// }
+					} else {
+
+						uni.showModal({
+							content: '提交失败',
+							showCancel: false
+						});
+					}
+				}).catch(err => {
+					//	console.log('errr3',JSON.stringify(err));
+					uni.showModal({
+						content: '' + err.data.msg,
+						showCancel: false
+					});
+				})
+			},
+			//站点状态检查项
+			onSiteCheckStatusRadioChange: function(evt) {
+				for (let i = 0; i < this.data.siteCheckStatus.items.length; i++) {
+					if (this.data.siteCheckStatus.items[i].id === evt.detail.value) {
+						this.data.siteCheckStatus.current = i;
+						break;
+					}
+				}
+			},
+			//雨量站检查项
+			onRainSiteCheckboxChange: function(evt) {
+				this.data.rainSiteCheckItemsCheckBox.equipmentFaultCheck = 0;
+				this.data.rainSiteCheckItemsCheckBox.equipmentClear = 0;
+				this.data.rainSiteCheckItemsCheckBox.rainSensorCheck = 0;
+				for (let i = 0; i < evt.detail.value.length; i++) {
+					let c = evt.detail.value[i];
+					if (c === '0') {
+						this.data.rainSiteCheckItemsCheckBox.equipmentFaultCheck = 1;
+					} else if (c === '1') {
+						this.data.rainSiteCheckItemsCheckBox.equipmentClear = 1;
+					} else if (c === '2') {
+						this.data.rainSiteCheckItemsCheckBox.rainSensorCheck = 1;
+					}
+				}
+			},
+			//雨量站检查结果
+			onRainSiteCheckStatusRadioChange: function(evt) {
+				for (let i = 0; i < this.data.rainSiteCheckStatus.items.length; i++) {
+					if (this.data.rainSiteCheckStatus.items[i].id === evt.detail.value) {
+						this.data.rainSiteCheckStatus.current = i;
+						break;
+					}
+				}
+			},
+			//水位站检查项
+			onWaterSiteCheckboxChange: function(evt) {
+				this.data.waterSiteCheckItemsCheckBox.equipmentFaultCheck = 0;
+				this.data.waterSiteCheckItemsCheckBox.waterSensorCheck = 0;
+				for (let i = 0; i < evt.detail.value.length; i++) {
+					let c = evt.detail.value[i];
+					if (c === '0') {
+						this.data.waterSiteCheckItemsCheckBox.equipmentFaultCheck = 1;
+					} else if (c === '1') {
+						this.data.waterSiteCheckItemsCheckBox.waterSensorCheck = 1;
+					}
+				}
+			},
+			//水位站检查结果
+			onWaterSiteCheckStatusRadioChange: function(evt) {
+				for (let i = 0; i < this.data.waterSiteCheckStatus.items.length; i++) {
+					if (this.data.waterSiteCheckStatus.items[i].id === evt.detail.value) {
+						this.data.waterSiteCheckStatus.current = i;
+						break;
+					}
+				}
+			},
+			//墒情站检查项
+			onGroundSiteCheckboxChange: function(evt) {
+				this.data.groundSiteCheckItemsCheckBox.equipmentFaultCheck = 0;
+				this.data.groundSiteCheckItemsCheckBox.groundSensorCheck = 0;
+				for (let i = 0; i < evt.detail.value.length; i++) {
+					let c = evt.detail.value[i];
+					if (c === '0') {
+						this.data.groundSiteCheckItemsCheckBox.equipmentFaultCheck = 1;
+					} else if (c === '1') {
+						this.data.groundSiteCheckItemsCheckBox.groundSensorCheck = 1;
+					}
+				}
+			},
+			//墒情站检查结果
+			onGroundSiteCheckStatusRadioChange: function(evt) {
+				for (let i = 0; i < this.data.groundSiteCheckStatus.items.length; i++) {
+					if (this.data.groundSiteCheckStatus.items[i].id === evt.detail.value) {
+						this.data.groundSiteCheckStatus.current = i;
+						break;
+					}
+				}
+			},
+			//其他设备检查项
+			onOthersEquipmentCheckboxChange: function(evt) {
+				this.data.othersEquipmentCheckItemsCheckBox.equipmentGroundWireCheck = 0;
+				this.data.othersEquipmentCheckItemsCheckBox.bvCheck = 0;
+				this.data.othersEquipmentCheckItemsCheckBox.sunPowerCheck = 0;
+				this.data.othersEquipmentCheckItemsCheckBox.btCheck = 0;
+				this.data.othersEquipmentCheckItemsCheckBox.netCheck = 0;
+
+				for (let i = 0; i < evt.detail.value.length; i++) {
+					let c = evt.detail.value[i];
+					if (c === '0') {
+						this.data.othersEquipmentCheckItemsCheckBox.equipmentGroundWireCheck = 1;
+					} else if (c === '1') {
+						this.data.othersEquipmentCheckItemsCheckBox.bvCheck = 1;
+					} else if (c === '2') {
+						this.data.othersEquipmentCheckItemsCheckBox.sunPowerCheck = 1;
+					} else if (c === '3') {
+						this.data.othersEquipmentCheckItemsCheckBox.btCheck = 1;
+					} else if (c === '4') {
+						this.data.othersEquipmentCheckItemsCheckBox.netCheck = 1;
+					}
+				}
+			},
+			//其他设备检查结果
+			onOthersEquipmentCheckStatusRadioChange: function(evt) {
+				for (let i = 0; i < this.data.othersEquipmentCheckStatus.items.length; i++) {
+					if (this.data.othersEquipmentCheckStatus.items[i].id === evt.detail.value) {
+						this.data.othersEquipmentCheckStatus.current = i;
+						break;
+					}
+				}
+			},
+			//设备更换
+			onEquipmentReplaceCheckboxChange: function(evt) {
+
+				this.data.equipmentsReplaceItemsCheckBox.rtuReplace = 0;
+				this.data.equipmentsReplaceItemsCheckBox.rainSensorReplace = 0;
+				this.data.equipmentsReplaceItemsCheckBox.waterSensorReplace = 0;
+				this.data.equipmentsReplaceItemsCheckBox.groundSensorReplace = 0;
+				this.data.equipmentsReplaceItemsCheckBox.batteryReplace = 0;
+				this.data.equipmentsReplaceItemsCheckBox.sunPowerReplace = 0;
+				this.data.equipmentsReplaceItemsCheckBox.batteryControllerReplace = 0;
+				this.data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace = 0;
+				for (let i = 0; i < evt.detail.value.length; i++) {
+					let c = evt.detail.value[i];
+					if (c === '0') {
+						this.data.equipmentsReplaceItemsCheckBox.rtuReplace = 1;
+					} else if (c === '1') {
+						this.data.equipmentsReplaceItemsCheckBox.rainSensorReplace = 1;
+					} else if (c === '2') {
+						this.data.equipmentsReplaceItemsCheckBox.waterSensorReplace = 1;
+					} else if (c === '3') {
+						this.data.equipmentsReplaceItemsCheckBox.groundSensorReplace = 1;
+					} else if (c === '4') {
+						this.data.equipmentsReplaceItemsCheckBox.batteryReplace = 1;
+					} else if (c === '5') {
+						this.data.equipmentsReplaceItemsCheckBox.sunPowerReplace = 1;
+					} else if (c === '6') {
+						this.data.equipmentsReplaceItemsCheckBox.batteryControllerReplace = 1;
+					} else if (c === '7') {
+						this.data.equipmentsReplaceItemsCheckBox.otherEquipmentReplace = 1;
+					}
+				}
+			},
+			onSiteCheckPhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadSiteCheckPhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadSiteCheckPhoto(imagePath) {
+				let that = this;
+
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.siteCheckPhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onSiteCheckPhotoDel(index) {
+				this.data.siteCheckPhotos.splice(index, 1);
+
+			},
+			onRainSiteCheckPhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadRainSiteCheckPhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadRainSiteCheckPhoto(imagePath) {
+				let that = this;
+
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.rainSiteCheckPhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onRainSitePhotoDel(index) {
+				this.data.rainSiteCheckPhotos.splice(index, 1);
+
+			},
+			onWaterSiteCheckPhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadWaterSiteCheckPhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadWaterSiteCheckPhoto(imagePath) {
+				let that = this;
+
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.waterSiteCheckPhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onWaterSitePhotoDel(index) {
+				this.data.waterSiteCheckPhotos.splice(index, 1);
+
+			},
+			onGroundSiteCheckPhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadGroundSiteCheckPhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadGroundSiteCheckPhoto(imagePath) {
+				let that = this;
+
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.groundSiteCheckPhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onGroundSitePhotoDel(index) {
+				this.data.groundSiteCheckPhotos.splice(index, 1);
+
+			},
+			onOthersEquipmentCheckPhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadOthersEquipmentCheckPhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadOthersEquipmentCheckPhoto(imagePath) {
+				let that = this;
+
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.othersEquipmentCheckPhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onOthersEquipmentPhotoDel(index) {
+				this.data.othersEquipmentCheckPhotos.splice(index, 1);
+
+			},
+			onInspectionWorkCheckPhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadInspectionWorkCheckPhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadInspectionWorkCheckPhoto(imagePath) {
+				let that = this;
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.inspectionWorkPhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onInspectionWorkPhotoDel(index) {
+				this.inspectionWorkPhotos.splice(index, 1);
+
+			},
+			onRtuReplacePhotoDel(index) {
+				this.data.rtuReplacePhotos.splice(index, 1);
+			},
+			onRtuReplacePhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadRtuReplacePhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadRtuReplacePhoto(imagePath) {
+				let that = this;
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.rtuReplacePhotos.push(path);
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onRainSensorReplacePhotoDel(index) {
+				this.data.rainSensorReplacePhotos.splice(index, 1);
+			},
+			onRainSensorReplacePhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadRainSensorReplacePhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadRainSensorReplacePhoto(imagePath) {
+				let that = this;
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.rainSensorReplacePhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onWaterSensorReplacePhotoDel(index) {
+				this.data.waterSensorReplacePhotos.splice(index, 1);
+			},
+			onWaterSensorReplacePhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadWaterSensorReplacePhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadWaterSensorReplacePhoto(imagePath) {
+				let that = this;
+
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.waterSensorReplacePhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onGroundSensorReplacePhotoDel(index) {
+				this.data.groundSensorReplacePhotos.splice(index, 1);
+			},
+			onGroundSensorReplacePhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadGroundSensorReplacePhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadGroundSensorReplacePhoto(imagePath) {
+				let that = this;
+
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.groundSensorReplacePhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onBatteryReplacePhotoDel(index) {
+				this.data.batteryReplacePhotos.splice(index, 1);
+			},
+			onBatteryReplacePhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadBatteryReplacePhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadBatteryReplacePhoto(imagePath) {
+				let that = this;
+
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.batteryReplacePhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onSunPowerReplacePhotoDel(index) {
+				this.data.sunPowerReplacePhotos.splice(index, 1);
+			},
+			onSunPowerReplacePhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadSunPowerReplacePhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadSunPowerReplacePhoto(imagePath) {
+				let that = this;
+
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.sunPowerReplacePhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onBatteryControllerReplacePhotoDel(index) {
+				this.data.batteryControlReplacePhotos.splice(index, 1);
+			},
+			onBatteryControllerReplacePhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadBatteryControllerReplacePhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadBatteryControllerReplacePhoto(imagePath) {
+				let that = this;
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.batteryControlReplacePhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onOtherEquipmentReplacePhotoDel(index) {
+				this.data.otherEquipmentReplacePhotos.splice(index, 1);
+			},
+			onOtherEquipmentReplacePhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadOtherEquipmentReplacePhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadOtherEquipmentReplacePhoto(imagePath) {
+				let that = this;
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.data.otherEquipmentReplacePhotos.push(path);
+
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onCheckVideoAdd() {
+				let that = this;
+				uni.chooseVideo({
+					sourceType: ['camera'],
+					maxDuration: 10,
+					success: (res) => {
+						that.uploadVideo(res.tempFilePath);
+					}
+				})
+			},
+			uploadVideo(videoPath) {
+				let that = this;
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					filePath: videoPath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.orderVideos.push(path);
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onVideoDel(index) {
+				this.orderVideos.splice(index, 1);
+			},
+			openVideo(item) {
+				let url = '/pages/check-order/videoView?url=' + item;
+				uni.navigateTo({
+					url: url
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.cell-hover-class {
+		background-color: rgb(235, 237, 238);
+	}
+
+	.view-flex-rs {
+		display: flex;
+		flex-direction: row;
+		justify-content: flex-start;
+		align-items: center;
+	}
+
+	.view-flex-rs-flex-wrap {
+		display: flex;
+		flex-direction: row;
+		justify-content: flex-start;
+		flex-wrap: wrap;
+	}
+
+	.view-flex-rc {
+		display: flex;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+	}
+
+	.view-flex-re {
+		display: flex;
+		flex-direction: row;
+		justify-content: flex-end;
+		align-items: center;
+	}
+
+	.view-flex-cs {
+		display: flex;
+		flex-direction: column;
+		justify-content: flex-start;
+		align-items: center;
+	}
+
+	.view-flex-cc {
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		align-items: center;
+	}
+
+	.view-flex-ce {
+		display: flex;
+		flex-direction: column;
+		justify-content: flex-end;
+		align-items: center;
+	}
+
+	.line-body {
+		padding-left: 10px;
+		padding-right: 10px;
+	}
+
+	.required-star {
+		color: #FF0000;
+		font-size: 15px;
+		width: 20px;
+		text-align: center;
+		padding-left: 0px;
+		padding-right: 2px;
+	}
+
+	.item-title {
+		color: #909399;
+		font-size: 15px;
+	}
+
+	.mline-text {
+		padding-left: 2px;
+		width: 100%;
+		/* background-color:#909399; */
+		height: 70px;
+		border: 1px solid #FF5A5F;
+		border-radius: 5px;
+	}
+
+	.footer {
+		position: fixed;
+		bottom: 0;
+		left: 0;
+		right: 0;
+		z-index: 1;
+		height: 100rpx;
+		padding: 20rpx;
+		box-sizing: border-box;
+		display: flex;
+		align-items: center;
+		justify-content: flex-end;
+		background-color: whitesmoke;
+
+		.ipt {
+			width: 380rpx;
+			height: 77rpx;
+			background: #f7f7f7;
+			border-radius: 38px;
+			padding: 0 37rpx;
+			box-sizing: border-box;
+			margin-right: 20rpx;
+		}
+
+		.control {
+			flex: 1;
+			display: flex;
+			align-items: center;
+			justify-content: flex-end;
+
+			.block {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				flex: 1;
+			}
+
+			.icon {
+				height: auto;
+			}
+
+			.c {
+				width: 41rpx;
+				margin-right: 10rpx;
+			}
+
+			.s {
+				width: 36rpx;
+			}
+
+			.t {
+				width: 31rpx;
+			}
+		}
+	}
+
+	.container {
+		padding: 0 0 100rpx;
+	}
+
+	.img-container {
+		margin-bottom: 0px;
+		width: 100px;
+		height: 100px;
+
+		.note-image-box {
+			margin-top: 0px;
+			display: flex;
+			flex-wrap: wrap;
+			padding: 10px;
+
+			.note-image-item {
+				position: relative;
+				width: 100%;
+				height: 0;
+				padding-top: 100%;
+				box-sizing: border-box;
+				// background-color: #18B566;
+
+				.close-icon {
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					position: absolute;
+					right: 0px;
+					top: 0px;
+					width: 22px;
+					height: 22px;
+					border-radius: 50%;
+					background-color: #d5d5d5;
+					z-index: 2;
+				}
+
+				.image-box {
+					display: flex;
+					justify-content: center;
+					align-items: center;
+					position: absolute;
+					top: 0px;
+					right: 0px;
+					border: 0px;
+					left: 0px;
+					border: 1px #eee solid;
+					border-radius: 5px;
+					overflow: hidden;
+					width: 99%;
+					height: 99%;
+
+				}
+
+
+			}
+		}
+	}
+
+	.input-body {
+		background-color: #fff;
+		padding: 10px;
+	}
+
+	.decoration {
+		width: 6px;
+		height: 6px;
+		margin-right: 4px;
+		border-radius: 50%;
+		background-color: cadetblue;
+	}
 </style>

+ 86 - 0
pages/equipment-inspection/inspection-advertising.vue

@@ -0,0 +1,86 @@
+<!--
+ * @Title: 
+ * @Description: 任务确认
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="wrap">
+		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="关闭"
+			@clickLeft="toBack">
+			<view class="nav-title">
+				<text>{{title}}</text>
+			</view>
+		</uni-nav-bar>
+		<view class="container">
+			<image src="/static/images/order-ad.png" style="width: 100%;" mode="widthFix"></image>
+			<view class="view-flex-block-center">
+               <view style="margin-top: 50px;margin-bottom: 50px;">登录注册可体验更多功能</view>
+			</view>
+			<view class="view-flex-inline-center">
+				<button style="background-color: orangered;" type="default" @click="toLogin()">登录/注册</button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	import {
+		oss,
+	} from '@/common/setting';
+	export default {
+		components: {
+
+		},
+		data() {
+			return {
+				title: '欢迎使用巡检系统',
+				toUrl:'',
+			}
+		},
+		computed: {},
+		onLoad(options) {
+            this.toUrl= options.toUrl;
+				console.log("url"+this.toUrl)
+		},
+		onShow() {},
+		methods: {
+			toOss(url) {
+				return oss + url;
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			toLogin() {
+				let url = '/pages/login/login-account?skipPage=2&toUrl='+this.toUrl;
+				uni.redirectTo({
+					url: url
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.view-btn {
+		margin-top: 20px;
+		margin-bottom: 20px;
+		padding-left: 10px;
+		padding-right: 10px;
+	}
+
+	.line-space {
+		margin-top: 4px;
+	}
+</style>

+ 241 - 0
pages/equipment-inspection/inspection-close-approve.vue

@@ -0,0 +1,241 @@
+<!--
+ * @Title: 
+ * @Description: 任务确认
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="wrap">
+		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
+			@clickLeft="toBack">
+			<view class="nav-title">
+				<text>{{title}}</text>
+			</view>
+		</uni-nav-bar>
+		<view class="container">
+			<uni-forms ref="baseForm" :model="formData">
+				<uni-section title="审批意见" ftitleFontSize="0.8rem" style="width: 100%;">
+					<template v-slot:decoration>
+						<view class="decoration"></view>
+					</template>
+					<view style="padding-top: 10px;padding-bottom: 0px;padding-left: 15px;padding-right: 15px;">
+						<uni-forms-item>
+							<uni-easyinput :styles="styles" type="textarea" v-model="formData.approveDesc"
+								placeholder="录入审批意见" />
+						</uni-forms-item>
+					</view>
+				</uni-section>
+				<uni-card title="评分">
+					<uni-rate v-model="formData.orderRate" />
+				</uni-card>
+			</uni-forms>
+			<view class="view-btn">
+				<button style="background-color: lightcoral;" type="default"
+					@click="onCloseConfirmClick()">工单关闭</button>
+			</view>
+			<uni-section title="巡检详情" type="line">
+				<uni-list>
+					<uni-list-item v-for="(item,index) in dataList" :key="item.id" direction="column">
+						<template v-slot:body>
+							<view class="point">
+								<view class="dot">
+									{{index+1}}
+								</view>
+								<view class="time-title">{{item.createTime}}</view>
+							</view>
+							<view class="time-info">
+								<view class="time-line">
+									<view class="line" style="padding-left:12px">
+										<view class="text" style="width: 90%;color: gray;">
+											处理人:<span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.servicePersonName}}</span>
+										</view>
+									</view>
+									<view class="line" style="padding-left:12px">
+										<view class="text" style="width: 90%;color: gray;">
+											巡检内容:<span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.inspectionDesc}}</span>
+										</view>
+									</view>
+								</view>
+							</view>
+						</template>
+					</uni-list-item>
+				</uni-list>
+			</uni-section>
+			<view style="margin-top: 5px;margin-bottom: 10px;padding-left: 10px;padding-right: 10px;">
+				<button style="background-color: lightcoral;" type="default" @click="toTopClick()">返回顶部</button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	import {
+		oss,
+		devUrl,
+		prodUrl
+	} from '@/common/setting';
+	export default {
+		components: {
+
+		},
+		data() {
+			return {
+				title: '巡检完结审批',
+				id: '',
+				dataList: [],
+				formData: {
+					approveDesc: '',
+					orderRate: 5,
+				},
+				styles: {
+					color: '#333',
+					borderColor: '#e5e5e5',
+					disableColor: '#FFFFFF'
+				},
+				baseURL: '',
+				baseOSS: '',
+				videoImg: '/static/images/video.png',
+			}
+		},
+		computed: {},
+		onLoad(option) {
+			this.id = option.id;
+			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
+			this.baseOSS = oss;
+			this.getDetail();
+		},
+		onShow() {},
+		methods: {
+			toOss(path) {
+				let url = this.baseOSS + path;
+				return url;
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			toTopClick() {
+				uni.pageScrollTo({
+					scrollTop: 0,
+					duration: 100,
+				});
+			},
+			openPhoto(file) {
+				let url = '/pages/check-order/photoView?url=' + file;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			openVideo(file) {
+				let url = '/pages/check-order/videoView?url=' + file;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			getDetail() {
+				let that = this;
+				let postData = {};
+				postData['inspectionId'] = this.id;
+				http.request({
+					url: '/galaxy-business/equipment/inspection/report/list',
+					method: 'GET',
+					data: postData,
+				}).then(res => {
+					if (res.data != null) {
+						console.log(JSON.stringify(res.data))
+						that.dataList = res.data;
+					}
+				}).catch(err => {
+					console.log(JOSN.stringify(err))
+				})
+			},
+			onCloseConfirmClick() {
+				let that = this;
+				uni.showModal({
+					content: '确定关闭该工单?',
+					showCancel: true,
+					success(res) {
+						if (res.confirm) {
+							that.formData['id'] = that.id;
+							http.request({
+								url: '/galaxy-business/equipment/inspection/close',
+								method: 'POST',
+								params: that.formData
+							}).then(res => {
+								console.log(res)
+								if (res.success) {
+									that.toBack();
+								}
+							}).catch(err => {
+								console.log(err)
+							})
+						}
+					}
+				});
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.view-btn {
+		margin-top: 20px;
+		margin-bottom: 20px;
+		padding-left: 10px;
+		padding-right: 10px;
+	}
+
+	.line-space {
+		margin-top: 4px;
+	}
+
+	.point {
+		display: flex;
+		flex-direction: row;
+		align-items: center;
+		margin: 15rpx 0;
+	}
+
+	.dot {
+		//margin-left: -22rpx;
+		background-color: #19be6b;
+		box-shadow: 0 0 5rpx 5rpx #71d5a1;
+		color: white;
+		width: 50rpx;
+		height: 50rpx;
+		padding: 5rpx;
+		font-size: 28rpx;
+		text-align: center;
+		border-radius: 50rpx;
+	}
+
+	.time-title {
+		font-size: 30rpx;
+		margin-left: 15rpx;
+		background-color: whitesmoke;
+		padding: 12rpx 25rpx;
+		border-radius: 50rpx;
+		color: orangered;
+	}
+
+	.time-info {
+		padding: 0rpx 0rpx 0rpx 25rpx;
+	}
+
+	.time-line {
+		border-left: 3rpx solid #71d5a1;
+		padding: 10rpx 10rpx 30rpx 20rpx;
+	}
+</style>

+ 483 - 553
pages/equipment-inspection/inspectionlist.vue → pages/equipment-inspection/inspection-manage.vue

@@ -1,554 +1,484 @@
-<!--
- * @Title: 
- * @Description: 巡检上报列表
- * @Author: swp
- * @Date: 2022-08-24 10:49:21
- * @LastEditors: 
- * @LastEditTime: 2022-08-24 10:49:21
--->
-<template>
-	<view class="wrap">
-		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
-			@clickLeft="toBack">
-			<view class="nav-title">
-				<text>{{title}}</text>
-			</view>
-		</uni-nav-bar>
-		<view class="container">
-			<uni-section title="查询" titleFontSize="0.8rem" type="line">
-				<view class="search-block">
-					<view class="adcd-adnm">
-						<uni-data-picker placeholder="请选择地区" popup-title="请选择所在地区" :localdata="regionTree"
-							v-model="selectedTreeNode" @change="onTreeChange" @nodeclick="onTreeNodeClick"
-							@popupopened="onTreePopupOpened" @popupclosed="onTreePopupClosed" :clear-icon="false">
-						</uni-data-picker>
-					</view>
-					<view class="rtu-code">
-						<uni-easyinput :styles="inputStyles" @input="searchRtuCodeValClear" prefixIcon="search"
-							v-model="searchRtuCodeVal" placeholder="请输入测站编码">
-						</uni-easyinput>
-					</view>
-					<view class="rtu-name">
-						<uni-easyinput :styles="inputStyles" @input="searchRtuNameValClear" prefixIcon="search"
-							v-model="searchRtuNameVal" placeholder="请输入测站名称">
-						</uni-easyinput>
-					</view>
-					<view class="submit-btn">
-						<button type="default" @click="search">查 询</button>
-					</view>
-				</view>
-			</uni-section>
-			<view class="line" style="margin-top: 5px;">
-				<view class="lineText">
-					<text class="inspectionCount">当前汛期: </text>
-					<text v-if="countInfo.rainKind==1" class="content">汛前巡检</text>
-					<text v-else-if="countInfo.rainKind==2" class="content">汛中(一)巡检</text>
-					<text v-else-if="countInfo.rainKind==3" class="content">汛中(二)巡检</text>
-					<text v-else class="content">--</text>
-				</view>
-				<view class="lineText">
-					<text class="beforeRainInspectionCount">巡检设备总数量: </text>
-					<text class="content">{{ countInfo.rtus }}</text>
-				</view>
-				<view class="lineText">
-					<text class="rainSencodInspectionCount">剩余待巡检设备数量: </text>
-					<text class="content">{{ countInfo.remaininspectionrtus }}</text>
-				</view>
-			</view>
-			<uni-list>
-				<uni-list-item v-for="item in list" :key="item.rtuCode">
-					<template v-slot:body>
-						<view class="list-item-block">
-							<view class="items-line">
-								<image class="item-title-run-status-icon" style="box-shadow:0 0 2px 2px lightblue"
-									src="/static/images/list/inspection_item.png" mode="widthFix">
-								</image>
-								<text class="item-title-rtu-name">{{item.rtuName}}</text>
-								<text class="item-title-rtu-code">[{{item.rtuCode}}]</text>
-							</view>
-							<view class="items-line">
-								<uni-icons class="input-uni-icon" type="map" size="18" color="lightblue" />
-								<text class="item-text-lable">行政区划:</text>
-								<text class="item-text-content">{{getAreaName(item)}}</text>
-							</view>
-							<view class="items-line">
-								<uni-icons class="input-uni-icon" type="location" size="18" color="lightblue" />
-								<text class="item-text-lable">安装位置:</text>
-								<text class="item-text-content-ellipsis">{{item.locationDesc}}</text>
-							</view>
-							<view class="items-line">
-								<uni-icons class="input-uni-icon" type="home" size="18" color="lightblue" />
-								<text class="item-text-lable">测站类型:</text>
-								<text class="item-text-content">{{getSiteKind(item)}}</text>
-							</view>
-							<view v-if="item.runStatusId==1" class="items-line">
-								<image class="item-title-run-status-icon" mode="widthFix"
-									src="/static/images/icon_warning.png">
-								</image>
-								<text class="item-text-lable">站点异常:</text>
-								<text class="item-text-content-ellipsis">{{item.warnKindInfo}}</text>
-							</view>
-							<view class="item-button-group">
-								<view class="item-button" @click="onLocationClick(item)">
-									<view class="items-line">
-										<uni-icons class="input-uni-icon" type="location" size="18" color="coral" />
-										<text class="button-text">导航</text>
-									</view>
-								</view>
-								<!-- 					<view v-if="item.runStatusId==1" class="item-button" @click="onWarnInfoViewClick(item.rtuCode)">
-									<view class="items-line">
-										<uni-icons class="input-uni-icon" type="info" size="18" color="coral" />
-										<text class="button-text">异常信息</text>
-									</view>
-								</view> -->
-								<!-- 			<view v-if="(permission.companyAdmin || permission.companyServciePerson) && item.orderStatus==1 && (item.orderConfirm ==0 || item.myOrder ==1)" class="item-button" @click="onComfireCheckOrderClick(item)">
-									<view class="items-line">
-										<uni-icons class="input-uni-icon" type="compose" size="18" color="coral" />
-										<text class="button-text">异常处理</text>
-									</view>
-								</view> -->
-								<!-- 						<view v-if="(permission.companyAdmin || permission.companyServciePerson) && item.orderStatus==1 && item.orderConfirm ==1 && item.myOrder ==0" class="item-button" @click="onCheckOrderReportClick(item)">
-									<view class="items-line">
-										<uni-icons class="input-uni-icon" type="compose" size="18" color="coral" />
-										<text class="button-text">维修填报</text>
-									</view>
-								</view> -->
-								<view v-if="item.orderStatus==1" class="item-button"
-									@click="onCheckOrderProcessClick(item)">
-									<view class="items-line">
-										<uni-icons class="input-uni-icon" type="compose" size="18" color="coral" />
-										<text class="button-text">维修任务</text>
-									</view>
-								</view>
-								<view v-if="permission.companyAdmin || permission.companyServciePerson"
-									class="item-button" @click="onReportClick(item.rtuCode)">
-									<view class="items-line">
-										<uni-icons class="input-uni-icon" type="compose" size="18" color="coral" />
-										<text class="button-text">开始填报</text>
-									</view>
-								</view>
-							</view>
-						</view>
-					</template>
-				</uni-list-item>
-			</uni-list>
-			<uni-group>
-				<view class="pagination-block">
-					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="pageChange" />
-				</view>
-			</uni-group>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {
-		role
-	} from "@/api/role.js";
-	import http from '@/http/api.js';
-
-	export default {
-		components: {
-
-		},
-		onLoad(option) {
-			if (this.userInfo.role_name === role['admin']) {
-				this.permission.admin = true;
-			} else if (this.userInfo.role_name === role['orgAdmin']) {
-				this.permission.orgAdmin = true;
-			} else if (this.userInfo.role_name === role['companyAdmin']) {
-				this.permission.companyAdmin = true;
-			} else if (this.userInfo.role_name === role['companyServciePerson']) {
-				this.permission.companyServciePerson = true;
-			}
-			this.getRegionTree();
-		},
-		data() {
-			return {
-				title: '待巡检设备',
-				permission: {
-					'admin': false,
-					'orgAdmin': false,
-					'companyAdmin': false,
-					'companyServciePerson': false,
-				},
-				countInfo: {
-					rainKind: 0,
-				},
-				//planId: 0,
-				//orgId: '',
-				//projectId: '',
-				list: [],
-
-				pageSize: 10,
-				// 当前页
-				pageCurrent: 1,
-				// 数据总量
-				total: 0,
-				regionTree: [],
-				regionCode: '',
-				selectedTreeNode: '',
-				searchRtuNameVal: '',
-				searchRtuCodeVal: '',
-				query: {},
-				inputStyles: {
-					color: '#808080',
-					borderColor: '#d3d3d3'
-				}
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			this.pageCurrent = 1;
-			this.getPage()
-		},
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			onBackPress() {
-				// #ifdef APP-PLUS
-				plus.key.hideSoftKeybord();
-				// #endif
-			},
-			// 分页触发
-			pageChange(e) {
-				this.pageCurrent = e.current;
-				this.getPage()
-			},
-			onTreeNodeClick(node) {
-				console.log(JSON.stringify(node))
-			},
-			onTreePopupOpened(e) {
-				console.log(JSON.stringify(e))
-			},
-			onTreePopupClosed(e) {
-				console.log(JSON.stringify(e))
-			},
-			onTreeChange(e) {
-				console.log(JSON.stringify(e))
-				let nodes = e.detail.value;
-				if (nodes.length > 0) {
-					let node = nodes[nodes.length - 1];
-					this.regionCode = node.value;
-					this.query = {};
-					this.query['adCode'] = this.regionCode;
-					this.searchRtuNameVal = '';
-					this.searchRtuCodeVal = '';
-					this.pageCurrent = 1;
-					this.getPage();
-					//this.getCountInfo(this.regionCode);
-				} else {
-					this.regionCode = '';
-					this.query = {};
-					this.searchRtuNameVal = '';
-					this.searchRtuCodeVal = '';
-					this.pageCurrent = 1;
-					this.getPage();
-					//this.getCountInfo(this.regionCode);
-				}
-			},
-			onDetailViewClick(rtuCode) {
-				console.log("onDetailViewClick " + rtuCode)
-				var url = '/pages/equipment-inspection/inspectionreportview?rtuCode=' + rtuCode;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			onReportClick(rtuCode) {
-				console.log("onReportClick " + rtuCode)
-				var url = '/pages/equipment-inspection/equipmentinspectionreport?rtuCode=' + rtuCode;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			onLocationClick(item) {
-				if (item.lat && item.lat) {
-					let lat = item.lat;
-					let lng = item.lng;
-					let name = item.rtuName;
-					let add = '';
-					if (item.locationDesc) {
-						add = item.locationDesc;
-					}
-					uni.openLocation({
-						latitude: Number(lat),
-						longitude: Number(lng),
-						name: name,
-						address: "",
-						success() {}
-					})
-				} else {
-					uni.showModal({
-						content: '经纬度为空,请确认!',
-						showCancel: true,
-						success(res) {
-							if (res.confirm) {
-
-							}
-						}
-					});
-				}
-			},
-			onWarnInfoViewClick(rtuCode) {
-				uni.navigateTo({
-					url: '/pages/warning/rtuwarninglist?rtuCode=' + rtuCode
-				})
-			},
-			onCheckOrderProcessClick(item) {
-				var that = this;
-				console.log("order id " + item.orderId)
-				if (this.permission.admin || this.permission.orgAdmin) {
-					let url = '/pages/check-order/orderprocessreportdetail?orderId=' + item.orderId;
-					uni.navigateTo({
-						url: url
-					})
-				} else {
-					if (item.orderConfirm == 0) {
-						// uni.showModal({
-						// 	content: '确定接受该维修任务?',
-						// 	showCancel: true,
-						// 	success(res) {
-						// 		if (res.confirm) {
-						// 			let url =
-						// 				'/pages/check-order/orderconfirm?id=' + item.orderId;
-						// 			uni.navigateTo({
-						// 				url: url
-						// 			})
-						// 		}
-						// 	}
-						// });
-						let url =
-							'/pages/check-order/orderconfirm?id=' + item.orderId;
-						uni.navigateTo({
-							url: url
-						})
-					} else {
-						if (item.myOrder == 1) {
-							uni.showModal({
-								content: '确定继续进行维修任务填报?',
-								showCancel: true,
-								success(res) {
-									if (res.confirm) {
-										let url = '/pages/check-order/orderprocessreport?orderId=' + item.orderId;
-										uni.navigateTo({
-											url: url
-										})
-									}
-								}
-							});
-						} else {
-							let url = '/pages/check-order/orderprocessreportdetail?orderId=' + item.orderId;
-							uni.navigateTo({
-								url: url
-							})
-						}
-					}
-				}
-			},
-			// onCheckOrderReportClick(item){
-			// 	console.log("order id" + item.orderId)
-			// 	var url = '/pages/check-order/orderprocessreport?orderId=' + item.orderId;
-			// 	uni.navigateTo({
-			// 		url: url
-			// 	})
-			// },
-			// onViewCheckOrderInfoClick(item){
-			// 	let url = '/pages/check-order/orderprocessreportdetail?orderId=' + item.orderId;
-			// 	uni.navigateTo({
-			// 		url: url
-			// 	})
-			// },
-			//录入查询
-			search() {
-				this.pageCurrent = 1;
-				//	console.log(JSON.stringify(res))
-				let params = {};
-				if (this.searchRtuCodeVal.length > 0) {
-					params['rtuCode'] = this.searchRtuCodeVal;
-				}
-				if (this.searchRtuNameVal.length > 0) {
-					params['rtuName'] = this.searchRtuNameVal;
-				}
-				this.getPage(params);
-			},
-			searchRtuNameValClear(e) {
-				if (e == null || e.length == 0) {
-					this.searchRtuNameVal = '';
-					if (this.searchRtuNameVal.length == 0) {
-						let params = {};
-						if (this.searchRtuCodeVal.length > 0) {
-							params['rtuCode'] = this.searchRtuCodeVal;
-						}
-						this.getPage(params);
-					}
-				}
-			},
-			searchRtuCodeValClear(e) {
-				if (e == null || e.length == 0) {
-					this.searchRtuCodeVal = '';
-					if (this.searchRtuCodeVal.length == 0) {
-						let params = {};
-						if (this.searchRtuNameVal.length > 0) {
-							params['rtuName'] = this.searchRtuNameVal;
-						}
-						this.getPage(params);
-					}
-				}
-			},
-			getCountInfo(adCode) {
-				let that = this;
-				http.request({
-					url: '/galaxy-business/equipment/inspection/count',
-					method: 'GET',
-					data: {
-						adCode
-					}
-				}).then(res => {
-					that.countInfo = res.data;
-				})
-			},
-			getRegionTree() {
-				var that = this;
-				http.request({
-					url: '/galaxy-business/baseinfo/region/tree',
-					method: 'GET',
-				}).then(res => {
-					if (res.data != null) {
-						that.regionTree = res.data;
-						that.selectedTreeNode = that.regionTree[0].value;
-						that.regionCode = that.regionTree[0].value;
-						that.query = {};
-						that.query['adCode'] = that.regionCode;
-						//that.orgId = that.projectTree[0].orgId;
-						//that.projectId = that.projectTree[0].projectId;
-						that.getPage();
-						that.getCountInfo(that.regionCode);
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getSiteKind(val) {
-				let htmltext = '';
-				if (val.isRain === 1) {
-					htmltext = htmltext + "雨量站";
-				}
-				if (val.isRiver == 1 || val.isRes == 1) {
-					if (htmltext.length > 0) {
-						htmltext = htmltext + ' / ';
-					}
-					htmltext = htmltext + '水位站';
-				}
-				if (val.isGround == 1) {
-					if (htmltext.length > 0) {
-						htmltext = htmltext + ' / ';
-					}
-					htmltext = htmltext + '墒情站';
-				}
-				if (val.isVideo == 1) {
-					if (htmltext.length > 0) {
-						htmltext = htmltext + ' / ';
-					}
-					htmltext = htmltext + '视频站';
-				}
-				return htmltext;
-			},
-			getAreaName(item) {
-				let htmltext = '';
-				if (item.adCity) {
-					htmltext = htmltext + item.adCity;
-				}
-				if (item.adDist) {
-					if (htmltext.length > 0) {
-						htmltext = htmltext + ' / ';
-					}
-					htmltext = htmltext + item.adDist;
-				}
-				return htmltext;
-			},
-			getPage(params = {}) {
-				let that = this;
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				let postData = Object.assign(params, this.query);
-				http.request({
-					url: '/galaxy-business/equipment/inspection/rtu/page',
-					method: 'GET',
-					params: {
-						current,
-						size,
-					},
-					data: postData,
-				}).then(res => {
-					if (res.data != null) {
-						//console.log(JSON.stringify(res.data))
-						if (res.data.records != null) {
-							that.list = res.data.records;
-						}
-						this.total = res.data.total;
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.line {
-		display: flex;
-		flex-direction: column;
-		justify-content: flex-start;
-	}
-
-	.line .lineText {
-		margin-left: 10px;
-		margin-right: 0px;
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-start;
-	}
-
-	.line .lineText .inspectionCount {
-		color: dodgerblue;
-		font-size: 0.7rem;
-	}
-
-	.line .lineText .content {
-		margin-left: 10px;
-		color: gray;
-		font-size: 0.7rem;
-	}
-
-	.line .lineText .beforeRainInspectionCount {
-		color: darkorange;
-		font-size: 0.7rem;
-	}
-
-	.line .lineText .rainFirstInspectionCount {
-		color: lightcoral;
-		font-size: 0.7rem;
-	}
-
-	.line .lineText .rainSencodInspectionCount {
-		color: darkcyan;
-		font-size: 0.7rem;
-	}
+<!--
+ * @Title: 
+ * @Description: 巡检上报列表
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="wrap">
+		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
+			@clickLeft="toBack">
+			<view class="nav-title">
+				<text>{{title}}</text>
+			</view>
+		</uni-nav-bar>
+		<view class="container">
+			<uni-section title="巡检统计" titleFontSize="0.8rem" type="circle">
+
+			</uni-section>
+			<uni-section title="巡检任务信息" type="circle">
+				<uni-list>
+					<uni-list-item v-for="item in list" :key="item.id" showArrow clickable @click="toDetail(item)">
+						<template v-slot:body>
+							<view class="list-item-block">
+								<view class="items-line">
+									<image class="item-title-run-status-icon" style="box-shadow:0 0 2px 2px lightblue"
+										src="/static/images/list/inspection_item.png" mode="widthFix">
+									</image>
+									<text class="item-title-rtu-name">{{item.planTitle}}</text>
+								</view>
+								<view class="items-line">
+									<text class="item-text-lable">计划内容:</text>
+									<text class="item-text-content-ellipsis">{{item.planDesc}}</text>
+								</view>
+								<view v-if="item.planScheduledType ==1">
+									<view class="items-line">
+										<text class="item-text-lable">计划执行周期:</text>
+										<text class="item-text-content-ellipsis">仅一次</text>
+									</view>
+									<view class="items-line">
+										<text class="item-text-lable">完成时限:</text>
+										<text class="item-text-content-ellipsis">{{item.inspectionCompleteTime}}</text>
+									</view>
+								</view>
+								<view v-else-if="item.planScheduledType ==2">
+									<view class="items-line">
+										<text class="item-text-lable">计划执行周期:</text>
+										<text class="item-text-content-ellipsis">定期</text>
+									</view>
+									<view class="items-line">
+										<view v-if="item.timeType ==1">
+											<text class="item-text-lable">周期设置:</text>
+											<text class="item-text-content-ellipsis">按天</text>
+										</view>
+										<view v-else-if="item.timeType ==2">
+											<text class="item-text-lable">周期设置:</text>
+											<text class="item-text-content-ellipsis">按周</text>
+										</view>
+										<view v-else-if="item.timeType ==3">
+											<text class="item-text-lable">周期设置:</text>
+											<text class="item-text-content-ellipsis">按月</text>
+										</view>
+									</view>
+								</view>
+							</view>
+						</template>
+					</uni-list-item>
+				</uni-list>
+			</uni-section>
+			<uni-group>
+				<view class="pagination-block">
+					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
+						@change="pageChange" />
+				</view>
+			</uni-group>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		role
+	} from "@/api/role.js";
+	import http from '@/http/api.js';
+
+	export default {
+		components: {
+
+		},
+		onLoad(option) {
+			// if (this.userInfo.role_name === role['admin']) {
+			// 	this.permission.admin = true;
+			// } else if (this.userInfo.role_name === role['orgAdmin']) {
+			// 	this.permission.orgAdmin = true;
+			// } else if (this.userInfo.role_name === role['companyAdmin']) {
+			// 	this.permission.companyAdmin = true;
+			// } else if (this.userInfo.role_name === role['companyServciePerson']) {
+			// 	this.permission.companyServciePerson = true;
+			// }
+			// this.getRegionTree();
+			this.getPage();
+		},
+		data() {
+			return {
+				title: '巡检保养管理',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
+				countInfo: {
+					rainKind: 0,
+				},
+				//planId: 0,
+				//orgId: '',
+				//projectId: '',
+				list: [],
+
+				pageSize: 10,
+				// 当前页
+				pageCurrent: 1,
+				// 数据总量
+				total: 0,
+				regionTree: [],
+				regionCode: '',
+				selectedTreeNode: '',
+				searchRtuNameVal: '',
+				searchRtuCodeVal: '',
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				}
+			}
+		},
+		computed: {
+			getIcon() {
+				return path => {
+					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
+				}
+			},
+		},
+		onShow() {
+			// this.pageCurrent = 1;
+			// this.getPage()
+		},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			onTreeNodeClick(node) {
+				console.log(JSON.stringify(node))
+			},
+			onTreePopupOpened(e) {
+				console.log(JSON.stringify(e))
+			},
+			onTreePopupClosed(e) {
+				console.log(JSON.stringify(e))
+			},
+			onTreeChange(e) {
+				console.log(JSON.stringify(e))
+				let nodes = e.detail.value;
+				if (nodes.length > 0) {
+					let node = nodes[nodes.length - 1];
+					this.regionCode = node.value;
+					this.query = {};
+					this.query['adCode'] = this.regionCode;
+					this.searchRtuNameVal = '';
+					this.searchRtuCodeVal = '';
+					this.pageCurrent = 1;
+					this.getPage();
+					//this.getCountInfo(this.regionCode);
+				} else {
+					this.regionCode = '';
+					this.query = {};
+					this.searchRtuNameVal = '';
+					this.searchRtuCodeVal = '';
+					this.pageCurrent = 1;
+					this.getPage();
+					//this.getCountInfo(this.regionCode);
+				}
+			},
+			onDetailViewClick(rtuCode) {
+				console.log("onDetailViewClick " + rtuCode)
+				var url = '/pages/equipment-inspection/inspectionreportview?rtuCode=' + rtuCode;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onReportClick(rtuCode) {
+				console.log("onReportClick " + rtuCode)
+				var url = '/pages/equipment-inspection/equipmentinspectionreport?rtuCode=' + rtuCode;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onLocationClick(item) {
+				if (item.lat && item.lat) {
+					let lat = item.lat;
+					let lng = item.lng;
+					let name = item.rtuName;
+					let add = '';
+					if (item.locationDesc) {
+						add = item.locationDesc;
+					}
+					uni.openLocation({
+						latitude: Number(lat),
+						longitude: Number(lng),
+						name: name,
+						address: "",
+						success() {}
+					})
+				} else {
+					uni.showModal({
+						content: '经纬度为空,请确认!',
+						showCancel: true,
+						success(res) {
+							if (res.confirm) {
+
+							}
+						}
+					});
+				}
+			},
+			onWarnInfoViewClick(rtuCode) {
+				uni.navigateTo({
+					url: '/pages/warning/rtuwarninglist?rtuCode=' + rtuCode
+				})
+			},
+			onCheckOrderProcessClick(item) {
+				var that = this;
+				console.log("order id " + item.orderId)
+				if (this.permission.admin || this.permission.orgAdmin) {
+					let url = '/pages/check-order/orderprocessreportdetail?orderId=' + item.orderId;
+					uni.navigateTo({
+						url: url
+					})
+				} else {
+					if (item.orderConfirm == 0) {
+						let url =
+							'/pages/check-order/order-confirm?id=' + item.orderId;
+						uni.navigateTo({
+							url: url
+						})
+					} else {
+						if (item.myOrder == 1) {
+							uni.showModal({
+								content: '确定继续进行维修任务填报?',
+								showCancel: true,
+								success(res) {
+									if (res.confirm) {
+										let url = '/pages/check-order/orderprocessreport?orderId=' + item.orderId;
+										uni.navigateTo({
+											url: url
+										})
+									}
+								}
+							});
+						} else {
+							let url = '/pages/check-order/orderprocessreportdetail?orderId=' + item.orderId;
+							uni.navigateTo({
+								url: url
+							})
+						}
+					}
+				}
+			},
+			// onCheckOrderReportClick(item){
+			// 	console.log("order id" + item.orderId)
+			// 	var url = '/pages/check-order/orderprocessreport?orderId=' + item.orderId;
+			// 	uni.navigateTo({
+			// 		url: url
+			// 	})
+			// },
+			// onViewCheckOrderInfoClick(item){
+			// 	let url = '/pages/check-order/orderprocessreportdetail?orderId=' + item.orderId;
+			// 	uni.navigateTo({
+			// 		url: url
+			// 	})
+			// },
+			//录入查询
+			search() {
+				this.pageCurrent = 1;
+				//	console.log(JSON.stringify(res))
+				let params = {};
+				if (this.searchRtuCodeVal.length > 0) {
+					params['rtuCode'] = this.searchRtuCodeVal;
+				}
+				if (this.searchRtuNameVal.length > 0) {
+					params['rtuName'] = this.searchRtuNameVal;
+				}
+				this.getPage(params);
+			},
+			searchRtuNameValClear(e) {
+				if (e == null || e.length == 0) {
+					this.searchRtuNameVal = '';
+					if (this.searchRtuNameVal.length == 0) {
+						let params = {};
+						if (this.searchRtuCodeVal.length > 0) {
+							params['rtuCode'] = this.searchRtuCodeVal;
+						}
+						this.getPage(params);
+					}
+				}
+			},
+			searchRtuCodeValClear(e) {
+				if (e == null || e.length == 0) {
+					this.searchRtuCodeVal = '';
+					if (this.searchRtuCodeVal.length == 0) {
+						let params = {};
+						if (this.searchRtuNameVal.length > 0) {
+							params['rtuName'] = this.searchRtuNameVal;
+						}
+						this.getPage(params);
+					}
+				}
+			},
+			getCountInfo(adCode) {
+				let that = this;
+				http.request({
+					url: '/galaxy-business/equipment/inspection/count',
+					method: 'GET',
+					data: {
+						adCode
+					}
+				}).then(res => {
+					that.countInfo = res.data;
+				})
+			},
+			toDetail(item){
+				let url = '/pages/equipment-inspection/inspectionreportlist?planId='+item.id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			getRegionTree() {
+				var that = this;
+				http.request({
+					url: '/galaxy-business/baseinfo/region/tree',
+					method: 'GET',
+				}).then(res => {
+					if (res.data != null) {
+						that.regionTree = res.data;
+						that.selectedTreeNode = that.regionTree[0].value;
+						that.regionCode = that.regionTree[0].value;
+						that.query = {};
+						that.query['adCode'] = that.regionCode;
+						//that.orgId = that.projectTree[0].orgId;
+						//that.projectId = that.projectTree[0].projectId;
+						that.getPage();
+						that.getCountInfo(that.regionCode);
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			getSiteKind(val) {
+				let htmltext = '';
+				if (val.isRain === 1) {
+					htmltext = htmltext + "雨量站";
+				}
+				if (val.isRiver == 1 || val.isRes == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '水位站';
+				}
+				if (val.isGround == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '墒情站';
+				}
+				if (val.isVideo == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '视频站';
+				}
+				return htmltext;
+			},
+			getAreaName(item) {
+				let htmltext = '';
+				if (item.adCity) {
+					htmltext = htmltext + item.adCity;
+				}
+				if (item.adDist) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + item.adDist;
+				}
+				return htmltext;
+			},
+			getPage(params = {}) {
+				let that = this;
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(params, this.query);
+				http.request({
+					url: '/galaxy-business/equipment/inspection/plan/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data != null) {
+						//console.log(JSON.stringify(res.data))
+						if (res.data.records != null) {
+							that.list = res.data.records;
+						}
+						this.total = res.data.total;
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.line {
+		display: flex;
+		flex-direction: column;
+		justify-content: flex-start;
+	}
+
+	.line .lineText {
+		margin-left: 10px;
+		margin-right: 0px;
+		display: flex;
+		flex-direction: row;
+		justify-content: flex-start;
+	}
+
+	.line .lineText .inspectionCount {
+		color: dodgerblue;
+		font-size: 0.7rem;
+	}
+
+	.line .lineText .content {
+		margin-left: 10px;
+		color: gray;
+		font-size: 0.7rem;
+	}
+
+	.line .lineText .beforeRainInspectionCount {
+		color: darkorange;
+		font-size: 0.7rem;
+	}
+
+	.line .lineText .rainFirstInspectionCount {
+		color: lightcoral;
+		font-size: 0.7rem;
+	}
+
+	.line .lineText .rainSencodInspectionCount {
+		color: darkcyan;
+		font-size: 0.7rem;
+	}
 </style>

+ 419 - 0
pages/equipment-inspection/inspection-plan.vue

@@ -0,0 +1,419 @@
+<!--
+ * @Title: 
+ * @Description: 巡检计划创建
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="container">
+		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
+			@clickLeft="toBack">
+			<view style="width: 100%;display: flex;flex-direction: row;justify-content: center;align-items: center;">
+				<text style="color: white;font-size: 1rem;">{{title}}</text>
+			</view>
+		</uni-nav-bar>
+		<uni-forms ref="baseForm" :model="formData" :rules="rules">
+			<uni-card title="巡检标题" :is-shadow="false">
+				<uni-forms-item name='planTitle' label-width="0px" required>
+					<uni-easyinput :styles="styles" v-model="formData.planTitle" placeholder="录入巡检标题" />
+				</uni-forms-item>
+			</uni-card>
+			<uni-card title="巡检内容" :is-shadow="false">
+				<uni-forms-item name='planDesc' label-width="0px" required>
+					<uni-easyinput :styles="styles" type="textarea" :autoHeight="true" v-model="formData.planDesc"
+						placeholder="录入巡检内容" />
+				</uni-forms-item>
+			</uni-card>
+			<uni-card title="巡检设定" :is-shadow="false">
+				<uni-forms-item name="planScheduledType" label="计划类型" label-width="100px" required>
+					<uni-data-checkbox v-model="formData.planScheduledType"
+						:localdata="planScheduledTypeItems.items"></uni-data-checkbox>
+				</uni-forms-item>
+				<view v-if="formData.planScheduledType==1">
+					<uni-forms-item name='inspectionCompleteTime' label="截止时间" label-width="100px" required>
+						<uni-datetime-picker type="date" v-model="formData.inspectionCompleteTime"
+							@change="completeDateTimeChange" />
+					</uni-forms-item>
+				</view>
+				<view v-else-if="formData.planScheduledType==2">
+	<!-- 				<uni-forms-item name='inspectionStartTime' label="开始时间" label-width="100px" required>
+						<uni-datetime-picker type="date" v-model="formData.inspectionStartTime"
+							@change="completeDateTimeChange" />
+					</uni-forms-item>
+					<uni-forms-item name='inspectionEndTime' label="结束时间" label-width="100px" required>
+						<uni-datetime-picker type="date" v-model="formData.inspectionEndTime"
+							@change="completeDateTimeChange" />
+					</uni-forms-item> -->
+					<uni-forms-item name='timeType' label="执行周期" label-width="100px">
+						<uni-data-checkbox v-model="formData.timeType"
+							:localdata="timeTypeItems.items"></uni-data-checkbox>
+					</uni-forms-item>
+				</view>
+			</uni-card>
+		</uni-forms>
+		<view class="footer">
+			<view class="control">
+				<view class="view-flex-inline-center">
+					<view class="block"
+						style="width: 160px;height:32px;margin-left: 10px;margin-right: 10px;border-radius:7px;background-color:lightsalmon"
+						@click="toSubmit()">
+						<view class="view-flex-cc">
+							<uni-icons class="input-uni-icon" type="checkmarkempty" size="18" color="#ffffff" />
+						</view>
+						<view class="view-flex-cc" style="padding-left:5px;">
+							<text style="color:black;font-size:0.7rem">立即提交</text>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		role
+	} from "@/api/role.js";
+	import http from '@/http/api.js';
+	import {
+		oss,
+		imgPath,
+		devUrl,
+		prodUrl
+	} from '@/common/setting';
+
+	export default {
+		components: {},
+		data() {
+			return {
+				title: '巡检保养计划',
+				desc: '',
+				styles: {
+					color: '#333',
+					borderColor: '#e5e5e5',
+					disableColor: '#FFFFFF'
+				},
+				baseURL: '',
+				baseOSS: '',
+				videoImg: '/static/images/video.png',
+				formData: {
+					planTitle:'',
+					planDesc:'',
+					planScheduledType: 1,
+					timeType: 1,
+					inspectionCompleteTime:'',
+					// inspectionStartTime:'',
+					// inspectionEndTime:'',
+				},
+				rules: {
+					planTitle: {
+						rules: [{
+							required: true,
+							errorMessage: '必填项',
+						}]
+					},
+					planDesc: {
+						rules: [{
+							required: true,
+							errorMessage: '必填项',
+						}, ]
+					},
+					planScheduledType: {
+						rules: [{
+							required: true,
+							errorMessage: '必填项',
+						}, ]
+					},
+					timeType: {
+						rules: [{
+							required: true,
+							errorMessage: '必填项',
+						}, ]
+					},
+					inspectionCompleteTime: {
+						rules: [{
+							required: true,
+							errorMessage: '选择巡检截止时间',
+						}, ]
+					},
+					// inspectionStartTime: {
+					// 	rules: [{
+					// 		required: true,
+					// 		errorMessage: '必填项',
+					// 	}, ]
+					// },
+					// inspectionEndTime: {
+					// 	rules: [{
+					// 		required: true,
+					// 		errorMessage: '必填项',
+					// 	}, ]
+					// },
+				},
+				uuid: '',
+				planScheduledTypeItems: {
+					items: [{
+						'value': 1,
+						'text': '仅一次'
+					}, {
+						'value': 2,
+						'text': '定期'
+					}],
+					current: 1,
+				},
+				timeTypeItems: {
+					items: [{
+						'value': 1,
+						'text': '按天'
+					}, {
+						'value': 2,
+						'text': '按周'
+					}, {
+						'value': 3,
+						'text': '按月'
+					}],
+					current: 1,
+				},
+			}
+		},
+		computed: {
+
+		},
+		onLoad(options) {
+			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
+			this.baseOSS = oss;
+			this.uuid = this.getUuid();
+		},
+		onReady() {
+			//console.log("onReady++++++++++++++")
+			// 需要在onReady中设置规则
+			 this.$refs.baseForm.setRules(this.rules)
+		},
+		onShow() {
+			let that = this;
+			this.uuid = this.getUuid();
+			// uni.$once("lngLat", function(data) {
+			// 	let p = JSON.parse(data)
+			// 	that.formData.longitude = p.lng;
+			// 	that.formData.latitude = p.lat;
+			// 	that.formData.address = p.add;
+			// })
+			// uni.$once("taskOwnerInfo", function(data) {
+			// 	let p = JSON.parse(data)
+			// 	that.formData.taskOwnerId = p.taskOwnerId;
+			// 	that.formData.taskOwnerName = p.taskOwnerName;
+			// })
+		},
+		methods: {
+			toOss(path) {
+				return this.baseOSS + path;
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			getUuid() {
+				return 'xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
+					var r = (Math.random() * 16) | 0,
+						v = c == 'x' ? r : (r & 0x3) | 0x8;
+					return v.toString(16);
+				});
+			},
+			completeDateTimeChange(e) {
+				console.log('change事件:', e);
+			},
+			onTaskOwnerSelectClick() {
+				var url = '/pages/serviceperson/taskOwnerSelect';
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onMapAddClick() {
+				var url = '/pages/map/maplocation';
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onCheckPhotoAdd() {
+				let that = this;
+				uni.chooseImage({
+					sourceType: ['album ', 'camera'],
+					sizeType: ['compressed'],
+					success: (res) => {
+						const len = res.tempFilePaths.length;
+						if (len === 1) {
+							res.tempFilePaths.forEach(path => {
+								that.uploadPhoto(path);
+							})
+						} else {
+							uni.showModal({
+								content: '只能选择一张图片,请确认!',
+								showCancel: false
+							});
+						}
+					}
+				})
+			},
+			uploadPhoto(imagePath) {
+				let that = this;
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					fileType: 'image',
+					filePath: imagePath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.orderPhotos.push(path);
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onPhotoDel(index) {
+				this.orderPhotos.splice(index, 1);
+			},
+			onCheckVideoAdd() {
+				let that = this;
+				uni.chooseVideo({
+					sourceType: ['camera'],
+					maxDuration: 10,
+					success: (res) => {
+						that.uploadVideo(res.tempFilePath);
+					}
+				})
+			},
+			uploadVideo(videoPath) {
+				let that = this;
+				uni.showLoading({
+					title: '上传中'
+				});
+				uni.uploadFile({
+					url: this.baseURL + '/galaxy-resource/oss/endpoint/put-file-attach?Blade-Auth=' +
+						uni.getStorageSync('accessToken'),
+					filePath: videoPath,
+					name: 'file',
+					success: (uploadFileRes) => {
+						if (uploadFileRes.statusCode == 200) {
+							let data = JSON.parse(uploadFileRes.data);
+							if (data.success) {
+								let path = data.data['name'];
+								that.orderVideos.push(path);
+							}
+						}
+					},
+					fail: (err) => {
+						console.log(err);
+						reject('err')
+					},
+					complete() {
+						uni.hideLoading()
+					}
+				});
+			},
+			onVideoDel(index) {
+				this.orderVideos.splice(index, 1);
+			},
+			openVideo(item) {
+				let url = '/pages/check-order/videoView?url=' + item;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			toSubmit() {
+				let that = this;
+				this.$refs.baseForm.validate().then(res => {
+					that.submitData();
+					//console.log('提交');
+				}).catch(err => {
+					console.log('表单错误信息:', JSON.stringify(err));
+					uni.showModal({
+						content: "录入错误,请检查录入内容!",
+						showCancel: false,
+						success(res) {
+							if (res.confirm) {
+								//that.$refs.baseForm.clearValidate();
+							}
+						}
+					});
+				})
+			},
+			submitData() {
+				let formdata = this.formData;
+				formdata['batchId'] = this.uuid;
+				// if (this.orderPhotos.length > 0) {
+				// 	let photos = '';
+				// 	for (let i = 0; i < this.orderPhotos.length; i++) {
+				// 		if (photos.length > 0) {
+				// 			photos = photos + ',';
+				// 		}
+				// 		photos = photos + this.orderPhotos[i];
+				// 	}
+				// 	formdata['orderPhotos'] = photos;
+				// }
+				// if (this.orderVideos.length > 0) {
+				// 	let videos = '';
+				// 	for (let i = 0; i < this.orderVideos.length; i++) {
+				// 		if (videos.length > 0) {
+				// 			videos = videos + ',';
+				// 		}
+				// 		videos = videos + this.orderVideos[i];
+				// 	}
+				// 	formdata['orderVideos'] = videos;
+				// }
+				let that = this;
+				http.request({
+					url: '/galaxy-business/equipment/inspection/plan/save',
+					method: 'POST',
+					data: formdata
+				}).then(res => {
+					if (res.success) {
+						uni.showModal({
+							content: '已成功提交',
+							showCancel: false,
+							success(res) {
+								that.toBack();
+							}
+						});
+					} else {
+						uni.showModal({
+							content: '' + res.msg,
+							showCancel: false
+						});
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.container {
+		padding: 0 0 100rpx;
+	}
+
+
+
+	.view-flex-cc {
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+	}
+</style>

+ 43 - 40
pages/equipment-inspection/inspectionreportlist.vue

@@ -15,7 +15,7 @@
 			</view>
 		</uni-nav-bar>
 		<view class="container">
-			<uni-section title="查询" titleFontSize="0.8rem" type="line">
+<!-- 			<uni-section title="查询" titleFontSize="0.8rem" type="line">
 				<view class="search-block">
 					<view class="adcd-adnm">
 						<uni-data-picker placeholder="请选择地区" popup-title="请选择所在地区" :localdata="regionTree"
@@ -37,8 +37,8 @@
 						<button type="default" @click="search">查 询</button>
 					</view>
 				</view>
-			</uni-section>
-			<view style="margin-top: 5px;padding-left: 10px;padding-right: 10px;margin-bottom: 5px;">
+			</uni-section> -->
+<!-- 			<view style="margin-top: 5px;padding-left: 10px;padding-right: 10px;margin-bottom: 5px;">
 				<view class="line">
 					<view class="lineText">
 						<text class="inspectionCount">当前汛期: </text>
@@ -69,7 +69,7 @@
 						</uni-data-checkbox>
 					</view>
 				</view>
-			</view>
+			</view> -->
 			<uni-list>
 				<uni-list-item v-for="item in list" :key="item.id">
 					<template v-slot:body>
@@ -78,21 +78,21 @@
 								<image class="item-title-run-status-icon" style="box-shadow:0 0 2px 2px lightblue"
 									src="/static/images/list/inspection_item.png" mode="widthFix">
 								</image>
-								<text class="item-title-rtu-name">{{item.rtuName}}</text>
-								<text class="item-title-rtu-code">[{{item.rtuCode}}]</text>
+								<text class="item-title-rtu-name">{{item.inspectionTitle}}</text>
+								<!-- <text class="item-title-rtu-code">[{{item.rtuCode}}]</text> -->
 							</view>
 							<view class="items-line">
-								<uni-icons class="input-uni-icon" type="compose" size="18" color="lightblue" />
-								<text class="item-text-lable">汛前填报:</text>
-								<view v-if="item.beforeRainSeasonStatus ==1">
-									<text class="item-text-content" style="color:dodgerblue;">已填报</text>
-									<text class="item-text-content" style="color:gray;">/</text>
+								<!-- <uni-icons class="input-uni-icon" type="compose" size="18" color="lightblue" /> -->
+								<text class="item-text-lable">巡检日期:</text>
+								<!-- <view v-if="item.beforeRainSeasonStatus ==1"> -->
+									<text class="item-text-content" style="color:dodgerblue;">{{item.inspectionDate}}</text>
+								<!-- 	<text class="item-text-content" style="color:gray;">/</text>
 									<text class="item-text-content"
-										style="color:gray;">{{item.beforeRainSeasonReportTime}}</text>
-								</view>
-								<text v-else class="item-text-content" style="color:darkorange;">未填报</text>
+										style="color:gray;">{{item.beforeRainSeasonReportTime}}</text> -->
+							<!-- 	</view> -->
+							<!-- 	<text v-else class="item-text-content" style="color:darkorange;">未填报</text> -->
 							</view>
-							<view class="items-line">
+<!-- 							<view class="items-line">
 								<uni-icons class="input-uni-icon" type="compose" size="18" color="lightblue" />
 								<text class="item-text-lable">汛中(一)填报:</text>
 								<view v-if="item.rainSeasonFirstStatus ==1">
@@ -102,8 +102,8 @@
 										style="color:gray;">{{item.rainSeasonFirstReportTime}}</text>
 								</view>
 								<text v-else class="item-text-content" style="color:darkorange;">未填报</text>
-							</view>
-							<view class="items-line">
+							</view> -->
+			<!-- 				<view class="items-line">
 								<uni-icons class="input-uni-icon" type="compose" size="18" color="lightblue" />
 								<text class="item-text-lable">汛中(二)填报:</text>
 								<view v-if="item.rainSeasonSecondStatus ==1">
@@ -113,8 +113,8 @@
 										style="color:gray;">{{item.rainSeasonSecondReportTime}}</text>
 								</view>
 								<text v-else class="item-text-content" style="color:darkorange;">未填报</text>
-							</view>
-							<view class="item-button-group">
+							</view> -->
+<!-- 							<view class="item-button-group">
 								<view v-if="item.beforeRainSeasonStatus ==1" class="item-button" style="width: 120px;"
 									@click="onBeforeRainDetailViewClick(item.beforeRainSeasonReportId)">
 									<view class="items-line">
@@ -154,7 +154,7 @@
 										<text class="button-text">汛中(二)详情</text>
 									</view>
 								</view>
-							</view>
+							</view> -->
 						</view>
 					</template>
 				</uni-list-item>
@@ -180,20 +180,23 @@
 
 		},
 		onLoad(option) {
-			if (this.userInfo.role_name === role['admin']) {
-				this.permission.admin = true;
-			} else if (this.userInfo.role_name === role['orgAdmin']) {
-				this.permission.orgAdmin = true;
-			} else if (this.userInfo.role_name === role['companyAdmin']) {
-				this.permission.companyAdmin = true;
-			} else if (this.userInfo.role_name === role['companyServciePerson']) {
-				this.permission.companyServciePerson = true;
-			}
-			this.getRegionTree();
+			this.planId = option.planId;
+			// if (this.userInfo.role_name === role['admin']) {
+			// 	this.permission.admin = true;
+			// } else if (this.userInfo.role_name === role['orgAdmin']) {
+			// 	this.permission.orgAdmin = true;
+			// } else if (this.userInfo.role_name === role['companyAdmin']) {
+			// 	this.permission.companyAdmin = true;
+			// } else if (this.userInfo.role_name === role['companyServciePerson']) {
+			// 	this.permission.companyServciePerson = true;
+			// }
+			// this.getRegionTree();
+			this.getPage();
 		},
 		data() {
 			return {
-				title: '设备巡检填报信息',
+				title: '巡检填报信息',
+				planId:'',
 				permission: {
 					'admin': false,
 					'orgAdmin': false,
@@ -394,18 +397,18 @@
 				let that = this;
 				const current = this.pageCurrent;
 				const size = this.pageSize;
-				if (this.countOption == 0) {
+				// if (this.countOption == 0) {
 				
-				} else if (this.countOption == 1) {
-					params['rainSeasonKind'] = 1;
-				} else if (this.countOption == 2) {
-					params['rainSeasonKind'] = 2;
-				} else if (this.countOption == 3) {
-					params['rainSeasonKind'] = 3;
-				}
+				// } else if (this.countOption == 1) {
+					params['inspectionPlanId'] = this.planId;
+				// } else if (this.countOption == 2) {
+				// 	params['rainSeasonKind'] = 2;
+				// } else if (this.countOption == 3) {
+				// 	params['rainSeasonKind'] = 3;
+				// }
 				let postData = Object.assign(params, this.query);
 				http.request({
-					url: '/galaxy-business/equipment/inspection/rain/page',
+					url: '/galaxy-business/equipment/inspection/page',
 					method: 'GET',
 					params: {
 						current,

+ 321 - 155
pages/home/home.vue

@@ -8,7 +8,6 @@
 -->
 <template>
 	<view class="container">
-		<!-- 导航栏  #3F9EFF-->
 		<uni-nav-bar :fixed="true" backgroundColor="#f7f7f7" statusBar="false" height="75px">
 			<block slot="left">
 				<view class="view-flex-block-center">
@@ -39,134 +38,260 @@
 				</view>
 			</block>
 		</uni-nav-bar>
-		<uni-card title="快捷操作">
+		<uni-card title="快捷操作" :is-shadow="false">
 			<view class="view-flex-inline">
 				<!-- 					<uni-icons class="input-uni-icon" type="phone" size="18" color="coral" /> -->
 				<text class="text-under-line" style="color: coral;font-size: 1rem;"
 					@click="toShortcutCreateOrder">发起工单</text>
 				<text class="text-under-line" style="color: coral;font-size: 1rem;margin-left: 40px;"
-					@click="toShortcutCreateOrder">创建巡检保养计划</text>
+					@click="toShortcutInspectionPlan">创建巡检保养计划</text>
 			</view>
 		</uni-card>
-
-		<uni-card title="待办工单" :thumbnail="orderLogo">
-			<uni-section title="新工单" type="line">
-
-				<uni-list>
-					<uni-list-item v-for="item in unconfirmOrderList" :key="item.id" showArrow clickable
-						@click="toConfirm(item)" rightText="去接单">
-						<template v-slot:body>
-							<view class="list-item-block">
-								<view class="line">
-									<uni-icons type="personadd" size="18" color="lightblue" />
-									<view class="text" style="width: 90%;color: gray;">
-										创建人: <span
-											style="margin-left: 5px;color: cornflowerblue;">{{item.createOrderPersonName}}</span>
+		<uni-group>
+			<swiper style="height: 100px;" circular :indicator-dots="false" :autoplay="true" :interval="2000"
+				:duration="500">
+				<swiper-item style="height: 200px;line-height: 300rpx;">
+					<image src="/static/images/order-ad.png" style="height: 100%;" mode="heightFix"></image>
+				</swiper-item>
+				<swiper-item style="height: 200px;line-height: 300rpx;">
+					<image src="/static/images/order-ad.png" style="height: 100%;" mode="heightFix"></image>
+				</swiper-item>
+				<swiper-item style="height: 200px;line-height: 300rpx;">
+					<image src="/static/images/order-ad.png" style="height: 100%;" mode="heightFix"></image>
+				</swiper-item>
+			</swiper>
+		</uni-group>
+		<uni-card title="待办工单" :thumbnail="checkLogo" :is-shadow="false">
+			<uni-section title="新工单" type="circle">
+				<view v-if="unconfirmOrderCount>0">
+					<uni-list>
+						<uni-list-item v-for="item in unconfirmOrderList" :key="item.id" showArrow clickable
+							@click="toConfirm(item)" rightText="去接单">
+							<template v-slot:body>
+								<view class="list-item-block">
+									<view class="line">
+										<uni-icons type="personadd" size="18" color="lightblue" />
+										<view class="text" style="width: 90%;color: gray;">
+											创建人: <span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.createOrderPersonName}}</span>
+										</view>
 									</view>
-								</view>
-								<view class="line">
-									<uni-icons type="calendar" size="18" color="lightblue" />
-									<view class="text" style="width: 90%;color: gray;">
-										创建时间: <span
-											style="margin-left: 5px;color: cornflowerblue;">{{item.createTime}}</span>
+									<view class="line">
+										<uni-icons type="calendar" size="18" color="lightblue" />
+										<view class="text" style="width: 90%;color: gray;">
+											创建时间: <span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.createTime}}</span>
+										</view>
 									</view>
-								</view>
-								<view class="line">
-									<uni-icons type="help" size="18" color="lightblue" />
-									<view class="text text-ellipsis" style="width: 90%;color: gray;">
-										问题描述: <span
-											style="margin-left: 5px;color: cornflowerblue;">{{item.orderDesc}}</span>
+									<view class="line">
+										<uni-icons type="help" size="18" color="lightblue" />
+										<view class="text text-ellipsis" style="width: 90%;color: gray;">
+											问题描述: <span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.orderDesc}}</span>
+										</view>
 									</view>
 								</view>
-							</view>
-						</template>
-					</uni-list-item>
-				</uni-list>
+							</template>
+						</uni-list-item>
+					</uni-list>
+				</view>
+				<view v-else class="view-flex-inline">
+					<image src="/static/images/todo/todo.png" style="width: 40px;margin-left: 10px;" mode="widthFix">
+					</image>
+					<view class="view-flex-block-center" style="margin-left: 10px;align-items: flex-start;">
+						<text>暂无新工单</text>
+					</view>
+				</view>
 			</uni-section>
-			<uni-section title="已接工单" type="line">
-				<uni-list>
-					<uni-list-item v-for="item in todoOrderList" :key="item.id" showArrow clickable @click="toDo(item)"
-						rightText="去处理">
-						<template v-slot:body>
-							<view class="list-item-block">
-								<view class="line">
-									<uni-icons type="personadd" size="18" color="lightblue" />
-									<view class="text" style="width: 90%;color: gray;">
-										处理人: <span
-											style="margin-left: 5px;color: cornflowerblue;">{{item.orderConfirmName}}</span>
+			<uni-section title="待处理工单" type="circle">
+				<view v-if="todoOrderCount>0">
+					<uni-list>
+						<uni-list-item v-for="item in todoOrderList" :key="item.id" showArrow clickable
+							@click="toDo(item)" rightText="去处理">
+							<template v-slot:body>
+								<view class="list-item-block">
+									<view class="line">
+										<uni-icons type="personadd" size="18" color="lightblue" />
+										<view class="text" style="width: 90%;color: gray;">
+											处理人: <span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.orderConfirmName}}</span>
+										</view>
 									</view>
-								</view>
-								<view class="line">
-									<uni-icons type="calendar" size="18" color="lightblue" />
-									<view class="text" style="width: 90%;color: gray;">
-										完成时限: <span
-											style="margin-left: 5px;color: cornflowerblue;">{{item.orderCompleteTime}}</span>
+									<view class="line">
+										<uni-icons type="calendar" size="18" color="lightblue" />
+										<view class="text" style="width: 90%;color: gray;">
+											完成时限: <span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.orderCompleteTime}}</span>
+										</view>
 									</view>
 								</view>
-								<!-- 								<view class="line">
-									<uni-icons type="help" size="18" color="lightblue" />
-									<view class="text text-ellipsis" style="width: 90%;color: gray;">
-										问题描述: <span
-											style="margin-left: 5px;color: cornflowerblue;">{{item.orderDesc}}</span>
-									</view>
-								</view> -->
-							</view>
-						</template>
-					</uni-list-item>
-				</uni-list>
+							</template>
+						</uni-list-item>
+					</uni-list>
+				</view>
+				<view v-else class="view-flex-inline">
+					<image src="/static/images/todo/todo.png" style="width: 40px;margin-left: 10px;" mode="widthFix">
+					</image>
+					<view class="view-flex-block-center" style="margin-left: 10px;align-items: flex-start;">
+						<text>暂无待处理工单</text>
+					</view>
+				</view>
 			</uni-section>
-			<uni-section title="工单完结审批" type="line">
-				<uni-list>
-					<uni-list-item v-for="item in closeApproveOrderList" :key="item.id" showArrow clickable
-						@click="toCloseApprove(item)" rightText="去审批">
-						<template v-slot:body>
-							<view class="list-item-block">
-								<view class="line">
-									<uni-icons type="personadd" size="18" color="lightblue" />
-									<view class="text" style="width: 90%;color: gray;">
-										填报人: <span
-											style="margin-left: 5px;color: cornflowerblue;">{{item.processorName}}</span>
+			<uni-section title="工单完结审批" type="circle">
+				<view v-if="closeApproveOrderCount>0">
+					<uni-list>
+						<uni-list-item v-for="item in closeApproveOrderList" :key="item.id" showArrow clickable
+							@click="toOrderCloseApprove(item)" rightText="去审批">
+							<template v-slot:body>
+								<view class="list-item-block">
+									<view class="line">
+										<uni-icons type="personadd" size="18" color="lightblue" />
+										<view class="text" style="width: 90%;color: gray;">
+											填报人: <span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.processorName}}</span>
+										</view>
+									</view>
+									<view class="line">
+										<uni-icons type="calendar" size="18" color="lightblue" />
+										<view class="text" style="width: 90%;color: gray;">
+											填报时间: <span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessTime}}</span>
+										</view>
+									</view>
+									<view class="line">
+										<uni-icons type="help" size="18" color="lightblue" />
+										<view class="text text-ellipsis" style="width: 90%;color: gray;">
+											反馈意见: <span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.processDesc}}</span>
+										</view>
 									</view>
 								</view>
-								<view class="line">
-									<uni-icons type="calendar" size="18" color="lightblue" />
-									<view class="text" style="width: 90%;color: gray;">
-										填报时间: <span
-											style="margin-left: 5px;color: cornflowerblue;">{{item.orderProcessTime}}</span>
+							</template>
+						</uni-list-item>
+					</uni-list>
+				</view>
+				<view v-else class="view-flex-inline">
+					<image src="/static/images/todo/todo.png" style="width: 40px;margin-left: 10px;" mode="widthFix">
+					</image>
+					<view class="view-flex-block-center" style="margin-left: 10px;align-items: flex-start;">
+						<text>暂无待审批工单</text>
+					</view>
+				</view>
+			</uni-section>
+		</uni-card>
+		<uni-card title="巡检保养任务" :thumbnail="checkLogo" :is-shadow="false">
+			<uni-section title="待巡检提醒" type="circle">
+				<view v-if="inspectionTodoNoticeCount>0">
+					<uni-list>
+						<uni-list-item v-for="item in inspectionTodoNoticeList" :key="item.id" showArrow clickable
+							@click="toInspection(item)" rightText="去巡检">
+							<template v-slot:body>
+								<view class="list-item-block">
+									<view class="line">
+										<!-- 	<uni-icons type="personadd" size="18" color="lightblue" /> -->
+										<view class="text" style="width: 90%;color: gray;">
+											巡检标题: <span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.inspectionTitle}}</span>
+										</view>
+									</view>
+									<view v-if="item.planScheduledType ==1">
+										<view class="line">
+											<view class="text" style="width: 90%;color: gray;">
+												计划执行周期: <span style="margin-left: 5px;color: cornflowerblue;">仅一次</span>
+											</view>
+										</view>
+										<view class="line">
+											<view class="text" style="width: 90%;color: gray;">
+												巡检完成时间: <span
+													style="margin-left: 5px;color: cornflowerblue;">{{item.inspectionCompleteTime}}</span>
+											</view>
+										</view>
+									</view>
+									<view v-else-if="item.planScheduledType ==2">
+										<view class="line">
+											<view class="text" style="width: 90%;color: gray;">
+												计划执行周期: <span style="margin-left: 5px;color: cornflowerblue;">定期</span>
+											</view>
+										</view>
+										<view class="line">
+											<view v-if="item.timeType ==1" class="text" style="width: 90%;color: gray;">
+												周期设置: <span style="margin-left: 5px;color: cornflowerblue;">按天</span>
+											</view>
+											<view v-else-if="item.timeType ==2" class="text"
+												style="width: 90%;color: gray;">
+												周期设置: <span style="margin-left: 5px;color: cornflowerblue;">按周</span>
+											</view>
+											<view v-else-if="item.timeType ==3" class="text"
+												style="width: 90%;color: gray;">
+												周期设置: <span style="margin-left: 5px;color: cornflowerblue;">按月</span>
+											</view>
+										</view>
+										<!-- 										<view class="line">
+											<view class="text" style="width: 90%;color: gray;">
+												巡检开始时间: <span
+													style="margin-left: 5px;color: cornflowerblue;">{{item.inspectionStartTime}}</span>
+											</view>
+										</view>
+										<view class="line">
+											<uni-icons type="help" size="18" color="lightblue" />
+											<view class="text text-ellipsis" style="width: 90%;color: gray;">
+												巡检结束时间: <span
+													style="margin-left: 5px;color: cornflowerblue;">{{item.inspectionEndTime}}</span>
+											</view>
+										</view> -->
 									</view>
 								</view>
-								<view class="line">
-									<uni-icons type="help" size="18" color="lightblue" />
-									<view class="text text-ellipsis" style="width: 90%;color: gray;">
-										反馈意见: <span
-											style="margin-left: 5px;color: cornflowerblue;">{{item.processDesc}}</span>
+							</template>
+						</uni-list-item>
+					</uni-list>
+				</view>
+				<view v-else class="view-flex-inline">
+					<image src="/static/images/todo/todo.png" style="width: 40px;margin-left: 10px;" mode="widthFix">
+					</image>
+					<view class="view-flex-block-center" style="margin-left: 10px;align-items: flex-start;">
+						<text>暂无待巡检任务</text>
+					</view>
+				</view>
+			</uni-section>
+			<uni-section title="巡检完结审批" type="circle">
+				<view v-if="inspectionCloseApproveCount>0">
+					<uni-list>
+						<uni-list-item v-for="item in inspectionCloseApproveList" :key="item.id" showArrow clickable
+							@click="toInspectionCloseApprove(item)" rightText="去审批">
+							<template v-slot:body>
+								<view class="list-item-block">
+									<view class="line">
+										<view class="text" style="width: 90%;color: gray;">
+											巡检标题: <span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.inspectionTitle}}</span>
+										</view>
+									</view>
+									<view class="line">
+										<view class="text" style="width: 90%;color: gray;">
+											处理人: <span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.servicePersonName}}</span>
+										</view>
+									</view>
+									<view class="line">
+										<view class="text" style="width: 90%;color: gray;">
+											处理时间: <span
+												style="margin-left: 5px;color: cornflowerblue;">{{item.inspectionReportTime}}</span>
+										</view>
 									</view>
 								</view>
-							</view>
-						</template>
-					</uni-list-item>
-				</uni-list>
+							</template>
+						</uni-list-item>
+					</uni-list>
+				</view>
+				<view v-else class="view-flex-inline">
+					<image src="/static/images/todo/todo.png" style="width: 40px;margin-left: 10px;" mode="widthFix">
+					</image>
+					<view class="view-flex-block-center" style="margin-left: 10px;align-items: flex-start;">
+						<text>暂无待审批巡检任务</text>
+					</view>
+				</view>
 			</uni-section>
 		</uni-card>
-		<uni-card title="巡检保养任务" :thumbnail="checkLogo">
-			<!-- 		<uni-list>
-				<uni-list-item showArrow title="1-10号门禁查看" note="2024年3月1日 12时10分" :clickable="true" rightText="去处理" />
-			</uni-list> -->
-		</uni-card>
-		<uni-card :isFull="true">
-			<swiper style="height: 200px;" circular :indicator-dots="false" :autoplay="true" :interval="2000"
-				:duration="500">
-				<swiper-item style="height: 200px;line-height: 300rpx;">
-					<view style="background-color: lavenderblush;">A</view>
-				</swiper-item>
-				<swiper-item style="height: 200px;line-height: 300rpx;">
-					<view style="background-color: darkcyan;">B</view>
-				</swiper-item>
-				<swiper-item style="height: 200px;line-height: 300rpx;">
-					<view style="background-color: darkgoldenrod;">C</view>
-				</swiper-item>
-			</swiper>
-		</uni-card>
 	</view>
 </template>
 
@@ -219,11 +344,15 @@
 				closeApproveOrderList: [],
 				orderLogo: "/static/images/logo_pc.png",
 				checkLogo: "/static/images/home/inspection.png",
+				inspectionTodoNoticeCount: 0,
+				inspectionTodoNoticeList: [],
+				inspectionCloseApproveCount: 0,
+				inspectionCloseApproveList: [],
 			};
 		},
 		computed: {},
 		onLoad() {
-			console.log(JSON.stringify(this.userInfo))
+
 			// this.permission.admin = false;
 			// this.permission.orgAdmin = false;
 			// this.permission.companyAdmin = false;
@@ -261,46 +390,19 @@
 			// if (this.$u.func.checkLogin()) {} else {
 			// 	this.$u.func.logout();
 			// }
-
-
-			if (this.$u.func.checkLogin()) {
-				try {
-					let loginTime = uni.getStorageSync("loginTime");
-					if (loginTime) {
-						let dt = new Date();
-						let time = dt.getTime();
-						let expires = this.userInfo.expires_in;
-						if (expires) {
-							if ((time - loginTime) / 1000 > (expires - 60)) {
-								this.$u.func.logout();
-							}
-						} else {
-							this.$u.func.logout();
-						}
-					} else {
-						this.$u.func.logout();
-					}
-				} catch (e) {
-					this.$u.func.logout();
-				}
-			} else {
-				this.$u.func.logout();
-			}
+			this.$u.func.checkLoginExpires();
 			if (this.isLogin) {
-				this.getTodoOrderList();
 				this.getTodoOrderConfirmList();
+				this.getTodoOrderList();
+				this.getTodoCloseOrderList();
+				this.getTodoInspectionList();
+				this.getInspectionCloseApproveList();
 			}
 		},
 		onUnload() {
 			//this.timer = false;
 		},
-		onReady() {
-			if (this.$u.func.checkLogin()) {
-
-			} else {
-				// this.$u.func.logout();
-			}
-		},
+		onReady() {},
 		onShow() {
 			// if (this.$u.func.checkLogin()) {
 			// 	if (this.userInfo.role_name !== this.currentRole) {
@@ -340,6 +442,14 @@
 			// } else {
 			// 	this.$u.func.logout();
 			// }
+			this.$u.func.checkLoginExpires();
+			if (this.isLogin) {
+				this.getTodoOrderConfirmList();
+				this.getTodoOrderList();
+				this.getTodoCloseOrderList();
+				this.getTodoInspectionList();
+				this.getInspectionCloseApproveList();
+			}
 		},
 		onHide() {
 			//this.timer = false;
@@ -350,7 +460,7 @@
 			},
 			onLoginClick() {
 				console.log("onLoginClick")
-				var url = '/pages/login/login-account';
+				var url = '/pages/login/login-account?skipPage=1';
 				uni.navigateTo({
 					url: url
 				})
@@ -369,7 +479,7 @@
 				}
 			},
 			toConfirm(item) {
-				var url = '/pages/check-order/orderconfirm?orderType=' + item.orderType + '&orderId=' + item.id;
+				var url = '/pages/check-order/order-confirm?orderType=' + item.orderType + '&orderId=' + item.id;
 				uni.navigateTo({
 					url: url
 				})
@@ -379,17 +489,6 @@
 				uni.navigateTo({
 					url: url
 				})
-
-				// var url = '/pages/check-order/orderconfirm?orderType=' + item.orderType + '&orderId=' + item.id;
-				// uni.navigateTo({
-				// 	url: url
-				// })
-			},
-			toCloseApprove(item) {
-				var url = '/pages/check-order/orderconfirm?orderType=' + item.orderType + '&orderId=' + item.id;
-				uni.navigateTo({
-					url: url
-				})
 			},
 			toOrderProcess(item) {
 				var url = '/pages/check-order/orderprocessreport?skipPage=1&costsApprove=2&orderType=' + item.orderType +
@@ -407,15 +506,47 @@
 			},
 			toOrderCloseApprove(item) {
 				console.log("toOrderCloseApprove")
-				var url = '/pages/check-order/ordercloseapprove?orderType=' + item.orderType + '&orderId=' + item.id;
+				var url = '/pages/check-order/order-close-approve?orderType=' + item.orderType + '&orderId=' + item.id;
 				uni.navigateTo({
 					url: url
 				})
 			},
 			toShortcutCreateOrder() {
-				let url = '/pages/check-order/orderadd';
+				if (this.isLogin) {
+					let url = '/pages/check-order/order-add';
+					uni.navigateTo({
+						url: url
+					})
+				} else {
+					let toUrl = encodeURIComponent("/pages/check-order/order-add");
+					let url = '/pages/check-order/order-advertising?toUrl=' + toUrl;
+					uni.navigateTo({
+						url: url
+					})
+				}
+			},
+			toShortcutInspectionPlan() {
+				if (this.isLogin) {
+					let url = '/pages/equipment-inspection/inspection-plan';
+					uni.navigateTo({
+						url: url
+					})
+				} else {
+					let toUrl = encodeURIComponent("/pages/equipment-inspection/inspection-plan");
+					let url = '/pages/equipment-inspection/inspection-advertising?toUrl=' + toUrl;
+					uni.navigateTo({
+						url: url
+					})
+				}
+			},
+			toInspection(item) {
 				uni.navigateTo({
-					url: url
+					url: '/pages/equipment-inspection/equipment-inspection-report?id=' + item.id
+				})
+			},
+			toInspectionCloseApprove(item) {
+				uni.navigateTo({
+					url: '/pages/equipment-inspection/inspection-close-approve?id=' + item.id
 				})
 			},
 			onNoticeMoreClick() {
@@ -499,6 +630,41 @@
 					console.log(JOSN.stringify(err))
 				})
 			},
+			getTodoInspectionList() {
+				let that = this;
+				let postData = {};
+				http.request({
+					url: '/galaxy-business/equipment/inspection/todo/list',
+					method: 'GET',
+					data: postData,
+				}).then(res => {
+					that.to = 0;
+					if (res.data != null) {
+						console.log(JSON.stringify(res))
+						that.inspectionTodoNoticeCount = res.data.length;
+						that.inspectionTodoNoticeList = res.data;
+					}
+				}).catch(err => {
+					console.log(JOSN.stringify(err))
+				})
+			},
+			getInspectionCloseApproveList() {
+				let that = this;
+				let postData = {};
+				http.request({
+					url: '/galaxy-business/equipment/inspection/close-approve/list',
+					method: 'GET',
+					data: postData,
+				}).then(res => {
+					that.inspectionCloseApproveCount = 0;
+					if (res.data != null) {
+						that.inspectionCloseApproveCount = res.data.length;
+						that.inspectionCloseApproveList = res.data;
+					}
+				}).catch(err => {
+					console.log(JOSN.stringify(err))
+				})
+			},
 		}
 	};
 </script>

+ 47 - 23
pages/login/login-account.vue

@@ -1,15 +1,20 @@
 <template>
 	<view class="container">
+		<uni-nav-bar dark left-icon="left" backgroundColor="#48b1f8" left-text="关闭" @clickLeft="toBack">
+			<view style="width: 100%;display: flex;flex-direction: row;justify-content: center;align-items: center;">
+				<text style="color: white;font-size: 1rem;">注册登录</text>
+			</view>
+		</uni-nav-bar>
 		<view class="content">
 			<view class="top">
-				<image src="/static/images/logo_start.png" class="logo" mode="widthFix"></image>
-				<view
+				<!-- <image src="/static/images/logo_start.png" class="logo" mode="widthFix"></image> -->
+				<!-- 				<view
 					style="width: 100%;margin-bottom: 80rpx;display: flex;flex-direction: column;align-items: center;">
-					<!-- 	<text style="font-size: 32rpx;">泰山云平台</text> -->
+					
 					<text style="font-size: 1.5rem;margin-top: 5rpx;">
 						大恒巡检保养工单系统
 					</text>
-				</view>
+				</view> -->
 				<view>
 					<uni-row>
 						<uni-col :span="12">
@@ -17,7 +22,8 @@
 						</uni-col>
 						<uni-col :span="12">
 							<view class="view-flex-inline-end"
-								style="padding-right: 85rpx;font-size: 0.6rem;color: royalblue;" @click="userRegClick">注册</view>
+								style="padding-right: 85rpx;font-size: 0.6rem;color: royalblue;" @click="userRegClick">
+								注册</view>
 						</uni-col>
 					</uni-row>
 				</view>
@@ -35,12 +41,7 @@
 							placeholder-class="hold" @blur="handleInputCheck" />
 					</view>
 				</view>
-				<view class="agree">
-					登录即代表同意
-					<text class="a">《用户协议》</text>
-					和
-					<text class="a">《隐私政策》</text>
-				</view>
+
 				<!-- <view class="tip">未注册用户验证后将自动注册并登录</view> -->
 				<view class="cell">
 					<view
@@ -52,6 +53,12 @@
 						</checkbox-group>
 					</view>
 				</view>
+				<view class="agree">
+					登录即代表同意
+					<text class="a">《用户协议》</text>
+					和
+					<text class="a">《隐私政策》</text>
+				</view>
 				<view class="cell">
 					<button class="submit" @click="submit" :disabled="disabled">登录</button>
 				</view>
@@ -76,8 +83,8 @@
 	import md5 from '@/utils/md5.js'
 	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
 	import {
-		 	tenantId
-		 } from '@/common/setting.js'
+		tenantId
+	} from '@/common/setting.js'
 	import {
 		devUrl,
 		prodUrl,
@@ -94,14 +101,15 @@
 				password: '',
 				disabled: true,
 				rememberPw: false,
-
+				skipPage: 1,
+				toUrl: '',
 			};
 		},
-		onLoad() {
-			console.log("login+++")
-			
-
+		onLoad(options) {
 
+			this.skipPage = options.skipPage;
+			this.toUrl = options.toUrl;
+			console.log("url" + this.toUrl)
 			// uni.getPushClientId({
 			// 		success: (res) => {
 			// 			console.log("id11111111111 "+res.cid);
@@ -119,6 +127,7 @@
 			// });
 
 			let userLoginInfo = uni.getStorageSync("userLoginInfo");
+			// console.log(JSON.stringify(userLoginInfo))
 			if (userLoginInfo) {
 				this.rememberPw = true;
 				this.disabled = false;
@@ -127,6 +136,11 @@
 			}
 		},
 		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: Number(this.skipPage)
+				})
+			},
 			submit() {
 				this.$u.api.token(tenantId, this.username, md5(this.password)).then(data => {
 					console.log("token " + JSON.stringify(data))
@@ -141,6 +155,17 @@
 						uni.removeStorageSync("userLoginInfo");
 					}
 					this.$u.func.login(data)
+
+					if (this.toUrl) {
+						let url = decodeURIComponent(this.toUrl);
+						uni.redirectTo({
+							url: url
+						})
+					} else {
+						uni.navigateBack({
+							delta: 1
+						})
+					}
 				}).catch(err => {
 					console.log(err)
 					this.$u.func.showToast({
@@ -159,7 +184,7 @@
 					this.rememberPw = false;
 				}
 			},
-			userRegClick(){
+			userRegClick() {
 				var url = '/pages/login/login-register';
 				uni.navigateTo({
 					url: url
@@ -205,7 +230,7 @@
 			width: 100%;
 			padding: 0 85rpx;
 			box-sizing: border-box;
-			margin-top: 12rpx;
+			margin-top: 40rpx;
 
 			.name {
 				font-size: 22rpx;
@@ -253,7 +278,7 @@
 		}
 
 		.agree {
-			margin: 27rpx 95rpx 0;
+			margin: 50rpx 95rpx 0;
 			font-size: 22rpx;
 			font-family: Adobe Heiti Std;
 			font-weight: normal;
@@ -261,7 +286,7 @@
 			line-height: 34rpx;
 
 			.a {
-				color: #000000;
+				color: blue;
 			}
 		}
 
@@ -273,7 +298,6 @@
 			line-height: 80rpx;
 			box-sizing: border-box;
 			border-radius: 15rpx;
-			// font-size: 36rpx;
 			background: linear-gradient(to right, #48b1f8, #3976f7);
 			color: #ffffff;
 

+ 1031 - 1
pages/manage/manage.vue

@@ -1,8 +1,1038 @@
+<!--
+ * @Title: 
+ * @Description: 管理工作台
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
 <template>
+	<view class="container">
+		<uni-nav-bar :fixed="true" backgroundColor="#f7f7f7" statusBar="false" height="75px" leftWidth="0px">
+			<view class="view-flex-inline">
+				<view style="font-size: 1rem;">运维主面板</view>
+			</view>
+		</uni-nav-bar>
+		<view class="nav">
+			<u-grid :col="4" :border="false">
+				<u-grid-item v-if="navButtonIndex[index]" bg-color="transparent" v-for="(item, index) in navButton"
+					:key="index">
+					<navigator v-if="item.badge" :url="item.url" hover-class="none" class="nav-item"
+						open-type="navigate">
+						<uni-badge class="uni-badge-left-margin" absolute="rightTop" :text="item.value" size="small">
+							<image :src="item.img" mode="widthFix" class="nav-item-img"></image>
+						</uni-badge>
+						<view style="font-size: 0.9rem;font-weight: bold;">{{ item.name }}</view>
+					</navigator>
+					<navigator v-else :url="item.url" hover-class="none" class="nav-item" open-type="navigate">
+						<image :src="item.img" mode="widthFix" class="nav-item-img"></image>
+						<view style="font-size: 0.9rem;font-weight: bold;">{{ item.name }}</view>
+					</navigator>
+				</u-grid-item>
+			</u-grid>
+		</view>
+		<uni-group>
+			<swiper style="height: 100px;" circular :indicator-dots="false" :autoplay="true" :interval="2000"
+				:duration="500">
+				<swiper-item style="height: 200px;line-height: 300rpx;">
+					<image src="/static/images/order-ad.png" style="height: 100%;" mode="heightFix"></image>
+				</swiper-item>
+				<swiper-item style="height: 200px;line-height: 300rpx;">
+					<image src="/static/images/order-ad.png" style="height: 100%;" mode="heightFix"></image>
+				</swiper-item>
+				<swiper-item style="height: 200px;line-height: 300rpx;">
+					<image src="/static/images/order-ad.png" style="height: 100%;" mode="heightFix"></image>
+				</swiper-item>
+			</swiper>
+		</uni-group>
+		<uni-section title="系统运行实时信息" type="circle">
+
+		</uni-section>
+		
+		
+	</view>
 </template>
 
 <script>
+	import {
+		gcoord
+	} from '@/static/js/gcoord.global.prod.js'
+	import
+	navBtns
+	from "@/api/home.js";
+	import {
+		role
+	} from "@/api/role.js";
+	import http from '@/http/api.js';
+	export default {
+		name: '',
+		components: {
+
+		},
+		data() {
+			return {
+				title: '管理工作台',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+					'yjServicePerson': false,
+				},
+				navButton: [],
+				navButtonIndex: [],
+				currentRole: '',
+				subSystem: 0,
+				barcurrent: 1,
+				pageSize: 10,
+				pageCurrent: 1,
+				total: 0,
+				list: [],
+				regionTree: [],
+				regionCode: '',
+				selectedTreeNode: '',
+				searchRtuNameVal: '',
+				searchRtuCodeVal: '',
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				},
+				countInfo: {},
+				loading: false,
+				value: [],
+				warnKindItems: [{
+					'value': 0,
+					'text': '全部'
+				}, {
+					'value': 1,
+					'text': '离线'
+				}, {
+					'value': 2,
+					'text': '时钟异常'
+				}, {
+					'value': 3,
+					'text': '雨量漏报'
+				}, {
+					'value': 4,
+					'text': '水位漏报'
+				}, {
+					'value': 5,
+					'text': '5分钟上报延时'
+				}, {
+					'value': 6,
+					'text': '雨量小时上报延时'
+				}, {
+					'value': 7,
+					'text': '水位小时上报延时'
+				}, {
+					'value': 8,
+					'text': '雨量疑似异常值'
+				}],
+				warnKindOption: 0,
+				//以下为应急参数
+				yjDangerAreaCoverView: 0,
+				yjRtuCoverView: 0,
+				yjDangerAreaLineCoverView: 0,
+				latitude: 40.848119,
+				longitude: 111.755426,
+				zoom: true,
+				scale: 14,
+				polygons: [],
+				polylines: [],
+				includepoints: [],
+				mapStyles: {
+					width: '100%',
+					height: '600px'
+				},
+				horizontal: 'right',
+				vertical: 'bottom',
+				direction: 'horizontal',
+				pattern: {
+					color: '#7A7E83',
+					backgroundColor: '#fff',
+					selectedColor: '#007AFF',
+					buttonColor: '#007AFF',
+					iconColor: '#fff'
+				},
+				content: [{
+						iconPath: '/static/images/tabbar/home.png',
+						selectedIconPath: '/static/images/tabbar/home_selected.png',
+						text: '雨情',
+						active: false
+					},
+					{
+						iconPath: '/static/images/tabbar/warn.png',
+						selectedIconPath: '/static/images/tabbar/warn_selected.png',
+						text: '预警',
+						active: false
+					},
+					{
+						iconPath: '/static/images/tabbar/workbench.png',
+						selectedIconPath: '/static/images/tabbar/workbench_selected.png',
+						text: '危险区',
+						active: false
+					}
+				],
+				popMenu: false,
+				popBoxIndex: 0,
+				yjMapMarkers: [],
+				yjDrawerWidth: 200,
+				//应急雨量参数
+				yjRainCountType: {
+					items: [{
+						'id': '0',
+						'dictValue': '默认'
+					}, {
+						'id': '1',
+						'dictValue': '近1小时'
+					}, {
+						'id': '2',
+						'dictValue': '近3小时'
+					}, {
+						'id': '3',
+						'dictValue': '近6小时'
+					}, {
+						'id': '4',
+						'dictValue': '近12小时'
+					}, {
+						'id': '5',
+						'dictValue': '近24小时'
+					}],
+					value: 0,
+				},
+				yjRainListPageSize: 10,
+				yjRainListPageCurrent: 1,
+				yjRainListTotal: 0,
+				yjRainTableData: [],
+				yjRainSearchRtuNameVal: '',
+				yjRainSearchRtuCodeVal: '',
+				//应急预警参数
+				yjSearchWarnNameVal: '',
+				yjSearchAdNameVal: '',
+				yjWarnPageSize: 10,
+				yjWarnPageCurrent: 1,
+				yjWarnTotal: 0,
+				yjWarnTableData: [],
+				//应急危险区参数
+				yjDangerAreaNameVal: '',
+				yjDangerAreaAdNameVal: '',
+				yjDangerAreaPageSize: 10,
+				yjDangerAreaPageCurrent: 1,
+				yjDangerAreaTotal: 0,
+				yjDangerAreaTableData: [],
+				yjDangerAreaRtus: [],
+				yjDangerAreaLeaveLines: [],
+				yjDangerAreas: [],
+			}
+		},
+		computed: {
+			toLocation(l) {
+				return new Number(l).toFixed(6);
+			}
+		},
+		onInit(option) {
+			console.log("onInit" + JSON.stringify(uni.getWindowInfo()))
+		},
+		onLoad(option) {
+			this.navButton = navBtns.navButtons;
+			this.navButtonIndex = navBtns.orgAdminNavButton;
+
+			this.$u.func.checkLoginExpires();
+			if (this.isLogin) {
+
+			}
+
+		},
+		onShow() {
+			this.$u.func.checkLoginExpires();
+			if (this.isLogin) {
+
+			}
+
+		},
+		onReady() {
+			console.log("onReady" + JSON.stringify(uni.getWindowInfo()))
+			this.mapStyles.height = (uni.getWindowInfo().windowHeight - 75 - 20) + "px";
+
+		},
+		methods: {
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			//行政区划选择
+			onTreeNodeClick(node) {
+				console.log(JSON.stringify(node))
+			},
+			onTreePopupOpened(e) {
+				console.log(JSON.stringify(e))
+			},
+			onTreePopupClosed(e) {
+				console.log(JSON.stringify(e))
+			},
+			onTreeChange(e) {
+				console.log(JSON.stringify(e))
+				let nodes = e.detail.value;
+				if (nodes.length > 0) {
+					let node = nodes[nodes.length - 1];
+					this.regionCode = node.value;
+					this.query = {};
+					this.query['adCode'] = this.regionCode;
+					this.searchRtuNameVal = '';
+					this.searchRtuCodeVal = '';
+					this.pageCurrent = 1;
+					this.getPage();
+					this.getCountInfo(this.regionCode);
+				} else {
+					this.regionCode = '';
+					this.query = {};
+					this.searchRtuNameVal = '';
+					this.searchRtuCodeVal = '';
+					this.pageCurrent = 1;
+					this.getPage();
+					this.getCountInfo(this.regionCode);
+				}
+			},
+			//录入查询
+			search() {
+				this.pageCurrent = 1;
+				//	console.log(JSON.stringify(res))
+				let params = {};
+				if (this.searchRtuCodeVal.length > 0) {
+					params['rtuCode'] = this.searchRtuCodeVal;
+				}
+				if (this.searchRtuNameVal.length > 0) {
+					params['rtuName'] = this.searchRtuNameVal;
+				}
+				this.getPage(params);
+			},
+			searchRtuNameValClear(e) {
+				if (e == null || e.length == 0) {
+					this.searchRtuNameVal = '';
+					let params = {};
+					if (this.searchRtuCodeVal.length > 0) {
+						params['rtuCode'] = this.searchRtuCodeVal;
+					}
+					this.getPage(params);
+				}
+			},
+			searchRtuCodeValClear(e) {
+				if (e == null || e.length == 0) {
+					this.searchRtuCodeVal = '';
+					let params = {};
+					if (this.searchRtuNameVal.length > 0) {
+						params['rtuName'] = this.searchRtuNameVal;
+					}
+					this.getPage(params);
+				}
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			onRtuDetailClick(rtuCode) {
+				uni.navigateTo({
+					url: '/pages/rtu-manage/rtudetail?rtuCode=' + rtuCode
+				})
+			},
+			onWarningPageClick(rtuCode) {
+				uni.navigateTo({
+					url: '/pages/warning/rtuwarninglist?rtuCode=' + rtuCode
+				})
+			},
+			onLocationClick(item) {
+				let lat = item.lat;
+				let lng = item.lng;
+				let name = item.rtuName;
+				let add = item.locationDesc;
+				uni.openLocation({
+					latitude: Number(lat),
+					longitude: Number(lng),
+					name: name,
+					address: "",
+					success() {}
+				})
+			},
+			onCheckOrderPageClick(rtuCode) {
+				uni.navigateTo({
+					url: '/pages/check-order/rtu/rtucheckorderlist?rtuCode=' + rtuCode
+				})
+			},
+			onInspectionReportClick(rtuCode) {
+				console.log("onInspectionReportClick")
+				uni.navigateTo({
+					url: '/pages/equipment-inspection/rtuinspectionreportview?rtuCode=' + rtuCode
+				})
+			},
+			onSiteRealDataClick(item) {
+				uni.navigateTo({
+					url: '/pages/rtu-manage/rturealdatadetail?rtuCode=' + item.rtuCode + '&isRain=' + item.isRain +
+						'&isRiver=' + item.isRiver + '&isRes=' + item.isRes + '&isGround=' + item.isGround,
+				})
+			},
+			onManuallyOrderClick(rtuCode) {
+				uni.navigateTo({
+					url: '/pages/check-order/manuallyaddcheckorder?rtuCode=' + rtuCode
+				})
+			},
+			warnKindOptionChange: function(evt) {
+				let params = {};
+				this.getPage(params);
+			},
+			getSiteData(val) {
+				let htmltext = '';
+				if (val.isRain === 1) {
+					htmltext = htmltext + "降水:";
+					if (val.drp) {
+						htmltext = htmltext + val.drp;
+					} else {
+						htmltext = htmltext + "--";
+					}
+				}
+				if (val.isRiver == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '水位:';
+					if (val.rz) {
+						htmltext = htmltext + val.rz;
+					} else {
+						htmltext = htmltext + "--";
+					}
+				} else if (val.isRes == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '水位:';
+					if (val.z) {
+						htmltext = htmltext + val.z;
+					} else {
+						htmltext = htmltext + "--";
+					}
+				}
+				if (val.isGround == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '墒情含水层:';
+					if (val.ground) {
+						htmltext = htmltext + val.ground;
+					} else {
+						htmltext = htmltext + "--";
+					}
+				}
+				return htmltext;
+			},
+			getRegionTree() {
+				var that = this;
+				http.request({
+					url: '/galaxy-business/baseinfo/region/tree',
+					method: 'GET',
+				}).then(res => {
+					if (res.data != null) {
+						that.regionTree = res.data;
+						that.regionCode = that.regionTree[0].id;
+						that.selectedTreeNode = that.regionTree[0].id;
+						that.query = {};
+						that.query['adCode'] = that.regionCode;
+						that.getPage();
+						that.getCountInfo(that.regionCode);
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			getCountInfo(adCode) {
+				let that = this;
+				http.request({
+					url: '/galaxy-business/rtu/manage/count',
+					method: 'GET',
+					data: {
+						adCode
+					}
+				}).then(res => {
+					that.countInfo = res.data;
+				})
+			},
+			getPage(params = {}) {
+				this.loading = true
+				if (this.warnKindOption == 0) {} else {
+					params['warnKind'] = this.warnKindOption;
+				}
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(params, this.query);
+				var that = this;
+				http.request({
+					url: '/galaxy-business/rtu/manage/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					//	console.log(JSON.stringify(res.data))
+					if (res.data.records != null) {
+						that.list = res.data.records;
+					}
+					that.total = res.data.total;
+					this.loading = false
+				}).catch(err => {
+					console.log(err)
+					this.loading = false
+				})
+			},
+			//以下为应急系统业务功能
+			trigger(e) {
+				let that = this;
+				this.content[0].active = false;
+				this.content[1].active = false;
+				this.content[2].active = false;
+				this.content[e.index].active = !e.item.active
+				this.popBoxIndex = e.index + 1;
+				this.$refs.yjDrawerRef.open()
+				// if (this.$refs.fab.isShow) {
+				// 	this.$refs.fab.close()
+				// }
+				this.$nextTick(() => {
+					if (that.popBoxIndex == 1) {
+						that.yjDangerAreaCoverView = 0;
+						that.yjRtuCoverView = 0;
+						that.yjDangerAreaLineCoverView = 0;
+						that.getYjRainDataPage();
+					} else if (that.popBoxIndex == 2) {
+						that.yjDangerAreaCoverView = 0;
+						that.yjRtuCoverView = 0;
+						that.yjDangerAreaLineCoverView = 0;
+						that.getYjWarnDataPage();
+					} else if (that.popBoxIndex == 3) {
+						that.yjDangerAreaCoverView = 1;
+						that.yjRtuCoverView = 1;
+						that.yjDangerAreaLineCoverView = 1;
+						that.getYjDangerAreaDataPage();
+					}
+				})
+			},
+			fabClick() {
+				// this.popMenu = !this.popMenu
+				// if (!this.popMenu) {
+				// 	this.content[0].active = false;
+				// 	this.content[1].active = false;
+				// 	this.content[2].active = false;
+				// }
+			},
+			yjPopMenuClose() {
+				// this.popMenu = false;
+				// this.content[0].active = false;
+				// this.content[1].active = false;
+				// this.content[2].active = false;
+				// if (this.$refs.fab.isShow) {
+				// 	this.$refs.fab.close()
+				// }
+				this.$refs.yjDrawerRef.close();
+			},
+			//雨量数据业务
+			yjRainListPageChange(e) {
+				this.yjRainListPageCurrent = e.current;
+				this.getYjRainDataPage()
+			},
+			yjRainDataSearch() {
+				let params = {};
+				if (this.yjRainSearchRtuCodeVal.length > 0) {
+					params['rtuCode'] = this.yjRainSearchRtuCodeVal;
+				}
+				if (this.yjRainSearchRtuNameVal.length > 0) {
+					params['rtuName'] = this.yjRainSearchRtuNameVal;
+				}
+				this.getYjRainDataPage(params);
+			},
+			getYjRainDataPage(params = {}) {
+				const current = this.yjRainListPageCurrent;
+				const size = this.yjRainListPageSize;
+				const isSubmit = '0';
+				if (this.yjRainCountType.value == 1) {
+					params['rainCountType'] = 1;
+				} else if (this.yjRainCountType.value == 2) {
+					params['rainCountType'] = 3;
+				} else if (this.yjRainCountType.value == 3) {
+					params['rainCountType'] = 6;
+				} else if (this.yjRainCountType.value == 4) {
+					params['rainCountType'] = 12;
+				} else if (this.yjRainCountType.value == 5) {
+					params['rainCountType'] = 24;
+				} else {
+					params['rainCountType'] = 0;
+				}
+				let postData = Object.assign(params, this.query);
+				console.log(JSON.stringify(postData))
+				var that = this;
+				http.request({
+					url: '/galaxy-business/rtu/data/rain/yj/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+						isSubmit
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						that.yjRainTableData = res.data.records;
+					}
+					that.yjRainListTotal = res.data.total;
+					if (that.yjRainListTotal == 0) {
+						that.yjRainListPageCurrent = 1;
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			onYjRainCountTypeRadioChange: function(evt) {
+				for (let i = 0; i < this.yjRainCountType.items.length; i++) {
+					if (this.yjRainCountType.items[i].id === evt.detail.value) {
+						this.yjRainCountType.value = i;
+						//this.getYjRainDataPage();
+						break;
+					}
+				}
+			},
+			yjRainSearchRtuNameValClear(e) {
+				if (e == null || e.length == 0) {
+					this.yjRainSearchRtuNameVal = '';
+				}
+			},
+			yjRainSearchRtuCodeValClear(e) {
+				if (e == null || e.length == 0) {
+					this.yjRainSearchRtuCodeValL = '';
+				}
+			},
+			onYjRainDataRtuClick(item) {
+				this.$refs.yjDrawerRef.close();
+				let that = this;
+				this.$nextTick(() => {
+					that.yjMapMarkers = [];
+					let marker = {};
+					marker['id'] = item.id;
+					marker['latitude'] = item.lat;
+					marker['longitude'] = item.lng;
+					let label = {};
+					label['content'] = item.rtuName + "(" + item.drp + "mm)";
+					label['color'] = '#ff0000';
+					label['bgColor'] = '#ffffff';
+					label['anchorY'] = -40;
+					marker['label'] = label;
+					marker['iconPath'] = "/static/images/icon_warning.png";
+					that.yjMapMarkers.push(marker)
+					that.latitude = item.lat;
+					that.longitude = item.lng;
+				})
+			},
+			//应急预警信息
+			yjSearchWarnNameValClear(e) {
+				if (e == null || e.length == 0) {
+					this.yjSearchWarnNameVal = '';
+				}
+			},
+			yjSearchAdNameValClear(e) {
+				if (e == null || e.length == 0) {
+					this.yjSearchAdNameVal = '';
+				}
+			},
+			yjWarnPageChange(e) {
+				this.yjDangerAreaPageCurrent = e.current;
+				this.getYjWarnDataPage()
+			},
+			onYjWarnDataRtuClick(item) {
+				this.$refs.yjDrawerRef.close();
+				let that = this;
+				this.$nextTick(() => {
+					that.yjMapMarkers = [];
+					let marker = {};
+					marker['id'] = item.id;
+					marker['latitude'] = item.warnLttd;
+					marker['longitude'] = item.warnLgtd;
+					let label = {};
+					label['content'] = item.warnName;
+					label['color'] = '#ff0000';
+					label['bgColor'] = '#ffffff';
+					label['anchorY'] = -40;
+					marker['label'] = label;
+					marker['iconPath'] = "/static/images/icon_warning.png";
+					that.yjMapMarkers.push(marker)
+					that.latitude = item.warnLttd;
+					that.longitude = item.warnLgtd;
+				})
+			},
+			yjWarnDataSearch() {
+				let params = {};
+				if (this.yjSearchWarnNameVal.length > 0) {
+					params['warnName'] = this.yjSearchWarnNameVal;
+				}
+				if (this.yjSearchAdNameVal.length > 0) {
+					params['dangerAreaName'] = this.yjSearchAdNameVal;
+				}
+				this.getYjWarnDataPage(params);
+			},
+			getYjWarnDataPage(params = {}) {
+				const current = this.yjWarnPageCurrent;
+				const size = this.yjWarnPageSize;
+				const isSubmit = '0';
+				let postData = Object.assign(params, this.query);
+				let that = this;
+				http.request({
+					url: '/galaxy-business/yj/warn/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						that.yjWarnTableData = res.data.records;
+					}
+					that.yjWarnTotal = res.data.total;
+					if (that.yjWarnTotal == 0) {
+						that.yjWarnPageCurrent = 1;
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			//应急危险区业务
+			yjDangerAreaNameValClear(e) {
+				if (e == null || e.length == 0) {
+					this.yjDangerAreaNameVal = '';
+				}
+			},
+			yjDangerAreaAdNameValClear(e) {
+				if (e == null || e.length == 0) {
+					this.yjDangerAreaAdNameVal = '';
+				}
+			},
+			yjDangerAreaDataSearch() {
+				let params = {};
+				if (this.yjDangerAreaNameVal.length > 0) {
+					params['dangerAreaName'] = this.yjDangerAreaNameVal;
+				}
+				if (this.yjDangerAreaAdNameVal.length > 0) {
+					params['adName'] = this.yjDangerAreaAdNameVal;
+				}
+				this.getYjDangerAreaDataPage(params);
+			},
+			yjDangerAreaPageChange(e) {
+				this.yjDangerAreaPageCurrent = e.current;
+				this.getYjDangerAreaDataPage()
+			},
+			getYjDangerAreaDataPage(params = {}) {
+				const current = this.yjDangerAreaPageCurrent;
+				const size = this.yjDangerAreaPageSize;
+				const isSubmit = '0';
+				let postData = Object.assign(params, this.query);
+				let that = this;
+				http.request({
+					url: '/galaxy-business/map/dangerarea/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						that.yjDangerAreaTableData = res.data.records;
+					}
+					that.yjDangerAreaTotal = res.data.total;
+					if (that.yjDangerAreaTotal == 0) {
+						that.yjDangerAreaPageCurrent = 1;
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			yjDangerAreaDataClick(item) {
+				this.$refs.yjDrawerRef.close();
+				let that = this;
+				this.yjDangerAreas = [];
+				let d = {};
+				d['id'] = item.id;
+				d['dangerAreaName'] = item.dangerAreaName;
+				d['lng'] = item.centerPointLng;
+				d['lat'] = item.centerPointLat;
+				this.yjDangerAreas.push(d);
+
+				this.$nextTick(() => {
+					let c = gcoord.transform(
+						[item.centerPointLng, item.centerPointLat],
+						gcoord.WGS84,
+						gcoord.GCJ02
+					);
+					that.latitude = c[1];
+					that.longitude = c[0];
+					this.scale = 14;
+					that.getDangerAreaDataGcoord(item.id);
+				})
+			},
+			getDangerAreaDataGcoord(id) {
+				let that = this;
+				let postData = {};
+				postData['id'] = id;
+				http.request({
+					url: '/galaxy-business/map/dangerarea/detail',
+					method: 'GET',
+					data: postData
+				}).then(res => {
+					if (res.data != null) {
+						that.includepoints = [];
+						that.polygons = [];
+						let p = {};
+						let ps = res.data.points.map(item => {
+							let l = gcoord.transform(
+								[item.pointLng, item.pointLat],
+								gcoord.WGS84,
+								gcoord.GCJ02
+							);
+							return {
+								latitude: l[1],
+								longitude: l[0],
+							}
+						})
+						p['points'] = ps;
+						that.includepoints.push(ps[0]);
+						let dashArray = [];
+						dashArray.push(4);
+						dashArray.push(10);
+						p['dashArray'] = dashArray;
+						if (res.data.dangerStatus == '1') {
+							p['strokeColor'] = '#FF0000';
+							p['fillColor'] = '#F72C5B7D';
+						} else {
+							p['strokeColor'] = '#FC8452';
+							p['fillColor'] = '#FAC8587D';
+						}
+						that.polygons.push(p);
+						that.yjMapMarkers = [];
+
+						let rtus = res.data.rtus.map(item => {
+							let rtu = {};
+							rtu['id'] = item.id;
+							rtu['latitude'] = item.lat;
+							rtu['longitude'] = item.lng;
+							rtu['rtuName'] = item.rtuName;
+							rtu['rtuCode'] = item.rtuCode;
+							return rtu;
+						});
+						that.yjDangerAreaRtus = rtus;
+
+						let leaveLines = res.data.leaveLines.map(item => {
+							let line = {};
+							line['id'] = item.id;
+							line['latitude'] = new Number(item.centerPointLat).toFixed(6);
+							line['longitude'] = new Number(item.centerPointLng).toFixed(6);
+							line['leaveLineName'] = item.leaveLineName;
+							return line;
+						});
+						that.yjDangerAreaLeaveLines = leaveLines;
+						that.scale = 14;
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			yjDangerAreaLinkRtuClick(item) {
+				this.yjMapMarkers = [];
+				let marker = {};
+				marker['id'] = item.id;
+				let l = gcoord.transform(
+					[item.longitude, item.latitude],
+					gcoord.WGS84,
+					gcoord.GCJ02
+				);
+				marker['latitude'] = l[1];
+				marker['longitude'] = l[0];
+				let label = {};
+				label['content'] = item.rtuName;
+				label['color'] = '#ff0000';
+				label['bgColor'] = '#ffffff';
+				label['anchorY'] = -40;
+				marker['label'] = label;
+				marker['iconPath'] = "/static/images/icon_warning.png";
+				this.yjMapMarkers.push(marker)
+				this.latitude = item.latitude;
+				this.longitude = item.longitude;
+				this.scale = 12;
+			},
+			yjDangerAreaLinkLineClick(item) {
+				let that = this;
+				this.polylines = [];
+				this.yjMapMarkers = [];
+				this.polygons = [];
+				let c = gcoord.transform(
+					[item.longitude, item.latitude],
+					gcoord.WGS84,
+					gcoord.GCJ02
+				);
+				this.latitude = c[1];
+				this.longitude = c[0];
+				this.scale = 16;
+				let id = item.id;
+				this.$nextTick(() => {
+					that.getYjDangerAreaLineDetail(id);
+				})
+			},
+			getYjDangerAreaLineDetail(id) {
+				let that = this;
+				let postData = {};
+				postData['id'] = id;
+				http.request({
+					url: '/galaxy-business/map/leaveline/detail',
+					method: 'GET',
+					data: postData
+				}).then(res => {
+					if (res.data != null) {
+						let p = {};
+						let ps = res.data.points.map(item => {
+							let l = gcoord.transform(
+								[item.pointLng, item.pointLat],
+								gcoord.WGS84,
+								gcoord.GCJ02
+							);
+							return {
+								latitude: l[1],
+								longitude: l[0],
+							}
+						})
+						p['points'] = ps;
+						p['color'] = '#ee0000';
+						that.polylines.push(p);
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			yjDangerAreaClick(item) {
+				let that = this;
+				this.polylines = [];
+				this.yjMapMarkers = [];
+				this.polygons = [];
+				this.$nextTick(() => {
+					let c = gcoord.transform(
+						[item.lng, item.lat],
+						gcoord.WGS84,
+						gcoord.GCJ02
+					);
+					that.latitude = c[1];
+					that.longitude = c[0];
+					this.scale = 14;
+					that.getDangerAreaDataGcoord(item.id);
+				})
+			}
+		}
+	}
 </script>
 
-<style>
+<style lang="scss" scoped>
+	$nav-height: 75px;
+
+	.nav {
+		margin: 0rpx 0;
+		box-sizing: border-box;
+		padding: 0 10rpx;
+
+
+		&-item {
+			width: 100%;
+			box-sizing: border-box;
+			display: flex;
+			flex-direction: column;
+			align-items: center;
+			justify-content: space-between;
+			height: 130rpx;
+
+			&-img {
+				width: 80rpx;
+				height: 80rpx;
+			}
+
+			&-name {
+				font-size: 0.7rem;
+				font-family: PingFang SC;
+				font-weight: 500;
+				color: #585b61;
+			}
+		}
+	}
+
+	.select-checkbox {
+		margin-top: 0px;
+		margin-bottom: 5px;
+		padding-left: 15px;
+	}
+
+	.count-info-line {
+		padding-top: 5px;
+		padding-bottom: 5px;
+		padding-left: 10px;
+		padding-right: 10px;
+		display: flex;
+		flex-direction: row;
+		align-items: center;
+	}
+
+	.count-info-line .rtuCount {
+		display: flex;
+		flex-direction: row;
+		align-items: center;
+
+		.name {
+			color: dimgray;
+			font-size: 0.7rem;
+		}
+
+		.count {
+			margin-left: 5px;
+			color: dodgerblue;
+			font-size: 0.7rem;
+		}
+	}
+
+	.count-info-line .warnRtuCount {
+		margin-left: 10px;
+		display: flex;
+		flex-direction: row;
+		align-items: center;
+
+		.name {
+			color: dimgray;
+			font-size: 0.7rem;
+		}
+
+		.count {
+			margin-left: 5px;
+			color: red;
+			font-size: 0.7rem;
+		}
+	}
+
+	.scroll-view {
+		/* #ifndef APP-NVUE */
+		width: 100%;
+		height: 100%;
+		/* #endif */
+		flex: 1
+	}
+
+	// 处理抽屉内容滚动
+	.scroll-view-box {
+		flex: 1;
+		position: absolute;
+		top: 0;
+		right: 0;
+		bottom: 0;
+		left: 0;
+	}
 </style>

+ 1 - 1
pages/user/center.vue

@@ -1,7 +1,7 @@
 <template>
 	<view class="container">
 		<view class="head">
-			<u-navbar :is-fixed="false" :border-bottom="false" :is-back="false" title="个人中心"
+			<u-navbar :is-fixed="false" :border-bottom="false" :is-back="false" title="用户中心"
 				:background="{ background: 'transprent' }" title-color="#FFFFFF">
 			</u-navbar>
 			<!-- 用户信息 -->

BIN
static/images/order-ad.png


+ 38 - 3
utils/func.js

@@ -9,9 +9,16 @@ const install = (Vue, vm) => {
 		uni.setStorageSync("SubSystemSelectInfo", {
 			subSystem: 1,
 		});
-		uni.navigateBack({
-			delta: 1
-		})
+		// if (toUrl) {
+		// 	let url = decodeURIComponent(toUrl);
+		// 	uni.navigateTo({
+		// 		url: url
+		// 	})
+		// } else {
+		// 	uni.navigateBack({
+		// 		delta: 1
+		// 	})
+		// }
 	}
 
 	// 退出登录
@@ -45,6 +52,33 @@ const install = (Vue, vm) => {
 		return true
 	}
 
+
+	const checkLoginExpires = (e = {}) => {
+		if (vm.isLogin) {
+			try {
+				let loginTime = uni.getStorageSync("loginTime");
+				if (loginTime) {
+					let dt = new Date();
+					let time = dt.getTime();
+					let expires = vm.userInfo.expires_in;
+					if (expires) {
+						if ((time - loginTime) / 1000 > (expires - 60)) {
+							logout();
+						}
+					} else {
+						logout();
+					}
+				} else {
+					logout();
+				}
+			} catch (e) {
+				logout();
+			}
+		} else {
+			logout();
+		}
+	}
+
 	// 跳转路由前检查登录状态
 	const route = (url) => {
 		if (!vm.isLogin) {
@@ -128,6 +162,7 @@ const install = (Vue, vm) => {
 	Vue.prototype.$u.func = {
 		login,
 		logout,
+		checkLoginExpires,
 		route,
 		checkLogin,
 		paramsToObj,