131 lines
3.4 KiB
Vue
131 lines
3.4 KiB
Vue
|
|
<template>
|
|||
|
|
<view class="evaluationList" v-if="evaluateList.count">
|
|||
|
|
<!-- 头部容器:显式设置flex方向为水平 -->
|
|||
|
|
<view class="evaluationList-header">
|
|||
|
|
<view class="evaluationList-header-left">
|
|||
|
|
<!-- 文字样式必须写在text标签的class上 -->
|
|||
|
|
<text class="header-left-text">评价({{evaluateList.count}})</text>
|
|||
|
|
</view>
|
|||
|
|
<view class="evaluationList-header-right" @click="goList">
|
|||
|
|
<!-- 文字单独用text标签包裹并添加样式class -->
|
|||
|
|
<text class="header-right-text">查看全部</text>
|
|||
|
|
<image src="/static/images/evaluate/right.png" class="header-right-img" />
|
|||
|
|
</view>
|
|||
|
|
</view>
|
|||
|
|
<evaluationDetail
|
|||
|
|
v-for="(item, index) in evaluateList.list"
|
|||
|
|
:key="index"
|
|||
|
|
:evaluateObj="item"
|
|||
|
|
></evaluationDetail>
|
|||
|
|
</view>
|
|||
|
|
</template>
|
|||
|
|
|
|||
|
|
<script>
|
|||
|
|
import request from "@/utils/request";
|
|||
|
|
import evaluationDetail from "./evaluationDetail.nvue"
|
|||
|
|
export default {
|
|||
|
|
components: {
|
|||
|
|
evaluationDetail
|
|||
|
|
},
|
|||
|
|
data() {
|
|||
|
|
return {
|
|||
|
|
formData: {
|
|||
|
|
page: 1,
|
|||
|
|
limit: 2,
|
|||
|
|
},
|
|||
|
|
evaluateList: {
|
|||
|
|
count: 0,
|
|||
|
|
list: []
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
},
|
|||
|
|
props: {
|
|||
|
|
evaluated_id: { type: Number },
|
|||
|
|
evaluated_type: { type: Number },
|
|||
|
|
order_shop_id: { type: Number },
|
|||
|
|
order_shop_type: { type: Number },
|
|||
|
|
order_id: { type: Number },
|
|||
|
|
search_type: { type: Number },
|
|||
|
|
listUrl:{
|
|||
|
|
type:String,
|
|||
|
|
default:"/user/orderEvaluate/list"
|
|||
|
|
}
|
|||
|
|
},
|
|||
|
|
mounted() {
|
|||
|
|
if (this.order_shop_id) this.formData.order_shop_id = this.order_shop_id;
|
|||
|
|
if (this.order_shop_type) this.formData.order_shop_type = this.order_shop_type;
|
|||
|
|
if (this.evaluated_type) this.formData.evaluated_type = this.evaluated_type;
|
|||
|
|
if (this.evaluated_id) this.formData.evaluated_id = this.evaluated_id;
|
|||
|
|
if (this.order_id) this.formData.order_id = this.order_id;
|
|||
|
|
if (this.search_type) this.formData.search_type = this.search_type;
|
|||
|
|
this.getList();
|
|||
|
|
},
|
|||
|
|
methods: {
|
|||
|
|
getList() {
|
|||
|
|
request.post(this.listUrl, this.formData).then(res => {
|
|||
|
|
this.evaluateList = res.data || { count: 0, list: [] };
|
|||
|
|
});
|
|||
|
|
},
|
|||
|
|
goList() {
|
|||
|
|
this.$emit("goList");
|
|||
|
|
}
|
|||
|
|
}
|
|||
|
|
};
|
|||
|
|
</script>
|
|||
|
|
|
|||
|
|
<style>
|
|||
|
|
/* 容器样式:仅保留布局相关(margin、padding、flex等) */
|
|||
|
|
.evaluationList {
|
|||
|
|
background-color: #fff;
|
|||
|
|
overflow: hidden;
|
|||
|
|
margin: 0rpx 24rpx 20rpx 24rpx;
|
|||
|
|
border-radius: 16rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 头部容器:显式设置flex方向为水平(解决nvue默认垂直的问题) */
|
|||
|
|
.evaluationList-header {
|
|||
|
|
padding: 0 20rpx;
|
|||
|
|
margin-top: 21rpx;
|
|||
|
|
margin-bottom: 6rpx;
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: row; /* 强制水平排列 */
|
|||
|
|
align-items: center;
|
|||
|
|
justify-content: space-between;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 左侧容器:仅布局,无文字样式 */
|
|||
|
|
.evaluationList-header-left {
|
|||
|
|
/* 文字样式已移到text标签 */
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 左侧文字:所有文字样式直接写在这里 */
|
|||
|
|
.header-left-text {
|
|||
|
|
font-weight: 500;
|
|||
|
|
font-size: 30rpx;
|
|||
|
|
color: #333333;
|
|||
|
|
line-height: 42rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 右侧容器:显式flex确保内部元素水平排列 */
|
|||
|
|
.evaluationList-header-right {
|
|||
|
|
display: flex;
|
|||
|
|
flex-direction: row; /* 强制水平排列 */
|
|||
|
|
align-items: center; /* 垂直居中对齐文字和图片 */
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 右侧文字:所有文字样式直接写在这里 */
|
|||
|
|
.header-right-text {
|
|||
|
|
font-weight: 400;
|
|||
|
|
font-size: 24rpx;
|
|||
|
|
color: #333333;
|
|||
|
|
line-height: 33rpx;
|
|||
|
|
}
|
|||
|
|
|
|||
|
|
/* 右侧图片 */
|
|||
|
|
.header-right-img {
|
|||
|
|
width: 10rpx;
|
|||
|
|
height: 19rpx;
|
|||
|
|
margin-left: 10rpx;
|
|||
|
|
mode: widthFix; /* nvue图片必须指定mode */
|
|||
|
|
}
|
|||
|
|
</style>
|