瀏覽代碼

版本修改

wangtong 1 年之前
父節點
當前提交
b6f46de350
共有 100 個文件被更改,包括 4670 次插入226 次删除
  1. 42 0
      api/common.js
  2. 2 2
      common/http.js
  3. 180 0
      components/mypopup.vue
  4. 2 10
      manifest.json
  5. 1 1
      node_modules/.package-lock.json
  6. 1 1
      package-lock.json
  7. 51 14
      pages.json
  8. 5 0
      pages/index/index.vue
  9. 1 1
      pages/login/login.vue
  10. 167 38
      pages/mapindex/mapindex.vue
  11. 15 16
      pages/noLogin/CourtyardNetworkManagement/CourtyardNetworkManagement.vue
  12. 1042 0
      pages/noLogin/LNGStation/LNGStation.vue
  13. 235 52
      pages/noLogin/PressureRegulatingBox/PressureRegulatingBox.vue
  14. 8 7
      pages/noLogin/WarningPileList.vue
  15. 2 2
      pages/noLogin/emergencyRepairOrder/emergencyRepairOrder.vue
  16. 273 0
      pages/noLogin/fileList/fileList.vue
  17. 8 0
      pages/noLogin/fileList/fileMessage.vue
  18. 85 4
      pages/noLogin/listProject.vue
  19. 446 0
      pages/noLogin/roadSection/roadSection.vue
  20. 129 20
      pages/noLogin/typeList.vue
  21. 456 0
      pages/noLogin/valveWellInspection/valveWellInspection.vue
  22. 8 0
      uni_modules/piaoyi-editor/changelog.md
  23. 784 0
      uni_modules/piaoyi-editor/components/piaoyi-editor/color-picker.vue
  24. 123 0
      uni_modules/piaoyi-editor/components/piaoyi-editor/iconfont.css
  25. 二進制
      uni_modules/piaoyi-editor/components/piaoyi-editor/iconfont.ttf
  26. 二進制
      uni_modules/piaoyi-editor/components/piaoyi-editor/iconfont.woff
  27. 二進制
      uni_modules/piaoyi-editor/components/piaoyi-editor/iconfont.woff2
  28. 419 0
      uni_modules/piaoyi-editor/components/piaoyi-editor/piaoyi-editor.vue
  29. 15 0
      uni_modules/piaoyi-editor/package.json
  30. 101 0
      uni_modules/piaoyi-editor/readme.md
  31. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  32. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map
  33. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  34. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/back.js.map
  35. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ming-pop/ming-pop.js.map
  36. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/mp-html/mp-html.js.map
  37. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/mp-html/node/node.js.map
  38. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/components/mypopup.js.map
  39. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/aboutme/aboutme.js.map
  40. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chart.js.map
  41. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chartAll.js.map
  42. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chartDetail.js.map
  43. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chartList.js.map
  44. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/details.js.map
  45. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/newchartDetail.js.map
  46. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cityConstrution/cityConstrution.js.map
  47. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/historyConstruction/historyConstruction.js.map
  48. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/historyConstruction/historyDetail.js.map
  49. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/historyConstruction/updateInfo.js.map
  50. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  51. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  52. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/mapindex/mapindex.js.map
  53. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/CourtyardNetworkManagement/CourtyardNetworkManagement.js.map
  54. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/LNGStation/LNGStation.js.map
  55. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/My.js.map
  56. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/Myphoto.js.map
  57. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/PressureRegulatingBox/PressureRegulatingBox.js.map
  58. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/WarningPileForm/WarningPileForm.js.map
  59. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/WarningPileList.js.map
  60. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/buildinglist.js.map
  61. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/cityProject.js.map
  62. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/communitylist.js.map
  63. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/data.js.map
  64. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/emergencyRepairOrder/emergencyRepairOrder.js.map
  65. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/fileList/fileList.js.map
  66. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/list.js.map
  67. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/listProject.js.map
  68. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/piao/piao.js.map
  69. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/regulatorBoxList.js.map
  70. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/repair.js.map
  71. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/roadSection/roadSection.js.map
  72. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/typeList.js.map
  73. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/unitlist.js.map
  74. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/uploadProject.js.map
  75. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/valveWellInspection/valveWellInspection.js.map
  76. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/notice/noticeDetail.js.map
  77. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/notice/noticeList.js.map
  78. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/piao/piao.js.map
  79. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/piaoyi-editor/components/piaoyi-editor/color-picker.js.map
  80. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/piaoyi-editor/components/piaoyi-editor/piaoyi-editor.js.map
  81. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.js.map
  82. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-error/qiun-error.js.map
  83. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading1.js.map
  84. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading2.js.map
  85. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading3.js.map
  86. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading4.js.map
  87. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading5.js.map
  88. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-button/u-button.js.map
  89. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-checkbox-group/u-checkbox-group.js.map
  90. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-checkbox/u-checkbox.js.map
  91. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-col/u-col.js.map
  92. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-empty/u-empty.js.map
  93. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form-item/u-form-item.js.map
  94. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form/u-form.js.map
  95. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-grid-item/u-grid-item.js.map
  96. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-grid/u-grid.js.map
  97. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-icon/u-icon.js.map
  98. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-image/u-image.js.map
  99. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-input/u-input.js.map
  100. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-loading/u-loading.js.map

+ 42 - 0
api/common.js

@@ -197,6 +197,15 @@ export default {
 	getcourtyardNetworkManagement(data) {
 		return utils.requestEn(`/mobile/courtyardNetworkManagement/${data}`)
 	},
+	saveroadSectionInspection(data) {
+		return utils.requestEn(`/mobile/roadSectionInspection`,data,'POST')
+	},
+	getroadSectionInspection(data) {
+		return utils.requestEn(`/mobile/roadSectionInspection/${data}`)
+	},
+	getroadSectionInspectionList(data) {
+		return utils.requestEn(`/mobile/roadSectionInspection/list`,data)
+	},
 	//抢险维修控制器
 	getemergencyRepair(data) {
 		return utils.requestEn(`/mobile/emergencyRepair/${data}`)
@@ -222,4 +231,37 @@ export default {
 	getregulatorBoxList(data) {
 		return utils.requestEn(`/mobile/regulatorBoxList/list`, data)
 	},
+	getvalveWellPositionlist(data)
+	{
+		return utils.requestEn(`/mobile/valveWellPosition/list`, data)
+	},
+	setvalveWellPosition(data)
+	{
+		return utils.requestEn(`/mobile/valveWellInspection`, data,'POST')
+	},
+	getvalveWellPosition(data)
+	{
+		return utils.requestEn(`/mobile/valveWellPosition/${data}`)
+	},
+	getvalveWellPositionList()
+	{
+		return utils.requestEn(`/mobile/valveWellInspection/list`)
+	},
+	getFileList(data)
+	{
+		return utils.requestEn(`/mobile/cad/getAllFileByPostId/${data}`)
+	},
+	savetransmissionStation(data)
+	{
+		return utils.requestEn(`/mobile/transmissionStation/`,data,'POST')
+	},
+	gettransmissionStation(data)
+	{
+		return utils.requestEn(`/mobile/transmissionStation/${data}`)
+	},
+	gettransmissionStationList(data)
+	{
+		return utils.requestLo(`/mobile/transmissionStation/list`)
+	}
+	
 }

+ 2 - 2
common/http.js

@@ -1,7 +1,7 @@
 // 配置信息
 export default {
 	// webUrl: 'http://127.0.0.1:8080',
-	 webUrl: 'https://www.cczdsz.cn/prod-api/',
+	 //webUrl: 'https://www.cczdsz.cn/prod-api/',
 	// webUrl: 'http://124.221.101.24:8082',
-	//webUrl: 'http://192.168.4.20:8080',
+	 webUrl: 'http://192.168.4.11:8080',
 }

+ 180 - 0
components/mypopup.vue

@@ -0,0 +1,180 @@
+<template>
+	<view class="popup" v-show="show">
+		<view class="popup-info">
+			<view class="popup-title"> {{titleText}}
+
+
+				<view @click="close()"
+					style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;width: 15px;height: 15px;">
+					<image :src="loadImgSrc('icon_close.png')" style=" width: 15px; height: 15px;"></image>
+				</view>
+			</view>
+			<view class="popup-text">{{popupText}}</view>
+			<view class="popup-btn">
+				<view class="btn-left" @click="cancel">{{cancelText}}</view>
+				<view class="btn-right" @click="confirm">{{confirmText}}</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: "my-popup",
+		props: {
+			show: {
+				type: Boolean
+			},
+			popupText: {
+				type: String
+			},
+			titleText: {
+				type: String
+			},
+			cancelText: {
+				type: String
+			},
+			confirmText: {
+				type: String
+			}
+		},
+		watch: {
+			oldshow: function(newVal, oldVal) {
+				this.show = newVal;
+			}
+		},
+		data() {
+			return {};
+		},
+		methods: {
+			close() {
+				this.$parent.show_loding = false
+			},
+			cancel() {
+				this.$emit('close')
+			},
+
+			confirm() {
+				this.$emit('confirm')
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.popup {
+		position: fixed;
+		left: 0;
+		right: 0;
+		top: 0;
+		height: 100vh;
+		background-color: rgba(0, 0, 0, 0.4) !important;
+		z-index: 9998;
+	}
+
+	.popup-info {
+		position: fixed;
+		width: 320px;
+		top: 50%;
+		left: 50%;
+		transform: translate(-50%, -50%);
+		font-size: 30upx;
+		box-shadow: 0px 1px 13px -6px rgba(0, 0, 0, 0.25);
+		background-color: #fff;
+		z-index: 9999;
+		border-radius: 8px;
+
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+
+		.popup-title {
+			width: 320px;
+			height: 56px;
+			background: linear-gradient(95.13deg, #5DA4F7 3.75%, #3285E4 95.95%);
+			border-radius: 8px 8px 0px 0px;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+
+			font-family: 'PingFang SC';
+			font-style: normal;
+			font-weight: 500;
+			font-size: 17px;
+			line-height: 24px;
+			/* identical to box height, or 140% */
+			color: #FFFFFF;
+
+		}
+
+		.popup-text {
+			width: 262px;
+			display: flex;
+			justify-content: center;
+			margin-top: 23px;
+			text-align: center;
+
+			font-family: 'PingFang SC';
+			font-style: normal;
+			font-weight: 500;
+			font-size: 17px;
+			line-height: 24px;
+		}
+
+		.popup-btn {
+			display: flex;
+			flex-direction: row;
+			justify-content: space-between;
+			width: 250px;
+			height: 42px;
+			border-top-color: #f5f5f5;
+			margin: 0 auto;
+			margin-top: 22px;
+			margin-bottom: 20px;
+
+			.btn-left {
+				/* #ifndef APP-NVUE */
+				display: flex;
+				/* #endif */
+				width: 107px;
+				height: 42px;
+				border: 0.5px solid #569FF4;
+				border-radius: 35px;
+
+				justify-content: center;
+				align-items: center;
+
+				font-family: 'PingFang SC';
+				font-style: normal;
+				font-weight: 500;
+				font-size: 16px;
+				line-height: 22px;
+				letter-spacing: -0.2176px;
+				color: #569FF4;
+			}
+
+			.btn-right {
+				display: flex;
+				align-items: center;
+
+
+				width: 107px;
+				height: 42px;
+
+				background: linear-gradient(95.13deg, #5DA4F7 3.75%, #3285E4 95.95%);
+				border-radius: 35px;
+
+				justify-content: center;
+				align-items: center;
+				font-color: #FFFFFF;
+				font-family: 'PingFang SC';
+				font-style: normal;
+				font-weight: 500;
+				font-size: 16px;
+				line-height: 22px;
+				letter-spacing: -0.2176px;
+				color: #FFFFFF;
+			}
+		}
+	}
+</style>

+ 2 - 10
manifest.json

@@ -45,22 +45,14 @@
             /* ios打包配置 */
             "ios" : {},
             /* SDK配置 */
-            "sdkConfigs" : {
-                "maps" : {
-                    "amap" : {
-                        "name" : "amapGzUJuxzK",
-                        "appkey_ios" : "82398063f3d780bf71d840d0a43a296f",
-                        "appkey_android" : "82398063f3d780bf71d840d0a43a296f"
-                    }
-                }
-            }
+            "sdkConfigs" : {}
         }
     },
     /* 快应用特有相关 */
     "quickapp" : {},
     /* 小程序特有相关 */
     "mp-weixin" : {
-        "appid" : "wxf75b34dd1f737174",
+        "appid" : "wxa537100824cd1a15",
         "setting" : {
             "urlCheck" : true,
             "minified" : true,

+ 1 - 1
node_modules/.package-lock.json

@@ -1,5 +1,5 @@
 {
-  "name": "zd_wechatApp",
+  "name": "zd_wechatApp(1)",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {

+ 1 - 1
package-lock.json

@@ -1,5 +1,5 @@
 {
-  "name": "zd_wechatApp",
+  "name": "zd_wechatApp(1)",
   "lockfileVersion": 2,
   "requires": true,
   "packages": {

+ 51 - 14
pages.json

@@ -3,14 +3,8 @@
 		"^u-(.*)": "@/uview-ui/components/u-$1/u-$1.vue"
 	},
 	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
-		{
-			"path" : "pages/mapindex/mapindex",
-			"style" : 
-			{
-				"navigationBarTitleText" : "地图",
-				"enablePullDownRefresh" : false
-			}
-		},
+	
+	                                                            
 		{
 			//登录
 			"path": "pages/login/login",
@@ -31,10 +25,10 @@
 				"enablePullDownRefresh": false
 			}
 		},
-		
+
 		// {
 		//     "path" : "pages/noLogin/PressureRegulatingBox/PressureRegulatingBox",
-		//     "style" :                                                                                    
+		//     "style" :
 		//     {
 		//         "navigationStyle": "custom"
 		//     }
@@ -258,13 +252,56 @@
 		}
 		// ,{
 		//     "path" : "pages/noLogin/PressureRegulatingBox/PressureRegulatingBox",
-		//     "style" :                                                                                    
+		//     "style" :
 		//     {
 		//         "navigationBarTitleText": "",
 		//         "enablePullDownRefresh": false
 		//     }
 		// }
-	],
+        ,{
+            "path" : "pages/noLogin/roadSection/roadSection"
+            // "style" :
+            // {
+            //     "navigationBarTitleText": "",
+            //     "enablePullDownRefresh": false
+            // }
+
+        },{
+            "path" : "pages/noLogin/valveWellInspection/valveWellInspection"
+            // "style" :
+            // {
+            //     "navigationBarTitleText": "",
+            //     "enablePullDownRefresh": false
+            // }
+
+        },
+		{
+			"path" : "pages/mapindex/mapindex",
+			"style" :
+			{
+				"navigationBarTitleText" : "地图",
+				"enablePullDownRefresh" : false
+			}
+		},
+		{
+		    "path" : "pages/noLogin/LNGStation/LNGStation",
+		    "style" :                                                                                    
+		    {
+		        "navigationBarTitleText": "",
+		        "enablePullDownRefresh": false
+		    }
+		    
+		},
+		{
+		    "path" : "pages/noLogin/fileList/fileList",
+		    "style" :                                                                                    
+		    {
+		        "navigationBarTitleText": "",
+		     "enablePullDownRefresh": false //开启下拉刷新
+		    }
+		    
+		}
+    ],
 	"globalStyle": {
 		"navigationBarTextStyle": "black",
 		"navigationBarTitleText": "长春贞达市政施工管理平台",
@@ -292,7 +329,7 @@
 			// {
 			// 	"pagePath": "pages/chart/chartAll",
 			// 	"text": "统计",
-			// 	"iconPath": "static/icon/chart.png", 
+			// 	"iconPath": "static/icon/chart.png",
 			// 	"selectedIconPath": "static/icon/chart.png"
 			// }
 		]
@@ -305,4 +342,4 @@
 			"query": "" //启动参数,在页面的onLoad函数里面得到
 		}]
 	}
-}
+}

+ 5 - 0
pages/index/index.vue

@@ -103,6 +103,11 @@
 			this.getnotice()
 			uni.showTabBar();
 		},
+		onTabItemTap(e)
+		{
+			console.log(e)
+			uni.removeStorageSync('type')
+		},
 		methods: {
 			getUserName(){
 				service.getUserName().then(res=>{

+ 1 - 1
pages/login/login.vue

@@ -95,7 +95,7 @@
 										url:'/pages/index/index'
 									})
 									// uni.navigateTo({
-									// 	url:'pages/noLogin/PressureRegulatingBox/PressureRegulatingBox'
+									// 	url:'/pages/noLogin/roadSection/roadSection?type=2'
 									// })
 									console.log('跳')
 								},2000)

+ 167 - 38
pages/mapindex/mapindex.vue

@@ -1,84 +1,162 @@
 <template>
   <view class="content">
-	  <button type="primary" @click="location">位置定位</button>
-    <map id="map" class="map" :show-location="true" :latitude="latitude" :longitude="longitude"></map>
+	 <!-- <button type="primary" @click="location">位置定位</button> -->
+    <map id="map" class="map" :show-location="true" :latitude="latitude" :longitude="longitude" :enable-3D="true" @markertap="location":markers="markers">
+		<cover-view class="img-map2">
+<cover-image  style="width: 100rpx;height: 100rpx;" src="https://zdsz.obs.cn-south-1.myhuaweicloud.com/file/ef712ef2a0bf48f48bf56ea655e8359c.png"   @click="clickcontrol"></cover-image>
+调压箱
+</cover-view>
+	<cover-view class="img-map3">
+		<cover-image   style="width: 100rpx;height: 100rpx;"  src="https://zdsz.obs.cn-south-1.myhuaweicloud.com/file/6ba09f14edcc49b5bd2ff0f6dee4bdb9.png"  @click="getvalveWellPositionlist"></cover-image>
+		<!-- <u-popup v-model="show"  mode="bottom" height='600rpx'>
+					<view>出淤泥而不染,濯清涟而不妖</view>
+				</u-popup> -->
+				阀井
+	</cover-view>
+	</map>
   </view>
 </template>
 
 <script>
