Browse Source

Merge branch 'zdsz3.0' of http://192.168.10.18:3000/wangtong/zd_wechatApp into zdsz3.0

menchuang 1 year ago
parent
commit
0cb0e83a4e

+ 17 - 0
api/common.js

@@ -1,6 +1,23 @@
 import request from '@/utils/request'
 
 
+// 获取房间工程历史
+export function getRoomProjectList(id,type) {
+
+	return request({
+		'url': '/zdsz/engineeringCivil/'+id+'/'+type,
+		'method': 'get',
+	})
+}
+// 查询房间是否有工程
+export function getRoomProjectId(room) {
+
+	return request({
+		'url': '/zdsz/engineeringCivil/query',
+		'method': 'post',
+		'data': room
+	})
+}
 // 材质规格下拉
 export function getEnginSpecificationsList(materId) {
 	const data = {

+ 259 - 0
components/bottomSheet/bottomSheet.vue

@@ -0,0 +1,259 @@
+<template>
+	<view class="share">
+		<view :class="{'share-box': shareState}" @click="handleHiddenShare">
+		</view>
+		<view class="share-item" :class="{'share-show': shareState}">
+			<view class="share-to">
+				<text style="font-size: 16px;color: #000;">{{title}}</text>
+			</view>
+
+
+			<scroll-view scroll-y="true" class="scroll-Y">
+				<view class="uni-list-cell" hover-class="uni-list-cell-hover" v-for="(value, key) in historyList"
+					:key="key">
+					<view class="uni-media-list">
+
+						<view class="uni-media-list-body" style="margin-left: 15px;">
+							<view v-if="title=='拆旧管'">
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									腐蚀等级:{{value.zEngineeringMaterialBo[0].corrosionLevel}}</view>
+							</view>
+							<view v-else-if="title=='立杠'">
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									材质:{{value.zEngineeringMaterialBo[0].materialQualityName}}</view>
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									规格:{{value.zEngineeringMaterialBo[0].specificationsName}}</view>
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									数量:{{value.zEngineeringMaterialBo[0].number}}</view>
+							</view>
+							<view v-else-if="title=='挂表'">
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									品牌:{{value.zEngineeringMaterialBo[0].brand}}</view>
+
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									数量:{{value.zEngineeringMaterialBo[0].number}}</view>
+							</view>
+							<view v-else-if="title=='表后管'">
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									材质:{{value.zEngineeringMaterialBo[0].materialQualityName}}</view>
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									规格:{{value.zEngineeringMaterialBo[0].specificationsName}}</view>
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									数量:{{value.zEngineeringMaterialBo[0].number}}</view>
+							</view>
+							<view v-else-if="title=='阀管'">
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									上门类型:{{value.zEngineeringMaterialBo[0].visitType}}</view>
+									<view class="uni-media-list-text-top"
+										style="font-size: 13px;color: #000;margin-top: 5px;">
+										自闭阀类型:{{value.zEngineeringMaterialBo[0].selfClosingValveType}}</view>
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									材质:{{value.zEngineeringMaterialBo[0].materialQualityName}}</view>
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									规格:{{value.zEngineeringMaterialBo[0].specificationsName}}</view>
+								<view class="uni-media-list-text-top"
+									style="font-size: 13px;color: #000;margin-top: 5px;">
+									数量:{{value.zEngineeringMaterialBo[0].number}}</view>
+							</view>
+							<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
+								<text style="margin-left: 30rpx;margin-top: 6rpx;">{{ value.published_at }}</text>
+								<view v-for="(item,index) in value.zEngiineeringPhotoBoList" :key="index"
+									style="position: relative;">
+									<view
+										v-if="item.substring(item.length - 3) == 'png' || item.substring(item.length - 3) == 'jpg'  || item.substring(item.length - 3) == 'jpeg'">
+										<image :src="item" mode=""
+											style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"
+											@click="showPhoto(index)">
+										</image>
+									</view>
+									<view v-else>
+										<video :src="item"
+											style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+									</view>
+
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</scroll-view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		props: {
+			data: {
+				type: Object,
+				default: {}
+			},
+
+		},
+		created() {
+			this.getParamsData();
+		},
+		watch: {
+			data(data) {
+				this.getParamsData();
+			}
+		},
+		data() {
+			return {
+				outPutData: {},
+				historyList: [], //历史数据
+				historyPhotoList: [], //历史图片数据
+				shareState: false,
+				title: '',
+			};
+		},
+		methods: {
+			showPhoto(index) {
+				uni.previewImage({
+					current: index,
+					urls: this.historyPhotoList,
+				})
+
+			},
+			getParamsData() {
+				var selectData = this.data;
+				this.outPutData = selectData;
+				this.title = selectData.zEngineeringNodeBo.type;
+				this.historyList = selectData.zEngineeringNodeBo.zEngineeringInfoBoList;
+				//this.historyPhotoList = selectData.zEngineeringNodeBo.zEngineeringInfoBoList.zEngiineeringPhotoBoList;
+
+
+			},
+			// 显示分享
+			handleShowShare() {
+				this.shareState = true;
+			},
+			// 隐藏分享
+			handleHiddenShare() {
+				this.shareState = false;
+			}
+		}
+	}
+</script>
+
+<style lang="less">
+	.share {
+		width: 100%;
+		height: 100%;
+
+	}
+
+	.share-box {
+		width: 100%;
+		height: 100%;
+		position: fixed;
+		top: 0rpx;
+		left: 0rpx;
+		bottom: 0rpx;
+		right: 0rpx;
+		background-color: rgba(0, 0, 0, 0.4);
+		transition: .3s;
+		z-index: 999;
+	}
+
+	// 进入分享动画
+	.share-show {
+		transition: all 0.3s ease;
+		transform: translateY(0%) !important;
+		border-radius: 20px 20px 0px 0px;
+	}
+
+	.scroll-Y {
+		height: 750rpx;
+	}
+
+	// 离开分享动画
+	.share-item {
+		position: fixed;
+		left: 0;
+		bottom: 0;
+		width: 100%;
+		height: 70%;
+		background-color: #FFFFFF;
+		transition: all 0.3s ease;
+		transform: translateY(100%);
+		z-index: 1999;
+
+		.share-to {
+			width: 100%;
+			height: 30px;
+			display: flex;
+			justify-content: left;
+			margin-left: 15px;
+			align-items: center;
+
+			// &::after {
+			// 	content: '';
+			// 	width: 240rpx;
+			// 	height: 0rpx;
+			// 	border-top: 1px solid #E4E7ED;
+			// 	-webkit-transform: scaleY(0.5);
+			// 	transform: scaleY(0.5);
+			// 	margin-left: 30rpx;
+			// }
+
+			// &::before {
+			// 	content: '';
+			// 	width: 240rpx;
+			// 	height: 0rpx;
+			// 	border-top: 1px solid #E4E7ED;
+			// 	-webkit-transform: scaleY(0.5);
+			// 	transform: scaleY(0.5);
+			// 	margin-right: 30rpx;
+			// }
+		}
+
+		.content {
+			width: 100%;
+			height: auto;
+			display: flex;
+			flex-wrap: wrap;
+
+			.block {
+				width: 100%;
+				display: flex;
+				flex-direction: column;
+				justify-content: center;
+				align-items: left;
+				height: auto;
+
+				image {
+					width: 80rpx;
+					height: 80rpx;
+				}
+
+				text {
+					margin-top: 16rpx;
+					font-size: 28rpx;
+					color: #606266;
+				}
+			}
+		}
+
+		.cancel {
+			width: 100%;
+			height: 3rem;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+			border-top: 1rpx solid #E4E7ED;
+		}
+	}
+</style>

+ 9 - 20
pages.json

@@ -72,35 +72,24 @@
 			}
 		},
 		{
-			"path": "pages/oldrenovation/indoor/tearOldPipe",
+			"path": "pages/oldrenovation/indoor/indoor",
 			"style": {
-				"navigationBarTitleText": "拆旧管"
-			}
-		},
-		{
-			"path": "pages/oldrenovation/indoor/verticalBar",
-			"style": {
-				"navigationBarTitleText": "立杠"
-			}
-		},
-		{
-			"path": "pages/oldrenovation/indoor/putUpWatch",
-			"style": {
-				"navigationBarTitleText": "挂表"
+				"navigationBarTitleText": "室内"
 			}
 		},
 		{
-			"path": "pages/oldrenovation/indoor/watchAfterPipe",
+			"path": "pages/oldrenovation/courtyard/courtyard",
 			"style": {
-				"navigationBarTitleText": "表后管"
+				"navigationBarTitleText": "庭院"
 			}
 		},
 		{
-			"path": "pages/oldrenovation/indoor/valveTube",
+			"path": "pages/oldrenovation/overhead/overhead",
 			"style": {
-				"navigationBarTitleText": "阀管"
+				"navigationBarTitleText": "架空"
 			}
 		},
