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