<template>
  <div>
    <div v-if="obj.a">
      <div class="tit">
        <span>总进球数</span>
      </div>
      <div class="playCode">
        <div
          class="item flex"
          v-for="(item,index) in data"
          v-if="item.odds_code.startsWith('tg') && !item.odds_code.endsWith('_h')"
        >
          <span class="teamName">{{item.condition}}</span>
          <div v-if="item.odds <= 0" class="odds">
            <img style="vertical-align:middle;width:0.2rem" src="@/assets/st-imges/mima.png" alt />
          </div>
          <div v-else @click="betMethod(index,item.id,'','总进球数')">
            <span
              class="odds"
              :class="{chooseStyle:item.isTrue,rising:item.change == 'rising',falling:item.change == 'falling'}"
            >{{item.odds}}</span>
          </div>
        </div>
      </div>
    </div>
    <div v-if="obj.b">
      <div class="tit">
        <span>总进球数-上半场</span>
      </div>
      <div class="playCode">
        <div class="item flex" v-for="(item,index) in data" v-if="item.odds_code.endsWith('_h')">
          <span class="teamName">{{item.condition}}</span>
          <div v-if="item.odds <= 0" class="odds">
            <img style="vertical-align:middle;width:0.2rem" src="@/assets/st-imges/mima.png" alt />
          </div>
          <div v-else @click="betMethod(index,item.id,'','总进球数-上半场')">
            <span
              class="odds"
              :class="{chooseStyle:item.isTrue,rising:item.change == 'rising',falling:item.change == 'falling'}"
            >{{item.odds}}</span>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      title: "TG",
      data: [], //数据源
      guest_team: "", //客队名
      home_team: "", //主队名
      obj: "", //
      match_id: "",
      limit: "", //投注数量
      lg_id: "",
      match_inf:{},
    };
  },
  /***
   * 方法
   */
  methods: {
    //玩法分类
    playGrouping(data) {
      let obj = {};
      let betting = this.$store.getters.getBetting;
      data.forEach(e => {
        if (betting.length > 0) {
          for (let i = 0; i < betting.length; i++) {
            if (betting[i].title == "TG" && betting[i].data.length > 0) {
              for (let j = 0; j < betting[i].data.length; j++) {
                if (betting[i].data[j].mark == e.mark) {
                  this.$set(e, "isTrue", true);
                  //betting[i].data.splice(j,1);
                }
              }
              break;
            }
          }
        }
        e.lg_id = this.lg_id;
        if (e.odds_code.startsWith("tg") && !e.odds_code.endsWith("_h")) {
          obj.a = true;
        } else if (e.odds_code.endsWith("_h")) {
          obj.b = true;
        }
      });
      data.sort((a, z) => {
        // console.log(a.condition[0]);
        if (a.condition[0] == 0) {
          return -100;
        } else {
          return -a.condition[0];
        }
      });
      this.obj = obj;
    },
    /*---------------------------------- */
    //玩法投注
    betMethod(index, id, name, playName) {
      let betting = this.$store.getters.getBetting;
      let ballId = this.$store.getters.getBallCode;
      let _this = this;
      let bettingType = this.$store.getters.getBettingType;

      if (bettingType == 2) {
        betting = this.$store.getters.getPassBetting;
        betting = betting == null ? [] : betting;
        for (let e in betting) {
          if (betting[e].title == this.title) {
            for (let i in betting[e].data) {
              for (let j in this.data) {
                if (betting[e].data[i].mark == this.data[j].mark) {
                  this.$set(this.data[j], "isTrue", false);
                  break;
                }
              }
            }
          }
        }
      } else if (bettingType == 1) {
        betting = this.$store.getters.getBetting;
      }
      if (this.data[index].isTrue) {
        this.$set(this.data[index], "isTrue", false);
      } else {
        this.$set(this.data[index], "isTrue", true);
      }
      //调用投注公共方法
      //console.log(this.home_team,this.guest_team)
      let teamName = {
        home: this.home_team,
        guest: this.guest_team
      };
      this.$public.publicBetMethod(
        this.data,
        this.title,
        index,
        betting,
        teamName,
        playName,
        name,
        this.match_id,
        ballId,
        this.limit,
        bettingType,
        this.$store.getters.getActivity,
        this.match_inf,
        function(data, type) {
          if (type) {
            _this.$dialog.toast({ mes: "亲，超出表格上限啦。", timeout: 2000 });
          }
          if (bettingType == 2) {
            _this.$store.dispatch("SET_PASSBETTING", []);
            _this.$store.dispatch("SET_PASSBETTING", data);
          } else {
            _this.$store.dispatch("SET_BETTING", []);
            _this.$store.dispatch("SET_BETTING", data);
          }
        }
      );
    }
  },
  /**
   * 计算属性
   */
  computed: {
    getGameRatio() {
      //console.log(this.$store.getters.getGameRatio)
      return this.$store.getters.getGameRatio;
    },
    //获取投注数据
    getBetting() {
      if (this.$store.getters.getBettingType == 2) {
        return this.$store.getters.getPassBetting;
      } else {
        return this.$store.getters.getBetting;
      }
    },
    //获取投注数据数量
    getLimit() {
      return this.$store.getters.getLimit;
    }
  },
  /**
   * 监听器
   */
  watch: {
    getGameRatio(val) {
      // console.log(val,'我的')
      this.lg_id = val.lg_id;
      this.match_id = val.match_id;
      this.guest_team = val.guest_team;
      this.home_team = val.home_team;
      this.match_inf={
        match_process:val.match_process,
        match_ptime:val.match_ptime,
        match_score:val.match_score,
      }
      val.oddsData.forEach(e => {
        if (e[0].p_code == this.title) {
          this.data = e;
          this.playGrouping(this.data);
        }
      });
      //console.log(this.data);
    },
    //投注数据监听和处理
    getBetting(val) {
      if (val.length > 0) {
        let mark = this.$store.getters.getDeleteType;
        for (let i = 0; i < val.length; i++) {
          if (val[i].title == this.title) {
            for (let j = 0; j < this.data.length; j++) {
              if (this.data[j].mark == mark) {
                this.$set(this.data[j], "isTrue", false);
                break;
              }
            }
            break;
          }
        }
      } else {
        for (let j = 0; j < this.data.length; j++) {
          if (this.data[j].isTrue) {
            this.$set(this.data[j], "isTrue", false);
          }
        }
      }
    },
    //投注数量
    getLimit(val) {
      this.limit = val;
    }
  }
};
</script>
<style scoped>
.flex {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.tit {
  background: #cdcdcd;
  font-size: 0.14rem;
  padding: 0 0.1rem;
  height: 0.4rem;
  line-height: 0.4rem;
  color: #333;
}
.playCode {
  display: flex;
}
.playCode .item,
.playCode .guest {
  height: 0.4rem;
  line-height: 0.4rem;
  width: 25%;
  background: #fff;
  padding: 0 0 0 0.1rem;
}
.playCode .item {
  width: calc(25% - 1px);
  padding: 0 0.1rem;
  font-size: 0.14rem;
  border-right: 1px solid #e4e4e4;
}
.playCode .item:nth-last-child(1) {
  border-right: none;
}
.oddsBox {
  margin-right: 0.1rem;
}
.odds {
  display: inline-block;
  width: 0.48rem;
  height: 0.3rem;
  border: 0.01rem solid #ccc;
  line-height: 0.3rem;
  text-align: center;
  border-radius: 0.05rem;
  cursor: pointer;
}

.odds:hover {
  background: #ddd;
  color: #f76649;
}
.guest {
  padding-right: 0.1rem;
}
.item:hover,
.guest:hover {
  background: #fff5e9;
}
.draw {
  width: 20%;
  background: #fff;
  padding: 0 0.1rem;
  border-right: 1px solid #e4e4e4;
}
.teamName {
  color: #f76649;
  font-weight: bold;
}
</style>