Browse Source

refactor(market): 重构市场线索页面

- 移除静态卡片数据,使用动态列表渲染- 优化卡片样式和布局- 添加意向等级动态显示
- 修复分页和筛选逻辑- 优化数据请求参数
master
liutong 1 year ago
parent
commit
7f20bd8825
  1. 163
      pages/market/clue/index.vue

163
pages/market/clue/index.vue

@ -14,151 +14,42 @@
30天未成交(12)
</view>
</view>
<!--我的客户-->
<view v-if="segmented_type == 1">
<view class="card">
<view style="width: 70%;" @click="clue_info">
<view style="display: flex;align-items: center;padding: 20rpx;">
<view>
<image src="@/static/images/index/myk.png" class="card-image"></image>
</view>
<view class="card-text">包子皮</view>
<view class="card-label">试听</view>
</view>
<view class="card-con">
首联系人包念念 <span class="card-con-span">妈妈</span>
</view>
<view class="card-date">
<view class="card-con">08-30 14:25  跟进</view>
<view style="margin-left: 30rpx;">
<view style="display: flex;align-items: center;">
<view style="padding: 12rpx;">
<image src="@/static/images/index/intention1.png" class="drop-image-x"></image>
</view>
<view class="title-x">意向</view>
</view>
</view>
</view>
</view>
<view style="width: 15%;">
<image src="@/static/images/index/message.png" class="image"></image>
</view>
<view style="width: 15%;">
<image src="@/static/images/index/phone.png" class="image"></image>
</view>
</view>
<view class="card">
<view style="width: 70%;" @click="clue_info">
<view style="display: flex;align-items: center;padding: 20rpx;">
<view>
<image src="@/static/images/index/myk.png" class="card-image"></image>
</view>
<view class="card-text">包子皮</view>
<view class="card-label">试听</view>
</view>
<view class="card-con">
首联系人包念念 <span class="card-con-span">妈妈</span>
</view>
<view class="card-date">
<view class="card-con">08-30 14:25  跟进</view>
<view style="margin-left: 30rpx;">
<view style="display: flex;align-items: center;">
<view style="padding: 12rpx;">
<image src="@/static/images/index/intention3.png" class="drop-image-x"></image>
</view>
<view class="title-x">意向</view>
</view>
</view>
</view>
</view>
<view style="width: 15%;">
<image src="@/static/images/index/message.png" class="image"></image>
</view>
<view style="width: 15%;">
<image src="@/static/images/index/phone.png" class="image"></image>
</view>
</view>
<view class="card">
<view style="width: 70%;" @click="clue_info">
<view style="display: flex;align-items: center;padding: 20rpx;">
<view>
<image src="@/static/images/index/myk.png" class="card-image"></image>
</view>
<view class="card-text">包子皮</view>
<view class="card-label">试听</view>
</view>
<view class="card-con">
首联系人包念念 <span class="card-con-span">妈妈</span>
</view>
<view class="card-date">
<view class="card-con">08-30 14:25  跟进</view>
<view style="margin-left: 30rpx;">
<view style="display: flex;align-items: center;">
<view style="padding: 12rpx;">
<image src="@/static/images/index/intention2.png" class="drop-image-x"></image>
</view>
<view class="title-x">意向</view>
</view>
</view>
</view>
</view>
<view style="width: 15%;">
<image src="@/static/images/index/message.png" class="image"></image>
</view>
<view style="width: 15%;">
<image src="@/static/images/index/phone.png" class="image"></image>
</view>
</view>
<view class="card">
<view class="card" v-for="(v,k) in tableList" :key="k">
<view style="width: 70%;" @click="clue_info">
<view style="display: flex;align-items: center;padding: 20rpx;">
<view>
<image src="@/static/images/index/myk.png" class="card-image"></image>
</view>
<view class="card-text">包子皮</view>
<view class="card-label">试听</view>
<view class="card-text">{{v.student_name}}</view>
<view class="card-label">{{v.is_status == 1 ? '试听' : '成交'}}</view>
</view>
<view class="card-con">
首联系人包念念 <span class="card-con-span">妈妈</span>
首联系人{{v.contact_name}} <span class="card-con-span">{{v.decision_maker}}</span>
</view>
<view class="card-date">
<view class="card-con">跟进</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;">
<image src="@/static/images/index/intention1.png" class="drop-image-x"></image>
<image
v-if="['A+','A','A-'].includes(v.follow && v.follow.initial_customer_intent || '')"
src="@/static/images/index/intention3.png"
class="drop-image-x"
></image>
<image
v-else-if="['B+','B','B-'].includes(v.follow && v.follow.initial_customer_intent || '')"
src="@/static/images/index/intention2.png"
class="drop-image-x"
></image>
<image
v-else
src="@/static/images/index/intention1.png"
class="drop-image-x"
></image>
</view>
<view class="title-x">意向</view>
</view>
</view>
</view>
</view>
<view style="width: 15%;">
<image src="@/static/images/index/message.png" class="image"></image>
</view>
<view style="width: 15%;">
<image src="@/static/images/index/phone.png" class="image"></image>
</view>
</view>
<view class="card">
<view style="width: 70%;" @click="clue_info">
<view style="display: flex;align-items: center;padding: 20rpx;">
<view>
<image src="@/static/images/index/myk.png" class="card-image"></image>
</view>
<view class="card-text">包子皮</view>
<view class="card-label">试听</view>
</view>
<view class="card-con">
首联系人包念念 <span class="card-con-span">妈妈</span>
</view>
<view class="card-date">
<view class="card-con">08-30 14:25  跟进</view>
<view style="margin-left: 30rpx;">
<view style="display: flex;align-items: center;">
<view style="padding: 12rpx;">
<image src="@/static/images/index/intention1.png" class="drop-image-x"></image>
</view>
<view class="title-x">意向</view>
<view class="title-x">意向{{ v.follow && v.follow.initial_customer_intent || '' }}</view>
</view>
</view>
</view>
@ -171,6 +62,7 @@
</view>
</view>
</view>
<!--区域公海-->
<view v-if="segmented_type == 2">
<view style="color: #999999;padding: 20rpx 30rpx;">
今日待领15/30
@ -380,7 +272,8 @@ export default {
page:1,//
limit:10,//
total:10,//
type: '',//''=,1=,2=7,3=30
type: '0',//0=,1=,2=7,3=30
is_gh: '1',//1=,2=
},
tableList:[],//
@ -471,10 +364,11 @@ export default {
this.select_type = type
//
await this.resetFilteredData()
this.filteredData.is_gh = this.segmented_type
switch (type) {
//
case 1:
this.filteredData.type = ''
this.filteredData.type = '0'
break
//
case 2:
@ -497,7 +391,8 @@ export default {
this.segmented_type = index.id//1=,2=
//
await this.resetFilteredData()
this.filteredData.type = ''
this.filteredData.is_gh = this.segmented_type
this.filteredData.type = '0'
await this.getList()
},

Loading…
Cancel
Save