+
 		{
 			"path": "pages/newbuilt/newIndoor",
 			"style": {
@@ -124,6 +113,7 @@
 				"navigationBarTitleText": ""
 			}
 		}
+
 	],
 	"tabBar": {
 		"color": "#000000",
@@ -152,5 +142,4 @@
 		"navigationBarTitleText": "RuoYi",
 		"navigationBarBackgroundColor": "#FFFFFF"
 	}
-}
-
+}

+ 477 - 45
pages/oldrenovation/indoor/tearOldPipe.vue

@@ -103,15 +103,16 @@
 				<SelectPicker :list="dictOptions" @change="changeSelectDict" v-if="openDict" @close="closeDict"
 					titleKey="dictLabel" subtitleKey="dictValue" v-model="dictLabel"></SelectPicker>
 			</view>
-
+			<!--拆旧管-->
 			<view class="background">
-				<view v-if="objValue.enginClassValue=='dismantling_old_pipe'">
+				<view v-if="objValue.enginClassValue=='拆旧管'">
 					<view class="uni-list">
 						<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;">
 							拆旧管
 
 							<span
-								style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 15px;">历史</span>
+								style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 15px;"
+								@click="history">历史</span>
 						</view>
 
 						<view class="container" style="margin-bottom: 20PX;">
@@ -129,15 +130,165 @@
 						</view>
 					</view>
 				</view>
-				<view v-if="objValue.enginClassValue=='vertical_bar'">
+				<!--立杠-->
+				<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;">
 							立杠
 
 							<span
-								style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 15px;">历史</span>
+								style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 15px;"
+								@click="history">历史</span>
+						</view>
+
+						<view class="container">
+
+							<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 class="container">
+
+							<view>
+								规 格
+							</view>
+							<view v-if="this.isEmpty(this.specificationValue.id)" style="margin-top: 10;"
+								@click="pickerShow('gg')">
+								<span style="color: darkgray;">请选择规格</span>
+							</view>
+							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('gg')">
+								<span style="color: black;">{{specificationValue.name}}</span>
+							</view>
+						</view>
+						<view class="container">
+
+							<text>数 量</text>
+							<input class="uni-input" type="number" v-model="inputNumberValue" placeholder="请填写数量"
+								maxlength="11" style="margin-left: 10px;text-align: right;"></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;">
+							挂表
+
+							<span
+								style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 15px;"
+								@click="history">历史</span>
+						</view>
+
+						<view class="container">
+
+							<view>
+								品 牌
+							</view>
+							<view v-if="this.isEmpty(this.brandValue.dictValue)" style="margin-top: 10;"
+								@click="pickerShow('brand')">
+								<span style="color: darkgray;">请选择品牌</span>
+							</view>
+							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('brand')">
+								<span style="color: black;">{{brandValue.dictLabel}}</span>
+							</view>
+						</view>
+
+						<view class="container">
+
+							<text>数 量</text>
+							<input class="uni-input" type="number" v-model="inputNumberValue" placeholder="请填写数量"
+								maxlength="11" style="margin-left: 10px;text-align: right;"></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;">
+							表后管
+
+							<span
+								style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 15px;"
+								@click="history">历史</span>
+						</view>
+
+						<view class="container">
+
+							<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 class="container">
+
+							<view>
+								规 格
+							</view>
+							<view v-if="this.isEmpty(this.specificationValue.id)" style="margin-top: 10;"
+								@click="pickerShow('gg')">
+								<span style="color: darkgray;">请选择规格</span>
+							</view>
+							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('gg')">
+								<span style="color: black;">{{specificationValue.name}}</span>
+							</view>
+						</view>
+						<view class="container">
+
+							<text>数 量</text>
+							<input class="uni-input" type="number" v-model="inputNumberValue" placeholder="请填写数量"
+								maxlength="11" style="margin-left: 10px;text-align: right;"></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;">
+							阀管
+
+							<span
+								style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 15px;"
+								@click="history">历史</span>
+						</view>
+						<view class="container">
+
+							<view>
+								上门类型
+							</view>
+							<view v-if="this.isEmpty(this.doorValue.dictValue)" style="margin-top: 10;"
+								@click="pickerShow('door')">
+								<span style="color: darkgray;">请选择上门类型</span>
+							</view>
+							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('door')">
+								<span style="color: black;">{{doorValue.dictLabel}}</span>
+							</view>
 						</view>
+						<view class="container">
 
+							<view>
+								自闭阀类型
+							</view>
+							<view v-if="this.isEmpty(this.SelfClosValve.dictValue)" style="margin-top: 10;"
+								@click="pickerShow('zbf')">
+								<span style="color: darkgray;">请选择自闭阀类型</span>
+							</view>
+							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('zbf')">
+								<span style="color: black;">{{SelfClosValve.dictLabel}}</span>
+							</view>
+						</view>
 						<view class="container">
 
 							<view>
@@ -167,8 +318,8 @@
 						<view class="container">
 
 							<text>数 量</text>
-							<input class="uni-input" type="number" v-model="number" placeholder="请填写数量"
-								style="margin-left: 10px;text-align: right;"></input>
+							<input class="uni-input" type="number" v-model="inputNumberValue" placeholder="请填写数量"
+								maxlength="11" style="margin-left: 10px;text-align: right;"></input>
 						</view>
 					</view>
 				</view>
@@ -199,6 +350,8 @@
 			<view class="action-btn">
 				<button @click="submit" class="btn cu-btn block bg-blue lg round">确认上传</button>
 			</view>
+
+			<bottom-sheet ref="refShare" :data="historyList"></bottom-sheet>
 		</view>
 	</template>
 
@@ -206,6 +359,7 @@
 
 	<script>
 		import SelectPicker from '../../../components/selectPicker/select_picker.vue'
+		import bottomSheet from '../../../components/bottomSheet/bottomSheet.vue'
 
 		import uniIcons from '../../../uni_modules/uni-icons/components/uni-icons/uni-icons.vue'
 		import {
@@ -219,6 +373,8 @@
 			addTearOldPipe,
 			getEnginMaterialQualityList,
 			getEnginSpecificationsList,
+			getRoomProjectList,
+			getRoomProjectId,
 		} from '@/api/common'
 		import {
 			getToken
@@ -227,7 +383,8 @@
 		export default {
 			components: {
 				SelectPicker,
-				uniIcons
+				uniIcons,
+				bottomSheet
 			},
 			data() {
 
@@ -252,6 +409,9 @@
 					FSValue: {},
 					specificationValue: {}, //规格
 					materialValue: {}, //材质
+					brandValue: {}, //品牌
+					doorValue: {}, //上门类型
+					SelfClosValve: {}, //自闭阀类型
 					materialList: '', //材质list
 					XQList: '',
 					LDList: '',
@@ -260,8 +420,9 @@
 					progress: 0, //上传图片进度百分比
 					loading: false,
 					isCheck: true, //是否按照施工图纸施工
-					number: '',
+					inputNumberValue: '',
 					title: '',
+					historyList: {} //历史数据
 
 				}
 			},
@@ -296,6 +457,15 @@
 					return (!str || 0 === str.length);
 
 				},
