From eed35c26883b4dedddcbe4a8d3dedafdd4e5daf7 Mon Sep 17 00:00:00 2001
From: Lou <luzhiping@qqyjz.com>
Date: Fri, 17 Nov 2023 09:20:34 +0800
Subject: [PATCH] 首页修改

---
 subPackage/workbench/views/editExamine.vue |  352 ++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 206 insertions(+), 146 deletions(-)

diff --git a/subPackage/workbench/views/editExamine.vue b/subPackage/workbench/views/editExamine.vue
index d7edc75..f25632c 100644
--- a/subPackage/workbench/views/editExamine.vue
+++ b/subPackage/workbench/views/editExamine.vue
@@ -1,72 +1,88 @@
 <template>
-	<div class="container">
-		<view class="">
-			<box-title title="基本信息"></box-title>
-			<u-form labelWidth="70" :model="form" :rules="rules" ref="form" class="form">
-				<u-form-item label="场所位置" required class="form-item" prop="localtion">
-					<u--input border="none" v-model="form.localtion"></u--input>
-				</u-form-item>
-				<u-form-item label="场所名称" required class="form-item" prop="placeName">
-					<u--input border="none" v-model="form.placeName"></u--input>
-				</u-form-item>
-				<u-form-item label="法人信息" required class="form-item" prop="legalPerson">
-					<u--input border="none" v-model="form.legalPerson"></u--input>
-				</u-form-item>
-				<u-form-item label="法人电话" class="form-item">
-					<u--input border="none" v-model="form.legalTel"></u--input>
-				</u-form-item>
-			</u-form>
-		</view>
-		<view class="">
-			<box-title title="营业执照"></box-title>
-			<view class="upload-img">
-				<u-upload :fileList="form.imageUrls" :previewFullImage="uploadConfig.previewFullImage"
-					:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
-					:capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic">
-				</u-upload>
+	<view class="container">
+		<view class="main-content">
+			<view class="base">
+				<box-title :title="'基本信息'"></box-title>
+				<u-form labelWidth="70" :model="form" :rules="rules" ref="form" class="form">
+					<u-form-item label="场所位置" required class="form-item" prop="localtion" @click="getLocation">
+						<u--input border="none" v-model="form.localtion" placeholder="请选择场所位置"></u--input>
+						<u-icon slot="right" name="arrow-right"></u-icon>
+					</u-form-item>
+					<u-form-item label="场所名称" required class="form-item" prop="placeName">
+						<u--input border="none" v-model="form.placeName" placeholder="请填写场所名称"></u--input>
+					</u-form-item>
+					<u-form-item label="法人信息" required class="form-item" prop="legalPerson">
+						<u--input border="none" v-model="form.legalPerson" placeholder="请填写法人信息"></u--input>
+					</u-form-item>
+					<u-form-item label="法人电话" class="form-item">
+						<u--input border="none" v-model="form.legalTel" placeholder="请填写法人电话"></u--input>
+					</u-form-item>
+				</u-form>
+			</view>
+			<view class="license">
+				<box-title title="营业执照"></box-title>
+				<view class="upload-img">
+					<u-upload :fileList="form.imageUrls" :previewFullImage="uploadConfig.previewFullImage"
+						:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+						uploadIcon="/static/icon/upload.png"
+						:maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImg"
+						@delete="deletePic">
+					</u-upload>
+				</view>
+			</view>
+			<view class="upload">
+				<box-title title="场所平面图"></box-title>
+				<view class="upload-img">
+					<u-upload :fileList="form.planImageUrls" :previewFullImage="uploadConfig.previewFullImage"
+						:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
+						uploadIcon="/static/icon/upload.png"
+						:maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImg"
+						@delete="deletePic">
+					</u-upload>
+				</view>
+			</view>
+			<view class="practitioner">
+				<box-title title="从业人员信息"></box-title>
+				<view class="info" v-for="(item, index) in personNum" :key="i">
+					<view class="title">人员信息-#{{ index*1 + 1 }}</view>
+					<formItem ref="formItemRef"></formItem>
+				</view>
+
+				<view class="add-person">
+					<u-button type="success" plain @click="addPerson">在加一人</u-button>
+				</view>
 			</view>
 		</view>
