<template>
  <view class="summary__view flex flex-column">
    <progressCircle ref="progressCircle" :progress="data.score"></progressCircle>
    
    <view v-if="data.change > 0 || data.change < 0" class="score-change flex">
      <uv-icon v-if="data.change > 0" name="arrow-upward" color="#0DB556" size="24rpx"></uv-icon>
      <uv-icon v-else name="arrow-downward" color="#dd524d" size="24rpx"></uv-icon>
      <text class="score-change-value">{{ data.change }}</text>
      <text class="score-change-unit">分</text>
    </view>

    <button class="btn btn-test" @click="jumpToTest">重新测评</button>

    <view class="user flex">
      <view class="avatar">
        <image class="avatar-img" :src="userInfo.avatar" mode="scaleToFill"></image>
      </view>
      <view class="info">
        <view class="info-title"><text class="highlight">{{ userInfo.name }}</text><text>的专属配方</text></view>
        <view class="info-desc">{{ userInfo.phone }}</view>
      </view>
      <button class="btn btn-formula" @click="showFormula">查看配方</button>
    </view>
  </view>
</template>

<script>
  import { mapState } from 'vuex'

	import progressCircle from './progressCircle.vue'

  export default {
		components: {
      progressCircle,
    },
    props: {
      data: {
        type: Object,
        default() {
          return {}
        }
      },
    },
    data() {
      return {
      }
    },
    computed : {
      ...mapState(['userInfo'])
    },
    methods: {
      jumpToTest() {
        this.$utils.navigateTo(`/pages_order/report/test/intro?id=${this.data.paperId}`)
      },
      showFormula() {
        this.$utils.navigateTo(`/pages_order/report/result/index?id=${this.data.id}`)
      }
    },
  }
</script>

<style scoped lang="scss">
.summary__view {
  position: relative;
  padding-top: 48rpx;
}

.score {
  &-change {
    position: absolute;
    right: 0;
    top: 346rpx;

    padding: 12rpx 24rpx;
    background: #F6F6F9CC;
    border-radius: 34rpx;
    box-shadow: 0 0 13rpx 1rpx #D3D2E599;

    &-value {
      margin: 0 4rpx;
      font-family: PingFang SC;
      font-weight: 600;
      font-size: 32rpx;
      line-height: 1.4;
      color: #252545;
    }

    &-unit {
      font-family: PingFang SC;
      font-weight: 400;
      font-size: 26rpx;
      line-height: 1.4;
      color: #989898;
    }
  }
}

.btn {
  &-test {
    margin-top: 48rpx;
    padding: 12rpx 40rpx;
    border-radius: 32rpx;
    background: #E5E4EB;
    color: #252545;
    font-size: 28rpx;
    line-height: 1.5;
    font-weight: 400;
    font-family: PingFang SC;
  }

  &-formula {
    padding: 8rpx 24rpx;
    font-size: 28rpx;
    line-height: 1.5;
    font-weight: 600;
    font-family: PingFang SC;
    color: #FFFFFF;
    border-radius: 32rpx;
    background-image: linear-gradient(to right, #4B348F, #845CFA);
  }
}

.user {
  margin-top: 48rpx;
  width: 100%;

  .avatar {
    width: 96rpx;
    height: 96rpx;
    border-radius: 52rpx;
    overflow: hidden;
    border: 4rpx solid #FFFFFF;

    &-img {
      width: 100%;
      height: 100%;
      border-radius: 50%;
    }
  }

  .info {
    margin: 0 24rpx;
    flex: 1;

    &-title {
      font-family: PingFang SC;
      font-weight: 400;
      font-size: 36rpx;
      line-height: 1.2;
      color: #252545CC;

      .highlight {
        font-weight: 600;
        color: #252545;
        margin-right: 8rpx;
      }
    }

    &-desc {
      margin-top: 8rpx;
      font-family: PingFang SC;
      font-weight: 400;
      font-size: 24rpx;
      line-height: 1.5;
      color: #989898;
    }

  }
}
</style>