Lou
2023-11-17 a7169fdee8b683deb83f147fc9319b0bd7b04cf4
subPackage/workbench/views/workLog.vue
@@ -1,34 +1,38 @@
<template>
   <view>
      <view class="content bgc-ff">
         <u-form labelPosition="left" :model="info" :rules="rules" ref="uForm" labelWidth="90"
         <u-form labelPosition="left" :model="info" :rules="rules" ref="form" labelWidth="90"
            :labelStyle="{fontSize:'28rpx'}">
            <u-form-item label="姓名" prop="info.name" borderBottom ref="item1">
               <u-input v-model="info.title" border="none" placeholder="请输入标题" placeholderClass="f-28 c-99"
            <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="手机号" prop="info.phone" borderBottom ref="item1">
               <u-input v-model="info.title" border="none" placeholder="请输入标题" placeholderClass="f-28 c-99"
            <u-form-item label="手机号" prop="phone" borderBottom  required>
               <u-input v-model="info.phone" border="none" placeholder="请输入标题"   placeholderClass="f-28 c-99"
                  inputAlign="right"></u-input>
            </u-form-item>
            <u-form-item label="内容" borderBottom ref="item1">
               <u-input  type="textarea" v-model="info.address" border="none"  placeholderClass="f-28 c-99"
            <u-form-item label="内容" borderBottom  required>
               <u-input type="textarea" v-model="info.context" border="none"  placeholderClass="f-28 c-99"
                  inputAlign="right">
               </u-input>
            </u-form-item>
            <u-form-item label="走访时间" prop="applyTime" borderBottom  required @click="showSelectDate = true">
               <u-input v-model="info.applyTime" disabled disabledColor="#ffffff" border="none" placeholder="请输入"
            <u-form-item label="走访时间" prop="workTime" :borderBottom="false" required @click="showSelectDate = true">
               <u-input v-model="info.workTime" 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="houseCode" :borderBottom="false"  required
               @click="isShowScStatus = true">
               <u-input v-model="info.scStatus" disabled disabledColor="#fff" 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>
      </view>
      <view class="upload bgc-ff">
         <view class="f-28">走访图片</view>
         <view class="mt-20">
            <u-upload :fileList="images" :previewFullImage="uploadConfig.previewFullImage"
            <u-upload :fileList="form.images" :previewFullImage="uploadConfig.previewFullImage"
               :accept="uploadConfig.acceptImg" :multiple="uploadConfig.multiple" :maxCount="uploadConfig.maxCount"
               :capture="uploadConfig.capture" @afterRead="afterReadImg" @delete="deletePic">
               <view class="upload-item upload-icon flex_base">
@@ -37,62 +41,108 @@
            </u-upload>
         </view>
      </view>
      <u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="applyTime" mode="datetime"
         :formatter="formatter" @confirm="confirmDate"  @cancel="showSelectDate = false"></u-datetime-picker>
      <u-datetime-picker ref="datetimePicker" :show="showSelectDate" v-model="workTime" mode="datetime"
         :formatter="formatter" @confirm="confirmDate" @cancel="isShowPicker = false"></u-datetime-picker>
      <!-- <u-picker :show="isShowPicker" :columns="scStatus" :defaultIndex="houseIndex" @cancel="isShowPicker = false"
         @confirm="confirmHouse()"></u-picker> -->
      <view class="footer">
         <button class="footer-btn">提交</button>
         <button class="footer-btn" @click="submitInfo">提交</button>
      </view>
   </view>
</template>
<script>
   import {
      addWorkLog
   } from "@/api/workLog/workLog.js"
   import uploadMixin from "@/mixin/uploadMixin";
   export default {
      mixins: [uploadMixin],
      data() {
         return {
            form: {
               images: []
            },
            info: {
               title: "",
               content: ""
               name: "",
               phone: "",
               context: ""
            },
            rules: {
               'title': {
               'name': {
                  type: 'string',
                  required: true,
                  message: '请输入工作主题',
                  message: '请输入姓名',
                  trigger: ['blur', 'change']
               },
               'content': {
               'phone': {
                  type: 'string',
                  required: true,
                  message: '请输入手机号',
                  trigger: ['blur', 'change']
               },
               'context': {
                  type: 'string',
                  required: true,
                  message: '请输入工作内容',
                  trigger: ['blur', 'change']
               },
            },
            images: [
            ],
            showSelectDate:false
            showSelectDate: false,
            workTime: Number(new Date()),
            isShowPicker: false,
            houseIndex: [0]
         }
      },
      methods:{
      onLoad() {
         let userInfo = uni.getStorageSync("userInfo");
         this.$set(this.info, "name", userInfo.real_name);
         this.$set(this.info, "phone", userInfo.phone);
      },
      methods: {
         confirmDate(e) {
            this.showSelectDate = false;
            this.info.applyTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
            this.info.workTime = uni.$u.timeFormat(e.value, 'yyyy-mm-dd hh:MM:ss')
         },
         getLocation(){
            uni.chooseLocation({
               success:(res)=>{
                  console.log(res);
               }
         confirmHouse(e) {
            this.houseIndex = e.indexs;
            this.info.houseCode = e.value[0];
            this.isShowPicker = false;
         },
         checkImages() {
            if (this.form.images.length) {
               this.$set(this.info, "url", this.setImages())
            }
         },
         setImages() {
            let urls = [];
            for (let i of this.form.images) {
               urls.push(i.name);
            }
            return urls.join(",")
         },
         submitInfo() {
            this.$refs.form.validate().then(valid => {
               this.checkImages();
               addWorkLog(this.info).then(res => {
                  uni.showToast({
                     icon: 'success',
                     title: '提交成功',
                     success() {
                        setTimeout(() => {
                           uni.navigateBack()
                        }, 1000)
                     }
                  })
               })
            })
         }
      }
@@ -108,23 +158,26 @@
      margin: 20rpx 30rpx;
      padding: 0 30rpx;
   }
   .row{
      padding:20rpx 0;
      border-bottom:1px solid
   .row {
      padding: 20rpx 0;
      border-bottom: 1px solid
   }
   .location-btn{
      width:116rpx;
      height:46rpx;
   .location-btn {
      width: 116rpx;
      height: 46rpx;
      line-height: 46rpx;
      border-radius: 4rpx;
      border:1px solid currentColor;
      padding:0;
      border: 1px solid currentColor;
      padding: 0;
      background-color: #fff;
   }
   .upload {
      margin: 0 30rpx;
      padding: 30rpx;
      .upload-item {
         width: 140rpx;
         height: 140rpx;