Files
DinQuant/frontend/dist/js/681.d83c19bb.js
T
Dinger 3ca291a346 v3.0.1
Signed-off-by: Dinger <quantdinger@gmail.com>
2026-04-06 01:39:25 +08:00

1 line
101 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
"use strict";(self["webpackChunkvue_antd_pro"]=self["webpackChunkvue_antd_pro"]||[]).push([[681],{67681:function(t,a,s){s.r(a),s.d(a,{default:function(){return N}});s(74423);var e=function(){var t=this,a=t._self._c;return a("div",{staticClass:"ai-analysis-container",class:{"theme-dark":t.isDarkTheme,embedded:t.embedded},style:{"--primary-color":t.primaryColor}},[a("div",{staticClass:"main-content-full"},[a("div",{staticClass:"top-index-bar"},[t.loadingSentiment?[t._m(0),t._m(1),t._m(2)]:[a("div",{staticClass:"indicator-box fear-greed",class:t.getFearGreedClass(t.marketData.fearGreed)},[a("span",{staticClass:"ind-label"},[t._v(t._s(t.$t("globalMarket.fearGreedShort")))]),a("span",{staticClass:"ind-value"},[t._v(t._s(t.marketData.fearGreed||"--"))])]),a("div",{staticClass:"indicator-box vix",class:t.getVixLevel(t.marketData.vix)},[a("span",{staticClass:"ind-label"},[t._v("VIX")]),a("span",{staticClass:"ind-value"},[t._v(t._s(t.marketData.vix||"--"))])]),a("div",{staticClass:"indicator-box dxy"},[a("span",{staticClass:"ind-label"},[t._v("DXY")]),a("span",{staticClass:"ind-value"},[t._v(t._s(t.marketData.dxy||"--"))])])],a("div",{staticClass:"indices-marquee"},[t.loadingIndices?[a("div",{staticClass:"indices-loading"},[a("a-icon",{attrs:{type:"loading"}}),t._v(" "+t._s(t.$t("common.loading")||"加载中...")+" ")],1)]:t.marketData.indices.length>0?[a("div",{staticClass:"marquee-track"},[t._l(t.marketData.indices,function(s){return a("div",{key:"a-"+s.symbol,staticClass:"index-item"},[a("span",{staticClass:"idx-flag"},[t._v(t._s(s.flag))]),a("span",{staticClass:"idx-symbol"},[t._v(t._s(s.symbol))]),a("span",{staticClass:"idx-price"},[t._v(t._s(t.formatPrice(s.price)))]),a("span",{staticClass:"idx-change",class:s.change>=0?"up":"down"},[a("a-icon",{attrs:{type:s.change>=0?"caret-up":"caret-down"}}),t._v(" "+t._s(Math.abs(s.change).toFixed(2))+"% ")],1)])}),t._l(t.marketData.indices,function(s){return a("div",{key:"b-"+s.symbol,staticClass:"index-item"},[a("span",{staticClass:"idx-flag"},[t._v(t._s(s.flag))]),a("span",{staticClass:"idx-symbol"},[t._v(t._s(s.symbol))]),a("span",{staticClass:"idx-price"},[t._v(t._s(t.formatPrice(s.price)))]),a("span",{staticClass:"idx-change",class:s.change>=0?"up":"down"},[a("a-icon",{attrs:{type:s.change>=0?"caret-up":"caret-down"}}),t._v(" "+t._s(Math.abs(s.change).toFixed(2))+"% ")],1)])})],2)]:[a("div",{staticClass:"indices-empty"},[t._v("--")])]],2),a("a-button",{staticClass:"refresh-btn",attrs:{type:"link",size:"small",loading:t.loadingMarket},on:{click:t.loadMarketData}},[a("a-icon",{attrs:{type:"sync",spin:t.loadingMarket}})],1)],2),a("div",{staticClass:"main-body"},[a("div",{staticClass:"left-panel"},[a("div",{staticClass:"heatmap-box"},[a("div",{staticClass:"box-header"},[a("a-radio-group",{attrs:{size:"small","button-style":"solid"},model:{value:t.heatmapType,callback:function(a){t.heatmapType=a},expression:"heatmapType"}},[a("a-radio-button",{attrs:{value:"crypto"}},[t._v(t._s(t.$t("globalMarket.cryptoHeatmap")))]),a("a-radio-button",{attrs:{value:"commodities"}},[t._v(t._s(t.$t("globalMarket.commoditiesHeatmap")))]),a("a-radio-button",{attrs:{value:"sectors"}},[t._v(t._s(t.$t("globalMarket.sectorHeatmap")))]),a("a-radio-button",{attrs:{value:"forex"}},[t._v(t._s(t.$t("globalMarket.forexHeatmap")))])],1)],1),a("div",{staticClass:"heatmap-grid"},[t.loadingHeatmap?t._l(12,function(t){return a("div",{key:"skel-"+t,staticClass:"heat-cell skeleton-cell"},[a("span",{staticClass:"skeleton-text short"}),a("span",{staticClass:"skeleton-text"})])}):t.currentHeatmap.length>0?t._l(t.currentHeatmap.slice(0,12),function(s,e){return a("div",{key:e,staticClass:"heat-cell",style:t.getHeatmapStyle(s.value)},[a("span",{staticClass:"heat-name"},[t._v(t._s(t.getHeatmapName(s)))]),s.price?a("span",{staticClass:"heat-price"},[t._v(t._s(t.formatHeatmapPrice(s.price)))]):t._e(),a("span",{staticClass:"heat-val"},[t._v(t._s(s.value>=0?"+":"")+t._s(t.formatNum(s.value))+"%")])])}):[a("div",{staticClass:"heatmap-empty"},[t._v(t._s(t.$t("common.noData")||"暂无数据"))])]],2)]),a("div",{staticClass:"calendar-box"},[a("div",{staticClass:"box-header"},[a("span",{staticClass:"box-title"},[a("a-icon",{attrs:{type:"calendar"}}),t._v(" "+t._s(t.$t("globalMarket.calendar")))],1)]),a("div",{staticClass:"calendar-list"},[t.loadingCalendar?t._l(5,function(t){return a("div",{key:"cal-skel-"+t,staticClass:"cal-item skeleton-item"},[a("span",{staticClass:"skeleton-text short"}),a("span",{staticClass:"skeleton-text short"}),a("span",{staticClass:"skeleton-text"})])}):t.marketData.calendar.length>0?t._l(t.marketData.calendar.slice(0,10),function(s){return a("div",{key:s.id,staticClass:"cal-item",class:s.importance},[a("span",{staticClass:"cal-date"},[t._v(t._s(t.formatCalendarDate(s.date)))]),a("span",{staticClass:"cal-time"},[t._v(t._s(s.time||"--:--"))]),a("span",{staticClass:"cal-flag"},[t._v(t._s(t.getCountryFlag(s.country)))]),a("span",{staticClass:"cal-name"},[t._v(t._s(t.isZhLocale?s.name:s.name_en))]),a("span",{staticClass:"cal-impact",class:t.getImpactClass(s)},["bullish"===t.getImpactClass(s)?a("a-icon",{attrs:{type:"arrow-up"}}):"bearish"===t.getImpactClass(s)?a("a-icon",{attrs:{type:"arrow-down"}}):a("a-icon",{attrs:{type:"minus"}}),t._v(" "+t._s(s.actual||s.forecast||"--")+" ")],1)])}):[a("div",{staticClass:"cal-empty"},[t._v(t._s(t.$t("globalMarket.noEvents")))])]],2)])]),a("div",{staticClass:"right-panel"},[a("div",{staticClass:"analysis-toolbar"},[a("a-select",{staticClass:"symbol-selector",attrs:{placeholder:t.$t("dashboard.analysis.empty.selectSymbol"),size:"large","show-search":"","allow-clear":"","filter-option":t.filterSymbolOption},on:{change:t.handleSymbolChange},model:{value:t.selectedSymbol,callback:function(a){t.selectedSymbol=a},expression:"selectedSymbol"}},[t._l(t.watchlist||[],function(s){return a("a-select-option",{key:"".concat(s.market,"-").concat(s.symbol),attrs:{value:"".concat(s.market,":").concat(s.symbol)}},[a("span",{staticClass:"symbol-option"},[a("a-tag",{attrs:{color:t.getMarketColor(s.market),size:"small"}},[t._v(t._s(t.getMarketName(s.market)))]),a("strong",{staticStyle:{"margin-left":"6px"}},[t._v(t._s(s.symbol))]),s.name?a("span",{staticClass:"symbol-name"},[t._v(t._s(s.name))]):t._e()],1)])}),a("a-select-option",{key:"add-stock-option",staticClass:"add-stock-option",attrs:{value:"__add_stock_option__"}},[a("div",{staticStyle:{"text-align":"center",padding:"4px 0",color:"#1890ff"}},[a("a-icon",{staticStyle:{"margin-right":"4px"},attrs:{type:"plus"}}),t._v(t._s(t.$t("dashboard.analysis.watchlist.add"))+" ")],1)])],2),a("a-button",{staticClass:"analyze-button",attrs:{type:"primary",size:"large",icon:"thunderbolt",loading:t.analyzing,disabled:!t.selectedSymbol||t.analyzing},on:{click:t.startFastAnalysis}},[t._v(" "+t._s(t.$t("fastAnalysis.startAnalysis"))+" ")]),a("a-button",{staticClass:"history-button",attrs:{size:"large",icon:"history"},on:{click:function(a){t.showHistoryModal=!0,t.loadHistoryList()}}},[t._v(" "+t._s(t.$t("fastAnalysis.history"))+" ")])],1),a("div",{staticClass:"analysis-main"},[t.analysisResult||t.analyzing||t.analysisError?t._e():a("div",{staticClass:"analysis-placeholder"},[a("div",{staticClass:"placeholder-hero"},[t._m(3),a("div",{staticClass:"hero-body"},[a("div",{staticClass:"hero-badge"},[t._v("AI-POWERED")]),a("h2",{staticClass:"hero-title"},[t._v(t._s(t.$t("aiAssetAnalysis.placeholder.title")))]),a("p",{staticClass:"hero-subtitle"},[t._v(t._s(t.$t("aiAssetAnalysis.placeholder.subtitle")))]),a("div",{staticClass:"hero-stats"},[a("div",{staticClass:"hstat"},[a("div",{staticClass:"hstat-icon"},[a("a-icon",{attrs:{type:"line-chart"}})],1),a("div",{staticClass:"hstat-body"},[a("span",{staticClass:"hstat-val"},[t._v(t._s(t.$t("aiAssetAnalysis.placeholder.feature1")))]),a("span",{staticClass:"hstat-label"},[t._v(t._s(t.$t("aiAssetAnalysis.placeholder.feature1Desc")))])])]),a("div",{staticClass:"hstat"},[a("div",{staticClass:"hstat-icon"},[a("a-icon",{attrs:{type:"dashboard"}})],1),a("div",{staticClass:"hstat-body"},[a("span",{staticClass:"hstat-val"},[t._v(t._s(t.$t("aiAssetAnalysis.placeholder.feature2")))]),a("span",{staticClass:"hstat-label"},[t._v(t._s(t.$t("aiAssetAnalysis.placeholder.feature2Desc")))])])]),a("div",{staticClass:"hstat"},[a("div",{staticClass:"hstat-icon"},[a("a-icon",{attrs:{type:"apartment"}})],1),a("div",{staticClass:"hstat-body"},[a("span",{staticClass:"hstat-val"},[t._v(t._s(t.$t("aiAssetAnalysis.placeholder.feature3")))]),a("span",{staticClass:"hstat-label"},[t._v(t._s(t.$t("aiAssetAnalysis.placeholder.feature3Desc")))])])])]),a("div",{staticClass:"hero-cta"},[a("a-button",{attrs:{type:"primary",size:"large",icon:"plus"},on:{click:function(a){t.showAddStockModal=!0}}},[t._v(" "+t._s(t.$t("dashboard.analysis.watchlist.add"))+" ")]),a("a-button",{attrs:{size:"large",icon:"thunderbolt",disabled:!t.selectedSymbol},on:{click:t.startFastAnalysis}},[t._v(" "+t._s(t.$t("fastAnalysis.startAnalysis"))+" ")])],1),a("p",{staticClass:"hero-hint"},[t._v(t._s(t.$t("aiAssetAnalysis.placeholder.quickStart")))])])])]),t.analysisResult||t.analyzing||t.analysisError?a("FastAnalysisReport",{attrs:{result:t.analysisResult,loading:t.analyzing,error:t.analysisError,"error-tone":t.analysisErrorTone},on:{retry:t.startFastAnalysis}}):t._e()],1)]),a("div",{staticClass:"watchlist-panel"},[a("div",{staticClass:"panel-header"},[a("span",{staticClass:"panel-title"},[a("a-icon",{attrs:{type:"star",theme:"filled"}}),t._v(" "+t._s(t.$t("dashboard.analysis.watchlist.title")))],1),a("span",{staticClass:"panel-header-actions"},[a("a-tooltip",{attrs:{title:t.$t("aiAssetAnalysis.tasks.manage")}},[a("a-badge",{attrs:{count:t.monitors.length,offset:[-2,2],"number-style":{fontSize:"9px",minWidth:"14px",height:"14px",lineHeight:"14px",padding:"0 3px"}}},[a("a-icon",{staticClass:"panel-header-icon",attrs:{type:"unordered-list"},on:{click:function(a){t.showTaskDrawer=!0}}})],1)],1),a("a-tooltip",{attrs:{title:t.$t("aiAssetAnalysis.batch.schedule")}},[a("a-icon",{staticClass:"panel-header-icon",attrs:{type:"schedule"},on:{click:t.toggleBatchMode}})],1),a("a-icon",{staticClass:"panel-header-icon",attrs:{type:"plus"},on:{click:function(a){t.showAddStockModal=!0}}})],1)]),t.watchlist&&t.watchlist.length>0?a("div",{staticClass:"panel-summary"},[a("div",{staticClass:"summary-chip"},[a("span",{staticClass:"sc-num"},[t._v(t._s(t.watchlist.length))]),a("span",{staticClass:"sc-label"},[t._v(t._s(t.$t("aiAssetAnalysis.watchlist.totalAssets")))])]),t.watchlistPositionCount>0?a("div",{staticClass:"summary-chip"},[a("span",{staticClass:"sc-num"},[t._v(t._s(t.watchlistPositionCount))]),a("span",{staticClass:"sc-label"},[t._v(t._s(t.$t("aiAssetAnalysis.watchlist.positionCount")))])]):t._e(),t.watchlistTaskCount>0?a("div",{staticClass:"summary-chip"},[a("span",{staticClass:"sc-num"},[t._v(t._s(t.watchlistTaskCount))]),a("span",{staticClass:"sc-label"},[t._v(t._s(t.$t("aiAssetAnalysis.watchlist.taskCount")))])]):t._e(),0!==t.watchlistTotalPnl?a("div",{staticClass:"summary-chip pnl"},[a("span",{staticClass:"sc-num",class:t.watchlistTotalPnl>=0?"up":"down"},[t._v(t._s(t.watchlistTotalPnl>=0?"+":"")+t._s(t.formatNum(t.watchlistTotalPnl)))]),a("span",{staticClass:"sc-label"},[t._v("P&L")])]):t._e()]):t._e(),t.batchMode?a("div",{staticClass:"batch-bar"},[a("a-checkbox",{staticClass:"batch-all-cb",attrs:{checked:t.batchSelectedAll,indeterminate:t.batchIndeterminate},on:{change:t.onBatchSelectAll}},[t._v(" "+t._s(t.$t("aiAssetAnalysis.batch.selectAll"))+" ")]),a("a-button",{attrs:{type:"primary",size:"small",disabled:0===t.batchSelectedKeys.length},on:{click:t.openBatchScheduleModal}},[t._v(" "+t._s(t.$t("aiAssetAnalysis.batch.schedule"))),t.batchSelectedKeys.length>0?[t._v(" "+t._s(t.batchSelectedKeys.length))]:t._e()],2),a("a-button",{attrs:{size:"small"},on:{click:t.toggleBatchMode}},[t._v(t._s(t.$t("common.cancel")))])],1):t._e(),a("div",{staticClass:"watchlist-list"},[t._l(t.watchlist||[],function(s){var e,i,n;return a("div",{key:"wl-".concat(s.market,"-").concat(s.symbol),staticClass:"wl-card",class:{active:t.selectedSymbol==="".concat(s.market,":").concat(s.symbol)},on:{click:function(a){return t.selectWatchlistItem(s)}}},[t.batchMode?a("a-checkbox",{staticClass:"wl-card-cb",attrs:{checked:t.batchSelectedKeys.includes("".concat(s.market,":").concat(s.symbol))},on:{change:function(a){return t.onBatchItemToggle(s,a)}},nativeOn:{click:function(t){t.stopPropagation()}}}):t._e(),a("div",{staticClass:"wl-card-body",class:{"with-cb":t.batchMode}},[a("div",{staticClass:"wl-row-main"},[a("span",{staticClass:"wl-symbol"},[t._v(t._s(s.symbol))]),a("span",{staticClass:"wl-market"},[t._v(t._s(t.getMarketName(s.market)))]),a("span",{staticClass:"wl-spacer"}),t.watchlistPrices["".concat(s.market,":").concat(s.symbol)]?[a("span",{staticClass:"wl-price"},[t._v(t._s(t.formatPrice(t.watchlistPrices["".concat(s.market,":").concat(s.symbol)].price)))]),a("span",{staticClass:"wl-change",class:((null===(e=t.watchlistPrices["".concat(s.market,":").concat(s.symbol)])||void 0===e?void 0:e.change)||0)>=0?"up":"down"},[t._v(" "+t._s(((null===(i=t.watchlistPrices["".concat(s.market,":").concat(s.symbol)])||void 0===i?void 0:i.change)||0)>=0?"+":"")+t._s(t.formatNum(null===(n=t.watchlistPrices["".concat(s.market,":").concat(s.symbol)])||void 0===n?void 0:n.change))+"% ")])]:t._e()],2),t.positionSummaryMap["".concat(s.market,":").concat(s.symbol)]?a("div",{staticClass:"wl-row-pnl"},[a("span",{staticClass:"wl-pnl-qty"},[t._v(t._s(t.formatNum(t.positionSummaryMap["".concat(s.market,":").concat(s.symbol)].quantity,4))+" @ "+t._s(t.formatPrice(t.positionSummaryMap["".concat(s.market,":").concat(s.symbol)].avgEntry||0)))]),a("span",{staticClass:"wl-pnl-val",class:t.positionSummaryMap["".concat(s.market,":").concat(s.symbol)].pnl>=0?"up":"down"},[t._v(" "+t._s(t.positionSummaryMap["".concat(s.market,":").concat(s.symbol)].pnl>=0?"+":"")+t._s(t.formatNum(t.positionSummaryMap["".concat(s.market,":").concat(s.symbol)].pnl||0))+" ("+t._s(t.positionSummaryMap["".concat(s.market,":").concat(s.symbol)].pnlPercent>=0?"+":"")+t._s(t.formatNum(t.positionSummaryMap["".concat(s.market,":").concat(s.symbol)].pnlPercent||0))+"%) ")])]):t._e(),t.getMonitorMeta(s)?a("div",{staticClass:"wl-row-task"},[a("span",{staticClass:"wl-task-badge",class:t.getMonitorMeta(s).activeCount>0?"active":"paused",on:{click:function(a){return a.stopPropagation(),t.toggleStockMonitor(s)}}},[a("a-icon",{attrs:{type:t.getMonitorMeta(s).activeCount>0?"sync":"pause-circle",spin:t.getMonitorMeta(s).activeCount>0}}),t._v(" "+t._s(t.getMonitorMeta(s).activeCount>0?t.$t("aiAssetAnalysis.monitor.running"):t.$t("aiAssetAnalysis.monitor.paused"))+" ")],1),t.getMonitorMeta(s).nextRunAtText?a("span",{staticClass:"wl-task-next"},[t._v(t._s(t.getMonitorMeta(s).nextRunAtText))]):t._e()]):t._e()]),a("div",{staticClass:"wl-card-hover-actions"},[a("a-tooltip",{attrs:{title:t.$t("aiAssetAnalysis.position.quickAdd")}},[a("span",{staticClass:"wl-hover-btn",on:{click:function(a){return a.stopPropagation(),t.openPositionModal(s)}}},[a("a-icon",{attrs:{type:"wallet"}})],1)]),a("a-tooltip",{attrs:{title:t.$t("aiAssetAnalysis.monitor.quickTask")}},[a("span",{staticClass:"wl-hover-btn",on:{click:function(a){return a.stopPropagation(),t.openMonitorModal(s)}}},[a("a-icon",{attrs:{type:"clock-circle"}})],1)]),a("span",{staticClass:"wl-hover-btn danger",on:{click:function(a){return a.stopPropagation(),t.removeFromWatchlist(s)}}},[a("a-icon",{attrs:{type:"delete"}})],1)],1)],1)}),t.watchlist&&0!==t.watchlist.length?t._e():a("div",{staticClass:"watchlist-empty"},[a("div",{staticClass:"we-icon"},[a("a-icon",{attrs:{type:"star"}})],1),a("p",[t._v(t._s(t.$t("dashboard.analysis.empty.noWatchlist")))]),a("a-button",{attrs:{type:"primary",size:"small",icon:"plus"},on:{click:function(a){t.showAddStockModal=!0}}},[t._v(" "+t._s(t.$t("dashboard.analysis.watchlist.add"))+" ")])],1)],2)])])]),a("a-modal",{attrs:{title:t.$t("dashboard.analysis.modal.addStock.title"),visible:t.showAddStockModal,confirmLoading:t.addingStock,width:"600px",wrapClassName:t.isDarkTheme?"qd-dark-modal":"",okText:t.$t("dashboard.analysis.modal.addStock.confirm"),cancelText:t.$t("dashboard.analysis.modal.addStock.cancel")},on:{ok:t.handleAddStock,cancel:t.handleCloseAddStockModal}},[a("div",{staticClass:"add-stock-modal-content"},[a("a-tabs",{staticClass:"market-tabs",on:{change:t.handleMarketTabChange},model:{value:t.selectedMarketTab,callback:function(a){t.selectedMarketTab=a},expression:"selectedMarketTab"}},t._l(t.marketTypes,function(s){return a("a-tab-pane",{key:s.value,attrs:{tab:t.$t(s.i18nKey||"dashboard.analysis.market.".concat(s.value))}})}),1),a("div",{staticClass:"symbol-search-section"},[a("a-input-search",{attrs:{placeholder:t.$t("dashboard.analysis.modal.addStock.searchOrInputPlaceholder"),loading:t.searchingSymbols,size:"large","allow-clear":""},on:{search:t.handleSearchOrInput,change:t.handleSymbolSearchInput},model:{value:t.symbolSearchKeyword,callback:function(a){t.symbolSearchKeyword=a},expression:"symbolSearchKeyword"}},[a("a-button",{attrs:{slot:"enterButton",type:"primary",icon:"search"},slot:"enterButton"},[t._v(" "+t._s(t.$t("dashboard.analysis.modal.addStock.search"))+" ")])],1)],1),t.symbolSearchResults.length>0?a("div",{staticClass:"search-results-section"},[a("div",{staticClass:"section-title"},[a("a-icon",{staticStyle:{"margin-right":"4px"},attrs:{type:"search"}}),t._v(" "+t._s(t.$t("dashboard.analysis.modal.addStock.searchResults"))+" ")],1),a("a-list",{staticClass:"symbol-list",attrs:{"data-source":t.symbolSearchResults,loading:t.searchingSymbols,size:"small"},scopedSlots:t._u([{key:"renderItem",fn:function(s){return a("a-list-item",{staticClass:"symbol-list-item",on:{click:function(a){return t.selectSymbol(s)}}},[a("a-list-item-meta",[a("template",{slot:"title"},[a("div",{staticClass:"symbol-item-content"},[a("span",{staticClass:"symbol-code"},[t._v(t._s(s.symbol))]),a("span",{staticClass:"symbol-name"},[t._v(t._s(s.name))]),s.exchange?a("a-tag",{staticStyle:{"margin-left":"8px"},attrs:{size:"small",color:"blue"}},[t._v(" "+t._s(s.exchange)+" ")]):t._e()],1)])],2)],1)}}],null,!1,1074844145)})],1):t._e(),a("div",{staticClass:"hot-symbols-section"},[a("div",{staticClass:"section-title"},[a("a-icon",{staticStyle:{color:"#ff4d4f","margin-right":"4px"},attrs:{type:"fire"}}),t._v(" "+t._s(t.$t("dashboard.analysis.modal.addStock.hotSymbols"))+" ")],1),a("a-spin",{attrs:{spinning:t.loadingHotSymbols}},[t.hotSymbols.length>0?a("a-list",{staticClass:"symbol-list",attrs:{"data-source":t.hotSymbols,size:"small"},scopedSlots:t._u([{key:"renderItem",fn:function(s){return a("a-list-item",{staticClass:"symbol-list-item",on:{click:function(a){return t.selectSymbol(s)}}},[a("a-list-item-meta",[a("template",{slot:"title"},[a("div",{staticClass:"symbol-item-content"},[a("span",{staticClass:"symbol-code"},[t._v(t._s(s.symbol))]),a("span",{staticClass:"symbol-name"},[t._v(t._s(s.name))]),s.exchange?a("a-tag",{staticStyle:{"margin-left":"8px"},attrs:{size:"small",color:"orange"}},[t._v(" "+t._s(s.exchange)+" ")]):t._e()],1)])],2)],1)}}],null,!1,2177647935)}):a("a-empty",{attrs:{description:t.$t("dashboard.analysis.modal.addStock.noHotSymbols"),image:!1}})],1)],1),t.selectedSymbolForAdd?a("div",{staticClass:"selected-symbol-section"},[a("a-alert",{attrs:{message:t.$t("dashboard.analysis.modal.addStock.selectedSymbol"),type:"info","show-icon":"",closable:""},on:{close:function(a){t.selectedSymbolForAdd=null}}},[a("template",{slot:"description"},[a("div",{staticClass:"selected-symbol-info"},[a("a-tag",{staticStyle:{"margin-right":"8px"},attrs:{color:t.getMarketColor(t.selectedSymbolForAdd.market)}},[t._v(" "+t._s(t.$t("dashboard.analysis.market.".concat(t.selectedSymbolForAdd.market)))+" ")]),a("strong",[t._v(t._s(t.selectedSymbolForAdd.symbol))]),t.selectedSymbolForAdd.name?a("span",{staticStyle:{color:"#999","margin-left":"8px"}},[t._v(t._s(t.selectedSymbolForAdd.name))]):t._e()],1)])],2)],1):t._e()],1)]),a("a-modal",{attrs:{visible:t.showPositionModal,title:"".concat(t.$i18n&&"zh-CN"===t.$i18n.locale?"创建持仓(虚拟仓)":"Create Position (Virtual)"," - ").concat(t.targetStockForOps?t.targetStockForOps.symbol:""),wrapClassName:t.isDarkTheme?"qd-dark-modal":""},on:{ok:t.savePosition,cancel:function(a){t.showPositionModal=!1}}},[a("a-form",{attrs:{layout:"vertical"}},[a("a-form-item",{attrs:{label:t.$t("portfolio.positions.side")||"Direction"}},[a("a-select",{model:{value:t.positionForm.side,callback:function(a){t.$set(t.positionForm,"side",a)},expression:"positionForm.side"}},[a("a-select-option",{attrs:{value:"long"}},[t._v(t._s(t.$t("portfolio.positions.long")||"Long"))]),a("a-select-option",{attrs:{value:"short"}},[t._v(t._s(t.$t("portfolio.positions.short")||"Short"))])],1)],1),a("a-form-item",{attrs:{label:t.$i18n&&"zh-CN"===t.$i18n.locale?"数量":"Quantity"}},[a("a-input-number",{staticStyle:{width:"100%"},attrs:{min:0,step:.01},model:{value:t.positionForm.quantity,callback:function(a){t.$set(t.positionForm,"quantity",a)},expression:"positionForm.quantity"}})],1),a("a-form-item",{attrs:{label:t.$i18n&&"zh-CN"===t.$i18n.locale?"买入单价":"Entry Price"}},[a("a-input-number",{staticStyle:{width:"100%"},attrs:{min:0,step:.01},model:{value:t.positionForm.entryPrice,callback:function(a){t.$set(t.positionForm,"entryPrice",a)},expression:"positionForm.entryPrice"}})],1)],1)],1),a("a-modal",{attrs:{visible:t.showMonitorModal,title:"".concat(t.$t("aiAssetAnalysis.monitor.quickTask")," - ").concat(t.targetStockForOps?t.targetStockForOps.symbol:""),wrapClassName:t.isDarkTheme?"qd-dark-modal":""},on:{ok:t.saveMonitorTask,cancel:function(a){t.showMonitorModal=!1}}},[a("a-form",{attrs:{layout:"vertical"}},[a("a-form-item",{attrs:{label:t.$t("aiAssetAnalysis.batch.intervalLabel")}},[a("a-select",{staticStyle:{width:"100%"},model:{value:t.monitorForm.interval_min,callback:function(a){t.$set(t.monitorForm,"interval_min",a)},expression:"monitorForm.interval_min"}},[a("a-select-option",{attrs:{value:60}},[t._v(t._s(t.$t("aiAssetAnalysis.batch.interval1h")))]),a("a-select-option",{attrs:{value:240}},[t._v(t._s(t.$t("aiAssetAnalysis.batch.interval4h")))]),a("a-select-option",{attrs:{value:720}},[t._v(t._s(t.$t("aiAssetAnalysis.batch.interval12h")))]),a("a-select-option",{attrs:{value:1440}},[t._v(t._s(t.$t("aiAssetAnalysis.batch.interval24h")))])],1)],1),a("a-form-item",{attrs:{label:t.$t("aiAssetAnalysis.batch.notifyLabel")}},[a("a-checkbox-group",{staticStyle:{width:"100%"},model:{value:t.monitorForm.notify_channels,callback:function(a){t.$set(t.monitorForm,"notify_channels",a)},expression:"monitorForm.notify_channels"}},[a("a-row",{attrs:{gutter:8}},[a("a-col",{attrs:{span:8}},[a("a-checkbox",{attrs:{value:"email"}},[a("a-icon",{attrs:{type:"mail"}}),t._v(" Email")],1)],1),a("a-col",{attrs:{span:8}},[a("a-checkbox",{attrs:{value:"telegram"}},[a("a-icon",{attrs:{type:"send"}}),t._v(" Telegram")],1)],1),a("a-col",{attrs:{span:8}},[a("a-checkbox",{attrs:{value:"webhook"}},[a("a-icon",{attrs:{type:"api"}}),t._v(" Webhook")],1)],1)],1)],1)],1),a("a-alert",{attrs:{message:t.$t("aiAssetAnalysis.monitor.tip"),type:"info","show-icon":""}})],1)],1),a("a-modal",{attrs:{visible:t.showBatchScheduleModal,title:t.$t("aiAssetAnalysis.batch.scheduleTitle"),confirmLoading:t.batchRunning,width:"520px",wrapClassName:t.isDarkTheme?"qd-dark-modal":""},on:{ok:t.saveBatchSchedule,cancel:function(a){t.showBatchScheduleModal=!1}}},[a("div",{staticClass:"batch-modal-summary"},[a("p",[t._v(t._s(t.$t("aiAssetAnalysis.batch.scheduleDesc",{count:t.batchSelectedKeys.length})))]),a("div",{staticClass:"batch-symbols-preview"},t._l(t.batchSelectedKeys,function(s){return a("a-tag",{key:s,staticStyle:{"margin-bottom":"4px"},attrs:{color:"blue"}},[t._v(t._s(s.split(":")[1]))])}),1)]),a("a-form",{attrs:{layout:"vertical"}},[a("a-form-item",{attrs:{label:t.$t("aiAssetAnalysis.batch.intervalLabel")}},[a("a-select",{staticStyle:{width:"100%"},model:{value:t.batchScheduleForm.interval_min,callback:function(a){t.$set(t.batchScheduleForm,"interval_min",a)},expression:"batchScheduleForm.interval_min"}},[a("a-select-option",{attrs:{value:60}},[t._v(t._s(t.$t("aiAssetAnalysis.batch.interval1h")))]),a("a-select-option",{attrs:{value:240}},[t._v(t._s(t.$t("aiAssetAnalysis.batch.interval4h")))]),a("a-select-option",{attrs:{value:720}},[t._v(t._s(t.$t("aiAssetAnalysis.batch.interval12h")))]),a("a-select-option",{attrs:{value:1440}},[t._v(t._s(t.$t("aiAssetAnalysis.batch.interval24h")))])],1)],1),a("a-form-item",{attrs:{label:t.$t("aiAssetAnalysis.batch.notifyLabel")}},[a("a-checkbox-group",{staticStyle:{width:"100%"},model:{value:t.batchScheduleForm.notify_channels,callback:function(a){t.$set(t.batchScheduleForm,"notify_channels",a)},expression:"batchScheduleForm.notify_channels"}},[a("a-row",{attrs:{gutter:8}},[a("a-col",{attrs:{span:8}},[a("a-checkbox",{attrs:{value:"email"}},[a("a-icon",{attrs:{type:"mail"}}),t._v(" Email")],1)],1),a("a-col",{attrs:{span:8}},[a("a-checkbox",{attrs:{value:"telegram"}},[a("a-icon",{attrs:{type:"send"}}),t._v(" Telegram")],1)],1),a("a-col",{attrs:{span:8}},[a("a-checkbox",{attrs:{value:"webhook"}},[a("a-icon",{attrs:{type:"api"}}),t._v(" Webhook")],1)],1)],1)],1)],1)],1),a("a-alert",{staticStyle:{"margin-top":"8px"},attrs:{message:t.$t("aiAssetAnalysis.batch.scheduleTip"),type:"info","show-icon":""}})],1),a("a-drawer",{attrs:{title:t.$t("aiAssetAnalysis.tasks.manage"),visible:t.showTaskDrawer,width:"420",placement:"right",wrapClassName:t.isDarkTheme?"qd-dark-drawer":""},on:{close:function(a){t.showTaskDrawer=!1}}},[0===t.monitors.length?a("div",{staticClass:"task-drawer-empty"},[a("a-icon",{staticStyle:{"font-size":"40px",color:"#ccc"},attrs:{type:"inbox"}}),a("p",[t._v(t._s(t.$t("aiAssetAnalysis.tasks.empty")))])],1):a("div",{staticClass:"task-drawer-list"},t._l(t.monitors,function(s){return a("div",{key:s.id,staticClass:"task-item"},[a("div",{staticClass:"task-item-header"},[a("span",{staticClass:"task-item-name"},[t._v(t._s(s.name||"AI Task"))]),a("a-tag",{attrs:{color:s.is_active?"green":"default",size:"small"}},[t._v(" "+t._s(s.is_active?t.$t("aiAssetAnalysis.monitor.running"):t.$t("aiAssetAnalysis.monitor.paused"))+" ")])],1),a("div",{staticClass:"task-item-meta"},[s.config&&s.config.run_interval_minutes?a("span",[a("a-icon",{attrs:{type:"clock-circle"}}),t._v(" "+t._s(t.formatIntervalText(s.config.run_interval_minutes))+" ")],1):t._e(),s.next_run_at?a("span",[a("a-icon",{attrs:{type:"calendar"}}),t._v(" "+t._s(t._formatNextRunText(s.next_run_at))+" ")],1):t._e()]),a("div",{staticClass:"task-item-actions"},[a("a-button",{attrs:{size:"small",type:s.is_active?"default":"primary",icon:"poweroff"},on:{click:function(a){return t.handleToggleTask(s)}}},[t._v(" "+t._s(s.is_active?t.$t("aiAssetAnalysis.tasks.pause"):t.$t("aiAssetAnalysis.tasks.resume"))+" ")]),a("a-button",{attrs:{size:"small",icon:"edit"},on:{click:function(a){return t.handleEditTask(s)}}},[t._v(t._s(t.$t("aiAssetAnalysis.tasks.edit")))]),a("a-popconfirm",{attrs:{title:t.$t("aiAssetAnalysis.tasks.deleteConfirm"),okText:t.$t("common.confirm"),cancelText:t.$t("common.cancel")},on:{confirm:function(a){return t.handleDeleteTask(s)}}},[a("a-button",{attrs:{size:"small",type:"danger",icon:"delete"}},[t._v(t._s(t.$t("aiAssetAnalysis.tasks.delete")))])],1)],1)])}),0)]),a("a-modal",{attrs:{visible:t.showEditTaskModal,title:t.$t("aiAssetAnalysis.tasks.edit"),confirmLoading:t.editTaskLoading,wrapClassName:t.isDarkTheme?"qd-dark-modal":""},on:{ok:t.saveEditTask,cancel:function(a){t.showEditTaskModal=!1}}},[t.editTaskForm?a("a-form",{attrs:{layout:"vertical"}},[a("a-form-item",{attrs:{label:t.$t("aiAssetAnalysis.tasks.name")}},[a("a-input",{model:{value:t.editTaskForm.name,callback:function(a){t.$set(t.editTaskForm,"name",a)},expression:"editTaskForm.name"}})],1),a("a-form-item",{attrs:{label:t.$t("aiAssetAnalysis.batch.intervalLabel")}},[a("a-select",{staticStyle:{width:"100%"},model:{value:t.editTaskForm.interval_min,callback:function(a){t.$set(t.editTaskForm,"interval_min",a)},expression:"editTaskForm.interval_min"}},[a("a-select-option",{attrs:{value:60}},[t._v(t._s(t.$t("aiAssetAnalysis.batch.interval1h")))]),a("a-select-option",{attrs:{value:240}},[t._v(t._s(t.$t("aiAssetAnalysis.batch.interval4h")))]),a("a-select-option",{attrs:{value:720}},[t._v(t._s(t.$t("aiAssetAnalysis.batch.interval12h")))]),a("a-select-option",{attrs:{value:1440}},[t._v(t._s(t.$t("aiAssetAnalysis.batch.interval24h")))])],1)],1),a("a-form-item",{attrs:{label:t.$t("aiAssetAnalysis.batch.notifyLabel")}},[a("a-checkbox-group",{staticStyle:{width:"100%"},model:{value:t.editTaskForm.notify_channels,callback:function(a){t.$set(t.editTaskForm,"notify_channels",a)},expression:"editTaskForm.notify_channels"}},[a("a-row",{attrs:{gutter:8}},[a("a-col",{attrs:{span:8}},[a("a-checkbox",{attrs:{value:"email"}},[a("a-icon",{attrs:{type:"mail"}}),t._v(" Email")],1)],1),a("a-col",{attrs:{span:8}},[a("a-checkbox",{attrs:{value:"telegram"}},[a("a-icon",{attrs:{type:"send"}}),t._v(" Telegram")],1)],1),a("a-col",{attrs:{span:8}},[a("a-checkbox",{attrs:{value:"webhook"}},[a("a-icon",{attrs:{type:"api"}}),t._v(" Webhook")],1)],1)],1)],1)],1)],1):t._e()],1),a("a-modal",{attrs:{title:t.$t("dashboard.analysis.modal.history.title"),visible:t.showHistoryModal,footer:null,width:"800px",bodyStyle:{maxHeight:"60vh",overflowY:"auto"},wrapClassName:t.isDarkTheme?"qd-dark-modal":""},on:{cancel:function(a){t.showHistoryModal=!1}}},[a("a-spin",{attrs:{spinning:t.historyLoading}},[a("a-list",{attrs:{"data-source":t.historyList,pagination:{current:t.historyPage,pageSize:t.historyPageSize,total:t.historyTotal,onChange:function(a){t.historyPage=a,t.loadHistoryList()},showSizeChanger:!0,pageSizeOptions:["10","20","50"],onShowSizeChange:function(a,s){t.historyPageSize=s,t.historyPage=1,t.loadHistoryList()}}},scopedSlots:t._u([{key:"renderItem",fn:function(s){return a("a-list-item",{},[a("a-list-item-meta",[a("template",{slot:"title"},[a("div",{staticStyle:{display:"flex","align-items":"center","justify-content":"space-between"}},[a("div",[a("a-tag",{staticStyle:{"margin-right":"8px"},attrs:{color:t.getMarketColor(s.market)}},[t._v(" "+t._s(t.getMarketName(s.market))+" ")]),a("strong",[t._v(t._s(s.symbol))]),a("a-tag",{staticStyle:{"margin-left":"12px"},attrs:{color:"BUY"===s.decision?"green":"SELL"===s.decision?"red":"blue"}},[t._v(" "+t._s(s.decision)+" ")]),a("a-tag",{staticStyle:{"margin-left":"8px"},attrs:{color:t.getStatusColor(s.status||"completed")}},[t._v(" "+t._s(t.getStatusText(s.status||"completed"))+" ")]),a("span",{staticStyle:{color:"#999","margin-left":"8px","font-size":"12px"}},[t._v(" "+t._s(t.$t("fastAnalysis.confidence"))+": "+t._s(s.confidence)+"% ")])],1),a("div",[a("a-button",{attrs:{type:"link",size:"small",icon:"eye",disabled:"processing"===(s.status||"").toLowerCase()},on:{click:function(a){return t.viewHistoryResult(s)}}},[t._v(" "+t._s(t.$t("dashboard.analysis.modal.history.viewResult"))+" ")]),a("a-popconfirm",{attrs:{title:t.$t("dashboard.analysis.modal.history.deleteConfirm"),"ok-text":t.$t("common.confirm"),"cancel-text":t.$t("common.cancel")},on:{confirm:function(a){return t.deleteHistoryItem(s)}}},[a("a-button",{staticStyle:{color:"#ff4d4f"},attrs:{type:"link",size:"small",icon:"delete"}},[t._v(" "+t._s(t.$t("dashboard.analysis.modal.history.delete"))+" ")])],1)],1)])]),a("template",{slot:"description"},[a("div",{staticStyle:{color:"#666","font-size":"12px"}},[s.price?a("span",[t._v("$"+t._s(t.formatNumber(s.price)))]):t._e(),s.summary?a("span",{staticStyle:{"margin-left":"8px"}},[t._v(t._s(s.summary.substring(0,80))+t._s(s.summary.length>80?"...":""))]):t._e()]),s.created_at?a("div",{staticStyle:{color:"#999","font-size":"12px","margin-top":"4px"}},[t._v(" "+t._s(t.formatIsoTime(s.created_at))+" ")]):t._e()])],2)],1)}}])}),t.historyLoading||0!==t.historyList.length?t._e():a("a-empty",{attrs:{description:t.$t("dashboard.analysis.empty.noHistory")}})],1)],1)],1)},i=[function(){var t=this,a=t._self._c;return a("div",{staticClass:"indicator-box skeleton-box"},[a("span",{staticClass:"skeleton-text short"}),a("span",{staticClass:"skeleton-text"})])},function(){var t=this,a=t._self._c;return a("div",{staticClass:"indicator-box skeleton-box"},[a("span",{staticClass:"skeleton-text short"}),a("span",{staticClass:"skeleton-text"})])},function(){var t=this,a=t._self._c;return a("div",{staticClass:"indicator-box skeleton-box"},[a("span",{staticClass:"skeleton-text short"}),a("span",{staticClass:"skeleton-text"})])},function(){var t=this,a=t._self._c;return a("div",{staticClass:"hero-bg"},[a("div",{staticClass:"hero-bg-circle c1"}),a("div",{staticClass:"hero-bg-circle c2"}),a("div",{staticClass:"hero-bg-grid"})])}],n=s(44735),r=s(21560),o=s(57532),l=s(2403),c=s(15863),d=s(81127),u=s(56252),m=s(76338),h=s(95353),p=s(505),v=s(35038),y=s(24364),f=s(75769),b="/api/fast-analysis";function g(t){return(0,f.Ay)({url:"".concat(b,"/analyze"),method:"post",data:t,timeout:3e5})}function _(t){return(0,f.Ay)({url:"".concat(b,"/history/all"),method:"get",params:t})}function k(t){return(0,f.Ay)({url:"".concat(b,"/history/").concat(t),method:"delete"})}function C(t){return(0,f.Ay)({url:"".concat(b,"/feedback"),method:"post",data:t})}var A=s(44146),S=function(){var t,a,s,e,i,n,r,o,l,c,d,u,m,h,p,v,y,f,b,g,_,k,C=this,A=C._self._c;return A("div",{staticClass:"fast-analysis-report",class:{"theme-dark":C.isDarkTheme}},[C.loading?A("div",{staticClass:"loading-container"},[A("div",{staticClass:"loading-content-pro"},[A("div",{staticClass:"loading-header"},[A("a-icon",{staticClass:"loading-icon-pro",attrs:{type:"thunderbolt"}}),A("span",{staticClass:"loading-title"},[C._v(C._s(C.$t("fastAnalysis.analyzing")))])],1),A("div",{staticClass:"progress-wrapper"},[A("a-progress",{attrs:{percent:C.progressPercent,showInfo:!1,strokeColor:"#1890ff",strokeWidth:8}}),A("span",{staticClass:"progress-text"},[C._v(C._s(C.formatProgress(C.progressPercent))+"%")])],1),A("div",{staticClass:"current-step"},[A("a-icon",{attrs:{type:"loading",spin:""}}),A("span",[C._v(C._s(C.currentStepText))])],1),A("div",{staticClass:"steps-list"},[A("div",{staticClass:"step-item",class:{done:C.step>1,active:1===C.step}},[A("span",{staticClass:"step-dot"}),A("span",{staticClass:"step-text"},[C._v(C._s(C.$t("fastAnalysis.step1")||"获取实时数据"))]),C.step>1?A("a-icon",{staticClass:"step-check",attrs:{type:"check"}}):C._e()],1),A("div",{staticClass:"step-item",class:{done:C.step>2,active:2===C.step}},[A("span",{staticClass:"step-dot"}),A("span",{staticClass:"step-text"},[C._v(C._s(C.$t("fastAnalysis.step2")||"计算技术指标"))]),C.step>2?A("a-icon",{staticClass:"step-check",attrs:{type:"check"}}):C._e()],1),A("div",{staticClass:"step-item",class:{done:C.step>3,active:3===C.step}},[A("span",{staticClass:"step-dot"}),A("span",{staticClass:"step-text"},[C._v(C._s(C.$t("fastAnalysis.step3")||"AI深度分析"))]),C.step>3?A("a-icon",{staticClass:"step-check",attrs:{type:"check"}}):C._e()],1),A("div",{staticClass:"step-item",class:{done:C.step>4,active:4===C.step}},[A("span",{staticClass:"step-dot"}),A("span",{staticClass:"step-text"},[C._v(C._s(C.$t("fastAnalysis.step4")||"生成报告"))]),C.step>4?A("a-icon",{staticClass:"step-check",attrs:{type:"check"}}):C._e()],1)]),A("div",{staticClass:"loading-footer"},[A("span",{staticClass:"elapsed-time"},[C._v(C._s(C.elapsedTimeText))])])])]):C.error?A("div",{staticClass:"error-container"},[A("a-result",{attrs:{status:"warning"===C.errorTone?"warning":"error",title:C.errorTitle,"sub-title":C.error},scopedSlots:C._u([{key:"extra",fn:function(){return[A("a-button",{attrs:{type:"primary"},on:{click:function(t){return C.$emit("retry")}}},[C._v(" "+C._s(C.$t("fastAnalysis.retry"))+" ")])]},proxy:!0}])})],1):C.result?A("div",{staticClass:"result-container"},[A("div",{staticClass:"decision-card",class:C.decisionClass},[A("div",{staticClass:"decision-main"},[A("div",{staticClass:"decision-badge"},[A("a-icon",{attrs:{type:C.decisionIcon}}),A("span",{staticClass:"decision-text"},[C._v(C._s(C.result.decision))])],1),A("div",{staticClass:"confidence-ring"},[A("a-progress",{attrs:{type:"circle",percent:C.result.confidence,width:80,strokeColor:C.confidenceColor},scopedSlots:C._u([{key:"format",fn:function(t){return[A("span",{staticClass:"confidence-value"},[C._v(C._s(t)+"%")])]}}])}),A("div",{staticClass:"confidence-label"},[C._v(C._s(C.$t("fastAnalysis.confidence")))])],1)]),A("div",{staticClass:"decision-summary"},[C._v(" "+C._s(C.result.summary)+" ")]),C.consensusBlock?A("div",{staticClass:"consensus-strip"},[A("div",{staticClass:"consensus-strip-title"},[A("a-icon",{attrs:{type:"cluster"}}),C._v(" "+C._s(C.$t("fastAnalysis.consensusTitle"))+" ")],1),A("div",{staticClass:"consensus-strip-metrics"},[A("span",{staticClass:"cm-item"},[A("em",[C._v(C._s(C.$t("fastAnalysis.consensusDecision")))]),C._v(" "+C._s(C.consensusBlock.consensus_decision)+" ")]),A("span",{staticClass:"cm-item"},[A("em",[C._v(C._s(C.$t("fastAnalysis.consensusScore")))]),C._v(" "+C._s(C.formatConsensusNum(C.consensusBlock.consensus_score))+" ")]),null!=C.consensusBlock.agreement_ratio?A("span",{staticClass:"cm-item"},[A("em",[C._v(C._s(C.$t("fastAnalysis.consensusAgreement")))]),C._v(" "+C._s(C.formatAgreementPct(C.consensusBlock.agreement_ratio))+" ")]):C._e()])]):C._e()]),A("div",{staticClass:"price-info-row",class:{"hold-mode":C.isHoldDecision}},[A("div",{staticClass:"price-card current"},[A("div",{staticClass:"price-label"},[C._v(C._s(C.$t("fastAnalysis.currentPrice")))]),A("div",{staticClass:"price-value"},[C._v("$"+C._s(C.formatPrice(null===(t=C.result.market_data)||void 0===t?void 0:t.current_price)))]),A("div",{staticClass:"price-change",class:(null===(a=C.result.market_data)||void 0===a?void 0:a.change_24h)>=0?"positive":"negative"},[C._v(" "+C._s((null===(s=C.result.market_data)||void 0===s?void 0:s.change_24h)>=0?"+":"")+C._s(C.formatNumber(null===(e=C.result.market_data)||void 0===e?void 0:e.change_24h,2))+"% ")])]),C.isHoldDecision?C._e():[A("div",{staticClass:"price-card entry"},[A("div",{staticClass:"price-label"},[C._v(C._s(C.$t("fastAnalysis.entryPrice")))]),A("div",{staticClass:"price-value"},[C._v("$"+C._s(C.formatPrice(C.tradingPlan.entry_price)))])]),A("div",{staticClass:"price-card stop"},[A("div",{staticClass:"price-label"},[C._v(C._s(C.$t("fastAnalysis.stopLoss")))]),A("div",{staticClass:"price-value negative"},[C._v("$"+C._s(C.formatPrice(C.tradingPlan.stop_loss)))]),A("div",{staticClass:"price-hint"},[A("a-tooltip",{attrs:{title:C.stopLossHintText}},[A("a-icon",{attrs:{type:"info-circle"}}),C._v(" "+C._s(C.$t("fastAnalysis.atrBased"))+" ")],1)],1)]),A("div",{staticClass:"price-card target"},[A("div",{staticClass:"price-label"},[C._v(C._s(C.$t("fastAnalysis.takeProfit")))]),A("div",{staticClass:"price-value positive"},[C._v("$"+C._s(C.formatPrice(C.tradingPlan.take_profit)))]),A("div",{staticClass:"price-hint"},[A("a-tooltip",{attrs:{title:C.takeProfitHintText}},[A("a-icon",{attrs:{type:"info-circle"}}),C._v(" "+C._s(C.$t("fastAnalysis.atrBased"))+" ")],1)],1)])]],2),C.trendOutlookBlocks.length||C.trendOutlookSummaryText?A("div",{staticClass:"trend-outlook-card"},[A("div",{staticClass:"trend-outlook-header"},[A("a-icon",{attrs:{type:"calendar"}}),A("span",[C._v(C._s(C.$t("fastAnalysis.trendOutlookTitle")))])],1),C.trendOutlookSummaryText?A("div",{staticClass:"trend-outlook-summary"},[C._v(" "+C._s(C.trendOutlookSummaryText)+" ")]):C._e(),C.trendOutlookBlocks.length?A("div",{staticClass:"trend-outlook-grid"},C._l(C.trendOutlookBlocks,function(t){return A("div",{key:t.key,staticClass:"trend-outlook-item"},[A("div",{staticClass:"to-label"},[C._v(C._s(t.label))]),A("div",{staticClass:"to-trend",class:C.outlookTrendClass(t.trend)},[C._v(" "+C._s(C.formatOutlookTrend(t.trend))+" ")]),A("div",{staticClass:"to-meta"},[A("span",{staticClass:"to-score"},[C._v(C._s(null!=t.score?t.score:"--"))]),A("span",{staticClass:"to-str"},[C._v(C._s(t.strength||"--"))])])])}),0):C._e()]):C._e(),A("div",{staticClass:"scores-row"},[A("div",{staticClass:"score-item"},[A("div",{staticClass:"score-header"},[A("a-icon",{attrs:{type:"line-chart"}}),A("span",[C._v(C._s(C.$t("fastAnalysis.technical")))])],1),A("a-progress",{attrs:{percent:(null===(i=C.result.scores)||void 0===i?void 0:i.technical)||50,strokeColor:C.getScoreColor(null===(n=C.result.scores)||void 0===n?void 0:n.technical),showInfo:!1}}),A("div",{staticClass:"score-value"},[C._v(C._s((null===(r=C.result.scores)||void 0===r?void 0:r.technical)||50))])],1),A("div",{staticClass:"score-item"},[A("div",{staticClass:"score-header"},[A("a-icon",{attrs:{type:"bank"}}),A("span",[C._v(C._s(C.$t("fastAnalysis.fundamental")))])],1),A("a-progress",{attrs:{percent:(null===(o=C.result.scores)||void 0===o?void 0:o.fundamental)||50,strokeColor:C.getScoreColor(null===(l=C.result.scores)||void 0===l?void 0:l.fundamental),showInfo:!1}}),A("div",{staticClass:"score-value"},[C._v(C._s((null===(c=C.result.scores)||void 0===c?void 0:c.fundamental)||50))])],1),A("div",{staticClass:"score-item"},[A("div",{staticClass:"score-header"},[A("a-icon",{attrs:{type:"heart"}}),A("span",[C._v(C._s(C.$t("fastAnalysis.sentiment")))])],1),A("a-progress",{attrs:{percent:(null===(d=C.result.scores)||void 0===d?void 0:d.sentiment)||50,strokeColor:C.getScoreColor(null===(u=C.result.scores)||void 0===u?void 0:u.sentiment),showInfo:!1}}),A("div",{staticClass:"score-value"},[C._v(C._s((null===(m=C.result.scores)||void 0===m?void 0:m.sentiment)||50))])],1),A("div",{staticClass:"score-item overall"},[A("div",{staticClass:"score-header"},[A("a-icon",{attrs:{type:"dashboard"}}),A("span",[C._v(C._s(C.$t("fastAnalysis.overall")))])],1),A("a-progress",{attrs:{percent:(null===(h=C.result.scores)||void 0===h?void 0:h.overall)||50,strokeColor:C.getScoreColor(null===(p=C.result.scores)||void 0===p?void 0:p.overall),showInfo:!1}}),A("div",{staticClass:"score-value"},[C._v(C._s((null===(v=C.result.scores)||void 0===v?void 0:v.overall)||50))])],1)]),C.result.detailed_analysis?A("div",{staticClass:"detailed-analysis"},[C.result.detailed_analysis.technical?A("div",{staticClass:"analysis-card technical"},[A("div",{staticClass:"analysis-card-header"},[A("a-icon",{attrs:{type:"line-chart"}}),A("span",[C._v(C._s(C.$t("fastAnalysis.technicalAnalysis")))]),A("a-tag",{attrs:{color:C.getScoreTagColor(null===(y=C.result.scores)||void 0===y?void 0:y.technical)}},[C._v(" "+C._s((null===(f=C.result.scores)||void 0===f?void 0:f.technical)||50)+"分 ")])],1),A("div",{staticClass:"analysis-card-content"},[C._v(" "+C._s(C.result.detailed_analysis.technical)+" ")])]):C._e(),C.result.detailed_analysis.fundamental?A("div",{staticClass:"analysis-card fundamental"},[A("div",{staticClass:"analysis-card-header"},[A("a-icon",{attrs:{type:"bank"}}),A("span",[C._v(C._s(C.$t("fastAnalysis.fundamentalAnalysis")))]),A("a-tag",{attrs:{color:C.getScoreTagColor(null===(b=C.result.scores)||void 0===b?void 0:b.fundamental)}},[C._v(" "+C._s((null===(g=C.result.scores)||void 0===g?void 0:g.fundamental)||50)+"分 ")])],1),A("div",{staticClass:"analysis-card-content"},[C._v(" "+C._s(C.result.detailed_analysis.fundamental)+" ")])]):C._e(),C.result.detailed_analysis.sentiment?A("div",{staticClass:"analysis-card sentiment"},[A("div",{staticClass:"analysis-card-header"},[A("a-icon",{attrs:{type:"heart"}}),A("span",[C._v(C._s(C.$t("fastAnalysis.sentimentAnalysis")))]),A("a-tag",{attrs:{color:C.getScoreTagColor(null===(_=C.result.scores)||void 0===_?void 0:_.sentiment)}},[C._v(" "+C._s((null===(k=C.result.scores)||void 0===k?void 0:k.sentiment)||50)+"分 ")])],1),A("div",{staticClass:"analysis-card-content"},[C._v(" "+C._s(C.result.detailed_analysis.sentiment)+" ")])]):C._e()]):C._e(),A("div",{staticClass:"analysis-details"},[A("div",{staticClass:"detail-section reasons"},[A("div",{staticClass:"section-title"},[A("a-icon",{attrs:{type:"bulb",theme:"twoTone",twoToneColor:"#52c41a"}}),A("span",[C._v(C._s(C.$t("fastAnalysis.keyReasons")))])],1),A("ul",{staticClass:"detail-list"},C._l(C.result.reasons,function(t,a){return A("li",{key:"r-"+a},[C._v(" "+C._s(t)+" ")])}),0)]),A("div",{staticClass:"detail-section risks"},[A("div",{staticClass:"section-title"},[A("a-icon",{attrs:{type:"warning",theme:"twoTone",twoToneColor:"#faad14"}}),A("span",[C._v(C._s(C.$t("fastAnalysis.risks")))])],1),A("ul",{staticClass:"detail-list"},C._l(C.result.risks,function(t,a){return A("li",{key:"k-"+a},[C._v(" "+C._s(t)+" ")])}),0)])]),C.result.indicators&&Object.keys(C.result.indicators).length>0?A("div",{staticClass:"indicators-section"},[A("div",{staticClass:"section-title"},[A("a-icon",{attrs:{type:"stock"}}),A("span",[C._v(C._s(C.$t("fastAnalysis.indicators")))]),A("a-tag",{staticClass:"indicators-pro-badge",attrs:{color:"blue"}},[C._v(C._s(C.$t("fastAnalysis.indicatorsProBadge")))])],1),A("div",{staticClass:"indicators-methodology"},[A("a-icon",{attrs:{type:"experiment"}}),A("span",[C._v(C._s(C.$t("fastAnalysis.indicatorsProSubtitle")))])],1),A("div",{staticClass:"indicators-grid"},[C.result.indicators.rsi?A("div",{staticClass:"indicator-item"},[A("div",{staticClass:"indicator-name"},[C._v("RSI (14)")]),A("div",{staticClass:"indicator-value",class:C.getRsiClass(C.result.indicators.rsi.value)},[C._v(" "+C._s(C.formatNumber(C.result.indicators.rsi.value,1))+" ")]),A("div",{staticClass:"indicator-signal"},[C._v(C._s(C.translateSignal(C.result.indicators.rsi.signal)))])]):C._e(),C.result.indicators.macd?A("div",{staticClass:"indicator-item"},[A("div",{staticClass:"indicator-name"},[C._v("MACD (12,26,9)")]),A("div",{staticClass:"indicator-value",class:"bullish"===C.result.indicators.macd.signal?"bullish":"bearish"===C.result.indicators.macd.signal?"bearish":""},[C._v(" "+C._s(C.translateTrend(C.result.indicators.macd.trend))+" ")]),A("div",{staticClass:"indicator-signal"},[C._v(C._s(C.translateSignal(C.result.indicators.macd.signal)))])]):C._e(),C.result.indicators.moving_averages?A("div",{staticClass:"indicator-item"},[A("div",{staticClass:"indicator-name"},[C._v(C._s(C.$t("fastAnalysis.maTrend")))]),A("div",{staticClass:"indicator-value",class:C.getMaTrendClass(C.result.indicators.moving_averages.trend)},[C._v(" "+C._s(C.translateTrend(C.result.indicators.moving_averages.trend))+" ")])]):C._e(),C.result.indicators.volatility&&null!=C.result.indicators.volatility.atr?A("div",{staticClass:"indicator-item"},[A("div",{staticClass:"indicator-name"},[C._v("ATR (14)")]),A("div",{staticClass:"indicator-value",class:C.getVolatilityClass(C.result.indicators.volatility.level)},[C._v(" $"+C._s(C.formatPrice(C.result.indicators.volatility.atr))+" ")]),A("div",{staticClass:"indicator-signal"},[C._v(C._s(C.$t("fastAnalysis.atrTrueRange")))])]):C._e(),C.result.indicators.bollinger&&null!=C.result.indicators.bollinger.BB_width?A("div",{staticClass:"indicator-item"},[A("div",{staticClass:"indicator-name"},[C._v(C._s(C.$t("fastAnalysis.bbWidth")))]),A("div",{staticClass:"indicator-value"},[C._v(C._s(C.formatNumber(C.result.indicators.bollinger.BB_width,2))+"%")]),A("div",{staticClass:"indicator-signal"},[C._v(C._s(C.$t("fastAnalysis.bbWidthHint")))])]):C._e(),null!=C.result.indicators.price_position?A("div",{staticClass:"indicator-item"},[A("div",{staticClass:"indicator-name"},[C._v(C._s(C.$t("fastAnalysis.rangePct20")))]),A("div",{staticClass:"indicator-value"},[C._v(C._s(C.formatNumber(C.result.indicators.price_position,1))+"%")]),A("div",{staticClass:"indicator-signal"},[C._v(C._s(C.$t("fastAnalysis.rangePct20Hint")))])]):C._e(),null!=C.result.indicators.volume_ratio?A("div",{staticClass:"indicator-item"},[A("div",{staticClass:"indicator-name"},[C._v(C._s(C.$t("fastAnalysis.volumeRatio")))]),A("div",{staticClass:"indicator-value",class:C.volumeRatioClass(C.result.indicators.volume_ratio)},[C._v(" "+C._s(C.formatNumber(C.result.indicators.volume_ratio,2))+"× ")]),A("div",{staticClass:"indicator-signal"},[C._v(C._s(C.$t("fastAnalysis.volumeRatioHint")))])]):C._e(),C.result.indicators.levels?A("div",{staticClass:"indicator-item"},[A("div",{staticClass:"indicator-name"},[C._v(C._s(C.$t("fastAnalysis.support")))]),A("div",{staticClass:"indicator-value"},[C._v("$"+C._s(C.formatPrice(C.result.indicators.levels.support)))])]):C._e(),C.result.indicators.levels?A("div",{staticClass:"indicator-item"},[A("div",{staticClass:"indicator-name"},[C._v(C._s(C.$t("fastAnalysis.resistance")))]),A("div",{staticClass:"indicator-value"},[C._v("$"+C._s(C.formatPrice(C.result.indicators.levels.resistance)))])]):C._e(),C.result.indicators.volatility?A("div",{staticClass:"indicator-item"},[A("div",{staticClass:"indicator-name"},[C._v(C._s(C.$t("fastAnalysis.volatility")))]),A("div",{staticClass:"indicator-value",class:C.getVolatilityClass(C.result.indicators.volatility.level)},[C._v(" "+C._s(C.translateVolatility(C.result.indicators.volatility.level))+" ("+C._s(C.result.indicators.volatility.pct)+"%) ")])]):C._e()]),C.professionalIndicatorRows.length?A("div",{staticClass:"indicators-pro-wrap"},[A("div",{staticClass:"indicators-pro-title"},[A("a-icon",{attrs:{type:"deployment-unit"}}),C._v(" "+C._s(C.$i18n&&"zh-CN"===C.$i18n.locale?"量化参数明细":"Quant Parameters")+" ")],1),A("a-descriptions",{staticClass:"indicators-pro-desc",attrs:{bordered:"",size:"small",column:2}},C._l(C.professionalIndicatorRows,function(t){return A("a-descriptions-item",{key:t.key,attrs:{label:t.label}},[A("span",{class:t.valueClass},[C._v(C._s(t.text))])])}),1)],1):C._e()]):C._e(),A("div",{staticClass:"feedback-section"},[A("div",{staticClass:"feedback-question"},[C._v(C._s(C.$t("fastAnalysis.wasHelpful")))]),A("div",{staticClass:"feedback-buttons"},[A("a-button",{attrs:{type:"helpful"===C.userFeedback?"primary":"default",size:"small",loading:"helpful"===C.feedbackLoading},on:{click:function(t){return C.submitFeedback("helpful")}}},[A("a-icon",{attrs:{type:"like"}}),C._v(" "+C._s(C.$t("fastAnalysis.helpful"))+" ")],1),A("a-button",{attrs:{type:"not_helpful"===C.userFeedback?"danger":"default",size:"small",loading:"not_helpful"===C.feedbackLoading},on:{click:function(t){return C.submitFeedback("not_helpful")}}},[A("a-icon",{attrs:{type:"dislike"}}),C._v(" "+C._s(C.$t("fastAnalysis.notHelpful"))+" ")],1)],1),A("div",{staticClass:"analysis-meta"},[A("span",[C._v(C._s(C.$t("fastAnalysis.analysisTime"))+": "+C._s(C.result.analysis_time_ms)+"ms")]),C.result.memory_id?A("span",[C._v("ID: #"+C._s(C.result.memory_id))]):C._e()])])]):A("div",{staticClass:"empty-container"},[A("div",{staticClass:"empty-content"},[A("a-icon",{staticClass:"empty-icon",attrs:{type:"radar-chart"}}),A("div",{staticClass:"empty-title"},[C._v(C._s(C.$t("fastAnalysis.selectSymbol")))]),A("div",{staticClass:"empty-hint"},[C._v(C._s(C.$t("fastAnalysis.selectHint")))])],1)])])},w=[],$={name:"FastAnalysisReport",props:{result:{type:Object,default:null},loading:{type:Boolean,default:!1},error:{type:String,default:null},errorTone:{type:String,default:"error",validator:function(t){return["error","warning","info"].includes(t)}}},data:function(){return{userFeedback:null,feedbackLoading:null,progress:0,elapsedSeconds:0,mainTimer:null}},computed:(0,m.A)((0,m.A)({},(0,h.aH)({navTheme:function(t){return t.app.theme}})),{},{isDarkTheme:function(){return"dark"===this.navTheme||"realdark"===this.navTheme},progressPercent:function(){return Math.round(10*this.progress)/10},step:function(){return this.progress<25?1:this.progress<50?2:this.progress<75?3:4},currentStepText:function(){var t={1:this.$t("fastAnalysis.step1")||"获取实时数据",2:this.$t("fastAnalysis.step2")||"计算技术指标",3:this.$t("fastAnalysis.step3")||"AI深度分析",4:this.$t("fastAnalysis.step4")||"生成报告"};return t[this.step]||this.$t("fastAnalysis.preparing")||"准备中..."},elapsedTimeText:function(){if(this.elapsedSeconds<60)return"".concat(this.elapsedSeconds,"s");var t=Math.floor(this.elapsedSeconds/60),a=this.elapsedSeconds%60;return"".concat(t,"m ").concat(a,"s")},isHoldDecision:function(){return this.result&&"HOLD"===this.result.decision},decisionClass:function(){if(!this.result)return"";var t=this.result.decision;return"BUY"===t?"decision-buy":"SELL"===t?"decision-sell":"decision-hold"},decisionIcon:function(){if(!this.result)return"question";var t=this.result.decision;return"BUY"===t?"arrow-up":"SELL"===t?"arrow-down":"pause"},confidenceColor:function(){var t,a=(null===(t=this.result)||void 0===t?void 0:t.confidence)||50;return a>=70?"#52c41a":a>=50?"#1890ff":"#faad14"},consensusBlock:function(){var t,a=null===(t=this.result)||void 0===t?void 0:t.consensus;return a&&"object"===(0,n.A)(a)?null==a.consensus_decision&&null==a.consensus_score?null:a:null},tradingPlan:function(){var t,a,s,e,i,n,r=(null===(t=this.result)||void 0===t?void 0:t.trading_plan)||{},o=null!==(a=r.entry_price)&&void 0!==a?a:r.entryPrice,l=null!==(s=null!==(e=r.stop_loss)&&void 0!==e?e:r.stopLoss)&&void 0!==s?s:r.loss_exit_price,c=null!==(i=null!==(n=r.take_profit)&&void 0!==n?n:r.takeProfit)&&void 0!==i?i:r.profit_target_price;return{entry_price:o,stop_loss:l,take_profit:c}},trendOutlookRaw:function(){var t,a;return(null===(t=this.result)||void 0===t?void 0:t.trend_outlook)||(null===(a=this.result)||void 0===a?void 0:a.trendOutlook)||null},trendOutlookSummaryText:function(){var t,a,s=(null===(t=this.result)||void 0===t?void 0:t.trend_outlook_summary)||(null===(a=this.result)||void 0===a?void 0:a.trendOutlookSummary);return s&&String(s).trim()?String(s).trim():""},trendOutlookBlocks:function(){var t=this,a=this.trendOutlookRaw;if(!a||"object"!==(0,n.A)(a))return[];var s=[{key:"next_24h",labelKey:"fastAnalysis.outlook24h"},{key:"next_3d",labelKey:"fastAnalysis.outlook3d"},{key:"next_1w",labelKey:"fastAnalysis.outlook1w"},{key:"next_1m",labelKey:"fastAnalysis.outlook1m"}];return s.map(function(s){var e=s.key,i=s.labelKey,n=a[e]||{};return{key:e,label:t.$t(i),trend:n.trend,score:n.score,strength:n.strength}}).filter(function(t){var s=a[t.key];return s&&"object"===(0,n.A)(s)&&(null!=s.trend||null!=s.score)})},stopLossHintText:function(){var t,a=String((null===(t=this.result)||void 0===t?void 0:t.decision)||"").toUpperCase();return"SELL"===a?this.$t("fastAnalysis.stopLossHintShort"):this.$t("fastAnalysis.stopLossHint")},takeProfitHintText:function(){var t,a=String((null===(t=this.result)||void 0===t?void 0:t.decision)||"").toUpperCase();return"SELL"===a?this.$t("fastAnalysis.takeProfitHintShort"):this.$t("fastAnalysis.takeProfitHint")},professionalIndicatorRows:function(){var t,a=(null===(t=this.result)||void 0===t?void 0:t.indicators)||{},s=[],e=function(t,a,e){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"";void 0!==e&&null!==e&&""!==e&&s.push({key:t,label:a,text:String(e),valueClass:i})},i=a.macd||{};if(null!=i.value&&e("macd_dif",this.$t("fastAnalysis.macdDif"),this.formatCompactNum(i.value)),null!=i.signal_line&&e("macd_dea",this.$t("fastAnalysis.macdDea"),this.formatCompactNum(i.signal_line)),null!=i.histogram){var n=Number(i.histogram),r=n>0?"bullish":n<0?"bearish":"";e("macd_hist",this.$t("fastAnalysis.macdHist"),this.formatCompactNum(i.histogram),r)}var o=a.moving_averages||{};null!=o.ma5&&e("ma5",this.$t("fastAnalysis.ma5Label"),"$"+this.formatPrice(o.ma5)),null!=o.ma10&&e("ma10",this.$t("fastAnalysis.ma10Label"),"$"+this.formatPrice(o.ma10)),null!=o.ma20&&e("ma20",this.$t("fastAnalysis.ma20Label"),"$"+this.formatPrice(o.ma20));var l=a.bollinger||{};null!=l.BB_upper&&e("bb_u",this.$t("fastAnalysis.bbUpper"),"$"+this.formatPrice(l.BB_upper)),null!=l.BB_middle&&e("bb_m",this.$t("fastAnalysis.bbMiddle"),"$"+this.formatPrice(l.BB_middle)),null!=l.BB_lower&&e("bb_l",this.$t("fastAnalysis.bbLower"),"$"+this.formatPrice(l.BB_lower)),null!=l.BB_width&&e("bb_w",this.$t("fastAnalysis.bbWidthPct"),this.formatNumber(l.BB_width,2)+"%");var c=a.levels||{};null!=c.pivot&&e("piv",this.$t("fastAnalysis.pivotStd"),"$"+this.formatPrice(c.pivot)),null!=c.s1&&e("s1",this.$t("fastAnalysis.levelS1"),"$"+this.formatPrice(c.s1)),null!=c.r1&&e("r1",this.$t("fastAnalysis.levelR1"),"$"+this.formatPrice(c.r1)),null!=c.s2&&e("s2",this.$t("fastAnalysis.levelS2"),"$"+this.formatPrice(c.s2)),null!=c.r2&&e("r2",this.$t("fastAnalysis.levelR2"),"$"+this.formatPrice(c.r2)),null!=c.swing_high&&e("sw_h",this.$t("fastAnalysis.swingHigh20"),"$"+this.formatPrice(c.swing_high)),null!=c.swing_low&&e("sw_l",this.$t("fastAnalysis.swingLow20"),"$"+this.formatPrice(c.swing_low));var d=a.volatility||{};if(null!=d.atr){var u=null!=d.pct?this.formatNumber(d.pct,2)+"% ATR/Price":"";e("atr14",this.$t("fastAnalysis.atr14Label"),"$"+this.formatPrice(d.atr)+(u?" · "+u:""))}var m=a.trading_levels||{};return null!=m.risk_reward_ratio&&Number(m.risk_reward_ratio)>0&&e("rr",this.$t("fastAnalysis.rrLongRef"),"1 : "+this.formatNumber(m.risk_reward_ratio,2)),null!=a.current_price&&e("cref",this.$t("fastAnalysis.refClose"),"$"+this.formatPrice(a.current_price)),s},insufficientCreditsError:function(){if(!this.error)return!1;var t=String(this.error);return t.includes("积分不足")||t.toLowerCase().includes("insufficient credits")},errorTitle:function(){return"warning"===this.errorTone?this.$t("fastAnalysis.analysisInProgressTitle"):this.insufficientCreditsError?this.$t("fastAnalysis.insufficientCredits"):this.$t("fastAnalysis.error")}}),watch:{result:function(){this.userFeedback=null},loading:{handler:function(t){t?this.startProgressTimer():this.stopProgressTimer()},immediate:!0}},mounted:function(){this.loading&&this.startProgressTimer()},beforeDestroy:function(){this.stopProgressTimer()},methods:{formatPrice:function(t){if(void 0===t||null===t)return"--";var a=parseFloat(t);return isNaN(a)?"--":a<1?a.toFixed(6):a<100?a.toFixed(4):a<1e4?a.toFixed(2):a.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})},formatNumber:function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;if(void 0===t||null===t)return"--";var s=parseFloat(t);return isNaN(s)?"--":s.toFixed(a)},formatConsensusNum:function(t){if(void 0===t||null===t||""===t)return"--";var a=Number(t);return Number.isNaN(a)?"--":a.toFixed(1)},formatAgreementPct:function(t){var a=Number(t);return Number.isNaN(a)?"--":"".concat(Math.round(100*a),"%")},formatProgress:function(t){var a=parseFloat(t)||0;return a%1===0?a.toFixed(0):a.toFixed(1)},formatOutlookTrend:function(t){var a=String(t||"HOLD").toUpperCase();return"BUY"===a?this.$t("fastAnalysis.outlookBull"):"SELL"===a?this.$t("fastAnalysis.outlookBear"):this.$t("fastAnalysis.outlookNeutral")},outlookTrendClass:function(t){var a=String(t||"").toUpperCase();return"BUY"===a?"trend-bull":"SELL"===a?"trend-bear":"trend-neutral"},formatCompactNum:function(t){var a=parseFloat(t);return Number.isNaN(a)?"--":0!==a&&Math.abs(a)<1e-4?a.toExponential(2):Math.abs(a)<1?a.toFixed(6):Math.abs(a)<100?a.toFixed(4):a.toFixed(2)},volumeRatioClass:function(t){var a=parseFloat(t);return Number.isNaN(a)?"":a>=1.5?"bullish":a<=.65?"bearish":""},getScoreColor:function(t){return t>=70?"#52c41a":t>=50?"#1890ff":t>=30?"#faad14":"#ff4d4f"},getScoreTagColor:function(t){return t>=70?"green":t>=50?"blue":t>=30?"orange":"red"},getRsiClass:function(t){return t<30?"oversold":t>70?"overbought":""},getMaTrendClass:function(t){return t?t.includes("uptrend")||t.includes("strong_uptrend")?"bullish":t.includes("downtrend")||t.includes("strong_downtrend")?"bearish":"":""},getVolatilityClass:function(t){return"high"===t?"high-volatility":"low"===t?"low-volatility":""},translateSignal:function(t){if(!t)return"--";var a="fastAnalysis.signal.".concat(t),s=this.$t(a);return s===a?t:s},translateTrend:function(t){if(!t)return"--";var a="fastAnalysis.trend.".concat(t),s=this.$t(a);return s===a?t:s},translateVolatility:function(t){if(!t)return"--";var a="fastAnalysis.volatilityLevel.".concat(t),s=this.$t(a);return s===a?t:s},submitFeedback:function(t){var a=this;return(0,u.A)((0,d.A)().m(function s(){var e;return(0,d.A)().w(function(s){while(1)switch(s.p=s.n){case 0:if(null!==(e=a.result)&&void 0!==e&&e.memory_id){s.n=1;break}return a.$message.warning(a.$t("fastAnalysis.feedbackUnavailable")||"反馈功能暂不可用,请刷新后重试"),s.a(2);case 1:return a.feedbackLoading=t,s.p=2,s.n=3,C({memory_id:a.result.memory_id,feedback:t});case 3:a.userFeedback=t,a.$message.success(a.$t("fastAnalysis.feedbackThanks")),s.n=5;break;case 4:s.p=4,s.v,a.$message.error(a.$t("fastAnalysis.feedbackFailed"));case 5:return s.p=5,a.feedbackLoading=null,s.f(5);case 6:return s.a(2)}},s,null,[[2,4,5,6]])}))()},startProgressTimer:function(){var t=this;this.stopProgressTimer(),this.progress=0,this.elapsedSeconds=0;var a=Date.now();this.mainTimer=window.setInterval(function(){t.elapsedSeconds=Math.floor((Date.now()-a)/1e3),t.progress<75?t.progress=Math.min(t.progress+1,75):t.progress<90?t.progress=Math.min(t.progress+.5,90):t.progress<95&&(t.progress=Math.min(t.progress+.2,95))},100)},stopProgressTimer:function(){this.mainTimer&&(window.clearInterval(this.mainTimer),this.mainTimer=null),this.progress=0,this.elapsedSeconds=0}}},T=$,x=s(845),M=(0,x.A)(T,S,w,!1,null,"03feb1fa",null),P=M.exports,F={name:"Analysis",props:{embedded:{type:Boolean,default:!1},presetSymbol:{type:String,default:""},autoAnalyzeSignal:{type:Number,default:0}},components:{FastAnalysisReport:P},data:function(){return{loadingMarket:!1,heatmapType:"crypto",marketData:{fearGreed:null,vix:null,dxy:null,indices:[],heatmap:{crypto:[],commodities:[],sectors:[],forex:[]},calendar:[]},loadingSentiment:!1,loadingIndices:!1,loadingHeatmap:!1,loadingCalendar:!1,watchlistPriceTimer:null,watchlistPrices:{},localUserInfo:{},loadingUserInfo:!1,userId:1,watchlist:[],loadingWatchlist:!1,showAddStockModal:!1,addingStock:!1,selectedSymbol:void 0,analyzing:!1,analysisResult:null,analysisError:null,analysisErrorTone:"error",showHistoryModal:!1,historyList:[],historyLoading:!1,historyPage:1,historyPageSize:20,historyTotal:0,currentTaskId:null,taskPollingTimer:null,taskPollingStartedAt:0,marketTypes:[],selectedMarketTab:"",symbolSearchKeyword:"",symbolSearchResults:[],searchingSymbols:!1,hotSymbols:[],loadingHotSymbols:!1,selectedSymbolForAdd:null,searchTimer:null,hasSearched:!1,positions:[],monitors:[],positionSummaryMap:{},showPositionModal:!1,showMonitorModal:!1,targetStockForOps:null,positionForm:{side:"long",quantity:null,entryPrice:null},monitorForm:{interval_min:240,notify_channels:[]},batchMode:!1,batchSelectedKeys:[],batchRunning:!1,batchProgress:0,showBatchScheduleModal:!1,batchScheduleForm:{interval_min:240,notify_channels:[]},showTaskDrawer:!1,showEditTaskModal:!1,editTaskLoading:!1,editTaskId:null,editTaskForm:{name:"",interval_min:240,notify_channels:[]}}},computed:(0,m.A)((0,m.A)((0,m.A)({},(0,h.L8)(["userInfo"])),(0,h.aH)({navTheme:function(t){return t.app.theme},primaryColor:function(t){return t.app.color||"#1890ff"}})),{},{isDarkTheme:function(){return"dark"===this.navTheme||"realdark"===this.navTheme},isZhLocale:function(){return"zh-CN"===this.$i18n.locale},currentHeatmap:function(){return this.marketData.heatmap[this.heatmapType]||[]},storeUserInfo:function(){return this.userInfo||{}},mergedUserInfo:function(){return this.localUserInfo&&this.localUserInfo.email?this.localUserInfo:this.storeUserInfo},watchlistTotalPnl:function(){return Object.values(this.positionSummaryMap).reduce(function(t,a){return t+(Number(a.pnl)||0)},0)},watchlistPositionCount:function(){return Object.values(this.positionSummaryMap).filter(function(t){return t.quantity>0}).length},watchlistTaskCount:function(){return Object.values(this.positionSummaryMap).reduce(function(t,a){return t+(a.monitorCount||0)},0)},batchSelectedAll:function(){return this.watchlist&&this.watchlist.length>0&&this.batchSelectedKeys.length===this.watchlist.length},batchIndeterminate:function(){return this.batchSelectedKeys.length>0&&this.batchSelectedKeys.length<(this.watchlist||[]).length}}),created:function(){this.loadUserInfo(),this.loadMarketTypes(),this.loadWatchlist(),this.loadPositionData(),this.loadMarketData()},mounted:function(){this.startWatchlistPriceRefresh()},beforeDestroy:function(){this.watchlistPriceTimer&&clearInterval(this.watchlistPriceTimer),this.taskPollingTimer&&(clearInterval(this.taskPollingTimer),this.taskPollingTimer=null)},methods:{stopTaskPolling:function(){this.taskPollingTimer&&(clearInterval(this.taskPollingTimer),this.taskPollingTimer=null),this.currentTaskId=null,this.taskPollingStartedAt=0},pollTaskResult:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s,e,i,n;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:if(t.currentTaskId){a.n=1;break}return a.a(2);case 1:return a.p=1,a.n=2,_({page:1,pagesize:50});case 2:if(s=a.v,s&&1===s.code&&s.data){a.n=3;break}return a.a(2);case 3:if(e=s.data.list||[],i=e.find(function(a){return Number(a.id)===Number(t.currentTaskId)}),i){a.n=4;break}return a.a(2);case 4:if(n=String(i.status||"").toLowerCase(),"completed"!==n){a.n=8;break}if(!i.full_result){a.n=5;break}t.analysisResult=i.full_result,a.n=6;break;case 5:return a.n=6,t.viewHistoryResult(i);case 6:return t.$message.success(t.$t("dashboard.analysis.message.analysisComplete")),a.n=7,t.refreshUserInfoFromServer();case 7:t.analyzing=!1,t.stopTaskPolling(),a.n=11;break;case 8:if("failed"!==n){a.n=10;break}return t.analysisError=i.error_message||t.$t("dashboard.analysis.message.analysisFailed"),t.analysisErrorTone="error",t.$message.error(t.analysisError),a.n=9,t.refreshUserInfoFromServer();case 9:t.analyzing=!1,t.stopTaskPolling(),a.n=11;break;case 10:Date.now()-t.taskPollingStartedAt>18e4&&(t.$message.warning(t.$t("fastAnalysis.analysisStillProcessing")||"任务仍在处理中,请稍后在历史记录查看"),t.analyzing=!1,t.stopTaskPolling());case 11:a.n=13;break;case 12:a.p=12,a.v;case 13:return a.a(2)}},a,null,[[1,12]])}))()},startTaskPolling:function(t){var a=this;return(0,u.A)((0,d.A)().m(function s(){return(0,d.A)().w(function(s){while(1)switch(s.n){case 0:return a.stopTaskPolling(),a.currentTaskId=Number(t),a.taskPollingStartedAt=Date.now(),s.n=1,a.pollTaskResult();case 1:a.taskPollingTimer=setInterval(function(){a.pollTaskResult()},2500);case 2:return s.a(2)}},s)}))()},filterSymbolOption:function(t,a){var s,e=(null===(s=a.componentOptions)||void 0===s||null===(s=s.propsData)||void 0===s?void 0:s.value)||"";return"__add_stock_option__"===e||e.toLowerCase().includes(t.toLowerCase())},handleSymbolChange:function(t){var a=this;if("__add_stock_option__"===t)return this.showAddStockModal=!0,void this.$nextTick(function(){a.selectedSymbol=void 0});this.selectedSymbol=t,this.analysisResult=null,this.analysisError=null,this.analysisErrorTone="error",this.$emit("symbol-change",t)},selectWatchlistItem:function(t){this.selectedSymbol="".concat(t.market,":").concat(t.symbol),this.analysisResult=null,this.analysisError=null,this.analysisErrorTone="error",this.$emit("symbol-change",this.selectedSymbol)},hasMonitorForStock:function(t){if(!t)return!1;var a="".concat(t.market,":").concat(t.symbol),s=this.positionSummaryMap[a];return!!(s&&s.monitorCount>0)},getMonitorMeta:function(t){if(!t)return null;var a="".concat(t.market,":").concat(t.symbol),s=this.positionSummaryMap[a];return!s||s.monitorCount<=0?null:{activeCount:s.activeMonitorCount||0,nextRunAtText:s.nextRunAtText||""}},getPnlBarStyle:function(t){var a=Math.abs(Number((null===t||void 0===t?void 0:t.pnlPercent)||0)),s=Math.min(100,Math.max(4,a));return{width:"".concat(s,"%")}},_displayDateTimeLocaleOptions:function(){var t=String(this.storeUserInfo&&this.storeUserInfo.timezone||"").trim(),a={year:"numeric",month:"2-digit",day:"2-digit",hour:"2-digit",minute:"2-digit"};if(!t)return a;try{return Intl.DateTimeFormat(void 0,{timeZone:t}).format(new Date),(0,m.A)((0,m.A)({},a),{},{timeZone:t})}catch(s){return a}},_parseInstantForDisplay:function(t){if(t=String(t||"").trim(),!t)return null;var a=/[zZ]$/.test(t)||/[+-]\d{2}:?\d{2}$/.test(t);if(!a){var s=t.replace(" ","T");t=s.endsWith("Z")?s:"".concat(s,"Z")}var e=new Date(t);return Number.isNaN(e.getTime())?null:e},_formatNextRunText:function(t){try{var a=this._parseInstantForDisplay(t);return a?a.toLocaleString(void 0,this._displayDateTimeLocaleOptions()):""}catch(s){return""}},buildPositionSummary:function(){var t=this,a={},s=Array.isArray(this.positions)?this.positions:[],e=Array.isArray(this.monitors)?this.monitors:[],i=new Set,n={};s.forEach(function(t){n[Number(t.id)]="".concat(t.market,":").concat(t.symbol)}),e.forEach(function(s){var e=Array.isArray(s.position_ids)?s.position_ids:[];e.forEach(function(t){return i.add(Number(t))});var r=!!s.is_active,o=s.next_run_at||"";e.forEach(function(s){var e=n[Number(s)];e&&(a[e]||(a[e]={quantity:0,weightedEntry:0,pnl:0,marketValue:0,monitorCount:0,activeMonitorCount:0,nextRunAtText:""}),a[e].monitorCount+=1,r&&(a[e].activeMonitorCount+=1),!a[e].nextRunAtText&&o&&(a[e].nextRunAtText=t._formatNextRunText(o)))})}),s.forEach(function(t){var s="".concat(t.market,":").concat(t.symbol),e=Number(t.quantity||0),n=Number(t.entry_price||0);a[s]||(a[s]={quantity:0,weightedEntry:0,pnl:0,marketValue:0,monitorCount:0,activeMonitorCount:0,nextRunAtText:""}),a[s].quantity+=e,a[s].weightedEntry+=e*n,a[s].pnl+=Number(t.pnl||0),a[s].marketValue+=Number(t.market_value||0),i.has(Number(t.id))&&(a[s].monitorCount+=1)}),Object.keys(a).forEach(function(t){var s=a[t];s.avgEntry=s.quantity>0?s.weightedEntry/s.quantity:0;var e=s.quantity>0?s.weightedEntry:0;s.pnlPercent=e>0?s.pnl/e*100:0}),this.positionSummaryMap=a},toggleStockMonitor:function(t){var a=this;return(0,u.A)((0,d.A)().m(function s(){var e,i,n,r,o,l;return(0,d.A)().w(function(s){while(1)switch(s.p=s.n){case 0:if(e="".concat(t.market,":").concat(t.symbol),i=(a.positions||[]).filter(function(t){return"".concat(t.market,":").concat(t.symbol)===e}).map(function(t){return Number(t.id)}).filter(Boolean),0!==i.length){s.n=1;break}return s.a(2);case 1:if(n=(a.monitors||[]).filter(function(t){var a=Array.isArray(t.position_ids)?t.position_ids.map(function(t){return Number(t)}):[];return a.some(function(t){return i.includes(t)})}),0!==n.length){s.n=2;break}return s.a(2);case 2:return r=!n.some(function(t){return!!t.is_active}),s.p=3,s.n=4,Promise.all(n.map(function(t){return(0,y.sk)(t.id,{is_active:r})}));case 4:return a.$message.success(r?a.$t("aiAssetAnalysis.monitor.enabled")||"已启用任务":a.$t("aiAssetAnalysis.monitor.disabled")||"已暂停任务"),s.n=5,a.loadPositionData();case 5:s.n=7;break;case 6:s.p=6,l=s.v,a.$message.error((null===l||void 0===l||null===(o=l.response)||void 0===o||null===(o=o.data)||void 0===o?void 0:o.msg)||(null===l||void 0===l?void 0:l.message)||"Toggle monitor failed");case 7:return s.a(2)}},s,null,[[3,6]])}))()},loadPositionData:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s,e,i,n;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:return a.p=0,a.n=1,Promise.all([(0,y.Dt)(),(0,y.w1)()]);case 1:s=a.v,e=(0,c.A)(s,2),i=e[0],n=e[1],t.positions=i&&1===i.code&&i.data||[],t.monitors=n&&1===n.code&&n.data||[],t.buildPositionSummary(),a.n=3;break;case 2:a.p=2,a.v,t.positions=[],t.monitors=[],t.positionSummaryMap={};case 3:return a.a(2)}},a,null,[[0,2]])}))()},openPositionModal:function(t){this.targetStockForOps=t;var a="".concat(t.market,":").concat(t.symbol),s=(this.positions||[]).find(function(t){return"".concat(t.market,":").concat(t.symbol)===a});if(s){var e=Number(s.quantity||0);this.positionForm={side:s.side||(e<0?"short":"long"),quantity:Math.abs(e)||null,entryPrice:Number(s.entry_price||0)||null}}else this.positionForm={side:"long",quantity:null,entryPrice:null};this.showPositionModal=!0},savePosition:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s,e,i,n,r,o;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:if(s=t.targetStockForOps,s){a.n=1;break}return a.a(2);case 1:if(e=Number(t.positionForm.quantity||0),i=Number(t.positionForm.entryPrice||0),e>0&&i>0){a.n=2;break}return t.$message.warning(t.$i18n&&"zh-CN"===t.$i18n.locale?"请输入有效的数量和买入单价":"Please enter valid quantity and entry price"),a.a(2);case 2:return a.p=2,a.n=3,(0,y.Ps)({market:s.market,symbol:s.symbol,name:s.name||s.symbol,side:t.positionForm.side||"long",quantity:e,entry_price:i});case 3:if(n=a.v,!n||1!==n.code){a.n=5;break}return t.$message.success(t.$t("portfolio.positions.add")+" OK"),t.showPositionModal=!1,a.n=4,t.loadPositionData();case 4:a.n=6;break;case 5:t.$message.error((null===n||void 0===n?void 0:n.msg)||"Add position failed");case 6:a.n=8;break;case 7:a.p=7,o=a.v,t.$message.error((null===o||void 0===o||null===(r=o.response)||void 0===r||null===(r=r.data)||void 0===r?void 0:r.msg)||(null===o||void 0===o?void 0:o.message)||"Add position failed");case 8:return a.a(2)}},a,null,[[2,7]])}))()},openMonitorModal:function(t){this.targetStockForOps=t,this.monitorForm={interval_min:240,notify_channels:[]},this.showMonitorModal=!0},saveMonitorTask:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s,e,i,n,r,o,l,c;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:if(s=t.targetStockForOps,s){a.n=1;break}return a.a(2);case 1:return e="".concat(s.market,":").concat(s.symbol),i=t.monitorForm.interval_min,n=t.monitorForm.notify_channels||[],r=(t.positions||[]).filter(function(t){return"".concat(t.market,":").concat(t.symbol)===e}).map(function(t){return Number(t.id)}).filter(Boolean),a.p=2,a.n=3,(0,y.yr)({name:"AI-".concat(s.symbol,"-").concat(i,"m"),position_ids:r,monitor_type:"ai",config:{run_interval_minutes:i,symbol:s.symbol,market:s.market,language:t.$store.getters.lang||t.$i18n.locale||"en-US"},notification_config:{channels:n},is_active:!0});case 3:if(o=a.v,!o||1!==o.code){a.n=5;break}return t.$message.success(t.$t("aiAssetAnalysis.monitor.created")),t.showMonitorModal=!1,a.n=4,t.loadPositionData();case 4:a.n=6;break;case 5:t.$message.error((null===o||void 0===o?void 0:o.msg)||"Create monitor failed");case 6:a.n=8;break;case 7:a.p=7,c=a.v,t.$message.error((null===c||void 0===c||null===(l=c.response)||void 0===l||null===(l=l.data)||void 0===l?void 0:l.msg)||(null===c||void 0===c?void 0:c.message)||"Create monitor failed");case 8:return a.a(2)}},a,null,[[2,7]])}))()},toggleBatchMode:function(){this.batchMode=!this.batchMode,this.batchMode||(this.batchSelectedKeys=[])},onBatchSelectAll:function(t){t.target.checked?this.batchSelectedKeys=(this.watchlist||[]).map(function(t){return"".concat(t.market,":").concat(t.symbol)}):this.batchSelectedKeys=[]},onBatchItemToggle:function(t,a){var s="".concat(t.market,":").concat(t.symbol);a.target.checked?this.batchSelectedKeys.includes(s)||this.batchSelectedKeys.push(s):this.batchSelectedKeys=this.batchSelectedKeys.filter(function(t){return t!==s})},openBatchScheduleModal:function(){0!==this.batchSelectedKeys.length&&(this.batchScheduleForm={interval_min:240,notify_channels:[]},this.showBatchScheduleModal=!0)},saveBatchSchedule:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s,e,i,n,u,m,h,p;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:if(s=(0,l.A)(t.batchSelectedKeys),0!==s.length){a.n=1;break}return a.a(2);case 1:t.batchRunning=!0,e=t.batchScheduleForm.interval_min,i=t.batchScheduleForm.notify_channels||[],n=0,u=(0,o.A)(s),a.p=2,h=(0,d.A)().m(function a(){var s,r,o,l,u,h,p;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:if(s=m.value,r=s.split(":"),o=(0,c.A)(r,2),l=o[0],u=o[1],h=(t.watchlist||[]).find(function(t){return t.market===l&&t.symbol===u}),h){a.n=1;break}return a.a(2,1);case 1:return p=(t.positions||[]).filter(function(t){return"".concat(t.market,":").concat(t.symbol)===s}).map(function(t){return Number(t.id)}).filter(Boolean),a.p=2,a.n=3,(0,y.yr)({name:"AI-".concat(u,"-").concat(e,"m"),position_ids:p,monitor_type:"ai",config:{run_interval_minutes:e,symbol:u,market:l,language:t.$store.getters.lang||t.$i18n.locale||"en-US"},notification_config:{channels:i},is_active:!0});case 3:n++,a.n=5;break;case 4:a.p=4,a.v;case 5:return a.a(2)}},a,null,[[2,4]])}),u.s();case 3:if((m=u.n()).done){a.n=6;break}return a.d((0,r.A)(h()),4);case 4:if(!a.v){a.n=5;break}return a.a(3,5);case 5:a.n=3;break;case 6:a.n=8;break;case 7:a.p=7,p=a.v,u.e(p);case 8:return a.p=8,u.f(),a.f(8);case 9:return t.batchRunning=!1,t.showBatchScheduleModal=!1,t.batchMode=!1,t.batchSelectedKeys=[],a.n=10,t.loadPositionData();case 10:t.$message.success(t.$t("aiAssetAnalysis.batch.done")+" (".concat(n,"/").concat(s.length,")"));case 11:return a.a(2)}},a,null,[[2,7,8,9]])}))()},formatIntervalText:function(t){return t>=1440?"".concat(Math.round(t/1440),"d"):t>=60?"".concat(Math.round(t/60),"h"):"".concat(t,"m")},handleToggleTask:function(t){var a=this;return(0,u.A)((0,d.A)().m(function s(){var e,i;return(0,d.A)().w(function(s){while(1)switch(s.p=s.n){case 0:return s.p=0,s.n=1,(0,y.sk)(t.id,{is_active:!t.is_active});case 1:return a.$message.success(t.is_active?a.$t("aiAssetAnalysis.tasks.paused"):a.$t("aiAssetAnalysis.tasks.resumed")),s.n=2,a.loadPositionData();case 2:s.n=4;break;case 3:s.p=3,i=s.v,a.$message.error((null===i||void 0===i||null===(e=i.response)||void 0===e||null===(e=e.data)||void 0===e?void 0:e.msg)||(null===i||void 0===i?void 0:i.message)||"Failed");case 4:return s.a(2)}},s,null,[[0,3]])}))()},handleEditTask:function(t){this.editTaskId=t.id,this.editTaskForm={name:t.name||"",interval_min:t.config&&t.config.run_interval_minutes||240,notify_channels:t.notification_config&&t.notification_config.channels||[]},this.showEditTaskModal=!0},saveEditTask:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s,e;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:if(t.editTaskId){a.n=1;break}return a.a(2);case 1:return t.editTaskLoading=!0,a.p=2,a.n=3,(0,y.sk)(t.editTaskId,{name:t.editTaskForm.name,config:{run_interval_minutes:t.editTaskForm.interval_min},notification_config:{channels:t.editTaskForm.notify_channels}});case 3:return t.$message.success("OK"),t.showEditTaskModal=!1,a.n=4,t.loadPositionData();case 4:a.n=6;break;case 5:a.p=5,e=a.v,t.$message.error((null===e||void 0===e||null===(s=e.response)||void 0===s||null===(s=s.data)||void 0===s?void 0:s.msg)||(null===e||void 0===e?void 0:e.message)||"Failed");case 6:return a.p=6,t.editTaskLoading=!1,a.f(6);case 7:return a.a(2)}},a,null,[[2,5,6,7]])}))()},handleDeleteTask:function(t){var a=this;return(0,u.A)((0,d.A)().m(function s(){var e,i;return(0,d.A)().w(function(s){while(1)switch(s.p=s.n){case 0:return s.p=0,s.n=1,(0,y.ei)(t.id);case 1:return a.$message.success(a.$t("aiAssetAnalysis.tasks.deleted")),s.n=2,a.loadPositionData();case 2:s.n=4;break;case 3:s.p=3,i=s.v,a.$message.error((null===i||void 0===i||null===(e=i.response)||void 0===e||null===(e=e.data)||void 0===e?void 0:e.msg)||(null===i||void 0===i?void 0:i.message)||"Failed");case 4:return s.a(2)}},s,null,[[0,3]])}))()},loadMarketData:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){return(0,d.A)().w(function(a){while(1)switch(a.n){case 0:t.loadingMarket=!0,t.loadSentimentData(),t.loadIndicesData(),t.loadHeatmapData(),t.loadCalendarData();case 1:return a.a(2)}},a)}))()},loadSentimentData:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s,e,i,n;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:return t.loadingSentiment=!0,a.p=1,a.n=2,(0,A.EF)();case 2:s=a.v,1===(null===s||void 0===s?void 0:s.code)&&null!==s&&void 0!==s&&s.data&&(t.marketData.fearGreed=(null===(e=s.data.fear_greed)||void 0===e?void 0:e.value)||null,t.marketData.vix=(null===(i=s.data.vix)||void 0===i?void 0:i.value)||null,t.marketData.dxy=(null===(n=s.data.dxy)||void 0===n?void 0:n.value)||null),a.n=4;break;case 3:a.p=3,a.v;case 4:return a.p=4,t.loadingSentiment=!1,t.checkAllLoaded(),a.f(4);case 5:return a.a(2)}},a,null,[[1,3,4,5]])}))()},loadIndicesData:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:return t.loadingIndices=!0,a.p=1,a.n=2,(0,A.yI)();case 2:s=a.v,1===(null===s||void 0===s?void 0:s.code)&&null!==s&&void 0!==s&&s.data&&(t.marketData.indices=s.data.indices||[]),a.n=4;break;case 3:a.p=3,a.v;case 4:return a.p=4,t.loadingIndices=!1,t.checkAllLoaded(),a.f(4);case 5:return a.a(2)}},a,null,[[1,3,4,5]])}))()},loadHeatmapData:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:return t.loadingHeatmap=!0,a.p=1,a.n=2,(0,A.f$)();case 2:s=a.v,1===(null===s||void 0===s?void 0:s.code)&&null!==s&&void 0!==s&&s.data&&(t.marketData.heatmap={crypto:s.data.crypto||[],commodities:s.data.commodities||[],sectors:s.data.sectors||[],forex:s.data.forex||[]}),a.n=4;break;case 3:a.p=3,a.v;case 4:return a.p=4,t.loadingHeatmap=!1,t.checkAllLoaded(),a.f(4);case 5:return a.a(2)}},a,null,[[1,3,4,5]])}))()},loadCalendarData:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:return t.loadingCalendar=!0,a.p=1,a.n=2,(0,A.kF)();case 2:s=a.v,1===(null===s||void 0===s?void 0:s.code)&&(t.marketData.calendar=s.data||[]),a.n=4;break;case 3:a.p=3,a.v;case 4:return a.p=4,t.loadingCalendar=!1,t.checkAllLoaded(),a.f(4);case 5:return a.a(2)}},a,null,[[1,3,4,5]])}))()},checkAllLoaded:function(){this.loadingSentiment||this.loadingIndices||this.loadingHeatmap||this.loadingCalendar||(this.loadingMarket=!1)},getFearGreedClass:function(t){return t?t<=25?"extreme-fear":t<=45?"fear":t<=55?"neutral":t<=75?"greed":"extreme-greed":""},getVixLevel:function(t){return t?t<15?"low":t<25?"medium":"high":""},formatNum:function(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:2;return void 0===t||null===t||isNaN(t)?"--":Number(t).toFixed(a)},getHeatmapStyle:function(t){var a=parseFloat(t)||0,s=Math.min(Math.abs(a)/5,1),e=this.isDarkTheme;if(a>=0){var i=e?a>2?"#fff":"#4ade80":a>2?"#fff":"#166534";return{background:"rgba(34, 197, 94, ".concat(.15+.6*s,")"),color:i}}var n=e?a<-2?"#fff":"#f87171":a<-2?"#fff":"#991b1b";return{background:"rgba(239, 68, 68, ".concat(.15+.6*s,")"),color:n}},getCountryFlag:function(t){var a={US:"🇺🇸",CN:"🇨🇳",EU:"🇪🇺",JP:"🇯🇵",UK:"🇬🇧",DE:"🇩🇪",AU:"🇦🇺",CA:"🇨🇦"};return a[t]||"🌍"},formatCalendarDate:function(t){if(!t)return"";try{var a=new Date(t),s=new Date,e=new Date(s);if(e.setDate(e.getDate()+1),a.toDateString()===s.toDateString())return this.isZhLocale?"今天":"Today";if(a.toDateString()===e.toDateString())return this.isZhLocale?"明天":"Tmrw";var i=a.getMonth()+1,n=a.getDate();return"".concat(i,"/").concat(n)}catch(r){return t}},formatPrice:function(t){return t?t>=1e4?(t/1e3).toFixed(1)+"K":t>=1e3?t.toFixed(0):t.toFixed(2):"--"},formatHeatmapPrice:function(t){return t?t>=1e4?"$"+(t/1e3).toFixed(1)+"K":t>=1e3?"$"+t.toFixed(0):t>=1?"$"+t.toFixed(2):"$"+t.toFixed(4):""},getHeatmapName:function(t){return"sectors"===this.heatmapType||"commodities"===this.heatmapType||"forex"===this.heatmapType?this.isZhLocale?t.name_cn||t.name:t.name_en||t.name:t.name},getImpactClass:function(t){return t.actual_impact||t.expected_impact||"neutral"},getMarketColor:function(t){var a={USStock:"green",Crypto:"purple",Forex:"gold",Futures:"cyan"};return a[t]||"default"},getCurrencySymbol:function(t){return"$"},formatCreditNum:function(t){if(void 0===t||null===t||""===t)return"--";var a=Number(t);return Number.isNaN(a)?String(t):Number.isInteger(a)?String(a):a.toFixed(2)},refreshUserInfoFromServer:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:return a.p=0,a.n=1,(0,p.ug)();case 1:s=a.v,s&&1===s.code&&s.data&&(t.localUserInfo=s.data,t.userId=s.data.id,t.$store.commit("SET_INFO",s.data)),a.n=3;break;case 2:a.p=2,a.v;case 3:return a.a(2)}},a,null,[[0,2]])}))()},startFastAnalysis:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s,e,i,n,r,o,l,u,h,p,v,y,f,b,_,k,C;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:if(!t.analyzing){a.n=1;break}return a.a(2);case 1:if(t.selectedSymbol){a.n=2;break}return t.$message.warning(t.$t("dashboard.analysis.message.selectSymbol")),a.a(2);case 2:return t.analyzing=!0,t.analysisError=null,t.analysisErrorTone="error",s=t.selectedSymbol.split(":"),e=(0,c.A)(s,2),i=e[0],n=e[1],r=t.$store.getters.lang||"zh-CN",o=!1,a.p=3,a.n=4,g({market:i,symbol:n,language:r,timeframe:"1D",async_submit:!0});case 4:if(l=a.v,!l||1!==l.code||!l.data){a.n=9;break}if("processing"!==l.data.status){a.n=6;break}return o=!0,u=l.data.remaining_credits,void 0!==u&&null!==u?t.$message.success(t.$t("fastAnalysis.analysisSubmittedWithCredits",{remaining:t.formatCreditNum(u)})):t.$message.success(t.$t("fastAnalysis.analysisSubmitted")||"任务已提交,正在分析中"),a.n=5,t.startTaskPolling(l.data.task_id);case 5:a.n=7;break;case 6:h=(0,m.A)({},l.data),delete h.credits_charged,delete h.remaining_credits,t.analysisResult=h,p=l.data.remaining_credits,void 0!==p&&null!==p?t.$message.success(t.$t("fastAnalysis.analysisCompleteWithCredits",{remaining:t.formatCreditNum(p)})):t.$message.success(t.$t("dashboard.analysis.message.analysisComplete"));case 7:return a.n=8,t.refreshUserInfoFromServer();case 8:a.n=10;break;case 9:throw new Error((null===l||void 0===l?void 0:l.msg)||"分析失败");case 10:a.n=12;break;case 11:a.p=11,C=a.v,f=null===C||void 0===C||null===(v=C.response)||void 0===v?void 0:v.status,b=(null===C||void 0===C||null===(y=C.response)||void 0===y?void 0:y.data)||{},_=b.msg,k=b.data,429===f&&k&&k.in_progress?(t.analysisErrorTone="warning",t.analysisError=t.$t("fastAnalysis.analysisInProgress"),t.$message.warning(t.analysisError)):400===f&&"Insufficient credits"===_?(t.analysisError=t.$t("fastAnalysis.insufficientCreditsDetail",{required:t.formatCreditNum(null===k||void 0===k?void 0:k.required),current:t.formatCreditNum(null===k||void 0===k?void 0:k.current),shortage:t.formatCreditNum(null===k||void 0===k?void 0:k.shortage)}),t.$message.error(t.analysisError)):(t.analysisError=_||(null===C||void 0===C?void 0:C.message)||t.$t("dashboard.analysis.message.analysisFailed"),t.$message.error(t.analysisError));case 12:return a.p=12,o||(t.analyzing=!1),a.f(12);case 13:return a.a(2)}},a,null,[[3,11,12,13]])}))()},loadHistoryList:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:return t.historyLoading=!0,a.p=1,a.n=2,_({page:t.historyPage,pagesize:t.historyPageSize});case 2:s=a.v,s&&1===s.code&&s.data&&(t.historyList=s.data.list||[],t.historyTotal=s.data.total||0),a.n=4;break;case 3:a.p=3,a.v,t.$message.error(t.$t("dashboard.analysis.message.loadHistoryFailed")||"加载历史记录失败");case 4:return a.p=4,t.historyLoading=!1,a.f(4);case 5:return a.a(2)}},a,null,[[1,3,4,5]])}))()},viewHistoryResult:function(t){var a=this;return(0,u.A)((0,d.A)().m(function s(){var e,i,n,r;return(0,d.A)().w(function(s){while(1)switch(s.n){case 0:if("processing"!==(t.status||"").toLowerCase()){s.n=1;break}return a.$message.info(a.$t("fastAnalysis.analysisStillProcessing")||"该任务仍在处理中,请稍后刷新历史记录"),s.a(2);case 1:if(!t.full_result){s.n=2;break}return a.analysisResult=t.full_result,a.selectedSymbol="".concat(t.market,":").concat(t.symbol),a.showHistoryModal=!1,s.a(2);case 2:e=Number(t.price)||0,i=String(t.decision||"HOLD").toUpperCase(),n=null,r=null,e>0&&("SELL"===i?(n=1.05*e,r=.95*e):"BUY"===i&&(n=.95*e,r=1.05*e)),a.analysisResult={decision:t.decision,confidence:t.confidence,summary:t.summary,market_data:{current_price:t.price,change_24h:0},trading_plan:{entry_price:t.price,stop_loss:n,take_profit:r},scores:t.scores||{},reasons:t.reasons||[],risks:[],indicators:t.indicators||{},memory_id:t.id,analysis_time_ms:0},a.selectedSymbol="".concat(t.market,":").concat(t.symbol),a.showHistoryModal=!1;case 3:return s.a(2)}},s)}))()},deleteHistoryItem:function(t){var a=this;return(0,u.A)((0,d.A)().m(function s(){var e;return(0,d.A)().w(function(s){while(1)switch(s.p=s.n){case 0:return s.p=0,s.n=1,k(t.id);case 1:e=s.v,e&&1===e.code?(a.$message.success(a.$t("dashboard.analysis.message.deleteSuccess")),a.loadHistoryList()):a.$message.error((null===e||void 0===e?void 0:e.msg)||a.$t("dashboard.analysis.message.deleteFailed")),s.n=3;break;case 2:s.p=2,s.v,a.$message.error(a.$t("dashboard.analysis.message.deleteFailed"));case 3:return s.a(2)}},s,null,[[0,2]])}))()},formatTime:function(t){if(!t)return"-";var a=new Date(1e3*t);return Number.isNaN(a.getTime())?"-":a.toLocaleString(void 0,this._displayDateTimeLocaleOptions())},formatIsoTime:function(t){var a=this._parseInstantForDisplay(t);return a?a.toLocaleString(void 0,this._displayDateTimeLocaleOptions()):"-"},getStatusColor:function(t){var a={pending:"orange",processing:"blue",completed:"green",failed:"red"};return a[t]||"default"},getStatusText:function(t){var a={pending:"dashboard.analysis.status.pending",processing:"dashboard.analysis.status.processing",completed:"dashboard.analysis.status.completed",failed:"dashboard.analysis.status.failed"},s=a[t];return s?this.$t(s):t},loadUserInfo:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:if(t.loadingUserInfo=!0,a.p=1,!t.storeUserInfo||!t.storeUserInfo.email){a.n=2;break}return t.localUserInfo=t.storeUserInfo,t.userId=t.storeUserInfo.id,t.loadingUserInfo=!1,t.loadWatchlist(),a.a(2);case 2:return a.n=3,(0,p.ug)();case 3:s=a.v,s&&1===s.code&&s.data&&(t.localUserInfo=s.data,t.userId=s.data.id,t.$store.commit("SET_INFO",s.data),t.loadWatchlist()),a.n=5;break;case 4:a.p=4,a.v;case 5:return a.p=5,t.loadingUserInfo=!1,a.f(5);case 6:return a.a(2)}},a,null,[[1,4,5,6]])}))()},loadWatchlist:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:if(t.userId){a.n=1;break}return a.a(2);case 1:return t.loadingWatchlist=!0,a.p=2,a.n=3,(0,v.Qo)({userid:t.userId});case 3:if(s=a.v,!s||1!==s.code||!s.data){a.n=4;break}return t.watchlist=s.data.map(function(t){return(0,m.A)((0,m.A)({},t),{},{price:0,change:0,changePercent:0})}),a.n=4,t.loadWatchlistPrices();case 4:a.n=6;break;case 5:a.p=5,a.v;case 6:return a.p=6,t.loadingWatchlist=!1,a.f(6);case 7:return a.a(2)}},a,null,[[2,5,6,7]])}))()},loadWatchlistPrices:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s,e,i,n;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:if(t.watchlist&&0!==t.watchlist.length){a.n=1;break}return a.a(2);case 1:return a.p=1,s=t.watchlist.map(function(t){return{market:t.market,symbol:t.symbol}}),a.n=2,(0,v.ms)({watchlist:s});case 2:e=a.v,e&&1===e.code&&e.data&&(i={},n={},e.data.forEach(function(t){i["".concat(t.market,"-").concat(t.symbol)]=t,n["".concat(t.market,":").concat(t.symbol)]={price:t.price||0,change:t.changePercent||0}}),t.watchlistPrices=n,t.watchlist=t.watchlist.map(function(t){var a="".concat(t.market,"-").concat(t.symbol),s=i[a];return s?(0,m.A)((0,m.A)({},t),{},{price:s.price||0,change:s.change||0,changePercent:s.changePercent||0}):t})),a.n=4;break;case 3:a.p=3,a.v;case 4:return a.a(2)}},a,null,[[1,3]])}))()},startWatchlistPriceRefresh:function(){var t=this;this.watchlistPriceTimer=setInterval(function(){t.watchlist&&t.watchlist.length>0&&t.loadWatchlistPrices()},3e4),this.watchlist&&this.watchlist.length>0&&this.loadWatchlistPrices()},handleAddStock:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s,e,i,n,r,o,l;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:if(s="",e="",i="",!t.selectedSymbolForAdd){a.n=1;break}s=t.selectedSymbolForAdd.market,e=t.selectedSymbolForAdd.symbol.toUpperCase(),i=t.selectedSymbolForAdd.name||"",a.n=4;break;case 1:if(!t.symbolSearchKeyword||!t.symbolSearchKeyword.trim()){a.n=3;break}if(t.selectedMarketTab){a.n=2;break}return t.$message.warning(t.$t("dashboard.analysis.modal.addStock.pleaseSelectMarket")),a.a(2);case 2:s=t.selectedMarketTab,e=t.symbolSearchKeyword.trim().toUpperCase(),i="",a.n=4;break;case 3:return t.$message.warning(t.$t("dashboard.analysis.modal.addStock.pleaseSelectOrEnterSymbol")),a.a(2);case 4:return t.addingStock=!0,a.p=5,a.n=6,(0,v.dp)({userid:t.userId,market:s,symbol:e,name:i});case 6:if(n=a.v,!n||1!==n.code){a.n=8;break}return t.$message.success(t.$t("dashboard.analysis.message.addStockSuccess")),t.handleCloseAddStockModal(),a.n=7,t.loadWatchlist();case 7:a.n=9;break;case 8:t.$message.error((null===n||void 0===n?void 0:n.msg)||t.$t("dashboard.analysis.message.addStockFailed"));case 9:a.n=11;break;case 10:a.p=10,l=a.v,o=(null===l||void 0===l||null===(r=l.response)||void 0===r||null===(r=r.data)||void 0===r?void 0:r.msg)||(null===l||void 0===l?void 0:l.message)||t.$t("dashboard.analysis.message.addStockFailed"),t.$message.error(o);case 11:return a.p=11,t.addingStock=!1,a.f(11);case 12:return a.a(2)}},a,null,[[5,10,11,12]])}))()},handleCloseAddStockModal:function(){this.showAddStockModal=!1,this.selectedSymbolForAdd=null,this.symbolSearchKeyword="",this.symbolSearchResults=[],this.hasSearched=!1,this.selectedMarketTab=this.marketTypes.length>0?this.marketTypes[0].value:""},handleMarketTabChange:function(t){this.selectedMarketTab=t,this.symbolSearchKeyword="",this.symbolSearchResults=[],this.selectedSymbolForAdd=null,this.hasSearched=!1,this.loadHotSymbols(t)},handleSymbolSearchInput:function(t){var a=this,s=t.target.value;if(this.symbolSearchKeyword=s,this.searchTimer&&clearTimeout(this.searchTimer),!s||""===s.trim())return this.symbolSearchResults=[],this.hasSearched=!1,void(this.selectedSymbolForAdd=null);this.searchTimer=setTimeout(function(){a.searchSymbolsInModal(s)},500)},handleSearchOrInput:function(t){t&&t.trim()&&(this.selectedMarketTab?this.symbolSearchResults.length>0||(this.hasSearched&&0===this.symbolSearchResults.length?this.handleDirectAdd():this.searchSymbolsInModal(t)):this.$message.warning(this.$t("dashboard.analysis.modal.addStock.pleaseSelectMarket")))},searchSymbolsInModal:function(t){var a=this;return(0,u.A)((0,d.A)().m(function s(){var e;return(0,d.A)().w(function(s){while(1)switch(s.p=s.n){case 0:if(t&&""!==t.trim()){s.n=1;break}return a.symbolSearchResults=[],a.hasSearched=!1,s.a(2);case 1:if(a.selectedMarketTab){s.n=2;break}return a.$message.warning(a.$t("dashboard.analysis.modal.addStock.pleaseSelectMarket")),s.a(2);case 2:return a.searchingSymbols=!0,a.hasSearched=!0,s.p=3,s.n=4,(0,v._3)({market:a.selectedMarketTab,keyword:t.trim(),limit:20});case 4:e=s.v,e&&1===e.code&&e.data&&e.data.length>0?a.symbolSearchResults=e.data:(a.symbolSearchResults=[],a.selectedSymbolForAdd={market:a.selectedMarketTab,symbol:t.trim().toUpperCase(),name:""}),s.n=6;break;case 5:s.p=5,s.v,a.symbolSearchResults=[],a.selectedSymbolForAdd={market:a.selectedMarketTab,symbol:t.trim().toUpperCase(),name:""};case 6:return s.p=6,a.searchingSymbols=!1,s.f(6);case 7:return s.a(2)}},s,null,[[3,5,6,7]])}))()},handleDirectAdd:function(){this.symbolSearchKeyword&&this.symbolSearchKeyword.trim()?this.selectedMarketTab?this.selectedSymbolForAdd={market:this.selectedMarketTab,symbol:this.symbolSearchKeyword.trim().toUpperCase(),name:""}:this.$message.warning(this.$t("dashboard.analysis.modal.addStock.pleaseSelectMarket")):this.$message.warning(this.$t("dashboard.analysis.modal.addStock.pleaseEnterSymbol"))},selectSymbol:function(t){this.selectedSymbolForAdd={market:t.market,symbol:t.symbol,name:t.name||t.symbol}},loadHotSymbols:function(t){var a=this;return(0,u.A)((0,d.A)().m(function s(){var e;return(0,d.A)().w(function(s){while(1)switch(s.p=s.n){case 0:if(t||(t=a.selectedMarketTab||(a.marketTypes.length>0?a.marketTypes[0].value:"")),t){s.n=1;break}return s.a(2);case 1:return a.loadingHotSymbols=!0,s.p=2,s.n=3,(0,v.z6)({market:t,limit:10});case 3:e=s.v,e&&1===e.code&&e.data?a.hotSymbols=e.data:a.hotSymbols=[],s.n=5;break;case 4:s.p=4,s.v,a.hotSymbols=[];case 5:return s.p=5,a.loadingHotSymbols=!1,s.f(5);case 6:return s.a(2)}},s,null,[[2,4,5,6]])}))()},removeFromWatchlist:function(t){var a=arguments,s=this;return(0,u.A)((0,d.A)().m(function e(){var i,r,o;return(0,d.A)().w(function(e){while(1)switch(e.p=e.n){case 0:if(s.userId){e.n=1;break}return e.a(2);case 1:return i="object"===(0,n.A)(t)?t.symbol:t,r="object"===(0,n.A)(t)?t.market:a[1],e.p=2,e.n=3,(0,v.mk)({userid:s.userId,symbol:i,market:r});case 3:if(o=e.v,!o||1!==o.code){e.n=5;break}return s.$message.success(s.$t("dashboard.analysis.message.removeStockSuccess")),e.n=4,s.loadWatchlist();case 4:e.n=6;break;case 5:s.$message.error((null===o||void 0===o?void 0:o.msg)||s.$t("dashboard.analysis.message.removeStockFailed"));case 6:e.n=8;break;case 7:e.p=7,e.v,s.$message.error(s.$t("dashboard.analysis.message.removeStockFailed"));case 8:return e.a(2)}},e,null,[[2,7]])}))()},getMarketName:function(t){return this.$t("dashboard.analysis.market.".concat(t))||t},formatNumber:function(t){return"string"===typeof t?t:t.toLocaleString("en-US",{minimumFractionDigits:2,maximumFractionDigits:2})},loadMarketTypes:function(){var t=this;return(0,u.A)((0,d.A)().m(function a(){var s;return(0,d.A)().w(function(a){while(1)switch(a.p=a.n){case 0:return a.p=0,a.n=1,(0,v.iO)();case 1:s=a.v,s&&1===s.code&&s.data&&Array.isArray(s.data)?t.marketTypes=s.data.map(function(t){return{value:t.value,i18nKey:t.i18nKey||"dashboard.analysis.market.".concat(t.value)}}):t.marketTypes=[{value:"USStock",i18nKey:"dashboard.analysis.market.USStock"},{value:"Crypto",i18nKey:"dashboard.analysis.market.Crypto"},{value:"Forex",i18nKey:"dashboard.analysis.market.Forex"},{value:"Futures",i18nKey:"dashboard.analysis.market.Futures"}],a.n=3;break;case 2:a.p=2,a.v,t.marketTypes=[{value:"USStock",i18nKey:"dashboard.analysis.market.USStock"},{value:"Crypto",i18nKey:"dashboard.analysis.market.Crypto"},{value:"Forex",i18nKey:"dashboard.analysis.market.Forex"},{value:"Futures",i18nKey:"dashboard.analysis.market.Futures"}];case 3:t.marketTypes.length>0&&!t.selectedMarketTab&&(t.selectedMarketTab=t.marketTypes[0].value);case 4:return a.a(2)}},a,null,[[0,2]])}))()}},watch:{presetSymbol:function(t){t&&t!==this.selectedSymbol&&(this.selectedSymbol=t,this.analysisResult=null,this.analysisError=null,this.analysisErrorTone="error")},autoAnalyzeSignal:function(t){var a=this;t&&(this.presetSymbol&&this.presetSymbol!==this.selectedSymbol&&(this.selectedSymbol=this.presetSymbol),this.$nextTick(function(){a.startFastAnalysis()}))},showAddStockModal:function(t){t?(this.marketTypes.length>0&&!this.selectedMarketTab&&(this.selectedMarketTab=this.marketTypes[0].value),this.selectedMarketTab&&this.loadHotSymbols(this.selectedMarketTab)):(this.selectedSymbolForAdd=null,this.symbolSearchKeyword="",this.symbolSearchResults=[],this.hasSearched=!1,this.searchTimer&&(clearTimeout(this.searchTimer),this.searchTimer=null))}}},I=F,D=(0,x.A)(I,e,i,!1,null,"22f26594",null),N=D.exports},44146:function(t,a,s){s.d(a,{EF:function(){return l},f$:function(){return r},kF:function(){return o},r9:function(){return c},yI:function(){return n}});var e=s(75769),i="/api/global-market";function n(){return(0,e.Ay)({url:"".concat(i,"/overview"),method:"get"})}function r(){return(0,e.Ay)({url:"".concat(i,"/heatmap"),method:"get"})}function o(){return(0,e.Ay)({url:"".concat(i,"/calendar"),method:"get"})}function l(){return(0,e.Ay)({url:"".concat(i,"/sentiment"),method:"get"})}function c(t){return(0,e.Ay)({url:"".concat(i,"/opportunities"),method:"get",params:t})}},35038:function(t,a,s){s.d(a,{Qo:function(){return n},_3:function(){return d},dp:function(){return r},iO:function(){return c},mk:function(){return o},ms:function(){return l},z6:function(){return u}});var e=s(75769),i={GetWatchlist:"/api/market/watchlist/get",AddWatchlist:"/api/market/watchlist/add",RemoveWatchlist:"/api/market/watchlist/remove",GetWatchlistPrices:"/api/market/watchlist/prices",MultiAnalysis:"/api/analysis/multiAnalysis",CreateAnalysisTask:"/api/analysis/createTask",GetAnalysisTaskStatus:"/api/analysis/getTaskStatus",GetAnalysisHistoryList:"/api/analysis/getHistoryList",DeleteAnalysisTask:"/api/analysis/deleteTask",ReflectAnalysis:"/api/analysis/reflect",ChatMessage:"/api/ai/chat/message",GetChatHistory:"/api/ai/chat/history",SaveChatHistory:"/api/ai/chat/history/save",GetConfig:"/api/market/config",GetMenuFooterConfig:"/api/market/menuFooterConfig",GetMarketTypes:"/api/market/types",SearchSymbols:"/api/market/symbols/search",GetHotSymbols:"/api/market/symbols/hot"};function n(t){return(0,e.Ay)({url:i.GetWatchlist,method:"get",params:t})}function r(t){return(0,e.Ay)({url:i.AddWatchlist,method:"post",data:t})}function o(t){return(0,e.Ay)({url:i.RemoveWatchlist,method:"post",data:t})}function l(t){return(0,e.Ay)({url:i.GetWatchlistPrices,method:"get",params:{watchlist:JSON.stringify(t.watchlist||[])}})}function c(){return(0,e.Ay)({url:i.GetMarketTypes,method:"get"})}function d(t){return(0,e.Ay)({url:i.SearchSymbols,method:"get",params:t})}function u(t){return(0,e.Ay)({url:i.GetHotSymbols,method:"get",params:t})}},24364:function(t,a,s){s.d(a,{$p:function(){return o},Dt:function(){return i},Iw:function(){return v},Ps:function(){return n},Xg:function(){return r},_3:function(){return g},aU:function(){return h},bC:function(){return l},cg:function(){return y},ei:function(){return m},f:function(){return b},iO:function(){return _},qS:function(){return f},qu:function(){return p},sk:function(){return u},w1:function(){return c},yr:function(){return d}});var e=s(75769);function i(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,e.Ay)({url:"/api/portfolio/positions",method:"get",params:t})}function n(t){return(0,e.Ay)({url:"/api/portfolio/positions",method:"post",data:t})}function r(t,a){return(0,e.Ay)({url:"/api/portfolio/positions/".concat(t),method:"put",data:a})}function o(t){return(0,e.Ay)({url:"/api/portfolio/positions/".concat(t),method:"delete"})}function l(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};return(0,e.Ay)({url:"/api/portfolio/summary",method:"get",params:t})}function c(){return(0,e.Ay)({url:"/api/portfolio/monitors",method:"get"})}function d(t){return(0,e.Ay)({url:"/api/portfolio/monitors",method:"post",data:t})}function u(t,a){return(0,e.Ay)({url:"/api/portfolio/monitors/".concat(t),method:"put",data:a})}function m(t){return(0,e.Ay)({url:"/api/portfolio/monitors/".concat(t),method:"delete"})}function h(t){var a=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return(0,e.Ay)({url:"/api/portfolio/monitors/".concat(t,"/run"),method:"post",data:a})}function p(){return(0,e.Ay)({url:"/api/portfolio/alerts",method:"get"})}function v(t){return(0,e.Ay)({url:"/api/portfolio/alerts",method:"post",data:t})}function y(t,a){return(0,e.Ay)({url:"/api/portfolio/alerts/".concat(t),method:"put",data:a})}function f(t){return(0,e.Ay)({url:"/api/portfolio/alerts/".concat(t),method:"delete"})}function b(){return(0,e.Ay)({url:"/api/portfolio/groups",method:"get"})}function g(t){return(0,e.Ay)({url:"/api/market/symbols/search",method:"post",data:t})}function _(){return(0,e.Ay)({url:"/api/market/types",method:"get"})}},21560:function(t,a,s){s.d(a,{A:function(){return i}});var e=s(44735);function i(t){if(null!=t){var a=t["function"==typeof Symbol&&Symbol.iterator||"@@iterator"],s=0;if(a)return a.call(t);if("function"==typeof t.next)return t;if(!isNaN(t.length))return{next:function(){return t&&s>=t.length&&(t=void 0),{value:t&&t[s++],done:!t}}}}throw new TypeError((0,e.A)(t)+" is not iterable")}}}]);