Files
crm-uni/pages/customer/followup.vue
T
2025-03-14 16:55:12 +08:00

298 lines
7.3 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<template>
<view>
<uni-nav-bar leftText=" " :fixed="true" :border="false" leftIcon="back" @clickLeft="leftClick" color="#000000" backgroundColor="#fff" :statusBar="true" title="添加跟进"></uni-nav-bar>
<view class="content">
<view class="cell">
<view>跟进方式</view>
<view class="right">
<u-radio-group v-model="form.followType">
<u-radio name="1">在线跟进</u-radio>
<u-radio name="2">拜访</u-radio>
</u-radio-group>
</view>
</view>
<u-divider text=""></u-divider>
<view class="cell">
<view>跟进时间</view>
<view class="right" @click="show = true">
<input placeholder="跟进时间" v-model="form.firstFollow" />
</view>
</view>
<u-divider text=""></u-divider>
<view class="cell1" v-if="form.followType==1">
<view>上传跟进最后聊天截图</view>
<view>
<uni-file-picker fileMediatype="image" limit="1" :del-icon="false" disable-preview @select="select" @delete="delfn('front_45_degree')">
<image src="/static/image/customer/upimg.png" mode="" class="addimg"></image>
</uni-file-picker>
</view>
</view>
<view class="cell" v-if="form.followType==2">
<view>当前位置</view>
<view class="right">
<input placeholder="输入当前位置" v-model="form.phone" />
</view>
</view>
<u-divider text="" v-if="form.followType==2"></u-divider>
<view class="cell1" v-if="form.followType==2">
<view>当前位置拍照上传</view>
<view style="margin-top: 10px;">
<uni-file-picker fileMediatype="image" limit="1" :del-icon="false" disable-preview @select="select" @delete="delfn('front_45_degree')">
<image src="/static/image/customer/upimg.png" mode="" class="addimg"></image>
</uni-file-picker>
</view>
</view>
<u-divider text="" v-if="form.followType==2"></u-divider>
<view class="cell1" v-if="form.followType==2">
<view>拜访内容</view>
<view class="yuyin">
<textarea auto-height v-model="form.condition_desc" placeholder="拜访内容..."/>
<image src="/static/image/customer/yuyin.png" mode=""></image>
</view>
</view>
<u-divider text="" v-if="form.followType==2"></u-divider>
<view class="cell1" v-if="form.followType==2">
<view>备注(非必填)</view>
<view class="">
<textarea auto-height v-model="form.condition_desc" placeholder="详细情况..."/>
</view>
</view>
</view>
<u-gap height="10" bgColor="#F6F6F6"></u-gap>
<view class="steps">
<view class="title">
跟进记录 <text class="status">跟进中</text>
</view>
<u-steps current="0" direction="column" dot>
<u-steps-item title="在线跟进">
<view slot="desc">
<view class="">
时间:2025-03-11 12:00:01
</view>
<view class="">
<image src="/static/image/customer/addr.png" mode=""></image>
</view>
</view>
</u-steps-item>
<u-steps-item title="拜访跟进">
<view slot="desc" class="desc">
<view class="">
<view class="">
时间:2025-03-11 12:00:01
</view>
<view class="">地址:迪拜某某地方</view>
<view class="">拜访内容:讨论需求</view>
</view>
<view class="">
<image src="/static/image/customer/addr.png" mode=""></image>
</view>
</view>
</u-steps-item>
<u-steps-item title="拜访跟进">
<view slot="desc" class="desc">
<view class="">
<view class="">
时间:2025-03-11 12:00:01
</view>
<view class="">地址:迪拜某某地方</view>
<view class="">拜访内容:讨论需求</view>
</view>
<view class="">
<image src="/static/image/customer/addr.png" mode=""></image>
</view>
</view>
</u-steps-item>
</u-steps>
<!-- <empty :list="brandList"></empty> -->
</view>
<u-gap height="100" bgColor="#fff"></u-gap>
<view class="foot">
<button class="btn1" @click="nextFn">下次跟进提醒</button>
<button class="btn" @click="nextFn">提交</button>
</view>
<u-datetime-picker
:show="show"
v-model="firstFollow"
mode="datetime"
@confirm="confirm"
@cancel="cancel"
@change="change"
></u-datetime-picker>
</view>
</template>
<script>
import { request,showToast } from '@/api/apiT.js'
// import ldSelect from '@/components/ld-select/ld-select.vue'
export default {
data() {
return {
brandList:[],
energyList:[],
typesList:[],
show:false,
firstFollow: '2025-03-11 12:00:01',
form: {
name: '',
followType: '1',
phone: '',
preference: '赵野军',
level: '初步接触',
region: '',
firstFollow: '2025-03-11 12:00:01',
details: ''
}
}
},
onLoad() {
const { windowWidth, windowHeight } = uni.getSystemInfoSync();
this.x = windowWidth-70
this.y = windowHeight-185
},
methods: {
leftClick(){
uni.navigateBack({})
},
cancel() {
this.show = false
},
confirm(e) {
this.show = false
this.form.firstFollow = this.result(e.value, e.mode)
console.log(this.result(e.value, e.mode))
console.log(this.form.firstFollow )
},
change(e) {
// console.log('change', e)
},
result(time, mode) {
const timeFormat = uni.$u.timeFormat
switch (mode) {
case 'datetime':
return timeFormat(time, 'yyyy-mm-dd hh:MM')
case 'date':
return timeFormat(time, 'yyyy-mm-dd')
case 'year-month':
return timeFormat(time, 'yyyy-mm')
case 'time':
return time
default:
return ''
}
},
}
}
</script>
<style lang="scss">
uni-page-body {
background-color: #fff !important;
}
textarea {
min-height: 200rpx;// 设置默认高度 ,解决设置自适应高度之后高度无效问题
margin-top: 15px;
background-color: #F6F6F6;
padding: 15px;
border-radius: 10px;
}
.u-divider{
margin: 0px 0px !important;
}
.content{
padding-top: 10px;
background: #FFFFFF;
// height: calc(100vh - 44px);
}
.cell{
position: relative;
display: flex;
justify-content:space-between;
padding: 18px 20px;
align-items: center;
font-size: 32rpx;
font-weight: 500;
font-size: 32rpx;
color: #666666;
}
.arrowright{
margin-right: -15px;
}
.cell1{
font-size: 32rpx;
padding: 18px 20px;
align-items: center;
font-weight: 500;
color: #666666;
}
.right{
text-align: right;
color: #222222;
}
.foot{
position: fixed;
bottom: 0px;
width: 100%;
height: 90px;
background: #FFFFFF;
z-index: 1;
display: flex;
padding-top: 20px;
}
.btn{
background: linear-gradient(to right, #3471FF, #6776FF);
color: white;
border-radius: 50px;
width: 45%;
height: 96rpx;
line-height: 96rpx;
margin-top: 20px;
}
.btn1{
border: 1px solid #3471FF;
background: #fff;
color: #3471FF;
border-radius: 50px;
width: 45%;
height: 96rpx;
line-height: 96rpx;
margin-top: 20px;
}
.addimg{
width: 110px;
height:110px;
}
.yuyin{
position: relative;
image{
width: 20px;
height:24px;
position: absolute;
right: 15px;
bottom: 10px;
}
}
.steps{
padding: 15px;
image{
width: 44px;
height:44px;
}
.desc{
display: flex;
justify-content: space-between;
align-items: center;
color: #999999;
}
.title{
color: #666666;
font-size: 32rpx;
margin-bottom: 15px;
.status{
font-size: 28rpx;
color: #3471FF;
margin-left: 10px;
}
}
}
</style>