Browse Source

修改电表

zhengkaixin 1 year ago
parent
commit
67313b069b

+ 7 - 0
pages.json

@@ -343,6 +343,13 @@
         	"style" : 
         	{
         	
+        		"enablePullDownRefresh" : false
+        	}
+        },
+        {
+        	"path" : "pages/meterManagement/equipmentDetails",
+        	"style" : 
+        	{
         		"enablePullDownRefresh" : false
         	}
         }

+ 349 - 0
pages/meterManagement/equipmentDetails.vue

@@ -0,0 +1,349 @@
+<template>
+	<view>
+		<u-navbar title="设备详情" title-color="#101010">
+			<view class="slot"  style="color: #1677FF;"
+			 slot="right"  @click="bindShow=true" >
+				修改
+			
+			</view>
+		</u-navbar>
+		
+		<view class="background">
+
+			<view class="details">
+				<view class="headline">
+					{{meterDetail.name}}
+				</view>
+				<view class="infos">
+					<view class="infos-item">
+						<view class="item-title">
+							设备类型
+						</view>
+						<view class="item-value2">
+							{{meterDetail.deviceTypeN}}
+						</view>
+					</view>
+					<view class="infos-item">
+						<view class="item-title">
+							设备编号
+						</view>
+						<view class="item-value">
+							{{meterDetail.deviceNo}}
+						</view>
+					</view>
+					<view class="infos-item">
+						<view class="item-title">
+							设备地址
+						</view>
+						<view class="item-value">
+							{{meterDetail.installationAddress}}
+						</view>
+					</view>
+					<view class="infos-item">
+						<view class="item-title">
+							地址简称
+						</view>
+						<view class="item-value">
+							{{meterDetail.installationAddressSimple}}
+						</view>
+					</view>
+				</view>
+
+                <view class="infos">
+					<view class="infos-item">
+						<view class="item-title">
+							产权单位
+							
+							
+
+						</view>
+						<view class="item-value">
+							{{meterDetail.companyFullName}}
+						</view>
+					</view>
+					<view class="infos-item">
+						<view class="item-title">
+							产权单位简称							
+						</view>
+						<view class="item-value">
+							{{meterDetail.companyName}}	
+						</view>
+					</view>
+					<view class="infos-item" v-if="false">
+						<view class="item-title">
+							产权单位联系人
+						</view>
+						<view class="item-value">
+							未填写
+						</view>
+					</view>
+					<view class="infos-item">
+						<view class="item-title">
+							使用单位
+							
+						</view>
+						<view class="item-value">
+							{{meterDetail.customer}}
+						</view>
+					</view>
+					<view class="infos-item">
+						<view class="item-title">
+							启用时间
+						</view>
+						<view class="item-value">
+							{{meterDetail.enablingTime}}
+						</view>
+					</view>
+				</view>
+				
+				<view class="infos" v-if="false">
+					<view class="infos-item" >
+						<view class="item-title">
+							使用单位
+							
+						</view>
+						<view class="item-value">
+							{{meterDetail.customer}}
+						</view>
+					</view>
+					<view class="infos-item">
+						<view class="item-title">
+							使用单位简称
+
+						</view>
+						<view class="item-value">
+							荆鹏软件	
+						</view>
+					</view>
+					<view class="infos-item">
+						<view class="item-title">
+								使用单位联系人
+						</view>
+						<view class="item-value">
+							未填写
+						</view>
+					</view>
+					
+				</view>
+				<view class="infos" v-if="false">
+					
+					<view class="infos-item">
+						<view class="item-title">
+							备注
+						</view>
+						<view class="item-value">	
+							自有
+						</view>
+					</view>
+					
+					
+				</view>
+			</view>
+
+		</view>
+		
+		<!-- 账户信息弹窗 -->
+		<view class="modal">
+			<u-modal v-model="bindShow" :show-title="false" :show-cancel-button="true"
+			 @confirm="submit"
+			 
+			 cancel-text="取消"
+				confirm-text="修改">
+				<view class="headline">
+					电表信息
+		
+				</view>
+				<view class="infos">
+					<view class="item">
+						<view class="title">
+							设备名称
+						</view>
+						<view class="value">
+							
+							<u-input v-model="updateByMeter.name" :border="true" ></u-input>
+						</view>
+					</view>
+					<view class="item">
+						<view class="title">
+							设备地址
+						</view>
+						<view class="value">
+							
+							<u-input v-model="updateByMeter.installationAddress"
+							 type="textarea"
+							 :border="true" ></u-input>
+						</view>
+					</view>
+					<view class="item">
+						<view class="title">
+							地址简称
+						</view>
+						<view class="value">
+							
+							<u-input v-model="updateByMeter.installationAddressSimple" :border="true" ></u-input>
+						</view>
+					</view>
+					<view class="item">
+						<view class="title">
+							电表编号
+							
+						</view>
+						<view class="value">
+							{{findByMeter.deviceNo}}
+							
+						</view>
+					</view>
+					<view class="item">
+						<view class="title">
+							设备类型
+						</view>
+						<view class="value">
+							{{findByMeter.deviceTypeN}}
+						</view>
+					</view>
+					
+				</view>
+				
+			</u-modal>
+		</view>
+    
+	</view>
+</template>
+
+<script>
+	import * as API_Electricity from '@/apis/pagejs/tenantElectricityMeter.js'
+	export default {
+		data() {
+			return {
+				bindShow:false,
+				meterDetail:{},
+				id:"",
+				findByMeter:{},
+				updateByMeter:{},
+			}
+		},
+		onLoad(op) {
+			if(op.id){
+				this.id=op.id;
+				this.getMeterDetails(op.id);
+			}
+		},
+		methods: {
+			submit(){
+				
+			},
+			getMeterDetails(meterId){
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				API_Electricity.meterDetails({
+					meterId:meterId
+				}).then((response) => {
+					uni.hideLoading()
+					this.meterDetail=response.data.meter;
+					
+					this.findByMeter=response.data.meter;
+					this.updateByMeter=response.data.meter;
+					
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
+				})
+			},
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.background {
+		height: 400rpx;
+		padding-top: 32rpx;
+		background: linear-gradient(180deg, rgba(203, 234, 255, 1) 0%, rgba(203, 234, 255, 0) 100%);
+
+		// 用电记录
+		.details {
+
+			background-color: #fff;
+			border-radius: 8px;
+			padding: 32rpx;
+			margin: 0rpx 32rpx;
+            
+			.headline {
+				color: rgb(16, 16, 16);
+				font-size: 40rpx;
+				text-align: center;
+				margin-bottom: 40rpx;
+				font-weight: bold;
+			}
+  
+			.infos {
+				padding-top: 40rpx;
+				border-top: 1px solid rgba(241, 241, 241, 1);
+
+				.infos-item {
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+					margin-bottom: 24rpx;
+
+					.item-title {
+						color: rgba(51, 51, 51, 1);
+					}
+
+					.item-value {
+						color: rgba(16, 16, 16, 1);
+						
+					}
+					.item-value2{
+						color: #1677FF ;
+					}
+				}
+			}
+		}
+
+
+
+	}
+
+
+.modal {
+		.headline {
+			text-align: center;
+			background: linear-gradient(90deg, rgba(49, 110, 207, 1) 2%, rgba(20, 73, 159, 1) 100%);
+			color: #fff;
+			height: 104rpx;
+			line-height: 104rpx;
+			font-size: 36rpx;
+
+		}
+		.infos {
+			padding: 40rpx 48rpx 26rpx;
+		
+			.item {
+				display: flex;
+				justify-content: space-between;
+				margin-bottom: 24rpx;
+				align-items: center;
+		
+				.title {
+					color: rgba(119, 119, 119, 1);
+					font-size: 32rpx;
+					width: 138rpx;
+				}
+		
+				.value {
+					color: #333333;
+					font-size: 32rpx;
+					
+					width: 388rpx;
+					margin-left: 16rpx;
+				}
+			}
+		
+		}
+		
+	}
+</style>

+ 71 - 8
pages/meterManagement/meterManagement.vue

@@ -120,8 +120,28 @@
 							设备名称
 						</view>
 						<view class="value">
-							{{findByMeter.name}}
 							
+							<u-input v-model="updateByMeter.name" :border="true" ></u-input>
+						</view>
+					</view>
+					<view class="item">
+						<view class="title">
+							设备地址
+						</view>
+						<view class="value">
+							
+							<u-input v-model="updateByMeter.installationAddress"
+							 type="textarea"
+							 :border="true" ></u-input>
+						</view>
+					</view>
+					<view class="item">
+						<view class="title">
+							地址简称
+						</view>
+						<view class="value">
+							
+							<u-input v-model="updateByMeter.installationAddressSimple" :border="true" ></u-input>
 						</view>
 					</view>
 					<view class="item">
@@ -264,6 +284,7 @@
 				bindShow:false,
 				unbindShow:false,
 				findByMeter:{},
+				updateByMeter:{},
 				queryList:[],
 				electricity:{
 					
@@ -312,7 +333,8 @@
 			},
 			gotoInfo(query){
 				if(query.meterId){
-					this.getMeterDetails(query.meterId)
+					//this.getMeterDetails(query.meterId)
+					this.gotoUrl('/pages/meterManagement/equipmentDetails?id='+query.meterId)
 				}
 			},
 			timeEnd(contractEndTime){
@@ -339,6 +361,39 @@
 					})
 				})
 			},