+
+				// 显示历史弹窗
+				handleShowSheet() {
+					this.shareState = true;
+				},
+				// 隐藏历史弹窗
+				handleHiddenShare() {
+					this.shareState = false;
+				},
 				showPhoto(index) {
 					uni.previewImage({
 						current: index,
@@ -426,13 +596,13 @@
 											console.log('_this.progress', _this.progress)
 											_this.imgArr.push(data.data.url)
 											console.log('imgArr', _this.imgArr)
-											_this.$UTILS.showPrompt('上传成功!')
+											_this.$modal.msg('上传成功!')
 											_this.photo = false;
 										}
 									}
 								},
 								fail: e => {
-									_this.$UTILS.showPrompt('上传失败!')
+									_this.$modal.msg('上传失败!')
 									this.uploadError(index, e);
 								},
 								complete: res => {
@@ -460,11 +630,25 @@
 				},
 				pickerShow(e) {
 					this.type = e; //赋值类型
+					if (e == 'door') { //上门类型
+						this.openDict = true;
+						getDicts("visit_type").then(response => {
+							this.dictOptions = response.data;
+						});
+					} else if (e == 'zbf') { //自闭阀类型
+						this.openDict = true;
+						getDicts("self_closing_valve_type").then(response => {
+							this.dictOptions = response.data;
+						});
+					} else if (e == 'brand') { //品牌
+						this.openDict = true;
+						getDicts("brand").then(response => {
+							this.dictOptions = response.data;
+						});
 
-					if (e == 'cz') { //材质
+					} else if (e == 'cz') { //材质
 						this.open = true;
-						getEnginMaterialQualityList("0").then(response => {
-							console.log(response.data)
+						getEnginMaterialQualityList("民用工程").then(response => {
 							this.selectList = response.data;
 						});
 
@@ -483,7 +667,6 @@
 						this.openDict = true;
 						//腐蚀等级
 						getDicts("corrosion_level").then(response => {
-							console.log(response)
 							this.dictOptions = response.data;
 						});
 
@@ -544,12 +727,21 @@
 
 
 				switchChange(e) {
-					console.log('switch2 发生 change 事件,携带值为', e.detail.value)
+					//'switch 发生 change 事件,携带值为', e.detail.value)
 					this.isCheck = e.detail.value;
 				},
 				changeSelectDict(item, index) {
 					this.openDict = false;
-					if (this.type == 'gczq') {
+					if (this.type == 'door') {
+						this.doorValue = item
+
+					} else if (this.type == 'zbf') {
+						this.SelfClosValve = item
+
+					} else if (this.type == 'brand') {
+						this.brandValue = item
+
+					} else if (this.type == 'gczq') {
 						this.projectValue = item
 
 					} else if (this.type == 'xzq') {
@@ -576,9 +768,7 @@
 						this.materialValue = item;
 						this.specificationValue = ''; //重置规格
 						//根据材质ID 获取规格数据
-						console.log('材质id', item.id)
 						getEnginSpecificationsList(item.id).then(res => {
-							console.log("规格数据", res.data)
 							this.materialList = res.data
 						})
 					} else if (this.type == 'gg') {
@@ -639,50 +829,292 @@
 						this.$modal.msg("请选择单元")
 					} else if (this.isEmpty(this.FJValue.id)) {
 						this.$modal.msg("请选择房间")
-					} else if (this.isEmpty(this.LevelValue.dictValue)) {
-						this.$modal.msg("请选择腐蚀等级")
-					} else if (this.imgArr.length <= 0) {
-						this.$modal.msg('请上传照片')
+					} else if (this.objValue.enginClassValue == '拆旧管') {
+
+						if (this.isEmpty(this.LevelValue.dictValue)) {
+							this.$modal.msg("请选择腐蚀等级") //拆旧管  判断腐蚀等级
+						} else {
+							this.onsubmit();
+						}
+					} else if (this.objValue.enginClassValue == '立杠') {
+						//立杠  判断  材质  规格  数量
+						if (this.isEmpty(this.materialValue.id)) {
+							this.$modal.msg("请选择材质")
+						} else if (this.isEmpty(this.specificationValue.id)) {
+							this.$modal.msg("请选择规格")
+						} else if (this.isEmpty(this.inputNumberValue)) {
+							this.$modal.msg("请输入数量")
+						} else {
+							this.onsubmit();
+						}
+					} else if (this.objValue.enginClassValue == '挂表') {
+						//挂表  判断  品牌  数量
+						if (this.isEmpty(this.brandValue.dictValue)) {
+							this.$modal.msg("请选择品牌")
+						} else if (this.isEmpty(this.inputNumberValue)) {
+							this.$modal.msg("请输入数量")
+						} else {
+							this.onsubmit();
+						}
+
+					} else if (this.objValue.enginClassValue == '表后管') {
+						//表后管  判断  材质  规格  数量 (为必须有一张照片和一个视频)
+						if (this.isEmpty(this.materialValue.id)) {
+							this.$modal.msg("请选择材质")
+						} else if (this.isEmpty(this.specificationValue.id)) {
+							this.$modal.msg("请选择规格")
+						} else if (this.isEmpty(this.inputNumberValue)) {
+							this.$modal.msg("请输入数量")
+						} else if (this.imgArr.length <= 0) {
+							this.$modal.msg('请上传照片或视频')
+						} else if (this.loading == false) {
+							this.$modal.msg('照片或视频未上传完毕,无法提交!')
+						} else {
+							const hasImage = this.imgArr.some(item => item.endsWith('.jpg') || item.endsWith('.png') || item
+								.endsWith('.jpeg'));
+							const hasVideo = this.imgArr.some(item => item.endsWith('.mp4') || item.endsWith('.avi') || item
+								.endsWith('.mov'));
+
+							if (hasImage && hasVideo) {
+								//表后管  特殊  提交
+								let param = {
+									district: this.XZQValue.dictValue,
+									areaId: this.XQValue.id,
+									buildingId: this.LDValue.id,
+									unitId: this.DYValue.id,
+									houseId: this.FJValue.id,
+									enginType: this.objValue.enginType, //写死 上一页面传过来的 
+									enginClassification: this.objValue.enginClassification, //写死  上一页面传过来的  //室内 - 庭院 - 架空
+									enginCycle: this.projectValue.dictValue, //工程周期
+									zEngineeringNodeBo: {
+										type: this.objValue.enginClassValue, //写死 上一页面传过来的  (拆旧管等 字典值)
+										zEngineeringInfoBo: {
+											constructAccordingDrawings: this.isCheck, //是否按图纸施工
+											zEngiineeringPhotoBoList: this.imgArr, //照片集合
+
+											zEngineeringMaterialBo: [{
+												materialQuality: this.materialValue.id, //材质
+												specifications: this.specificationValue.id, //规格
+												number: this.inputNumberValue //数量
+											}]
+										}
+									}
+
+								}
+								addTearOldPipe(param).then(res => {
+									if (res.code == '200') {
+
+										uni.showToast({
+											title: res.msg,
+											icon: 'none',
+											//显示持续时间为 1秒
+											duration: 1000
+										});
+										uni.navigateBack();
+									}
+								})
+							} else {
+								this.$modal.msg('请至少上传一张照片和一个视频')
+							}
+						}
+					} else if (this.objValue.enginClassValue == '阀管') {
+						//阀管  判断  材质  规格  数量
+						if (this.isEmpty(this.doorValue.dictValue)) {
+							this.$modal.msg("请选择上门类型")
+						} else if (this.isEmpty(this.SelfClosValve.dictValue)) {
+							this.$modal.msg("请选择自闭阀类型")
+						} else if (this.isEmpty(this.materialValue.id)) {
+							this.$modal.msg("请选择材质")
+						} else if (this.isEmpty(this.specificationValue.id)) {
+							this.$modal.msg("请选择规格")
+						} else if (this.isEmpty(this.inputNumberValue)) {
+							this.$modal.msg("请输入数量")
+						} else {
+							this.onsubmit();
+						}
+					}
+				},
+
+
+				onsubmit() {
+
+					if (this.imgArr.length <= 0) {
+						this.$modal.msg('请上传照片或视频')
 					} else if (this.loading == false) {
-						this.$modal.msg('照片未上传完毕,无法提交!')
+						this.$modal.msg('照片或视频未上传完毕,无法提交!')
 					} else {
 						//提交
-						let param = {
-							district: this.XZQValue.dictValue,
-							areaId: this.XQValue.id,
-							buildingId: this.LDValue.id,
-							unitId: this.DYValue.id,
-							houseId: this.FJValue.id,
-							enginType: this.objValue.enginType, //写死 上一页面传过来的 
-							enginClassification: this.objValue.enginClassification, //写死  上一页面传过来的  //室内 - 庭院 - 架空
-							enginCycle: this.projectValue.dictValue, //工程周期
-							zEngineeringNodeBo: {
-								type: this.objValue.enginClassValue, //写死 上一页面传过来的  (拆旧管等 字典值)
-								zEngineeringInfoBo: {
-									constructAccordingDrawings: this.isCheck, //是否按图纸施工
-									zEngiineeringPhotoBoList: this.imgArr, //照片集合
-									zEngineeringMaterialBo: [{
-										corrosionLevel: this.LevelValue.dictValue
-									}]
+						let param = ';'
+						if (this.objValue.enginClassValue == '拆旧管') { //拆旧管
+							param = {
+								district: this.XZQValue.dictValue,
+								areaId: this.XQValue.id,
+								buildingId: this.LDValue.id,
+								unitId: this.DYValue.id,
+								houseId: this.FJValue.id,
+								enginType: this.objValue.enginType, //写死 上一页面传过来的 
+								enginClassification: this.objValue.enginClassification, //写死  上一页面传过来的  //室内 - 庭院 - 架空
+								enginCycle: this.projectValue.dictValue, //工程周期
+								zEngineeringNodeBo: {
+									type: this.objValue.enginClassValue, //写死 上一页面传过来的  (拆旧管等 字典值)
+									zEngineeringInfoBo: {
+										constructAccordingDrawings: this.isCheck, //是否按图纸施工
+										zEngiineeringPhotoBoList: this.imgArr, //照片集合
+
+										zEngineeringMaterialBo: [{
+											corrosionLevel: this.LevelValue.dictValue //腐蚀等级
+										}]
+									}
 								}
+
 							}
+							//this.onsubmit(param)
+						} else if (this.objValue.enginClassValue == '立杠') { //立杠
+							param = {
+								district: this.XZQValue.dictValue,
+								areaId: this.XQValue.id,
+								buildingId: this.LDValue.id,
+								unitId: this.DYValue.id,
+								houseId: this.FJValue.id,
+								enginType: this.objValue.enginType, //写死 上一页面传过来的 
+								enginClassification: this.objValue.enginClassification, //写死  上一页面传过来的  //室内 - 庭院 - 架空
+								enginCycle: this.projectValue.dictValue, //工程周期
+								zEngineeringNodeBo: {
+									type: this.objValue.enginClassValue, //写死 上一页面传过来的  (拆旧管等 字典值)
+									zEngineeringInfoBo: {
+										constructAccordingDrawings: this.isCheck, //是否按图纸施工
+										zEngiineeringPhotoBoList: this.imgArr, //照片集合
+
+										zEngineeringMaterialBo: [{
+											materialQuality: this.materialValue.id, //材质
+											specifications: this.specificationValue.id, //规格
+											number: this.inputNumberValue //数量
+										}]
+									}
+								}
 
-						}
+							}
+
+
+						} else if (this.objValue.enginClassValue == '挂表') { //挂表
+							param = {
+								district: this.XZQValue.dictValue,
+								areaId: this.XQValue.id,
+								buildingId: this.LDValue.id,
+								unitId: this.DYValue.id,
+								houseId: this.FJValue.id,
+								enginType: this.objValue.enginType, //写死 上一页面传过来的 
+								enginClassification: this.objValue.enginClassification, //写死  上一页面传过来的  //室内 - 庭院 - 架空
+								enginCycle: this.projectValue.dictValue, //工程周期
+								zEngineeringNodeBo: {
+									type: this.objValue.enginClassValue, //写死 上一页面传过来的  (拆旧管等 字典值)
+									zEngineeringInfoBo: {
+										constructAccordingDrawings: this.isCheck, //是否按图纸施工
+										zEngiineeringPhotoBoList: this.imgArr, //照片集合
+
+										zEngineeringMaterialBo: [{
+											brand: this.brandValue.dictValue, //品牌
+											number: this.inputNumberValue //数量
+										}]
+									}
+								}
+
+							}
+						} else if (this.objValue.enginClassValue == '阀管') { //自闭阀
+							param = {
+								district: this.XZQValue.dictValue,
+								areaId: this.XQValue.id,
+								buildingId: this.LDValue.id,
+								unitId: this.DYValue.id,
+								houseId: this.FJValue.id,
+								enginType: this.objValue.enginType, //写死 上一页面传过来的 
+								enginClassification: this.objValue.enginClassification, //写死  上一页面传过来的  //室内 - 庭院 - 架空
+								enginCycle: this.projectValue.dictValue, //工程周期
+								zEngineeringNodeBo: {
+									type: this.objValue.enginClassValue, //写死 上一页面传过来的  (拆旧管等 字典值)
+									zEngineeringInfoBo: {
+										constructAccordingDrawings: this.isCheck, //是否按图纸施工
+										zEngiineeringPhotoBoList: this.imgArr, //照片集合
+
+										zEngineeringMaterialBo: [{
+											visitType: this.doorValue.dictValue, //上门类型
+											selfClosingValveType: this.SelfClosValve.dictValue, //自闭阀类型
+											materialQuality: this.materialValue.id, //材质
+											specifications: this.specificationValue.id, //规格
+											number: this.inputNumberValue //数量
+										}]
+									}
+								}
 
+							}
+						}
 
 						addTearOldPipe(param).then(res => {
 							if (res.code == '200') {
-								uni.navigateBack();
 								uni.showToast({
 									title: res.msg,
 									icon: 'none',
-									//显示持续时间为 1秒
-									duration: 1000
+									//显示持续时间为 3
+									duration: 2000
 								});
+								setTimeout(function() {
+									uni.navigateBack();
+								}, 1000)
 
 							}
 						})
 					}
+
+				},
+				history() {
+					if (this.isEmpty(this.projectValue.dictValue)) {
+						this.$modal.msg("请选择工程周期")
+					} else if (this.isEmpty(this.XZQValue.dictValue)) {
+						this.$modal.msg("请选择行政区")
+					} else if (this.isEmpty(this.XQValue.id)) {
+						this.$modal.msg("请选择小区")
+					} else if (this.isEmpty(this.LDValue.id)) {
+						this.$modal.msg("请选择楼栋")
+					} else if (this.isEmpty(this.DYValue.id)) {
+						this.$modal.msg("请选择单元")
+					} else if (this.isEmpty(this.FJValue.id)) {
+						this.$modal.msg("请选择房间")
+					} else {
+						let param = {
+							areaId: this.XQValue.id, // 小区id
+							buildingId: this.LDValue.id, // 楼宇id
+							unitId: this.DYValue.id, // 单元id
+							houseId: this.FJValue.id, // 房间id
+							enginCycle: this.projectValue.dictValue // 工程周期
+						}
+						getRoomProjectId(param).then(res => {
+
+							if (res.code == '200') {
+
+								if (res.data != null) {
+
+									getRoomProjectList(res.data.id, this.objValue.enginClassValue).then(res => {
+
+										this.historyList = res.data
+										if (res.data.zEngineeringNodeBo != null) {
+											this.showHistoryList();
+										} else {
+											this.$modal.msg("暂无历史信息")
+										}
+
+									})
+
+								} else {
+									this.$modal.msg("暂无工程信息")
+								}
+							} else {
+								this.$modal.msg(res.msg)
+							}
+						})
+					}
+				},
+				showHistoryList() {
+					this.$refs.refShare.handleShowShare();
 				}
 
 			}

File diff suppressed because it is too large
+ 1165 - 0
pages/oldrenovation/indoor/indoor.vue


+ 0 - 469
pages/oldrenovation/indoor/putUpWatch.vue

@@ -1,469 +0,0 @@
-	<template>
-		<view>
-			<view class="background">
-				<view class="uni-list">
-					<view class="container">
-						<view>
-							行政区
-						</view>
-						<view v-if="this.isEmpty(this.XZQValue.dictValue)" style="margin-top: 10;"
-							@click="pickerShow('xzq')">
-							<span style="color: darkgray;">请选择行政区</span>
-						</view>
-						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('xzq')">
-							<span style="color: black;">{{XZQValue.dictLabel}}</span>
-						</view>
-
-					</view>
-				</view>
-				<view class="uni-list">
-					<view class="container">
-						<view>
-							小区
-						</view>
-
-						<view v-if="this.isEmpty(this.XQValue.id)" class="uni-list-cell-db" style="margin-top: 10;"
-							@click="pickerShow('xq')">
-							<span style="color: darkgray;">请选择小区</span>
-						</view>
-						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('xq')">
-							<span style="color: black;">{{XQValue.name}}</span>
-						</view>
-					</view>
-				</view>
-				<view class="uni-list">
-					<view class="container">
-						<view class="uni-list-cell-left">
-							楼栋
-						</view>
-						<view v-if="this.isEmpty(this.LDValue.id)" class="uni-list-cell-db" style="margin-top: 10;"
-							@click="pickerShow('ld')">
-							<span style="color: darkgray;">请选择楼栋</span>
-						</view>
-						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('ld')">
-							<span style="color: black;">{{LDValue.name}}</span>
-						</view>
-					</view>
-				</view>
-				<view class="uni-list" style="margin-top: 10;">
-					<view class="container">
-						<view class="uni-list-cell-left">
-							单元
-						</view>
-						<view v-if="this.isEmpty(this.DYValue.id)" class="uni-list-cell-db" style="margin-top: 10;"
-							@click="pickerShow('dy')">
-							<span style="color: darkgray;">请选择单元</span>
-						</view>
-						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('dy')">
-							<span style="color: black;">{{DYValue.name}}</span>
-						</view>
-					</view>
-				</view>
-				<view class="uni-list">
-					<view class="container">
-						<view class="uni-list-cell-left">
-							房间
-						</view>
-						<view v-if="this.isEmpty(this.FJValue.id)" class="uni-list-cell-db" style="margin-top: 10;"
-							@click="pickerShow('fj')">
-							<span style="color: darkgray;">请选择房间</span>
-						</view>
-						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('fj')">
-							<span style="color: black;">{{FJValue.name}}</span>
-						</view>
-					</view>
-				</view>
-				<view class="container">
-
-					<view class="title">是否按照施工图纸施工</view>
-					<switch style="transform: scale(0.6,0.6);" @change="switch2Change" />
-
-				</view>
-
-				<SelectPicker :list="selectList" @change="changeSelect" v-if="open" @close="close" titleKey="name"
-					subtitleKey="id" v-model="name"></SelectPicker>
-
-
-				<SelectPicker :list="dictOptions" @change="changeSelectDict" v-if="openDict" @close="closeDict"
-					titleKey="dictLabel" subtitleKey="dictValue" v-model="dictLabel"></SelectPicker>
-			</view>
-
-
-			<view class="background">
-				<view class="uni-list">
-					<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;">
-						立杠
-
-						<span
-							style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 15px;">历史</span>
-					</view>
-
-					<view class="container">
-
-						<view>
-							品 牌
-						</view>
-						<view class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('xzq')">
-							<span>{{attributeXZQ}}</span>
-						</view>
-					</view>
-					
-					<view class="number">
-						<text>数 量</text> <!-- 左边文字 -->
-						<input type="number" v-model="number"class="input" placeholder="请填写数量" style="margin-left: 10px;"></input>
-						<!-- 右边输入框 -->
-					</view>
-				</view>
-
-				<view class="align-items" style="margin-top: 20px;margin-bottom: 20px;">
-					<view class="container" style="color: gainsboro;">*请上传照片</view>
-					<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
-						<image src="/static/images/chooseimg.png" mode=""
-							style="width: 190rpx; height: 190rpx; margin: 0 12rpx;; " @click="chooseimage()"></image>
-						<view v-for="(item,index) in imgArr" :key="index" style="position: relative;">
-							<view>
-								<image :src="item" mode="" style="width: 190rpx; height: 190rpx; margin: 0 12rpx;"
-									@click="showPhoto(index)">
-								</image>
-							</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"></u-icon>
-							</view>
-						</view>
-					</view>
-
-				</view>
-			</view>
-
-			<view class="action-btn">
-				<button @click="submit" class="btn cu-btn block bg-blue lg round">确认上传</button>
-			</view>
-		</view>
-	</template>
-
-
-
-	<script>
-		import SelectPicker from '../../../components/selectPicker/select_picker.vue'
-		import {
-			getDicts
-		} from "@/api/system/dict/data";
-		import {
-			getAreaList,
-			getBuildingList,
-			getUnitList,
-			getHousesList
-		} from '@/api/common'
-
-		export default {
-			components: {
-				SelectPicker
-			},
-			data() {
-
-				return {
-					number: '',
-					type: '',
-					open: false,
-					openDict: false,
-					selectList: [],
-					dictOptions: [],
-					imgArr: [],
-					XQValue: {},
-					XZQValue: {},
-					LDValue: {},
-					DYValue: {},
-					FJValue: {},
-					FSValue: {},
-					XQList: '',
-					LDList: '',
-					DYList: '',
-					FJList: '',
-					progress: 0, //上传图片进度百分比
-					loading: false
-
-
-				}
-			},
-
-			created() {
-				getDicts("district").then(response => {
-					this.dictOptions = response;
-				});
-
-
-			},
-			onLoad() {
-				uni.setNavigationBarTitle({
-					title: '旧改工程-室内'
-				})
-			},
-			methods: {
-				//判断是否选择
-				isEmpty(str) {
-
-					return (!str || 0 === str.length);
-
-				},
-				showPhoto(index) {
-					uni.previewImage({
-						current: index,
-						urls: this.imgArr,
-					})
-					console.log('sss')
-				},
-				remove(index) {
-					uni.showModal({
-						title: '提示',
-						content: '是否删除该图片或视频?',
-						success: (res) => {
-							if (res.confirm) {
-								this.imgArr.splice(index, 1)
-								console.log('this.imgarr', this.imgArr)
-								if (this.imgArr.length <= 0) {
-									this.photo = true;
-								}
-							}
-						}
-					})
-				},
-				chooseimage() {
-					console.log('图片')
-					let _this = this;
-					uni.chooseImage({
-						sizeType: ['album', '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.$modal.msg('上传失败!')
-										} else {
-											if (_this.progress === 100) {
-												console.log('_this.progress', _this.progress)
-												console.log('data----', data)
-												console.log('res--', res)
-												_this.imgArr.push(data.data.url)
-												console.log('imgArr', _this.imgArr)
-												_this.$modal.msg('上传成功!')
-												_this.photo = false;
-											}
-										}
-									},
-									fail: e => {
-										_this.$modal.msg('上传失败!')
-										this.uploadError(index, e);
-									},
-									complete: res => {
-										uni.hideLoading();
-										_this.uploading = false;
-
-									}
-								});
-								task.onProgressUpdate(res => {
-									_this.progress = res.progress;
-									console.log('onProgressUpdate', res)
-									console.log('task.onProgressUpdate', _this.progress)
-									uni.showLoading({
-										title: '上传中'
-									})
-									if (_this.progress != 100) {
-										_this.loading = false
-										console.log('_this.loading false', _this.loading)
-									} else {
-										_this.loading = true
-										console.log('_this.loading true', _this.loading)
-									}
-								});
-
-							})
-
-						},
-					})
-				},
-				pickerShow(e) {
-
-
-					this.type = e; //赋值类型
-					if (e == 'xzq') { //行政区
-						this.openDict = true;
-						//this.selectList = this.dictOptions;
-
-					} else if (e == 'xq') { //小区
-						if (this.isEmpty(this.XZQValue.dictValue)) {
-							this.$modal.msg('请选择行政区')
-
-						} else {
-							this.open = true;
-							this.selectList = this.XQList;
-						}
-					} else if (e == 'ld') { //楼栋
-
-						if (this.isEmpty(this.XQValue.id)) {
-							this.$modal.msg('请选择小区')
-
-						} else {
-							this.open = true;
-							this.selectList = this.LDList;
-						}
-
-					} else if (e == 'dy') { //单元
-						if (this.isEmpty(this.LDValue.id)) {
-							this.$modal.msg('请选择楼栋')
-
-						} else {
-							this.open = true;
-							this.selectList = this.DYList;
-						}
-					} else if (e == 'fj') { //房间
-						if (this.isEmpty(this.DYValue.id)) {
-							this.$modal.msg('请选择单元')
-
-						} else {
-							this.open = true;
-							this.selectList = this.FJList;
-						}
-					}
-
-				},
-
-
-				switch2Change(e) {
-					console.log('switch2 发生 change 事件,携带值为', e.detail.value)
-				},
-				changeSelectDict(item, index) {
-					this.openDict = false;
-					this.XZQValue = item;
-
-					//根据行政区id获取小区数据
-					this.XQValue.name = ''; //重置楼栋数据
-					this.LDValue.name = ''; //重置楼栋数据
-					this.DYValue.name = ''; //重置单元数据
-					this.FJValue.name = ''; //重置房间数据
-					getAreaList(item.dictValue).then(res => {
-						this.XQList = res;
-					})
-
-				},
-				changeSelect(item, index) {
-					// this.index = index;
-					// this.address = item.communityName;
-					this.open = false;
-
-					if (this.type == 'xq') {
-						this.XQValue = item;
-						//根据小区id 获取楼栋数据
-						this.LDValue.name = ''; //重置楼栋数据
-						this.DYValue.name = ''; //重置单元数据
-						this.FJValue.name = ''; //重置房间数据
-						getBuildingList(item.id).then(res => {
-							this.LDList = res
-							// console.log("楼栋=", res)
-						})
-					} else if (this.type == 'ld') {
-						this.LDValue = item;
-						//根据楼栋ID 获取单元数据
-						this.DYValue.name = ''; //重置单元数据
-						this.FJValue.name = ''; //重置房间数据
-						getUnitList(item.id).then(res => {
-							this.DYList = res
-							// console.log("单元=", res)
-						})
-					} else if (this.type == 'dy') {
-						this.DYValue = item;
-						//根据单元数据 获取房间数据 
-						this.FJValue.name = ''; //重置房间数据
-						getHousesList(item.id).then(res => {
-							this.FJList = res
-							// console.log("房间=", res)
-						})
-					} else if (this.type == 'fj') {
-						this.FJValue = item;
-					}
-
-				},
-				//关闭弹窗
-				close(e) {
-					this.open = false
-				},
-				//关闭弹窗
-				closeDict(e) {
-					this.openDict = false
-				},
-				//提交数据
-				submit() {
-					if (this.isEmpty(this.XZQValue.dictValue)) {
-						this.$modal.msg("请选择行政区")
-					} else if (this.isEmpty(this.XQValue.id)) {
-						this.$modal.msg("请选择小区")
-					} else if (this.isEmpty(this.LDValue.id)) {
-						this.$modal.msg("请选择楼栋")
-					} else if (this.isEmpty(this.DYValue.id)) {
-						this.$modal.msg("请选择单元")
-					} else if (this.isEmpty(this.FJValue.id)) {
-						this.$modal.msg("请选择房间")
-					} else if (this.imgArr.length <= 0) {
-						this.$modal.msg('请上传照片')
-					} else if (this.loading == false) {
-						this.$modal.msg('照片未上传完毕,无法提交!')
-					}
-				}
-
-			}
-		}
-	</script>
-
-	<style>
-		.container {
-			display: flex;
-			margin-left: 10px;
-			margin-top: 10px;
-			margin-right: 10px;
-			align-items: flex-start;
-			justify-content: space-between;
-		}
-
-		.number {
-			display: flex;
-			/* 水平居中显示子元素 */
-			align-items: flex-start;
-			/* 垂直居中显示子元素 */
-			justify-content: space-between;
-			/* 左右间距等于间距大小 */
-			padding: 10px;
-			/* 设置padding以提高视觉效果 */
-		}
-
-		.text {
-			font-size: 16px;
-			color: #333;
-		}
-
-		.background {
-			border: 15px solid hsla(0, 0%, 100%, .5);
-			background: white;
-			background-clip: padding-box;
-			/*从padding开始往外面裁剪背景*/
-
-		}
-
-		.btn {
-			margin-top: 40px;
-			margin-right: 20px;
-			margin-bottom: 20px;
-			margin-left: 20px;
-			height: 45px;
-		}
-	</style>

+ 0 - 22
pages/oldrenovation/indoor/valveTube.vue

@@ -1,22 +0,0 @@
-<template>
-	<view>
-		
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				
-			}
-		},
-		methods: {
-			
-		}
-	}
-</script>
-
-<style>
-
-</style>

