Преглед на файлове

报警器 增加设备编号扫码

zhanghongrui преди 2 месеца
родител
ревизия
6393a38958
променени са 3 файла, в които са добавени 295 реда и са изтрити 224 реда
  1. 2 2
      config.js
  2. 257 221
      pages/oldrenovation/indoor/indoor.vue
  3. 36 1
      pages/statistics/historyDetails.vue

+ 2 - 2
config.js

@@ -3,8 +3,8 @@ module.exports = {
 
 	//baseUrl: 'https://www.xcx.cczdsz.cn/prod-api',
 	//baseUrl: 'http://192.168.4.88:28080',
-	baseUrl: 'http://192.168.4.23:8080',
-	//baseUrl: 'http://192.168.4.20:8080',
+	//baseUrl: 'http://192.168.4.23:8080',
+	baseUrl: 'http://192.168.4.20:8080',
 	// baseUrl: 'http://192.168.4.6:8080',
 
 	baseIconUrl: 'https://www.xcx.cczdsz.cn/app/images/',

+ 257 - 221
pages/oldrenovation/indoor/indoor.vue

@@ -222,43 +222,56 @@
 								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 							</view>
 						</view>
-					</view>
 
-				</view>
-				<!--拆旧管-->
+						<view class="container" style="border-bottom: 1px solid #f8f8f8;" v-if="objValue.enginClassValue=='报警器'">
 
-				<view v-if="objValue.enginClassValue=='拆旧管'">
-					<view class="uni-list">
-						<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
-							拆旧管
-							<span style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;" @click="history" v-if="objValue.enginType == 'old_renovation'">{{historyName}}</span>
+							<text>设备编码</text>
+							<view v-if=" this.isEmpty(this.brandCode)" style="margin-top: 10;" @click="scanCode">
+							<span style="color: darkgray; margin-right: 10rpx;">请扫描设备二维码</span>
+							<image :src="loadImgSrc('icon_san.png')" class="to-right-icon"></image>
+						</view>
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="scanCode">
+							<span style="color: black; margin-right: 10rpx;">{{brandCode}}</span>
+							<image :src="loadImgSrc('icon_san.png')" class="to-right-icon"></image>
 						</view>
+					</view>
+				</view>
 
-						<view class="container" style="margin-bottom: 20PX;border-bottom: 1px solid #f8f8f8;">
+			</view>
+			<!--拆旧管-->
 
-							<view>
-								腐蚀等级
-							</view>
-							<view v-if="this.isEmpty(this.LevelValue.id)" style="margin-top: 10;" @click="pickerShow('fsdj')">
-								<span style="color: darkgray;">请选择腐蚀等级</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('fsdj')">
-								<span style="color: black;">{{LevelValue.name}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
+			<view v-if="objValue.enginClassValue=='拆旧管'">
+				<view class="uni-list">
+					<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
+						拆旧管
+						<span style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;" @click="history" v-if="objValue.enginType == 'old_renovation'">{{historyName}}</span>
+					</view>
+
+					<view class="container" style="margin-bottom: 20PX;border-bottom: 1px solid #f8f8f8;">
+
+						<view>
+							腐蚀等级
+						</view>
+						<view v-if="this.isEmpty(this.LevelValue.id)" style="margin-top: 10;" @click="pickerShow('fsdj')">
+							<span style="color: darkgray;">请选择腐蚀等级</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('fsdj')">
+							<span style="color: black;">{{LevelValue.name}}</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 						</view>
 					</view>
 				</view>
-				<view v-if="objValue.enginClassValue=='打孔'">
-					<view class="uni-list">
-						<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
-							打孔
+			</view>
+			<view v-if="objValue.enginClassValue=='打孔'">
+				<view class="uni-list">
+					<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
+						打孔
 
-							<span style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;" @click="history" v-if="objValue.enginType == 'old_renovation'">{{historyName}}</span>
-						</view>
+						<span style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;" @click="history" v-if="objValue.enginType == 'old_renovation'">{{historyName}}</span>
+					</view>
 
-						<!-- <view class="container" style="margin-bottom: 20PX;border-bottom: 1px solid #f8f8f8;">
+					<!-- <view class="container" style="margin-bottom: 20PX;border-bottom: 1px solid #f8f8f8;">
 
 							<view>
 								孔距
@@ -273,195 +286,195 @@
 								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 							</view>
 						</view> -->
-					</view>
 				</view>
-				<!--立杠-->
-				<view v-else-if="objValue.enginClassValue=='立杠'">
-					<view class="uni-list" style="margin-bottom: 20px;">
-						<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
-							立杠
+			</view>
+			<!--立杠-->
+			<view v-else-if="objValue.enginClassValue=='立杠'">
+				<view class="uni-list" style="margin-bottom: 20px;">
+					<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
+						立杠
 
-							<span style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;" @click="history" v-if="objValue.enginType == 'old_renovation'">{{historyName}}</span>
-						</view>
+						<span style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;" @click="history" v-if="objValue.enginType == 'old_renovation'">{{historyName}}</span>
+					</view>
 
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 
-							<view>
-								材 质
-							</view>
-							<view v-if="this.isEmpty(this.materialValue.id)" style="margin-top: 10;" @click="pickerShow('cz')">
-								<span style="color: darkgray;">请选择材质</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('cz')">
-								<span style="color: black;">{{materialValue.name}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
+						<view>
+							材 质
 						</view>
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+						<view v-if="this.isEmpty(this.materialValue.id)" style="margin-top: 10;" @click="pickerShow('cz')">
+							<span style="color: darkgray;">请选择材质</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('cz')">
+							<span style="color: black;">{{materialValue.name}}</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+					</view>
+					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 
-							<view>
-								规 格
-							</view>
-							<view v-if="this.isEmpty(this.specificationValue.id)" style="margin-top: 10;" @click="pickerShow('gg')">
-								<span style="color: darkgray;">请选择规格</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('gg')">
-								<span style="color: black;">{{specificationValue.name}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
+						<view>
+							规 格
 						</view>
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
-							<text>米 数</text>
-							<!-- style="margin-left: 10px;text-align: right;" -->
-							<view style="display: flex; justify-content: right; width: 70%;">
-								<input class="uni-input" type="number" v-model="inputIntegerNumberValue" maxlength="6" style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
-								<text style="font-weight:bold;margin-left: 10px;margin-right: 10px;">.</text>
-								<input class="uni-input" type="number" v-model="inputDecimalNumberValue" maxlength="1" style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
-							</view>
+						<view v-if="this.isEmpty(this.specificationValue.id)" style="margin-top: 10;" @click="pickerShow('gg')">
+							<span style="color: darkgray;">请选择规格</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('gg')">
+							<span style="color: black;">{{specificationValue.name}}</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+					</view>
+					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+						<text>米 数</text>
+						<!-- style="margin-left: 10px;text-align: right;" -->
+						<view style="display: flex; justify-content: right; width: 70%;">
+							<input class="uni-input" type="number" v-model="inputIntegerNumberValue" maxlength="6" style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+							<text style="font-weight:bold;margin-left: 10px;margin-right: 10px;">.</text>
+							<input class="uni-input" type="number" v-model="inputDecimalNumberValue" maxlength="1" style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
 						</view>
 					</view>
 				</view>
-				<!--挂表-->
-				<view v-else-if="objValue.enginClassValue=='挂表'">
-					<view class="uni-list" style="margin-bottom: 20px;">
-						<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
-							挂表
+			</view>
+			<!--挂表-->
+			<view v-else-if="objValue.enginClassValue=='挂表'">
+				<view class="uni-list" style="margin-bottom: 20px;">
+					<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
+						挂表
 
-							<span style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;" @click="history" v-if="objValue.enginType == 'old_renovation'">{{historyName}}</span>
-						</view>
+						<span style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;" @click="history" v-if="objValue.enginType == 'old_renovation'">{{historyName}}</span>
+					</view>
 
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 
-							<view>
-								品 牌
-							</view>
-							<view v-if="this.isEmpty(this.brandValue.id)" style="margin-top: 10;" @click="pickerShow('brand')">
-								<span style="color: darkgray;">请选择品牌</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('brand')">
-								<span style="color: black;">{{brandValue.name}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
+						<view>
+							品 牌
+						</view>
+						<view v-if="this.isEmpty(this.brandValue.id)" style="margin-top: 10;" @click="pickerShow('brand')">
+							<span style="color: darkgray;">请选择品牌</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 						</view>
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('brand')">
+							<span style="color: black;">{{brandValue.name}}</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+					</view>
 
 
-					</view>
 				</view>
-				<!--表后管-->
-				<view v-else-if="objValue.enginClassValue=='表后管'">
-					<view class="uni-list" style="margin-bottom: 20px;">
-						<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
-							表后管
+			</view>
+			<!--表后管-->
+			<view v-else-if="objValue.enginClassValue=='表后管'">
+				<view class="uni-list" style="margin-bottom: 20px;">
+					<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
+						表后管
 
-							<span style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;" @click="history" v-if="objValue.enginType == 'old_renovation'">{{historyName}}</span>
-						</view>
+						<span style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;" @click="history" v-if="objValue.enginType == 'old_renovation'">{{historyName}}</span>
+					</view>
 
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 
-							<view>
-								材 质
-							</view>
-							<view v-if="this.isEmpty(this.materialValue.id)" style="margin-top: 10;" @click="pickerShow('cz')">
-								<span style="color: darkgray;">请选择材质</span>
-							</view>
-							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('cz')">
-								<span style="color: black;">{{materialValue.name}}</span>
-							</view>
+						<view>
+							材 质
 						</view>
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
-
-							<view>
-								规 格
-							</view>
-							<view v-if="this.isEmpty(this.specificationValue.id)" style="margin-top: 10;" @click="pickerShow('gg')">
-								<span style="color: darkgray;">请选择规格</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('gg')">
-								<span style="color: black;">{{specificationValue.name}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
+						<view v-if="this.isEmpty(this.materialValue.id)" style="margin-top: 10;" @click="pickerShow('cz')">
+							<span style="color: darkgray;">请选择材质</span>
 						</view>
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
-							<text>米 数</text>
-							<!-- style="margin-left: 10px;text-align: right;" -->
-							<view style="display: flex; justify-content: right; width: 70%;">
-								<input class="uni-input" type="number" v-model="inputIntegerNumberValue" maxlength="6" style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
-								<text style="font-weight:bold;margin-left: 10px;margin-right: 10px;">.</text>
-								<input class="uni-input" type="number" v-model="inputDecimalNumberValue" maxlength="1" style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
-							</view>
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('cz')">
+							<span style="color: black;">{{materialValue.name}}</span>
+						</view>
+					</view>
+					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 
+						<view>
+							规 格
 						</view>
+						<view v-if="this.isEmpty(this.specificationValue.id)" style="margin-top: 10;" @click="pickerShow('gg')">
+							<span style="color: darkgray;">请选择规格</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('gg')">
+							<span style="color: black;">{{specificationValue.name}}</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+					</view>
+					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+						<text>米 数</text>
+						<!-- style="margin-left: 10px;text-align: right;" -->
+						<view style="display: flex; justify-content: right; width: 70%;">
+							<input class="uni-input" type="number" v-model="inputIntegerNumberValue" maxlength="6" style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+							<text style="font-weight:bold;margin-left: 10px;margin-right: 10px;">.</text>
+							<input class="uni-input" type="number" v-model="inputDecimalNumberValue" maxlength="1" style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+						</view>
+
 					</view>
 				</view>
-				<!--阀管-->
-				<view v-else-if="objValue.enginClassValue=='阀管'">
-					<view class="uni-list" style="margin-bottom: 20px;">
-						<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
-							阀管
+			</view>
+			<!--阀管-->
+			<view v-else-if="objValue.enginClassValue=='阀管'">
+				<view class="uni-list" style="margin-bottom: 20px;">
+					<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
+						阀管
 
-							<span style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;" @click="history" v-if="objValue.enginType == 'old_renovation'">{{historyName}}</span>
-						</view>
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+						<span style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;" @click="history" v-if="objValue.enginType == 'old_renovation'">{{historyName}}</span>
+					</view>
+					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 
-							<view>
-								上门类型
-							</view>
-							<view v-if="this.isEmpty(this.doorValue.dictValue)" style="margin-top: 10;" @click="pickerShow('door')">
-								<span style="color: darkgray;">请选择上门类型</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('door')">
-								<span style="color: black;">{{doorValue.dictLabel}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
+						<view>
+							上门类型
 						</view>
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+						<view v-if="this.isEmpty(this.doorValue.dictValue)" style="margin-top: 10;" @click="pickerShow('door')">
+							<span style="color: darkgray;">请选择上门类型</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('door')">
+							<span style="color: black;">{{doorValue.dictLabel}}</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+					</view>
+					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 
-							<view>
-								自闭阀厂家
-							</view>
-							<view v-if="this.isEmpty(this.SelfClosValve.id)" style="margin-top: 10;" @click="pickerShow('zbf')">
-								<span style="color: darkgray;">请选择自闭阀厂家</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('zbf')">
-								<span style="color: black;">{{SelfClosValve.name}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
+						<view>
+							自闭阀厂家
 						</view>
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+						<view v-if="this.isEmpty(this.SelfClosValve.id)" style="margin-top: 10;" @click="pickerShow('zbf')">
+							<span style="color: darkgray;">请选择自闭阀厂家</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('zbf')">
+							<span style="color: black;">{{SelfClosValve.name}}</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+					</view>
+					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 
-							<view>
-								灶具管厂家
-							</view>
-							<view v-if="this.isEmpty(this.materialValue.id)" style="margin-top: 10;" @click="pickerShow('cz')">
-								<span style="color: darkgray;">请选择灶具管厂家</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('cz')">
-								<span style="color: black;">{{materialValue.name}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
+						<view>
+							灶具管厂家
 						</view>
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+						<view v-if="this.isEmpty(this.materialValue.id)" style="margin-top: 10;" @click="pickerShow('cz')">
+							<span style="color: darkgray;">请选择灶具管厂家</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('cz')">
+							<span style="color: black;">{{materialValue.name}}</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+					</view>
+					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 
-							<view>
-								规 格
-							</view>
-							<view v-if="this.isEmpty(this.specificationValue.id)" style="margin-top: 10;" @click="pickerShow('gg')">
-								<span style="color: darkgray;">请选择规格</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('gg')">
-								<span style="color: black;">{{specificationValue.name}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
+						<view>
+							规 格
 						</view>
-						<!-- 	<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+						<view v-if="this.isEmpty(this.specificationValue.id)" style="margin-top: 10;" @click="pickerShow('gg')">
+							<span style="color: darkgray;">请选择规格</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('gg')">
+							<span style="color: black;">{{specificationValue.name}}</span>
+							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+						</view>
+					</view>
+					<!-- 	<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 							<text>米 数</text>
 							<view style="display: flex; justify-content: right; width: 70%;">
 								<input class="uni-input" type="number" v-model="inputIntegerNumberValue" maxlength="6"
@@ -471,52 +484,52 @@
 									style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
 							</view>
 						</view> -->
-					</view>
 				</view>
-				<view class="align-items" style="margin-top: 20px;margin-bottom: 20px;">
-					<view class="container" style="color: #b2b2b2;">*请上传照片</view>
-					<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px; margin-left: 10px;">
-						<image :src="loadImgSrc('updateimg.png')" mode="" style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose()" v-show="reviewStatus!='1'"></image>
-						<view v-for="(item,index) in imgArr" :key="index" style="position: relative;">
-							<view v-if="item.substring(item.length - 3) == 'png' || item.substring(item.length - 3) == 'jpg'||item.substring(item.length-4)=='jpeg' ">
-								<image :src="item" mode="" style="width: 200rpx; height: 200rpx; margin: 0 12rpx;" @click="showPhoto(index)">
-								</image>
-							</view>
-							<view v-else>
-								<video :src="item" style="width: 200rpx; height: 200rpx; margin: 0 12rpx;"></video>
-							</view>
-							<view @click="remove(index)" style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;">
-								<image :src="loadImgSrc('icon_close.png')" style=" width: 15px; height: 15px;">
-								</image>
-							</view>
+			</view>
+			<view class="align-items" style="margin-top: 20px;margin-bottom: 20px;">
+				<view class="container" style="color: #b2b2b2;">*请上传照片</view>
+				<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px; margin-left: 10px;">
+					<image :src="loadImgSrc('updateimg.png')" mode="" style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose()" v-show="reviewStatus!='1'"></image>
+					<view v-for="(item,index) in imgArr" :key="index" style="position: relative;">
+						<view v-if="item.substring(item.length - 3) == 'png' || item.substring(item.length - 3) == 'jpg'||item.substring(item.length-4)=='jpeg' ">
+							<image :src="item" mode="" style="width: 200rpx; height: 200rpx; margin: 0 12rpx;" @click="showPhoto(index)">
+							</image>
+						</view>
+						<view v-else>
+							<video :src="item" style="width: 200rpx; height: 200rpx; margin: 0 12rpx;"></video>
+						</view>
+						<view @click="remove(index)" style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;">
+							<image :src="loadImgSrc('icon_close.png')" style=" width: 15px; height: 15px;">
+							</image>
 						</view>
 					</view>
+				</view>
 
 
-					<view v-if="objValue.enginType == 'old_renovation'" style="margin-top: 10px;">
-						<view v-if="objValue.enginClassValue=='拆旧管'">
-							<span class="container-text">(1)拆除前照片(能体现出周边环境的宏观照片)</span>
-							<span class="container-text">(2)拆除的立杠照片(如腐蚀严重需增加腐蚀处特写照片)</span>
-							<span class="container-text">(3)立杠腐蚀照片</span>
-						</view>
-						<view v-if="objValue.enginClassValue=='立杠'">
-							<span class="container-text">改造完成后的宏观照片,热收缩套照片,立杠要求有卡子及三通、表弯头、立杠刷油均匀</span>
-						</view>
-						<view v-if="objValue.enginClassValue=='挂表'">
-							<span class="container-text">安装后的业主家燃气表正面能看清相关信息的照片</span>
-						</view>
-						<view v-if="objValue.enginClassValue=='表后管'">
-							<span class="container-text">表后管整体照片+表至自闭阀区间的管道走向视频,表后管需按照施工标准横平竖直且有卡子固定</span>
-						</view>
-						<view v-if="objValue.enginClassValue=='阀管'">
-							<span class="container-text">(1)自闭阀照片(自闭阀必须安装底座)</span>
-							<span class="container-text">(2)灶具连接处照片</span>
-							<span class="container-text">(3)打压照片</span>
-							<span class="container-text">(4)回执单照片</span>
-						</view>
+				<view v-if="objValue.enginType == 'old_renovation'" style="margin-top: 10px;">
+					<view v-if="objValue.enginClassValue=='拆旧管'">
+						<span class="container-text">(1)拆除前照片(能体现出周边环境的宏观照片)</span>
+						<span class="container-text">(2)拆除的立杠照片(如腐蚀严重需增加腐蚀处特写照片)</span>
+						<span class="container-text">(3)立杠腐蚀照片</span>
+					</view>
+					<view v-if="objValue.enginClassValue=='立杠'">
+						<span class="container-text">改造完成后的宏观照片,热收缩套照片,立杠要求有卡子及三通、表弯头、立杠刷油均匀</span>
+					</view>
+					<view v-if="objValue.enginClassValue=='挂表'">
+						<span class="container-text">安装后的业主家燃气表正面能看清相关信息的照片</span>
+					</view>
+					<view v-if="objValue.enginClassValue=='表后管'">
+						<span class="container-text">表后管整体照片+表至自闭阀区间的管道走向视频,表后管需按照施工标准横平竖直且有卡子固定</span>
+					</view>
+					<view v-if="objValue.enginClassValue=='阀管'">
+						<span class="container-text">(1)自闭阀照片(自闭阀必须安装底座)</span>
+						<span class="container-text">(2)灶具连接处照片</span>
+						<span class="container-text">(3)打压照片</span>
+						<span class="container-text">(4)回执单照片</span>
 					</view>
 				</view>
 			</view>
+			</view>
 			<view class=" action-btn" v-show="reviewStatus!='1'" style="display: flex;padding: 5px;">
 				<button @click="submit('submit')" class="btn cu-btn block bg-blue lg round" style="margin-right: 10px;">确认上传</button>
 				<button @click="submit('save')" class="btn cu-btn block bg-blue lg round" v-if="objValue.enginType == 'old_renovation'">暂存</button>
@@ -602,6 +615,7 @@
 					specificationValue: {}, //规格
 					materialValue: {}, //材质
 					brandValue: {}, //品牌
+					brandCode: '', //设备编码 
 					doorValue: {}, //上门类型
 					SelfClosValve: {}, //自闭阀类型
 					materialList: '', //材质list
@@ -646,6 +660,24 @@
 			},
 			methods: {
 
+				scanCode() {
+					// 允许从相机和相册扫码
+					uni.scanCode({
+						onlyFromCamera: true,
+						scanType: ["qrCode"],
+						success: (res) => {
+							if (res.result) {
+								this.brandCode = res.result;
+							} else {
+								this.$modal.msg('扫码失败,请重新扫描')
+								return false;
+							}
+						},
+						fail: (res) => {
+							this.$modal.msg('未识别到二维码')
+						}
+					})
+				},
 				copyAddress() {
 					if (uni.getStorageSync('XZQValue') != {}) {
 						this.type = 'xzq';
@@ -1282,6 +1314,8 @@
 						if (e == 'submit') {
 							if (this.isEmpty(this.brandValue.id)) {
 								this.$modal.msg("请选择厂家")
+							} else if (this.isEmpty(this.brandCode)) {
+								this.$modal.msg("请扫描设备编码")
 							} else {
 								//this.onsubmit(e);
 
@@ -1560,6 +1594,7 @@
 
 									zEngineeringMaterialBo: [{
 										brand: this.brandValue.id, //品牌
+										materialQualityCode: this.brandCode, //设备编码
 										// number: this.inputNumberValue //米数
 									}]
 								}
@@ -1796,9 +1831,10 @@
 												.enginClassValue == '挂表') {
 
 												this.brandValue.id = dataJson.zEngineeringMaterialBo[0]
-													.brand
+													.brand;
 												this.brandValue.name = dataJson.zEngineeringMaterialBo[0]
-													.brandName
+													.brandName;
+												this.brandCode = dataJson.zEngineeringMaterialBo[0].materialQualityCode;
 
 
 											} else if (this.objValue.enginClassValue == '阀管') {

+ 36 - 1
pages/statistics/historyDetails.vue

@@ -43,6 +43,12 @@
 							{{getSelectName(value.zEngineeringMaterialBo[0].brand)}}
 						</view>
 					</view>
+					<view class="uni-media-list-text-top" v-if="title=='报警器'">
+						<view class="tit-text">设备编码:</view>
+						<view @click="scanCode(key)">
+							{{value.zEngineeringMaterialBo[0].materialQualityCode}}
+						</view>
+					</view>
 					<view class="" v-if="title=='立杠'||title=='表后管'">
 						<view class="uni-media-list-text-top" style="border-bottom: 1px solid #f8f8f8;">
 
@@ -206,8 +212,10 @@
 				this.nodeId = e.id;
 				this.type = e.type;
 				this.roomId = e.roomId;
-				console.log(this.roomId);
 				this.newPhone = [];
+				uni.showLoading({
+					title: '加载中'
+				})
 				getRoomDetails(e.roomId).then(response => {
 						if (!this.isEmpty(response.data.newPhone)) {
 							let str = response.data.newPhone;
@@ -221,6 +229,7 @@
 
 					}),
 					getHistoryDetails(this.nodeId, this.type).then(response => {
+						uni.hideLoading();
 						if (response.data.zEngineeringNodeBo != null) {
 							let flag = false;
 							for (let i in response.data.zEngineeringNodeBo.zEngineeringInfoBoList) {
@@ -268,6 +277,32 @@
 			}
 		},
 		methods: {
+			scanCode(key) {
+				// 允许从相机和相册扫码
+				uni.scanCode({
+					onlyFromCamera: true,
+					scanType: ["qrCode"],
+					success: (res) => {
+						if (res.result) {
+							this.dataJson.zEngineeringNodeBo.zEngineeringInfoBoList[key].zEngineeringMaterialBo[0]
+								.materialQualityCode = res.result;
+						} else {
+							this.$modal.msg('扫码失败,请重新扫描')
+							return false;
+						}
+					},
+					fail: (res) => {
+						console.log(res)
+						if (res.errMsg === 'scanCode:fail cancel') {
+							console.log('用户取消了扫描');
+							//this.$modal.msg('未识别到二维码')
+							// 用户取消的逻辑处理
+						} else {
+							this.$modal.msg('未识别到二维码')
+						}
+					}
+				})
+			},
 			//关闭弹窗
 			closeDict(e) {
 				this.openDict = false