Browse Source

市政工程

zhanghongrui 11 months ago
parent
commit
69bddbc9bd

+ 3 - 3
api/common.js

@@ -48,10 +48,10 @@ export function getHistoryTopTubeDetails(id, name) {
 		'method': 'get',
 	})
 }
-// 工业工程修改
+// 工业工程修改(新)
 export function Putengineering(engineering) {
 	return request({
-		'url': '/zdsz/engineeringIndustry/updateNodeByBo',
+		'url': '/zdsz/engineeringIndustry',
 		'method': 'put',
 		'data': engineering
 	})
@@ -339,7 +339,7 @@ export function getObtainRoomcCompletionInformationList(param) {
 		'data': param
 	})
 }
-// 新增(提交)市政工程
+// 新增(提交)市政工程(新)
 export function submitMunicipalData(param) {
 	return request({
 		'url': '/zdsz/engineeringIndustry',

+ 374 - 0
components/bottomSheet/bottomSheetMoreNew.vue

@@ -0,0 +1,374 @@
+<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">
+
+							<view class="uni-media-list-text-top">
+								<view class="tit-text">施工时间:</view>
+								<view class="normal-text">{{value.constructTime}}</view>
+							</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>
+								</view>
+							</view>
+							<view class="cz-style" v-for="(a,index) in value.zEngineeringMaterialBo" :key="index"
+								v-if="title=='焊接、防腐'||title=='下管'||title=='沟下连头'">
+
+								<view class="uni-media-list-text-top" style=" ">
+									<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>
+
+
+
+								<view class="uni-media-list-text-top" style=" ">
+									<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="normal-text">{{value.constructUser}}</view>
+							</view>
+							<view class="uni-media-list-text-top">
+								<view class="tit-text">负责人联系电话:</view>
+								<view class="normal-text">{{value.constructPhone}}</view>
+							</view>
+
+							<view v-if="title!='回填、撤场'">
+								<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 v-else>
+								<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.zEngiineeringPhotoBoListOne" :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.zEngiineeringPhotoBoListOne)">
+											</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.zEngiineeringPhotoBoListTwo" :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.zEngiineeringPhotoBoListTwo)">
+											</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.zEngiineeringPhotoBoListThree" :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.zEngiineeringPhotoBoListThree)">
+											</image>
+										</view>
+										<view v-else>
+											<video :src="item"
+												style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+										</view>
+									</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</scroll-view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		props: {
+			data: {
+				type: Object,
+				default: {}
+			},
+
+			TitleType: {
+				type: String
+			}
+
+		},
+		created() {
+			this.getParamsData();
+		},
+		watch: {
+			data(data) {
+				this.getParamsData();
+			}
+		},
+		data() {
+			return {
+				outPutData: {},
+				historyList: [], //历史数据
+				historyPhotoList: [], //历史图片数据
+				shareState: false,
+				title: '',
+			};
+		},
+		methods: {
+			// isEmpty(str) {
+
+			// 	return (!str || 0 === str.length);
+
+			// },
+
+			showPhoto(index, list) {
+				let newArr = [];
+				list.forEach((item, index) => {
+					if (item.substring(item.length - 3) == 'png' || item.substring(item.length - 3) == 'jpg' ||
+						item.substring(item.length - 4) == 'jpeg') {
+						newArr.push(item)
+					}
+				});
+				uni.previewImage({
+					current: index,
+					urls: newArr,
+				})
+
+			},
+			getParamsData() {
+				var selectData = this.data;
+				this.outPutData = selectData;
+
+				this.title = this.TitleType;
+				this.historyList = selectData.zEngineeringNodeBo.zEngineeringInfoBoList;
+
+
+
+
+			},
+			// 显示分享
+			handleShowShare() {
+				this.shareState = true;
+			},
+			// 隐藏分享
+			handleHiddenShare() {
+				this.shareState = false;
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.uni-media-list-body {
+		border: 1px solid #eee;
+		border-radius: 40rpx;
+		margin: 10rpx 30rpx 20rpx;
+		padding: 10rpx 0 40rpx;
+		box-shadow: 0 0 5px #eee;
+	}
+
+	.share {
+		width: 100%;
+		height: 100%;
+
+	}
+
+	.tit-text {
+		color: #4f535a;
+		margin-right: 20rpx;
+	}
+
+	.normal-text {}
+
+	.cz-style {
+		background: #e8f4f9;
+		margin: 20rpx;
+		padding: 10rpx;
+		border-radius: 20rpx;
+		border: 1px solid #d4e3f0;
+	}
+
+	.uni-media-list-text-top {
+		font-size: 14px;
+		color: #696969;
+		padding: 20rpx 20rpx;
+		border-bottom: 1px solid #eee;
+		display: flex;
+		align-items: center;
+	}
+
+	.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: 58vh;
+	}
+
+	// 离开分享动画
+	.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: center;
+			margin: 30rpx 0;
+			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>

+ 2 - 2
config.js

@@ -1,11 +1,11 @@
 // 应用全局配置
 module.exports = {
 
-	baseUrl: 'https://www.xcx.cczdsz.cn/prod-api',
+	//baseUrl: 'https://www.xcx.cczdsz.cn/prod-api',
 	//baseUrl: 'http://192.168.4.88:8080',
 	// baseUrl: 'http://192.168.4.23:8080',
 	//baseUrl: 'http://192.168.4.20:8080',
-	// baseUrl: 'http://192.168.4.6:8080',
+	baseUrl: 'http://192.168.4.6:8080',
 
 	baseIconUrl: 'https://www.xcx.cczdsz.cn/app/images/',
 	// 应用信息

+ 5 - 1
manifest.json

@@ -60,7 +60,11 @@
             "subPackages" : true
         },
         "usingComponents" : true,
-        "permission" : {},
+        "permission" : {
+            "scope.userLocation" : {
+                "desc" : ""
+            }
+        },
         "lazyCodeLoading" : "requiredComponents"
     },
     "vueVersion" : "2",

+ 5 - 0
package.json

@@ -0,0 +1,5 @@
+{
+  "devDependencies": {
+    "terser-webpack-plugin": "^5.3.10"
+  }
+}

+ 7 - 0
pages.json

@@ -168,6 +168,13 @@
 			}
 		},
 		{
+			"path": "pages/collision/collisionMouth",
+			"style": {
+				"navigationBarTitleText": "碰口作业工程",
+				"enablePullDownRefresh": false
+			}
+		},
+		{
 			"path": "pages/gas_sealing_project/gas_sealing_project",
 			"style": {
 				"navigationBarTitleText": "带气封堵施工",

+ 661 - 0
pages/collision/collisionMouth.vue

@@ -0,0 +1,661 @@
+	<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.projectName.id)" style="margin-top: 10;"
+							@click="pickerShow('gcmc',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('gcmc',0)">
+							<span style="color: black;">{{projectName.name}}</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;">
+
+						<text>地点</text>
+						<input class="uni-input" type="number" v-model="address" disabled="true" maxlength="11"
+							style="margin-left: 10px;text-align: right;"></input>
+					</view>
+				</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>
+					<view class="uni-list">
+						<view
+							style="font-size: 16px;margin-left: 10px;margin-top: 10px;display: flex; justify-content: space-between;margin-bottom: 10px;">
+							{{objValue.value}}
+
+							<span
+								style="color: blue;font-size: 14px;  display: flex;justify-content:flex-end; margin-right: 10px;"
+								@click="history">历史</span>
+						</view>
+						<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+
+							<view>
+								施工时间
+							</view>
+							<view @click="openDatetimePicker()">
+								<span style="color: black;">{{time}}</span>
+								<image :src="loadImgSrc('icon_right.png')" class="to-right-icon"></image>
+							</view>
+						</view>
+						<view class="uni-list" v-if="objValue.value=='管道压力'||objValue.value=='原有管线压力'">
+							<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+
+								<text>{{objValue.value}}</text>
+								<input class="uni-input" type="digit" v-model="pipePressure" :placeholder="placeholder"
+									maxlength="100" style="margin-left: 10px;text-align: right;"></input>
+							</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>
+								<view style="width: 100%;box-sizing: border-box;">
+									<textarea class="textarea" placeholder="请输入施工内容" maxlength="255"
+										placeholder-style="padding: 10rpx;"
+										style="width: 100%;height: 100%;border: 1rpx solid #cccccc; border-radius: 15rpx;padding: 10rpx;line-height:normal;"
+										auto-height v-model="projectContent"></textarea>
+								</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('other')">
+								</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,'other')">
+										</image>
+									</view>
+									<view v-else>
+										<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
+									</view>
+									<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>
+									</view>
+								</view>
+							</view>
+						</view>
+
+
+					</view>
+				</view>
+			</view>
+			<view class="action-btn">
+				<button @click="submit" class="btn cu-btn block bg-blue lg round">确认上传</button>
+			</view>
+
+			<bottom-sheet ref="refShare" :data="historyList" :TitleType="objValue.value"></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>
+	</template>
+
+
+
+	<script>
+		import SelectPicker from '../../components/selectPicker/select_picker.vue'
+		import bottomSheet from '../../components/bottomSheet/bottomSheetMore.vue'
+
+		import {
+			getDicts
+		} from "@/api/system/dict/data";
+		import {
+			Submitengineering,
+		} from '@/api/common'
+		import {
+			getToken
+		} from '../../utils/auth';
+
+		export default {
+			components: {
+				SelectPicker,
+				bottomSheet,
+			},
+
+			data() {
+
+
+				return {
+					historyList: {}, //历史数据
+					show_loding: false,
+					popupText: '', //对话框内容
+					titleText: '',
+					cancelText: '',
+					confirmText: '',
+					conLists: [],
+					headers: {
+						Authorization: "Bearer " + getToken()
+					},
+					time: '', //施工时间
+
+					loading: false,
+					loadingFile: false,
+					open: false,
+					objValue: '', //上一页面传过来的值  新增接口用
+					openDict: false,
+					projectContent: '', //施工内容
+					selectList: [],
+					dictOptions: [],
+					imgArr: [],
+					type: '',
+
+					projectName: '', //工程名称
+
+					createTime: '',
+					address: '',
+					imgHtqArr: [],
+					imgJspsArr: [],
+					imgHthArr: [],
+					pipePressure: '',
+					placeholder: '',
+
+
+				}
+			},
+
+			created() {
+				this.time = this.traversalTime(new Date().getTime()) //在data里定义变量-nowTime
+			},
+
+			onLoad(options) {
+				if ('params' in options) {
+					this.objValue = JSON.parse(decodeURIComponent(options.params));
+					this.placeholder = '请输入' + this.objValue.value;
+				}
+
+
+			},
+			methods: {
+				//判断是否选择
+
+				isEmpty(str) {
+
+					return (!str || 0 === str.length);
+
+				},
+
+				handleSubmit(e) {
+
+					this.time = `${e.year}-${e.month}-${e.day} ${e.hour}:${e.minute}:${e.second}`;
+
+				},
+
+				//获取当前时间
+				traversalTime(timestamp) {
+					//timestamp(时间戳)是整数,否则要parseInt转换
+					let time = new Date(timestamp);
+					let y = time.getFullYear();
+					let m = time.getMonth() + 1;
+					let d = time.getDate();
+					let h = time.getHours();
+					let mm = time.getMinutes();
+					let s = time.getSeconds();
+					return y + '-' + this.addTimes(m) + '-' + this.addTimes(d) + ' ' + this.addTimes(h) + ':' + this.addTimes(
+						mm) + ':' + this.addTimes(s);
+
+
+				},
+				addTimes(m) {
+					return m < 10 ? '0' + m : m
+				},
+				// 打开picker
+				openDatetimePicker() {
+					this.$refs.myPicker.show();
+				},
+
+				// 关闭picker
+				closeDatetimePicker() {
+					this.$refs.myPicker.hide();
+				},
+				pickerShow(e, index) {
+					this.SelectIndex = index;
+					this.type = e; //赋值类型
+					if (e == 'gcmc') { //工程名称
+
+						this.open = true;
+						//请求
+						getengineeringNameList(this.projectType.dictValue, "1", this.objValue.value).then(response => {
+
+							this.selectList = response.data;
+						});
+
+
+					}
+
+
+
+				},
+
+				showPhotoFile(index) {
+
+					uni.previewImage({
+						current: index,
+						urls: this.fileImageArr,
+					})
+
+				},
+
+				showPhoto(index, e) {
+					let typeArr = [];
+					let newArr = [];
+
+					if (e == 'other') {
+						typeArr = this.imgArr;
+					}
+					typeArr.forEach((item, index) => {
+						if (item.substring(item.length - 3) == 'png' || item.substring(item.length - 3) == 'jpg' ||
+							item.substring(item.length - 4) == 'jpeg') {
+							newArr.push(item)
+						}
+					});
+					uni.previewImage({
+						current: index,
+						urls: newArr,
+					})
+
+				},
+
+				remove(index, e) {
+					let _this = this;
+					uni.showModal({
+						title: '提示',
+						content: '是否删除该图片或视频?',
+						success: (res) => {
+							if (res.confirm) {
+								if (e == 'other') {
+									_this.imgArr.splice(index, 1)
+								}
+							}
+						}
+					})
+				},
+				choose(e) {
+					let _this = this;
+					uni.showActionSheet({
+						title: '上传',
+						itemList: ['图片', '视频'],
+						success: (res) => {
+							if (res.tapIndex == 0) {
+								this.chooseimage(e)
+							} else {
+								this.choosevideo(e)
+							}
+						}
+					})
+				},
+				chooseimage(e) {
+
+					let _this = this;
+					uni.chooseImage({
+						sizeType: ['album', 'camera'],
+						success(resp) {
+							resp.tempFiles.forEach((item, index) => {
+								const task = uni.uploadFile({
+									url: _this.$HTTP + `/obs`,
+									filePath: item.path,
+									name: 'file',
+									formData: {},
+									header: _this.headers,
+
+									success: res => {
+
+										let data = JSON.parse(res.data);
+										if (![200].includes(data.code)) {
+											_this.$modal.msg(data.msg)
+										} else {
+											if (_this.progress === 100) {
+												if (e == 'other') {
+													_this.imgArr.push(data.data.url)
+												}
+												_this.$modal.msg('上传成功!')
+											}
+										}
+									},
+									fail: e => {
+										_this.$modal.msg('上传失败!')
+									},
+									complete: res => {
+										uni.hideLoading();
+										_this.uploading = false;
+
+									}
+								});
+								task.onProgressUpdate(res => {
+									_this.progress = res.progress;
+									uni.showLoading({
+										title: '上传中'
+									})
+									if (_this.progress != 100) {
+										_this.loading = false
+									} else {
+										_this.loading = true
+									}
+								});
+
+							})
+
+						},
+					})
+				},
+
+				choosevideo(e) {
+					let _this = this;
+					uni.chooseVideo({
+						sourceType: ['album', 'camera'],
+						maxDuration: 30,
+						success(resp) {
+							const task = uni.uploadFile({
+								url: _this.$HTTP + `/obs`,
+								filePath: resp.tempFilePath,
+								name: 'file',
+								formData: {},
+								header: _this.headers,
+								success: res => {
+									// 判断是否json字符串,将其转为json格式
+									let data = JSON.parse(res.data);
+									if (![200].includes(res.statusCode)) {
+										this.uploadError(index, data);
+									} else {
+										//上传成功
+										if (_this.progress === 100) {
+											if (e == 'other') {
+												_this.imgArr.push(data.data.url)
+											}
+											_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;
+								uni.showLoading({
+									title: '上传中'
+								})
+								if (_this.progress != 100) {
+									_this.loadingFile = false
+								} else {
+									_this.loadingFile = true
+								}
+							});
+
+						},
+					})
+				},
+
+				changeSelectDict(item, index) {
+					this.openDict = false;
+					this.projectName = ''; //重置工程名称
+					this.createTime = '';
+
+
+				},
+				changeSelect(item, index) {
+					this.open = false;
+
+					if (this.type == 'gcmc') {
+						this.projectName = item
+						//根据工程id  获取工程信息
+						uni.showLoading({
+							title: '加载中'
+						})
+						getEngineeringDetails(item.id).then(response => {
+							uni.hideLoading();
+
+							this.createTime = response.data.createTime;
+
+						});
+					}
+				},
+				//关闭弹窗
+				close(e) {
+					this.open = false
+				},
+				//关闭弹窗
+				closeDict(e) {
+					this.openDict = false
+				},
+
+				//历史
+				history() {
+
+					if (this.isEmpty(this.projectName.id)) {
+						this.$modal.msg('请选择工程名称')
+						return
+					}
+					getEngineeringHistoryList2(this.enginId, this.objValue.value).then(response => {
+
+						this.historyList = response.data
+						if (response.data.zEngineeringNodeBo != null) {
+							this.$refs.refShare.handleShowShare();
+						} else {
+							this.$modal.msg("暂无历史信息")
+						}
+					});
+
+				},
+
+				submit() {
+
+
+
+					if (this.isEmpty(this.projectName.id)) {
+						this.$modal.msg('请选择工程名称')
+						return
+					}
+
+
+
+					if (this.imgArr.length <= 0) {
+						this.$modal.msg('请上传照片或视频')
+						return
+					}
+					if (this.loading == false) {
+						this.$modal.msg('照片或视频未上传完毕,无法提交!')
+						return
+					}
+
+					let param = {
+						id: this.enginId, //工程id
+						type: '1', // 用来区分工业工程=1、市政工程=2
+
+						enginName: this.projectName.name, //工程名称
+
+						enginClassification: this.objValue.value, // 工程分类  上一页面传过来的
+						createTime: this.createTime,
+						zEngineeringNodeBo: {
+
+							type: '工业工程', // 写死
+							zEngineeringInfoBo: {
+								//engInfoId: this.infonId,
+								remark: this.projectContent, //施工内容
+								boxBrand: this.imgBoxArr,
+								stonePowder: this.imgSfhtArr,
+								lightning: this.imgFljdArr,
+								bottomLeg: this.imgDtljArr,
+								groundHardening: this.imgHldmyhArr,
+								constructTime: this.time, //施工时间
+								zEngiineeringPhotoBoList: this.imgArr, //照片集合
+							}
+						}
+
+					}
+					uni.showLoading()
+					Submitengineering(param).then(res => {
+						if (res.code == '200') {
+							uni.hideLoading()
+							uni.showToast({
+								title: res.msg,
+								icon: 'none',
+								//显示持续时间为 3秒
+								duration: 2000
+							});
+							setTimeout(function() {
+								uni.navigateBack();
+							}, 1000)
+
+						}
+					})
+
+				}
+
+
+			}
+		}
+	</script>
+
+	<style lang="scss">
+		.container {
+			display: flex;
+			align-items: center;
+			justify-content: space-between;
+			padding: 10px;
+			position: relative;
+
+		}
+
+		.uni-list {
+			border: 1xp solid #eee;
+		}
+
+		.to-right-icon {
+			width: 15px;
+			height: 15px;
+			position: absolute;
+			top: 50%;
+			transform: translateY(-50%);
+		}
+
+		.text {
+			font-size: 16px;
+			color: #333;
+		}
+
+		.background {
+			// border: 15px solid hsla(0, 0%, 100%, .5);
+			background: white;
+			background-clip: padding-box;
+			padding: 20rpx;
+			border-radius: 20rpx;
+			margin: 20rpx;
+			/*从padding开始往外面裁剪背景*/
+
+
+		}
+
+
+		.btn {
+			width: 715rpx;
+			height: 69rpx;
+			background: #79A4F0;
+			border-radius: 6rpx;
+			font-size: 25rpx;
+			font-family: Microsoft YaHei;
+			font-weight: 400;
+			color: #FFFFFF;
+			line-height: 69rpx;
+			margin-top: 40rpx;
+			margin-bottom: 100rpx;
+		}
+
+		.number {
+			display: flex;
+			/* 水平居中显示子元素 */
+			align-items: flex-start;
+			/* 垂直居中显示子元素 */
+			justify-content: space-between;
+			/* 左右间距等于间距大小 */
+			padding: 10px;
+			/* 设置padding以提高视觉效果 */
+		}
+
+		.textarea {
+			margin-top: 10upx;
+			width: 100%;
+			border: 1rpx solid red;
+			min-height: 100upx;
+			line-height: 20px;
+		}
+
+
+		.tj-btn {
+			height: 69rpx;
+			background: #3184f0;
+			border-radius: 6rpx;
+			font-size: 25rpx;
+			font-weight: 400;
+			color: #FFFFFF;
+			line-height: 69rpx;
+			margin: 40rpx 70rpx;
+
+		}
+
+		.sc-btn {
+			height: 69rpx;
+			background: #f0686b;
+			border-radius: 6rpx;
+			font-size: 25rpx;
+			font-weight: 400;
+			color: #FFFFFF;
+			line-height: 69rpx;
+			margin: 40rpx;
+
+		}
+
+		.num-style {
+			background: #e8f4f9;
+			margin: 20rpx;
+			padding: 10rpx;
+			border-radius: 20rpx;
+			border: 1px solid #d4e3f0;
+		}
+	</style>

+ 134 - 203
pages/enginproject/enginproject.vue

@@ -179,52 +179,54 @@
 						</view>
 
 
-						<view v-for="(a,index) in czggslList" :key="index" class="num-style" v-if="objValue.value!='调压柜'">
-							<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 class="container" style="border-bottom: 1px solid #f8f8f8;">
+						<view
+							v-if="objValue.value=='焊接、防腐'||objValue.value=='架空管线'||objValue.value=='下管'||objValue.value=='沟下连头'||objValue.value=='焊接'">
+							<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 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 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>
 
-							<view class="container" style="border-bottom: 1px solid #f8f8f8;">
-								<text>米 数</text>
-								<!-- style="margin-left: 10px;text-align: right;" -->
-								<view style="display: flex; justify-content: right; width: 70%;">
-									<input class="uni-input" type="number" v-model="a.sl.inputIntegerNumberValue"
-										maxlength="6"
-										style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
-									<text style="font-weight:bold;margin-left: 10px;margin-right: 10px;">.</text>
-									<input class="uni-input" type="number" v-model="a.sl.inputDecimalNumberValue"
-										maxlength="1"
-										style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+								<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+									<text>米 数</text>
+									<!-- style="margin-left: 10px;text-align: right;" -->
+									<view style="display: flex; justify-content: right; width: 70%;">
+										<input class="uni-input" type="number" v-model="a.sl.inputIntegerNumberValue"
+											maxlength="6"
+											style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+										<text style="font-weight:bold;margin-left: 10px;margin-right: 10px;">.</text>
+										<input class="uni-input" type="number" v-model="a.sl.inputDecimalNumberValue"
+											maxlength="1"
+											style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+									</view>
 								</view>
+								<button v-if="index!=0" @click="this.czggslList.splice(index,1)" class="sc-btn">删除</button>
 							</view>
-							<button v-if="index!=0" @click="this.czggslList.splice(index,1)" class="sc-btn">删除</button>
-						</view>
-						<button  v-if="objValue.value!='调压柜'" @click="this.czggslList.push({cz:{id: '',name: ''},gg:{id: '',name: ''},sl: {
+							<button @click="this.czggslList.push({cz:{id: '',name: ''},gg:{id: '',name: ''},sl: {
 							inputIntegerNumberValue: '',
 							inputDecimalNumberValue: ''
 						}})" class="tj-btn">添加</button>
 
+						</view>
 					</view>
-
-					<view v-if="objValue.value!='调压柜'">
+					<view v-if="objValue.value!='回填、撤场'">
 						<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;">
@@ -251,47 +253,24 @@
 						</view>
 					</view>
 					<view v-else>
+
 						<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('Box')"
-									v-show="reviewStatus!='1'"></image>
-								<view v-for="(item,index) in imgBoxArr" :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,'Box')">
-										</image>
-									</view>
-									<view v-else>
-										<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
-									</view>
-									<view @click="remove(index,'Box')"
-										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 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('Sfht')"
+									style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('htq')"
 									v-show="reviewStatus!='1'"></image>
