<template>
  <!-- 未支付 -->
  <div class="Nopyment" v-loading="loading">
    <div class="message">
      <div>
        <img :src="data.picture_url" alt="" />
      </div>
      <div class="text">
        <p class="p1">
          {{ data.name }}
        </p>
        <!-- <p class="p2">
          <span>xx课程</span>
        </p> -->
        <p class="p3">{{ data.author }}</p>
      </div>
      <div class="price">
        <p>￥{{ data.price }}</p>
      </div>
    </div>
    <div class="promotionCode">
      <span class="sp1"> <!-- 使用优惠码 -->{{ this.$t("Key475") }} </span>
      <!-- 请输入兑换码 -->
      <input
        v-model="discount_code"
        type="text"
        :placeholder="$t('Key109')"
        @input="changeCode"
      />
      <span
        class="sp2"
        v-loading="codeloading"
        @click="verifyCode"
        v-if="isShow"
      >
        <!-- 确定 -->
        {{ $t("Key94") }}</span
      >
      <span class="sp2" v-else>-{{ discount_money }}</span>
    </div>
    <div class="total">
      <p class="p1">
        <span>
          <!-- 一件商品，总金额：  -->

          {{ $t("Key53") }}：</span
        >
        <span class="co-value">￥{{ data.price }}</span>
      </p>
      <p class="p2">
        <span>
          <!-- 优惠折扣 -->
          {{ $t("Key54") }}：</span
        >
        <span class="co-value">-￥{{ discount_money }}</span>
      </p>
      <p class="p3">
        <span>
          <!-- 应付  -->
          {{ $t("Key55") }}：</span
        >
        <span class="co-value">￥{{ receivables_money }}</span>
      </p>
    </div>
    <div class="submitBtn">
      <button @click="buy(data)">
        {{ $t("Key116") }}
        <!-- 确定订单 -->
      </button>
    </div>
  </div>
</template>

