智慧教务系统UniApp前端项目(使用中2025-0517)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 

404 lines
14 KiB

<!--添加跟进-->
<template>
<view class="assemble">
<view class="form-style">
<fui-form ref="form" top="0" :model="formData" :show="false">
<view class="input-style">
<fui-form-item
label="选择线索"
asterisk
asteriskPosition="right"
labelSize='26'
prop="name"
background='#434544'
labelColor='#fff'
:bottomBorder='false'
>
<view class="input-title" style="margin-right:14rpx;" v-if="result_leixing == ''"
@click="selectCon(2)">点击选择
</view>
<view class="input-title" style="margin-right:14rpx;" v-else @click="selectCon(2)">{{ result_leixing }}
</view>
</fui-form-item>
<fui-form-item label="跟进时间" labelSize='26' asterisk asteriskPosition="right" prop="mobile"
background='#434544' labelColor='#fff' :bottomBorder='false'>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(1)"
v-if="result_date == ''">点击选择
</view>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(1)" v-else>{{ result_date }}
</view>
</fui-form-item>
<fui-form-item label="上传录音" labelSize='26' asterisk asteriskPosition="right" prop="mobile"
background='#434544' labelColor='#fff'
:bottomBorder='false'>
<fui-input :borderBottom="false" :padding="[0]" placeholder="选择附件" v-model="formData.mobile"
backgroundColor="#434544" size="26" color="#fff"></fui-input>
</fui-form-item>
</view>
<view>
<fui-form-item label="跟进内容" labelSize='26' asterisk asteriskPosition="right" prop="mobile"
background='#434544' labelColor='#fff' :bottomBorder='false'>
</fui-form-item>
<view style="width: 100%;background: #434544;">
<view style="margin: auto;width: 92%;padding: 20rpx 0 50rpx;">
<fui-textarea :padding="[0]" v-model="formData.mobile"
backgroundColor="#434544" size="26" color="#fff" :textareaBorder="true"></fui-textarea>
</view>
</view>
</view>
<view class="input-style" style="margin-top: 50rpx;">
<!-- <fui-form-item label="学员名称" labelSize='26' asterisk asteriskPosition="right" prop="mobile"-->
<!-- background='#434544' labelColor='#fff' :bottomBorder='false'>-->
<!-- <view class="input-title" style="margin-right:14rpx;" @click="selectCon(3)"-->
<!-- v-if="result_student == ''">点击选择-->
<!-- </view>-->
<!-- <view class="input-title" style="margin-right:14rpx;" @click="selectCon(3)" v-else>{{ result_student }}-->
<!-- </view>-->
<!-- </fui-form-item>-->
<fui-form-item label="客户状态" labelSize='26' asterisk asteriskPosition="right" prop="mobile"
background='#434544' labelColor='#fff' :bottomBorder='false'>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(4)"
v-if="result_status == ''">点击选择
</view>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(4)" v-else>{{ result_status }}
</view>
</fui-form-item>
<fui-form-item label="签单意向联系人" labelWidth="230" labelSize='26' asterisk asteriskPosition="right" prop="mobile"
background='#434544' labelColor='#fff' :bottomBorder='false'>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(5)"
v-if="result_intention == ''">点击选择
</view>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(5)" v-else>{{ result_intention }}
</view>
</fui-form-item>
</view>
<view class="title" style="margin-top: 20rpx;">跟进任务</view>
<view class="input-style">
<fui-form-item label="创建下次跟进任务" labelWidth="250" labelSize='26' asterisk asteriskPosition="right"
prop="mobile"
background='#434544' labelColor='#fff' :bottomBorder='false'>
<fui-switch @change="switchChange" checked></fui-switch>
</fui-form-item>
<view v-if="switchChange_type == 1">
<fui-form-item label="跟进时间" labelSize='26' asterisk asteriskPosition="right" prop="mobile"
background='#434544' labelColor='#fff' :bottomBorder='false'>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(6)"
v-if="result_dates == ''">点击选择
</view>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(6)" v-else>{{ result_dates }}
</view>
</fui-form-item>
<fui-form-item label="跟进内容" labelSize='26' prop="mobile" background='#434544' labelColor='#fff'
:bottomBorder='false'>
<fui-input :borderBottom="false" :padding="[0]" placeholder="点击填写" v-model="formData.mobile"
backgroundColor="#434544" size="26" color="#fff"></fui-input>
</fui-form-item>
<fui-form-item label="跟进人员" labelSize='26' asterisk asteriskPosition="right" prop="mobile"
background='#434544' labelColor='#fff' :bottomBorder='false'>
<fui-input :borderBottom="false" :padding="[0]" placeholder="点击填写" v-model="formData.mobile"
backgroundColor="#434544" size="26" color="#fff"></fui-input>
</fui-form-item>
<fui-form-item label="任务提醒" labelSize='26' prop="mobile" background='#434544' labelColor='#fff'
:bottomBorder='false'>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(7)"
v-if="result_renwu == ''">点击选择
</view>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(7)" v-else>{{ result_renwu }}
</view>
</fui-form-item>
<fui-form-item label="提醒方式" labelSize='26' prop="mobile" background='#434544' labelColor='#fff'
:bottomBorder='false'>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(8)"
v-if="result_fangshi == ''">点击选择
</view>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(8)" v-else>{{ result_fangshi }}
</view>
</fui-form-item>
</view>
</view>
</fui-form>
</view>
<view class="fui-btn__box">
<fui-button background="#434544" color="#24BA9F" borderColor="#24BA9F" @click="submit">保存</fui-button>
</view>
<!-- 年月日-选择时间 -->
<fui-date-picker :show="show_date" type="3" @change="change_date" @cancel="cancel_date"></fui-date-picker>
<!-- 下拉选择器 -->
<fui-picker :linkage='linkage' :options="options" :layer="1" :show="show" @change="changeOptions"
@cancel="cancel"></fui-picker>
</view>
</template>
<script>
import commonApi from '@/api/common.js';
import marketApi from '@/api/market.js';
const rules = [{
name: "mobile",
rule: ["required", "isMobile"],
msg: ["请输入手机号", "请输入正确的手机号"]
}];
export default {
data() {
return {
rules,
//表单数据
formData:{
//##### 基础表单 #####
sales_id:'',//选择线索(线索id)
entry_type:'',//跟进类型(1=市场人员录入的,2=销售人员录入)
staff_id:'',//跟进人员
follow_up_time:'',//跟进时间(2025-03-20 16:04:50)
requirement:'',//需求
purchasing_power:'',//购买力(1=低,2=中,3=高)
cognitive_concept:'',//认知理念|1=低,2=中,3=高
schooltime:'',//可选上课时间(2025-03-20 16:04:50)
distance:'',//距离
decision_maker:'',//决策人
emotional_intensity:'',//情感粘度|1=低,2=中,3=高
//##### 初步意向 #####
initial_customer_intent:'',//意向分类(客户初步意向度|A+,A,A-,B+B,B-,C)
initial_relationship_intent:'',//意向度(客情初步意向度|A,B,C)
follow_up_content:'',//备注
//##### 跟进任务 #####
is_warn:'1',//是否转角跟进任务(是否提醒 1提醒 2不提醒)
//跟进类型
follow_staff_id:'',//跟进人员
reminder_time:'',//跟进时间
follow_content:'',//备注
},
//下拉选择器组件
options_type: undefined,//选择器标识
show: false,//是否显示下拉选择器
linkage: true,//是否联动选择
options: [],//下拉选择器可选值列表
//时间选择器相关
show_date: false,//是否显示时间选择器|true=是,false=否
//选择线索-相关
//字典-
//文本展示-
//-相关
//字典-
//文本展示-
//-相关
//字典-
//文本展示-
//-相关
//字典-
//文本展示-
//-相关
//字典-
//文本展示-
//-相关
//字典-
//文本展示-
//-相关
//字典-
//文本展示-
//-相关
//字典-
//文本展示-
}
},
onLoad(options) {
},
onShow() {
this.init()
},
methods: {
//初始化
async init() {
this.getDicFollow_up_type()//获取字典-跟进类型
},
//获取字典-跟进类型
async getDicFollow_up_type() {
let key = 'follow_up_type'
let res = await commonApi.getDictionary(key)
if (res.code != 1) {
uni.showToast({
title: res.msg,
icon: 'none'
})
return
}
this.follow_up_type = res.data.dictionary
this.options_leixing = []
res.data.dictionary.forEach((v, k) => {
this.options_leixing.push({
value: v.value,
text: v.name,
})
})
},
//验证表单
async validatorForm(data) {
},
//提交表单
async submit() {
},
//选择弹窗
selectCon(type) {
this.options_type = type
switch (type) {
//来源渠道
case 'source_channel':
this.options = this.options_source_channel
this.show = true
this.linkage = true
break;
//客户来源
case 'customer_source':
this.options = this.options_customer_source
this.show = true
this.linkage = true
break;
//顾问
case 'add_staff_id':
this.options = this.options_add_staff_id
this.show = true
this.linkage = true
break;
// 跟进类型
case 'entry_type':
this.options = this.options_entry_type
this.show = true
this.linkage = true
break;
// 跟进人员
case 'staff_id':
this.options = this.options_staff_id
this.show = true
this.linkage = true
break;
//跟进时间
case 'follow_up_time':
this.show_date = true
break;
}
},
//监听-下拉选择框
changeOptions(e) {
console.log('选择器选中',e)
this.show = false
let type = this.options_type
switch (type) {
//来源渠道
case 'source_channel':
this.str_source_channel = e.text//选中的text值
this.formData.source_channel = e.value//选中value值
break;
//客户来源
case 'customer_source':
this.str_customer_source = e.text//选中的text值
this.formData.customer_source = e.value//选中value值
break;
//顾问
case 'add_staff_id':
this.str_add_staff_id = e.text//选中的text值
this.formData.add_staff_id = e.value//选中value值
break;
// 跟进类型
case 'entry_type':
this.str_entry_type = e.text//选中的text值
this.formData.entry_type = e.value//选中value值
break;
// 跟进人员
case 'staff_id':
this.str_staff_id = e.text//选中的text值
this.formData.staff_id = e.value//选中value值
break;
//跟进时间
case 'follow_up_time':
break;
}
},
//监听-时间选择器
change_date(e) {
//跟进时间
this.show_date = false
this.formData.follow_up_time = e.result ?? ''
},
//关闭时间选择器
cancel_date() {
this.show_date = false
},
}
}
</script>
<style lang="less" scoped>
.assemble {
width: 100%;
height: 100vh;
background: #292929;
overflow: auto;
}
.title {
font-size: 26rpx;
color: #fff;
padding: 26rpx 0 26rpx 32rpx;
}
.input-title {
font-size: 26rpx;
color: #fff;
}
.form-style {
width: 100%;
// background: #434544;
}
.form-style-vid {
display: flex;
align-items: center;
justify-content: space-between;
padding: 12rpx 0;
}
.input-style {
text-align: right !important;
}
.fui-btn__box {
margin: 50rpx auto 120rpx;
width: 92%;
}
</style>