| | |
| | | <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"> |
| | |
| | | </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) |
| | | } |
| | | }) |
| | | }) |
| | | }) |
| | | } |
| | | } |
| | |
| | | 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; |