-  const img = '/static/logo.png';
-
+  const img = 'https://zdsz.obs.cn-south-1.myhuaweicloud.com/file/6ba09f14edcc49b5bd2ff0f6dee4bdb9.png';
+import service from '@/api/index.js'
   export default {
     data() {
       return {
-        latitude: 43.780458,
-        longitude: 125.384426,
+        latitude: 43.771703,
+        longitude: 125.367899,
+		_mapContext:null,
+		show:true,
+		positions:[],
+		markers:[]
       }
     },
     onReady() {
+		this.getconter()
       this._mapContext = uni.createMapContext("map", this);
-
       // 仅调用初始化,才会触发 on.("markerClusterCreate", (e) => {})
       this._mapContext.initMarkerCluster({
         enableDefaultStyle: false,
         zoomOnClick: true,
-        gridSize: 60,
+        gridSize: 10,
         complete(res) {
           console.log('initMarkerCluster', res)
         }
       });
-
       this._mapContext.on("markerClusterCreate", (e) => {
         console.log("markerClusterCreate", e);
       });
-
-      this.addMarkers();
+      
     },
+	onShow() {
+		this.getconter()
+		setTimeout(()=>{
+		this.getvalveWellPositionlist()
+		},100)			
+	},
     methods: {
+		//右下角定位按钮的点击事件
+		clickcontrol(){
+			this.show=true
+	console.log(this.latitude,this.longitude)
+	uni.authorize({
+		scope: 'scope.userLocation',
+		success() {
+			uni.getLocation({
+				type: 'gcj02',
+				 altitude: true, //高精度定位
+				 //定位成功,更新定位结果
+				 success: function(res) {
+					console.log(res)
+					that.latitude=res.latitude;
+					that.longitude=res.longitude;
+					that.covers[0].latitude=res.latitude;
+					that.covers[0].longitude=res.longitude;
+				}
+			});
+		}
+	});
+
+			this._mapContext.moveToLocation({   //moveToLocation将地图中心移动到当前定位点,需要配合map组件的show-location使用
+		        latitude: this.latitude,
+		        longitude: this.longitude
+			});  
+		},
+		getvalveWellPositionlist()
+		{
+			service.getvalveWellPositionlist({}).then(res => {
+				console.log('getwarningPileList', res)
+				if (res.length == 0) {
+					this.$UTILS.showPrompt('暂无项目!')
+				}
+				this.positions = res;
+				setTimeout(()=>{this.addMarkers()},1000)
+				})
+		},
       addMarkers() {
         const positions = [
           {
-            latitude: 43.780458,
-            longitude: 125.384426,
+            latitude: 43.771703,
+            longitude: 125.376804
+          },{
+            latitude: "43.780458",
+            longitude: "125.367899"
           }
         ]
-
-        const markers = []
-
-        positions.forEach((p, i) => {
-          console.log(i)
-          markers.push(
+		
+        this.markers = []
+        this.positions.forEach((p, i) => {
+          this.markers.push(
             Object.assign({},{
-              id: i + 1,
+              id: p.id,
               iconPath: img,
-              width: 50,
-              height: 100,
+              width: 45,
+              height: 50,
+			  latitude:parseFloat(p.latitude),
+			  longitude:parseFloat(p.longitude),
               joinCluster: true, // 指定了该参数才会参与聚合
-              label: {
-                  width: 50,
-                  height: 30,
-                  borderWidth: 1,
-                  borderRadius: 10,
-                  bgColor: '#ffffff',
-                  content: `定位点`
+              // label: {
+              //     width: 50,
+              //     height: 30,
+              //     borderWidth: 1,
+              //     borderRadius: 10,
+              //     bgColor: '#ffffff',
+              //     content: p.valveWellName,
+              //   latitude:p.latitude,
+              //   longitude:p.longitude
+              // },
+              callout:{
+                borderWidth: 1,
+                borderRadius: 10,
+                bgColor: '#ffffff',
+				fontSize:20,
+				padding:3,
+                content: p.valveWellName,
+                display:'ALWAYS'
               }
-            },p)
+            })
           )
         })
+        console.log(this.markers)
+		setTimeout(()=>{
         this._mapContext.addMarkers({
-            markers,
-            clear: false,
+            markers:this.markers,
+            clear: true,
             complete(res) {
               console.log('addMarkers', res)
             }
         })
+		},100)
       },
-	  
+
 	  //位置定位
-	  location(){
+	  location(e){
+		  service.getvalveWellPosition(e.markerId).then(res => {
+		  	console.log('getwarningPileList', res)
+          console.log(e)
 		 uni.openLocation({
-		     latitude: 45.780558,
-			 longitude: 125.384426,
+		     latitude: parseFloat( res.latitude),
+			   longitude: parseFloat(res.longitude),
 		     success: function (res) {
 		         console.log('打开系统位置地图成功')
 		     },
@@ -86,7 +164,38 @@
 		         console.log(error)
 		     }
 		 })
+		 // this.positions = res;
+		 })
 	  },
+      clickMarker(e)
+      {
+        console.log("点击了",e)
+		 this._mapContext.removeMarkers()
+      },
+	  getconter()
+	  {
+		  var that = this;
+		  		// 获取经纬度
+		  			uni.authorize({
+		  				scope: 'scope.userLocation',
+		  				success() {
+		  					uni.getLocation({
+		  						type: 'gcj02',
+		  						 altitude: true, //高精度定位
+		  						 //定位成功,更新定位结果
+		  						 success: function(res) {
+		  							console.log(res)
+		  							that.latitude=res.latitude;
+		  							that.longitude=res.longitude;
+		  							that.latitude=res.latitude;
+		  							that.longitude=res.longitude;
+		  							console.log(this.latitude,this.longitude)
+		  						}
+		  					});
+		  				}
+		  				
+		  			});
+	  }
     }
   }
 </script>
@@ -97,8 +206,28 @@
   }
 
   .map {
-	  width: 20rem;
-	  height: 40rem;
+	  width:100%;
+	  height: 100rem;
     flex: 1;
   }
+  .img-map2{
+  	width: 100rpx;
+  	height: 140rpx;
+  	position: fixed;
+  	bottom: 12vh;
+  	right: 2vh;
+	text-align: center;
+  	background-color: #FFFFFF;
+  	border-radius: 5px;
+  }
+  .img-map3{
+  	width: 100rpx;
+  	height: 140rpx;
+  	position: fixed;
+  	bottom: 23vh;
+  	right: 2vh;
+	text-align: center;
+  	background-color: #FFFFFF;
+  	border-radius: 5px;
+  }
 </style>

+ 15 - 16
pages/noLogin/CourtyardNetworkManagement/CourtyardNetworkManagement.vue

@@ -18,11 +18,13 @@
 			<u-icon slot="right" name="arrow-right"></u-icon>
 		</u-form-item> -->
 		<u-form-item label="发现问题" labelWidth="140" borderBottom ref="item1">
-			<u-input v-model="causesOfFamageLabel" disabled @click=" showrepairType= true&&type!=1" borderBottom
-				placeholder="请输入发现问题"></u-input>
-			<u-select v-model="showrepairType" :list="typelist.find_problem" label-name="dictLabel"
-				value-name="dictValue" @confirm="confirm()"> </u-select>
-			<u-icon slot="right" name="arrow-right"></u-icon>
+			<u-radio-group v-model="form.findProblem" :disabled="type==1">
+				<u-radio @change="confirm"
+					v-for="(item, index) in typelist.find_problem"
+					:key="index" :name="item.dictValue">
+					{{item.dictLabel}}
+				</u-radio>
+			</u-radio-group>
 		</u-form-item>
 		<u-form-item borderBottom ref="item1">
 			<view>备注</view>
@@ -197,7 +199,6 @@ methods: {
 			// }, 2000)
 			this.form={}
 			this.buildingName=''
-			this.causesOfFamageLabel=''
 			this.imgArr=[]
 			this.imgymxs=[]
 		})
