5075651a46581a02f54eb95892448a3b14bdae62.svn-base 62 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116111711181119112011211122112311241125112611271128112911301131113211331134113511361137113811391140114111421143114411451146114711481149115011511152115311541155115611571158115911601161116211631164116511661167116811691170117111721173117411751176117711781179118011811182118311841185118611871188118911901191119211931194119511961197119811991200120112021203120412051206120712081209121012111212121312141215121612171218121912201221122212231224122512261227122812291230123112321233123412351236123712381239124012411242124312441245124612471248124912501251125212531254125512561257125812591260126112621263126412651266126712681269127012711272127312741275127612771278127912801281128212831284128512861287128812891290129112921293129412951296129712981299130013011302130313041305130613071308130913101311131213131314131513161317131813191320132113221323132413251326132713281329133013311332133313341335133613371338133913401341134213431344134513461347134813491350135113521353135413551356135713581359136013611362136313641365136613671368136913701371137213731374137513761377137813791380138113821383138413851386138713881389139013911392139313941395139613971398139914001401140214031404140514061407140814091410141114121413141414151416141714181419142014211422142314241425142614271428142914301431143214331434143514361437143814391440144114421443144414451446144714481449145014511452145314541455145614571458145914601461146214631464146514661467146814691470147114721473147414751476147714781479148014811482148314841485148614871488148914901491149214931494149514961497149814991500150115021503150415051506150715081509151015111512151315141515151615171518151915201521152215231524152515261527152815291530153115321533153415351536153715381539154015411542154315441545154615471548154915501551155215531554155515561557155815591560156115621563156415651566156715681569157015711572157315741575157615771578157915801581158215831584158515861587158815891590159115921593159415951596159715981599160016011602160316041605160616071608160916101611161216131614161516161617161816191620162116221623162416251626162716281629163016311632163316341635163616371638163916401641164216431644164516461647164816491650165116521653165416551656165716581659166016611662166316641665166616671668166916701671167216731674167516761677167816791680168116821683168416851686168716881689169016911692169316941695169616971698
  1. <!--
  2. * @Description: In User Settings Edit
  3. * @Author: your name
  4. * @Date: 2019-08-26 10:58:22
  5. * @LastEditTime: 2019-08-27 18:43:34
  6. * @LastEditors: Please set LastEditors
  7. -->
  8. <template>
  9. <div>
  10. <div v-if="noData">
  11. <NotOpend :title="this.info"/>
  12. </div>
  13. <!-- 足球 -->
  14. <!-- 让球&大小 -->
  15. <div class="match" v-if="isShow && wq_show && zlBallShow">
  16. <div v-for="(item,$index) in letBallData" :key="$index" class="mg">
  17. <div class="row allAlignment haderBox center">
  18. <span>{{item.leagueName}}</span>
  19. <div class="row Match-title-num">
  20. <span>{{item.matchNum}}</span>
  21. </div>
  22. </div>
  23. <div class="Match-box">
  24. <div v-for="(itemList,index) in item.matchData" :key="index" @click="matchInfo(itemList.match_id)">
  25. <div class="row allAlignment Match-box-top">
  26. <div class="Match-box-top-left">
  27. <span>{{itemList.match_process}}</span>
  28. <span class="texttop" v-if="activity == 'StRollBall'">{{itemList.a_time}}</span>
  29. <span class="texttop" v-if="activity == 'StSoon' && itemList.wait_time > 0">{{itemList.wait_time}}分钟</span>
  30. <span class="texttop" v-else-if="activity == 'StSoon' && itemList.wait_time < 0">--分钟</span>
  31. </div>
  32. <div class="Match-box-top-right row">
  33. <span style="margin-right: .1rem;" class="Match-box-top-num">{{itemList.tag}}</span>
  34. <span style="margin-right: .1rem;">让球</span>
  35. <span style="margin-right: .1rem;">大小</span>
  36. </div>
  37. </div>
  38. <div class="row allAlignment center listbox">
  39. <div class="column average name-box">
  40. <div class="box noBox row item-center main-box">
  41. <span v-if="itemList.home_score == '0' || itemList.home_score" class="num-box" style="color:#eb921e" >{{itemList.home_score}}</span>
  42. <span v-else style="color:#eb921e">{{itemList.home_score}}</span>
  43. &nbsp;&nbsp;{{itemList.home_team}}
  44. </div>
  45. <div class="box noBox row item-center main-box">
  46. <span
  47. v-if="itemList.guest_score || itemList.guest_score == '0'"
  48. class="num-box"
  49. style="color:#eb921e"
  50. >{{itemList.guest_score}}</span>
  51. <span v-else style="color:#eb921e">{{itemList.guest_score}}</span>
  52. &nbsp;&nbsp;{{itemList.guest_team}}
  53. </div>
  54. </div>
  55. <div class="Match-list-box row item-center average">
  56. <div class="Match-bottom-right">
  57. <!-- 主队 -->
  58. <div class v-for="(items,indexs) in itemList.oddsData[0]" :key="indexs" :class="items.odds == 0?'locking':''" >
  59. <div v-if="items.odds ">
  60. <div class v-if="items.odds_code.startsWith('co')">
  61. <div>
  62. <div
  63. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  64. class="letballHome column center"
  65. v-if="items.odds_code.startsWith('coh')"
  66. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.home_team,items.odds,items.condition,items.odds_only,items.odds_code,'homeOdds',items.p_code,items.status,item.lg_id,'让球',items.oddsType)"
  67. >
  68. <span style="color: rgb(247, 102, 73); " v-if="items.odds > 0">{{items.condition}}</span>
  69. <span v-if="items.odds >0" >{{items.odds}}</span>
  70. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;margin-top:0.1rem;" src="@/assets/st-imges/mima.png"><img>
  71. </div>
  72. </div>
  73. <div
  74. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  75. class="letballGuest column center"
  76. v-if="items.odds_code.startsWith('cog')"
  77. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.home_team,items.odds,items.condition,items.odds_only,items.odds_code,'homeOdds',items.p_code,items.status,item.lg_id,'让球',items.oddsType)"
  78. >
  79. <span style="color: rgb(247, 102, 73); " v-if="items.odds > 0">{{items.condition}}</span>
  80. <span v-if="items.odds >0" >{{items.odds}}</span>
  81. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;margin-top:0.1rem;" src="@/assets/st-imges/mima.png"><img>
  82. </div>
  83. </div>
  84. <div
  85. v-if="items.odds_code.startsWith('gs')"
  86. class="row bigSmall"
  87. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.guest_team,items.odds,items.condition,items.odds_only,items.odds_code,'guestOdds',items.p_code,items.status,item.lg_id,'大小',items.oddsType)"
  88. >
  89. <div
  90. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  91. class="bigHome column center"
  92. v-if="items.odds_code.startsWith('gsb')"
  93. >
  94. <div style="color: rgb(247, 102, 73);" class="stardBig" v-if="items.odds > 0">
  95. <span class="bigSmall">大</span>
  96. <span v-if="items.condition !='大'">{{items.condition}}</span>
  97. </div>
  98. <span v-if="items.odds >0" >{{items.odds}}</span>
  99. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;margin-top:0.1rem;" src="@/assets/st-imges/mima.png"><img>
  100. </div>
  101. <div
  102. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  103. class="bigGuest column center"
  104. v-if="items.odds_code.startsWith('gss')"
  105. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.guest_team,items.odds,items.condition,items.odds_only,items.odds_code,'guestOdds',items.p_code,items.status,item.lg_id,'大小',items.oddsType)"
  106. >
  107. <div style="color: rgb(247, 102, 73); " class="stardBig" v-if="items.odds > 0">
  108. <span class="bigSmall">小</span>
  109. <span v-if="items.condition !='小'">{{items.condition}}</span>
  110. </div>
  111. <span v-if="items.odds >0" >{{items.odds}}</span>
  112. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;margin-top:0.1rem;" src="@/assets/st-imges/mima.png"><img>
  113. </div>
  114. </div>
  115. <div v-if="items.odds_code.startsWith('total')" class="row bigSmall"
  116. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.guest_team,items.odds,items.condition,items.odds_only,items.odds_code,'guestOdds',items.p_code,items.status,item.lg_id,'大小',items.oddsType)"
  117. >
  118. <div :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  119. class="bigHome column center" v-if="items.odds_code.endsWith('gsb')">
  120. <div style="color: rgb(247, 102, 73);" class="stardBig">
  121. <span class="bigSmall">大</span>
  122. <span>{{items.condition}}</span>
  123. </div>
  124. <span v-if="items.odds >0" >{{items.odds}}</span>
  125. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;margin-top:0.1rem;" src="@/assets/st-imges/mima.png"><img>
  126. </div>
  127. <div
  128. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  129. class="bigGuest column center"
  130. v-if="items.odds_code.endsWith('small')"
  131. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.guest_team,items.odds,items.condition,items.odds_only,items.odds_code,'guestOdds',items.p_code,items.status,item.lg_id,'大小',items.oddsType)"
  132. >
  133. <div style="color: rgb(247, 102, 73); " class="stardBig" v-if="items.odds > 0">
  134. <span class="bigSmall">小</span>
  135. <span>{{items.condition}}</span>
  136. </div>
  137. <span v-if="items.odds >0" >{{items.odds}}</span>
  138. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;margin-top:0.1rem;" src="@/assets/st-imges/mima.png"><img>
  139. </div>
  140. </div>
  141. </div>
  142. </div>
  143. </div>
  144. </div>
  145. </div>
  146. </div>
  147. </div>
  148. </div>
  149. </div>
  150. <!-- 足球1x2 -->
  151. <div v-if="!isShow && !ishow && wq_show">
  152. <div v-for="(item,$index) in letBallData" :key="item.id" @click="bettingChange()">
  153. <div class="row allAlignment haderBox center">
  154. <span>{{item.leagueName}}</span>
  155. <div class="Match-title-num">
  156. <span>{{item.matchNum}}</span>
  157. </div>
  158. </div>
  159. <div
  160. v-for="(itemList,idx) in item.matchData"
  161. :key="idx"
  162. @click="matchInfo(itemList.match_id)"
  163. >
  164. <div class="box noPd">
  165. <div class="row allAlignment item-center top-box">
  166. <span>
  167. <span>{{itemList.match_process}}</span>
  168. <span class="texttop" v-if="activity == 'StRollBall'">{{itemList.a_time}}</span>
  169. <span class="texttop" v-if="activity == 'StSoon' && itemList.wait_time > 0">{{itemList.wait_time}}分钟</span>
  170. <span class="texttop" v-else-if="activity == 'StSoon' && itemList.wait_time < 0">--分钟</span>
  171. </span>
  172. <span class="top-num">{{itemList.tag}}</span>
  173. </div>
  174. </div>
  175. <div class="box-bottom">
  176. <div class="box row item-center main-box">
  177. <span
  178. v-if="itemList.home_score == '0' || itemList.home_score"
  179. class="num-box"
  180. style="color:#eb921e"
  181. >{{itemList.home_score}}</span>
  182. <span v-else style="color:#eb921e">{{itemList.home_score}}</span>
  183. &nbsp;&nbsp;{{itemList.home_team}}
  184. </div>
  185. <div class="box row item-center main-box">
  186. <span
  187. v-if="itemList.guest_score || itemList.guest_score == '0'"
  188. class="num-box"
  189. style="color:#eb921e"
  190. >{{itemList.guest_score}}</span>
  191. <span v-else style="color:#eb921e">{{itemList.guest_score}}</span>
  192. &nbsp;&nbsp;{{itemList.guest_team}}
  193. </div>
  194. <div class="footBox" style="position:relative">
  195. <div class="box row allAlignment bottom-box center" v-for="(items,i) in itemList.oddsData[1]"
  196. :key="i" v-if="items != null">
  197. <div v-if="items.condition == 1" class="item-center bottom-num stardLeft"
  198. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  199. @click.stop="isClick($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.guest_team,items.odds,items.condition,items.odds_only,items.odds_code,'capot',items.p_code,items.oddsType,item.lg_id,'1X2')"
  200. >
  201. <p style="color:#eb921e">{{items.condition}}</p>
  202. <p>{{items.odds}}</p>
  203. </div>
  204. <div v-if="items.condition == 'X'" class="item-center bottom-num stardCenter"
  205. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  206. @click.stop="isClick($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.guest_team,items.odds,items.condition,items.odds_only,items.odds_code,'capot',items.p_code,items.oddsType,item.lg_id,'1X2')"
  207. >
  208. <p style="color:#eb921e">{{items.condition}}</p>
  209. <p>{{items.odds}}</p>
  210. </div>
  211. <div v-if="items.condition == 2" class="item-center bottom-num stardRight"
  212. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  213. @click.stop="isClick($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.guest_team,items.odds,items.condition,items.odds_only,items.odds_code,'capot',items.p_code,items.oddsType,item.lg_id,'1X2')"
  214. >
  215. <p style="color:#eb921e">{{items.condition}}</p>
  216. <p>{{items.odds}}</p>
  217. </div>
  218. </div>
  219. </div>
  220. </div>
  221. </div>
  222. </div>
  223. </div>
  224. <!-- 篮球 棒球 -->
  225. <div class="match" v-if="isShow && wq_show && !zlBallShow">
  226. <div v-for="(item,$index) in letBallData" :key="$index" class="mg">
  227. <div class="row allAlignment haderBox center">
  228. <span>{{item.leagueName}}</span>
  229. <div class="row Match-title-num">
  230. <span>{{item.matchNum}}</span>
  231. </div>
  232. </div>
  233. <div class="Match-box">
  234. <div
  235. v-for="(itemList,index) in item.matchData"
  236. :key="index"
  237. @click="matchInfo(itemList.match_id)"
  238. >
  239. <div class="row allAlignment Match-box-top">
  240. <div class="Match-box-top-left">
  241. <span>{{itemList.match_process}}</span>
  242. <span class="texttop" v-if="activity == 'StRollBall'">{{itemList.wait_time}}</span>
  243. <span class="texttop" v-if="activity == 'StSoon' && itemList.wait_time > 0">{{itemList.wait_time}}分钟</span>
  244. <span class="texttop" v-else-if="activity == 'StSoon' && itemList.wait_time < 0">--分钟</span>
  245. </div>
  246. <div class="Match-box-top-right row">
  247. <span style="margin-right: .1rem;" class="Match-box-top-num">{{itemList.tag}}</span>
  248. <span style="margin-right: .1rem;">让球</span>
  249. <span style="margin-right: .1rem;">大小</span>
  250. </div>
  251. </div>
  252. <div class="row allAlignment center listbox">
  253. <div class="column average name-box">
  254. <div class="box noBox row item-center main-box">
  255. <span
  256. v-if="itemList.home_score == '0' || itemList.home_score"
  257. class="num-box"
  258. style="color:#eb921e"
  259. >{{itemList.home_score}}</span>
  260. <span v-else style="color:#eb921e">{{itemList.home_score}}</span>
  261. &nbsp;&nbsp;{{itemList.home_team}}
  262. </div>
  263. <div class="box noBox row item-center main-box">
  264. <span
  265. v-if="itemList.guest_score || itemList.guest_score == '0'"
  266. class="num-box"
  267. style="color:#eb921e"
  268. >{{itemList.guest_score}}</span>
  269. <span v-else style="color:#eb921e">{{itemList.guest_score}}</span>
  270. &nbsp;&nbsp;{{itemList.guest_team}}
  271. </div>
  272. </div>
  273. <div class="Match-list-box row item-center average">
  274. <div class="Match-bottom-right">
  275. <!-- 主队 -->
  276. <div class v-for="(items,idx) in itemList.oddsData[0]" :key="idx">
  277. <div v-if="items != null">
  278. <div class v-if="items.odds_code.startsWith('co')">
  279. <div
  280. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  281. class="letballHome column center"
  282. v-if="items.odds_code.endsWith('coh')"
  283. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.home_team,items.odds,items.condition,items.odds_only,items.odds_code,'concede',items.p_code,items.status,item.lg_id,'让球',items.oddsType)"
  284. >
  285. <span style="color: rgb(247, 102, 73); " v-if="items.odds > 0">{{items.condition}}</span>
  286. <span v-if="items.odds >0" >{{items.odds}}</span>
  287. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;" src="@/assets/st-imges/mima.png"><img>
  288. </div>
  289. <div
  290. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  291. class="letballGuest column center"
  292. v-if="items.odds_code.endsWith('cog')"
  293. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.home_team,items.odds,items.condition,items.odds_only,items.odds_code,'concede',items.p_code,items.status,item.lg_id,'让球',items.oddsType)"
  294. >
  295. <span style="color: rgb(247, 102, 73); " v-if="items.odds > 0">{{items.condition}}</span>
  296. <span v-if="items.odds >0" >{{items.odds}}</span>
  297. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;" src="@/assets/st-imges/mima.png"><img>
  298. </div>
  299. </div>
  300. <div class="row bigSmall" v-if="items.odds_code.startsWith('tn')">
  301. <div
  302. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  303. class="bigHome column center"
  304. v-if="items.odds_code == 'tnb'"
  305. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.home_team,items.odds,items.condition,items.odds_only,items.odds_code,'total_size',items.p_code,items.status,item.lg_id,'大小',items.oddsType)"
  306. >
  307. <span style="color: rgb(247, 102, 73); " v-if="items.odds > 0">{{items.condition}}</span>
  308. <span v-if="items.odds >0" >{{items.odds}}</span>
  309. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;" src="@/assets/st-imges/mima.png"><img>
  310. </div>
  311. <div
  312. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  313. class="bigGuest column center"
  314. v-if="items.odds_code == 'tns'"
  315. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.home_team,items.odds,items.condition,items.odds_only,items.odds_code,'total_size',items.p_code,items.status,item.lg_id,'大小',items.oddsType)"
  316. >
  317. <span style="color: rgb(247, 102, 73); " v-if="items.odds > 0">{{items.condition}}</span>
  318. <span v-if="items.odds >0" >{{items.odds}}</span>
  319. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;" src="@/assets/st-imges/mima.png"><img>
  320. </div>
  321. </div>
  322. </div>
  323. </div>
  324. </div>
  325. </div>
  326. </div>
  327. </div>
  328. </div>
  329. </div>
  330. </div>
  331. <!-- 独赢盘 -->
  332. <div class="match" v-if="!isShow && ishow && wq_show">
  333. <div v-for="(item,$index) in letBallData" :key="$index" class="mg">
  334. <div class="row allAlignment letBallBox center">
  335. <span>{{item.leagueName}}</span>
  336. <div class="row Match-title-num">
  337. <span>{{item.matchNum}}</span>
  338. </div>
  339. </div>
  340. <div class="Match-box">
  341. <div
  342. v-for="(itemList,index) in item.matchData"
  343. :key="index"
  344. class="Match-box"
  345. @click="matchInfo(itemList.match_id)"
  346. >
  347. <div class="row allAlignment Match-box-top">
  348. <div class="Match-box-top-left">
  349. <span class="texttop" v-if="activity == 'StRollBall'">{{itemList.a_time}}</span>
  350. <span class="texttop" v-if="activity == 'StSoon' && itemList.wait_time > 0">{{itemList.wait_time}}分钟</span>
  351. <span class="texttop" v-else-if="activity == 'StSoon' && itemList.wait_time < 0">--分钟</span>
  352. </div>
  353. <div class="Match-box-top-right row">
  354. <span style="margin-right: .1rem;" class="Match-box-top-num">{{itemList.tag}}</span>
  355. <span style="margin-right: .1rem;">独赢盘</span>
  356. </div>
  357. </div>
  358. <div class="row allAlignment center listbox">
  359. <div class="column average name-box">
  360. <div>{{itemList.home_team}}</div>
  361. <div>{{itemList.guest_team}}</div>
  362. </div>
  363. <div class="Match-list-box row item-center average">
  364. <div class="Match-bottom-right" style="width:1.3rem;">
  365. <!-- 主队 -->
  366. <div class="capotBox">
  367. <div
  368. class="Match-list-left"
  369. v-for="(items,indexs) in itemList.oddsData[1]"
  370. :key="indexs"
  371. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.home_team,items.odds,items.condition,items.odds_only,items.odds_code,'capot',items.p_code,items.status,item.lg_id,'独赢盘',items.oddsType)"
  372. >
  373. <div :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}" class="column center">
  374. <span style="color:#f76649">{{items.condition}}</span>
  375. <span>{{items.odds}}</span>
  376. </div>
  377. </div>
  378. </div>
  379. </div>
  380. </div>
  381. </div>
  382. </div>
  383. </div>
  384. </div>
  385. </div>
  386. <!-- 如过是网球则显示 -->
  387. <div class="match" v-if="isShow && !wq_show">
  388. <div v-for="(item,$index) in letBallData" :key="$index" class="mg">
  389. <!-- <div v-for="items in list[index]" :key="items.id"> -->
  390. <div class="row allAlignment letBallBox center">
  391. <span>{{item.leagueName}}</span>
  392. <div class="row Match-title-num">
  393. <span>{{item.matchNum}}</span>
  394. </div>
  395. </div>
  396. <div class="Match-box">
  397. <div
  398. v-for="(itemList,index) in item.matchData"
  399. :key="index"
  400. class="Match-box"
  401. @click="matchInfo(itemList.match_id)"
  402. >
  403. <div class="row allAlignment Match-box-top">
  404. <div class="Match-box-top-left">
  405. <!-- <span>{{itemList.match_date}}</span> -->
  406. <span class="texttop">{{itemList.match_process}}</span>
  407. <span class="texttop" v-if="activity == 'StRollBall'">{{itemList.a_time}}</span>
  408. <span class="texttop" v-if="activity == 'StSoon' && itemList.wait_time > 0">{{itemList.wait_time}}分钟</span>
  409. <span class="texttop" v-else-if="activity == 'StSoon' && itemList.wait_time < 0">--分钟</span>
  410. </div>
  411. <div class="Match-box-top-right row">
  412. <span style="margin-right: .1rem;" class="Match-box-top-num">{{itemList.tag}}</span>
  413. <span style="margin-right: .1rem;">独赢盘</span>
  414. <span style="margin-right: .1rem;">让盘</span>
  415. </div>
  416. </div>
  417. <div class="row allAlignment center listbox">
  418. <div class="column average name-box">
  419. <div>{{itemList.home_team}}</div>
  420. <div>{{itemList.guest_team}}</div>
  421. </div>
  422. <div class="Match-list-box row item-center average">
  423. <div class="Match-bottom-right">
  424. <!-- 主队 -->
  425. <div class v-for="(items,indexs) in itemList.oddsData" :key="indexs">
  426. <div v-if="items.odds">
  427. <div class v-if="items.odds_code.startsWith('c')">
  428. <div
  429. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  430. class="letballHome column center"
  431. v-if="items.odds_code.endsWith('ch')"
  432. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.home_team,items.odds,items.condition,items.odds_only,items.odds_code,'kemp',items.p_code,items.status,item.lg_id,'独赢盘',items.oddsType)"
  433. >
  434. <span style="color: rgb(247, 102, 73); " v-if="items.odds > 0">{{items.condition}}</span>
  435. <span v-if="items.odds >0" >{{items.odds}}</span>
  436. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;margin-top:0.1rem;" src="@/assets/st-imges/mima.png"><img>
  437. </div>
  438. <div
  439. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  440. class="letballGuest column center"
  441. v-if="items.odds_code.endsWith('cg')"
  442. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.home_team,items.odds,items.condition,items.odds_only,items.odds_code,'kemp',items.p_code,items.status,item.lg_id,'独赢盘',items.oddsType)"
  443. >
  444. <span style="color: rgb(247, 102, 73); " v-if="items.odds > 0">{{items.condition}}</span>
  445. <span v-if="items.odds >0" >{{items.odds}}</span>
  446. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;margin-top:0.1rem;" src="@/assets/st-imges/mima.png"><img>
  447. </div>
  448. </div>
  449. <div
  450. v-if="items.odds_code.startsWith('ld')"
  451. class="row bigSmall"
  452. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.guest_team,items.odds,items.condition,items.odds_only,items.odds_code,'dishes_home',items.p_code,items.status,item.lg_id,'让盘',items.oddsType)"
  453. >
  454. <div
  455. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  456. class="bigHome column center"
  457. v-if="items.odds_code.endsWith('ldg')"
  458. >
  459. <span style="color: rgb(247, 102, 73); " v-if="items.odds > 0">{{items.condition}}</span>
  460. <span v-if="items.odds >0" >{{items.odds}}</span>
  461. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;margin-top:0.1rem;" src="@/assets/st-imges/mima.png"><img>
  462. </div>
  463. <div
  464. :class="{active:items.isTrue,increased_color:items.change == 'add',reduce_color:items.change == 'red'}"
  465. class="bigGuest column center"
  466. v-if="items.odds_code.endsWith('ldh')"
  467. @click.stop="isBetting($index,itemList.match_id,items.id,itemList.home_team,itemList.guest_team,itemList.guest_team,items.odds,items.condition,items.odds_only,items.odds_code,'dishes_home',items.p_code,items.status,item.lg_id,'让盘',items.oddsType)"
  468. >
  469. <span style="color: rgb(247, 102, 73); " v-if="items.odds > 0">{{items.condition}}</span>
  470. <span v-if="items.odds >0" >{{items.odds}}</span>
  471. <img v-if="items.odds <= 0" style="width: 0.7rem;height: 0.5rem;margin-top:0.1rem;" src="@/assets/st-imges/mima.png"><img>
  472. </div>
  473. </div>
  474. </div>
  475. </div>
  476. </div>
  477. </div>
  478. </div>
  479. </div>
  480. </div>
  481. </div>
  482. </div>
  483. <div v-if="isBettingWindow == '100'">
  484. <BettingWindow/>
  485. </div>
  486. </div>
  487. </template>
  488. <script>
  489. import Bus from "../assets/bus.js";
  490. import NotOpend from "@/components/StNotOpend";
  491. import BettingWindow from "@/components/StBettingWindow";
  492. export default {
  493. props: ["gameCode", "name", "ishow"],
  494. components: { NotOpend, BettingWindow },
  495. data() {
  496. return {
  497. show: false, //暂时状态
  498. isShow: true,
  499. noData: true, //显示暂无数据
  500. wq_show: true, //是否为棒球与网球,是则不显示
  501. info: "没有相关比赛信息",
  502. status: false,
  503. isBettingWindow: -1, //投注组件隐藏
  504. isAjax: false, //开关
  505. list: [],
  506. letBallData: [], //让球大小和1X2数据
  507. timers: true,
  508. activity: "",
  509. betting: [], //vuex里面玩法投注数据
  510. thisNum: 10000, //vuex里面
  511. index: "", //
  512. data: "", //玩法赔率数据源
  513. getIsShow: true,
  514. score: "0", //比分
  515. actydy: "", // 切换独赢状态BUG
  516. ball: this.$store.getters.getBallId, // 球类bm
  517. zlBallShow: true, //显示足球还是篮球
  518. previousStorage:[],
  519. wqPreviousStorage :[]
  520. };
  521. },
  522. /**
  523. * 函数方法
  524. */
  525. methods: {
  526. matchInfo(id) {
  527. this.$router.push({
  528. path: "/StRollBallBettingPage",
  529. query: {
  530. gameCode: this.$store.getters.getBallId,
  531. number: 1,
  532. home: true,
  533. name: this.name
  534. }
  535. });
  536. this.$store.dispatch("MACTH_ID", id);
  537. },
  538. //打开联赛投注页面
  539. goMatchInfo: function() {
  540. let ball = this.$store.getters.getBallId;
  541. // this.$store.dispatch("GETSHOW", true);
  542. Bus.$on("show", data => {
  543. this.isShow = data;
  544. if (this.isShow == false && this.ishow == true) {
  545. this.actydy = true;
  546. } else {
  547. this.actydy = false;
  548. }
  549. // // 暂时注释,有BUG
  550. // if (ball == "wq" || ball == "zq") {
  551. // } else {
  552. // // for(var i = 0; i < this.letBallData.length; i++){
  553. // // this.letBallData[i].matchData.forEach(val =>{
  554. // // // console.log('val',val)
  555. // // if(val.oddsData[0].homeOdds || val.oddsData[0].guestOdds){
  556. // // val.oddsData = [];
  557. // // }
  558. // // })
  559. // // this.dataGroup(this.letBallData[i],i)
  560. // // }
  561. // }
  562. });
  563. },
  564. getAjax: function(game_code, type_code) {
  565. if (!game_code || !type_code) return false;
  566. this.$http
  567. .get(this.$ports.match.matchState, { game_code, type_code })
  568. .then(res => {
  569. //console.log('数据结构',res.data.data);
  570. this.isAjax = true;
  571. if (
  572. res.data.status == 1 &&
  573. res.data.data.length > 0 &&
  574. res.data != null
  575. ) {
  576. this.letBallData = res.data.data;
  577. // console.log(this.letBallData)
  578. this.noData = false;
  579. //让球大小组合
  580. // for (var i = 0; i < res.data.data.length; i++) {
  581. this.dataGroup(this.letBallData);
  582. // }
  583. // //滚球比赛时间倒计时
  584. // if (this.activity == "StRollBall" && this.ball == 'zq') {
  585. // let _this = this;
  586. // _this.letBallData.forEach(val => {
  587. // val.matchData.forEach(e => {
  588. // if(e.a_time){
  589. // let [f, s] = e.a_time.split(":");
  590. // if (e.a_time != "") {
  591. // let [f, s] = e.a_time.split(":");
  592. // this.$public.timer(f, s, function(f, s) {
  593. // e.a_time = f + ":" + s;
  594. // });
  595. // }
  596. // }
  597. // });
  598. // });
  599. // }
  600. } else {
  601. // 是否显示组件
  602. this.noData = true;
  603. //console.log('data',this.noData)
  604. // 每次更新数据没有数据时则置空。
  605. this.letBallData = [];
  606. }
  607. });
  608. let _this = this;
  609. setTimeout(() => {
  610. _this.$store.dispatch("GETSHOW", false);
  611. }, 1000);
  612. },
  613. /*--------------------------------------------------------------------------------*/
  614. // 添加、删除vuex投注数据公共方法
  615. AddDelete: function(array, $index, type) {
  616. let bettingInfo = array;
  617. let isAdd = true,isNew=true;
  618. let matchList = this.$store.getters.getBetting;
  619. let ball = this.$store.getters.getBallId;
  620. //添加新的玩法赔率数据
  621. let obj = {
  622. title:bettingInfo.p_code,
  623. data: [bettingInfo]
  624. };
  625. if(matchList != null){
  626. for(let i = 0; i < matchList.length;i++){
  627. if(matchList[i].title == bettingInfo.p_code){
  628. //删除vuex投注数据
  629. // console.log(matchList[i].data)
  630. matchList[i].data.forEach((res, index) => {
  631. // console.log(res.id,id)
  632. if (res.id == array.id) {
  633. matchList[i].data.splice(index, 1);
  634. this.$store.dispatch("SET_LIMIT", false);
  635. this.$store.dispatch("BETTING", []);
  636. this.$store.dispatch("BETTING", matchList);
  637. isAdd = false;
  638. isNew = false;
  639. //处理当前页面样式
  640. this.modifyStyle($index, array.id,type);
  641. }
  642. });
  643. //添加vuex投注数据
  644. if (isAdd){
  645. isNew = false;
  646. if (this.$store.getters.getLimit * 1 >= 10) return false;
  647. //处理当前页面样式
  648. this.modifyStyle($index, array.id, type);
  649. matchList[i].data.push(bettingInfo);
  650. this.$store.dispatch("BETTING",[]);
  651. this.$store.dispatch("BETTING",matchList);
  652. if (this.$store.getters.getIsBetting == "100") return false;
  653. this.$store.dispatch("ISBETTING",100);
  654. }
  655. break;
  656. }
  657. }
  658. if(isNew){
  659. matchList.push(obj)
  660. this.$store.dispatch("BETTING",[]);
  661. this.$store.dispatch("BETTING",matchList);
  662. this.modifyStyle($index, array.id, type);
  663. if (this.$store.getters.getIsBetting == "100") return false;
  664. this.$store.dispatch("ISBETTING", "100");
  665. }
  666. }else{
  667. this.$store.dispatch("BETTING",[obj]);
  668. this.modifyStyle($index, array.id, type);
  669. if (this.$store.getters.getIsBetting == "100") return false;
  670. this.$store.dispatch("ISBETTING", "100");
  671. }
  672. },
  673. /*--------------------------------------------------------------------------------*/
  674. //修改当前页面样式公共方法
  675. modifyStyle: function($index, id, type) {
  676. let ball = this.$store.getters.getBallId;
  677. this.letBallData[$index].matchData.every((e, i) => {
  678. let ret = false;
  679. if(ball == 'lq'){
  680. if(type == 'CO'){
  681. e.oddsData[0].forEach((res,index) =>{
  682. if(res != null){
  683. if(res.id == id){
  684. this.$forceUpdate();
  685. this.$set(res,'isTrue',res.isTrue ? false : true)
  686. }
  687. }
  688. })
  689. }else if(type =='TS'){
  690. e.oddsData[0].forEach((res,index) =>{
  691. if(res.id == id){
  692. // console.log('id',res.id,id)
  693. this.$forceUpdate();
  694. this.$set(res,'isTrue',res.isTrue ? false : true)
  695. }
  696. })
  697. }else if(type == 'C'){
  698. e.oddsData[1].forEach((res,index) =>{
  699. if(res.id == id){
  700. this.$forceUpdate();
  701. this.$set(res,'isTrue',res.isTrue ? false : true)
  702. }
  703. })
  704. }
  705. }else{
  706. if (type == "homeOdds") {
  707. e.oddsData[0].every((res, index) => {
  708. if (res.id == id) {
  709. this.$forceUpdate();
  710. this.$set(res, "isTrue", res.isTrue ? false : true);
  711. ret = true;
  712. return false;
  713. }
  714. return true;
  715. });
  716. } else if (type == "guestOdds") {
  717. e.oddsData[0].every((res, index) => {
  718. if (res.id == id) {
  719. this.$forceUpdate();
  720. this.$set(res, "isTrue", res.isTrue ? false : true);
  721. ret = true;
  722. return false;
  723. }
  724. return true;
  725. });
  726. } else if (type == "C") {
  727. e.oddsData[1].every((res, index) => {
  728. if (res.id == id) {
  729. this.$forceUpdate();
  730. this.$set(res, "isTrue", res.isTrue ? false : true);
  731. ret = true;
  732. return false;
  733. }
  734. return true;
  735. });
  736. }else if(type == 'C'){
  737. e.oddsData.every((res,index) =>{
  738. if(res.id == id){
  739. this.$forceUpdate();
  740. this.$set(res,'isTrue',res.isTrue ? false : true);
  741. ret = true;
  742. return false;
  743. }
  744. return true;
  745. })
  746. }else if(type == 'ldh'){
  747. e.oddsData.forEach((res,index) =>{
  748. if(res.id == id){
  749. this.$forceUpdate();
  750. this.$set(res,'isTrue',res.isTrue ? false : true)
  751. }
  752. })
  753. }
  754. }
  755. if (ret) {
  756. return false;
  757. } else {
  758. return true;
  759. }
  760. });
  761. },
  762. /*--------------------------------------------------------------------------------*/
  763. // 修改投注样式
  764. isBetting(
  765. $index,
  766. match_id,
  767. id,
  768. home,
  769. guest,
  770. name,
  771. odds,
  772. condition,
  773. odds_only,
  774. odds_code,
  775. type,
  776. p_code,
  777. status,
  778. lg_id,
  779. play_name,
  780. oddsType
  781. ) {
  782. let ball = this.$store.getters.getBallId;
  783. let bettingInfo = {};
  784. if(odds > 0){
  785. let bettingInfo = {
  786. id,
  787. home_team: home,
  788. guest_team: guest,
  789. name,
  790. odds,
  791. match_id,
  792. condition,
  793. ballId: this.$store.getters.getBallId,
  794. odds_code: odds_code,
  795. p_code: p_code,
  796. play_name,
  797. score: this.score,
  798. bettingTime: "",
  799. odds_only,
  800. lg_id,
  801. oddsType
  802. };
  803. this.AddDelete(bettingInfo, $index, type);
  804. if (this.$store.getters.getLimit * 1 >= 10) {
  805. this.$dialog.alert({ mes: "你的注单已达到上限啦!" });
  806. }
  807. }
  808. },
  809. /*--------------------------------------------- */
  810. //让球大小数据组合
  811. dataGroup: function(data) {
  812. let ball = this.$store.getters.getBallId;
  813. data.forEach(item =>{
  814. item.matchData.forEach((column, index) => {
  815. if (this.$store.getters.getBallId == "wq") {
  816. column.oddsData.forEach(val =>{
  817. if(this.betting.length > 0){
  818. this.betting.forEach(e => {
  819. e.forEach(item =>{
  820. if (val.id == item.id) {
  821. this.$set(val, "isTrue", true);
  822. }
  823. })
  824. });
  825. }
  826. })
  827. }else {
  828. if(Array.isArray(column.oddsData[1]) == true){
  829. column.oddsData[1].forEach(val => {
  830. if (this.betting.length >0) {
  831. this.betting.forEach(e => {
  832. e.forEach(item =>{
  833. if (val.id == item.id) {
  834. this.$forceUpdate();
  835. this.$set(val, "isTrue", true);
  836. }
  837. })
  838. });
  839. }
  840. });
  841. }
  842. if(Array.isArray(column.oddsData[0]) == true){
  843. column.oddsData[0].forEach(val => {
  844. if(val != null){
  845. if (this.betting.length >0) {
  846. this.betting.forEach(e => {
  847. e.forEach(item =>{
  848. if (val.id == item.id) {
  849. this.$forceUpdate();
  850. this.$set(val, "isTrue", true);
  851. }
  852. })
  853. });
  854. }
  855. }
  856. });
  857. }
  858. }
  859. });
  860. })
  861. // 数据更新切换样式
  862. let storage = this.previousStorage;
  863. let wqStorage = this.wqPreviousStorage;
  864. // console.log('a',storage)
  865. // console.log('222',storage)
  866. if(storage && storage != null && storage != '' && storage.length > 0 ){
  867. if(ball == 'zq' || ball == 'lq' || ball == 'bq'){
  868. // let dataa = data;
  869. data.forEach(itemList =>{
  870. itemList.matchData.forEach((e,idx) =>{
  871. e.oddsData.forEach(item =>{
  872. if(item.length > 0){
  873. item.forEach((list,index) =>{
  874. if(list != null){
  875. storage.forEach((a,i) =>{
  876. a.forEach(b =>{
  877. b.forEach(k =>{
  878. if(k != null){
  879. if(list.id == k.id){
  880. if(list.odds > k.odds){
  881. // console.log("1")
  882. list.change = 'add'
  883. }else if(list.odds < k.odds){
  884. // console.log("2")
  885. list.change = 'red';
  886. }
  887. else if(list.odds == k.odds){
  888. // console.log("3")
  889. list.change = '';
  890. }
  891. }
  892. }
  893. })
  894. })
  895. // a.splice(i,1)
  896. })
  897. }
  898. })
  899. }
  900. // item.splice(idx,1)
  901. })
  902. })
  903. })
  904. }
  905. }else if(wqStorage && wqStorage != null && wqStorage != '' && wqStorage.length > 0 ){
  906. if(ball == 'wq'){
  907. data.forEach(list =>{
  908. list.matchData.forEach(e =>{
  909. e.oddsData.forEach(item =>{
  910. wqStorage.forEach(a =>{
  911. a.forEach(b =>{
  912. if(item.id == b.id){
  913. if(item.odds > b.odds){
  914. item.change = 'add'
  915. }else if(item.odds < b.odds){
  916. item.change = 'red';
  917. }else{
  918. item.change = '';
  919. }
  920. }
  921. })
  922. })
  923. })
  924. })
  925. })
  926. }
  927. }
  928. this.previousStorage = [];
  929. this.wqPreviousStorage = [];
  930. if(ball =='lq' || ball =='zq' || ball =='bq'){
  931. data.forEach(list =>{
  932. list.matchData.forEach(k =>{
  933. this.previousStorage.push(k.oddsData)
  934. })
  935. })
  936. }else{
  937. data.forEach(res =>{
  938. res.matchData.forEach(k =>{
  939. this.wqPreviousStorage.push(k.oddsData)
  940. })
  941. })
  942. }
  943. this.$store.dispatch('GETGAMERATIO',data)
  944. // console.log("处理数据", this.letBallData);
  945. },
  946. /*---------------------------------------------*/
  947. //
  948. isClick(
  949. $index,
  950. match_id,
  951. id,
  952. home,
  953. guest,
  954. name,
  955. odds,
  956. condition,
  957. odds_only,
  958. odds_code,
  959. type,
  960. p_code,
  961. oddsType
  962. ) {
  963. let bettingInfo = {
  964. id,
  965. home_team: home,
  966. guest_team: guest,
  967. name,
  968. odds,
  969. match_id,
  970. condition,
  971. ballId: this.$store.getters.getBallId,
  972. odds_code: odds_code,
  973. p_code: p_code,
  974. play_name: "1X2",
  975. score: this.score,
  976. bettingTime: "",
  977. odds_only,
  978. oddsType
  979. };
  980. this.AddDelete(bettingInfo, $index, type);
  981. if (this.$store.getters.getLimit * 1 >= 10) {
  982. this.$dialog.alert({ mes: "你的注单已达到上限啦!" });
  983. }
  984. },
  985. /*---------------------------------------------*/
  986. //
  987. bettingChange() {
  988. // this.isBettingWindow = '100';
  989. }
  990. /*---------------------------------------------*/
  991. },
  992. /**
  993. * 计算属性
  994. */
  995. computed: {
  996. // 监听vuex状态值的改变
  997. getInfo: function() {
  998. return {
  999. game_code: this.$store.getters.getBallId,
  1000. type_code: this.$store.getters.getActivity
  1001. };
  1002. },
  1003. getIsBetting: function() {
  1004. return this.$store.getters.getIsBetting;
  1005. },
  1006. // // 获取滚动状态
  1007. // getscorllcode() {
  1008. // return this.$public.getCache("box_size");
  1009. // },
  1010. // getBetting() {
  1011. // return this.$store.getters.getBetting;
  1012. // },
  1013. //获取投注框删除的投注信息
  1014. getDeleteType() {
  1015. return this.$store.getters.getDeleteType;
  1016. },
  1017. getActivity: function() {
  1018. return this.$store.getters.getActivity;
  1019. }
  1020. },
  1021. watch: {
  1022. getActivity(val) {
  1023. this.activity = val;
  1024. },
  1025. /*--------------------------------- */
  1026. getInfo(obj) {
  1027. let getBetting = this.$store.getters.getBetting;
  1028. // console.log('111',getBetting)
  1029. this.betting = [];
  1030. if(getBetting){
  1031. if(obj.game_code == 'zq'){
  1032. getBetting.forEach((e,index) =>{
  1033. if('concede' == e.title || 'goal_size' == e.title || 'capot' == e.title){
  1034. this.betting.push(e.data);
  1035. }
  1036. })
  1037. // console.log('zq',this.betting)
  1038. }else if(obj.game_code == 'lq'){
  1039. getBetting.forEach((e,index) =>{
  1040. if('concede' == e.title || 'total_size' == e.title){
  1041. this.betting.push(e.data);
  1042. }
  1043. })
  1044. }else if(obj.game_code == 'bq'){
  1045. getBetting.forEach((e,index) =>{
  1046. if('capot' == e.title || 'concede' == e.title || 'total_size' == e.title){
  1047. this.betting.push(e.data);
  1048. }
  1049. })
  1050. }else if(obj.game_code == 'wq'){
  1051. getBetting.forEach((e,index) =>{
  1052. if('dishes' == e.title || 'kemp' == e.title){
  1053. this.betting.push(e.data);
  1054. }
  1055. })
  1056. }
  1057. }
  1058. //console.log("obj.game_code", obj.game_code);
  1059. let getActivity = this.$store.getters.getActivity;
  1060. this.goMatchInfo();
  1061. // if (getActivity == "StSoon" || getActivity == "StRollBall") {
  1062. // if (this.isAjax) {
  1063. this.$store.dispatch("GETSHOW", true);
  1064. this.letBallData = [];
  1065. this.getAjax(obj.game_code, obj.type_code);
  1066. // }
  1067. // }
  1068. if (obj.game_code == "zq") {
  1069. this.zlBallShow = true;
  1070. } else if (obj.game_code == "lq") {
  1071. this.zlBallShow = false;
  1072. }
  1073. if (obj.game_code == "lq" || obj.game_code == "bq") {
  1074. this.ishow = true;
  1075. }
  1076. if (obj.game_code == "wq") {
  1077. //this.rShow = false;
  1078. this.isShow = true;
  1079. this.wq_show = false;
  1080. } else {
  1081. //this.rShow = true;
  1082. this.wq_show = true;
  1083. }
  1084. },
  1085. /*-------------------------------------*/
  1086. // 监听投注框开关
  1087. getIsBetting(val) {
  1088. this.isBettingWindow = val;
  1089. },
  1090. getDeleteType(val) {
  1091. let flag = true;
  1092. // 下标问题
  1093. let ball = this.$store.getters.getBallId;
  1094. //("matchData", this.letBallData);
  1095. this.letBallData.forEach((item, index) => {
  1096. //console.log("item", item);
  1097. item.matchData.forEach(e => {
  1098. if (val == "all") {
  1099. if(ball == 'lq'){
  1100. e.oddsData[0].forEach(data =>{
  1101. this.$set(data, "isTrue", false);
  1102. })
  1103. // e.oddsData[0].total_size.forEach(data =>{
  1104. // this.$set(data, "isTrue", false);
  1105. // })
  1106. }else if(ball == 'wq'){
  1107. e.oddsData.forEach(data =>{
  1108. this.$set(data,'isTrue',false);
  1109. })
  1110. }
  1111. else{
  1112. e.oddsData[0].forEach(data => {
  1113. this.$set(data, "isTrue", false);
  1114. });
  1115. e.oddsData[0].forEach(data => {
  1116. this.$set(data, "isTrue", false);
  1117. });
  1118. e.oddsData[1].forEach(data => {
  1119. this.$set(data, "isTrue", false);
  1120. });
  1121. }
  1122. } else {
  1123. let showData = true;
  1124. if(ball == 'lq'){
  1125. e.oddsData[0].forEach(data => {
  1126. if (data.id == val) {
  1127. this.$set(data, "isTrue", false);
  1128. showData = false;
  1129. }
  1130. });
  1131. // e.oddsData[0].total_size.forEach(data => {
  1132. // if (data.id == val) {
  1133. // this.$set(data, "isTrue", false);
  1134. // showData = false;
  1135. // }
  1136. // });
  1137. if (showData) {
  1138. e.oddsData[0].forEach(data => {
  1139. if (data.id == val) {
  1140. this.$set(data, "isTrue", false);
  1141. }
  1142. });
  1143. // e.oddsData[0].total_size.forEach(data => {
  1144. // if (data.id == val) {
  1145. // this.$set(data, "isTrue", false);
  1146. // }
  1147. // });
  1148. }
  1149. }else if(ball == 'wq'){
  1150. e.oddsData.forEach(data =>{
  1151. this.$set(data,'isTrue',false);
  1152. })
  1153. }
  1154. else{
  1155. e.oddsData[0].forEach(data => {
  1156. if (data.id == val) {
  1157. this.$set(data, "isTrue", false);
  1158. showData = false;
  1159. }
  1160. });
  1161. if (this.isShow == false && this.$store.getters.getBallId == "zq" || ball == 'bq') {
  1162. e.oddsData[1].forEach(data => {
  1163. if (data.id == val) {
  1164. this.$set(data, "isTrue", false);
  1165. showData = false;
  1166. }
  1167. });
  1168. }
  1169. if (showData) {
  1170. e.oddsData[0].forEach(data => {
  1171. if (data.id == val) {
  1172. this.$set(data, "isTrue", false);
  1173. }
  1174. });
  1175. }
  1176. }
  1177. }
  1178. });
  1179. });
  1180. },
  1181. /*--------------------------------------------------------------------------------*/
  1182. /*--------------------------------------------------------------------------------*/
  1183. },
  1184. mounted() {
  1185. // 调用bus传值
  1186. this.goMatchInfo();
  1187. //console.log("ssa", 123);
  1188. this.activity = this.$store.getters.getActivity;
  1189. let _this = this;
  1190. let getters = this.$store.getters;
  1191. if(getters.getBallId == 'wq'){
  1192. this.wq_show = false;
  1193. }
  1194. // 获取是否滑动信息
  1195. if (this.$public.getCache("box_size") == 1) {
  1196. this.isshrink = true;
  1197. }
  1198. //是否展示投注框
  1199. if (getters.getIsBetting == "100") {
  1200. this.isBettingWindow = 100;
  1201. }
  1202. //获取vuex玩法已投注相对应的数据
  1203. let getBetting = this.$store.getters.getBetting;
  1204. let ball = this.$store.getters.getBallId;
  1205. if(getBetting){
  1206. if(ball == 'zq'){
  1207. getBetting.forEach((e,index) =>{
  1208. if('CO' == e.title || 'GS' == e.title || 'C' == e.title){
  1209. this.betting.push(e.data);
  1210. }
  1211. })
  1212. }else if(ball == 'lq'){
  1213. getBetting.forEach((e,index) =>{
  1214. if('CO' == e.title || 'TS' == e.title){
  1215. this.betting.push(e.data);
  1216. }
  1217. })
  1218. }else if(ball == 'bq'){
  1219. getBetting.forEach((e,index) =>{
  1220. if('C' == e.title || 'CO' == e.title || 'TS' == e.title){
  1221. this.betting.push(e.data);
  1222. }
  1223. })
  1224. }else if(ball == 'wq'){
  1225. getBetting.forEach((e,index) =>{
  1226. if('LD' == e.title || 'C' == e.title){
  1227. this.betting.push(e.data);
  1228. }
  1229. })
  1230. }
  1231. }
  1232. if (this.getIsShow) {
  1233. this.$store.dispatch("GETSHOW", true);
  1234. this.getIsShow = false;
  1235. }
  1236. this.getAjax(ball,this.activity);
  1237. this.$public.ajaxTimerFun(function(timing) {
  1238. if (_this.timers) {
  1239. _this.getAjax(getters.getBallId, getters.getActivity);
  1240. } else {
  1241. clearInterval(timing);
  1242. }
  1243. }, 1000 * 10);
  1244. },
  1245. beforeDestroy() {
  1246. this.timers = false;
  1247. }
  1248. };
  1249. </script>
  1250. <style scoped>
  1251. .yd-cell-box .yd-cell {
  1252. z-index: 99;
  1253. border-radius: 0.2rem;
  1254. }
  1255. .matchBox {
  1256. background: #f9f9f9;
  1257. padding: 0.27rem 0.34rem 0 0.32rem;
  1258. }
  1259. .match .tit {
  1260. display: flex;
  1261. justify-content: space-between;
  1262. font-size: 0.32rem;
  1263. margin-bottom: 0.3rem;
  1264. }
  1265. .match .list {
  1266. overflow: hidden;
  1267. transition: all 0.3s cubic-bezier(0.4, 0.6, 0.2, 1);
  1268. }
  1269. .match .list div {
  1270. background: #dcdcdc;
  1271. width: 100%;
  1272. height: 0.88rem;
  1273. padding: 0.26rem 0.56rem 0.3rem 0.3rem;
  1274. display: flex;
  1275. justify-content: space-between;
  1276. border-radius: 0.08rem;
  1277. margin-bottom: 0.12rem;
  1278. }
  1279. .match .list span {
  1280. color: #333333;
  1281. font-size: 0.28rem;
  1282. }
  1283. .match .list .num {
  1284. width: 0.4rem;
  1285. height: 0.4rem;
  1286. display: inline-block;
  1287. line-height: 0.4rem;
  1288. text-align: center;
  1289. color: #f5f5f5;
  1290. border-radius: 50%;
  1291. font-size: 0.2rem;
  1292. background: #f76649;
  1293. }
  1294. .yd-accordion {
  1295. background: transparent;
  1296. }
  1297. .match .list div:nth-last-child(1) {
  1298. margin-bottom: 0.34rem;
  1299. }
  1300. div /deep/ .yd-accordion-head,
  1301. div /deep/ .yd-accordion-head-content,
  1302. div /deep/ .yd-accordion-title,
  1303. div /deep/ .yd-accordion-title-full {
  1304. height: 0.3rem;
  1305. }
  1306. div /deep/ .yd-accordion-title {
  1307. min-height: 0;
  1308. font-size: 0.28rem;
  1309. }
  1310. div /deep/ .yd-accordion-head {
  1311. margin-bottom: 0.3rem;
  1312. border: none;
  1313. }
  1314. .list-box {
  1315. border: 2px solid #cecece;
  1316. border-radius: 0.2rem;
  1317. }
  1318. div /deep/ .yd-accordion-head:after {
  1319. height: 0px;
  1320. }
  1321. div /deep/ .yd-accordion-head-arrow:after {
  1322. border: none;
  1323. width: 0.4rem;
  1324. height: 0.4rem;
  1325. background: url("../assets/st-imges/xiangxia.png") no-repeat;
  1326. background-size: 0.4rem 0.4rem;
  1327. }
  1328. /* 1x2 */
  1329. .top-box {
  1330. height: 0.45rem;
  1331. /* font-size: 0.24rem;
  1332. background: #fff; */
  1333. border-bottom: 1px solid #e4e4e4;
  1334. padding: 0 0.32rem;
  1335. /* line-height: 0.44rem; */
  1336. background: #dcdcdc;
  1337. font-size: 0.23rem;
  1338. }
  1339. .box-bottom {
  1340. padding: 0.1rem 0.32rem;
  1341. background: #f8f8f8;
  1342. }
  1343. .top-num {
  1344. display: inline-block;
  1345. width: 0.64rem;
  1346. height: 0.44rem;
  1347. line-height: 0.44rem;
  1348. color: #000000;
  1349. text-align: center;
  1350. background: #ebebeb;
  1351. font-size: 0.24rem;
  1352. }
  1353. .noPd {
  1354. padding: 0;
  1355. }
  1356. .noBox {
  1357. padding: 0;
  1358. background: #f4f4f4;
  1359. }
  1360. .Match-title-num {
  1361. width: 0.46rem;
  1362. height: 0.46rem;
  1363. line-height: 0.46rem;
  1364. text-align: center;
  1365. background: #f76649;
  1366. font-size: 0.26rem;
  1367. border-radius: 50%;
  1368. color: #e4e4e4;
  1369. }
  1370. .haderBox {
  1371. margin-top: .05rem;
  1372. padding: 0 0.32rem;
  1373. height: 0.88rem;
  1374. font-size: 0.32rem;
  1375. background: #f8f8f8;
  1376. }
  1377. .main-box {
  1378. height: 0.9rem;
  1379. font-size: 0.24rem;
  1380. }
  1381. .bottom-box {
  1382. height: 1.1rem;
  1383. background: #f8f8f8;
  1384. font-size: 0.24rem;
  1385. }
  1386. .bottom-box div {
  1387. width: 1.07rem;
  1388. height: 0.76rem;
  1389. border: 1px solid #cecece;
  1390. border-radius: 0.1rem;
  1391. font-size: 0.24rem;
  1392. }
  1393. .bottom-num {
  1394. display: flex;
  1395. justify-content: center;
  1396. align-items: center;
  1397. flex-wrap: wrap;
  1398. }
  1399. .bottom-num p{
  1400. width: 100%;
  1401. text-align: center;
  1402. }
  1403. .active {
  1404. background: #f76649;
  1405. border: 2px solid #f76649 !important;
  1406. }
  1407. .active > p {
  1408. color: #e4e4e4 !important;
  1409. }
  1410. .num-box {
  1411. width: 0.66rem;
  1412. height: 0.34rem;
  1413. background: #f76649;
  1414. border-radius: 0.17rem;
  1415. color: #f5f5f5 !important;
  1416. line-height: 0.34rem;
  1417. text-align: center;
  1418. }
  1419. .footBox {
  1420. height: 1rem;
  1421. display: flex;
  1422. flex-wrap: wrap;
  1423. justify-content: space-around;
  1424. align-items: center;
  1425. }
  1426. .footBox .box {
  1427. display: flex;
  1428. align-items: center;
  1429. }
  1430. /* 让球&大小 */
  1431. .letBallBox {
  1432. padding: 0 0.32rem;
  1433. height: 0.88rem;
  1434. font-size: 0.32rem;
  1435. background: #f4f4f4;
  1436. }
  1437. .mg {
  1438. margin-bottom: 0.1rem;
  1439. }
  1440. .Match-title-num {
  1441. width: 0.46rem;
  1442. height: 0.46rem;
  1443. align-items: center;
  1444. justify-content: center;
  1445. line-height: 0.46rem;
  1446. text-align: center;
  1447. background: #f76649;
  1448. font-size: 0.2rem;
  1449. border-radius: 50%;
  1450. color: #f5f5f5;
  1451. }
  1452. .Match-box-top-right > span {
  1453. width: 1.07rem;
  1454. text-align: center;
  1455. }
  1456. .listbox {
  1457. padding: 0.1rem 0.32rem;
  1458. }
  1459. .name-box {
  1460. height: 1.76rem;
  1461. width: 3.8rem;
  1462. }
  1463. .Match-box-top {
  1464. height: 0.44rem;
  1465. padding: 0 0.32rem;
  1466. /* line-height: 0.44rem; */
  1467. background: #dcdcdc;
  1468. font-size: 0.23rem;
  1469. }
  1470. .Match-box-top-num {
  1471. width: 0.64rem !important;
  1472. height: 0.44rem;
  1473. background: #ebebeb;
  1474. font-size: 0.24rem;
  1475. }
  1476. .texttop {
  1477. color: #f76649;
  1478. }
  1479. .Match-box {
  1480. /* padding: 0 0 0.12rem; */
  1481. background: #f8f8f8;
  1482. }
  1483. .Match-list-box {
  1484. /* width: 35%; */
  1485. height: 1.76rem;
  1486. flex-wrap: wrap;
  1487. position: relative;
  1488. }
  1489. .rbigMall{
  1490. position: absolute;
  1491. right: 0;
  1492. top: 0.1rem;
  1493. }
  1494. .rbigMall .letballGuest{
  1495. position: absolute;
  1496. top: 0.81rem;
  1497. right: 0;
  1498. }
  1499. .Match-list-box .match-list div {
  1500. width: 1.07rem;
  1501. height: 0.8rem;
  1502. border: 1px solid #cecece;
  1503. border-radius: 0.1rem;
  1504. flex-wrap: wrap;
  1505. }
  1506. .active {
  1507. background: #e4e4e4;
  1508. }
  1509. /* 后加 */
  1510. .Match-title-num {
  1511. width: 0.46rem;
  1512. height: 0.46rem;
  1513. line-height: 0.46rem;
  1514. text-align: center;
  1515. background: #f76649;
  1516. font-size: 0.26rem;
  1517. border-radius: 50%;
  1518. color: #f5f5f5;
  1519. }
  1520. .Match-box-top-right > span {
  1521. width: 1.07rem;
  1522. text-align: center;
  1523. }
  1524. .name-box {
  1525. height: 1.76rem;
  1526. }
  1527. .Match-box-top {
  1528. height: 0.45rem;
  1529. line-height: 0.45rem;
  1530. background: #dcdcdc;
  1531. font-size: 0.23rem;
  1532. padding: 0 0.32rem;
  1533. }
  1534. .Match-box-top-num {
  1535. width: 0.64rem !important;
  1536. height: 0.45rem;
  1537. background: #ebebeb;
  1538. font-size: 0.24rem;
  1539. }
  1540. .Match-box {
  1541. background: #f4f4f4;
  1542. }
  1543. .Match-bottom-right {
  1544. padding: 0 0.14rem;
  1545. }
  1546. .Match-list-left div {
  1547. width: 1.07rem;
  1548. height: 0.76rem;
  1549. border: 1px solid #e4e4e4;
  1550. border-radius: 0.1rem;
  1551. padding: 0.1rem;
  1552. margin: 0.06rem 0.08rem;
  1553. }
  1554. .Match-list-right div {
  1555. width: 1.07rem;
  1556. height: 0.76rem;
  1557. border: 1px solid #e4e4e4;
  1558. border-radius: 0.1rem;
  1559. margin: 0.06rem 0.08rem;
  1560. }
  1561. .active {
  1562. background: #f76649;
  1563. border: none;
  1564. color: #e1e1df !important;
  1565. }
  1566. .active span {
  1567. color: #e1e1df !important;
  1568. }
  1569. .active i {
  1570. color: #e1e1df !important;
  1571. }
  1572. /* 赔率 */
  1573. .Match-bottom-right {
  1574. height: 2rem;
  1575. width: 2.5rem;
  1576. padding: 0.1rem 0.1rem 0 0.14rem;
  1577. position: relative;
  1578. }
  1579. .letballHome,
  1580. .letballGuest,
  1581. .bigHome,
  1582. .bigGuest {
  1583. width: 1.07rem;
  1584. height: 0.76rem;
  1585. /* line-height: 0.76rem; */
  1586. border: 1px solid #e4e4e4;
  1587. border-radius: 0.1rem;
  1588. margin: 0.06rem 0.08rem;
  1589. /* padding: 0.1rem 0; */
  1590. /* margin: 0.06rem 0.6rem 0.06rem 0; */
  1591. text-align: center;
  1592. }
  1593. .letballGuest{
  1594. position: absolute;
  1595. bottom: 0.19rem;
  1596. }
  1597. .bigHome span,
  1598. .bigGuest span,
  1599. .letballHome span,
  1600. .letballGuest span {
  1601. display: block;
  1602. }
  1603. .bigHome {
  1604. position: absolute;
  1605. right: 0;
  1606. top: 0.1rem;
  1607. }
  1608. .bigGuest {
  1609. position: absolute;
  1610. right: 0;
  1611. top: 0.93rem;
  1612. }
  1613. .active span {
  1614. color: #e1e1df !important;
  1615. }
  1616. .capotBox{
  1617. display: flex;
  1618. flex-direction: column;
  1619. }
  1620. .ratio {
  1621. width: 1rem;
  1622. height: 0.76rem;
  1623. border: 1px solid #cecece;
  1624. margin-right: 0.14rem;
  1625. border-radius: 0.1rem;
  1626. margin: 0.06rem;
  1627. }
  1628. .locking{
  1629. display: flex;
  1630. justify-content: space-between;
  1631. flex-wrap: wrap;
  1632. align-items: center;
  1633. }
  1634. .stardLeft{
  1635. position: absolute;
  1636. left: 0.2rem;
  1637. }
  1638. .stardCenter{
  1639. position: absolute;
  1640. left: 2.9rem;
  1641. }
  1642. .stardRight{
  1643. position: absolute;
  1644. right: 0.2rem;
  1645. }
  1646. .stardBig{
  1647. display: flex;
  1648. align-items: center;
  1649. justify-content: center;
  1650. }
  1651. .stardBig .bigSmall{
  1652. color: #9b9999;
  1653. }
  1654. .mg{
  1655. margin-top: 0.2rem;
  1656. }
  1657. </style>