对接部分接口

This commit is contained in:
浅念
2025-03-17 17:43:41 +08:00
parent f24b70c8e9
commit 328311fe2a
10 changed files with 536 additions and 211 deletions
+50 -33
View File
@@ -14,31 +14,33 @@
</view>
</view>
</view>
<view class="list">
<view class="contents" v-for="(item, index) in datalist" :key="index" >
<view class="" @click="godetile(item)">
<view class="top">
<view class="">2025.03.11 12:00</view>
<view class="tag">{{$t('followup')}}</view>
</view>
<u-divider text="" :hairline="true"></u-divider>
<view class="cont">
<view class="title">
<view class=""><text class="name">刘德华</text><text class="phone">138****2264</text></view>
<view class="ststus">初步接触</view>
<z-paging ref="paging" v-model="datalist" @query="queryList" style="margin-top: 100px;" empty-view-text='暂无数据!'>
<view class="list">
<view class="contents" v-for="(item, index) in datalist" :key="index" >
<view class="" @click="godetile(item)">
<view class="top">
<view class="">{{item.created_at}}</view>
<view class="tag">{{$t('followup')}}</view>
</view>
<view class="info"><text class="sex">男</text> | <text class="addr">迪拜</text><text class="type">越野车</text>
<u-line margin="20rpx 0px"></u-line>
<view class="cont">
<view class="title">
<view class=""><text class="name">{{item.contacts}}</text><text class="phone">{{item.phone}}</text></view>
<view class="ststus">{{item.grade_txt}}</view>
</view>
<view class="info"><text class="sex">男</text> | <text class="addr">迪拜</text><text class="type">越野车</text>
</view>
</view>
</view>
</view>
<view class="desc1">
<view class="" @click="callPhone(item)"><image src="/static/image/customer/phone.png" mode=""></image> {{$t('call')}}</view>
<view class="" @click="editClick(item)"><image src="/static/image/customer/edit.png" mode=""></image> {{$t('followup')}}</view>
<view class="" @click="delClick(item)"><image src="/static/image/customer/trash.png" mode=""></image> {{$t('delete')}}</view>
<view class="desc1">
<view class="" @click="callPhone(item)"><image src="/static/image/customer/phone.png" mode=""></image> {{$t('call')}}</view>
<view class="" @click="editClick(item)"><image src="/static/image/customer/edit.png" mode=""></image> {{$t('followup')}}</view>
<view class="" @click="delClick(item)"><image src="/static/image/customer/trash.png" mode=""></image> {{$t('delete')}}</view>
</view>
</view>
</view>
</view>
</z-paging>
<u-picker :show="show" :columns="columns" @cancel="cancel" @confirm="confirm" title="客户筛选" keyName="label"></u-picker>
<u-popup :show="showts" :closeOnClickOverlay="false" :round="20" mode="center">
<view class="popupcontent">
@@ -63,7 +65,7 @@
</template>
<script>
// import { request,showToast } from '@/api/apiT.js'
import { request,showToast } from '@/api/apiT.js'
export default {
data() {
return {
@@ -84,35 +86,49 @@
id: 3
}]
],
datalist:[
{id:1,phone:'17839087603'},
{id:2,phone:'18437931136'},
{id:3,phone:'18339827479'},
{id:4,phone:'17839087603'}
],
datalist:[],
}
},
onLoad() {
const { windowWidth, windowHeight } = uni.getSystemInfoSync();
this.x = windowWidth-70
this.y = windowHeight-25
this.y = windowHeight-55
},
methods: {
searchCli(){
},
close() {
// console.log('close');
this.show= false
},
confirm(e) {
// console.log('confirm', e);
this.show = false
},
cancel() {
// console.log('cancel');
this.show = false
},
//客户列表数据
queryList(pageNo, pageSize) {
var that = this;
request({
url:'customer/list',
method:'get',
data: {
page:pageNo,
per_page:10
}
}).then(res => {
console.log(res.data)
if(res.data.code ==0){
var datas = res.data.data.list;
this.$refs.paging.complete(datas);
}else{
// this.$refs.paging.complete(null);
// that.listlength=0
}
uni.stopPullDownRefresh();
})
},
godetile(item){
console.log(item)
uni.navigateTo({
@@ -142,7 +158,7 @@
},
editClick(item){
uni.navigateTo({
url: '/pages/customer/followup'
url: '/pages/customer/followup?id='+item.id
});
},
delClick(item){
@@ -165,6 +181,7 @@
background-image: url("/static/image/customer/bg.png");
background-size: 100%;
background-repeat: no-repeat;
height: calc(100vh - 50px);
}
.navbar{
height: 44px;
@@ -211,7 +228,7 @@
.list{
padding: 15px;
overflow: auto;
height: calc(100vh-140px);
// height: calc(100vh - 350rpx);
.contents{
background-color: #FFFFFF;
border-radius: 10px;
+58 -29
View File
@@ -1,5 +1,6 @@
<template>
<view class="content">
<z-paging ref="paging" v-model="datalist" @query="queryList" style="background: #F3F3F3;" empty-view-text='暂无数据!'>
<view class="contop">
<view class="changeyy" @click="showlang = true" >
<image src="/static/image/change.png" mode=""></image>{{$t('home.langbtn')}}
@@ -21,11 +22,7 @@
</view>
</view>
<view class="cont">
<u-grid :border="false" col="4">
<u-grid-item>
<text class="grid-num">20</text>
<text class="grid-text">{{$t('home.addxs')}}</text>
</u-grid-item>
<u-grid :border="false">
<u-grid-item>
<text class="grid-num">20</text>
<text class="grid-text">{{$t('home.addkh')}}</text>
@@ -41,35 +38,36 @@
</u-grid>
</view>
</view>
<view class="userlist">
<u-sticky offset-top="-44">
<u-tabs :list="list1" :scrollable="false"></u-tabs>
<u-sticky offset-top="-44" >
<view class="tabsbg">
<u-tabs :list="list1" :scrollable="false"></u-tabs>
</view>
</u-sticky>
<view class="list">
<userlist :list="datalist" @click="godetile">
<template v-slot:footer>
<view class="desc">客户想要性价比高,偏爱宝马</view>
</template>
<template v-slot:footertab>
<view></view>
</template>
</userlist>
</view>
<view class="list">
<userlist :list="datalist" @click="godetile">
</userlist>
</view>
</view>
</z-paging>
<u-datetime-picker :cancel-text="$t('cancel')" :confirm-text="$t('confirm')" :show="show" v-model="value1" @confirm="confirm" @cancel="cancel" mode="year-month"></u-datetime-picker>
<u-picker :cancel-text="$t('cancel')" :confirm-text="$t('confirm')" :show="showlang" :columns="columns" @cancel="cancellang" @confirm="confirmlang" :title="$t('home.langbtn')" keyName="label"></u-picker>
</view>
</template>
<script>
import { request,showToast } from '@/api/apiT.js'
import userlist from '@/components/userlist/index.vue';
// import { request,showToast } from '@/api/apiT.js'
export default {
components: {
userlist
},
data() {
return {
headerBgColor: 'transparent', // 初始背景色为透明
home: this.$t('tabbar.home'),
value0: 0,
show: false,
@@ -77,12 +75,7 @@
value1: Number(new Date()),
timevalue:this.result(Number(new Date())),
time:this.result(Number(new Date())),
datalist:[
{id:1},
{id:2},
{id:3},
{id:4}
],
datalist:[],
columns:[
[{
label: '中文',
@@ -109,16 +102,22 @@
}
},
onLoad() {
// this.getcustomerlist()
},
methods: {
confirm(e) {
// console.log('confirm', e);
this.show = false
// 处理滚动事件
onPageScroll(event) {
const scrollTop = event.scrollTop || 0;
if (scrollTop > 310) { // 吸顶条件
this.headerBgColor = '#E6EDFF'; // 吸顶时设置背景色
} else {
this.headerBgColor = 'transparent'; // 取消吸顶时恢复背景色
}
},
cancellang() {
// console.log('cancel');
this.showlang = false
},
//语言切换事件
confirmlang(e) {
this.$i18n.locale = e.value[0].id
this.showlang = false
@@ -146,6 +145,10 @@
text: this.$t('tabbar.mine')
})
},
//日期选择组件
confirm(e) {
this.show = false
},
cancel() {
this.show = false
},
@@ -159,6 +162,28 @@
this.time=timeFormat(time, 'yyyy-mm')
return timeFormat(time, 'yyyy-mm')
},
//客户列表数据
queryList(pageNo, pageSize) {
var that = this;
request({
url:'customer/list',
method:'get',
data: {
page:pageNo,
per_page:10
}
}).then(res => {
console.log(res.data)
if(res.data.code ==0){
var datas = res.data.data.list;
this.$refs.paging.complete(datas);
}else{
// this.$refs.paging.complete(null);
// that.listlength=0
}
uni.stopPullDownRefresh();
})
},
godetile(item){
console.log(item)
uni.navigateTo({
@@ -174,6 +199,10 @@
width: 18px;
height: 18px;
}
.tabsbg{
border-radius: 16px 16px 0px 0px;
background:linear-gradient(to bottom, #E6EDFF, #eaeffa);
}
.changeyy{
padding: 10px 15px;
border-radius: 50px;
@@ -250,7 +279,7 @@
}
.grid-text{
color: #222222;
font-size: 20rpx;
font-size: 24rpx;
}
}