index.vue 3.11 KB
<template>
  <view class="page-evaluate">
    <view class="evaluate-user-box">
      <view class="user-info-title">
        <u-avatar :src="pic" size="70"></u-avatar>
        <view class="user-name">
          居民用户
        </view>
      </view>
      <view v-if="evaluateUser" class="evaluate-content">
        <view class="evaluate-score">
          <u-icon v-for="todo in maxStar" :name="evaluateUser.garEvaluateScore > todo ? 'star-fill' : 'star'" :key="todo"
            color="#f9ae3d" size="28"></u-icon>
        </view>
        <view class="evaluate-txt">
          {{ evaluateUser.garEvaluateContent }}
        </view>
      </view>
      <view class="evaluate-empty" v-else>
        暂无评价~~
      </view>
    </view>
    <view class="evaluate-user-box">
      <view class="user-info-title">
        <u-avatar :src="pic" size="70"></u-avatar>
        <view class="user-name">
          企业负责人
        </view>
      </view>
      <view v-if="evaluateManager" class="evaluate-content">
        <view class="evaluate-score">
          <u-icon v-for="todo in maxStar" :name="evaluateManager.garEvaluateScore > todo ? 'star-fill' : 'star'"
            :key="todo" color="#f9ae3d" size="28"></u-icon>
        </view>
        <view class="evaluate-txt">
          {{ evaluateManager.garEvaluateContent }}
        </view>
      </view>
      <view class="evaluate-empty" v-else>
        暂无评价~~
      </view>
    </view>
  </view>
</template>

<script setup>
import { queryEvaluateDetail } from "@/apis/evaluate";
import headImg from "@/static/image/st_pic.png";
import { onLoad } from '@dcloudio/uni-app';
import { ref } from 'vue';
const pic = ref(headImg)
// 定义最大积分
let maxScore = 5
const maxStar = ref([])

// 用户评价对象
const evaluateUser = ref()
// 企业负责人评价
const evaluateManager = ref()
onLoad((options) => {
  for (let index = 0; index < maxScore; index++) {
    maxStar.value.push(index);
  }
  // 查询评价
  queryEvaluateDetail(options.orderId).then(res => {

    res.data.data.forEach(element => {
      if (element.garEvaluateTarget == 0) {
        evaluateUser.value = element
      }
      if (element.garEvaluateTarget == 1) {
        evaluateManager.value = element
      }
    });
  })
})
</script>

<style lang="scss" scoped>
$page-padding: 20rpx;

.page-evaluate {
  height: 100%;
  width: 100%;
  padding: $page-padding;
  background-color: #ffffff;
  box-sizing: border-box;

  .evaluate-user-box {
    box-sizing: border-box;
    color: $u-main-color;
    width: 100%;
    padding: $page-padding;
    border-radius: $page-padding;
    border: 2rpx solid $u-border-color;
    margin: 40rpx 0;
    min-height: 300rpx;

    .user-info-title {
      display: flex;
      align-items: center;

      .user-name {
        margin-left: 20rpx;
        box-sizing: border-box;
      }
    }

    .evaluate-content {
      margin: 20rpx 0;
      box-sizing: border-box;

      .evaluate-score {
        display: flex;
      }

      .evaluate-txt {
        color: $u-info;
      }
    }

    .evaluate-empty {
      margin: 20rpx 0;
      box-sizing: border-box;
      color: $u-info;
    }
  }
}
</style>