dylan 2 лет назад
Родитель
Сommit
a33f51ef5f
100 измененных файлов с 12119 добавлено и 15704 удалено
  1. 7 1
      .gitignore
  2. 21 8
      App.vue
  3. 0 14
      api/demo.js
  4. 126 0
      api/home.js
  5. 0 142
      api/mock/home.js
  6. 0 152
      api/mock/service.js
  7. 7 0
      api/role.js
  8. 8 1
      api/user.js
  9. 13 6
      common/setting.js
  10. 0 77
      components/page-nav/page-nav.vue
  11. 9 5
      http/api.js
  12. 16 14
      manifest.json
  13. 164 0
      package-lock.json
  14. 6 0
      package.json
  15. 233 99
      pages.json
  16. 0 467
      pages/check-order/admincheckorderlist.vue
  17. 531 321
      pages/check-order/checkorderlist.vue
  18. 192 0
      pages/check-order/comfiredelaycheckorderlist.vue
  19. 287 0
      pages/check-order/companycheckorderlist.vue
  20. 357 0
      pages/check-order/completedcheckorderlist.vue
  21. 122 0
      pages/check-order/manuallyaddcheckorder.vue
  22. 122 0
      pages/check-order/manuallyclosecheckorder.vue
  23. 66 254
      pages/check-order/mycheckorderlist.vue
  24. 320 0
      pages/check-order/orderconfirm.vue
  25. 145 0
      pages/check-order/orderprocesschange.vue
  26. 0 297
      pages/check-order/orderprocesslist.vue
  27. 0 234
      pages/check-order/orderprocessrecord.vue
  28. 522 393
      pages/check-order/orderprocessreport.vue
  29. 199 381
      pages/check-order/orderprocessreportdetail.vue
  30. 186 0
      pages/check-order/processcheckorderlistview.vue
  31. 129 261
      pages/check-order/rtu/rtucheckorderlist.vue
  32. 246 0
      pages/check-order/servicepersoncheckorderlist.vue
  33. 0 375
      pages/check-order/todaycheckorderlist.vue
  34. 143 0
      pages/check-order/todaycheckorderrprocesseportlist.vue
  35. 263 0
      pages/check-order/uncomfirecheckorderlist.vue
  36. 195 0
      pages/check-order/uncomfirecheckorderlistview.vue
  37. 0 1076
      pages/checkReport/addCheckReport.vue
  38. 0 141
      pages/checkReport/checkAreaSelect.vue
  39. 0 138
      pages/checkReport/checkItemLabelSelect.vue
  40. 0 133
      pages/checkReport/checkItemSelect.vue
  41. 0 163
      pages/checkReport/checkProjectSelect.vue
  42. 0 129
      pages/checkReport/checkProjectSelectTab.vue
  43. 0 281
      pages/checkReport/checkReportList.vue
  44. 0 180
      pages/checkReport/checkReportListCache.vue
  45. 0 217
      pages/checkReport/checkReportListManage.vue
  46. 0 202
      pages/checkReport/checkStandardSelect.vue
  47. 0 95
      pages/checkReport/copyCheckFormConfirm.vue
  48. 0 1190
      pages/checkReport/editCacheCheckReport.vue
  49. 0 1137
      pages/checkReport/editCheckReport.vue
  50. 0 24
      pages/demo/crud.vue
  51. 0 36
      pages/demo/demo.config.js
  52. 0 74
      pages/demo/demo.vue
  53. 0 49
      pages/demo/mock.vue
  54. 0 48
      pages/demo/request.vue
  55. 0 42
      pages/demo/storage.vue
  56. 0 41
      pages/demo/vuex.vue
  57. 238 0
      pages/equipment-inspection/companyfinishedinspectionreportlist.vue
  58. 0 399
      pages/equipment-inspection/equipmentinspectionlist.vue
  59. 0 217
      pages/equipment-inspection/equipmentinspectionplanlist.vue
  60. 705 447
      pages/equipment-inspection/equipmentinspectionreport.vue
  61. 0 651
      pages/equipment-inspection/equipmentinspectionreportdetail.vue
  62. 0 347
      pages/equipment-inspection/equipmentinspectionreportlist.vue
  63. 0 391
      pages/equipment-inspection/equipmentinspectionreportrtulist.vue
  64. 326 0
      pages/equipment-inspection/finishedinspectionreportlist.vue
  65. 554 0
      pages/equipment-inspection/inspectionlist.vue
  66. 177 0
      pages/equipment-inspection/inspectionremainingproblemsclose.vue
  67. 326 0
      pages/equipment-inspection/inspectionremainingproblemslist.vue
  68. 1048 0
      pages/equipment-inspection/inspectionreportdetail.vue
  69. 477 0
      pages/equipment-inspection/inspectionreportlist.vue
  70. 146 0
      pages/equipment-inspection/inspectionreportview.vue
  71. 0 385
      pages/equipment-inspection/myequipmentinspectionlist.vue
  72. 0 267
      pages/equipment-inspection/myequipmentinspectionreportlist.vue
  73. 0 385
      pages/equipment-inspection/myequipmentinspectionreportrtulist.vue
  74. 159 0
      pages/equipment-inspection/rtuinspectionreportview.vue
  75. 218 0
      pages/equipment-inspection/servicepersonfinishedinspectionreportlist.vue
  76. 0 235
      pages/equipment-inspection/todayequipmentinspectionreportlist.vue
  77. 118 0
      pages/equipment-inspection/todayinspectionreportlist.vue
  78. 0 688
      pages/home/adminhome.vue
  79. 0 22
      pages/home/building.vue
  80. 147 0
      pages/home/dangerarea.vue
  81. 193 0
      pages/home/dangerareamap.vue
  82. 644 464
      pages/home/home.vue
  83. 147 0
      pages/home/leaveline.vue
  84. 160 0
      pages/home/leavelinemap.vue
  85. 0 661
      pages/home/orgadminhome.vue
  86. 0 661
      pages/home/orgservicepersonhome.vue
  87. 147 0
      pages/home/region.vue
  88. 168 0
      pages/home/regionmap.vue
  89. 210 0
      pages/home/start/start.vue
  90. 35 21
      pages/login/login-account.vue
  91. 0 22
      pages/manage/building.vue
  92. 0 139
      pages/manage/manage.vue
  93. 7 55
      pages/news/detail.vue
  94. 0 260
      pages/news/list.vue
  95. 8 89
      pages/news/noticelist.vue
  96. 87 0
      pages/realdata/rtudata.vue
  97. 277 0
      pages/realdata/rtugrounddata.vue
  98. 146 0
      pages/realdata/rtugrounddatadetail.vue
  99. 349 0
      pages/realdata/rturaindata.vue
  100. 267 0
      pages/realdata/rturiverdata.vue

+ 7 - 1
.gitignore

@@ -1 +1,7 @@
-/
+.hbuilderx
+node_modules
+uni_modules
+unpackage
+uview-ui
+
+

+ 21 - 8
App.vue

@@ -1,21 +1,33 @@
 <script>
 	export default {
 		onLaunch: function() {
+
+			
+			// #ifdef APP-PLUS
 			try {
-				var loginTime = uni.getStorageSync("loginTime");
-				if (null != loginTime) {
-					var dt = new Date();
-					var time = dt.getTime();
-					var expires = this.userInfo.expires_in;
-					if ((time - loginTime) / 1000 > (expires - 60)) {					
+				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)) {
+							uni.reLaunch({
+								url: "pages/login/login-account",
+								success: () => {
+									plus.navigator.closeSplashscreen();
+								}
+							})
+						} else {
+							plus.navigator.closeSplashscreen();
+						}
+					} else {
 						uni.reLaunch({
 							url: "pages/login/login-account",
 							success: () => {
 								plus.navigator.closeSplashscreen();
 							}
 						})
-					} else {
-						plus.navigator.closeSplashscreen();
 					}
 				} else {
 					uni.reLaunch({
@@ -33,6 +45,7 @@
 					}
 				})
 			}
+			// #endif
 		},
 		onShow: function() {
 			console.log('App Show')

+ 0 - 14
api/demo.js

@@ -1,14 +0,0 @@
-import http from '@/http/api.js'
-
-// 获取验证码
-const captcha = (data) => {
-	return http.request({
-		url: '/blade-auth/oauth/captcha',
-		method: 'GET',
-		data
-	})
-}
-
-export default {
-	captcha,
-}

+ 126 - 0
api/home.js

@@ -0,0 +1,126 @@
+const navButtons = [{
+		name: '我的维修任务',
+		img: '/static/images/home/my_order.png',
+		url: '/pages/check-order/mycheckorderlist',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '维修任务管理',
+		img: '/static/images/home/order_manage.png',
+		url: '/pages/check-order/checkorderlist',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '历史维修任务',
+		img: '/static/images/home/history_order.png',
+		url: '/pages/check-order/completedcheckorderlist',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '待巡检设备',
+		img: '/static/images/home/inspection.png',
+		url: '/pages/equipment-inspection/inspectionlist',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '已巡检设备',
+		img: '/static/images/home/my_inspection.png',
+		url: '/pages/equipment-inspection/inspectionreportlist',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '巡检遗留问题',
+		img: '/static/images/home/inspection_remain.png',
+		url: '/pages/equipment-inspection/inspectionremainingproblemslist',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '实时数据',
+		img: '/static/images/home/real_data.png',
+		url: '/pages/realdata/rtudata',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '维修任务统计',
+		img: '/static/images/home/order_statistics.png',
+		url: '/pages/report-forms/orgcheckorderreportcount',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '设备巡检统计',
+		img: '/static/images/home/inspection_statistics.png',
+		url: '/pages/report-forms/orginspectionreportcount',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '维修任务统计',
+		img: '/static/images/home/order_statistics.png',
+		url: '/pages/report-forms/checkorderreportcount',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '设备巡检统计',
+		img: '/static/images/home/inspection_statistics.png',
+		url: '/pages/report-forms/inspectionreportcount',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '人员通讯录',
+		img: '/static/images/home/contact.png',
+		url: '/pages/report-forms/contact',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '行政区',
+		img: '/static/images/home/contact.png',
+		url: '/pages/home/region',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '危险区',
+		img: '/static/images/home/contact.png',
+		url: '/pages/home/dangerarea',
+		badge: false,
+		value: 0,
+	},
+	{
+		name: '转移路线',
+		img: '/static/images/home/contact.png',
+		url: '/pages/home/leaveline',
+		badge: false,
+		value: 0,
+	},
+]
+
+//获取系统管理员导航按钮
+const sysAdminNavButton = [false,true,true,true,true,true,true,true,true,false,false,true,true,true,true];
+
+//获取盟市管理员导航按钮
+const orgAdminNavButton = [false,true,true,true,true,true,true,true,true,false,false,true,true,true,true];
+
+//获取运维公司管理员导航按钮
+const companyAdminNavButton = [true,true,true,true,true,true,true,false,false,true,true,true,true,true,true];
+
+//获取运维公司技术员导航按钮
+const companyServicePersonNavButton = [true,false,true,true,true,true,true,false,false,true,true,true,true,true,true];
+
+export default {
+	navButtons,
+	sysAdminNavButton,
+	orgAdminNavButton,
+	companyAdminNavButton,
+	companyServicePersonNavButton
+}

+ 0 - 142
api/mock/home.js

@@ -1,142 +0,0 @@
-// 获取部门数据
-export function fakePosition() {
-	return new Promise((resolute, reject) => {
-		try {
-			const detail = {
-				position: "研发部",
-				positionArr: ['研发部', '产品部']
-			}
-			resolute(detail);
-		} catch (e) {
-			//模拟接口请求失败
-			reject(e);
-		}
-	})
-}
-
-// 获取公告数据
-export function fakeBannerList() {
-	return new Promise((resolute, reject) => {
-		try {
-			const list = [{
-				id: '1',
-				img: '/static/images/home/banner.png',
-				url: ''
-			}, {
-				id: '2',
-				img: '/static/images/home/banner.png',
-				url: ''
-			}, {
-				id: '3',
-				img: '/static/images/home/banner.png',
-				url: ''
-			}];
-			resolute(list);
-		} catch (e) {
-			//模拟接口请求失败
-			reject(e);
-		}
-	})
-}
-
-// 获取公告数据
-export function fakeNoticeList() {
-	return new Promise((resolute, reject) => {
-		try {
-			const list = [{
-				id: '1',
-				img: '/static/images/home/focus.png',
-				title: '神舟十二号载人发射任务取得圆满成功'
-			}, {
-				id: '2',
-				img: '/static/images/home/service.png',
-				title: '全国累计报告接种新冠疫苗超9亿剂次'
-			}];
-			resolute(list);
-		} catch (e) {
-			//模拟接口请求失败
-			reject(e);
-		}
-	})
-}
-
-// 获取顶部按钮数据
-export function fakeNavButton() {
-	return new Promise((resolute, reject) => {
-		try {
-			const list = [{
-					name: '实时数据',
-					img: '/static/images/home/n1.png',
-					url: '/pages/checkReport/checkProjectSelect?model=0'
-				},
-				{
-					name: '维修工单',
-					img: '/static/images/home/n2.png',
-					url: '/pages/checkOrder/checkOrderList'
-				},
-				{
-					name: '巡检管理',
-					img: '/static/images/home/n3.png',
-					url: '/pages/home/building'
-				},
-				{
-					name: '帮助文档',
-					img: '/static/images/home/n3.png',
-					url: '/pages/home/building'
-				}
-			];
-			resolute(list);
-		} catch (e) {
-			//模拟接口请求失败
-			reject(e);
-		}
-	})
-}
-
-// 获取服务按钮数据
-export function fakeServiceButton() {
-	return new Promise((resolute, reject) => {
-		try {
-			const list = [{
-					name: '人口登记',
-					img: '/static/images/home/s1.png',
-					url: ''
-				},
-				{
-					name: '工商年报',
-					img: '/static/images/home/s2.png',
-					url: ''
-				},
-				{
-					name: '税务登记',
-					img: '/static/images/home/s3.png',
-					url: ''
-				},
-				{
-					name: '健康码',
-					img: '/static/images/home/s4.png',
-					url: ''
-				},
-				{
-					name: '便民服务',
-					img: '/static/images/home/s5.png',
-					url: ''
-				},
-				{
-					name: '通办大厅',
-					img: '/static/images/home/s6.png',
-					url: ''
-				},
-				{
-					name: '智能问答',
-					img: '/static/images/home/s7.png',
-					url: ''
-				}
-			];
-			resolute(list);
-		} catch (e) {
-			//模拟接口请求失败
-			reject(e);
-		}
-	})
-}

+ 0 - 152
api/mock/service.js

@@ -1,152 +0,0 @@
-// 获取服务数据
-export function fakeSubscribeList() {
-	return new Promise((resolute, reject) => {
-		try {
-			const list = [{
-					img: '/static/images/service/s1.png',
-					name: '违章查询',
-					url: ''
-				},
-				{
-					img: '/static/images/service/s2.png',
-					name: '限行信息',
-					url: ''
-				},
-				{
-					img: '/static/images/service/s3.png',
-					name: '油价查询',
-					url: ''
-				},
-				{
-					img: '/static/images/service/s4.png',
-					name: '消费记录',
-					url: ''
-				},
-				{
-					img: '/static/images/service/s5.png',
-					name: '保养记录',
-					url: ''
-				},
-				{
-					img: '/static/images/service/s6.png',
-					name: '油耗记录',
-					url: ''
-				},
-				{
-					img: '/static/images/service/s7.png',
-					name: '周边查询',
-					url: ''
-				},
-				{
-					img: '/static/images/service/s8.png',
-					name: '教育咨询',
-					url: ''
-				}
-			];
-			resolute(list);
-		} catch (e) {
-			//模拟接口请求失败
-			reject(e);
-		}
-	})
-}
-
-export function fakeServiceList() {
-	return new Promise((resolute, reject) => {
-		try {
-			const list = [{
-					name: '交通出行',
-					list: [{
-							img: '/static/images/service/t1.png',
-							name: '地铁',
-							url: ''
-						},
-						{
-							img: '/static/images/service/t2.png',
-							name: '公交',
-							url: ''
-						},
-						{
-							img: '/static/images/service/t3.png',
-							name: '自驾',
-							url: ''
-						},
-						{
-							img: '/static/images/service/t4.png',
-							name: '飞机',
-							url: ''
-						},
-						{
-							img: '/static/images/service/t5.png',
-							name: '动车',
-							url: ''
-						},
-						{
-							img: '/static/images/service/t6.png',
-							name: '火车',
-							url: ''
-						},
-						{
-							img: '/static/images/service/t7.png',
-							name: '摩托车',
-							url: ''
-						},
-						{
-							img: '/static/images/service/t8.png',
-							name: '自行车',
-							url: ''
-						}
-					]
-				},
-				{
-					name: '社会保险',
-					list: [{
-							img: '/static/images/service/b1.png',
-							name: '人身保险',
-							url: ''
-						},
-						{
-							img: '/static/images/service/b2.png',
-							name: '财产保险',
-							url: ''
-						},
-						{
-							img: '/static/images/service/b3.png',
-							name: '火灾保险',
-							url: ''
-						},
-						{
-							img: '/static/images/service/b4.png',
-							name: '运输保险',
-							url: ''
-						},
-						{
-							img: '/static/images/service/b5.png',
-							name: '工程保险',
-							url: ''
-						},
-						{
-							img: '/static/images/service/b6.png',
-							name: '盗窃保险',
-							url: ''
-						},
-						{
-							img: '/static/images/service/b7.png',
-							name: '农业保险',
-							url: ''
-						},
-						{
-							img: '/static/images/service/b8.png',
-							name: '信用保险',
-							url: ''
-						}
-					]
-				},
-			]
-			resolute(list);
-		} catch (e) {
-			//模拟接口请求失败
-			reject(e);
-		}
-	})
-}

+ 7 - 0
api/role.js

@@ -0,0 +1,7 @@
+
+export const role = {
+	'admin': 'sys_admin',
+	'orgAdmin': 'org_admin',
+	'companyAdmin': 'company_admin',
+	'companyServciePerson': 'company_servcie_person',
+}

+ 8 - 1
api/user.js

@@ -27,7 +27,14 @@ const userInfo = () => {
 	})
 }
 
+// export const role = {
+// 	'admin': 'sys_admin',
+// 	'orgAdmin': 'org_admin',
+// 	'companyAdmin': 'company_admin',
+// 	'companyServciePerson': 'company_servcie_person',
+// }
+
 export default {
 	token,
-	userInfo
+	userInfo,
 }

+ 13 - 6
common/setting.js

@@ -7,11 +7,15 @@ module.exports = {
 	// 应用logo,支持本地路径和网络路径
 	logo: '/static/images/logo.png',
 	// 版本号
-	version: '1.0.2',
+	version: '1.0.17',
 	// 开发环境接口Url
-	devUrl: 'http://localhost:40004',
+	//devUrl: 'http://127.0.0.1:40004',
+	devUrl: 'http://111.204.228.227:20002/api',
+	//devUrl: 'https://nmwx.dahengsi.com:20001/api',
 	// 线上环境接口Url
-	prodUrl: 'http://111.204.228.227:40004',
+	//prodUrl: 'http://116.113.33.54:20002/api',
+	prodUrl: 'http://111.204.228.227:20002/api',
+	//prodUrl: 'https://nmwx.dahengsi.com:20001/api',
 	// 后端数据的接收方式application/json;charset=UTF-8或者application/x-www-form-urlencoded;charset=UTF-8
 	contentType: 'application/json;charset=UTF-8',
 	// 后端返回状态码
@@ -21,8 +25,11 @@ module.exports = {
 	// 登录失效code
 	invalidCode: 401,
 	// 客户端ID
-	clientId: 'rider',
+	clientId: 'shzhjcyjptywxt',
 	// 客户端密钥
-	clientSecret: 'rider_secret',
-	oss: 'http://111.204.228.227:19000/galaxy/',
+	clientSecret: 'shzhjcyjptywxt_secret_82828800',
+	//oss: 'http://172.9.0.165:80/oss/galaxy/',
+	oss: 'http://111.204.228.227:20002/oss/galaxy/',
+	//oss: 'https://nmwx.dahengsi.com:20001/oss/galaxy/',
+	img: 'http://111.204.228.227:20002/img/',
 }

+ 0 - 77
components/page-nav/page-nav.vue

@@ -1,77 +0,0 @@
-<template>
-	<view class="nav-wrap">
-		<view class="nav-title">
-			<image class="logo" src="/static/images/logo.png" mode="widthFix"></image>
-			<view class="nav-info">
-				<view class="nav-title__text">
-					{{title}}
-				</view>
-			</view>
-		</view>
-		<view class="nav-desc">
-			{{desc}}
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		props: {
-			desc: String,
-			title: String,
-		},
-	}
-</script>
-
-<style lang="scss" scoped>
-	.nav-wrap {
-		margin-top: 15px;
-		padding: 15px;
-		position: relative;
-	}
-	
-	.lang {
-		position: absolute;
-		top: 15px;
-		right: 15px;
-	}
-	
-	.nav-title {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-	
-	.nav-info {
-		margin-left: 15px;
-	}
-	
-	.nav-title__text {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		color: $u-main-color;
-		font-size: 20px;
-		font-weight: bold;
-	}
-	
-	.logo {
-		width: 100px;
-		/* #ifndef APP-NVUE */
-		height: auto;
-		/* #endif */
-	}
-	
-	.nav-slogan {
-		color: $u-tips-color;
-		font-size: 14px;
-	}
-	
-	.nav-desc {
-		margin-top: 10px;
-		font-size: 14px;
-		color: $u-content-color;
-	}
-</style>

+ 9 - 5
http/api.js

@@ -48,7 +48,6 @@ http.interceptors.response.use((response) => {
 	}
 	// 服务端返回的状态码不等于200,则reject()
 	if (response.data.code !== 200) {
-
 		return Promise.reject(response);
 	}
 	return response.data;
@@ -56,15 +55,20 @@ http.interceptors.response.use((response) => {
 
 	/*  对响应错误做点什么 (statusCode !== 200)*/
 	if (response.data.code == 401) {
-		uni.reLaunch({
+		// uni.reLaunch({
+		// 	url: '/pages/login/login-account'
+		// })
+		
+		uni.navigateTo({
 			url: '/pages/login/login-account'
 		})
-	} else {
+		
+	} 
+	else {
 		uni.showToast({
-			title: response.data.msg,
+			title: response.data.msg+" code:"+response.data.code,
 			icon: 'none'
 		});
-
 	}
 
 	return Promise.reject(response)

+ 16 - 14
manifest.json

@@ -26,7 +26,6 @@
         },
         /* 模块配置 */
         "modules" : {
-            "VideoPlayer" : {},
             "Maps" : {}
         },
         /* 应用发布信息 */
@@ -36,26 +35,24 @@
                 "permissions" : [
                     "<uses-feature android:name=\"android.hardware.camera\"/>",
                     "<uses-feature android:name=\"android.hardware.camera.autofocus\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_CHECKIN_PROPERTIES\"/>",
                     "<uses-permission android:name=\"android.permission.ACCESS_COARSE_LOCATION\"/>",
                     "<uses-permission android:name=\"android.permission.ACCESS_FINE_LOCATION\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_LOCATION_EXTRA_COMMANDS\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_MOCK_LOCATION\"/>",
                     "<uses-permission android:name=\"android.permission.ACCESS_NETWORK_STATE\"/>",
+                    "<uses-permission android:name=\"android.permission.ACCESS_SURFACE_FLINGER\"/>",
                     "<uses-permission android:name=\"android.permission.ACCESS_WIFI_STATE\"/>",
                     "<uses-permission android:name=\"android.permission.CALL_PHONE\"/>",
                     "<uses-permission android:name=\"android.permission.CAMERA\"/>",
-                    "<uses-permission android:name=\"android.permission.CHANGE_NETWORK_STATE\"/>",
                     "<uses-permission android:name=\"android.permission.CHANGE_WIFI_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.FLASHLIGHT\"/>",
-                    "<uses-permission android:name=\"android.permission.GET_ACCOUNTS\"/>",
-                    "<uses-permission android:name=\"android.permission.MODIFY_AUDIO_SETTINGS\"/>",
+                    "<uses-permission android:name=\"android.permission.INSTALL_PACKAGES\"/>",
+                    "<uses-permission android:name=\"android.permission.INTERNET\"/>",
                     "<uses-permission android:name=\"android.permission.MOUNT_UNMOUNT_FILESYSTEMS\"/>",
                     "<uses-permission android:name=\"android.permission.READ_EXTERNAL_STORAGE\"/>",
                     "<uses-permission android:name=\"android.permission.READ_LOGS\"/>",
                     "<uses-permission android:name=\"android.permission.READ_PHONE_STATE\"/>",
-                    "<uses-permission android:name=\"android.permission.RECORD_AUDIO\"/>",
-                    "<uses-permission android:name=\"android.permission.USE_SIP\"/>",
-                    "<uses-permission android:name=\"android.permission.VIBRATE\"/>",
-                    "<uses-permission android:name=\"android.permission.WAKE_LOCK\"/>",
-                    "<uses-permission android:name=\"android.permission.WRITE_CONTACTS\"/>",
+                    "<uses-permission android:name=\"android.permission.REQUEST_INSTALL_PACKAGES\"/>",
                     "<uses-permission android:name=\"android.permission.WRITE_EXTERNAL_STORAGE\"/>",
                     "<uses-permission android:name=\"android.permission.WRITE_SETTINGS\"/>"
                 ]
@@ -70,7 +67,8 @@
                         "appkey_ios" : "2656439f05da583bdc52c71c0166ff86",
                         "appkey_android" : "49a203cf65da9c928783ff36cdfeb878"
                     }
-                }
+                },
+                "push" : {}
             },
             "splashscreen" : {
                 "androidStyle" : "default"
@@ -81,11 +79,15 @@
     "quickapp" : {},
     /* 小程序特有相关 */
     "mp-weixin" : {
-        "appid" : "wxc256e348c4032ebd",
+        "appid" : "wx34cbed0f44a3d8da",
         "setting" : {
-            "urlCheck" : false
+            "urlCheck" : false,
+            "minified" : true
         },
-        "usingComponents" : true
+        "usingComponents" : true,
+        "unipush" : {
+            "enable" : false
+        }
     },
     "mp-alipay" : {
         "usingComponents" : true

+ 164 - 0
package-lock.json

@@ -0,0 +1,164 @@
+{
+  "name": "SHZHJCYJPTYWXTAPP",
+  "lockfileVersion": 2,
+  "requires": true,
+  "packages": {
+    "": {
+      "devDependencies": {
+        "browserslist": "^4.21.5",
+        "caniuse-lite": "^1.0.30001469"
+      }
+    },
+    "node_modules/browserslist": {
+      "version": "4.21.5",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
+      "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        }
+      ],
+      "dependencies": {
+        "caniuse-lite": "^1.0.30001449",
+        "electron-to-chromium": "^1.4.284",
+        "node-releases": "^2.0.8",
+        "update-browserslist-db": "^1.0.10"
+      },
+      "bin": {
+        "browserslist": "cli.js"
+      },
+      "engines": {
+        "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7"
+      }
+    },
+    "node_modules/caniuse-lite": {
+      "version": "1.0.30001469",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz",
+      "integrity": "sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/caniuse-lite"
+        }
+      ]
+    },
+    "node_modules/electron-to-chromium": {
+      "version": "1.4.337",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.337.tgz",
+      "integrity": "sha512-W8gdzXG86mVPoc56eM8YA+QiLxaAxJ8cmDjxZgfhLLWVvZQxyA918w5tX2JEWApZta45T1/sYcmFHTsTOUE3nw==",
+      "dev": true
+    },
+    "node_modules/escalade": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+      "dev": true,
+      "engines": {
+        "node": ">=6"
+      }
+    },
+    "node_modules/node-releases": {
+      "version": "2.0.10",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
+      "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==",
+      "dev": true
+    },
+    "node_modules/picocolors": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+      "dev": true
+    },
+    "node_modules/update-browserslist-db": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
+      "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+      "dev": true,
+      "funding": [
+        {
+          "type": "opencollective",
+          "url": "https://opencollective.com/browserslist"
+        },
+        {
+          "type": "tidelift",
+          "url": "https://tidelift.com/funding/github/npm/browserslist"
+        }
+      ],
+      "dependencies": {
+        "escalade": "^3.1.1",
+        "picocolors": "^1.0.0"
+      },
+      "bin": {
+        "browserslist-lint": "cli.js"
+      },
+      "peerDependencies": {
+        "browserslist": ">= 4.21.0"
+      }
+    }
+  },
+  "dependencies": {
+    "browserslist": {
+      "version": "4.21.5",
+      "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz",
+      "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==",
+      "dev": true,
+      "requires": {
+        "caniuse-lite": "^1.0.30001449",
+        "electron-to-chromium": "^1.4.284",
+        "node-releases": "^2.0.8",
+        "update-browserslist-db": "^1.0.10"
+      }
+    },
+    "caniuse-lite": {
+      "version": "1.0.30001469",
+      "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001469.tgz",
+      "integrity": "sha512-Rcp7221ScNqQPP3W+lVOYDyjdR6dC+neEQCttoNr5bAyz54AboB4iwpnWgyi8P4YUsPybVzT4LgWiBbI3drL4g==",
+      "dev": true
+    },
+    "electron-to-chromium": {
+      "version": "1.4.337",
+      "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.337.tgz",
+      "integrity": "sha512-W8gdzXG86mVPoc56eM8YA+QiLxaAxJ8cmDjxZgfhLLWVvZQxyA918w5tX2JEWApZta45T1/sYcmFHTsTOUE3nw==",
+      "dev": true
+    },
+    "escalade": {
+      "version": "3.1.1",
+      "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz",
+      "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==",
+      "dev": true
+    },
+    "node-releases": {
+      "version": "2.0.10",
+      "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz",
+      "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==",
+      "dev": true
+    },
+    "picocolors": {
+      "version": "1.0.0",
+      "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz",
+      "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==",
+      "dev": true
+    },
+    "update-browserslist-db": {
+      "version": "1.0.10",
+      "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.10.tgz",
+      "integrity": "sha512-OztqDenkfFkbSG+tRxBeAnCVPckDBcvibKd35yDONx6OU8N7sqgwc7rCbkJ/WcYtVRZ4ba68d6byhC21GFh7sQ==",
+      "dev": true,
+      "requires": {
+        "escalade": "^3.1.1",
+        "picocolors": "^1.0.0"
+      }
+    }
+  }
+}

+ 6 - 0
package.json

@@ -0,0 +1,6 @@
+{
+  "devDependencies": {
+    "browserslist": "^4.21.5",
+    "caniuse-lite": "^1.0.30001469"
+  }
+}

+ 233 - 99
pages.json

@@ -3,8 +3,8 @@
 	"easycom": {
 		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
 	},
-	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
-		{
+	//pages数组中第一项表示应用启动页
+	"pages": [{
 			"path": "pages/home/home",
 			"style": {
 				"navigationBarTitleText": "首页",
@@ -12,23 +12,79 @@
 				"navigationStyle": "custom"
 			}
 		},
+		{
+				"path": "pages/home/start/start",
+				"style": {
+					"navigationBarTitleText": "开始页",
+					"enablePullDownRefresh": false,
+					"navigationStyle": "custom"
+				}
+			},
 		{
 			"path": "pages/check-order/checkorderlist",
 			"style": {
-				"navigationBarTitleText": "维修工单管理",
+				"navigationBarTitleText": "维修任务",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
-
 		},
 		{
-			"path": "pages/check-order/admincheckorderlist",
+			"path": "pages/check-order/processcheckorderlistview",
 			"style": {
-				"navigationBarTitleText": "维修工单管理",
+				"navigationBarTitleText": "维修任务",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
+		},
 		
+		{
+			"path": "pages/check-order/servicepersoncheckorderlist",
+			"style": {
+				"navigationBarTitleText": "运维人员维修任务",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/check-order/companycheckorderlist",
+			"style": {
+				"navigationBarTitleText": "公司维修任务",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/check-order/comfiredelaycheckorderlist",
+			"style": {
+				"navigationBarTitleText": "确认超时维修任务",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/check-order/uncomfirecheckorderlistview",
+			"style": {
+				"navigationBarTitleText": "查看未确认维修任务",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/check-order/uncomfirecheckorderlist",
+			"style": {
+				"navigationBarTitleText": "新任务",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/check-order/completedcheckorderlist",
+			"style": {
+				"navigationBarTitleText": "维修历史",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
 		},
 		{
 			"path": "pages/check-order/mycheckorderlist",
@@ -40,9 +96,9 @@
 
 		},
 		{
-			"path": "pages/check-order/todaycheckorderlist",
+			"path": "pages/check-order/todaycheckorderrprocesseportlist",
 			"style": {
-				"navigationBarTitleText": "今日工单",
+				"navigationBarTitleText": "今日维修任务动态",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
@@ -58,26 +114,43 @@
 
 		},
 		{
-			"path": "pages/check-order/orderprocesslist",
+			"path": "pages/check-order/orderconfirm",
 			"style": {
-				"navigationBarTitleText": "工单处理管理",
+				"navigationBarTitleText": "维修任务确认",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/check-order/orderprocesschange",
+			"style": {
+				"navigationBarTitleText": "维修任务指派",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/check-order/manuallyaddcheckorder",
+			"style": {
+				"navigationBarTitleText": "人工派单",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 
 		},
 		{
-			"path": "pages/check-order/orderprocessreport",
+			"path": "pages/check-order/manuallyclosecheckorder",
 			"style": {
-				"navigationBarTitleText": "工单填报",
+				"navigationBarTitleText": "人工关闭",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
+
 		},
 		{
-			"path": "pages/check-order/orderprocessrecord",
+			"path": "pages/check-order/orderprocessreport",
 			"style": {
-				"navigationBarTitleText": "工单填报记录",
+				"navigationBarTitleText": "工单填报",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
@@ -91,33 +164,37 @@
 			}
 		},
 		{
-			"path": "pages/equipment-inspection/equipmentinspectionplanlist",
+			"path": "pages/equipment-inspection/inspectionlist",
 			"style": {
-				"navigationBarTitleText": "巡检计划",
+				"navigationBarTitleText": "待巡检设备",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
-
 		},
 		{
-			"path": "pages/equipment-inspection/equipmentinspectionlist",
+			"path": "pages/equipment-inspection/finishedinspectionreportlist",
 			"style": {
-				"navigationBarTitleText": "设备巡检任务",
+				"navigationBarTitleText": "已巡检设备",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
-
 		},
 		{
-			"path": "pages/equipment-inspection/myequipmentinspectionlist",
+			"path": "pages/equipment-inspection/servicepersonfinishedinspectionreportlist",
 			"style": {
-				"navigationBarTitleText": "我的巡检任务",
+				"navigationBarTitleText": "已巡检设备",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/equipment-inspection/companyfinishedinspectionreportlist",
+			"style": {
+				"navigationBarTitleText": "公司已巡检设备",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
-
 		},
-
 		{
 			"path": "pages/equipment-inspection/equipmentinspectionreport",
 			"style": {
@@ -128,7 +205,25 @@
 
 		},
 		{
-			"path": "pages/equipment-inspection/equipmentinspectionreportdetail",
+			"path": "pages/equipment-inspection/inspectionreportview",
+			"style": {
+				"navigationBarTitleText": "设备巡检填报页面",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		},
+		{
+			"path": "pages/equipment-inspection/rtuinspectionreportview",
+			"style": {
+				"navigationBarTitleText": "设备巡检填报页面",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		},
+		{
+			"path": "pages/equipment-inspection/inspectionreportdetail",
 			"style": {
 				"navigationBarTitleText": "设备巡检填报详情",
 				"enablePullDownRefresh": false,
@@ -137,27 +232,35 @@
 
 		},
 		{
-			"path": "pages/equipment-inspection/equipmentinspectionreportlist",
+			"path": "pages/equipment-inspection/inspectionreportlist",
+			"style": {
+				"navigationBarTitleText": "巡检填报信息",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/equipment-inspection/inspectionremainingproblemslist",
 			"style": {
-				"navigationBarTitleText": "巡检填报历史信息",
+				"navigationBarTitleText": "巡检遗留问题",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 
 		},
 		{
-			"path": "pages/equipment-inspection/todayequipmentinspectionreportlist",
+			"path": "pages/equipment-inspection/inspectionremainingproblemsclose",
 			"style": {
-				"navigationBarTitleText": "今日巡检填报信息",
+				"navigationBarTitleText": "巡检遗留问题关闭处理",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 
 		},
 		{
-			"path": "pages/equipment-inspection/myequipmentinspectionreportlist",
+			"path": "pages/equipment-inspection/todayinspectionreportlist",
 			"style": {
-				"navigationBarTitleText": "我的巡检填报信息",
+				"navigationBarTitleText": "今日巡检填报信息",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
@@ -180,7 +283,7 @@
 			}
 		},
 		{
-			"path": "pages/warning/warninginfodetail",
+			"path": "pages/warning/warninglist",
 			"style": {
 				"navigationBarTitleText": "预警信息",
 				"enablePullDownRefresh": false,
@@ -188,140 +291,127 @@
 			}
 		},
 		{
-			"path": "pages/rtu-manage/rtudata",
+			"path": "pages/rtu-manage/rtudetail",
 			"style": {
-				"navigationBarTitleText": "测站数据",
+				"navigationBarTitleText": "测站详情",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 		},
 		{
-			"path": "pages/rtu-manage/rturaindata",
+			"path": "pages/warning/warninginfodetail",
 			"style": {
-				"navigationBarTitleText": "降水测站数据",
+				"navigationBarTitleText": "预警信息",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 		},
 		{
-			"path": "pages/rtu-manage/rturiverdata",
+			"path": "pages/realdata/rtudata",
 			"style": {
-				"navigationBarTitleText": "河道测站数据",
+				"navigationBarTitleText": "测站数据",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/realdata/rturaindata",
+			"style": {
+				"navigationBarTitleText": "降水测站数据",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 		},
 		{
-			"path": "pages/rtu-manage/rtursvrdata",
+			"path": "pages/realdata/rturiverdata",
 			"style": {
-				"navigationBarTitleText": "水库测站数据",
+				"navigationBarTitleText": "河道测站数据",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 		},
 		{
-			"path": "pages/rtu-manage/rtugrounddata",
+			"path": "pages/realdata/rtugrounddata",
 			"style": {
 				"navigationBarTitleText": "墒情测站数据",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 		}, {
-			"path": "pages/rtu-manage/rtugrounddatadetail",
+			"path": "pages/realdata/rtugrounddatadetail",
 			"style": {
-				"navigationBarTitleText": "墒情测站数据",
+				"navigationBarTitleText": "测站实时数据信息",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 		},
 		{
-			"path": "pages/report-forms/report",
+			"path": "pages/rtu-manage/rturealdatadetail",
 			"style": {
-				"navigationBarTitleText": "统计报表",
+				"navigationBarTitleText": "测站实时数据",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
-
 		},
 		{
-			"path": "pages/report-forms/adminreport",
+			"path": "pages/report-forms/checkorderreportcount",
 			"style": {
-				"navigationBarTitleText": "统计报表",
+				"navigationBarTitleText": "维修任务统计报表",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 		},
 		{
-			"path": "pages/report-forms/contact",
+			"path": "pages/report-forms/inspectionreportcount",
 			"style": {
-				"navigationBarTitleText": "通讯录",
+				"navigationBarTitleText": "设备巡检统计报表",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
-		
 		},
 		{
-			"path": "pages/home/building",
+			"path": "pages/report-forms/orgcheckorderreportcount",
 			"style": {
-				"navigationBarTitleText": "开发中",
+				"navigationBarTitleText": "维修任务统计报表",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
-
 		},
-		// {
-		// 	"path": "pages/checkReport/editCacheCheckReport",
-		// 	"style": {
-		// 		"navigationBarTitleText": "本地缓存问题编辑",
-		// 		"enablePullDownRefresh": false,
-		// 		"navigationStyle": "custom"
-		// 	}
-
-		// },
-		// {
-		// 	"path": "pages/checkReport/checkReportListManage",
-		// 	"style": {
-		// 		"navigationBarTitleText": "问题检查管理",
-		// 		"enablePullDownRefresh": false,
-		// 		"navigationStyle": "custom"
-		// 	}
-
-		// },
 		{
-			"path": "pages/news/noticelist",
+			"path": "pages/report-forms/orginspectionreportcount",
 			"style": {
-				"navigationBarTitleText": "公告列表",
+				"navigationBarTitleText": "设备巡检统计报表",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 
 		},
 		{
-			"path": "pages/news/detail",
+			"path": "pages/report-forms/contact",
 			"style": {
-				"navigationBarTitleText": "公告详情",
+				"navigationBarTitleText": "通讯录",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 
 		},
 		{
-			"path": "pages/service/service",
+			"path": "pages/news/noticelist",
 			"style": {
-				"navigationBarTitleText": "服务",
+				"navigationBarTitleText": "公告列表",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
-
-		}, {
-			"path": "pages/manage/manage",
+		},
+		{
+			"path": "pages/news/detail",
 			"style": {
-				"navigationBarTitleText": "管理",
+				"navigationBarTitleText": "公告详情",
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
-
-		}, {
+		},
+		{
 			"path": "pages/user/center",
 			"style": {
 				"navigationBarTitleText": "我的",
@@ -377,8 +467,65 @@
 				"navigationStyle": "custom"
 			}
 
-		}
-	],
+		}, {
+			"path": "pages/home/dangerarea",
+			"style": {
+				"navigationBarTitleText": "危险区",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		}, {
+			"path": "pages/home/dangerareamap",
+			"style": {
+				"navigationBarTitleText": "危险区地图",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		},{
+			"path": "pages/home/region",
+			"style": {
+				"navigationBarTitleText": "行政区",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		}, {
+			"path": "pages/home/regionmap",
+			"style": {
+				"navigationBarTitleText": "行政区地图",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		},{
+			"path": "pages/home/leaveline",
+			"style": {
+				"navigationBarTitleText": "转移路线",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		}, {
+			"path": "pages/home/leavelinemap",
+			"style": {
+				"navigationBarTitleText": "转移路线地图",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+			}
+
+		},{
+            "path" : "pages/yjxt/warnmanage",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "预警管理",
+                "enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+            }
+            
+        }
+    ],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "",
@@ -396,25 +543,12 @@
 				"selectedIconPath": "static/images/tabbar/home_selected.png",
 				"text": "首页"
 			},
-			// {
-			// 	"pagePath": "pages/checkReport/checkReportListManage",
-			// 	"iconPath": "static/images/tabbar/demo.png",
-			// 	"selectedIconPath": "static/images/tabbar/demo_selected.png",
-			// 	"text": "维修工单"
-			// }, 
-
 			{
 				"pagePath": "pages/rtu-manage/rtumanage",
 				"iconPath": "static/images/tabbar/workbench.png",
 				"selectedIconPath": "static/images/tabbar/workbench_selected.png",
 				"text": "管理工作台"
 			},
-			// {
-			// 	"pagePath": "pages/manage/building",
-			// 	"iconPath": "static/images/tabbar/manage.png",
-			// 	"selectedIconPath": "static/images/tabbar/manage_selected.png",
-			// 	"text": "巡检管理"
-			// }, 
 			{
 				"pagePath": "pages/user/center",
 				"iconPath": "static/images/tabbar/user.png",

+ 0 - 467
pages/check-order/admincheckorderlist.vue

@@ -1,467 +0,0 @@
-<template>
-	<view class="wrap">
-		<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>
-		<view class="container">
-			<uSection title="查询" type="line" style="padding-left: 10px;padding-right: 10px;">
-				<uni-data-picker placeholder="请选择机构" popup-title="请选择所在地区" :localdata="projectTree"
-					v-model="selectedTreeNode" @change="onchange" @nodeclick="onnodeclick" @popupopened="onpopupopened"
-					@popupclosed="onpopupclosed">
-				</uni-data-picker>
-			</uSection>
-			<view>
-				<uni-search-bar placeholder="请录入测站编码或测站名称" @confirm="search" :focus="false" v-model="searchVal"
-					@blur="blur" @focus="focus" @input="input" @cancel="cancel" @clear="clear">
-				</uni-search-bar>
-			</view>
-			<uSection title="">
-				<uni-list>
-					<uni-list-item v-for="item in list" :key="item.id">
-						<template v-slot:body>
-							<view style="min-height: 110px;width: 100%;display: flex;flex-direction: column;">
-								<view style="display: flex;flex-direction: row;align-items: center;">
-									<image class="order-title-image" style="box-shadow:0 0 2px 2px lightblue"
-										src="/static/images/logo_app.png" mode="widthFix">
-									</image>
-									<text style="margin-left: 5px;font-size: 1rem;font-weight: bold;">{{item.rtuName}}</text>
-									<text style="margin-left: 5px;font-size: 0.9rem;">[{{item.rtuCode}}]</text>
-								</view>
-								
-								<view v-if="item.orderClose == 1" style="display: flex;flex-direction: row;align-items: center; ">
-									<uIcons class="input-uni-icon" type="loop" size="18" color="skyblue" />
-									<view style="margin-left:5px;font-size: 0.8rem;">工单状态:</view>
-									<view style="margin-left:5px;font-size: 0.8rem;color: coral;">已关闭</view>
-								</view>
-								<view v-else-if="item.orderConfirm == 1" style="display: flex;flex-direction: row;align-items: center; ">
-									<uIcons class="input-uni-icon" type="loop" size="18" color="skyblue" />
-									<view style="margin-left:5px;font-size: 0.8rem;">工单状态:</view>
-									<view style="margin-left:5px;font-size: 0.8rem;color: coral;">处理中</view>
-								</view>
-								<view v-else style="display: flex;flex-direction: row;align-items: center; ">
-									<uIcons class="input-uni-icon" type="loop" size="18" color="skyblue" />
-									<view style="margin-left:5px;font-size: 0.8rem;">工单状态:</view>
-									<view style="margin-left:5px;font-size: 0.8rem;color: coral;">等待接单</view>
-								</view>
-								
-								<view style="display: flex;flex-direction: row;align-items: center; min-height: 30px;">
-									<uIcons class="input-uni-icon" type="notification" size="18" color="skyblue" />
-									<view style="margin-left:5px;font-size: 0.8rem;">报单时间:</view>
-									<view style="margin-left:5px;font-size: 0.8rem;color:gray;">{{item.createTime}}
-									</view>
-								</view>
-								
-								<view v-if="item.orderConfirm == 1"
-									style="display: flex;flex-direction: row;align-items: center; min-height: 30px;">
-									<view style="width: 35%;display: flex;flex-direction: row;align-items: center;">
-										<uIcons class="input-uni-icon" type="auth" size="18" color="skyblue" />
-										<view style="margin-left: 5px;font-size: 0.8rem;color: gray;">
-											{{item.processorName}}
-										</view>
-									</view>
-									<view style="font-size: 0.8rem;">接单时间:</view>
-									<view style="margin-left:5px;font-size: 0.8rem;color:gray;">
-										{{item.orderConfirmTime}}
-									</view>
-								</view>
-								
-								<view v-if="item.orderClose == 1"
-									style="display: flex;flex-direction: row;align-items: center; min-height: 30px;">
-									<uIcons class="input-uni-icon" type="checkbox" size="18" color="skyblue" />
-									<view style="margin-left:5px;font-size: 0.8rem;">关闭时间:</view>
-									<view style="margin-left:5px;font-size: 0.8rem;color:gray;">{{item.updateTime}}
-									</view>
-								</view>
-
-							
-
-							<!-- 	<view v-if="item.orderClose == 0"
-									style="display:flex;flex-direction:row;align-items: center;">
-									<image class="slot-image" src="/static/images/icon_warning.png" mode="widthFix">
-									</image>
-									<text style="font-size:0.8rem;padding-left: 10rpx;">{{item.orderDesc}}</text>
-								</view> -->
-
-								<view
-									style="margin-top:4px;display: flex;flex-direction: row;justify-content: flex-end;">
-									<view v-if="item.orderClose == 1 || item.orderConfirm == 1"
-										style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightgreen"
-										@click="toDetailPage(item.id)">
-										<view style="display:flex;flex-direction: column;justify-content: center;">
-											<uIcons class="input-uni-icon" type="info" size="18" color="gray" />
-										</view>
-										<view
-											style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-											<text style="color:black;font-size:0.7rem">查看详情</text>
-										</view>
-									</view>
-							<!-- 		<view v-else-if="item.orderConfirm == 1"
-										style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-										@click="toOrderReport(item.id)">
-										<view style="display:flex;flex-direction: column;justify-content: center;">
-											<uIcons class="input-uni-icon" type="compose" size="18" color="gray" />
-										</view>
-										<view
-											style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-											<text style="color:black;font-size:0.7rem">工单填报</text>
-										</view>
-									</view> -->
-					<!-- 				<view v-else
-										style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightpink"
-										@click="toOrderConfirm(item.id)">
-										<view style="display:flex;flex-direction: column;justify-content: center;">
-											<uIcons class="input-uni-icon" type="location" size="18" color="gray" />
-										</view>
-										<view
-											style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-											<text style="color:black;font-size:0.7rem">接单确认</text>
-										</view>
-									</view> -->
-							</view>
-							</view>
-						</template>
-					</uni-list-item>
-				</uni-list>
-			</uSection>
-			<uGroup>
-				<view class="uni-pagination-box">
-					<uPagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
-				</view>
-			</uGroup>
-		</view>
-	</view>
-</template>
-
-<script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import http from '@/http/api.js';
-
-	export default {
-		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-			uPagination,
-			uBreadcrumb,
-			uSection,
-			uDataPicker
-		},
-		onLoad(option) {
-			this.getProjectTree();
-		},
-		data() {
-			return {
-				list: [],
-				title: '工单查询',
-				desc: '',
-				pageSize: 10,
-				// 当前页
-				pageCurrent: 1,
-				// 数据总量
-				total: 0,
-				orgId: '',
-				projectId: '',
-				projectTree: [],
-				selectedTreeNode: '',
-				searchVal: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-
-		},
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			// 分页触发
-			change(e) {
-				//this.$refs.table.clearSelection()
-				//this.selectedIndexs.length = 0
-				this.pageCurrent = e.current;
-				this.getOrderList()
-
-			},
-			onnodeclick(node) {
-
-				if (node.projectId != null) {
-					this.orgId = node.orgId;
-					this.projectId = node.projectId;
-					this.searchVal = '';
-					this.pageCurrent = 1;
-					this.getOrderList();
-				}
-			},
-			onpopupopened(e) {
-
-			},
-			onpopupclosed(e) {
-
-			},
-			onchange(e) {
-
-			},
-			search(res) {
-				this.getOrderList();
-			},
-			input(res) {
-
-			},
-			clear(res) {
-				this.searchVal = '';
-				this.getOrderList();
-			},
-			blur(res) {},
-			focus(e) {},
-			cancel(res) {
-				this.searchVal = '';
-				this.getOrderList();
-			},
-			onBackPress() {
-				// #ifdef APP-PLUS
-				plus.key.hideSoftKeybord();
-				// #endif
-			},
-			getProjectTree() {
-				var that = this;
-				http.request({
-					url: '/galaxy-test/rtu/manage/tree',
-					method: 'GET',
-				}).then(res => {
-					console.log(res)
-					if (res.data != null) {
-						that.projectTree = res.data;
-						that.selectedTreeNode = that.projectTree[0].value;
-						that.orgId = that.projectTree[0].orgId;
-						that.projectId = that.projectTree[0].projectId;
-						that.getOrderList();
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getOrderList() {
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				const isSubmit = '0';
-				var postData = {};
-				postData['rtuCode'] = this.searchVal;
-				postData['rtuName'] = this.searchVal;
-				postData['orgId'] = this.orgId;
-				postData['projectId'] = this.projectId;
-				var that = this;
-				http.request({
-					url: '/galaxy-test/rtu/check/order/page',
-					method: 'GET',
-					params: {
-						current,
-						size,
-						isSubmit
-					},
-					data: postData,
-				}).then(res => {
-					if (res.data.records != null) {
-						that.list = res.data.records;
-					}
-					this.total = res.data.total;
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			toDetailPage(id) {
-				var url = '/pages/check-order/orderprocessrecord?id=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toOrderReport(id) {
-				var url = '/pages/check-order/orderprocesslist?id=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toOrderConfirm(id) {
-				var that = this;
-				uni.showModal({
-					content: '确定进行接单确认操作?',
-					showCancel: true,
-					success(res) {
-						if (res.confirm) {
-							var postData2 = {};
-							postData2['id'] = id;
-							http.request({
-								url: '/galaxy-test/rtu/check/order/confirm',
-								method: 'POST',
-								data: postData2
-							}).then(res => {
-								console.log(res)
-								if (res.success) {
-									uni.showModal({
-										content: '接单已成功,是否立即填报?',
-										showCancel: true,
-										success(res) {
-											if (res.confirm) {
-												var url =
-													'/pages/check-order/orderprocesslist?id=' + id;
-												uni.navigateTo({
-													url: url
-												})
-											}
-										}
-									});
-								}
-							}).catch(err => {
-								console.log(err)
-							})
-						}
-					}
-				});
-			},
-			toLocation(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() {}
-				})
-			},
-		}
-	}
-</script>
-
-<style>
-
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 100rpx;
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		//margin-right: 10px;
-		width: 20px;
-		height: 20px;
-	}
-
-	.order-title-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		// margin-right: 10px;
-		width: 20px;
-		height: 20px;
-		border-radius: 50%;
-
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

+ 531 - 321
pages/check-order/checkorderlist.vue

@@ -1,265 +1,555 @@
+<!--
+ * @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 style="width: 100%;display: flex;flex-direction: row;justify-content: center;align-items: center;">
-				<text style="color: white;font-size: 1rem;">{{title}}</text>
+			<view class="nav-title">
+				<text>{{title}}</text>
 			</view>
 		</uni-nav-bar>
 		<view class="container">
-			<uSection title="查询" type="line" style="padding-left: 10px;padding-right: 10px;">
-				<uni-data-picker placeholder="请选择机构" popup-title="请选择所在地区" :localdata="projectTree"
-					v-model="selectedTreeNode" @change="onchange" @nodeclick="onnodeclick" @popupopened="onpopupopened"
-					@popupclosed="onpopupclosed">
-				</uni-data-picker>
-			</uSection>
-			<view>
-				<uni-search-bar placeholder="请录入测站编码或测站名称" @confirm="search" :focus="false" v-model="searchVal"
-					@blur="blur" @focus="focus" @input="input" @cancel="cancel" @clear="clear">
-				</uni-search-bar>
+			<uni-section title="查询" 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="count-info-line">
+				<view class="orderCount">
+					<text class="name">任务数量:</text>
+					<text class="count">{{ countInfo.orderCount }}</text>
+				</view>
+				<view class="unconfirmOrderCount">
+					<text class="name">未确认任务:</text>
+					<text class="count">{{
+				   		                                    countInfo.orderUnconfirm }}</text>
+				</view>
+				<view class="processOrderCount">
+					<text class="name">处理中任务:</text>
+					<text class="count">{{
+				   	                                        countInfo.orderProcessing }}</text>
+				</view>
+
+			</view>
+			<view class="count-info-line">
+				<view class="reportOrderCount">
+					<text class="name">已处理任务:</text>
+					<text class="count">{{
+				   	                                        countInfo.reportOrder }}</text>
+				</view>
+			</view>
+			<view style="padding-left: 0px;padding-right: 0px;">
+				<uni-collapse v-model="searchorderstatus">
+					<uni-collapse-item title="任务状态筛选条件" :show-animation="true">
+						<view class="select-checkbox">
+							<uni-data-checkbox v-model="orderStatusOption" :localdata="orderStatusItems"
+								@change="orderStatusOptionChange">
+							</uni-data-checkbox>
+						</view>
+					</uni-collapse-item>
+				</uni-collapse>
+			</view>
+			<view style="padding-left: 0px;padding-right: 0px;">
+				<uni-collapse v-model="searchwarnstatus">
+					<uni-collapse-item title="异常类别筛选条件" :show-animation="true">
+						<view class="select-checkbox">
+							<uni-data-checkbox v-model="warnKindOption" :localdata="warnKindItems"
+								@change="warnKindOptionChange">
+							</uni-data-checkbox>
+						</view>
+					</uni-collapse-item>
+				</uni-collapse>
 			</view>
-			<uSection title="">
-				<uni-list>
-					<uni-list-item v-for="item in list" :key="item.id">
-						<template v-slot:body>
-							<view style="min-height: 110px;width: 100%;display: flex;flex-direction: column;">
-								<view style="display: flex;flex-direction: row;align-items: center;">
-									<image class="order-title-image" style="box-shadow:0 0 2px 2px lightblue"
-										src="/static/images/logo_app.png" mode="widthFix">
-									</image>
-									<text
-										style="margin-left: 5px;font-size: 1rem;font-weight: bold;">{{item.rtuName}}</text>
-									<text style="margin-left: 5px;font-size: 0.9rem;">[{{item.rtuCode}}]</text>
+			<uni-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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/order_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="list" size="18" color="lightblue" />
+								<text class="item-text-lable">维修状态:</text>
+								<text v-if="item.orderStatus==1" class="item-text-content"
+									style="color: red;">等待确认</text>
+								<text v-if="item.orderStatus==2" class="item-text-content"
+									style="color: orange;">处理中</text>
+								<text v-if="item.orderStatus==3" class="item-text-content"
+									style="color: blue;">已处理</text>
+								<text v-if="item.orderStatus==4" class="item-text-content"
+									style="color: green;">已完成</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="bars" size="18" color="lightblue" />
+								<text class="item-text-lable">异常类型:</text>
+								<text class="item-text-content-ellipsis">{{item.warnKindInfo}}</text>
+							</view>
+							<view v-if="item.orderStatus==1" class="items-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">创建时长:</text>
+								<text class="item-text-content" style="color: red;">{{item.taskCreateDuration}}</text>
+							</view>
+							<view v-else class="items-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">维修时长:</text>
+								<text class="item-text-content" style="color: red;">{{item.taskProcessDuration}}</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">{{item.areaName}}</text>
+							</view>
+							<view v-if="item.orderStatus==1" class="items-line">
+								<uni-icons class="input-uni-icon" type="person" size="18" color="lightblue" />
+								<text class="item-text-lable">运维公司管理员:</text>
+								<text class="item-text-content">{{item.manageCompanyAdminName}}</text>
+							</view>
+							<view v-else class="items-line">
+								<uni-icons class="input-uni-icon" type="person" size="18" color="lightblue" />
+								<text class="item-text-lable">处理人:</text>
+								<text class="item-text-content">{{item.contactUserName}}</text>
+							</view>
+							<view v-if="item.orderStatus==1" class="items-line">
+								<uni-icons class="input-uni-icon" type="phone" size="18" color="lightblue" />
+								<text class="item-text-lable">管理员联系电话:</text>
+								<view v-if="item.manageCompanyAdminPhone != null" @click="call(item.manageCompanyAdminPhone)">
+									<text class="item-text-content"
+										style="color: skyblue;text-decoration-line: underline;">{{item.manageCompanyAdminPhone}}</text>
 								</view>
-								<view v-if="item.orderClose == 1"
-									style="display: flex;flex-direction: row;align-items: center; min-height: 30px;">
-									<uIcons class="input-uni-icon" type="checkbox" size="18" color="skyblue" />
-									<view style="margin-left:5px;font-size: 0.8rem;">关闭时间:</view>
-									<view style="margin-left:5px;font-size: 0.8rem;color:gray;">{{item.updateTime}}
-									</view>
+							</view>
+							<view v-else class="items-line">
+								<uni-icons class="input-uni-icon" type="phone" size="18" color="lightblue" />
+								<text class="item-text-lable">处理人联系电话:</text>
+								<view v-if="item.contactPhone != null" @click="call(item.contactPhone)">
+									<text class="item-text-content"
+										style="color: skyblue;text-decoration-line: underline;">{{item.contactPhone}}</text>
 								</view>
-								<view v-else-if="item.orderConfirm == 1"
-									style="display: flex;flex-direction: row;align-items: center; min-height: 30px;">
-									<view style="width: 35%;display: flex;flex-direction: row;align-items: center;">
-										<uIcons class="input-uni-icon" type="auth" size="18" color="skyblue" />
-										<view style="margin-left: 5px;font-size: 0.8rem;color: gray;">
-											{{item.processorName}}
-										</view>
+							</view>
+							<view class="item-button-group">
+								<view v-if="item.orderStatus==1" class="item-button" @click="call(item.manageCompanyAdminPhone)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="phone" size="18" color="coral" />
+										<text class="button-text">电话</text>
 									</view>
-									<view style="font-size: 0.8rem;">接单时间:</view>
-									<view style="margin-left:5px;font-size: 0.8rem;color:gray;">
-										{{item.orderConfirmTime}}
+								</view>
+								<view v-else class="item-button" @click="call(item.contactPhone)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="phone" size="18" color="coral" />
+										<text class="button-text">电话</text>
 									</view>
 								</view>
-								<view v-else
-									style="display: flex;flex-direction: row;align-items: center; min-height: 30px;">
-									<uIcons class="input-uni-icon" type="notification" size="18" color="skyblue" />
-									<view style="margin-left:5px;font-size: 0.8rem;">报单时间:</view>
-									<view style="margin-left:5px;font-size: 0.8rem;color:gray;">{{item.createTime}}
+								<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.orderClose == 0"
-									style="display:flex;flex-direction:row;align-items: center;">
-									<image class="slot-image" src="/static/images/icon_warning.png" mode="widthFix">
-									</image>
-									<text style="font-size:0.8rem;padding-left: 10rpx;">{{item.orderDesc}}</text>
+								<view v-if="permission.companyAdmin && item.orderClose == 0" class="item-button"
+									@click="onCheckOrderChangeClick(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
-									style="margin-top:4px;display: flex;flex-direction: row;justify-content: flex-end;">
-									<view v-if="item.orderClose == 1"
-										style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightgreen"
-										@click="toDetailPage(item.id)">
-										<view style="display:flex;flex-direction: column;justify-content: center;">
-											<uIcons class="input-uni-icon" type="info" size="18" color="gray" />
-										</view>
-										<view
-											style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-											<text style="color:black;font-size:0.7rem">查看详情</text>
-										</view>
+								<view v-if="(permission.admin || permission.orgAdmin) && item.orderClose == 0"
+									class="item-button" @click="onManuallyCloseOrderClick(item.id)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="close" size="18" color="coral" />
+										<text class="button-text">人工关闭</text>
 									</view>
-									<view v-else-if="item.orderConfirm == 1"
-										style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-										@click="toOrderReport(item.id)">
-										<view style="display:flex;flex-direction: column;justify-content: center;">
-											<uIcons class="input-uni-icon" type="compose" size="18" color="gray" />
-										</view>
-										<view
-											style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-											<text style="color:black;font-size:0.7rem">工单填报</text>
-										</view>
+								</view>
+								<view v-if="permission.companyAdmin && item.orderStatus==1" class="item-button"
+									@click="onComfireCheckOrderClick(item.id)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="auth" size="18" color="coral" />
+										<text class="button-text">接受任务</text>
 									</view>
-									<view v-else
-										style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightpink"
-										@click="toOrderConfirm(item.id)">
-										<view style="display:flex;flex-direction: column;justify-content: center;">
-											<uIcons class="input-uni-icon" type="location" size="18" color="gray" />
-										</view>
-										<view
-											style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-											<text style="color:black;font-size:0.7rem">接单确认</text>
-										</view>
+								</view>
+								<view class="item-button" style="background-color:lightblue"
+									@click="onDetailViewClick(item.id)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" size="18" color="coral" />
+										<text class="button-text">维修详情</text>
 									</view>
 								</view>
 							</view>
-						</template>
-					</uni-list-item>
-				</uni-list>
-			</uSection>
-			<uGroup>
-				<view class="uni-pagination-box">
-					<uPagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
+						</view>
+					</template>
+				</uni-list-item>
+			</uni-list>
+			<uni-group>
+				<view class="pagination-block">
+					<uni-pagination show-icon :pageSize="pageSize" :current="pageCurrent" :total="total"
+						@change="pageChange" />
 				</view>
-			</uGroup>
+			</uni-group>
 		</view>
 	</view>
 </template>
 
 <script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
+	import {
+		role
+	} from "@/api/role.js";
 	import http from '@/http/api.js';
 
 	export default {
 		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-			uPagination,
-			uBreadcrumb,
-			uSection,
-			uDataPicker
+
 		},
 		onLoad(option) {
-			this.getProjectTree();
+			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 {
-				list: [],
-				title: '工单查询',
-				desc: '',
+				title: '维修任务信息',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
+				searchorderstatus: ['0'],
+				searchwarnstatus: [],
+				orderStatusItems: [{
+					'value': 0,
+					'text': '全部'
+				}, {
+					'value': 1,
+					'text': '未确认'
+				}, {
+					'value': 2,
+					'text': '处理中'
+				}, {
+					'value': 3,
+					'text': '已处理'
+				}],
+				orderStatusOption: 0,
+				countInfo: {
+					orderCount: 0,
+					orderUnconfirm: 0,
+					orderProcessing: 0,
+					reportOrder: 0
+				},
+				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,
+				selectUnconfirm: 0,
+				selectProcess: 0,
 				pageSize: 10,
-				// 当前页
 				pageCurrent: 1,
-				// 数据总量
 				total: 0,
-				orgId: '',
-				projectId: '',
-				projectTree: [],
+				list: [],
+				regionTree: [],
+				regionCode: '',
 				selectedTreeNode: '',
-				searchVal: '',
+				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
+			},
 			// 分页触发
-			change(e) {
-				//this.$refs.table.clearSelection()
-				//this.selectedIndexs.length = 0
+			pageChange(e) {
 				this.pageCurrent = e.current;
-				this.getOrderList()
-
+				this.getPage()
 			},
-			onnodeclick(node) {
+			//行政区划选择
+			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 = '';
 
-				if (node.projectId != null) {
-					this.orgId = node.orgId;
-					this.projectId = node.projectId;
-					this.searchVal = '';
 					this.pageCurrent = 1;
-					this.getOrderList();
+					this.getPage();
+					this.getCountInfo(this.regionCode);
 				}
 			},
-			onpopupopened(e) {
-
+			//录入查询
+			search() {
+				this.pageCurrent = 1;
+				let params = {};
+				if (this.searchRtuCodeVal.length > 0) {
+					params['rtuCode'] = this.searchRtuCodeVal;
+				}
+				if (this.searchRtuNameVal.length > 0) {
+					params['rtuName'] = this.searchRtuNameVal;
+				}
+				this.getPage(params);
 			},
-			onpopupclosed(e) {
-
+			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);
+					}
+				}
 			},
-			onchange(e) {
-
+			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);
+					}
+				}
 			},
-			search(res) {
-				this.getOrderList();
+			call(phone) {
+				console.log(phone)
+				uni.showModal({
+					content: '是否需要拨打[' + phone + ']?',
+					showCancel: true,
+					success(res) {
+						if (res.confirm) {
+							uni.makePhoneCall({
+								phoneNumber: phone
+							});
+						}
+					}
+				});
+			},
+			onDetailViewClick(id) {
+				let url = '/pages/check-order/orderprocessreportdetail?orderId=' + id;
+				uni.navigateTo({
+					url: url
+				})
 			},
-			input(res) {
+			onCheckOrderChangeClick(item) {
+				let contactUserName = '无';
+				if (item.orderConfirm == 1) {
+					contactUserName = item.contactUserName;
+				}
+				let url = '/pages/check-order/orderprocesschange?orderId=' + item.id + "&contactUserName=" +
+					contactUserName;
+				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) {
 
+							}
+						}
+					});
+				}
 			},
-			clear(res) {
-				this.searchVal = '';
-				this.getOrderList();
+			onManuallyCloseOrderClick(id) {
+				uni.navigateTo({
+					url: '/pages/check-order/manuallyclosecheckorder?id=' + id
+				})
+			},
+			onComfireCheckOrderClick(id) {
+				let url =
+					'/pages/check-order/orderconfirm?id=' + id;
+				uni.navigateTo({
+					url: url
+				})
 			},
-			blur(res) {},
-			focus(e) {},
-			cancel(res) {
-				this.searchVal = '';
-				this.getOrderList();
+			orderStatusOptionChange: function(evt) {
+				console.log(JSON.stringify(evt))
+				console.log(this.orderStatusOption)
+				this.pageCurrent = 1;
+				let params = {};
+				this.getPage(params);
 			},
-			onBackPress() {
-				// #ifdef APP-PLUS
-				plus.key.hideSoftKeybord();
-				// #endif
+			warnKindOptionChange: function(evt) {
+				let params = {};
+				this.pageCurrent = 1;
+				this.getPage(params);
 			},
-			getProjectTree() {
+			getRegionTree() {
 				var that = this;
 				http.request({
-					url: '/galaxy-test/rtu/manage/tree',
+					url: '/galaxy-business/baseinfo/region/tree',
 					method: 'GET',
 				}).then(res => {
-					console.log(res)
 					if (res.data != null) {
-						that.projectTree = res.data;
-						that.selectedTreeNode = that.projectTree[0].value;
-						that.orgId = that.projectTree[0].orgId;
-						that.projectId = that.projectTree[0].projectId;
-						that.getOrderList();
+						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)
 				})
 			},
-			getOrderList() {
+			getCountInfo(adCode) {
+				let that = this;
+				http.request({
+					url: '/galaxy-business/rtu/check/order/count',
+					method: 'GET',
+					data: {
+						adCode
+					}
+				}).then(res => {
+					that.countInfo = res.data;
+				})
+			},
+			getPage(params = {}) {
+				if (this.orderStatusOption == 0) {
+					params['orderClose'] = 0;
+				} else if (this.orderStatusOption == 1) {
+					params['orderStatus'] = 1;
+					params['orderClose'] = 0;
+				} else if (this.orderStatusOption == 2) {
+					params['orderStatus'] = 2;
+					params['orderClose'] = 0;
+				} else if (this.orderStatusOption == 3) {
+					params['orderStatus'] = 3;
+					params['orderClose'] = 0;
+				}
+				if (this.warnKindOption == 0) {} else {
+					params['warnKind'] = this.warnKindOption;
+				}
 				const current = this.pageCurrent;
 				const size = this.pageSize;
-				const isSubmit = '0';
-				var postData = {};
-				postData['rtuCode'] = this.searchVal;
-				postData['rtuName'] = this.searchVal;
-				postData['orgId'] = this.orgId;
-				postData['projectId'] = this.projectId;
-				var that = this;
+				let postData = Object.assign(params, this.query);
+				let that = this;
 				http.request({
-					url: '/galaxy-test/rtu/check/order/page',
+					url: '/galaxy-business/rtu/check/order/page',
 					method: 'GET',
 					params: {
 						current,
 						size,
-						isSubmit
 					},
 					data: postData,
 				}).then(res => {
@@ -271,178 +561,98 @@
 					console.log(err)
 				})
 			},
-			toDetailPage(id) {
-				var url = '/pages/check-order/orderprocessrecord?id=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toOrderReport(id) {
-				var url = '/pages/check-order/orderprocesslist?id=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toOrderConfirm(id) {
-				var that = this;
-				uni.showModal({
-					content: '确定进行接单确认操作?',
-					showCancel: true,
-					success(res) {
-						if (res.confirm) {
-							var postData2 = {};
-							postData2['id'] = id;
-							http.request({
-								url: '/galaxy-test/rtu/check/order/confirm',
-								method: 'POST',
-								data: postData2
-							}).then(res => {
-								console.log(res)
-								if (res.success) {
-									uni.showModal({
-										content: '接单已成功,是否立即填报?',
-										showCancel: true,
-										success(res) {
-											if (res.confirm) {
-												var url =
-													'/pages/check-order/orderprocesslist?id=' + id;
-												uni.navigateTo({
-													url: url
-												})
-											}
-										}
-									});
-								}
-							}).catch(err => {
-								console.log(err)
-							})
-						}
-					}
-				});
-			},
-			toLocation(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() {}
-				})
-			},
 		}
 	}
 </script>
 
-<style>
-
-</style>
-
 <style lang="scss" scoped>
-	.container {
-		padding: 0 0 100rpx;
+	.select-checkbox {
+		margin-top: 0px;
+		margin-bottom: 5px;
+		padding-left: 15px;
 	}
 
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
+	.count-info-line {
+		padding-top: 5px;
+		padding-bottom: 5px;
+		padding-left: 10px;
+		padding-right: 10px;
+		display: flex;
+		flex-direction: row;
+		justify-content: flex-start;
+		flex-wrap: wrap;
 	}
 
-	.slot-box {
-		/* #ifndef APP-NVUE */
+	.count-info-line .orderCount {
+
 		display: flex;
-		/* #endif */
 		flex-direction: row;
 		align-items: center;
-	}
 
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		//margin-right: 10px;
-		width: 20px;
-		height: 20px;
-	}
-
-	.order-title-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		// margin-right: 10px;
-		width: 20px;
-		height: 20px;
-		border-radius: 50%;
+		.name {
+			color: dimgray;
+			font-size: 0.7rem;
+		}
 
+		.count {
+			margin-left: 5px;
+			color: dodgerblue;
+			font-size: 0.7rem;
+		}
 	}
 
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
+	.count-info-line .unconfirmOrderCount {
 
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
+		margin-left: 10px;
+		display: flex;
+		flex-direction: row;
+		align-items: center;
 
-	.content-text {
-		font-size: 15px;
+		.name {
+			color: dimgray;
+			font-size: 0.7rem;
+		}
+
+		.count {
+			margin-left: 5px;
+			color: red;
+			font-size: 0.7rem;
+		}
 	}
 
-	.example-body {
-		/* #ifndef APP-NVUE */
+	.count-info-line .processOrderCount {
+		margin-left: 10px;
 		display: flex;
-		/* #endif */
 		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
+		align-items: center;
 
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
+		.name {
+			color: dimgray;
+			font-size: 0.7rem;
+		}
 
-	.button-text {
-		font-size: 15px;
+		.count {
+			margin-left: 5px;
+			color: orange;
+			font-size: 0.7rem;
+		}
 	}
 
-	.slot-button {
-		/* #ifndef APP-NVUE */
+	.count-info-line .reportOrderCount {
+		margin-left: 0px;
 		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
 		flex-direction: row;
-		justify-content: center;
 		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
 
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
+		.name {
+			color: dimgray;
+			font-size: 0.7rem;
+		}
+
+		.count {
+			margin-left: 5px;
+			color: green;
+			font-size: 0.7rem;
+		}
 	}
-</style>
+</style>

+ 192 - 0
pages/check-order/comfiredelaycheckorderlist.vue

@@ -0,0 +1,192 @@
+<!--
+ * @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-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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/order_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="item-text-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">创建时长:</text>
+								<text class="item-text-content" style="color: red;">{{item.taskCreateDuration}}</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">{{item.areaName}}</text>
+							</view>
+							<view class="item-text-line">
+								<uni-icons class="input-uni-icon" type="home" size="18" color="lightblue" />
+								<text class="item-text-lable">运维公司:</text>
+								<text class="item-text-content">
+									{{item.manageCompany}}
+								</text>
+							</view>
+							<view class="item-text-line">
+								<uni-icons class="input-uni-icon" type="auth" size="18" color="lightblue" />
+								<text class="item-text-lable">运维公司管理员:</text>
+								<text class="item-text-content">{{item.manageCompanyAdminName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="phone" size="18" color="lightblue" />
+								<text class="item-text-lable">联系电话:</text>
+								<view v-if="item.manageCompanyAdminPhone != null" @click="call(item.manageCompanyAdminPhone)">
+									<text class="item-text-content-phone">{{item.manageCompanyAdminPhone}}</text>
+								</view>
+							</view>
+							<view class="item-button-group">
+								<view class="item-button" @click="call(item.manageCompanyAdminPhone)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="phone" 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 :pageSize="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.pageCurrent = 1;
+			this.getPage()
+		},
+		data() {
+			return {
+				title: '确认超时维修任务',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
+				pageSize: 10,
+				pageCurrent: 1,
+				total: 0,
+				list: [],
+				query: {},
+			}
+		},
+		computed: {},
+		onShow() {},
+		methods: {
+			//返回上一页
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			call(phone) {
+				console.log(phone)
+				uni.showModal({
+					content: '是否需要拨打[' + phone + ']?',
+					showCancel: true,
+					success(res) {
+						if (res.confirm) {
+							uni.makePhoneCall({
+								phoneNumber: phone
+							});
+						}
+					}
+				});
+			},
+			getPage(params = {}) {
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(params, this.query);
+				let that = this;
+				http.request({
+					url: '/galaxy-business/rtu/check/order/confirm/delay/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						that.list = res.data.records;
+					}
+					this.total = res.data.total;
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.nav-title {
+		width: 100%;
+		display: flex;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+
+		text {
+			color: white;
+			font-size: 1rem;
+		}
+	}
+
+	.container {
+		padding: 0 0 100rpx;
+	}
+</style>

+ 287 - 0
pages/check-order/companycheckorderlist.vue

@@ -0,0 +1,287 @@
+<!--
+ * @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-list>
+				<uni-list-item v-for="item in list" :key="item.id" showArrow clickable
+					@click="onOrderReportItemClick(item.id)">
+					<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/order_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="list" size="18" color="lightblue" />
+								<text class="item-text-lable">维修状态:</text>
+								<text v-if="item.orderStatus==1" class="item-text-content"
+									style="color: red;">等待确认</text>
+								<text v-if="item.orderStatus==2" class="item-text-content"
+									style="color: orange;">处理中</text>
+								<text v-if="item.orderStatus==3" class="item-text-content"
+									style="color: blue;">已处理</text>
+								<text v-if="item.orderStatus==4" class="item-text-content"
+									style="color: green;">已完成</text>
+							</view>
+							<view v-if="item.orderStatus==1" class="items-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">创建时长:</text>
+								<text class="item-text-content" style="color: red;">{{item.taskCreateDuration}}</text>
+							</view>
+							<view v-else class="items-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">维修时长:</text>
+								<text class="item-text-content" style="color: red;">{{item.taskProcessDuration}}</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">{{item.areaName}}</text>
+							</view>
+							<view v-if="item.orderStatus==1" class="items-line">
+								<uni-icons class="input-uni-icon" type="person" size="18" color="lightblue" />
+								<text class="item-text-lable">运维公司管理员:</text>
+								<text class="item-text-content">{{item.manageCompanyAdminName}}</text>
+							</view>
+							<view v-else class="items-line">
+								<uni-icons class="input-uni-icon" type="person" size="18" color="lightblue" />
+								<text class="item-text-lable">处理人:</text>
+								<text class="item-text-content">{{item.contactUserName}}</text>
+							</view>
+							<view v-if="item.orderStatus==1" class="items-line">
+								<uni-icons class="input-uni-icon" type="phone" size="18" color="lightblue" />
+								<text class="item-text-lable">联系电话:</text>
+								<view v-if="item.manageCompanyAdminPhone != null" @click="call(item.manageCompanyAdminPhone)">
+									<text class="item-text-content-phone">{{item.manageCompanyAdminPhone}}</text>
+								</view>
+							</view>
+							<view v-else class="items-line">
+								<uni-icons class="input-uni-icon" type="phone" size="18" color="lightblue" />
+								<text class="item-text-lable">联系电话:</text>
+								<view v-if="item.contactPhone != null"
+									@click="call(item.contactPhone)">
+									<text class="item-text-content-phone">{{item.contactPhone}}</text>
+								</view>
+							</view>
+							<view v-if="item.orderStatus==3" class="item-button-group">
+								<view class="item-button" style="background-color:lightblue"
+									@click="onOrderReportItemClick(item.id)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" 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 :pageSize="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.type = option.type;
+			if (this.type == '1') {
+				this.query['orderClose'] = 0;
+				this.title = "全部维修任务信息";
+			} else if (this.type == '2') {
+				this.query['orderStatus'] = 1;
+				this.query['orderClose'] = 0;
+				this.title = "未确认维修任务信息";
+			} else if (this.type == '3') {
+				this.query['orderStatus'] = 2;
+				this.query['orderClose'] = 0;
+				this.title = "处理中维修任务信息";
+			} else if (this.type == '4') {
+				this.query['orderStatus'] = 3;
+				this.query['orderClose'] = 0;
+				this.title = "已处理维修任务信息";
+			}
+			let deptId = option.deptId;
+			if (null != deptId) {
+				this.query['deptId'] = deptId;
+			}
+			this.pageCurrent = 1;
+			this.getPage()
+		},
+		data() {
+			return {
+				title: '维修任务信息',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
+				type: '',
+				pageSize: 10,
+				pageCurrent: 1,
+				total: 0,
+				list: [],
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				}
+			}
+		},
+		computed: {
+
+		},
+		onShow() {
+
+		},
+		methods: {
+			//返回上一页
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			call(phone) {
+				console.log(phone)
+				uni.showModal({
+					content: '是否需要拨打[' + phone + ']?',
+					showCancel: true,
+					success(res) {
+						if (res.confirm) {
+							uni.makePhoneCall({
+								phoneNumber: phone
+							});
+						}
+					}
+				});
+			},
+			onDetailViewClick(id) {
+				let url = '/pages/check-order/orderprocessreportdetail?orderId=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			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() {}
+				})
+			},
+			onOrderReportItemClick(id) {
+				console.log("opne record ", id)
+				var url = '/pages/check-order/orderprocessreportdetail?orderId=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onManuallyCloseOrderClick(id) {
+				uni.navigateTo({
+					url: '/pages/check-order/manuallyclosecheckorder?id=' + id
+				})
+			},
+			onComfireCheckOrderClick(id) {
+				let url =
+					'/pages/check-order/orderconfirm?id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			getPage(params = {}) {
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(params, this.query);
+				let that = this;
+				http.request({
+					url: '/galaxy-business/rtu/check/order/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						that.list = res.data.records;
+					}
+					this.total = res.data.total;
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.nav-title {
+		width: 100%;
+		display: flex;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+
+		text {
+			color: white;
+			font-size: 1rem;
+		}
+	}
+
+	.container {
+		padding: 0 0 100rpx;
+	}
+</style>

+ 357 - 0
pages/check-order/completedcheckorderlist.vue

@@ -0,0 +1,357 @@
+<!--
+ * @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="查询" 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>
+			<uni-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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/order_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="loop" size="18" color="lightblue" />
+								<text class="item-text-lable">维修时长:</text>
+								<text class="item-text-content" style="color: red;">{{item.taskProcessDuration}}</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">{{item.areaName}}</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">
+									{{item.manageCompany}}
+								</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="person" size="18" color="lightblue" />
+								<text class="item-text-lable">填报人:</text>
+								<text class="item-text-content">{{item.processUserName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="phone" size="18" color="lightblue" />
+								<text class="item-text-lable">联系电话:</text>
+								<view v-if="item.processUserPhone != null" @click="call(item.processUserPhone)">
+									<text class="item-text-content-phone">{{item.processUserPhone}}</text>
+								</view>
+							</view>
+							<view class="item-button-group">
+								<view class="item-button" @click="call(item.processUserPhone)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="phone" size="18" color="coral" />
+										<text class="button-text">电话</text>
+									</view>
+								</view>
+								<view class="item-button" @click="onDetailViewClick(item.id)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" 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 :pageSize="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,
+				},
+				pageSize: 10,
+				pageCurrent: 1,
+				total: 0,
+				list: [],
+				regionTree: [],
+				regionCode: '',
+				selectedTreeNode: '',
+				searchRtuNameVal: '',
+				searchRtuCodeVal: '',
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				}
+			}
+		},
+		computed: {
+
+		},
+		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();
+
+				} else {
+					this.regionCode = '';
+					this.query = {};
+					this.searchRtuNameVal = '';
+					this.searchRtuCodeVal = '';
+					this.pageCurrent = 1;
+					this.getPage();
+
+				}
+			},
+			//录入查询
+			search() {
+				this.pageCurrent = 1;
+				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);
+					}
+				}
+			},
+			call(phone) {
+				console.log(phone)
+				uni.showModal({
+					content: '是否需要拨打[' + phone + ']?',
+					showCancel: true,
+					success(res) {
+						if (res.confirm) {
+							uni.makePhoneCall({
+								phoneNumber: phone
+							});
+						}
+					}
+				});
+			},
+			onDetailViewClick(id) {
+				let url = '/pages/check-order/orderprocessreportdetail?orderId=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			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() {}
+				})
+			},
+			onManuallyCloseOrderClick(id) {
+				uni.navigateTo({
+					url: '/pages/check-order/manuallyclosecheckorder?id=' + id
+				})
+			},
+			onComfireCheckOrderClick(id) {
+				let url =
+					'/pages/check-order/orderconfirm?id=' + 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.regionCode = that.regionTree[0].id;
+						that.selectedTreeNode = that.regionTree[0].id;
+						that.query = {};
+						that.query['adCode'] = that.regionCode;
+						that.getPage();
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			getPage(params = {}) {
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				params['orderClose'] = 1;
+				params['orderReportStatus'] = 1;
+				let postData = Object.assign(params, this.query);
+				let that = this;
+				http.request({
+					url: '/galaxy-business/rtu/check/order/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						that.list = res.data.records;
+					}
+					this.total = res.data.total;
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.nav-title {
+		width: 100%;
+		display: flex;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+
+		text {
+			color: white;
+			font-size: 1rem;
+		}
+	}
+
+	.container {
+		padding: 0 0 100rpx;
+	}
+</style>

+ 122 - 0
pages/check-order/manuallyaddcheckorder.vue

@@ -0,0 +1,122 @@
+<!--
+ * @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 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>
+		<view class="container">
+			<uni-section title="任务说明" type="circle">
+				<view style="margin-top: 20px;margin-bottom: 40px;;padding-left: 10px;padding-right: 10px;">
+					<uni-easyinput :styles="inputStyles" prefixIcon="search" v-model="orderDesc" placeholder="请输入任务说明">
+					</uni-easyinput>
+				</view>
+			</uni-section>
+			<view style="margin-top: 10px;margin-bottom: 10px;padding-left: 10px;padding-right: 10px;">
+				<button style="background-color: lightcoral;" type="default"
+					@click="onCheckOrderSubmitClick()">提交任务</button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+
+	export default {
+		components: {
+
+		},
+		onLoad(option) {
+			this.rtuCode = option.rtuCode;
+		},
+		data() {
+			return {
+				rtuCode: '',
+				orderDesc: '',
+				title: '人工添加维修任务',
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				},
+				checkOrderForm: {
+					id: '',
+					rtuName: '',
+					rtuCode: '',
+					orderDesc: '',
+				},
+				query: {}
+			}
+		},
+		computed: {
+
+		},
+		onShow() {
+
+		},
+		created() {
+
+		},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onCheckOrderSubmitClick() {
+				let that = this;
+				this.checkOrderForm['rtuCode'] = this.rtuCode;
+				this.checkOrderForm['orderDesc'] = this.orderDesc;
+				let postData = Object.assign(this.checkOrderForm, this.query);
+				http.request({
+					url: '/galaxy-business/rtu/check/order/manually',
+					method: 'POST',
+					data: postData
+				}).then(res => {
+					if (res.success) {
+						uni.showModal({
+							content: '人工派单操作已成功!',
+							showCancel: true,
+							success(res) {
+								if (res.confirm) {
+									that.toBack();
+								}
+							}
+						});
+					} else {
+						uni.showModal({
+							content: '人工派单操作失败!',
+							showCancel: true,
+							success(res) {
+
+							}
+						});
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.container {
+		padding: 0 0 150rpx;
+	}
+</style>

+ 122 - 0
pages/check-order/manuallyclosecheckorder.vue

@@ -0,0 +1,122 @@
+<!--
+ * @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 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>
+		<view class="container">
+			<uni-section title="关闭任务说明" type="circle">
+				<view style="margin-top: 20px;margin-bottom: 40px;;padding-left: 10px;padding-right: 10px;">
+					<uni-easyinput :styles="inputStyles" prefixIcon="search" v-model="orderDesc" placeholder="请输入处理意见">
+					</uni-easyinput>
+				</view>
+			</uni-section>
+			<view style="margin-top: 10px;margin-bottom: 10px;padding-left: 10px;padding-right: 10px;">
+				<button style="background-color: lightcoral;" type="default"
+					@click="onCheckOrderSubmitClick()">提交任务</button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+
+	export default {
+		components: {
+
+		},
+		onLoad(option) {
+			this.id = option.id;
+		},
+		data() {
+			return {
+				id: '',
+				orderDesc: '',
+				title: '人工关闭维修任务',
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				},
+				checkOrderForm: {
+					id: '',
+					rtuName: '',
+					rtuCode: '',
+					orderDesc: '',
+				},
+				query: {}
+			}
+		},
+		computed: {
+
+		},
+		onShow() {
+
+		},
+		created() {
+
+		},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onCheckOrderSubmitClick() {
+				let that = this;
+				this.checkOrderForm['id'] = this.id;
+				this.checkOrderForm['orderDesc'] = this.orderDesc;
+				let postData = Object.assign(this.checkOrderForm, this.query);
+				http.request({
+					url: '/galaxy-business/rtu/check/order/close',
+					method: 'POST',
+					params: postData
+				}).then(res => {
+					if (res.success) {
+						uni.showModal({
+							content: '人工关闭维修任务操作成功!',
+							showCancel: true,
+							success(res) {
+								if (res.confirm) {
+									that.toBack();
+								}
+							}
+						});
+					} else {
+						uni.showModal({
+							content: '人工关闭维修任务操作失败!',
+							showCancel: true,
+							success(res) {
+
+							}
+						});
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.container {
+		padding: 0 0 150rpx;
+	}
+</style>

+ 66 - 254
pages/check-order/mycheckorderlist.vue

@@ -1,79 +1,62 @@
+<!--
+ * @Title: 
+ * @Description: 我的维修任务列表
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
 <template>
 	<view class="wrap">
-		<uNavBar dark :fixed="true" backgroundColor="#3F9EFF" status-bar left-icon="left" left-text="返回"
+		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" status-bar 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 class="nav-title">
+				<text>{{title}}</text>
 			</view>
-		</uNavBar>
-		<!-- 	<u-gap height="75px"></u-gap> -->
+		</uni-nav-bar>
 		<view class="container">
 			<uni-list>
 				<uni-list-item v-for="item in list" :key="item.id">
-					<!-- 自定义 body -->
 					<template v-slot:body>
-						<view style="min-height: 110px;width: 100%;display: flex;flex-direction: column;">
-							<view style="display: flex;flex-direction: row;align-items: center;">
-								<image class="order-title-image" style="box-shadow:0 0 2px 2px lightblue"
-									src="/static/images/logo_app.png" mode="widthFix">
-								</image>
-								<text style="margin-left: 5px;font-size: 1rem;font-weight: bold;">{{item.rtuName}}</text>
-								<text style="margin-left: 5px;font-size: 0.9rem;">[{{item.rtuCode}}]</text>
-							</view>
-							<view style="display: flex;flex-direction: row;align-items: center; min-height: 30px;">
-								<view style="width: 40%;display: flex;flex-direction: row;align-items: center;">
-									<view style="font-size: 0.8rem;">状态:</view>
-									<view style="margin-left: 5px;font-size: 0.8rem;color: gray;">
-										{{item.orderStatusName}}</view>
-
+						<view class="list-item-block">
+							<view class="items-line">
+								<view class="block">
+									<image class="item-title-run-status-icon" style="box-shadow:0 0 2px 2px lightblue"
+										src="/static/images/list/order_item.png" mode="widthFix">
+									</image>
 								</view>
-
-								<!-- 								<view style="margin-left:10px;width:100px;font-size: 0.7rem;color:gray;">
-									{{item.processorName}}
-								</view> -->
-								<view style="font-size: 0.8rem;">更新时间:</view>
-								<view style="margin-left:5px;font-size: 0.8rem;color:gray;">{{item.createTime}}</view>
+								<text class="item-title-rtu-name">{{item.rtuName}}</text>
+								<text class="item-title-rtu-code">[{{item.rtuCode}}]</text>
 							</view>
-
-							<view style="display:flex;flex-direction:row;align-items: center;">
-								<image class="slot-image" src="/static/images/icon_warning.png" mode="widthFix">
-								</image>
-								<text style="font-size:0.8rem;padding-left: 10rpx;">{{item.orderDesc}}</text>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="loop" size="18" color="lightblue" />
+								<text class="item-text-lable">维修时长:</text>
+								<text class="item-text-content" style="color: red;">{{item.taskProcessDuration}}</text>
 							</view>
-
-							<view style="margin-top:4px;display: flex;flex-direction: row;justify-content: flex-end;">
-								<view
-									style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-									@click="toWarningPage(item.warnId)">
-									<view style="display:flex;flex-direction: column;justify-content: center;">
-										<uIcons class="input-uni-icon" type="info" size="18" color="coral" />
-									</view>
-									<view
-										style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-										<text style="color:black;font-size:0.7rem">预警信息</text>
+							<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">{{item.areaName}}</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
-									style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-									@click="toOrderReport(item.id)">
-									<view style="display:flex;flex-direction: column;justify-content: center;">
-										<uIcons class="input-uni-icon" type="compose" size="18" color="coral" />
-									</view>
-									<view
-										style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-										<text style="color:black;font-size:0.7rem">工单填报</text>
+								<view class="item-button"
+									@click="onReportDetailClick(item.id)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" size="18" color="coral" />
+										<text class="button-text">维修详情</text>
 									</view>
 								</view>
-
-								<view
-									style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-									@click="toLocation(item)">
-									<view style="display:flex;flex-direction: column;justify-content: center;">
-										<uIcons class="input-uni-icon" type="location" size="18" color="coral" />
-									</view>
-									<view
-										style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-										<text style="color:black;font-size:0.7rem">导航</text>
+								<view class="item-button" @click="onCheckOrderReportEditClick(item.id)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="compose" size="18" color="coral" />
+										<text class="button-text">维修填报</text>
 									</view>
 								</view>
 							</view>
@@ -81,58 +64,42 @@
 					</template>
 				</uni-list-item>
 			</uni-list>
-			<uGroup>
-				<view class="uni-pagination-box">
-					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
+			<uni-group>
+				<view class="pagination-block">
+					<uni-pagination show-icon :pageSize="pageSize" :current="pageCurrent" :total="total"
+						@change="pageChange" />
 				</view>
-			</uGroup>
+			</uni-group>
 		</view>
-		<u-gap height="70"></u-gap>
 	</view>
 </template>
 
 <script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
 	import http from '@/http/api.js';
 
+
 	export default {
 		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
+
 		},
 		onLoad(option) {
-			this.getOrderList();
+			this.getPage();
 		},
 		data() {
 			return {
 				list: [],
-				title: '我的工单',
+				title: '我的维修任务',
 				desc: '',
 				pageSize: 10,
 				// 当前页
 				pageCurrent: 1,
 				// 数据总量
 				total: 0,
+				query: {},
 			}
 		},
 		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
+
 		},
 		onShow() {
 
@@ -147,52 +114,44 @@
 				})
 			},
 			// 分页触发
-			change(e) {
-				//this.$refs.table.clearSelection()
-				this.selectedIndexs.length = 0
+			pageChange(e) {
 				this.pageCurrent = e.current;
-				this.getOrderList()
+				this.getPage()
 			},
-			getOrderList() {
+			getPage() {
 				const current = this.pageCurrent;
 				const size = this.pageSize;
-				const isSubmit = '0';
-
-				var that = this;
+				let that = this;
 				http.request({
-					url: '/galaxy-test/rtu/check/order/my/page',
+					url: '/galaxy-business/rtu/check/order/my/page',
 					method: 'GET',
 					params: {
 						current,
 						size,
-						isSubmit
 					},
 				}).then(res => {
 					if (res.data.records != null) {
-
 						that.list = res.data.records;
 					}
 					this.total = res.data.total;
-
 				}).catch(err => {
 					console.log(err)
 				})
-
-
 			},
-			toWarningPage(id) {
-				var url = '/pages/warning/warninginfodetail?id=' + id;
+			onCheckOrderReportEditClick(id) {
+				console.log("iddd" + id)
+				var url = '/pages/check-order/orderprocessreport?orderId=' + id;
 				uni.navigateTo({
 					url: url
 				})
 			},
-			toOrderReport(id) {
-				var url = '/pages/check-order/orderprocesslist?id=' + id;
+			onReportDetailClick(id) {
+				let url = '/pages/check-order/orderprocessreportdetail?orderId=' + id;
 				uni.navigateTo({
 					url: url
 				})
 			},
-			toLocation(item) {
+			onLocationClick(item) {
 				let lat = item.lat;
 				let lng = item.lng;
 				let name = item.rtuName;
@@ -207,51 +166,6 @@
 					}
 				})
 			},
-			getTitle(checkNo) {
-				return "问题编号:" + checkNo;
-			},
-			swipeChange(e, index) {
-				console.log('返回:', e);
-				console.log('当前索引:', index);
-			},
-			swipeClick(e, index) {
-
-			},
-			locationToHandle(id) {
-				const that = this;
-				// uni.showModal({
-				// 	content: '确定删除记录?',
-				// 	showCancel: true,
-				// 	success(res) {
-				// 		if (res.confirm) {
-				// 			var ids = id;
-
-				// 			http.request({
-				// 				url: '/blade-business/report/failure/remove',
-				// 				method: 'POST',
-				// 				params: {
-				// 					ids
-				// 				}
-				// 			}).then(res => {
-				// 				console.log(JSON.stringify(res.data))
-				// 				if (res.success) {
-				// 					uni.showModal({
-				// 						content: '删除已成功',
-				// 						showCancel: false,
-				// 						success(res) {
-				// 							if (res.confirm) {
-				// 								that.loadList();
-				// 							}
-				// 						}
-				// 					});
-				// 				}
-				// 			}).catch(err => {
-				// 				console.log(err)
-				// 			})
-				// 		}
-				// 	}
-				// });
-			}
 		}
 	}
 </script>
@@ -263,107 +177,5 @@
 </style>
 
 <style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		//margin-right: 10px;
-		width: 20px;
-		height: 20px;
-	}
 
-	.order-title-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		// margin-right: 10px;
-		width: 20px;
-		height: 20px;
-		border-radius: 50%;
-
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
 </style>

+ 320 - 0
pages/check-order/orderconfirm.vue

@@ -0,0 +1,320 @@
+<!--
+ * @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>
+			<view class="view-btn">
+				<text style="font-size: 0.6rem;color:gray;">备注:如您确认将负责处理该维修任务,请点击上方按钮,提交确认请求,开始进入维修处理流程。</text>
+			</view>
+			<uni-section title="辅助决策信息" titleFontSize="0.8rem" type="line">
+				<uni-group style="margin-top: 0px;">
+					<view class="items-line">
+						<view class="item-text-lable">测站名称:</view>
+<!-- 						<view class="item-text-content" style="color: deepskyblue;">{{orderInfo.rtuName}}</view>
+ -->					</view>
+					<view class="items-line">
+<!-- 						<view class="item-text-lable">测站名称:</view> -->
+						<view class="item-text-content"  style="margin-left: 0px;color: deepskyblue;">{{orderInfo.rtuName}}</view>
+					</view>
+					<view class="items-line line-space">
+						<view class="item-text-lable">测站编码:</view>
+<!-- 						<view class="item-text-content" style="color: deepskyblue;">{{orderInfo.rtuCode}}</view>
+ -->					</view>
+					<view class="items-line line-space">
+<!-- 						<view class="item-text-lable">测站编码:</view>
+ -->						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">{{orderInfo.rtuCode}}</view>
+					</view>
+					<view class="items-line line-space">
+						<view class="item-text-lable">行政区划:</view>
+<!-- 						<view class="item-text-content" style="color: deepskyblue;">
+							{{orderInfo.adCity}}/{{orderInfo.adDist}}</view>
+ -->					</view>
+					<view class="items-line line-space">
+<!-- 						<view class="item-text-lable">行政区划:</view>
+ -->						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">
+							{{orderInfo.adCity}}/{{orderInfo.adDist}}</view>
+					</view>
+					<view class="items-line line-space">
+						<view class="item-text-lable">经纬度:</view>
+<!-- 						<view class="item-text-content" style="color: deepskyblue;">{{orderInfo.lng}},{{orderInfo.lat}}
+						</view>
+ -->					</view>
+					<view class="items-line line-space">
+<!-- 						<view class="item-text-lable">经纬度:</view>
+ -->						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">{{orderInfo.lng}},{{orderInfo.lat}}
+						</view>
+					</view>
+					<view class="items-line line-space">
+						<view class="item-text-lable">安装位置:</view>
+<!-- 						<view class="item-text-content" style="color: deepskyblue;">{{orderInfo.locationDesc}}</view>
+ -->					</view>
+					<view class="items-line line-space">
+<!-- 						<view class="item-text-lable">安装位置:</view>
+ -->						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">{{orderInfo.locationDesc}}</view>
+					</view>
+					<view class="items-line line-space">
+						<view class="item-text-lable">测站类型:</view>
+<!-- 						<view class="item-text-content" style="color: deepskyblue;">{{getSiteKind(orderInfo)}}</view>
+ -->					</view>
+					<view class="items-line line-space">
+<!-- 						<view class="item-text-lable">测站类型:</view>
+ -->						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">{{getSiteKind(orderInfo)}}</view>
+					</view>
+					<view class="items-line line-space">
+						<view class="item-text-lable">最近上报数据:</view>
+<!-- 						<view class="item-text-content" style="color: deepskyblue;">{{getSiteData(orderInfo)}}</view>
+ -->					</view>
+					<view class="items-line line-space">
+<!-- 						<view class="item-text-lable">最近上报数据:</view>
+ -->						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">{{getSiteData(orderInfo)}}</view>
+					</view>
+					<view class="items-line line-space">
+						<view class="item-text-lable">最近上报时间:</view>
+<!-- 						<view class="item-text-content" style="color: deepskyblue;">{{orderInfo.lastUpTime}}</view>
+ -->					</view>
+					<view class="items-line line-space">
+<!-- 						<view class="item-text-lable">最近上报时间:</view>
+ -->						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">{{orderInfo.lastUpTime}}</view>
+					</view>
+					
+					<view class="items-line line-space">
+						<view class="item-text-lable">维修任务产生时间:</view>
+<!-- 						<view class="item-text-content" style="color: deepskyblue;">{{orderInfo.createTime}}</view>
+ -->					</view>
+					<view class="items-line line-space">
+<!-- 						<view class="item-text-lable">维修任务产生时间:</view>
+ -->						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">{{orderInfo.createTime}}</view>
+					</view>
+					<view class="items-line line-space">
+						<view class="item-text-lable">维修任务持续时长:</view>
+<!-- 						<view class="item-text-content" style="color: deepskyblue;">{{orderInfo.taskCreateDuration}}
+						</view>
+ -->					</view>
+					<view class="items-line line-space">
+<!-- 						<view class="item-text-lable">维修任务持续时长:</view>
+ -->						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">{{orderInfo.taskCreateDuration}}
+						</view>
+					</view>
+					<view class="items-line line-space">
+						<view class="item-text-lable">异常类型:</view>
+<!-- 						<view class="item-text-content" style="color: deepskyblue;">
+							{{orderInfo.warnKindInfo}}</view>
+ -->					</view>
+					<view class="items-line line-space">
+<!-- 						<view class="item-text-lable">异常类型:</view>
+ -->						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">
+							{{orderInfo.warnKindInfo}}</view>
+					</view>
+					<view class="items-line line-space">
+						<view class="title">异常信息:</view>
+					</view>
+					<view class="items-line">
+						<view class="item-text-content" style="margin-left: 0px;color: deepskyblue;">
+							{{orderInfo.orderDesc}}</view>
+					</view>
+				</uni-group>
+			</uni-section>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+
+	export default {
+		components: {
+
+		},
+		onLoad(option) {
+			this.id = option.id;
+			this.getDetail();
+		},
+		data() {
+			return {
+				title: '维修任务确认处理',
+				id: '',
+				orderInfo: {
+					'id': 0,
+					'updateTime': '',
+					'orderDesc': '',
+					'orderConfirm': 0,
+				},
+			}
+		},
+		computed: {
+		},
+		onShow() {
+		},
+		created() {
+		},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			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;
+			},
+			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.z) {
+						htmltext = htmltext + val.z;
+					} else {
+						htmltext = htmltext + "--";
+					}
+				} else if (val.isRes == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '水位:';
+					if (val.rz) {
+						htmltext = htmltext + val.rz;
+					} 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;
+			},
+			getDetail() {
+				let that = this;
+				let postData = {};
+				postData['id'] = this.id;
+				http.request({
+					url: '/galaxy-business/rtu/check/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.id;
+							http.request({
+								url: '/galaxy-business/rtu/check/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;
+	}
+</style>

+ 145 - 0
pages/check-order/orderprocesschange.vue

@@ -0,0 +1,145 @@
+<!--
+ * @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="当前负责人" type="circle">
+				<uni-group>
+					<view>{{contactUserName}}</view>
+				</uni-group>
+			</uni-section>
+			<uni-section title="指派给" type="circle">
+				<uni-group>
+					<uni-data-select v-model="selectedPersonId" :localdata="servicePersonList" @change="selectChange"
+						placeholder="请选择运维人员">
+					</uni-data-select>
+				</uni-group>
+			</uni-section>
+			<view class="view-btn">
+				<button style="background-color: lightcoral;" type="default" @click="toOrderChange()">确认转派</button>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+
+
+	export default {
+		components: {
+
+		},
+		onLoad(option) {
+			this.orderId = option.orderId;
+			this.contactUserName = option.contactUserName;
+			this.getServicePersonList();
+		},
+		data() {
+			return {
+				orderId: '',
+				contactUserName: '',
+				selectedPersonId: '',
+				servicePersonList: [],
+				title: '维修任务转派',
+				desc: '',
+			}
+		},
+		computed: {
+		},
+		onShow() {
+		},
+		created() {
+		},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			selectChange(e) {
+			},
+			getServicePersonList() {
+				let that = this;
+				http.request({
+					url: '/galaxy-business/serviceperson/list',
+					method: 'GET',
+				}).then(res => {
+					//console.log("list " + JSON.stringify(res))
+					if (res.success) {
+						let persons = res.data.map(function(item) {
+							let person = {};
+							person['value'] = item.id;
+							person['text'] = item.realName;
+							return person;
+						})
+						that.servicePersonList = persons;
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			toOrderChange() {
+				let that = this;
+				var postData = {};
+				postData['id'] = '' + this.orderId;
+				postData['servicePersonId'] = '' + this.selectedPersonId;
+				//console.log(postData)
+				http.request({
+					url: '/galaxy-business/rtu/check/order/change',
+					method: 'POST',
+					data: postData
+				}).then(res => {
+					if (res.success) {
+						uni.showModal({
+							content: '任务指派操作已成功!',
+							showCancel: true,
+							success(res) {
+								if (res.confirm) {
+									that.toBack();
+								}
+							}
+						});
+					} else {
+						uni.showModal({
+							content: '任务指派操作失败!',
+							showCancel: true,
+							success(res) {
+
+							}
+						});
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.view-btn {
+		margin-top: 10px;
+		margin-bottom: 10px;
+		padding-left: 10px;
+		padding-right: 10px;
+	}
+</style>

+ 0 - 297
pages/check-order/orderprocesslist.vue

@@ -1,297 +0,0 @@
-<template>
-	<view class="wrap">
-		<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>
-		<!-- 	<u-gap height="75px"></u-gap> -->
-		<view class="container">
-			<uSection title="工单信息" titleFontSize="0.8rem" type="line">
-				<view style="width: 100%;padding-left: 10px;padding-right: 10px;">
-					<view style="display: flex;flex-direction: row;align-items: center;">
-						<view style="font-size: 0.7rem;">报单时间:</view>
-						<view style="margin-left: 5px;font-size: 0.7rem;">{{orderInfo.createTime}}</view>
-					</view>
-					<view style="margin-top: 5px;display: flex;flex-direction: row;align-items: center;">
-						<view style="font-size: 0.7rem;">工单说明:</view>
-						<view style="margin-left: 5px;font-size: 0.7rem;">{{orderInfo.orderDesc}}</view>
-					</view>
-					<view style="margin-top: 10px;padding-left: 0px;padding-right: 0px;">
-						<button style="background-color: lightblue;"  type="default"
-							@click="toOrderProcessReport()">开始填报</button>
-					</view>
-				</view>
-			</uSection>
-			<uSection title="工单填报记录" titleFontSize="0.8rem" type="line">
-				<uList>
-					<uni-list-item v-for="item in list" :key="item.id" showArrow="right" clickable
-						@click="toOrderProcessDetail(item.id)">
-						<!-- 自定义 body -->
-						<template v-slot:body>
-							<view style="width: 100%;display: flex;flex-direction: column;">
-								<view
-									style="width: 100%;display: flex;flex-direction: row;align-items: center;">
-									<uIcons class="input-uni-icon" type="info" size="18" color="coral" />
-									<text style="margin-left: 5px;font-size: 0.8rem;">{{item.processDesc}}
-									</text>
-								</view>
-								<view style="margin-top: 4px;display: flex;flex-direction: row;align-items: center;">
-									<view style="font-size: 0.7rem;color: olivedrab;">{{item.orderStatusName}}</view>
-									<view style="margin-left:10px;font-size: 0.7rem;color:black;">{{item.createTime}}
-									</view>
-								</view>
-							</view>
-						</template>
-					</uni-list-item>
-				</uList>
-				<uGroup>
-					<view class="uni-pagination-box">
-						<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-							@change="change" />
-					</view>
-				</uGroup>
-			</uSection>
-		</view>
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import http from '@/http/api.js';
-
-	export default {
-		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-			uSection,
-		},
-		onLoad(option) {
-			console.log(option.id);
-			this.orderId = option.id;
-
-			//this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
-
-		},
-		data() {
-			return {
-				orderId: 0,
-				orderInfo: {
-					'id': 0,
-					'updateTime': '',
-					'orderDesc': ''
-				},
-				list: [],
-				title: '工单填报管理',
-				desc: '',
-				pageSize: 10,
-				// 当前页
-				pageCurrent: 1,
-				// 数据总量
-				total: 0,
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			// uni.setNavigationBarTitle({
-			// 	title: "工单处理管理"
-			// });
-			this.getOrderInfo();
-			this.getOrderProcessList();
-		},
-		created() {
-
-		},
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			// 分页触发
-			change(e) {
-				//this.$refs.table.clearSelection()
-				this.selectedIndexs.length = 0
-				this.pageCurrent = e.current;
-				this.getOrderList()
-			},
-			getOrderInfo() {
-				var that = this;
-				var postData = {};
-				postData['id'] = this.orderId;
-				http.request({
-					url: '/galaxy-test/rtu/check/order/detail',
-					method: 'GET',
-					data: postData
-				}).then(res => {
-					console.log(res)
-					if (res.data != null) {
-						that.orderInfo = res.data;
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			getOrderProcessList() {
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				const isSubmit = '0';
-				var that = this;
-				var postData = {};
-				postData['id'] = this.orderId;
-				http.request({
-					url: '/galaxy-test/rtu/check/order/process/page',
-					method: 'GET',
-					data: postData,
-					params: {
-						current,
-						size,
-						isSubmit
-					}
-				}).then(res => {
-					if (res.data.records != null) {
-						that.list = res.data.records;
-					}
-					this.total = res.data.total;
-
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			toOrderProcessReport() {
-				var url = '/pages/check-order/orderprocessreport?orderId=' + this.orderId;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toOrderProcessDetail(id) {
-				console.log("opne record ", id)
-				var url = '/pages/check-order/orderprocessreportdetail?processId=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

+ 0 - 234
pages/check-order/orderprocessrecord.vue

@@ -1,234 +0,0 @@
-<template>
-	<view class="wrap">
-		<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>
-		<view class="container">
-			<uList>
-				<uni-list-item v-for="item in list" :key="item.id" showArrow="right" clickable
-					@click="toOrderProcessDetail(item.id)">
-					<template v-slot:body>
-						<view style="width: 100%;display: flex;flex-direction: column;">
-							<view style="width: 100%;display: flex;flex-direction: row;align-items: center;">
-								<uIcons class="input-uni-icon" type="info" size="18" color="coral" />
-								<text style="margin-left: 5px;font-size: 0.8rem;">{{item.processDesc}}
-								</text>
-							</view>
-							<view style="margin-top: 4px;display: flex;flex-direction: row;align-items: center;">
-								<view style="font-size: 0.7rem;color: olivedrab;">{{item.orderStatusName}}</view>
-								<view style="margin-left:10px;font-size: 0.7rem;color:black;">{{item.createTime}}
-								</view>
-							</view>
-						</view>
-					</template>
-				</uni-list-item>
-			</uList>
-			<uGroup>
-				<view class="uni-pagination-box">
-					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
-				</view>
-			</uGroup>
-		</view>
-	</view>
-</template>
-
-<script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import http from '@/http/api.js';
-
-	export default {
-		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-			uSection,
-		},
-		onLoad(option) {
-			console.log(option.id);
-			this.orderId = option.id;
-		},
-		data() {
-			return {
-				orderId: 0,
-				list: [],
-				title: '工单填报记录',
-				desc: '',
-				pageSize: 10,
-				// 当前页
-				pageCurrent: 1,
-				// 数据总量
-				total: 0,
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			this.getOrderProcessList();
-		},
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			// 分页触发
-			change(e) {
-				//this.$refs.table.clearSelection()
-				this.selectedIndexs.length = 0
-				this.pageCurrent = e.current;
-				this.getOrderProcessList()
-			},
-			getOrderProcessList() {
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				const isSubmit = '0';
-				var that = this;
-				var postData = {};
-				postData['id'] = this.orderId;
-				http.request({
-					url: '/galaxy-test/rtu/check/order/process/page',
-					method: 'GET',
-					data: postData,
-					params: {
-						current,
-						size,
-						isSubmit
-					}
-				}).then(res => {
-					if (res.data.records != null) {
-						that.list = res.data.records;
-					}
-					this.total = res.data.total;
-
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			toOrderProcessDetail(id) {
-				console.log("opne record ", id)
-				var url = '/pages/check-order/orderprocessreportdetail?processId=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-		}
-	}
-</script>
-
-<style>
-
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

Разница между файлами не показана из-за своего большого размера
+ 522 - 393
pages/check-order/orderprocessreport.vue


+ 199 - 381
pages/check-order/orderprocessreportdetail.vue

@@ -1,272 +1,244 @@
+<!--
+ * @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;">
+			<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>
-		<view v-if="reportInfo.orderStatusKey==orderStatusCreateKey">
-			<uSection title="工单说明" titleFontSize="0.8rem" type="line">
-				<uCard :is-shadow="false">
-					<text class="uni-body">{{reportInfo.processDesc}}</text>
-				</uCard>
-			</uSection>
-			<uSection title="工单来源" titleFontSize="0.8rem" type="line">
-				<uCard :is-shadow="false">
-					<text class="uni-body">{{reportInfo.orderFromText}}</text>
-				</uCard>
-			</uSection>
-		</view>
-		<view v-else-if="reportInfo.orderStatusKey==orderStatusConfirmKey">
-			<uSection title="工单说明" titleFontSize="0.8rem" type="line">
-				<uCard :is-shadow="false">
-					<text class="uni-body">{{reportInfo.processDesc}}</text>
-				</uCard>
-			</uSection>
-			<uSection title="接单运维人员姓名" titleFontSize="0.8rem" type="line">
-				<uCard :is-shadow="false">
-					<text class="uni-body">{{reportInfo.orderConfirmUserName}}</text>
-				</uCard>
-			</uSection>
-		</view>
-		<view v-else-if="reportInfo.orderStatusKey==orderStatusProcessKey">
-			<uSection title="工单说明" titleFontSize="0.8rem" type="line">
-				<uCard :is-shadow="false">
-					<text class="uni-body">{{reportInfo.processDesc}}</text>
-				</uCard>
-				<uCard v-if="reportInfo.basePhoto1Take ==1" padding="0" spacing="0" :is-shadow="false">
+		<uni-section v-for="item in list" :key="item.id" :title="item.createTime" type="circle">
+			<view v-if="item.orderStatusKey==orderStatusCreateKey">
+				<uni-card title="维修任务创建" :is-shadow="false">
+					<text class="uni-body">{{item.processDesc}}</text>
+				</uni-card>
+			</view>
+			<view v-else-if="item.orderStatusKey==orderStatusConfirmKey">
+				<uni-card title="维修任务确认" :is-shadow="false">
+					<view class="uni-body">{{item.processDesc}}</view>
+				</uni-card>
+			</view>
+			<view v-else-if="item.orderStatusKey==orderStatusProcessKey">
+				<uni-card title="填报人姓名" :is-shadow="false">
+					<view class="uni-body">{{item.orderProcessUserName}}</view>
+				</uni-card>
+				<uni-card title="RTU设备运行状态" :is-shadow="false">
+					<text v-if="item.rtuStatus == 0" style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
+					<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
+				</uni-card>
+				<uni-card title="是否更换RTU" :is-shadow="false">
+					<text v-if="item.rtuReplace==0" class="uni-body">否</text>
+					<text v-else class="uni-body">更换</text>
+				</uni-card>
+				<uni-card title="RTU设备维修说明" :is-shadow="false">
+					<text class="uni-body">{{item.rtuDesc}}</text>
+				</uni-card>
+				<uni-card v-if="item.rtuPhotoTake==1" padding="0" spacing="0" :is-shadow="false">
 					<template v-slot:cover>
 						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.basePhoto1Url)">
+							<image v-if="item.rtuPhotoUrl" class="cover-image" style="width: 100%;" mode="aspectFill"
+								:src="toOss(item.rtuPhotoUrl)">
 							</image>
 							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">图片一</text>
+								<text class="uni-subtitle uni-white" style="color: gray;">RTU设备照片</text>
 							</view>
 						</view>
 					</template>
-				</uCard>
-				<uCard v-if="reportInfo.basePhoto2Take" padding="0" spacing="0" :is-shadow="false">
-					<template v-slot:cover>
-						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.basePhoto2Url)">
-							</image>
-							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">图片二</text>
+				</uni-card>
+				<view v-if="item.isRain ==1">
+					<uni-card title="雨量传感器运行状态" :is-shadow="false">
+						<text v-if="item.rainSensorStatus == 0"
+							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
+						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
+					</uni-card>
+					<uni-card title="是否更换雨量传感器" :is-shadow="false">
+						<text v-if="item.rainSensorReplace==0" class="uni-body">否</text>
+						<text v-else class="uni-body">更换</text>
+					</uni-card>
+					<uni-card title="雨量传感器维修说明" :is-shadow="false">
+						<text class="uni-body">{{item.rainSensorDesc}}</text>
+					</uni-card>
+					<uni-card v-if="item.rainSensorPhotoTake==1" padding="0" spacing="0" :is-shadow="false">
+						<template v-slot:cover>
+							<view class="custom-cover">
+								<image v-if="item.rainSensorPhotoUrl" class="cover-image" style="width: 100%;"
+									mode="aspectFill" :src="toOss(item.rainSensorPhotoUrl)">
+								</image>
+								<view class="cover-content" style="text-align: center;">
+									<text class="uni-subtitle uni-white" style="color: gray;">雨量传感器照片</text>
+								</view>
 							</view>
-						</view>
-					</template>
-				</uCard>
-			</uSection>
-			<uSection title="RTU设备信息" titleFontSize="0.8rem" type="line">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;">运行状态:</text>
-						<text v-if="reportInfo.rtuStatus == 0"
+						</template>
+					</uni-card>
+				</view>
+				<view v-if="item.isRiver ==1 || item.isRes ==1 ">
+					<uni-card title="水位传感器运行状态" :is-shadow="false">
+						<text v-if="item.waterLevelSensorStatus == 0"
 							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
 						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-
-				<uCard title="是否更换RTU" :is-shadow="false">
-					<text v-if="reportInfo.rtuReplace==0" class="uni-body">否</text>
+					</uni-card>
+					<uni-card title="是否更换水位传感器" :is-shadow="false">
+						<text v-if="item.waterSensorReplace==0" class="uni-body">否</text>
+						<text v-else class="uni-body">更换</text>
+					</uni-card>
+					<uni-card title="水位传感器维修说明" :is-shadow="false">
+						<text class="uni-body">{{item.waterSensorDesc}}</text>
+					</uni-card>
+					<uni-card v-if="item.waterSensorPhotoTake==1" padding="0" spacing="0" :is-shadow="false">
+						<template v-slot:cover>
+							<view class="custom-cover">
+								<image v-if="item.waterSensorPhotoUrl" class="cover-image" style="width: 100%;"
+									mode="aspectFill" :src="toOss(item.waterSensorPhotoUrl)">
+								</image>
+								<view class="cover-content" style="text-align: center;">
+									<text class="uni-subtitle uni-white" style="color: gray;">水位传感器照片</text>
+								</view>
+							</view>
+						</template>
+					</uni-card>
+				</view>
+				<view v-if="item.isGround ==1">
+					<uni-card title="墒情传感器运行状态" :is-shadow="false">
+						<text v-if="item.groundWaterSensorStatus == 0"
+							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
+						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
+					</uni-card>
+					<uni-card title="是否更换墒情传感器" :is-shadow="false">
+						<text v-if="item.groundSensorReplace==0" class="uni-body">否</text>
+						<text v-else class="uni-body">更换</text>
+					</uni-card>
+					<uni-card title="墒情传感器维修说明" :is-shadow="false">
+						<text class="uni-body">{{item.groundSensorDesc}}</text>
+					</uni-card>
+					<uni-card v-if="item.groundSensorPhotoTake==1" padding="0" spacing="0" :is-shadow="false">
+						<template v-slot:cover>
+							<view class="custom-cover">
+								<image v-if="item.groundSensorPhotoUrl" class="cover-image" style="width: 100%;"
+									mode="aspectFill" :src="toOss(item.groundSensorPhotoUrl)">
+								</image>
+								<view class="cover-content" style="text-align: center;">
+									<text class="uni-subtitle uni-white" style="color: gray;">墒情传感器照片</text>
+								</view>
+							</view>
+						</template>
+					</uni-card>
+				</view>
+				<uni-card title="供电系统运行状态" :is-shadow="false">
+					<text v-if="item.powerStatus == 0"
+						style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
+					<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
+				</uni-card>
+				<uni-card title="是否更换蓄电池" :is-shadow="false">
+					<text v-if="item.batteryReplace==0" class="uni-body">否</text>
 					<text v-else class="uni-body">更换</text>
-				</uCard>
-
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.rtuDesc}}</text>
-				</uCard>
-				<uCard v-if="reportInfo.rtuPhotoTake" padding="0" spacing="0" :is-shadow="false">
+				</uni-card>
+				<uni-card title="是否更换太阳能板" :is-shadow="false">
+					<text v-if="item.sunPowerReplace==0" class="uni-body">否</text>
+					<text v-else class="uni-body">更换</text>
+				</uni-card>
+				<uni-card title="供电系统维修说明" :is-shadow="false">
+					<text class="uni-body">{{item.powerDesc}}</text>
+				</uni-card>
+				<uni-card v-if="item.batteryPhotoTake==1" padding="0" spacing="0" :is-shadow="false">
 					<template v-slot:cover>
 						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.rtuPhotoUrl)">
+							<image v-if="item.batteryPhotoUrl" class="cover-image" style="width: 100%;"
+								mode="aspectFill" :src="toOss(item.batteryPhotoUrl)">
 							</image>
 							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">RTU图片</text>
+								<text class="uni-subtitle uni-white" style="color: gray;">蓄电池照片</text>
 							</view>
 						</view>
 					</template>
-				</uCard>
-			</uSection>
-
-			<!-- 			<uSection v-if="reportInfo.rainSensorActive ==1" title="雨量传感器" titleFontSize="0.8rem" type="line"> -->
-			<uSection title="雨量传感器" titleFontSize="0.8rem" type="line">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;">运行状态:</text>
-						<text v-if="reportInfo.rainSensorStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="是否更换雨量传感器" :is-shadow="false">
-					<text v-if="reportInfo.rainSensorReplace==0" class="uni-body">否</text>
-					<text v-else class="uni-body">更换</text>
-				</uCard>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.rainSensorDesc}}</text>
-				</uCard>
-				<uCard v-if="reportInfo.rainSensorPhotoTake" padding="0" spacing="0" :is-shadow="false">
+				</uni-card>
+				<uni-card v-if="item.sunPhotoTake==1" padding="0" spacing="0" :is-shadow="false">
 					<template v-slot:cover>
 						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.rainSensorPhotoUrl)">
+							<image v-if="item.sunPhotoUrl" class="cover-image" style="width: 100%;" mode="aspectFill"
+								:src="toOss(item.sunPhotoUrl)">
 							</image>
 							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">雨量传感器图片</text>
+								<text class="uni-subtitle uni-white" style="color: gray;">太阳能板照片</text>
 							</view>
 						</view>
 					</template>
-				</uCard>
-			</uSection>
-			<!-- 			<uSection v-if="reportInfo.waterLevelSensorActive ==1" title="水位传感器" titleFontSize="0.8rem" type="line"> -->
-			<uSection title="水位传感器" titleFontSize="0.8rem" type="line">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;">运行状态:</text>
-						<text v-if="reportInfo.waterLevelSensorStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="是否更换水位传感器" :is-shadow="false">
-					<text v-if="reportInfo.waterSensorReplace==0" class="uni-body">否</text>
-					<text v-else class="uni-body">更换</text>
-				</uCard>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.waterSensorDesc}}</text>
-				</uCard>
-				<uCard v-if="reportInfo.waterSensorPhotoTake" padding="0" spacing="0" :is-shadow="false">
+				</uni-card>
+				<uni-card title="是否欠费" :is-shadow="false">
+					<text v-if="item.networkOverdue==0" class="uni-body">否</text>
+					<text v-else class="uni-body">欠费</text>
+				</uni-card>
+				
+				<uni-card v-if="item.isSatellite ==0" title="4G移动网络维修说明" :is-shadow="false">
+					<text class="uni-body">{{item.networkDesc}}</text>
+				</uni-card>
+				<uni-card v-else title="北斗通讯维修说明" :is-shadow="false">
+					<text class="uni-body">{{item.satelliteDesc}}</text>
+				</uni-card>
+				<uni-card title="维修总结说明" :is-shadow="false">
+					<text class="uni-body">{{item.processDesc}}</text>
+				</uni-card>
+				<uni-card v-if="item.baseBeforePhoto1Take ==1" padding="0" spacing="0" :is-shadow="false">
 					<template v-slot:cover>
 						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.waterSensorPhotoUrl)">
+							<image v-if="item.baseBeforePhoto1Url" class="cover-image" style="width: 100%;"
+								mode="aspectFill" :src="toOss(item.baseBeforePhoto1Url)">
 							</image>
 							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">水位传感器图片</text>
+								<text class="uni-subtitle uni-white" style="color: gray;">维修前照片一</text>
 							</view>
 						</view>
 					</template>
-				</uCard>
-			</uSection>
-			<uSection title="墒情传感器" titleFontSize="0.8rem" type="line">
-				<!-- 	<uSection v-if="reportInfo.groundWaterSensorActive ==1" title="墒情传感器" titleFontSize="0.8rem" type="line"> -->
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;">运行状态:</text>
-						<text v-if="reportInfo.groundWaterSensorStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="是否更换墒情传感器" :is-shadow="false">
-					<text v-if="reportInfo.groundSensorReplace==0" class="uni-body">否</text>
-					<text v-else class="uni-body">更换</text>
-				</uCard>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.groundSensorDesc}}</text>
-				</uCard>
-				<uCard v-if="reportInfo.groundSensorPhotoTake" padding="0" spacing="0" :is-shadow="false">
+				</uni-card>
+				<uni-card v-if="item.baseBeforePhoto2Take==1" padding="0" spacing="0" :is-shadow="false">
 					<template v-slot:cover>
 						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.groundSensorPhotoUrl)">
+							<image v-if="item.baseBeforePhoto2Url" class="cover-image" style="width: 100%;"
+								mode="aspectFill" :src="toOss(item.baseBeforePhoto2Url)">
 							</image>
 							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">墒情传感器图片</text>
+								<text class="uni-subtitle uni-white" style="color: gray;">维修前照片二</text>
 							</view>
 						</view>
 					</template>
-				</uCard>
-			</uSection>
-			<uSection title="供电系统" titleFontSize="0.8rem" type="line">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;">运行状态:</text>
-						<text v-if="reportInfo.powerStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="是否更换蓄电池" :is-shadow="false">
-					<text v-if="reportInfo.batteryReplace==0" class="uni-body">否</text>
-					<text v-else class="uni-body">更换</text>
-				</uCard>
-				<uCard title="是否更换太阳能板" :is-shadow="false">
-					<text v-if="reportInfo.sunPowerReplace==0" class="uni-body">否</text>
-					<text v-else class="uni-body">更换</text>
-				</uCard>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.powerDesc}}</text>
-				</uCard>
-				<uCard v-if="reportInfo.batteryPhotoTake" padding="0" spacing="0" :is-shadow="false">
+				</uni-card>
+				<uni-card v-if="item.baseAfterPhoto1Take ==1" padding="0" spacing="0" :is-shadow="false">
 					<template v-slot:cover>
 						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.batteryPhotoUrl)">
+							<image v-if="item.baseAfterPhoto1Url" class="cover-image" style="width: 100%;"
+								mode="aspectFill" :src="toOss(item.baseAfterPhoto1Url)">
 							</image>
 							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">蓄电池图片</text>
+								<text class="uni-subtitle uni-white" style="color: gray;">维修后照片一</text>
 							</view>
 						</view>
 					</template>
-				</uCard>
-				<uCard v-if="reportInfo.sunPhotoTake" padding="0" spacing="0" :is-shadow="false">
+				</uni-card>
+				<uni-card v-if="item.baseAfterPhoto2Take==1" padding="0" spacing="0" :is-shadow="false">
 					<template v-slot:cover>
 						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.sunPhotoUrl)">
+							<image v-if="item.baseAfterPhoto2Url" class="cover-image" style="width: 100%;"
+								mode="aspectFill" :src="toOss(item.baseAfterPhoto2Url)">
 							</image>
 							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">太阳能板图片</text>
+								<text class="uni-subtitle uni-white" style="color: gray;">维修后照片二</text>
 							</view>
 						</view>
 					</template>
-				</uCard>
-			</uSection>
-			<!-- 			<uSection v-if="reportInfo.networkActive ==1" title="4G移动网络" titleFontSize="0.8rem" type="line"> -->
-			<uSection title="4G移动网络" titleFontSize="0.8rem" type="line">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;">运行状态:</text>
-						<text v-if="reportInfo.networkStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="是否欠费" :is-shadow="false">
-					<text v-if="reportInfo.networkOverdue==0" class="uni-body">否</text>
-					<text v-else class="uni-body">欠费</text>
-				</uCard>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.networkDesc}}</text>
-				</uCard>
-			</uSection>
-			<!-- 			<uSection v-if="reportInfo.satelliteActive ==1" title="北斗通讯" titleFontSize="0.8rem" type="line"> -->
-			<uSection title="北斗通讯" titleFontSize="0.8rem" type="line">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;color: gray;">运行状态:</text>
-						<text v-if="reportInfo.satelliteStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.satelliteDesc}}</text>
-				</uCard>
-			</uSection>
-		</view>
-		<view v-else>
-			<uSection title="工单说明" titleFontSize="0.8rem" type="line">
-				<uCard :is-shadow="false">
-					<text class="uni-body">{{reportInfo.processDesc}}</text>
-				</uCard>
-			</uSection>
-		</view>
+				</uni-card>
+			</view>
+			<view v-else>
+				<uni-card title="维修完成" :is-shadow="false">
+					<view class="uni-body">{{item.processDesc}}</view>
+				</uni-card>
+			</view>
+		</uni-section>
 	</view>
 </template>
 
@@ -282,121 +254,28 @@
 		prodUrl
 	} from '@/common/setting';
 
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import uCard from '@/uni_modules/uni-card/components/uni-card/uni-card.vue'
 	export default {
-		components: {
-			uNavBar,
-			uDataPicker,
-			uPagination,
-			uBreadcrumb,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-			uSection,
-			uCard,
-		},
+		components: {},
 		onLoad(options) {
-			this.processId = options.processId;
-			//this.rtuCode = options.rtuCode;
-			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
-			//初始化巡检填报字典
-			this.getReportDict();
-			//查询计划信息
-			//this.getPlanInfo();
-			//this.getReportInfo();
+			this.orderId = options.orderId;
 		},
 		data() {
 			return {
-				baseURL: '',
+				list: [],
+				orderId: 0,
 				reportId: 0,
 				orderStatusCreateKey: 0,
 				orderStatusConfirmKey: 0,
 				orderStatusProcessKey: 0,
 				orderStatusCloseKey: 0,
-				reportInfo: {
-					orderStatusKey: -1,
-					orderConfirmUserName: '',
-					orderFromText: '',
-					processDesc: '测试测试',
-					basePhoto1Url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					basePhoto1Take: true,
-					basePhoto2Url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					basePhoto2Take: true,
-
-					rtuStatus: 0,
-					rtuDesc: '测试测试',
-					rtuReplace: 1,
-					rtuPhotoUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					rtuPhotoTake: true,
-
-					rainSensorActive: 1,
-					rainSensorStatus: 0,
-					rainSensorDesc: '测试测试',
-					rainSensorReplace: 0,
-					rainSensorPhotoUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					rainSensorPhotoTake: true,
-
-
-					waterSensorReplace: 0,
-					waterSensorDesc: '测试测试',
-					waterSensorPhotoUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					waterSensorPhotoTake: true,
-					waterLevelSensorActive: 1,
-					waterLevelSensorStatus: 1,
-
-
-					groundSensorReplace: 0,
-					groundSensorDesc: '测试测试',
-					groundSensorPhotoUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					groundSensorPhotoTake: true,
-					groundWaterSensorActive: 1,
-					groundWaterSensorStatus: 0,
-
-					batteryReplace: 0,
-					sunPowerReplace: 0,
-					batteryPhotoUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					batteryPhotoTake: true,
-					sunPhotoUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					sunPhotoTake: true,
-					powerDesc: '测试测试',
-					powerStatus: 0,
-
-					networkOverdue: 1,
-					networkDesc: '111',
-					networkStatus: 0,
-					networkActive: 1,
-
-					satelliteStatus: 0,
-					satelliteDesc: '测试测试',
-					satelliteActive: 0,
-				},
-				title: '工单填报详情',
-				desc: '',
+				title: '维修任务处理详情',
 			}
 		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
+		computed: {},
 		onShow() {
-
-		},
-		created() {
-
+			this.getReportDict();
 		},
+		created() {},
 		methods: {
 			toOss(path) {
 				return oss + path;
@@ -406,32 +285,12 @@
 					delta: 1
 				})
 			},
-			dateFormat(dt) {
-				var text = "" + dt.getFullYear();
-				text += "-";
-				text += ((dt.getMonth() + 1) < 10) ? ("0" + (dt.getMonth() + 1)) : (dt
-					.getMonth() +
-					1);
-				text += "-";
-				text += dt.getDate() < 10 ? "0" + dt.getDate() : dt.getDate();
-				text += " ";
-				text += dt.getHours() < 10 ? "0" + dt.getHours() : dt.getHours();
-				text += ":";
-				text += dt.getMinutes() < 10 ? "0" + dt.getMinutes() : dt.getMinutes();
-				text += ":";
-				text += dt.getSeconds() < 10 ? "0" + dt.getSeconds() : dt.getSeconds();
-				return text;
-			},
 			getReportDict() {
-
 				var that = this;
-				//查询北斗模式
-
 				http.request({
 					url: '/galaxy-system/dict-biz/dictionary?code=rtu_check_order_status',
 					method: 'GET'
 				}).then(res => {
-					console.log(res.data)
 					if (res.data != null) {
 						const dictLength = res.data['length'];
 						for (var i = 0; i < dictLength; i++) {
@@ -445,30 +304,24 @@
 							} else if (dict.dictKey === '4') {
 								that.orderStatusCloseKey = dict.id;
 							}
-
 						}
-
-						that.getReportInfo();
+						this.getOrderProcessList();
 					}
-
 				}).catch(err => {
 					console.log(err)
 				})
 			},
-			getReportInfo() {
-				var that = this;
-				var postData = {};
-				postData['id'] = this.processId;
-				console.log("processId ", this.processId);
+			getOrderProcessList() {
+				let that = this;
+				let postData = {};
+				postData['id'] = this.orderId;
 				http.request({
-					url: '/galaxy-test/rtu/check/order/process/detail',
+					url: '/galaxy-business/rtu/check/order/process/list',
 					method: 'GET',
-					data: postData
+					data: postData,
 				}).then(res => {
-					console.log(res.data)
 					if (res.data != null) {
-						that.reportInfo = res.data;
-						//that.reportInfo.orderStatusKey=res.data.orderStatusKey;
+						that.list = res.data;
 					}
 				}).catch(err => {
 					console.log(err)
@@ -558,37 +411,7 @@
 	}
 
 	.uni-body {
-		font-size: 0.8rem;
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
+		font-size: 0.7rem;
 	}
 
 	.img-container {
@@ -647,9 +470,4 @@
 			}
 		}
 	}
-
-	.input-body {
-		background-color: #fff;
-		padding: 10px;
-	}
-</style>
+</style>

+ 186 - 0
pages/check-order/processcheckorderlistview.vue

@@ -0,0 +1,186 @@
+<!--
+ * @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-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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/order_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="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">维修时长:</text>
+								<text class="item-text-content" style="color: red;">{{item.taskProcessDuration}}</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">{{item.areaName}}</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">
+									{{item.manageCompany}}
+								</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="auth" size="18" color="lightblue" />
+								<text class="item-text-lable">处理人:</text>
+								<text class="item-text-content">{{item.contactUserName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="phone" size="18" color="lightblue" />
+								<text class="item-text-lable">联系电话:</text>
+								<view v-if="item.contactPhone != null" @click="call(item.contactPhone)">
+									<text class="item-text-content-phone">{{item.contactPhone}}</text>
+								</view>
+							</view>
+							<view class="item-button-group">
+								<view class="item-button" @click="call(item.contactPhone)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="phone" 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 :pageSize="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.query = {};
+			this.query['orderStatus'] = 2;
+			this.query['orderConfirm'] = 1;
+			this.query['orderClose'] = 0;
+			this.pageCurrent = 1;
+			this.getPage()
+		},
+		data() {
+			return {
+				title: '处理中维修任务信息',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
+				pageSize: 10,
+				pageCurrent: 1,
+				total: 0,
+				list: [],
+				query: {},
+			}
+		},
+		computed: {
+		},
+		onShow() {
+		},
+		methods: {
+			//返回上一页
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			call(phone) {
+				console.log(phone)
+				uni.showModal({
+					content: '是否需要拨打[' + phone + ']?',
+					showCancel: true,
+					success(res) {
+						if (res.confirm) {
+							uni.makePhoneCall({
+								phoneNumber: phone
+							});
+						}
+					}
+				});
+			},
+			getPage(params = {}) {
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(params, this.query);
+				let that = this;
+				http.request({
+					url: '/galaxy-business/rtu/check/order/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						console.log(JSON.stringify(res.data.records))
+						that.list = res.data.records;
+					}
+					this.total = res.data.total;
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 129 - 261
pages/check-order/rtu/rtucheckorderlist.vue

@@ -1,90 +1,79 @@
+<!--
+ * @Title: 
+ * @Description: RTU维修任务列表,包括正在处理和历史的任务
+ * @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 style="width: 100%;display: flex;flex-direction: row;justify-content: center;align-items: center;">
-				<text style="color: white;font-size: 1rem;">{{title}}</text>
+			<view class="nav-title">
+				<text>{{title}}</text>
 			</view>
 		</uni-nav-bar>
 		<view class="container">
 			<uni-list>
 				<uni-list-item v-for="item in list" :key="item.id">
 					<template v-slot:body>
-						<view style="min-height: 110px;width: 100%;display: flex;flex-direction: column;">
-							<view style="display: flex;flex-direction: row;align-items: center;">
-								<image class="order-title-image" style="box-shadow:0 0 2px 2px lightblue"
-									src="/static/images/logo_app.png" mode="widthFix">
+						<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/logo_pc.png" mode="widthFix">
 								</image>
-								<text style="margin-left: 5px;font-size: 1rem;font-weight: bold;">{{item.rtuName}}</text>
-								<text style="margin-left: 5px;font-size: 0.9rem;">[{{item.rtuCode}}]</text>
+								<text class="item-title-rtu-name">{{item.rtuName}}</text>
+								<text class="item-title-rtu-code">[{{item.rtuCode}}]</text>
 							</view>
-							<view v-if="item.orderClose == 1"
-								style="display: flex;flex-direction: row;align-items: center; min-height: 30px;">
-								<uIcons class="input-uni-icon" type="checkbox" size="18" color="skyblue" />
-								<view style="margin-left:5px;font-size: 0.8rem;">关闭时间:</view>
-								<view style="margin-left:5px;font-size: 0.8rem;color:gray;">{{item.updateTime}}
-								</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="list" size="18" color="lightblue" />
+								<text class="item-text-lable">维修状态:</text>
+								<text v-if="item.orderStatus==1" class="item-text-content" style="color: red;">等待确认</text>
+								<text v-if="item.orderStatus==2" class="item-text-content" style="color: orange;">处理中</text>
+								<text v-if="item.orderStatus==3" class="item-text-content" style="color: blue;">已处理</text>
+								<text v-if="item.orderStatus==4" class="item-text-content" style="color: green;">已完成</text>
 							</view>
-							<view v-else-if="item.orderConfirm == 1"
-								style="display: flex;flex-direction: row;align-items: center; min-height: 30px;">
-								<view style="width: 35%;display: flex;flex-direction: row;align-items: center;">
-									<uIcons class="input-uni-icon" type="auth" size="18" color="skyblue" />
-									<view style="margin-left: 5px;font-size: 0.8rem;color: gray;">
-										{{item.processorName}}
-									</view>
-								</view>
-								<view style="font-size: 0.8rem;">接单时间:</view>
-								<view style="margin-left:5px;font-size: 0.8rem;color:gray;">
-									{{item.orderConfirmTime}}
-								</view>
+							<view v-if="item.orderStatus==1" class="items-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">创建时长:</text>
+								<text class="item-text-content" style="color: red;">{{item.taskCreateDuration}}</text>
 							</view>
-							<view v-else
-								style="display: flex;flex-direction: row;align-items: center; min-height: 30px;">
-								<uIcons class="input-uni-icon" type="notification" size="18" color="skyblue" />
-								<view style="margin-left:5px;font-size: 0.8rem;">报单时间:</view>
-								<view style="margin-left:5px;font-size: 0.8rem;color:gray;">{{item.createTime}}
-								</view>
+							<view v-else class="items-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">维修时长:</text>
+								<text class="item-text-content" style="color: red;">{{item.taskProcessDuration}}</text>
 							</view>
-
-							<view v-if="item.orderClose == 0"
-								style="display:flex;flex-direction:row;align-items: center;">
-								<image class="slot-image" src="/static/images/icon_warning.png" mode="widthFix">
-								</image>
-								<text style="font-size:0.8rem;padding-left: 10rpx;">{{item.orderDesc}}</text>
+							<view v-if="item.orderStatus==1" class="items-line">
+								<uni-icons class="input-uni-icon" type="auth" size="18" color="lightblue" />
+								<text class="item-text-lable">运维公司管理员:</text>
+								<text class="item-text-content">{{item.manageCompanyAdminName}}</text>
 							</view>
-
-							<view style="margin-top:4px;display: flex;flex-direction: row;justify-content: flex-end;">
-								<view v-if="item.orderClose == 1"
-									style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightgreen"
-									@click="toDetailPage(item.id)">
-									<view style="display:flex;flex-direction: column;justify-content: center;">
-										<uIcons class="input-uni-icon" type="info" size="18" color="gray" />
-									</view>
-									<view
-										style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-										<text style="color:black;font-size:0.7rem">查看详情</text>
-									</view>
+							<view v-else class="items-line">
+								<uni-icons class="input-uni-icon" type="auth" size="18" color="lightblue" />
+								<text class="item-text-lable">处理人:</text>
+								<text class="item-text-content">{{item.contactUserName}}</text>
+							</view>
+							<view v-if="item.orderStatus==1" class="items-line">
+								<uni-icons class="input-uni-icon" type="phone" size="18" color="lightblue" />
+								<text class="item-text-lable">联系电话:</text>
+								<view v-if="item.manageCompanyAdminPhone != null" @click="call(item.manageCompanyAdminPhone)">
+									<text class="item-text-content" style="text-decoration-line: underline;">{{item.manageCompanyAdminPhone}}</text>
 								</view>
-								<view v-else-if="item.orderConfirm == 1"
-									style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-									@click="toOrderReport(item.id)">
-									<view style="display:flex;flex-direction: column;justify-content: center;">
-										<uIcons class="input-uni-icon" type="compose" size="18" color="gray" />
-									</view>
-									<view
-										style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-										<text style="color:black;font-size:0.7rem">工单填报</text>
-									</view>
+							</view>
+							<view v-else class="items-line">
+								<uni-icons class="input-uni-icon" type="phone" size="18" color="lightblue" />
+								<text class="item-text-lable">联系电话:</text>
+								<view v-if="item.contactPhone != null" @click="call(item.contactPhone)">
+									<text class="item-text-content" style="text-decoration-line: underline;">{{item.contactPhone}}</text>
 								</view>
-								<view v-else
-									style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightpink"
-									@click="toOrderConfirm(item.id)">
-									<view style="display:flex;flex-direction: column;justify-content: center;">
-										<uIcons class="input-uni-icon" type="location" size="18" color="gray" />
-									</view>
-									<view
-										style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-										<text style="color:black;font-size:0.7rem">接单确认</text>
+							</view>
+							<view class="item-button-group">
+								<view class="item-button"
+									@click="onDetailViewClick(item.id)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" size="18" color="coral" />
+										<text class="button-text">维修详情</text>
 									</view>
 								</view>
 							</view>
@@ -92,91 +81,111 @@
 					</template>
 				</uni-list-item>
 			</uni-list>
-			<uGroup>
+			<uni-group>
 				<view class="uni-pagination-box">
-					<uPagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
+					<uni-pagination show-icon :pageSize="pageSize" :current="pageCurrent" :total="total"
+						@change="pageChange" />
 				</view>
-			</uGroup>
+			</uni-group>
 		</view>
-		<u-gap height="70"></u-gap>
 	</view>
 </template>
 
 <script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
+	import {
+		role
+	} from "@/api/role.js";
 	import http from '@/http/api.js';
 
 	export default {
 		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-			uPagination,
-			uBreadcrumb
+
 		},
 		onLoad(option) {
 			this.rtuCode = option.rtuCode;
-			this.getOrderList();
+			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;
+			}
+			let params = {};
+			params['rtuCode'] = this.rtuCode;
+			this.getPage(params);
 		},
 		data() {
 			return {
-				rtuCode: '',
-				list: [],
-				title: '测站工单',
-				desc: '',
+				title: '维修任务信息',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
 				pageSize: 10,
-				// 当前页
 				pageCurrent: 1,
-				// 数据总量
 				total: 0,
+				list: [],
+				query: {},
+				rtuCode: '',
 			}
 		},
 		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
+
 		},
 		onShow() {
 
 		},
 		methods: {
+			//返回上一页
 			toBack() {
 				uni.navigateBack({
 					delta: 1
 				})
 			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
 			// 分页触发
-			change(e) {
+			pageChange(e) {
 				this.pageCurrent = e.current;
-				this.getOrderList()
+				this.getPage()
+			},
+			onDetailViewClick(id) {
+				let url = '/pages/check-order/orderprocessreportdetail?orderId=' + id;
+				uni.navigateTo({
+					url: url
+				})
 			},
-			getOrderList() {
+			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 = {}) {
 				const current = this.pageCurrent;
 				const size = this.pageSize;
-				const isSubmit = '0';
-				let postData = {};
-				postData['rtuCode'] = this.rtuCode;
-				var that = this;
+				let postData = Object.assign(params, this.query);
+				let that = this;
 				http.request({
-					url: '/galaxy-test/rtu/check/order/page',
+					url: '/galaxy-business/rtu/check/order/page',
 					method: 'GET',
 					params: {
 						current,
 						size,
-						isSubmit
 					},
 					data: postData,
 				}).then(res => {
@@ -188,167 +197,26 @@
 					console.log(err)
 				})
 			},
-			toDetailPage(id) {
-				var url = '/pages/check-order/orderprocessrecord?id=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toOrderReport(id) {
-				var url = '/pages/check-order/orderprocesslist?id=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toOrderConfirm(id) {
-				var that = this;
-				uni.showModal({
-					content: '确定进行接单确认操作?',
-					showCancel: true,
-					success(res) {
-						if (res.confirm) {
-							var postData2 = {};
-							postData2['id'] = id;
-							http.request({
-								url: '/galaxy-test/rtu/check/order/confirm',
-								method: 'POST',
-								data: postData2
-							}).then(res => {
-								console.log(res)
-								if (res.success) {
-									uni.showModal({
-										content: '接单已成功,是否立即填报?',
-										showCancel: true,
-										success(res) {
-											if (res.confirm) {
-												var url =
-													'/pages/check-order/orderprocesslist?id=' + id;
-												uni.navigateTo({
-													url: url
-												})
-											}
-										}
-									});
-								}
-							}).catch(err => {
-								console.log(err)
-							})
-						}
-					}
-				});
-			},
 		}
 	}
 </script>
 
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
 <style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
+	.nav-title {
+		width: 100%;
 		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		//margin-right: 10px;
-		width: 20px;
-		height: 20px;
-	}
-
-	.order-title-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		// margin-right: 10px;
-		width: 20px;
-		height: 20px;
-		border-radius: 50%;
-
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
 		flex-direction: row;
 		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
+		align-items: center;
 
-	.button-text {
-		font-size: 15px;
+		text {
+			color: white;
+			font-size: 1rem;
+		}
 	}
 
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
+	.container {
+		padding: 0 0 100rpx;
 	}
 
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
 </style>

+ 246 - 0
pages/check-order/servicepersoncheckorderlist.vue

@@ -0,0 +1,246 @@
+<!--
+ * @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-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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/order_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="loop" size="18" color="lightblue" />
+								<text class="item-text-lable">维修状态:</text>
+								<text v-if="item.orderStatus==1" class="item-text-content"
+									style="color: red;">等待确认</text>
+								<text v-if="item.orderStatus==2" class="item-text-content"
+									style="color: orange;">处理中</text>
+								<text v-if="item.orderStatus==3" class="item-text-content"
+									style="color: blue;">已处理</text>
+								<text v-if="item.orderStatus==4" class="item-text-content"
+									style="color: green;">已完成</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">维修时长:</text>
+								<text class="item-text-content" style="color: red;">{{item.taskProcessDuration}}</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">{{item.areaName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="person" size="18" color="lightblue" />
+								<text class="item-text-lable">处理人:</text>
+								<text class="item-text-content">{{item.contactUserName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="phone" size="18" color="lightblue" />
+								<text class="item-text-lable">联系电话:</text>
+								<view v-if="item.contactPhone != null"
+									@click="call(item.contactPhone)">
+									<text class="item-text-content-phone">{{item.contactPhone}}</text>
+								</view>
+							</view>
+							<view v-if="item.orderStatus==3" class="item-button-group">
+								<view class="item-button" style="background-color:lightblue"
+									@click="onOrderReportItemClick(item.id)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" 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 :pageSize="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.type = option.type;
+			if (this.type == '1') {
+				this.query['orderClose'] = 0;
+				this.title = "全部维修任务信息";
+			} else if (this.type == '2') {
+				this.query['orderStatus'] = 2;
+				this.query['orderClose'] = 0;
+				this.title = "处理中维修任务信息";
+			} else if (this.type == '3') {
+				this.query['orderStatus'] = 3;
+				this.query['orderClose'] = 0;
+				this.title = "已处理维修任务信息";
+			}
+			let userId = option.userId;
+			if (userId) {
+				this.query['servicePersonId'] = userId;
+			}
+			this.pageCurrent = 1;
+			this.getPage()
+		},
+		data() {
+			return {
+				title: '维修任务信息',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
+				type: '',
+				pageSize: 10,
+				pageCurrent: 1,
+				total: 0,
+				list: [],
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				}
+			}
+		},
+		computed: {},
+		onShow() {},
+		methods: {
+			//返回上一页
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			call(phone) {
+				console.log(phone)
+				uni.showModal({
+					content: '是否需要拨打[' + phone + ']?',
+					showCancel: true,
+					success(res) {
+						if (res.confirm) {
+							uni.makePhoneCall({
+								phoneNumber: phone
+							});
+						}
+					}
+				});
+			},
+			onDetailViewClick(id) {
+				let url = '/pages/check-order/orderprocessreportdetail?orderId=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onOrderReportItemClick(id) {
+				console.log("opne record ", id)
+				var url = '/pages/check-order/orderprocessreportdetail?orderId=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			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() {}
+				})
+			},
+			onManuallyCloseOrderClick(id) {
+				uni.navigateTo({
+					url: '/pages/check-order/manuallyclosecheckorder?id=' + id
+				})
+			},
+			onComfireCheckOrderClick(id) {
+				let url =
+					'/pages/check-order/orderconfirm?id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			getPage(params = {}) {
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(params, this.query);
+				let that = this;
+				http.request({
+					url: '/galaxy-business/rtu/check/order/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						that.list = res.data.records;
+					}
+					this.total = res.data.total;
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 0 - 375
pages/check-order/todaycheckorderlist.vue

@@ -1,375 +0,0 @@
-<template>
-	<view class="wrap">
-		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
-			:title="title" @clickLeft="toBack">
-		</uni-nav-bar>
-		<!-- 	<u-gap height="75px"></u-gap> -->
-		<view class="container">
-			<uni-list>
-				<uni-list-item v-for="item in list" :key="item.id">
-					<!-- 自定义 body -->
-					<template v-slot:body>
-						<view style="min-height: 110px;width: 100%;display: flex;flex-direction: column;">
-							<view>
-								<text style="font-size: 1rem;font-weight: bold;">{{item.rtuName}}</text>
-								<text style="font-size: 0.9rem;">[{{item.rtuCode}}]</text>
-							</view>
-							<view style="display: flex;flex-direction: row;min-height: 30px;">
-								<view style="font-size: 0.7rem;color: #18B566;">{{item.orderStatusName}}</view>
-								<view style="margin-left:10px;width:100px;font-size: 0.7rem;color:gray;">
-									{{item.processorName}}
-								</view>
-								<view style="margin-left:0px;font-size: 0.7rem;color:gray;">{{item.createTime}}</view>
-							</view>
-
-							<view style="margin-top: 0px;">
-								<text style="font-size: 0.7rem;">{{item.orderDesc}}</text>
-							</view>
-
-							<view style="margin-top:4px;display: flex;flex-direction: row;justify-content: flex-end;">
-								<view
-									style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-									@click="toWarningPage(item.warnId)">
-									<view style="display:flex;flex-direction: column;justify-content: center;">
-										<uIcons class="input-uni-icon" type="notification" size="18" color="#999" />
-									</view>
-									<view
-										style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-										<text style="color:black;font-size:0.6rem">预警信息</text>
-									</view>
-								</view>
-								<view v-if="item.isConfirm ==1"
-									style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-									@click="toOrderReport(item.id)">
-									<view style="display:flex;flex-direction: column;justify-content: center;">
-										<uIcons class="input-uni-icon" type="gear" size="18" color="#999" />
-									</view>
-									<view
-										style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-										<text style="color:black;font-size:0.6rem">工单填报</text>
-									</view>
-								</view>
-								<view v-else
-									style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-									@click="toOrderConfirm(item.id)">
-									<view style="display:flex;flex-direction: column;justify-content: center;">
-										<uIcons class="input-uni-icon" type="gear" size="18" color="#999" />
-									</view>
-									<view
-										style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-										<text style="color:black;font-size:0.6rem">接单确认</text>
-									</view>
-								</view>
-
-								<view
-									style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-									@click="toLocation(item)">
-									<view style="display:flex;flex-direction: column;justify-content: center;">
-										<uIcons class="input-uni-icon" type="location" size="18" color="#999" />
-									</view>
-									<view
-										style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-										<text style="color:black;font-size:0.6rem">导航</text>
-									</view>
-								</view>
-							</view>
-						</view>
-					</template>
-				</uni-list-item>
-			</uni-list>
-			<uGroup>
-				<view class="uni-pagination-box">
-					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
-				</view>
-			</uGroup>
-		</view>
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import http from '@/http/api.js';
-
-	export default {
-		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-		},
-		onLoad(option) {
-			this.getOrderList();
-		},
-		data() {
-			return {
-				list: [],
-				title: '今日工单',
-				desc: '',
-				pageSize: 10,
-				// 当前页
-				pageCurrent: 1,
-				// 数据总量
-				total: 0,
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-
-		},
-		created() {
-
-		},
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			// 分页触发
-			change(e) {
-				//this.$refs.table.clearSelection()
-				this.selectedIndexs.length = 0
-				this.pageCurrent = e.current;
-				this.getOrderList()
-			},
-			getOrderList() {
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				const isSubmit = '0';
-
-				var that = this;
-				http.request({
-					url: '/galaxy-test/rtu/check/order/today/page',
-					method: 'GET',
-					params: {
-						current,
-						size,
-						isSubmit
-					},
-				}).then(res => {
-					if (res.data.records != null) {
-
-						that.list = res.data.records;
-					}
-					this.total = res.data.total;
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-
-			},
-			toWarningPage(id) {
-				var url = '/pages/warning/warninginfodetail?id=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toOrderReport(id) {
-				var url = '/pages/check-order/orderprocesslist?id=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toOrderConfirm(id) {
-				var that = this;
-				var postData = {};
-				postData['id'] = id;
-				http.request({
-					url: '/galaxy-test/rtu/check/order/confirm',
-					method: 'POST',
-					data: postData
-				}).then(res => {
-					console.log(res)
-					if (res.success) {
-						this.getOrderList()
-						uni.showToast({
-							title: '工单确认操作已成功!',
-							icon: 'none'
-						})
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			toLocation(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: add,
-					success() {
-
-					}
-				})
-			},
-			getTitle(checkNo) {
-				return "问题编号:" + checkNo;
-			},
-			swipeChange(e, index) {
-				console.log('返回:', e);
-				console.log('当前索引:', index);
-			},
-			swipeClick(e, index) {
-
-			},
-			locationToHandle(id) {
-				const that = this;
-				// uni.showModal({
-				// 	content: '确定删除记录?',
-				// 	showCancel: true,
-				// 	success(res) {
-				// 		if (res.confirm) {
-				// 			var ids = id;
-
-				// 			http.request({
-				// 				url: '/blade-business/report/failure/remove',
-				// 				method: 'POST',
-				// 				params: {
-				// 					ids
-				// 				}
-				// 			}).then(res => {
-				// 				console.log(JSON.stringify(res.data))
-				// 				if (res.success) {
-				// 					uni.showModal({
-				// 						content: '删除已成功',
-				// 						showCancel: false,
-				// 						success(res) {
-				// 							if (res.confirm) {
-				// 								that.loadList();
-				// 							}
-				// 						}
-				// 					});
-				// 				}
-				// 			}).catch(err => {
-				// 				console.log(err)
-				// 			})
-				// 		}
-				// 	}
-				// });
-			}
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

+ 143 - 0
pages/check-order/todaycheckorderrprocesseportlist.vue

@@ -0,0 +1,143 @@
+<!--
+ * @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-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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/order_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="loop" size="18" color="lightblue" />
+								<text class="item-text-lable">状态:</text>
+								<text class="item-text-content">{{item.orderStatusName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="person" size="18" color="lightblue" />
+								<text class="item-text-lable">填报人:</text>
+								<text class="item-text-content">{{item.orderProcessUserName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">填报时间:</text>
+								<text class="item-text-content">{{item.updateTime}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="compose" size="18" color="lightblue" />
+								<text class="item-text-lable">说明:</text>
+								<text class="item-text-content-ellipsis">{{item.processDesc}}</text>
+							</view>
+							<view class="item-button-group">
+								<view class="item-button" @click="toOrderProcessDetail(item.orderId)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" 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 :pageSize="pageSize" :current="pageCurrent" :total="total"
+						@change="pageChange" />
+				</view>
+			</uni-group>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	export default {
+		components: {
+		},
+		onLoad(option) {},
+		data() {
+			return {
+				list: [],
+				title: '今日测站动态信息',
+				pageSize: 10,
+				// 当前页
+				pageCurrent: 1,
+				// 数据总量
+				total: 0,
+			}
+		},
+		computed: {
+		},
+		onShow() {
+			this.getPage();
+		},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			getPage() {
+				let that = this;
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				http.request({
+					url: '/galaxy-business/rtu/check/order/process/today/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+				}).then(res => {
+					if (res.success) {
+						if (res.data.records != null) {
+							that.list = res.data.records;
+						}
+						this.total = res.data.total;
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			toOrderProcessDetail(id) {
+				console.log("opne record ", id)
+				var url = '/pages/check-order/orderprocessreportdetail?orderId=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+
+</style>
+
+<style lang="scss" scoped>
+
+</style>

+ 263 - 0
pages/check-order/uncomfirecheckorderlist.vue

@@ -0,0 +1,263 @@
+<!--
+ * @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 style="padding-left: 5px;padding-right: 5px;">
+				<uni-collapse v-model="value">
+					<uni-collapse-item title="异常类别筛选条件" :show-animation="true">
+						<view class="select-checkbox">
+							<uni-data-checkbox v-model="warnKindOption" :localdata="warnKindItems"
+								@change="warnKindOptionChange">
+							</uni-data-checkbox>
+						</view>
+					</uni-collapse-item>
+				</uni-collapse>
+			</view>
+			<uni-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<template v-slot:body>
+						<view class="list-item-block">
+							<view class="items-line">
+								<view class="block">
+									<image class="item-title-run-status-icon" style="box-shadow:0 0 2px 2px lightblue"
+										src="/static/images/list/order_item.png" mode="widthFix">
+									</image>
+								</view>
+								<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="location" size="18" color="lightblue" />
+								<text class="item-text-lable">行政区划:</text>
+								<text class="item-text-content">{{item.areaName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="bars" size="18" color="lightblue" />
+								<text class="item-text-lable">异常类型:</text>
+								<text class="item-text-content-ellipsis">{{item.warnKindInfo}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">任务创建时长:</text>
+								<text class="item-text-content">{{item.taskCreateDuration}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="auth" size="18" color="lightblue" />
+								<text class="item-text-lable">运维公司管理员:</text>
+								<text class="item-text-content">{{item.manageCompanyAdminName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="phone" size="18" color="lightblue" />
+								<text class="item-text-lable">联系电话:</text>
+								<view v-if="item.manageCompanyAdminPhone != null" @click="call(item.manageCompanyAdminPhone)">
+									<text class="item-text-content-phone">{{item.manageCompanyAdminPhone}}</text>
+								</view>
+							</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 class="item-button" @click="call(item.manageCompanyAdminPhone)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="phone" size="18" color="coral" />
+										<text class="button-text">电 话</text>
+									</view>
+								</view>
+								<view class="item-button" @click="onComfireCheckOrderClick(item.id)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="auth" 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 :pageSize="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.query = {};
+			this.query['orderConfirm'] = 0;
+			this.query['orderClose'] = 0;
+			this.getPage();
+		},
+		data() {
+			return {
+				title: '新任务',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
+				value: ['0'],
+				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,
+				pageSize: 10,
+				pageCurrent: 1,
+				total: 0,
+				list: [],
+				query: {},
+			}
+		},
+		computed: {},
+		onShow() {},
+		methods: {
+			//返回上一页
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			warnKindOptionChange: function(evt) {
+				let params = {};
+				this.getPage(params);
+			},
+			call(phone) {
+				console.log(phone)
+				uni.showModal({
+					content: '是否需要拨打[' + phone + ']?',
+					showCancel: true,
+					success(res) {
+						if (res.confirm) {
+							uni.makePhoneCall({
+								phoneNumber: phone
+							});
+						}
+					}
+				});
+			},
+			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() {}
+				})
+			},
+			onComfireCheckOrderClick(id) {
+				let url =
+					'/pages/check-order/orderconfirm?id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			getPage(params = {}) {
+				if (this.warnKindOption == 0) {} else {
+					params['warnKind'] = this.warnKindOption;
+				}
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(params, this.query);
+				let that = this;
+				http.request({
+					url: '/galaxy-business/rtu/check/order/unconfirm/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						that.list = res.data.records;
+					}
+					this.total = res.data.total;
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.select-checkbox {
+		margin-top: 0px;
+		margin-bottom: 5px;
+		padding-left: 15px;
+	}
+</style>

+ 195 - 0
pages/check-order/uncomfirecheckorderlistview.vue

@@ -0,0 +1,195 @@
+<!--
+ * @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-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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/order_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="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">创建时长:</text>
+								<text class="item-text-content" style="color: red;">{{item.taskCreateDuration}}</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">{{item.areaName}}</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">
+									{{item.manageCompany}}
+								</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="auth" size="18" color="lightblue" />
+								<text class="item-text-lable">运维公司管理员:</text>
+								<text class="item-text-content">{{item.manageCompanyAdminName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="phone" size="18" color="lightblue" />
+								<text class="item-text-lable">联系电话:</text>
+								<view v-if="item.manageCompanyAdminPhone != null" @click="call(item.manageCompanyAdminPhone)">
+									<text class="item-text-content-phone">{{item.manageCompanyAdminPhone}}</text>
+								</view>
+							</view>
+							<view class="item-button-group">
+								<view class="item-button"
+									@click="call(item.manageCompanyAdminPhone)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="phone" 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 :pageSize="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.query = {};
+			this.query['orderConfirm'] = 0;
+			this.query['orderClose'] = 0;
+
+			this.pageCurrent = 1;
+			this.getPage()
+		},
+		data() {
+			return {
+				title: '未确认维修任务信息',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
+				pageSize: 10,
+				pageCurrent: 1,
+				total: 0,
+				list: [],
+				query: {},
+			}
+		},
+		computed: {
+			getIcon() {
+				return path => {
+					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
+				}
+			},
+		},
+		onShow() {
+
+		},
+		methods: {
+			//返回上一页
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			call(phone) {
+				console.log(phone)
+				uni.showModal({
+					content: '是否需要拨打[' + phone + ']?',
+					showCancel: true,
+					success(res) {
+						if (res.confirm) {
+							uni.makePhoneCall({
+								phoneNumber: phone
+							});
+						}
+					}
+				});
+			},
+			getPage(params = {}) {
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(params, this.query);
+				let that = this;
+				http.request({
+					url: '/galaxy-business/rtu/check/order/unconfirm/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						//console.log(JSON.stringify(res.data.records))
+						that.list = res.data.records;
+					}
+					this.total = res.data.total;
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+
+</style>

+ 0 - 1076
pages/checkReport/addCheckReport.vue

@@ -1,1076 +0,0 @@
-<template>
-	<view >
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view>
-			<form @submit="formSubmit" @reset="formReset">
-				<!-- 项目信息项 -->
-				<view class="uni-form-item">
-					<view class="view-flex-rs line-body">
-						<view class="view-flex-cc">
-							<text class="required-star">*</text>
-						</view>
-						<view style="width: 200rpx;" class="view-flex-cc item-title">
-							<text>当前项目:</text>
-						</view>
-						<view style="flex-grow: 0.9;" class="view-flex-cc">
-							<text>{{projectInfo.title}}</text>
-						</view>
-						<view style="width: 200rpx;" class="view-flex-cc">
-							<button style="height: 80rpx;font-size: medium;" type="primary"
-								@click="goto('/pages/checkReport/checkProjectSelect?model=1')">重新选择</button>
-						</view>
-					</view>
-				</view>
-				<!-- 检查区域信息项 -->
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="line-body view-flex-rs">
-						<text class="required-star">*</text>
-						<text class="item-title">检查区域</text>
-					</view>
-					<view>
-						<uni-list-item @click="selectCheckArea()" :clickable="true" :ellipsis="1"
-							:show-extra-icon="true" showArrow
-							:extra-icon="{color: '#4cd964',size: '22',type: 'settings'}"
-							v-bind:title="checkAreaDict.dictValue" />
-					</view>
-					<!-- 				<u-cell-item class="line-body" icon="setting-fill" v-bind:title="checkAreaDict.dictValue"
-						hover-class="cell-hover-class" @click="selectCheckArea()"></u-cell-item> -->
-				</view>
-				<!-- 检查点位文本信息项 -->
-				<view class="uni-form-item uni-column" style="margin-top: 10rpx;">
-					<view class="line-body item-title">
-						具体位置
-					</view>
-					<view class="line-body">
-						<uni-easyinput errorMessage v-model="failureCheckPointDesc" placeholder="请输入内容"></uni-easyinput>
-					</view>
-				</view>
-				<!-- 安全隐患问题类型信息项,字典 -->
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="line-body view-flex-rs">
-						<text class="required-star">*</text>
-						<text class="item-title">安全问题隐患类型</text>
-					</view>
-					<view>
-						<uni-list-item @click="selectCheckItemType()" :clickable="true" :ellipsis="1"
-							:show-extra-icon="true" showArrow
-							:extra-icon="{color: '#4cd964',size: '22',type: 'settings'}"
-							v-bind:title="checkItemTypeDict.dictValue" />
-					</view>
-
-					<!-- 	<u-cell-item class="line-body" icon="setting-fill" v-bind:title="checkItemTypeDict.dictValue"
-						hover-class="cell-hover-class" @click="selectCheckItemType()"></u-cell-item> -->
-				</view>
-				<!-- 安全隐患问题标签信息项,字典 -->
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="line-body view-flex-rs">
-						<text class="required-star">*</text>
-						<text class="item-title">检查部位</text>
-					</view>
-					<view>
-						<uni-list-item @click="selectCheckItemLabel()" :clickable="true" :ellipsis="1"
-							:show-extra-icon="true" showArrow
-							:extra-icon="{color: '#4cd964',size: '22',type: 'settings'}"
-							v-bind:title="checkItemLabelDict.dictValue" />
-					</view>
-					<!-- <u-cell-item class="line-body" icon="setting-fill"  v-bind:title="checkItemLabelDict.dictValue"
-						hover-class="cell-hover-class" @click="selectCheckItemLabel()"></u-cell-item> -->
-				</view>
-
-
-				<!-- 安全隐患问题排查标准信息项,字典 -->
-				<view class="uni-form-item  uni-column" style="margin-top: 10px;">
-					<view class="line-body view-flex-rs">
-						<text class="required-star">*</text>
-						<text class="item-title">问题隐患标签</text>
-					</view>
-					<view>
-						<uni-list-item @click="selectCheckStandard()" :clickable="true" :ellipsis="1"
-							:show-extra-icon="true" showArrow
-							:extra-icon="{color: '#4cd964',size: '22',type: 'settings'}"
-							v-bind:title="checkStandardDict.dictValue" />
-					</view>
-
-
-					<!-- <u-cell-item class="line-body" icon="setting-fill" v-bind:title="checkStandardDict.dictValue"
-						hover-class="cell-hover-class" @click="selectCheckStandard()"></u-cell-item> -->
-				</view>
-				<view class="uni-form-item uni-column" style="margin-top: 10px;">
-					<view class="line-body item-title">
-						法律法规
-					</view>
-					<view class="line-body">
-						<textarea disabled v-model="checkItemStandardBasisDict.dictValue" class="mline-text" />
-
-						<!-- <uni-easyinput disabled v-model="checkItemStandardBasisDict.dictValue"></uni-easyinput> -->
-					</view>
-				</view>
-
-				<!-- 	安全隐患问题描述信息项,文本 -->
-				<view class="uni-form-item uni-column" style="margin-top: 10px;">
-					<view class="line-body item-title">
-						安全问题隐患描述
-					</view>
-					<view class="line-body">
-						<textarea v-model="failureHiddenDangerDesc" name="failureCorrectiveSuggest"
-							class="mline-text" />
-
-					</view>
-				</view>
-
-				<!-- 隐患等级信息项,字典 -->
-				<view class="uni-form-item" style="margin-top: 15px;">
-					<view class="view-flex-rs">
-						<view class="uni-title line-body"><text class="required-star">*</text><text
-								class="item-title">隐患等级</text></view>
-						<view class="line-body">
-							<radio-group @change="hiddenDangerRadioChange"
-								style="display: flex;flex-direction: row;justify-content: flex-start;">
-								<label style="margin-top: 2px;margin-right: 5px;" class="view-flex-rs"
-									v-for="(item, index) in hiddenDangerRadio.items" :key="item.id">
-									<view>
-										<radio :value="item.id" :checked="index === hiddenDangerRadio.current" />
-									</view>
-									<view style="font-size: 12px;">{{item.dictValue}}</view>
-								</label>
-							</radio-group>
-						</view>
-					</view>
-				</view>
-				<!-- 整改建议信息项,文本 -->
-				<view class="uni-form-item uni-column" style="margin-top: 10px;">
-					<view class="line-body item-title">
-						整改建议
-					</view>
-					<view class="line-body">
-						<textarea v-model="failureCorrectiveSuggest" name="failureCorrectiveSuggest"
-							class="mline-text" />
-					</view>
-				</view>
-				<!-- 整改期限信息项,字典 -->
-				<view class="uni-form-item" style="margin-top: 15px;">
-					<view class="view-flex-rs">
-						<view class="uni-title line-body"><text class="required-star">*</text><text
-								class="item-title">整改期限</text></view>
-						<view class="line-body">
-							<radio-group @change="planTimeRadioChange"
-								style="display: flex;flex-direction: row;justify-content: flex-start;">
-								<label style="margin-top: 2px;margin-right: 5px;" class="view-flex-rs"
-									v-for="(item, index) in planTimeRadio.items" :key="item.id">
-									<view>
-										<radio :value="item.id" :checked="index === planTimeRadio.current" />
-									</view>
-									<view style="font-size: 12px;">{{item.dictValue}}</view>
-								</label>
-							</radio-group>
-						</view>
-					</view>
-				</view>
-				<!-- 图片信息项 -->
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="view-flex-rs line-body">
-						<view class="view-flex-cc" style="height: 40px;">
-							<text class="item-title">安全隐患问题图片</text>
-						</view>
-					</view>
-				</view>
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="img-container">
-						<view class="note-image-box">
-							<view class="note-image-item" v-for="(item , index) in localImageList" :key="index">
-								<view class="close-icon" @click="onDeleteClick(index)">
-									<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-								</view>
-								<view class="image-box">
-									<image :src="item" mode="widthFix"></image>
-								</view>
-							</view>
-							<view v-if="localImageList.length < 9" class="note-image-item" @click="getPhoto()">
-								<view class="image-box">
-									<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-				<u-gap height="50"></u-gap>
-				<view class="uni-form-item uni-column">
-					<view class="line-body">
-						<button type="primary" form-type="submit">提交</button>
-					</view>
-					<view class="line-body" style="margin-top: 10px;">
-						<button type="default" @click="onSaveClick">保存</button>
-					</view>
-				</view>
-				<u-gap height="50"></u-gap>
-			</form>
-		</view>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import http from '@/http/api.js';
-	import {
-		pathToBase64,
-		base64ToPath
-	} from '@/js_sdk/mmmm-image-tools/index.js';
-	import {
-		devUrl,
-		prodUrl
-	} from '@/common/setting';
-
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
-			this.userInfo1 = uni.getStorageSync("userInfo");
-			this.checkNo = this.getCheckNo();
-			this.initProjectInfo(option.id);
-
-			//查询隐患等级
-			var dangerLevelList = [];
-			http.request({
-				url: '/galaxy-system/dict-biz/dictionary?code=danger_level',
-				method: 'GET'
-			}).then(res => {
-				console.log(res.data)
-				if (res.data != null) {
-					const dictLength = res.data['length'];
-					for (var i = 0; i < dictLength; i++) {
-						let dict = res.data['' + i];
-						dangerLevelList.push(dict);
-					}
-				}
-
-			}).catch(err => {
-				console.log(err)
-			})
-			this.hiddenDangerRadio.items = dangerLevelList;
-			//查询整改期限
-			var planTimeList = [];
-			http.request({
-				url: '/galaxy-system/dict-biz/dictionary?code=plan_time',
-				method: 'GET'
-			}).then(res => {
-				console.log(res.data)
-				if (res.data != null) {
-					const dictLength = res.data['length'];
-					for (var i = 0; i < dictLength; i++) {
-						let dict = res.data['' + i];
-						planTimeList.push(dict);
-					}
-				}
-
-			}).catch(err => {
-				console.log(err)
-			})
-			this.planTimeRadio.items = planTimeList;
-		},
-		data() {
-			return {
-				baseURL: '',
-				userInfo1: {},
-				checkNo: '',
-				planTimeRadio: {
-					items: [],
-					current: 0,
-				},
-				hiddenDangerRadio: {
-					items: [],
-					current: 0,
-				},
-				localImageList: [],
-				uploadImageList: [],
-				checkAreaDict: {
-					id: '',
-					dictKey: '',
-					dictValue: '请点击选择'
-				},
-				checkItemTypeDict: {
-					id: '',
-					dictKey: '',
-					dictValue: '请点击选择'
-				},
-				checkItemLabelDict: {
-					id: '',
-					dictKey: '',
-					dictValue: '请点击选择'
-				},
-				checkStandardDict: {
-					id: '',
-					dictKey: '',
-					dictValue: '请点击选择'
-				},
-				checkItemStandardBasisDict: {
-					id: '',
-					dictKey: '',
-					dictValue: ''
-				},
-				title: '开始检查',
-				desc: '',
-				projectInfo: {
-					'projectId': '',
-					'title': ''
-				},
-				failureHiddenDangerDesc: '',
-				failureCheckPointDesc: '',
-				failureCorrectiveSuggest: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: ""
-			});
-
-			//项目选择结果监听  
-			uni.$on("handClickProjectSelect", res => {
-				console.log(res);
-				this.projectInfo = {
-					projectId: res.projectId,
-					title: res.title
-				}
-				// 清除监听
-				uni.$off('handClickProjectSelect');
-			})
-
-			//检查区域选择结果监听  
-			uni.$on("handClickAreaSelect", res => {
-				console.log(res);
-
-				this.checkAreaDict = {
-					dictValue: res.dictValue,
-					dictKey: res.dictKey,
-					id: res.id
-				}
-
-				// 清除监听
-				uni.$off('handClickAreaSelect');
-			})
-
-			//安全隐患问题分类选择结果监听  
-			uni.$on("handClickItemSelect", res => {
-				console.log("callback " + res);
-
-
-				if (this.checkItemTypeDict.id == null || this.checkItemTypeDict.id.length == 0 || this
-					.checkItemTypeDict.id !== res.id) {
-					this.checkItemLabelDict = {
-						id: '',
-						dictKey: '',
-						dictValue: '请点击选择'
-					}
-					this.checkStandardDict = {
-						id: '',
-						dictKey: '',
-						dictValue: '请点击选择'
-					}
-					this.failureHiddenDangerDesc = "";
-					this.checkItemStandardBasisDict = {
-						id: '',
-						dictKey: '',
-						dictValue: ''
-					}
-				}
-
-
-				this.checkItemTypeDict = {
-					dictValue: res.dictValue,
-					dictKey: res.dictKey,
-					id: res.id
-				}
-
-				// 清除监听
-				uni.$off('handClickItemSelect');
-			})
-
-			//安全隐患标签选择结果监听  
-			uni.$on("handClickItemLabelSelect", res => {
-				console.log("handClickItemLabelSelect" + res);
-
-				if (this.checkItemLabelDict.id == null || this.checkItemLabelDict.id.length == 0 || this
-					.checkItemLabelDict.id !== res.id) {
-
-					this.checkStandardDict = {
-						id: '',
-						dictKey: '',
-						dictValue: '请点击选择'
-					}
-					this.failureHiddenDangerDesc = "";
-					this.checkItemStandardBasisDict = {
-						id: '',
-						dictKey: '',
-						dictValue: ''
-					}
-				}
-
-				this.checkItemLabelDict = {
-					dictValue: res.dictValue,
-					dictKey: res.dictKey,
-					id: res.id
-				}
-				// 清除监听
-				uni.$off('handClickItemLabelSelect');
-			})
-
-			//安全隐患排查标准选择结果监听
-			uni.$on("handClickStandardSelect", res => {
-				console.log(res);
-
-				if (this.checkStandardDict.id == null || this.checkStandardDict.id.length == 0 || this
-					.checkStandardDict.id !== res.id) {
-
-					this.failureHiddenDangerDesc = "";
-
-					this.checkItemStandardBasisDict = {
-						id: '',
-						dictKey: '',
-						dictValue: ''
-					}
-				}
-
-				this.checkStandardDict = {
-					dictValue: res.dictValue,
-					dictKey: res.dictKey,
-					id: res.id
-				}
-				this.failureHiddenDangerDesc = res.dictValue;
-
-				this.checkItemStandardBasisDict = {
-					dictValue: res.subDict.dictValue,
-					dictKey: res.subDict.dictKey,
-					id: res.subDict.id
-				}
-				// 清除监听
-				uni.$off('handClickStandardSelect');
-			})
-		},
-		created() {
-
-		},
-		methods: {
-			dateFormat(dt) {
-				var text = "" + dt.getFullYear();
-				text += "-";
-				text += ((dt.getMonth() + 1) < 10) ? ("0" + (dt.getMonth() + 1)) : (dt
-					.getMonth() +
-					1);
-				text += "-";
-				text += dt.getDate() < 10 ? "0" + dt.getDate() : dt.getDate();
-				text += " ";
-				text += dt.getHours() < 10 ? "0" + dt.getHours() : dt.getHours();
-				text += ":";
-				text += dt.getMinutes() < 10 ? "0" + dt.getMinutes() : dt.getMinutes();
-				text += ":";
-				text += dt.getSeconds() < 10 ? "0" + dt.getSeconds() : dt.getSeconds();
-				return text;
-			},
-			getCheckNo() {
-				var dt = new Date();
-				var recordNo = "" + dt.getFullYear();
-				recordNo = recordNo.substr(2, 2);
-				recordNo += ((dt.getMonth() + 1) < 10) ? ("0" + (dt.getMonth() + 1)) : (dt
-					.getMonth() +
-					1);
-				recordNo += dt.getDate() < 10 ? "0" + dt.getDate() : dt.getDate();
-				recordNo += dt.getHours() < 10 ? "0" + dt.getHours() : dt.getHours();
-				recordNo += dt.getMinutes() < 10 ? "0" + dt.getMinutes() : dt.getMinutes();
-				recordNo += dt.getSeconds() < 10 ? "0" + dt.getSeconds() : dt.getSeconds();
-				return recordNo;
-			},
-			initProjectInfo(failureProjectId) {
-				const that = this;
-				const id = failureProjectId;
-				http.request({
-					url: '/blade-business/report/projectInfo/detail',
-					method: 'GET',
-					params: {
-						id
-					}
-				}).then(res => {
-					console.log(res.data)
-					that.projectInfo = {
-						projectId: res.data.id,
-						title: res.data.projectName
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			onDeleteClick(index) {
-				this.localImageList.splice(index, 1);
-			},
-			planTimeRadioChange: function(evt) {
-				for (let i = 0; i < this.planTimeRadio.items.length; i++) {
-					if (this.planTimeRadio.items[i].id === evt.detail.value) {
-						this.planTimeRadio.current = i;
-						break;
-					}
-				}
-			},
-			hiddenDangerRadioChange: function(evt) {
-				for (let i = 0; i < this.hiddenDangerRadio.items.length; i++) {
-					if (this.hiddenDangerRadio.items[i].id === evt.detail.value) {
-						this.hiddenDangerRadio.current = i;
-						break;
-					}
-				}
-			},
-			getPhoto() {
-				const that = this;
-				if (this.localImageList.length > 9) {
-					uni.showModal({
-						content: '一次最多上传9张图片,请检查!',
-						showCancel: false
-					});
-				} else {
-					uni.chooseImage({
-						sourceType: ['album', 'camera'],
-						success: (res) => {
-							const len = res.tempFilePaths.length;
-							if (len > 0) {
-								if (len + that.localImageList.length > 9) {
-									uni.showModal({
-										content: '一次最多上传9张图片,请检查!',
-										showCancel: false
-									});
-								} else {
-									let pathList = [];
-									res.tempFilePaths.forEach(path => {
-										pathList.push(path);
-									})
-									that.localImageList = that.localImageList.concat(pathList);
-								}
-							}
-						}
-					})
-				}
-			},
-			onSaveClick(e) {
-				if ((this.projectInfo.projectId != null && this.projectInfo.projectId.length > 0) &&
-					(this.checkAreaDict.id != null && this.checkAreaDict.id.length > 0) &&
-					(this.checkItemTypeDict.id != null && this.checkItemTypeDict.id.length > 0) &&
-					(this.checkItemLabelDict.id != null && this.checkItemLabelDict.id.length > 0) &&
-					(this.checkStandardDict.id != null && this.checkStandardDict.id.length > 0)) {
-					try {
-						var data = {};
-						data['failureHiddenDangerDesc'] = this.failureHiddenDangerDesc;
-						data['failureCheckPointDesc'] = this.failureCheckPointDesc;
-						data['failureCorrectiveSuggest'] = this.failureCorrectiveSuggest;
-						data['failureCheckNo'] = this.checkNo;
-						data['failureProjectId'] = this.projectInfo.projectId;
-						data['failureCheckArea'] = this.checkAreaDict.id;
-						data['failureCheckHiddenDangerType'] = this.checkItemTypeDict.id;
-						data['failureCheckHiddenDanger'] = this.checkItemLabelDict.id;
-						data['failureCheckHiddenDangerItemPoint'] = this.checkStandardDict.id;
-						data['failureCheckHiddenDangerStandard'] = this.checkItemStandardBasisDict.id;
-						data['failureHiddenDangerLevel'] = this.hiddenDangerRadio.items[this.hiddenDangerRadio.current]
-							.id;
-						data['failureCorrectivePlanTime'] = this.planTimeRadio.items[this.planTimeRadio.current]
-							.id;
-						data['createTime'] = this.dateFormat(new Date());
-						data['createUserName'] = this.userInfo1.nick_name;
-
-						this.saveLocalFiles();
-
-						console.log("save " + data);
-						var list = uni.getStorageSync('check_report_storage_index');
-						if (list != null && list.length > 0) {
-							list.push(this.checkNo);
-							uni.setStorageSync('check_report_storage_index', list);
-							uni.setStorageSync('check_report_storage_' + this.checkNo, data);
-						} else {
-							list = [];
-							list.push(this.checkNo);
-							uni.setStorageSync('check_report_storage_index', list);
-							uni.setStorageSync('check_report_storage_' + this.checkNo, data);
-						}
-
-						var that = this;
-						uni.showModal({
-							title: '流程确认',
-							content: '请选择复制或继续检查',
-							cancelText: '复制检查单',
-							confirmText: '继续检查',
-							success: function(res) {
-								if (res.confirm) {
-									that.onContinunClick();
-								} else if (res.cancel) {
-									that.onCopyClick();
-								}
-							}
-						});
-
-						//uni.navigateBack();
-					} catch (e) {
-						console.log(e)
-						uni.showModal({
-							content: '保存失败!',
-							showCancel: false
-						});
-					}
-				} else {
-					uni.showModal({
-						content: '请检查必填项',
-						showCancel: false
-					});
-				}
-			},
-			saveLocalFile(paths) {
-				var returnFileList = [];
-				var count = 0;
-				return new Promise((resolve, reject) => {
-					paths.forEach(imagePath => {
-						console.log("path " + imagePath);
-						uni.saveFile({
-							tempFilePath: imagePath,
-							success: (res) => {
-								var savedFilePath = res.savedFilePath;
-								returnFileList.push(savedFilePath);
-								count += 1;
-								if (count == paths.length) {
-									resolve(returnFileList);
-								}
-							},
-							fail: (e) => {
-								reject('err')
-							}
-						})
-					});
-
-				})
-
-			},
-			onCopyClick() {
-				this.localImageList = [];
-				this.checkNo = this.getCheckNo();
-			
-			},
-			onContinunClick() {
-				uni.navigateBack();
-			},
-			async saveLocalFiles() {
-				if (this.localImageList.length > 0) {
-					await this.saveLocalFile(this.localImageList).then(files => {
-						uni.setStorageSync('check_report_storage_image_' + this
-							.checkNo, files);
-					});
-				}
-			},
-			async upload(formdata) {
-				if (this.localImageList.length > 0) {
-					await this.uploadFile(this.localImageList).then(names => {
-						names.forEach(name => {
-							console.log("image path " + name);
-							this.uploadImageList.push(name);
-						})
-
-						var photoPaths = [];
-						this.uploadImageList.forEach(name => {
-							let p = {
-								failureCheckNo: this.checkNo,
-								photoPath: name
-							}
-							photoPaths.push(p);
-						})
-
-						formdata['photoPaths'] = photoPaths;
-
-						var that = this;
-						http.request({
-							url: '/blade-business/report/failure/save',
-							method: 'POST',
-							data: formdata
-						}).then(res => {
-							if (res.success) {
-								uni.showModal({
-									content: '上传成功',
-									showCancel: false,
-									success(res) {
-										if (res.confirm) {
-
-											uni.showModal({
-												title: '流程确认',
-												content: '请选择复制或继续检查',
-												cancelText: '复制检查单',
-												confirmText: '继续检查',
-												confirmColor: '#000000',
-												success: function(res) {
-													if (res.confirm) {
-														that.onContinunClick();
-													} else if (res.cancel) {
-														that.onCopyClick();
-													}
-												}
-											});
-
-											// uni.redirectTo({
-											// 	url: 'pages/checkReport/copyCheckFormConfirm'
-											// });
-											//uni.navigateBack();
-										}
-									}
-								});
-							} else {
-								uni.showModal({
-									content: '' + res.msg,
-									showCancel: false
-								});
-							}
-						}).catch(err => {
-							console.log(err)
-						})
-
-					})
-				} else {
-					var that = this;
-					http.request({
-						url: '/blade-business/report/failure/save',
-						method: 'POST',
-						data: formdata
-					}).then(res => {
-						if (res.success) {
-
-							uni.showModal({
-								content: '上传成功',
-								showCancel: false,
-								success(res) {
-									if (res.confirm) {
-										uni.showModal({
-											title: '流程确认',
-											content: '请选择复制或继续检查',
-											cancelText: '复制检查单',
-											confirmText: '继续检查',
-											confirmColor: '#000000',
-											success: function(res) {
-												if (res.confirm) {
-													that.onContinunClick();
-												} else if (res.cancel) {
-													that.onCopyClick();
-												}
-											}
-										});
-
-										//uni.navigateBack();
-									}
-								}
-							});
-						} else {
-							uni.showModal({
-								content: '' + res.msg,
-								showCancel: false
-							});
-						}
-					}).catch(err => {
-						console.log(err)
-					})
-				}
-			},
-			uploadFile(imagePaths) {
-				var count = 0;
-				var returnImagePathList = [];
-				console.log("accessToken:" + uni.getStorageSync('accessToken'));
-				return new Promise((resolve, reject) => {
-					imagePaths.forEach(imagePath => {
-						console.log("path " + imagePath);
-						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) => {
-								console.log(uploadFileRes);
-								if (uploadFileRes.statusCode == 200) {
-									let data = JSON.parse(uploadFileRes.data);
-									if (data.success) {
-										let name = data.data['name'];
-										returnImagePathList.push(name);
-									}
-								}
-								count += 1;
-								if (count == imagePaths.length) {
-									resolve(returnImagePathList);
-								}
-							},
-							fail: (err) => {
-								console.log(err);
-								reject('err')
-							},
-							complete() {
-								uni.hideLoading()
-							}
-						});
-					});
-				})
-			},
-			formSubmit: function(e) {
-				console.log('form发生了submit事件,携带数据为:' + JSON.stringify(e.detail.value))
-				//var formdata = e.detail.value
-				if ((this.projectInfo.projectId != null && this.projectInfo.projectId.length > 0) &&
-					(this.checkAreaDict.id != null && this.checkAreaDict.id.length > 0) &&
-					(this.checkItemTypeDict.id != null && this.checkItemTypeDict.id.length > 0) &&
-					(this.checkItemLabelDict.id != null && this.checkItemLabelDict.id.length > 0) &&
-					(this.checkStandardDict.id != null && this.checkStandardDict.id.length > 0)) {
-
-					var formdata = {};
-					formdata['failureCheckNo'] = this.checkNo;
-					formdata['failureProjectId'] = this.projectInfo.projectId;
-					formdata['failureCheckArea'] = this.checkAreaDict.id;
-
-					formdata['failureCheckHiddenDangerType'] = this.checkItemTypeDict.id;
-					formdata['failureCheckHiddenDanger'] = this.checkItemLabelDict.id;
-					formdata['failureCheckHiddenDangerItemPoint'] = this.checkStandardDict.id;
-					formdata['failureCheckHiddenDangerStandard'] = this.checkItemStandardBasisDict.id;
-
-					formdata['failureHiddenDangerDesc'] = this.failureHiddenDangerDesc;
-					formdata['failureCheckPointDesc'] = this.failureCheckPointDesc;
-					formdata['failureCorrectiveSuggest'] = this.failureCorrectiveSuggest;
-
-					formdata['failureHiddenDangerLevel'] = this.hiddenDangerRadio.items[this.hiddenDangerRadio.current]
-						.id;
-					formdata['failureCorrectivePlanTime'] = this.planTimeRadio.items[this.planTimeRadio.current]
-						.id;
-
-					this.upload(formdata);
-
-				} else {
-					uni.showModal({
-						content: '请检查必填项',
-						showCancel: false
-					});
-				}
-
-			},
-			formReset: function(e) {
-				console.log('清空数据')
-			},
-			selectCheckArea() {
-				uni.navigateTo({
-					url: '/pages/checkReport/checkAreaSelect'
-				})
-			},
-			selectCheckItemType() {
-				uni.navigateTo({
-					url: '/pages/checkReport/checkItemSelect'
-				})
-			},
-			selectCheckItemLabel() {
-				if (this.checkItemTypeDict.id.length > 0) {
-					uni.navigateTo({
-						url: '/pages/checkReport/checkItemLabelSelect?id=' + this.checkItemTypeDict.id
-					})
-				} else {
-					uni.showModal({
-						content: '请先选择安全隐患问题类型',
-						showCancel: false
-					});
-				}
-			},
-			selectCheckStandard() {
-				if (this.checkItemLabelDict.id.length > 0) {
-					uni.navigateTo({
-						url: '/pages/checkReport/checkStandardSelect?id=' + this.checkItemLabelDict.id
-					})
-				} else {
-					uni.showModal({
-						content: '请先选择安全隐患问题标签',
-						showCancel: false
-					});
-				}
-			},
-			openPage(path) {
-				this.$u.route({
-					url: path
-				})
-			},
-			getGroupTitle(item) {
-				return item.groupName
-			},
-			getFieldTitle(item) {
-				return item.title
-			},
-			goto(url) {
-				console.log(url);
-
-				uni.navigateTo({
-					url: url
-				})
-			}
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-
-	.cell-hover-class {
-		background-color: rgb(235, 237, 238);
-	}
-
-	.view-flex-rs {
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-start;
-	}
-
-	.view-flex-rc {
-		display: flex;
-		flex-direction: row;
-		justify-content: center;
-	}
-
-	.view-flex-re {
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-end;
-	}
-
-	.view-flex-cs {
-		display: flex;
-		flex-direction: column;
-		justify-content: flex-start;
-	}
-
-	.view-flex-cc {
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-	}
-
-	.view-flex-ce {
-		display: flex;
-		flex-direction: column;
-		justify-content: flex-end;
-	}
-
-	.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: 100px;
-		border: 1px solid #FF5A5F;
-		border-radius: 5px;
-	}
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.img-container {
-		margin-bottom: 20px;
-
-		.note-image-box {
-			margin-top: 5px;
-			display: flex;
-			flex-wrap: wrap;
-			padding: 10px;
-
-			.note-image-item {
-				position: relative;
-				width: 33.3%;
-				height: 0;
-				padding-top: 33.3%;
-				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: 5px;
-					right: 5px;
-					border: 5px;
-					left: 5px;
-					border: 1px #eee solid;
-					border-radius: 5px;
-					overflow: hidden;
-					width: 95%;
-					height: 95%;
-
-				}
-
-
-			}
-		}
-	}
-</style>

+ 0 - 141
pages/checkReport/checkAreaSelect.vue

@@ -1,141 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view class="container">
-			<uni-list>
-				<uni-list-item v-for="(item, index) in dictList" :key="index">
-					<template v-slot:body>
-						<image slot="icon" class="u-cell-icon" :src="getIcon('cell')" mode="widthFix"></image>
-						<view  @click="selectItem(item)">
-							<text>{{item.dictValue}}</text>
-						</view>
-					</template>
-				</uni-list-item>
-			</uni-list>
-		</view>
-
-		<!-- 	<view class="list-wrap"> -->
-		<!-- 	<u-cell-group title-bg-color="rgb(243, 244, 246)" :title="item.groupName" v-for="(item, index) in dictList"
-				:key="index"> -->
-		<!-- 			<u-cell-item :titleStyle="{fontWeight: 500}" @click="selectItem(item1)" :title="item1.dictValue"
-				v-for="(item1, index1) in dictList" :key="index1">
-				<image slot="icon" class="u-cell-icon" :src="getIcon('cell')" mode="widthFix"></image>
-			</u-cell-item> -->
-		<!-- </u-cell-group> -->
-		<!-- 	</view> -->
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import http from '@/http/api.js'
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-
-			//let dictList = [];
-			// dictList['groupName'] = '列表信息';
-			var list = [];
-
-			http.request({
-				url: '/galaxy-system/dict-biz/list?parentId=1513484347324018689',
-				//url: '/galaxy-system/dict-biz/child-list?parentId=1511974496622145537',
-				method: 'GET'
-			}).then(res => {
-				console.log(res.data)
-				if (res.data != null) {
-					const dictLength = res.data['length'];
-					for (var i = 0; i < dictLength; i++) {
-						let dict = res.data['' + i];
-						console.log("d " + dict.toString());
-						list.push(dict);
-						// "dictKey": "rqaq",
-						// "dictValue": "燃气安全",
-						// "hasChildren": false,
-						// "id": "1511918319641100290",
-						// "parentId": "1511974496622145537",
-					}
-				}
-
-			}).catch(err => {
-				console.log(err)
-			})
-
-			//dictList['list'] = list;
-			this.dictList = list;
-
-		},
-		data() {
-			return {
-				dictList: [],
-				title: '选择检查区域',
-				desc: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: ""
-			});
-		},
-		created() {
-
-		},
-		methods: {
-			selectItem(dict) {
-				uni.$emit("handClickAreaSelect", {
-					id: dict['id'],
-					dictKey: dict['dictKey'],
-					dictValue: dict['dictValue']
-				});
-				uni.navigateBack();
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-		.slot-box {
-			/* #ifndef APP-NVUE */
-			display: flex;
-			/* #endif */
-			flex-direction: row;
-			align-items: center;
-		}
-	
-		.slot-image {
-			/* #ifndef APP-NVUE */
-			display: block;
-			/* #endif */
-			margin-right: 10px;
-			width: 30px;
-			height: 30px;
-		}
-	
-		.slot-text {
-			flex: 1;
-			font-size: 14px;
-			color: #4cd964;
-			margin-right: 10px;
-		}
-</style>

+ 0 - 138
pages/checkReport/checkItemLabelSelect.vue

@@ -1,138 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view class="container">
-			<uni-list>
-				<uni-list-item v-for="(item, index) in dictList" :key="index">
-					<template v-slot:body>
-						<image slot="icon" class="u-cell-icon" :src="getIcon('cell')" mode="widthFix"></image>
-						<view @click="selectItem(item)">
-							<text>{{item.dictValue}}</text>
-						</view>
-					</template>
-				</uni-list-item>
-			</uni-list>
-		</view>
-
-		<!-- 		<view class="list-wrap">
-			<u-cell-group title-bg-color="rgb(243, 244, 246)" :title="item.groupName"
-				v-for="(item, index) in dictList" :key="index">
-				<u-cell-item :titleStyle="{fontWeight: 500}" @click="selectItem(item1)"
-					:title="item1.dictValue" v-for="(item1, index1) in item.list" :key="index1">
-					<image slot="icon" class="u-cell-icon" :src="getIcon('cell')" mode="widthFix"></image>
-				</u-cell-item>
-			</u-cell-group>
-		</view> -->
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import http from '@/http/api.js'
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-
-			let dictId = option.id;
-
-			// let dictList = {};
-			// dictList['groupName'] = '列表信息';
-			var list = [];
-
-			http.request({
-				url: '/galaxy-system/dict-biz/list?parentId=' + dictId,
-				//url: '/galaxy-system/dict-biz/child-list?parentId=' + dictId,
-				method: 'GET'
-			}).then(res => {
-				console.log(res.data)
-				if (res.data != null) {
-					const dictLength = res.data['length'];
-					for (var i = 0; i < dictLength; i++) {
-						let dict = res.data['' + i];
-						list.push(dict);
-					}
-				}
-
-			}).catch(err => {
-				console.log(err)
-			})
-
-			// dictList['list'] = list;
-			this.dictList = list;
-
-
-		},
-		data() {
-			return {
-				dictList: [],
-				title: '选择检查部位',
-				desc: ''
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: ""
-			});
-		},
-		created() {
-
-		},
-		methods: {
-			selectItem(dict) {
-				uni.$emit("handClickItemLabelSelect", {
-					id: dict['id'],
-					dictKey: dict['dictKey'],
-					dictValue: dict['dictValue']
-				});
-				uni.navigateBack();
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-		.slot-box {
-			/* #ifndef APP-NVUE */
-			display: flex;
-			/* #endif */
-			flex-direction: row;
-			align-items: center;
-		}
-	
-		.slot-image {
-			/* #ifndef APP-NVUE */
-			display: block;
-			/* #endif */
-			margin-right: 10px;
-			width: 30px;
-			height: 30px;
-		}
-	
-		.slot-text {
-			flex: 1;
-			font-size: 14px;
-			color: #4cd964;
-			margin-right: 10px;
-		}
-</style>

+ 0 - 133
pages/checkReport/checkItemSelect.vue

@@ -1,133 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view class="container">
-			<uni-list>
-				<uni-list-item v-for="(item, index) in dictList" :key="index">
-					<template v-slot:body>
-						<image slot="icon" class="u-cell-icon" :src="getIcon('cell')" mode="widthFix"></image>
-						<view @click="selectItem(item)">
-							<text>{{item.dictValue}}</text>
-						</view>
-					</template>
-				</uni-list-item>
-			</uni-list>
-		</view>
-<!-- 		<view class="list-wrap">
-			<u-cell-group title-bg-color="rgb(243, 244, 246)" :title="item.groupName" v-for="(item, index) in dictList"
-				:key="index">
-				<u-cell-item :titleStyle="{fontWeight: 500}" @click="selectItem(item1)" :title="item1.dictValue"
-					v-for="(item1, index1) in item.list" :key="index1">
-					<image slot="icon" class="u-cell-icon" :src="getIcon('cell')" mode="widthFix"></image>
-				</u-cell-item>
-			</u-cell-group>
-		</view> -->
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import http from '@/http/api.js'
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-	
-			//let dictList = {};
-			// dictList['groupName'] = '列表信息';
-			 var list = [];
-
-			http.request({
-				//url: '/galaxy-system/dict-biz/child-list?parentId='+dictId,
-				url: '/galaxy-system/dict-biz/list?parentId=1511974496622145537',
-				method: 'GET'
-			}).then(res => {
-				console.log(res.data)
-				if (res.data != null) {
-					const dictLength = res.data['length'];
-					for (var i = 0; i < dictLength; i++) {
-						let dict = res.data['' + i];
-						list.push(dict);
-					}
-				}
-
-			}).catch(err => {
-				console.log(err)
-			})
-
-			// dictList['list'] = list;
-			this.dictList = list;
-		},
-		data() {
-			return {
-				dictList: [],
-				title: '选择安全问题隐患类型',
-				desc: ''
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: ""
-			});
-		},
-		created() {
-
-		},
-		methods: {
-			selectItem(dict) {
-				uni.$emit("handClickItemSelect", {
-					id: dict['id'],
-					dictKey: dict['dictKey'],
-					dictValue: dict['dictValue']
-				});
-				uni.navigateBack();
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-		.slot-box {
-			/* #ifndef APP-NVUE */
-			display: flex;
-			/* #endif */
-			flex-direction: row;
-			align-items: center;
-		}
-	
-		.slot-image {
-			/* #ifndef APP-NVUE */
-			display: block;
-			/* #endif */
-			margin-right: 10px;
-			width: 30px;
-			height: 30px;
-		}
-	
-		.slot-text {
-			flex: 1;
-			font-size: 14px;
-			color: #4cd964;
-			margin-right: 10px;
-		}
-</style>

+ 0 - 163
pages/checkReport/checkProjectSelect.vue

@@ -1,163 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view class="container">
-			<uni-list>
-				<uni-list-item @click="openPage(item)" :clickable="true" :showArrow="isNext" :title="getFieldTitle(item)"
-					v-for="(item, index) in projectList" :key="index" :thumb="getIcon('cell')" thumb-size="sm">
-					<!-- 				<template v-slot:body>
-						<image slot="icon" class="u-cell-icon" :src="getIcon('cell')" mode="widthFix"></image>
-						<view @click="openPage(item)">
-							<text>{{getFieldTitle(item)}}</text>
-						</view>
-					</template>
-					<template v-slot:footer>
-						<uni-icons type="right" size="20" style="color: #969799;"></uni-icons>
-					</template> -->
-				</uni-list-item>
-			</uni-list>
-		</view>
-
-		<!-- 		<view class="list-wrap">
-			<u-cell-group title-bg-color="rgb(243, 244, 246)" :title="getGroupTitle(item)"
-				v-for="(item, index) in projectList" :key="index">
-				<u-cell-item :titleStyle="{fontWeight: 500}" @click="openPage(item1)" :title="getFieldTitle(item1)"
-					v-for="(item1, index1) in item.list" :key="index1">
-					<image slot="icon" class="u-cell-icon" :src="getIcon('cell')" mode="widthFix"></image>
-				</u-cell-item>
-			</u-cell-group>
-		</view> -->
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import http from '@/http/api.js'
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-			const current = 1;
-			const size = 1000;
-			// let projectList = {};
-			// projectList['groupName'] = '项目列表';
-			var list = [];
-			http.request({
-				url: '/blade-business/report/projectInfo/listByUserId',
-				method: 'GET',
-				params: {
-					current,
-					size
-				}
-			}).then(res => {
-				console.log(res.data)
-				if (res.data != null && res.data.length > 0) {
-					for (let i in res.data) {
-						var projectInfo = {
-							id: res.data[i].id,
-							title: '' + res.data[i].projectName
-						};
-						list.push(projectInfo);
-					}
-				}
-
-			}).catch(err => {
-				console.log(err)
-			})
-			//projectList['list'] = list;
-			this.projectList = list;
-			this.model = option.model;
-			if (this.model == '0') {
-				this.isNext = true;
-			} else {
-				this.isNext = false;
-			}
-			console.log(option.model)
-		},
-		data() {
-			return {
-				projectList: [],
-				title: '选择项目',
-				desc: '',
-				model: '0',
-				isNext: true,
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: "选择项目"
-			});
-		},
-		created() {
-
-		},
-		methods: {
-			openPage(item) {
-				if (this.model == '0') {
-					uni.navigateTo({
-						url: '/pages/checkReport/addCheckReport' + '?id=' + item.id
-					})
-				} else {
-					uni.$emit("handClickProjectSelect", {
-						projectId: item.id,
-						title: item.title
-					});
-					uni.navigateBack();
-				}
-			},
-			getGroupTitle(item) {
-				return item.groupName
-			},
-			getFieldTitle(item) {
-				return item.title
-			}
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-</style>

+ 0 - 129
pages/checkReport/checkProjectSelectTab.vue

@@ -1,129 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<!-- <view class="list-wrap"> -->
-			<!-- <u-cell-group title-bg-color="rgb(243, 244, 246)" :title="getGroupTitle(item)" -->
-		<!-- 		v-for="(item, index) in projectList" :key="index"> -->
-	<!-- 			<u-cell-item :titleStyle="{fontWeight: 500}" @click="openPage(item1)" :title="getFieldTitle(item1)"
-					v-for="(item1, index1) in projectList" :key="index1">
-					<image slot="icon" class="u-cell-icon" :src="getIcon('cell')" mode="widthFix"></image>
-				</u-cell-item> -->
-			<!-- </u-cell-group> -->
-	<!-- 	</view> -->
-		
-		<view class="container">
-			<uni-list>
-				<uni-list-item @click="openPage(item)" :clickable="true" showArrow :title="getFieldTitle(item)"
-					v-for="(item, index) in projectList" :key="index" :thumb="getIcon('cell')" thumb-size="sm">
-					<!-- 				<template v-slot:body>
-						<image slot="icon" class="u-cell-icon" :src="getIcon('cell')" mode="widthFix"></image>
-						<view @click="openPage(item)">
-							<text>{{getFieldTitle(item)}}</text>
-						</view>
-					</template>
-					<template v-slot:footer>
-						<uni-icons type="right" size="20" style="color: #969799;"></uni-icons>
-					</template> -->
-				</uni-list-item>
-			</uni-list>
-		</view>
-		
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import http from '@/http/api.js'
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-			const current = 1;
-			const size = 1000;
-			// let projectList = {};
-			// projectList['groupName'] = '项目列表';
-			var list = [];
-
-			http.request({
-				url: '/blade-business/report/projectInfo/listByUserId',
-				method: 'GET',
-				params: {
-					current,
-					size
-				}
-			}).then(res => {
-				console.log(res.data)
-				if (res.data != null && res.data.length > 0) {
-					for (let i in res.data) {
-						var projectInfo = {
-							id: res.data[i].id,
-							title: '' + res.data[i].projectName
-						};
-						list.push(projectInfo);
-					}
-				}
-
-			}).catch(err => {
-				console.log(err)
-			})
-
-		//	projectList['list'] = list;
-			this.projectList = list;
-
-		},
-		data() {
-			return {
-				projectList: [],
-				title: '开始检查',
-				desc: '',
-				model: '0'
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: "开始检查"
-			});
-		},
-		created() {
-
-		},
-		methods: {
-			openPage(item) {
-				const basePath = '/pages/checkReport/addCheckReport';
-				const path = basePath + '?id=' + item.id;
-				this.$u.route({
-					url: path
-				})
-			},
-			getGroupTitle(item) {
-				return item.groupName
-			},
-			getFieldTitle(item) {
-				return item.title
-			}
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-</style>

+ 0 - 281
pages/checkReport/checkReportList.vue

@@ -1,281 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view class="container">
-			<uni-list>
-				<uni-list-item v-for="(item, index) in list" :key="index">
-					<!-- 自定义 body -->
-					<template v-slot:body>
-						<!-- 		<uni-swipe-action ref="swipeAction">
-							<uni-swipe-action-item :right-options="options" 
-								@change="swipeChange($event, index)" @click="swipeClick($event, index)">
-								<view class="content-box"> -->
-						<view style="height: 200px;width: 100%;display: flex;flex-direction: column;">
-							<view style="display: flex;flex-direction: row;width: 100%;justify-content: flex-start;">
-								<view style="font-size: 18px;font-weight: bold;width: 88%;">问题编号:{{item.failureCheckNo}}
-								</view>
-								<view style="width: 10%;" @click="delRecord(item.id)">
-									<uni-icons type="trash" size="30"></uni-icons>
-								</view>
-							</view>
-							<view>
-								<text
-									style="margin-right: 10px;font-weight: bolder;">检查点位:</text><text>{{item.failureCheckPointDesc}}</text>
-							</view>
-							<view>
-								<text style="margin-right: 10px;font-weight: bolder;">问题描述:</text>
-								<view style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
-									{{item.failureHiddenDangerDesc}}
-								</view>
-							</view>
-							<view style="display: flex;flex-direction: row;min-height: 30px;">
-								<view style="width: 200px;">{{item.createTime}}</view>
-								<view style="color: #18B566;">{{item.checkUserName}}</view>
-							</view>
-							<view style="margin-top: 5px;padding-left: 0px;padding-right: 0px;">
-								<button type="default" @click="openPage(item.id)">编辑</button>
-							</view>
-						</view>
-						<!-- 							</view>
-							</uni-swipe-action-item>
-						</uni-swipe-action> -->
-
-
-					</template>
-				</uni-list-item>
-
-			</uni-list>
-		</view>
-		<!-- 		<view class="list-wrap">
-			<u-cell-item :titleStyle="{fontWeight: 500}" @click="openPage(item.id)" :title="getTitle(item.failureCheckNo)"
-				v-for="(item, index) in list" :key="index" >
-				<view>fff</view>
-			</u-cell-item>
-		</view> -->
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-
-	import http from '@/http/api.js';
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-			this.loadList();
-		},
-		data() {
-			return {
-				list: [],
-				title: '问题列表管理',
-				desc: '',
-				options: [{
-						text: '置顶'
-					},
-					{
-						text: '删除',
-						style: {
-							backgroundColor: 'rgb(255,58,49)'
-						}
-					}
-				],
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: ""
-			});
-		},
-		created() {
-
-		},
-		methods: {
-			loadList() {
-				const current = 1;
-				const size = 1000;
-				const isSubmit = '0';
-
-				var reportList = [];
-				http.request({
-					url: '/blade-business/report/failure/queryPage',
-					method: 'GET',
-					params: {
-						current,
-						size,
-						isSubmit
-					}
-				}).then(res => {
-					if (res.data.records != null) {
-						const listSize = res.data.records['length'];
-						for (var i = 0; i < listSize; i++) {
-							let report = res.data.records['' + i];
-							reportList.push(report);
-						}
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-				this.list = reportList;
-			},
-			openPage(id) {
-				this.$u.route({
-					url: '/pages/checkReport/editCheckReport?id=' + id
-				})
-			},
-			getTitle(checkNo) {
-				return "问题编号:" + checkNo;
-			},
-			swipeChange(e, index) {
-				console.log('返回:', e);
-				console.log('当前索引:', index);
-			},
-			swipeClick(e, index) {
-
-			},
-			delRecord(id) {
-				const that = this;
-				uni.showModal({
-					content: '确定删除记录?',
-					showCancel: true,
-					success(res) {
-						if (res.confirm) {
-							var ids = id;
-
-							http.request({
-								url: '/blade-business/report/failure/remove',
-								method: 'POST',
-								params: {
-									ids
-								}
-							}).then(res => {
-								console.log(JSON.stringify(res.data))
-								if (res.success) {
-									uni.showModal({
-										content: '删除已成功',
-										showCancel: false,
-										success(res) {
-											if (res.confirm) {
-												that.loadList();
-											}
-										}
-									});
-								}
-							}).catch(err => {
-								console.log(err)
-							})
-						}
-					}
-				});
-			}
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

+ 0 - 180
pages/checkReport/checkReportListCache.vue

@@ -1,180 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view class="container">
-			<uni-list>
-				<uni-list-item v-for="(item, index) in list" :key="index">
-					<!-- 自定义 body -->
-					<template v-slot:body>
-						<view style="height: 200px;width: 100%;display: flex;flex-direction: column;">
-							<view style="display: flex;flex-direction: row;width: 100%;justify-content: flex-start;">
-								<view style="font-size: 18px;font-weight: bold;width: 88%;">问题编号:{{item.failureCheckNo}}
-								</view>
-								<view style="width: 10%;" @click="delRecord(item.failureCheckNo)">
-									<uni-icons type="trash" size="30"></uni-icons>
-								</view>
-							</view>
-							<view>
-								<text
-									style="margin-right: 10px;font-weight: bolder;">检查点位:</text><text>{{item.failureCheckPointDesc}}</text>
-							</view>
-							<view>
-								<text style="margin-right: 10px;font-weight: bolder;">问题描述:</text>
-								<view style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
-									{{item.failureHiddenDangerDesc}}
-								</view>
-							</view>
-							<view style="display: flex;flex-direction: row;min-height: 30px;">
-								<view style="width: 200px;">{{item.createTime}}</view>
-								<view style="color: #18B566;">{{item.createUserName}}</view>
-							</view>
-							<view style="margin-top: 5px;padding-left: 0px;padding-right: 0px;">
-								<button type="default" @click="openPage(item.failureCheckNo)">编辑</button>
-							</view>
-						</view>
-					</template>
-				</uni-list-item>
-
-			</uni-list>
-		</view>
-
-		<!-- 		<view class="list-wrap">
-			<u-cell-item :titleStyle="{fontWeight: 500}" @click="openPage(item.failureCheckNo)"
-				:title="item.failureCheckNo" v-for="(item, index) in list" :key="index">
-				
-			</u-cell-item>
-		</view> -->
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import http from '@/http/api.js';
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-			var reportList = [];
-			var list = uni.getStorageSync('check_report_storage_index');
-			if (list != null && list.length > 0) {
-				list.forEach(itemKey => {
-					var data = uni.getStorageSync('check_report_storage_' + itemKey);
-					if (data != null) {
-						reportList.push(data);
-					}
-				});
-			}
-			this.list = reportList;
-		},
-		data() {
-			return {
-				list: [],
-				title: '缓存问题列表管理',
-				desc: ''
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: ""
-			});
-			var reportList = [];
-			var list = uni.getStorageSync('check_report_storage_index');
-			if (list != null && list.length > 0) {
-				list.forEach(itemKey => {
-					var data = uni.getStorageSync('check_report_storage_' + itemKey);
-					if (data != null) {
-						reportList.push(data);
-					}
-				});
-			}
-			this.list = reportList;
-		},
-		created() {
-
-		},
-		methods: {
-			openPage(checkNo) {
-				uni.navigateTo({
-					url: '/pages/checkReport/editCacheCheckReport?checkNo=' + checkNo
-				})
-			},
-			delRecord(checkNo) {
-				const that = this;
-				uni.showModal({
-					content: '确定删除记录?',
-					showCancel: true,
-					success(res) {
-						if (res.confirm) {
-							var reportList = [];
-							var reportIndexList = [];
-							var list = uni.getStorageSync('check_report_storage_index');
-							if (list != null && list.length > 0) {
-								list.forEach(itemKey => {
-									if (checkNo !== itemKey) {
-										var data = uni.getStorageSync('check_report_storage_' + itemKey);
-										if (data != null) {
-											reportList.push(data);
-										}
-										reportIndexList.push(itemKey);
-									} else {
-										uni.removeStorageSync('check_report_storage_' + itemKey);
-										uni.removeStorageSync('check_report_storage_image_' + itemKey);
-									}
-								});
-							}
-							uni.setStorageSync('check_report_storage_index', reportIndexList);
-							that.list = reportList;
-						}
-					}
-				});
-			}
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-</style>

+ 0 - 217
pages/checkReport/checkReportListManage.vue

@@ -1,217 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view class="container">
-			<uni-list>
-				<uni-list-item v-for="(item, index) in list" :key="index">
-					<!-- 自定义 body -->
-					<template v-slot:body>
-						<view style="height: 200px;width: 100%;display: flex;flex-direction: column;">
-							<view style="display: flex;flex-direction: row;width: 100%;justify-content: flex-start;">
-								<view style="font-size: 18px;font-weight: bold;width: 88%;">问题编号:{{item.failureCheckNo}}
-								</view>
-								<view style="width: 10%;" @click="delRecord(item.id)">
-									<uni-icons type="trash" size="30"></uni-icons>
-								</view>
-							</view>
-							<view>
-								<text
-									style="margin-right: 10px;font-weight: bolder;">检查点位:</text><text>{{item.failureCheckPointDesc}}</text>
-							</view>
-							<view>
-								<text style="margin-right: 10px;font-weight: bolder;">问题描述:</text>
-								<view style="white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
-									{{item.failureHiddenDangerDesc}}
-								</view>
-							</view>
-							<view style="display: flex;flex-direction: row;min-height: 30px;">
-								<view style="width: 200px;">{{item.createTime}}</view>
-								<view style="color: #18B566;">{{item.checkUserName}}</view>
-							</view>
-							<view style="margin-top: 5px;padding-left: 0px;padding-right: 0px;">
-								<button type="default" @click="openPage(item.id)">编辑</button>
-							</view>
-						</view>
-					</template>
-				</uni-list-item>
-
-			</uni-list>
-		</view>
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import http from '@/http/api.js';
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-			this.loadList();
-			const current = 1;
-			const size = 1000;
-			const isSubmit = '0';
-
-			var reportList = [];
-			http.request({
-				url: '/blade-business/report/failure/queryPage',
-				method: 'GET',
-				params: {
-					current,
-					size,
-					isSubmit
-				}
-			}).then(res => {
-				console.log(res.data)
-				if (res.data.records != null) {
-					const listSize = res.data.records['length'];
-					for (var i = 0; i < listSize; i++) {
-						let report = res.data.records['' + i];
-						reportList.push(report);
-					}
-				}
-
-			}).catch(err => {
-				console.log(err)
-			})
-
-			this.list = reportList;
-		},
-		data() {
-			return {
-				list: [],
-				title: '问题管理',
-				desc: ''
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: "问题管理"
-			});
-		},
-		created() {
-
-		},
-		methods: {
-			openPage(id) {
-				const basePath = '/pages/checkReport/editCheckReport';
-				const path = basePath + '?id=' + id;
-				this.$u.route({
-					url: path
-				})
-
-			},
-			loadList() {
-				const current = 1;
-				const size = 1000;
-				const isSubmit = '0';
-
-				var reportList = [];
-				http.request({
-					url: '/blade-business/report/failure/queryPage',
-					method: 'GET',
-					params: {
-						current,
-						size,
-						isSubmit
-					}
-				}).then(res => {
-					if (res.data.records != null) {
-						const listSize = res.data.records['length'];
-						for (var i = 0; i < listSize; i++) {
-							let report = res.data.records['' + i];
-							reportList.push(report);
-						}
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-				this.list = reportList;
-			},
-			delRecord(id) {
-				const that = this;
-				uni.showModal({
-					content: '确定删除记录?',
-					showCancel: true,
-					success(res) {
-						if (res.confirm) {
-							var ids = id;
-
-							http.request({
-								url: '/blade-business/report/failure/remove',
-								method: 'POST',
-								params: {
-									ids
-								}
-							}).then(res => {
-								console.log(JSON.stringify(res.data))
-								if (res.success) {
-									uni.showModal({
-										content: '删除已成功',
-										showCancel: false,
-										success(res) {
-											if (res.confirm) {
-												that.loadList();
-											}
-										}
-									});
-								}
-							}).catch(err => {
-								console.log(err)
-							})
-						}
-					}
-				});
-			}
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-</style>

+ 0 - 202
pages/checkReport/checkStandardSelect.vue

@@ -1,202 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view class="container">
-			<uni-list>
-				<uni-list-item v-for="(item, index) in dictList" :key="index">
-					<template v-slot:body>
-						<image slot="icon" class="u-cell-icon" :src="getIcon('cell')" mode="widthFix"></image>
-						<view @click="selectItem(item)">
-							<text>{{item.dictValue}}</text>
-						</view>
-					</template>
-				</uni-list-item>
-			</uni-list>
-		</view>
-
-		<!-- 		<view class="list-wrap">
-			<u-cell-group title-bg-color="rgb(243, 244, 246)" :title="item.groupName" v-for="(item, index) in dictList"
-				:key="index">
-				<u-cell-item :titleStyle="{fontWeight: 500}" @click="selectItem(item1)" :title="item1.dictValue"
-					v-for="(item1, index1) in item.list" :key="index1">
-					<image slot="icon" class="u-cell-icon" :src="getIcon('cell')" mode="widthFix"></image>
-				</u-cell-item>
-			</u-cell-group>
-		</view> -->
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import http from '@/http/api.js'
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-			let dictId = option.id;
-			// let dictList = {};
-			// dictList['groupName'] = '列表信息';
-			var list = [];
-			http.request({
-				url: '/galaxy-system/dict-biz/list?parentId=' + dictId,
-				method: 'GET'
-			}).then(res => {
-				console.log(res.data)
-				if (res.data != null) {
-					const dictLength = res.data['length'];
-					for (var i = 0; i < dictLength; i++) {
-						let dict = res.data['' + i];
-						list.push(dict);
-					}
-				}
-
-			}).catch(err => {
-				console.log(err)
-			})
-			// dictList['list'] = list;
-			this.dictList = list;
-		},
-		data() {
-			return {
-				dictList: [],
-				title: '选择问题隐患标签',
-				desc: ''
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: ""
-			});
-		},
-		created() {
-
-		},
-		methods: {
-			selectItem(dict) {
-				const that = this;
-				const parentId = dict['id'];
-				uni.showLoading({
-					title: '处理中'
-				});
-				http.request({
-					url: '/galaxy-system/dict-biz/list',
-					method: 'GET',
-					params: {
-						parentId
-					}
-				}).then(res => {
-					uni.hideLoading()
-					if (res.data != null) {
-						const dictLength = res.data['length'];
-						if (dictLength > 0) {
-							let basisDict = res.data[0];
-
-							var subDict = {
-								id: basisDict['id'],
-								dictKey: basisDict['dictKey'],
-								dictValue: basisDict['dictValue'],
-							};
-
-							uni.$emit("handClickStandardSelect", {
-								id: dict['id'],
-								dictKey: dict['dictKey'],
-								dictValue: dict['dictValue'],
-								subDict: subDict
-							});
-							uni.navigateBack();
-
-						} else {
-							var subDict = {
-								id: '',
-								dictKey: '',
-								dictValue: '',
-							};
-							uni.$emit("handClickStandardSelect", {
-								id: dict['id'],
-								dictKey: dict['dictKey'],
-								dictValue: dict['dictValue'],
-								subDict: subDict
-							});
-							uni.navigateBack();
-
-							// uni.showModal({
-							// 	content: '此标准下没有依据!',
-							// 	showCancel: false
-							// });
-						}
-
-					} else {
-						// uni.showModal({
-						// 	content: '此标准下没有依据!',
-						// 	showCancel: false
-						// });
-						var subDict = {
-							id: '',
-							dictKey: '',
-							dictValue: '',
-						};
-						uni.$emit("handClickStandardSelect", {
-							id: dict['id'],
-							dictKey: dict['dictKey'],
-							dictValue: dict['dictValue'],
-							subDict: subDict
-						});
-						uni.navigateBack();
-					}
-
-
-				}).catch(err => {
-					uni.hideLoading()
-					console.log(err)
-				})
-
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-		.slot-box {
-			/* #ifndef APP-NVUE */
-			display: flex;
-			/* #endif */
-			flex-direction: row;
-			align-items: center;
-		}
-	
-		.slot-image {
-			/* #ifndef APP-NVUE */
-			display: block;
-			/* #endif */
-			margin-right: 10px;
-			width: 30px;
-			height: 30px;
-		}
-	
-		.slot-text {
-			flex: 1;
-			font-size: 14px;
-			color: #4cd964;
-			margin-right: 10px;
-		}
-</style>

+ 0 - 95
pages/checkReport/copyCheckFormConfirm.vue

@@ -1,95 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view class="uni-form-item uni-column">
-			<view class="line-body">
-				<button type="default" @click="onCopyClick">复制该检查单</button>
-			</view>
-			<view class="line-body" style="margin-top: 10px;">
-				<button type="default" @click="onContinunClick">继续检查</button>
-			</view>
-		</view>
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import http from '@/http/api.js'
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-
-
-		},
-		data() {
-			return {
-				title: '下一步流程',
-				desc: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: ""
-			});
-		},
-		created() {
-
-		},
-		methods: {
-			onCopyClick(e) {
-
-			},
-			onContinunClick(e) {
-
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-</style>

+ 0 - 1190
pages/checkReport/editCacheCheckReport.vue

@@ -1,1190 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view>
-			<form @submit="formSubmit" @reset="formReset">
-				<!-- 项目信息项 -->
-				<view class="uni-form-item">
-					<view class="view-flex-rs line-body">
-						<view class="view-flex-cc">
-							<text class="required-star">*</text>
-						</view>
-						<view style="width: 200rpx;" class="view-flex-cc item-title">
-							<text>当前项目:</text>
-						</view>
-						<view style="flex-grow: 0.9;" class="view-flex-cc">
-							<text>{{projectInfo.title}}</text>
-						</view>
-						<view style="width: 200rpx;" class="view-flex-cc">
-							<button style="height: 80rpx;font-size: medium;" type="primary"
-								@click="goto('/pages/checkReport/checkProjectSelect?model=1')">重新选择</button>
-						</view>
-					</view>
-				</view>
-				<!-- 检查区域信息项 -->
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="line-body view-flex-rs">
-						<text class="required-star">*</text>
-						<text class="item-title">检查区域</text>
-					</view>
-					<view>
-						<uni-list-item @click="selectCheckArea()" :clickable="true" :ellipsis="1"
-							:show-extra-icon="true" showArrow
-							:extra-icon="{color: '#4cd964',size: '22',type: 'settings'}"
-							v-bind:title="checkAreaDict.dictValue" />
-					</view>
-					<!-- 				<u-cell-item class="line-body" icon="setting-fill" v-bind:title="checkAreaDict.dictValue"
-						hover-class="cell-hover-class" @click="selectCheckArea()"></u-cell-item> -->
-				</view>
-				<!-- 检查点位文本信息项 -->
-				<view class="uni-form-item uni-column" style="margin-top: 10rpx;">
-					<view class="line-body item-title">
-						具体位置
-					</view>
-					<view class="line-body">
-						<uni-easyinput errorMessage v-model="failureCheckPointDesc" placeholder="请输入内容"></uni-easyinput>
-					</view>
-				</view>
-				<!-- 安全隐患问题类型信息项,字典 -->
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="line-body view-flex-rs">
-						<text class="required-star">*</text>
-						<text class="item-title">安全问题隐患类型</text>
-					</view>
-					<view>
-						<uni-list-item @click="selectCheckItemType()" :clickable="true" :ellipsis="1"
-							:show-extra-icon="true" showArrow
-							:extra-icon="{color: '#4cd964',size: '22',type: 'settings'}"
-							v-bind:title="checkItemTypeDict.dictValue" />
-					</view>
-
-					<!-- 	<u-cell-item class="line-body" icon="setting-fill" v-bind:title="checkItemTypeDict.dictValue"
-						hover-class="cell-hover-class" @click="selectCheckItemType()"></u-cell-item> -->
-				</view>
-				<!-- 安全隐患问题标签信息项,字典 -->
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="line-body view-flex-rs">
-						<text class="required-star">*</text>
-						<text class="item-title">检查部位</text>
-					</view>
-					<view>
-						<uni-list-item @click="selectCheckItemLabel()" :clickable="true" :ellipsis="1"
-							:show-extra-icon="true" showArrow
-							:extra-icon="{color: '#4cd964',size: '22',type: 'settings'}"
-							v-bind:title="checkItemLabelDict.dictValue" />
-					</view>
-					<!-- <u-cell-item class="line-body" icon="setting-fill"  v-bind:title="checkItemLabelDict.dictValue"
-						hover-class="cell-hover-class" @click="selectCheckItemLabel()"></u-cell-item> -->
-				</view>
-
-
-				<!-- 安全隐患问题排查标准信息项,字典 -->
-				<view class="uni-form-item  uni-column" style="margin-top: 10px;">
-					<view class="line-body view-flex-rs">
-						<text class="required-star">*</text>
-						<text class="item-title">问题隐患标签</text>
-					</view>
-					<view>
-						<uni-list-item @click="selectCheckStandard()" :clickable="true" :ellipsis="1"
-							:show-extra-icon="true" showArrow
-							:extra-icon="{color: '#4cd964',size: '22',type: 'settings'}"
-							v-bind:title="checkStandardDict.dictValue" />
-					</view>
-
-
-					<!-- <u-cell-item class="line-body" icon="setting-fill" v-bind:title="checkStandardDict.dictValue"
-						hover-class="cell-hover-class" @click="selectCheckStandard()"></u-cell-item> -->
-				</view>
-				<view class="uni-form-item uni-column" style="margin-top: 10px;">
-					<view class="line-body item-title">
-						法律法规
-					</view>
-					<view class="line-body">
-						<textarea disabled v-model="checkItemStandardBasisDict.dictValue" class="mline-text" />
-
-						<!-- <uni-easyinput disabled v-model="checkItemStandardBasisDict.dictValue"></uni-easyinput> -->
-					</view>
-				</view>
-
-				<!-- 	安全隐患问题描述信息项,文本 -->
-				<view class="uni-form-item uni-column" style="margin-top: 10px;">
-					<view class="line-body item-title">
-						安全问题隐患描述
-					</view>
-					<view class="line-body">
-						<textarea v-model="failureHiddenDangerDesc" name="failureCorrectiveSuggest"
-							class="mline-text" />
-
-					</view>
-				</view>
-
-				<!-- 隐患等级信息项,字典 -->
-				<view class="uni-form-item" style="margin-top: 15px;">
-					<view class="view-flex-rs">
-						<view class="uni-title line-body"><text class="required-star">*</text><text
-								class="item-title">隐患等级</text></view>
-						<view class="line-body">
-							<radio-group @change="hiddenDangerRadioChange"
-								style="display: flex;flex-direction: row;justify-content: flex-start;">
-								<label style="margin-top: 2px;margin-right: 5px;" class="view-flex-rs"
-									v-for="(item, index) in hiddenDangerRadio.items" :key="item.id">
-									<view>
-										<radio :value="item.id" :checked="index === hiddenDangerRadio.current" />
-									</view>
-									<view style="font-size: 12px;">{{item.dictValue}}</view>
-								</label>
-							</radio-group>
-						</view>
-					</view>
-				</view>
-				<!-- 整改建议信息项,文本 -->
-				<view class="uni-form-item uni-column" style="margin-top: 10px;">
-					<view class="line-body item-title">
-						整改建议
-					</view>
-					<view class="line-body">
-						<textarea v-model="failureCorrectiveSuggest" name="failureCorrectiveSuggest"
-							class="mline-text" />
-					</view>
-				</view>
-				<!-- 整改期限信息项,字典 -->
-				<view class="uni-form-item" style="margin-top: 15px;">
-					<view class="view-flex-rs">
-						<view class="uni-title line-body"><text class="required-star">*</text><text
-								class="item-title">整改期限</text></view>
-						<view class="line-body">
-							<radio-group @change="planTimeRadioChange"
-								style="display: flex;flex-direction: row;justify-content: flex-start;">
-								<label style="margin-top: 2px; margin-right: 5px;" class="view-flex-rs"
-									v-for="(item, index) in planTimeRadio.items" :key="item.id">
-									<view>
-										<radio :value="item.id" :checked="index === planTimeRadio.current" />
-									</view>
-									<view style="font-size: 12px;">{{item.dictValue}}</view>
-								</label>
-							</radio-group>
-						</view>
-					</view>
-				</view>
-				<!-- 图片信息项 -->
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="view-flex-rs line-body">
-						<view class="view-flex-cc" style="height: 40px;">
-							<text class="item-title">安全隐患问题图片</text>
-						</view>
-					</view>
-				</view>
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="img-container">
-						<view class="note-image-box">
-							<view class="note-image-item" v-for="(item , index) in localImageList" :key="index">
-								<view class="close-icon" @click="onDeleteClick(index)">
-									<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-								</view>
-								<view class="image-box">
-									<image :src="item" mode="widthFix"></image>
-								</view>
-							</view>
-							<view v-if="localImageList.length < 9" class="note-image-item" @click="getPhoto()">
-								<view class="image-box">
-									<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-				<u-gap height="50"></u-gap>
-				<view class="uni-form-item uni-column">
-					<view class="line-body">
-						<button type="primary" form-type="submit">提交</button>
-					</view>
-					<view class="line-body" style="margin-top: 10px;">
-						<button type="default" @click="onSaveClick">保存</button>
-					</view>
-				</view>
-				<u-gap height="50"></u-gap>
-			</form>
-		</view>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import http from '@/http/api.js';
-	import {
-		devUrl,
-		prodUrl,
-		oss
-	} from '@/common/setting';
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-			console.log(option.checkNo);
-			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
-			this.checkNo = option.checkNo;
-			//问题详情信息
-			var data = uni.getStorageSync('check_report_storage_' + this.checkNo);
-			if (data != null) {
-				console.log("detail " + data)
-				this.recordInfo = data;
-				this.failureCheckPointDesc = data['failureCheckPointDesc']
-				this.failureHiddenDangerDesc = data['failureHiddenDangerDesc']
-				this.failureCorrectiveSuggest = data['failureCorrectiveSuggest']
-				this.initProjectInfo(data['failureProjectId']);
-				this.initCheckArea(data['failureCheckArea']);
-				this.initCheckItemType(data['failureCheckHiddenDangerType']);
-				this.initCheckItemLabel(data['failureCheckHiddenDanger']);
-				this.initCheckStandard(data['failureCheckHiddenDangerItemPoint']);
-				this.initCheckStandardBasis(data['failureCheckHiddenDangerStandard']);
-				this.initHiddenDangerLevelRadio(data['failureHiddenDangerLevel']);
-				this.initPlanTimeRadio(data['failureCorrectivePlanTime']);
-				this.initPhoto()
-			}
-
-		},
-		data() {
-			return {
-				baseURL: '',
-				checkNo: '',
-				recordInfo: {},
-				savedImageList: [],
-				planTimeRadio: {
-					items: [],
-					current: 0,
-				},
-				hiddenDangerRadio: {
-					items: [],
-					current: 0,
-				},
-				localImageList: [],
-				uploadImageList: [],
-				checkAreaDict: {
-					id: '',
-					dictKey: '',
-					dictValue: '请点击选择'
-				},
-				checkItemTypeDict: {
-					id: '',
-					dictKey: '',
-					dictValue: '请点击选择'
-				},
-				checkItemLabelDict: {
-					id: '',
-					dictKey: '',
-					dictValue: '请点击选择'
-				},
-				checkStandardDict: {
-					id: '',
-					dictKey: '',
-					dictValue: '请点击选择'
-				},
-				checkItemStandardBasisDict: {
-					id: '',
-					dictKey: '',
-					dictValue: ''
-				},
-				title: '问题编辑',
-				desc: '',
-				projectInfo: {
-					'projectId': '',
-					'title': ''
-				},
-				failureHiddenDangerDesc: '',
-				failureCheckPointDesc: '',
-				failureCorrectiveSuggest: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: "问题编辑"
-			});
-
-			//项目选择结果监听  
-			uni.$on("handClickProjectSelect", res => {
-				console.log(res);
-				this.projectInfo = {
-					projectId: res.projectId,
-					title: '重新选择的项目名'
-				}
-				// 清除监听
-				uni.$off('handClickProjectSelect');
-			})
-
-			//检查区域选择结果监听  
-			uni.$on("handClickAreaSelect", res => {
-				console.log(res);
-
-				this.checkAreaDict = {
-					dictValue: res.dictValue,
-					dictKey: res.dictKey,
-					id: res.id
-				}
-
-				// 清除监听
-				uni.$off('handClickAreaSelect');
-			})
-
-			//安全隐患问题分类选择结果监听
-			uni.$on("handClickItemSelect", res => {
-				console.log("callback " + res);
-				if (this.checkItemTypeDict.id == null || this.checkItemTypeDict.id.length == 0 || this
-					.checkItemTypeDict.id !== res.id) {
-					this.checkItemLabelDict = {
-						id: '',
-						dictKey: '',
-						dictValue: '请点击选择'
-					}
-					this.checkStandardDict = {
-						id: '',
-						dictKey: '',
-						dictValue: '请点击选择'
-					}
-					this.failureHiddenDangerDesc = "";
-					this.checkItemStandardBasisDict = {
-						id: '',
-						dictKey: '',
-						dictValue: ''
-					}
-				}
-				this.checkItemTypeDict = {
-					dictValue: res.dictValue,
-					dictKey: res.dictKey,
-					id: res.id
-				}
-
-				// 清除监听
-				uni.$off('handClickItemSelect');
-			})
-
-			//安全隐患标签选择结果监听  
-			uni.$on("handClickItemLabelSelect", res => {
-				console.log("handClickItemLabelSelect" + res);
-				if (this.checkItemLabelDict.id == null || this.checkItemLabelDict.id.length == 0 || this
-					.checkItemLabelDict.id !== res.id) {
-
-					this.checkStandardDict = {
-						id: '',
-						dictKey: '',
-						dictValue: '请点击选择'
-					}
-					this.failureHiddenDangerDesc = "";
-					this.checkItemStandardBasisDict = {
-						id: '',
-						dictKey: '',
-						dictValue: ''
-					}
-				}
-				this.checkItemLabelDict = {
-					dictValue: res.dictValue,
-					dictKey: res.dictKey,
-					id: res.id
-				}
-				// 清除监听
-				uni.$off('handClickItemLabelSelect');
-			})
-
-			//安全隐患排查标准选择结果监听
-			uni.$on("handClickStandardSelect", res => {
-				console.log(res);
-				if (this.checkStandardDict.id == null || this.checkStandardDict.id.length == 0 || this
-					.checkStandardDict.id !== res.id) {
-
-					this.failureHiddenDangerDesc = "";
-
-					this.checkItemStandardBasisDict = {
-						id: '',
-						dictKey: '',
-						dictValue: ''
-					}
-				}
-				this.checkStandardDict = {
-					dictValue: res.dictValue,
-					dictKey: res.dictKey,
-					id: res.id
-				}
-				this.failureHiddenDangerDesc = res.dictValue;
-
-				this.checkItemStandardBasisDict = {
-					dictValue: res.subDict.dictValue,
-					dictKey: res.subDict.dictKey,
-					id: res.subDict.id
-				}
-				// 清除监听
-				uni.$off('handClickStandardSelect');
-			})
-		},
-		created() {
-
-		},
-		methods: {
-			initProjectInfo(failureProjectId) {
-				const that = this;
-				const id = failureProjectId;
-				http.request({
-					url: '/blade-business/report/projectInfo/detail',
-					method: 'GET',
-					params: {
-						id
-					}
-				}).then(res => {
-					console.log(res.data)
-					that.projectInfo = {
-						projectId: res.data.id,
-						title: res.data.projectName
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			initCheckArea(dictId) {
-				const that = this;
-				const id = dictId;
-				http.request({
-					url: '/galaxy-system/dict-biz/detail',
-					method: 'GET',
-					params: {
-						id
-					}
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						that.checkAreaDict = {
-							id: res.data['id'],
-							dictKey: res.data['dictKey'],
-							dictValue: res.data['dictValue'],
-						};
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			initCheckItemType(dictId) {
-				const that = this;
-				const id = dictId;
-				http.request({
-					url: '/galaxy-system/dict-biz/detail',
-					method: 'GET',
-					params: {
-						id
-					}
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						that.checkItemTypeDict = {
-							id: res.data['id'],
-							dictKey: res.data['dictKey'],
-							dictValue: res.data['dictValue'],
-						};
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			initCheckItemLabel(dictId) {
-				const that = this;
-				const id = dictId;
-				http.request({
-					url: '/galaxy-system/dict-biz/detail',
-					method: 'GET',
-					params: {
-						id
-					}
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						that.checkItemLabelDict = {
-							id: res.data['id'],
-							dictKey: res.data['dictKey'],
-							dictValue: res.data['dictValue'],
-						};
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			initCheckStandard(dictId) {
-				const that = this;
-				const id = dictId;
-				http.request({
-					url: '/galaxy-system/dict-biz/detail',
-					method: 'GET',
-					params: {
-						id
-					}
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						that.checkStandardDict = {
-							id: res.data['id'],
-							dictKey: res.data['dictKey'],
-							dictValue: res.data['dictValue'],
-						};
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			initCheckStandardBasis(dictId) {
-				if (null != dictId && undefined != dictId && dictId.length > 0) {
-					const that = this;
-					const id = dictId;
-					http.request({
-						url: '/galaxy-system/dict-biz/detail',
-						method: 'GET',
-						params: {
-							id
-						}
-					}).then(res => {
-						console.log(res.data)
-						if (res.data != null) {
-							that.checkItemStandardBasisDict = {
-								id: res.data['id'],
-								dictKey: res.data['dictKey'],
-								dictValue: res.data['dictValue'],
-							};
-						}
-
-					}).catch(err => {
-						console.log(err)
-					})
-				}
-			},
-			initHiddenDangerLevelRadio(dictId) {
-				const that = this;
-				//查询隐患等级
-				http.request({
-					url: '/galaxy-system/dict-biz/dictionary?code=danger_level',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						var dangerLevelList = [];
-						var index = 0;
-
-						const dictLength = res.data['length'];
-						for (var i = 0; i < dictLength; i++) {
-							let dict = res.data['' + i];
-							if (dict['id'] == dictId) {
-								index = i;
-							}
-							dangerLevelList.push(dict);
-						}
-
-						that.hiddenDangerRadio = {
-							current: index,
-							items: dangerLevelList
-						}
-
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			initHiddenDangerLevelRadio(dictId) {
-				const that = this;
-				//查询隐患等级
-				http.request({
-					url: '/galaxy-system/dict-biz/dictionary?code=danger_level',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						var dangerLevelList = [];
-						var index = 0;
-
-						const dictLength = res.data['length'];
-						for (var i = 0; i < dictLength; i++) {
-							let dict = res.data['' + i];
-							if (dict['id'] == dictId) {
-								index = i;
-							}
-							dangerLevelList.push(dict);
-						}
-
-						that.hiddenDangerRadio = {
-							current: index,
-							items: dangerLevelList
-						}
-
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			initPlanTimeRadio(dictId) {
-				const that = this;
-				//查询整改期限
-				http.request({
-					url: '/galaxy-system/dict-biz/dictionary?code=plan_time',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						var planTimeList = [];
-						var index = 0;
-						const dictLength = res.data['length'];
-						for (var i = 0; i < dictLength; i++) {
-							let dict = res.data['' + i];
-							if (dict['id'] == dictId) {
-								index = i;
-							}
-							planTimeList.push(dict);
-						}
-						that.planTimeRadio = {
-							current: index,
-							items: planTimeList,
-						}
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			getOssPath(imagePath) {
-				if (null != imagePath && imagePath.indexOf("blob") == 0) {
-					return imagePath;
-				} else {
-					return oss + imagePath;
-				}
-			},
-			initPhoto() {
-				var saveFilePaths = uni.getStorageSync('check_report_storage_image_' + this.checkNo);
-				this.localImageList = this.localImageList.concat(saveFilePaths);
-			},
-			onDeleteClick(index) {
-				this.localImageList.splice(index, 1);
-			},
-			removeRecord() {
-				var tempIndexList = [];
-				var list = uni.getStorageSync('check_report_storage_index');
-				if (list != null && list.length > 0) {
-					list.forEach(itemKey => {
-						if (itemKey !== this.checkNo) {
-							tempIndexList.push(itemKey);
-						}
-					});
-				}
-				uni.setStorageSync('check_report_storage_index', tempIndexList);
-				uni.removeStorageSync('check_report_storage_' + this.checkNo);
-			},
-			planTimeRadioChange: function(evt) {
-				for (let i = 0; i < this.planTimeRadio.items.length; i++) {
-					if (this.planTimeRadio.items[i].id === evt.detail.value) {
-						this.planTimeRadio.current = i;
-						break;
-					}
-				}
-			},
-			hiddenDangerRadioChange: function(evt) {
-				for (let i = 0; i < this.hiddenDangerRadio.items.length; i++) {
-					if (this.hiddenDangerRadio.items[i].id === evt.detail.value) {
-						this.hiddenDangerRadio.current = i;
-						break;
-					}
-				}
-			},
-			getPhoto() {
-				const that = this;
-				uni.chooseImage({
-					sourceType: ['album', 'camera'],
-					success: (res) => {
-						const len = res.tempFilePaths.length;
-						if (len > 0) {
-							if (len + that.localImageList.length > 9) {
-								uni.showModal({
-									content: '一次最多上传9张图片,请检查!',
-									showCancel: false
-								});
-							} else {
-								let pathList = [];
-								res.tempFilePaths.forEach(path => {
-									that.localImageList.push(path);
-								})
-							}
-						}
-					}
-				})
-			},
-			saveLocalFile(paths) {
-				var returnFileList = [];
-				var count = 0;
-				return new Promise((resolve, reject) => {
-					paths.forEach(imagePath => {
-						console.log("path " + imagePath);
-						uni.saveFile({
-							tempFilePath: imagePath,
-							success: (res) => {
-								var savedFilePath = res.savedFilePath;
-								returnFileList.push(savedFilePath);
-								count += 1;
-								if (count == paths.length) {
-									resolve(returnFileList);
-								}
-							},
-							fail: (e) => {
-								reject('err')
-							}
-						})
-					});
-				})
-			},
-			async saveLocalFiles(tempImageList) {
-				if (tempImageList.length > 0) {
-					await this.saveLocalFile(tempImageList).then(files => {
-						files.forEach(f => {
-							this.savedImageList.push(f);
-						})
-					});
-				}
-			},
-			onSaveClick(e) {
-				if ((this.projectInfo.projectId != null && this.projectInfo.projectId.length > 0) &&
-					(this.checkAreaDict.id != null && this.checkAreaDict.id.length > 0) &&
-					(this.checkItemTypeDict.id != null && this.checkItemTypeDict.id.length > 0) &&
-					(this.checkItemLabelDict.id != null && this.checkItemLabelDict.id.length > 0) &&
-					(this.checkStandardDict.id != null && this.checkStandardDict.id.length > 0)) {
-					try {
-						var data = {};
-						data['failureHiddenDangerDesc'] = this.failureHiddenDangerDesc;
-						data['failureCheckPointDesc'] = this.failureCheckPointDesc;
-						data['failureCorrectiveSuggest'] = this.failureCorrectiveSuggest;
-						data['failureCheckNo'] = this.checkNo;
-						data['failureProjectId'] = this.projectInfo.projectId;
-						data['failureCheckArea'] = this.checkAreaDict.id;
-
-						data['failureCheckHiddenDangerType'] = this.checkItemTypeDict.id;
-						data['failureCheckHiddenDanger'] = this.checkItemLabelDict.id;
-						data['failureCheckHiddenDangerItemPoint'] = this.checkStandardDict.id;
-						data['failureCheckHiddenDangerStandard'] = this.checkItemStandardBasisDict.id;
-
-
-						data['failureHiddenDangerLevel'] = this.hiddenDangerRadio.items[this.hiddenDangerRadio.current]
-							.id;
-						data['failureCorrectivePlanTime'] = this.planTimeRadio.items[this.planTimeRadio.current]
-							.id;
-
-						var tempImageList = [];
-						this.savedImageList = [];
-						this.localImageList.forEach(path => {
-							var text = String(path);
-							if (text.indexOf("blob") == 0) {
-								tempImageList.push(text);
-							} else {
-								this.savedImageList.push(text);
-							}
-						})
-
-						this.saveLocalFiles(tempImageList);
-
-						uni.setStorageSync('check_report_storage_image_' + this
-							.checkNo, this.savedImageList);
-
-						console.log("save " + data);
-
-
-						uni.setStorageSync('check_report_storage_' + this.checkNo, data);
-						uni.navigateBack();
-					} catch (e) {
-						console.log(e);
-						uni.showModal({
-							content: '保存失败!' + e.message,
-							showCancel: false
-						});
-					}
-
-
-				} else {
-					uni.showModal({
-						content: '请检查必填项',
-						showCancel: false
-					});
-				}
-
-			},
-			uploadFile(imagePaths) {
-				var returnImagePathList = [];
-				var count = 0;
-				console.log("accessToken:" + uni.getStorageSync('accessToken'));
-				return new Promise((resolve, reject) => {
-					imagePaths.forEach(imagePath => {
-						console.log("path " + imagePath);
-						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) => {
-								console.log(uploadFileRes);
-								if (uploadFileRes.statusCode == 200) {
-									let data = JSON.parse(uploadFileRes.data);
-									if (data.success) {
-										let name = data.data['name'];
-										returnImagePathList.push(name);
-									}
-								}
-								count += 1;
-								if (count == imagePaths.length) {
-									resolve(returnImagePathList);
-								}
-
-							},
-							fail: (err) => {
-								console.log(err);
-								reject('err')
-							},
-							complete() {
-								uni.hideLoading()
-							}
-						});
-					});
-				})
-			},
-			async upload(formdata) {
-				const that = this;
-				if (this.localImageList.length > 0) {
-
-					await this.uploadFile(this.localImageList).then(names => {
-						names.forEach(name => {
-							console.log("image path " + name);
-							this.uploadImageList.push(name);
-						})
-						var photoPaths = [];
-						this.uploadImageList.forEach(name => {
-							let p = {
-								failureCheckNo: this.checkNo,
-								photoPath: name
-							}
-							photoPaths.push(p);
-						})
-						formdata['photoPaths'] = photoPaths;
-
-						http.request({
-							url: '/blade-business/report/failure/save',
-							method: 'POST',
-							data: formdata
-						}).then(res => {
-							if (res.success) {
-								that.removeRecord();
-								uni.showModal({
-									content: '上传成功',
-									showCancel: false,
-									success(res) {
-										if (res.confirm) {
-											uni.navigateBack();
-										}
-									}
-								});
-							} else {
-								uni.showModal({
-									content: '' + res.msg,
-									showCancel: false
-								});
-							}
-						}).catch(err => {
-							console.log(err)
-						})
-
-					})
-				} else {
-
-					http.request({
-						url: '/blade-business/report/failure/save',
-						method: 'POST',
-						data: formdata
-					}).then(res => {
-						if (res.success) {
-							that.removeRecord();
-							uni.showModal({
-								content: '上传成功',
-								showCancel: false,
-								success(res) {
-									if (res.confirm) {
-										uni.navigateBack();
-									}
-								}
-							});
-						} else {
-							uni.showModal({
-								content: '' + res.msg,
-								showCancel: false
-							});
-						}
-					}).catch(err => {
-						console.log(err)
-					})
-				}
-			},
-			formSubmit: function(e) {
-				console.log('form发生了submit事件,携带数据为:' + JSON.stringify(e.detail.value))
-
-				if ((this.projectInfo.projectId != null && this.projectInfo.projectId.length > 0) &&
-					(this.checkAreaDict.id != null && this.checkAreaDict.id.length > 0) &&
-					(this.checkItemTypeDict.id != null && this.checkItemTypeDict.id.length > 0) &&
-					(this.checkItemLabelDict.id != null && this.checkItemLabelDict.id.length > 0) &&
-					(this.checkStandardDict.id != null && this.checkStandardDict.id.length > 0)) {
-					this.recordInfo['failureCheckPointDesc'] = this.failureCheckPointDesc;
-					this.recordInfo['failureHiddenDangerDesc'] = this.failureHiddenDangerDesc;
-					this.recordInfo['failureCorrectiveSuggest'] = this.failureCorrectiveSuggest;
-					this.recordInfo['failureProjectId'] = this.projectInfo.projectId;
-					this.recordInfo['failureCheckArea'] = this.checkAreaDict.id;
-					this.recordInfo['failureCheckHiddenDangerType'] = this.checkItemTypeDict.id;
-					this.recordInfo['failureCheckHiddenDanger'] = this.checkItemLabelDict.id;
-					this.recordInfo['failureCheckHiddenDangerItemPoint'] = this.checkStandardDict.id;
-					this.recordInfo['failureCheckHiddenDangerStandard'] = this.checkItemStandardBasisDict.id;
-					this.recordInfo['failureHiddenDangerLevel'] = this.hiddenDangerRadio.items[this
-							.hiddenDangerRadio.current]
-						.id;
-					this.recordInfo['failureCorrectivePlanTime'] = this.planTimeRadio.items[this.planTimeRadio
-							.current]
-						.id;
-					this.upload(this.recordInfo);
-
-				} else {
-					uni.showModal({
-						content: '请检查必填项',
-						showCancel: false
-					});
-				}
-			},
-			formReset: function(e) {
-				console.log('清空数据')
-			},
-			selectCheckArea() {
-				this.$u.route({
-					url: '/pages/checkReport/checkAreaSelect'
-				})
-			},
-			selectCheckItemType() {
-				uni.navigateTo({
-					url: '/pages/checkReport/checkItemSelect'
-				})
-			},
-			selectCheckItemLabel() {
-				if (this.checkItemTypeDict.id.length > 0) {
-					uni.navigateTo({
-						url: '/pages/checkReport/checkItemLabelSelect?id=' + this.checkItemTypeDict.id
-					})
-				} else {
-					uni.showModal({
-						content: '请先选择安全隐患问题类型',
-						showCancel: false
-					});
-				}
-			},
-			selectCheckStandard() {
-				if (this.checkItemLabelDict.id.length > 0) {
-					uni.navigateTo({
-						url: '/pages/checkReport/checkStandardSelect?id=' + this.checkItemLabelDict.id
-					})
-				} else {
-					uni.showModal({
-						content: '请先选择安全隐患问题标签',
-						showCancel: false
-					});
-				}
-			},
-			openPage(path) {
-				this.$u.route({
-					url: path
-				})
-			},
-			getGroupTitle(item) {
-				return item.groupName
-			},
-			getFieldTitle(item) {
-				return item.title
-			},
-			goto(url) {
-				console.log(url);
-
-				uni.navigateTo({
-					url: url
-				})
-			}
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-
-	.cell-hover-class {
-		background-color: rgb(235, 237, 238);
-	}
-
-	.view-flex-rs {
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-start;
-	}
-
-	.view-flex-rc {
-		display: flex;
-		flex-direction: row;
-		justify-content: center;
-	}
-
-	.view-flex-re {
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-end;
-	}
-
-	.view-flex-cs {
-		display: flex;
-		flex-direction: column;
-		justify-content: flex-start;
-	}
-
-	.view-flex-cc {
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-	}
-
-	.view-flex-ce {
-		display: flex;
-		flex-direction: column;
-		justify-content: flex-end;
-	}
-
-	.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: 100px;
-		border: 1px solid #FF5A5F;
-		border-radius: 5px;
-	}
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.img-container {
-		margin-bottom: 20px;
-
-		.note-image-box {
-			margin-top: 5px;
-			display: flex;
-			flex-wrap: wrap;
-			padding: 10px;
-
-			.note-image-item {
-				position: relative;
-				width: 33.3%;
-				height: 0;
-				padding-top: 33.3%;
-				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: 5px;
-					right: 5px;
-					border: 5px;
-					left: 5px;
-					border: 1px #eee solid;
-					border-radius: 5px;
-					overflow: hidden;
-					width: 95%;
-					height: 95%;
-
-				}
-			}
-		}
-	}
-</style>

+ 0 - 1137
pages/checkReport/editCheckReport.vue

@@ -1,1137 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view>
-			<form @submit="formSubmit" @reset="formReset">
-				<!-- 项目信息项 -->
-				<view class="uni-form-item">
-					<view class="view-flex-rs line-body">
-						<view class="view-flex-cc">
-							<text class="required-star">*</text>
-						</view>
-						<view style="width: 200rpx;" class="view-flex-cc item-title">
-							<text>当前项目:</text>
-						</view>
-						<view style="flex-grow: 0.9;" class="view-flex-cc">
-							<text>{{projectInfo.title}}</text>
-						</view>
-						<view style="width: 200rpx;" class="view-flex-cc">
-							<button style="height: 80rpx;font-size: medium;" type="primary"
-								@click="goto('/pages/checkReport/checkProjectSelect?model=1')">重新选择</button>
-						</view>
-					</view>
-				</view>
-				<!-- 检查区域信息项 -->
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="line-body view-flex-rs">
-						<text class="required-star">*</text>
-						<text class="item-title">检查区域</text>
-					</view>
-					<view>
-						<uni-list-item @click="selectCheckArea()" :clickable="true" :ellipsis="1"
-							:show-extra-icon="true" showArrow
-							:extra-icon="{color: '#4cd964',size: '22',type: 'settings'}"
-							v-bind:title="checkAreaDict.dictValue" />
-					</view>
-					<!-- 				<u-cell-item class="line-body" icon="setting-fill" v-bind:title="checkAreaDict.dictValue"
-						hover-class="cell-hover-class" @click="selectCheckArea()"></u-cell-item> -->
-				</view>
-				<!-- 检查点位文本信息项 -->
-				<view class="uni-form-item uni-column" style="margin-top: 10rpx;">
-					<view class="line-body item-title">
-						具体位置
-					</view>
-					<view class="line-body">
-						<uni-easyinput errorMessage v-model="failureCheckPointDesc" placeholder="请输入内容"></uni-easyinput>
-					</view>
-				</view>
-				<!-- 安全隐患问题类型信息项,字典 -->
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="line-body view-flex-rs">
-						<text class="required-star">*</text>
-						<text class="item-title">安全问题隐患类型</text>
-					</view>
-					<view>
-						<uni-list-item @click="selectCheckItemType()" :clickable="true" :ellipsis="1"
-							:show-extra-icon="true" showArrow
-							:extra-icon="{color: '#4cd964',size: '22',type: 'settings'}"
-							v-bind:title="checkItemTypeDict.dictValue" />
-					</view>
-
-					<!-- 	<u-cell-item class="line-body" icon="setting-fill" v-bind:title="checkItemTypeDict.dictValue"
-						hover-class="cell-hover-class" @click="selectCheckItemType()"></u-cell-item> -->
-				</view>
-				<!-- 安全隐患问题标签信息项,字典 -->
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="line-body view-flex-rs">
-						<text class="required-star">*</text>
-						<text class="item-title">检查部位</text>
-					</view>
-					<view>
-						<uni-list-item @click="selectCheckItemLabel()" :clickable="true" :ellipsis="1"
-							:show-extra-icon="true" showArrow
-							:extra-icon="{color: '#4cd964',size: '22',type: 'settings'}"
-							v-bind:title="checkItemLabelDict.dictValue" />
-					</view>
-					<!-- <u-cell-item class="line-body" icon="setting-fill"  v-bind:title="checkItemLabelDict.dictValue"
-						hover-class="cell-hover-class" @click="selectCheckItemLabel()"></u-cell-item> -->
-				</view>
-
-
-				<!-- 安全隐患问题排查标准信息项,字典 -->
-				<view class="uni-form-item  uni-column" style="margin-top: 10px;">
-					<view class="line-body view-flex-rs">
-						<text class="required-star">*</text>
-						<text class="item-title">问题隐患标签</text>
-					</view>
-					<view>
-						<uni-list-item @click="selectCheckStandard()" :clickable="true" :ellipsis="1"
-							:show-extra-icon="true" showArrow
-							:extra-icon="{color: '#4cd964',size: '22',type: 'settings'}"
-							v-bind:title="checkStandardDict.dictValue" />
-					</view>
-
-
-					<!-- <u-cell-item class="line-body" icon="setting-fill" v-bind:title="checkStandardDict.dictValue"
-						hover-class="cell-hover-class" @click="selectCheckStandard()"></u-cell-item> -->
-				</view>
-				<view class="uni-form-item uni-column" style="margin-top: 10px;">
-					<view class="line-body item-title">
-						法律法规
-					</view>
-					<view class="line-body">
-						<textarea disabled v-model="checkItemStandardBasisDict.dictValue" class="mline-text" />
-
-						<!-- <uni-easyinput disabled v-model="checkItemStandardBasisDict.dictValue"></uni-easyinput> -->
-					</view>
-				</view>
-
-				<!-- 	安全隐患问题描述信息项,文本 -->
-				<view class="uni-form-item uni-column" style="margin-top: 10px;">
-					<view class="line-body item-title">
-						安全问题隐患描述
-					</view>
-					<view class="line-body">
-						<textarea v-model="failureHiddenDangerDesc" name="failureCorrectiveSuggest"
-							class="mline-text" />
-
-					</view>
-				</view>
-
-				<!-- 隐患等级信息项,字典 -->
-				<view class="uni-form-item" style="margin-top: 15px;">
-					<view class="view-flex-rs">
-						<view class="uni-title line-body"><text class="required-star">*</text><text
-								class="item-title">隐患等级</text></view>
-						<view class="line-body">
-							<radio-group @change="hiddenDangerRadioChange"
-								style="display: flex;flex-direction: row;justify-content: flex-start;">
-								<label style="margin-top: 2px;margin-right: 5px;" class="view-flex-rs"
-									v-for="(item, index) in hiddenDangerRadio.items" :key="item.id">
-									<view>
-										<radio :value="item.id" :checked="index === hiddenDangerRadio.current" />
-									</view>
-									<view style="font-size: 12px;">{{item.dictValue}}</view>
-								</label>
-							</radio-group>
-						</view>
-					</view>
-				</view>
-				<!-- 整改建议信息项,文本 -->
-				<view class="uni-form-item uni-column" style="margin-top: 10px;">
-					<view class="line-body item-title">
-						整改建议
-					</view>
-					<view class="line-body">
-						<textarea v-model="failureCorrectiveSuggest" name="failureCorrectiveSuggest"
-							class="mline-text" />
-					</view>
-				</view>
-				<!-- 整改期限信息项,字典 -->
-				<view class="uni-form-item" style="margin-top: 15px;">
-					<view class="view-flex-rs">
-						<view class="uni-title line-body"><text class="required-star">*</text><text
-								class="item-title">整改期限</text></view>
-						<view class="line-body">
-							<radio-group @change="planTimeRadioChange"
-								style="display: flex;flex-direction: row;justify-content: flex-start;">
-								<label style="margin-top: 2px;margin-right: 5px;" class="view-flex-rs"
-									v-for="(item, index) in planTimeRadio.items" :key="item.id">
-									<view>
-										<radio :value="item.id" :checked="index === planTimeRadio.current" />
-									</view>
-									<view style="font-size: 12px;">{{item.dictValue}}</view>
-								</label>
-							</radio-group>
-						</view>
-					</view>
-				</view>
-				<!-- 图片信息项 -->
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="view-flex-rs line-body">
-						<view class="view-flex-cc" style="height: 40px;">
-							<text class="item-title">安全隐患问题图片</text>
-						</view>
-					</view>
-				</view>
-				<view class="uni-form-item" style="margin-top: 10px;">
-					<view class="img-container">
-						<view class="note-image-box">
-							<view class="note-image-item" v-for="(item , index) in localImageList" :key="index">
-								<view class="close-icon" @click="onDeleteClick(index)">
-									<uni-icons type="closeempty" size="18" color="#fff"></uni-icons>
-								</view>
-								<view class="image-box">
-									<image :src="getOssPath(item)" mode="widthFix"></image>
-								</view>
-							</view>
-							<view v-if="localImageList.length < 9" class="note-image-item" @click="getPhoto()">
-								<view class="image-box">
-									<uni-icons type="plusempty" size="50" color="#eee"></uni-icons>
-								</view>
-							</view>
-						</view>
-					</view>
-				</view>
-				<u-gap height="50"></u-gap>
-				<view class="uni-form-item uni-column">
-					<view class="line-body">
-						<button type="primary" form-type="submit">提交修改</button>
-					</view>
-				</view>
-				<u-gap height="50"></u-gap>
-			</form>
-		</view>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import http from '@/http/api.js'
-	import {
-		oss,
-		devUrl,
-		prodUrl,
-	} from '@/common/setting'
-	export default {
-		components: {
-			pageNav
-		},
-		onLoad(option) {
-			console.log(option.id);
-			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
-			//记录ID
-			this.recordId = option.id;
-			const id = option.id;
-			const that = this;
-
-			//查询问题详情信息
-			http.request({
-				url: '/blade-business/report/failure/detail',
-				method: 'GET',
-				params: {
-					id
-				}
-			}).then(res => {
-				console.log("detail " + res)
-				if (res.code == 200) {
-					that.checkNo = res.data['failureCheckNo'];
-					that.recordInfo = res.data;
-					that.failureCheckPointDesc = res.data['failureCheckPointDesc'];
-					that.failureHiddenDangerDesc = res.data['failureHiddenDangerDesc'];
-					that.failureCorrectiveSuggest = res.data['failureCorrectiveSuggest'];
-					that.initProjectInfo(res.data['failureProjectId']);
-					that.initCheckArea(res.data['failureCheckArea']);
-					that.initCheckItemType(res.data['failureCheckHiddenDangerType']);
-					that.initCheckItemLabel(res.data['failureCheckHiddenDanger']);
-					this.initCheckStandard(res.data['failureCheckHiddenDangerItemPoint']);
-					this.initCheckStandardBasis(res.data['failureCheckHiddenDangerStandard']);
-					that.initHiddenDangerLevelRadio(res.data['failureHiddenDangerLevel']);
-					that.initPlanTimeRadio(res.data['failureCorrectivePlanTime']);
-					that.initPhoto(res.data['failureCheckNo']);
-				}
-
-			}).catch(err => {
-				console.log(err)
-			})
-
-
-
-		},
-		data() {
-			return {
-				baseURL: '',
-				checkNo: '',
-				recordInfo: {},
-				planTimeRadio: {
-					items: [],
-					current: 0,
-				},
-				hiddenDangerRadio: {
-					items: [],
-					current: 0,
-				},
-				localImageList: [],
-				uploadImageList: [],
-				checkAreaDict: {
-					id: '',
-					dictKey: '',
-					dictValue: '请点击选择'
-				},
-				checkItemTypeDict: {
-					id: '',
-					dictKey: '',
-					dictValue: '请点击选择'
-				},
-				checkItemLabelDict: {
-					id: '',
-					dictKey: '',
-					dictValue: '请点击选择'
-				},
-				checkStandardDict: {
-					id: '',
-					dictKey: '',
-					dictValue: '请点击选择'
-				},
-				checkItemStandardBasisDict: {
-					id: '',
-					dictKey: '',
-					dictValue: ''
-				},
-				title: '问题编辑',
-				desc: '',
-				projectInfo: {
-					'projectId': '',
-					'title': ''
-				},
-				failureHiddenDangerDesc: '',
-				failureCheckPointDesc: '',
-				failureCorrectiveSuggest: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: ""
-			});
-
-			//项目选择结果监听  
-			uni.$on("handClickProjectSelect", res => {
-				console.log(res);
-				this.projectInfo = {
-					projectId: res.projectId,
-					title: '重新选择的项目名'
-				}
-				// 清除监听
-				uni.$off('handClickProjectSelect');
-			})
-
-			//检查区域选择结果监听  
-			uni.$on("handClickAreaSelect", res => {
-				console.log(res);
-
-				this.checkAreaDict = {
-					dictValue: res.dictValue,
-					dictKey: res.dictKey,
-					id: res.id
-				}
-
-				// 清除监听
-				uni.$off('handClickAreaSelect');
-			})
-
-			//安全隐患问题分类选择结果监听
-			uni.$on("handClickItemSelect", res => {
-				console.log("callback " + res);
-				if (this.checkItemTypeDict.id == null || this.checkItemTypeDict.id.length == 0 || this
-					.checkItemTypeDict.id !== res.id) {
-					this.checkItemLabelDict = {
-						id: '',
-						dictKey: '',
-						dictValue: '请点击选择'
-					}
-					this.checkStandardDict = {
-						id: '',
-						dictKey: '',
-						dictValue: '请点击选择'
-					}
-					this.failureHiddenDangerDesc = "";
-					this.checkItemStandardBasisDict = {
-						id: '',
-						dictKey: '',
-						dictValue: ''
-					}
-				}
-				this.checkItemTypeDict = {
-					dictValue: res.dictValue,
-					dictKey: res.dictKey,
-					id: res.id
-				}
-
-				// 清除监听
-				uni.$off('handClickItemSelect');
-			})
-
-			//安全隐患标签选择结果监听  
-			uni.$on("handClickItemLabelSelect", res => {
-				console.log("handClickItemLabelSelect" + res);
-				if (this.checkItemLabelDict.id == null || this.checkItemLabelDict.id.length == 0 || this
-					.checkItemLabelDict.id !== res.id) {
-
-					this.checkStandardDict = {
-						id: '',
-						dictKey: '',
-						dictValue: '请点击选择'
-					}
-					this.failureHiddenDangerDesc = "";
-					this.checkItemStandardBasisDict = {
-						id: '',
-						dictKey: '',
-						dictValue: ''
-					}
-				}
-				this.checkItemLabelDict = {
-					dictValue: res.dictValue,
-					dictKey: res.dictKey,
-					id: res.id
-				}
-				// 清除监听
-				uni.$off('handClickItemLabelSelect');
-			})
-
-			//安全隐患排查标准选择结果监听
-			uni.$on("handClickStandardSelect", res => {
-				console.log(res);
-				if (this.checkStandardDict.id == null || this.checkStandardDict.id.length == 0 || this
-					.checkStandardDict.id !== res.id) {
-
-					this.failureHiddenDangerDesc = "";
-
-					this.checkItemStandardBasisDict = {
-						id: '',
-						dictKey: '',
-						dictValue: ''
-					}
-				}
-				this.checkStandardDict = {
-					dictValue: res.dictValue,
-					dictKey: res.dictKey,
-					id: res.id
-				}
-				this.failureHiddenDangerDesc = res.dictValue;
-
-				this.checkItemStandardBasisDict = {
-					dictValue: res.subDict.dictValue,
-					dictKey: res.subDict.dictKey,
-					id: res.subDict.id
-				}
-				// 清除监听
-				uni.$off('handClickStandardSelect');
-			})
-		},
-		created() {
-
-		},
-		methods: {
-			getOssPath(imageInfo) {
-				if (null != imageInfo && undefined != imageInfo && imageInfo.local) {
-					return imageInfo.photoPath;
-				} else {
-					return oss + imageInfo.photoPath;
-				}
-			},
-			initProjectInfo(failureProjectId) {
-				const that = this;
-				const id = failureProjectId;
-				http.request({
-					url: '/blade-business/report/projectInfo/detail',
-					method: 'GET',
-					params: {
-						id
-					}
-				}).then(res => {
-					console.log(res.data)
-					that.projectInfo = {
-						projectId: res.data.id,
-						title: res.data.projectName
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			initCheckArea(dictId) {
-				const that = this;
-				const id = dictId;
-				http.request({
-					url: '/galaxy-system/dict-biz/detail',
-					method: 'GET',
-					params: {
-						id
-					}
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						that.checkAreaDict = {
-							id: res.data['id'],
-							dictKey: res.data['dictKey'],
-							dictValue: res.data['dictValue'],
-						};
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			initCheckItemType(dictId) {
-				const that = this;
-				const id = dictId;
-				http.request({
-					url: '/galaxy-system/dict-biz/detail',
-					method: 'GET',
-					params: {
-						id
-					}
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						that.checkItemTypeDict = {
-							id: res.data['id'],
-							dictKey: res.data['dictKey'],
-							dictValue: res.data['dictValue'],
-						};
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			initCheckItemLabel(dictId) {
-				const that = this;
-				const id = dictId;
-				http.request({
-					url: '/galaxy-system/dict-biz/detail',
-					method: 'GET',
-					params: {
-						id
-					}
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						that.checkItemLabelDict = {
-							id: res.data['id'],
-							dictKey: res.data['dictKey'],
-							dictValue: res.data['dictValue'],
-						};
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			initCheckStandard(dictId) {
-				const that = this;
-				const id = dictId;
-				http.request({
-					url: '/galaxy-system/dict-biz/detail',
-					method: 'GET',
-					params: {
-						id
-					}
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						that.checkStandardDict = {
-							id: res.data['id'],
-							dictKey: res.data['dictKey'],
-							dictValue: res.data['dictValue'],
-						};
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			initCheckStandardBasis(dictId) {
-				if (null != dictId && undefined != dictId && dictId.length > 0) {
-					const that = this;
-					const id = dictId;
-					http.request({
-						url: '/galaxy-system/dict-biz/detail',
-						method: 'GET',
-						params: {
-							id
-						}
-					}).then(res => {
-						console.log(res.data)
-						if (res.data != null) {
-							that.checkItemStandardBasisDict = {
-								id: res.data['id'],
-								dictKey: res.data['dictKey'],
-								dictValue: res.data['dictValue'],
-							};
-						}
-
-					}).catch(err => {
-						console.log(err)
-					})
-				}
-			},
-			initHiddenDangerLevelRadio(dictId) {
-				const that = this;
-				//查询隐患等级
-				http.request({
-					url: '/galaxy-system/dict-biz/dictionary?code=danger_level',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						var dangerLevelList = [];
-						var index = 0;
-
-						const dictLength = res.data['length'];
-						for (var i = 0; i < dictLength; i++) {
-							let dict = res.data['' + i];
-							if (dict['id'] == dictId) {
-								index = i;
-							}
-							dangerLevelList.push(dict);
-						}
-
-						that.hiddenDangerRadio = {
-							current: index,
-							items: dangerLevelList
-						}
-
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			initPlanTimeRadio(dictId) {
-				const that = this;
-				//查询整改期限
-				http.request({
-					url: '/galaxy-system/dict-biz/dictionary?code=plan_time',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						var planTimeList = [];
-						var index = 0;
-						const dictLength = res.data['length'];
-						for (var i = 0; i < dictLength; i++) {
-							let dict = res.data['' + i];
-							if (dict['id'] == dictId) {
-								index = i;
-							}
-							planTimeList.push(dict);
-						}
-						that.planTimeRadio = {
-							current: index,
-							items: planTimeList,
-						}
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			initPhoto(failureCheckNo) {
-				const that = this;
-				http.request({
-					url: '/blade-business/report/failure/photo/list',
-					method: 'GET',
-					params: {
-						failureCheckNo
-					}
-				}).then(res => {
-					console.log("detail " + res)
-					if (res.success) {
-						if (res.data != null && res.data.length > 0) {
-							res.data.forEach(d => {
-								let imageInfo = {
-									id: d.id,
-									photoPath: d.photoPath,
-									failureCheckNo: d.failureCheckNo,
-									local: false,
-								}
-								that.localImageList.push(imageInfo);
-							})
-						}
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-			},
-			onDeleteClick(index) {
-				this.localImageList.splice(index, 1);
-			},
-			planTimeRadioChange: function(evt) {
-				for (let i = 0; i < this.planTimeRadio.items.length; i++) {
-					if (this.planTimeRadio.items[i].id === evt.detail.value) {
-						this.planTimeRadio.current = i;
-						break;
-					}
-				}
-			},
-			hiddenDangerRadioChange: function(evt) {
-				for (let i = 0; i < this.hiddenDangerRadio.items.length; i++) {
-					if (this.hiddenDangerRadio.items[i].id === evt.detail.value) {
-						this.hiddenDangerRadio.current = i;
-						break;
-					}
-				}
-			},
-			getPhoto() {
-				const that = this;
-				if (this.localImageList.length > 9) {
-					uni.showModal({
-						content: '一次最多上传9张图片,请检查!',
-						showCancel: false
-					});
-				} else {
-					uni.chooseImage({
-						sourceType: ['album', 'camera'],
-						success: async (res) => {
-							const len = res.tempFilePaths.length;
-							if (len > 0) {
-								if (len + that.localImageList.length > 9) {
-									uni.showModal({
-										content: '一次最多上传9张图片,请检查!',
-										showCancel: false
-									});
-								} else {
-									let text = "";
-									let pathList = [];
-									res.tempFilePaths.forEach(async path => {
-										let imageInfo = {
-											id: '',
-											photoPath: path,
-											failureCheckNo: that.checkNo,
-											local: true,
-										}
-										pathList.push(imageInfo);
-										text += path + " ";
-									})
-									that.localImageList = that.localImageList.concat(pathList);
-								}
-							}
-						}
-					})
-				}
-			},
-			async upload(formdata) {
-				if (this.localImageList.length > 0) {
-					var tempImageList = [];
-					this.localImageList.forEach(image => {
-						if (image.local) {
-							tempImageList.push(image.photoPath);
-						} else {
-							this.uploadImageList.push(image);
-						}
-					})
-					if (tempImageList.length > 0) {
-						await this.uploadFile(tempImageList).then(names => {
-							names.forEach(name => {
-								console.log("image path " + name);
-								let p = {
-									failureCheckNo: this.checkNo,
-									photoPath: name,
-									id: ''
-								}
-								this.uploadImageList.push(p);
-							})
-							formdata['photoPaths'] = this.uploadImageList;
-							http.request({
-								url: '/blade-business/report/failure/update',
-								method: 'POST',
-								data: formdata
-							}).then(res => {
-								if (res.success) {
-									uni.showModal({
-										content: '上传成功',
-										showCancel: false,
-										success(res) {
-											if (res.confirm) {
-												uni.navigateBack();
-											}
-										}
-									});
-								} else {
-									uni.showModal({
-										content: '' + res.msg,
-										showCancel: false
-									});
-								}
-							}).catch(err => {
-								console.log(err)
-							})
-
-						})
-					} else {
-						formdata['photoPaths'] = this.uploadImageList;
-						http.request({
-							url: '/blade-business/report/failure/update',
-							method: 'POST',
-							data: formdata
-						}).then(res => {
-							if (res.success) {
-								uni.showModal({
-									content: '上传成功',
-									showCancel: false,
-									success(res) {
-										if (res.confirm) {
-											uni.navigateBack();
-										}
-									}
-								});
-							} else {
-								uni.showModal({
-									content: '' + res.msg,
-									showCancel: false
-								});
-							}
-						}).catch(err => {
-							console.log(err)
-						})
-					}
-				} else {
-					http.request({
-						url: '/blade-business/report/failure/update',
-						method: 'POST',
-						data: formdata
-					}).then(res => {
-						if (res.success) {
-							uni.showModal({
-								content: '上传成功',
-								showCancel: false,
-								success(res) {
-									if (res.confirm) {
-										uni.navigateBack();
-									}
-								}
-							});
-						} else {
-							uni.showModal({
-								content: '' + res.msg,
-								showCancel: false
-							});
-						}
-					}).catch(err => {
-						console.log(err)
-					})
-				}
-			},
-			uploadFile(imagePaths) {
-				var returnImagePathList = [];
-				var count = 0;
-				console.log("accessToken:" + uni.getStorageSync('accessToken'));
-				return new Promise((resolve, reject) => {
-					imagePaths.forEach(imagePath => {
-						console.log("path " + imagePath);
-						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) => {
-								console.log(uploadFileRes);
-								if (uploadFileRes.statusCode == 200) {
-									let data = JSON.parse(uploadFileRes.data);
-									if (data.success) {
-										let name = data.data['name'];
-										returnImagePathList.push(name);
-									}
-								}
-								count += 1;
-								if (count == imagePaths.length) {
-									resolve(returnImagePathList);
-								}
-							},
-							fail: (err) => {
-
-								console.log(err);
-								reject('err')
-							},
-							complete() {
-								uni.hideLoading()
-							}
-						});
-					});
-				})
-
-			},
-			formSubmit: function(e) {
-				console.log('form发生了submit事件,携带数据为:' + JSON.stringify(e.detail.value))
-				var formdata = e.detail.value
-				if ((this.projectInfo.projectId != null && this.projectInfo.projectId.length > 0) &&
-					(this.checkAreaDict.id != null && this.checkAreaDict.id.length > 0) &&
-					(this.checkItemTypeDict.id != null && this.checkItemTypeDict.id.length > 0) &&
-					(this.checkItemLabelDict.id != null && this.checkItemLabelDict.id.length > 0) &&
-					(this.checkStandardDict.id != null && this.checkStandardDict.id.length > 0)) {
-
-					this.recordInfo['failureCheckPointDesc'] = formdata['failureCheckPointDesc'];
-					this.recordInfo['failureHiddenDangerDesc'] = formdata['failureHiddenDangerDesc'];
-					this.recordInfo['failureCorrectiveSuggest'] = formdata['failureCorrectiveSuggest'];
-
-					this.recordInfo['failureProjectId'] = this.projectInfo.projectId;
-					this.recordInfo['failureCheckArea'] = this.checkAreaDict.id;
-
-					this.recordInfo['failureCheckHiddenDangerType'] = this.checkItemTypeDict.id;
-					this.recordInfo['failureCheckHiddenDanger'] = this.checkItemLabelDict.id;
-					this.recordInfo['failureCheckHiddenDangerItemPoint'] = this.checkStandardDict.id;
-					this.recordInfo['failureCheckHiddenDangerStandard'] = this.checkItemStandardBasisDict.id;
-
-					this.recordInfo['failureHiddenDangerLevel'] = this.hiddenDangerRadio.items[this
-							.hiddenDangerRadio.current]
-						.id;
-					this.recordInfo['failureCorrectivePlanTime'] = this.planTimeRadio.items[this.planTimeRadio
-							.current]
-						.id;
-
-
-					this.upload(this.recordInfo);
-
-				} else {
-					uni.showModal({
-						content: '请检查必填项',
-						showCancel: false
-					});
-				}
-
-			},
-			formReset: function(e) {
-				console.log('清空数据')
-			},
-			selectCheckArea() {
-				this.$u.route({
-					url: '/pages/checkReport/checkAreaSelect'
-				})
-			},
-			selectCheckItemType() {
-				uni.navigateTo({
-					url: '/pages/checkReport/checkItemSelect'
-				})
-			},
-			selectCheckItemLabel() {
-				if (this.checkItemTypeDict.id.length > 0) {
-					uni.navigateTo({
-						url: '/pages/checkReport/checkItemLabelSelect?id=' + this.checkItemTypeDict.id
-					})
-				} else {
-					uni.showModal({
-						content: '请先选择安全隐患问题类型',
-						showCancel: false
-					});
-				}
-			},
-			selectCheckStandard() {
-				if (this.checkItemLabelDict.id.length > 0) {
-					uni.navigateTo({
-						url: '/pages/checkReport/checkStandardSelect?id=' + this.checkItemLabelDict.id
-					})
-				} else {
-					uni.showModal({
-						content: '请先选择安全隐患问题标签',
-						showCancel: false
-					});
-				}
-			},
-			openPage(path) {
-				this.$u.route({
-					url: path
-				})
-			},
-			getGroupTitle(item) {
-				return item.groupName
-			},
-			getFieldTitle(item) {
-				return item.title
-			},
-			goto(url) {
-				console.log(url);
-
-				uni.navigateTo({
-					url: url
-				})
-			}
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-
-	.cell-hover-class {
-		background-color: rgb(235, 237, 238);
-	}
-
-	.view-flex-rs {
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-start;
-	}
-
-	.view-flex-rc {
-		display: flex;
-		flex-direction: row;
-		justify-content: center;
-	}
-
-	.view-flex-re {
-		display: flex;
-		flex-direction: row;
-		justify-content: flex-end;
-	}
-
-	.view-flex-cs {
-		display: flex;
-		flex-direction: column;
-		justify-content: flex-start;
-	}
-
-	.view-flex-cc {
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-	}
-
-	.view-flex-ce {
-		display: flex;
-		flex-direction: column;
-		justify-content: flex-end;
-	}
-
-	.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: 100px;
-		border: 1px solid #FF5A5F;
-		border-radius: 5px;
-	}
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.img-container {
-		margin-bottom: 20px;
-
-		.note-image-box {
-			margin-top: 5px;
-			display: flex;
-			flex-wrap: wrap;
-			padding: 10px;
-
-			.note-image-item {
-				position: relative;
-				width: 33.3%;
-				height: 0;
-				padding-top: 33.3%;
-				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: 5px;
-					right: 5px;
-					border: 5px;
-					left: 5px;
-					border: 1px #eee solid;
-					border-radius: 5px;
-					overflow: hidden;
-					width: 95%;
-					height: 95%;
-
-				}
-			}
-		}
-	}
-</style>

+ 0 - 24
pages/demo/crud.vue

@@ -1,24 +0,0 @@
-<template>
-	<view class="container">
-		<u-navbar :is-fixed="false" :border-bottom="false" :is-back="true" back-icon-name="arrow-leftward"
-			back-icon-color="#fff" back-icon-size="35" :background="{ background: '#0BB9C8' }" title="CRUD 操作"
-			title-color="#fff">
-		</u-navbar>
-		<view class="u-demo">
-			<view class="u-demo-wrap">
-				<view class="u-demo-title">很快到来</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-
-	export default {
-		data() {
-			return {
-				data: {}
-			};
-		},
-	}
-</script>

+ 0 - 36
pages/demo/demo.config.js

@@ -1,36 +0,0 @@
-export default [{
-		groupName: '基础功能',
-		list: [{
-			path: '/pages/demo/storage',
-			icon: 'cell',
-			title: 'Storage 操作',
-		}, {
-			path: '/pages/demo/vuex',
-			icon: 'sticky',
-			title: 'Vuex 操作',
-		}]
-	},
-	{
-		groupName: '网络功能',
-		list: [{
-			path: '/pages/demo/mock',
-			icon: 'layout',
-			title: 'Mock 调用',
-		}, {
-			path: '/pages/demo/request',
-			icon: 'tabbar',
-			title: 'API 调用',
-		}]
-	}, {
-		groupName: '业务功能',
-		list: [{
-			path: '/pages/demo/crud',
-			icon: 'tag',
-			title: 'CRUD 操作',
-		},{
-			path: '/pages/componentsA/parse/index',
-			icon: 'loading',
-			title: '未完待续',
-		}]
-	},
-]

+ 0 - 74
pages/demo/demo.vue

@@ -1,74 +0,0 @@
-<template>
-	<view class="wrap">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view class="list-wrap">
-			<u-cell-group title-bg-color="rgb(243, 244, 246)" :title="getGroupTitle(item)" v-for="(item, index) in list"
-				:key="index">
-				<u-cell-item :titleStyle="{fontWeight: 500}" @click="openPage(item1.path)" :title="getFieldTitle(item1)"
-					v-for="(item1, index1) in item.list" :key="index1">
-					<image slot="icon" class="u-cell-icon" :src="getIcon(item1.icon)" mode="widthFix"></image>
-				</u-cell-item>
-			</u-cell-group>
-		</view>
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import list from "./demo.config.js";
-	export default {
-		components: {
-			pageNav
-		},
-		data() {
-			return {
-				list: list,
-				title: '基础功能示例合集',
-				desc: '众多示例覆盖开发过程的各个需求,正在不断完善中。可让您快速集成,开箱即用。'
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			uni.setNavigationBarTitle({
-				title: "基础功能示例合集"
-			});
-		},
-		created() {
-
-		},
-		methods: {
-			openPage(path) {
-				this.$u.route({
-					url: path
-				})
-			},
-			getGroupTitle(item) {
-				return item.groupName
-			},
-			getFieldTitle(item) {
-				return item.title
-			}
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-</style>

+ 0 - 49
pages/demo/mock.vue

@@ -1,49 +0,0 @@
-<template>
-	<view class="container">
-		<u-navbar :is-fixed="false" :border-bottom="false" :is-back="true" back-icon-name="arrow-leftward"
-			back-icon-color="#fff" back-icon-size="35" :background="{ background: '#0BB9C8' }" title="Mock 调用"
-			title-color="#fff">
-		</u-navbar>
-		<view class="u-demo">
-			<view class="u-demo-wrap">
-				<view class="u-demo-title">演示效果</view>
-				<view class="u-demo-area u-flex u-row-center">
-					数据为:{{data}}
-				</view>
-			</view>
-			<view class="u-config-wrap">
-				<view class="u-config-title u-border-bottom">参数操作</view>
-				<view class="u-config-item">
-					<view class="u-item-title">按钮点击</view>
-					<u-button @click="doRequest">获取数据</u-button>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	import {
-		fakeBannerList
-	} from "@/api/mock/home.js";
-	export default {
-		data() {
-			return {
-				data: {}
-			};
-		},
-		methods: {
-			doRequest() {
-				let keyword = "";
-				fakeBannerList().then(data => {
-					this.data = data;
-					this.$u.func.showToast({
-						title: '数据获取成功',
-					})
-				}).catch(() => {
-
-				})
-			}
-		},
-	}
-</script>

+ 0 - 48
pages/demo/request.vue

@@ -1,48 +0,0 @@
-<template>
-	<view class="container">
-		<u-navbar :is-fixed="false" :border-bottom="false" :is-back="true" back-icon-name="arrow-leftward"
-			back-icon-color="#fff" back-icon-size="35" :background="{ background: '#0BB9C8' }" title="API 请求"
-			title-color="#fff">
-		</u-navbar>
-		<view class="u-demo">
-			<view class="u-demo-wrap">
-				<view class="u-demo-title">演示效果</view>
-				<view class="u-demo-area u-flex u-row-center">
-					<u-image width="300rpx" height="100rpx" :src="url"></u-image>
-				</view>
-			</view>
-			<view class="u-config-wßrap">
-				<view class="u-config-title u-border-bottom">参数操作</view>
-				<view class="u-config-item">
-					<view class="u-item-title">按钮点击</view>
-					<u-button @click="doRequest">刷新验证码</u-button>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				url: ''
-			};
-		},
-		methods: {
-			doRequest() {
-				let keyword = "";
-				// 自动挂载至this.$u.api,无需引入
-				// captcha 在 /api/demo.js 内定义
-				this.$u.api.captcha().then(data => {
-					this.url = data.image;
-					this.$u.func.showToast({
-						title: '数据获取成功',
-					})
-				}).catch(() => {
-
-				})
-			}
-		},
-	}
-</script>

+ 0 - 42
pages/demo/storage.vue

@@ -1,42 +0,0 @@
-<template>
-	<view class="container">
-		<u-navbar :is-fixed="false" :border-bottom="false" :is-back="true" back-icon-name="arrow-leftward"
-			back-icon-color="#fff" back-icon-size="35" :background="{ background: '#0BB9C8' }" title="Storage 操作"
-			title-color="#fff">
-		</u-navbar>
-		<view class="u-demo">
-			<view class="u-demo-wrap">
-				<view class="u-demo-title">演示效果</view>
-				<view class="u-demo-area u-flex u-row-center">
-					[ BladeX ] 的官网为:{{domain}}
-				</view>
-			</view>
-			<view class="u-config-wrap">
-				<view class="u-config-title u-border-bottom">参数操作</view>
-				<view class="u-config-item">
-					<view class="u-item-title">按钮点击</view>
-					<u-button @click="modifyStorage">修改变量</u-button>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				domain: ''
-			}
-		},
-		onLoad() {
-			this.domain = uni.getStorageSync('domain');
-		},
-		methods: {
-			modifyStorage() {
-				uni.setStorageSync('domain', 'https://bladex.vip');
-				this.domain = uni.getStorageSync('domain');
-			}
-		},
-	}
-</script>

+ 0 - 41
pages/demo/vuex.vue

@@ -1,41 +0,0 @@
-<template>
-	<view class="container">
-		<u-navbar :is-fixed="false" :border-bottom="false" :is-back="true" back-icon-name="arrow-leftward"
-			back-icon-color="#fff" back-icon-size="35" :background="{ background: '#0BB9C8' }" title="Vuex 操作"
-			title-color="#fff">
-		</u-navbar>
-		<view class="u-demo">
-			<view class="u-demo-wrap">
-				<view class="u-demo-title">演示效果</view>
-				<view class="u-demo-area u-flex u-row-center">
-					<!-- vuex已做过封装,可以直接使用state内的变量 -->
-					版本号为:{{version}}
-				</view>
-				<view class="u-demo-area u-flex u-row-center">
-					[ BladeX ] 的作者为:{{userInfo.nickName}}
-				</view>
-			</view>
-			<view class="u-config-wrap">
-				<view class="u-config-title u-border-bottom">参数操作</view>
-				<view class="u-config-item">
-					<view class="u-item-title">按钮点击</view>
-					<u-button @click="modifyVuex">修改变量</u-button>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		methods: {
-			// vuex已做过封装,可以直接this.$u.vuex(key, value)修改,无需引入
-			modifyVuex() {
-				// version不在lifeData,每次刷新会丢失
-				this.$u.vuex('version', '1.0.1');
-				// userInfo在lifeData,刷新重启会保留
-				this.$u.vuex('userInfo.nickName', '翼');
-			}
-		},
-	}
-</script>

+ 238 - 0
pages/equipment-inspection/companyfinishedinspectionreportlist.vue

@@ -0,0 +1,238 @@
+<!--
+ * @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-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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 v-if="rainSeasonKind==0" style="margin-top: 2px;">
+								<view class="items-line">
+									<text v-if="item.beforeRainSeasonStatus ==1"
+										class="item-text-content">汛前:{{item.beforeRainSeasonReportUserName}}/{{item.beforeRainSeasonReportTime}}</text>
+								</view>
+								<view class="items-line">
+									<text v-if="item.rainSeasonFirstStatus ==1"
+										class="item-text-content">汛中(一):{{item.rainSeasonFirstReportUserName}}/{{item.rainSeasonFirstReportTime}}</text>
+								</view>
+								<view class="items-line">
+									<text v-if="item.rainSeasonSecondStatus ==1"
+										class="item-text-content">汛中(二):{{item.rainSeasonSecondReportUserName}}/{{item.rainSeasonSecondReportTime}}</text>
+								</view>
+							</view>
+							<view v-else>
+								<view class="items-line" style="margin-top: 2px;">
+									<uni-icons class="input-uni-icon" type="auth" size="18" color="lightblue" />
+									<text class="item-text-lable">填报人:</text>
+									<text v-if="rainSeasonKind ==1"
+										class="item-text-content">{{item.beforeRainSeasonReportUserName}}</text>
+									<text v-else-if="rainSeasonKind ==2"
+										class="item-text-content">{{item.rainSeasonFirstReportUserName}}</text>
+									<text v-else-if="rainSeasonKind ==3"
+										class="item-text-content">{{item.rainSeasonSecondReportUserName}}</text>
+								</view>
+								<view class="items-line" style="margin-top: 2px;">
+									<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+									<text class="item-text-lable">填报时间:</text>
+									<text v-if="rainSeasonKind ==1"
+										class="item-text-content">{{item.beforeRainSeasonReportTime}}</text>
+									<text v-else-if="rainSeasonKind ==2"
+										class="item-text-content">{{item.rainSeasonFirstReportTime}}</text>
+									<text v-else-if="rainSeasonKind ==3"
+										class="item-text-content">{{item.rainSeasonSecondReportTime}}</text>
+								</view>
+							</view>
+							<view class="item-button-group">
+								<view v-if="item.beforeRainSeasonStatus ==1" class="item-button"
+									@click="onBeforeRainDetailViewClick(item.beforeRainSeasonReportId)">
+									<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="item.rainSeasonFirstStatus ==1" class="item-button"
+									@click="onRainFirstDetailViewClick(item.rainSeasonFirstReportId)">
+									<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="item.rainSeasonSecondStatus ==1" class="item-button"
+									@click="onRainSencodDetailViewClick(item.rainSeasonSecondReportId)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" 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.rainSeasonKind = option.rainSeasonKind;
+			this.query['deptId'] = option.deptId;
+
+			if (this.rainSeasonKind == 0) {
+				this.title = '年度已巡检设备信息';
+			} else if (this.rainSeasonKind == 1) {
+				this.title = '汛前已巡检设备信息';
+				this.query['rainSeasonKind'] = option.rainSeasonKind;
+			} else if (this.rainSeasonKind == 2) {
+				this.title = '汛中(一)已巡检设备信息';
+				this.query['rainSeasonKind'] = option.rainSeasonKind;
+			} else if (this.rainSeasonKind == 3) {
+				this.title = '汛中(二)已巡检设备信息';
+				this.query['rainSeasonKind'] = option.rainSeasonKind;
+			}
+			console.log(JSON.stringify(this.query))
+			this.getPage();
+		},
+		data() {
+			return {
+				rainSeasonKind: 0,
+				title: '已巡检设备信息',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
+				list: [],
+				pageSize: 10,
+				// 当前页
+				pageCurrent: 1,
+				// 数据总量
+				total: 0,
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				}
+			}
+		},
+		computed: {
+		},
+		onShow() {
+		},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			onBeforeRainDetailViewClick(id) {
+				console.log("onDetailViewClick " + id)
+				var url = '/pages/equipment-inspection/inspectionreportview?type=1&id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onRainFirstDetailViewClick(id) {
+				console.log("onDetailViewClick " + id)
+				var url = '/pages/equipment-inspection/inspectionreportview?type=2&id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onRainSencodDetailViewClick(id) {
+				console.log("onDetailViewClick " + id)
+				var url = '/pages/equipment-inspection/inspectionreportview?type=3&id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			getPage(params = {}) {
+				let that = this;
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(this.query, params);
+				http.request({
+					url: '/galaxy-business/equipment/inspection/rain/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data != null) {
+						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>
+
+</style>

+ 0 - 399
pages/equipment-inspection/equipmentinspectionlist.vue

@@ -1,399 +0,0 @@
-<template>
-	<view class="wrap">
-		<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>
-		<!-- 	<u-gap height="75px"></u-gap> -->
-		<view class="container">
-			<uSection title="查询" type="line" style="padding-left: 10px;padding-right: 10px;">
-				<uni-data-picker placeholder="请选择机构" popup-title="请选择所在地区" :localdata="projectTree"
-					v-model="selectedTreeNode" @change="onchange" @nodeclick="onnodeclick" @popupopened="onpopupopened"
-					@popupclosed="onpopupclosed">
-				</uni-data-picker>
-			</uSection>
-			<view>
-				<uni-search-bar placeholder="请录入测站编码或测站名称" @confirm="search" :focus="false" v-model="searchVal"
-					@blur="blur" @focus="focus" @input="input" @cancel="cancel" @clear="clear">
-				</uni-search-bar>
-			</view>
-			<uSection title="">
-				<uList>
-					<uni-list-item v-for="item in list" :key="item.id">
-						<!-- 自定义 body -->
-						<template v-slot:body>
-							<view style="width: 100%;display: flex;flex-direction: column;">
-								<view
-									style="width:100%;display:flex;flex-direction: row;justify-content: flex-start;align-items: center;">
-									<image class="order-title-image" style="box-shadow:0 0 2px 2px lightblue"
-										src="/static/images/home/n3.png" mode="widthFix">
-									</image>
-									<text
-										style="margin-left: 10rpx; font-size: 1rem;font-weight: bold;">{{item.rtuName}}</text>
-									<text style="margin-left:8rpx;font-size: 0.9rem;">[{{item.rtuCode}}]</text>
-								</view>
-								<view style="display: flex;flex-direction: row;align-items: center;">
-									<uIcons class="input-uni-icon" type="location" size="18" color="skyblue" />
-									<view style="margin-left:5px;font-size: 0.7rem;">
-										{{item.locationDesc}}
-									</view>
-								</view>
-								<view style="margin-top: 5px;display: flex;flex-direction: row;align-items: center;">
-									<uIcons class="input-uni-icon" type="gear-filled" size="18" color="skyblue" />
-									<!-- <text style="font-size: 0.7rem;">当前运行状态:</text> -->
-									<text v-if="item.runStatus==0"
-										style="margin-left:5px;font-size: 0.7rem;color:green">运行正常</text>
-									<text v-else style="margin-left:5px;font-size: 0.7rem;color:orangered">设备故障</text>
-								</view>
-								<view
-									style="height:22%;padding-top:4px;display:  flex;flex-direction: row;justify-content: flex-end;">
-
-									<view
-										style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-										@click="openPage(item.rtuCode)">
-										<view style="display:flex;flex-direction: column;justify-content: center;">
-											<uIcons class="input-uni-icon" type="compose" size="18" color="coral" />
-										</view>
-										<view
-											style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-											<text style="color:black;font-size:0.7rem">开始填报</text>
-										</view>
-									</view>
-
-									<view
-										style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-										@click="toLocation(item)">
-										<view style="display:flex;flex-direction: column;justify-content: center;">
-											<uIcons class="input-uni-icon" type="location" size="18" color="coral" />
-										</view>
-										<view
-											style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-											<text style="color:black;font-size:0.7rem">导航</text>
-										</view>
-									</view>
-
-								</view>
-								<!-- 								<view
-									style="margin-top: 10rpx;padding-left: 0rpx;padding-right: 0rpx;display: flex;flex-direction: row;justify-content: center;">
-									<view  style="width: 100%;">
-										<button style="background-color: lightblue;" type="default"
-											@click="openPage(item.rtuCode)">开始填报</button>
-									</view>
-									<view v-if="item.reportStatus == 1" style="width: 100%;">
-										<button type="default" @click="toPlanClose(item.id)">已提交</button>
-									</view>
-								</view> -->
-							</view>
-						</template>
-					</uni-list-item>
-				</uList>
-			</uSection>
-			<uGroup>
-				<view class="uni-pagination-box">
-					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
-				</view>
-			</uGroup>
-		</view>
-		<!-- 	<u-gap height="70"></u-gap> -->
-	</view>
-</template>
-
-<script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import http from '@/http/api.js';
-	export default {
-		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-			uSection,
-			uDataPicker,
-			uPagination,
-			uBreadcrumb,
-		},
-		onLoad(option) {
-			this.getProjectTree();
-		},
-		data() {
-			return {
-				list: [],
-				title: '设备巡检任务',
-				desc: '',
-				pageSize: 10,
-				// 当前页
-				pageCurrent: 1,
-				// 数据总量
-				total: 0,
-				projectTree: [],
-				selectedTreeNode: '',
-				searchVal: '',
-				orgId: '',
-				projectId: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			this.getEquipmentList();
-		},
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			// 分页触发
-			change(e) {
-				//this.$refs.table.clearSelection()
-				//this.selectedIndexs.length = 0
-				this.pageCurrent = e.current;
-				this.getEquipmentList()
-			},
-			onnodeclick(node) {
-				console.log("onnodeclick++++++++++" + node.projectId)
-				if (node.projectId != null) {
-					this.orgId = node.orgId;
-					this.projectId = node.projectId;
-					this.searchVal = '';
-					this.pageCurrent = 1;
-					this.getEquipmentList();
-				}
-			},
-			onpopupopened(e) {
-
-			},
-			onpopupclosed(e) {
-
-			},
-			onchange(node) {
-
-			},
-			search(res) {
-				this.getEquipmentList();
-			},
-			input(res) {
-
-			},
-			clear(res) {
-				this.searchVal = '';
-				this.getEquipmentList();
-			},
-			blur(res) {
-
-			},
-			focus(e) {
-
-			},
-			cancel(res) {
-				this.searchVal = '';
-				this.getEquipmentList();
-			},
-			onBackPress() {
-				// #ifdef APP-PLUS
-				plus.key.hideSoftKeybord();
-				// #endif
-			},
-			getProjectTree() {
-				var that = this;
-				http.request({
-					url: '/galaxy-test/rtu/manage/tree',
-					method: 'GET',
-				}).then(res => {
-					console.log(res)
-					if (res.data != null) {
-						that.projectTree = res.data;
-						//console.log("ffffffff " + that.projectTree[0].orgId)
-						that.selectedTreeNode = that.projectTree[0].value;
-						that.orgId = that.projectTree[0].orgId;
-						that.projectId = that.projectTree[0].projectId;
-
-						that.getEquipmentList();
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getEquipmentList() {
-				var that = this;
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				const isSubmit = '0';
-				var postData = {};
-				postData['rtuCode'] = this.searchVal;
-				postData['rtuName'] = this.searchVal;
-				postData['orgId'] = this.orgId;
-				postData['projectId'] = this.projectId;
-				http.request({
-					url: '/galaxy-test/equipment/inspection/plan/my/page',
-					method: 'GET',
-					params: {
-						current,
-						size,
-						isSubmit
-					},
-					data: postData,
-				}).then(res => {
-
-					if (res.data.records != null) {
-						that.list = res.data.records;
-					}
-					this.total = res.data.total;
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			openPage(rtuCode) {
-				var url = '/pages/equipment-inspection/equipmentinspectionreport?rtuCode=' +
-					rtuCode;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toLocation(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() {
-
-					}
-				})
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-
-	.order-title-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		// margin-right: 10px;
-		width: 20px;
-		height: 20px;
-		border-radius: 50%;
-
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

+ 0 - 217
pages/equipment-inspection/equipmentinspectionplanlist.vue

@@ -1,217 +0,0 @@
-<template>
-	<view class="wrap">
-		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
-			:title="title" @clickLeft="toBack" >
-		</uni-nav-bar>
-<!-- 		<u-gap height="75px"></u-gap> -->
-		<view class="container">
-			<uni-list>
-				<uni-list-item v-for="item in list" :key="item.id">
-					<!-- 自定义 body -->
-					<template v-slot:body>
-						<view style="height: 130px;width: 100%;display: flex;flex-direction: column;">
-							<view style="display: flex;flex-direction: row;width: 100%;justify-content: flex-start;">
-								<view style="font-size: 0.9rem;font-weight: bold;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">{{item.planTitle}}
-								</view>
-							</view>
-							<view style="margin-top: 10rpx;">
-								<text style="margin-right: 10px;font-size: 0.7rem;">计划开始时间:</text>
-								<text style="font-size: 0.7rem;color: orangered;">{{item.inspectionStartTime}}</text>
-							</view>
-							<view style="margin-top: 10rpx;">
-								<text style="margin-right: 10px;font-size: 0.7rem;">计划结束时间:</text>
-								<text style="font-size: 0.7rem;color: orangered;">{{item.inspectionEndTime}}</text>
-							</view>
-							<view  v-if="item.planClose == 2" style="margin-top: 10rpx;padding-left: 0px;padding-right: 0px;">
-								<button style="background-color: lightblue;" type="default" @click="openPage(item.id)">开始填报</button>
-							</view>
-							<view  v-if="item.planClose == 1" style="margin-top: 10rpx;padding-left: 0px;padding-right: 0px;">
-								<button  type="default" @click="toPlanClose(item.id)">填报已结束</button>
-							</view>
-						</view>
-
-					</template>
-				</uni-list-item>
-			</uni-list>
-		</view>
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import http from '@/http/api.js';
-	export default {
-		components: {
-		uNavBar,
-		uList,
-		uListItem,
-		uIcons,
-		uGroup,
-		},
-		onLoad(option) {
-			this.getPlanList();
-		},
-		data() {
-			return {
-				list: [],
-				title: '巡检计划',
-				desc: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			// uni.setNavigationBarTitle({
-			// 	title: ""
-			// });
-		},
-		created() {
-
-		},
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			getPlanList() {
-				var that = this;
-				http.request({
-					url: '/galaxy-test/equipment/inspection/plan/all/list',
-					method: 'GET',
-				}).then(res => {
-					console.log(res)
-					if (res.data != null) {
-						that.list = res.data;
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			openPage(id) {
-				var url = '/pages/equipment-inspection/equipmentinspectionreportrtulist?id=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toPlanClose(id){
-				
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

Разница между файлами не показана из-за своего большого размера
+ 705 - 447
pages/equipment-inspection/equipmentinspectionreport.vue


+ 0 - 651
pages/equipment-inspection/equipmentinspectionreportdetail.vue

@@ -1,651 +0,0 @@
-<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">
-			<uSection title="巡检总结情况" ftitleFontSize="0.8rem" type="line" style="width: 100%;">
-				<uCard :is-shadow="false">
-					<text class="uni-body">{{reportInfo.reportDesc}}</text>
-				</uCard>
-				<uCard v-if="reportInfo.basePhoto1Take ==1" padding="0" spacing="0" :is-shadow="false">
-					<template v-slot:cover>
-						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.basePhoto1Url)">
-							</image>
-							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">图片一</text>
-							</view>
-						</view>
-					</template>
-				</uCard>
-				<uCard v-if="reportInfo.basePhoto2Take ==1" padding="0" spacing="0" :is-shadow="false">
-					<template v-slot:cover>
-						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.basePhoto2Url)">
-							</image>
-							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">图片二</text>
-							</view>
-						</view>
-					</template>
-				</uCard>
-			</uSection>
-			<uSection title="RTU设备信息" ftitleFontSize="0.8rem" type="line" style="width: 100%;">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;color: gray;">运行状态:</text>
-						<text v-if="reportInfo.rtuStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="品牌" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.rtuBrand}}</text>
-				</uCard>
-				<uCard title="型号" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.rtuModel}}</text>
-				</uCard>
-				<uCard title="更换时间" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.rtuReplaceDate}}</text>
-				</uCard>
-				<uCard title="上报到县市省" :is-shadow="false">
-					<view style="display: flex; flex-direction: row;align-items: center;">
-						<view v-if="reportInfo.datagramToLevel1">
-							<text>发往县</text>
-							<text style="margin-left: 5px;margin-right: 5px;">/</text>
-						</view>
-						<view v-if="reportInfo.datagramToLevel2">
-							<text>发往市</text>
-							<text style="margin-left: 5px;margin-right: 5px;">/</text>
-						</view>
-						<view v-if="reportInfo.datagramToLevel3">
-							<text>发往省</text>
-							<text style="margin-left: 5px;margin-right: 5px;">/</text>
-						</view>
-					</view>
-				</uCard>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.rtuDesc}}</text>
-				</uCard>
-				<uCard v-if="reportInfo.rtuPhotoTake ==1" padding="0" spacing="0" :is-shadow="false">
-					<template v-slot:cover>
-						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.rtuPhotoUrl)">
-							</image>
-							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">RTU图片</text>
-							</view>
-						</view>
-					</template>
-				</uCard>
-			</uSection>
-			<uSection v-if="reportInfo.rainSensorActive ==1" title="雨量传感器" ftitleFontSize="0.8rem" type="line"
-				style="width: 100%;">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;color: gray;">运行状态:</text>
-						<text v-if="reportInfo.rainSensorStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="品牌" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.rainSensorBrand}}</text>
-				</uCard>
-				<uCard title="型号" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.rainSensorModel}}</text>
-				</uCard>
-				<uCard title="更换时间" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.rainSensorReplaceDate}}</text>
-				</uCard>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.rainSensorDesc}}</text>
-				</uCard>
-				<uCard v-if="reportInfo.rainSensorPhotoTake ==1" padding="0" spacing="0" :is-shadow="false">
-					<template v-slot:cover>
-						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.rainSensorPhotoUrl)">
-							</image>
-							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">雨量传感器图片</text>
-							</view>
-						</view>
-					</template>
-				</uCard>
-			</uSection>
-			<uSection v-if="reportInfo.waterLevelSensorActive ==1" title="水位传感器" ftitleFontSize="0.8rem" type="line"
-				style="width: 100%;">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;color: gray;">运行状态:</text>
-						<text v-if="reportInfo.waterLevelSensorStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="品牌" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.waterSensorBrand}}</text>
-				</uCard>
-				<uCard title="型号" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.waterSensorModel}}</text>
-				</uCard>
-				<uCard title="传感器类型" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.waterSensorTypeText}}</text>
-				</uCard>
-				<uCard title="更换时间" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.waterSensorReplaceDate}}</text>
-				</uCard>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.waterSensorDesc}}</text>
-				</uCard>
-				<uCard v-if="reportInfo.waterSensorPhotoTake ==1" padding="0" spacing="0" :is-shadow="false">
-					<template v-slot:cover>
-						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.waterSensorPhotoUrl)">
-							</image>
-							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">水位传感器图片</text>
-							</view>
-						</view>
-					</template>
-				</uCard>
-			</uSection>
-			<uSection v-if="reportInfo.groundWaterSensorActive ==1" title="墒情传感器" ftitleFontSize="0.8rem" type="line"
-				style="width: 100%;">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;color: gray;">运行状态:</text>
-						<text v-if="reportInfo.groundWaterSensorStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="品牌" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.groundSensorBrand}}</text>
-				</uCard>
-				<uCard title="型号" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.groundSensorModel}}</text>
-				</uCard>
-				<uCard title="传感器类型" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.groundSensorTypeText}}</text>
-				</uCard>
-				<uCard title="更换时间" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.groundSensorReplaceDate}}</text>
-				</uCard>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.groundSensorDesc}}</text>
-				</uCard>
-				<uCard v-if="reportInfo.groundSensorPhotoTake ==1" padding="0" spacing="0" :is-shadow="false">
-					<template v-slot:cover>
-						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.groundSensorPhotoUrl)">
-							</image>
-							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">墒情传感器图片</text>
-							</view>
-						</view>
-					</template>
-				</uCard>
-			</uSection>
-			<uSection title="供电系统" ftitleFontSize="0.8rem" type="line" style="width: 100%;">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;color: gray;">运行状态:</text>
-						<text v-if="reportInfo.powerStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="蓄电池容量(AH)" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.batteryModel}}</text>
-				</uCard>
-				<uCard title="蓄电池更换时间" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.batteryReplaceDate}}</text>
-				</uCard>
-				<uCard title="太阳能板功率(W)" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.sunPowerModel}}</text>
-				</uCard>
-				<uCard title="太阳能板更换时间" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.sunPowerReplaceDate}}</text>
-				</uCard>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.powerDesc}}</text>
-				</uCard>
-				<uCard v-if="reportInfo.batteryPhotoTake ==1" padding="0" spacing="0" :is-shadow="false">
-					<template v-slot:cover>
-						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.batteryPhotoUrl)">
-							</image>
-							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">蓄电池图片</text>
-							</view>
-						</view>
-					</template>
-				</uCard>
-				<uCard v-if="reportInfo.sunPhotoTake ==1" padding="0" spacing="0" :is-shadow="false">
-					<template v-slot:cover>
-						<view class="custom-cover">
-							<image class="cover-image" style="width: 100%;" mode="aspectFill"
-								:src="toOss(reportInfo.sunPhotoUrl)">
-							</image>
-							<view class="cover-content" style="text-align: center;">
-								<text class="uni-subtitle uni-white" style="color: gray;">太阳能板图片</text>
-							</view>
-						</view>
-					</template>
-				</uCard>
-			</uSection>
-			<uSection v-if="reportInfo.networkActive ==1" title="4G移动网络" ftitleFontSize="0.8rem" type="line"
-				style="width: 100%;">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;color: gray;">运行状态:</text>
-						<text v-if="reportInfo.networkStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="SIM卡号" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.simCcid}}</text>
-				</uCard>
-				<uCard title="开卡单位" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.simPay}}</text>
-				</uCard>
-				<uCard title="缴费截止时间" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.simPayEndDate}}</text>
-				</uCard>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.networkDesc}}</text>
-				</uCard>
-			</uSection>
-			<uSection v-if="reportInfo.satelliteActive ==1" title="北斗通讯" ftitleFontSize="0.8rem" type="line"
-				style="width: 100%;">
-				<template v-slot:right>
-					<view style="padding-right: 15px;">
-						<text style="font-size: 0.7rem;color: gray;">运行状态:</text>
-						<text v-if="reportInfo.satelliteStatus == 0"
-							style="font-size: 0.7rem;color: green;margin-left: 4px;">正常</text>
-						<text v-else style="font-size: 0.7rem;color: orangered;margin-left: 4px;">故障</text>
-					</view>
-				</template>
-				<uCard title="通讯模式" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.satelliteModelText}}</text>
-				</uCard>
-				<uCard title="备注说明" :is-shadow="false">
-					<text class="uni-body">{{reportInfo.satelliteDesc}}</text>
-				</uCard>
-			</uSection>
-		</uni-forms>
-	</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';
-
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import uCard from '@/uni_modules/uni-card/components/uni-card/uni-card.vue'
-	export default {
-		components: {
-			uNavBar,
-			uDataPicker,
-			uPagination,
-			uBreadcrumb,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-			uSection,
-			uCard,
-		},
-		onLoad(options) {
-			this.reportId = options.id;
-			//this.rtuCode = options.rtuCode;
-			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
-			//初始化巡检填报字典
-			//this.getReportDict();
-			//查询计划信息
-			//this.getPlanInfo();
-			this.getReportInfo();
-		},
-		data() {
-			return {
-				baseURL: '',
-				reportId: 0,
-				reportInfo: {
-					reportDesc: '测试测试',
-					basePhoto1Url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					basePhoto1Take: true,
-					basePhoto2Url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					basePhoto2Take: true,
-
-					rtuStatus: 0,
-					rtuDesc: '测试测试',
-					rtuBrand: '测试测试',
-					rtuModel: '测试测试',
-					rtuReplaceDate: '2022-08-15 12:00:00',
-					datagramToLevel1: 1,
-					datagramToLevel2: 0,
-					datagramToLevel3: 1,
-					rtuPhotoUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					rtuPhotoTake: true,
-
-					rainSensorActive: 1,
-					rainSensorStatus: 0,
-					rainSensorDesc: '测试测试',
-					rainSensorReplaceDate: '2022-08-15 12:00:00',
-					rainSensorBrand: '测试测试',
-					rainSensorModel: '测试测试',
-					rainSensorPhotoUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					rainSensorPhotoTake: true,
-
-					waterSensorBrand: '测试测试',
-					waterSensorModel: '测试测试',
-					waterSensorTypeText: '测试测试',
-					waterSensorReplaceDate: '2022-08-15 12:00:00',
-					waterSensorDesc: '测试测试',
-					waterSensorPhotoUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					waterSensorPhotoTake: true,
-					waterLevelSensorActive: 1,
-					waterLevelSensorStatus: 1,
-
-					groundSensorBrand: '测试测试',
-					groundSensorModel: '测试测试',
-					groundSensorTypeText: '测试测试',
-					groundSensorReplaceDate: '2022-08-15 12:00:00',
-					groundSensorDesc: '测试测试',
-					groundSensorPhotoUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					groundSensorPhotoTake: true,
-					groundWaterSensorActive: 1,
-					groundWaterSensorStatus: 0,
-
-					batteryModel: '测试测试',
-					batteryReplaceDate: '2022-08-15 12:00:00',
-					sunPowerModel: '测试测试',
-					sunPowerReplaceDate: '2022-08-15 12:00:00',
-					batteryPhotoUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					batteryPhotoTake: true,
-					sunPhotoUrl: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
-					sunPhotoTake: true,
-					powerDesc: '测试测试',
-					powerStatus: 0,
-
-					simCcid: '11111111111',
-					simPay: '测试测试',
-					simPayEndDate: '2022-08-15 12:00:00',
-					networkDesc: '111',
-					networkStatus: 0,
-					networkActive: 1,
-
-					satelliteModelText: '测试测试',
-					satelliteStatus: 0,
-					satelliteDesc: '测试测试',
-					satelliteActive: 1,
-				},
-				title: '巡检填报详情',
-				desc: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {},
-		created() {
-
-		},
-		methods: {
-			toOss(path) {
-				return oss + path;
-			},
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			dateFormat(dt) {
-				var text = "" + dt.getFullYear();
-				text += "-";
-				text += ((dt.getMonth() + 1) < 10) ? ("0" + (dt.getMonth() + 1)) : (dt
-					.getMonth() +
-					1);
-				text += "-";
-				text += dt.getDate() < 10 ? "0" + dt.getDate() : dt.getDate();
-				text += " ";
-				text += dt.getHours() < 10 ? "0" + dt.getHours() : dt.getHours();
-				text += ":";
-				text += dt.getMinutes() < 10 ? "0" + dt.getMinutes() : dt.getMinutes();
-				text += ":";
-				text += dt.getSeconds() < 10 ? "0" + dt.getSeconds() : dt.getSeconds();
-				return text;
-			},
-			getReportInfo() {
-				var that = this;
-				var postData = {};
-				postData['id'] = this.reportId;
-				http.request({
-					url: '/galaxy-test/equipment/inspection/report/detail',
-					method: 'GET',
-					data: postData
-				}).then(res => {
-					console.log(res)
-					if (res.data != null) {
-						that.reportInfo = res.data;
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 50rpx;
-	}
-
-	.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-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;
-	}
-
-	.view-flex-cc {
-		display: flex;
-		flex-direction: column;
-		justify-content: center;
-	}
-
-	.view-flex-ce {
-		display: flex;
-		flex-direction: column;
-		justify-content: flex-end;
-	}
-
-	.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;
-	}
-
-	.uni-body {
-		font-size: 0.7rem;
-	}
-
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.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: 5px;
-					right: 5px;
-					border: 5px;
-					left: 5px;
-					border: 1px #eee solid;
-					border-radius: 5px;
-					overflow: hidden;
-					width: 98%;
-					height: 98%;
-
-				}
-
-
-			}
-		}
-	}
-
-	.input-body {
-		background-color: #fff;
-		padding: 10px;
-	}
-</style>

+ 0 - 347
pages/equipment-inspection/equipmentinspectionreportlist.vue

@@ -1,347 +0,0 @@
-<template>
-	<view class="wrap">
-		<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>
-		<view class="container">
-			<uSection title="查询" titleFontSize="0.8rem" type="line" style="padding-left: 10px;padding-right: 10px;">
-				<uni-data-picker placeholder="请选择机构" popup-title="请选择所在地区" :localdata="projectTree"
-					v-model="selectedTreeNode" @change="onchange" @nodeclick="onnodeclick" @popupopened="onpopupopened"
-					@popupclosed="onpopupclosed">
-				</uni-data-picker>
-			</uSection>
-			<view>
-				<uni-search-bar placeholder="请录入测站编码或测站名称" @confirm="search" :focus="false" v-model="searchValue"
-					@blur="blur" @focus="focus" @input="input" @cancel="cancel" @clear="clear">
-				</uni-search-bar>
-			</view>
-			<uSection title="">
-				<uList>
-					<uni-list-item v-for="item in list" :key="item.id">
-						<template v-slot:body>
-							<view style="width: 100%;display: flex;flex-direction: column;">
-								<view
-									style="width:100%;display:flex;flex-direction: row;justify-content: flex-start;align-items: center;">
-									<image class="order-title-image" style="box-shadow:0 0 2px 2px lightblue"
-										src="/static/images/home/n3.png" mode="widthFix">
-									</image>
-									<text
-										style="margin-left: 10rpx; font-size: 1rem;font-weight: bold;">{{item.rtuName}}</text>
-									<text style="margin-left:8rpx;font-size: 0.9rem;">[{{item.rtuCode}}]</text>
-								</view>
-								<view style="display: flex;flex-direction: row;align-items: center;">
-									<uIcons class="input-uni-icon" type="auth" size="18" color="skyblue" />
-									<view style="margin-left:5px;font-size: 0.8rem;">
-										{{item.servicePersonName}}
-									</view>
-								</view>
-								<view style="margin-top: 5px;display: flex;flex-direction: row;align-items: center;">
-									<uIcons class="input-uni-icon" type="notification" size="18" color="skyblue" />
-									<text style="font-size: 0.8rem;">填报时间:</text>
-									<text
-										style="margin-left:5px;font-size: 0.8rem;color:green">{{item.updateTime}}</text>
-								</view>
-								<view
-									style="height:22%;padding-top:4px;display:  flex;flex-direction: row;justify-content: flex-end;">
-									<view
-										style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-										@click="onToDetailClick(item.id)">
-										<view style="display:flex;flex-direction: column;justify-content: center;">
-											<uIcons class="input-uni-icon" type="compose" size="18" color="coral" />
-										</view>
-										<view
-											style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-											<text style="color:black;font-size:0.7rem">查看详情</text>
-										</view>
-									</view>
-								</view>
-							</view>
-						</template>
-					</uni-list-item>
-				</uList>
-			</uSection>
-			<uGroup>
-				<view class="uni-pagination-box">
-					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
-				</view>
-			</uGroup>
-		</view>
-	</view>
-</template>
-
-<script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import http from '@/http/api.js';
-	export default {
-		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-			uSection,
-			uDataPicker,
-			uPagination,
-			uBreadcrumb,
-		},
-		onLoad(option) {
-			this.getProjectTree();
-		},
-		data() {
-			return {
-				planId: 0,
-				orgId: '',
-				projectId: '',
-				list: [],
-				title: '设备巡检填报信息',
-				desc: '',
-				pageSize: 10,
-				// 当前页
-				pageCurrent: 1,
-				// 数据总量
-				total: 0,
-				projectTree: [],
-				selectedTreeNode: '',
-				searchValue: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-
-		},
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			// 分页触发
-			change(e) {
-				this.pageCurrent = e.current;
-				this.getReportRecord()
-			},
-			onnodeclick(node) {
-				if (node.projectId != null) {
-					this.orgId = node.orgId;
-					this.projectId = node.projectId;
-					this.searchValue = '';
-					this.pageCurrent = 1;
-					this.getReportRecord();
-				}
-			},
-			onpopupopened(e) {
-
-			},
-			onpopupclosed(e) {
-
-			},
-			onchange(e) {
-
-			},
-			search(res) {
-				this.getReportRecord();
-			},
-			input(res) {
-
-			},
-			clear(res) {
-				this.searchValue = '';
-				this.getReportRecord();
-			},
-			blur(res) {
-
-			},
-			focus(e) {
-
-			},
-			cancel(res) {
-				this.searchValue = '';
-				this.getReportRecord();
-			},
-			onBackPress() {
-				// #ifdef APP-PLUS
-				plus.key.hideSoftKeybord();
-				// #endif
-			},
-			getProjectTree() {
-				var that = this;
-				http.request({
-					url: '/galaxy-test/rtu/manage/tree',
-					method: 'GET',
-				}).then(res => {
-					if (res.data != null) {
-						that.projectTree = res.data;
-						that.selectedTreeNode = that.projectTree[0].value;
-						that.orgId = that.projectTree[0].orgId;
-						that.projectId = that.projectTree[0].projectId;
-						that.getReportRecord();
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getReportRecord() {
-				const that = this;
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				const isSubmit = '0';
-				let postData = {};
-				http.request({
-					url: '/galaxy-test/equipment/inspection/report/my/page',
-					method: 'GET',
-					params: {
-						current,
-						size,
-						isSubmit
-					},
-					data: postData,
-				}).then(res => {
-					if (res.data != null) {
-						if (res.data.records != null) {
-							that.list = res.data.records;
-						}
-						this.total = res.data.total;
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			onToDetailClick(id) {
-				var url = '/pages/equipment-inspection/equipmentinspectionreportdetail?id=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-	
-	.order-title-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		// margin-right: 10px;
-		width: 20px;
-		height: 20px;
-		border-radius: 50%;
-	
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

+ 0 - 391
pages/equipment-inspection/equipmentinspectionreportrtulist.vue

@@ -1,391 +0,0 @@
-<template>
-	<view class="wrap">
-		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
-			:title="title" @clickLeft="toBack" >
-		</uni-nav-bar>
-	<!-- 	<u-gap height="75px"></u-gap> -->
-		<view class="container">
-			<uSection title="分组选择" type="line" style="padding-left: 10px;padding-right: 10px;">
-				<uni-data-picker placeholder="请选择机构" popup-title="请选择所在地区" :localdata="projectTree"
-					v-model="selectedTreeNode" @change="onchange" @nodeclick="onnodeclick" @popupopened="onpopupopened"
-					@popupclosed="onpopupclosed">
-				</uni-data-picker>
-			</uSection>
-			<uSection title="">
-				<uni-search-bar placeholder="请录入测站编码或测站名称" @confirm="search" :focus="false" v-model="searchVal"
-					@blur="blur" @focus="focus" @input="input" @cancel="cancel" @clear="clear">
-				</uni-search-bar>
-			</uSection>
-			<uSection title="">
-				<uList>
-					<uni-list-item v-for="item in list" :key="item.id">
-						<!-- 自定义 body -->
-						<template v-slot:body>
-							<view style="height: 100px;width: 100%;display: flex;flex-direction: column;">
-								<view
-									style="display: flex;flex-direction: row;width: 100%;justify-content: flex-start;">
-									<view
-										style="font-size: 1rem;font-weight: bold;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
-										{{item.rtuName}}
-									</view>
-								</view>
-								<view style="margin-top: 10rpx;">
-									<text style="font-size: 0.9rem;color: gray;">{{item.rtuCode}}</text>
-								</view>
-								<view
-									style="margin-top: 10rpx;padding-left: 0rpx;padding-right: 0rpx;display: flex;flex-direction: row;justify-content: center;">
-									<view v-if="item.reportStatus == 0" style="width: 100%;">
-										<button style="background-color: lightblue;" type="default"
-											@click="openPage(item.rtuCode)">开始填报</button>
-									</view>
-									<view v-if="item.reportStatus == 1" style="width: 100%;">
-										<button type="default" @click="toPlanClose(item.id)">已提交</button>
-									</view>
-								</view>
-							</view>
-
-						</template>
-					</uni-list-item>
-				</uList>
-			</uSection>
-			<uGroup>
-				<view class="uni-pagination-box">
-					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
-				</view>
-			</uGroup>
-		</view>
-
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import http from '@/http/api.js';
-	export default {
-		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-			uSection,
-		},
-		onLoad(option) {
-			this.planId = option.id;
-			this.getProjectTree();
-		},
-		data() {
-			return {
-				planId: 0,
-				orgId: '',
-				projectId: '',
-				list: [],
-				title: '待巡检测站列表',
-				desc: '',
-				pageSize: 10,
-				// 当前页
-				pageCurrent: 1,
-				// 数据总量
-				total: 0,
-				projectTree: [],
-				selectedTreeNode: '',
-				searchVal: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			// uni.setNavigationBarTitle({
-			// 	title: ""
-			// });
-			//this.getProjectTree();
-			this.getRtuList();
-		},
-
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			// 分页触发
-			change(e) {
-				//this.$refs.table.clearSelection()
-				//this.selectedIndexs.length = 0
-				this.pageCurrent = e.current;
-				this.getRtuList()
-			},
-			onnodeclick(node) {
-				this.orgId = node.orgId;
-				this.projectId = node.projectId;
-				console.log('1111111orgId:', this.orgId);
-				console.log('1111111projectId:', this.projectId);
-
-			},
-			onpopupopened(e) {
-				//console.log('popupopened');
-			},
-			onpopupclosed(e) {
-				//	console.log('popupclosed');
-			},
-			onchange(e) {
-				console.log('onchange:', e.detail.value);
-				this.searchVal = '';
-				this.pageCurrent = 1;
-				// this.orgId = e.detail.orgId;
-				// this.projectId = e.detail.projectId;
-
-				// 	if (e.detail.value.length > 0) {
-				// 		let ids = this.selectedTreeNode.split("-");
-				// 		this.orgId = ids[0];
-				// 		if (ids[1] === '0') {
-				// 			this.projectId = '';
-				// 		} else {
-				// 			this.projectId = ids[1];
-				// 		}
-				// console.log('1111111orgId:', this.orgId);
-				// console.log('1111111projectId:', this.projectId);
-
-
-				// 	} else {
-				// 		this.orgId = '';
-				// 		this.projectId = '';
-
-
-				// 	}
-
-				this.getRtuList();
-			},
-			search(res) {
-				// uni.showToast({
-				// 	title: '搜索:' + res.value,
-				// 	icon: 'none'
-				// })
-
-				this.getRtuList();
-			},
-			input(res) {
-				//	console.log('----input:', res)
-			},
-			clear(res) {
-				// uni.showToast({
-				// 	title: 'clear事件,清除值为:' + res.value,
-				// 	icon: 'none'
-				// })
-				this.searchVal = '';
-				this.getRtuList();
-			},
-			blur(res) {
-				// uni.showToast({
-				// 	title: 'blur事件,输入值为:' + res.value,
-				// 	icon: 'none'
-				// })
-			},
-			focus(e) {
-				// uni.showToast({
-				// 	title: 'focus事件,输出值为:' + e.value,
-				// 	icon: 'none'
-				// })
-			},
-			cancel(res) {
-				// uni.showToast({
-				// 	title: '点击取消,输入值为:' + res.value,
-				// 	icon: 'none'
-				// })
-				this.searchVal = '';
-				this.getRtuList();
-			},
-			onBackPress() {
-				// #ifdef APP-PLUS
-				plus.key.hideSoftKeybord();
-				// #endif
-			},
-			getProjectTree() {
-				var that = this;
-				http.request({
-					url: '/galaxy-test/rtu/manage/tree',
-					method: 'GET',
-				}).then(res => {
-					console.log(res)
-					if (res.data != null) {
-						that.projectTree = res.data;
-						console.log("ffffffff " + that.projectTree[0].orgId)
-						that.selectedTreeNode = that.projectTree[0].value;
-						that.orgId = that.projectTree[0].orgId;
-						that.projectId = that.projectTree[0].projectId;
-
-						that.getRtuList();
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getRtuList(res) {
-				// uni.showToast({
-				// 	title: '搜索:' + res.value,
-				// 	icon: 'none'
-				// })
-				this.getRtuList();
-			},
-			getRtuList() {
-				var that = this;
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				const isSubmit = '0';
-				var postData = {};
-
-				postData['id'] = this.planId;
-				postData['orgId'] = this.orgId;
-				postData['projectId'] = this.projectId;
-
-				console.log(postData)
-
-				http.request({
-					url: '/galaxy-test/equipment/inspection/plan/rtu/page',
-					method: 'GET',
-					params: {
-						current,
-						size,
-						isSubmit
-					},
-					data: postData,
-				}).then(res => {
-					console.log(res)
-					if (res.data.records != null) {
-						that.list = res.data.records;
-					}
-					this.total = res.data.total;
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			openPage(rtuCode) {
-				var url = '/pages/equipment-inspection/equipmentinspectionreport?planId=' + this.planId +
-					'&rtuCode=' +
-					rtuCode;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toPlanClose(id) {
-
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

+ 326 - 0
pages/equipment-inspection/finishedinspectionreportlist.vue

@@ -0,0 +1,326 @@
+<!--
+ * @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-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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="auth" size="18" color="lightblue" />
+								<text class="item-text-lable">填报人:</text>
+								<text v-if="rainSeasonKind ==1"
+									class="item-text-content">{{item.beforeRainSeasonReportUserName}}</text>
+								<text v-else-if="rainSeasonKind ==2"
+									class="item-text-content">{{item.rainSeasonFirstReportUserName}}</text>
+								<text v-else-if="rainSeasonKind ==3"
+									class="item-text-content">{{item.rainSeasonSecondReportUserName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">填报时间:</text>
+								<text v-if="rainSeasonKind ==1"
+									class="item-text-content">{{item.beforeRainSeasonReportTime}}</text>
+								<text v-else-if="rainSeasonKind ==2"
+									class="item-text-content">{{item.rainSeasonFirstReportTime}}</text>
+								<text v-else-if="rainSeasonKind ==3"
+									class="item-text-content">{{item.rainSeasonSecondReportTime}}</text>
+							</view>
+							<view class="item-button-group">
+								<view v-if="rainSeasonKind ==1" class="item-button" style="width: 120px;"
+									@click="onBeforeRainDetailViewClick(item.beforeRainSeasonReportId)">
+									<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="rainSeasonKind ==2" class="item-button" style="width: 120px;"
+									@click="onRainFirstDetailViewClick(item.rainSeasonFirstReportId)">
+									<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="rainSeasonKind ==3" class="item-button" style="width: 120px;"
+									@click="onRainSencodDetailViewClick(item.rainSeasonSecondReportId)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" 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.rainSeasonKind = option.rainSeasonKind;
+			if (this.rainSeasonKind == 1) {
+				this.title = '汛前已巡检设备信息';
+			} else if (this.rainSeasonKind == 2) {
+				this.title = '汛中(一)已巡检设备信息';
+			} else if (this.rainSeasonKind == 3) {
+				this.title = '汛中(二)已巡检设备信息';
+			}
+			this.getPage();
+		},
+		data() {
+			return {
+				rainSeasonKind: 0,
+				title: '汛前已巡检设备信息',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
+				countInfo: {
+					rainKind: 0,
+				},
+				list: [],
+				pageSize: 10,
+				// 当前页
+				pageCurrent: 1,
+				// 数据总量
+				total: 0,
+				regionTree: [],
+				regionCode: '',
+				selectedTreeNode: '',
+				searchRtuNameVal: '',
+				searchRtuCodeVal: '',
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				}
+			}
+		},
+		computed: {
+		},
+		onShow() {
+		},
+		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);
+				}
+			},
+			onBeforeRainDetailViewClick(id) {
+				console.log("onDetailViewClick " + id)
+				var url = '/pages/equipment-inspection/inspectionreportview?type=1&id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onRainFirstDetailViewClick(id) {
+				console.log("onDetailViewClick " + id)
+				var url = '/pages/equipment-inspection/inspectionreportview?type=2&id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onRainSencodDetailViewClick(id) {
+				console.log("onDetailViewClick " + id)
+				var url = '/pages/equipment-inspection/inspectionreportview?type=3&id=' + id;
+				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)
+				})
+			},
+			getPage(params = {}) {
+				let that = this;
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				params['rainSeasonKind'] = this.rainSeasonKind;
+				let postData = Object.assign(params, this.query);
+				http.request({
+					url: '/galaxy-business/equipment/inspection/rain/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data != null) {
+						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>
+	
+</style>

+ 554 - 0
pages/equipment-inspection/inspectionlist.vue

@@ -0,0 +1,554 @@
+<!--
+ * @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;
+	}
+</style>

+ 177 - 0
pages/equipment-inspection/inspectionremainingproblemsclose.vue

@@ -0,0 +1,177 @@
+<!--
+ * @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">
+			<uni-card title="处理意见" :is-shadow="false">
+				<uni-easyinput type="textarea" v-model="remainQuestionResolution" placeholder="请输入处理意见" />
+			</uni-card>
+		</uni-forms>
+		<view class="footer">
+			<view class="control">
+				<view style="display: flex;flex-direction: row;justify-content: flex-start;">
+					<view
+						style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightpink"
+						@click="toSubmit()">
+						<view style="display:flex;flex-direction: column;justify-content: center;">
+							<uni-icons class="input-uni-icon" type="location" size="18" color="#999" />
+						</view>
+						<view style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
+							<text style="color:black;font-size:0.6rem">立即提交</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: {
+		},
+		onLoad(options) {
+			this.id = options.id;
+		},
+		data() {
+			return {
+				title: '巡检遗留问题关闭处理',
+				id: '',
+				remainQuestionResolution: '',
+			}
+		},
+		computed: {
+
+		},
+		onShow() {},
+		created() {},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			toSubmit() {
+				let formdata = {};
+				formdata['id'] = Number(this.id);
+				formdata['remainQuestionResolution'] = this.remainQuestionResolution;
+				console.log(JSON.stringify(formdata))
+				http.request({
+					url: '/galaxy-business/equipment/inspection/report/remainingproblems/close',
+					method: 'POST',
+					data: formdata
+				}).then(res => {
+					if (res.success) {
+						uni.showModal({
+							content: '关闭操作已提交',
+							showCancel: false,
+							success(res) {
+								uni.navigateBack();
+							}
+						});
+					} else {
+						uni.showModal({
+							content: '' + res.msg,
+							showCancel: false
+						});
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			formReset: function(e) {
+				console.log('清空数据')
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+
+	.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: #ffffff;
+
+		.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;
+			}
+		}
+	}
+
+	
+</style>

+ 326 - 0
pages/equipment-inspection/inspectionremainingproblemslist.vue

@@ -0,0 +1,326 @@
+<!--
+ * @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.7rem" type="line" style="padding-left: 0px;padding-right: 0px;">
+				<view style="margin-top: 5px;margin-bottom: 5px;padding-left: 10px;padding-right: 10px;">
+					<uni-easyinput :styles="inputStyles" @input="searchRtuCodeValClear" prefixIcon="search"
+						v-model="searchRtuCodeVal" placeholder="请输入测站编码">
+					</uni-easyinput>
+				</view>
+				<view style="margin-top: 5px;margin-bottom: 5px;padding-left: 10px;padding-right: 10px;">
+					<uni-easyinput :styles="inputStyles" @input="searchRtuNameValClear" prefixIcon="search"
+						v-model="searchRtuNameVal" placeholder="请输入测站名称">
+					</uni-easyinput>
+				</view>
+				<view style="margin-top: 5px;margin-bottom: 5px;padding-left: 10px;padding-right: 10px;">
+					<view class="inspectionYear">
+						<picker pa mode="date" fields="year" :value="inspectionYear" @change="inspectionYearChange">
+							<view class="item-text-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="skyblue" />
+								<text
+									style="margin-left: 4px;font-size: 0.7rem;color:grey;">{{getInspectionYear}}</text>
+							</view>
+						</picker>
+					</view>
+				</view>
+				<view style="margin-top: 5px;margin-bottom: 5px;padding-left: 10px;padding-right: 10px;">
+					<uni-data-select placeholder="请选择汛期" v-model="rainSeasonKind" :localdata="rainDictData"
+						@change="rainSelectChange" :clear="false"></uni-data-select>
+				</view>
+				<view style="margin-top: 5px;margin-bottom: 5px;padding-left: 10px;padding-right: 10px;">
+					<button type="default" @click="search">查 询</button>
+				</view>
+			</uni-section>
+			<uni-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">填报时间:</text>
+								<text class="item-text-content">{{item.createTime}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="compose" size="18" color="lightblue" />
+								<text class="item-text-lable">汛期:</text>
+								<text v-if="item.rainSeasonKind == 1" class="item-text-content">汛前巡检</text>
+								<text v-else-if="item.rainSeasonKind == 2" class="item-text-content">汛中第一次巡检</text>
+								<text v-else-if="item.rainSeasonKind == 3" class="item-text-content">汛中第二次巡检</text>
+								<text v-else></text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="list" size="18" color="lightblue" />
+								<text class="item-text-lable">问题处理状态:</text>
+								<text v-if="item.remainQuestionState ==1" class="item-text-content"
+									style="color:red;">待处理</text>
+								<text v-else class="item-text-content" style="color:blue;">已完成</text>
+							</view>
+							<view class="item-button-group">
+								<view class="item-button" style="width: 120px;"
+									@click="onDetailViewClick(item.id,item.rainSeasonKind)">
+									<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.admin || permission.orgAdmin) && item.remainQuestionState == 1"
+									class="item-button" style="width: 120px;"
+									@click="onCloseRemainingProblemClick(item.id)">
+									<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) {
+			let date = new Date();
+			this.inspectionYear = date.getFullYear();
+			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.pageCurrent = 1;
+			this.getPage()
+		},
+		data() {
+			return {
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
+				list: [],
+				title: '设备巡检遗留问题信息',
+				pageSize: 10,
+				// 当前页
+				pageCurrent: 1,
+				// 数据总量
+				total: 0,
+				regionTree: [],
+				regionCode: '',
+				selectedTreeNode: '',
+				searchRtuNameVal: '',
+				searchRtuCodeVal: '',
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				},
+				inspectionYear: '2023',
+				rainSeasonKind: 0,
+				rainDictData: [{
+						value: 1,
+						text: "汛前巡检"
+					},
+					{
+						value: 2,
+						text: "汛中第一次巡检"
+					},
+					{
+						value: 3,
+						text: "汛中第二次巡检"
+					},
+				],
+			}
+		},
+		computed: {
+			getInspectionYear() {
+				return this.inspectionYear + "年";
+			}
+		},
+		onShow() {},
+		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();
+				} else {
+					this.regionCode = '';
+					this.query = {};
+					this.searchRtuNameVal = '';
+					this.searchRtuCodeVal = '';
+					this.pageCurrent = 1;
+					this.getPage();
+				}
+			},
+			onDetailViewClick(id, rainSeasonKind) {
+				let url = '/pages/equipment-inspection/inspectionreportview?id=' + id + "&type=" + rainSeasonKind;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onCloseRemainingProblemClick(id) {
+				let url = '/pages/equipment-inspection/inspectionremainingproblemsclose?id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			//录入查询
+			search() {
+				this.pageCurrent = 1;
+				let params = {};
+				if (this.searchRtuCodeVal.length > 0) {
+					params['rtuCode'] = this.searchRtuCodeVal;
+				}
+				if (this.searchRtuNameVal.length > 0) {
+					params['rtuName'] = this.searchRtuNameVal;
+				}
+				if (this.inspectionYear) {
+					params['inspectionYear'] = this.inspectionYear + "-01-01";
+				}
+				if (this.rainSeasonKind) {
+					params['rainSeasonKind'] = this.rainSeasonKind;
+				}
+				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);
+					}
+				}
+			},
+			inspectionYearChange(event) {
+				this.inspectionYear = event.detail.value;
+			},
+			rainSelectChange(e) {
+				if (e != null && e != '') {
+					console.log("e:", e);
+					this.rainSeasonKind = e;
+				}
+			},
+			getPage(params = {}) {
+				const that = this;
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(params, this.query);
+				http.request({
+					url: '/galaxy-business/equipment/inspection/report/remainingproblems/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+				//	console.log(JSON.stringify(res))
+					if (res.data != null) {
+						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>
+
+</style>

+ 1048 - 0
pages/equipment-inspection/inspectionreportdetail.vue

@@ -0,0 +1,1048 @@
+<!--
+ * @Title: 
+ * @Description: 巡检填报详情
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="container">
+		<uni-section title="站点基础信息">
+			<template v-slot:decoration>
+				<view class="decoration"></view>
+			</template>
+			<uni-card title="测站名称">
+				<view class="item-text-line">
+					<text class="item-title">{{data.rtuName}}</text>/<text class="item-text">{{data.rtuCode}}</text>
+				</view>
+			</uni-card>
+			<uni-card title="测站类型">
+				<view class="item-text-line">
+					<text class="item-text">{{getSiteKind}}</text>
+				</view>
+			</uni-card>
+			<uni-card title="测站安装地址">
+				<view class="item-text-line">
+					<text class="item-text-block">{{data.locationDesc}}</text>
+				</view>
+			</uni-card>
+			<uni-card title="经纬度">
+				<view class="item-text-line">
+					<text class="item-text">{{data.lng}}/{{data.lat}}</text>
+				</view>
+			</uni-card>
+			<uni-card title="行政区划">
+				<view class="item-text-line">
+					<text class="item-text">{{getAreaName}}</text>
+				</view>
+			</uni-card>
+		</uni-section>
+		<uni-section title="站点状态检查信息">
+			<template v-slot:decoration>
+				<view class="decoration"></view>
+			</template>
+			<uni-card title="已选检查项">
+				<view class="item-text-line">
+					<text class="item-title select-text">{{getSiteCheckStatus}}</text>
+				</view>
+			</uni-card>
+			<uni-card title="站点检查补充说明">
+				<view class="item-text-line">
+					<text class="item-text-block">{{data.siteCheckRemark}}</text>
+				</view>
+			</uni-card>
+			<uni-card title="拍摄照片">
+				<view v-if="data.siteCheckPhotos && data.siteCheckPhotos.length>0" class="view-flex-cc">
+					<image v-for="(item, index) in data.siteCheckPhotos" :key="index" class="cover-image"
+						mode="widthFix" style="width: 100%;" :src="toOss(item)">
+					</image>
+				</view>
+			</uni-card>
+		</uni-section>
+		<uni-section title="雨量站检查信息">
+			<template v-slot:decoration>
+				<view class="decoration"></view>
+			</template>
+			<uni-card title="已选检查项">
+				<view class="item-text-line">
+					<text class="item-title select-text">{{getRainSiteCheckItems}}</text>
+				</view>
+			</uni-card>
+			<uni-card title="拍摄照片">
+				<view v-if="data.rainSiteCheckPhotos && data.rainSiteCheckPhotos.length>0" class="view-flex-cc">
+					<image v-for="(item, index) in data.rainSiteCheckPhotos" :key="index" class="cover-image"
+						mode="widthFix" style="width: 100%;" :src="toOss(item)">
+					</image>
+				</view>
+			</uni-card>
+			<uni-card title="巡检结果">
+				<view class="item-text-line">
+					<text v-if="data.rainSiteCheckResult==0" class="item-title error-text">异常</text>
+					<text v-else class="item-title normally-text">正常</text>
+				</view>
+			</uni-card>
+			<uni-card title="雨量站检查补充说明">
+				<view class="item-text-line">
+					<text class="item-text-block">{{data.rainSiteCheckRemark}}</text>
+				</view>
+			</uni-card>
+		</uni-section>
+		<uni-section title="水位站检查信息">
+			<template v-slot:decoration>
+				<view class="decoration"></view>
+			</template>
+			<uni-card title="已选检查项">
+				<view class="item-text-line">
+					<text class="item-title select-text">{{getWaterSiteCheckItems}}</text>
+				</view>
+			</uni-card>
+			<uni-card v-if="data.waterSiteCheckPhotos.length>0" title="拍摄照片">
+				<view class="view-flex-cc">
+					<image v-for="(item, index) in data.waterSiteCheckPhotos" :key="index" class="cover-image"
+						mode="widthFix" style="width: 100%;" :src="toOss(item)">
+					</image>
+				</view>
+			</uni-card>
+			<uni-card title="巡检结果">
+				<view class="item-text-line">
+					<text v-if="data.waterSiteCheckResult==0" class="item-title error-text">异常</text>
+					<text v-else class="item-title normally-text">正常</text>
+				</view>
+			</uni-card>
+			<uni-card title="检查补充说明">
+				<view class="item-text-line">
+					<text class="item-text-block">{{data.waterSiteCheckRemark}}</text>
+				</view>
+			</uni-card>
+		</uni-section>
+		<uni-section title="墒情站检查信息">
+			<template v-slot:decoration>
+				<view class="decoration"></view>
+			</template>
+			<uni-card title="已选检查项">
+				<view class="item-text-line">
+					<text class="item-title select-text">{{getGroundSiteCheckItems}}</text>
+				</view>
+			</uni-card>
+			<uni-card title="拍摄照片">
+				<view v-if="data.groundSiteCheckPhotos && data.groundSiteCheckPhotos.length>0" class="view-flex-cc">
+					<image v-for="(item, index) in data.groundSiteCheckPhotos" :key="index" class="cover-image"
+						mode="widthFix" style="width: 100%;" :src="toOss(item)">
+					</image>
+				</view>
+			</uni-card>
+			<uni-card title="巡检结果">
+				<view class="item-text-line">
+					<text v-if="data.groundSiteCheckResult==0" class="item-title error-text">异常</text>
+					<text v-else class="item-title normally-text">正常</text>
+				</view>
+			</uni-card>
+			<uni-card title="检查补充说明">
+				<view class="item-text-line">
+					<text class="item-text-block">{{data.groundSiteCheckRemark}}</text>
+				</view>
+			</uni-card>
+		</uni-section>
+		<uni-section title="其他设备检查信息">
+			<template v-slot:decoration>
+				<view class="decoration"></view>
+			</template>
+			<uni-card title="已选检查项">
+				<view class="item-text-line">
+					<text class="item-title select-text">{{getOthersEquipmentCheckItems}}</text>
+				</view>
+			</uni-card>
+			<uni-card title="拍摄照片">
+				<view v-if="data.othersEquipmentCheckPhotos && data.othersEquipmentCheckPhotos.length>0"
+					class="view-flex-cc">
+					<image v-for="(item, index) in data.othersEquipmentCheckPhotos" :key="index" class="cover-image"
+						mode="widthFix" style="width: 100%;" :src="toOss(item)">
+					</image>
+				</view>
+			</uni-card>
+			<uni-card title="巡检结果">
+				<view class="item-text-line">
+					<text v-if="data.otherEquipmentCheckResult==0" class="item-title error-text">异常</text>
+					<text v-else class="item-title normally-text">正常</text>
+				</view>
+			</uni-card>
+			<uni-card title="其他设备检查补充说明">
+				<view class="item-text-line">
+					<text class="item-text-block">{{data.othersEquipmentCheckRemark}}</text>
+				</view>
+			</uni-card>
+		</uni-section>
+		<uni-section title="设备更换信息">
+			<template v-slot:decoration>
+				<view class="decoration"></view>
+			</template>
+			<view style="min-height: 50px;">
+				<uni-card v-if="data.equipmentsReplaceItems.items[0].checked" title="更换RTU">
+					<view class="item-text-line">
+						<text class="item-text-block">{{data.rtuModelRemark}}</text>
+					</view>
+				</uni-card>
+				<uni-card title="RTU更换照片">
+					<view v-if="data.rtuReplacePhotos && data.rtuReplacePhotos.length>0" class="view-flex-cc">
+						<image v-for="(item, index) in data.rtuReplacePhotos" :key="index" class="cover-image"
+							mode="widthFix" style="width: 100%;" :src="toOss(item)">
+						</image>
+					</view>
+				</uni-card>
+
+				<uni-card v-if="data.equipmentsReplaceItems.items[1].checked" title="更换雨量计">
+					<view class="item-text-line">
+						<text class="item-text-block">{{data.rainSensorModelRemark}}</text>
+					</view>
+				</uni-card>
+				<uni-card title="雨量计更换照片">
+					<view v-if="data.rainSensorReplacePhotos&&data.rainSensorReplacePhotos.length>0"
+						class="view-flex-cc">
+						<image v-for="(item, index) in data.rainSensorReplacePhotos" :key="index" class="cover-image"
+							mode="widthFix" style="width: 100%;" :src="toOss(item)">
+						</image>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItems.items[2].checked" title="更换水位计">
+					<view class="item-text-line">
+						<text class="item-text-block">{{data.waterSensorModelRemark}}</text>
+					</view>
+				</uni-card>
+				<uni-card title="水位计更换照片">
+					<view v-if="data.waterSensorReplacePhotos &&data.waterSensorReplacePhotos.length>0"
+						class="view-flex-cc">
+						<image v-for="(item, index) in data.waterSensorReplacePhotos" :key="index" class="cover-image"
+							mode="widthFix" style="width: 100%;" :src="toOss(item)">
+						</image>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItems.items[3].checked" title="更换墒情计">
+					<view class="item-text-line">
+						<text class="item-text-block">{{data.groundSensorModelRemark}}</text>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.groundSensorReplacePhotos&&data.groundSensorReplacePhotos.length>0"
+					title="墒情计更换照片">
+					<view class="view-flex-cc">
+						<image v-for="(item, index) in data.groundSensorReplacePhotos" :key="index" class="cover-image"
+							mode="widthFix" style="width: 100%;" :src="toOss(item)">
+						</image>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItems.items[4].checked" title="更换蓄电池">
+					<view class="item-text-line">
+						<text class="item-text-block">{{data.batteryModelRemark}}</text>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.batteryReplacePhotos&&data.batteryReplacePhotos.length>0" title="蓄电池更换照片">
+					<view class="view-flex-cc">
+						<image v-for="(item, index) in data.batteryReplacePhotos" :key="index" class="cover-image"
+							mode="widthFix" style="width: 100%;" :src="toOss(item)">
+						</image>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItems.items[5].checked" title="更换太阳能板">
+					<view class="item-text-line">
+						<text class="item-text-block">{{data.sunPowerModelRemark}}</text>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.sunPowerReplacePhotos&&data.sunPowerReplacePhotos.length>0" title="太阳能板更换照片">
+					<view class="view-flex-cc">
+						<image v-for="(item, index) in data.sunPowerReplacePhotos" :key="index" class="cover-image"
+							mode="widthFix" style="width: 100%;" :src="toOss(item)">
+						</image>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItems.items[6].checked" title="更换充电控制器">
+					<view class="item-text-line">
+						<text class="item-text-block">{{data.batteryControlModelRemark}}</text>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.batteryControllerReplacePhotos&&data.batteryControllerReplacePhotos.length>0"
+					title="充电控制器更换照片">
+					<view class="view-flex-cc">
+						<image v-for="(item, index) in data.batteryControllerReplacePhotos" :key="index"
+							class="cover-image" mode="widthFix" style="width: 100%;" :src="toOss(item)">
+						</image>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.equipmentsReplaceItems.items[7].checked" title="更换其他设备">
+					<view class="item-text-line">
+						<text class="item-text-block">{{data.otherEquipmentModelRemark}}</text>
+					</view>
+				</uni-card>
+				<uni-card v-if="data.otherEquipmentReplacePhotos&&data.otherEquipmentReplacePhotos.length>0"
+					title="其他设备更换照片">
+					<view class="view-flex-cc">
+						<image v-for="(item, index) in data.otherEquipmentReplacePhotos" :key="index"
+							class="cover-image" mode="widthFix" style="width: 100%;" :src="toOss(item)">
+						</image>
+					</view>
+				</uni-card>
+			</view>
+		</uni-section>
+		<uni-section title="遗留问题补充说明">
+			<template v-slot:decoration>
+				<view class="decoration"></view>
+			</template>
+			<view class="item-text-line"
+				style="padding-left: 10px;padding-right: 10px;padding-top: 10px;min-height: 50px;">
+				<text class="item-text-block">{{data.inspectionRemainProblemsRemark}}</text>
+			</view>
+		</uni-section>
+		<uni-section title="巡检工作留存照片">
+			<template v-slot:decoration>
+				<view class="decoration"></view>
+			</template>
+			<view style="min-height: 50px;">
+				<uni-card v-if="data.inspectionWorkPhotos&&data.inspectionWorkPhotos.length>0" title="拍摄照片">
+					<view class="view-flex-cc">
+						<image v-for="(item, index) in data.inspectionWorkPhotos" :key="index" class="cover-image"
+							mode="widthFix" style="width: 100%;" :src="toOss(item)">
+						</image>
+					</view>
+				</uni-card>
+			</view>
+		</uni-section>
+	</view>
+
+</template>
+
+<script>
+	import {
+		role
+	} from "@/api/role.js";
+	import http from '@/http/api.js';
+	import {
+		oss
+	} from '@/common/setting';
+	export default {
+		components: {
+
+		},
+		props: {
+			inspectionId: {
+				type: String,
+				required: true,
+			},
+		},
+		data() {
+			return {
+				query: {},
+				title: '巡检填报详情',
+				data: {
+					rtuCode: '',
+					rtuName: '',
+					isRain: false,
+					isRiver: false,
+					isRes: false,
+					isGround: false,
+					isCamera: false,
+					lng: '',
+					lat: '',
+					adCity: '',
+					adDist: '',
+					locationDesc: '',
+					//站点状态检查项
+					siteCheckStatus: {
+						items: [{
+							'id': '0',
+							'dictValue': '水毁'
+						}, {
+							'id': '1',
+							'dictValue': '丢失'
+						}, {
+							'id': '2',
+							'dictValue': '损坏'
+						}, {
+							'id': '3',
+							'dictValue': '正常'
+						}],
+						current: 3
+					},
+					siteCheckPhotos: [],
+					siteCheckRemark: '',
+					//雨量站检查数据
+					rainSiteCheckItems: {
+						items: [{
+							'id': '0',
+							'checked': false,
+							'dictValue': '故障排查'
+						}, {
+							'id': '1',
+							'checked': false,
+							'dictValue': '清理堵塞'
+						}, {
+							'id': '2',
+							'checked': false,
+							'dictValue': '雨量计校核'
+						}],
+						current: 0
+					},
+					rainSiteCheckPhotos: [],
+					rainSiteCheckResult: 1,
+					rainSiteCheckRemark: '',
+					//水位站检查数据
+					waterSiteCheckItems: {
+						items: [{
+							'id': '0',
+							'checked': false,
+							'dictValue': '故障排查'
+						}, {
+							'id': '1',
+							'checked': false,
+							'dictValue': '水位计校核'
+						}],
+						current: 0
+					},
+					waterSiteCheckPhotos: [],
+					waterSiteCheckResult: 1,
+					waterSiteCheckRemark: '',
+					//墒情站检查数据
+					groundSiteCheckItems: {
+						items: [{
+							'id': '0',
+							'checked': false,
+							'dictValue': '故障排查'
+						}, {
+							'id': '1',
+							'checked': false,
+							'dictValue': '墒情计校核'
+						}],
+						current: 0
+					},
+					groundSiteCheckPhotos: [],
+					groundSiteCheckRemark: '',
+					groundSiteCheckResult: 1,
+					//其他设备检查
+					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: 0
+					},
+					othersEquipmentCheckPhotos: [],
+					othersEquipmentCheckRemark: '',
+					otherEquipmentCheckResult: 1,
+					//设备替换
+					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: 0
+					},
+					rtuModelRemark: '',
+					rtuReplacePhotos: [],
+					rainSensorModelRemark: '',
+					rainSensorReplacePhotos: [],
+					waterSensorModelRemark: '',
+					waterSensorReplacePhotos: [],
+					groundSensorModelRemark: '',
+					groundSensorReplacePhotos: [],
+					batteryModelRemark: '',
+					batteryReplacePhotos: [],
+					sunPowerModelRemark: '',
+					sunPowerReplacePhotos: [],
+					batteryControlModelRemark: '',
+					batteryControlReplacePhotos: [],
+					otherEquipmentModelRemark: '',
+					otherEquipmentReplacePhotos: [],
+					//巡检遗留问题描述
+					inspectionRemainProblemsRemark: '',
+					//工作留存数据
+					inspectionWorkPhotos: [],
+
+				},
+			}
+		},
+		onLoad(options) {
+			console.log("ddddd onLoad")
+		},
+		onShow() {
+			console.log("ddd onShow")
+		},
+		created() {
+			console.log("dddd created")
+			console.log("id " + this.inspectionId)
+			let params = {};
+			params['id'] = this.inspectionId;
+			console.log("id " + this.inspectionId)
+			this.getDetail(params);
+		},
+		computed: {
+			getSiteKind() {
+				let htmltext = '';
+				if (this.data.isRain === 1) {
+					htmltext = htmltext + "雨量站";
+				}
+				if (this.data.isRiver == 1 || this.data.isRes == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '水位站';
+				}
+				if (this.data.isGround == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '墒情站';
+				}
+				if (this.data.isVideo == 1) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + '视频站';
+				}
+				return htmltext;
+			},
+			getAreaName() {
+				let htmltext = '';
+				if (this.data.adCity) {
+					htmltext = htmltext + this.data.adCity;
+				}
+				if (this.data.adDist) {
+					if (htmltext.length > 0) {
+						htmltext = htmltext + ' / ';
+					}
+					htmltext = htmltext + this.data.adDist;
+				}
+				return htmltext;
+			},
+			getSiteCheckStatus() {
+				return this.data.siteCheckStatus.items[this.data.siteCheckStatus.current].dictValue;
+			},
+			getRainSiteCheckItems() {
+				//console.log(JSON.stringify(this.data.rainSiteCheckItems))
+				let text = '';
+				for (let i = 0; i < this.data.rainSiteCheckItems.items.length; i++) {
+					if (this.data.rainSiteCheckItems.items[i].checked) {
+						if (text.length > 0) {
+							text = text + ' / ';
+						}
+						text = text + this.data.rainSiteCheckItems.items[i].dictValue;
+					}
+				}
+				return text;
+			},
+			getWaterSiteCheckItems() {
+				let text = '';
+				for (let i = 0; i < this.data.waterSiteCheckItems.items.length; i++) {
+					if (this.data.waterSiteCheckItems.items[i].checked) {
+						if (text.length > 0) {
+							text = text + ' / ';
+						}
+						text = text + this.data.waterSiteCheckItems.items[i].dictValue;
+					}
+				}
+				return text;
+			},
+			getGroundSiteCheckItems() {
+				let text = '';
+				for (let i = 0; i < this.data.groundSiteCheckItems.items.length; i++) {
+					if (this.data.groundSiteCheckItems.items[i].checked) {
+						if (text.length > 0) {
+							text = text + ' / ';
+						}
+						text = text + this.data.groundSiteCheckItems.items[i].dictValue;
+					}
+				}
+				return text;
+			},
+			getOthersEquipmentCheckItems() {
+				let text = '';
+				for (let i = 0; i < this.data.othersEquipmentCheckItems.items.length; i++) {
+					if (this.data.othersEquipmentCheckItems.items[i].checked) {
+						if (text.length > 0) {
+							text = text + ' / ';
+						}
+						text = text + this.data.othersEquipmentCheckItems.items[i].dictValue;
+					}
+				}
+				return text;
+			},
+		},
+		methods: {
+			toOss(path) {
+				return oss + path;
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			getDetail(params = {}) {
+				console.log(JSON.stringify(params))
+				let that = this;
+				this.query = {};
+				Object.assign(this.query, params);
+				console.log(JSON.stringify(this.query))
+				http.request({
+					url: '/galaxy-business/equipment/inspection/report/detail',
+					method: 'GET',
+					params: this.query
+				}).then(res => {
+					if (res.success) {
+						that.data.rtuName = res.data['rtuName'];
+						that.data.rtuCode = res.data['rtuCode'];
+						that.data.isRain = res.data['isRain'];
+						that.data.isRiver = res.data['isRiver'];
+						that.data.isRes = res.data['isRes'];
+						that.data.isGround = res.data['isGround'];
+						that.data.lng = res.data['lng'];
+						that.data.lat = res.data['lat'];
+						that.data.adCity = res.data['adCity'];
+						that.data.adDist = res.data['adDist'];
+						that.data.locationDesc = res.data['locationDesc'];
+						that.data.siteCheckStatus.current = Number(res.data['siteCheckItem']);
+						that.data.siteCheckRemark = res.data['siteCheckRemark'];
+						that.data.siteCheckPhotoCount = 0;
+						that.data.siteCheckPhotos = [];
+						let photos = res.data['siteCheckPhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.siteCheckPhotos = photoList;
+							//that.data.siteCheckPhotoCount = photoList.length;
+						}
+						//雨量站检查
+						let items = res.data['rainSiteCheckItem'];
+						if (null != items && items.length > 0) {
+							let itemList = items.split(",");
+							that.data.rainSiteCheckItems.items[0].checked = (itemList[0] == 0) ? false : true;
+							that.data.rainSiteCheckItems.items[1].checked = (itemList[1] == 0) ? false : true;
+							that.data.rainSiteCheckItems.items[2].checked = (itemList[2] == 0) ? false : true;
+						}
+
+						that.data.rainSiteCheckResult = res.data['rainSiteCheckResult'];
+						//that.data.rainSiteCheckPhotoCount = 0;
+						that.data.rainSiteCheckPhotos = [];
+						photos = res.data['rainSiteCheckPhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.rainSiteCheckPhotos = photoList;
+							//that.data.rainSiteCheckPhotoCount = photoList.length;
+						}
+						that.data.rainSiteCheckRemark = res.data['rainSiteCheckRemark'];
+						//水位站检查
+						items = res.data['waterSiteCheckItem'];
+						if (null != items && items.length > 0) {
+							let itemList = items.split(",");
+							that.data.waterSiteCheckItems.items[0].checked = (itemList[0] == 0) ? false : true;
+							that.data.waterSiteCheckItems.items[1].checked = (itemList[1] == 0) ? false : true;
+						}
+						//that.data.waterSiteCheckPhotoCount = 0;
+						that.data.waterSiteCheckPhotos = [];
+						photos = res.data['waterSiteCheckPhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.waterSiteCheckPhotos = photoList;
+							//that.data.waterSiteCheckPhotoCount = photoList.length;
+						}
+						that.data.waterSiteCheckRemark = res.data['waterSiteCheckRemark'];
+						that.data.waterSiteCheckResult = res.data['waterSiteCheckResult'];
+						items = res.data['groundSiteCheckItem'];
+						if (null != items && items.length > 0) {
+							let itemList = items.split(",");
+							that.data.groundSiteCheckItems.items[0].checked = itemList[0] == 0 ? false : true;
+							that.data.groundSiteCheckItems.items[1].checked = itemList[1] == 0 ? false : true;
+						}
+						//that.data.groundSiteCheckPhotoCount = 0;
+						that.data.groundSiteCheckPhotos = [];
+						photos = res.data['groundSiteCheckPhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.groundSiteCheckPhotos = photoList;
+							//that.data.groundSiteCheckPhotoCount = photoList.length;
+						}
+						that.data.groundSiteCheckRemark = res.data['groundSiteCheckRemark'];
+						that.data.groundSiteCheckResult = res.data['groundSiteCheckResult'];
+						items = res.data['otherEquipmentCheckItem'];
+						if (null != items && items.length > 0) {
+							let itemList = items.split(",");
+							that.data.othersEquipmentCheckItems.items[0].checked = itemList[0] == 0 ? false : true;
+							that.data.othersEquipmentCheckItems.items[1].checked = itemList[1] == 0 ? false : true;
+							that.data.othersEquipmentCheckItems.items[2].checked = itemList[2] == 0 ? false : true;
+							that.data.othersEquipmentCheckItems.items[3].checked = itemList[3] == 0 ? false : true;
+							that.data.othersEquipmentCheckItems.items[4].checked = itemList[4] == 0 ? false : true;
+
+						}
+						//that.data.othersEquipmentCheckPhotoCount = 0;
+						that.data.othersEquipmentCheckPhotos = [];
+						photos = res.data['otherEquipmentCheckPhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.othersEquipmentCheckPhotos = photoList;
+							//that.data.othersEquipmentCheckPhotoCount = photoList.length;
+						}
+						that.data.othersEquipmentCheckRemark = res.data['otherEquipmentCheckRemark'];
+						that.data.otherEquipmentCheckResult = res.data['otherEquipmentCheckResult'];
+						that.data.equipmentsReplaceItems.items[0].checked = res.data['rtuReplace'] == 0 ? false :
+							true;
+						that.data.equipmentsReplaceItems.items[1].checked = res.data['rainSensorReplace'] == 0 ?
+							false :
+							true;
+						that.data.equipmentsReplaceItems.items[2].checked = res.data['waterSensorReplace'] == 0 ?
+							false :
+							true;
+						that.data.equipmentsReplaceItems.items[3].checked = res.data['groundSensorReplace'] == 0 ?
+							false : true;
+						that.data.equipmentsReplaceItems.items[4].checked = res.data['batteryReplace'] == 0 ?
+							false :
+							true;
+						that.data.equipmentsReplaceItems.items[5].checked = res.data['sunPowerReplace'] == 0 ?
+							false :
+							true;
+						that.data.equipmentsReplaceItems.items[6].checked = res.data['batteryControllerReplace'] ==
+							0 ?
+							false : true;
+						that.data.equipmentsReplaceItems.items[7].checked = res.data['otherEquipmentReplace'] ==
+							0 ?
+							false : true;
+
+						that.data.rtuModelRemark = res.data['rtuModelRemark'];
+						that.data.rtuReplacePhotos = [];
+						photos = res.data['rtuReplacePhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.rtuReplacePhotos = photoList;
+							//that.data.inspectionWorkPhotoCount = photoList.length;
+						}
+						that.data.inspectionRemainProblemsRemark = res.data['remainQuestion'];
+						that.data.rtuReplacePhotos = [];
+						photos = res.data['rtuReplacePhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.rtuReplacePhotos = photoList;
+							//that.data.inspectionWorkPhotoCount = photoList.length;
+						}
+						that.data.rainSensorModelRemark = res.data['rainSensorModelRemark'];
+						that.data.rainSensorReplacePhotos = [];
+						photos = res.data['rainSensorReplacePhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.rainSensorReplacePhotos = photoList;
+							//that.data.inspectionWorkPhotoCount = photoList.length;
+						}
+						that.data.waterSensorModelRemark = res.data['waterSensorModelRemark'];
+						that.data.waterSensorReplacePhotos = [];
+						photos = res.data['waterSensorReplacePhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.waterSensorReplacePhotos = photoList;
+							//that.data.inspectionWorkPhotoCount = photoList.length;
+						}
+						that.data.groundSensorModelRemark = res.data['groundSensorModelRemark'];
+						that.data.groundSensorReplacePhotos = [];
+						photos = res.data['groundSensorReplacePhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.groundSensorReplacePhotos = photoList;
+							//that.data.inspectionWorkPhotoCount = photoList.length;
+						}
+						that.data.batteryModelRemark = res.data['batteryModelRemark'];
+						that.data.batteryReplacePhotos = [];
+						photos = res.data['batteryReplacePhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.batteryReplacePhotos = photoList;
+							//that.data.inspectionWorkPhotoCount = photoList.length;
+						}
+						that.data.sunPowerModelRemark = res.data['sunPowerModelRemark'];
+						that.data.sunPowerReplacePhotos = [];
+						photos = res.data['sunPowerReplacePhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.sunPowerReplacePhotos = photoList;
+							//that.data.inspectionWorkPhotoCount = photoList.length;
+						}
+						that.data.batteryControlModelRemark = res.data['batteryControllerModelRemark'];
+						that.data.batteryControllerReplacePhotos = [];
+						photos = res.data['batteryControllerReplacePhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.batteryControllerReplacePhotos = photoList;
+							//that.data.inspectionWorkPhotoCount = photoList.length;
+						}
+						that.data.otherEquipmentModelRemark = res.data['otherEquipmentModelRemark'];
+						that.data.otherEquipmentReplacePhotos = [];
+						photos = res.data['otherEquipmentReplacePhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.otherEquipmentReplacePhotos = photoList;
+							//that.data.inspectionWorkPhotoCount = photoList.length;
+						}
+						//that.data.inspectionWorkPhotoCount = 0;
+						that.data.inspectionWorkPhotos = [];
+						photos = res.data['inspectionWorkPhotos'];
+						if (null != photos && photos.length > 0) {
+							let photoList = photos.split(",");
+							that.data.inspectionWorkPhotos = photoList;
+							//that.data.inspectionWorkPhotoCount = photoList.length;
+						}
+						that.data.inspectionRemainProblemsRemark = res.data['remainQuestion'];
+
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+
+	.uni-body {
+		font-size: 0.7rem;
+	}
+
+	.decoration {
+		width: 6px;
+		height: 6px;
+		margin-right: 4px;
+		border-radius: 50%;
+		background-color: cadetblue;
+	}
+
+	.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;
+	}
+
+	.cell-hover-class {
+		background-color: rgb(235, 237, 238);
+	}
+
+	.view-flex-ce {
+		display: flex;
+		flex-direction: column;
+		justify-content: flex-end;
+	}
+
+	.line-body {
+		padding-left: 10px;
+		padding-right: 10px;
+	}
+
+	.item-text-line {
+		width: 100%;
+		display: flex;
+		flex-direction: row;
+		justify-content: flex-start;
+
+		.item-title {
+			font-size: 0.7rem;
+			font-weight: bold;
+		}
+
+		.item-text {
+			overflow: hidden;
+			margin-left: 5px;
+			font-size: 0.7rem;
+			white-space: nowrap;
+			text-overflow: ellipsis;
+		}
+
+		.item-text-block {
+			margin-left: 5px;
+			font-size: 0.7rem;
+			word-wrap: break-word;
+			word-break: normal;
+		}
+
+		.error-text {
+			color: #FF0000;
+		}
+
+		.normally-text {
+			color: darkgreen;
+		}
+
+		.select-text {
+			color: royalblue;
+		}
+	}
+
+	.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;
+	}
+
+
+	.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;
+	}
+</style>

+ 477 - 0
pages/equipment-inspection/inspectionreportlist.vue

@@ -0,0 +1,477 @@
+<!--
+ * @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 style="margin-top: 5px;padding-left: 10px;padding-right: 10px;margin-bottom: 5px;">
+				<view class="line">
+					<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.beforeRainInspectionCount }}</text>
+					</view>
+					<view class="lineText">
+						<text class="rainSencodInspectionCount">汛中(一)已巡检数量: </text>
+						<text class="content">{{ countInfo.firstRainInspectionCount }}</text>
+					</view>
+					<view class="lineText">
+						<text class="rainSencodInspectionCount">汛中(二)已巡检数量: </text>
+						<text class="content">{{ countInfo.sencodRainInspectionCount }}</text>
+					</view>
+					<view style="margin-top: 5px;">
+						<uni-data-checkbox v-model="countOption" :localdata="countItems" @change="countOptionChange">
+						</uni-data-checkbox>
+					</view>
+				</view>
+			</view>
+			<uni-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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="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>
+									<text class="item-text-content"
+										style="color:gray;">{{item.beforeRainSeasonReportTime}}</text>
+								</view>
+								<text v-else class="item-text-content" style="color:darkorange;">未填报</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.rainSeasonFirstStatus ==1">
+									<text class="item-text-content" style="color:dodgerblue;">已填报</text>
+									<text class="item-text-content" style="color:gray;">/</text>
+									<text class="item-text-content"
+										style="color:gray;">{{item.rainSeasonFirstReportTime}}</text>
+								</view>
+								<text v-else class="item-text-content" style="color:darkorange;">未填报</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.rainSeasonSecondStatus ==1">
+									<text class="item-text-content" style="color:dodgerblue;">已填报</text>
+									<text class="item-text-content" style="color:gray;">/</text>
+									<text class="item-text-content"
+										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 v-if="item.beforeRainSeasonStatus ==1" class="item-button" style="width: 120px;"
+									@click="onBeforeRainDetailViewClick(item.beforeRainSeasonReportId)">
+									<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-else class="item-button-disabled" style="width: 120px;">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" size="18" color="gray" />
+										<text class="button-text">汛前详情</text>
+									</view>
+								</view>
+								<view v-if="item.rainSeasonFirstStatus ==1" class="item-button" style="width: 120px;"
+									@click="onRainFirstDetailViewClick(item.rainSeasonFirstReportId)">
+									<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-else class="item-button-disabled" style="width: 120px;">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" size="18" color="gray" />
+										<text class="button-text">汛中(一)详情</text>
+									</view>
+								</view>
+								<view v-if="item.rainSeasonSecondStatus ==1" class="item-button" style="width: 120px;"
+									@click="onRainSencodDetailViewClick(item.rainSeasonSecondReportId)">
+									<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-else class="item-button-disabled" style="width: 120px;">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" size="18" color="gray" />
+										<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,
+				},
+				countItems: [{
+					'value': 0,
+					'text': '全部'
+				}, {
+					'value': 1,
+					'text': '汛前巡检'
+				}, {
+					'value': 2,
+					'text': '汛中(一)巡检'
+				}, {
+					'value': 3,
+					'text': '汛中(二)巡检'
+				}],
+				countOption: 0,
+				countInfo: {
+					rainKind: 0,
+				},
+				list: [],
+				pageSize: 10,
+				// 当前页
+				pageCurrent: 1,
+				// 数据总量
+				total: 0,
+				regionTree: [],
+				regionCode: '',
+				selectedTreeNode: '',
+				searchRtuNameVal: '',
+				searchRtuCodeVal: '',
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				}
+			}
+		},
+		computed: {},
+		onShow() {},
+		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);
+				}
+			},
+			onBeforeRainDetailViewClick(id) {
+				console.log("onDetailViewClick " + id)
+				var url = '/pages/equipment-inspection/inspectionreportview?type=1&id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onRainFirstDetailViewClick(id) {
+				console.log("onDetailViewClick " + id)
+				var url = '/pages/equipment-inspection/inspectionreportview?type=2&id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onRainSencodDetailViewClick(id) {
+				console.log("onDetailViewClick " + id)
+				var url = '/pages/equipment-inspection/inspectionreportview?type=3&id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			//录入查询
+			search() {
+				this.pageCurrent = 1;
+				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);
+					}
+				}
+			},
+			countOptionChange: function(evt) {
+				//console.log("sensor" + JSON.stringify(evt))
+				let params = {};
+				// 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;
+				// }
+				this.pageCurrent=1;
+				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)
+				})
+			},
+			getPage(params = {}) {
+				let that = this;
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				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;
+				}
+				let postData = Object.assign(params, this.query);
+				http.request({
+					url: '/galaxy-business/equipment/inspection/rain/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data != null) {
+						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: dodgerblue;
+		font-size: 0.7rem;
+	}
+
+	.line .lineText .rainFirstInspectionCount {
+		color: dodgerblue;
+		font-size: 0.7rem;
+	}
+
+	.line .lineText .rainSencodInspectionCount {
+		color: dodgerblue;
+		font-size: 0.7rem;
+	}
+</style>

+ 146 - 0
pages/equipment-inspection/inspectionreportview.vue

@@ -0,0 +1,146 @@
+<!--
+ * @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">
+			<inspectionreportdetail v-if="isShow"  ref="inspectionreportdetail" :inspectionId="id">
+			</inspectionreportdetail>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	import inspectionreportdetail from '@/pages/equipment-inspection/inspectionreportdetail.vue'
+	export default {
+		components: {
+		
+			inspectionreportdetail
+		},
+		onLoad(options) {
+			this.id = options.id;
+			console.log("vvvvvvvv " + this.id);
+			this.inspectionreportRainType = options.type;
+			if (this.inspectionreportRainType == 1) {
+				this.title = '汛前巡检填报详情';
+			} else if (this.inspectionreportRainType == 2) {
+				this.title = '汛中(一)巡检填报详情';
+			} else if (this.inspectionreportRainType == 3) {
+				this.title = '汛中(二)巡检填报详情';
+			}
+		    
+		},
+		data() {
+			return {
+				isShow:false,
+				id: '',
+				inspectionreportRainType: 0,
+				// items: ['汛前巡检', '汛中(一)巡检', '汛中(二)巡检'],
+				// current: 0,
+				// inspectionReportStatus: {
+				// 	beforeRainSeasonReportId: '',
+				// 	rainSeasonFirstReportId: '',
+				// 	rainSeasonSecondReportId: '',
+				// 	beforeRainSeasonStatus: 0,
+				// 	rainSeasonFirstStatus: 0,
+				// 	rainSeasonSecondStatus: 0,
+				// },
+				query: {},
+				title: '巡检填报详情',
+			}
+		},
+		computed: {},
+		onShow() {
+			console.log("vvvvvvvvvv onShow")
+			this.isShow=true;
+		},
+		created() {
+			console.log("vvvvvvvvvvvvvvvv created")
+
+		},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			getInspectionReportStatus(params = {}) {
+				let that = this;
+				let postData = Object.assign(params, this.query);
+				//console.log(JSON.stringify(postData))
+				http.request({
+					url: '/galaxy-business/equipment/inspection/reportStatus',
+					method: 'GET',
+					data: postData
+				}).then(res => {
+					//console.log(JSON.stringify(res))
+					if (res != null && res.success) {
+						if (res.data != null) {
+							that.inspectionReportStatus = res.data;
+							if (that.inspectionReportStatus.rainSeasonSecondStatus == 1) {
+								that.current = 2;
+							} else if (that.inspectionReportStatus.rainSeasonFirstStatus == 1) {
+								that.current = 1;
+							} else if (that.inspectionReportStatus.beforeRainSeasonStatus == 1) {
+								that.current = 0;
+							}
+						}
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			onClickItem(e) {
+				if (this.current != e.currentIndex) {
+					this.current = e.currentIndex;
+				}
+			},
+		}
+	}
+</script>
+
+<style>
+
+</style>
+
+<style lang="scss" scoped>
+	.nav-title {
+		width: 100%;
+		display: flex;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+
+		text {
+			color: white;
+			font-size: 1rem;
+		}
+	}
+
+	.container {
+		padding: 0 0 50rpx;
+		width: 100%;
+	}
+
+	.content {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		justify-content: flex-start;
+		flex-direction: column;
+		width: 100%;
+
+	}
+</style>

+ 0 - 385
pages/equipment-inspection/myequipmentinspectionlist.vue

@@ -1,385 +0,0 @@
-<template>
-	<view class="wrap">
-		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
-			:title="title" @clickLeft="toBack" >
-		</uni-nav-bar>
-<!-- 		<u-gap height="75px"></u-gap> -->
-		<view class="container">
-			<uSection title="">
-				<uni-search-bar placeholder="请录入测站编码或测站名称" @confirm="search" :focus="false" v-model="searchVal"
-					@blur="blur" @focus="focus" @input="input" @cancel="cancel" @clear="clear">
-				</uni-search-bar>
-			</uSection>
-			<uSection title="">
-				<uList>
-					<uni-list-item v-for="item in list" :key="item.id">
-						<!-- 自定义 body -->
-						<template v-slot:body>
-							<view style="height: 100px;width: 100%;display: flex;flex-direction: column;">
-								<view
-									style="display: flex;flex-direction: row;width: 100%;justify-content: flex-start;">
-									<view
-										style="font-size: 1rem;font-weight: bold;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
-										{{item.rtuName}}
-									</view>
-								</view>
-								<view style="margin-top: 10rpx;">
-									<text style="font-size: 0.9rem;color: gray;">{{item.rtuCode}}</text>
-								</view>
-								<view
-									style="margin-top: 10rpx;padding-left: 0rpx;padding-right: 0rpx;display: flex;flex-direction: row;justify-content: center;">
-									<view v-if="item.reportStatus == 0" style="width: 100%;">
-										<button style="background-color: lightblue;" type="default"
-											@click="openPage(item.rtuCode)">开始填报</button>
-									</view>
-									<view v-if="item.reportStatus == 1" style="width: 100%;">
-										<button type="default" @click="toPlanClose(item.id)">已提交</button>
-									</view>
-								</view>
-							</view>
-
-						</template>
-					</uni-list-item>
-				</uList>
-			</uSection>
-			<uGroup>
-				<view class="uni-pagination-box">
-					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
-				</view>
-			</uGroup>
-		</view>
-
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import http from '@/http/api.js';
-	export default {
-		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-			uSection,
-		},
-		onLoad(option) {
-			this.planId = option.id;
-			this.getProjectTree();
-		},
-		data() {
-			return {
-				planId: 0,
-				orgId: '',
-				projectId: '',
-				list: [],
-				title: '我的巡检任务',
-				desc: '',
-				pageSize: 10,
-				// 当前页
-				pageCurrent: 1,
-				// 数据总量
-				total: 0,
-				projectTree: [],
-				selectedTreeNode: '',
-				searchVal: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			// uni.setNavigationBarTitle({
-			// 	title: ""
-			// });
-			//this.getProjectTree();
-			//this.getRtuList();
-		},
-
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			// 分页触发
-			change(e) {
-				//this.$refs.table.clearSelection()
-				//this.selectedIndexs.length = 0
-				this.pageCurrent = e.current;
-				this.getRtuList()
-			},
-			onnodeclick(node) {
-				this.orgId = node.orgId;
-				this.projectId = node.projectId;
-				console.log('1111111orgId:', this.orgId);
-				console.log('1111111projectId:', this.projectId);
-
-			},
-			onpopupopened(e) {
-				//console.log('popupopened');
-			},
-			onpopupclosed(e) {
-				//	console.log('popupclosed');
-			},
-			onchange(e) {
-				console.log('onchange:', e.detail.value);
-				this.searchVal = '';
-				this.pageCurrent = 1;
-				// this.orgId = e.detail.orgId;
-				// this.projectId = e.detail.projectId;
-
-				// 	if (e.detail.value.length > 0) {
-				// 		let ids = this.selectedTreeNode.split("-");
-				// 		this.orgId = ids[0];
-				// 		if (ids[1] === '0') {
-				// 			this.projectId = '';
-				// 		} else {
-				// 			this.projectId = ids[1];
-				// 		}
-				// console.log('1111111orgId:', this.orgId);
-				// console.log('1111111projectId:', this.projectId);
-
-
-				// 	} else {
-				// 		this.orgId = '';
-				// 		this.projectId = '';
-
-
-				// 	}
-
-				this.getRtuList();
-			},
-			search(res) {
-				// uni.showToast({
-				// 	title: '搜索:' + res.value,
-				// 	icon: 'none'
-				// })
-
-				this.getRtuList();
-			},
-			input(res) {
-				//	console.log('----input:', res)
-			},
-			clear(res) {
-				// uni.showToast({
-				// 	title: 'clear事件,清除值为:' + res.value,
-				// 	icon: 'none'
-				// })
-				this.searchVal = '';
-				this.getRtuList();
-			},
-			blur(res) {
-				// uni.showToast({
-				// 	title: 'blur事件,输入值为:' + res.value,
-				// 	icon: 'none'
-				// })
-			},
-			focus(e) {
-				// uni.showToast({
-				// 	title: 'focus事件,输出值为:' + e.value,
-				// 	icon: 'none'
-				// })
-			},
-			cancel(res) {
-				// uni.showToast({
-				// 	title: '点击取消,输入值为:' + res.value,
-				// 	icon: 'none'
-				// })
-				this.searchVal = '';
-				this.getRtuList();
-			},
-			onBackPress() {
-				// #ifdef APP-PLUS
-				plus.key.hideSoftKeybord();
-				// #endif
-			},
-			getProjectTree() {
-				var that = this;
-				http.request({
-					url: '/galaxy-test/rtu/manage/tree',
-					method: 'GET',
-				}).then(res => {
-					console.log(res)
-					if (res.data != null) {
-						that.projectTree = res.data;
-						console.log("ffffffff " + that.projectTree[0].orgId)
-						that.selectedTreeNode = that.projectTree[0].value;
-						that.orgId = that.projectTree[0].orgId;
-						that.projectId = that.projectTree[0].projectId;
-
-						//that.getRtuList();
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getRtuList(res) {
-				// uni.showToast({
-				// 	title: '搜索:' + res.value,
-				// 	icon: 'none'
-				// })
-				this.getRtuList();
-			},
-			getRtuList() {
-				var that = this;
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				const isSubmit = '0';
-				var postData = {};
-
-				postData['id'] = this.planId;
-				postData['orgId'] = this.orgId;
-				postData['projectId'] = this.projectId;
-
-				console.log(postData)
-
-				http.request({
-					url: '/galaxy-test/equipment/inspection/plan/my/rtu/page',
-					method: 'GET',
-					params: {
-						current,
-						size,
-						isSubmit
-					},
-					data: postData,
-				}).then(res => {
-					console.log(res)
-					if (res.data.records != null) {
-						that.list = res.data.records;
-					}
-					this.total = res.data.total;
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			openPage(rtuCode) {
-				var url = '/pages/equipment-inspection/equipmentinspectionreport?planId=' + this.planId +
-					'&rtuCode=' +
-					rtuCode;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toPlanClose(id) {
-
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

+ 0 - 267
pages/equipment-inspection/myequipmentinspectionreportlist.vue

@@ -1,267 +0,0 @@
-<template>
-	<view class="wrap">
-		<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>
-		<view class="container">
-			<uni-list>
-				<uni-list-item v-for="item in list" :key="item.id">
-					<template v-slot:body>
-						<view style="width: 100%;display: flex;flex-direction: column;">
-							<view
-								style="width:100%;display:flex;flex-direction: row;justify-content: flex-start;align-items: center;">
-								<image class="order-title-image" style="box-shadow:0 0 2px 2px lightblue"
-									src="/static/images/home/n3.png" mode="widthFix">
-								</image>
-								<text
-									style="margin-left: 10rpx; font-size: 1rem;font-weight: bold;">{{item.rtuName}}</text>
-								<text style="margin-left:8rpx;font-size: 0.9rem;">[{{item.rtuCode}}]</text>
-							</view>
-							<view style="display: flex;flex-direction: row;align-items: center;">
-								<uIcons class="input-uni-icon" type="auth" size="18" color="skyblue" />
-								<view style="margin-left:5px;font-size: 0.8rem;">
-									{{item.servicePersonName}}
-								</view>
-							</view>
-							<view style="margin-top: 5px;display: flex;flex-direction: row;align-items: center;">
-								<uIcons class="input-uni-icon" type="notification" size="18" color="skyblue" />
-								<text style="font-size: 0.8rem;">填报时间:</text>
-								<text style="margin-left:5px;font-size: 0.8rem;color:green">{{item.updateTime}}</text>
-							</view>
-							<view
-								style="height:22%;padding-top:4px;display:  flex;flex-direction: row;justify-content: flex-end;">
-								<view
-									style="display:flex;flex-direction: row;justify-content: center;width: 90px;height:28px;margin-right: 10px;border-radius:7px;background-color:lightblue"
-									@click="onToDetailClick(item.id)">
-									<view style="display:flex;flex-direction: column;justify-content: center;">
-										<uIcons class="input-uni-icon" type="compose" size="18" color="coral" />
-									</view>
-									<view
-										style="display:flex;flex-direction: column;justify-content: center;padding-left:5px;">
-										<text style="color:black;font-size:0.7rem">查看详情</text>
-									</view>
-								</view>
-							</view>
-						</view>
-					</template>
-				</uni-list-item>
-			</uni-list>
-			<uGroup>
-				<view class="uni-pagination-box">
-					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
-				</view>
-			</uGroup>
-		</view>
-	</view>
-</template>
-
-<script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import http from '@/http/api.js';
-
-	export default {
-		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uSection,
-			uGroup,
-			uPagination,
-		},
-		onLoad(option) {
-			this.getReportRecord();
-		},
-		data() {
-			return {
-				list: [],
-				title: '设备巡检填报信息',
-				desc: '',
-				pageSize: 10,
-				// 当前页
-				pageCurrent: 1,
-				// 数据总量
-				total: 0,
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-
-		},
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			// 分页触发
-			change(e) {
-				this.selectedIndexs.length = 0
-				this.pageCurrent = e.current;
-				this.getReportRecord()
-			},
-			getReportRecord() {
-				const that = this;
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				const isSubmit = '0';
-				let postData = {};
-				http.request({
-					url: '/galaxy-test/equipment/inspection/report/my/page',
-					method: 'GET',
-					params: {
-						current,
-						size,
-						isSubmit
-					},
-					data: postData,
-				}).then(res => {
-					if (res.data != null) {
-						if (res.data.records != null) {
-							that.list = res.data.records;
-						}
-						this.total = res.data.total;
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			onToDetailClick(id) {
-				var url = '/pages/equipment-inspection/equipmentinspectionreportdetail?id=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-	
-	.order-title-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		// margin-right: 10px;
-		width: 20px;
-		height: 20px;
-		border-radius: 50%;
-	
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

+ 0 - 385
pages/equipment-inspection/myequipmentinspectionreportrtulist.vue

@@ -1,385 +0,0 @@
-<template>
-	<view class="wrap">
-		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
-			:title="title" @clickLeft="toBack" >
-		</uni-nav-bar>
-<!-- 		<u-gap height="75px"></u-gap> -->
-		<view class="container">
-			<uSection title="">
-				<uni-search-bar placeholder="请录入测站编码或测站名称" @confirm="search" :focus="false" v-model="searchVal"
-					@blur="blur" @focus="focus" @input="input" @cancel="cancel" @clear="clear">
-				</uni-search-bar>
-			</uSection>
-			<uSection title="">
-				<uList>
-					<uni-list-item v-for="item in list" :key="item.id">
-						<!-- 自定义 body -->
-						<template v-slot:body>
-							<view style="height: 100px;width: 100%;display: flex;flex-direction: column;">
-								<view
-									style="display: flex;flex-direction: row;width: 100%;justify-content: flex-start;">
-									<view
-										style="font-size: 1rem;font-weight: bold;white-space: nowrap;overflow: hidden;text-overflow: ellipsis;">
-										{{item.rtuName}}
-									</view>
-								</view>
-								<view style="margin-top: 10rpx;">
-									<text style="font-size: 0.9rem;color: gray;">{{item.rtuCode}}</text>
-								</view>
-								<view
-									style="margin-top: 10rpx;padding-left: 0rpx;padding-right: 0rpx;display: flex;flex-direction: row;justify-content: center;">
-									<view v-if="item.reportStatus == 0" style="width: 100%;">
-										<button style="background-color: lightblue;" type="default"
-											@click="openPage(item.rtuCode)">开始填报</button>
-									</view>
-									<view v-if="item.reportStatus == 1" style="width: 100%;">
-										<button type="default" @click="toPlanClose(item.id)">已提交</button>
-									</view>
-								</view>
-							</view>
-
-						</template>
-					</uni-list-item>
-				</uList>
-			</uSection>
-			<uGroup>
-				<view class="uni-pagination-box">
-					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
-				</view>
-			</uGroup>
-		</view>
-
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import http from '@/http/api.js';
-	export default {
-		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-			uSection,
-		},
-		onLoad(option) {
-			this.planId = option.id;
-			this.getProjectTree();
-		},
-		data() {
-			return {
-				planId: 0,
-				orgId: '',
-				projectId: '',
-				list: [],
-				title: '测站巡检填报管理',
-				desc: '',
-				pageSize: 10,
-				// 当前页
-				pageCurrent: 1,
-				// 数据总量
-				total: 0,
-				projectTree: [],
-				selectedTreeNode: '',
-				searchVal: '',
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-			// uni.setNavigationBarTitle({
-			// 	title: ""
-			// });
-			//this.getProjectTree();
-			//this.getRtuList();
-		},
-
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			// 分页触发
-			change(e) {
-				//this.$refs.table.clearSelection()
-				//this.selectedIndexs.length = 0
-				this.pageCurrent = e.current;
-				this.getRtuList()
-			},
-			onnodeclick(node) {
-				this.orgId = node.orgId;
-				this.projectId = node.projectId;
-				console.log('1111111orgId:', this.orgId);
-				console.log('1111111projectId:', this.projectId);
-
-			},
-			onpopupopened(e) {
-				//console.log('popupopened');
-			},
-			onpopupclosed(e) {
-				//	console.log('popupclosed');
-			},
-			onchange(e) {
-				console.log('onchange:', e.detail.value);
-				this.searchVal = '';
-				this.pageCurrent = 1;
-				// this.orgId = e.detail.orgId;
-				// this.projectId = e.detail.projectId;
-
-				// 	if (e.detail.value.length > 0) {
-				// 		let ids = this.selectedTreeNode.split("-");
-				// 		this.orgId = ids[0];
-				// 		if (ids[1] === '0') {
-				// 			this.projectId = '';
-				// 		} else {
-				// 			this.projectId = ids[1];
-				// 		}
-				// console.log('1111111orgId:', this.orgId);
-				// console.log('1111111projectId:', this.projectId);
-
-
-				// 	} else {
-				// 		this.orgId = '';
-				// 		this.projectId = '';
-
-
-				// 	}
-
-				this.getRtuList();
-			},
-			search(res) {
-				// uni.showToast({
-				// 	title: '搜索:' + res.value,
-				// 	icon: 'none'
-				// })
-
-				this.getRtuList();
-			},
-			input(res) {
-				//	console.log('----input:', res)
-			},
-			clear(res) {
-				// uni.showToast({
-				// 	title: 'clear事件,清除值为:' + res.value,
-				// 	icon: 'none'
-				// })
-				this.searchVal = '';
-				this.getRtuList();
-			},
-			blur(res) {
-				// uni.showToast({
-				// 	title: 'blur事件,输入值为:' + res.value,
-				// 	icon: 'none'
-				// })
-			},
-			focus(e) {
-				// uni.showToast({
-				// 	title: 'focus事件,输出值为:' + e.value,
-				// 	icon: 'none'
-				// })
-			},
-			cancel(res) {
-				// uni.showToast({
-				// 	title: '点击取消,输入值为:' + res.value,
-				// 	icon: 'none'
-				// })
-				this.searchVal = '';
-				this.getRtuList();
-			},
-			onBackPress() {
-				// #ifdef APP-PLUS
-				plus.key.hideSoftKeybord();
-				// #endif
-			},
-			getProjectTree() {
-				var that = this;
-				http.request({
-					url: '/galaxy-test/rtu/manage/tree',
-					method: 'GET',
-				}).then(res => {
-					console.log(res)
-					if (res.data != null) {
-						that.projectTree = res.data;
-						console.log("ffffffff " + that.projectTree[0].orgId)
-						that.selectedTreeNode = that.projectTree[0].value;
-						that.orgId = that.projectTree[0].orgId;
-						that.projectId = that.projectTree[0].projectId;
-
-						//that.getRtuList();
-					}
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getRtuList(res) {
-				// uni.showToast({
-				// 	title: '搜索:' + res.value,
-				// 	icon: 'none'
-				// })
-				this.getRtuList();
-			},
-			getRtuList() {
-				var that = this;
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				const isSubmit = '0';
-				var postData = {};
-
-				postData['id'] = this.planId;
-				postData['orgId'] = this.orgId;
-				postData['projectId'] = this.projectId;
-
-				console.log(postData)
-
-				http.request({
-					url: '/galaxy-test/equipment/inspection/plan/my/rtu/page',
-					method: 'GET',
-					params: {
-						current,
-						size,
-						isSubmit
-					},
-					data: postData,
-				}).then(res => {
-					console.log(res)
-					if (res.data.records != null) {
-						that.list = res.data.records;
-					}
-					this.total = res.data.total;
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			openPage(rtuCode) {
-				var url = '/pages/equipment-inspection/equipmentinspectionreport?planId=' + this.planId +
-					'&rtuCode=' +
-					rtuCode;
-				uni.navigateTo({
-					url: url
-				})
-			},
-			toPlanClose(id) {
-
-			},
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

+ 159 - 0
pages/equipment-inspection/rtuinspectionreportview.vue

@@ -0,0 +1,159 @@
+<!--
+ * @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-segmented-control :current="current" :values="items" @clickItem="onClickItem" styleType="text"
+				activeColor="#585b61"></uni-segmented-control>
+			<view class="content">
+				<view v-show="current === 0">
+					<inspectionreportdetail :inspectionId="inspectionReportStatus.beforeRainSeasonReportId"
+						v-if="inspectionReportStatus.beforeRainSeasonStatus==1">
+					</inspectionreportdetail>
+					<view v-else style="display: flex;flex-direction: row;justify-content: center;">
+						<text style="color: red;font-size: 0.7rem;margin-top: 20px;">汛前巡检暂未填报</text>
+					</view>
+				</view>
+				<view v-show="current === 1">
+					<inspectionreportdetail :inspectionId="inspectionReportStatus.rainSeasonFirstReportId"
+						v-if="inspectionReportStatus.rainSeasonFirstStatus==1">
+					</inspectionreportdetail>
+					<view v-else style="display: flex;flex-direction: row;justify-content: center;">
+						<text style="color: red;font-size: 0.7rem;margin-top: 20px;">汛中第一次巡检暂未填报</text>
+					</view>
+				</view>
+				<view v-show="current === 2">
+					<inspectionreportdetail :inspectionId="inspectionReportStatus.rainSeasonSecondReportId"
+						v-if="inspectionReportStatus.rainSeasonSecondStatus==1">
+					</inspectionreportdetail>
+					<view v-else style="display: flex;flex-direction: row;justify-content: center;">
+						<text style="color: red;font-size: 0.7rem;margin-top: 20px;">汛中第二次巡检暂未填报</text>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	import inspectionreportdetail from '@/pages/equipment-inspection/inspectionreportdetail.vue'
+	export default {
+		components: {
+			inspectionreportdetail
+		},
+		onLoad(options) {
+			this.rtuCode = options.rtuCode;
+			this.query['rtuCode'] = this.rtuCode;
+			console.log("onLoad")
+			this.getInspectionReportStatus();
+		},
+		data() {
+			return {
+				rtuCode: '',
+				items: ['汛前巡检', '汛中(一)巡检', '汛中(二)巡检'],
+				current: -1,
+				inspectionReportStatus: {
+					beforeRainSeasonReportId: 0,
+					rainSeasonFirstReportId: 0,
+					rainSeasonSecondReportId: 0,
+					beforeRainSeasonStatus: 0,
+					rainSeasonFirstStatus: 0,
+					rainSeasonSecondStatus: 0,
+				},
+				query: {},
+				title: '测站巡检填报详情',
+			}
+		},
+		computed: {
+
+		},
+		onShow() {
+			console.log("onShow")
+		},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			getInspectionReportStatus(params = {}) {
+				let that = this;
+				let postData = Object.assign(params, this.query);
+				console.log(JSON.stringify(postData))
+				http.request({
+					url: '/galaxy-business/equipment/inspection/rtu/reportStatus',
+					method: 'GET',
+					data: postData
+				}).then(res => {
+					//console.log(JSON.stringify(res))
+					if (res != null && res.success) {
+						if (res.data != null) {
+							that.inspectionReportStatus = res.data;
+							if (that.inspectionReportStatus.rainSeasonSecondStatus == 1) {
+								that.current = 2;
+							} else if (that.inspectionReportStatus.rainSeasonFirstStatus == 1) {
+								that.current = 1;
+							} else if (that.inspectionReportStatus.beforeRainSeasonStatus == 1) {
+								that.current = 0;
+							}
+						}
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			onClickItem(e) {
+				if (this.current != e.currentIndex) {
+					this.current = e.currentIndex;
+				}
+			},
+		}
+	}
+</script>
+
+<style>
+
+</style>
+
+<style lang="scss" scoped>
+	.nav-title {
+		width: 100%;
+		display: flex;
+		flex-direction: row;
+		justify-content: center;
+		align-items: center;
+
+		text {
+			color: white;
+			font-size: 1rem;
+		}
+	}
+
+	.container {
+		padding: 0 0 50rpx;
+		width: 100%;
+	}
+
+	.content {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		justify-content: flex-start;
+		flex-direction: column;
+		width: 100%;
+
+	}
+</style>

+ 218 - 0
pages/equipment-inspection/servicepersonfinishedinspectionreportlist.vue

@@ -0,0 +1,218 @@
+<!--
+ * @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-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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="auth" size="18" color="lightblue" />
+								<text class="item-text-lable">填报人:</text>
+								<text v-if="rainSeasonKind ==1"
+									class="item-text-content">{{item.beforeRainSeasonReportUserName}}</text>
+								<text v-else-if="rainSeasonKind ==2"
+									class="item-text-content">{{item.rainSeasonFirstReportUserName}}</text>
+								<text v-else-if="rainSeasonKind ==3"
+									class="item-text-content">{{item.rainSeasonSecondReportUserName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">填报时间:</text>
+								<text v-if="rainSeasonKind ==1"
+									class="item-text-content">{{item.beforeRainSeasonReportTime}}</text>
+								<text v-else-if="rainSeasonKind ==2"
+									class="item-text-content">{{item.rainSeasonFirstReportTime}}</text>
+								<text v-else-if="rainSeasonKind ==3"
+									class="item-text-content">{{item.rainSeasonSecondReportTime}}</text>
+							</view>
+							<view class="item-button-group">
+								<view v-if="rainSeasonKind ==1" class="item-button"
+									@click="onBeforeRainDetailViewClick(item.beforeRainSeasonReportId)">
+									<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="rainSeasonKind ==2" class="item-button"
+									@click="onRainFirstDetailViewClick(item.rainSeasonFirstReportId)">
+									<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="rainSeasonKind ==3" class="item-button"
+									@click="onRainSencodDetailViewClick(item.rainSeasonSecondReportId)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" 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.rainSeasonKind = option.rainSeasonKind;
+			this.query['servicePersonId'] = option.userId;
+			this.query['rainSeasonKind'] = option.rainSeasonKind;
+			console.log(JSON.stringify(this.query))
+			if (this.rainSeasonKind == 1) {
+				this.title = '汛前已巡检设备信息';
+			} else if (this.rainSeasonKind == 2) {
+				this.title = '汛中(一)已巡检设备信息';
+			} else if (this.rainSeasonKind == 3) {
+				this.title = '汛中(二)已巡检设备信息';
+			}
+			this.getPage();
+		},
+		data() {
+			return {
+				rainSeasonKind: 0,
+				title: '已巡检设备信息',
+				permission: {
+					'admin': false,
+					'orgAdmin': false,
+					'companyAdmin': false,
+					'companyServciePerson': false,
+				},
+				list: [],
+				pageSize: 10,
+				// 当前页
+				pageCurrent: 1,
+				// 数据总量
+				total: 0,
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				}
+			}
+		},
+		computed: {
+		},
+		onShow() {
+		},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			onBeforeRainDetailViewClick(id) {
+				console.log("onDetailViewClick " + id)
+				var url = '/pages/equipment-inspection/inspectionreportview?type=1&id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onRainFirstDetailViewClick(id) {
+				console.log("onDetailViewClick " + id)
+				var url = '/pages/equipment-inspection/inspectionreportview?type=2&id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			onRainSencodDetailViewClick(id) {
+				console.log("onDetailViewClick " + id)
+				var url = '/pages/equipment-inspection/inspectionreportview?type=3&id=' + id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			getPage(params = {}) {
+				let that = this;
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(this.query, params);
+				http.request({
+					url: '/galaxy-business/equipment/inspection/rain/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data != null) {
+						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>
+
+</style>

+ 0 - 235
pages/equipment-inspection/todayequipmentinspectionreportlist.vue

@@ -1,235 +0,0 @@
-<template>
-	<view class="wrap">
-		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
-			:title="title" @clickLeft="toBack">
-		</uni-nav-bar>
-		<!-- <u-gap height="75px"></u-gap> -->
-		<view class="container">
-			<uni-list>
-				
-				<uListItem ellipsis="1" v-for="item in lastEquipmentInspectionList" :key="item.id"
-					:title="item.reportDesc" :note="item.createTime" clickable showArrow
-					@click="onEquipmentInspectionItemClick(item.id)">
-					<template v-slot:header>
-						<view>
-							<image class="slot-image" src="/static/images/user/c1.png" mode="widthFix"></image>
-						</view>
-					</template>
-				</uListItem>
-				
-			</uni-list>
-			<uGroup>
-				<view class="uni-pagination-box">
-					<uni-pagination show-icon :page-size="pageSize" :current="pageCurrent" :total="total"
-						@change="change" />
-				</view>
-			</uGroup>
-		</view>
-		<u-gap height="70"></u-gap>
-	</view>
-</template>
-
-<script>
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uSection from '@/uni_modules/uni-section/uni-section.vue'
-	import uPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-	import http from '@/http/api.js';
-
-	export default {
-		components: {
-			uNavBar,
-			uList,
-			uListItem,
-			uIcons,
-			uGroup,
-		},
-		onLoad(option) {
-			this.getLastEquipmentInspectionReport();
-		},
-		data() {
-			return {
-				list: [],
-				title: '今日巡检填报信息',
-				desc: '',
-				pageSize: 10,
-				// 当前页
-				pageCurrent: 1,
-				// 数据总量
-				total: 0,
-			}
-		},
-		computed: {
-			getIcon() {
-				return path => {
-					return 'https://cdn.uviewui.com/uview/example/' + path + '.png';
-				}
-			},
-		},
-		onShow() {
-
-		},
-		created() {
-
-		},
-		methods: {
-			toBack() {
-				uni.navigateBack({
-					delta: 1
-				})
-			},
-			// 分页触发
-			change(e) {
-				//this.$refs.table.clearSelection()
-				this.selectedIndexs.length = 0
-				this.pageCurrent=e.current;
-				this.getOrderList()
-			},
-			getLastEquipmentInspectionReport() {
-				const that = this;
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				const isSubmit = '0';
-				http.request({
-					url: '/galaxy-test/equipment/inspection/report/page',
-					method: 'GET',
-					params: {
-						current,
-						size,
-						isSubmit
-					},
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						if (res.data.records != null) {
-								
-							that.lastEquipmentInspectionList = res.data.records;
-						}
-						this.total=res.data.total;
-					
-					}
-			
-				}).catch(err => {
-					console.log(err)
-				})
-			
-			
-			},
-			onEquipmentInspectionItemClick(id) {
-				console.log(id)
-				var url = '/pages/equipment-inspection/equipmentinspectionreportdetail?id=' + id;
-				uni.navigateTo({
-					url: url
-				})
-			
-			},
-
-		}
-	}
-</script>
-
-<style>
-	/* page {
-		background-color: rgb(240, 242, 244);
-	} */
-</style>
-
-<style lang="scss" scoped>
-	.container {
-		padding: 0 0 150rpx;
-	}
-
-	.u-cell-icon {
-		width: 36rpx;
-		height: 36rpx;
-		margin-right: 8rpx;
-	}
-
-	.slot-box {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		align-items: center;
-	}
-
-	.slot-image {
-		/* #ifndef APP-NVUE */
-		display: block;
-		/* #endif */
-		margin-right: 10px;
-		width: 30px;
-		height: 30px;
-	}
-
-	.slot-text {
-		flex: 1;
-		font-size: 14px;
-		color: #4cd964;
-		margin-right: 10px;
-	}
-
-	.content-box {
-		flex: 1;
-		/* #ifdef APP-NVUE */
-		justify-content: center;
-		/* #endif */
-		height: 100%;
-		line-height: 44px;
-		padding: 0 15px;
-		position: relative;
-		background-color: #fff;
-		border-bottom-color: #f5f5f5;
-		border-bottom-width: 1px;
-		border-bottom-style: solid;
-	}
-
-	.content-text {
-		font-size: 15px;
-	}
-
-	.example-body {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		/* #endif */
-		flex-direction: row;
-		justify-content: center;
-		padding: 10px 0;
-		background-color: #fff;
-	}
-
-	.button {
-		border-color: #e5e5e5;
-		border-style: solid;
-		border-width: 1px;
-		padding: 4px 8px;
-		border-radius: 4px;
-	}
-
-	.button-text {
-		font-size: 15px;
-	}
-
-	.slot-button {
-		/* #ifndef APP-NVUE */
-		display: flex;
-		height: 100%;
-		/* #endif */
-		flex: 1;
-		flex-direction: row;
-		justify-content: center;
-		align-items: center;
-		padding: 0 20px;
-		background-color: #ff5a5f;
-	}
-
-	.slot-button-text {
-		color: #ffffff;
-		font-size: 14px;
-	}
-</style>

+ 118 - 0
pages/equipment-inspection/todayinspectionreportlist.vue

@@ -0,0 +1,118 @@
+<!--
+ * @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-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<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">{{item.rtuName}}</text>
+								<text class="item-sub-title">[{{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>
+								<text v-if="item.rainSeasonKind == 1" class="item-text-content">汛前巡检</text>
+								<text v-else-if="item.rainSeasonKind == 2" class="item-text-content">汛中第一次巡检</text>
+								<text v-else-if="item.rainSeasonKind == 3" class="item-text-content">汛中第二次巡检</text>
+								<text v-else class="item-text-content"></text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="auth" size="18" color="lightblue" />
+								<text class="item-text-lable">填报人:</text>
+								<text class="item-text-content">{{item.servicePersonName}}</text>
+							</view>
+							<view class="items-line">
+								<uni-icons class="input-uni-icon" type="calendar" size="18" color="lightblue" />
+								<text class="item-text-lable">填报时间:</text>
+								<text class="item-text-content">{{item.createTime}}</text>
+							</view>
+							<view class="item-button-group">
+								<view class="item-button" style="width: 120px;"
+									@click="onEquipmentInspectionItemClick(item.id,item.rainSeasonKind)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="info" size="18" color="coral" />
+										<text class="button-text">巡检填报详情</text>
+									</view>
+								</view>
+							</view>
+						</view>
+					</template>
+				</uni-list-item>
+			</uni-list>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+
+	export default {
+		components: {},
+		onLoad(option) {
+			this.getPage();
+		},
+		data() {
+			return {
+				list: [],
+				title: '今日巡检填报信息',
+			}
+		},
+		computed: {},
+		onShow() {},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			getPage(params = {}) {
+				let that = this;
+				http.request({
+					url: '/galaxy-business/equipment/inspection/report/today/list',
+					method: 'GET'
+				}).then(res => {
+					if (res.success) {
+						if (res.data != null) {
+							that.list = res.data;
+						}
+					}
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+			onEquipmentInspectionItemClick(id, rainSeasonKind) {
+				console.log(id)
+				var url = '/pages/equipment-inspection/inspectionreportview?id=' + id + "&type=" + rainSeasonKind;
+				uni.navigateTo({
+					url: url
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+
+</style>
+
+<style lang="scss" scoped>
+
+</style>

+ 0 - 688
pages/home/adminhome.vue

@@ -1,688 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 头部 start -->
-		<view class="head">
-			<u-navbar :is-fixed="false" :border-bottom="false" :is-back="false" title=""
-				:background="{ background: '#0BB9C8' }">
-				<view class="nav-wrap">
-					<!-- 				<picker mode="selector" :range="positionArr" range-key="name" @change="changePicker"
-						class="picker-box">
-						{{ position }}
-						<u-icon name="arrow-down" class="arrow" size="18" color="#C9C9C9"></u-icon>
-					</picker> -->
-					<view style="width: 100%;height: auto;align-items: center;text-align: center;" v-if="!focus">
-						<text style="color: #ffffff; font-size: 20px;">运维系统</text>
-					</view>
-					<!-- 	<image src="/static/images/rider.png" class="rider" mode="widthFix" v-if="!focus"></image>
- -->
-					<!-- 		<view class="search-input" v-else>
-						<u-search height="50" placeholder="关键字" @blur="handleSearchBlur" :show-action="false"
-							v-model="keyword"></u-search>
-					</view> -->
-
-					<!-- 					<view class="tool">
-						<image src="/static/images/home/search.png" class="icon search-icon" mode="widthFix"
-							@click="handleFocus" v-if="!focus"></image>
-						<image src="/static/images/home/message.png" class="icon message-icon" mode="widthFix"></image>
-						<image src="/static/images/home/qr.png" class="icon qr-icon" mode="widthFix"></image>
-					</view> -->
-				</view>
-			</u-navbar>
-			<!-- 			<view class="head-bg"></view>
-			<swiper class="swiper-box" :indicator-dots="false" :autoplay="true" :interval="3000" :duration="1000">
-				<swiper-item v-for="(item, index) in bannerList" :key="index">
-					<navigator :url="item.url" hover-class="none" class="swiper-item">
-						<image :src="item.img" class="banner"></image>
-					</navigator>
-				</swiper-item>
-			</swiper> -->
-		</view>
-		<!-- 头部 end -->
-
-		<!-- 头部按钮 start -->
-		<view class="nav">
-			<u-grid :col="4" :border="false">
-				<u-grid-item bg-color="transparent" v-for="(item, index) in navButton" :key="index">
-					<navigator :url="item.url" hover-class="none" class="nav-item" open-type="navigate">
-						<image :src="item.img" mode="widthFix" class="nav-item-img"></image>
-						<view class="nav-item-name">{{ item.name }}</view>
-					</navigator>
-				</u-grid-item>
-			</u-grid>
-		</view>
-		<!-- 头部按钮 end -->
-		<!-- 		<view class="video-box">
-			<view class="video-body">
-				<video style="width: 640rpx; height: 480rpx;" src="/static/video/test.mp4"></video>
-
-			</view>
-			<view class="video-title" style="margin-top: 5px;">
-				<view class="text">新闻视频提要:据报道....</view>
-			</view>
-
-		</view> -->
-
-		<!-- 公告 start -->
-		<view class="notice-box">
-			<image src="/static/images/home/notice.png" class="img" mode="widthFix"></image>
-			<view class="notice-info">
-				<navigator hover-class="none" class="notice-cell" v-for="(item, index) in noticeList" :key="index">
-					<!-- 			<image :src="item.img" class="icon" mode="widthFix"></image> -->
-					<view class="text">{{item.title}}</view>
-					<u-icon name="arrow-right" size="12" color="#C9C9C9"></u-icon>
-				</navigator>
-			</view>
-		</view>
-		<!-- 公告 end -->
-
-
-		<!-- 服务按钮 start -->
-		<!-- 		<view class="service-box">
-			<u-grid :col="4" :border="false">
-				<u-grid-item bg-color="transparent" v-for="(item, index) in serviceButton" :key="index">
-					<navigator url="" hover-class="none" class="service-item">
-						<image :src="item.img" mode="widthFix" class="img"></image>
-						<view class="name">{{ item.name }}</view>
-					</navigator>
-				</u-grid-item>
-				<u-grid-item bg-color="transparent" key="8">
-					<navigator url="/pages/service/service" hover-class="none" class="service-item">
-						<image src="/static/images/home/s8.png" mode="widthFix" class="img"></image>
-						<view class="name">更多</view>
-					</navigator>
-				</u-grid-item>
-			</u-grid>
-		</view> -->
-		<!-- 服务按钮 end -->
-
-		<!-- 新闻模块 start -->
-		<view class="news">
-			<navigator hover-class="none" url="/pages/check-order/checkorderlist" class="cell">
-				<view class="ctitle">工单动态</view>
-				<view class="more">
-					更多
-					<u-icon name="arrow-right" color="#A6ABB5" size="16"></u-icon>
-				</view>
-			</navigator>
-
-			<view class="news-list">
-				<navigator url="/pages/news/detail" hover-class="none" class="news-item"
-					v-for="(item, index) in lastCheckOrderList" :key="index">
-					<view class="left">
-						<view class="info">
-							<text>{{item.orderDesc}}</text>
-						</view>
-						<view class="date">
-							<image src="/static/images/home/date.png" class="icon" mode=""></image>
-							<text>{{item.updateTime}}</text>
-						</view>
-					</view>
-					<!-- 		<image src="" mode="" class="img"></image> -->
-				</navigator>
-				<!-- 		<u-loadmore :status="status" /> -->
-			</view>
-
-		</view>
-		<!-- 新闻模块 end -->
-
-		<view class="news">
-			<navigator hover-class="none" url="/pages/equipment-inspection/equipmentinspectionplanlist" class="cell">
-				<view class="ctitle">巡检动态</view>
-				<view class="more">
-					更多
-					<u-icon name="arrow-right" color="#A6ABB5" size="16"></u-icon>
-				</view>
-			</navigator>
-
-			<view class="news-list">
-				<navigator url="/pages/news/detail" hover-class="none" class="news-item"
-					v-for="(item, index) in lastEquipmentInspectionList" :key="index">
-					<view class="left">
-						<view class="info">
-							<text>{{item.reportDesc}}</text>
-						</view>
-						<view class="date">
-							<image src="/static/images/home/date.png" class="icon" mode=""></image>
-							<text>{{item.createTime}}</text>
-						</view>
-					</view>
-					<!-- 		<image src="" mode="" class="img"></image> -->
-				</navigator>
-				<!-- 		<u-loadmore :status="status" /> -->
-			</view>
-
-		</view>
-	
-	</view>
-</template>
-
-<script>
-	
-	import {
-		fakePosition,
-		fakeBannerList,
-		fakeNavButton,
-		fakeServiceButton
-	} from "@/api/mock/home.js";
-	import http from '@/http/api.js';
-	export default {
-			components: {
-			
-			},
-		data() {
-			return {
-				position: '',
-				positionArr: [],
-				status: 'loadmore',
-				list: 15,
-				page: 0,
-				keyword: '',
-				focus: false,
-				bannerList: [],
-				noticeList: [],
-				warningList: [],
-				newsList: [{}, {}],
-				navButton: [],
-				serviceButton: [],
-				lastCheckOrderList: [],
-				lastEquipmentInspectionList: [],
-				role: {
-					'admin': '系统管理员',
-					'orgAdmin': '运维单位管理员',
-					'orgServicePerson': '运维单位技术员',
-				},
-				showHome: {
-					'admin': false,
-					'orgAdmin': false,
-					'orgServicePerson': false,
-				}
-			};
-		},
-		onLoad() {
-			if (this.userInfo.role_name === this.role['admin']) {
-				this.showHome.admin = true;
-				this.showHome.orgAdmin = false;
-				this.showHome.orgServicePerson = false;
-				this.adminhome.onLoad();
-			} else if (this.userInfo.role_name === this.role['orgAdmin']) {
-				this.showHome.admin = false;
-				this.showHome.orgAdmin = true;
-				this.showHome.orgServicePerson = false;
-			} else if (this.userInfo.role_name === this.role['orgServicePerson']) {
-				this.showHome.admin = false;
-				this.showHome.orgAdmin = false;
-				this.showHome.orgServicePerson = true;
-			} else {
-				this.$u.route({
-					url: '/pages/login/login-account'
-				})
-			}
-			// 后续将改为与后端联动
-			// 加载banner数据
-			fakePosition().then(data => {
-				this.position = data.position;
-				this.positionArr = data.positionArr;
-			});
-			// 加载banner数据
-			fakeBannerList().then(data => {
-				this.bannerList = data;
-			});
-			// 加载通知公告数据
-			// fakeNoticeList().then(data => {
-			// 	this.noticeList = data;
-			// });
-
-			// const noticeListTmp = [{
-			// 	id: '1',
-			// 	title: '2022年度巡检计划已经发布'
-			// }];
-
-			// this.noticeList = noticeListTmp;
-             this.getLastNotice();
-             this.getLastCheckOrder();
-			 this.getLastEquipmentInspectionReport();
-
-			// const lastCheckOrderListTmp = [{
-			// 	id: '1',
-			// 	processDesc: '河道 45222222维修工单创建',
-			// 	reportDate: '2022年8月20日 12时'
-			// }];
-
-			// this.lastCheckOrderList=lastCheckOrderListTmp;
-
-
-			// const lastEquipmentInspectionListTmp = [{
-			// 	id: '1',
-			// 	equipmentInspectionDesc: '测站河道 45222222 已经完成巡检填报',
-			// 	reportDate: '2022年8月20日 15时'
-			// }];
-
-			// this.lastEquipmentInspectionList=lastEquipmentInspectionListTmp;
-
-
-			// 加载顶部按钮数据
-			fakeNavButton().then(data => {
-				this.navButton = data;
-			});
-			// 加载服务按钮数据
-			fakeServiceButton().then(data => {
-				this.serviceButton = data;
-			});
-		},
-		onReachBottom() {
-			// 后续将改为与后端联动
-			if (this.page >= 3) return;
-			this.status = 'loading';
-			this.page = ++this.page;
-			setTimeout(() => {
-				this.list += 10;
-				if (this.page >= 3) this.status = 'nomore';
-				else this.status = 'loading';
-				this.newsList.push(...[{}, {}]);
-			}, 2000);
-		},
-		methods: {
-			getLastNotice(){
-				const that = this;
-				http.request({
-					url: '/galaxy-test/notice/last/list',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						const len = res.data['length'];
-						var list = [];
-						for (var i = 0; i < len; i++) {
-							let dict = res.data['' + i];
-							list.push(dict);
-						}
-						that.noticeList = list;
-					}
-				
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getLastCheckOrder() {
-				const that = this;
-				http.request({
-					url: '/galaxy-test/rtu/check/order/last/list',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						const len = res.data['length'];
-						var list = [];
-						for (var i = 0; i < len; i++) {
-							let dict = res.data['' + i];
-							list.push(dict);
-						}
-						that.lastCheckOrderList = list;
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getLastEquipmentInspectionReport() {
-				const that = this;
-				http.request({
-					url: '/galaxy-test/equipment/inspection/report/last/list',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						const len = res.data['length'];
-						var list = [];
-						for (var i = 0; i < len; i++) {
-							let dict = res.data['' + i];
-							list.push(dict);
-						}
-						that.lastEquipmentInspectionList = list;
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-
-			},
-			changePicker(e) {
-				console.log(this.pickerArr[e.detail.value].name);
-				this.position = this.pickerArr[e.detail.value].name;
-			},
-			handleFocus() {
-				this.focus = !this.focus;
-			},
-			handleSearchBlur() {
-				this.focus = false;
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	.container {
-		background-color: #f7f7f7;
-		min-height: 100vh;
-		overflow: hidden;
-	}
-
-	.head {
-		position: relative;
-		top: 0;
-		left: 0;
-		z-index: 1;
-	}
-
-	.head-bg {
-		position: absolute;
-		left: 0px;
-		top: 0px;
-		z-index: -1;
-		width: 750rpx;
-		height: 270rpx;
-		background: #0bb9c8;
-	}
-
-	.nav-wrap {
-		width: 100%;
-		padding: 0 22rpx;
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-
-		.picker-box {
-			flex: 1;
-			display: flex;
-			align-items: center;
-			justify-content: flex-start;
-			font-size: 32rpx;
-			font-family: Microsoft YaHei;
-			font-weight: bold;
-			color: #ffffff;
-
-			.arrow {
-				margin-left: 10rpx;
-			}
-		}
-
-		.rider {
-			flex-shrink: 0;
-			width: 131rpx;
-			height: auto;
-		}
-
-		.search-input {
-			width: 300rpx;
-			height: 50rpx;
-		}
-
-		.tool {
-			flex: 1;
-			display: flex;
-			align-items: center;
-			justify-content: flex-end;
-
-			.icon {
-				height: auto;
-			}
-
-			.search-icon {
-				width: 40rpx;
-				margin-right: 34rpx;
-			}
-
-			.message-icon {
-				width: 32rpx;
-				margin-right: 27rpx;
-			}
-
-			.qr-icon {
-				width: 37rpx;
-			}
-		}
-	}
-
-	.swiper-box {
-		margin: 50rpx auto 0;
-		width: 710rpx;
-		height: 253rpx;
-
-		.swiper-item {
-			width: 100%;
-			height: 100%;
-
-			.banner {
-				width: 100%;
-				height: 100%;
-			}
-		}
-	}
-
-	.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: 26rpx;
-				font-family: PingFang SC;
-				font-weight: 400;
-				color: #585b61;
-			}
-		}
-	}
-
-
-	.video-box {
-		display: flex;
-		justify-content: flex-start;
-		flex-direction: column;
-		width: 100%;
-
-		.video-body {
-			display: flex;
-			justify-content: center;
-			flex-direction: row;
-		}
-
-		.video-title {
-			display: flex;
-			justify-content: center;
-			flex-direction: row;
-
-			.text {
-				margin-top: 10rpx;
-				margin-bottom: 10rpx;
-				width: 640rpx;
-				// flex: 1;
-				min-width: 0;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				-webkit-line-clamp: 1;
-				-webkit-box-orient: vertical;
-			}
-		}
-	}
-
-	.notice-box {
-		display: flex;
-		align-items: center;
-		background: #ffffff;
-		border-radius: 20px 20px 20px 20px;
-		margin: 0 20rpx;
-		padding: 30rpx 20rpx;
-
-		.img {
-			width: 75rpx;
-			height: auto;
-			margin-right: 36rpx;
-			margin-left: 10rpx;
-		}
-
-		.notice-info {
-			flex: 1;
-
-			.notice-cell:first-of-type {
-				margin-bottom: 15rpx;
-			}
-		}
-
-		.notice-cell {
-			display: flex;
-			align-items: center;
-			font-size: 24rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #585b61;
-
-			.icon {
-				width: 63rpx;
-				margin-right: 18rpx;
-			}
-
-			.text {
-				flex: 1;
-				min-width: 0;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				-webkit-line-clamp: 1;
-				-webkit-box-orient: vertical;
-			}
-		}
-	}
-
-	.service-box {
-		background: #ffffff;
-		border-radius: 20px 20px 20px 20px;
-		margin: 30rpx 20rpx 0;
-		padding: 0rpx 20rpx;
-
-		.service-item {
-			display: flex;
-			flex-direction: column;
-			justify-content: space-between;
-			align-items: center;
-			width: 100%;
-			height: 120rpx;
-			font-size: 26rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #585b61;
-
-			.img {
-				width: 70rpx;
-				height: auto;
-			}
-		}
-	}
-
-	.news {
-		background: #ffffff;
-		border-radius: 20px 20px 20px 20px;
-		margin: 30rpx 20rpx 60rpx;
-		padding: 30rpx 20rpx;
-
-		.cell {
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-
-			.ctitle {
-				font-size: 32rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #585b61;
-			}
-
-			.more {
-				display: flex;
-				align-items: center;
-				font-size: 26rpx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #a6abb5;
-			}
-		}
-
-		.news-list {
-			margin-top: 30rpx;
-
-			.news-item {
-				&:not(:last-of-type) {
-					padding: 0 0 30rpx;
-					margin-bottom: 30rpx;
-					border-bottom: 1px solid #eeeeee;
-				}
-
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-
-				.left {
-					flex: 1;
-					height: 160rpx;
-					display: flex;
-					flex-direction: column;
-					justify-content: space-around;
-
-					.info {
-						min-width: 0;
-						overflow: hidden;
-						text-overflow: ellipsis;
-						display: -webkit-box;
-						-webkit-line-clamp: 2;
-						-webkit-box-orient: vertical;
-
-						font-size: 28rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #585b61;
-						line-height: 36rpx;
-					}
-
-					.date {
-						display: flex;
-						align-items: center;
-
-						.icon {
-							width: 21rpx;
-							height: 21rpx;
-							margin-right: 9rpx;
-						}
-
-						font-size: 26rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #a6abb5;
-					}
-				}
-
-				.img {
-					flex-shrink: 0;
-					width: 252rpx;
-					height: 160rpx;
-					border-radius: 20rpx;
-					background-color: #82848a;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 22
pages/home/building.vue

@@ -1,22 +0,0 @@
-<template>
-	<view class="container">
-		<u-navbar :is-fixed="false" :border-bottom="false" :is-back="true" back-icon-name="arrow-leftward"
-			back-icon-size="35" :background="{ background: '#fff' }" title="提示页" title-color="#000">
-		</u-navbar>
-		<view class="u-demo">
-			<view class="u-demo-wrap">
-				<view class="u-demo-title">正在开发中</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				data: {}
-			};
-		},
-	}
-</script>

+ 147 - 0
pages/home/dangerarea.vue

@@ -0,0 +1,147 @@
+<!--
+ * @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>
+		<view class="container">
+			<uni-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<template v-slot:body>
+						<view class="list-item-block">
+							<view class="items-line">
+								<text class="item-title-rtu-name">{{item.dangerAreaName}}</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">{{item.adnm}}</text>
+							</view>
+							<view class="item-button-group">
+								<view class="item-button" @click="toMap(item)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="phone" 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 :pageSize="pageSize" :current="pageCurrent" :total="total"
+						@change="pageChange" />
+				</view>
+			</uni-group>
+		</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: {
+
+		},
+		onLoad(options) {
+			this.id = options.id;
+			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
+			this.getPage();
+		},
+		data() {
+			return {
+				title: '地图测试',
+				pageSize: 10,
+				pageCurrent: 1,
+				total: 0,
+				list: [],
+				query: {},
+			}
+		},
+		computed: {
+
+		},
+		onShow() {
+
+		},
+		created() {
+
+		},
+		methods: {
+
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			toMap(item){
+				let url = '/pages/home/dangerareamap?id=' + item.id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			getPage(params = {}) {
+
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				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.list = res.data.records;
+					}
+					this.total = res.data.total;
+				}).catch(err => {
+					console.log(err)
+				})
+			},
+
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+	.uni-body {
+		font-size: 0.7rem;
+	}
+</style>

+ 193 - 0
pages/home/dangerareamap.vue

@@ -0,0 +1,193 @@
+<!--
+ * @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>
+		<view class="page-body">
+			<view class="page-section page-section-gap">
+				<map style="width: 100%; height: 600px;" :latitude="latitude" :longitude="longitude" :markers="markets"
+					enable-zoom="true" :polygons="polygons" :scale="scale">
+				</map>
+			</view>
+
+			<!-- 			<view class="item-button-group">
+				<view v-for="item in areaList" :key="item.id" class="item-button" @click="onAreaClick(item)">
+					<view class="items-line">
+						<uni-icons class="input-uni-icon" type="close" size="18" color="coral" />
+						<text class="button-text">{{ item.name }}</text>
+					</view>
+				</view>
+			</view> -->
+		</view>
+	</view>
+</template>
+<!-- <script src="../../static/js/gcoord.global.prod.js" type="module"></script> -->
+<script>
+	import {
+		gcoord
+	} from '@/static/js/gcoord.global.prod.js'
+	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: {
+
+		},
+		onLoad(options) {
+			this.id = options.id;
+			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
+			let that = this;
+			let postData = {};
+			postData['id'] = this.id;
+			http.request({
+				url: '/galaxy-business/map/dangerarea/detail',
+				method: 'GET',
+				data: postData
+			}).then(res => {
+				console.log(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;
+					let dashArray = [];
+					dashArray.push(4);
+					dashArray.push(10);
+					p['dashArray'] = dashArray;
+					
+					if (res.data.dangerStatus == '1') {
+						// p['strokeColor'] = '#EE6666';
+						p['strokeColor'] = '#FF0000';
+						p['fillColor'] = '#F72C5B7D';
+					} else {
+						p['strokeColor'] = '#FC8452';
+						p['fillColor'] = '#FAC8587D';
+					}
+					that.polygons.push(p);
+					let c = gcoord.transform(
+						[res.data.centerPointLng, res.data.centerPointLat],
+						gcoord.WGS84,
+						gcoord.GCJ02
+					);
+					console.log(c)
+					that.latitude = c[1];
+					that.longitude = c[0];
+
+					let marketPoints = res.data.rtus.map(item => {
+						console.log(JSON.stringify(item))
+						let rtu = {};
+						rtu['iconPath'] = '/static/images/icon_warning.png';
+						rtu['id'] = parseInt(item.id);
+						let r = gcoord.transform(
+							[parseFloat(item.lng), parseFloat(item.lat)],
+							gcoord.WGS84,
+							gcoord.GCJ02
+						);
+
+						rtu['latitude'] = r[1];
+						rtu['longitude'] = r[0];
+						rtu['width'] = 20;
+						rtu['height'] = 20;
+						let label = {};
+						label['content'] = item.rtuName;
+						label['color'] = '#ff0000';
+						label['bgColor'] = '#ffffff';
+						label['anchorY'] = -40;
+						rtu['label'] = label;
+						return rtu;
+					});
+					that.markets = marketPoints;
+					that.scale = 14;
+				}
+			}).catch(err => {
+				console.log(err)
+			})
+		},
+		data() {
+			return {
+				title: '地图测试',
+				id: 0,
+				title: 'map',
+				areaList: [],
+				areaIndex: 0,
+				latitude: 40.848119,
+				longitude: 111.755426,
+				zoom: true,
+				scale: 14,
+				markets: [],
+				polygons: [],
+			}
+		},
+		computed: {
+
+		},
+		onShow() {
+
+		},
+		created() {
+
+		},
+		methods: {
+			toOss(path) {
+				return oss + path;
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onAreaClick(item) {
+				let p = {};
+				p['points'] = item.data;
+				let dashArray = [];
+				dashArray.push(10);
+				dashArray.push(10);
+				p['dashArray'] = dashArray;
+				p['strokeColor'] = '#FFF';
+				p['fillColor'] = '#A500337D';
+				this.polygons = [];
+				this.polygons.push(p);
+				let center = item.center;
+				this.latitude = center[1];
+				this.longitude = center[0];
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+	.uni-body {
+		font-size: 0.7rem;
+	}
+</style>

Разница между файлами не показана из-за своего большого размера
+ 644 - 464
pages/home/home.vue


+ 147 - 0
pages/home/leaveline.vue

@@ -0,0 +1,147 @@
+<!--
+ * @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>
+		<view class="container">
+			<uni-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<template v-slot:body>
+						<view class="list-item-block">
+							<view class="items-line">
+								<text class="item-title-rtu-name">{{item.dangerAreaName}}</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">{{item.adnm}}</text>
+							</view>
+							<view class="item-button-group">
+								<view class="item-button" @click="toMap(item)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="phone" 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 :pageSize="pageSize" :current="pageCurrent" :total="total"
+						@change="pageChange" />
+				</view>
+			</uni-group>
+		</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: {
+
+		},
+		onLoad(options) {
+			this.id = options.id;
+			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
+			this.getPage();
+		},
+		data() {
+			return {
+				title: '地图测试',
+				pageSize: 10,
+				pageCurrent: 1,
+				total: 0,
+				list: [],
+				query: {},
+			}
+		},
+		computed: {
+
+		},
+		onShow() {
+
+		},
+		created() {
+
+		},
+		methods: {
+
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			toMap(item){
+				let url = '/pages/home/leavelinemap?id=' + item.id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			getPage(params = {}) {
+
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(params, this.query);
+				let that = this;
+				http.request({
+					url: '/galaxy-business/map/leaveline/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					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);
+	} */
+	.uni-body {
+		font-size: 0.7rem;
+	}
+</style>

+ 160 - 0
pages/home/leavelinemap.vue

@@ -0,0 +1,160 @@
+<!--
+ * @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>
+		<view class="page-body">
+			<view class="page-section page-section-gap">
+				<map style="width: 100%; height: 600px;" :latitude="latitude" :longitude="longitude" :markers="markets"
+					enable-zoom="true" :polyline="polylines" :scale="scale">
+				</map>
+			</view>
+
+			<!-- 			<view class="item-button-group">
+				<view v-for="item in areaList" :key="item.id" class="item-button" @click="onAreaClick(item)">
+					<view class="items-line">
+						<uni-icons class="input-uni-icon" type="close" size="18" color="coral" />
+						<text class="button-text">{{ item.name }}</text>
+					</view>
+				</view>
+			</view> -->
+		</view>
+	</view>
+</template>
+<!-- <script src="../../static/js/gcoord.global.prod.js" type="module"></script> -->
+<script>
+	import {
+		gcoord
+	} from '@/static/js/gcoord.global.prod.js'
+	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: {
+
+		},
+		onLoad(options) {
+			this.id = options.id;
+			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
+			let that = this;
+			let postData = {};
+			postData['id'] = this.id;
+			http.request({
+				url: '/galaxy-business/map/leaveline/detail',
+				method: 'GET',
+				data: postData
+			}).then(res => {
+				console.log(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'] = '#EE6666';
+					
+	
+					that.polylines.push(p);
+					let c = gcoord.transform(
+						[res.data.centerPointLng, res.data.centerPointLat],
+						gcoord.WGS84,
+						gcoord.GCJ02
+					);
+					console.log(c)
+					that.latitude = c[1];
+					that.longitude = c[0];
+
+					that.scale = 16;
+				}
+			}).catch(err => {
+				console.log(err)
+			})
+		},
+		data() {
+			return {
+				title: '地图测试',
+				id: 0,
+				title: 'map',
+				areaList: [],
+				areaIndex: 0,
+				latitude: 40.848119,
+				longitude: 111.755426,
+				zoom: true,
+				scale: 16,
+				markets: [],
+				polylines: [],
+			}
+		},
+		computed: {
+
+		},
+		onShow() {
+
+		},
+		created() {
+
+		},
+		methods: {
+			toOss(path) {
+				return oss + path;
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onAreaClick(item) {
+				let p = {};
+				p['points'] = item.data;
+				let dashArray = [];
+				dashArray.push(10);
+				dashArray.push(10);
+				p['dashArray'] = dashArray;
+				p['strokeColor'] = '#FFF';
+				p['fillColor'] = '#A500337D';
+				this.polygons = [];
+				this.polygons.push(p);
+				let center = item.center;
+				this.latitude = center[1];
+				this.longitude = center[0];
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+	.uni-body {
+		font-size: 0.7rem;
+	}
+</style>

+ 0 - 661
pages/home/orgadminhome.vue

@@ -1,661 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 头部 start -->
-		<view class="head">
-			<u-navbar :is-fixed="false" :border-bottom="false" :is-back="false" title=""
-				:background="{ background: '#0BB9C8' }">
-				<view class="nav-wrap">
-					<!-- 				<picker mode="selector" :range="positionArr" range-key="name" @change="changePicker"
-						class="picker-box">
-						{{ position }}
-						<u-icon name="arrow-down" class="arrow" size="18" color="#C9C9C9"></u-icon>
-					</picker> -->
-					<view style="width: 100%;height: auto;align-items: center;text-align: center;" v-if="!focus">
-						<text style="color: #ffffff; font-size: 20px;">运维系统</text>
-					</view>
-					<!-- 	<image src="/static/images/rider.png" class="rider" mode="widthFix" v-if="!focus"></image>
- -->
-					<!-- 		<view class="search-input" v-else>
-						<u-search height="50" placeholder="关键字" @blur="handleSearchBlur" :show-action="false"
-							v-model="keyword"></u-search>
-					</view> -->
-
-					<!-- 					<view class="tool">
-						<image src="/static/images/home/search.png" class="icon search-icon" mode="widthFix"
-							@click="handleFocus" v-if="!focus"></image>
-						<image src="/static/images/home/message.png" class="icon message-icon" mode="widthFix"></image>
-						<image src="/static/images/home/qr.png" class="icon qr-icon" mode="widthFix"></image>
-					</view> -->
-				</view>
-			</u-navbar>
-			<!-- 			<view class="head-bg"></view>
-			<swiper class="swiper-box" :indicator-dots="false" :autoplay="true" :interval="3000" :duration="1000">
-				<swiper-item v-for="(item, index) in bannerList" :key="index">
-					<navigator :url="item.url" hover-class="none" class="swiper-item">
-						<image :src="item.img" class="banner"></image>
-					</navigator>
-				</swiper-item>
-			</swiper> -->
-		</view>
-		<!-- 头部 end -->
-
-		<!-- 头部按钮 start -->
-		<view class="nav">
-			<u-grid :col="4" :border="false">
-				<u-grid-item bg-color="transparent" v-for="(item, index) in navButton" :key="index">
-					<navigator :url="item.url" hover-class="none" class="nav-item" open-type="navigate">
-						<image :src="item.img" mode="widthFix" class="nav-item-img"></image>
-						<view class="nav-item-name">{{ item.name }}</view>
-					</navigator>
-				</u-grid-item>
-			</u-grid>
-		</view>
-		<!-- 头部按钮 end -->
-		<!-- 		<view class="video-box">
-			<view class="video-body">
-				<video style="width: 640rpx; height: 480rpx;" src="/static/video/test.mp4"></video>
-
-			</view>
-			<view class="video-title" style="margin-top: 5px;">
-				<view class="text">新闻视频提要:据报道....</view>
-			</view>
-
-		</view> -->
-
-		<!-- 公告 start -->
-		<view class="notice-box">
-			<image src="/static/images/home/notice.png" class="img" mode="widthFix"></image>
-			<view class="notice-info">
-				<navigator hover-class="none" class="notice-cell" v-for="(item, index) in noticeList" :key="index">
-					<!-- 			<image :src="item.img" class="icon" mode="widthFix"></image> -->
-					<view class="text">{{item.title}}</view>
-					<u-icon name="arrow-right" size="12" color="#C9C9C9"></u-icon>
-				</navigator>
-			</view>
-		</view>
-		<!-- 公告 end -->
-
-
-		<!-- 服务按钮 start -->
-		<!-- 		<view class="service-box">
-			<u-grid :col="4" :border="false">
-				<u-grid-item bg-color="transparent" v-for="(item, index) in serviceButton" :key="index">
-					<navigator url="" hover-class="none" class="service-item">
-						<image :src="item.img" mode="widthFix" class="img"></image>
-						<view class="name">{{ item.name }}</view>
-					</navigator>
-				</u-grid-item>
-				<u-grid-item bg-color="transparent" key="8">
-					<navigator url="/pages/service/service" hover-class="none" class="service-item">
-						<image src="/static/images/home/s8.png" mode="widthFix" class="img"></image>
-						<view class="name">更多</view>
-					</navigator>
-				</u-grid-item>
-			</u-grid>
-		</view> -->
-		<!-- 服务按钮 end -->
-
-		<!-- 新闻模块 start -->
-		<view class="news">
-			<navigator hover-class="none" url="/pages/check-order/checkorderlist" class="cell">
-				<view class="ctitle">工单动态</view>
-				<view class="more">
-					更多
-					<u-icon name="arrow-right" color="#A6ABB5" size="16"></u-icon>
-				</view>
-			</navigator>
-
-			<view class="news-list">
-				<navigator url="/pages/news/detail" hover-class="none" class="news-item"
-					v-for="(item, index) in lastCheckOrderList" :key="index">
-					<view class="left">
-						<view class="info">
-							<text>{{item.orderDesc}}</text>
-						</view>
-						<view class="date">
-							<image src="/static/images/home/date.png" class="icon" mode=""></image>
-							<text>{{item.updateTime}}</text>
-						</view>
-					</view>
-					<!-- 		<image src="" mode="" class="img"></image> -->
-				</navigator>
-				<!-- 		<u-loadmore :status="status" /> -->
-			</view>
-
-		</view>
-		<!-- 新闻模块 end -->
-
-		<view class="news">
-			<navigator hover-class="none" url="/pages/equipment-inspection/equipmentinspectionplanlist" class="cell">
-				<view class="ctitle">巡检动态</view>
-				<view class="more">
-					更多
-					<u-icon name="arrow-right" color="#A6ABB5" size="16"></u-icon>
-				</view>
-			</navigator>
-
-			<view class="news-list">
-				<navigator url="/pages/news/detail" hover-class="none" class="news-item"
-					v-for="(item, index) in lastEquipmentInspectionList" :key="index">
-					<view class="left">
-						<view class="info">
-							<text>{{item.reportDesc}}</text>
-						</view>
-						<view class="date">
-							<image src="/static/images/home/date.png" class="icon" mode=""></image>
-							<text>{{item.createTime}}</text>
-						</view>
-					</view>
-					<!-- 		<image src="" mode="" class="img"></image> -->
-				</navigator>
-				<!-- 		<u-loadmore :status="status" /> -->
-			</view>
-
-		</view>
-	
-	</view>
-</template>
-
-<script>
-
-	import {
-		fakePosition,
-		fakeBannerList,
-		fakeNavButton,
-		fakeServiceButton
-	} from "@/api/mock/home.js";
-	import http from '@/http/api.js';
-	export default {
-			components: {
-		
-			},
-		data() {
-			return {
-				position: '',
-				positionArr: [],
-				status: 'loadmore',
-				list: 15,
-				page: 0,
-				keyword: '',
-				focus: false,
-				bannerList: [],
-				noticeList: [],
-				warningList: [],
-				newsList: [{}, {}],
-				navButton: [],
-				serviceButton: [],
-				lastCheckOrderList: [],
-				lastEquipmentInspectionList: [],
-			};
-		},
-		onLoad() {
-
-			// 后续将改为与后端联动
-			// 加载banner数据
-			fakePosition().then(data => {
-				this.position = data.position;
-				this.positionArr = data.positionArr;
-			});
-			// 加载banner数据
-			fakeBannerList().then(data => {
-				this.bannerList = data;
-			});
-			// 加载通知公告数据
-			// fakeNoticeList().then(data => {
-			// 	this.noticeList = data;
-			// });
-
-			// const noticeListTmp = [{
-			// 	id: '1',
-			// 	title: '2022年度巡检计划已经发布'
-			// }];
-
-			// this.noticeList = noticeListTmp;
-             this.getLastNotice();
-             this.getLastCheckOrder();
-			 this.getLastEquipmentInspectionReport();
-
-			// const lastCheckOrderListTmp = [{
-			// 	id: '1',
-			// 	processDesc: '河道 45222222维修工单创建',
-			// 	reportDate: '2022年8月20日 12时'
-			// }];
-
-			// this.lastCheckOrderList=lastCheckOrderListTmp;
-
-
-			// const lastEquipmentInspectionListTmp = [{
-			// 	id: '1',
-			// 	equipmentInspectionDesc: '测站河道 45222222 已经完成巡检填报',
-			// 	reportDate: '2022年8月20日 15时'
-			// }];
-
-			// this.lastEquipmentInspectionList=lastEquipmentInspectionListTmp;
-
-
-			// 加载顶部按钮数据
-			fakeNavButton().then(data => {
-				this.navButton = data;
-			});
-			// 加载服务按钮数据
-			fakeServiceButton().then(data => {
-				this.serviceButton = data;
-			});
-		},
-		onReachBottom() {
-			// 后续将改为与后端联动
-			if (this.page >= 3) return;
-			this.status = 'loading';
-			this.page = ++this.page;
-			setTimeout(() => {
-				this.list += 10;
-				if (this.page >= 3) this.status = 'nomore';
-				else this.status = 'loading';
-				this.newsList.push(...[{}, {}]);
-			}, 2000);
-		},
-		methods: {
-			getLastNotice(){
-				const that = this;
-				http.request({
-					url: '/galaxy-test/notice/last/list',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						const len = res.data['length'];
-						var list = [];
-						for (var i = 0; i < len; i++) {
-							let dict = res.data['' + i];
-							list.push(dict);
-						}
-						that.noticeList = list;
-					}
-				
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getLastCheckOrder() {
-				const that = this;
-				http.request({
-					url: '/galaxy-test/rtu/check/order/last/list',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						const len = res.data['length'];
-						var list = [];
-						for (var i = 0; i < len; i++) {
-							let dict = res.data['' + i];
-							list.push(dict);
-						}
-						that.lastCheckOrderList = list;
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getLastEquipmentInspectionReport() {
-				const that = this;
-				http.request({
-					url: '/galaxy-test/equipment/inspection/report/last/list',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						const len = res.data['length'];
-						var list = [];
-						for (var i = 0; i < len; i++) {
-							let dict = res.data['' + i];
-							list.push(dict);
-						}
-						that.lastEquipmentInspectionList = list;
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-
-			},
-			changePicker(e) {
-				console.log(this.pickerArr[e.detail.value].name);
-				this.position = this.pickerArr[e.detail.value].name;
-			},
-			handleFocus() {
-				this.focus = !this.focus;
-			},
-			handleSearchBlur() {
-				this.focus = false;
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	.container {
-		background-color: #f7f7f7;
-		min-height: 100vh;
-		overflow: hidden;
-	}
-
-	.head {
-		position: relative;
-		top: 0;
-		left: 0;
-		z-index: 1;
-	}
-
-	.head-bg {
-		position: absolute;
-		left: 0px;
-		top: 0px;
-		z-index: -1;
-		width: 750rpx;
-		height: 270rpx;
-		background: #0bb9c8;
-	}
-
-	.nav-wrap {
-		width: 100%;
-		padding: 0 22rpx;
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-
-		.picker-box {
-			flex: 1;
-			display: flex;
-			align-items: center;
-			justify-content: flex-start;
-			font-size: 32rpx;
-			font-family: Microsoft YaHei;
-			font-weight: bold;
-			color: #ffffff;
-
-			.arrow {
-				margin-left: 10rpx;
-			}
-		}
-
-		.rider {
-			flex-shrink: 0;
-			width: 131rpx;
-			height: auto;
-		}
-
-		.search-input {
-			width: 300rpx;
-			height: 50rpx;
-		}
-
-		.tool {
-			flex: 1;
-			display: flex;
-			align-items: center;
-			justify-content: flex-end;
-
-			.icon {
-				height: auto;
-			}
-
-			.search-icon {
-				width: 40rpx;
-				margin-right: 34rpx;
-			}
-
-			.message-icon {
-				width: 32rpx;
-				margin-right: 27rpx;
-			}
-
-			.qr-icon {
-				width: 37rpx;
-			}
-		}
-	}
-
-	.swiper-box {
-		margin: 50rpx auto 0;
-		width: 710rpx;
-		height: 253rpx;
-
-		.swiper-item {
-			width: 100%;
-			height: 100%;
-
-			.banner {
-				width: 100%;
-				height: 100%;
-			}
-		}
-	}
-
-	.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: 26rpx;
-				font-family: PingFang SC;
-				font-weight: 400;
-				color: #585b61;
-			}
-		}
-	}
-
-
-	.video-box {
-		display: flex;
-		justify-content: flex-start;
-		flex-direction: column;
-		width: 100%;
-
-		.video-body {
-			display: flex;
-			justify-content: center;
-			flex-direction: row;
-		}
-
-		.video-title {
-			display: flex;
-			justify-content: center;
-			flex-direction: row;
-
-			.text {
-				margin-top: 10rpx;
-				margin-bottom: 10rpx;
-				width: 640rpx;
-				// flex: 1;
-				min-width: 0;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				-webkit-line-clamp: 1;
-				-webkit-box-orient: vertical;
-			}
-		}
-	}
-
-	.notice-box {
-		display: flex;
-		align-items: center;
-		background: #ffffff;
-		border-radius: 20px 20px 20px 20px;
-		margin: 0 20rpx;
-		padding: 30rpx 20rpx;
-
-		.img {
-			width: 75rpx;
-			height: auto;
-			margin-right: 36rpx;
-			margin-left: 10rpx;
-		}
-
-		.notice-info {
-			flex: 1;
-
-			.notice-cell:first-of-type {
-				margin-bottom: 15rpx;
-			}
-		}
-
-		.notice-cell {
-			display: flex;
-			align-items: center;
-			font-size: 24rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #585b61;
-
-			.icon {
-				width: 63rpx;
-				margin-right: 18rpx;
-			}
-
-			.text {
-				flex: 1;
-				min-width: 0;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				-webkit-line-clamp: 1;
-				-webkit-box-orient: vertical;
-			}
-		}
-	}
-
-	.service-box {
-		background: #ffffff;
-		border-radius: 20px 20px 20px 20px;
-		margin: 30rpx 20rpx 0;
-		padding: 0rpx 20rpx;
-
-		.service-item {
-			display: flex;
-			flex-direction: column;
-			justify-content: space-between;
-			align-items: center;
-			width: 100%;
-			height: 120rpx;
-			font-size: 26rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #585b61;
-
-			.img {
-				width: 70rpx;
-				height: auto;
-			}
-		}
-	}
-
-	.news {
-		background: #ffffff;
-		border-radius: 20px 20px 20px 20px;
-		margin: 30rpx 20rpx 60rpx;
-		padding: 30rpx 20rpx;
-
-		.cell {
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-
-			.ctitle {
-				font-size: 32rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #585b61;
-			}
-
-			.more {
-				display: flex;
-				align-items: center;
-				font-size: 26rpx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #a6abb5;
-			}
-		}
-
-		.news-list {
-			margin-top: 30rpx;
-
-			.news-item {
-				&:not(:last-of-type) {
-					padding: 0 0 30rpx;
-					margin-bottom: 30rpx;
-					border-bottom: 1px solid #eeeeee;
-				}
-
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-
-				.left {
-					flex: 1;
-					height: 160rpx;
-					display: flex;
-					flex-direction: column;
-					justify-content: space-around;
-
-					.info {
-						min-width: 0;
-						overflow: hidden;
-						text-overflow: ellipsis;
-						display: -webkit-box;
-						-webkit-line-clamp: 2;
-						-webkit-box-orient: vertical;
-
-						font-size: 28rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #585b61;
-						line-height: 36rpx;
-					}
-
-					.date {
-						display: flex;
-						align-items: center;
-
-						.icon {
-							width: 21rpx;
-							height: 21rpx;
-							margin-right: 9rpx;
-						}
-
-						font-size: 26rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #a6abb5;
-					}
-				}
-
-				.img {
-					flex-shrink: 0;
-					width: 252rpx;
-					height: 160rpx;
-					border-radius: 20rpx;
-					background-color: #82848a;
-				}
-			}
-		}
-	}
-</style>

+ 0 - 661
pages/home/orgservicepersonhome.vue

@@ -1,661 +0,0 @@
-<template>
-	<view class="container">
-		<!-- 头部 start -->
-		<view class="head">
-			<u-navbar :is-fixed="false" :border-bottom="false" :is-back="false" title=""
-				:background="{ background: '#0BB9C8' }">
-				<view class="nav-wrap">
-					<!-- 				<picker mode="selector" :range="positionArr" range-key="name" @change="changePicker"
-						class="picker-box">
-						{{ position }}
-						<u-icon name="arrow-down" class="arrow" size="18" color="#C9C9C9"></u-icon>
-					</picker> -->
-					<view style="width: 100%;height: auto;align-items: center;text-align: center;" v-if="!focus">
-						<text style="color: #ffffff; font-size: 20px;">运维系统</text>
-					</view>
-					<!-- 	<image src="/static/images/rider.png" class="rider" mode="widthFix" v-if="!focus"></image>
- -->
-					<!-- 		<view class="search-input" v-else>
-						<u-search height="50" placeholder="关键字" @blur="handleSearchBlur" :show-action="false"
-							v-model="keyword"></u-search>
-					</view> -->
-
-					<!-- 					<view class="tool">
-						<image src="/static/images/home/search.png" class="icon search-icon" mode="widthFix"
-							@click="handleFocus" v-if="!focus"></image>
-						<image src="/static/images/home/message.png" class="icon message-icon" mode="widthFix"></image>
-						<image src="/static/images/home/qr.png" class="icon qr-icon" mode="widthFix"></image>
-					</view> -->
-				</view>
-			</u-navbar>
-			<!-- 			<view class="head-bg"></view>
-			<swiper class="swiper-box" :indicator-dots="false" :autoplay="true" :interval="3000" :duration="1000">
-				<swiper-item v-for="(item, index) in bannerList" :key="index">
-					<navigator :url="item.url" hover-class="none" class="swiper-item">
-						<image :src="item.img" class="banner"></image>
-					</navigator>
-				</swiper-item>
-			</swiper> -->
-		</view>
-		<!-- 头部 end -->
-
-		<!-- 头部按钮 start -->
-		<view class="nav">
-			<u-grid :col="4" :border="false">
-				<u-grid-item bg-color="transparent" v-for="(item, index) in navButton" :key="index">
-					<navigator :url="item.url" hover-class="none" class="nav-item" open-type="navigate">
-						<image :src="item.img" mode="widthFix" class="nav-item-img"></image>
-						<view class="nav-item-name">{{ item.name }}</view>
-					</navigator>
-				</u-grid-item>
-			</u-grid>
-		</view>
-		<!-- 头部按钮 end -->
-		<!-- 		<view class="video-box">
-			<view class="video-body">
-				<video style="width: 640rpx; height: 480rpx;" src="/static/video/test.mp4"></video>
-
-			</view>
-			<view class="video-title" style="margin-top: 5px;">
-				<view class="text">新闻视频提要:据报道....</view>
-			</view>
-
-		</view> -->
-
-		<!-- 公告 start -->
-		<view class="notice-box">
-			<image src="/static/images/home/notice.png" class="img" mode="widthFix"></image>
-			<view class="notice-info">
-				<navigator hover-class="none" class="notice-cell" v-for="(item, index) in noticeList" :key="index">
-					<!-- 			<image :src="item.img" class="icon" mode="widthFix"></image> -->
-					<view class="text">{{item.title}}</view>
-					<u-icon name="arrow-right" size="12" color="#C9C9C9"></u-icon>
-				</navigator>
-			</view>
-		</view>
-		<!-- 公告 end -->
-
-
-		<!-- 服务按钮 start -->
-		<!-- 		<view class="service-box">
-			<u-grid :col="4" :border="false">
-				<u-grid-item bg-color="transparent" v-for="(item, index) in serviceButton" :key="index">
-					<navigator url="" hover-class="none" class="service-item">
-						<image :src="item.img" mode="widthFix" class="img"></image>
-						<view class="name">{{ item.name }}</view>
-					</navigator>
-				</u-grid-item>
-				<u-grid-item bg-color="transparent" key="8">
-					<navigator url="/pages/service/service" hover-class="none" class="service-item">
-						<image src="/static/images/home/s8.png" mode="widthFix" class="img"></image>
-						<view class="name">更多</view>
-					</navigator>
-				</u-grid-item>
-			</u-grid>
-		</view> -->
-		<!-- 服务按钮 end -->
-
-		<!-- 新闻模块 start -->
-		<view class="news">
-			<navigator hover-class="none" url="/pages/check-order/checkorderlist" class="cell">
-				<view class="ctitle">工单动态</view>
-				<view class="more">
-					更多
-					<u-icon name="arrow-right" color="#A6ABB5" size="16"></u-icon>
-				</view>
-			</navigator>
-
-			<view class="news-list">
-				<navigator url="/pages/news/detail" hover-class="none" class="news-item"
-					v-for="(item, index) in lastCheckOrderList" :key="index">
-					<view class="left">
-						<view class="info">
-							<text>{{item.orderDesc}}</text>
-						</view>
-						<view class="date">
-							<image src="/static/images/home/date.png" class="icon" mode=""></image>
-							<text>{{item.updateTime}}</text>
-						</view>
-					</view>
-					<!-- 		<image src="" mode="" class="img"></image> -->
-				</navigator>
-				<!-- 		<u-loadmore :status="status" /> -->
-			</view>
-
-		</view>
-		<!-- 新闻模块 end -->
-
-		<view class="news">
-			<navigator hover-class="none" url="/pages/equipment-inspection/equipmentinspectionplanlist" class="cell">
-				<view class="ctitle">巡检动态</view>
-				<view class="more">
-					更多
-					<u-icon name="arrow-right" color="#A6ABB5" size="16"></u-icon>
-				</view>
-			</navigator>
-
-			<view class="news-list">
-				<navigator url="/pages/news/detail" hover-class="none" class="news-item"
-					v-for="(item, index) in lastEquipmentInspectionList" :key="index">
-					<view class="left">
-						<view class="info">
-							<text>{{item.reportDesc}}</text>
-						</view>
-						<view class="date">
-							<image src="/static/images/home/date.png" class="icon" mode=""></image>
-							<text>{{item.createTime}}</text>
-						</view>
-					</view>
-					<!-- 		<image src="" mode="" class="img"></image> -->
-				</navigator>
-				<!-- 		<u-loadmore :status="status" /> -->
-			</view>
-
-		</view>
-		
-	</view>
-</template>
-
-<script>
-
-	import {
-		fakePosition,
-		fakeBannerList,
-		fakeNavButton,
-		fakeServiceButton
-	} from "@/api/mock/home.js";
-	import http from '@/http/api.js';
-	export default {
-			components: {
-			
-			},
-		data() {
-			return {
-				position: '',
-				positionArr: [],
-				status: 'loadmore',
-				list: 15,
-				page: 0,
-				keyword: '',
-				focus: false,
-				bannerList: [],
-				noticeList: [],
-				warningList: [],
-				newsList: [{}, {}],
-				navButton: [],
-				serviceButton: [],
-				lastCheckOrderList: [],
-				lastEquipmentInspectionList: [],
-			};
-		},
-		onLoad() {
-
-			// 后续将改为与后端联动
-			// 加载banner数据
-			fakePosition().then(data => {
-				this.position = data.position;
-				this.positionArr = data.positionArr;
-			});
-			// 加载banner数据
-			fakeBannerList().then(data => {
-				this.bannerList = data;
-			});
-			// 加载通知公告数据
-			// fakeNoticeList().then(data => {
-			// 	this.noticeList = data;
-			// });
-
-			// const noticeListTmp = [{
-			// 	id: '1',
-			// 	title: '2022年度巡检计划已经发布'
-			// }];
-
-			// this.noticeList = noticeListTmp;
-             this.getLastNotice();
-             this.getLastCheckOrder();
-			 this.getLastEquipmentInspectionReport();
-
-			// const lastCheckOrderListTmp = [{
-			// 	id: '1',
-			// 	processDesc: '河道 45222222维修工单创建',
-			// 	reportDate: '2022年8月20日 12时'
-			// }];
-
-			// this.lastCheckOrderList=lastCheckOrderListTmp;
-
-
-			// const lastEquipmentInspectionListTmp = [{
-			// 	id: '1',
-			// 	equipmentInspectionDesc: '测站河道 45222222 已经完成巡检填报',
-			// 	reportDate: '2022年8月20日 15时'
-			// }];
-
-			// this.lastEquipmentInspectionList=lastEquipmentInspectionListTmp;
-
-
-			// 加载顶部按钮数据
-			fakeNavButton().then(data => {
-				this.navButton = data;
-			});
-			// 加载服务按钮数据
-			fakeServiceButton().then(data => {
-				this.serviceButton = data;
-			});
-		},
-		onReachBottom() {
-			// 后续将改为与后端联动
-			if (this.page >= 3) return;
-			this.status = 'loading';
-			this.page = ++this.page;
-			setTimeout(() => {
-				this.list += 10;
-				if (this.page >= 3) this.status = 'nomore';
-				else this.status = 'loading';
-				this.newsList.push(...[{}, {}]);
-			}, 2000);
-		},
-		methods: {
-			getLastNotice(){
-				const that = this;
-				http.request({
-					url: '/galaxy-test/notice/last/list',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						const len = res.data['length'];
-						var list = [];
-						for (var i = 0; i < len; i++) {
-							let dict = res.data['' + i];
-							list.push(dict);
-						}
-						that.noticeList = list;
-					}
-				
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getLastCheckOrder() {
-				const that = this;
-				http.request({
-					url: '/galaxy-test/rtu/check/order/last/list',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						const len = res.data['length'];
-						var list = [];
-						for (var i = 0; i < len; i++) {
-							let dict = res.data['' + i];
-							list.push(dict);
-						}
-						that.lastCheckOrderList = list;
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-			},
-			getLastEquipmentInspectionReport() {
-				const that = this;
-				http.request({
-					url: '/galaxy-test/equipment/inspection/report/last/list',
-					method: 'GET'
-				}).then(res => {
-					console.log(res.data)
-					if (res.data != null) {
-						const len = res.data['length'];
-						var list = [];
-						for (var i = 0; i < len; i++) {
-							let dict = res.data['' + i];
-							list.push(dict);
-						}
-						that.lastEquipmentInspectionList = list;
-					}
-
-				}).catch(err => {
-					console.log(err)
-				})
-
-
-			},
-			changePicker(e) {
-				console.log(this.pickerArr[e.detail.value].name);
-				this.position = this.pickerArr[e.detail.value].name;
-			},
-			handleFocus() {
-				this.focus = !this.focus;
-			},
-			handleSearchBlur() {
-				this.focus = false;
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	.container {
-		background-color: #f7f7f7;
-		min-height: 100vh;
-		overflow: hidden;
-	}
-
-	.head {
-		position: relative;
-		top: 0;
-		left: 0;
-		z-index: 1;
-	}
-
-	.head-bg {
-		position: absolute;
-		left: 0px;
-		top: 0px;
-		z-index: -1;
-		width: 750rpx;
-		height: 270rpx;
-		background: #0bb9c8;
-	}
-
-	.nav-wrap {
-		width: 100%;
-		padding: 0 22rpx;
-		display: flex;
-		justify-content: space-between;
-		align-items: center;
-
-		.picker-box {
-			flex: 1;
-			display: flex;
-			align-items: center;
-			justify-content: flex-start;
-			font-size: 32rpx;
-			font-family: Microsoft YaHei;
-			font-weight: bold;
-			color: #ffffff;
-
-			.arrow {
-				margin-left: 10rpx;
-			}
-		}
-
-		.rider {
-			flex-shrink: 0;
-			width: 131rpx;
-			height: auto;
-		}
-
-		.search-input {
-			width: 300rpx;
-			height: 50rpx;
-		}
-
-		.tool {
-			flex: 1;
-			display: flex;
-			align-items: center;
-			justify-content: flex-end;
-
-			.icon {
-				height: auto;
-			}
-
-			.search-icon {
-				width: 40rpx;
-				margin-right: 34rpx;
-			}
-
-			.message-icon {
-				width: 32rpx;
-				margin-right: 27rpx;
-			}
-
-			.qr-icon {
-				width: 37rpx;
-			}
-		}
-	}
-
-	.swiper-box {
-		margin: 50rpx auto 0;
-		width: 710rpx;
-		height: 253rpx;
-
-		.swiper-item {
-			width: 100%;
-			height: 100%;
-
-			.banner {
-				width: 100%;
-				height: 100%;
-			}
-		}
-	}
-
-	.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: 26rpx;
-				font-family: PingFang SC;
-				font-weight: 400;
-				color: #585b61;
-			}
-		}
-	}
-
-
-	.video-box {
-		display: flex;
-		justify-content: flex-start;
-		flex-direction: column;
-		width: 100%;
-
-		.video-body {
-			display: flex;
-			justify-content: center;
-			flex-direction: row;
-		}
-
-		.video-title {
-			display: flex;
-			justify-content: center;
-			flex-direction: row;
-
-			.text {
-				margin-top: 10rpx;
-				margin-bottom: 10rpx;
-				width: 640rpx;
-				// flex: 1;
-				min-width: 0;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				-webkit-line-clamp: 1;
-				-webkit-box-orient: vertical;
-			}
-		}
-	}
-
-	.notice-box {
-		display: flex;
-		align-items: center;
-		background: #ffffff;
-		border-radius: 20px 20px 20px 20px;
-		margin: 0 20rpx;
-		padding: 30rpx 20rpx;
-
-		.img {
-			width: 75rpx;
-			height: auto;
-			margin-right: 36rpx;
-			margin-left: 10rpx;
-		}
-
-		.notice-info {
-			flex: 1;
-
-			.notice-cell:first-of-type {
-				margin-bottom: 15rpx;
-			}
-		}
-
-		.notice-cell {
-			display: flex;
-			align-items: center;
-			font-size: 24rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #585b61;
-
-			.icon {
-				width: 63rpx;
-				margin-right: 18rpx;
-			}
-
-			.text {
-				flex: 1;
-				min-width: 0;
-				overflow: hidden;
-				text-overflow: ellipsis;
-				display: -webkit-box;
-				-webkit-line-clamp: 1;
-				-webkit-box-orient: vertical;
-			}
-		}
-	}
-
-	.service-box {
-		background: #ffffff;
-		border-radius: 20px 20px 20px 20px;
-		margin: 30rpx 20rpx 0;
-		padding: 0rpx 20rpx;
-
-		.service-item {
-			display: flex;
-			flex-direction: column;
-			justify-content: space-between;
-			align-items: center;
-			width: 100%;
-			height: 120rpx;
-			font-size: 26rpx;
-			font-family: PingFang SC;
-			font-weight: 500;
-			color: #585b61;
-
-			.img {
-				width: 70rpx;
-				height: auto;
-			}
-		}
-	}
-
-	.news {
-		background: #ffffff;
-		border-radius: 20px 20px 20px 20px;
-		margin: 30rpx 20rpx 60rpx;
-		padding: 30rpx 20rpx;
-
-		.cell {
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-
-			.ctitle {
-				font-size: 32rpx;
-				font-family: PingFang SC;
-				font-weight: bold;
-				color: #585b61;
-			}
-
-			.more {
-				display: flex;
-				align-items: center;
-				font-size: 26rpx;
-				font-family: PingFang SC;
-				font-weight: 500;
-				color: #a6abb5;
-			}
-		}
-
-		.news-list {
-			margin-top: 30rpx;
-
-			.news-item {
-				&:not(:last-of-type) {
-					padding: 0 0 30rpx;
-					margin-bottom: 30rpx;
-					border-bottom: 1px solid #eeeeee;
-				}
-
-				display: flex;
-				align-items: center;
-				justify-content: space-between;
-
-				.left {
-					flex: 1;
-					height: 160rpx;
-					display: flex;
-					flex-direction: column;
-					justify-content: space-around;
-
-					.info {
-						min-width: 0;
-						overflow: hidden;
-						text-overflow: ellipsis;
-						display: -webkit-box;
-						-webkit-line-clamp: 2;
-						-webkit-box-orient: vertical;
-
-						font-size: 28rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #585b61;
-						line-height: 36rpx;
-					}
-
-					.date {
-						display: flex;
-						align-items: center;
-
-						.icon {
-							width: 21rpx;
-							height: 21rpx;
-							margin-right: 9rpx;
-						}
-
-						font-size: 26rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #a6abb5;
-					}
-				}
-
-				.img {
-					flex-shrink: 0;
-					width: 252rpx;
-					height: 160rpx;
-					border-radius: 20rpx;
-					background-color: #82848a;
-				}
-			}
-		}
-	}
-</style>

+ 147 - 0
pages/home/region.vue

@@ -0,0 +1,147 @@
+<!--
+ * @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>
+		<view class="container">
+			<uni-list>
+				<uni-list-item v-for="item in list" :key="item.id">
+					<template v-slot:body>
+						<view class="list-item-block">
+							<view class="items-line">
+								<text class="item-title-rtu-name">{{item.dangerAreaName}}</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">{{item.adnm}}</text>
+							</view>
+							<view class="item-button-group">
+								<view class="item-button" @click="toMap(item)">
+									<view class="items-line">
+										<uni-icons class="input-uni-icon" type="phone" 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 :pageSize="pageSize" :current="pageCurrent" :total="total"
+						@change="pageChange" />
+				</view>
+			</uni-group>
+		</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: {
+
+		},
+		onLoad(options) {
+			this.id = options.id;
+			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
+			this.getPage();
+		},
+		data() {
+			return {
+				title: '地图测试',
+				pageSize: 10,
+				pageCurrent: 1,
+				total: 0,
+				list: [],
+				query: {},
+			}
+		},
+		computed: {
+
+		},
+		onShow() {
+
+		},
+		created() {
+
+		},
+		methods: {
+
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			toMap(item){
+				let url = '/pages/home/regionmap?id=' + item.id;
+				uni.navigateTo({
+					url: url
+				})
+			},
+			// 分页触发
+			pageChange(e) {
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			getPage(params = {}) {
+
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				let postData = Object.assign(params, this.query);
+				let that = this;
+				http.request({
+					url: '/galaxy-business/map/region/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+					},
+					data: postData,
+				}).then(res => {
+					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);
+	} */
+	.uni-body {
+		font-size: 0.7rem;
+	}
+</style>

+ 168 - 0
pages/home/regionmap.vue

@@ -0,0 +1,168 @@
+<!--
+ * @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>
+		<view class="page-body">
+			<view class="page-section page-section-gap">
+				<map style="width: 100%; height: 600px;" :latitude="latitude" :longitude="longitude" :markers="markets"
+					enable-zoom="true" :polygons="polygons" :scale="scale">
+				</map>
+			</view>
+
+			<!-- 			<view class="item-button-group">
+				<view v-for="item in areaList" :key="item.id" class="item-button" @click="onAreaClick(item)">
+					<view class="items-line">
+						<uni-icons class="input-uni-icon" type="close" size="18" color="coral" />
+						<text class="button-text">{{ item.name }}</text>
+					</view>
+				</view>
+			</view> -->
+		</view>
+	</view>
+</template>
+<!-- <script src="../../static/js/gcoord.global.prod.js" type="module"></script> -->
+<script>
+	import {
+		gcoord
+	} from '@/static/js/gcoord.global.prod.js'
+	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: {
+
+		},
+		onLoad(options) {
+			this.id = options.id;
+			this.baseURL = process.env.NODE_ENV === 'development' ? devUrl : prodUrl;
+			let that = this;
+			let postData = {};
+			postData['id'] = this.id;
+			http.request({
+				url: '/galaxy-business/map/region/detail',
+				method: 'GET',
+				data: postData
+			}).then(res => {
+				console.log(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;
+					let dashArray = [];
+					dashArray.push(4);
+					dashArray.push(10);
+					p['dashArray'] = dashArray;
+					
+			        p['strokeWidth'] = 2;
+					p['strokeColor'] = '#EE1ADC';
+						//p['fillColor'] = '#FAC8587D';
+					
+					that.polygons.push(p);
+					let c = gcoord.transform(
+						[res.data.centerPointLng, res.data.centerPointLat],
+						gcoord.WGS84,
+						gcoord.GCJ02
+					);
+					console.log(c)
+					that.latitude = c[1];
+					that.longitude = c[0];
+
+				
+				
+					that.scale = 8;
+				}
+			}).catch(err => {
+				console.log(err)
+			})
+		},
+		data() {
+			return {
+				title: '地图测试',
+				id: 0,
+				title: 'map',
+				areaList: [],
+				areaIndex: 0,
+				latitude: 40.848119,
+				longitude: 111.755426,
+				zoom: true,
+				scale: 8,
+				markets: [],
+				polygons: [],
+			}
+		},
+		computed: {
+
+		},
+		onShow() {
+
+		},
+		created() {
+
+		},
+		methods: {
+			toOss(path) {
+				return oss + path;
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onAreaClick(item) {
+				let p = {};
+				p['points'] = item.data;
+				let dashArray = [];
+				dashArray.push(10);
+				dashArray.push(10);
+				p['dashArray'] = dashArray;
+				p['strokeColor'] = '#FFF';
+				p['fillColor'] = '#A500337D';
+				this.polygons = [];
+				this.polygons.push(p);
+				let center = item.center;
+				this.latitude = center[1];
+				this.longitude = center[0];
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+	.uni-body {
+		font-size: 0.7rem;
+		
+	}
+</style>

+ 210 - 0
pages/home/start/start.vue

@@ -0,0 +1,210 @@
+<template>
+	<view style="padding-top: 20px;">
+		<uni-card title="运维系统">
+			<uni-row>
+				<uni-col :span="14">
+					<view style="height: 160px;width: 100%;margin-bottom: 10px;align-items: center;overflow:hidden">
+						<image class="yj-img" :src="ywxtImgUrl" mode="heightFix"></image>
+					</view>
+				</uni-col>
+				<uni-col :span="10">
+					<view class="tag">
+						<view>
+							<uni-tag :inverted="true" text="维修直填报" type="primary" />
+						</view>
+						<view>
+							<uni-tag :inverted="true" text="设备巡检" type="primary" />
+						</view>
+						<view>
+							<uni-tag :inverted="true" text="站点管理" type="primary" />
+						</view>
+						<view>
+							<uni-tag :inverted="true" text="统计" type="primary" />
+						</view>
+						<view>
+							<uni-tag :inverted="true" text="通讯录" type="primary" />
+						</view>
+					</view>
+				</uni-col>
+			</uni-row>
+
+
+			<view class="yw-button" @click="onYwxtClick()">
+				<view class="btn-items">
+					<uni-icons class="input-uni-icon" type="info" size="18" color="coral" />
+					<text>进入运维系统</text>
+					<uni-icons class="input-uni-icon" type="arrow-right" size="18" color="white" />
+				</view>
+			</view>
+		</uni-card>
+		<uni-card title="应急系统">
+			<uni-row>
+				<uni-col :span="14">
+					<view style="height: 160px;width: 100%;margin-bottom: 10px;align-items: center;overflow:hidden">
+						<image class="yj-img" :src="yjxtImgUrl" mode="heightFix"></image>
+					</view>
+				</uni-col>
+				<uni-col :span="10">
+					<view class="tag">
+						<view>
+							<uni-tag :inverted="true" text="群众注册" type="primary" />
+						</view>
+						<view>
+							<uni-tag :inverted="true" text="监测预警" type="primary" />
+						</view>
+						<view>
+							<uni-tag :inverted="true" text="危险区动态管理" type="primary" />
+						</view>
+						<view>
+							<uni-tag :inverted="true" text="转移避险" type="primary" />
+						</view>
+						<view>
+							<uni-tag :inverted="true" text="巡查检查" type="primary" />
+						</view>
+					</view>
+				</uni-col>
+			</uni-row>
+			<view class="yj-button" @click="onYjxtClick()">
+				<view class="btn-items">
+					<uni-icons class="input-uni-icon" type="info" size="18" color="coral" />
+					<text>进入应急系统</text>
+					<uni-icons class="input-uni-icon" type="arrow-right" size="18" color="white" />
+
+				</view>
+			</view>
+		</uni-card>
+
+	</view>
+</template>
+
+<script>
+	import {
+		img
+	} from '@/common/setting';
+
+	export default {
+		data() {
+			return {
+				ywxtImgUrl: img + 'ywxt.png',
+				yjxtImgUrl: img + 'yjxt.png',
+			}
+		},
+		computed: {
+
+		},
+		created(){
+
+		},
+		methods: {
+			onYwxtClick() {
+	
+				uni.setStorageSync("SubSystemSelectInfo", {
+					ywxt: 1,
+					yjxt: 0,
+				});
+				uni.switchTab({
+					url: '/pages/home/home'
+				})
+			},
+			onYjxtClick() {
+	
+				uni.setStorageSync("SubSystemSelectInfo", {
+					ywxt: 0,
+					yjxt: 1,
+				});
+				uni.switchTab({
+					url: '/pages/home/home'
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.tag {
+		display: flex;
+		flex-direction: row;
+		justify-content: flex-start;
+		align-items: center;
+		margin-bottom: 10px;
+		padding-left: 10px;
+		flex-wrap: wrap;
+
+		view {
+			margin: 5px;
+		}
+	}
+
+	.yw-button {
+		display: flex;
+		flex-direction: column;
+		justify-content: center;
+		width: 60%;
+		height: 40px;
+		margin-left: 5px;
+		margin-top: 3px;
+		margin-bottom: 3px;
+		border-radius: 20px;
+		background-color: mediumpurple;
+		padding-left: 20px;
+
+
+
+		.btn-items {
+			display: flex;
+			flex-direction: row;
+			justify-content: flex-start;
+			align-items: center;
+
+			text {
+				margin-left: 5px;
+				margin-right: 5px;
+				color: white;
+				font-size: 0.6rem;
+			}
+		}
+	}
+
+	.yw-button:active {
+		background-color: plum;
+	}
+
+	.yj-img {
+		flex-shrink: 0;
+		width: auto;
+		height: 160px;
+	}
+
+	.yj-button {
+		display: flex;
+		flex-direction: row;
+		justify-content: start;
+		width: 60%;
+		height: 40px;
+		margin-left: 5px;
+		margin-top: 3px;
+		margin-bottom: 3px;
+		border-radius: 20px;
+		background-color: mediumpurple;
+		padding-left: 20px;
+
+		.btn-items {
+			display: flex;
+			flex-direction: row;
+			justify-content: flex-start;
+			align-items: center;
+
+			text {
+				margin-left: 5px;
+				margin-right: 5px;
+				color: white;
+				font-size: 0.6rem;
+			}
+		}
+
+	}
+
+	.yj-button:active {
+		background-color: plum;
+	}
+</style>

+ 35 - 21
pages/login/login-account.vue

@@ -2,9 +2,11 @@
 	<view class="container">
 		<view class="content">
 			<view class="top">
-				<image src="/static/images/logo_login.png" class="logo" mode="widthFix"></image>
-				<view style="width: 100%;text-align: center;margin-bottom: 100rpx;">
-					<text style="font-size: 32rpx;">
+				<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: 32rpx;margin-top: 5rpx;">
 						山洪灾害预警监测平台运维系统
 					</text>
 				</view>
@@ -16,9 +18,7 @@
 					</view>
 				</view>
 				<view class="cell">
-
 					<view class="input-box">
-
 						<uIcons type="locked" size="30"></uIcons>
 						<input type="password" v-model="password" placeholder="请输入密码" class="ipt"
 							placeholder-class="hold" @blur="handleInputCheck" />
@@ -30,10 +30,10 @@
 					<text class="a">《隐私政策》</text>
 				</view> -->
-
 				<!-- <view class="tip">未注册用户验证后将自动注册并登录</view> -->
 				<view class="cell">
-					<view style="margin-top: 30rpx;margin-right:24rpx;display: flex;justify-content: flex-end;flex-direction:row;">
+					<view
+						style="margin-top: 30rpx;margin-right:24rpx;display: flex;justify-content: flex-end;flex-direction:row;">
 						<checkbox-group @change="checkboxChange">
 							<label style="font-size: 24rpx;">
 								<checkbox value="rememberPw" :checked="rememberPw" />记住密码
@@ -64,11 +64,11 @@
 <script>
 	import md5 from '@/utils/md5.js'
 	import uIcons from '@/uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
-import {
-	devUrl,
-	prodUrl,
-	contentType
-} from '@/common/setting'
+	import {
+		devUrl,
+		prodUrl,
+		contentType
+	} from '@/common/setting'
 	export default {
 		components: {
 			uIcons,
@@ -83,8 +83,25 @@ import {
 			};
 		},
 		onLoad() {
-			var userLoginInfo = uni.getStorageSync("userLoginInfo");
-			if (null != userLoginInfo && "" != userLoginInfo) {
+			console.log("login+++")
+			// uni.getPushClientId({
+			// 		success: (res) => {
+			// 			console.log("id11111111111 "+res.cid);
+			// 		},
+			// 		fail(err) {
+			// 			console.log(err)
+			// 		}
+			// 	})
+			// uni.getLocation({
+			// 	type: 'gcj02',
+			// 	geocode: true,
+			// 	success: function (res) {
+			// 		console.log('当前位置:' + JSON.stringify(res));
+			// 	}
+			// });
+				
+			let userLoginInfo = uni.getStorageSync("userLoginInfo");
+			if (userLoginInfo) {
 				this.rememberPw = true;
 				this.disabled = false;
 				this.username = userLoginInfo.username;
@@ -93,10 +110,8 @@ import {
 		},
 		methods: {
 			submit() {
-
 				this.$u.api.token(this.tenantId, this.username, md5(this.password)).then(data => {
-					var dt = new Date();
-
+					let dt = new Date();
 					uni.setStorageSync("loginTime", dt.getTime());
 					if (this.rememberPw) {
 						uni.setStorageSync("userLoginInfo", {
@@ -110,7 +125,7 @@ import {
 				}).catch(err => {
 					console.log(err)
 					this.$u.func.showToast({
-						title: '用户名或密码错误'+err,
+						title: '用户名或密码错误' + err,
 					})
 				})
 			},
@@ -118,7 +133,7 @@ import {
 				this.disabled = false
 			},
 			checkboxChange: function(e) {
-				var values = e.detail.value;
+				let values = e.detail.value;
 				if (values.length > 0) {
 					this.rememberPw = true;
 				} else {
@@ -147,7 +162,6 @@ import {
 		flex-direction: column;
 		justify-content: center;
 		align-items: center;
-
 		height: 90vh;
 		width: 100%;
 
@@ -157,7 +171,7 @@ import {
 
 		.logo {
 			display: block;
-			width: 128rpx;
+			width: 160rpx;
 			height: auto;
 			margin: 0 auto 40rpx;
 		}

+ 0 - 22
pages/manage/building.vue

@@ -1,22 +0,0 @@
-<template>
-	<view class="container">
-		<page-nav :desc="desc" :title="title"></page-nav>
-		<view class="u-demo">
-			<view class="u-demo-wrap">
-				<view class="u-demo-title">正在开发中</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				data: {},
-				title: '决策管理',
-				desc: ''
-			};
-		},
-	}
-</script>

+ 0 - 139
pages/manage/manage.vue

@@ -1,139 +0,0 @@
-<template>
-	<view class="container">
-		<u-navbar :is-fixed="false" :border-bottom="false" :is-back="false" title="管理"
-			:background="{ background: '#0BB9C8' }" title-color="#fff">
-			<image slot="right" src="/static/images/home/message.png" class="message-icon" mode="widthFix"></image>
-		</u-navbar>
-
-		<view class="tab">
-			<u-tabs :list="list" :is-scroll="false" :current="current" active-color="#14B9C8" inactive-color="#595959"
-				height="100" @change="change"></u-tabs>
-		</view>
-
-		<swiper id="swiperBox" :style="{ height: swiperHeight + 'px' }" :current="current" @change="tabsChange">
-			<swiper-item class="swiper-item" v-for="(item, index) in list" :key="index">
-				<scroll-view scroll-y style="width: 100%;height: 100%;" @scrolltolower="onreachBottom">
-					<view class="content">
-						<u-grid :col="3">
-							<u-grid-item v-for="(_item, _index) in gridList" :key="_index">
-								<navigator url="" hover-class="none" class="gitem">
-									<image :src="_item.img" class="img" mode="widthFix"></image>
-									<view class="name">{{ _item.name }}</view>
-								</navigator>
-							</u-grid-item>
-						</u-grid>
-					</view>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				swiperHeight: 0,
-				list: [{
-						name: '常用'
-					},
-					{
-						name: '系统'
-					},
-					{
-						name: '部门'
-					}
-				],
-				current: 0,
-				gridList: [{
-						name: '常规',
-						img: '/static/images/manage/g1.png'
-					},
-					{
-						name: '权限',
-						img: '/static/images/manage/g2.png'
-					},
-					{
-						name: '角色',
-						img: '/static/images/manage/g3.png'
-					},
-					{
-						name: '用户',
-						img: '/static/images/manage/g4.png'
-					},
-					{
-						name: '分类',
-						img: '/static/images/manage/g5.png'
-					},
-					{
-						name: '公告',
-						img: '/static/images/manage/g6.png'
-					}
-				]
-			};
-		},
-		onReady() {
-			let that = this;
-			uni.getSystemInfo({
-				success(e) {
-					console.log(e);
-					let {
-						windowWidth,
-						windowHeight,
-						safeArea
-					} = e;
-					const query = uni.createSelectorQuery().in(that);
-					query
-						.select('#swiperBox')
-						.boundingClientRect(data => {
-							that.swiperHeight = safeArea.bottom - data.top;
-						})
-						.exec();
-				}
-			});
-		},
-		methods: {
-			tabsChange(e) {
-				this.current = e.detail.current;
-			},
-			change(index) {
-				this.current = index;
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	.swiper-box {
-		height: 100vh;
-	}
-
-	.message-icon {
-		width: 32rpx;
-		height: auto;
-		margin-right: 27rpx;
-	}
-
-	.tab {
-		margin-bottom: 10rpx;
-	}
-
-	.gitem {
-		display: flex;
-		align-items: center;
-		justify-content: center;
-		flex-direction: column;
-
-		.img {
-			width: 54rpx;
-			height: auto;
-			margin-bottom: 26rpx;
-		}
-
-		font-size: 28rpx;
-		font-family: PingFang SC;
-		font-weight: bold;
-		color: #030305;
-		line-height: 36rpx;
-	}
-</style>

+ 7 - 55
pages/news/detail.vue

@@ -1,32 +1,11 @@
 <template>
 	<view class="container">
-		<!-- 	<u-navbar :is-fixed="false" :border-bottom="false" :is-back="true" back-icon-name="arrow-leftward" title="新闻详情页"
-			:background="{ background: '#fff' }" title-color="#000000">
-			<view class="right-nav" slot="right">
-				<image src="/static/images/news/search.png" class="icon icon-search" mode="widthFix"></image>
-				<image src="/static/images/news/menu.png" class="icon icon-menu" mode="widthFix"></image>
-			</view>
-		</u-navbar> -->
 		<uni-nav-bar dark :fixed="true" backgroundColor="#3F9EFF" statusBar="false" left-icon="left" left-text="返回"
-			@clickLeft="toBack" >
+			@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>
-		<!-- <u-gap height="75px"></u-gap> -->
-
-		<!-- 	<view class="header">
-			<image src="" class="avatar" mode=""></image>
-			<view class="info">
-				<view class="name">
-					中国空间站
-					<text class="tag">专栏作家</text>
-				</view>
-				<view class="date">06-17</view>
-			</view>
-			<view class="btn">+关注</view>
-		</view> -->
-
 		<view class="content" style="margin-top: 10px;">
 			<view class="title">
 				{{noticeInfo.title}}
@@ -35,45 +14,18 @@
 				<view class="left">
 					<view class="block">
 						{{noticeInfo.releaseTime}}
-						<!-- 		<image src="/static/images/news/gf.png" class="gf"></image>
-						官方 -->
 					</view>
-					<!-- 			<view class="block">
-						<image src="/static/images/news/x.png" class="gf"></image>
-						焦点新闻
-					</view> -->
 				</view>
-				<!-- 			<view class="right">
-					<image src="/static/images/news/l.png" class="l" mode="widthFix"></image>
-					66666
-				</view> -->
 			</view>
 			<view class="detail">
 				<u-parse :html="noticeInfo.content"></u-parse>
 			</view>
 		</view>
-
-		<!-- 		<view class="footer">
-			<input type="text" value="" placeholder="说点什么..." class="ipt" />
-			<view class="control">
-				<view class="block">
-					<image src="/static/images/news/c.png" class="icon c" mode="widthFix"></image>
-					458
-				</view>
-				<view class="block">
-					<image src="/static/images/news/s.png" class="icon s" mode="widthFix"></image>
-				</view>
-				<view class="block">
-					<image src="/static/images/news/t.png" class="icon t" mode="widthFix"></image>
-				</view>
-			</view>
-		</view> -->
 	</view>
 </template>
 
-
 <script>
-		import http from '@/http/api.js';
+	import http from '@/http/api.js';
 	export default {
 		data() {
 			return {
@@ -90,7 +42,7 @@
 			console.log(options.id)
 			this.getNotice(options.id);
 		},
-		methods:{
+		methods: {
 			toBack() {
 				uni.navigateBack({
 					delta: 1
@@ -99,17 +51,17 @@
 			getNotice(id) {
 				const that = this;
 				http.request({
-					url: '/galaxy-test/notice/detail',
+					url: '/galaxy-business/notice/detail',
 					method: 'GET',
 					params: {
-						'id':id,
+						'id': id,
 					},
 				}).then(res => {
 					console.log(res.data)
 					if (res.data != null) {
-					     that.noticeInfo=res.data; 
+						that.noticeInfo = res.data;
 					}
-			
+
 				}).catch(err => {
 					console.log(err)
 				})

+ 0 - 260
pages/news/list.vue

@@ -1,260 +0,0 @@
-<template>
-	<view class="container">
-		<u-navbar :is-fixed="false" :border-bottom="false" :is-back="true" back-icon-name="arrow-leftward"
-			back-icon-color="#fff" back-icon-size="35" title="新闻动态" :background="{ background: '#0BB9C8' }"
-			title-color="#fff">
-			<image slot="right" src="/static/images/home/message.png" class="message-icon" mode="widthFix"></image>
-		</u-navbar> -->
-		
-
-
-	<view class="tab">
-			<u-tabs :list="tabs" :is-scroll="false" :current="current" active-color="#14B9C8" inactive-color="#595959"
-				height="100" @change="change"></u-tabs>
-		</view>
-
-		<swiper id="swiperBox" :style="{ height: swiperHeight + 'px' }" :current="current" @change="tabsChange">
-			<swiper-item class="swiper-item" v-for="(pitem, pindex) in tabs" :key="pindex">
-				<scroll-view scroll-y style="width: 100%;height: 100%;" refresher-enabled
-					:refresher-triggered="pitem.triggered" @scrolltolower="onreachBottom"
-					@refresherrefresh="refresherrefresh(pindex)" @refresherrestore="refresherrestore(pindex)"
-					@refresherabort="refresherabort(pindex)">
-					<view class="content">
-						<navigator class="news" v-for="(item, index) in contentList[pindex].list" :key="index"
-							url="/pages/news/detail" hover-class="none">
-							<view class="head">
-								<image src="" class="avatar" mode=""></image>
-								<view class="info">
-									<view class="name">
-										中国空间站
-										<text class="tag">专栏作家</text>
-									</view>
-									<view class="date">06-11</view>
-								</view>
-								<u-icon name="arrow-right" size="35" color="#C5C5C5"></u-icon>
-							</view>
-							<view class="des">
-								神舟十二号载人发射任务取得圆满成功。
-							</view>
-						</navigator>
-						<view class="nomore">
-							<u-loadmore :status="contentList[pindex].status" />
-						</view>
-					</view>
-				</scroll-view>
-			</swiper-item>
-		</swiper>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				swiperHeight: 0,
-				tabs: [{
-						name: '互动',
-						triggered: false,
-						_triggered: false
-					},
-					{
-						name: '动态',
-						triggered: false,
-						_triggered: false
-					},
-					{
-						name: '通知',
-						triggered: false,
-						_triggered: false
-					}
-				],
-				contentList: [{
-						list: 8,
-						page: 1,
-						status: 'loadmore'
-					},
-					{
-						list: 8,
-						page: 1,
-						status: 'loadmore'
-					},
-					{
-						list: 8,
-						page: 1,
-						status: 'loadmore'
-					}
-				],
-				current: 0
-			};
-		},
-		onLoad() {},
-		onReady() {
-			let that = this;
-			uni.getSystemInfo({
-				success(e) {
-					console.log(e);
-					let {
-						windowWidth,
-						windowHeight,
-						safeArea
-					} = e;
-					const query = uni.createSelectorQuery().in(that);
-					query
-						.select('#swiperBox')
-						.boundingClientRect(data => {
-							that.swiperHeight = safeArea.bottom - data.top;
-						})
-						.exec();
-				}
-			});
-		},
-		onPullDownRefresh() {
-			setTimeout(() => {
-				uni.stopPullDownRefresh();
-			}, 1500);
-		},
-		methods: {
-			tabsChange(e) {
-				this.current = e.detail.current;
-			},
-			refresherrefresh(index) {
-				console.log('自定义下拉刷新被触发');
-				let _this = this;
-				if (_this.tabs[index]._triggered) {
-					return;
-				}
-				_this.tabs[index]._triggered = true;
-				//界面下拉触发,triggered可能不是true,要设为true
-				if (!_this.tabs[index].triggered) {
-					_this.tabs[index].triggered = true;
-				}
-
-				setTimeout(() => {
-					_this.tabs[index].triggered = false; //触发onRestore,并关闭刷新图标
-					_this.tabs[index]._triggered = false;
-				}, 1000);
-			},
-			refresherrestore(index) {
-				console.log('自定义下拉刷新被复位');
-				let _this = this;
-				_this.tabs[index].triggered = false;
-				_this.tabs[index]._triggered = false;
-			},
-			refresherabort(index) {
-				console.log('自定义下拉刷新被中止	');
-				let _this = this;
-				_this.tabs[index].triggered = false;
-				_this.tabs[index]._triggered = false;
-			},
-			// scroll-view到底部加载更多
-			onreachBottom() {
-				let current = this.current;
-				if (this.contentList[current].page >= 3) return;
-				this.contentList[current].status = 'loading';
-				setTimeout(() => {
-					this.contentList[current].page = ++this.contentList[current].page;
-					this.contentList[current].list += 10;
-					if (this.contentList[current].page >= 3)
-						this.contentList[current].status = 'nomore';
-					else this.contentList[current].status = 'loading';
-				}, 2000);
-			},
-			change(index) {
-				this.current = index;
-			}
-		}
-	};
-</script>
-
-<style lang="scss">
-	.message-icon {
-		width: 32rpx;
-		height: auto;
-		margin-right: 27rpx;
-	}
-
-	.tab {
-		margin: 0 0 10rpx;
-		border-bottom: 1px solid #e4e7ed;
-	}
-
-	.content {
-		padding: 0 0 150rpx;
-
-		.news {
-			&:not(:last-of-type) {
-				border-bottom: 2rpx solid #e4e7ed;
-			}
-		}
-	}
-
-	.nomore {
-		padding: 30rpx 20rpx;
-	}
-
-	.news {
-		margin: 30rpx 30rpx 0;
-		padding: 0 0 30rpx;
-
-		.head {
-			display: flex;
-
-			.avatar {
-				flex-shrink: 0;
-				width: 69rpx;
-				height: 69rpx;
-				background: #ffffff;
-				border: 1px solid #14b9c8;
-				border-radius: 50%;
-			}
-
-			.info {
-				flex: 1;
-				margin-left: 14rpx;
-
-				.name {
-					display: flex;
-					align-items: center;
-					font-size: 28rpx;
-					font-family: PingFang SC;
-					font-weight: bold;
-					color: #000000;
-					line-height: 36rpx;
-
-					.tag {
-						margin-left: 15rpx;
-						display: inline-block;
-						padding: 8rpx 10rpx;
-						font-size: 14rpx;
-						font-family: PingFang SC;
-						font-weight: 500;
-						color: #4cbeca;
-						line-height: 21rpx;
-						border: 1px solid #0bb9c8;
-						border-radius: 6px;
-					}
-				}
-
-				.date {
-					font-size: 24rpx;
-					font-family: PingFang SC;
-					font-weight: 500;
-					color: #a3a3a3;
-					line-height: 36rpx;
-				}
-			}
-		}
-
-		.des {
-			margin-top: 40rpx;
-			font-size: 30rpx;
-			font-family: PingFang SC;
-			color: #000000;
-			line-height: 47rpx;
-		}
-	}
-
-	.swiper-box {
-		height: 100vh;
-	}
-</style>

+ 8 - 89
pages/news/noticelist.vue

@@ -15,28 +15,14 @@
 </template>
 
 <script>
-	import uLoadMore from '@/uview-ui/components/u-loadmore/u-loadmore.vue'
-	import uList from '@/uni_modules/uni-list/components/uni-list/uni-list.vue'
-	import uListItem from '@/uni_modules/uni-list/components/uni-list-item/uni-list-item.vue'
-	import uNavBar from '@/uni_modules/uni-nav-bar/components/uni-nav-bar/uni-nav-bar.vue'
-	import uniDataPicker from '@/uni_modules/uni-data-picker/components/uni-data-picker/uni-data-picker.vue'
-	import uGroup from '@/uni_modules/uni-group/uni-group.vue'
-	import uniSection from '@/uni_modules/uni-section/uni-section.vue'
-	import pageNav from '@/components/page-nav/page-nav.vue';
-	import uniTable from '@/uni_modules/uni-table/components/uni-table/uni-table.vue'
-	import uniPagination from '@/uni_modules/uni-pagination/components/uni-pagination/uni-pagination.vue'
-	import uniBreadcrumb from '@/uni_modules/uni-breadcrumb/components/uni-breadcrumb/uni-breadcrumb.vue'
+
 	import http from '@/http/api.js';
 	export default {
 		components: {
-			uList,
-			uListItem,
-			uNavBar,
-			uLoadMore,
 		},
 		data() {
 			return {
-				title: '公告消息',
+				title: '通知公告消息',
 				status: 'more',
 				pageCurrent: 1,
 				pageSize: 10,
@@ -48,68 +34,19 @@
 			this.getNotice();
 		},
 		onReady() {
-			//let that = this;
-			// uni.getSystemInfo({
-			// 	success(e) {
-			// 		console.log(e);
-			// 		let {
-			// 			windowWidth,
-			// 			windowHeight,
-			// 			safeArea
-			// 		} = e;
-			// 		const query = uni.createSelectorQuery().in(that);
-			// 		query
-			// 			.select('#swiperBox')
-			// 			.boundingClientRect(data => {
-			// 				that.swiperHeight = safeArea.bottom - data.top;
-			// 			})
-			// 			.exec();
-			// 	}
-			// });
-
 		},
 		onPullDownRefresh() {
-			// uni.showToast({
-			// 	icon: 'none',
-			// 	title: "当前状态:" + this.status
-			// })
-			// setTimeout(() => {
-			// 	uni.stopPullDownRefresh();
-			// }, 1500);
 		},
 		onReachBottom() {
-			// uni.showToast({
-			// 	icon: 'none',
-			// 	title: "当前状态:" + this.status
-			// })
 			if (this.totalCount > this.noticeList.length) {
-
 				this.status = 'loading';
-
 				setTimeout(() => {
-
 					this.pageCurrent++
-
 					this.getNotice(); //执行的方法
-
 				}, 1000)
-
 			} else { //停止加载
-
 				this.status = 'noMore';
-
 			}
-
-			// 后续将改为与后端联动
-			// if (this.page >= 3) return;
-			// this.status = 'loading';
-			// this.page = ++this.page;
-			// setTimeout(() => {
-			// 	this.list += 10;
-			// 	if (this.page >= 3) this.status = 'nomore';
-			// 	else this.status = 'loading';
-			// 	this.newsList.push(...[{}, {}]);
-			// }, 2000);
 		},
 		methods: {
 			toBack() {
@@ -118,37 +55,22 @@
 				})
 			},
 			clickLoadMore(e) {
-				// uni.showToast({
-				// 	icon: 'none',
-				// 	title: "当前状态:" + e.detail.status
-				// })
-
-				// })
 				if (this.totalCount > this.noticeList.length) {
-
 					this.status = 'loading';
-
 					setTimeout(() => {
-
 						this.pageCurrent++
-
 						this.getNotice(); //执行的方法
-
 					}, 1000)
-
 				} else { //停止加载
-
 					this.status = 'noMore';
-
 				}
 			},
 			getNotice() {
-				const that = this;
-				const current = this.pageCurrent;
-				const size = this.pageSize;
-				//const isSubmit = '0';
+				let that = this;
+				let current = this.pageCurrent;
+				let size = this.pageSize;
 				http.request({
-					url: '/galaxy-test/notice/list',
+					url: '/galaxy-business/notice/page',
 					method: 'GET',
 					params: {
 						current,
@@ -156,7 +78,7 @@
 					},
 				}).then(res => {
 					if (res.data.records != null) {
-						for (var i = 0; i < res.data.records.length; i++) {
+						for (let i = 0; i < res.data.records.length; i++) {
 							that.noticeList.push(res.data.records[i]);
 						}
 					}
@@ -171,21 +93,18 @@
 			},
 			viewNotice() {
 				http.request({
-					url: '/galaxy-test/notice/view',
+					url: '/galaxy-business/notice/view',
 					method: 'POST',
 				}).then(res => {}).catch(err => {
 					console.log(err)
 				})
 			},
 			onNoticeItemClick(id) {
-
 				console.log('执行click事件', id)
 				uni.navigateTo({
 					url: '/pages/news/detail?id=' + id
 				})
-
 			},
-
 		}
 	};
 </script>

+ 87 - 0
pages/realdata/rtudata.vue

@@ -0,0 +1,87 @@
+<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">
+			<!-- 头部按钮 end -->
+			<uni-segmented-control :current="current" :values="items" @clickItem="onClickItem" styleType="text"
+				activeColor="#585b61"></uni-segmented-control>
+			<view class="content">
+				<view v-show="current === 0">
+					<rturaindata></rturaindata>
+				</view>
+				<view v-show="current === 1">
+					<rturiverdata></rturiverdata>
+				</view>
+				<view v-show="current === 2">
+					<rtugrounddata></rtugrounddata>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	import rtugrounddata from '@/pages/realdata/rtugrounddata.vue'
+	import rturaindata from '@/pages/realdata/rturaindata.vue'
+	import rturiverdata from '@/pages/realdata/rturiverdata.vue'
+
+	export default {
+		components: {
+			rtugrounddata,
+			rturaindata,
+			rturiverdata,
+		},
+		data() {
+			return {
+				title: '实时数据',
+				navButton: [],
+				items: ['雨情数据', '水情数据', '墒情数据'],
+				current: 0,
+			};
+		},
+		onLoad() {
+			const navBtnlist = [{
+					name: '雨情数据',
+					img: '/static/images/home/statistics.png',
+					url: '/pages/rtu-manage/rturaindata'
+				},
+				{
+					name: '水情数据',
+					img: '/static/images/home/statistics.png',
+					url: '/pages/rtu-manage/rturiverdata'
+				},
+				{
+					name: '墒情数据',
+					img: '/static/images/manage/statistics.png',
+					url: '/pages/rtu-manage/rtugrounddata'
+				}
+			];
+			this.navButton = navBtnlist;
+		},
+		onShow() {
+
+		},
+		methods: {
+			onClickItem(e) {
+				if (this.current != e.currentIndex) {
+					this.current = e.currentIndex;
+				}
+			},
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+		}
+	};
+</script>
+
+<style lang="scss">
+
+</style>

+ 277 - 0
pages/realdata/rtugrounddata.vue

@@ -0,0 +1,277 @@
+<!--
+ * @Title: 
+ * @Description: 墒情数据
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="wrap">
+		<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>
+			<uni-table ref="table" :loading="loading" border stripe type="" emptyText="暂无更多数据">
+				<uni-tr>
+					<uni-th width="120" align="center">上报时间</uni-th>
+					<uni-th align="center">测站名称</uni-th>
+					<uni-th width="120" align="center">墒情数据</uni-th>
+				</uni-tr>
+				<uni-tr v-for="item in tableData" :key="item.id">
+					<uni-td>
+						<view style="text-align: center;">{{ item.tm }}</view>
+					</uni-td>
+					<uni-td>
+						<view style="text-align: center;">
+							{{ item.rtuName }}/{{ item.rtuCode }}
+						</view>
+				
+					</uni-td>
+					<uni-td align="center">
+						<view class="uni-group">
+							<button class="uni-button" size="mini" type="default"
+								@click="onGroundInfoClick(item)">墒情</button>
+						</view>
+					</uni-td>
+				</uni-tr>
+			</uni-table>
+			<view class="pagination-block">
+				<uni-pagination :page-size="pageSize" :current="pageCurrent" :total="total" @change="pageChange"
+					prev-text="前一页" next-text="后一页" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	export default {
+		components: {},
+		onLoad(option) {
+			this.selectedIndexs = [];
+		},
+		created() {
+			this.getRegionTree();
+		},
+		data() {
+			return {
+				title: '墒情实时数据',
+				regionTree: [],
+				regionCode: '',
+				selectedTreeNode: '',
+				searchRtuNameVal: '',
+				searchRtuCodeVal: '',
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				},
+				// 每页数据量
+				pageSize: 10,
+				// 当前页
+				pageCurrent: 1,
+				// 数据总量
+				total: 0,
+				loading: false,
+				selectedIndexs: [],
+				tableData: [],
+			}
+		},
+		computed: {
+		},
+		onShow() {},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			// 分页触发
+			pageChange(e) {
+				this.$refs.table.clearSelection()
+				//this.selectedIndexs.length = 0
+				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();
+				} else {
+					this.regionCode = '';
+					this.query = {};
+					this.searchRtuNameVal = '';
+					this.searchRtuCodeVal = '';
+					this.pageCurrent = 1;
+					this.getPage();
+				}
+			},
+			//录入查询
+			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);
+					}
+				}
+			},
+			// 多选处理
+			selectedItems() {
+				return this.selectedIndexs.map(i => this.tableData[i])
+			},
+			// 多选
+			selectionChange(e) {
+				console.log(e.detail.index)
+				this.selectedIndexs = e.detail.index
+			},
+			//批量删除
+			delTable() {
+				//console.log(this.selectedItems())
+			},
+			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)
+				})
+			},
+			// 获取数据
+			getPage(params = {}) {
+				this.loading = true
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				const isSubmit = '0';
+				let postData = Object.assign(params, this.query);
+				var that = this;
+				http.request({
+					url: '/galaxy-business/rtu/data/ground/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+						isSubmit
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						that.tableData = res.data.records;
+						that.total = res.data.total;
+					}
+					this.loading = false
+				}).catch(err => {
+					console.log(err)
+					this.loading = false
+				})
+			},
+			onGroundInfoClick(item) {
+				console.log(item.id + " " + item.rtuName)
+				uni.navigateTo({
+					url: '/pages/realdata/rtugrounddatadetail?id=' + item.id
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.wrap {
+		padding: 0 0 100rpx;
+	}
+
+	.container {
+		background-color: #f7f7f7;
+		min-height: 100vh;
+		overflow: hidden;
+	}
+</style>

+ 146 - 0
pages/realdata/rtugrounddatadetail.vue

@@ -0,0 +1,146 @@
+<!--
+ * @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" status-bar left-icon="left" left-text="返回"
+			@clickLeft="toBack">
+			<view class="nav-title">
+				<text>{{title}}</text>
+			</view>
+		</uni-nav-bar>
+		<view>
+			<uni-table ref="table" :loading="loading" border stripe type="" emptyText="暂无更多数据">
+				<uni-tr>
+					<uni-th width="240" align="center">含水量</uni-th>
+					<uni-th align="center">数值</uni-th>
+				</uni-tr>
+				<uni-tr v-for="(item,index) in tableData" :key="index">
+					<uni-td>
+						<view style="text-align: center;">{{ item.name }}</view>
+					</uni-td>
+					<uni-td align="center">
+						<view v-if="item.value" style="text-align: center;color: coral;">{{ item.value }}</view>
+						<view v-else style="text-align: center;color: coral;">--</view>
+					</uni-td>
+				</uni-tr>
+			</uni-table>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	export default {
+		components: {},
+		onLoad(option) {
+			this.selectedIndexs = [];
+			this.id = option.id;
+			this.getData();
+		},
+		data() {
+			return {
+				id: '',
+				title: '墒情数据详情',
+				tableData: [],
+				loading: false,
+			}
+		},
+		computed: {},
+		onShow() {},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			// 获取数据
+			getData() {
+				let that = this;
+				this.loading = true
+				let params = {};
+				params['id'] = this.id;
+				http.request({
+					url: '/galaxy-business/rtu/data/ground/detail',
+					method: 'GET',
+					data: params,
+				}).then(res => {
+					if (res.data != null) {
+						let values = [];
+						let v1 = {
+							'name': '垂线平均含水量',
+							'value': res.data.vtavslm
+						};
+						values.push(v1);
+						let v2 = {
+							'name': '表层含水量',
+							'value': res.data.srlslm
+						};
+						values.push(v2);
+						let slm10 = {
+							'name': '10CM深度含水量',
+							'value': res.data.slm10
+						};
+						values.push(slm10);
+						let slm20 = {
+							'name': '20CM深度含水量',
+							'value': res.data.slm20
+						};
+						values.push(slm20);
+						let slm30 = {
+							'name': '30CM深度含水量',
+							'value': res.data.slm30
+						};
+						values.push(slm30);
+						let slm40 = {
+							'name': '40CM深度含水量',
+							'value': res.data.slm40
+						};
+						values.push(slm40);
+						let slm60 = {
+							'name': '60CM深度含水量',
+							'value': res.data.slm60
+						};
+						values.push(slm60);
+						let slm80 = {
+							'name': '80CM深度含水量',
+							'value': res.data.slm80
+						};
+						values.push(slm80);
+						let slm100 = {
+							'name': '100CM深度含水量',
+							'value': res.data.slm100
+						};
+						values.push(slm100);
+						that.tableData = values;
+						that.total = values.length;
+						console.log('data', values);
+					}
+					this.loading = false
+				}).catch(err => {
+					console.log(err)
+					this.loading = false
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.container {
+		background-color: #f7f7f7;
+		min-height: 100vh;
+		overflow: hidden;
+	}
+</style>

+ 349 - 0
pages/realdata/rturaindata.vue

@@ -0,0 +1,349 @@
+<!--
+ * @Title: 
+ * @Description: 雨情数据
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="wrap">
+		<view class="container">
+			<uni-section title="查询" titleFontSize="0.8rem" type="line" style="padding-left: 0px;padding-right: 0px;">
+				<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>
+			<uni-group>
+				<!-- <uni-card title="统计时间" :is-shadow="false" style="margin-left: 0px;margin-right: 0px;"> -->
+				<radio-group @change="onRainCountTypeRadioChange" class="view-flex-rs">
+					<label style="margin-right: 5px;margin-bottom: 5px;;width:100px;" class="view-flex-inline"
+						v-for="(item, index) in rainCountType.items" :key="item.id">
+						<view>
+							<radio :value="item.id" :checked="index === rainCountType.value" />
+						</view>
+						<view style="font-size: 0.7rem;">{{item.dictValue}}</view>
+					</label>
+				</radio-group>
+				<!-- 	</uni-card> -->
+			</uni-group>
+			<uni-table ref="table" :loading="loading" border stripe type="" emptyText="暂无更多数据">
+				<uni-tr>
+					<uni-th align="center" width="120">上报时间</uni-th>
+					<uni-th align="center" width="120">测站名称</uni-th>
+					<uni-th align="center" width="70">时段长</uni-th>
+					<uni-th align="center">降水量</uni-th>
+				</uni-tr>
+				<uni-tr v-for="(item, index) in tableData" :key="index">
+					<uni-td align="center">
+						<view style="text-align: center;">{{ item.tm }}</view>
+					</uni-td align="center">
+					<uni-td>
+						<view style="text-align: center;">
+							{{ item.rtuName }}/{{ item.rtuCode }}
+						</view>
+					</uni-td>
+					<uni-td align="center">
+						<!-- 	<view v-if="item.intv === 1.0" style="text-align: center;color: coral;">1小时</view>
+						<view v-else style="text-align: center;color: coral;">5分钟</view> -->
+						<view style="text-align: center;color: coral;">{{item.intvLable}}</view>
+					</uni-td>
+					<uni-td align="center">
+						<view style="text-align: center;color: coral;">{{ item.drp }}</view>
+					</uni-td>
+				</uni-tr>
+			</uni-table>
+			<view class="pagination-block">
+				<uni-pagination :page-size="pageSize" :current="pageCurrent" :total="total" @change="pageChange"
+					prevText="前一页" nextText="后一页" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	export default {
+		components: {},
+		onLoad(option) {
+
+		},
+		created() {
+			this.getRegionTree();
+		},
+		data() {
+			return {
+				title: '雨水情实时数据',
+				regionTree: [],
+				regionCode: '',
+				selectedTreeNode: '',
+				searchRtuNameVal: '',
+				searchRtuCodeVal: '',
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				},
+				// 每页数据量
+				pageSize: 10,
+				// 当前页
+				pageCurrent: 1,
+				// 数据总量
+				total: 0,
+				loading: false,
+				tableData: [],
+				rainCountType: {
+					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,
+				}
+			}
+		},
+		computed: {},
+		onShow() {},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			// 分页触发
+			pageChange(e) {
+				this.$refs.table.clearSelection()
+				//this.selectedIndexs.length = 0
+				this.pageCurrent = e.current;
+				this.getPage()
+			},
+			onRainCountTypeRadioChange: function(evt) {
+				for (let i = 0; i < this.rainCountType.items.length; i++) {
+					if (this.rainCountType.items[i].id === evt.detail.value) {
+						this.rainCountType.value = i;
+						this.pageCurrent = 1;
+						this.getPage();
+						break;
+					}
+				}
+			},
+			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();
+
+				} else {
+					this.regionCode = '';
+					this.query = {};
+					this.searchRtuNameVal = '';
+					this.searchRtuCodeVal = '';
+					this.pageCurrent = 1;
+					this.getPage();
+
+				}
+			},
+			//录入查询
+			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);
+					}
+				}
+			},
+			// 多选处理
+			selectedItems() {
+				return this.selectedIndexs.map(i => this.tableData[i])
+			},
+			// 多选
+			selectionChange(e) {
+				console.log(e.detail.index)
+				this.selectedIndexs = e.detail.index
+			},
+			//批量删除
+			delTable() {
+				//console.log(this.selectedItems())
+			},
+			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)
+				})
+			},
+			// 获取数据
+			getPage(params = {}) {
+				this.loading = true;
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				const isSubmit = '0';
+				if (this.rainCountType.value == 1) {
+					params['rainCountType'] = 1;
+				} else if (this.rainCountType.value == 2) {
+					params['rainCountType'] = 3;
+				} else if (this.rainCountType.value == 3) {
+					params['rainCountType'] = 6;
+				} else if (this.rainCountType.value == 4) {
+					params['rainCountType'] = 12;
+				} else if (this.rainCountType.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/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+						isSubmit
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						that.tableData = res.data.records;
+						that.total = res.data.total;
+					}
+					this.loading = false
+				}).catch(err => {
+					console.log(err)
+					this.loading = false
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.wrap {
+		padding: 0 0 100rpx;
+	}
+
+	.container {
+		background-color: #f7f7f7;
+		min-height: 100vh;
+		overflow: hidden;
+	}
+
+	.view-flex-rs {
+		display: flex;
+		flex-direction: row;
+		justify-content: flex-start;
+		align-items: center;
+		flex-wrap: wrap;
+	}
+
+	.view-flex-inline {
+		display: flex;
+		flex-direction: row;
+		justify-content: flex-start;
+		align-items: center;
+
+	}
+</style>

+ 267 - 0
pages/realdata/rturiverdata.vue

@@ -0,0 +1,267 @@
+<!--
+ * @Title: 
+ * @Description: 河道数据
+ * @Author: swp
+ * @Date: 2022-08-24 10:49:21
+ * @LastEditors: 
+ * @LastEditTime: 2022-08-24 10:49:21
+-->
+<template>
+	<view class="wrap">
+		<view class="container">
+			<uni-section title="查询" titleFontSize="0.8rem" type="line" style="padding-left: 0px;padding-right: 0px;">
+				<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>
+			<uni-table ref="table" :loading="loading" border stripe type="" emptyText="暂无更多数据">
+				<uni-tr>
+					<uni-th width="120" align="center">上报时间</uni-th>
+					<uni-th align="center">测站名称</uni-th>
+					<uni-th width="120" align="center">水位</uni-th>
+				</uni-tr>
+				<uni-tr v-for="(item, index) in tableData" :key="index">
+					<uni-td>
+						<view style="text-align: center;">{{ item.wlTm }}</view>
+					</uni-td>
+					<uni-td>
+						<view style="text-align: center;">
+							{{ item.rtuName }}/{{ item.rtuCode }}
+						</view>
+					</uni-td>
+					<uni-td align="center">
+						<view style="text-align: center;color: coral;">{{ item.wl }}</view>
+					</uni-td>
+				</uni-tr>
+			</uni-table>
+			<view class="pagination-block">
+				<uni-pagination :page-size="pageSize" :current="pageCurrent" :total="total" @change="pageChange"
+					prev-text="前一页" next-text="后一页" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import http from '@/http/api.js';
+	export default {
+		components: {},
+		onLoad(option) {
+			this.selectedIndexs = [];
+		},
+		created() {
+			this.getRegionTree();
+		},
+		data() {
+			return {
+				title: '水情实时数据',
+				regionTree: [],
+				regionCode: '',
+				selectedTreeNode: '',
+				searchRtuNameVal: '',
+				searchRtuCodeVal: '',
+				query: {},
+				inputStyles: {
+					color: '#808080',
+					borderColor: '#d3d3d3'
+				},
+				// 每页数据量
+				pageSize: 10,
+				// 当前页
+				pageCurrent: 1,
+				// 数据总量
+				total: 0,
+				loading: false,
+				selectedIndexs: [],
+				tableData: [],
+			}
+		},
+		computed: {},
+		onShow() {},
+		methods: {
+			toBack() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			onBackPress() {
+				// #ifdef APP-PLUS
+				plus.key.hideSoftKeybord();
+				// #endif
+			},
+			// 分页触发
+			pageChange(e) {
+				this.$refs.table.clearSelection()
+				//this.selectedIndexs.length = 0
+				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();
+
+				} else {
+					this.regionCode = '';
+					this.query = {};
+					this.searchRtuNameVal = '';
+					this.searchRtuCodeVal = '';
+					this.pageCurrent = 1;
+					this.getPage();
+				}
+			},
+			//录入查询
+			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);
+					}
+				}
+			},
+			// 多选处理
+			selectedItems() {
+				return this.selectedIndexs.map(i => this.tableData[i])
+			},
+			// 多选
+			selectionChange(e) {
+				console.log(e.detail.index)
+				this.selectedIndexs = e.detail.index
+			},
+			//批量删除
+			delTable() {
+				//console.log(this.selectedItems())
+			},
+			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)
+				})
+			},
+			// 获取数据
+			getPage(params = {}) {
+				this.loading = true
+				const current = this.pageCurrent;
+				const size = this.pageSize;
+				const isSubmit = '0';
+				let postData = Object.assign(params, this.query);
+				var that = this;
+				http.request({
+					url: '/galaxy-business/rtu/data/river/page',
+					method: 'GET',
+					params: {
+						current,
+						size,
+						isSubmit
+					},
+					data: postData,
+				}).then(res => {
+					if (res.data.records != null) {
+						that.tableData = res.data.records;
+						that.total = res.data.total;
+					}
+					this.loading = false
+				}).catch(err => {
+					console.log(err)
+					this.loading = false
+				})
+			},
+		}
+	}
+</script>
+
+<style>
+	/* page {
+		background-color: rgb(240, 242, 244);
+	} */
+</style>
+
+<style lang="scss" scoped>
+	.wrap {
+		padding: 0 0 100rpx;
+	}
+
+	.container {
+		background-color: #f7f7f7;
+		min-height: 100vh;
+		overflow: hidden;
+	}
+</style>

Некоторые файлы не были показаны из-за большого количества измененных файлов