-								<view v-for="(item,index) in imgSfhtArr" :key="index" style="position: relative;">
+								<view v-for="(item,index) in imgHtqArr" :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')">
+											@click="showPhoto(index,'htq')">
 										</image>
 									</view>
 									<view v-else>
 										<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
 									</view>
-									<view @click="remove(index,'Sfht')"
+									<view @click="remove(index,'htq')"
 										style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;">
 										<image :src="loadImgSrc('icon_close.png')" style=" width: 15px; height: 15px;">
 										</image>
@@ -300,85 +279,53 @@
 							</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('Fljd')"
+										style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('jsdps')"
 										v-show="reviewStatus!='1'"></image>
-									<view v-for="(item,index) in imgFljdArr" :key="index" style="position: relative;">
+									<view v-for="(item,index) in imgJspsArr" :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,'Fljd')">
+												@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,'Fljd')"
+										<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('Dtlj')" v-show="reviewStatus!='1'"></image>
-										<view v-for="(item,index) in imgDtljArr" :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,'Dtlj')">
-												</image>
-											</view>
-											<view v-else>
-												<video :src="item"
-													style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
-											</view>
-											<view @click="remove(index,'Dtlj')"
-												style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;">
-												<image :src="loadImgSrc('icon_close.png')"
-													style=" width: 15px; height: 15px;">
-												</image>
-											</view>
+							</view>
+							<view class="align-items" style="margin-top: 20px;margin-bottom: 20px;">
+								<view class="container" style="color: #b2b2b2;">*请上传回填后照片</view>
+								<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px; margin-left: 10px;">
+									<image :src="loadImgSrc('updateimg.png')" mode=""
+										style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('hth')"
+										v-show="reviewStatus!='1'"></image>
+									<view v-for="(item,index) in imgHthArr" :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>
-								</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('Hldmyh')" v-show="reviewStatus!='1'"></image>
-										<view v-for="(item,index) in imgHldmyhArr" :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,'Hldmyh')">
-												</image>
-											</view>
-											<view v-else>
-												<video :src="item"
-													style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
-											</view>
-											<view @click="remove(index,'Hldmyh')"
-												style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;">
-												<image :src="loadImgSrc('icon_close.png')"
-													style=" width: 15px; height: 15px;">
-												</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>
@@ -388,6 +335,7 @@
 
 				</view>
 			</view>
