Browse Source

feat(market): 重构线索添加页面

- 新增客户来源、归属人员、客户标签等字段- 添加地区三级联动选择功能- 优化表单布局和样式
- 更新配置文件,切换API地址
master
liutong 1 year ago
parent
commit
fa4832dd03
  1. 12
      api/common.js
  2. 8
      common/config.js
  3. 263
      pages/market/clue/add_clues.vue
  4. 2
      pages/student/login/login.vue

12
api/common.js

@ -0,0 +1,12 @@
import http from '../common/axios.js'
//通用接口
export default {
//获取地区属性结构列表
getAreaTree(data={}) {
let url = '/area/getAreaTree'
return http.get(url,data).then(res => {
return res;
})
},
}

8
common/config.js

@ -1,10 +1,10 @@
// 线上地址 // 线上地址
const Api_url='http://146.56.228.75:20021/api' // const Api_url='http://146.56.228.75:20021/api'
const img_domian = 'http://146.56.228.75:20021/' // const img_domian = 'http://146.56.228.75:20021/'
//本地测试地址 //本地测试地址
// const Api_url='http://zhjw.cc/api' const Api_url='http://zhjw.cc/api'
// const img_domian = 'http://zhjw.cc/' const img_domian = 'http://zhjw.cc/'
const IsDemo = false const IsDemo = false

263
pages/market/clue/add_clues.vue

