初始化万家商超用户端仓库

This commit is contained in:
wangxiaowei
2025-04-30 14:04:34 +08:00
commit 022c640d89
425 changed files with 160005 additions and 0 deletions

View File

@ -0,0 +1,413 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center allEvaluations_flex_0"
:style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub allEvaluations_fd0_0'>
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1">
<text class='fu-iconfont2 allEvaluations_fd0_0_c0_c0' @tap.stop="handleJumpDiy" data-type="back"
data-url="1">&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub'>
<text class='allEvaluations_fd0_0_c1_c0'>全部评价</text>
</view>
<view class='flex flex-wrap align-center allEvaluations_fd0_0_c2'>
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}"></view>
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center">
<view class='flex flex-wrap align-center flex-sub allEvaluations_fd1_0'>
<!-- <benben-select-diy ref="showSelectPopup1684722326514" class-name='flex flex-wrap flex'
:items.sync="evaluate_List" v-model="evaluate_id" default-type="value" default-label="name"
:allow-cancel='false' type="radio" :disabled='false'> -->
<template v-for='(item,key0) in evaluate_List'>
<view v-if="evaluate_id == item.value" class='flex align-center flex allEvaluations_fd1_0_c0_c0' :key="key0"
@tap="handleCommentTypeChange(item.value)">
<text>{{item.name}}</text>
<text class='allEvaluations_fd1_0_c0_c0_c1'>{{item.num}}</text>
</view>
<view v-else class='flex align-center flex allEvaluations_fd1_0_c0_c1' :key="key0"
@tap="handleCommentTypeChange(item.value)">
<text>{{item.name}}</text>
<text class='allEvaluations_fd1_0_c0_c1_c1'>{{item.num}}</text>
</view>
</template>
<!-- </benben-select-diy> -->
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<fu-loading v-if="isShowLoading"></fu-loading>
<fu-empty-ui v-if="commentList.length === 0 && isInit"></fu-empty-ui>
<view class="flex benben-flex-layout flex-wrap align-center">
<view class='flex flex-direction flex-wrap align-stretch allEvaluations_fd2_0' v-for="(item, index) in commentList" :key="index">
<view class='flex flex-wrap align-center justify-between allEvaluations_fd2_0_c0'>
<view class='flex flex-wrap align-center'>
<view class='flex flex-wrap align-center allEvaluations_fd2_0_c0_c0_c0'>
<image class='allEvaluations_fd2_0_c0_c0_c0_c0' mode="aspectFill" :src='item.avatar'></image>
</view>
<view class='flex flex-direction flex-wrap align-start'>
<text class='allEvaluations_fd2_0_c0_c0_c1_c0'>{{item.user_nickname}}</text>
<view class='flex flex-wrap align-center allEvaluations_fd2_0_c0_c0_c1_c1'>
<template v-for="starNum in [1,2,3,4,5]">
<image v-if="item.score >= starNum" :key="starNum"
class='allEvaluations_star1fd2_0_c0_c0_c1_c1' mode="aspectFit" :src='STATIC_URL+"31.png"'></image>
<image v-else :key="starNum" class='allEvaluations_star1fd2_0_c0_c0_c1_c1' mode="aspectFit"
:src='STATIC_URL+"164.png"'></image>
</template>
</view>
</view>
</view>
<view class='flex flex-wrap align-center'>
<text class='allEvaluations_fd2_0_c0_c1_c0'>{{item.create_time}}</text>
</view>
</view>
<view class='flex flex-wrap align-center allEvaluations_fd2_0_c1'>
<text class='allEvaluations_fd2_0_c1_c0'>{{item.content}}</text>
</view>
<view class='flex flex-wrap align-center'>
<image @tap.stop="ViewImage(item.images,i)" class='allEvaluations_fd2_0_c2_c0' v-for="(img, i) in item.images" :key="i" mode="aspectFill" :src='img'></image>
</view>
</view>
</view>
<uni-load-more v-if="commentList.length !=0 " :status="status"></uni-load-more>
<!---flex布局flex布局结束-->
</view>
</template>
<script>
export default {
components: {},
data() {
return {
"fd2_0_c0_c0_c1_c1": "4",
"tabls": "1",
"evaluate_List": [],
"evaluate_id": "1",
commentList: [],
isShowLoading: false,
isInit: false,
status: 'more', // 表示是否有数据可以请求
page: 1,
lists: [],
id: '',
sid: ''
};
},
computed: {
themeColor() {
return this.$store.getters.themeColor
},
},
watch: {},
onLoad(options) {
this.id = options.goods_id || ''
this.sid = options.sid || ''
this.getShopCommentNums();
},
onUnload() {
},
onReady() {
},
onShow() {
},
onHide() {
},
onResize() {
},
onPullDownRefresh() {
this.status = 'more';
this.page = 1;
this.isInit = false;
this.commentList = [];
this.getShopCommentList(true);
this.getShopCommentNums();
},
onReachBottom(e) {
this.getShopCommentList();
},
onPageScroll(e) {
},
methods: {
ViewImage(list, index) {
uni.previewImage({
urls: list,
current: index
});
},
/**
* 切换评论状态
*/
handleCommentTypeChange(value) {
this.evaluate_id = value;
this.status = 'more';
this.page = 1;
this.isInit = false;
this.commentList = [];
this.getShopCommentList(true);
},
/**
* 获取店铺评论数量
*/
getShopCommentList(value) {
if (this.status != 'more') return;
this.status = 'loading';
let data = {
store_id: this.sid,
type: this.evaluate_id,
list_rows: 20,
page: this.page,
goods_id: this.id
};
// console.log('请求的数据', data);
if (this.page == 1 && value) {
this.isShowLoading = true;
}
this.$api
.post(global.apiUrls.getShopCommentList, data)
.then(res => {
console.log('订单列表', res);
this.isShowLoading = false;
if (res.data.code == 1) {
var curPageData = res.data.data.data;
if (this.page == 1) this.commentList = [];
this.commentList = this.commentList.concat(curPageData);
console.log('上拉加载', curPageData.length, this.size);
if (res.data.data.last_page > this.page) {
this.status = 'more';
this.page++;
} else {
this.status = 'noMore';
}
} else {
this.$message.info(res.data.msg);
}
this.isInit = true;
uni.stopPullDownRefresh();
})
.catch(err => {
this.isShowLoading = false;
uni.stopPullDownRefresh();
});
},
/**
* 获取评论数量
*/
getShopCommentNums() {
this.$api.post(global.apiUrls.getShopCommentNums, {
store_id: this.sid,
goods_id: this.id
}).then(res => {
if (res.data.code == 1) {
this.evaluate_List = [{
name: "全部 ",
value: "1",
image: "",
num: res.data.data.all
}, {
name: "好评",
value: "2",
image: "",
num: res.data.data.good
}, {
name: "有图",
value: "3",
image: "",
num: res.data.data.img
}, {
name: "差评",
value: "4",
image: "",
num: res.data.data.bad
}, {
name: "中评",
value: "5",
image: "",
num: res.data.data.center
}]
this.getShopCommentList();
}
})
.catch(err => {
console.log(err);
});
}
}
};
</script>
<style lang="scss" scoped>
.page {
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background: rgba(255, 255, 255, 1);
background-size: 100% auto !important;
}
.allEvaluations_flex_0 {
background: #fff;
width: 750rpx;
height: 88rpx;
overflow: hidden;
z-index: 10;
top: 0rpx;
background-size: 100% auto !important;
}
.allEvaluations_fd0_0_c2 {
width: 32rpx;
height: 32rpx;
}
.allEvaluations_fd0_0_c1_c0 {
font-size: 36rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.allEvaluations_fd0_0_c0_c0 {
font-size: 32rpx;
font-weight: 500;
color: #333;
line-height: 88rpx;
}
.allEvaluations_fd0_0 {
margin: 0rpx 32rpx 0rpx 32rpx;
}
.allEvaluations_fd1_0_c0_c1_c1 {
margin: 0rpx 0rpx 0rpx 8rpx;
}
.allEvaluations_fd1_0_c0_c1 {
background: rgba(246, 247, 249, 1);
margin: 24rpx 20rpx 0rpx 20rpx;
padding: 8rpx 24rpx 8rpx 24rpx;
border-radius: 28rpx 28rpx 28rpx 28rpx;
background-size: 100% auto !important;
color: rgba(51, 51, 51, 1);
}
.allEvaluations_fd1_0_c0_c0_c1 {
margin: 0rpx 0rpx 0rpx 8rpx;
}
.allEvaluations_fd1_0_c0_c0 {
border: 1px solid rgba(255, 147, 0, 1);
background: rgba(255, 246, 234, 1);
padding: 8rpx 24rpx 8rpx 24rpx;
border-radius: 28rpx 28rpx 28rpx 28rpx;
background-size: 100% auto !important;
margin: 24rpx 20rpx 0rpx 20rpx;
color: rgba(255, 147, 0, 1);
font-size: 28rpx;
}
.allEvaluations_fd1_0 {
margin: 0rpx 12rpx 0rpx 12rpx;
padding: 0rpx 0rpx 24rpx 0rpx;
}
.allEvaluations_fd2_0_c2_c2 {
width: 226rpx;
height: 226rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
margin: 0rpx 0rpx 5rpx 0rpx;
}
.allEvaluations_fd2_0_c2_c1 {
width: 226rpx;
height: 226rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
margin: 0rpx 0rpx 5rpx 0rpx;
}
.allEvaluations_fd2_0_c2_c0 {
width: 226rpx;
height: 226rpx;
border-radius: 8rpx 8rpx 8rpx 8rpx;
margin: 0rpx 4rpx 8rpx 0rpx;
&:nth-child(3n) {
margin-right: 0;
}
}
.allEvaluations_fd2_0_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 500;
line-height: 40rpx;
}
.allEvaluations_fd2_0_c1 {
margin: 0rpx 0rpx 24rpx 0rpx;
}
.allEvaluations_fd2_0_c0_c1_c0 {
color: #999999;
font-size: 24rpx;
font-weight: 400;
line-height: 24rpx;
}
.allEvaluations_star1fd2_0_c0_c0_c1_c1 {
height: 18rpx;
margin: 0rpx 5rpx 0rpx 5rpx;
width: 18rpx;
}
.allEvaluations_star1fd2_0_c0_c0_c1_c1 {
width: 18rpx;
height: 18rpx;
border-radius: 0rpx 0rpx 0rpx 0rpx;
margin: 0rpx 5rpx 0rpx 5rpx;
}
.allEvaluations_fd2_0_c0_c0_c1_c1 {
margin: 8rpx 0rpx 0rpx 0rpx;
}
.allEvaluations_fd2_0_c0_c0_c1_c0 {
color: #333333;
font-size: 28rpx;
font-weight: 400;
line-height: 30rpx;
}
.allEvaluations_fd2_0_c0_c0_c0_c0 {
width: 56rpx;
height: 56rpx;
border-radius: 100rpx 100rpx 100rpx 100rpx;
}
.allEvaluations_fd2_0_c0_c0_c0 {
margin: 0rpx 16rpx 0rpx 0rpx;
}
.allEvaluations_fd2_0_c0 {
margin: 0rpx 0rpx 24rpx 0rpx;
}
.allEvaluations_fd2_0 {
border-bottom: 1px solid #eee;
margin: 0rpx 32rpx 0rpx 32rpx;
padding: 0rpx 0rpx 32rpx 0rpx;
}
</style>

