<template>
  <div>
    <div v-if="isData">
      <div v-if="obj.a">
        <div class="tit">
          <span>波胆</span>
        </div>
        <div class="playCode">
          <div class="tBody flex">
            <div style="width:calc(40% - 1px)">{{home_team}}</div>
            <div style="width:20%;">和局</div>
            <div style="width:calc(40% - 1px)">{{guest_team}}</div>
          </div>
          <div class="playOdds">
            <div class="home flex">
              <div
                class="scoreBox rFlex"
                v-for="(item,index) in data"
                v-if="item.odds_code[1]-item.odds_code[2] >0 && !item.odds_code.endsWith('_h')"
              >
                <div class="score">{{item.condition}}</div>
                <div class="odds" v-if="item.odds > 0"
                  :class="{chooseStyle:item.isTrue,rising:item.change == 'rising',falling:item.change == 'falling'}"
                  @click="betMethod(index,item.id,home_team,'波胆')"
                >{{item.odds}}</div>
                <img class="odds"  v-else src="@/assets/st-imges/mima.png" />
              </div>
            </div>
            <div class="and">
              <div
                class="scoreBox rFlex"
                v-for="(item,index) in data"
                v-if="item.odds_code[1]-item.odds_code[2] == 0 && !item.odds_code.endsWith('_h')"
              >
                <div class="score">{{item.condition}}</div>
                <div class="odds" v-if="item.odds > 0"
                  :class="{chooseStyle:item.isTrue,rising:item.change == 'rising',falling:item.change == 'falling'}"
                  @click="betMethod(index,item.id,'和局','波胆')"
                >{{item.odds}}</div>
                <img class="odds"  v-else src="@/assets/st-imges/mima.png" />
              </div>
            </div>
            <div class="guest">
              <div
                class="scoreBox rFlex"
                v-for="(item,index) in data"
                v-if="item.odds_code[1]-item.odds_code[2] < 0 && !item.odds_code.endsWith('_h')"
              >
                <div class="score">{{item.condition}}</div>
                <div class="odds" v-if="item.odds > 0"
                  :class="{chooseStyle:item.isTrue,rising:item.change == 'rising',falling:item.change == 'falling'}"
                  @click="betMethod(index,item.id,guest_team,'波胆')"
                >{{item.odds}}</div>
                <img class="odds"  v-else src="@/assets/st-imges/mima.png" />
              </div>
            </div>
          </div>
          <div class="tFooter" v-for="(item,index) in data" v-if="item.odds_code =='bo' ">
            <span>其它比分</span>
            <img v-if="item.odds <= 0" class="odds" src="@/assets/st-imges/mima.png"/>
            <span class="odds" v-else
              :class="{chooseStyle:item.isTrue,rising:item.change == 'rising',falling:item.change == 'falling'}"
              @click="betMethod(index,item.id,'','波胆')"
            >{{item.odds}}</span>
          </div>
        </div>
      </div>
      <div v-if="obj.b">
        <div class="tit">
          <span>波胆-上半场</span>
        </div>
        <div class="playCode">
          <div class="tBody flex">
            <div style="width:calc(40% - 1px)">{{home_team}}</div>
            <div style="width:20%;">和局</div>

            <div style="width:calc(40% - 1px)">{{guest_team}}</div>
          </div>
          <div class="playOdds">
            <div class="home row flex wrap topAlignment">
              <div
                class="scoreBox rFlex"
                v-for="(item,index) in data"
                v-if="item.odds_code[1]-item.odds_code[2] >0 && item.odds_code.endsWith('_h')"
              >
                <div class="score">{{item.condition}}</div>
                <img v-if="item.odds <= 0" class="odds" src="@/assets/st-imges/mima.png"/>
                <div v-else class="odds"
                  :class="{chooseStyle:item.isTrue,rising:item.change == 'rising',falling:item.change == 'falling'}"
                  @click="betMethod(index,item.id,home_team,'波胆-上半场')"
                >{{item.odds}}</div>
              </div>
              <div class="scoreBox rFlex"></div>
              <div class="scoreBox rFlex"></div>
            </div>
            <div class="and">
              <div class="scoreBox rFlex"
                v-for="(item,index) in data"
                v-if="item.odds_code[1]-item.odds_code[2] == 0 && item.odds_code.endsWith('_h')"
              >
                <div class="score">{{item.condition}}</div>
                <img  v-if="item.odds <= 0" class="odds" src="@/assets/st-imges/mima.png" />
                <div  v-else  class="odds"
                  :class="{chooseStyle:item.isTrue,rising:item.change == 'rising',falling:item.change == 'falling'}"
                  @click="betMethod(index,item.id,'和局','波胆-上半场')"
                >{{item.odds}}</div>
              </div>
            </div>
            <div class="guest">
              <div class="scoreBox rFlex" v-for="(item,index) in data"
                v-if="item.odds_code[1]-item.odds_code[2] < 0 && item.odds_code.endsWith('_h')"
              >
                <div class="score">{{item.condition}}</div>
                <img v-if="item.odds <= 0" class="odds" src="@/assets/st-imges/mima.png"/>
              
                <div  v-else class="odds"
                  :class="{chooseStyle:item.isTrue,rising:item.change == 'rising',falling:item.change == 'falling'}"
                  @click="betMethod(index,item.id,guest_team,'波胆-上半场')"
                >{{item.odds}}</div>
              </div>
              <div class="scoreBox rFlex"></div>
              <div class="scoreBox rFlex"></div>
            </div>
          </div>
          <div class="tFooter" v-for="(item,index) in data" v-if="item.odds_code  == 'bo_h'">
            <span>其它比分</span>
            <img v-if="item.odds <= 0" class="odds"  src="@/assets/st-imges/mima.png" alt />
            <span v-else class="odds"
              :class="{chooseStyle:item.isTrue,rising:item.change == 'rising',falling:item.change == 'falling'}"
              @click="betMethod(index,item.id,'','波胆-上半场')"
            >{{item.odds}}</span>
          </div>
        </div>
      </div>
    </div>
  </div>