-		<view class="">
-			<box-title title="场所平面图"></box-title>
-			<view class="upload-img">
-				<u-upload :fileList="form.planImageUrls" :previewFullImage="uploadConfig.previewFullImage"
-					:accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
-					:capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic">
-				</u-upload>
-			</view>
-		</view>
-		<view class="practitioner">
-			<box-title title="从业人员信息"></box-title>
-			<view class="info" v-for="i in personNum" :key="i">
-				<view class="title">人员信息-#{{ i }}</view>
-				<formItem ref="formItemRef"></formItem>
-			</view>
-		</view>
-		<u-button type="success" plain class="add-person" @click="addPerson">在加一人</u-button>
+
 		<view class="btn-group">
-			<u-button class="btn-item" type="primary" @click="submit">提交</u-button>
-			<u-button class="btn-item" @click="pushPage">我上报的事件</u-button>
+			<view>
+				<u-button type="primary" @click="submit">提交</u-button>
+			</view>
+			<view class="mt-20">
+				<u-button @click="pushPage">我上报的事件</u-button>
+			</view>
 		</view>
-	</div>
+	</view>
 </template>
 
 <script>
 	import {
-		updatePlaceExtData,
+		updatePlaceExtData,
 		getPlaceDetail
 	} from '@/api/placeExp/placeExp.js'
 	import uploadMixin from "@/mixin/uploadMixin";
