This commit is contained in:
1154079537 2024-05-11 14:38:31 +08:00
parent 8f7ba8ba4e
commit ed54b94354
6 changed files with 607 additions and 515 deletions

View File

@ -12,10 +12,11 @@
<view class="con line1" v-if="item.last && item.last.msn_type == 2">[表情]</view>
<view class="con line1" v-if="item.last && item.last.msn_type == 3">[图片]</view>
<view class="con line1" v-if="item.last && item.last.msn_type == 4">[商品]</view>
<view class="con line1" v-if="item.last && (item.last.msn_type == 5 || item.last.msn_type == 6)">[订单]</view>
<view class="con line1"
v-if="item.last && (item.last.msn_type == 5 || item.last.msn_type == 6)">[订单]</view>
</view>
<view class="right-box">
<view class="time">{{item.last && item.last.create_time.split(' ')[1] || ''}}</view>
<view class="time">{{item.display_time}}</view>
<view class="num" v-if="item.num>0">{{item.num}}</view>
</view>
</div>
@ -23,18 +24,21 @@
<block v-if="type == 1 && list.length>0" v-for="(item,index) in list" :key="index">
<div class="item acea-row" @click="goPage(item)">
<view class="logo">
<image :src="(item.user && item.user.avatar) ? item.user.avatar : '/static/images/f.png'" mode=""></image>
<image :src="(item.user && item.user.avatar) ? item.user.avatar : '/static/images/f.png'"
mode=""></image>
</view>
<view class="info">
<view class="name">{{item.user && item.user.nickname}}</view>
<view class="con line1" v-if="item.last && item.last.msn_type == 1">{{item.last.msn}}</view>
<view class="con line1" v-if="item.last && item.last.msn_type == 2">[表情]</view>
<view class="con line1" v-if="item.last && item.last.msn_type == 3">[图片]</view>
<view class="con line1" v-if="item.last && (item.last.msn_type == 4 || item.last.msn_type == 7)">[商品]</view>
<view class="con line1" v-if="item.last && (item.last.msn_type == 5 || item.last.msn_type == 6)">[订单]</view>
<view class="con line1"
v-if="item.last && (item.last.msn_type == 4 || item.last.msn_type == 7)">[商品]</view>
<view class="con line1"
v-if="item.last && (item.last.msn_type == 5 || item.last.msn_type == 6)">[订单]</view>
</view>
<view class="right-box">
<view class="time">{{item.last && item.last.create_time.split(' ')[1]}}</view>
<view class="time">{{item.display_time}}</view>
<view class="num" v-if="item.num>0">{{item.num}}</view>
</view>
</div>
@ -57,9 +61,16 @@
// +----------------------------------------------------------------------
import emptyPage from '@/components/emptyPage.vue'
import { serviceList, serviceUserList } from "@/api/user";
import { toLogin } from '@/libs/login.js';
import { mapGetters } from "vuex";
import {
serviceList,
serviceUserList
} from "@/api/user";
import {
toLogin
} from '@/libs/login.js';
import {
mapGetters
} from "vuex";
export default {
name: "CustomerList",
components: {
@ -207,6 +218,7 @@
transform: rotate(180deg);
font-size: 36rpx;
}
.popupn {
position: fixed;
width: 100%;
@ -217,17 +229,20 @@
height: 90rpx;
line-height: 90rpx;
z-index: 100;
.title {
max-width: 560rpx;
margin: 0 auto;
position: relative;
}
.iconfont {
display: inline-block;
position: relative;
top: 4rpx;
right: 0;
}
.mer_logo {
width: 34rpx;
height: 34rpx;
@ -235,36 +250,44 @@
top: 6rpx;
right: 10px;
}
.mer_name {
display: inline-block;
max-width: 650rpx;
}
.invoice-content {
background-color: #ffffff;
}
}
.list_count {
margin-top: 104rpx;
}
.item {
align-items: center;
border-bottom: 1px solid #eee;
padding: 20rpx 30rpx;
background-color: #fff;
.logo image {
width: 88rpx;
height: 88rpx;
border-radius: 50%;
}
.info {
width: 334rpx;
margin-left: 20rpx;
.con {
margin-top: 10rpx;
color: #999999;
font-size: 24rpx;
}
}
.right-box {
flex: 1;
display: flex;
@ -272,9 +295,11 @@
align-items: flex-end;
font-size: 20rpx;
color: #BBBBBB;
.time {
margin-bottom: 10rpx;
}
.num {
min-width: 6px;
background-color: var(--view-theme);

View File

@ -6,18 +6,15 @@
.wholeSale {
background-color: #f8fafb !important;
.wholeSale-header-search-wrap {
padding: 30rpx 20rpx 0;
background-color: #fff;
}
.wholeSale-header {
position: fixed;
width: 100%;
position: sticky;
top: 0;
left: 0;
background-color: #40AE36;
z-index: 100;
margin-bottom: 20rpx;
background-color: #40AE36;
.scrollview {
display: flex;
@ -52,21 +49,20 @@
}
}
.wholeSale-category {
margin: 0 20rpx 20rpx;
.wholeSale-section {
padding: 0rpx 20rpx;
background-color: #fff;
border-radius: 10rpx;
padding: 20rpx 20rpx 1rpx 20rpx;
transition: height .5s;
overflow: hidden;
.wholeSale-search {
.wholeSale-nav {
display: flex;
align-items: center;
margin-bottom: 40rpx;
margin-bottom: 20rpx;
.icon {
margin-right: 20rpx;
}
}
.search_content {
flex: 1;
@ -102,12 +98,12 @@
color: #fff;
}
}
}
.category {
width: 100%;
overflow: hidden;
overflow: auto;
margin-bottom: 20rpx;
transition: height .8s;
.category-wrap {
display: flex;
@ -181,18 +177,49 @@
}
}
}
}
.wholeSale-con {
height: 100vh;
margin: 0 20rpx;
padding-bottom: 30rpx;
}
.comprehensive {
display: flex;
justify-content: space-between;
align-items: center;
padding: 0 50rpx;
[class^=comprehensive-] {
display: flex;
align-items: center;
text {
margin-right: 12rpx;
font-size: 26rpx;
color: #666666;
}
image {
width: 28rpx;
height: 28rpx;
}
.loudou {
width: 24rpx;
height: 24rpx;
}
}
}
}
</style>
<template>
<view class="wholeSale">
<!-- 顶部导航栏适配不同机 -->
<!-- 顶部 -->
<view class="wholeSale-header">
<!-- 适配不同机 -->
<view style="height: var(--status-bar-height);background-color: #40af37;"></view>
<view style="display: flex;padding: 20rpx 28rpx;background-color: #40af37;color: #fff;">
<view style="display: flex;font-weight: bold;font-size: 32rpx;"><u-icon style="margin-right: 20rpx;"
@ -200,10 +227,9 @@
</view>
</view>
<view class="wholeSale-category-wrap" :style="{height:'65px'}"></view>
<view class="wholeSale-category">
<view class="wholeSale-search">
<!-- 分类区域 -->
<view class="wholeSale-section" :style="{height:wrapHeight}">
<view class="wholeSale-nav">
<view @click="navTo(`/pages/columnGoods/goods_search/index?back=true&searchVal=${where.keyword}`)"
hover-class="none" class="search_content flex_a_c_j_sb">
<view class="flex_a_c search_content_wrap">
@ -251,9 +277,12 @@
<!-- 内容 -->
<view class="wholeSale-con">
<scroll-view :scroll-y="true" @scrolltolower="onScrollBottom" @scroll="onScroll" style="height: 100%;"
@refresherrefresh="refresh">
<!-- 流水瀑布 -->
<WaterfallsFlow :wfList='hostProduct' @itemTap="goDetail" :type="0" />
<loadmore :type="isLoading"></loadmore>
</scroll-view>
</view>
</view>
</template>
@ -288,8 +317,9 @@
deduction_rate: '', //
rand: 1
},
distance: 20,
scrollTop: 0
wrapHeight: 'auto',
maxHeight: '',
scrollTop: 0,
}
},
onLoad(option) {
@ -301,16 +331,30 @@
},
onPageScroll(e) {
uni.$emit('scroll');
this.scrollTop = e.scrollTop;
},
onPullDownRefresh() {
this.getProductslist(true);
},
methods: {
refresh(e) {
console.log(e);
},
onScrollBottom(e) {
this.getProductslist();
},
onScroll(e) {
if (this.scrollTop > e.target.scrollTop) { //
this.wrapHeight = '352rpx';
} else {
this.wrapHeight = 0;
}
this.scrollTop = e.target.scrollTop;
},
navTo(url) {
uni.navigateTo({
url: url,
@ -324,9 +368,11 @@
}
})
},
navBack() {
uni.navigateBack();
},
tabsChange(e) {
this.tabsCurr = e;
},
@ -348,6 +394,11 @@
if (e == 0) this.where.cate_pid = this.store_category[this.cate_change]
.store_category_id; // , id
this.getProductslist(true);
this.$util.getDom(this, '.wholeSale-section', (res) => {
this.maxHeight = res.height + 'px';
})
},
getStoreCategory() {
getStoreCategory(259).then(res => {
@ -361,13 +412,13 @@
cate_name: '全部',
store_category_id: ''
})
})
//
this.$nextTick(() => {
this.$util.getDom(this, '.wholeSale-category', (res) => {
this.categoryHeight = res.height;
setTimeout(() => {
this.$util.getDom(this, '.wholeSale-section', (res) => {
this.wrapHeight = res.height + 'px';
this.maxHeight = res.height;
})
}, 300)
})
},
getProductslist(reLoad = false) {

View File

@ -1094,9 +1094,6 @@
this.loadGoods(e);
},
loadGoods(e = 1) {
console.log(e);
this.$nextTick(() => {
if (e == 1) return this.get_host_product(0);
if (e == 2) return this.get_host_home({

View File

@ -265,7 +265,7 @@
limit: 20,
sale_type: 2, //1, 2
mer_type: 1,
mer_cate_pid: '', //
cate_pid: '', //
cate_id: '',
keyword: '',
deduction_rate: '', //
@ -422,7 +422,7 @@
store_category_id: ''
})
this.cate_change_children = 0;
if (this.tabsCurr == 1) this.where.mer_cate_pid = this.store_category[e].store_category_id;
if (this.tabsCurr == 1) this.where.cate_pid = this.store_category[e].store_category_id;
else {
this.where.cate_pid = this.store_category[e].store_category_id;
this.where.cate_id = "";
@ -436,7 +436,7 @@
},
changeChildrenCate(e) {
this.cate_change_children = e;
let key = 'mer_cate_pid';
let key = 'cate_pid';
if (this.tabsCurr != 1) key = 'cate_id';
this.where[key] = this.store_category_children[e].store_category_id;
if (e == 0) this.where[key] = this.store_category[this.cate_change].store_category_id; // , id

View File

@ -1,20 +1,39 @@
const mixins = {
data() {
return {
totalHeight: 0,
scrollInfo: undefined,
userMoney: undefined
wrapHeight: 'auto',
clientY: 0,
maxHeight: 0,
}
},
// 顶部导航栏透明滚动
onPageScroll(e) {
this.scrollInfo = e;
},
methods: {
getPageScroll() {
this.$utils.getDom();
watch: {
'where.cate_pid'(newVal, oldVal) {
// if (newVal && !oldVal) {
// this.wrapHeight = this.wrapHeight + 24;
// this.maxHeight = this.wrapHeight;
// }
// if (!newVal && oldVal) {
// this.wrapHeight = this.wrapHeight - 24;
// this.maxHeight = this.wrapHeight;
// }
}
},
methods: {
// 移动
onTouchMove(e) {
// const moveDistance = e.changedTouches[0].clientY - this.clientY;
// if (moveDistance > 5) {
// this.wrapHeight = this.maxHeight;
// } else {
// this.wrapHeight = 0;
// }
},
// 开始触摸屏幕
onTouchStart(e) {
// this.clientY = e.changedTouches[0].clientY;
},
}
}
export default mixins;