</template>
<script>
export default {
  data() {
    return {
      title: "B",
      data: [], //数据源
      isData: true, //
      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 == "B" && 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("b")) {
          obj.a = true;
        }
        if (e.odds_code.endsWith("_h")) {
          obj.b = true;
        }
      });
      this.obj = obj;
    },
    /*---------------------------------- */
    //玩法投注
    betMethod(index, id, name, playName) {
      let betting;
      let _this = this;
      let ballId = this.$store.getters.getBallCode;
      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);
      }
      //调用投注公共方法
      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() {
      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) {
      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.isData = true;
          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;
  flex-direction: row;
  flex-wrap: wrap;
}
.rFlex {
  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 {
  background: #fff;
}
.tBody {
  font-size: 0.14rem;
  text-align: center;
  background-color: #e5e5e5;
  color: rgb(90, 90, 90);
  height: 0.4rem;
}
.home,
.guest {
  width: 40%;
  min-height: 0.4rem;
}
.scoreBox {
  width: calc(50% - 1px);
  height: 0.4rem;
  padding: 0 0.1rem;
  font-size: 0.14rem;
  border-right: 1px solid #d7d7d7;
  border-bottom: 1px solid #d7d7d7;
}
.score {
  color: #f76649;
  font-weight: bold;

  /* text-align: right; */
}
.scoreBox:hover,
.tFooter:hover {
  background: #fff5e9;
}
.playOdds {
  display: flex;
}
.and {
  width: 20%;
  /* line-height: 0.4rem; */
}
.and .scoreBox {
  width: calc(100% - 1px);
}
.guest {
  display: flex;
  align-items: center;
  flex-direction: row;
  flex-wrap: wrap;
}
.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;
}
.tFooter {
  height: 0.4rem;
  line-height: 0.4rem;
  padding: 0 0.24rem;
  font-size: 0.14rem;
  text-align: right;
}
</style>