View File

@ -0,0 +1,207 @@
<template>
<view class="page" :style="themeColor">
<view class="flex benben-position-layout flex flex-wrap align-center allEvaluations_flex_0" :style="{height:(88+StatusBarRpx)+'rpx',paddingTop:StatusBarRpx+'rpx'}">
<view class='flex flex-wrap align-center justify-between flex-sub allEvaluations_fd0_0' >
<view class='flex flex-wrap align-center' @tap.stop="handleJumpDiy" data-type="back" data-url="1" >
<text class='fu-iconfont2 allEvaluations_fd0_0_c0_c0' @tap.stop="handleJumpDiy" data-type="back" data-url="1" >&#xE794;</text>
</view>
<view class='flex flex-wrap align-stretch justify-center flex-sub' >
<text class='allEvaluations_fd0_0_c1_c0' >全部评价</text>
</view>
<view class='flex flex-wrap align-center allEvaluations_fd0_0_c2' >
</view>
</view>
</view>
<view :style="{height: (88+StatusBarRpx)+'rpx'}" ></view>
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center" >
<view class='flex flex-wrap align-center flex-sub allEvaluations_fd1_0' >
<benben-select-diy ref="showSelectPopup1684722326514" class-name='flex flex-wrap flex' :items.sync="evaluate_List" v-model="evaluate_id" default-type="value" default-label="name" :allow-cancel='false' type="radio" :disabled='false' >
<template v-for = '(item,key0) in evaluate_List'>
<view v-if="item.isSelected" class='flex align-center flex allEvaluations_fd1_0_c0_c0' :key="key0" @tap="$refs.showSelectPopup1684722326514.tapHandle(key0)" >
<text >{{item.name}}</text>
<text class='allEvaluations_fd1_0_c0_c0_c1' >9999+</text>
</view> <view v-else class='flex align-center flex allEvaluations_fd1_0_c0_c1' :key="key0" @tap="$refs.showSelectPopup1684722326514.tapHandle(key0)" >
<text >{{item.name}}</text>
<text class='allEvaluations_fd1_0_c0_c1_c1' >9999+</text>
</view></template></benben-select-diy>
</view>
</view>
<!---flex布局flex布局结束-->
<!---flex布局flex布局开始-->
<view class="flex benben-flex-layout flex-wrap align-center" >
<view class='flex flex-direction flex-wrap align-stretch allEvaluations_fd2_0' >
<view class='flex flex-wrap align-center justify-between allEvaluations_fd2_0_c0' >
<view class='flex flex-wrap align-center' >
<view class='flex flex-wrap align-center allEvaluations_fd2_0_c0_c0_c0' >
<image class='allEvaluations_fd2_0_c0_c0_c0_c0' mode="aspectFit" :src='STATIC_URL+"1.png"'></image>
</view>
<view class='flex flex-direction flex-wrap align-start' >
<text class='allEvaluations_fd2_0_c0_c0_c1_c0' >匿名用户</text>
<view class='flex flex-wrap align-center allEvaluations_fd2_0_c0_c0_c1_c1' >
<template v-for="starNum in [1,2,3,4,5]">
<image v-if="fd2_0_c0_c0_c1_c1 >= starNum" :key="starNum" class='allEvaluations_star1fd2_0_c0_c0_c1_c1' mode="aspectFit" :src='STATIC_URL+"31.png"'></image>
<image v-else :key="starNum" class='allEvaluations_star1fd2_0_c0_c0_c1_c1' mode="aspectFit" :src='STATIC_URL+"164.png"'></image>
</template>
</view>
</view>
</view>
<view class='flex flex-wrap align-center' >
<text class='allEvaluations_fd2_0_c0_c1_c0' >2020.08.09</text>
</view>
</view>
<view class='flex flex-wrap align-center allEvaluations_fd2_0_c1' >
<text class='allEvaluations_fd2_0_c1_c0' >确实不错很好吃分量可以整体来看还是非常实惠的分享下实拍无滤镜</text>
</view>
<view class='flex flex-wrap align-center' >
<!-- <image class='allEvaluations_fd2_0_c2_c0' mode="aspectFit" :src='STATIC_URL+"36.png"'></image>
<image class='allEvaluations_fd2_0_c2_c1' mode="aspectFit" :src='STATIC_URL+"36.png"'></image>
<image class='allEvaluations_fd2_0_c2_c2' mode="aspectFit" :src='STATIC_URL+"36.png"'></image> -->
</view>
</view>
</view>
<!---flex布局flex布局结束-->
</view>
</template>
<script>
export default {
components:{},
data(){
return {"fd2_0_c0_c0_c1_c1":"4","tabls":"1","evaluate_List":[{"name":"全部 ","value":"1","image":""},{"name":"好评","value":"2","image":""},{"name":"有图","value":"3","image":""},{"name":"差评","value":"4","image":""},{"name":"中评","value":"5","image":""}],"evaluate_id":"1"};
},
computed:{
themeColor() {
return this.$store.getters.themeColor
},
},
watch:{},
onLoad(options){
},
onUnload() {
},
onReady(){
},
onShow(){
},
onHide(){
},
onResize(){
},
onPullDownRefresh(){
},
onReachBottom(e){
},
onPageScroll(e){
},
methods:{
//收藏
iscollectFunctionFunc(){
if( this.collect=='1'){
this.collect = '2';
}
else if( this.collect=='2'){
this.collect = '1';
}
return
}
}
};
</script>
<style lang="scss" scoped>
.page{
width: 100vw;
overflow-x: hidden;
min-height: calc(100vh - var(--window-bottom));
background:rgba(255, 255, 255, 1);background-size: 100% auto !important;
}
.allEvaluations_flex_0{
background:#fff;width:750rpx;height:88rpx;overflow:hidden;z-index:10;top:0rpx;background-size:100% auto !important;
}
.allEvaluations_fd0_0_c2{
width:32rpx;height:32rpx;
}
.allEvaluations_fd0_0_c1_c0{
font-size:36rpx;font-weight:500;color:#333;line-height:88rpx;
}
.allEvaluations_fd0_0_c0_c0{
font-size:32rpx;font-weight:500;color:#333;line-height:88rpx;
}
.allEvaluations_fd0_0{
margin:0rpx 32rpx 0rpx 32rpx;
}
.allEvaluations_fd1_0_c0_c1_c1{
margin:0rpx 0rpx 0rpx 8rpx;
}
.allEvaluations_fd1_0_c0_c1{
background:rgba(246, 247, 249, 1);margin:24rpx 20rpx 0rpx 20rpx;padding:8rpx 24rpx 8rpx 24rpx;border-radius:28rpx 28rpx 28rpx 28rpx;background-size:100% auto !important;color:rgba(51, 51, 51, 1);
}
.allEvaluations_fd1_0_c0_c0_c1{
margin:0rpx 0rpx 0rpx 8rpx;
}
.allEvaluations_fd1_0_c0_c0{
border:1px solid rgba(255, 147, 0, 1);background:rgba(255, 246, 234, 1);padding:8rpx 24rpx 8rpx 24rpx;border-radius:28rpx 28rpx 28rpx 28rpx;background-size:100% auto !important;margin:24rpx 20rpx 0rpx 20rpx;color:rgba(255, 147, 0, 1);font-size:28rpx;
}
.allEvaluations_fd1_0{
margin:0rpx 12rpx 0rpx 12rpx;padding:0rpx 0rpx 24rpx 0rpx;
}
.allEvaluations_fd2_0_c2_c2{
width:226rpx;height:226rpx;border-radius:8rpx 8rpx 8rpx 8rpx;margin:0rpx 0rpx 5rpx 0rpx;
}
.allEvaluations_fd2_0_c2_c1{
width:226rpx;height:226rpx;border-radius:8rpx 8rpx 8rpx 8rpx;margin:0rpx 0rpx 5rpx 0rpx;
}
.allEvaluations_fd2_0_c2_c0{
width:226rpx;height:226rpx;border-radius:8rpx 8rpx 8rpx 8rpx;margin:0rpx 0rpx 5rpx 0rpx;
}
.allEvaluations_fd2_0_c1_c0{
color:#333333;font-size:28rpx;font-weight:500;line-height:40rpx;
}
.allEvaluations_fd2_0_c1{
margin:0rpx 0rpx 24rpx 0rpx;
}
.allEvaluations_fd2_0_c0_c1_c0{
color:#999999;font-size:24rpx;font-weight:400;line-height:24rpx;
}
.allEvaluations_star1fd2_0_c0_c0_c1_c1{
height:18rpx;margin:0rpx 5rpx 0rpx 5rpx;width:18rpx;
}
.allEvaluations_star1fd2_0_c0_c0_c1_c1{
width:18rpx;height:18rpx;border-radius:0rpx 0rpx 0rpx 0rpx;margin:0rpx 5rpx 0rpx 5rpx;
}
.allEvaluations_fd2_0_c0_c0_c1_c1{
margin:8rpx 0rpx 0rpx 0rpx;
}
.allEvaluations_fd2_0_c0_c0_c1_c0{
color:#333333;font-size:28rpx;font-weight:400;line-height:30rpx;
}
.allEvaluations_fd2_0_c0_c0_c0_c0{
width:56rpx;height:56rpx;border-radius:100rpx 100rpx 100rpx 100rpx;
}
.allEvaluations_fd2_0_c0_c0_c0{
margin:0rpx 16rpx 0rpx 0rpx;
}
.allEvaluations_fd2_0_c0{
margin:0rpx 0rpx 24rpx 0rpx;
}
.allEvaluations_fd2_0{
border-bottom:1px solid #eee;margin:0rpx 32rpx 0rpx 32rpx;padding:0rpx 0rpx 32rpx 0rpx;
}
</style>