-	import boxTtitle from '@/components/boxTitle/index.vue'
+	import boxTitle from "@/subPackage/workbench/components/boxTitle/index.vue"
 	import formItem from '../components/formItem.vue'
 	export default {
 		mixins: [uploadMixin],
 		components: {
-			formItem
+			formItem,
+			boxTitle
 		},
 		data() {
 			return {
-				form: {
-					id: '',
+				form: {
+					id: '',
 					placeId: '',
 					localtion: '',
 					placeName: '',
@@ -97,60 +113,89 @@
 			}
 		},
 		onShow() {
-			this.curSelectSite = uni.getStorageSync('siteInfo')
-			this.getCsDetails()
+			this.curSelectSite = uni.getStorageSync('siteInfo')
+
 		},
-		methods: {
-			getCsDetails() {
-				getPlaceDetail({
-					placeId: this.curSelectSite.id
-				}).then(detailRes => {
-					const { code, data } = detailRes
-					if (code !== 200) {
-						uni.showToast({
-							title: '数据请求失败',
-							icon: 'error'
-						})
-						return
-					}
-					const placePractitioner = data?.placePractitioner || []
-					Object.keys(this.form).forEach(key => {
-						this.form[key] = data[key]
-						if(key === 'imageUrls' || key === 'planImageUrls') {
-							this.form[key] = []
-							!!data[key] && this.form[key].push()
-						}
-					})
-					this.personNum = placePractitioner.length
-					this.$nextTick(() => {
-						console.log(placePractitioner);
-						this.$refs.formItemRef.forEach((item, index) => {
-							item.form = placePractitioner[index]
-						})
-					})
-				})
+		mounted() {
+			this.$nextTick(() => {
+				this.getCsDetails()
+			})
+		},
+		methods: {
+			getLocation() {
+				uni.chooseLocation({
+					success: (addressResult) => {
+						const {
+							address
+						} = addressResult
+						this.form.localtion = address
+					}
+				})
 			},
-			updatePlaceExt(data) {
-				data['imageUrls'] = JSON.stringify(data['imageUrls'])
-				data['planImageUrls'] = JSON.stringify(data['planImageUrls'])
-				updatePlaceExtData({...data}).then(res => {
-					const { code } = res
-					if (code !== 200) {
-						uni.showToast({
-							title: '提交失败',
-							icon: 'error'
-						})
-						return
-					}
-					uni.showToast({
-						title: '提交成功',
-						icon: 'success',
-						complete() {
-							setTimeout(() => {
-								uni.navigateBack()
-							}, 1500)
-						}
-					})
+			getCsDetails() {
+				getPlaceDetail({
+					placeId: this.curSelectSite.id
+				}).then(detailRes => {
+					const {
+						code,
+						data
+					} = detailRes
+					if (code !== 200) {
+						uni.showToast({
+							title: '数据请求失败',
+							icon: 'error'
+						})
+						return
+					}
+					const placePractitioner = data?.placePractitioner || []
+					Object.keys(this.form).forEach(key => {
+						this.form[key] = data[key]
+						if (key === 'imageUrls' || key === 'planImageUrls') {
+							data[key] = data[key] || ''
+							this.form[key] = []
+							if (!!data[key]) {
+								data[key] = JSON.parse(data[key])
+								if (Array.isArray(data[key])) {
+									this.form[key] = data[key]
+								} else {
+									this.form[key].push(data[key])
+								}
+							}
+						}
+					})
+
+					this.personNum = placePractitioner.length
+					const componetns = this.$refs.formItemRef || []
+					this.$refs.formItemRef.forEach((item, index) => {
+						item.form = placePractitioner[index]
+					})
+				})
+			},
+			updatePlaceExt(data) {
+				data['imageUrls'] = data['imageUrls'].join('、')
+				data['planImageUrls'] = data['planImageUrls'].join('、')
+				updatePlaceExtData({
+					...data
+				}).then(res => {
+					const {
+						code
+					} = res
+					if (code !== 200) {
+						uni.showToast({
+							title: '提交失败',
+							icon: 'error'
+						})
+						return
+					}
+					uni.showToast({
+						title: '提交成功',
+						icon: 'success',
+						complete() {
+							setTimeout(() => {
+								uni.navigateBack()
+							}, 1500)
+						}
+					})
 				})
 			},
 			addPerson() {
@@ -158,76 +203,91 @@
 			},
 			submit() {
 				const placePractitioner = []
-				this.$refs.formItemRef.forEach(item => {
+				this.$refs.formItemRef.forEach(item => {
 					item.form.placeId = this.form.placeId
 					placePractitioner.push(item.form)
 				})
-				this.form.placePractitioner = placePractitioner
+				this.form.placePractitioner = placePractitioner
 				this.updatePlaceExt(this.form)
-			},
-			pushPage() {
-				this.$u.func.globalNavigator('/subPackage/workbench/views/cshw')
+			},
+			pushPage() {
+				this.$u.func.globalNavigator('/subPackage/workbench/views/cshw')
 			}
 		}
 	}
 </script>
 
-<style lang="scss" scoped>
+<style>
 	page {
-		background-color: #f6f6f6;
+		background: #F5F5F5;
 	}
-
+</style>
+<style lang="scss" scoped>
 	.container {
-		padding-bottom: 300rpx;
+		height: 100%;
+		display: flex;
+		flex-direction: column;
 
-		.form {
-			margin-top: 20rpx;
+		.main-content {
+			height: 0;
+			flex: 1;
+			overflow-y: auto;
+			padding: 0 30rpx 250rpx 30rpx;
 
-			.form-item {
+			.base,
+			.license,
+			.upload,
+			.practitioner {
 				background-color: #fff;
-				padding: 0 20rpx;
-				border-bottom: 1rpx solid #f6f6f6;
+				border-radius: 8rpx;
+				margin-top: 20rpx;
+				padding: 30rpx;
 			}
 
-		}
+			.license,
+			.upload {
+				padding-bottom: 20rpx !important;
 
-		.upload-img {
-			background-color: #fff;
-			padding: 20rpx;
-			padding-bottom: 10rpx;
-			margin-top: 20rpx;
-		}
+				.upload-img {
+					margin-top: 20rpx;
+				}
+			}
 
-		.add-person {
-			width: 30%;
-			margin: 20rpx auto;
-		}
+			.practitioner {
+				.info {
+					margin-top: 20rpx;
 
-		.practitioner {
-			.info {
-				margin-top: 20rpx;
+					.title {
+						margin-bottom: 10rpx;
+						text-align: center;
+					}
+				}
 
-				.title {
-					text-align: center;
-					font-size: 30rpx;
-					margin-bottom: 10rpx;
+				.add-person {
+					margin-top: 20rpx;
 				}
 			}
 		}
 
-		.btn-group {
-			background-color: #fff;
-			position: fixed;
-			bottom: 0;
-			left: 0;
-			width: calc(100% - 40rpx);
-			padding: 20rpx;
-			border-top: 1rpx solid #f6f6f6;
-			z-index: 999;
 
-			.btn-item {
-				margin-top: 20rpx;
-			}
+
+		.btn-group {
+			padding: 20rpx;
+			z-index: 999;
+			background-color: #fff;
+			width: calc(100% - 40rpx);
+			position: fixed;
+			left: 0;
+			bottom: 0;
 		}
 	}
+
+	/deep/ .u-form-item {
+		border-bottom: 1rpx solid #f5f5f5;
+	}
+
+	/deep/ .u-upload__button {
+		border: 1rpx solid #EEEEEE;
+		background-color: #fff;
+	}
 </style>
\ No newline at end of file

--
Gitblit v1.9.3