@@ -214,13 +215,13 @@ methods: {
 					console.log(_this.typelist)
 					_this.buildingName = res.buildingName
 					_this.unitName = res.unitName
-					let list = []
-					list = _this.typelist.find_problem
-					list.forEach((item) => {
-						if (item.dictValue == res.findProblem) {
-							_this.causesOfFamageLabel = item.dictLabel
-						}
-					})
+					// let list = []
+					// list = _this.typelist.find_problem
+					// list.forEach((item) => {
+					// 	if (item.dictValue == res.findProblem) {
+					// 		_this.causesOfFamageLabel = item.dictLabel
+					// 	}
+					// })
 					if (null != res.photoList) {
 						res.photoList.forEach(item => {
 							let url = {}
@@ -237,9 +238,7 @@ methods: {
 		})
 	},
 	confirm(e) {
-		console.log(e)
-		this.causesOfFamageLabel = e[0].label
-		this.form.findProblem = e[0].value
+		this.form.findProblem =e
 	},
 	choose() {
 		let _this = this;

文件差異過大導致無法顯示
+ 1042 - 0
pages/noLogin/LNGStation/LNGStation.vue


+ 235 - 52
pages/noLogin/PressureRegulatingBox/PressureRegulatingBox.vue

@@ -32,7 +32,12 @@
 					</u-col>
 					<u-col>
 						<u-form-item label="商服" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
-							<u-switch v-model="form.businessService" :disabled="type==1"></u-switch>
+							<u-radio-group v-model="form.businessService" :disabled="type==1">
+								<u-radio @change="businessService" v-for="(item, index) in typelist.business_service" :key="index"
+									:name="item.dictValue">
+									{{item.dictLabel}}
+								</u-radio>
+							</u-radio-group>
 						</u-form-item>
 					</u-col>
 					<u-col>
@@ -97,7 +102,12 @@
 					</u-col>
 					<u-col>
 						<u-form-item label="是否泄露" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
-							<u-switch v-model="form.isThereALeak" :disabled="type==1"></u-switch>
+							<u-radio-group v-model="form.isThereALeak" :disabled="type==1">
+								<u-radio @change="isThereALeak" v-for="(item, index) in typelist.yes_and_no"
+									:key="index" :name="item.dictValue">
+									{{item.dictLabel}}
+								</u-radio>
+							</u-radio-group>
 						</u-form-item>
 					</u-col>
 					<u-col>
@@ -110,12 +120,22 @@
 							</u-radio-group>
 						</u-form-item>
 					</u-col>
+					<u-col>
+						<u-form-item label="过滤器" borderBottom ref="item1" placeholder="请输入编号" labelWidth="120">
+							<u-radio-group v-model="form.filter" :disabled="type==1">
+								<u-radio @change="filter" v-for="(item, index) in typelist.filter" :key="index"
+									:name="item.dictValue">
+									{{item.dictLabel}}
+								</u-radio>
+							</u-radio-group>
+						</u-form-item>
+					</u-col>
 				</u-row>
 				<u-row class="un-row" gutter="12" style="text-align:left;">
 					<u-col span="10">
 						<u-form-item label="入口压力" borderBottom ref="item1" placeholder="请输入编号" labelWidth="140">
 							<u-input v-model="form.inletPressure" length='20px' placeholder="请输入入口压力"
-								:disabled="type==1"></u-input>
+								:disabled="type==1" type="digit" :clearable="false" @input="checkinletPressure"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col span="2">
@@ -125,7 +145,7 @@
 				<u-row gutter="12">
 					<u-col span="5">
 						<u-form-item label="出口压力 主路" borderBottom ref="item1" placeholder=" " labelWidth="200">
-							<u-input v-model="form.exportPressureMain" placeholder=" " :disabled="type==1"></u-input>
+							<u-input v-model="form.exportPressureMain" placeholder=" " :disabled="type==1" type="digit" :clearable="false" @input="checkexportPressureMain"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col span="2">
@@ -134,7 +154,7 @@
 					<u-col span="3">
 						<u-form-item label="副路" borderBottom ref="item1" placeholder=" " labelWidth="80">
 							<u-input v-model="form.exportPressureAccessory" length='20px' trim="false" aceholder=""
-								:disabled="type==1"></u-input>
+								:disabled="type==1" type="digit" :clearable="false" @input="checkexportPressureAccessory"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col span="1">
@@ -145,7 +165,7 @@
 					<u-col span="5">
 						<u-form-item label="关闭压力 主路" borderBottom ref="item1" placeholder=" " labelWidth="200">
 							<u-input v-model="form.closingPressureMain" placeholder=" " trim="false"
-								:disabled="type==1"></u-input>
+								:disabled="type==1" type="digit" :clearable="false" @input="checkclosingPressureMain"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col span="2">
@@ -154,7 +174,7 @@
 					<u-col span="3">
 						<u-form-item label="副路" borderBottom ref="item1" placeholder=" " labelWidth="80">
 							<u-input v-model="form.closingPressureAccessory" length='20px' trim="false" placeholder=" "
-								:disabled="type==1"></u-input>
+								:disabled="type==1" type="digit" :clearable="false" @input="checkclosingPressureAccessory"></u-input>
 						</u-form-item>
 					</u-col>
 					<u-col span="1">
@@ -163,34 +183,54 @@
 				</u-row>
 				<u-row>
 					<u-col>
-						<u-form-item label="伴热带" labelWidth="140" borderBottom ref="item1">
-							<u-input v-model="xtvLabel" disabled @click="showxtv= true&&type!=1" borderBottom
-								placeholder="请选择伴热带"></u-input>
-							<u-select v-model="showxtv" :list="typelist.xtv" @confirm="xtv()" :show="showxtv"
-								label-name="dictLabel" value-name="dictValue"> </u-select>
-							<u-icon slot="right" name="arrow-right"></u-icon>
+						<u-form-item label="伴热带" labelWidth="140" borderBottom ref="item1">	
+							<u-radio-group v-model="form.xtv" :disabled="type==1">
+								<u-radio @change="xtv"
+									v-for="(item, index) in typelist.xtv" :key="index"
+									:name="item.dictValue">
+									{{item.dictLabel}}
+								</u-radio>
+							</u-radio-group>
 						</u-form-item>
 					</u-col>
 					<u-col>
 						<u-form-item label="有无温控器" borderBottom ref="item1" placeholder="" labelWidth="180">
-							<u-switch v-model="form.thermostat" :disabled="type==1"></u-switch>
+							<u-radio-group v-model="form.thermostat" :disabled="type==1">
+								<u-radio @change="thermostat"
+									v-for="(item, index) in typelist.yes_or_no" :key="index"
+									:name="item.dictValue">
+									{{item.dictLabel}}
+								</u-radio>
+							</u-radio-group>
 						</u-form-item>
 					</u-col>
 					<u-col>
 						<u-form-item label="有无防爆开关" borderBottom ref="item1" placeholder="" labelWidth="180">
-							<u-switch v-model="form.explosionProofSwitch" :disabled="type==1"></u-switch>
+							<u-radio-group v-model="form.explosionProofSwitch" :disabled="type==1">
+								<u-radio @change="explosionProofSwitch"
+									v-for="(item, index) in typelist.yes_or_no" :key="index"
+									:name="item.dictValue">
+									{{item.dictLabel}}
+								</u-radio>
+							</u-radio-group>
 						</u-form-item>
 					</u-col>
 				</u-row>
 				<view class="small-title">切断器测证部分</view>
 				<u-row>
 					<u-col>
-						<u-form-item label="未测试" borderBottom ref="item1" placeholder="" labelWidth="120">
-							<u-switch v-model="form.cutterTested" :disabled="type==1"></u-switch>
+						<u-form-item label="切断器测试" borderBottom ref="item1" placeholder="" labelWidth="200">
+							<u-radio-group v-model="form.cutterTested" :disabled="type==1">
+								<u-radio @change="cutterTested"
+									v-for="(item, index) in typelist.cutoff_test_certification" :key="index"
+									:name="item.dictValue">
+									{{item.dictLabel}}
+								</u-radio>
+							</u-radio-group>
 						</u-form-item>
 					</u-col>
 					<u-col>
-						<u-form-item label="切断器(放散阀)测试情况" borderBottom ref="item1" placeholder="" labelWidth="320">
+						<u-form-item label="切断器(放散阀)测试情况" borderBottom ref="item1" placeholder="" labelWidth="320" v-if="form.cutterTested==1">
 							<u-radio-group v-model="form.disconnectorTestStatus" :disabled="type==1">
 								<u-radio @change="disconnectorTestStatus"
 									v-for="(item, index) in typelist.disconnector_test_status" :key="index"
@@ -203,53 +243,49 @@
 				</u-row>
 				<u-row gutter="12">
 					<u-col span="5">
-						<u-form-item label="切断压力 主路" borderBottom ref="item1" placeholder=" " labelWidth="200">
-							<u-input v-model="form.cutOffPressureMain" placeholder=" " :disabled="type==1"></u-input>
+						<u-form-item label="切断压力 主路" borderBottom ref="item1" placeholder=" " labelWidth="200" v-if="form.cutterTested==1">
+							<u-input v-model="form.cutOffPressureMain" placeholder=" " :disabled="type==1" type="digit" :clearable="false" @input="checkcutOffPressureMain"></u-input>
 						</u-form-item>
 					</u-col>
-					<u-col span="2">
-						<viwe class="danwei">KPa</viwe>
+					<u-col span="2" v-if="form.cutterTested==1">
+						<viwe class="danwei" >KPa</viwe>
 					</u-col>
 					<u-col span="3">
-						<u-form-item label="副路" borderBottom ref="item1" placeholder="" labelWidth="80">
+						<u-form-item label="副路" borderBottom ref="item1" placeholder="" labelWidth="80" v-if="form.cutterTested==1">
 							<u-input v-model="form.cutOffPressureAccessory" length='20px' placeholder="请输入副路"
-								:disabled="type==1"></u-input>
+								:disabled="type==1" type="digit" :clearable="false" @input="checkcutOffPressureAccessory"></u-input>
 						</u-form-item>
 					</u-col>
-					<u-col span="1">
+					<u-col span="1" v-if="form.cutterTested==1">
 						<viwe class="danwei">KPa</viwe>
 					</u-col>
 				</u-row>
 				<u-row gutter="12" style="text-align: center;">
 					<u-col span="10">
-						<u-form-item label="放散压力" borderBottom ref="item1" placeholder="请输入放散压力" labelWidth="140">
+						<u-form-item label="放散压力" borderBottom ref="item1" placeholder="请输入放散压力" labelWidth="140" v-if="form.cutterTested==1">
 							<u-input v-model="form.releasePressure" length='20px' placeholder="请输入放散压力"
-								:disabled="type==1"></u-input>
+								:disabled="type==1" type="digit" :clearable="false" @input="checkreleasePressure"></u-input>
 						</u-form-item>
 					</u-col>
-					<u-col span="2">
-						<viwe class="danwei">Mpa</viwe>
+					<u-col span="2" v-if="form.cutterTested==1">
+						<viwe class="danwei" >Mpa</viwe>
 					</u-col>
 				</u-row>
 				<view class="small-title">主副路交替部分</view>
 				<u-row>
 					<u-col>
-						<u-form-item label="未交替" borderBottom ref="item1" placeholder="请输入编号" labelWidth="120">
-							<u-switch v-model="form.manOfAccessoryAlternating" :disabled="type==1"></u-switch>
-						</u-form-item>
-					</u-col>
-					<u-col>
-						<u-form-item label="过滤器" borderBottom ref="item1" placeholder="请输入编号" labelWidth="120">
-							<u-radio-group v-model="form.filter" :disabled="type==1">
-								<u-radio @change="filter" v-for="(item, index) in typelist.filter" :key="index"
+						<u-form-item label="是否交替" borderBottom ref="item1" placeholder="请输入编号" labelWidth="200">
+							<u-radio-group v-model="form.manOfAccessoryAlternating" :disabled="type==1">
+								<u-radio @change="manOfAccessoryAlternating" v-for="(item, index) in typelist.secondary_roads" :key="index"
 									:name="item.dictValue">
 									{{item.dictLabel}}
 								</u-radio>
 							</u-radio-group>
 						</u-form-item>
 					</u-col>
+					
 				</u-row>
-				<u-row gutter="12" style="text-align: center;">
+				<u-row gutter="12" style="text-align: center;" v-if="form.manOfAccessoryAlternating==1">
 					<u-col span="12">
 						<u-form-item label="操作结果主副路已交替完毕,现" borderBottom ref="item1" placeholder="请输入编号"
 							labelWidth="420">
@@ -285,7 +321,7 @@
 							</u-radio-group>
 						</u-form-item>
 					</u-col>
-					<u-col>
+					<!-- <u-col>
 						<u-form-item label="超期巡检原因" borderBottom ref="item1" placeholder="请输入编号" labelWidth="200">
 							<u-radio-group v-model="form.reasonForOverdueInspection" :disabled="type==1">
 								<u-radio @change="reasonForOverdueInspection"
@@ -295,15 +331,15 @@
 								</u-radio>
 							</u-radio-group>
 						</u-form-item>
-					</u-col>
+					</u-col> -->
 					<u-col>
-						<u-form-item label="其他原因" borderBottom ref="item1" labelWidth="160">
-							<u-input v-model="form.otherReasonsForOverdueInspection" placeholder="(非必填项)"
+						<u-form-item label="超期巡检原因" borderBottom ref="item1" labelWidth="200" v-if="form.overdueInspectionDays!=undefined&&form.overdueInspectionDays!=3">
+							<u-input v-model="form.reasonForOverdueInspection" placeholder="请输入超期巡检原因"
 								:disabled="type==1"></u-input>
 						</u-form-item>
 					</u-col>
 				</u-row>
-				<view class="small-title">阀井测试部分</view>
+				<!-- <view class="small-title">阀井测试部分</view>
 				<u-row>
 					<u-col>
 						<u-form-item label="未测试" borderBottom ref="item1" placeholder="请输入编号" labelWidth="120">
@@ -321,7 +357,7 @@
 							<u-icon slot="right" name="arrow-right"></u-icon>
 						</u-form-item>
 					</u-col>
-				</u-row>
+				</u-row> -->
 				<view class="small-title">备注信息</view>
 				<u-row>
 					<u-col>
@@ -358,6 +394,7 @@
 					</u-col>
 				</u-row>
 			</u-form>
+	
 			<u-button class="from-but" style="margin: 40rpx 0;" @click="save()" v-if="type!=1"
 				type='primary'>确认上传</u-button>
 		</view>
@@ -386,7 +423,29 @@
 				progress: 0, //图片或视频上传百分比
 				showxtv: false,
 				showvalveWellCondition: false,
-				form: {},
+				form: {
+					businessService:0,
+					administrativeOffice:0,
+					businessService:0,
+					isNotXtv:0,
+					appearance:0,
+					squareBrick:0,
+					foundation:0,
+					pressureGage:0,
+					valve:0,
+					isThereALeak:0,
+					voltageRegulator:0,
+					xtv:0,
+					thermostat:0,
+					explosionProofSwitch:0,
+					cutterTested:0,
+					manOfAccessoryAlternating:0,
+					filter:0,
+					specialCaseOfPressureRegulatingFacilities:0,
+					overdueInspectionDays:3,
+					valveWellTesting:true,
+					guardrail:0
+				},
 				xtvLabel: null,
 				valveWellConditioLabel: null,
 				// 表单校验
@@ -576,9 +635,9 @@
 				checked: true,
 				typelist: {},
 				dictlist: ['appearance', 'square_brick', 'guardrail', 'foundation', 'pressure_gage', 'valve',
-					'voltage_regulator', 'xtv', 'disconnector_test_status', 'filter',
+					'voltage_regulator', 'xtv', 'disconnector_test_status', 'filter','cutoff_test_certification','secondary_roads',
 					'special_case_of_pressure_regulating_facilities', 'overdue_inspection_days',
-					'reason_for_overdue_inspection', 'valve_well_condition', 'find_problem', 'xtv','administrative_office'
+					'reason_for_overdue_inspection', 'valve_well_condition', 'find_problem', 'xtv','administrative_office','yes_and_no','business_service','yes_or_no'
 				],
 				type: 2,
 				id: null,
@@ -610,6 +669,7 @@
 			})
 		},
 		onLoad(e) {
+		
 			uni.setNavigationBarTitle({
 				title: '调压箱表单'
 			});
@@ -639,7 +699,78 @@
 			this.getUserName()
 		},
 		methods: {
-			
+			checkinletPressure(e) {
+				console.log(e)
+							//正则表达试
+							e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
+							//重新赋值给input
+							this.$nextTick(() => {
+								this.form.inletPressure= e
+							})
+						},
+						checkexportPressureMain(e) {
+							console.log(e)
+										//正则表达试
+										e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
+										//重新赋值给input
+										this.$nextTick(() => {
+											this.form.exportPressureMain= e
+										})
+									},
+									checkclosingPressureAccessory(e) {
+										console.log(e)
+													//正则表达试
+													e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
+													//重新赋值给input
+													this.$nextTick(() => {
+														this.form.closingPressureAccessory= e
+													})
+												},
+												checkexportPressureAccessory(e) {
+													console.log(e)
+																//正则表达试
+																e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
+																//重新赋值给input
+																this.$nextTick(() => {
+																	this.form.exportPressureAccessory= e
+																})
+															},
+															checkclosingPressureMain(e) {
+																console.log(e)
+																			//正则表达试
+																			e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
+																			//重新赋值给input
+																			this.$nextTick(() => {
+																				this.form.closingPressureMain= e
+																			})
+																		},
+	checkcutOffPressureMain(e) {
+		console.log(e)
+					//正则表达试
+					e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
+					//重新赋值给input
+					this.$nextTick(() => {
+						this.form.cutOffPressureMain= e
+					})
+				},
+				checkcutOffPressureAccessory(e) {
+					console.log(e)
+								//正则表达试
+								e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
+								//重新赋值给input
+								this.$nextTick(() => {
+									this.form.cutOffPressureAccessory= e
+								})
+							},
+							checkreleasePressure(e) {
+								console.log(e)
+											//正则表达试
+											e = (e.match(/^\d*(\.?\d{0,2})/g)[0]) || null
+											//重新赋值给input
+											this.$nextTick(() => {
+												this.form.releasePressure= e
+											})
+										},
 			getUserName(){
 				service.getUserName().then(res=>{
 					this.userId=res.id
@@ -703,6 +834,21 @@
 				this.$refs.form.appearance = e
 				console.log(e)
 			},
+			explosionProofSwitch(e)
+			{
+				this.$refs.form.explosionProofSwitch = e
+				console.log(e)
+			},
+			thermostat(e)
+			{
+				this.$refs.form.thermostat = e
+				console.log(e)
+			},
+			businessService(e)
+			{
+				this.$refs.form.businessService = e
+				console.log(e)
+			},
 			//方砖
 			squareBrick(e) {
 				this.$refs.form.squareBrick = e
@@ -733,16 +879,31 @@
 				this.$refs.form.voltageRegulator = e
 				console.log(e)
 			},
+			isThereALeak(e)
+			{
+				this.$refs.form.isThereALeak = e
+				console.log(e)
+			},
 			//切断器(放散阀)测试情况
 			disconnectorTestStatus(e) {
 				this.$refs.form.disconnectorTestStatus = e
 				console.log(e)
 			},
+			cutterTested(e)
+			{
+				this.$refs.form.cutterTested = e
+				console.log(e)
+			},
 			//过滤器
 			filter(e) {
 				this.$refs.form.filter = e
 				console.log(e)
 			},
+			manOfAccessoryAlternating(e)
+			{
+				this.$refs.form.manOfAccessoryAlternating = e
+				console.log(e)
+			},
 			specialCaseOfPressureRegulatingFacilities(e) {
 				this.$refs.form.specialCaseOfPressureRegulatingFacilities = e
 				console.log(e)
@@ -756,9 +917,10 @@
 				console.log(e)
 			},
 			xtv(e) {
-				this.form.xtv = e[0].value
-				this.xtvLabel = e[0].label
-				console.log(this.xtvLabel)
+				this.$refs.form.xtv = e
+				// this.form.xtv = e[0].value
+				// this.xtvLabel = e[0].label
+				// console.log(this.xtvLabel)
 			},
 			AdministrativeOffice(e)
 			{
@@ -797,7 +959,28 @@
 					// 		url: '/pages/index/index'
 					// 	})
 					// }, 2000)
-					this.form={}
+					this.form={businessService:0,
+					administrativeOffice:0,
+				
+					businessService:0,
+					isNotXtv:0,
+					appearance:0,
+					squareBrick:0,
+					foundation:0,
+					pressureGage:0,
+					valve:0,
+					isThereALeak:0,
+					voltageRegulator:0,
+					xtv:0,
+					thermostat:0,
+					explosionProofSwitch:0,
+					cutterTested:0,
+					manOfAccessoryAlternating:0,
+					filter:0,
+					specialCaseOfPressureRegulatingFacilities:0,
+					overdueInspectionDays:3,
+					valveWellTesting:true,
+					guardrail:0}
 					this.valveWellConditioLabel=''
 					this.xtvLabel=''
 					this.valveWellConditioLabel=''

+ 8 - 7
pages/noLogin/WarningPileList.vue

@@ -3,16 +3,17 @@
 		<image src="/static/icon/background-from.png" mode="" class="background"></image>
 		<view>
 			<view class="sousuo">
-				<u-search disabled placeholder="请选择巡检人员" @click="showName=true" v-model="userName"  :show-action="false"></u-search>
-				<u-select v-model="showName" :list="workList"  label-name="name" value-name="id" @confirm="worker()" @cancel="cancelWorker()"></u-select>
+				<u-search  placeholder="请输入阀井名称" @click="showName=true" v-model="userName"  :show-action="false"@search="getProjectList()" ></u-search>
+				<!-- <u-select v-model="showName" :list="workList"  label-name="name" value-name="id" @confirm="worker()" @cancel="cancelWorker()"></u-select>
 					<u-search placeholder="请输入巡检柱名称" v-model="name"  :show-action="false" :action-style="{'font-size':'40rpx'}" 
-						@search="getProjectList()"></u-search>
+						@search="getProjectList()"></u-search> -->
+                <u-search  placeholder="请输入阀井位置" @click="showName=true" v-model="userId"  :show-action="false" @search="getProjectList()"></u-search>
 			</view>
 
 			<view v-for="(item,index) in list" :key="index">
 				<view class="project-content houseList" @click="gotoindex(item)">
 					<view class="font-forty-eight houseList_in">
-						<span>{{item.name}}</span>
+						<span>{{item.valveWellName}}<span style="font-size: 20rpx;">({{item.position}})</span></span>
 						<u-icon name="arrow-right"></u-icon>
 					</view>
 				</view>
@@ -52,7 +53,7 @@
 		onLoad() {
 			this.getProjectList();
 			this.getUserName();
-			this.getWorker();
+			//this.getWorker();
 			uni.setNavigationBarColor({
 			    frontColor: '#ffffff',
 			    backgroundColor: '#2d95f4',
@@ -83,7 +84,7 @@
 			gotoindex(item) {
 				console.log(item)
 				uni.navigateTo({
-					url:`/pages/noLogin/WarningPileForm/WarningPileForm?id=${item.id}`
+					url:`/pages/noLogin/valveWellInspection/valveWellInspection?valveWellName=${item.valveWellName}&position=${item.position}&id=${item.id}&type=2`
 				})
 			},
 			topage(url) {
@@ -93,7 +94,7 @@
 			},
 			getProjectList() {
 				this.list=[]
-				service.getwarningPileList({name:this.name,userId:this.userId}).then(res => {
+				service.getvalveWellPositionlist({valveWellName:this.userName,position:this.userId}).then(res => {
 					console.log('getwarningPileList', res)
 					if (res.length == 0) {
 						this.$UTILS.showPrompt('暂无项目!')

+ 2 - 2
pages/noLogin/emergencyRepairOrder/emergencyRepairOrder.vue

@@ -11,8 +11,8 @@
 						@click="showtime=true&&type!=1"></u-input>
 					<u-picker v-model="showtime" mode="time" :params="params" @confirm="time()"></u-picker>
 				</u-form-item>
-				<u-form-item label="报修人" labelWidth="150" borderBottom ref="item1">
-					<u-input v-model="form.repairName" borderBottom placeholder="请输入报修人" :disabled="type==1"></u-input>
+				<u-form-item label="工程名称" labelWidth="150" borderBottom ref="item1">
+					<u-input v-model="form.repairName" borderBottom placeholder="请输入工程名称" :disabled="type==1"></u-input>
 				</u-form-item>
 				<u-form-item label="联系电话" labelWidth="150" borderBottom ref="item1">
 					<u-input v-model="form.repairPhone" borderBottom placeholder="请输入联系电话"

+ 273 - 0
pages/noLogin/fileList/fileList.vue

@@ -0,0 +1,273 @@
+<template>
+	<view>
+		<image src="/static/icon/background.png" mode="" class="background"></image>
+		<!-- <view class="" style="padding-top: 0rpx;">
+			<!-- <back></back> -->
+		<!-- </view> --> 
+		<view >
+				<view>
+				<u-search placeholder="请输入搜索内容" v-model="value1"  shape="square" :show-action="false" :action-style="{'font-size':'40rpx'}" @search="gethosList()"></u-search>
+				</view>
+			<view v-for="(item,index) in list" :key="index" >
+				<view class="project-content"  @click="Downloads(item)">
+					<view>
+						<view class="font-forty-eight blue" style="font-size: 18px;">
+							文件名称:{{item.fileName}}
+						</view>
+						<view class="font-forty-eight blue" style="font-size: 20px;">
+							文件类型:{{item.fileSuffix}}
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<u-mask :show="show" @click="show = false" width="100%" height="100%" >
+			<u-image   width="100%" height="300px" :src="src"  class="makImage" ></u-image>
+		</u-mask>
+		<mypopup :show="show_loding" :popupText="popupText" :titleText="titleText" :cancelText="cancelText"
+						:confirmText="confirmText" @close="cancel_loding" @confirm="confirm_loding">
+					</mypopup>
+	</view>
+</template>
+
+<script>
+	import service from '@/api/index.js'
+	import mypopup from '../../../components/mypopup.vue'
+	export default {
+		components:{
+			mypopup
+		},
+		data() {
+			return {
+				show_loding: false,
+									popupText: '', //对话框内容
+									titleText: '',
+									cancelText: '',
+									confirmText: '',
+				list:[],
+				value:'',
+				value1:'',
+				nameValue:'',
+				civilPower:'',
+				userId:'',
+				index:-1,
+				ReachBottom:true,
+				page:1,
+				total:0,
+				ranks:5,
+				src:null,
+				show:false,
+				fileName:null,
+				fileUrl:null
+			}
+		},
+		onLoad(e) {
+			this.nameValue = e.nameValue
+			//this.getProjectList();
+			this.getUserName();
+			this.getFileList()
+			uni.setNavigationBarTitle({
+					title: '文件下载',
+			});
+			uni.setNavigationBarColor({
+			    frontColor: '#ffffff',
+			    backgroundColor: '#2d95f4',
+			})
+		},
+		onTabItemTap(e)
+		{
+			console.log(e)
+			uni.removeStorageSync('type')
+		},
+		onReachBottom(){
+			console.log('触底')
+			this.getReachBottom()
+		},
+		onPullDownRefresh()
+		{
+			console.log('下拉刷新')
+			this.getReachBottom()
+		},
+		methods: {
+			// getReachBottom()
+			// {
+			// 	if (this.ReachBottom) {
+					
+			// 		this.page+=1
+			// 		this.getFileList()
+			// 		}else
+			// 		{
+			// 			this.page=1
+			// 			this.ReachBottom=false
+			// 		}
+			
+			// },
+			//取消按钮
+							cancel_loding() {
+								let _this = this;
+								_this.show_loding = false;
+								if (!_this.isEmpty(_this.fileUrl)) {
+									uni.setClipboardData({
+										data: _this.fileUrl,
+										success() {
+											uni.showToast({
+												title: '已复制' + _this.fileName + '地址成功 请在浏览器打开',
+												icon: 'none'
+											});
+										},
+										fail(e) {
+											uni.showToast({
+												title: '复制失败',
+												icon: 'none'
+											});
+										}
+									});
+			
+								}
+							},
+							//确定按钮
+							confirm_loding() {
+								this.show_loding = false;
+								this.download(this.fileUrl, this.fileName);
+			
+			
+							},
+							isEmpty(str) {
+							
+												return (!str || 0 === str.length);
+							
+											},
+			getFileList()
+			{
+				service.getFileList(this.ranks).then(res=>{
+					console.log('getProjectType', res)
+					
+					if(null==res){
+						this.$UTILS.showPrompt('暂无可供下载文件!')
+						return
+					}
+					let list1=[]
+					// this.total=res.total
+					// if(res.total>this.page*10)
+					// {
+					// 	this.ReachBottom=true
+					// }else
+					// {
+					// 	this.ReachBottom=false
+					// }
+					list1=res
+					this.list.push(...list1)
+				})
+			},
+			getUserName(){
+				service.getUserName().then(res=>{
+					this.userId=res.id
+					this.civilPower = res.civilPower;
+					this.ranks=res.ranks
+				})
+			},
+	
+		//签订合同下载
+		Downloads(item) {
+			if(item.fileSuffix=='png'||item.fileSuffix=='jpg'||item.fileSuffix=='jpeg'||item.fileSuffix=='mp4'||item.fileSuffix=='dwg'||item.fileSuffix=='dwt')
+			{
+				this.src=item.url
+				this.show=true
+				
+			}else
+			{
+		this.chooseModel(item.url,item.fileName)
+		}
+	},
+	chooseModel(url, name) {
+						this.cancelText = '复制';
+						this.confirmText = "下载";
+						this.titleText = "温馨提示"
+						this.popupText = "下载或者复制链接";
+						this.show_loding = true;
+						this.fileName = name;
+						this.fileUrl = url; //文件名称和下载地址赋值
+	
+					},
+	getDownLoadFilePath() {
+						let cachePath = `${uni.env.USER_DATA_PATH}/downloads`
+						let fm = uni.getFileSystemManager()
+						try {
+							// 访问成功则存在
+							fm.accessSync(cachePath)
+						} catch (error) {
+							// 不存在则新建
+							fm.mkdirSync(cachePath, true)
+						}
+						return cachePath
+					},
+	download(url, name) {
+	
+						let savePath = this.getDownLoadFilePath();
+						//var savePath = uni.env.USER_DATA_PATH + '/savePath'
+						uni.downloadFile({
+							url: url,
+							success: response => {
+								if (response.statusCode === 200) {
+									uni.getFileSystemManager().saveFile({
+										tempFilePath: response.tempFilePath,
+										filePath: `${savePath}/${name}`,
+										success: (resData) => {
+											uni.showToast({
+												title: '下载成功'
+											})
+										},
+										fail: error => {}
+									})
+								}
+							}
+						})
+	
+	
+	
+					},
+	}
+		}
+</script>
+
+<style lang="scss" scoped>
+	.background {
+		z-index: -1;
+		position: fixed;
+		width: 100%;
+		height: 100%;
+		background-size: 100% 100%;
+	}
+
+	.project {
+		border-radius: 72rpx;
+		padding: 25rpx 0;
+		text-align: center;
+		margin: 170rpx 55rpx 0;
+	}
+
+	.project-content {
+		border: 4rpx solid #3857F3;
+		margin: 40rpx 55rpx 0;
+		padding: 30rpx 20rpx;
+		border-radius: 48rpx;
+	}
+	.position{
+		position: absolute;
+		bottom: 100rpx;
+		right: 50rpx;
+		.arrow{
+			width: 152rpx;
+			height: 152rpx;
+			border-radius: 50%;
+			padding: 25rpx;
+			margin-left: 20rpx;
+		}
+	}
+	.makImage{
+		  top:50%;
+		  left: 50%;
+		  text-align: center;
+	}
+	
+</style>

+ 8 - 0
pages/noLogin/fileList/fileMessage.vue

@@ -0,0 +1,8 @@
+<template>
+</template>
+
+<script>
+</script>
+
+<style>
+</style>

+ 85 - 4
pages/noLogin/listProject.vue

@@ -5,9 +5,9 @@
 			<!-- <back></back> -->
 		</view>
 		<view >
-			<u-grid :col="4">
+			<u-grid :col="6" style="font-size: 12px;">
 					<u-grid-item @click="getProjectList(index1)" v-for="(item, index1) in viewList" :bg-color="index1==index ? '#6aabff':''" :index="index1">
-						<image :src="item.src" mode="" style="height: 100rpx;width: 100rpx;"></image>
+						<image :src="item.src" mode="" style="height: 80rpx;width: 80rpx;"></image>
 						<view class="grid-text">{{item.name}}</view>
 					</u-grid-item>
 				</u-grid>
@@ -44,7 +44,7 @@
 				index:-1,
 				ReachBottom:true,
 				page:1,
-				viewList:[{name:'抢险维修',src:'../../static/icon/qxwx.png'},{name:'调压箱管理',src:'../../static/icon/xxdy.png'},{name:'庭院网管',src:'../../static/icon/tywg.png'},{name:'警示桩管理',src:'../../static/icon/jsz.png'}]
+				viewList:[{name:'抢险维修',src:'../../static/icon/qxwx.png'},{name:'调压箱管理',src:'../../static/icon/xxdy.png'},{name:'庭院网管',src:'../../static/icon/tywg.png'},{name:'路段巡查',src:'../../static/icon/jsz.png'},{name:'阀井巡查',src:'../../static/icon/jsz.png'},{name:'输配站',src:'../../static/icon/jsz.png'}]
 			}
 		},
 		onLoad(e) {
@@ -60,6 +60,11 @@
 			    backgroundColor: '#2d95f4',
 			})
 		},
+		onTabItemTap(e)
+		{
+			console.log(e)
+			uni.removeStorageSync('type')
+		},
 		onReachBottom(){
 			console.log('触底')
 			this.getReachBottom()
@@ -102,9 +107,24 @@
 						url: `/pages/noLogin/emergencyRepairOrder/emergencyRepairOrder?type=1&id=${item.id}`
 					})
 				}else if(this.index==3)
+				{//路段
+				console.log(item)
+				let url1= `/pages/noLogin/roadSection/roadSection?type=1&id=${item.id}`
+					uni.navigateTo({
+						url: url1
+					})
+				}
+				else if(this.index==4)
 				{//警示桩
 				console.log(item)
-				let url1= `/pages/noLogin/WarningPileForm/WarningPileForm?type=1&id=${item.id}`
+				let url1= `/pages/noLogin/valveWellInspection/valveWellInspection?type=1&id=${item.id}`
+					uni.navigateTo({
+						url: url1
+					})
+				}else if(this.index==5)
+				{//警示桩
+				console.log(item)
+				let url1= `/pages/noLogin/LNGStation/LNGStation?type=1&id=${item.id}`
 					uni.navigateTo({
 						url: url1
 					})
@@ -167,6 +187,66 @@
 				}
 				this.index=val
 				this.list=[]
+				if(val==3)
+				{
+					
+					service.getroadSectionInspectionList({discoverProblems:this.value1,userId:this.userId,createBy:this.userId}).then(res=>{
+					console.log('getProjectType', res)
+					if(res.length == 0){
+						this.$UTILS.showPrompt('暂无历史记录!')
+						return
+					}
+					let list1=[]
+					list1=res
+					list1.forEach(item=>{
+						item.type=3
+						item.name=item.sectionName
+						item.time=item.findTime
+						this.list.push(item)
+					})
+					})
+					
+				}else if(val==4)
+				{
+					service.getvalveWellPositionList({discoverProblems:this.value1,userId:this.userId,createBy:this.userId}).then(res=>{
+					console.log('getProjectType', res)
+					if(res.length == 0){
+						this.$UTILS.showPrompt('暂无历史记录!')
+						return
+					}
+					let list1=[]
+					list1=res
+					list1.forEach(item=>{
+						item.type=4
+						item.name=item.position.valveWellName
+						item.time=item.discoverTime
+						this.list.push(item)
+					})
+					})
+
+				}
+				else if(val==5)
+				{
+					service.gettransmissionStationList({name:this.value1,userId:this.userId,createBy:this.userId}).then(res=>{
+					console.log('getProjectType', res)
+					if(res.length == 0){
+						this.$UTILS.showPrompt('暂无历史记录!')
+						return
+					}
+					let list1=[]
+					list1=res.rows
+					list1.forEach(item=>{
+						item.type=5
+						item.name=item.name
+						item.time=item.createTime
+						this.list.push(item)
+					})
+					})
+				
+				}
+				
+				else
+				{
 				service.getSearch({type:val,userId:this.userId,page:this.page,size:10,value:this.value1}).then(res=>{
 					console.log('getProjectType', res)
 					if(res.length == 0){
@@ -195,6 +275,7 @@
 		
 					//this.list = res;
 				})
+				}
 			},
 			getUserName(){
 				service.getUserName().then(res=>{

+ 446 - 0
pages/noLogin/roadSection/roadSection.vue

@@ -0,0 +1,446 @@
+<template>
+<view>
+<image src="/static/icon/background-from.png" class="background"></image>
+<view class="project-content">
+	<u-form :model="form" :rules="rules" ref="form">
+		<u-form-item label="路段名称" borderBottom ref="item1" labelWidth="140">
+			<u-input v-model="form.sectionName" :disabled="type==1" borderBottom @click="showbuilding= true&&type!=1"
+				placeholder="请输入路段名称"></u-input>
+		</u-form-item>
+		<u-form-item label="抽检米数" labelWidth="140" borderBottom ref="item1">
+			<u-input v-model="form.samplingMeterCount" :disabled="type==1" borderBottom @click="showbuilding= true&&type!=1"
+				placeholder="请输入抽检米数" @input="checksamplingMeterCount()"></u-input>
+		</u-form-item>
+		<u-form-item label="发现问题" labelWidth="140" borderBottom ref="item1">
+			<u-radio-group v-model="form.findProblem" :disabled="type==1">
+				<u-radio @change="confirm"
+					v-for="(item, index) in typelist.find_problem"
+					:key="index" :name="item.dictValue">
+					{{item.dictLabel}}
+				</u-radio>
+			</u-radio-group>
+		</u-form-item>
+		<u-form-item label="发现时间" labelWidth="140" borderBottom ref="item1">
+				<u-input v-model="form.findTime" borderBottom placeholder="请选择接警时间" disabled
+					@click="showtime=true&&type!=1"></u-input>
+				<u-picker v-model="showtime" mode="time" :params="params" @confirm="time()"></u-picker>
+		</u-form-item>
+		<u-form-item borderBottom ref="item1">
+			<view>巡检照片</view>
+			<u-input v-model="WarningColumnInformation" disabled placeholder="请上传巡检照片"></u-input>
+			<view class="" style="display: flex; flex-wrap: wrap; margin: 0 55rpx;">
+				<image src="/static/icon/chooseimg.png" mode=""
+					style="width: 190rpx; height: 190rpx; margin: 0 12rpx; " @click="choose()" v-if="type!=1">
+				</image>
+				<view v-for="(item,index) in imgymxs" :key="index" style="position: relative;">
+					<view v-if="item.type == 'image'">
+						<image :src="item.url" mode="" style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"
+							@click="showPhoto(index)">
+						</image>
+					</view>
+					<view v-else>
+						<video :src="item" style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"></video>
+					</view>
+					<view @click="remove(index)"
+						style="position: absolute; top: 0; right: 14rpx; border-radius: 50%; background-color: #FF0000;">
+						<u-icon name="close" color="#FFFFFF" size="35" v-if="type!=1"></u-icon>
+					</view>
+				</view>
+			</view>
+		</u-form-item>
+		<u-form-item borderBottom ref="item1">
+			<view>备注</view>
+			<u-input v-model="form.remark" type="textarea" placeholder="请输入备注" :disabled="type==1"></u-input>
+		</u-form-item>
+	</u-form>
+	<u-button style="background: #2d95f4;color: #fff;border-radius: 20rpx;" @click="save()" v-if="type!=1"
+		type='primary'>确认上传</u-button>
+</view>
+</view>
+</template>
+<script>
+import service from '@/api/index.js'
+export default {
+data() {
+	return {
+		repairType: [{
+			label: '施工问题',
+			value: 1
+		}, {
+			label: '施工问题',
+			value: 2
+		}, ],
+		showrepairType: false,
+		action: this.$HTTP.webUrl + `/obs`,
+		headers: {
+			MAuthorization: "wxBearer " + uni.getStorageSync('token')
+		},
+		url: [],
+		params: {
+			year: true,
+			month: true,
+			day: true,
+			hour: true,
+			minute: true,
+			second: false
+		},
+		uploading: false,
+		showtime:false,
+		imgArr: [],
+		imgymxs: [],
+		progress: 0, //图片或视频上传百分比
+		form: {},
+		typelist: [],
+		causesOfFamageLabel: null,
+		dictlist: ['find_problem'],
+		buildingName: null,
+		unit: null,
+		unitName: null,
+		showbuilding: false,
+		showunit: false,
+		buildingList: [],
+		unitList: [],
+		type: 2,
+		id: null,
+		community: null,
+		createBy:null
+	}
+},
+onLoad(e) {
+	// this.building = e.building
+	// this.buildingName = e.buildingName
+	// this.community = e.community
+	// this.unitName = e.unitName
+	// this.unit = e.unit
+	 this.id = e.id
+	this.type = e.type
+	console.log(e)
+	this.getdictsysinfo()
+	uni.setNavigationBarTitle({
+		title: '路段巡查'
+	});
+	uni.setNavigationBarColor({
+		frontColor: '#ffffff',
+		backgroundColor: '#2d95f4',
+	})
+	// if (this.type != 1) {
+	// 	this.getBuildingList()
+	// }
+	this.getUserName()
+},
+methods: {
+	time(e) {
+		console.log(`${e.year}-${e.month}-${e.day} ${e.hour}:${e.minute}`)
+		this.form.findTime = `${e.year}-${e.month}-${e.day} ${e.hour}:${e.minute}`
+	},
+	checksamplingMeterCount(e) {
+		console.log(e)
+					//正则表达试
+					e = (e.match(/^\d*(\.?\d{0,10})/g)[0]) || null
+					//重新赋值给input
+					this.$nextTick(() => {
+						this.form.samplingMeterCount= e
+					})
+				},
+	getUserName(){
+		service.getUserName().then(res=>{
+			this.userId=res.id
+			this.createBy=res.name
+		})
+	},
+	// showPhoto(index) {
+	// 	uni.previewImage({
+	// 		current: index,
+	// 		urls: this.imgArr,
+	// 	})
+	// },
+	// showPhotos(index) {
+	// 	uni.previewImage({
+	// 		current: index,
+	// 		urls: this.photo,
+	// 	})
+	// },
+	// buildingconfirm(e) {
+	// 	this.buildingName = e[0].label
+	// 	this.building = e[0].value
+	// 	console.log(this.building)
+	// 	//this.getUnitList(e[0].value)
+	// },
+	// unitconfirm(e) {
+	// 	this.unitName = e[0].label
+	// 	this.unit = e[0].value
+	// },
+	// getBuildingList() {
+	// 	const _this = this
+	// 	service.getBuildingList({
+	// 		areaId: this.community
+	// 	}).then(res => {
+	// 		_this.buildingList = res
+	// 	})
+	// },
+	// getUnitList(building) {
+	// 	const _this = this
+	// 	service.getUnitList({
+	// 		buildingId: building
+	// 	}).then(res => {
+	// 		_this.unitList = res
+	// 	})
+	// },
+	save() {
+		let _this = this
+		this.form.photoList = this.imgArr
+		// if(this.building==null)
+		// {
+		// 	uni.showToast({
+		// 		title: '请选择楼栋',
+		// 		icon: 'none'
+		// 	})
+		// 	return
+		// }
+		if(this.imgArr.length==0)
+		{
+			uni.showToast({
+				title: '请上传图片或视频!',
+				icon: 'none'
+			})
+			return
+		}
+		// this.form.buildingId = this.building
+		// this.form.communityId=this.community
+		this.form.userId=this.userId
+		this.form.createBy=this.userId
+		service.saveroadSectionInspection(this.form).then(res => {
+			console.log(res)
+			_this.$UTILS.showPrompt('上报成功!')
+			// setTimeout(() => {
+			// 	console.log('跳')
+			// 	uni.switchTab({
+			// 		url: '/pages/index/index'
+			// 	})
+			// }, 2000)
+			this.form={}
+			// this.buildingName=''
+			this.imgArr=[]
+			this.imgymxs=[]
+		})
+	},
+	getdictsysinfo() {
+		let _this = this
+		service.getDictInfoList({
+			type: this.dictlist
+		}).then(res => {
+			if (this.type == 1) {
+				let _this = this
+				console.log(this.id)
+				service.getroadSectionInspection(this.id).then(res => {
+					// console.log(_this.typelist)
+					// _this.buildingName = res.buildingName
+					// _this.unitName = res.unitName
+					// let list = []
+					// list = _this.typelist.find_problem
+					// list.forEach((item) => {
+					// 	if (item.dictValue == res.findProblem) {
+					// 		_this.causesOfFamageLabel = item.dictLabel
+					// 	}
+					// })
+					if (null != res.photoList) {
+						res.photoList.forEach(item => {
+							let url = {}
+							url.url = item
+							url.type = 'image'
+							this.imgymxs.push(url)
+						})
+					}
+					this.form = res
+				})
+			}
+			_this.typelist = res
+			console.log(res)
+		})
+	},
+	confirm(e) {
+		this.form.findProblem =e
+	},
+	choose() {
+		let _this = this;
+		uni.showActionSheet({
+			title: '上传',
+			itemList: ['图片', '视频'],
+			success: (res) => {
+				// console.log(res)
+				if (res.tapIndex == 0) {
+					this.chooseimage()
+				} else {
+					this.choosevideo()
+				}
+			}
+		})
+	},
+	chooseimage() {
+		console.log('图片')
+		let _this = this;
+		uni.chooseImage({
+			sourceType: ['camera'],
+			success(resp) {
+				console.log('res--uni.chooseMedia', resp);
+				resp.tempFiles.forEach((item, index) => {
+					const task = uni.uploadFile({
+						url: _this.$HTTP.webUrl + `/obs`,
+						filePath: item.path,
+						name: 'file',
+						formData: {},
+						header: _this.headers,
+						success: res => {
+							// 判断是否json字符串,将其转为json格式
+							let data = _this.$u.test.jsonString(res.data) ? JSON.parse(
+								res.data) : res.data;
+							if (![200, 201, 204].includes(res.statusCode)) {
+								// this.uploadError(index, data);
+								_this.$UTILS.showPrompt('选取失败!')
+							} else {
+								// 上传成功
+								// this.lists[index].response = data;
+								// this.lists[index].progress = 100;
+								// this.lists[index].error = false;
+								// this.$emit('on-success', data, index, this.lists, this
+								// 	.index);
+								if (_this.progress === 100) {
+									// console.log('_this.progress', _this.progress)
+									// console.log('data----', data)
+									// console.log('res--', res)
+									_this.imgymxs.push({
+										url: data.data.url,
+										type: 'image'
+									})
+									_this.imgArr.push(data.data.url)
+									// console.log('imgArr', _this.imgArr)
+									_this.$UTILS.showPrompt('选取成功!')
+								}
+							}
+						},
+						fail: e => {
+							_this.$UTILS.showPrompt('选取失败!')
+							this.uploadError(index, e);
+						},
+						complete: res => {
+							_this.uploading = false;
+							// _this.uploadFile(index + 1);
+							// this.$emit('on-change', res, index, this.lists, this
+							// .index);
+						}
+					});
+					task.onProgressUpdate(res => {
+						// if (res.progress > 0) {
+						// 	this.lists[index].progress = res.progress;
+						// 	this.$emit('on-progress', res, index, this.lists, this.index);
+						// }
+						_this.progress = res.progress;
+						console.log('onProgressUpdate', res)
+						uni.showLoading({
+							title: '选取中'
+						})
+					});
+				})
+			},
+		})
+	},
+	choosevideo() {
+		let _this = this;
+		console.log('视频')
+		uni.chooseVideo({
+			sourceType: ['camera'],
+			maxDuration: 30,
+			success(resp) {
+				const task = uni.uploadFile({
+					url: _this.$HTTP.webUrl + `/obs`,
+					filePath: resp.tempFilePath,
+					name: 'file',
+					formData: {},
+					header: _this.headers,
+					success: res => {
+						// 判断是否json字符串,将其转为json格式
+						let data = _this.$u.test.jsonString(res.data) ? JSON.parse(res.data) :
+							res.data;
+						if (![200, 201, 204].includes(res.statusCode)) {
+							this.uploadError(index, data);
+						} else {
+							// 上传成功
+							// this.lists[index].response = data;
+							// this.lists[index].progress = 100;
+							// this.lists[index].error = false;
+							// this.$emit('on-success', data, index, this.lists, this
+							// 	.index);	
+							if (_this.progress === 100) {
+								console.log('_this.progress', _this.progress)
+								console.log('data----', data)
+								console.log('res--', res)
+								// _this.imgArr.push(data.data.url)
+								_this.imgymxs.push({
+									url: data.data.url,
+									type: 'video'
+								})
+								_this.imgArr.push(data.data.url)
+								console.log('imgArr', _this.imgArr)
+								_this.$UTILS.showPrompt('选取成功!')
+							}
+						}
+					},
+					fail: e => {
+						_this.$UTILS.showPrompt('选取失败!')
+						this.uploadError(index, e);
+					},
+					complete: res => {
+						uni.hideLoading();
+						_this.uploading = false;
+						// _this.uploadFile(index + 1);
+						// this.$emit('on-change', res, index, this.lists, this
+						// .index);
+					}
+				});
+				task.onProgressUpdate(res => {
+					// if (res.progress > 0) {
+					// 	this.lists[index].progress = res.progress;
+					// 	this.$emit('on-progress', res, index, this.lists, this.index);
+					// }
+					_this.progress = res.progress;
+					console.log('onProgressUpdate', res)
+					uni.showLoading({
+						title: '选取中'
+					})
+				});
+			},
+		})
+	},
+	remove(index) {
+		uni.showModal({
+			title: '提示',
+			content: '是否删除该图片或视频?',
+			success: (res) => {
+				if (res.confirm) {
+					this.imgArr.splice(index, 1);
+					this.imgymxs.splice(index, 1);
+					console.log('this.imgarr', this.imgArr)
+				}
+			}
+		})
+	},
+}
+}
+</script>
+<style>
+.project-content {
+padding: 10rpx 20rpx;
+border-radius: 20rpx;
+background: #fff;
+width: 90%;
+margin: 0 auto;
+}
+
+.background {
+z-index: -1;
+position: fixed;
+width: 100%;
+height: 100%;
+background-size: 100% 100%;
+}
+</style>

+ 129 - 20
pages/noLogin/typeList.vue

@@ -20,7 +20,7 @@
 		</view>
 		<view style="padding-top: 300rpx;">
 			<view v-for="(item,index) in list" :key="index" class="qxwxbox" v-if="power.includes(item.dictValue)&&item.visable">
-				<view class="font-forty-eight qxwx-nav" 
+				<view class="font-forty-eight qxwx-nav"
 					@click="topage(item)">
 					<image :src="item.image" mode="" style="height: 100rpx;width: 100rpx;"></image>
 					<span class="qxwx-navtitle" >{{item.dictLabel}}</span>
@@ -32,6 +32,15 @@
 		<!-- <view class="name">
 			姓名:{{name}}
 		</view> -->
+		<view style="display: flex;flex-direction: row;">
+		<view class="align-items position2" @click="mapindex()" v-if="visable">
+			<view class="background-color1 arrow">
+				<u-icon name="map" size="50rpx" color="#ffffff"></u-icon>
+			</view>
+			<view class="font-forty-eight black">
+				地图展示
+			</view>
+		</view>
 		<view class="align-items position" @click="back('/pages/login/login')" v-if="visable">
 			<view class="background-color1 arrow">
 				<u-icon name="arrow-rightward" size="50rpx" color="#ffffff"></u-icon>
@@ -39,8 +48,18 @@
 			<view class="font-forty-eight black">
 				跳转登录页
 			</view>
-			
+
 		</view>
+		<view class="align-items position" @click="gopage()" v-if="!visable">
+			<view class="background-color1 arrow">
+				<u-icon name="arrow-downward" size="50rpx" color="#ffffff"></u-icon>
+			</view>
+			<view class="font-forty-eight black">
+				文件下载
+			</view>
+		
+		</view>
+	</view>
 	</view>
 </template>
 
@@ -62,7 +81,15 @@
 
 		},
 		onShow() {
-			this.getProjectType();
+			// this.getProjectType();
+			 console.log(uni.getStorageSync('type'))
+			if(uni.getStorageSync('type')!='')
+			{
+				this.list=JSON.parse(uni.getStorageSync('type'))
+			}else
+			{
+				this.getProjectType();
+			}
 			if (this.visable) {
 				console.log(this.visable)
 				uni.hideTabBar()
@@ -71,7 +98,23 @@
 				uni.showTabBar()
 			}
 		},
+		onHide()
+		{
+			//uni.removeStorageSync('type')
+		},
+		
+	onTabItemTap(e)
+	{
+		console.log(e)
+		uni.removeStorageSync('type')
+	},
 		methods: {
+			gopage()
+			{
+				uni.navigateTo({
+					url: `/pages/noLogin/fileList/fileList`
+				})
+			},
 			getProjectList() {
 				// if ('' == this.nameValue) {
 				// 	this.$UTILS.showPrompt('请输入搜索内容!')
@@ -94,7 +137,7 @@
 				if (url.dictValue == '1') {
 					this.list1 = []
 					this.list.forEach(item => {
-						if (item.dictValue == '1'||item.dictValue == '0'||item.dictValue == '6') {
+						if (item.dictValue == '1'||item.dictValue == '0'||item.dictValue == '6'||item.dictValue == '8') {
 							item.visable = false
 						} else {
 							item.visable = true
@@ -105,58 +148,79 @@
 					console.log(this.list)
 					this.visable = true
 					uni.hideTabBar()
-				} else {
-					if (url.dictValue == '4') {
+					uni.setStorageSync('type',JSON.stringify(this.list))
+					console.log(new Date,JSON.parse(uni.getStorageSync('type')))
+				} else if (url.dictValue == '4') {
 						uni.navigateTo({
 							url: `/pages/noLogin/WarningPileList`
 						})
-					} else if(url.dictValue == '0') 
+						
+					}
+					 else if(url.dictValue == '0')
 					{
 						uni.navigateTo({
 							url: `/pages/noLogin/emergencyRepairOrder/emergencyRepairOrder`
 						})
-						
 					}
 					else if(url.dictValue=='6')
 					{
 						this.list1 = []
 						this.list.forEach(item => {
-							if (item.dictValue == '1'||item.dictValue == '0') {
+							if (item.dictValue == '1'||item.dictValue == '0'||item.dictValue == '8') {
 								item.visable = true
 							} else {
 								item.visable = false
 							}
-						
+
 							this.list1.push(item)
 						})
 						this.list = this.list1
+						uni.setStorageSync('type',JSON.stringify(this.list))
 						console.log(this.list)
 						this.visable = true
 						uni.hideTabBar()
 					}
-					else 
+					else if(url.dictValue=='7')
+					{
+						uni.navigateTo({
+							url: `/pages/noLogin/roadSection/roadSection?type=2`
+						})
+					
+					}else if(url.dictValue=='8')
 					{
-						
+						uni.navigateTo({
+							url: `/pages/noLogin/LNGStation/LNGStation?type=2`
+						})
+					
+					}
+					else
+					{
+
 						uni.navigateTo({
 							url: `/pages/noLogin/communitylist?value=${url.dictValue}`
 						})
+					
 					}
 
 
-				}
 			},
 			backview()
 			{
 				this.getProjectType()
-				
 				this.visable=false
 				uni.showTabBar()
 			},
+			mapindex()
+			{
+				uni.navigateTo({
+					url: `/pages/mapindex/mapindex`
+				})
+			},
 			back(url) {
 				this.visable = false
 				this.list1 = []
 				this.list.forEach(item => {
-					if (item.dictValue == '1' || item.dictValue == '2') {
+					if (item.dictValue == '1' || item.dictValue == '2'||item.dictValue == '7' || item.dictValue == '8') {
 						item.visable = true
 					} else {
 						item.visable = false
@@ -165,9 +229,11 @@
 				})
 				this.visable=false
 				this.list = this.list1
+				uni.removeStorageSync('type')
 				uni.navigateTo({
 					url
 				})
+				
 			},
 			getProjectType() {
 				service.getDictInfo({
@@ -182,9 +248,14 @@
 							item.image='../../static/icon/qxwx.png'
 						}else if(item.dictValue==1){
 							item.image='../../static/icon/xxdy.png'
-						}else{
+						}else if (item.dictValue==6)
+						{
 							item.image='../../static/icon/kggs.png'
 						}
+						else if (item.dictValue==6 || item.dictValue == 8){
+							item.image='../../static/icon/kggs.png'
+							item.visable = false
+						}
 						this.list1.push(item)
 					})
 					this.list1.push({
@@ -200,11 +271,23 @@
 						image:'../../static/icon/tywg.png'
 					})
 					this.list1.push({
-						dictLabel: '警示桩管理',
+						dictLabel: '阀井巡查',
 						dictValue: '4',
 						visable: false,
 						image:'../../static/icon/jsz.png'
 					})
+					this.list1.push({
+						dictLabel: '路段巡查',
+						dictValue: '7',
+						visable: false,
+						image:'../../static/icon/kggs.png'
+					})
+					this.list1.push({
+						dictLabel: '输配站巡查',
+						dictValue: '8',
+						visable: false,
+						image:'../../static/icon/kggs.png'
+					})
 					this.list = this.list1
 					console.log(this.list)
 				})
@@ -212,7 +295,7 @@
 			getUserName() {
 				service.getUserName().then(res => {
 					this.name = res.name;
-					this.power = res.power + '2,3,4';
+					this.power = res.power + '2,3,4,7,8';
 				})
 			},
 		},
@@ -259,7 +342,7 @@
 
 	.position {
 		position: absolute;
-		bottom: 100rpx;
+		bottom: auto;
 		right: 50rpx;
 		width: 330rpx;
 		height: 100rpx;
@@ -283,10 +366,36 @@
 		    margin: 0 0 0 20rpx;
 		}
 	}
+	.position2 {
+		bottom: auto;
+		right: 50rpx;
+		width: 330rpx;
+		height: 100rpx;
+		background: #fff;
+		border-radius: 56rpx;
+		break-after: avoid;
+		break-after: avoid;
+		box-shadow: 0rpx 7rpx 10rpx #9ec7fb;
+		    margin-left: 20px;
+		-webkit-font-smoothing: subpixel-antialiased;
+	
+		.arrow {
+			width: 70rpx;
+			height: 70rpx;
+			border-radius: 50%;
+			padding: 10rpx;
+			margin-left: 20rpx;
+		}
+		.black {
+		    color: #333333;
+		    font-size: 36rpx;
+		    margin: 0 0 0 20rpx;
+		}
+	}
 
 	.btn {
 		margin: 90rpx 30rpx;
 		background: #3857F3;
 		border-radius: 72rpx;
 	}
-</style>
+</style>

+ 456 - 0
pages/noLogin/valveWellInspection/valveWellInspection.vue

@@ -0,0 +1,456 @@
+<template>
+<view>
+<image src="/static/icon/background-from.png" class="background"></image>
+<view class="project-content">
+	<u-form :model="form" :rules="rules" ref="form">
+		<u-form-item label="阀井名称" borderBottom ref="item1" labelWidth="140">
+			<u-input v-model="form.valveWellName" disabled borderBottom 
+				placeholder="请输入阀井名称"></u-input>
+		</u-form-item>
+		<u-form-item label="位置" borderBottom ref="item1" labelWidth="140">
+		<u-input v-model="form.position" disabled borderBottom
+			placeholder="请选择位置"></u-input>
+		<!-- <u-select v-model="showposition" :list="buildingList" label-name="name" value-name="id"
+			@confirm="buildingconfirm()"> </u-select>
+		<u-icon slot="right" name="arrow-right"></u-icon> -->
+		</u-form-item>
+		<u-form-item label="发现问题" labelWidth="140" borderBottom ref="item1">
+			<u-radio-group v-model="form.discoverProblems" :disabled="type==1">
+				<u-radio @change="confirm"
+					v-for="(item, index) in typelist.find_problem"
+					:key="index" :name="item.dictValue">
+					{{item.dictLabel}}
+				</u-radio>
+			</u-radio-group>
+		</u-form-item>
+		<u-form-item label="发现时间" labelWidth="140" borderBottom ref="item1">
+				<u-input v-model="form.discoverTime" borderBottom placeholder="请选择接警时间" disabled
+					@click="showtime=true&&type!=1"></u-input>
+				<u-picker v-model="showtime" mode="time" :params="params" @confirm="time()"></u-picker>
+		</u-form-item>
+		<u-form-item borderBottom ref="item1">
+			<view>巡检照片</view>
+			<u-input v-model="WarningColumnInformation" disabled placeholder="请上传巡检照片"></u-input>
+			<view class="" style="display: flex; flex-wrap: wrap; margin: 0 55rpx;">
+				<image src="/static/icon/chooseimg.png" mode=""
+					style="width: 190rpx; height: 190rpx; margin: 0 12rpx; " @click="choose()" v-if="type!=1">
+				</image>
+				<view v-for="(item,index) in imgymxs" :key="index" style="position: relative;">
+					<view v-if="item.type == 'image'">
+						<image :src="item.url" mode="" style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"
+							@click="showPhoto(index)">
+						</image>
+					</view>
+					<view v-else>
+						<video :src="item" style="width: 190rpx; height: 190rpx; margin: 0 20rpx;"></video>
+					</view>
+					<view @click="remove(index)"
+						style="position: absolute; top: 0; right: 14rpx; border-radius: 50%; background-color: #FF0000;">
+						<u-icon name="close" color="#FFFFFF" size="35" v-if="type!=1"></u-icon>
+					</view>
+				</view>
+			</view>
+		</u-form-item>
+		<u-form-item borderBottom ref="item1">
+			<view>备注</view>
+			<u-input v-model="form.remark" type="textarea" placeholder="请输入备注" :disabled="type==1"></u-input>
+		</u-form-item>
+	</u-form>
+	<u-button style="background: #2d95f4;color: #fff;border-radius: 20rpx;" @click="save()" v-if="type!=1"
+		type='primary'>确认上传</u-button>
+</view>
+</view>
+</template>
+<script>
+import service from '@/api/index.js'
+export default {
+data() {
+	return {
+		repairType: [{
+			label: '施工问题',
+			value: 1
+		}, {
+			label: '施工问题',
+			value: 2
+		}, ],
+		showrepairType: false,
+		action: this.$HTTP.webUrl + `/obs`,
+		headers: {
+			MAuthorization: "wxBearer " + uni.getStorageSync('token')
+		},
+		url: [],
+		showposition:false,
+		params: {
+			year: true,
+			month: true,
+			day: true,
+			hour: true,
+			minute: true,
+			second: false
+		},
+		uploading: false,
+		showtime:false,
+		imgArr: [],
+		imgymxs: [],
+		progress: 0, //图片或视频上传百分比
+		form: {},
+		typelist: [],
+		causesOfFamageLabel: null,
+		dictlist: ['find_problem'],
+		buildingName: null,
+		unit: null,
+		unitName: null,
+		showbuilding: false,
+		showunit: false,
+		buildingList: [],
+		unitList: [],
+		type: 2,
+		id: null,
+		community: null,
+		createBy:null,
+		valveWellName:null,
+		position:null
+	}
+},
+onLoad(e) {
+	// this.building = e.building
+	// this.buildingName = e.buildingName
+	// this.community = e.community
+	// this.unitName = e.unitName
+	// this.unit = e.unit
+	this.id = e.id
+	
+	this.type = e.type
+	
+	console.log(e)
+	this.getdictsysinfo()
+	uni.setNavigationBarTitle({
+		title: '阀井巡查'
+	});
+	uni.setNavigationBarColor({
+		frontColor: '#ffffff',
+		backgroundColor: '#2d95f4',
+	})
+	if (this.type != 1) {
+		//this.getBuildingList()
+		this.valveWellName=e.valveWellName
+		this.position=e.position
+		this.form.valveWellName=this.valveWellName
+		this.form.position=this.position
+	}
+	this.getUserName()
+},
+methods: {
+	time(e) {
+		console.log(`${e.year}-${e.month}-${e.day} ${e.hour}:${e.minute}`)
+		this.form.discoverTime = `${e.year}-${e.month}-${e.day} ${e.hour}:${e.minute}`
+	},
+	checksamplingMeterCount(e) {
+		console.log(e)
+					//正则表达试
+					e = (e.match(/^\d*(\.?\d{0,10})/g)[0]) || null
+					//重新赋值给input
+					this.$nextTick(() => {
+						this.form.samplingMeterCount= e
+					})
+				},
+	getUserName(){
+		service.getUserName().then(res=>{
+			this.userId=res.id
+			this.createBy=res.name
+		})
+	},
+	// showPhoto(index) {
+	// 	uni.previewImage({
+	// 		current: index,
+	// 		urls: this.imgArr,
+	// 	})
+	// },
+	// showPhotos(index) {
+	// 	uni.previewImage({
+	// 		current: index,
+	// 		urls: this.photo,
+	// 	})
+	// },
+	buildingconfirm(e) {
+		this.position = e[0].label
+		this.building = e[0].value
+		console.log(this.building)
+		//this.getUnitList(e[0].value)
+	},
+	// unitconfirm(e) {
+	// 	this.unitName = e[0].label
+	// 	this.unit = e[0].value
+	// },
+	// getBuildingList() {
+	// 	const _this = this
+	// 	service.getBuildingList({
+	// 		areaId: this.community
+	// 	}).then(res => {
+	// 		_this.buildingList = res
+	// 	})
+	// },
+	// getUnitList(building) {
+	// 	const _this = this
+	// 	service.getUnitList({
+	// 		buildingId: building
+	// 	}).then(res => {
+	// 		_this.unitList = res
+	// 	})
+	// },
+	save() {
+		let _this = this
+		this.form.photoList = this.imgArr
+		// if(this.building==null)
+		// {
+		// 	uni.showToast({
+		// 		title: '请选择楼栋',
+		// 		icon: 'none'
+		// 	})
+		// 	return
+		// }
+		if(this.imgArr.length==0)
+		{
+			uni.showToast({
+				title: '请上传图片或视频!',
+				icon: 'none'
+			})
+			return
+		}
+		// this.form.buildingId = this.building
+		// this.form.communityId=this.community
+		this.form.userId=this.userId
+		this.form.createBy=this.userId
+		this.form.positionId=this.id
+		service.setvalveWellPosition(this.form).then(res => {
+			console.log(res)
+			_this.$UTILS.showPrompt('上报成功!')
+			// setTimeout(() => {
+			// 	console.log('跳')
+			// 	uni.switchTab({
+			// 		url: '/pages/index/index'
+			// 	})
+			// }, 2000)
+			this.form={}
+			this.form.valveWellName=this.valveWellName
+			this.form.position=this.position
+			// this.buildingName=''
+			this.imgArr=[]
+			this.imgymxs=[]
+		})
+	},
+	getdictsysinfo() {
+		let _this = this
+		service.getDictInfoList({
+			type: this.dictlist
+		}).then(res => {
+			if (this.type == 1) {
+				let _this = this
+				console.log(this.id)
+				service.getvalveWellPosition(this.id).then(res => {
+					
+					if (null != res.photoList) {
+						res.photoList.forEach(item => {
+							let url = {}
+							url.url = item
+							url.type = 'image'
+							this.imgymxs.push(url)
+						})
+					}
+					this.form = res
+					res.valveWellName=res.position.valveWellName
+					//this.form.valveWellName=res.position.valveWellName
+					this.form.position=res.position.position
+					console.log('123123',res)
+				})
+			}
+			_this.typelist = res
+			console.log(res)
+		})
+	},
+	confirm(e) {
+		this.form.findProblem =e
+	},
+	choose() {
+		let _this = this;
+		uni.showActionSheet({
+			title: '上传',
+			itemList: ['图片', '视频'],
+			success: (res) => {
+				// console.log(res)
+				if (res.tapIndex == 0) {
+					this.chooseimage()
+				} else {
+					this.choosevideo()
+				}
+			}
+		})
+	},
+	chooseimage() {
+		console.log('图片')
+		let _this = this;
+		uni.chooseImage({
+			sourceType: ['camera'],
+			success(resp) {
+				console.log('res--uni.chooseMedia', resp);
+				resp.tempFiles.forEach((item, index) => {
+					const task = uni.uploadFile({
+						url: _this.$HTTP.webUrl + `/obs`,
+						filePath: item.path,
+						name: 'file',
+						formData: {},
+						header: _this.headers,
+						success: res => {
+							// 判断是否json字符串,将其转为json格式
+							let data = _this.$u.test.jsonString(res.data) ? JSON.parse(
+								res.data) : res.data;
+							if (![200, 201, 204].includes(res.statusCode)) {
+								// this.uploadError(index, data);
+								_this.$UTILS.showPrompt('选取失败!')
+							} else {
+								// 上传成功
+								// this.lists[index].response = data;
+								// this.lists[index].progress = 100;
+								// this.lists[index].error = false;
+								// this.$emit('on-success', data, index, this.lists, this
+								// 	.index);
+								if (_this.progress === 100) {
+									// console.log('_this.progress', _this.progress)
+									// console.log('data----', data)
+									// console.log('res--', res)
+									_this.imgymxs.push({
+										url: data.data.url,
+										type: 'image'
+									})
+									_this.imgArr.push(data.data.url)
+									// console.log('imgArr', _this.imgArr)
+									_this.$UTILS.showPrompt('选取成功!')
+								}
+							}
+						},
+						fail: e => {
+							_this.$UTILS.showPrompt('选取失败!')
+							this.uploadError(index, e);
+						},
+						complete: res => {
+							_this.uploading = false;
+							// _this.uploadFile(index + 1);
+							// this.$emit('on-change', res, index, this.lists, this
+							// .index);
+						}
+					});
+					task.onProgressUpdate(res => {
+						// if (res.progress > 0) {
+						// 	this.lists[index].progress = res.progress;
+						// 	this.$emit('on-progress', res, index, this.lists, this.index);
+						// }
+						_this.progress = res.progress;
+						console.log('onProgressUpdate', res)
+						uni.showLoading({
+							title: '选取中'
+						})
+					});
+				})
+			},
+		})
+	},
+	choosevideo() {
+		let _this = this;
+		console.log('视频')
+		uni.chooseVideo({
+			sourceType: ['camera'],
+			maxDuration: 30,
+			success(resp) {
+				const task = uni.uploadFile({
+					url: _this.$HTTP.webUrl + `/obs`,
+					filePath: resp.tempFilePath,
+					name: 'file',
+					formData: {},
+					header: _this.headers,
+					success: res => {
+						// 判断是否json字符串,将其转为json格式
+						let data = _this.$u.test.jsonString(res.data) ? JSON.parse(res.data) :
+							res.data;
+						if (![200, 201, 204].includes(res.statusCode)) {
+							this.uploadError(index, data);
+						} else {
+							// 上传成功
+							// this.lists[index].response = data;
+							// this.lists[index].progress = 100;
+							// this.lists[index].error = false;
+							// this.$emit('on-success', data, index, this.lists, this
+							// 	.index);	
+							if (_this.progress === 100) {
+								console.log('_this.progress', _this.progress)
+								console.log('data----', data)
+								console.log('res--', res)
+								// _this.imgArr.push(data.data.url)
+								_this.imgymxs.push({
+									url: data.data.url,
+									type: 'video'
+								})
+								_this.imgArr.push(data.data.url)
+								console.log('imgArr', _this.imgArr)
+								_this.$UTILS.showPrompt('选取成功!')
+							}
+						}
+					},
+					fail: e => {
+						_this.$UTILS.showPrompt('选取失败!')
+						this.uploadError(index, e);
+					},
+					complete: res => {
+						uni.hideLoading();
+						_this.uploading = false;
+						// _this.uploadFile(index + 1);
+						// this.$emit('on-change', res, index, this.lists, this
+						// .index);
+					}
+				});
+				task.onProgressUpdate(res => {
+					// if (res.progress > 0) {
+					// 	this.lists[index].progress = res.progress;
+					// 	this.$emit('on-progress', res, index, this.lists, this.index);
+					// }
+					_this.progress = res.progress;
+					console.log('onProgressUpdate', res)
+					uni.showLoading({
+						title: '选取中'
+					})
+				});
+			},
+		})
+	},
+	remove(index) {
+		uni.showModal({
+			title: '提示',
+			content: '是否删除该图片或视频?',
+			success: (res) => {
+				if (res.confirm) {
+					this.imgArr.splice(index, 1);
+					this.imgymxs.splice(index, 1);
+					console.log('this.imgarr', this.imgArr)
+				}
+			}
+		})
+	},
+}
+}
+</script>
+<style>
+.project-content {
+padding: 10rpx 20rpx;
+border-radius: 20rpx;
+background: #fff;
+width: 90%;
+margin: 0 auto;
+}
+
+.background {
+z-index: -1;
+position: fixed;
+width: 100%;
+height: 100%;
+background-size: 100% 100%;
+}
+</style>

+ 8 - 0
uni_modules/piaoyi-editor/changelog.md

@@ -0,0 +1,8 @@
+## 1.0.9(2024-02-04)
+更新使用文档说明
+## 1.0.8(2023-12-28)
+修改文档使用注意事项
+## 1.0.7(2023-12-05)
+优化
+## 1.0.6(2023-12-05)
+优化

+ 784 - 0
uni_modules/piaoyi-editor/components/piaoyi-editor/color-picker.vue

@@ -0,0 +1,784 @@
+<template>
+	<view v-if="show" class="t-wrapper" @touchmove.stop.prevent="moveHandle">
+		<view class="t-mask" :class="{active:active}" @click.stop="close"></view>
+		<view class="t-box" :class="{active:active}">
+			<view class="t-header">
+				<view class="t-header-button" @click="close">取消</view>
+				<view class="t-header-button" @click="confirm">确认</view>
+			</view>
+			<view class="t-color__box" :style="{ background: 'rgb(' + bgcolor.r + ',' + bgcolor.g + ',' + bgcolor.b + ')'}">
+				<view class="t-background boxs" @touchstart="touchstart($event, 0)" @touchmove="touchmove($event, 0)" @touchend="touchend($event, 0)">
+					<view class="t-color-mask"></view>
+					<view class="t-pointer" :style="{ top: site[0].top - 8 + 'px', left: site[0].left - 8 + 'px' }"></view>
+				</view>
+			</view>
+			<view class="t-control__box">
+				<view class="t-control__color">
+					<view class="t-control__color-content" :style="{ background: 'rgba(' + rgba.r + ',' + rgba.g + ',' + rgba.b + ',' + rgba.a + ')' }"></view>
+				</view>
+				<view class="t-control-box__item">
+					<view class="t-controller boxs" @touchstart="touchstart($event, 1)" @touchmove="touchmove($event, 1)" @touchend="touchend($event, 1)">
+						<view class="t-hue">
+							<view class="t-circle" :style="{ left: site[1].left - 12 + 'px' }"></view>
+						</view>
+					</view>
+					<view class="t-controller boxs" @touchstart="touchstart($event, 2)" @touchmove="touchmove($event, 2)" @touchend="touchend($event, 2)">
+						<view class="t-transparency">
+							<view class="t-circle" :style="{ left: site[2].left - 12 + 'px' }"></view>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="t-result__box">
+				<view v-if="mode" class="t-result__item">
+					<view class="t-result__box-input">{{hex}}</view>
+					<view class="t-result__box-text">HEX</view>
+				</view>
+				<template v-else>
+					<view class="t-result__item">
+						<view class="t-result__box-input">{{rgba.r}}</view>
+						<view class="t-result__box-text">R</view>
+					</view>
+					<view class="t-result__item">
+						<view class="t-result__box-input">{{rgba.g}}</view>
+						<view class="t-result__box-text">G</view>
+					</view>
+					<view class="t-result__item">
+						<view class="t-result__box-input">{{rgba.b}}</view>
+						<view class="t-result__box-text">B</view>
+					</view>
+					<view class="t-result__item">
+						<view class="t-result__box-input">{{rgba.a}}</view>
+						<view class="t-result__box-text">A</view>
+					</view>
+				</template>
+
+				<view class="t-result__item t-select" @click="select">
+					<view class="t-result__box-input">
+						<view>切换</view>
+						<view>模式</view>
+					</view>
+				</view>
+			</view>
+			<view class="t-alternative">
+				<view class="t-alternative__item" v-for="(item,index) in colorList" :key="index">
+					<view class="t-alternative__item-content" :style="{ background: 'rgba(' + item.r + ',' + item.g + ',' + item.b + ',' + item.a + ')' }"
+					 @click="selectColor(item)">
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		props: {
+			color: {
+				type: Object,
+				default () {
+					return {
+						r: 0,
+						g: 0,
+						b: 0,
+						a: 0
+					}
+				}
+			},
+			spareColor: {
+				type: Array,
+				default () {
+					return []
+				}
+			}
+		},
+		data() {
+			return {
+				show: false,
+				active: false,
+				// rgba 颜色
+				rgba: {
+					r: 0,
+					g: 0,
+					b: 0,
+					a: 1
+				},
+				// hsb 颜色
+				hsb: {
+					h: 0,
+					s: 0,
+					b: 0
+				},
+				site: [{
+					top: 0,
+					left: 0
+				}, {
+					left: 0
+				}, {
+					left: 0
+				}],
+				index: 0,
+				bgcolor: {
+					r: 255,
+					g: 0,
+					b: 0,
+					a: 1
+				},
+				hex: '#000000',
+				mode: true,
+				colorList: [{
+					r: 244,
+					g: 67,
+					b: 54,
+					a: 1
+				}, {
+					r: 233,
+					g: 30,
+					b: 99,
+					a: 1
+				}, {
+					r: 156,
+					g: 39,
+					b: 176,
+					a: 1
+				}, {
+					r: 103,
+					g: 58,
+					b: 183,
+					a: 1
+				}, {
+					r: 63,
+					g: 81,
+					b: 181,
+					a: 1
+				}, {
+					r: 33,
+					g: 150,
+					b: 243,
+					a: 1
+				}, {
+					r: 3,
+					g: 169,
+					b: 244,
+					a: 1
+				}, {
+					r: 0,
+					g: 188,
+					b: 212,
+					a: 1
+				}, {
+					r: 0,
+					g: 150,
+					b: 136,
+					a: 1
+				}, {
+					r: 76,
+					g: 175,
+					b: 80,
+					a: 1
+				}, {
+					r: 139,
+					g: 195,
+					b: 74,
+					a: 1
+				}, {
+					r: 205,
+					g: 220,
+					b: 57,
+					a: 1
+				}, {
+					r: 255,
+					g: 235,
+					b: 59,
+					a: 1
+				}, {
+					r: 255,
+					g: 193,
+					b: 7,
+					a: 1
+				}, {
+					r: 255,
+					g: 152,
+					b: 0,
+					a: 1
+				}, {
+					r: 255,
+					g: 87,
+					b: 34,
+					a: 1
+				}, {
+					r: 121,
+					g: 85,
+					b: 72,
+					a: 1
+				}, {
+					r: 158,
+					g: 158,
+					b: 158,
+					a: 1
+				}, {
+					r: 0,
+					g: 0,
+					b: 0,
+					a: 0.5
+				}, {
+					r: 0,
+					g: 0,
+					b: 0,
+					a: 0
+				}, ]
+			};
+		},
+		created() {
+			this.rgba = this.color;
+			if (this.spareColor.length !== 0) {
+				this.colorList = this.spareColor;
+			}
+		},
+		methods: {
+			/**
+			 * 初始化
+			 */
+			init() {
+				// hsb 颜色
+				this.hsb = this.rgbToHex(this.rgba);
+				// this.setColor();
+				this.setValue(this.rgba);
+			},
+			moveHandle() {},
+			open() {
+				this.show = true;
+				this.$nextTick(() => {
+					this.init();
+					setTimeout(() => {
+						this.active = true;
+						setTimeout(() => {
+							this.getSelectorQuery();
+						}, 350)
+					}, 50)
+				})
+
+			},
+			close() {
+				this.active = false;
+				this.$nextTick(() => {
+					setTimeout(() => {
+						this.show = false;
+					}, 500)
+				})
+			},
+			confirm() {
+				this.close();
+				this.$emit('confirm', {
+					rgba: this.rgba,
+					hex: this.hex
+				})
+			},
+			// 选择模式
+			select() {
+				this.mode = !this.mode
+			},
+			// 常用颜色选择
+			selectColor(item) {
+				this.setColorBySelect(item)
+			},
+			touchstart(e, index) {
+				const {
+					pageX,
+					pageY
+				} = e.touches[0];
+				this.pageX = pageX;
+				this.pageY = pageY;
+				this.setPosition(pageX, pageY, index);
+			},
+			touchmove(e, index) {
+				const {
+					pageX,
+					pageY
+				} = e.touches[0];
+				this.moveX = pageX;
+				this.moveY = pageY;
+				this.setPosition(pageX, pageY, index);
+			},
+			touchend(e, index) {},
+			/**
+			 * 设置位置
+			 */
+			setPosition(x, y, index) {
+				this.index = index;
+				const {
+					top,
+					left,
+					width,
+					height
+				} = this.position[index];
+				// 设置最大最小值
+
+				this.site[index].left = Math.max(0, Math.min(parseInt(x - left), width));
+				if (index === 0) {
+					this.site[index].top = Math.max(0, Math.min(parseInt(y - top), height));
+					// 设置颜色
+					this.hsb.s = parseInt((100 * this.site[index].left) / width);
+					this.hsb.b = parseInt(100 - (100 * this.site[index].top) / height);
+					this.setColor();
+					this.setValue(this.rgba);
+				} else {
+					this.setControl(index, this.site[index].left);
+				}
+			},
+			/**
+			 * 设置 rgb 颜色
+			 */
+			setColor() {
+				const rgb = this.HSBToRGB(this.hsb);
+				this.rgba.r = rgb.r;
+				this.rgba.g = rgb.g;
+				this.rgba.b = rgb.b;
+			},
+			/**
+			 * 设置二进制颜色
+			 * @param {Object} rgb
+			 */
+			setValue(rgb) {
+				this.hex = '#' + this.rgbToHex(rgb);
+			},
+			setControl(index, x) {
+				const {
+					top,
+					left,
+					width,
+					height
+				} = this.position[index];
+
+				if (index === 1) {
+					this.hsb.h = parseInt((360 * x) / width);
+					this.bgcolor = this.HSBToRGB({
+						h: this.hsb.h,
+						s: 100,
+						b: 100
+					});
+					this.setColor()
+				} else {
+					this.rgba.a = (x / width).toFixed(1);
+				}
+				this.setValue(this.rgba);
+			},
+			/**
+			 * rgb 转 二进制 hex
+			 * @param {Object} rgb
+			 */
+			rgbToHex(rgb) {
+				let hex = [rgb.r.toString(16), rgb.g.toString(16), rgb.b.toString(16)];
+				hex.map(function(str, i) {
+					if (str.length == 1) {
+						hex[i] = '0' + str;
+					}
+				});
+				return hex.join('');
+			},
+			setColorBySelect(getrgb) {
+				const {
+					r,
+					g,
+					b,
+					a
+				} = getrgb;
+				let rgb = {}
+				rgb = {
+					r: r ? parseInt(r) : 0,
+					g: g ? parseInt(g) : 0,
+					b: b ? parseInt(b) : 0,
+					a: a ? a : 0,
+				};
+				this.rgba = rgb;
+				this.hsb = this.rgbToHsb(rgb);
+				this.changeViewByHsb();
+			},
+			changeViewByHsb() {
+				const [a, b, c] = this.position;
+				this.site[0].left = parseInt(this.hsb.s * a.width / 100);
+				this.site[0].top = parseInt((100 - this.hsb.b) * a.height / 100);
+				this.setColor(this.hsb.h);
+				this.setValue(this.rgba);
+				this.bgcolor = this.HSBToRGB({
+					h: this.hsb.h,
+					s: 100,
+					b: 100
+				});
+
+				this.site[1].left = this.hsb.h / 360 * b.width;
+				this.site[2].left = this.rgba.a * c.width;
+
+			},
+			/**
+			 * hsb 转 rgb
+			 * @param {Object} 颜色模式  H(hues)表示色相,S(saturation)表示饱和度,B(brightness)表示亮度
+			 */
+			HSBToRGB(hsb) {
+				let rgb = {};
+				let h = Math.round(hsb.h);
+				let s = Math.round((hsb.s * 255) / 100);
+				let v = Math.round((hsb.b * 255) / 100);
+				if (s == 0) {
+					rgb.r = rgb.g = rgb.b = v;
+				} else {
+					let t1 = v;
+					let t2 = ((255 - s) * v) / 255;
+					let t3 = ((t1 - t2) * (h % 60)) / 60;
+					if (h == 360) h = 0;
+					if (h < 60) {
+						rgb.r = t1;
+						rgb.b = t2;
+						rgb.g = t2 + t3;
+					} else if (h < 120) {
+						rgb.g = t1;
+						rgb.b = t2;
+						rgb.r = t1 - t3;
+					} else if (h < 180) {
+						rgb.g = t1;
+						rgb.r = t2;
+						rgb.b = t2 + t3;
+					} else if (h < 240) {
+						rgb.b = t1;
+						rgb.r = t2;
+						rgb.g = t1 - t3;
+					} else if (h < 300) {
+						rgb.b = t1;
+						rgb.g = t2;
+						rgb.r = t2 + t3;
+					} else if (h < 360) {
+						rgb.r = t1;
+						rgb.g = t2;
+						rgb.b = t1 - t3;
+					} else {
+						rgb.r = 0;
+						rgb.g = 0;
+						rgb.b = 0;
+					}
+				}
+				return {
+					r: Math.round(rgb.r),
+					g: Math.round(rgb.g),
+					b: Math.round(rgb.b)
+				};
+			},
+			rgbToHsb(rgb) {
+				let hsb = {
+					h: 0,
+					s: 0,
+					b: 0
+				};
+				let min = Math.min(rgb.r, rgb.g, rgb.b);
+				let max = Math.max(rgb.r, rgb.g, rgb.b);
+				let delta = max - min;
+				hsb.b = max;
+				hsb.s = max != 0 ? 255 * delta / max : 0;
+				if (hsb.s != 0) {
+					if (rgb.r == max) hsb.h = (rgb.g - rgb.b) / delta;
+					else if (rgb.g == max) hsb.h = 2 + (rgb.b - rgb.r) / delta;
+					else hsb.h = 4 + (rgb.r - rgb.g) / delta;
+				} else hsb.h = -1;
+				hsb.h *= 60;
+				if (hsb.h < 0) hsb.h = 0;
+				hsb.s *= 100 / 255;
+				hsb.b *= 100 / 255;
+				return hsb;
+			},
+			getSelectorQuery() {
+				const views = uni.createSelectorQuery().in(this);
+				views
+					.selectAll('.boxs')
+					.boundingClientRect(data => {
+						if (!data || data.length === 0) {
+							setTimeout(() => this.getSelectorQuery(), 20)
+							return
+						}
+						this.position = data;
+						// this.site[0].top = data[0].height;
+						// this.site[0].left = 0;
+						// this.site[1].left = data[1].width;
+						// this.site[2].left = data[2].width;
+						this.setColorBySelect(this.rgba);
+					})
+					.exec();
+			}
+		},
+		watch: {
+			spareColor(newVal) {
+				this.colorList = newVal;
+			}
+		}
+	};
+</script>
+
+<style>
+	.t-wrapper {
+		position: fixed;
+		top: 0;
+		bottom: 0;
+		left: 0;
+		width: 100%;
+		box-sizing: border-box;
+		z-index: 9999;
+	}
+
+	.t-box {
+		width: 100%;
+		position: absolute;
+		bottom: 0;
+		padding: 30upx 0;
+		padding-top: 0;
+		background: #fff;
+		transition: all 0.3s;
+		transform: translateY(100%);
+	}
+
+	.t-box.active {
+		transform: translateY(0%);
+	}
+
+	.t-header {
+		display: flex;
+		justify-content: space-between;
+		width: 100%;
+		height: 100upx;
+		border-bottom: 1px #eee solid;
+		box-shadow: 1px 0 2px rgba(0, 0, 0, 0.1);
+		background: #fff;
+	}
+
+	.t-header-button {
+		display: flex;
+		align-items: center;
+		width: 150upx;
+		height: 100upx;
+		font-size: 30upx;
+		color: #666;
+		padding-left: 20upx;
+	}
+
+	.t-header-button:last-child {
+		justify-content: flex-end;
+		padding-right: 20upx;
+	}
+
+	.t-mask {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		background: rgba(0, 0, 0, 0.6);
+		z-index: -1;
+		transition: all 0.3s;
+		opacity: 0;
+	}
+
+	.t-mask.active {
+		opacity: 1;
+	}
+
+	.t-color__box {
+		position: relative;
+		height: 400upx;
+		background: rgb(255, 0, 0);
+		overflow: hidden;
+		box-sizing: border-box;
+		margin: 0 20upx;
+		margin-top: 20upx;
+		box-sizing: border-box;
+	}
+
+	.t-background {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		background: linear-gradient(to right, #fff, rgba(255, 255, 255, 0));
+	}
+
+	.t-color-mask {
+		position: absolute;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		width: 100%;
+		height: 400upx;
+		background: linear-gradient(to top, #000, rgba(0, 0, 0, 0));
+	}
+
+	.t-pointer {
+		position: absolute;
+		bottom: -8px;
+		left: -8px;
+		z-index: 2;
+		width: 15px;
+		height: 15px;
+		border: 1px #fff solid;
+		border-radius: 50%;
+	}
+
+	.t-show-color {
+		width: 100upx;
+		height: 50upx;
+	}
+
+	.t-control__box {
+		margin-top: 50upx;
+		width: 100%;
+		display: flex;
+		padding-left: 20upx;
+		box-sizing: border-box;
+	}
+
+	.t-control__color {
+		flex-shrink: 0;
+		width: 100upx;
+		height: 100upx;
+		border-radius: 50%;
+		background-color: #fff;
+		background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee),
+			linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee);
+		background-size: 36upx 36upx;
+		background-position: 0 0, 18upx 18upx;
+		border: 1px #eee solid;
+		overflow: hidden;
+	}
+
+	.t-control__color-content {
+		width: 100%;
+		height: 100%;
+	}
+
+	.t-control-box__item {
+		display: flex;
+		flex-direction: column;
+		justify-content: space-between;
+		width: 100%;
+		padding: 0 30upx;
+	}
+
+	.t-controller {
+		position: relative;
+		width: 100%;
+		height: 16px;
+		background-color: #fff;
+		background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee),
+			linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee);
+		background-size: 32upx 32upx;
+		background-position: 0 0, 16upx 16upx;
+	}
+
+	.t-hue {
+		width: 100%;
+		height: 100%;
+		background: linear-gradient(to right, #f00 0%, #ff0 17%, #0f0 33%, #0ff 50%, #00f 67%, #f0f 83%, #f00 100%);
+	}
+
+	.t-transparency {
+		width: 100%;
+		height: 100%;
+		background: linear-gradient(to right, rgba(0, 0, 0, 0) 0%, rgb(0, 0, 0));
+	}
+
+	.t-circle {
+		position: absolute;
+		/* right: -10px; */
+		top: -2px;
+		width: 20px;
+		height: 20px;
+		box-sizing: border-box;
+		border-radius: 50%;
+		background: #fff;
+		box-shadow: 0 0 2px 1px rgba(0, 0, 0, 0.1);
+	}
+
+	.t-result__box {
+		margin-top: 20upx;
+		padding: 10upx;
+		width: 100%;
+		display: flex;
+		box-sizing: border-box;
+	}
+
+	.t-result__item {
+		display: flex;
+		flex-direction: column;
+		align-items: center;
+		justify-content: center;
+		padding: 10upx;
+		width: 100%;
+		box-sizing: border-box;
+	}
+
+	.t-result__box-input {
+		padding: 10upx 0;
+		width: 100%;
+		font-size: 28upx;
+		box-shadow: 0 0 1px 1px rgba(0, 0, 0, 0.1);
+		color: #999;
+		text-align: center;
+		background: #fff;
+	}
+
+	.t-result__box-text {
+		margin-top: 10upx;
+		font-size: 28upx;
+		line-height: 2;
+	}
+
+	.t-select {
+		flex-shrink: 0;
+		width: 150upx;
+		padding: 0 30upx;
+	}
+
+	.t-select .t-result__box-input {
+		border-radius: 10upx;
+		border: none;
+		color: #999;
+		box-shadow: 1px 1px 2px 1px rgba(0, 0, 0, 0.1);
+		background: #fff;
+	}
+
+	.t-select .t-result__box-input:active {
+		box-shadow: 0px 0px 1px 0px rgba(0, 0, 0, 0.1);
+	}
+
+	.t-alternative {
+		display: flex;
+		flex-wrap: wrap;
+		/* justify-content: space-between; */
+		width: 100%;
+		padding-right: 10upx;
+		box-sizing: border-box;
+	}
+
+	.t-alternative__item {
+		margin-left: 12upx;
+		margin-top: 10upx;
+		width: 50upx;
+		height: 50upx;
+		border-radius: 10upx;
+		background-color: #fff;
+		background-image: linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee),
+			linear-gradient(45deg, #eee 25%, transparent 25%, transparent 75%, #eee 75%, #eee);
+		background-size: 36upx 36upx;
+		background-position: 0 0, 18upx 18upx;
+		border: 1px #eee solid;
+		overflow: hidden;
+	}
+
+	.t-alternative__item-content {
+		width: 50upx;
+		height: 50upx;
+		background: rgba(255, 0, 0, 0.5);
+	}
+
+	.t-alternative__item:active {
+		transition: all 0.3s;
+		transform: scale(1.1);
+	}
+</style>

+ 123 - 0
uni_modules/piaoyi-editor/components/piaoyi-editor/iconfont.css

@@ -0,0 +1,123 @@
+@font-face {
+  font-family: "iconfont"; /* Project id 4040150 */
+  src: url('iconfont.woff2?t=1682491617906') format('woff2'),
+       url('iconfont.woff?t=1682491617906') format('woff'),
+       url('iconfont.ttf?t=1682491617906') format('truetype');
+}
+
+.iconfont {
+  font-family: "iconfont" !important;
+  font-size: 16px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+.icon-checklist:before {
+  content: "\e600";
+}
+
+.icon-zitiyanse:before {
+  content: "\e646";
+}
+
+.icon-formatheader1:before {
+  content: "\e860";
+}
+
+.icon-formatheader2:before {
+  content: "\e861";
+}
+
+.icon-undo:before {
+  content: "\e787";
+}
+
+.icon-redo:before {
+  content: "\e788";
+}
+
+.icon-indent:before {
+  content: "\e7f3";
+}
+
+.icon-outdent:before {
+  content: "\e7f4";
+}
+
+.icon-zitijiacu:before {
+  content: "\ec83";
+}
+
+.icon-zuoyouduiqi:before {
+  content: "\ec87";
+}
+
+.icon-Character-Spacing:before {
+  content: "\ed91";
+}
+
+.icon-format:before {
+  content: "\e6da";
+}
+
+.icon-font-size:before {
+  content: "\e7b9";
+}
+
+.icon-duanhouju:before {
+  content: "\e61a";
+}
+
+.icon-duanqianju:before {
+  content: "\e61b";
+}
+
+.icon-shanchuxian:before {
+  content: "\e602";
+}
+
+.icon-charutupian:before {
+  content: "\e603";
+}
+
+.icon-fengexian:before {
+  content: "\e60e";
+}
+
+.icon-juzhongduiqi:before {
+  content: "\e620";
+}
+
+.icon-wuxupailie:before {
+  content: "\e63e";
+}
+
+.icon-youduiqi:before {
+  content: "\e64b";
+}
+
+.icon-youxupailie:before {
+  content: "\e64c";
+}
+
+.icon-zitixiahuaxian:before {
+  content: "\e657";
+}
+
+.icon-zitixieti:before {
+  content: "\e658";
+}
+
+.icon-zuoduiqi:before {
+  content: "\e65a";
+}
+
+.icon-LineHeight:before {
+  content: "\e624";
+}
+
+.icon-editor-background-color:before {
+  content: "\e829";
+}
+

二進制
uni_modules/piaoyi-editor/components/piaoyi-editor/iconfont.ttf


二進制
uni_modules/piaoyi-editor/components/piaoyi-editor/iconfont.woff


二進制
uni_modules/piaoyi-editor/components/piaoyi-editor/iconfont.woff2


+ 419 - 0
uni_modules/piaoyi-editor/components/piaoyi-editor/piaoyi-editor.vue

@@ -0,0 +1,419 @@
+<template>
+	<view class="container-editor">
+		<view class="textarea">
+			<view class="page-body">
+				<view class='wrapper'>
+					<PickerColor ref="colorPicker" :color="{r: 255,g: 0,b: 0,a: 0.6}" @confirm="confirm"></PickerColor>
+					<view class='toolbar' @tap="format">
+						<view :class="formats.fontSize === '24px' ? 'ql-active' : ''" class="iconfont icon-font-size"
+							data-name="fontSize" data-value="24px"></view>
+						<view :class="formats.color? 'ql-active' : ''" class="iconfont icon-zitiyanse" data-name="color" :data-value="formats.color">
+						</view>
+						<view :class="formats.header === 1 ? 'ql-active' : ''" class="iconfont icon-formatheader1"
+							data-name="header" :data-value="1"></view>
+						<view :class="formats.header === 2 ? 'ql-active' : ''" class="iconfont icon-formatheader2"
+							data-name="header" :data-value="2"></view>
+						<view :class="formats.bold ? 'ql-active' : ''" class="iconfont icon-zitijiacu" data-name="bold">
+						</view>
+						<view :class="formats.italic ? 'ql-active' : ''" class="iconfont icon-zitixieti"
+							data-name="italic"></view>
+						<view :class="formats.underline ? 'ql-active' : ''" class="iconfont icon-zitixiahuaxian"
+							data-name="underline"></view>
+						<view :class="formats.strike ? 'ql-active' : ''" class="iconfont icon-shanchuxian"
+							data-name="strike"></view>
+						<view :class="formats.align === 'left' ? 'ql-active' : ''" class="iconfont icon-zuoduiqi"
+							data-name="align" data-value="left"></view>
+						<view :class="formats.align === 'center' ? 'ql-active' : ''" class="iconfont icon-juzhongduiqi"
+							data-name="align" data-value="center"></view>
+						<view :class="formats.align === 'right' ? 'ql-active' : ''" class="iconfont icon-youduiqi"
+							data-name="align" data-value="right"></view>
+						<view :class="formats.align === 'justify' ? 'ql-active' : ''" class="iconfont icon-zuoyouduiqi"
+							data-name="align" data-value="justify"></view>
+						<view :class="formats.lineHeight ? 'ql-active' : ''" class="iconfont icon-LineHeight"
+							data-name="lineHeight" data-value="2"></view>
+						<view :class="formats.letterSpacing ? 'ql-active' : ''" class="iconfont icon-Character-Spacing"
+							data-name="letterSpacing" data-value="2em">
+						</view>
+						<view :class="formats.marginTop ? 'ql-active' : ''" class="iconfont icon-duanqianju"
+							data-name="marginTop" data-value="10px"></view>
+						<view :class="formats.previewarginBottom ? 'ql-active' : ''" class="iconfont icon-duanhouju"
+							data-name="marginBottom" data-value="10px"></view>
+						<!-- <view class="iconfont icon-rili4" @tap="insertDate"></view> -->
+						<view class="iconfont icon-checklist" data-name="list" data-value="check"></view>
+						<view :class="formats.list === 'ordered' ? 'ql-active' : ''" class="iconfont icon-youxupailie"
+							data-name="list" data-value="ordered"></view>
+						<view :class="formats.list === 'bullet' ? 'ql-active' : ''" class="iconfont icon-wuxupailie"
+							data-name="list" data-value="bullet"></view>
+						<view class="iconfont icon-outdent" data-name="indent" data-value="-1"></view>
+						<view class="iconfont icon-indent" data-name="indent" data-value="+1"></view>
+						<view class="iconfont icon-fengexian" @tap="insertDivider"></view>
+						<view class="iconfont icon-charutupian" @tap="insertImage"></view>
+						<view class="iconfont icon-undo" @tap="undo"></view>
+						<view class="iconfont icon-redo" @tap="redo"></view>
+						<view class="iconfont icon-format" @tap="clear"></view>
+					</view>
+					<editor id="editor" class="editor" placeholder="开始输入..." showImgSize showImgToolbar showImgResize
+						@statuschange="onStatusChange" :read-only="readOnly" @ready="onEditorReady"
+						@input="saveContens">
+					</editor>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import PickerColor from "./color-picker.vue"
+	export default {
+		components: {
+			PickerColor
+		},
+		props: {
+			api: {
+				type: String,
+				default: ''
+			},
+			photoUrl: {
+				type: String,
+				default: ''
+			},
+			values: {
+				type: String,
+				default: ''
+			},
+			readOnly: {
+				type: Boolean,
+				default: false
+			},
+			maxlength: {
+				type: Number,
+				default: 300
+			},
+			name: {
+				type: String,
+				default: 'file'
+			}
+		},
+		data() {
+			return {
+				currentTab: 0,
+				curColor: '#000000',
+				show: true,
+				hdid: "",
+				myHtml: "",
+				formats: {}
+			}
+		},
+		methods: {
+			showPicker() {
+				this.$refs.colorPicker.open()
+			},
+			confirm(e) {
+				this.editorCtx.format('color', e.hex)
+			},
+			saveContens() {
+				let that = this;
+				let maxlength = parseInt(that.maxlength);
+				that.editorCtx.getContents({
+					success: function(res) {
+						let html_text = res.html;
+						let html_length = html_text.length;
+						if (html_length > maxlength) {
+							uni.showModal({
+								title: '最多只能输入' + maxlength + '字',
+								confirmText: '确定',
+								showCancel: false,
+								success(res) {
+									that.$emit("changes", {
+										html: res.html,
+										length: html_length
+									});
+								}
+							});
+						} else {
+							that.$emit("changes", {
+								html: res.html,
+								length: html_length
+							});
+						}
+					},
+				})
+			},
+			update() {
+				//获取一下是否有数据
+				let that = this;
+				setTimeout(() => {
+					that.editorCtx.setContents({
+						"html": that.values
+					});
+				}, 1000)
+			},
+			onEditorReady() {
+				let that = this;
+				console.log(uni.createSelectorQuery().in(this).select('#editor'))
+				uni.createSelectorQuery().in(this).select('#editor').context((res) => {
+					that.editorCtx = res.context;
+					that.update();
+				}).exec((result) => {});
+			},
+			undo() {
+				this.editorCtx.undo()
+			},
+			redo() {
+				this.editorCtx.redo()
+			},
+			format(e) {
+				let {
+					name,
+					value
+				} = e.target.dataset
+				if (!name) return
+				if (name == 'color') {
+					this.showPicker()
+				} else {
+					this.editorCtx.format(name, value)
+				}
+			},
+			onStatusChange(e) {
+				const formats = e.detail
+				this.formats = formats
+			},
+			insertDivider() {
+				this.editorCtx.insertDivider();
+			},
+			clear() {
+				this.editorCtx.clear();
+				this.$emit()
+			},
+			insertDate() {
+				const date = new Date()
+				const formatDate = `${date.getFullYear()}/${date.getMonth() + 1}/${date.getDate()}`
+				this.editorCtx.insertText({
+					text: formatDate
+				})
+			},
+			insertImage() {
+				let that = this;
+				// #ifdef APP-PLUS || H5
+				uni.chooseImage({
+					count: 1, //默认9
+					sizeType: ['original'], //可以指定是原图还是压缩图,默认二者都有
+					sourceType: ['album'], //从相册或者相机选择
+					success: (res) => {
+						const tempFilePaths = res.tempFilePaths[0]
+						if (!this.api || !this.photoUrl) {
+							that.editorCtx.insertImage({
+								src: tempFilePaths,
+								alt: '图像',
+								success: function() {}
+							})
+							uni.showToast({
+								title: '未传入api字段或者photoUrl字段,此为临时图片路径',
+								duration: 3000,
+								icon: 'none'
+							})
+						} else {
+							uni.uploadFile({
+								url: this.photoUrl + this.api,
+								filePath: tempFilePaths,
+								name: this.name,
+								formData: {},
+								success: (uploadFileRes) => {
+									var obj = JSON.parse(uploadFileRes.data)
+									if (obj.code == 200) {
+										this.img = this.photoUrl + '/' + obj.data
+										wx.showToast({
+											title: obj.msg,
+											icon: 'none'
+										})
+										this.editorCtx.insertImage({
+											src: this.img,
+											alt: '图像',
+											success: function() {}
+										})
+									} else {
+										wx.showToast({
+											title: obj.msg,
+											icon: 'none'
+										})
+									}
+								}
+							});
+						}
+					},
+					fail() {
+						uni.showToast({
+							title: '未授权访问相册权限,请授权后使用',
+							icon: 'none'
+						})
+					}
+				});
+				// #endif
+				// #ifdef MP
+				uni.chooseMedia({
+					count: 1,
+					mediaType: ['image'],
+					sourceType: ['album'],
+					sizeType: 'compressed',
+					success: (chooseImageRes) => {
+						const tempFilePaths = chooseImageRes.tempFiles[0].tempFilePath;
+						console.log(tempFilePaths)
+						if (!this.api || !this.photoUrl) {
+						
+							that.editorCtx.insertImage({
+								src: tempFilePaths,
+								alt: '图像',
+								success: function() {}
+							})
+							uni.showToast({
+								title: '未传入api字段或者photoUrl字段,此为临时图片路径',
+								duration: 3000,
+								icon: 'none'
+							})
+						} else {
+							uni.uploadFile({
+								url: this.photoUrl + this.api,
+								filePath: tempFilePaths,
+								name: this.name,
+								formData: {},
+								success: (uploadFileRes) => {
+									var obj = JSON.parse(uploadFileRes.data)
+									if (obj.code == 200) {
+										this.img = path + '/' + obj.data
+										wx.showToast({
+											title: obj.msg,
+											icon: 'none'
+										})
+										this.editorCtx.insertImage({
+											src: this.img,
+											alt: '图像',
+											success: function() {}
+										})
+									} else {
+										wx.showToast({
+											title: obj.msg,
+											icon: 'none'
+										})
+									}
+								},
+								fail(err) {
+									console.log(err)
+									uni.showToast({
+										title: err.errMsg,
+										icon: 'none'
+									})
+								}
+							});
+						}
+					}
+				})
+				// #endif
+			}
+		}
+	}
+</script>
+
+<style>
+	@import url('iconfont.css');
+
+	.tabs {
+		display: flex;
+		justify-content: space-around;
+		background-color: #FFFFFF;
+	}
+
+	.tabs .current {
+		border-bottom: 2px solid #0369D6;
+	}
+
+	.tabs .tab {
+		font-size: 32upx;
+	}
+
+	.main {
+		padding: 20upx;
+		background-color: #FFFFFF;
+	}
+
+	.main .item {
+		display: flex;
+		justify-content: space-between;
+		line-height: 80upx;
+		border-bottom: 1px solid #F2F2F2;
+	}
+
+	.main .item .left {
+		min-width: 200upx;
+	}
+
+	.main .title {
+		padding-bottom: 20upx;
+		font-weight: bold;
+		border-bottom: 1px solid #F2F2F2;
+	}
+
+	.main .textarea {
+		border: 1px solid #F2F2F2;
+	}
+
+	.wrapper {
+		padding: 0 10upx;
+	}
+
+	.iconfont {
+		display: inline-block;
+		width: 9%;
+		cursor: pointer;
+		font-size: 40upx !important;
+		text-align: center;
+		padding: 10upx 0;
+	}
+
+	.icon-rili4 {
+		font-size: 48upx !important;
+	}
+
+	.icon-duanqianju,
+	.icon-duanhouju,
+	.icon-zitijiacu,
+	.icon-zitixieti,
+	.icon-zitixiahuaxian,
+	.icon-shanchuxian {
+		font-size: 36upx !important;
+	}
+
+	.toolbar {
+		box-sizing: border-box;
+		border-bottom: 0;
+		margin-bottom: 10upx;
+	}
+
+	.ql-container {
+		box-sizing: border-box;
+		width: 100%;
+		min-height: 300upx;
+		height: auto;
+		background: #fff;
+		font-size: 32upx;
+		line-height: 1;
+		padding-bottom: 60upx;
+	}
+
+	/deep/ .ql-editor.ql-blank:before {
+		font-size: 28upx;
+		font-style: inherit;
+	}
+
+	.ql-active {
+		color: #ff0000;
+	}
+
+	button {
+		width: 150upx;
+		font-size: 30upx;
+	}
+
+	.editor {
+		color: #333;
+	}
+</style>

+ 15 - 0
uni_modules/piaoyi-editor/package.json

@@ -0,0 +1,15 @@
+{
+    "id": "piaoyi-editor",
+    "name": "多功能富文本编辑器",
+    "displayName": "多功能富文本编辑器",
+    "version": "1.0.9",
+    "description": "富文本编辑器,内置上传图片以及更改颜色, 多样化等功能",
+    "keywords": [
+        "富文本编辑器",
+        "上传图片",
+        "字体颜色"
+    ],
+    "dcloudext": {
+        "type": "component-vue"
+    }
+}

文件差異過大導致無法顯示
+ 101 - 0
uni_modules/piaoyi-editor/readme.md


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/runtime.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/back.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/ming-pop/ming-pop.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/mp-html/mp-html.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/mp-html/node/node.js.map


文件差異過大導致無法顯示
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/components/mypopup.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/aboutme/aboutme.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chart.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chartAll.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chartDetail.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/chartList.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/details.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/chart/newchartDetail.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cityConstrution/cityConstrution.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/historyConstruction/historyConstruction.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/historyConstruction/historyDetail.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/historyConstruction/updateInfo.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


文件差異過大導致無法顯示
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/mapindex/mapindex.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/CourtyardNetworkManagement/CourtyardNetworkManagement.js.map


文件差異過大導致無法顯示
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/LNGStation/LNGStation.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/My.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/Myphoto.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/PressureRegulatingBox/PressureRegulatingBox.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/WarningPileForm/WarningPileForm.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/WarningPileList.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/buildinglist.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/cityProject.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/communitylist.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/data.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/emergencyRepairOrder/emergencyRepairOrder.js.map


文件差異過大導致無法顯示
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/fileList/fileList.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/list.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/listProject.js.map


文件差異過大導致無法顯示
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/piao/piao.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/regulatorBoxList.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/repair.js.map


文件差異過大導致無法顯示
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/roadSection/roadSection.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/typeList.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/unitlist.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/uploadProject.js.map


文件差異過大導致無法顯示
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/noLogin/valveWellInspection/valveWellInspection.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/notice/noticeDetail.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/notice/noticeList.js.map


+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/piao/piao.js.map

@@ -0,0 +1 @@
+{"version":3,"sources":["uni-app:///main.js"],"names":["wx","__webpack_require_UNI_MP_PLUGIN__","__webpack_require__","createPage","Page"],"mappings":";;;;;;;;;;;;;AAAA;AAGA;AACA;AAHA;AACAA,EAAE,CAACC,iCAAiC,GAAGC,mBAAmB;AAG1DC,UAAU,CAACC,aAAI,CAAC,C","file":"pages/piao/piao.js","sourcesContent":["import 'uni-pages';\n// @ts-ignore\nwx.__webpack_require_UNI_MP_PLUGIN__ = __webpack_require__;\nimport Vue from 'vue'\nimport Page from './pages/piao/piao.vue'\ncreatePage(Page)"],"sourceRoot":""}

文件差異過大導致無法顯示
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/piaoyi-editor/components/piaoyi-editor/color-picker.js.map


文件差異過大導致無法顯示
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/piaoyi-editor/components/piaoyi-editor/piaoyi-editor.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-data-charts/qiun-data-charts.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-error/qiun-error.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading1.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading2.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading3.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading4.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uni_modules/qiun-data-charts/components/qiun-loading/loading5.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-button/u-button.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-checkbox-group/u-checkbox-group.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-checkbox/u-checkbox.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-col/u-col.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-empty/u-empty.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form-item/u-form-item.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form/u-form.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-grid-item/u-grid-item.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-grid/u-grid.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-icon/u-icon.js.map


文件差異過大導致無法顯示
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-image/u-image.js.map


文件差異過大導致無法顯示
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-input/u-input.js.map


+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-loading/u-loading.js.map


部分文件因文件數量過多而無法顯示