Prechádzať zdrojové kódy

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

menchuang 1 rok pred
rodič
commit
40539bad03

+ 5 - 1
api/common.js

@@ -200,10 +200,14 @@ export function getEnginSpecificationsList(materId) {
 }
 
 // 工程材质下拉
-export function getEnginMaterialQualityList(enginType) {
+export function getEnginMaterialQualityList(enginType, enginSort,enginNode) {
 	const data = {
 		enginType
 	}
+	if (enginSort !== undefined) {
+		data['enginSort'] = enginSort
+		data['enginNode'] = enginNode
+	}
 	return request({
 		'url': '/zdsz/enginMaterialQuality/getEnginMaterialQualityList',
 		'method': 'get',

+ 158 - 128
components/bottomSheet/bottomSheet.vue

@@ -15,56 +15,58 @@
 
 						<view class="uni-media-list-body" style="margin-left: 15px;">
 							<view v-if="title=='拆旧管'">
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">腐蚀等级:</view>{{value.zEngineeringMaterialBo[0].corrosionLevel}}</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">施工时间:</view>{{value.createTime}}</view>
+								<view class="uni-media-list-text-top">
+									<view class="tit-text">腐蚀等级:</view>
+									{{value.zEngineeringMaterialBo[0].corrosionLevel}}
+								</view>
+								<view class="uni-media-list-text-top">
+									<view class="tit-text">施工时间:</view>{{value.createTime}}
+								</view>
 							</view>
 
 							<view v-if="title=='打孔'">
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">孔距:</view>{{value.zEngineeringMaterialBo[0].corrosionLevel}}</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">施工时间:</view>{{value.createTime}}</view>
+								<view class="uni-media-list-text-top">
+									<view class="tit-text">孔距:</view>{{value.zEngineeringMaterialBo[0].corrosionLevel}}
+								</view>
+								<view class="uni-media-list-text-top">
+									<view class="tit-text">施工时间:</view>{{value.createTime}}
+								</view>
 							</view>
 							<view v-else-if="title=='立杠'||title=='表后管'||title=='挂表'||title=='阀管'||title=='报警器切断阀'">
-								<view class="uni-media-list-text-top"
-									   v-show="title=='阀管'">
-									<view class="tit-text">上门类型:</view>{{value.zEngineeringMaterialBo[0].visitType}}</view>
-								<view class="uni-media-list-text-top"
-									   v-show="title=='阀管'">
-									<view class="tit-text">自闭阀类型:</view>{{value.zEngineeringMaterialBo[0].selfClosingValveType}}</view>
-								<view class="uni-media-list-text-top"
-									  
-									v-show="title=='立杠'||title=='表后管'||title=='阀管'">
-									<view class="tit-text">材质:</view>{{value.zEngineeringMaterialBo[0].materialQualityName}}</view>
-								<view class="uni-media-list-text-top"
-									  
-									v-show="title=='立杠'||title=='表后管'||title=='阀管'">
-									<view class="tit-text">规格:</view>{{value.zEngineeringMaterialBo[0].specificationsName}}</view>
-								<view class="uni-media-list-text-top"
-									   v-show="title=='挂表'">
-									<view class="tit-text">品牌:</view>{{value.zEngineeringMaterialBo[0].brand}}</view>
-									<view class="uni-media-list-text-top"
-										   v-show="title=='报警器切断阀'">
-										<view class="tit-text">厂家:</view>{{value.zEngineeringMaterialBo[0].brand}}</view>
-								<view class="uni-media-list-text-top"
-									   v-show="title=='立杠'||title=='表后管'||title=='阀管'">
-									<view class="tit-text">数量:</view>{{value.zEngineeringMaterialBo[0].number}}</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">施工时间:</view>{{value.createTime}}</view>
+								<view class="uni-media-list-text-top" v-show="title=='阀管'">
+									<view class="tit-text">上门类型:</view>{{value.zEngineeringMaterialBo[0].visitType}}
+								</view>
+								<view class="uni-media-list-text-top" v-show="title=='阀管'">
+									<view class="tit-text">自闭阀类型:</view>
+									{{value.zEngineeringMaterialBo[0].selfClosingValveType}}
+								</view>
+								<view class="uni-media-list-text-top" v-show="title=='立杠'||title=='表后管'||title=='阀管'">
+									<view class="tit-text">材质:</view>
+									{{value.zEngineeringMaterialBo[0].materialQualityName}}
+								</view>
+								<view class="uni-media-list-text-top" v-show="title=='立杠'||title=='表后管'||title=='阀管'">
+									<view class="tit-text">规格:</view>
+									{{value.zEngineeringMaterialBo[0].specificationsName}}
+								</view>
+								<view class="uni-media-list-text-top" v-show="title=='挂表'">
+									<view class="tit-text">品牌:</view>{{value.zEngineeringMaterialBo[0].brand}}
+								</view>
+								<view class="uni-media-list-text-top" v-show="title=='报警器切断阀'">
+									<view class="tit-text">厂家:</view>{{value.zEngineeringMaterialBo[0].brand}}
+								</view>
+								<view class="uni-media-list-text-top" v-show="title=='立杠'||title=='表后管'||title=='阀管'">
+									<view class="tit-text">数量:</view>{{value.zEngineeringMaterialBo[0].number}}
+								</view>
+								<view class="uni-media-list-text-top">
+									<view class="tit-text">施工时间:</view>{{value.createTime}}
+								</view>
 							</view>
-							
+
 							<view
-								v-else-if="title=='放线'||title=='挖沟'||title=='焊接'||title=='下沟'||title=='除锈'||title=='刷油'||title=='打磨'||title=='焊接'">
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">施工时间:</view>{{value.constructTime}}</view>
+								v-else-if="title=='开挖前'||title=='开挖后'||title=='焊口照片'||title=='隐蔽工程'||title=='除锈刷油'||title=='打磨'">
+								<view class="uni-media-list-text-top">
+									<view class="tit-text">施工时间:</view>{{value.constructTime}}
+								</view>
 								<view class="uni-media-list-text-top">
 									<view class="uni-common-mt" style="width: 100%;">
 										<text class="uni-title uni-common-pl" style=" font-size: 13px;color:
@@ -77,23 +79,13 @@
 										</view>
 									</view>
 								</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">材质:</view>{{value.zEngineeringMaterialBo[0].materialQualityName}}</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">规格:</view>{{value.zEngineeringMaterialBo[0].specificationsName}}</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">数量:</view>{{value.zEngineeringMaterialBo[0].number}}</view>
+
 							</view>
 							<view v-else-if="title=='回填'">
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">施工时间:</view>{{value.constructTime}}</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">回填时间:</view>{{value.backfillTime}}</view>
+								<view class="uni-media-list-text-top">
+									<view class="tit-text">施工时间:</view>{{value.constructTime}}
+								</view>
+
 								<view class="uni-media-list-text-top">
 									<view class="uni-common-mt" style="width: 100%;">
 										<text class="uni-title uni-common-pl" style=" font-size: 13px;color:
@@ -106,71 +98,108 @@
 										</view>
 									</view>
 								</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">材质:</view>{{value.zEngineeringMaterialBo[0].materialQualityName}}</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">规格:</view>{{value.zEngineeringMaterialBo[0].specificationsName}}</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">数量:</view>{{value.zEngineeringMaterialBo[0].number}}</view>
-							</view>
-							<view v-else-if="title=='打压'">
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">施工时间:</view>{{value.constructTime}}</view>
-								<view class="uni-media-list-text-top"
-									  >
-									分段打压是否台格:{{value.segmentedCompressionQualified=='Y'?'是':'否'}}</view>
+
 								<view class="uni-media-list-text-top">
-									<view class="uni-common-mt" style="width: 100%;">
-										<text class="uni-title uni-common-pl" style=" font-size: 13px;color:
-											#000;margin-top: 5px;">施工内容:</text>
-										<view style="width: 100%;padding-right: 20rpx;box-sizing: border-box;">
-											<textarea class="textarea" maxlength="255" :disabled="true"
-												placeholder-style="padding: 10rpx;"
-												style="width: 100%;height: 100%;border: 1rpx solid #cccccc; border-radius: 15rpx;padding: 10rpx;line-height:normal;"
-												auto-height>{{value.remark}}</textarea>
+
+									<view class="tit-text">负责人:</view>
+									<text>{{value.constructUser}}</text>
+								</view>
+								<view class="uni-media-list-text-top">
+
+									<view class="tit-text">负责人联系电话:</view>
+									<text>{{value.constructPhone}}</text>
+								</view>
+
+								<view class="uni-common-mt" style="width: 100%;">
+									<text class="uni-title uni-common-pl" style=" font-size: 13px;color:
+											#000;margin-top: 5px; margin-left: 8px;">石粉回填照片:</text>
+								</view>
+								<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
+									<view v-for="(item,index) in value.stonePowder" :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,value.stonePowder)">
+											</image>
+										</view>
+										<view v-else>
+											<video :src="item"
+												style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
 										</view>
 									</view>
 								</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">材质:</view>{{value.zEngineeringMaterialBo[0].materialQualityName}}</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">规格:</view>{{value.zEngineeringMaterialBo[0].specificationsName}}</view>
-								<view class="uni-media-list-text-top"
-									  >
-									<view class="tit-text">数量:</view>{{value.zEngineeringMaterialBo[0].number}}</view>
-							</view>
-							<view class="uni-media-list-text-top">
 
-								<view class="tit-text">负责人:</view>
-								<text
-									  >{{value.constructUser}}</text>
-							</view>
-							<view class="uni-media-list-text-top">
+								<view class="uni-common-mt" style="width: 100%;">
+									<text class="uni-title uni-common-pl" style=" font-size: 13px;color:
+											#000;margin-top: 5px;margin-left: 8px;">警示带铺设照片:</text>
+								</view>
+								<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
+									<view v-for="(item,index) in value.warningtTape" :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,value.warningtTape)">
+											</image>
+										</view>
+										<view v-else>
+											<video :src="item"
+												style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+										</view>
+									</view>
+								</view>
+
+								<view class="uni-common-mt" style="width: 100%;">
+									<text class="uni-title uni-common-pl" style=" font-size: 13px;color:
+											#000;margin-top: 5px;margin-left: 8px;">回填后照片:</text>
+								</view>
+								<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
+									<view v-for="(item,index) in value.photosAfter" :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,value.photosAfter)">
+											</image>
+										</view>
+										<view v-else>
+											<video :src="item"
+												style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+										</view>
 
-								<view class="tit-text">负责人联系电话:</view>
-								<text
-									  >{{value.constructPhone}}</text>
-							</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,value.zEngiineeringPhotoBoList)">
-										</image>
 									</view>
