1f8eabe40f18e105be65964f21ef52883c375923.svn-base 6.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215
  1. <template>
  2. <div>
  3. <div v-for="item in data">
  4. <yd-accordion>
  5. <!-- 组件标题 -->
  6. <yd-accordion-item class="Match-game" :title="item.title" open>
  7. <div class="row allAlignment center rowBox" style="padding:0;">
  8. <!-- {{item.data.a}} -->
  9. <div class="column width-box" style="border-right: 1px solid #e4e4e4;">
  10. <div v-for="(items) in item.data.a" class=" left-box">
  11. <div class="row allAlignment center">
  12. <span>大</span>
  13. <div class="column center btn-box" @click="bettingBtn(items.id,'大',items.odds_only,items.p_code,match_id)">
  14. <span style="color: #FD8F26;" v-if="items.condition">{{ items.condition }}</span>
  15. <span>{{ items.odds }}</span>
  16. </div>
  17. </div>
  18. </div>
  19. </div>
  20. <div class="column width-box">
  21. <div v-for="(items) in item.data.b" class="right-box">
  22. <div class="row allAlignment center ">
  23. <span>小</span>
  24. <div class="column center btn-box" @click="bettingBtn(items.id,'小',items.odds_only,items.p_code,match_id)">
  25. <span style="color: #FD8F26;" v-if="items.condition">{{ items.condition }}</span>
  26. <span>{{ items.odds }}</span>
  27. </div>
  28. </div>
  29. </div>
  30. </div>
  31. </div>
  32. </yd-accordion-item>
  33. </yd-accordion>
  34. </div>
  35. </div>
  36. </template>
  37. <script>
  38. export default {
  39. //总进球数
  40. data() {
  41. return {
  42. // 组件内部测试状态
  43. home_team: "",
  44. guest_team: "",
  45. title: "球队进球大小",
  46. data: [],
  47. isDisplay: false,
  48. match_id:'',
  49. };
  50. },
  51. methods: {
  52. bettingBtn(id,name,odds,odds_only,p_code,match_id,condition='',bettingTime='') {
  53. console.log(id,name,odds,odds_only,p_code,match_id,'我的')
  54. let _this = this;
  55. let bettingInfo = {
  56. id,
  57. home_team:this.home_team,
  58. guest_team:this.guest_team,
  59. name,
  60. odds,
  61. p_code,
  62. match_id,
  63. condition,
  64. ganame:this.title,
  65. score:this.score,
  66. bettingTime,
  67. odds_only,
  68. ballId:this.$store.getters.getBallId,
  69. }
  70. //调用玩法投注公共方法
  71. this.$public.bettingFunction(this.betting,bettingInfo,this.data,this.$store.getters.getBetting,this.title,this.dataNum,function(res,type){
  72. _this.$set(res,'isTrue',type);
  73. },function(data,val){
  74. _this.$store.dispatch("BETTING", []);
  75. _this.$store.dispatch("BETTING", data ? data : val);
  76. if(_this.$store.getters.getIsBetting) return false
  77. _this.$store.dispatch("ISBETTING",true)
  78. })
  79. }
  80. },
  81. computed: {
  82. getUserIcons() {
  83. return this.$store.getters.getGameRatio;
  84. }
  85. },
  86. watch: {
  87. getUserIcons(val) {
  88. this.match_id=val.match_id
  89. if (!val) return false;
  90. this.home_team = val.home_team;
  91. this.guest_team = val.guest_team;
  92. let objA = {},
  93. objB = {},
  94. objC = {},
  95. objD = {};
  96. val.oddsData.forEach(res => {
  97. if (res.key == this.title) {
  98. this.isDisplay = true;
  99. //console.log('球队进球大小',res);
  100. let key = Object.keys(res.data);
  101. let data = Object.values(res.data);
  102. key.forEach((e, index) => {
  103. let str = e.split("|");
  104. if (str[0] == "全场") {
  105. if (str[1] == "主队") {
  106. if (str[2] == "大") {
  107. objA.a = data[index];
  108. console.log("主大", data[index]);
  109. } else if (str[2] == "小") {
  110. objA.b = data[index];
  111. console.log("主小", data[index]);
  112. }
  113. } else if (str[1] == "客队") {
  114. if (str[2] == "大") {
  115. objB.a = data[index];
  116. } else if (str[2] == "小") {
  117. objB.b = data[index];
  118. }
  119. }
  120. //arrays.push(data[index][0]);
  121. } else if (str[0] == "上半场") {
  122. if (str[1] == "主队") {
  123. if (str[2] == "大") {
  124. objC.a = data[index];
  125. } else if (str[2] == "小") {
  126. objC.b = data[index];
  127. }
  128. } else if (str[1] == "客队") {
  129. if (str[2] == "大") {
  130. objD.a = data[index];
  131. } else if (str[2] == "小") {
  132. objD.b = data[index];
  133. }
  134. }
  135. }
  136. });
  137. }
  138. });
  139. if (objA.a) {
  140. this.data.push({ title: this.home_team + ":进球大小", data: objA });
  141. }
  142. if (objB.a) {
  143. this.data.push({ title: this.guest_team + ":进球大小", data: objB });
  144. }
  145. if (objC.a) {
  146. this.data.push({ title: this.home_team + ":进球大小-上半场", data: objC });
  147. }
  148. if (objD.a) {
  149. this.data.push({ title: this.guest_team + ":进球大小-上半场", data: objD });
  150. }
  151. console.log(this.data);
  152. }
  153. },
  154. mounted() {
  155. console.log('/////',this.data)
  156. },
  157. };
  158. </script>
  159. <style scoped>
  160. div /deep/ .yd-accordion-head-arrow:after {
  161. border: none;
  162. width: 0.5rem;
  163. height: 0.5rem;
  164. background: url(../../assets/st-imges/xiangxia.png) no-repeat;
  165. background-size: 100% 100%;
  166. }
  167. div /deep/ .yd-accordion-head,
  168. div /deep/ .yd-accordion-head-content,
  169. div /deep/ .yd-accordion-title {
  170. height: 0.88rem;
  171. font-size: 0.28rem;
  172. color: #333;
  173. background: #f8f8f8;
  174. }
  175. div /deep/ .yd-accordion-head {
  176. padding: 0 0.32rem;
  177. }
  178. .rowBox {
  179. padding: 0 0.32rem;
  180. background: #f0f0f0;
  181. border-bottom: 1px solid #e4e4e4;
  182. }
  183. .width-box {
  184. width: 50%;
  185. }
  186. .right-box{
  187. padding-right: 0.32rem;
  188. padding-left: 0.2rem;
  189. border-bottom: 1px solid #e4e4e4;
  190. }
  191. .left-box{
  192. padding-left: 0.32rem;
  193. border-bottom: 1px solid #e4e4e4;
  194. }
  195. .btn-box {
  196. width: 1.07rem;
  197. height: 0.76rem;
  198. font-size: 0.24rem;
  199. padding: 0.1rem;
  200. border: 2px solid #cecece;
  201. border-radius: 0.1rem;
  202. margin: 0.1rem;
  203. }
  204. .active {
  205. background: #f76649;
  206. padding: 0.1rem;
  207. border: 2px solid #f76649;
  208. }
  209. .active i {
  210. color: #f4f4f4 !important;
  211. }
  212. </style>