@ -13,56 +13,73 @@
<view class="input-style"> <view class="input-style">
<fui-form-item label="学员姓名" asterisk asteriskPosition="right" labelSize='26' prop="name" background='#434544' labelColor='#fff' :bottomBorder='false'> <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;" > <view class="input-title" style="margin-right:14rpx;" >
<fui-input :borderBottom="false" :padding="[0]" placeholder="点击填写" v-model="formData.mobile" <fui-input :borderBottom="false" :padding="[0]" placeholder="点击填写" v-model="formData.student_name" backgroundColor="#434544" size="26" color="#fff"></fui-input>
backgroundColor="#434544" size="26" color="#fff"></fui-input>
</view> </view>
</fui-form-item> </fui-form-item>
<fui-form-item label="年龄" labelSize='26' asterisk asteriskPosition="right" prop="mobile" <fui-form-item label="学员手机号" asterisk asteriskPosition="right" labelSize='26' prop="name" background='#434544' labelColor='#fff' :bottomBorder='false'>
background='#434544' labelColor='#fff' :bottomBorder='false'> <view class="input-title" style="margin-right:14rpx;" >
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(1)" <fui-input :borderBottom="false" :padding="[0]" placeholder="点击填写" v-model="formData.student_phone" backgroundColor="#434544" size="26" color="#fff"></fui-input>
v-if="result_date == ''">点击选择
</view>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(1)" v-else>{{ result_date }}
</view> </view>
</fui-form-item> </fui-form-item>
<fui-form-item label="上传录音" labelSize='26' asterisk asteriskPosition="right" prop="mobile"
background='#434544' labelColor='#fff' <fui-form-item label="年龄" labelSize='26' asterisk asteriskPosition="right" prop="mobile" background='#434544' labelColor='#fff' :bottomBorder='false'>
:bottomBorder='false'> <view class="input-title" style="margin-right:14rpx;" >
<fui-input :borderBottom="false" :padding="[0]" placeholder="点击填写" v-model="formData.mobile" <fui-input-number signColor="#FFF" :min="1" :max="100" v-model="formData.age"></fui-input-number>
backgroundColor="#434544" size="26" color="#fff"></fui-input> </view>
</fui-form-item> </fui-form-item>
<fui-form-item label="学员名称" labelSize='26' asterisk asteriskPosition="right" prop="mobile" <fui-form-item label="学校" asteriskPosition="right" labelSize='26' prop="" background='#434544' labelColor='#fff' :bottomBorder='false'>
background='#434544' labelColor='#fff' :bottomBorder='false'> <view class="input-title" style="margin-right:14rpx;" >
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(3)" <fui-input :borderBottom="false" :padding="[0]" placeholder="点击填写" v-model="formData.school_name" backgroundColor="#434544" size="26" color="#fff"></fui-input>
v-if="result_student == ''">点击选择
</view> </view>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(3)" v-else>{{ result_student }} </fui-form-item>
<fui-form-item label="年级" asteriskPosition="right" labelSize='26' prop="" background='#434544' labelColor='#fff' :bottomBorder='false'>
<view class="input-title" style="margin-right:14rpx;" >
<fui-input :borderBottom="false" :padding="[0]" placeholder="点击填写" v-model="formData.grade" backgroundColor="#434544" size="26" color="#fff"></fui-input>
</view> </view>
</fui-form-item> </fui-form-item>
<fui-form-item label="客户状态" labelSize='26' asterisk asteriskPosition="right" prop="mobile" <fui-form-item label="班级" asteriskPosition="right" labelSize='26' prop="" background='#434544' labelColor='#fff' :bottomBorder='false'>
background='#434544' labelColor='#fff' :bottomBorder='false'> <view class="input-title" style="margin-right:14rpx;" >
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(4)" <fui-input :borderBottom="false" :padding="[0]" placeholder="点击填写" v-model="formData.class_name" backgroundColor="#434544" size="26" color="#fff"></fui-input>
v-if="result_status == ''">点击选择
</view> </view>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(4)" v-else>{{ result_status }} </fui-form-item>
<fui-form-item label="客户来源" asterisk asteriskPosition="right" labelSize='26' prop="" background='#434544' labelColor='#fff' :bottomBorder='false'>
<view class="input-title" style="margin-right:14rpx;" >
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(1)"
v-if="result_customer_source == ''">点击选择
</view>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(1)" v-else>{{ result_customer_source }}
</view>
</view> </view>
</fui-form-item> </fui-form-item>
<fui-form-item label="签单意向联系人" labelWidth="230" labelSize='26' asterisk asteriskPosition="right" prop="mobile" <fui-form-item label="归属人员" asterisk asteriskPosition="right" labelSize='26' prop="" background='#434544' labelColor='#fff' :bottomBorder='false'>
background='#434544' labelColor='#fff' :bottomBorder='false'> <view class="input-title" style="margin-right:14rpx;" >
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(5)"
v-if="result_intention == ''">点击选择 <view class="input-title" style="margin-right:14rpx;" @click="selectCon(2)"
v-if="result_add_staff_id == ''">点击选择
</view>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(2)" v-else>{{ result_add_staff_id }}
</view>
</view> </view>
<view class="input-title" style="margin-right:14rpx;" @click="selectCon(5)" v-else>{{ result_intention }} </fui-form-item>
<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;" >
<fui-input :borderBottom="false" :padding="[0]" placeholder="点击填写" v-model="formData.contact_name" backgroundColor="#434544" size="26" color="#fff"></fui-input>
</view> </view>
</fui-form-item> </fui-form-item>
</view> </view>
<!--
<view class="input-style" style="margin-top: 50rpx;"> <view class="input-style" style="margin-top: 50rpx;">
<view class="input-style"> <view class="input-style">
<fui-form-item label="客户状态" labelSize='26' asterisk asteriskPosition="right" prop="mobile" <fui-form-item label="客户状态" labelSize='26' asterisk asteriskPosition="right" prop="mobile"
@ -92,52 +109,42 @@
</view> </view>
</view> </view>
</view> </view>
-->
<view class="title" style="margin-top: 20rpx;">附加信息</view> <view class="title" style="margin-top: 20rpx;">附加信息</view>
<view class="input-style"> <view class="input-style">
<fui-form-item label="创建下次跟进任务" labelWidth="250" labelSize='26' asterisk asteriskPosition="right" prop="mobile" <view >
background='#434544' labelColor='#fff' :bottomBorder='false'> <fui-form-item label="所在地区" labelSize='26' asterisk asteriskPosition="right" prop="mobile" background='#434544' labelColor='#fff' :bottomBorder='false'>
<fui-switch @change="switchChange" checked></fui-switch> <fui-input :borderBottom="false" :padding="[0]" placeholder="点击选择" backgroundColor="#434544" size="26" color="#fff" @click="show_area=true" v-model="formData.full_address"></fui-input>
</fui-form-item>
<view v-if="switchChange_type == 1"> <!--地区三级联动-->
<fui-picker
linkage :layer="3"
:options="options_area"
:show="show_area"
@change="changeArea"
@cancel="show_area=false"
></fui-picker>
</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.community_name" 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.customer_tags_name" backgroundColor="#434544" size="26" color="#fff" @click="show_customer_tags=true"></fui-input>
<!--下拉多选-->
<fui-select :show="show_customer_tags" :options="options_customer_tags" title="请选择银行" multiple isReverse checkboxColor="#FFC529" btnBackground="#FFC529" btnColor="#1A1D26" closeColor="#6D758A" @confirm="onConfirmCustomerTags" @close="show_customer_tags=false"></fui-select>
</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(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>
</view> </view>
</fui-form> </fui-form>
</view> </view>
<view class="fui-btn__box"> <view class="fui-btn__box">
<fui-button background="#434544" color="#24BA9F" borderColor="#24BA9F" @click="submit">保存</fui-button> <fui-button background="#434544" color="#24BA9F" borderColor="#24BA9F" @click="submit">保存</fui-button>
</view> </view>
@ -152,6 +159,9 @@
</template> </template>
<script> <script>
import commonApi from '@/api/common.js';
const rules = [{ const rules = [{
name: "mobile", name: "mobile",
rule: ["required", "isMobile"], rule: ["required", "isMobile"],
@ -162,7 +172,10 @@
return { return {
switchChange_type: 1, switchChange_type: 1,
rules, rules,
formData: {}, formData: {
customer_tags_name:'',//,,
customer_tags:[],
},
show_date: false, show_date: false,
result_date: '', result_date: '',
result_leixing: '', result_leixing: '',
@ -246,9 +259,77 @@
keyword:'',// keyword:'',//
//
result_customer_source:'',//
options_customer_source: [
{
'value': 1,
'text': '渠道1'
},
{
'value': 2,
'text': '渠道2'
}
],//
//(add_staff_id,id)
result_add_staff_id:'',//
options_add_staff_id: [
{
'value': 1,
'text': '张三'
},
{
'value': 2,
'text': '李四'
}
],//
//
show_customer_tags:false,
options_customer_tags:[
{
text: '标签1',
value: '1'
},
{
text: '标签2',
value: '2'
},
{
text: '标签3',
value: '3'
}
],//
//
show_area:false,
options_area:[],
} }
}, },
onShow(){
this.init()
},
methods: { methods: {
//
async init(){
this.getAreaTree()//
},
//
async getAreaTree(){
let res = await commonApi.getAreaTree()
if(res.code != 1){
uni.showToast({
title: res.msg,
icon: 'none'
})
return
}
this.options_area = res.data
},
//
submit() { submit() {
console.log(this.formData) console.log(this.formData)
this.$refs.form.validator(null, null, true).then(res => { this.$refs.form.validator(null, null, true).then(res => {
@ -265,12 +346,15 @@
// //
selectCon(type) { selectCon(type) {
if (type == 1) { if (type == 1) {
// //
this.options_date_type = 1 this.options_type = 1
this.show_date = true this.options = this.options_customer_source
this.show = true
this.linkage = true
} else if (type == 2) { } else if (type == 2) {
//id
this.options_type = 2 this.options_type = 2
this.options = this.options_leixing this.options = this.options_add_staff_id
this.show = true this.show = true
this.linkage = true this.linkage = true
} else if (type == 3) { } else if (type == 3) {
@ -320,12 +404,19 @@
cancel_date() { cancel_date() {
this.show_date = false this.show_date = false
}, },
// //
change(e) { change(e) {
this.show = false this.show = false
console.log(e) console.log(e)
if(this.options_type == 2){ if(this.options_type == 1){
this.result_leixing = e.result //
this.result_customer_source = e.result
this.formData.customer_source = e.value
}
else if(this.options_type == 2){
//(id)
this.result_add_staff_id = e.result
this.formData.add_staff_id = e.value
} else if (this.options_type == 3) { } else if (this.options_type == 3) {
this.result_student = e.result this.result_student = e.result
} else if (this.options_type == 4) { } else if (this.options_type == 4) {
@ -338,6 +429,32 @@
this.result_fangshi = e.result this.result_fangshi = e.result
} }
}, },
//-
onConfirmCustomerTags(e){
console.log('多选客户标签',e)
this.show_customer_tags = false
let customer_tags_name_arr = []
let customer_tags_arr = []
e.options.forEach((v,k)=>{
customer_tags_arr.push(v.value)
customer_tags_name_arr.push(v.text)
})
this.formData.customer_tags_name = customer_tags_name_arr.join(',')//
this.formData.customer_tags = customer_tags_arr//
},
//
changeArea(e){
this.show_area = false
console.log('地区选择',e)
this.formData.province_id = e.value[0]
this.formData.city_id = e.value[1]
this.formData.district_id = e.value[2]
this.formData.full_address = `${e.text[0]}-${e.text[1]}-${e.text[2]}`
},
// //
cancel() { cancel() {
this.show = false this.show = false

2
pages/student/login/login.vue

@ -73,7 +73,7 @@
uni.setStorageSync('token', res.data.token); uni.setStorageSync('token', res.data.token);
let userType = res.data.userType let userType = res.data.userType
userType = 2// // userType = 2//
uni.setStorageSync('userType', userType); uni.setStorageSync('userType', userType);
uni.setStorageSync('tabBerIndex', 0); uni.setStorageSync('tabBerIndex', 0);

Loading…
Cancel
Save