-									<view v-else>
-										<video :src="item"
-											style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+								</view>
+							</view>
+							<view v-else>
+								<view class="uni-media-list-text-top">
+
+									<view class="tit-text">负责人:</view>
+									<text>{{value.constructUser}}</text>
+								</view>
+								<view class="uni-media-list-text-top">
+
+									<view class="tit-text">负责人联系电话:</view>
+									<text>{{value.constructPhone}}</text>
+								</view>
+								<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
+									<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,value.zEngiineeringPhotoBoList)">
+											</image>
+										</view>
+										<view v-else>
+											<video :src="item"
+												style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+										</view>
+
 									</view>
 
 								</view>
@@ -240,13 +269,14 @@
 
 
 <style lang="scss">
-	.uni-media-list-body{
-		border:1px solid #eee;
+	.uni-media-list-body {
+		border: 1px solid #eee;
 		border-radius: 40rpx;
-		margin:10rpx 30rpx 20rpx;
+		margin: 10rpx 30rpx 20rpx;
 		padding: 10rpx 0 40rpx;
 		box-shadow: 0 0 5px #eee;
 	}
+
 	.share {
 		width: 100%;
 		height: 100%;
@@ -257,15 +287,15 @@
 		color: #4f535a;
 		margin-right: 20rpx;
 	}
-	.normal-text{
-		
-	}
-	.cz-style{
+
+	.normal-text {}
+
+	.cz-style {
 		background: #e8f4f9;
-		    margin: 20rpx;
-		    padding: 10rpx;
-		    border-radius: 20rpx;
-		    border: 1px solid #d4e3f0;
+		margin: 20rpx;
+		padding: 10rpx;
+		border-radius: 20rpx;
+		border: 1px solid #d4e3f0;
 	}
 
 	.uni-media-list-text-top {
@@ -377,7 +407,7 @@
 			align-items: center;
 			border-top: 1rpx solid #E4E7ED;
 		}
-		
+
 
 	}
 </style>

+ 108 - 37
components/bottomSheet/bottomSheetMore.vue

@@ -16,16 +16,14 @@
 						<view class="uni-media-list-body">
 
 							<view class="uni-media-list-text-top">
-								<view class="tit-text">施工时间:</view><view class="normal-text">{{value.constructTime}}</view>
+								<view class="tit-text">施工时间:</view>
+								<view class="normal-text">{{value.constructTime}}</view>
 							</view>
-							<!-- <view v-if="title=='进场'||title=='导向'||title=='挖孔'||title=='回拖'"
-								class="uni-media-list-text-top" style=" ">
-								描述:{{value.remark}}</view> -->
-							<view v-if="title=='进场'||title=='导向'||title=='挖孔'||title=='回拖'"
-								class="uni-media-list-text-top">
+
+							<view class="uni-media-list-text-top">
 								<view class="uni-common-mt" style="width: 100%;">
 									<text class="uni-title uni-common-pl" style=" font-size: 13px;color:
-											#000;margin-top: 5px;">描述:</text>
+										#000;margin-top: 5px;">施工内容:</text>
 									<view style="width: 100%;padding-right: 20rpx;box-sizing: border-box;">
 										<textarea class="textarea" maxlength="255" :disabled="true"
 											placeholder-style="padding: 10rpx;"
@@ -37,48 +35,120 @@
 							<view class="cz-style" v-for="(a,index) in value.zEngineeringMaterialBo" :key="index">
 
 								<view class="uni-media-list-text-top" style=" ">
-									<view class="tit-text">材质:</view><view class="normal-text">{{a.materialQualityName}}</view>
+									<view class="tit-text">材质:</view>
+									<view class="normal-text">{{a.materialQualityName}}</view>
 								</view>
 
 
 
 								<view class="uni-media-list-text-top" style=" ">
-									<view class="tit-text">规格:</view><view class="normal-text">{{a.specificationsName}}</view>
+									<view class="tit-text">规格:</view>
+									<view class="normal-text">{{a.specificationsName}}</view>
 								</view>
 
 
 
 								<view class="uni-media-list-text-top" style=" ">
-									<view class="tit-text">数量:</view><view class="normal-text">{{a.number}}</view>
+									<view class="tit-text">数量:</view>
+									<view class="normal-text">{{a.number}}</view>
 								</view>
 
 							</view>
 
 
 							<view class="uni-media-list-text-top">
-									<view class="tit-text">负责人:</view>
+								<view class="tit-text">负责人:</view>
 								<view class="normal-text">{{value.constructUser}}</view>
 							</view>
 							<view class="uni-media-list-text-top">
-									<view class="tit-text">负责人联系电话:</view>
+								<view class="tit-text">负责人联系电话:</view>
 								<view class="normal-text">{{value.constructPhone}}</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,value.zEngiineeringPhotoBoList)">
-										</image>
+
+							<view v-if="title=='下沟'">
+								<view class="uni-common-mt" style="width: 100%;">
+									<text class="uni-title uni-common-pl" style=" font-size: 13px;color:
+											#000;margin-top: 5px; margin-left: 8px;">管上皮深度测量照片:</text>
+								</view>
+								
+								<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
+									<view v-for="(item,index) in value.ductalEpithelium" :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,value.ductalEpithelium)">
+											</image>
+										</view>
+										<view v-else>
+											<video :src="item"
+												style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+										</view>
+									</view>
+								</view>
+
+								<view class="uni-common-mt" style="width: 100%;">
+									<text class="uni-title uni-common-pl" style=" font-size: 13px;color:
+											#000;margin-top: 5px;margin-left: 8px;">管沟远景照片:</text>
+								</view>
+								<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
+									<view v-for="(item,index) in value.trenchProspect" :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,value.trenchProspect)">
+											</image>
+										</view>
+										<view v-else>
+											<video :src="item"
+												style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+										</view>
+									</view>
+								</view>
+
+								<view class="uni-common-mt" style="width: 100%;">
+									<text class="uni-title uni-common-pl" style=" font-size: 13px;color:
+											#000;margin-top: 5px;margin-left: 8px;">视频:</text>
+								</view>
+								<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
+									<view v-for="(item,index) in value.video" :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,value.video)">
+											</image>
+										</view>
+										<view v-else>
+											<video :src="item"
+												style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+										</view>
+
 									</view>