<script>
//这里可以导入其它文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
//例如：import 《组件名称》from ‘《组件路径》';
import { LearnWebSI } from "@/api/ajax";
export default {
  //import引入的组件需要注入到对象中才能使用
  components: {},
  props: ["data", "changeOrderNumber", "goods_type"],
  data() {
    //这里存放数据
    return {
      discount_code: "", //优惠码
      discount_money: 0, // 优惠金额
      receivables_money: this.data.price, // 应收款
      back_discount_code: "", //优惠码
      loading: false,
      codeloading: false,
      isShow: true,
    };
  },
  //计算属性 类似于data概念
  computed: {},
  //监控data中数据变化
  watch: {},
  //方法集合
  methods: {
    // 添加订单
    buy(item) {
      // 首先添加订单
      this.loading = true;
      let Mnam = "order-order_manager-AddMyOrder";
      LearnWebSI(Mnam, {
        goods_id: item.id, //商品id
        goods_type: this.goods_type, //商品类型
        goods_name: item.name, //商品名称
        goods_picture_id: item.picture_id, //封面图片id
        goods_person_name_desc: this.data.author, //老师
        price: item.price, //价格
        discount_code: this.back_discount_code,
      })
        .then((res) => {
          console.log(res);
          this.changeOrderNumber(
            res.id,
            this.back_discount_code,
            this.discount_money,
            this.receivables_money
          );
          this.loading = false;
          // 调取支付接口
        })
        .catch((res) => {
          this.loading = false;
        });
    },
    //更改优惠码
    changeCode() {
      this.isShow = true;
      this.discount_money = "0.00";
      this.receivables_money = this.data.hasOwnProperty("price")
        ? this.data.price
        : this.data.goods_price;
    },
    clearData() {
      this.isShow = true;
      this.discount_code = "";
      this.discount_money = "0.00";
      this.receivables_money = this.data.hasOwnProperty("price")
        ? this.data.price
        : this.data.goods_price;
    },
    //验证优惠码
    verifyCode() {
      if (this.discount_code == "") {
        this.$message.warning(this.$t("Key109")); //"请输入优惠码"
        return;
      }
      this.codeloading = true;
      let MethodName = "order-order_manager-VerificationDiscountCode";
      let resData = JSON.parse(JSON.stringify(this.data));

      let data = {
        goods_id: resData.id, //商品id
        goods_type: 101, //商品类型
        price: resData.price, //价格
        discount_code: this.discount_code.trim(),
      };
      LearnWebSI(MethodName, data).then((res) => {
        this.codeloading = false;
        this.isShow = false;
        this.back_discount_code = res.discount_code;
        this.discount_money = res.discount_money; // 优惠金额
        this.receivables_money = res.receivables_money; // 应收款
      });
    },
  },
  //生命周期 - 创建完成（可以访问当前this实例）
  created() {},
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {},
  //生命周期-创建之前
  beforeCreated() {},
  //生命周期-挂载之前
  beforeMount() {},
  //生命周期-更新之前
  beforUpdate() {},
  //生命周期-更新之后
  updated() {},
  //生命周期-销毁之前
  beforeDestory() {},
  //生命周期-销毁完成
  destoryed() {},
  //如果页面有keep-alive缓存功能，这个函数会触发
  activated() {},
};
</script>
<style lang="scss" scoped>
/* @import url(); 引入css类 */
.Nopyment {
  .message {
    width: 100%;
    height: 152px;
    background: rgba(70, 70, 70, 0.03);
    border-radius: 8px;
    display: flex;
    img {
      width: 120px;
      height: 120px;
      margin-left: 16px;
      margin-top: 16px;
    }
    .text {
      margin-left: 24px;
      .p1 {
        width: 360px;
        //   height: 45px;
        max-height: 48px;
        font-size: 16px;
        line-height: 20px;
        color: #2c2c2c;
        margin-top: 22px;
        word-break: break-all;
        display: -webkit-box;
        -webkit-box-orient: vertical;
        -webkit-line-clamp: 2;
        text-overflow: ellipsis;
        overflow: hidden;
      }
      .p2 {
        margin-top: 10px;
        span {
          width: 64px;
          height: 24px;
          background: #ffefd8;
          border-radius: 4px;
          font-weight: bold;
          font-size: 12px;
          text-align: center;
          color: #ff9900;

          line-height: 24px;
          padding: 2px 8px;
        }
      }
      .p3 {
        margin-top: 10px;
      }
    }
    .price {
      p {
        margin-left: 67px;
        margin-top: 22px;
        font-weight: bold;
        font-size: 16px;
        text-align: right;
        color: #ff4c00;
      }
    }
  }
  .promotionCode {
    display: flex;
    justify-content: flex-start;
    align-self: center;
    width: 100%;
    margin-top: 24px;
    height: 58px;
    line-height: 56px;
    border-top: 1px solid rgba(44, 44, 44, 0.15);
    border-bottom: 1px solid rgba(44, 44, 44, 0.15);
    .sp1 {
      font-size: 16px;
      color: #000000;
    }
    input {
      padding: 0 24px;
      flex: 1;
      height: 56px;
      outline: none;
      border: none;
      box-sizing: border-box;
    }
    .sp2 {
      cursor: pointer;
      font-size: 16px;
      color: #ff9900;
    }
  }
  .total {
    width: 656px;
    text-align: right;
    color: #000000;
    font-size: 16px;
    padding-top: 24px;
    > p {
      > span {
        display: inline-block;
      }
      .co-value {
        width: 160px;
      }
    }
    .p1 {
      > span {
        display: inline-block;
        line-height: 24px;
      }
    }
    .p2 {
      margin: 16px 0 10px;
    }
    .p3 {
      > span {
        line-height: 36px;
      }
      .co-value {
        font-size: 24px;
        color: #ff4c00;
      }
    }
  }
  .submitBtn {
    text-align: right;
    margin-top: 16px;
    button {
      width: 120px;
      height: 40px;
      background: #ff9900;

      border-radius: 4px;
      color: white;
      line-height: 40px;
      text-align: center;
      border: none;
      outline: none;
      cursor: pointer;
    }
  }
}
</style>