Browse Source

feat(market): 添加我的客户功能并优化线索页面

- 在 market.js 中添加 myClient 方法,用于获取我的客户数据
- 重构线索页面,增加筛选条件和分页功能
- 优化下拉刷新和加载更多逻辑
-调整筛选按钮点击事件,实现条件筛选
master
liutong 1 year ago
parent
commit
390c386c67
  1. 9
      api/market.js
  2. 103
      pages/market/clue/index.vue

9
api/market.js

@ -59,5 +59,14 @@ export default {
})
},
//我的客户
myClient(data) {
let url = '/member/my_client'
return http.post(url, data).then(res => {
return res;
})
},
}

103
pages/market/clue/index.vue

@ -3,14 +3,14 @@
<fui-segmented-control :values="values" type="text" activeColor="#29d3b4" color="#fff"
@click="segmented"></fui-segmented-control>
<view class="search">
<view :class="{'selected': select_type === 1, 'not-selected': select_type !== 1}" @click="getSelect(1)">全部(320)
<view :class="{'selected': select_type === 1, 'not-selected': select_type !== 1}" @click="setSelect(1)">全部(320)
</view>
<view :class="{'selected': select_type === 2, 'not-selected': select_type !== 2}" @click="getSelect(2)">待跟进(8)
<view :class="{'selected': select_type === 2, 'not-selected': select_type !== 2}" @click="setSelect(2)">待跟进(8)
</view>
<view :class="{'selected': select_type === 3, 'not-selected': select_type !== 3}" @click="getSelect(3)">
<view :class="{'selected': select_type === 3, 'not-selected': select_type !== 3}" @click="setSelect(3)">
7天未跟进(15)
</view>
<view :class="{'selected': select_type === 4, 'not-selected': select_type !== 4}" @click="getSelect(4)">
<view :class="{'selected': select_type === 4, 'not-selected': select_type !== 4}" @click="setSelect(4)">
30天未成交(12)
</view>
</view>
@ -363,6 +363,7 @@
<script>
import AQTabber from "@/components/AQ/AQTabber.vue"
import marketApi from '@/api/market.js';
export default {
components: {
@ -370,6 +371,20 @@ export default {
},
data() {
return {
loading:false,//
lowerThreshold: 100,//
isReachedBottom: false,//|true=|false=
//
filteredData:{
page:1,//
limit:10,//
total:10,//
type: '',//''=,1=,2=7,3=30
},
tableList:[],//
values: [{
id: 1,
name: '我的客户'
@ -381,13 +396,89 @@ export default {
segmented_type: 1,
}
},
onLoad(options) {},
onShow(){
this.init()//
},
//
async onPullDownRefresh() {
//
await this.resetFilteredData()
await this.getList()
},
methods: {
getSelect(type) {
//
async init(){
await this.getList();
},
//()
loadMoreData() {
//
if (!this.isReachedBottom) {
this.isReachedBottom = true;//
this.getList();
}
},
//
async resetFilteredData() {
this.isReachedBottom = false; // 便
this.filteredData.page = 1//
this.filteredData.limit = 10//
this.filteredData.total = 10//
},
//
async getList(){
this.loading = true
let data = {...this.filteredData}
//
if(this.filteredData.page * this.filteredData.limit > this.filteredData.total){
this.loading = false
uni.showToast({
title: '暂无更多',
icon: 'none'
})
return
}
if(data.page == 1){
this.tableList = []
}
let res = await marketApi.myClient(data)
this.loading = false
this.isReachedBottom = false;
if (res.code != 1){
uni.showToast({
title: res.msg,
icon: 'none'
})
return
}
this.tableList = this.tableList.concat(res.data.data); // 使 concat
console.log('列表',this.tableList)
this.filteredData.total = res.data.total
this.filteredData.page++
},
//
async setSelect(type) {
this.select_type = type
//
await this.resetFilteredData()
this.filteredData.type = type
await this.getList()
},
//tag
segmented(index) {
this.segmented_type = index.id
this.segmented_type = index.id//1=,2=
},
clue_info() {
uni.navigateTo({
url: '/pages/market/clue/clue_info'

Loading…
Cancel
Save