-									<view v-else>
-										<video :src="item"
-											style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+								</view>
+
+							</view>
+							<view v-else>
+								<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
+									<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,value.zEngiineeringPhotoBoList)">
+											</image>
+										</view>
+										<view v-else>
+											<video :src="item"
+												style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+										</view>
 									</view>
 								</view>
+
 							</view>
 						</view>
 					</view>
@@ -162,13 +232,14 @@
 </script>
 
 <style lang="scss">
-	.uni-media-list-body{
-		border:1px solid #eee;
+	.uni-media-list-body {
+		border: 1px solid #eee;
 		border-radius: 40rpx;
-		margin:10rpx 30rpx 20rpx;
+		margin: 10rpx 30rpx 20rpx;
 		padding: 10rpx 0 40rpx;
 		box-shadow: 0 0 5px #eee;
 	}
+
 	.share {
 		width: 100%;
 		height: 100%;
@@ -179,15 +250,15 @@
 		color: #4f535a;
 		margin-right: 20rpx;
 	}
-	.normal-text{
-		
-	}
-	.cz-style{
+
+	.normal-text {}
+
+	.cz-style {
 		background: #e8f4f9;
-		    margin: 20rpx;
-		    padding: 10rpx;
-		    border-radius: 20rpx;
-		    border: 1px solid #d4e3f0;
+		margin: 20rpx;
+		padding: 10rpx;
+		border-radius: 20rpx;
+		border: 1px solid #d4e3f0;
 	}
 
 	.uni-media-list-text-top {
@@ -299,7 +370,7 @@
 			align-items: center;
 			border-top: 1rpx solid #E4E7ED;
 		}
-		
+
 
 	}
 </style>

+ 211 - 188
pages/oldrenovation/courtyard/courtyard.vue

@@ -1,32 +1,17 @@
 	<template>
 		<scroll-view>
 			<view class="background">
-				<!-- <view class="uni-list">
-					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
-						<view>
-							工程周期
-						</view>
-						<view v-if="this.isEmpty(this.projectValue.dictValue)" @click="pickerShow('gczq')">
-							<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" @click="pickerShow('gczq')">
-							<span style="color: black;">{{projectValue.dictLabel}}</span>
-							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-						</view>
-
-					</view>
-				</view> -->
+				
 				<view class="uni-list">
 					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 						<view>
 							行政区
 						</view>
-						<view v-if="this.isEmpty(this.XZQValue.dictValue)" @click="pickerShow('xzq')">
+						<view v-if="this.isEmpty(this.XZQValue.dictValue)" @click="pickerShow('xzq',0)">
 							<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" @click="pickerShow('xzq')">
+						<view v-else class="uni-list-cell-db" @click="pickerShow('xzq',0)">
 							<span style="color: black;">{{XZQValue.dictLabel}}</span>
 							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 						</view>
@@ -39,11 +24,11 @@
 							小区
 						</view>
 
-						<view v-if="this.isEmpty(this.XQValue.id)" class="uni-list-cell-db" @click="pickerShow('xq')">
+						<view v-if="this.isEmpty(this.XQValue.id)" class="uni-list-cell-db" @click="pickerShow('xq',0)">
 							<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" @click="pickerShow('xq')">
+						<view v-else class="uni-list-cell-db" @click="pickerShow('xq',0)">
 							<span style="color: black;">{{XQValue.name}}</span>
 							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 						</view>
@@ -54,11 +39,11 @@
 						<view class="uni-list-cell-left">
 							楼栋
 						</view>
-						<view v-if="this.isEmpty(this.LDValue.id)" class="uni-list-cell-db" @click="pickerShow('ld')">
+						<view v-if="this.isEmpty(this.LDValue.id)" class="uni-list-cell-db" @click="pickerShow('ld',0)">
 							<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" @click="pickerShow('ld')">
+						<view v-else class="uni-list-cell-db" @click="pickerShow('ld',0)">
 							<span style="color: black;">{{LDValue.name}}</span>
 							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 						</view>
@@ -97,30 +82,7 @@
 							</view>
 						</view>
 
-						<view class="container" v-if="objValue.enginClassValue=='回填'">
-
-							<view>
-								回填时间
-							</view>
-							<view @click="openDatetimePicker('ht')">
-								<span style="color: black;">{{BackfillingTime ? BackfillingTime:'请选择回填时间'}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-						</view>
-						<view class="container" v-else-if="objValue.enginClassValue=='打压'">
 
-							<view>
-								分段打压是否合格
-							</view>
-							<view v-if="this.isEmpty(this.isOkValue)" @click="showActionsheet()">
-								<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" @click="showActionsheet()">
-								<span style="color: black;">{{isOkLabel}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-						</view>
 						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 							<view class="uni-common-mt" style="width: 100%;">
 								<text class="uni-title uni-common-pl">施工内容</text>
@@ -133,66 +95,110 @@
 							</view>
 						</view>
 
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+						<view v-for="(a,index) in czggslList" :key="index" class="num-style">
+							<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+								<view>
+									材质
+								</view>
+								<view class="uni-list-cell-db" @click="pickerShow('cz',index)">
+									<span style="color: black;">{{a.cz.id==''?'请选择材质':a.cz.name}}</span>
+									<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+								</view>
 
-							<view>
-								材 质
 							</view>
-							<view v-if="this.isEmpty(this.materialValue.id)" @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" @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 class="container" style="border-bottom: 1px solid #f8f8f8;">
 
-							<view>
-								规 格
-							</view>
-							<view v-if="this.isEmpty(this.specificationValue.id)" @click="pickerShow('gg')">
-								<span style="color: darkgray;">请选择规格</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+								<view>
+									规格
+								</view>
+
+								<view class="uni-list-cell-db" @click="pickerShow('gg',index)">
+									<span style="color: black;">{{a.gg.id==''?'请选择规格':a.gg.name}}</span>
+									<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+								</view>
 							</view>
-							<view v-else class="uni-list-cell-db" @click="pickerShow('gg')">
-								<span style="color: black;">{{specificationValue.name}}</span>
+							<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+
+								<text>数量</text>
+								<input class="uni-input" type="number" v-model="a.sl" placeholder="请填写数量" maxlength="11"
+									style="margin-left: 10px;text-align: right;"></input>
 								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 							</view>
+							<button v-if="index!=0" @click="this.czggslList.splice(index,1)" class="sc-btn">删除</button>
 						</view>
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
-
-							<text>数 量</text>
-							<input class="uni-input" type="number" v-model="inputNumberValue" placeholder="请填写数量"
-								maxlength="11" style="margin-left: 10px;text-align: right;"></input>
-						</view>
+						<button @click="this.czggslList.push({cz:{id: '',name: ''},gg:{id: '',name: ''},sl:''})"
+							class="tj-btn">添加</button>
 
 					</view>
 
 					<view class="align-items" style="margin-top: 20px;margin-bottom: 20px;">
-						<view class="container" style="color: #b2b2b2;">*请上传照片</view>
+						<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()"
+								style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('gspsdcl')"
 								v-show="reviewStatus!='1'"></image>
-							<view v-for="(item,index) in imgArr" :key="index" style="position: relative;">
+							<view v-for="(item,index) in imgGuanArr" :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: 100rpx; height: 100rpx; margin: 0 12rpx;"
-										@click="showPhoto(index)">
+										@click="showPhoto(index,'gspsdcl')">
 									</image>
 								</view>
 								<view v-else>
 									<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
 								</view>
-								<view @click="remove(index)"
+								<view @click="remove(index,'gspsdcl')"
 									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 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('ggyj')"
+									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: 100rpx; height: 100rpx; margin: 0 12rpx;"
+											@click="showPhoto(index,'ggyj')">
+										</image>
+									</view>
+									<view v-else>
+										<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+									</view>
+									<view @click="remove(index,'ggyj')"
+										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 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('video')"
+										v-show="reviewStatus!='1'"></image>
+									<view v-for="(item,index) in videoArr" :key="index" style="position: relative;">
+
+
+										<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+
+										<view @click="remove(index,'video')"
+											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>
+						</view>
 					</view>
 				</view>
 			</view>
@@ -200,7 +206,7 @@
 				<button @click="submit" class="btn cu-btn block bg-blue lg round">确认上传</button>
 			</view>
 
-			<bottom-sheet ref="refShare" :data="historyList"></bottom-sheet>
+			<bottom-sheet ref="refShare" :data="historyList" :TitleType="objValue.enginClassValue"></bottom-sheet>
 			<yt-dateTimePicker ref="myPicker" @submit="handleSubmit" :start-year="2024" :end-year="2099"
 				:time-hide="[true, true, true, true, true, true]" :time-label="['年', '月', '日', '时', '分', '秒']" />
 		</scroll-view>
@@ -210,7 +216,7 @@
 
 	<script>
 		import SelectPicker from '../../../components/selectPicker/select_picker.vue'
-		import bottomSheet from '../../../components/bottomSheet/bottomSheet.vue'
+		import bottomSheet from '../../../components/bottomSheet/bottomSheetMore.vue'
 
 		import {
 			getDicts
@@ -240,7 +246,18 @@
 					headers: {
 						Authorization: "Bearer " + getToken()
 					},
-
+					zEngineeringMaterialBo: [], //给后台传的值  用料列表
+					czggslList: [{
+						cz: {
+							id: '',
+							name: ''
+						},
+						gg: {
+							id: '',
+							name: ''
+						},
+						sl: ''
+					}, ],
 					type: '',
 					reviewStatus: '', //是否可以点击
 					open: false,
@@ -249,9 +266,14 @@
 					selectList: [],
 					dictOptions: [],
 					imgArr: [],
+					imgGuanArr: [],
+					videoArr: [],
 					XQValue: {},
 					XZQValue: {},
-					projectValue: {'dictValue':'1'},
+					SelectIndex: '', //选择的索引值
+					projectValue: {
+						'dictValue': '0'
+					},
 					LevelValue: {},
 					isOkValue: '', //分段打压是否合格
 					isOkLabel: '', //分段打压是否合格label
@@ -354,47 +376,58 @@
 				handleHiddenShare() {
 					this.shareState = false;
 				},
-				showPhoto(index) {
+				showPhoto(index, type) {
+					let typeArr = [];
+					if (type == 'gspsdcl') {
+						typeArr = this.imgGuanArr;
+					} else {
+						typeArr = this.imgArr;
+					}
 					uni.previewImage({
 						current: index,
-						urls: this.imgArr,
+						urls: typeArr,
 					})
 
 				},
-				remove(index) {
+				remove(index, type) {
+					let content = '';
+					if (type == 'video') {
+						content = '是否删除该视频?'
+					} else {
+						content = '是否删除该图片?'
+					}
 					uni.showModal({
 						title: '提示',
-						content: '是否删除该图片或视频?',
+						content: 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;
+								if (type == 'video') {
+									this.videoArr.splice(index, 1)
+
+								} else if (type == 'gspsdcl') {
+									this.imgGuanArr.splice(index, 1)
+								} else if (type == 'ggyj') {
+									this.imgArr.splice(index, 1)
 								}
+
+
 							}
 						}
 					})
 				},
-				choose() {
+				choose(e) {
 					let _this = this;
-					uni.showActionSheet({
-						title: '上传',
-						itemList: ['图片', '视频'],
-						success: (res) => {
-							console.log(res)
-							if (res.tapIndex == 0) {
-								this.chooseimage()
-							} else {
-								this.choosevideo()
-							}
-						}
-					})
+
+					if (e == 'video') {
+						this.choosevideo()
+					} else {
+						this.chooseimage(e)
+
+					}
 				},
-				chooseimage() {
+				chooseimage(e) {
 
 					let _this = this;
-					console.log('图片', _this.headers)
 					uni.chooseImage({
 						sizeType: ['album', 'camera'],
 						success(resp) {
@@ -409,21 +442,18 @@
 									success: res => {
 										// 判断是否json字符串,将其转为json格式
 										console.log("结果", res)
-										// let data = _this.$u.test.jsonString(res
-										// 	.data) ? JSON.parse(res.data) : res.data;
 										let data = JSON.parse(res.data);
 										if (![200].includes(data.code)) {
-											// this.uploadError(index, data);
 											_this.$modal.msg(data.msg)
 										} else {
 											if (_this.progress === 100) {
-												console.log('_this.progress', _this.progress)
-												//console.log('data----', data)data
-												console.log('res--', res)
-												_this.imgArr.push(data.data.url)
-												console.log('imgArr', _this.imgArr)
+												if (e == 'ggyj') {
+													_this.imgArr.push(data.data.url)
+												} else if (e == 'gspsdcl') {
+													_this.imgGuanArr.push(data.data.url)
+												}
+
 												_this.$modal.msg('上传成功!')
-												_this.photo = false;
 											}
 										}
 									},
@@ -440,17 +470,13 @@
 								});
 								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)
 									}
 								});
 
@@ -462,7 +488,6 @@
 
 				choosevideo() {
 					let _this = this;
-					console.log('视频')
 					uni.chooseVideo({
 						sourceType: ['album', 'camera'],
 						maxDuration: 30,
@@ -481,11 +506,8 @@
 									} else {
 										//上传成功
 										if (_this.progress === 100) {
-											console.log('_this.progress', _this.progress)
-											_this.imgArr.push(data.data.url)
-											console.log('imgArr', _this.imgArr)
+											_this.videoArr.push(data.data.url)
 											_this.$modal.msg('上传成功!')
-											_this.photo = false;
 										}
 									}
 								},
@@ -500,16 +522,13 @@
 							});
 							task.onProgressUpdate(res => {
 								_this.progress = res.progress;
-								console.log('onProgressUpdate', res)
 								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)
 								}
 							});
 
@@ -518,45 +537,22 @@
 
 				},
 
