GULIMMO
2023-11-13 5abafa3610cc7d6398e2a5a9caf6efd6d37efe5b
subPackage/workbench/views/editExamine.vue
@@ -1,38 +1,41 @@
<template>
   <view class="container">
      <view class="main-content">
         <view class="mt-20 b-c-w">
         <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">
                  <u--input border="none" v-model="form.localtion"></u--input>
               <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"></u--input>
                  <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"></u--input>
                  <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"></u--input>
                  <u--input border="none" v-model="form.legalTel" placeholder="请填写法人电话"></u--input>
               </u-form-item>
            </u-form>
         </view>
         <view class="mt-20 b-c-w">
         <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"
                  :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="mt-20 b-c-w">
         <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"
                  :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple"
                  uploadIcon="/static/icon/upload.png"
                  :maxCount="uploadConfig.maxCount" :capture="uploadConfig.capture" @afterRead="afterReadImg"
                  @delete="deletePic">
               </u-upload>
@@ -40,8 +43,8 @@
         </view>
         <view class="practitioner">
            <box-title title="从业人员信息"></box-title>
            <view class="info" v-for="i in personNum" :key="i">
               <view class="title">人员信息-#{{ i }}</view>
            <view class="info" v-for="(item, index) in personNum" :key="i">
               <view class="title">人员信息-#{{ index*1 + 1 }}</view>
               <formItem ref="formItemRef"></formItem>
            </view>
@@ -111,19 +114,25 @@
      },
      onShow() {
         this.curSelectSite = uni.getStorageSync('siteInfo')
         this.getCsDetails()
         // this.getLocation()
      },
      mounted() {
         this.$nextTick(() => {
            this.getCsDetails()
         })
      },
      methods: {
         // getLocation() {
         //    uni.chooseLocation({
         //       success: (res) => {
         //          console.log(res);
         //       }
         //    })
         // },
         getCsDetails() {
            const that = this
         getLocation() {
            uni.chooseLocation({
               success: (addressResult) => {
                  const {
                     address
                  } = addressResult
                  this.form.localtion = address
               }
            })
         },
         getCsDetails() {
            getPlaceDetail({
               placeId: this.curSelectSite.id
            }).then(detailRes => {
@@ -139,7 +148,6 @@
                  return
               }
               const placePractitioner = data?.placePractitioner || []
               console.log(data);
               Object.keys(this.form).forEach(key => {
                  this.form[key] = data[key]
                  if (key === 'imageUrls' || key === 'planImageUrls') {
@@ -156,16 +164,11 @@
                  }
               })
               that.personNum = placePractitioner.length
               // that.$nextTick(() => {
                  console.log(placePractitioner);
                  setTimeout(() => {
                     const componetns = that.$refs.formItemRef || []
                     that.$refs.formItemRef.forEach((item, index) => {
                        item.form = placePractitioner[index]
                     })
                  }, 0)
               // })
               this.personNum = placePractitioner.length
               const componetns = this.$refs.formItemRef || []
               this.$refs.formItemRef.forEach((item, index) => {
                  item.form = placePractitioner[index]
               })
            })
         },
         updatePlaceExt(data) {
@@ -214,64 +217,77 @@
   }
</script>
<style>
   page {
      background: #F5F5F5;
   }
</style>
<style lang="scss" scoped>
   .container {
      width: 100%;
      height: 100vh;
      height: 100%;
      display: flex;
      flex-direction: column;
      background: #F9F9FA;
      color: #fff;
      font-size: 32rpx;
      .main-content {
         height: 0;
         flex: 1;
         overflow-y: auto;
         padding: 0 30rpx 250rpx 30rpx;
         .base,
         .license,
         .upload,
         .practitioner {
            background-color: #fff;
            border-radius: 8rpx;
            margin-top: 20rpx;
            padding: 30rpx;
         }
         .license,
         .upload {
            padding-bottom: 20rpx !important;
            .upload-img {
               margin-top: 20rpx;
            }
         }
         .practitioner {
            .info {
               margin-top: 20rpx;
               .title {
                  margin-bottom: 10rpx;
                  text-align: center;
               }
            }
            .add-person {
               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;
   }
      .form {
         margin-top: 20rpx;
         .form-item {
            background-color: #fff;
            padding: 0 20rpx;
            border-bottom: 1rpx solid #f6f6f6;
         }
      }
      .upload-img {
         background-color: #fff;
         padding: 20rpx;
         padding-bottom: 10rpx;
         margin-top: 20rpx;
      }
      .add-person {
         width: 30%;
         margin: 20rpx auto;
      }
      .practitioner {
         .info {
            margin-top: 20rpx;
            .title {
               text-align: center;
               font-size: 30rpx;
               margin-bottom: 10rpx;
            }
         }
      }
   /deep/ .u-upload__button {
      border: 1rpx solid #EEEEEE;
      background-color: #fff;
   }
</style>