import{r as t,j as e,s}from"./app-2b14cdc4.js";import i from"./index-2365d624.js";import a from"./index-58c9dd64.js";import r from"./index-5a20186c.js";import{g as n,i as o}from"./dom-ce105537.js";import{t as l,a as u,b as h}from"./trade-8bf27581.js";import c from"./index-e1a23950.js";import{b as d,i as m}from"./local-b2ec0571.js";import{C as p}from"./index-5f3ff9e6.js";import{C as b}from"./multipleUse-edb2f3d8.js";import g from"./index-dfb505e1.js";import"./index-7ed829cd.js";import"./index-73c7edf8.js";import"./auth-d886836e.js";import"./trade-281a8bb7.js";import"./TradeService-893f32e2.js";import"./index-d3bc68b3.js";import"./index-47cbd1bd.js";import"./index-dd54d262.js";import"./submit-b45fde64.js";const j="contract-trade",x="start-trade";class f extends t.Component{constructor(t){super(t),this.changeTableStatus=t=>{const e=Object.keys(this.state.tableStatus);for(let s=0;s<e.length;s++){const i=e[s];if(i===t){this.state.tableStatus[i]||(this.state.tableStatus[i]=!0);break}}},this.changeGroupButton=t=>{this.changeTableStatus(t),this.setState({currentGroupButton:t});const e=this.tradeSelectRef.getFilterParams(t);this.setState({filter:e}),"1"===t?this.holdingPositionRef.getTableList(e):"2"===t?this.currentConsignment.getTableList(e):"3"===t&&this.historyTransaction.getTableList(e)},this.getTableHeight=()=>{const t=document.getElementById(j);if(t){const e=n(t),s=document.documentElement.clientHeight-e.top;this.setState({minHeight:s+"px"})}},this.onCancelEntrust=()=>{this.currentConsignment.tableContractRevoke()},this.FilterChange=t=>{this.setState({filter:t}),this.getChildTableList(t)},this.getChildTableList=t=>{"1"===this.state.currentGroupButton?this.holdingPositionRef.getTableList(t):"2"===this.state.currentGroupButton?this.currentConsignment.getTableList(t):"3"===this.state.currentGroupButton&&this.historyTransaction.getTableList(t)},this.updateTotal=t=>{this.setState({currentEntrustNum:t})},this.state={minHeight:"",currentEntrustNum:0,currentGroupButton:"4",tableStatus:{[x]:!0,[l]:!1,[u]:!1,[h]:!1},filter:{},HelpData:{}}}get ComputedGroupButtons(){return[{label:"开始交易",value:"4"},{label:"持有仓位",value:"1"},{label:`当前委托(${this.state.currentEntrustNum})`,value:"2"},{label:"历史成交",value:"3"}]}async componentDidMount(){this.getTableHeight();const t=await d();t&&this.setState({HelpData:t})}onClosePosition(){b({ids:[]})}getTableClass(){return["spread-out-table",m()?"spread-out-table__mobile":""].join(" ")}currentExtensionButtons(){switch(this.state.currentGroupButton){case l:return e.jsx("div",{className:"hold-position-extension",children:e.jsx(p,{onClick:this.onClosePosition,children:"一键平仓"})});case u:return e.jsx("div",{className:"hold-position-extension",children:e.jsx(p,{onClick:this.onCancelEntrust,children:"多选撤销"})});case h:return""}}render(){return s.getState(),e.jsxs("div",{className:"contract-trade-table",id:this.props.id,style:this.props.style,children:[e.jsx("div",{className:"contract-trade-label",children:"合约交易"}),e.jsx("div",{className:"contract-trade-group",children:this.ComputedGroupButtons.map(((t,s)=>e.jsx("div",{className:t.value===this.state.currentGroupButton?"group-active":"",onClick:this.changeGroupButton.bind(this,t.value),children:t.label},t.value)))}),e.jsx(c,{ref:t=>this.tradeSelectRef=t,FilterChange:this.FilterChange,currentGroupButton:this.state.currentGroupButton,children:this.currentExtensionButtons()}),e.jsxs("div",{className:["contract-trade-table-box",m()?"contract-trade-table__mobile":""].join(" "),id:j,style:{minHeight:this.state.minHeight},children:[e.jsx(g,{"v-if":this.state.tableStatus[x],className:this.getTableClass(),HelpData:this.state.HelpData,style:{display:o("4"===this.state.currentGroupButton)}}),e.jsx(i,{"v-if":this.state.tableStatus[l],className:this.getTableClass(),ref:t=>this.holdingPositionRef=t,style:{display:o(this.state.currentGroupButton===l)}}),e.jsx(a,{"v-if":this.state.tableStatus[u],className:this.getTableClass(),filterParams:this.state.filter,ref:t=>this.currentConsignment=t,style:{display:o(this.state.currentGroupButton===u)},updateTotal:this.updateTotal}),e.jsx(r,{"v-if":this.state.tableStatus[h],className:this.getTableClass(),ref:t=>this.historyTransaction=t,style:{display:o(this.state.currentGroupButton===h)}})]})]})}}export{f as default};