-				showActionsheet() {
-					//分段打压是否合格
-
-					getDicts("sys_yes_no").then(response => {
-
-						this.dictOptions = response.data;
-						let array = [];
-						this.dictOptions.forEach((item, index) => {
-							array.push(item.dictLabel)
-
-						});
-
-						uni.showActionSheet({
-							itemList: array,
-							success: (res) => {
-								// console.log('选择了第' + (res.tapIndex + 1) + '个选项');
-								// console.log(this.dictOptions[res.tapIndex].dictValue)
-								this.isOkValue = this.dictOptions[res.tapIndex].dictValue;
-								this.isOkLabel = this.dictOptions[res.tapIndex].dictLabel;
-							},
-							fail: (err) => {
-								console.log('弹窗取消');
-							}
-						});
 
-					});
-				},
-				pickerShow(e) {
+				pickerShow(e, index) {
+					this.SelectIndex = index;
 					this.type = e; //赋值类型
 					if (e == 'cz') { //材质
 						this.open = true;
-						getEnginMaterialQualityList("民用工程").then(response => {
-							this.selectList = response.data;
-						});
+						getEnginMaterialQualityList("民用工程", this.objValue.enginType, this.objValue.enginClassification).then(
+							response => {
+								this.selectList = response.data;
+							});
 
 					} else if (e == 'gg') { //规格
-						if (this.isEmpty(this.materialValue.id)) {
-							this.$modal.msg('请选择材质')
 
+						if (this.isEmpty(this.czggslList[index].cz.id)) {
+							this.$modal.msg('请选择材质')
+							//	this.czggslList[index].cz = this.materialValue.id
 						} else {
 							this.open = true;
 							this.selectList = this.materialList;
@@ -631,20 +627,25 @@
 					}
 				},
 				changeSelect(item, index) {
-					// this.index = index;
-					// this.address = item.communityName;
+
 					this.open = false;
 
+
 					if (this.type == 'cz') {
 						this.materialValue = item;
 						this.specificationValue = ''; //重置规格
+						this.czggslList[this.SelectIndex].gg.id = ''
+						this.czggslList[this.SelectIndex].gg.name = ''
 						//根据材质ID 获取规格数据
 						getEnginSpecificationsList(item.id).then(res => {
 							this.materialList = res.data
+							this.czggslList[this.SelectIndex].cz.id = this.materialValue.id
+							this.czggslList[this.SelectIndex].cz.name = this.materialValue.name
 						})
 					} else if (this.type == 'gg') {
 						this.specificationValue = item;
-
+						this.czggslList[this.SelectIndex].gg.id = this.specificationValue.id
+						this.czggslList[this.SelectIndex].gg.name = this.specificationValue.name
 					} else if (this.type == 'xq') {
 						this.XQValue = item;
 						if (!this.isEmpty(this.projectValue.dictValue)) {
@@ -746,28 +747,57 @@
 					// } 
 
 
-					if (this.objValue.enginClassValue == '回填' && this.isEmpty(this.BackfillingTime)) {
-						this.$modal.msg("请选择回填时间")
-						return
-					}
-					if (this.objValue.enginClassValue == '打压' && this.isEmpty(this.isOkValue)) {
-						this.$modal.msg("请选择分段打压是否合格")
-						return
-					}
-					if (this.isEmpty(this.materialValue.id)) {
-						this.$modal.msg("请选择材质")
-						return
+
+
+
+					try {
+						//console.log("刚开始", this.czggslList);
+						this.czggslList.forEach((list) => {
+							if (this.isEmpty(list.cz.id)) {
+								this.$modal.msg('材质不能为空')
+
+
+								throw new Error('End Loop')
+
+							}
+							if (this.isEmpty(list.gg.id)) {
+								this.$modal.msg('规格不能为空')
+								throw new Error('End Loop')
+
+							}
+							if (this.isEmpty(list.sl)) {
+								this.$modal.msg('数量不能为空')
+
+								throw new Error('End Loop')
+
+							}
+
+
+
+						})
+					} catch (e) {
+						if (e.message === 'End Loop') throw e
 					}
-					if (this.isEmpty(this.specificationValue.id)) {
-						this.$modal.msg("请选择规格")
+					this.zEngineeringMaterialBo = [];
+					this.czggslList.forEach((list) => {
+							this.zEngineeringMaterialBo.push({
+								materialQuality: list.cz.id,
+								specifications: list.gg.id,
+								number: list.sl
+							})
+						}),
+
+						console.log("数据", this.zEngineeringMaterialBo)
+					if (this.imgGuanArr.length <= 0) {
+						this.$modal.msg('请上传管上皮深度测量照片')
 						return
 					}
-					if (this.isEmpty(this.inputNumberValue)) {
-						this.$modal.msg("请输入数量")
+					if (this.imgArr.length <= 0) {
+						this.$modal.msg('请上传管沟远景照片')
 						return
 					}
-					if (this.imgArr.length <= 0) {
-						this.$modal.msg('请上传照片或视频')
+					if (this.videoArr.length <= 0) {
+						this.$modal.msg('请上传视频')
 						return
 					}
 					if (this.loading == false) {
@@ -804,19 +834,12 @@
 						zEngineeringNodeBo: {
 							type: this.objValue.enginClassValue, //写死 上一页面传过来的  (拆旧管等 字典值)
 							zEngineeringInfoBo: {
-								//constructAccordingDrawings: this.isCheck, //是否按图纸施工
-								segmentedCompressionQualified: this.isOkValue, // 分段打压是否台格
-								zEngiineeringPhotoBoList: this.imgArr, //照片集合
+								ductalEpithelium: this.imgGuanArr, //照片集合
+								trenchProspect: this.imgArr,
+								video: this.videoArr,
 								constructTime: this.time, //施工时间
-								backfillTime: this.BackfillingTime, // 回填时间
 								remark: this.projectContent, //施工内容
-								// headName: this.user.nickName, // 负责人名称
-								// headPhone: this.user.phonenumber, // 负责人电话
-								zEngineeringMaterialBo: [{
-									materialQuality: this.materialValue.id, //材质
-									specifications: this.specificationValue.id, //规格
-									number: this.inputNumberValue //数量
-								}]
+								zEngineeringMaterialBo: this.zEngineeringMaterialBo
 							}
 
 						}

+ 191 - 160
pages/oldrenovation/courtyard/newcourtyard.vue

@@ -1,22 +1,7 @@
 	<template>
 		<scroll-view>
 			<view class="background">
-				<!-- <view class="uni-list">
-					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
-						<view>
-							工程周期
-						</view>
-						<view v-if="this.isEmpty(this.projectValue.dictValue)" @click="pickerShow('gczq')">
-							<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" @click="pickerShow('gczq')">
-							<span style="color: black;">{{projectValue.dictLabel}}</span>
-							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-						</view>
 
-					</view>
-				</view> -->
 				<view class="uni-list">
 					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 						<view>
@@ -97,30 +82,8 @@
 							</view>
 						</view>
 
-						<view class="container" v-if="objValue.enginClassValue=='回填'">
 
-							<view>
-								回填时间
-							</view>
-							<view @click="openDatetimePicker('ht')">
-								<span style="color: black;">{{BackfillingTime ? BackfillingTime:'请选择回填时间'}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-						</view>
-						<view class="container" v-else-if="objValue.enginClassValue=='打压'">
 
-							<view>
-								分段打压是否合格
-							</view>
-							<view v-if="this.isEmpty(this.isOkValue)" @click="showActionsheet()">
-								<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" @click="showActionsheet()">
-								<span style="color: black;">{{isOkLabel}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-						</view>
 						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 							<view class="uni-common-mt" style="width: 100%;">
 								<text class="uni-title uni-common-pl">施工内容</text>
@@ -133,60 +96,30 @@
 							</view>
 						</view>
 
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 
-							<view>
-								材 质
-							</view>
-							<view v-if="this.isEmpty(this.materialValue.id)" @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" @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)" @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" @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>
-							<input class="uni-input" type="number" v-model="inputNumberValue" placeholder="请填写数量"
-								maxlength="11" style="margin-left: 10px;text-align: right;"></input>
-						</view>
 
 					</view>
-
-					<view class="align-items" style="margin-top: 20px;margin-bottom: 20px;">
+					<view
+						v-if="objValue.enginClassValue=='开挖前' || objValue.enginClassValue=='开挖后' ||objValue.enginClassValue=='焊口照片' ||objValue.enginClassValue== '隐蔽工程'"
+						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()"
+								style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('other')"
 								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: 100rpx; height: 100rpx; margin: 0 12rpx;"
-										@click="showPhoto(index)">
+										@click="showPhoto(index,'other')">
 									</image>
 								</view>
 								<view v-else>
 									<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
 								</view>
-								<view @click="remove(index)"
+								<view @click="remove(index,'other')"
 									style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;">
 									<image :src="loadImgSrc('icon_close.png')" style=" width: 15px; height: 15px;">
 									</image>
@@ -194,6 +127,88 @@
 							</view>
 						</view>
 					</view>
+					<view v-if="objValue.enginClassValue=='回填'">
+						<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('sfht')"
+									v-show="reviewStatus!='1'"></image>
+								<view v-for="(item,index) in stonePowderArr" :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: 100rpx; height: 100rpx; margin: 0 12rpx;"
+											@click="showPhoto(index,'sfht')">
+										</image>
+									</view>
+									<view v-else>
+										<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+									</view>
+									<view @click="remove(index,'sfht')"
+										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 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('jsdps')"
+										v-show="reviewStatus!='1'"></image>
+									<view v-for="(item,index) in warningtTapeArr" :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: 100rpx; height: 100rpx; margin: 0 12rpx;"
+												@click="showPhoto(index,'jsdps')">
+											</image>
+										</view>
+										<view v-else>
+											<video :src="item"
+												style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+										</view>
+										<view @click="remove(index,'jsdps')"
+											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 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('hth')" v-show="reviewStatus!='1'"></image>
+										<view v-for="(item,index) in photosAfterArr" :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: 100rpx; height: 100rpx; margin: 0 12rpx;"
+													@click="showPhoto(index,'hth')">
+												</image>
+											</view>
+											<view v-else>
+												<video :src="item"
+													style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+											</view>
+											<view @click="remove(index,'hth')"
+												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>
+							</view>
+						</view>
+					</view>
 				</view>
 			</view>
 			<view class="action-btn" v-show="reviewStatus!='1'">
@@ -249,9 +264,15 @@
 					selectList: [],
 					dictOptions: [],
 					imgArr: [],
+					stonePowderArr: [],
+					warningtTapeArr: [],
+					photosAfterArr: [],
+
 					XQValue: {},
 					XZQValue: {},
-					projectValue: {'dictValue':'1'},
+					projectValue: {
+						'dictValue': '0'
+					},
 					LevelValue: {},
 					isOkValue: '', //分段打压是否合格
 					isOkLabel: '', //分段打压是否合格label
@@ -354,44 +375,73 @@
 				handleHiddenShare() {
 					this.shareState = false;
 				},
-				showPhoto(index) {
+				showPhoto(index, type) {
+					let typeArr = [];
+					if (type == 'other') {
+						typeArr = this.imgArr;
+					} else if (type == 'sfht') {
+						typeArr = this.stonePowderArr;
+					} else if (type == 'jsdps') {
+						typeArr = this.warningtTapeArr;
+					} else if (type == 'hth') {
+						typeArr = this.photosAfterArr;
+					}
 					uni.previewImage({
 						current: index,
-						urls: this.imgArr,
+						urls: typeArr,
 					})
 
 				},
-				remove(index) {
+				remove(index, type) {
+
 					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;
+								if (type == 'other') {
+									this.imgArr.splice(index, 1)
+									if (this.imgArr.length <= 0) {
+										this.photo = true;
+									}
+								} else if (type == 'sfht') {
+									this.stonePowderArr.splice(index, 1)
+									if (this.stonePowderArr.length <= 0) {
+										this.photo = true;
+									}
+								} else if (type == 'jsdps') {
+									this.warningtTapeArr.splice(index, 1)
+									if (this.warningtTapeArr.length <= 0) {
+										this.photo = true;
+									}
+								} else if (type == 'hth') {
+									this.photosAfterArr.splice(index, 1)
+									if (this.photosAfterArr.length <= 0) {
+										this.photo = true;
+									}
 								}
 							}
 						}
 					})
 				},
-				choose() {
+				choose(e) {
 					let _this = this;
+
 					uni.showActionSheet({
 						title: '上传',
 						itemList: ['图片', '视频'],
 						success: (res) => {
 							console.log(res)
 							if (res.tapIndex == 0) {
-								this.chooseimage()
+								this.chooseimage(e)
 							} else {
-								this.choosevideo()
+								this.choosevideo(e)
 							}
 						}
 					})
+
 				},
-				chooseimage() {
+				chooseimage(e) {
 
 					let _this = this;
 					console.log('图片', _this.headers)
@@ -417,11 +467,17 @@
 											_this.$modal.msg(data.msg)
 										} else {
 											if (_this.progress === 100) {
-												console.log('_this.progress', _this.progress)
-												//console.log('data----', data)data
-												console.log('res--', res)
-												_this.imgArr.push(data.data.url)
-												console.log('imgArr', _this.imgArr)
+
+												if (e == 'other') {
+													_this.imgArr.push(data.data.url)
+												} else if (e == 'sfht') {
+													_this.stonePowderArr.push(data.data.url)
+												} else if (e == 'jsdps') {
+													_this.warningtTapeArr.push(data.data.url)
+												} else if (e == 'hth') {
+													_this.photosAfterArr.push(data.data.url)
+												}
+
 												_this.$modal.msg('上传成功!')
 												_this.photo = false;
 											}
@@ -440,17 +496,16 @@
 								});
 								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)
+
 									}
 								});
 
@@ -460,7 +515,7 @@
 					})
 				},
 
-				choosevideo() {
+				choosevideo(e) {
 					let _this = this;
 					console.log('视频')
 					uni.chooseVideo({
@@ -481,9 +536,17 @@
 									} else {
 										//上传成功
 										if (_this.progress === 100) {
-											console.log('_this.progress', _this.progress)
-											_this.imgArr.push(data.data.url)
-											console.log('imgArr', _this.imgArr)
+
+											if (e == 'other') {
+												_this.imgArr.push(data.data.url)
+											} else if (e == 'sfht') {
+												_this.stonePowderArr.push(data.data.url)
+											
+											} else if (e == 'jsdps') {
+												_this.warningtTapeArr.push(data.data.url)
+											} else if (e == 'hth') {
+												_this.photosAfterArr.push(data.data.url)
+											}
 											_this.$modal.msg('上传成功!')
 											_this.photo = false;
 										}
@@ -518,40 +581,15 @@
 
 				},
 
-				showActionsheet() {
-					//分段打压是否合格
-
-					getDicts("sys_yes_no").then(response => {
-
-						this.dictOptions = response.data;
-						let array = [];
-						this.dictOptions.forEach((item, index) => {
-							array.push(item.dictLabel)
-
-						});
-
-						uni.showActionSheet({
-							itemList: array,
-							success: (res) => {
-								// console.log('选择了第' + (res.tapIndex + 1) + '个选项');
-								// console.log(this.dictOptions[res.tapIndex].dictValue)
-								this.isOkValue = this.dictOptions[res.tapIndex].dictValue;
-								this.isOkLabel = this.dictOptions[res.tapIndex].dictLabel;
-							},
-							fail: (err) => {
-								console.log('弹窗取消');
-							}
-						});
 
-					});
-				},
 				pickerShow(e) {
 					this.type = e; //赋值类型
 					if (e == 'cz') { //材质
 						this.open = true;
-						getEnginMaterialQualityList("民用工程").then(response => {
-							this.selectList = response.data;
-						});
+						getEnginMaterialQualityList("民用工程", this.objValue.enginType, this.objValue.enginClassification).then(
+							response => {
+								this.selectList = response.data;
+							});
 
 					} else if (e == 'gg') { //规格
 						if (this.isEmpty(this.materialValue.id)) {
@@ -746,29 +784,28 @@
 					// } 
 
 
-					if (this.objValue.enginClassValue == '回填' && this.isEmpty(this.BackfillingTime)) {
-						this.$modal.msg("请选择回填时间")
-						return
-					}
-					if (this.objValue.enginClassValue == '打压' && this.isEmpty(this.isOkValue)) {
-						this.$modal.msg("请选择分段打压是否合格")
-						return
-					}
-					if (this.isEmpty(this.materialValue.id)) {
-						this.$modal.msg("请选择材质")
-						return
-					}
-					if (this.isEmpty(this.specificationValue.id)) {
-						this.$modal.msg("请选择规格")
-						return
-					}
-					if (this.isEmpty(this.inputNumberValue)) {
-						this.$modal.msg("请输入数量")
-						return
-					}
-					if (this.imgArr.length <= 0) {
-						this.$modal.msg('请上传照片或视频')
-						return
+					if (this.objValue.enginClassValue == '回填') {
+						if (this.stonePowderArr.length <= 0) {
+							this.$modal.msg('请上传石粉回填照片')
+							return
+						}
+						if (this.warningtTapeArr.length <= 0) {
+							this.$modal.msg('请上传警示带铺设照片')
+							return
+						}
+						if (this.photosAfterArr.length <= 0) {
+							this.$modal.msg('请上传回填后照片')
+							return
+						}
+
+					} else {
+
+						if (this.imgArr.length <= 0) {
+							this.$modal.msg('请上传照片或视频')
+							return
+						}
+
+
 					}
 					if (this.loading == false) {
 						this.$modal.msg('照片或视频未上传完毕,无法提交!')
@@ -804,19 +841,13 @@
 						zEngineeringNodeBo: {
 							type: this.objValue.enginClassValue, //写死 上一页面传过来的  (拆旧管等 字典值)
 							zEngineeringInfoBo: {
-								//constructAccordingDrawings: this.isCheck, //是否按图纸施工
-								segmentedCompressionQualified: this.isOkValue, // 分段打压是否台格
 								zEngiineeringPhotoBoList: this.imgArr, //照片集合
+								stonePowder: this.stonePowderArr,
+								warningtTape: this.warningtTapeArr,
+								photosAfter: this.photosAfterArr,
 								constructTime: this.time, //施工时间
-								backfillTime: this.BackfillingTime, // 回填时间
 								remark: this.projectContent, //施工内容
-								// headName: this.user.nickName, // 负责人名称
-								// headPhone: this.user.phonenumber, // 负责人电话
-								zEngineeringMaterialBo: [{
-									materialQuality: this.materialValue.id, //材质
-									specifications: this.specificationValue.id, //规格
-									number: this.inputNumberValue //数量
-								}]
+
 							}
 
 						}

+ 104 - 138
pages/oldrenovation/overhead/newoverhead.vue

@@ -1,34 +1,18 @@
 	<template>
 		<scroll-view>
 			<view class="background">
-				<!-- <view class="uni-list">
-					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
-						<view>
-							工程周期
-						</view>
-						<view v-if="this.isEmpty(this.projectValue.dictValue)" style="margin-top: 10;"
-							@click="pickerShow('gczq')">
-							<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('gczq')">
-							<span style="color: black;">{{projectValue.dictLabel}}</span>
-							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-						</view>
 
-					</view>
-				</view> -->
 				<view class="uni-list">
 					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 						<view>
 							行政区
 						</view>
 						<view v-if="this.isEmpty(this.XZQValue.dictValue)" style="margin-top: 10;"
-							@click="pickerShow('xzq')">
+							@click="pickerShow('xzq',0)">
 							<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('xzq')">
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('xzq',0)">
 							<span style="color: black;">{{XZQValue.dictLabel}}</span>
 							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 						</view>
@@ -42,11 +26,11 @@
 						</view>
 
 						<view v-if="this.isEmpty(this.XQValue.id)" class="uni-list-cell-db" style="margin-top: 10;"
-							@click="pickerShow('xq')">
+							@click="pickerShow('xq',0)">
 							<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('xq')">
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('xq',0)">
 							<span style="color: black;">{{XQValue.name}}</span>
 							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 						</view>
@@ -58,11 +42,11 @@
 							楼栋
 						</view>
 						<view v-if="this.isEmpty(this.LDValue.id)" class="uni-list-cell-db" style="margin-top: 10;"
-							@click="pickerShow('ld')">
+							@click="pickerShow('ld',0)">
 							<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('ld')">
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('ld',0)">
 							<span style="color: black;">{{LDValue.name}}</span>
 							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 						</view>
@@ -74,11 +58,11 @@
 							单元
 						</view>
 						<view v-if="this.isEmpty(this.DYValue.id)" class="uni-list-cell-db" style="margin-top: 10;"
-							@click="pickerShow('dy')">
+							@click="pickerShow('dy',0)">
 							<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('dy')">
+						<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('dy',0)">
 							<span style="color: black;">{{DYValue.name}}</span>
 							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 						</view>
@@ -116,30 +100,8 @@
 							</view>
 						</view>
 
-						<view class="container" v-if="objValue.enginClassValue=='回填'">
 
-							<view>
-								回填时间
-							</view>
-							<view style="margin-top: 10;" @click="openDatetimePicker('ht')">
-								<span style="color: black;">{{BackfillingTime ? BackfillingTime:'请选择回填时间'}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-						</view>
-						<view class="container" v-else-if="objValue.enginClassValue=='打压'">
 
-							<view>
-								分段打压是否合格
-							</view>
-							<view v-if="this.isEmpty(this.isOkValue)" style="margin-top: 10;" @click="showActionsheet()">
-								<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="showActionsheet()">
-								<span style="color: black;">{{isOkLabel}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-						</view>
 						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 							<view class="uni-common-mt" style="width: 100%;">
 								<text class="uni-title uni-common-pl">施工内容</text>
@@ -152,42 +114,40 @@
 							</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 class="container" style="border-bottom: 1px solid #f8f8f8;">
+						<view v-for="(a,index) in czggslList" :key="index" class="num-style">
+							<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+								<view>
+									材质
+								</view>
+								<view class="uni-list-cell-db" @click="pickerShow('cz',index)">
+									<span style="color: black;">{{a.cz.id==''?'请选择材质':a.cz.name}}</span>
+									<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+								</view>
 
-							<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 class="container" style="border-bottom: 1px solid #f8f8f8;">
+
+								<view>
+									规格
+								</view>
+
+								<view class="uni-list-cell-db" @click="pickerShow('gg',index)">
+									<span style="color: black;">{{a.gg.id==''?'请选择规格':a.gg.name}}</span>
+									<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+								</view>
 							</view>
-							<view v-else class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('gg')">
-								<span style="color: black;">{{specificationValue.name}}</span>
+							<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+
+								<text>数量</text>
+								<input class="uni-input" type="number" v-model="a.sl" placeholder="请填写数量" maxlength="11"
+									style="margin-left: 10px;text-align: right;"></input>
 								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
 							</view>
+							<button v-if="index!=0" @click="this.czggslList.splice(index,1)" class="sc-btn">删除</button>
 						</view>
-						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
-
-							<text>数 量</text>
-							<input class="uni-input" type="number" v-model="inputNumberValue" placeholder="请填写数量"
-								maxlength="11" style="margin-left: 10px;text-align: right;"></input>
-						</view>
+						<button @click="this.czggslList.push({cz:{id: '',name: ''},gg:{id: '',name: ''},sl:''})"
+							class="tj-btn">添加</button>
 
 					</view>
 
@@ -261,6 +221,19 @@
 					headers: {
 						Authorization: "Bearer " + getToken()
 					},
+					zEngineeringMaterialBo: [], //给后台传的值  用料列表
+					czggslList: [{
+						cz: {
+							id: '',
+							name: ''
+						},
+						gg: {
+							id: '',
+							name: ''
+						},
+						sl: ''
+					}, ],
+					SelectIndex: '', //选择的索引值
 					reviewStatus: '', //是否可以点击
 					startDate: '2022-02-04',
 					endDate: '2025-02-04',
@@ -274,7 +247,9 @@
 					imgArr: [],
 					XQValue: {},
 					XZQValue: {},
-					projectValue: {'dictValue':'1'},
+					projectValue: {
+						'dictValue': '0'
+					},
 					LevelValue: {},
 					isOkValue: '', //分段打压是否合格
 					isOkLabel: '', //分段打压是否合格label
@@ -543,45 +518,22 @@
 
 				},
 
-				showActionsheet() {
-					//分段打压是否合格
-
-					getDicts("sys_yes_no").then(response => {
-
-						this.dictOptions = response.data;
-						let array = [];
-						this.dictOptions.forEach((item, index) => {
-							array.push(item.dictLabel)
-
-						});
-
-						uni.showActionSheet({
-							itemList: array,
-							success: (res) => {
-								// console.log('选择了第' + (res.tapIndex + 1) + '个选项');
-								// console.log(this.dictOptions[res.tapIndex].dictValue)
-								this.isOkValue = this.dictOptions[res.tapIndex].dictValue;
-								this.isOkLabel = this.dictOptions[res.tapIndex].dictLabel;
-							},
-							fail: (err) => {
-								console.log('弹窗取消');
-							}
-						});
 
-					});
-				},
-				pickerShow(e) {
+				pickerShow(e, index) {
+					this.SelectIndex = index;
 					this.type = e; //赋值类型
 					if (e == 'cz') { //材质
 						this.open = true;
-						getEnginMaterialQualityList("民用工程").then(response => {
-							this.selectList = response.data;
-						});
+						getEnginMaterialQualityList("民用工程", this.objValue.enginType, this.objValue.enginClassification).then(
+							response => {
+								this.selectList = response.data;
+							});
 
 					} else if (e == 'gg') { //规格
-						if (this.isEmpty(this.materialValue.id)) {
-							this.$modal.msg('请选择材质')
 
+						if (this.isEmpty(this.czggslList[index].cz.id)) {
+							this.$modal.msg('请选择材质')
+							//	this.czggslList[index].cz = this.materialValue.id
 						} else {
 							this.open = true;
 							this.selectList = this.materialList;
@@ -672,13 +624,18 @@
 					if (this.type == 'cz') {
 						this.materialValue = item;
 						this.specificationValue = ''; //重置规格
+						this.czggslList[this.SelectIndex].gg.id = ''
+						this.czggslList[this.SelectIndex].gg.name = ''
 						//根据材质ID 获取规格数据
 						getEnginSpecificationsList(item.id).then(res => {
 							this.materialList = res.data
+							this.czggslList[this.SelectIndex].cz.id = this.materialValue.id
+							this.czggslList[this.SelectIndex].cz.name = this.materialValue.name
 						})
 					} else if (this.type == 'gg') {
 						this.specificationValue = item;
-
+						this.czggslList[this.SelectIndex].gg.id = this.specificationValue.id
+						this.czggslList[this.SelectIndex].gg.name = this.specificationValue.name
 					} else if (this.type == 'xq') {
 						this.XQValue = item;
 						//根据小区id 获取楼栋数据
@@ -786,25 +743,33 @@
 					}
 
 
-					if (this.objValue.enginClassValue == '回填' && this.isEmpty(this.BackfillingTime)) {
-						this.$modal.msg("请选择回填时间")
-						return
-					}
-					if (this.objValue.enginClassValue == '打压' && this.isEmpty(this.isOkValue)) {
-						this.$modal.msg("请选择分段打压是否合格")
-						return
-					}
-					if (this.isEmpty(this.materialValue.id)) {
-						this.$modal.msg("请选择材质")
-						return
-					}
-					if (this.isEmpty(this.specificationValue.id)) {
-						this.$modal.msg("请选择规格")
-						return
-					}
-					if (this.isEmpty(this.inputNumberValue)) {
-						this.$modal.msg("请输入数量")
-						return
+					try {
+						//console.log("刚开始", this.czggslList);
+						this.czggslList.forEach((list) => {
+							if (this.isEmpty(list.cz.id)) {
+								this.$modal.msg('材质不能为空')
+
+
+								throw new Error('End Loop')
+
+							}
+							if (this.isEmpty(list.gg.id)) {
+								this.$modal.msg('规格不能为空')
+								throw new Error('End Loop')
+
+							}
+							if (this.isEmpty(list.sl)) {
+								this.$modal.msg('数量不能为空')
+
+								throw new Error('End Loop')
+
+							}
+
+
+
+						})
+					} catch (e) {
+						if (e.message === 'End Loop') throw e
 					}
 					if (this.imgArr.length <= 0) {
 						this.$modal.msg('请上传照片或视频')
@@ -814,6 +779,16 @@
 						this.$modal.msg('照片或视频未上传完毕,无法提交!')
 						return
 					}
+					this.zEngineeringMaterialBo = [];
+					this.czggslList.forEach((list) => {
+							this.zEngineeringMaterialBo.push({
+								materialQuality: list.cz.id,
+								specifications: list.gg.id,
+								number: list.sl
+							})
+						}),
+
+						console.log("数据", this.zEngineeringMaterialBo)
 					//提交
 					this.onsubmit();
 
@@ -844,19 +819,10 @@
 						zEngineeringNodeBo: {
 							type: this.objValue.enginClassValue, //写死 上一页面传过来的  (拆旧管等 字典值)
 							zEngineeringInfoBo: {
-								//constructAccordingDrawings: this.isCheck, //是否按图纸施工
-								segmentedCompressionQualified: this.isOkValue, // 分段打压是否台格
 								zEngiineeringPhotoBoList: this.imgArr, //照片集合
 								constructTime: this.time, //施工时间
-								backfillTime: this.BackfillingTime, // 回填时间
 								remark: this.projectContent, //施工内容
-								// headName: this.user.nickName, // 负责人名称
-								// headPhone: this.user.phonenumber, // 负责人电话
-								zEngineeringMaterialBo: [{
-									materialQuality: this.materialValue.id, //材质
-									specifications: this.specificationValue.id, //规格
-									number: this.inputNumberValue //数量
-								}]
+								zEngineeringMaterialBo: this.zEngineeringMaterialBo
 							}
 
 						}

+ 9 - 154
pages/oldrenovation/overhead/overhead.vue

@@ -1,23 +1,7 @@
 	<template>
 		<scroll-view>
 			<view class="background">
-				<!-- <view class="uni-list">
-					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
-						<view>
-							工程周期
-						</view>
-						<view v-if="this.isEmpty(this.projectValue.dictValue)" style="margin-top: 10;"
-							@click="pickerShow('gczq')">
-							<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('gczq')">
-							<span style="color: black;">{{projectValue.dictLabel}}</span>
-							<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-						</view>
-
-					</view>
-				</view> -->
+				
 				<view class="uni-list">
 					<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 						<view>
@@ -116,30 +100,8 @@
 							</view>
 						</view>
 
-						<view class="container" v-if="objValue.enginClassValue=='回填'">
-
-							<view>
-								回填时间
-							</view>
-							<view style="margin-top: 10;" @click="openDatetimePicker('ht')">
-								<span style="color: black;">{{BackfillingTime ? BackfillingTime:'请选择回填时间'}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-						</view>
-						<view class="container" v-else-if="objValue.enginClassValue=='打压'">
-
-							<view>
-								分段打压是否合格
-							</view>
-							<view v-if="this.isEmpty(this.isOkValue)" style="margin-top: 10;" @click="showActionsheet()">
-								<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="showActionsheet()">
-								<span style="color: black;">{{isOkLabel}}</span>
-								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
-							</view>
-						</view>
+					
+					
 						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
 							<view class="uni-common-mt" style="width: 100%;">
 								<text class="uni-title uni-common-pl">施工内容</text>
@@ -152,43 +114,9 @@
 							</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 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>
-							<input class="uni-input" type="number" v-model="inputNumberValue" placeholder="请填写数量"
-								maxlength="11" style="margin-left: 10px;text-align: right;"></input>
-						</view>
-
+						
+					
+						
 					</view>
 
 					<view class="align-items" style="margin-top: 20px;margin-bottom: 20px;">
@@ -274,7 +202,7 @@
 					imgArr: [],
 					XQValue: {},
 					XZQValue: {},
-					projectValue: {'dictValue':'1'},
+					projectValue: {'dictValue':'0'},
 					LevelValue: {},
 					isOkValue: '', //分段打压是否合格
 					isOkLabel: '', //分段打压是否合格label
@@ -543,52 +471,9 @@
 
 				},
 
-				showActionsheet() {
-					//分段打压是否合格
-
-					getDicts("sys_yes_no").then(response => {
-
-						this.dictOptions = response.data;
-						let array = [];
-						this.dictOptions.forEach((item, index) => {
-							array.push(item.dictLabel)
-
-						});
-
-						uni.showActionSheet({
-							itemList: array,
-							success: (res) => {
-								// console.log('选择了第' + (res.tapIndex + 1) + '个选项');
-								// console.log(this.dictOptions[res.tapIndex].dictValue)
-								this.isOkValue = this.dictOptions[res.tapIndex].dictValue;
-								this.isOkLabel = this.dictOptions[res.tapIndex].dictLabel;
-							},
-							fail: (err) => {
-								console.log('弹窗取消');
-							}
-						});
-
-					});
-				},
 				pickerShow(e) {
 					this.type = e; //赋值类型
-					if (e == 'cz') { //材质
-						this.open = true;
-						getEnginMaterialQualityList("民用工程").then(response => {
-							this.selectList = response.data;
-						});
-
-					} else if (e == 'gg') { //规格
-						if (this.isEmpty(this.materialValue.id)) {
-							this.$modal.msg('请选择材质')
-
-						} else {
-							this.open = true;
-							this.selectList = this.materialList;
-
-						}
-
-					} else if (e == 'gczq') { //工程周期
+					 if (e == 'gczq') { //工程周期
 						this.openDict = true;
 						getDicts("engin_cycle").then(response => {
 							this.dictOptions = response.data;
@@ -669,17 +554,7 @@
 					// this.address = item.communityName;
 					this.open = false;
 
-					if (this.type == 'cz') {
-						this.materialValue = item;
-						this.specificationValue = ''; //重置规格
-						//根据材质ID 获取规格数据
-						getEnginSpecificationsList(item.id).then(res => {
-							this.materialList = res.data
-						})
-					} else if (this.type == 'gg') {
-						this.specificationValue = item;
-
-					} else if (this.type == 'xq') {
+					 if (this.type == 'xq') {
 						this.XQValue = item;
 						//根据小区id 获取楼栋数据
 						this.LDValue = ''; //重置楼栋数据
@@ -786,26 +661,6 @@
 					}
 
 
-					if (this.objValue.enginClassValue == '回填' && this.isEmpty(this.BackfillingTime)) {
-						this.$modal.msg("请选择回填时间")
-						return
-					}
-					if (this.objValue.enginClassValue == '打压' && this.isEmpty(this.isOkValue)) {
-						this.$modal.msg("请选择分段打压是否合格")
-						return
-					}
-					if (this.isEmpty(this.materialValue.id)) {
-						this.$modal.msg("请选择材质")
-						return
-					}
-					if (this.isEmpty(this.specificationValue.id)) {
-						this.$modal.msg("请选择规格")
-						return
-					}
-					if (this.isEmpty(this.inputNumberValue)) {
-						this.$modal.msg("请输入数量")
-						return
-					}
 					if (this.imgArr.length <= 0) {
 						this.$modal.msg('请上传照片或视频')
 						return

+ 28 - 11
pages/work/index.vue

@@ -357,18 +357,35 @@ border-radius: 50%; margin-right: 20rpx;">旧</view>
 					}
 					// 庭院
 					else if (this.enginClassification == 'courtyard') {
-						console.log(this.enginClassValue)
-						uni.navigateTo({
-							url: '/pages/oldrenovation/courtyard/courtyard?params=' + encodeURIComponent(JSON
-								.stringify(
-									obj))
-						})
+						if (this.enginClassValue == '下沟') {
+							uni.navigateTo({
+								url: '/pages/oldrenovation/courtyard/courtyard?params=' + encodeURIComponent(
+									JSON
+									.stringify(
+										obj))
+							})
+						} else {
+							uni.navigateTo({
+								url: '/pages/oldrenovation/courtyard/newcourtyard?params=' + encodeURIComponent(
+									JSON
+									.stringify(
+										obj))
+							})
+						}
 					} else if (this.enginClassification == 'overhead') { //架空
-						uni.navigateTo({
-							url: '/pages/oldrenovation/overhead/overhead?params=' + encodeURIComponent(JSON
-								.stringify(
-									obj))
-						})
+						if (this.enginClassValue == '全貌照片') {
+							uni.navigateTo({
+								url: '/pages/oldrenovation/overhead/newoverhead?params=' + encodeURIComponent(JSON
+									.stringify(
+										obj))
+							})
+						} else {
+							uni.navigateTo({
+								url: '/pages/oldrenovation/overhead/overhead?params=' + encodeURIComponent(JSON
+									.stringify(
+										obj))
+							})
+						}
 					}
 				} else if (this.projectType == 'GongYe') {
 					console.log("工业", item)