+			</view>
 			<view class="action-btn">
 				<button @click="submit" class="btn cu-btn block bg-blue lg round">确认上传</button>
 			</view>
@@ -499,11 +447,15 @@
 					createTime: '',
 					infonId: '', //info id
 
-					imgSfhtArr: [],
-					imgFljdArr: [],
-					imgBoxArr: [],
-					imgDtljArr: [],
-					imgHldmyhArr: [],
+					// imgSfhtArr: [],
+					// imgFljdArr: [],
+					// imgBoxArr: [],
+					// imgDtljArr: [],
+					// imgHldmyhArr: [],
+					imgHtqArr: [],
+					imgJspsArr: [],
+					imgHthArr: [],
+
 
 				}
 			},
@@ -615,21 +567,18 @@
 
 				},
 
-				showPhoto(index, type) {
+				showPhoto(index, e) {
 					let typeArr = [];
 					let newArr = [];
-					if (type == 'other') {
-						typeArr = this.imgArr
-					} else if (type == 'Box') {
-						typeArr = this.imgBoxArr;
-					} else if (type == 'Sfht') {
-						typeArr = this.imgSfhtArr;
-					} else if (type == 'Fljd') {
-						typeArr = this.imgFljdArr;
-					} else if (type == 'Dtlj') {
-						typeArr = this.imgDtljArr;
-					} else if (type == 'Hldmyh') {
-						typeArr = this.imgHldmyhArr;
+
+					if (e == 'other') {
+						typeArr = this.imgArr;
+					} else if (e == 'htq') {
+						typeArr = this.imgHtqArr;
+					} else if (e == 'jsdps') {
+						typeArr = this.imgJspsArr;
+					} else if (e == 'hth') {
+						typeArr = this.imgHthArr;
 					}
 					typeArr.forEach((item, index) => {
 						if (item.substring(item.length - 3) == 'png' || item.substring(item.length - 3) == 'jpg' ||
@@ -645,23 +594,20 @@
 				},
 
 				remove(index, e) {
+					let _this = this;
 					uni.showModal({
 						title: '提示',
 						content: '是否删除该图片或视频?',
 						success: (res) => {
 							if (res.confirm) {
-								if (e == "other") {
-									this.imgArr.splice(index, 1)
-								} else if (e == 'Box') {
-									this.imgBoxArr.splice(index, 1)
-								} else if (e == 'Sfht') {
-									this.imgSfhtArr.splice(index, 1)
-								} else if (e == 'Fljd') {
-									this.imgFljdArr.splice(index, 1)
-								} else if (e == 'Dtlj') {
-									this.imgDtljArr.splice(index, 1)
-								} else if (e == 'Hldmyh') {
-									this.imgHldmyhArr.splice(index, 1)
+								if (e == 'other') {
+									_this.imgArr.splice(index, 1)
+								} else if (e == 'htq') {
+									_this.imgHtqArr.splice(index, 1)
+								} else if (e == 'jsdps') {
+									_this.imgJspsArr.splice(index, 1)
+								} else if (e == 'hth') {
+									_this.imgHthArr.splice(index, 1)
 								}
 							}
 						}
@@ -704,16 +650,12 @@
 											if (_this.progress === 100) {
 												if (e == 'other') {
 													_this.imgArr.push(data.data.url)
-												} else if (e == 'Box') {
-													_this.imgBoxArr.push(data.data.url)
-												} else if (e == 'Sfht') {
-													_this.imgSfhtArr.push(data.data.url)
-												} else if (e == 'Fljd') {
-													_this.imgFljdArr.push(data.data.url)
-												} else if (e == 'Dtlj') {
-													_this.imgDtljArr.push(data.data.url)
-												} else if (e == 'Hldmyh') {
-													_this.imgHldmyhArr.push(data.data.url)
+												} else if (e == 'htq') {
+													_this.imgHtqArr.push(data.data.url)
+												} else if (e == 'jsdps') {
+													_this.imgJspsArr.push(data.data.url)
+												} else if (e == 'hth') {
+													_this.imgHthArr.push(data.data.url)
 												}
 												_this.$modal.msg('上传成功!')
 											}
@@ -768,16 +710,12 @@
 										if (_this.progress === 100) {
 											if (e == 'other') {
 												_this.imgArr.push(data.data.url)
-											} else if (e == 'Box') {
-												_this.imgBoxArr.push(data.data.url)
-											} else if (e == 'Sfht') {
-												_this.imgSfhtArr.push(data.data.url)
-											} else if (e == 'Fljd') {
-												_this.imgFljdArr.push(data.data.url)
-											} else if (e == 'Dtlj') {
-												_this.imgDtljArr.push(data.data.url)
-											} else if (e == 'Hldmyh') {
-												_this.imgHldmyhArr.push(data.data.url)
+											} else if (e == 'htq') {
+												_this.imgHtqArr.push(data.data.url)
+											} else if (e == 'jsdps') {
+												_this.imgJspsArr.push(data.data.url)
+											} else if (e == 'hth') {
+												_this.imgHthArr.push(data.data.url)
 											}
 											_this.$modal.msg('上传成功!')
 											//_this.photo = false;
@@ -1004,9 +942,8 @@
 						return
 					}
 
-					if (this.objValue.value != '调压柜') {
-
-
+					if (this.objValue.value == '焊接、防腐' || this.objValue.value == '架空管线' || this.objValue.value == '下管' || this
+						.objValue.value == '沟下连头' || this.objValue.value == '焊接') {
 
 						try {
 							this.czggslList.forEach((list) => {
@@ -1034,30 +971,36 @@
 						} catch (e) {
 							if (e.message === 'End Loop') throw e
 						}
+						this.zEngineeringMaterialBo = [];
+
+						this.czggslList.forEach((list) => {
+							this.zEngineeringMaterialBo.push({
+								materialQuality: list.cz.id,
+								specifications: list.gg.id,
+								number: list.sl.inputIntegerNumberValue + (list.sl
+									.inputDecimalNumberValue ==
+									'' ?
+									'' : "." + list.sl.inputDecimalNumberValue)
+							})
+						})
+
 					}
 
-					if (this.objValue.value == '调压柜') {
+					if (this.objValue.value == '回填、撤场') {
 
-						if (this.imgBoxArr.length <= 0) {
-							this.$modal.msg('请上传调压箱铭牌照片')
+						if (this.imgHtqArr.length <= 0) {
+							this.$modal.msg('请上传回填前照片')
 							return
 						}
-						if (this.imgSfhtArr.length <= 0) {
-							this.$modal.msg('请上传调压箱内石粉回填照片')
+						if (this.imgJspsArr.length <= 0) {
+							this.$modal.msg('请上传警示带铺设照片')
 							return
 						}
-						if (this.imgFljdArr.length <= 0) {
-							this.$modal.msg('请上传调压箱防雷接地照片')
-							return
-						}
-						if (this.imgDtljArr.length <= 0) {
-							this.$modal.msg('请上传调压箱底腿连接照片')
-							return
-						}
-						if (this.imgHldmyhArr.length <= 0) {
-							this.$modal.msg('请上传调压箱护栏及地面硬化(远景)照片')
+						if (this.imgHthArr.length <= 0) {
+							this.$modal.msg('请上传回填后照片')
 							return
 						}
+
 					} else {
 						if (this.imgArr.length <= 0) {
 							this.$modal.msg('请上传照片或视频')
@@ -1068,18 +1011,6 @@
 						this.$modal.msg('照片或视频未上传完毕,无法提交!')
 						return
 					}
-					this.zEngineeringMaterialBo = [];
-					if (this.objValue.value != '调压柜') {
-						this.czggslList.forEach((list) => {
-							this.zEngineeringMaterialBo.push({
-								materialQuality: list.cz.id,
-								specifications: list.gg.id,
-								number: list.sl.inputIntegerNumberValue + (list.sl.inputDecimalNumberValue ==
-									'' ?
-									'' : "." + list.sl.inputDecimalNumberValue)
-							})
-						})
-					}
 
 					let param = {
 						//files: this.fileArr, //文件
@@ -1100,7 +1031,7 @@
 						enginClassification: this.objValue.value, // 工程分类  上一页面传过来的
 						createTime: this.createTime,
 						zEngineeringNodeBo: {
-							
+
 							type: '工业工程', // 写死
 							zEngineeringInfoBo: {
 								//engInfoId: this.infonId,

+ 149 - 165
pages/municipal/municipal.vue

@@ -177,95 +177,72 @@
 							</view>
 						</view>
 
+						<!-- 焊接、防腐 下管 沟下连头 -->
+						<view v-if="objValue.Label=='焊接、防腐'||objValue.Label=='下管'||objValue.Label=='沟下连头'">
+							<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 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 class="container" style="border-bottom: 1px solid #f8f8f8;">
 
-							</view>
-							<view class="container" style="border-bottom: 1px solid #f8f8f8;">
-
-								<view>
-									规格
-								</view>
+									<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 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>
 
-							<view class="container" style="border-bottom: 1px solid #f8f8f8;">
-								<text>米 数</text>
-								<view style="display: flex; justify-content: right; width: 70%;">
-									<input class="uni-input" type="number" v-model="a.sl.inputIntegerNumberValue"
-										maxlength="6"
-										style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
-									<text style="font-weight:bold;margin-left: 10px;margin-right: 10px;">.</text>
-									<input class="uni-input" type="number" v-model="a.sl.inputDecimalNumberValue"
-										maxlength="1"
-										style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+								<view class="container" style="border-bottom: 1px solid #f8f8f8;">
+									<text>米 数</text>
+									<view style="display: flex; justify-content: right; width: 70%;">
+										<input class="uni-input" type="number" v-model="a.sl.inputIntegerNumberValue"
+											maxlength="6"
+											style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+										<text style="font-weight:bold;margin-left: 10px;margin-right: 10px;">.</text>
+										<input class="uni-input" type="number" v-model="a.sl.inputDecimalNumberValue"
+											maxlength="1"
+											style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+									</view>
 								</view>
+								<button v-if="index!=0" @click="this.czggslList.splice(index,1)" class="sc-btn">删除</button>
 							</view>
-							<button v-if="index!=0" @click="this.czggslList.splice(index,1)" class="sc-btn">删除</button>
-						</view>
-						<button @click="this.czggslList.push({cz:{id: '',name: ''},gg:{id: '',name: ''},sl: {
+							<button @click="this.czggslList.push({cz:{id: '',name: ''},gg:{id: '',name: ''},sl: {
 							inputIntegerNumberValue: '',
 							inputDecimalNumberValue: ''
 						}})" class="tj-btn">添加</button>
 
+						</view>
 					</view>
 
 
-
-					<view v-if="objValue.Label=='沟上施工'">
+					<view v-if="objValue.Label!='回填、撤场'">
 						<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('hj')"
+									style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('other')"
 									v-show="reviewStatus!='1'"></image>
-								<view v-for="(item,index) in imgHjArr" :key="index" style="position: relative;">
+								<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,'hj')">
+											@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,'hj')"
-										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 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('ff')"
-									v-show="reviewStatus!='1'"></image>
-								<view v-for="(item,index) in imgFfArr" :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,'ff')">
-										</image>
-									</view>
-									<view v-else>
-										<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
-									</view>
-									<view @click="remove(index,'ff')"
+									<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>
@@ -273,25 +250,26 @@
 								</view>
 							</view>
 						</view>
+
 					</view>
 					<view v-else>
 						<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('gdxg')"
+									style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('htq')"
 									v-show="reviewStatus!='1'"></image>
-								<view v-for="(item,index) in imgGdxgArr" :key="index" style="position: relative;">
+								<view v-for="(item,index) in imgHtqArr" :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,'gdxg')">
+											@click="showPhoto(index,'htq')">
 										</image>
 									</view>
 									<view v-else>
 										<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
 									</view>
-									<view @click="remove(index,'gdxg')"
+									<view @click="remove(index,'htq')"
 										style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;">
 										<image :src="loadImgSrc('icon_close.png')" style=" width: 15px; height: 15px;">
 										</image>
@@ -326,24 +304,24 @@
 								</view>
 							</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('ht')"
+										style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('hth')"
 										v-show="reviewStatus!='1'"></image>
-									<view v-for="(item,index) in imgHtArr" :key="index" style="position: relative;">
+									<view v-for="(item,index) in imgHthArr" :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,'ht')">
+												@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,'ht')"
+										<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>
@@ -376,7 +354,7 @@
 
 	<script>
 		import SelectPicker from '../../components/selectPicker/select_picker.vue'
-		import bottomSheet from '../../components/bottomSheet/bottomSheetMore.vue'
+		import bottomSheet from '../../components/bottomSheet/bottomSheetMoreNew.vue'
 		import mypopup from '../../components/mypopup/mypopup.vue'
 
 		import {
@@ -385,9 +363,7 @@
 		import {
 			getEnginMaterialQualityList,
 			getEnginSpecificationsList,
-			getRoomProjectList,
-			getRoomProjectId,
-			Submitengineering,
+			submitMunicipalData,
 			getengineeringNameList,
 			getEngineeringDetails,
 			getEngineeringHistoryList,
@@ -451,9 +427,9 @@
 
 					imgHjArr: [],
 					imgFfArr: [],
-					imgGdxgArr: [],
+					imgHtqArr: [],
 					imgJspsArr: [],
-					imgHtArr: [],
+					imgHthArr: [],
 
 					fileArr: [],
 					fileNameArr: [],
@@ -591,16 +567,20 @@
 					let typeArr = [];
 					let newArr = [];
 
-					if (e == 'hj') {
-						typeArr = this.imgHjArr;
-					} else if (e == 'ff') {
-						typeArr = this.imgFfArr;
-					} else if (e == 'gdxg') {
-						typeArr = this.imgGdxgArr;
+					if (e == 'other') {
+						typeArr = this.imgArr;
+					}
+					// else if (e == 'hj') {
+					// 	typeArr = this.imgHjArr;
+					// } else if (e == 'ff') {
+					// 	typeArr = this.imgFfArr;
+					// }
+					else if (e == 'htq') {
+						typeArr = this.imgHtqArr;
 					} else if (e == 'jsdps') {
 						typeArr = this.imgJspsArr;
-					} else if (e == 'ht') {
-						typeArr = this.imgHtArr;
+					} else if (e == 'hth') {
+						typeArr = this.imgHthArr;
 					}
 
 
@@ -625,16 +605,20 @@
 						success: (res) => {
 							if (res.confirm) {
 								//this.imgArr.splice(index, 1)
-								if (e == 'hj') {
-									_this.imgHjArr.splice(index, 1)
-								} else if (e == 'ff') {
-									_this.imgFfArr.splice(index, 1)
-								} else if (e == 'gdxg') {
-									_this.imgGdxgArr.splice(index, 1)
+								if (e == 'other') {
+									_this.imgArr.splice(index, 1)
+								}
+								// else if (e == 'hj') {
+								// 	_this.imgHjArr.splice(index, 1)
+								// } else if (e == 'ff') {
+								// 	_this.imgFfArr.splice(index, 1)
+								// }
+								else if (e == 'htq') {
+									_this.imgHtqArr.splice(index, 1)
 								} else if (e == 'jsdps') {
 									_this.imgJspsArr.splice(index, 1)
-								} else if (e == 'ht') {
-									_this.imgHtArr.splice(index, 1)
+								} else if (e == 'hth') {
+									_this.imgHthArr.splice(index, 1)
 								}
 
 							}
@@ -676,16 +660,20 @@
 											_this.$modal.msg(data.msg)
 										} else {
 											if (_this.progress === 100) {
-												if (e == 'hj') {
-													_this.imgHjArr.push(data.data.url)
-												} else if (e == 'ff') {
-													_this.imgFfArr.push(data.data.url)
-												} else if (e == 'gdxg') {
-													_this.imgGdxgArr.push(data.data.url)
+												if (e == 'other') {
+													_this.imgArr.push(data.data.url)
+												}
+												// else if (e == 'hj') {
+												// 	_this.imgHjArr.push(data.data.url)
+												// } else if (e == 'ff') {
+												// 	_this.imgFfArr.push(data.data.url)
+												// } 
+												else if (e == 'htq') {
+													_this.imgHtqArr.push(data.data.url)
 												} else if (e == 'jsdps') {
 													_this.imgJspsArr.push(data.data.url)
-												} else if (e == 'ht') {
-													_this.imgHtArr.push(data.data.url)
+												} else if (e == 'hth') {
+													_this.imgHthArr.push(data.data.url)
 												}
 												_this.$modal.msg('上传成功!')
 											}
@@ -738,16 +726,20 @@
 									} else {
 										//上传成功
 										if (_this.progress === 100) {
-											if (e == 'hj') {
-												_this.imgHjArr.push(data.data.url)
-											} else if (e == 'ff') {
-												_this.imgFfArr.push(data.data.url)
-											} else if (e == 'gdxg') {
-												_this.imgGdxgArr.push(data.data.url)
+											if (e == 'other') {
+												_this.imgArr.push(data.data.url)
+											}
+											// else if (e == 'hj') {
+											// 	_this.imgHjArr.push(data.data.url)
+											// } else if (e == 'ff') {
+											// 	_this.imgFfArr.push(data.data.url)
+											// } 
+											else if (e == 'htq') {
+												_this.imgHtqArr.push(data.data.url)
 											} else if (e == 'jsdps') {
 												_this.imgJspsArr.push(data.data.url)
-											} else if (e == 'ht') {
-												_this.imgHtArr.push(data.data.url)
+											} else if (e == 'hth') {
+												_this.imgHthArr.push(data.data.url)
 											}
 											_this.$modal.msg('上传成功!')
 										}
@@ -972,57 +964,64 @@
 					}
 
 
-					try {
-						this.czggslList.forEach((list) => {
-							if (this.isEmpty(list.cz.id)) {
-								this.$modal.msg('材质不能为空')
+					if (this.objValue.Label == '焊接、防腐' || this.objValue.Label == '下管' || this.objValue.Label == ' 沟下连头') {
+						try {
+							this.czggslList.forEach((list) => {
+								if (this.isEmpty(list.cz.id)) {
+									this.$modal.msg('材质不能为空')
 
 
-								throw new Error('End Loop')
+									throw new Error('End Loop')
 
-							}
-							if (this.isEmpty(list.gg.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.inputIntegerNumberValue)) {
-								this.$modal.msg("请输入米数")
-								throw new Error('End Loop')
-							}
+								if (this.isEmpty(list.sl.inputIntegerNumberValue)) {
+									this.$modal.msg("请输入米数")
+									throw new Error('End Loop')
+								}
+
 
+							})
+						} catch (e) {
+							if (e.message === 'End Loop') throw e
+						}
 
+						this.zEngineeringMaterialBo = [];
+						this.czggslList.forEach((list) => {
+							this.zEngineeringMaterialBo.push({
+								materialQuality: list.cz.id,
+								specifications: list.gg.id,
+								number: list.sl.inputIntegerNumberValue + (list.sl.inputDecimalNumberValue ==
+									'' ?
+									'' : "." + list.sl.inputDecimalNumberValue)
+							})
 						})
-					} catch (e) {
-						if (e.message === 'End Loop') throw e
+
 					}
 
-					// if (this.imgArr.length <= 0) {
-					// 	this.$modal.msg('请上传照片或视频')
-					// 	return
-					// }
-					if (this.objValue.Label == '沟上施工') {
-						if (this.imgHjArr.length <= 0) {
-							this.$modal.msg('请上传焊接照片')
-							return
-						}
-						if (this.imgFfArr.length <= 0) {
-							this.$modal.msg('请上传防腐照片')
-							return
-						}
-					} else {
-						if (this.imgGdxgArr.length <= 0) {
-							this.$modal.msg('请上传管道下沟照片')
+
+					if (this.objValue.Label == '回填、撤场') {
+						if (this.imgHtqArr.length <= 0) {
+							this.$modal.msg('请上传回填前照片')
 							return
 						}
 						if (this.imgJspsArr.length <= 0) {
 							this.$modal.msg('请上传警示带铺设照片')
 							return
 						}
-						if (this.imgHtArr.length <= 0) {
-							this.$modal.msg('请上传回填照片')
+						if (this.imgHthArr.length <= 0) {
+							this.$modal.msg('请上传回填后照片')
+							return
+						}
+					} else {
+						if (this.imgArr.length <= 0) {
+							this.$modal.msg('请上传照片或视频')
 							return
 						}
 					}
@@ -1030,22 +1029,10 @@
 						this.$modal.msg('照片或视频未上传完毕,无法提交!')
 						return
 					}
-					this.zEngineeringMaterialBo = [];
-					this.czggslList.forEach((list) => {
-						this.zEngineeringMaterialBo.push({
-							materialQuality: list.cz.id,
-							specifications: list.gg.id,
-							number: list.sl.inputIntegerNumberValue + (list.sl.inputDecimalNumberValue ==
-								'' ?
-								'' : "." + list.sl.inputDecimalNumberValue)
-						})
-					})
 
 
 					let param = {
-						//files: this.fileArr, //文件
 						id: this.enginId, //工程id
-						type: '2', // 用来区分工业工程=1、市政工程=2
 
 						enginName: this.projectName.name, //工程名称
 						enginType: this.projectType.dictValue, // 工程类型
@@ -1058,20 +1045,17 @@
 						supervisionUnit: this.jldwValue, // 监理单位
 						supervisionHead: this.jlfzrValue, // 监理负责人
 						supervisionPhone: this.jlPhoneValue, // 监理联系电话
-						//enginClassification: this.objValue.value, // 工程分类  上一页面传过来的
 						zEngineeringNodeBo: {
 							createTime: this.createTime,
 							type: this.objValue.value,
 							zEngineeringInfoBo: {
 								remark: this.projectContent, //施工内容
-								//engInfoId: this.infonId,
 								constructTime: this.time, //施工时间
-								//zEngiineeringPhotoBoList: this.imgArr, //照片集合
-								welding: this.imgHjArr,
-								aczoiling: this.imgFfArr,
-								piping: this.imgGdxgArr,
-								warning: this.imgJspsArr,
-								backfilling: this.imgHtArr,
+								zEngiineeringPhotoBoList: this.imgArr, //照片集合
+								zEngiineeringPhotoBoListOne: this.imgHtqArr,
+								zEngiineeringPhotoBoListTwo: this.imgJspsArr,
+								zEngiineeringPhotoBoListThree: this.imgHthArr,
+
 
 								zEngineeringMaterialBo: this.zEngineeringMaterialBo // 用料对象
 							}
@@ -1079,7 +1063,7 @@
 
 					}
 					uni.showLoading()
-					Submitengineering(param).then(res => {
+					submitMunicipalData(param).then(res => {
 						if (res.code == '200') {
 							uni.hideLoading()
 							uni.showToast({

+ 117 - 150
pages/statistics/historyDetailMunicipal.vue

@@ -22,95 +22,70 @@
 					</view>
 
 
-					<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 v-if="title=='焊接、防腐'||title=='下管'||title=='沟下连头'">
+						<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="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('cz',key,index)">
-								<span
-									style="color: black;">{{a.materialQualityName==''?'请选择材质':a.materialQualityName}}</span>
+								<view class="uni-list-cell-db" style="margin-top: 10;"
+									@click="pickerShow('cz',key,index)">
+									<span
+										style="color: black;">{{a.materialQualityName==''?'请选择材质':a.materialQualityName}}</span>
 
+								</view>
 							</view>
-						</view>
 
-						<view class="uni-media-list-text-top" style=" ">
-							<view class="tit-text">规格:</view>
-							<view class="uni-list-cell-db" style="margin-top: 10;" @click="pickerShow('gg',key,index)">
-								<span
-									style="color: black;">{{a.specificationsName==''?'请选择规格':a.specificationsName}}</span>
+							<view class="uni-media-list-text-top" style=" ">
+								<view class="tit-text">规格:</view>
+								<view class="uni-list-cell-db" style="margin-top: 10;"
+									@click="pickerShow('gg',key,index)">
+									<span
+										style="color: black;">{{a.specificationsName==''?'请选择规格':a.specificationsName}}</span>
 
+								</view>
 							</view>
-						</view>
 
-						<view class="uni-media-list-text-top" style="border-bottom: 1px solid #f8f8f8;">
-							<text class="tit-text">米 数</text>
-							<view style="display: flex; justify-content: right; width: 70%;">
-								<input class="uni-input" type="number" :value="getIntegerPart(a.number,0)"
-									@change="setInfoBoNumber(key,index,$event.target.value,0)" maxlength="6"
-									style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
-								<text style="font-weight:bold;margin-left: 10px;margin-right: 10px;">.</text>
-
-								<input class="uni-input" type="number" :value="getIntegerPart(a.number,1)"
-									@change="setInfoBoNumber(key,index,$event.target.value,1)" maxlength="1"
-									style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+							<view class="uni-media-list-text-top" style="border-bottom: 1px solid #f8f8f8;">
+								<text class="tit-text">米 数</text>
+								<view style="display: flex; justify-content: right; width: 70%;">
+									<input class="uni-input" type="number" :value="getIntegerPart(a.number,0)"
+										@change="setInfoBoNumber(key,index,$event.target.value,0)" maxlength="6"
+										style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+									<text style="font-weight:bold;margin-left: 10px;margin-right: 10px;">.</text>
+
+									<input class="uni-input" type="number" :value="getIntegerPart(a.number,1)"
+										@change="setInfoBoNumber(key,index,$event.target.value,1)" maxlength="1"
+										style="text-align: center; border: 1px solid #00aaff; border-radius: 20rpx;"></input>
+								</view>
 							</view>
+							<button v-if="index!=0" @click="btnDel(key,index)" class="sc-btn">删除</button>
+
 						</view>
-						<button v-if="index!=0" @click="btnDel(key,index)" class="sc-btn">删除</button>
+						<button @click="btnAdd(key,index)" class="tj-btn">添加</button>
 
 					</view>
-					<button @click="btnAdd(key,index)" class="tj-btn">添加</button>
-
 				</view>
 
+				<view v-if="title!='回填、撤场'">
 
-				<view v-if="title=='trench_construction'">
-
-					<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;">
-						<image :src="loadImgSrc('updateimg.png')" mode=""
-							style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('hj',key)">
-						</image>
-						<view v-for="(item,index) in value.welding" :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.welding)">
-								</image>
-							</view>
-							<view v-else>
-								<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
-							</view>
-							<view @click="removeht(index,key,'hj')"
-								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="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;">
 						<image :src="loadImgSrc('updateimg.png')" mode=""
-							style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('ff',key)">
+							style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('other',key)">
 						</image>
-						<view v-for="(item,index) in value.aczoiling" :key="index" style="position: relative;">
+						<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.aczoiling)">
+									@click="showPhoto(index,value.zEngiineeringPhotoBoList)">
 								</image>
 							</view>
 							<view v-else>
 								<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
 							</view>
-							<view @click="removeht(index,key,'ff')"
+							<view @click="removeht(index,key,'other')"
 								style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;">
 								<image :src="loadImgSrc('icon_close.png')" style=" width: 15px; height: 15px;">
 								</image>
@@ -120,28 +95,29 @@
 
 
 				</view>
-				<view v-if="title=='underditch_construction'">
+				<view v-else>
 
 					<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>
+											#000;margin-top: 5px; margin-left: 8px;">回填前照片:</text>
 					</view>
 
 					<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
 						<image :src="loadImgSrc('updateimg.png')" mode=""
-							style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('gdxg',key)">
+							style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('htq',key)">
 						</image>
-						<view v-for="(item,index) in value.piping" :key="index" style="position: relative;">
+						<view v-for="(item,index) in value.zEngiineeringPhotoBoListOne" :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.piping)">
+									@click="showPhoto(index,value.zEngiineeringPhotoBoListOne)">
 								</image>
 							</view>
 							<view v-else>
 								<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
 							</view>
-							<view @click="removeht(index,key,'gdxg')"
+							<view @click="removeht(index,key,'htq')"
 								style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;">
 								<image :src="loadImgSrc('icon_close.png')" style=" width: 15px; height: 15px;">
 								</image>
@@ -157,11 +133,12 @@
 						<image :src="loadImgSrc('updateimg.png')" mode=""
 							style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('jsdps',key)">
 						</image>
-						<view v-for="(item,index) in value.warning" :key="index" style="position: relative;">
+						<view v-for="(item,index) in value.zEngiineeringPhotoBoListTwo" :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.warning)">
+									@click="showPhoto(index,value.zEngiineeringPhotoBoListTwo)">
 								</image>
 							</view>
 							<view v-else>
@@ -177,23 +154,24 @@
 
 					<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>
+											#000;margin-top: 5px;margin-left: 8px;">回填照片:</text>
 					</view>
 					<view class="" style="display: flex; flex-wrap: wrap;margin-top: 10px;">
 						<image :src="loadImgSrc('updateimg.png')" mode=""
-							style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('ht',key)">
+							style="width: 200rpx; height: 150rpx; margin: 0 12rpx;; " @click="choose('hth',key)">
 						</image>
-						<view v-for="(item,index) in value.backfilling" :key="index" style="position: relative;">
+						<view v-for="(item,index) in value.zEngiineeringPhotoBoListThree" :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.backfilling)">
+									@click="showPhoto(index,value.zEngiineeringPhotoBoListThree)">
 								</image>
 							</view>
 							<view v-else>
 								<video :src="item" style="width: 100rpx; height: 100rpx; margin: 0 12rpx;"></video>
 							</view>
-							<view @click="removeht(index,key,'ht')"
+							<view @click="removeht(index,key,'hth')"
 								style="position: absolute; top: 0; right: 14rpx; border-radius: 50%;">
 								<image :src="loadImgSrc('icon_close.png')" style=" width: 15px; height: 15px;">
 								</image>
@@ -268,14 +246,14 @@
 			if ('params' in options) {
 				let e = JSON.parse(decodeURIComponent(options.params));
 				this.nodeId = e.id;
-				this.type = e.type=='沟上施工'?'trench_construction':'underditch_construction';
+				this.type = e.type;
 				getHistoryMunicipalDetails(this.nodeId, this.type).then(response => {
 					if (response.data.zEngineeringNodeBo != null) {
 						this.hideButton = false;
 						this.dataJson = response.data;
 						this.title = response.data.zEngineeringNodeBo.type;
-						this.enginType = response.data.enginType;
-						this.enginClassification = response.data.enginClassification;
+						// this.enginType = response.data.enginType;
+						// this.enginClassification = response.data.enginClassification;
 
 					} else {
 						this.hideButton = true;
@@ -379,25 +357,23 @@
 					success: (res) => {
 						if (res.confirm) {
 
-							if (type == 'hj') {
-								this.dataJson.zEngineeringNodeBo.zEngineeringInfoBoList[key].welding
-									.splice(index, 1)
-
-							} else if (type == 'ff') {
-								this.dataJson.zEngineeringNodeBo.zEngineeringInfoBoList[key].aczoiling
+							if (type == 'other') {
+								this.dataJson.zEngineeringNodeBo.zEngineeringInfoBoList[key]
+									.zEngiineeringPhotoBoList
 									.splice(index, 1)
 
-							} else if (type == 'gdxg') {
-								this.dataJson.zEngineeringNodeBo.zEngineeringInfoBoList[key].piping
+							} else if (type == 'htq') {
+								this.dataJson.zEngineeringNodeBo.zEngineeringInfoBoList[key]
+									.zEngiineeringPhotoBoListOne
 									.splice(index, 1)
 
 							} else if (type == 'jsdps') {
 								this.dataJson.zEngineeringNodeBo.zEngineeringInfoBoList[key]
-									.warning
+									.zEngiineeringPhotoBoListTwo
 									.splice(index, 1)
-							} else if (type == 'ht') {
+							} else if (type == 'hth') {
 								this.dataJson.zEngineeringNodeBo.zEngineeringInfoBoList[key]
-									.backfilling
+									.zEngiineeringPhotoBoListThree
 									.splice(index, 1)
 							}
 
@@ -456,32 +432,28 @@
 										_this.$modal.msg(data.msg)
 									} else {
 										if (_this.progress === 100) {
-											if (e == 'hj') {
-												_this.dataJson.zEngineeringNodeBo
-													.zEngineeringInfoBoList[_this.dataIndex]
-													.welding.push(data.data
-														.url);
-											} else if (e == 'ff') {
+											if (e == 'other') {
 												_this.dataJson.zEngineeringNodeBo
 													.zEngineeringInfoBoList[_this.dataIndex]
-													.aczoiling.push(data.data
+													.zEngiineeringPhotoBoList.push(data.data
 														.url);
-											} else if (e == 'gdxg') {
+											} else if (e == 'htq') {
 												_this.dataJson.zEngineeringNodeBo
 													.zEngineeringInfoBoList[_this.dataIndex]
-													.piping.push(data.data
+													.zEngiineeringPhotoBoListOne.push(data.data
 														.url);
 											} else if (e == 'jsdps') {
 
 												_this.dataJson.zEngineeringNodeBo
 													.zEngineeringInfoBoList[_this.dataIndex]
-													.warning.push(data.data
+													.zEngiineeringPhotoBoListTwo.push(data.data
 														.url);
-											} else if (e == 'ht') {
+											} else if (e == 'hth') {
 
 												_this.dataJson.zEngineeringNodeBo
 													.zEngineeringInfoBoList[_this.dataIndex]
-													.backfilling.push(data.data
+													.zEngiineeringPhotoBoListThree.push(data
+														.data
 														.url);
 											}
 
@@ -535,27 +507,23 @@
 								} else {
 									//上传成功
 									if (_this.progress === 100) {
-										if (e == 'hj') {
+										if (e == 'other') {
 											_this.dataJson.zEngineeringNodeBo
 												.zEngineeringInfoBoList[_this.dataIndex]
-												.welding.push(data.data.url);
+												.zEngiineeringPhotoBoList.push(data.data.url);
 
-										} else if (e == 'ff') {
+										} else if (e == 'htq') {
 											_this.dataJson.zEngineeringNodeBo
 												.zEngineeringInfoBoList[_this.dataIndex]
-												.aczoiling.push(data.data.url);
-										} else if (e == 'gdxg') {
-											_this.dataJson.zEngineeringNodeBo
-												.zEngineeringInfoBoList[_this.dataIndex]
-												.piping.push(data.data.url);
+												.zEngiineeringPhotoBoListOne.push(data.data.url);
 										} else if (e == 'jsdps') {
 											_this.dataJson.zEngineeringNodeBo
 												.zEngineeringInfoBoList[_this.dataIndex]
-												.warning.push(data.data.url);
-										} else if (e == 'ht') {
+												.zEngiineeringPhotoBoListTwo.push(data.data.url);
+										} else if (e == 'hth') {
 											_this.dataJson.zEngineeringNodeBo
 												.zEngineeringInfoBoList[_this.dataIndex]
-												.backfilling.push(data.data.url);
+												.zEngiineeringPhotoBoListThree.push(data.data.url);
 										}
 										_this.$modal.msg('上传成功!')
 									}
@@ -629,50 +597,49 @@
 				let isSubmit = true;
 
 
+				console.log("参数", this.dataJson);
 				this.dataJson.zEngineeringNodeBo.zEngineeringInfoBoList.forEach((res) => {
+					if (res.createBy == this.$user.state.name) {
+						if (this.title == '焊接、防腐' || this.title == '下管' || this.title ==
+							' 沟下连头') {
+							res.zEngineeringMaterialBo.forEach((itme) => {
+								if (itme.specifications == '') {
+									this.$modal.msg("请选择规格");
+									isSubmit = false;
+								}
+								if (itme.number == '') {
+									this.$modal.msg("请输入米数");
+									isSubmit = false;
+								}
+								if (this.getIntegerPart(itme.number, 0) == '') {
+									this.$modal.msg("请输入米数");
+									isSubmit = false;
+								}
 
-					res.zEngineeringMaterialBo.forEach((itme) => {
-						if (itme.specifications == '') {
-							this.$modal.msg("请选择规格");
-							isSubmit = false;
-						}
-						if (itme.number == '') {
-							this.$modal.msg("请输入米数");
-							isSubmit = false;
-						}
-						if (this.getIntegerPart(itme.number, 0) == '') {
-							this.$modal.msg("请输入米数");
-							isSubmit = false;
-						}
-
-					})
+							})
 
-					if (this.title == 'trench_construction') {
-						//沟上施工
-						if (res.welding.length <= 0) {
-							this.$modal.msg('请上传焊接照片')
-							isSubmit = false;
-						}
-						if (res.aczoiling.length <= 0) {
-							this.$modal.msg('请上传防腐照片')
-							isSubmit = false;
 						}
-					} else if (this.title == 'underditch_construction') {
-						//沟下施工
-						if (res.piping.length <= 0) {
-							this.$modal.msg('请上传管道下沟照片')
-							isSubmit = false;
-						}
-						if (res.warning.length <= 0) {
-							this.$modal.msg('请上传警示带铺设照片')
-							isSubmit = false;
-						}
-						if (res.backfilling.length <= 0) {
-							this.$modal.msg('请上传回填照片')
-							isSubmit = false;
+
+						if (this.title == '回填、撤场') {
+							if (res.zEngiineeringPhotoBoListOne.length <= 0) {
+								this.$modal.msg('请上传回填前照片')
+								isSubmit = false;
+							}
+							if (res.zEngiineeringPhotoBoListTwo.length <= 0) {
+								this.$modal.msg('请上传警示带铺设照片')
+								isSubmit = false;
+							}
+							if (res.zEngiineeringPhotoBoListThree.length <= 0) {
+								this.$modal.msg('请上传回填后照片')
+								isSubmit = false;
+							}
+						} else {
+							if (res.zEngiineeringPhotoBoList.length == 0) {
+								this.$modal.msg("请上传照片");
+								isSubmit = false;
+							}
 						}
 					}
-
 				})
 
 

+ 3 - 3
pages/statistics/statistics.vue

@@ -863,13 +863,13 @@
 					this.EngineeringList = [];
 					this.userRole.forEach((item, index) => {
 
-						if (item != '危险作业工程') {
-							console.log("===", item)
+						// if (item != '危险作业工程') {
+						// 	console.log("===", item)
 							this.EngineeringList.push({
 								'id': index,
 								'name': item
 							})
-						}
+						//}
 					});
 
 					this.selectList = this.EngineeringList;

+ 88 - 13
pages/work/index.vue

@@ -188,6 +188,7 @@ border-radius: 50%; margin-right: 20rpx;">旧</view>
 
 			}
 		},
+
 		methods: {
 			navClick(newId) {
 				if (newId == 1) {
@@ -233,7 +234,7 @@ border-radius: 50%; margin-right: 20rpx;">旧</view>
 			municipalProjectClick() {
 
 				this.projectType = 'ShiZheng';
-				getDicts("municipal_engineering_node").then(response => {
+				getDicts("municipal_node_types").then(response => {
 					this.typeList = response.data;
 				});
 				this.handleShowSheet();
@@ -448,15 +449,83 @@ border-radius: 50%; margin-right: 20rpx;">旧</view>
 
 					});
 				} else if (this.projectType == 'GongYe') {
-					let obj = {
-						value: item.dictValue
-					};
-					//this.handleHiddenShare();
-					uni.navigateTo({
-						url: '/pages/enginproject/enginproject?params=' + encodeURIComponent(JSON
-							.stringify(
-								obj))
-					})
+
+					let label = '';
+					if (item.dictLabel == '室内管线' || item.dictLabel == '室外管线' || item.dictLabel == '调压柜') {
+						switch (item.dictLabel) {
+							case '室内管线':
+								label = 'gy_inner '
+								break
+							case '室外管线':
+								label = 'gy_out'
+								break
+							case '调压柜':
+								label = 'gy_tyg'
+								break
+						}
+						this.handleHiddenShare();
+						getDicts(label).then(response => {
+
+							this.typeList = response.data;
+						});
+
+						this.handleShowSheet();
+					} else {
+						let obj = {
+							value: item.dictValue
+						};
+
+						uni.navigateTo({
+							url: '/pages/enginproject/enginproject?params=' + encodeURIComponent(JSON
+								.stringify(
+									obj))
+						})
+					}
+
+
+
+				} else if (this.projectType == 'PengKou') {
+					if (item.dictLabel == '地埋扳孔' || item.dictLabel == '架空扳孔' || item.dictLabel == '停气作业' || item
+						.dictLabel == 'PE 封堵' || item.dictLabel == '钢管带气封堵') {
+						let label = '';
+						switch (item.dictLabel) {
+							case '地埋扳孔':
+								label = 'bury_the_wrench_hole '
+								break
+							case '架空扳孔':
+								label = 'aerial_wrench_hole'
+								break
+							case '停气作业':
+								label = 'shutdown_operation'
+								break
+							case 'PE 封堵':
+								label = 'pe_plugging'
+								break
+							case '钢管带气封堵':
+								label = 'the_steel_pipe_sealed_with_gas'
+								break
+
+						}
+						this.handleHiddenShare();
+						getDicts(label).then(response => {
+
+							this.typeList = response.data;
+						});
+
+						this.handleShowSheet();
+
+					} else {
+						let obj = {
+							value: item.dictValue,
+							label: item.dictLabel
+						};
+						uni.navigateTo({
+							url: '/pages/collision/collisionMouth?params=' + encodeURIComponent(JSON
+								.stringify(
+									obj))
+						})
+					}
+
 				} else if (this.projectType == 'JiJian') {
 					let obj = {
 						value: item.dictValue
@@ -515,9 +584,15 @@ border-radius: 50%; margin-right: 20rpx;">旧</view>
 				this.handleShowSheet();
 			},
 			showDangerous() {
-				uni.navigateTo({
-					url: '/pages/dangerous/dangerous'
-				})
+				// uni.navigateTo({
+				// 	url: '/pages/dangerous/dangerous'
+				// })
+				this.projectType = 'PengKou';
+				getDicts("tapping_operation").then(response => {
+					this.typeList = response.data;
+				});
+				this.handleShowSheet();
+
 			},
 			showOpenBolt() {
 				let obj = {

+ 1 - 0
utils/errorCode.min.js

@@ -0,0 +1 @@
+var module$errorCode={},$jscompDefaultExport$$module$errorCode={401:"\u8ba4\u8bc1\u5931\u8d25\uff0c\u65e0\u6cd5\u8bbf\u95ee\u7cfb\u7edf\u8d44\u6e90",403:"\u5f53\u524d\u64cd\u4f5c\u6ca1\u6709\u6743\u9650",404:"\u8bbf\u95ee\u8d44\u6e90\u4e0d\u5b58\u5728","default":"\u7cfb\u7edf\u672a\u77e5\u9519\u8bef\uff0c\u8bf7\u53cd\u9988\u7ed9\u7ba1\u7406\u5458"};module$errorCode["default"]=$jscompDefaultExport$$module$errorCode;