Lou
2023-12-26 c65169cebf56657dbec38088c870f0084ca08321
subPackage/workbench/views/patrol.vue
@@ -3,21 +3,36 @@
      <view class="content bgc-ff">
         <u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90"
            :labelStyle="{fontSize:'28rpx'}">
            <u-form-item label="巡查标题" prop="info.name" borderBottom  required>
            <u-form-item label="巡查标题" prop="info.name" borderBottom required>
               <u-input v-model="info.name" border="none" placeholder="请输入标题" placeholderClass="f-28 c-99"
                  inputAlign="right"></u-input>
            </u-form-item>
            <u-form-item label="巡查内容" borderBottom prop="context"  required>
            <!-- <u-form-item label="巡查时间" prop="patrolTime" borderBottom required @click="showSelectDate = true">
               <u-input v-model="info.patrolTime" disabled disabledColor="#ffffff" border="none"
                  placeholder="请选择时间" placeholderClass="f-28 c-99" inputAlign="right"></u-input>
               <u-icon slot="right" name="arrow-right"></u-icon>
            </u-form-item> -->
            <u-form-item label="巡查位置" prop="address" :borderBottom="false" required>
               <view class="address-row flex">
                  <view class="address-content f-28" v-if="info.location">
                     {{info.location}}
                  </view>
                  <view class="address-content f-28" style="color: #c0c4cc" v-if="!info.location">
                     请选择地址
                  </view>
                  <view class="location-btn c-main f-24" @click="getLocation()">
                     获取地址
                  </view>
               </view>
            </u-form-item>
            <u-form-item label="巡查内容" borderBottom prop="context" required>
               <!-- <u-input type="textarea" v-model="info.context" border="none" placeholderClass="f-28 c-99"
                  inputAlign="right" placeholder="请输入巡查内容" >
               </u-input> -->
               <u--textarea v-model="info.context" inputAlign="right" placeholder="请输入巡查内容"  placeholderClass="f-28 c-99"></u--textarea>
            </u-form-item>
            <u-form-item label="巡查时间" prop="patrolTime" borderBottom required  @click="showSelectDate = true">
               <u-input v-model="info.patrolTime" disabled disabledColor="#ffffff" border="none" placeholder="请选择时间"
                  placeholderClass="f-28 c-99" inputAlign="right"></u-input>
               <u-icon slot="right" name="arrow-right"></u-icon>
               <u--textarea v-model="info.context" inputAlign="right" placeholder="请输入巡查内容"
                  placeholderClass="f-28 c-99"></u--textarea>
            </u-form-item>
         </u-form>
      </view>
@@ -37,12 +52,12 @@
      <u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="patrolTime" mode="datetime"
         :formatter="formatter" @confirm="confirmDate" @cancel="showSelectDate = false"></u-datetime-picker>
   <!--    <view class="footer">
      <!--    <view class="footer">
         <button class="footer-btn" @click="submitInfo">提交</button>
      </view> -->
      <footer-btn  @click="submitInfo"></footer-btn>
      <footer-btn @click="submitInfo"></footer-btn>
   </view>
@@ -63,7 +78,7 @@
            info: {
               name: "",
               context: "",
               patrolTime:""
               patrolTime: ""
            },
            rules: {
               'name': {
@@ -78,10 +93,16 @@
                  message: '请输入巡查内容',
                  trigger: ['blur', 'change']
               },
               'patrolTime': {
               // 'patrolTime': {
               //    type: 'string',
               //    required: true,
               //    message: '请选择巡查时间',
               //    trigger: ['blur', 'change']
               // },
               'location': {
                  type: 'string',
                  required: true,
                  message: '请选择巡查时间',
                  message: '请选择巡查位置',
                  trigger: ['blur', 'change']
               }
            },
@@ -93,11 +114,11 @@
            patrolTime: Number(new Date())
         }
      },
      onLoad(){
      onLoad() {
         this.info.patrolTime = uni.$u.timeFormat(Number(new Date()), 'yyyy-mm-dd hh:MM:ss')
      },
      methods: {
         confirmDate(e) {
@@ -109,6 +130,17 @@
            if (this.form.images.length) {
               this.$set(this.info, "url", this.setImages())
            }
         },
         getLocation() {
            uni.chooseLocation({
               success: (res) => {
                  this.$set(this.info, "location", res.address);
                  this.$set(this.info, "latitude", res.latitude);
                  this.$set(this.info, "longitude", res.longitude)
               }
            })
         },
         setImages() {
@@ -194,4 +226,27 @@
         font-size: 32rpx;
      }
   }
   .address-row {
      flex: 1;
      justify-content: flex-end;
      align-items: center;
   }
   .address-content {
      width: calc(100% - 116rpx - 20rpx);
      margin-right: 20rpx;
      text-align: right;
   }
   .location-btn {
      width: 116rpx;
      height: 46rpx;
      line-height: 46rpx;
      border-radius: 4rpx;
      border: 1px solid currentColor;
      padding: 0;
      background-color: #fff;
      text-align: center;
   }
</style>