chunk-4d9621fc.406b2da2.js 17 KB

1
  1. (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-4d9621fc"],{"24ad":function(t,e,a){"use strict";var s=a("f43f"),i=a("56ce"),n=a("42ee"),l=a("3278"),c=a("a0d3"),o=a("2078"),r=a("11c2").f,d=n(r),u=n([].push),m=s&&i((function(){var t=Object.create(null);return t[2]=2,!d(t,2)})),p=function(t){return function(e){var a,i=o(e),n=c(i),r=m&&null===l(i),p=n.length,f=0,v=[];while(p>f)a=n[f++],s&&!(r?a in i:d(i,a))||u(v,t?[a,i[a]]:i[a]);return v}};t.exports={entries:p(!0),values:p(!1)}},"9d8c":function(t,e,a){},a3ff:function(t,e,a){"use strict";var s=a("04c2"),i=a("ac1e"),n=a("203c"),l=a("db2f"),c=a("62f1"),o=a("ed14"),r=a("d5f7"),d=a("8dda"),u=d("every",TypeError);s({target:"Iterator",proto:!0,real:!0,forced:u},{every:function(t){c(this);try{l(t)}catch(s){r(this,"throw",s)}if(u)return i(u,this,t);var e=o(this),a=0;return!n(e,(function(e,s){if(!t(e,a++))return s()}),{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},b797:function(t,e,a){"use strict";function s(t){if(Array.isArray(t))return t}a.d(e,"a",(function(){return c}));a("530a"),a("502c"),a("2d6c"),a("b138"),a("0401"),a("b3c4"),a("e7bb");function i(t,e){var a=null==t?null:"undefined"!=typeof Symbol&&t[Symbol.iterator]||t["@@iterator"];if(null!=a){var s,i,n,l,c=[],o=!0,r=!1;try{if(n=(a=a.call(t)).next,0===e){if(Object(a)!==a)return;o=!1}else for(;!(o=(s=n.call(a)).done)&&(c.push(s.value),c.length!==e);o=!0);}catch(t){r=!0,i=t}finally{try{if(!o&&null!=a["return"]&&(l=a["return"](),Object(l)!==l))return}finally{if(r)throw i}}return c}}var n=a("a8f2");a("0f5d");function l(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}function c(t,e){return s(t)||i(t,e)||Object(n["a"])(t,e)||l()}},d04c:function(t,e,a){"use strict";a("9d8c")},f6c6:function(t,e,a){"use strict";var s=a("04c2"),i=a("24ad").entries;s({target:"Object",stat:!0},{entries:function(t){return i(t)}})},febb:function(t,e,a){"use strict";a.r(e);var s=function(){var t=this,e=t.$createElement,a=t._self._c||e;return a("div",{staticClass:"sport-detail-container"},[a("el-card",{directives:[{name:"loading",rawName:"v-loading",value:t.isLoading,expression:"isLoading"}],staticStyle:{height:"100%"},attrs:{shadow:"never"}},[a("div",{staticClass:"clearfix",attrs:{slot:"header"},slot:"header"},[a("el-button",{attrs:{icon:"el-icon-back",size:"mini"},on:{click:function(e){return t.$router.back()}}},[t._v("返回列表")]),a("span",{staticClass:"header-title"},[t._v("赛事详情")])],1),t.matchInfo.id?a("div",{staticClass:"detail-content"},[a("el-row",{staticClass:"detail-row",attrs:{gutter:20}},[a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("联赛名称:")]),a("span",{staticClass:"value",staticStyle:{"margin-right":"6px"}},[t._v(t._s(t.matchInfo.league))]),t.matchInfo.error?a("el-icon",{staticClass:"el-icon-lock",staticStyle:{color:"red","font-size":"20px"}}):a("el-icon",{staticClass:"el-icon-unlock",staticStyle:{color:"#67c23a","font-size":"20px"}})],1)]),a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("联赛名称(英文):")]),a("span",{staticClass:"value",staticStyle:{"margin-right":"6px"}},[t._v(t._s(t.matchInfo.league_en))]),t.matchInfo.error?a("el-icon",{staticClass:"el-icon-lock",staticStyle:{color:"red","font-size":"20px"}}):a("el-icon",{staticClass:"el-icon-unlock",staticStyle:{color:"#67c23a","font-size":"20px"}})],1)])],1),t.matchInfo.league_data?a("el-row",{staticClass:"detail-row",attrs:{gutter:20}},[a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item flex-item"},[a("span",{staticClass:"label"},[t._v("联赛Logo:")]),t.matchInfo.league_data.logo?a("el-image",{staticClass:"team-logo",attrs:{src:t.matchInfo.league_data.logo}}):a("span",{staticClass:"value"},[t._v("--")])],1)]),a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("所属国家:")]),a("span",{staticClass:"value"},[t._v(t._s(t.matchInfo.league_data.country||"--"))])])])],1):t._e(),t.matchInfo.league_data?a("el-row",{staticClass:"detail-row",attrs:{gutter:20}},[a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("赛季:")]),a("span",{staticClass:"value"},[t._v(t._s(t.matchInfo.league_data.season||"--"))])])]),a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("比赛轮次:")]),a("span",{staticClass:"value"},[t._v(t._s(t.matchInfo.league_data.round||"--"))])])])],1):t._e(),t.matchInfo.league_data?a("el-row",{staticClass:"detail-row",attrs:{gutter:20}},[a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("积分榜:")]),a("span",{staticClass:"value"},[a("el-tag",{attrs:{type:t.matchInfo.league_data.standings?"success":"info",size:"small"}},[t._v(" "+t._s(t.matchInfo.league_data.standings?"支持":"不支持")+" ")])],1)])]),a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("比赛时间:")]),a("span",{staticClass:"value"},[t._v(t._s(t.matchInfo.game_time||"--"))])])])],1):t._e(),a("el-row",{staticClass:"detail-row",attrs:{gutter:20}},[a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item flex-item"},[a("span",{staticClass:"label"},[t._v("主队:")]),t.matchInfo.home_team_logo?a("el-image",{staticClass:"team-logo",attrs:{src:t.matchInfo.home_team_logo}}):t._e(),a("span",{staticClass:"value text-bold"},[t._v(t._s(t.matchInfo.home_team))])],1)]),a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item flex-item"},[a("span",{staticClass:"label"},[t._v("客队:")]),t.matchInfo.guest_team_logo?a("el-image",{staticClass:"team-logo",attrs:{src:t.matchInfo.guest_team_logo}}):t._e(),a("span",{staticClass:"value text-bold"},[t._v(t._s(t.matchInfo.guest_team))])],1)])],1),a("el-row",{staticClass:"detail-row",attrs:{gutter:20}},[a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("比赛比分:")]),a("span",{staticClass:"value"},[t._v(" 半场 "),a("span",{staticClass:"text-danger"},[t._v(t._s(t.matchInfo.half_score||"-"))]),t._v(" / 全场 "),a("span",{staticClass:"text-danger text-bold"},[t._v(t._s(t.matchInfo.score||"-"))])])])]),a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("比赛状态:")]),a("span",{staticClass:"value"},[t._v(" "+t._s(t.getStateLabel(t.matchInfo.state))+" ")])])])],1),t.matchInfo.fixture_status?a("el-row",{staticClass:"detail-row",attrs:{gutter:20}},[a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("赛事阶段:")]),a("el-tag",{attrs:{type:"success",size:"small"}},[t._v(" "+t._s(t.matchInfo.fixture_status.long)+" ")])],1)]),a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("异常状态:")]),a("span",{staticClass:"value"},[a("el-tag",{attrs:{type:t.matchInfo.error?"danger":"success"}},[t._v(" "+t._s(t.matchInfo.error?"是":"否")+" ")])],1)])])],1):t._e(),t.matchInfo.fixture_status?a("el-row",{staticClass:"detail-row",attrs:{gutter:20}},[a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("比赛时长:")]),a("span",{staticClass:"value"},[t._v(" "+t._s(t.matchInfo.fixture_status.elapsed)+" ")])])]),a("el-col",{attrs:{span:12}},[a("div",{staticClass:"item"},[a("span",{staticClass:"label"},[t._v("直播中比赛时长:")]),a("span",{staticClass:"value"},[t._v(" "+t._s(JSON.parse(t.matchInfo.odd_fixture_status)?JSON.parse(t.matchInfo.odd_fixture_status).seconds:"--")+" ")])])])],1):t._e(),t.processedEvents&&t.processedEvents.length>0?a("div",{staticClass:"event-section"},[a("div",{staticClass:"section-header event-header"},[a("span",[t._v("赛事事件")]),a("el-link",{attrs:{type:"primary",underline:!1},on:{click:function(e){t.isEventsExpanded=!t.isEventsExpanded}}},[t._v(" "+t._s(t.isEventsExpanded?"收起全部":"展开全部")+" "),a("i",{class:t.isEventsExpanded?"el-icon-arrow-up":"el-icon-arrow-down"})])],1),a("el-collapse-transition",[a("div",{directives:[{name:"show",rawName:"v-show",value:t.isEventsExpanded,expression:"isEventsExpanded"}]},[a("el-timeline",t._l(t.processedEvents,(function(e){return a("el-timeline-item",{key:e.id,attrs:{timestamp:e.timeDisplay,placement:"top",color:e.iconColor}},[a("el-card",{staticClass:"event-card",attrs:{shadow:"hover"}},[a("div",{staticClass:"event-card-content"},[a("div",{staticClass:"team-info",class:e.isHome?"is-home":"is-guest"},[e.teamLogo?a("el-image",{staticClass:"event-team-logo",attrs:{src:e.teamLogo,fit:"contain"}}):t._e(),a("span",{staticClass:"team-name"},[t._v(t._s(e.teamName))])],1),a("span",{staticClass:"event-type"},[a("el-tag",{attrs:{type:e.tagType,size:"small"}},[t._v(t._s(e.typeLabel))])],1),a("span",{staticClass:"event-detail"},[t._v(t._s(e.detail))]),e.playerName?a("span",{staticClass:"event-player"},[t._v(" ("+t._s(e.playerName)+") ")]):t._e()])])],1)})),1)],1)])],1):t._e(),t.processedStatistics&&t.processedStatistics.length>0?a("div",{staticClass:"statistics-section"},[a("div",{staticClass:"section-header event-header"},[a("span",[t._v("赛事统计")]),a("el-link",{attrs:{type:"primary",underline:!1},on:{click:function(e){t.isStatisticsExpanded=!t.isStatisticsExpanded}}},[t._v(" "+t._s(t.isStatisticsExpanded?"收起全部":"展开全部")+" "),a("i",{class:t.isStatisticsExpanded?"el-icon-arrow-up":"el-icon-arrow-down"})])],1),a("el-collapse-transition",[a("div",{directives:[{name:"show",rawName:"v-show",value:t.isStatisticsExpanded,expression:"isStatisticsExpanded"}]},[a("el-table",{staticStyle:{width:"100%"},attrs:{data:t.processedStatistics,border:"",size:"small"}},[a("el-table-column",{attrs:{prop:"label",label:"统计项",width:"150",align:"center"}}),a("el-table-column",{attrs:{label:"上半场",align:"center"}},[a("el-table-column",{attrs:{prop:"home1",label:"主队 ("+t.matchInfo.home_team+")",align:"center"}}),a("el-table-column",{attrs:{prop:"guest1",label:"客队 ("+t.matchInfo.guest_team+")",align:"center"}})],1),a("el-table-column",{attrs:{label:"下半场",align:"center"}},[a("el-table-column",{attrs:{prop:"home2",label:"主队 ("+t.matchInfo.home_team+")",align:"center"}}),a("el-table-column",{attrs:{prop:"guest2",label:"客队 ("+t.matchInfo.guest_team+")",align:"center"}})],1)],1)],1)])],1):t._e(),t.matchInfo.odds&&t.matchInfo.odds.length>0?a("div",{staticClass:"odds-section"},[a("div",{staticClass:"section-header",staticStyle:{display:"flex","justify-content":"space-between","align-items":"center","padding-right":"10px"}},[a("span",[t._v("盘口及赔率信息")]),a("el-button",{attrs:{icon:t.isAllLocked?"el-icon-lock":"el-icon-unlock",size:"mini",type:t.isAllLocked?"danger":"success"},on:{click:t.toggleAllOddsLock}},[t._v(" "+t._s(t.isAllLocked?"一键解锁":"一键上锁")+" ")])],1),t._l(t.matchInfo.odds,(function(e){return a("div",{key:e.id,staticClass:"odd-group-box"},[a("div",{staticClass:"odd-group-title"},[t._v(" "+t._s(e.name)+" "),a("el-button",{staticStyle:{"margin-left":"10px"},attrs:{icon:e.is_locked?"el-icon-lock":"el-icon-unlock",size:"mini",type:e.is_locked?"danger":"success"},on:{click:function(a){return t.toggleOddLock(e)}}})],1),a("el-row",{attrs:{gutter:15}},t._l(e.values,(function(s,i){return a("el-col",{key:i,attrs:{span:8}},[a("div",{staticClass:"odd-item",class:{"is-suspended":s.suspended}},[a("span",{staticClass:"odd-label"},[t._v(t._s(s.value)+" "),s.handicap?[t._v(" ("+t._s(s.handicap)+") ")]:t._e()],2),a("div",{staticStyle:{display:"flex","align-items":"center"}},[a("span",{staticClass:"odd-value",staticStyle:{"margin-right":"8px"}},[t._v(t._s(s.odd))]),s.suspended?t._e():a("el-button",{staticStyle:{padding:"4px"},attrs:{icon:s.is_locked?"el-icon-lock":"el-icon-unlock",size:"mini",circle:"",type:s.is_locked?"danger":"success"},on:{click:function(a){return t.toggleValueLock(e.id,s)}}}),s.suspended?a("div",{staticStyle:{width:"24px"}}):t._e()],1)])])})),1)],1)}))],2):t._e()],1):t.loading?t._e():a("el-empty",{attrs:{description:"暂无数据"}})],1)],1)},i=[],n=a("8802"),l=a("41cd1"),c=a("b797"),o=a("639f"),r=(a("637a"),a("e292"),a("0da6"),a("b138"),a("7212"),a("8f26"),a("a3ff"),a("3739"),a("666b"),a("963e"),a("209c"),a("f6c6"),a("6d35"),a("0401"),a("2d28"),a("fddf"),a("7e1e")),d={name:"SportOrderDetail",data:function(){return{loading:!1,loadingConfig:!0,matchInfo:{},isEventsExpanded:!0,isStatisticsExpanded:!1,stateOptions:[{value:0,label:"未开始"},{value:1,label:"进行中"},{value:2,label:"已完成"},{value:3,label:"延期"},{value:4,label:"取消"},{value:"",label:"全部"}],timer:null}},computed:{isLoading:function(){return this.loading&&this.loadingConfig},isAllLocked:function(){return!(!this.matchInfo.odds||0===this.matchInfo.odds.length)&&this.matchInfo.odds.every((function(t){return t.is_locked}))},processedEvents:function(){var t=this;return this.matchInfo.event&&Array.isArray(this.matchInfo.event)?this.matchInfo.event.map((function(e){var a=e.team_id===t.matchInfo.home_team_id,s=a?t.matchInfo.home_team:t.matchInfo.guest_team,i=a?t.matchInfo.home_team_logo:t.matchInfo.guest_team_logo,n="";try{if(e.player){var l=JSON.parse(e.player);n=l.name||""}}catch(p){console.error("解析球员数据失败",p)}var c=e.type?e.type.toLowerCase():"",r=e.type,d="info",u="#909399";if("goal"===c)r="进球",d="danger",u="#F56C6C";else if("card"===c){var m=e.detail&&e.detail.toLowerCase().includes("red");r=m?"红牌":"黄牌",d=m?"danger":"warning",u=m?"#F56C6C":"#E6A23C"}else"subst"===c?(r="换人",d="success",u="#67C23A"):"var"===c&&(r="VAR",d="info",u="#909399");return Object(o["a"])(Object(o["a"])({},e),{},{timeDisplay:"第 ".concat(e.time_elapsed," 分钟"),isHome:a,teamName:s,teamLogo:i,typeLabel:r,tagType:d,iconColor:u,playerName:n})})):[]},processedStatistics:function(){var t=this;if(!this.matchInfo.statistics||!this.matchInfo.statistics.length)return[];for(var e={shots_on_goal:"射正球门",shots_off_goal:"射偏球门",shots_insidebox:"禁区内射门",shots_outsidebox:"禁区外射门",total_shots:"总射门次数",blocked_shots:"被封堵射门",fouls:"犯规次数",corner_kicks:"角球",offsides:"越位",ball_possession:"控球率(%)",yellow_cards:"黄牌",red_cards:"红牌",goalkeeper_saves:"门将扑救",total_passes:"总传球数",passes_accurate:"精准传球",passes_percent:"传球成功率(%)"},a=[],s=this.matchInfo.home_team_id,i=this.matchInfo.guest_team_id,n=function(e,a){return t.matchInfo.statistics.find((function(t){return t.team_id===e&&t.half===a}))||{}},l=n(s,1),o=n(i,1),r=n(s,2),d=n(i,2),u=0,m=Object.entries(e);u<m.length;u++){var p=Object(c["a"])(m[u],2),f=p[0],v=p[1];a.push({label:v,home1:null!==l[f]&&void 0!==l[f]?l[f]:"-",guest1:null!==o[f]&&void 0!==o[f]?o[f]:"-",home2:null!==r[f]&&void 0!==r[f]?r[f]:"-",guest2:null!==d[f]&&void 0!==d[f]?d[f]:"-"})}return a}},created:function(){var t=this;this.fetchDetail(),this.timer=setInterval((function(){0!==t.matchInfo.state&&1!==t.matchInfo.state||(t.loadingConfig=!1,t.fetchDetail())}),5e3)},destroyed:function(){clearInterval(this.timer)},methods:{getStateLabel:function(t){var e=this.stateOptions.find((function(e){return e.value===t}));return e?e.label:"未知"},fetchDetail:function(){var t=this;return Object(l["a"])(Object(n["a"])().m((function e(){var a,s,i,l;return Object(n["a"])().w((function(e){while(1)switch(e.p=e.n){case 0:if(a=t.$route.query.id||t.$route.params.id,a){e.n=1;break}return t.$message.error("赛事ID缺失"),e.a(2);case 1:return t.loading=!0,e.p=2,e.n=3,Object(r["rb"])({id:a});case 3:s=e.v,s&&0===s.code?(s.data&&s.data.odds&&Array.isArray(s.data.odds)&&(i=s.data.odd_ids_locked||[],s.data.odds.forEach((function(t){t.is_locked=i.includes(t.id)}))),t.matchInfo=s.data):t.$message.error(s.msg||"获取详情失败"),e.n=5;break;case 4:e.p=4,l=e.v,console.error("API Error:",l);case 5:return e.p=5,t.loading=!1,e.f(5);case 6:return e.a(2)}}),e,null,[[2,4,5,6]])})))()},toggleAllOddsLock:function(){var t=this;return Object(l["a"])(Object(n["a"])().m((function e(){var a,s,i;return Object(n["a"])().w((function(e){while(1)switch(e.p=e.n){case 0:return e.p=0,a=!t.isAllLocked,e.n=1,Object(r["kb"])({id:t.matchInfo.id});case 1:s=e.v,s&&0===s.code?(t.matchInfo.odds.forEach((function(e){t.$set(e,"is_locked",a)})),t.$message.success("操作成功")):t.$message.error(s.msg||"操作失败"),e.n=3;break;case 2:e.p=2,i=e.v,console.error("API Error:",i),t.$message.error("请求异常");case 3:return e.a(2)}}),e,null,[[0,2]])})))()},toggleOddLock:function(t){var e=this;return Object(l["a"])(Object(n["a"])().m((function a(){var s,i;return Object(n["a"])().w((function(a){while(1)switch(a.p=a.n){case 0:return a.p=0,a.n=1,Object(r["kb"])({id:e.matchInfo.id,odd_id:t.id});case 1:s=a.v,s&&0===s.code?(e.$set(t,"is_locked",!t.is_locked),e.$message.success("操作成功")):e.$message.error(s.msg||"操作失败"),a.n=3;break;case 2:a.p=2,i=a.v,console.error("API Error:",i),e.$message.error("请求异常");case 3:return a.a(2)}}),a,null,[[0,2]])})))()},toggleValueLock:function(t,e){var a=this;return Object(l["a"])(Object(n["a"])().m((function s(){var i,l;return Object(n["a"])().w((function(s){while(1)switch(s.p=s.n){case 0:return s.p=0,s.n=1,Object(r["ub"])({id:a.matchInfo.id,odd_id:t,value:e.value,handicap:e.handicap});case 1:i=s.v,i&&0===i.code?(a.$set(e,"is_locked",!e.is_locked),a.$message.success("操作成功")):a.$message.error(i.msg||"操作失败"),s.n=3;break;case 2:s.p=2,l=s.v,console.error("API Error:",l),a.$message.error("请求异常");case 3:return s.a(2)}}),s,null,[[0,2]])})))()}}},u=d,m=(a("d04c"),a("1805")),p=Object(m["a"])(u,s,i,!1,null,"4b74e9b0",null);e["default"]=p.exports}}]);