+ 0 - 477
pages/oldrenovation/indoor/verticalBar.vue

@@ -1,477 +0,0 @@
-	<template>
-		<view>
-			<view class="background">
-				<view class="uni-list">
-					<view class="container">
-						<view>
-							行政区
-						</view>
-						<view v-if="this.isEmpty(this.XZQValue.dictValue)" style="margin-top: 10;"
-							@click="pickerShow('xzq')">
-							<span style="color: darkgray;">请选择行政区</span>
-						</view>
-						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('xzq')">
-							<span style="color: black;">{{XZQValue.dictLabel}}</span>
-						</view>
-
-					</view>
-				</view>
-				<view class="uni-list">
-					<view class="container">
-						<view>
-							小区
-						</view>
-
-						<view v-if="this.isEmpty(this.XQValue.id)" class="uni-list-cell-db" style="margin-top: 10;"
-							@click="pickerShow('xq')">
-							<span style="color: darkgray;">请选择小区</span>
-						</view>
-						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('xq')">
-							<span style="color: black;">{{XQValue.name}}</span>
-						</view>
-					</view>
-				</view>
-				<view class="uni-list">
-					<view class="container">
-						<view class="uni-list-cell-left">
-							楼栋
-						</view>
-						<view v-if="this.isEmpty(this.LDValue.id)" class="uni-list-cell-db" style="margin-top: 10;"
-							@click="pickerShow('ld')">
-							<span style="color: darkgray;">请选择楼栋</span>
-						</view>
-						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('ld')">
-							<span style="color: black;">{{LDValue.name}}</span>
-						</view>
-					</view>
-				</view>
-				<view class="uni-list" style="margin-top: 10;">
-					<view class="container">
-						<view class="uni-list-cell-left">
-							单元
-						</view>
-						<view v-if="this.isEmpty(this.DYValue.id)" class="uni-list-cell-db" style="margin-top: 10;"
-							@click="pickerShow('dy')">
-							<span style="color: darkgray;">请选择单元</span>
-						</view>
-						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('dy')">
-							<span style="color: black;">{{DYValue.name}}</span>
-						</view>
-					</view>
-				</view>
-				<view class="uni-list">
-					<view class="container">
-						<view class="uni-list-cell-left">
-							房间
-						</view>
-						<view v-if="this.isEmpty(this.FJValue.id)" class="uni-list-cell-db" style="margin-top: 10;"
-							@click="pickerShow('fj')">
-							<span style="color: darkgray;">请选择房间</span>
-						</view>
-						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('fj')">
-							<span style="color: black;">{{FJValue.name}}</span>
-						</view>
-					</view>
-				</view>
-				<view class="container">
-
-					<view class="title">是否按照施工图纸施工</view>
-					<switch style="transform: scale(0.6,0.6);" @change="switch2Change" />
-
-				</view>
-
-				<SelectPicker :list="selectList" @change="changeSelect" v-if="open" @close="close" titleKey="name"
-					subtitleKey="id" v-model="name"></SelectPicker>
-
-
-				<SelectPicker :list="dictOptions" @change="changeSelectDict" v-if="openDict" @close="closeDict"
-					titleKey="dictLabel" subtitleKey="dictValue" v-model="dictLabel"></SelectPicker>
-			</view>
-
-
-			<view class="background">
-				<view class="uni-list">
-					<view style="font-size: 16px;margin-left: 10px;margin-top: 10px;">
-						立杠
-
-						<span
-							style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 15px;">历史</span>
-					</view>
-
-					<view class="container">
-
-						<view>
-							材 质
-						</view>
-						<view class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('xzq')">
-							<span>{{attributeXZQ}}</span>
-						</view>
-					</view>
-					<view class="container">
-
-						<view>
-							规 格
-						</view>
-						<view class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('xzq')">
-							<span>{{attributeXZQ}}</span>
-						</view>
-					</view>
-					<view class="number">
-						<text>数 量</text> <!-- 左边文字 -->
-						<input type="number" v-model="number"class="input" placeholder="请填写数量" style="margin-left: 10px;"></input>
-						<!-- 右边输入框 -->
-					</view>
-				</view>
-
-				<view class="align-items" style="margin-top: 20px;margin-bottom: 20px;">
-					<view class="container" style="color: gainsboro;">*请上传照片</view>
-					<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
-						<image src="/static/images/chooseimg.png" mode=""
-							style="width: 190rpx; height: 190rpx; margin: 0 12rpx;; " @click="chooseimage()"></image>
-						<view v-for="(item,index) in imgArr" :key="index" style="position: relative;">
-							<view>
-								<image :src="item" mode="" style="width: 190rpx; height: 190rpx; margin: 0 12rpx;"
-									@click="showPhoto(index)">
-								</image>
-							</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"></u-icon>
-							</view>
-						</view>
-					</view>
-
-				</view>
-			</view>
-
-			<view class="action-btn">
-				<button @click="submit" class="btn cu-btn block bg-blue lg round">确认上传</button>
-			</view>
-		</view>
-	</template>
-
-
-
-	<script>
-		import SelectPicker from '../../../components/selectPicker/select_picker.vue'
-		import {
-			getDicts
-		} from "@/api/system/dict/data";
-		import {
-			getAreaList,
-			getBuildingList,
-			getUnitList,
-			getHousesList
-		} from '@/api/common'
-
-		export default {
-			components: {
-				SelectPicker
-			},
-			data() {
-
-				return {
-					number: '',
-					type: '',
-					open: false,
-					openDict: false,
-					selectList: [],
-					dictOptions: [],
-					imgArr: [],
-					XQValue: {},
-					XZQValue: {},
-					LDValue: {},
-					DYValue: {},
-					FJValue: {},
-					FSValue: {},
-					XQList: '',
-					LDList: '',
-					DYList: '',
-					FJList: '',
-					progress: 0, //上传图片进度百分比
-					loading: false
-
-
-				}
-			},
-
-			created() {
-				getDicts("district").then(response => {
-					this.dictOptions = response;
-				});
-
-
-			},
-			onLoad() {
-				uni.setNavigationBarTitle({
-					title: '旧改工程-室内'
-				})
-			},
-			methods: {
-				//判断是否选择
-				isEmpty(str) {
-
-					return (!str || 0 === str.length);
-
-				},
-				showPhoto(index) {
-					uni.previewImage({
-						current: index,
-						urls: this.imgArr,
-					})
-					console.log('sss')
-				},
-				remove(index) {
-					uni.showModal({
-						title: '提示',
-						content: '是否删除该图片或视频?',
-						success: (res) => {
-							if (res.confirm) {
-								this.imgArr.splice(index, 1)
-								console.log('this.imgarr', this.imgArr)
-								if (this.imgArr.length <= 0) {
-									this.photo = true;
-								}
-							}
-						}
-					})
-				},
-				chooseimage() {
-					console.log('图片')
-					let _this = this;
-					uni.chooseImage({
-						sizeType: ['album', '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.$modal.msg('上传失败!')
-										} else {
-											if (_this.progress === 100) {
-												console.log('_this.progress', _this.progress)
-												console.log('data----', data)
-												console.log('res--', res)
-												_this.imgArr.push(data.data.url)
-												console.log('imgArr', _this.imgArr)
-												_this.$modal.msg('上传成功!')
-												_this.photo = false;
-											}
-										}
-									},
-									fail: e => {
-										_this.$modal.msg('上传失败!')
-										this.uploadError(index, e);
-									},
-									complete: res => {
-										uni.hideLoading();
-										_this.uploading = false;
-
-									}
-								});
-								task.onProgressUpdate(res => {
-									_this.progress = res.progress;
-									console.log('onProgressUpdate', res)
-									console.log('task.onProgressUpdate', _this.progress)
-									uni.showLoading({
-										title: '上传中'
-									})
-									if (_this.progress != 100) {
-										_this.loading = false
-										console.log('_this.loading false', _this.loading)
-									} else {
-										_this.loading = true
-										console.log('_this.loading true', _this.loading)
-									}
-								});
-
-							})
-
-						},
-					})
-				},
-				pickerShow(e) {
-
-
-					this.type = e; //赋值类型
-					if (e == 'xzq') { //行政区
-						this.openDict = true;
-						//this.selectList = this.dictOptions;
-
-					} else if (e == 'xq') { //小区
-						if (this.isEmpty(this.XZQValue.dictValue)) {
-							this.$modal.msg('请选择行政区')
-
-						} else {
-							this.open = true;
-							this.selectList = this.XQList;
-						}
-					} else if (e == 'ld') { //楼栋
-
-						if (this.isEmpty(this.XQValue.id)) {
-							this.$modal.msg('请选择小区')
-
-						} else {
-							this.open = true;
-							this.selectList = this.LDList;
-						}
-
-					} else if (e == 'dy') { //单元
-						if (this.isEmpty(this.LDValue.id)) {
-							this.$modal.msg('请选择楼栋')
-
-						} else {
-							this.open = true;
-							this.selectList = this.DYList;
-						}
-					} else if (e == 'fj') { //房间
-						if (this.isEmpty(this.DYValue.id)) {
-							this.$modal.msg('请选择单元')
-
-						} else {
-							this.open = true;
-							this.selectList = this.FJList;
-						}
-					}
-
-				},
-
-
-				switch2Change(e) {
-					console.log('switch2 发生 change 事件,携带值为', e.detail.value)
-				},
-				changeSelectDict(item, index) {
-					this.openDict = false;
-					this.XZQValue = item;
-
-					//根据行政区id获取小区数据
-					this.XQValue.name = ''; //重置楼栋数据
-					this.LDValue.name = ''; //重置楼栋数据
-					this.DYValue.name = ''; //重置单元数据
-					this.FJValue.name = ''; //重置房间数据
-					getAreaList(item.dictValue).then(res => {
-						this.XQList = res;
-					})
-
-				},
-				changeSelect(item, index) {
-					// this.index = index;
-					// this.address = item.communityName;
-					this.open = false;
-
-					if (this.type == 'xq') {
-						this.XQValue = item;
-						//根据小区id 获取楼栋数据
-						this.LDValue.name = ''; //重置楼栋数据
-						this.DYValue.name = ''; //重置单元数据
-						this.FJValue.name = ''; //重置房间数据
-						getBuildingList(item.id).then(res => {
-							this.LDList = res
-							// console.log("楼栋=", res)
-						})
-					} else if (this.type == 'ld') {
-						this.LDValue = item;
-						//根据楼栋ID 获取单元数据
-						this.DYValue.name = ''; //重置单元数据
-						this.FJValue.name = ''; //重置房间数据
-						getUnitList(item.id).then(res => {
-							this.DYList = res
-							// console.log("单元=", res)
-						})
-					} else if (this.type == 'dy') {
-						this.DYValue = item;
-						//根据单元数据 获取房间数据 
-						this.FJValue.name = ''; //重置房间数据
-						getHousesList(item.id).then(res => {
-							this.FJList = res
-							// console.log("房间=", res)
-						})
-					} else if (this.type == 'fj') {
-						this.FJValue = item;
-					}
-
-				},
-				//关闭弹窗
-				close(e) {
-					this.open = false
-				},
-				//关闭弹窗
-				closeDict(e) {
-					this.openDict = false
-				},
-				//提交数据
-				submit() {
-					if (this.isEmpty(this.XZQValue.dictValue)) {
-						this.$modal.msg("请选择行政区")
-					} else if (this.isEmpty(this.XQValue.id)) {
-						this.$modal.msg("请选择小区")
-					} else if (this.isEmpty(this.LDValue.id)) {
-						this.$modal.msg("请选择楼栋")
-					} else if (this.isEmpty(this.DYValue.id)) {
-						this.$modal.msg("请选择单元")
-					} else if (this.isEmpty(this.FJValue.id)) {
-						this.$modal.msg("请选择房间")
-					} else if (this.imgArr.length <= 0) {
-						this.$modal.msg('请上传照片')
-					} else if (this.loading == false) {
-						this.$modal.msg('照片未上传完毕,无法提交!')
-					}
-				}
-
-			}
-		}
-	</script>
-
-	<style>
-		.container {
-			display: flex;
-			margin-left: 10px;
-			margin-top: 10px;
-			margin-right: 10px;
-			align-items: flex-start;
-			justify-content: space-between;
-		}
-
-		.number {
-			display: flex;
-			/* 水平居中显示子元素 */
-			align-items: flex-start;
-			/* 垂直居中显示子元素 */
-			justify-content: space-between;
-			/* 左右间距等于间距大小 */
-			padding: 10px;
-			/* 设置padding以提高视觉效果 */
-		}
-
-		.text {
-			font-size: 16px;
-			color: #333;
-		}
-
-		.background {
-			border: 15px solid hsla(0, 0%, 100%, .5);
-			background: white;
-			background-clip: padding-box;
-			/*从padding开始往外面裁剪背景*/
-
-		}
-
-		.btn {
-			margin-top: 40px;
-			margin-right: 20px;
-			margin-bottom: 20px;
-			margin-left: 20px;
-			height: 45px;
-		}
-	</style>