+			updateByMeterMethod(){
+				var sz=['name','installationAddress','installationAddressSimple']
+				var bl=false;
+				for(var i in sz){
+					var key=sz[i]
+					if(this.updateByMeter[key]!=this.findByMeter[key]){
+						bl=true;
+					}
+				}
+				if(bl){
+					uni.showLoading({
+						title: "加载中",
+						mask: true,
+					})
+					API_Electricity.bindMeter({
+						meterNo:this.meterNo,
+						contractId:this.contractId,
+					}).then((response) => {
+						
+						
+						this.contractList()
+					
+					}).catch(error => {
+						uni.showToast({
+							title: error,
+							icon: "none"
+						})
+					})
+				}else{
+					this.contractList()
+				}
+				
+			},
 			submit(){
 				uni.showLoading({
 					title: "加载中",
@@ -354,7 +409,8 @@
 						content:"操作成功",
 						title:"提示"
 					})
-					this.contractList()
+					
+					this.updateByMeterMethod()
 				}).catch(error => {
 					uni.showToast({
 						title: error,
@@ -373,9 +429,14 @@
 				}
 				this.contractId=item.id;
 				//console.log(item)
-				this.getScanCode1()
-				//var code="CODE_128,2"
-				//this.getScanCode2(code)
+				if(!(process.env.NODE_ENV === "development") ){
+					this.getScanCode1()
+				}else{
+					var code="CODE_128,2"
+					this.getScanCode2(code)
+				}
+				
+				
 				
 			},
 			getScanCode1() {
@@ -418,6 +479,7 @@
 					console.log(response)
 					this.bindShow=true;
 					this.findByMeter=response.data.meter;
+					this.updateByMeter=response.data.meter;
 				}).catch(error => {
 					uni.hideLoading()
 					uni.showModal({
@@ -617,8 +679,8 @@
 			text-align: center;
 			background: linear-gradient(90deg, rgba(49, 110, 207, 1) 2%, rgba(20, 73, 159, 1) 100%);
 			color: #fff;
-			height: 144rpx;
-			line-height: 144rpx;
+			height: 104rpx;
+			line-height: 104rpx;
 			font-size: 36rpx;
 
 		}
@@ -629,6 +691,7 @@
 				display: flex;
 				justify-content: space-between;
 				margin-bottom: 24rpx;
+				align-items: center;
 		
 				.title {
 					color: rgba(119, 119, 119, 1);

+ 7 - 2
uni_modules/uview-ui/components/u-navbar/u-navbar.vue

@@ -22,7 +22,7 @@
 					</view>
 				</view>
 				
-				<view class="u-slot-content">
+				<view class="u-slot-content"  >
 					<slot></slot>
 				</view>
 				<view class="u-slot-right">
@@ -322,17 +322,22 @@
 		font-size: 32rpx;
 		flex: 1;
 	}
-
+	.u-slot-right{
+		z-index: 99;
+	}
 	.u-navbar-right {
 		flex: 1;
 		@include vue-flex;
 		align-items: center;
 		justify-content: flex-end;
+		
 	}
 
 	.u-slot-content {
+		
 		flex: 1;
 		@include vue-flex;
 		align-items: center;
+		
 	}
 </style>