Browse Source

feat(market): 添加客户详情功能

- 在 api/market.js 中新增 clientInfo 方法获取客户详情- 创建 pages/market/clue/clue_info.vue 页面展示客户详情- 在 pages/market/clue/index.vue 中添加跳转到客户详情页面的功能
master
liutong 12 months ago
parent
commit
bd1622212d
  1. 10
      api/market.js
  2. 91
      pages/market/clue/clue_info.vue
  3. 14
      pages/market/clue/index.vue

10
api/market.js

@ -67,6 +67,16 @@ export default {
})
},
//客户详情
clientInfo(data={}) {
let url = '/member/client_info'
return http.get(url, data).then(res => {
return res;
})
},
}

91
pages/market/clue/clue_info.vue

@ -1,19 +1,20 @@
<!--我的-首页-->
<!--客户详情-->
<template>
<view class="assemble">
<view class="main_box">
<view style="height: 20rpx;background: #29D3B4;"></view>
<view class="count_section">
<view class="main">
<view class="course_box">
<view class="course_box_top">
<view class="course_box_top_top">
<image class="pic" src="http://www.firstui.cn:4000/vipdoc/img/img_logo.png"></image>
<view class="name">包子皮</view>
<view class="name">{{ clientInfo.student_name }}</view>
</view>
<view class="course_box_top_below">
<view class="course_box_top_below-left">
<view>08-30 14:25  跟进</view>
<view>08-30 14:25 跟进</view>
<view style="display: flex;align-items: center;" v-if="false">
<view style="padding-left: 30rpx;">
<image src="@/static/images/index/intention1.png" class="drop-image-x"></image>
@ -43,16 +44,23 @@
</view>
<view class="course_box_centre"></view>
<view class="course_box_below">
<view :class="{'selected-text': switch_tags_type === 1, 'text': switch_tags_type !== 1}" @click="switch_tags(1)">基本资料</view>
<view :class="{'selected-text': switch_tags_type === 2, 'text': switch_tags_type !== 2}" @click="switch_tags(2)">跟进记录</view>
<view :class="{'selected-text': switch_tags_type === 3, 'text': switch_tags_type !== 3}" @click="switch_tags(3)">通话记录</view>
<view :class="{'selected-text': switch_tags_type === 4, 'text': switch_tags_type !== 4}" @click="switch_tags(4)">在籍客户</view>
<view :class="{'selected-text': switch_tags_type === 1, 'text': switch_tags_type !== 1}"
@click="switch_tags(1)">基本资料
</view>
<view :class="{'selected-text': switch_tags_type === 2, 'text': switch_tags_type !== 2}"
@click="switch_tags(2)">跟进记录
</view>
<view :class="{'selected-text': switch_tags_type === 3, 'text': switch_tags_type !== 3}"
@click="switch_tags(3)">通话记录
</view>
</view>
</view>
</view>
<view class="bg_box bg_top"></view>
<view class="bg_box bg_bottom"></view>
</view>
<!-- 基本资料-->
<view class="basic-information" v-if="switch_tags_type == 1">
<view class="basic-message">基本信息</view>
<view class="basic-message-div">
@ -89,10 +97,12 @@
<view>赵小刚 (已锁定到期时间10/30)</view>
</view>
</view>
<view class="basic-message">
<view>联系人信息<span style="padding-left: 10rpx;color: #7F7F7F;">选中为客户首联系人</span></view>
<view style="color: #45C59F;font-size: 24rpx;">添加</view>
</view>
<view class="basic-message-div">
<view class="basic-message-div-txt">
<view>包念念</view>
@ -103,6 +113,7 @@
<view>1888888888</view>
</view>
</view>
<view class="basic-message">附加信息</view>
<view class="basic-message-div">
<view class="basic-message-div-txt">
@ -113,13 +124,11 @@
<view>体验课程</view>
<view>1</view>
</view>
<view class="basic-message-div-txt">
<view>客户标签</view>
<view>XXXX,XXXX,XXXX</view>
</view>
</view>
<view style="height: 200rpx;"></view>
</view>
<!-- 跟进记录-->
<view class="follow-records" v-if="switch_tags_type == 2">
<view>
<view class="basic-message">08-23</view>
@ -156,6 +165,8 @@
</view>
<view style="height: 200rpx;"></view>
</view>
<!-- 通话记录-->
<view class="call-log" v-if="switch_tags_type == 3">
<view>
<view class="basic-message">08-23</view>
@ -195,12 +206,22 @@
</view>
<view style="height: 200rpx;"></view>
</view>
<!-- 在籍客户-->
<view class="registered-clients" v-if="switch_tags_type == 4">
<view class="search">
<view :class="{'selected': select_type === 1, 'not-selected': select_type !== 1}" @click="getSelect(1)">全部(320)</view>
<view :class="{'selected': select_type === 2, 'not-selected': select_type !== 2}" @click="getSelect(2)">同校(8)</view>
<view :class="{'selected': select_type === 3, 'not-selected': select_type !== 3}" @click="getSelect(3)">同班(15)</view>
<view :class="{'selected': select_type === 4, 'not-selected': select_type !== 4}" @click="getSelect(4)">同小区(12)</view>
<view :class="{'selected': select_type === 1, 'not-selected': select_type !== 1}" @click="getSelect(1)">
全部(320)
</view>
<view :class="{'selected': select_type === 2, 'not-selected': select_type !== 2}" @click="getSelect(2)">
同校(8)
</view>
<view :class="{'selected': select_type === 3, 'not-selected': select_type !== 3}" @click="getSelect(3)">
同班(15)
</view>
<view :class="{'selected': select_type === 4, 'not-selected': select_type !== 4}" @click="getSelect(4)">
同小区(12)
</view>
</view>
<view style="margin: 16rpx;">
<view class="follow-records-list">
@ -309,30 +330,56 @@
</view>
<view style="height: 200rpx;"></view>
</view>
<!-- 底部按钮组-->
<view class="bottom-label">
<view>写作跟进</view>
<view>新建任务</view>
<view>添加跟进记录</view>
<view>拨打电话</view>
<view>更多操作</view>
<view>转角跟进任务</view>
</view>
</view>
</view>
</template>
<script>
// import user from '@/api/user.js';
import marketApi from '@/api/market.js';
export default {
data() {
return {
formData: {},
switch_tags_type: 4,
switch_tags_type: 1,
select_type: 1,
id:'',//线id
clientInfo:{},//
}
},
onLoad() {},
onLoad(options) {
this.id = options.id
},
onShow(){
this.init()
},
methods: {
async init(){
this.getInfo()
},
//
async getInfo(){
let data = {
id:this.id//线id
}
let res = await marketApi.clientInfo(data)
if(res.code != 1){
uni.showToast({
title: res.msg,
icon: 'none'
})
return
}
this.clientInfo = res.data
},
//
switch_tags(type){
this.switch_tags_type = type

14
pages/market/clue/index.vue

@ -23,7 +23,7 @@
style="height: 100vh;"
>
<view class="card" v-for="(v,k) in tableList" :key="k">
<view style="width: 70%;" @click="clue_info">
<view style="width: 70%;" @click="clue_info(v)">
<view style="display: flex;align-items: center;padding: 20rpx;">
<view>
<image src="@/static/images/index/myk.png" class="card-image"></image>
@ -35,7 +35,9 @@
首联系人{{ v.contact_name }} <span class="card-con-span">{{ v.decision_maker }}</span>
</view>
<view class="card-date">
<view class="card-con">{{ $util.formatToDateTime((v.follow && v.follow.follow_up_time || ''),'m-d H:i') }} 跟进</view>
<view class="card-con">{{ $util.formatToDateTime((v.follow && v.follow.follow_up_time || ''), 'm-d H:i') }}
跟进
</view>
<view style="margin-left: 30rpx;">
<view style="display: flex;align-items: center;">
<view style="padding: 12rpx;">
@ -210,7 +212,7 @@ export default {
this.filteredData.limit = 10//
this.filteredData.total = 10//
},
//
//
async getList(){
this.loading = true
@ -324,9 +326,11 @@ export default {
})
},
clue_info() {
//
clue_info(item) {
let id = item.id
uni.navigateTo({
url: '/pages/market/clue/clue_info'
url: `/pages/market/clue/clue_info?id=${id}`
})
},
}

Loading…
Cancel
Save