+ 0 - 22
pages/oldrenovation/indoor/watchAfterPipe.vue

@@ -1,22 +0,0 @@
-<template>
-	<view>
-		
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				
-			}
-		},
-		methods: {
-			
-		}
-	}
-</script>
-
-<style>
-
-</style>

+ 0 - 22
pages/oldrenovation/oldCourtyard.vue

@@ -1,22 +0,0 @@
-<template>
-	<view>
-		
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				
-			}
-		},
-		methods: {
-			
-		}
-	}
-</script>
-
-<style>
-
-</style>

+ 0 - 22
pages/oldrenovation/oldIndoor.vue

@@ -1,22 +0,0 @@
-<template>
-	<view>
-		
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				
-			}
-		},
-		methods: {
-			
-		}
-	}
-</script>
-
-<style>
-
-</style>

+ 0 - 22
pages/oldrenovation/oldOverhead.vue

@@ -1,22 +0,0 @@
-<template>
-	<view>
-		
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				
-			}
-		},
-		methods: {
-			
-		}
-	}
-</script>
-
-<style>
-
-</style>

File diff suppressed because it is too large
+ 1165 - 0
pages/oldrenovation/overhead/overhead.vue


+ 49 - 43
pages/work/index.vue

@@ -162,12 +162,10 @@
 			},
 			showMinYong() {
 				getDicts("old_renovation").then(response => {
-					console.log("旧改", response.data)
 					this.OldProjectList = response.data;
 				});
 				getDicts("new_built").then(response => {
 					this.NewProjectList = response.data;
-					console.log("新建", response.data)
 				});
 				this.showPopup = !this.showPopup;
 
@@ -175,11 +173,40 @@
 
 			NewProject(e) {
 				this.enginType = 'new_built'; //写死
+				this.enginClassification = e;
+				this.typeList = ''; //置空
+				console.log("新建", e)
+				if (e == 'indoor_engin') {
+					//新建室内
+					getDicts("new_built_indoor_engin").then(response => {
+
+						this.typeList = response.data;
+					});
+
+				} else if (e == 'courtyard') {
+					//新建庭院
+					getDicts("new_built_courtyard_engin").then(response => {
+						console.log("庭院", response.data)
+						this.typeList = response.data;
+
+					});
+				} else if (e == 'overhead') {
+					//新建架空
+					getDicts("new_built_courtyard_engin").then(response => {
+						console.log("架空", response.data)
+						this.typeList = response.data;
+
+
+					});
+				}
+
+				this.handleShowSheet();
 
 			},
 			OldProject(e) {
 				this.enginType = 'old_renovation'; //写死
 				this.enginClassification = e;
+				console.log("旧改", e)
 				this.typeList = ''; //置空
 				if (e == 'indoor_engin') {
 					//旧改室内
@@ -225,48 +252,27 @@
 
 				};
 
-				//拆旧管
 				this.handleHiddenShare();
-				uni.navigateTo({
-					url: '/pages/oldrenovation/indoor/tearOldPipe?params=' + encodeURIComponent(JSON.stringify(
-						obj))
-				})
-
-				// uni.showActionSheet({
-				// 	itemList: ['拆旧管', '立杠', '挂表', '表后管', '阀管'],
-				// 	success: (res) => {
-				// 		console.log('选择了第' + (res.tapIndex + 1) + '个选项');
-				// 		if (e == 0 && res.tapIndex == 0) {
-				// 			uni.navigateTo({
-				// 				url: '/pages/oldrenovation/indoor/tearOldPipe?description=OldIndoor&form=Pipe'
-				// 			})
-				// 		}
-				// 		if (e == 0 && res.tapIndex == 1) {
-				// 			uni.navigateTo({
-				// 				url: '/pages/oldrenovation/indoor/tearOldPipe?description=OldIndoor&form=verticalBar'
-				// 			})
-				// 		}
-				// 		if (e == 0 && res.tapIndex == 2) {
-				// 			uni.navigateTo({
-				// 				url: '/pages/oldrenovation/indoor/putUpWatch'
-				// 			})
-				// 		}
-				// 		if (e == 0 && res.tapIndex == 3) {
-				// 			uni.navigateTo({
-				// 				url: '/pages/oldrenovation/indoor/watchAfterPipe'
-				// 			})
-				// 		}
-				// 		if (e == 0 && res.tapIndex == 4) {
-				// 			uni.navigateTo({
-				// 				url: '/pages/oldrenovation/indoor/valveTube'
-				// 			})
-				// 		}
-
-				// 	},
-				// 	fail: (err) => {
-				// 		console.log('弹窗取消');
-				// 	}
-				// });
+				// 室内
+				if (this.enginClassification == 'indoor_engin') {
+					uni.navigateTo({
+						url: '/pages/oldrenovation/indoor/indoor?params=' + encodeURIComponent(JSON.stringify(
+							obj))
+					})
+				}
+				// 庭院
+				else if (this.enginClassification == 'courtyard') {
+					uni.navigateTo({
+						url: '/pages/oldrenovation/courtyard/courtyard?params=' + encodeURIComponent(JSON.stringify(
+							obj))
+					})
+				} else if (this.enginClassification == 'overhead') { //架空
+					uni.navigateTo({
+						url: '/pages/oldrenovation/overhead/overhead?params=' + encodeURIComponent(JSON.stringify(
+							obj))
+					})
+				}
+
 
 			}
 		}