Files
DinQuant/frontend/dist/js/362-legacy.d0919219.js
T
TIANHE a6ea4d967c v2.2.2
Signed-off-by: TIANHE <TIANHE@GMAIL.COM>
2026-03-01 03:42:10 +08:00

1 line
22 KiB
JavaScript

"use strict";(self["webpackChunkvue_antd_pro"]=self["webpackChunkvue_antd_pro"]||[]).push([[362],{38362:function(e,t,a){a.d(t,{A:function(){return P}});a(62010),a(27495),a(25440);var i=function(){var e=this,t=e._self._c;return t("a-drawer",{staticClass:"quick-trade-drawer",class:{"theme-dark":e.isDark},attrs:{title:null,width:380,visible:e.visible,closable:!1,bodyStyle:{padding:0},maskStyle:{background:"rgba(0,0,0,0.45)"}},on:{close:e.handleClose}},[t("div",{staticClass:"qt-header"},[t("div",{staticClass:"qt-header-left"},[t("a-icon",{staticClass:"qt-icon",attrs:{type:"thunderbolt",theme:"filled"}}),t("span",{staticClass:"qt-header-title"},[e._v(e._s(e.$t("quickTrade.title")))])],1),t("a-icon",{staticClass:"qt-close",attrs:{type:"close"},on:{click:e.handleClose}})],1),t("div",{staticClass:"qt-symbol-bar"},[t("div",{staticClass:"qt-symbol-selector"},[t("a-select",{staticStyle:{width:"100%"},attrs:{"show-search":"",placeholder:e.$t("quickTrade.selectSymbol"),"filter-option":!1,"not-found-content":e.symbolSearching?null:void 0,loading:e.symbolSearching},on:{search:e.handleSymbolSearch,change:e.handleSymbolChange,focus:e.handleSymbolFocus},model:{value:e.currentSymbol,callback:function(t){e.currentSymbol=t},expression:"currentSymbol"}},[t("a-icon",{staticStyle:{color:"#999"},attrs:{slot:"suffixIcon",type:"search"},slot:"suffixIcon"}),e._l(e.symbolSuggestions,function(a){return t("a-select-option",{key:a.value,attrs:{value:a.value}},[t("div",{staticClass:"qt-symbol-option"},[t("span",{staticClass:"qt-symbol-option-name"},[e._v(e._s(a.symbol))]),a.name?t("span",{staticClass:"qt-symbol-option-desc"},[e._v(e._s(a.name))]):e._e()])])})],2)],1),t("div",{staticClass:"qt-price-display",class:e.priceChangeClass},[t("span",{staticClass:"qt-current-price"},[e._v("$"+e._s(e.formatPrice(e.currentPrice)))])])]),t("div",{staticClass:"qt-section"},[t("div",{staticClass:"qt-label"},[e._v(e._s(e.$t("quickTrade.exchange"))+" "),t("span",{staticClass:"qt-crypto-hint"},[e._v(e._s(e.$t("quickTrade.cryptoOnly")))])]),t("a-select",{staticStyle:{width:"100%"},attrs:{placeholder:e.$t("quickTrade.selectExchange"),loading:e.credLoading,notFoundContent:e.$t("quickTrade.noExchange")},on:{change:e.onCredentialChange},model:{value:e.selectedCredentialId,callback:function(t){e.selectedCredentialId=t},expression:"selectedCredentialId"}},e._l(e.credentials,function(a){return t("a-select-option",{key:a.id,attrs:{value:a.id}},[t("span",{staticStyle:{"text-transform":"capitalize"}},[e._v(e._s(a.exchange_id||a.name))]),a.market_type?t("a-tag",{staticStyle:{"margin-left":"6px"},attrs:{size:"small"}},[e._v(e._s(a.market_type))]):e._e()],1)}),1),e.balance.available>0?t("div",{staticClass:"qt-balance"},[t("span",{staticClass:"qt-balance-label"},[e._v(e._s(e.$t("quickTrade.available"))+":")]),t("span",{staticClass:"qt-balance-value"},[e._v("$"+e._s(e.formatPrice(e.balance.available)))])]):e._e()],1),t("div",{staticClass:"qt-section"},[t("div",{staticClass:"qt-direction-toggle"},[t("div",{staticClass:"qt-dir-btn qt-dir-long",class:{active:"buy"===e.side},on:{click:function(t){e.side="buy"}}},[t("a-icon",{attrs:{type:"arrow-up"}}),e._v(" "+e._s(e.$t("quickTrade.long"))+" ")],1),t("div",{staticClass:"qt-dir-btn qt-dir-short",class:{active:"sell"===e.side},on:{click:function(t){e.side="sell"}}},[t("a-icon",{attrs:{type:"arrow-down"}}),e._v(" "+e._s(e.$t("quickTrade.short"))+" ")],1)])]),t("div",{staticClass:"qt-section"},[t("a-radio-group",{staticStyle:{width:"100%"},attrs:{"button-style":"solid",size:"small"},model:{value:e.orderType,callback:function(t){e.orderType=t},expression:"orderType"}},[t("a-radio-button",{staticStyle:{width:"50%","text-align":"center"},attrs:{value:"market"}},[e._v(" "+e._s(e.$t("quickTrade.market"))+" ")]),t("a-radio-button",{staticStyle:{width:"50%","text-align":"center"},attrs:{value:"limit"}},[e._v(" "+e._s(e.$t("quickTrade.limit"))+" ")])],1)],1),"limit"===e.orderType?t("div",{staticClass:"qt-section"},[t("div",{staticClass:"qt-label"},[e._v(e._s(e.$t("quickTrade.limitPrice")))]),t("a-input-number",{staticStyle:{width:"100%"},attrs:{min:0,step:e.priceStep,precision:e.pricePrecision,placeholder:e.$t("quickTrade.enterPrice")},model:{value:e.limitPrice,callback:function(t){e.limitPrice=t},expression:"limitPrice"}})],1):e._e(),t("div",{staticClass:"qt-section"},[t("div",{staticClass:"qt-label"},[e._v(e._s(e.$t("quickTrade.amount"))+" (USDT)")]),t("a-input-number",{staticStyle:{width:"100%"},attrs:{min:1,step:10,precision:2,placeholder:e.$t("quickTrade.enterAmount")},model:{value:e.amount,callback:function(t){e.amount=t},expression:"amount"}}),t("div",{staticClass:"qt-quick-amounts"},e._l(e.quickAmountPcts,function(a){return t("a-button",{key:a,attrs:{size:"small",disabled:e.balance.available<=0},on:{click:function(t){return e.setAmountByPercent(a)}}},[e._v(" "+e._s(a)+"% ")])}),1)],1),"spot"!==e.marketType?t("div",{staticClass:"qt-section"},[t("div",{staticClass:"qt-label"},[e._v(e._s(e.$t("quickTrade.leverage")))]),t("div",{staticClass:"qt-leverage-row"},[t("a-slider",{staticStyle:{flex:"1","margin-right":"12px"},attrs:{min:1,max:125,marks:e.leverageMarks,tipFormatter:function(e){return e+"x"}},model:{value:e.leverage,callback:function(t){e.leverage=t},expression:"leverage"}}),t("a-input-number",{staticStyle:{width:"80px"},attrs:{min:1,max:125,formatter:function(e){return"".concat(e,"x")},parser:function(e){return e.replace("x","")}},model:{value:e.leverage,callback:function(t){e.leverage=t},expression:"leverage"}})],1)]):e._e(),t("a-collapse",{staticStyle:{background:"transparent",margin:"0 16px"},attrs:{bordered:!1}},[t("a-collapse-panel",{key:"tpsl",style:e.collapseStyle,attrs:{header:e.$t("quickTrade.tpsl")}},[t("div",{staticClass:"qt-tpsl-row"},[t("div",{staticClass:"qt-tpsl-item"},[t("span",{staticClass:"qt-label",staticStyle:{color:"#52c41a"}},[e._v(e._s(e.$t("quickTrade.tp")))]),t("a-input-number",{staticStyle:{width:"100%"},attrs:{min:0,step:e.priceStep,precision:e.pricePrecision,placeholder:e.$t("quickTrade.tpPlaceholder")},model:{value:e.tpPrice,callback:function(t){e.tpPrice=t},expression:"tpPrice"}})],1),t("div",{staticClass:"qt-tpsl-item"},[t("span",{staticClass:"qt-label",staticStyle:{color:"#f5222d"}},[e._v(e._s(e.$t("quickTrade.sl")))]),t("a-input-number",{staticStyle:{width:"100%"},attrs:{min:0,step:e.priceStep,precision:e.pricePrecision,placeholder:e.$t("quickTrade.slPlaceholder")},model:{value:e.slPrice,callback:function(t){e.slPrice=t},expression:"slPrice"}})],1)])])],1),t("div",{staticClass:"qt-submit-section"},[t("a-button",{staticClass:"qt-submit-btn",class:["buy"===e.side?"qt-btn-long":"qt-btn-short"],attrs:{type:"buy"===e.side?"primary":"danger",size:"large",block:"",loading:e.submitting,disabled:!e.canSubmit},on:{click:e.handleSubmit}},[t("a-icon",{attrs:{type:"buy"===e.side?"arrow-up":"arrow-down"}}),e._v(" "+e._s("buy"===e.side?e.$t("quickTrade.buyLong"):e.$t("quickTrade.sellShort"))+" "+e._s(e.symbol)+" ")],1)],1),t("div",{staticClass:"qt-position-section"},[t("div",{staticClass:"qt-section-header"},[t("a-icon",{attrs:{type:"wallet"}}),e._v(" "+e._s(e.$t("quickTrade.currentPosition"))+" ")],1),e.currentPosition?t("div",{staticClass:"qt-position-card",class:e.currentPosition.side},[t("div",{staticClass:"qt-pos-row"},[t("span",[e._v(e._s(e.$t("quickTrade.side")))]),t("a-tag",{attrs:{color:"long"===e.currentPosition.side?"#52c41a":"#f5222d",size:"small"}},[e._v(" "+e._s("long"===e.currentPosition.side?e.$t("quickTrade.long"):e.$t("quickTrade.short"))+" ")])],1),t("div",{staticClass:"qt-pos-row"},[t("span",[e._v(e._s(e.$t("quickTrade.posSize")))]),t("span",[e._v(e._s(e.currentPosition.size))])]),t("div",{staticClass:"qt-pos-row"},[t("span",[e._v(e._s(e.$t("quickTrade.entryPrice")))]),t("span",[e._v("$"+e._s(e.formatPrice(e.currentPosition.entry_price)))])]),e.currentPosition.mark_price?t("div",{staticClass:"qt-pos-row"},[t("span",[e._v(e._s(e.$t("quickTrade.markPrice")))]),t("span",[e._v("$"+e._s(e.formatPrice(e.currentPosition.mark_price)))])]):e._e(),e.currentPosition.leverage&&e.currentPosition.leverage>1?t("div",{staticClass:"qt-pos-row"},[t("span",[e._v(e._s(e.$t("quickTrade.leverage")))]),t("span",[e._v(e._s(e.currentPosition.leverage)+"x")])]):e._e(),t("div",{staticClass:"qt-pos-row"},[t("span",[e._v(e._s(e.$t("quickTrade.unrealizedPnl")))]),t("span",{class:e.currentPosition.unrealized_pnl>=0?"qt-green":"qt-red"},[e._v(" $"+e._s(e.formatPrice(e.currentPosition.unrealized_pnl))+" ")])]),t("a-button",{staticStyle:{"margin-top":"8px"},attrs:{type:"danger",size:"small",block:"",ghost:"",loading:e.closingPosition},on:{click:e.handleClosePosition}},[e._v(" "+e._s(e.$t("quickTrade.closePosition"))+" ")])],1):t("div",{staticClass:"qt-position-empty"},[t("a-empty",{staticStyle:{padding:"20px 0"},attrs:{description:e.$t("quickTrade.noPosition"),image:!1}},[t("template",{slot:"description"},[t("span",{staticStyle:{color:"#999","font-size":"12px"}},[e._v(e._s(e.$t("quickTrade.noPositionHint")))])])],2)],1)]),e.recentTrades.length>0?t("div",{staticClass:"qt-history-section"},[t("a-collapse",{attrs:{bordered:!1,activeKey:e.historyCollapsed?[]:["history"]},on:{change:e.handleHistoryCollapse}},[t("a-collapse-panel",{key:"history",style:e.collapseStyle,attrs:{showArrow:!1}},[t("template",{slot:"header"},[t("div",{staticClass:"qt-section-header",staticStyle:{margin:"0",padding:"0"}},[t("a-icon",{attrs:{type:"history"}}),e._v(" "+e._s(e.$t("quickTrade.recentTrades"))+" "),t("span",{staticClass:"qt-history-count"},[e._v("("+e._s(e.recentTrades.length)+")")])],1)]),t("div",{staticClass:"qt-trade-list"},e._l(e.recentTrades,function(a){return t("div",{key:a.id,staticClass:"qt-trade-item"},[t("div",{staticClass:"qt-trade-main"},[t("a-tag",{attrs:{color:"buy"===a.side?"#52c41a":"#f5222d",size:"small"}},[e._v(" "+e._s("buy"===a.side?"LONG":"SHORT")+" ")]),t("span",{staticClass:"qt-trade-symbol"},[e._v(e._s(a.symbol))]),t("span",{staticClass:"qt-trade-amount"},[e._v("$"+e._s(e.formatPrice(a.amount)))])],1),t("div",{staticClass:"qt-trade-meta"},[t("a-tag",{attrs:{color:"filled"===a.status?"#52c41a":"failed"===a.status?"#f5222d":"#faad14",size:"small"}},[e._v(" "+e._s(a.status)+" ")]),t("span",{staticClass:"qt-trade-time"},[e._v(e._s(e.formatTime(a.created_at)))])],1)])}),0)],2)],1)],1):e._e()],1)},r=[],s=a(81127),n=a(56252),c=a(76338),l=(a(28706),a(2008),a(74423),a(62062),a(2892),a(26099),a(21699),a(68156),a(42762),a(95353)),o=a(42430),u=a(75769);function d(e){return(0,u.Ay)({url:"/api/quick-trade/place-order",method:"post",data:e})}function m(e){return(0,u.Ay)({url:"/api/quick-trade/balance",method:"get",params:e})}function p(e){return(0,u.Ay)({url:"/api/quick-trade/position",method:"get",params:e})}function h(e){return(0,u.Ay)({url:"/api/quick-trade/history",method:"get",params:e})}function v(e){return(0,u.Ay)({url:"/api/quick-trade/close-position",method:"post",data:e})}var b=a(35038),y=a(505),f={name:"QuickTradePanel",props:{visible:{type:Boolean,default:!1},symbol:{type:String,default:""},presetSide:{type:String,default:""},presetPrice:{type:Number,default:0},source:{type:String,default:"manual"},marketType:{type:String,default:"swap"}},data:function(){return{credentials:[],selectedCredentialId:void 0,credLoading:!1,balance:{available:0,total:0},side:"buy",orderType:"market",limitPrice:0,amount:100,leverage:5,tpPrice:null,slPrice:null,submitting:!1,closingPosition:!1,currentPrice:0,currentPosition:null,recentTrades:[],historyCollapsed:!1,currentSymbol:"",symbolSuggestions:[],symbolSearching:!1,symbolSearchTimer:null,userId:null,quickAmountPcts:[10,25,50,75,100],leverageMarks:{1:"1x",5:"5x",10:"10x",25:"25x",50:"50x",100:"100x",125:"125x"},pollTimer:null}},computed:(0,c.A)((0,c.A)({},(0,l.aH)({navTheme:function(e){return e.app.theme}})),{},{isDark:function(){return"dark"===this.navTheme||"realdark"===this.navTheme},priceStep:function(){return this.currentPrice>1e4?1:this.currentPrice>100?.1:this.currentPrice>1?.01:1e-4},pricePrecision:function(){return this.currentPrice>1e4?0:this.currentPrice>100?1:this.currentPrice>1?2:4},canSubmit:function(){return this.selectedCredentialId&&this.currentSymbol&&this.amount>0&&!this.submitting},priceChangeClass:function(){return""},collapseStyle:function(){return{background:"transparent",borderRadius:"4px",border:0,overflow:"hidden"}}}),watch:{visible:function(e){e?this.init():this.stopPolling()},symbol:function(e){e&&(this.currentSymbol=e)},currentSymbol:function(e){e&&(this.loadPrice(),this.selectedCredentialId&&this.loadPosition(),this.$emit("update:symbol",e))},selectedCredentialId:function(e){e&&this.currentSymbol&&this.loadPosition()},presetSide:function(e){e&&(this.side=e)},presetPrice:function(e){e>0&&(this.currentPrice=e,this.limitPrice=e)}},methods:{init:function(){var e=this;return(0,n.A)((0,s.A)().m(function t(){return(0,s.A)().w(function(t){while(1)switch(t.n){case 0:return e.currentSymbol=e.symbol||"",e.presetSide&&(e.side=e.presetSide),e.presetPrice>0&&(e.currentPrice=e.presetPrice,e.limitPrice=e.presetPrice),t.n=1,e.loadCredentials();case 1:return t.n=2,e.loadUserInfo();case 2:return t.n=3,e.loadWatchlistSymbols();case 3:if(!e.currentSymbol){t.n=4;break}return t.n=4,e.loadPrice();case 4:if(!e.selectedCredentialId||!e.currentSymbol){t.n=5;break}return t.n=5,e.loadPosition();case 5:e.loadHistory(),e.startPolling();case 6:return t.a(2)}},t)}))()},loadUserInfo:function(){var e=this;return(0,n.A)((0,s.A)().m(function t(){var a,i,r,n;return(0,s.A)().w(function(t){while(1)switch(t.p=t.n){case 0:if(t.p=0,i=e.$store,r=(null===i||void 0===i||null===(a=i.getters)||void 0===a?void 0:a.userInfo)||{},!r||!r.id){t.n=1;break}return e.userId=r.id,t.a(2);case 1:return t.n=2,(0,y.ug)();case 2:n=t.v,n&&1===n.code&&n.data&&(e.userId=n.data.id,i&&i.commit("SET_INFO",n.data)),t.n=4;break;case 3:t.p=3,t.v;case 4:return t.a(2)}},t,null,[[0,3]])}))()},loadWatchlistSymbols:function(){var e=this;return(0,n.A)((0,s.A)().m(function t(){var a,i;return(0,s.A)().w(function(t){while(1)switch(t.p=t.n){case 0:if(e.userId){t.n=2;break}return t.n=1,e.loadUserInfo();case 1:if(e.userId){t.n=2;break}return t.a(2);case 2:return t.p=2,t.n=3,(0,b.Qo)({userid:e.userId});case 3:a=t.v,a&&1===a.code&&a.data&&(i=(a.data||[]).filter(function(e){return"crypto"===(e.market||"").toLowerCase()}).map(function(e){return{value:e.symbol||"",symbol:e.symbol||"",name:e.name||""}}).filter(function(e){return e.value}),e.symbolSuggestions=i),t.n=5;break;case 4:t.p=4,t.v;case 5:return t.a(2)}},t,null,[[2,4]])}))()},handleSymbolSearch:function(e){var t=this;this.symbolSearchTimer&&clearTimeout(this.symbolSearchTimer),e&&""!==e.trim()?this.symbolSearchTimer=setTimeout((0,n.A)((0,s.A)().m(function a(){var i;return(0,s.A)().w(function(a){while(1)switch(a.p=a.n){case 0:return t.symbolSearching=!0,a.p=1,a.n=2,(0,b._3)({market:"Crypto",keyword:e.trim(),limit:20});case 2:i=a.v,i&&1===i.code&&i.data?t.symbolSuggestions=(i.data.items||i.data||[]).map(function(e){return{value:e.symbol||"",symbol:e.symbol||"",name:e.name||""}}).filter(function(e){return e.value}):t.symbolSuggestions=[],a.n=4;break;case 3:a.p=3,a.v,t.symbolSuggestions=[];case 4:return a.p=4,t.symbolSearching=!1,a.f(4);case 5:return a.a(2)}},a,null,[[1,3,4,5]])})),300):this.loadWatchlistSymbols()},handleSymbolChange:function(e){e&&e!==this.currentSymbol&&(this.currentSymbol=e,this.loadPrice(),this.selectedCredentialId&&this.loadPosition(),this.$emit("update:symbol",e))},loadPrice:function(){var e=this;return(0,n.A)((0,s.A)().m(function t(){var a,i;return(0,s.A)().w(function(t){while(1)switch(t.p=t.n){case 0:if(e.currentSymbol){t.n=1;break}return e.currentPrice=0,t.a(2);case 1:return t.p=1,t.n=2,(0,u.Ay)({url:"/api/market/price",method:"get",params:{market:"Crypto",symbol:e.currentSymbol}});case 2:a=t.v,a&&1===a.code&&a.data&&(i=parseFloat(a.data.price||0),i>0&&(e.currentPrice=i,0!==e.limitPrice&&e.limitPrice!==e.presetPrice||(e.limitPrice=i))),t.n=4;break;case 3:t.p=3,t.v;case 4:return t.a(2)}},t,null,[[1,3]])}))()},handleSymbolFocus:function(){0===this.symbolSuggestions.length&&this.loadWatchlistSymbols()},loadCredentials:function(){var e=this;return(0,n.A)((0,s.A)().m(function t(){var a,i,r;return(0,s.A)().w(function(t){while(1)switch(t.p=t.n){case 0:return e.credLoading=!0,t.p=1,t.n=2,(0,o.IA)();case 2:a=t.v,1===a.code&&a.data&&(i=a.data.items||a.data||[],r=["ibkr","mt5"],e.credentials=i.filter(function(e){var t=(e.exchange_id||e.name||"").toLowerCase();return!r.includes(t)}),!e.selectedCredentialId&&e.credentials.length>0&&(e.selectedCredentialId=e.credentials[0].id,e.onCredentialChange(e.selectedCredentialId))),t.n=4;break;case 3:t.p=3,t.v;case 4:return t.p=4,e.credLoading=!1,t.f(4);case 5:return t.a(2)}},t,null,[[1,3,4,5]])}))()},onCredentialChange:function(e){var t=this;return(0,n.A)((0,s.A)().m(function a(){return(0,s.A)().w(function(a){while(1)switch(a.n){case 0:return t.selectedCredentialId=e,a.n=1,t.loadBalance();case 1:return a.n=2,t.loadPosition();case 2:return a.a(2)}},a)}))()},loadBalance:function(){var e=this;return(0,n.A)((0,s.A)().m(function t(){var a;return(0,s.A)().w(function(t){while(1)switch(t.p=t.n){case 0:if(e.selectedCredentialId){t.n=1;break}return t.a(2);case 1:return t.p=1,t.n=2,m({credential_id:e.selectedCredentialId,market_type:e.marketType});case 2:a=t.v,1===a.code&&a.data&&(e.balance=a.data),t.n=4;break;case 3:t.p=3,t.v;case 4:return t.a(2)}},t,null,[[1,3]])}))()},loadPosition:function(){var e=this;return(0,n.A)((0,s.A)().m(function t(){var a;return(0,s.A)().w(function(t){while(1)switch(t.p=t.n){case 0:if(e.selectedCredentialId&&e.currentSymbol){t.n=1;break}return t.a(2);case 1:return t.p=1,t.n=2,p({credential_id:e.selectedCredentialId,symbol:e.currentSymbol,market_type:e.marketType});case 2:if(a=t.v,!(1===a.code&&a.data&&a.data.positions&&a.data.positions.length>0)){t.n=3;break}return e.currentPosition=a.data.positions[0],t.a(2,!0);case 3:return e.currentPosition=null,t.a(2,!1);case 4:t.n=6;break;case 5:return t.p=5,t.v,e.currentPosition=null,t.a(2,!1);case 6:return t.a(2)}},t,null,[[1,5]])}))()},loadPositionWithRetry:function(){var e=arguments,t=this;return(0,n.A)((0,s.A)().m(function a(){var i,r,n,c;return(0,s.A)().w(function(a){while(1)switch(a.n){case 0:return i=e.length>0&&void 0!==e[0]?e[0]:3,r=e.length>1&&void 0!==e[1]?e[1]:2e3,a.n=1,t.loadPosition();case 1:if(n=a.v,!n){a.n=2;break}return a.a(2);case 2:c=0;case 3:if(!(c<i)){a.n=7;break}return a.n=4,new Promise(function(e){return setTimeout(e,r)});case 4:return a.n=5,t.loadPosition();case 5:if(n=a.v,!n){a.n=6;break}return a.a(2);case 6:c++,a.n=3;break;case 7:return a.a(2)}},a)}))()},loadHistory:function(){var e=this;return(0,n.A)((0,s.A)().m(function t(){var a;return(0,s.A)().w(function(t){while(1)switch(t.p=t.n){case 0:return t.p=0,t.n=1,h({limit:5});case 1:a=t.v,1===a.code&&a.data&&(e.recentTrades=a.data.trades||[]),t.n=3;break;case 2:t.p=2,t.v;case 3:return t.a(2)}},t,null,[[0,2]])}))()},setAmountByPercent:function(e){this.balance.available>0&&(this.amount=Math.floor(this.balance.available*e/100*100)/100)},handleSubmit:function(){var e=this;return(0,n.A)((0,s.A)().m(function t(){var a,i,r;return(0,s.A)().w(function(t){while(1)switch(t.p=t.n){case 0:if(e.canSubmit){t.n=1;break}return t.a(2);case 1:return e.submitting=!0,t.p=2,a={credential_id:e.selectedCredentialId,symbol:e.currentSymbol,side:e.side,order_type:e.orderType,amount:e.amount,price:"limit"===e.orderType?e.limitPrice:0,leverage:"spot"!==e.marketType?e.leverage:1,market_type:e.marketType,tp_price:e.tpPrice||0,sl_price:e.slPrice||0,source:e.source},t.n=3,d(a);case 3:if(i=t.v,1!==i.code){t.n=7;break}return e.$emit("order-success",i.data),t.n=4,e.loadBalance();case 4:return t.n=5,e.loadHistory();case 5:return t.n=6,e.loadPositionWithRetry();case 6:t.n=8;break;case 7:e.$message.error(i.msg||e.$t("quickTrade.orderFailed"));case 8:t.n=10;break;case 9:t.p=9,r=t.v,e.$message.error(r.message||e.$t("quickTrade.orderFailed"));case 10:return t.p=10,e.submitting=!1,t.f(10);case 11:return t.a(2)}},t,null,[[2,9,10,11]])}))()},handleClosePosition:function(){var e=this;return(0,n.A)((0,s.A)().m(function t(){var a,i,r;return(0,s.A)().w(function(t){while(1)switch(t.p=t.n){case 0:if(e.currentPosition&&e.selectedCredentialId){t.n=1;break}return t.a(2);case 1:return e.closingPosition=!0,t.p=2,a={credential_id:e.selectedCredentialId,symbol:e.currentSymbol,market_type:e.marketType,size:0,source:"manual"},t.n=3,v(a);case 3:if(i=t.v,1!==i.code){t.n=6;break}return e.$message.success(e.$t("quickTrade.positionClosed")),t.n=4,e.loadBalance();case 4:return t.n=5,e.loadHistory();case 5:e.currentPosition=null,setTimeout((0,n.A)((0,s.A)().m(function t(){return(0,s.A)().w(function(t){while(1)switch(t.n){case 0:return t.n=1,e.loadPosition();case 1:return t.a(2)}},t)})),2e3),t.n=7;break;case 6:e.$message.error(i.msg||e.$t("quickTrade.orderFailed"));case 7:t.n=9;break;case 8:t.p=8,r=t.v,e.$message.error(r.message||e.$t("quickTrade.orderFailed"));case 9:return t.p=9,e.closingPosition=!1,t.f(9);case 10:return t.a(2)}},t,null,[[2,8,9,10]])}))()},startPolling:function(){var e=this;this.stopPolling(),this.pollTimer=setInterval(function(){e.currentSymbol&&e.loadPrice(),e.selectedCredentialId&&e.currentSymbol&&(e.loadBalance(),e.loadPosition())},1e4)},stopPolling:function(){this.pollTimer&&(clearInterval(this.pollTimer),this.pollTimer=null)},handleClose:function(){this.$emit("close"),this.$emit("update:visible",!1)},handleHistoryCollapse:function(e){this.historyCollapsed=!e.includes("history")},formatPrice:function(e){var t=parseFloat(e||0);return Math.abs(t)>=1e4?t.toLocaleString("en-US",{minimumFractionDigits:0,maximumFractionDigits:0}):Math.abs(t)>=100?t.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2}):Math.abs(t)>=1?t.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:4}):t.toLocaleString("en-US",{minimumFractionDigits:4,maximumFractionDigits:6})},formatTime:function(e){if(!e)return"";var t=new Date(e),a=function(e){return String(e).padStart(2,"0")};return"".concat(a(t.getMonth()+1),"-").concat(a(t.getDate())," ").concat(a(t.getHours()),":").concat(a(t.getMinutes()))}},beforeDestroy:function(){this.stopPolling()}},g=f,k=a(81656),_=(0,k.A)(g,i,r,!1,null,"0d547552",null),P=_.exports},42430:function(e,t,a){a.d(t,{IA:function(){return n},PR:function(){return c},kI:function(){return l}});var i=a(76338),r=a(75769),s={list:"/api/credentials/list",get:"/api/credentials/get",create:"/api/credentials/create",delete:"/api/credentials/delete"};function n(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,r.Ay)({url:s.list,method:"get",params:e})}function c(e){return(0,r.Ay)({url:s.create,method:"post",data:e})}function l(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,r.Ay)({url:s.delete,method:"delete",params:(0,i.A)({id:e},t)})}}}]);