diff --git a/src/views/AIchat.vue b/src/views/AIchat.vue index 796e40a..6b2508e 100644 --- a/src/views/AIchat.vue +++ b/src/views/AIchat.vue @@ -779,7 +779,7 @@ watch( spaceForecastPrivilegeState: 1, aibullPrivilegeState: 1, aigoldBullPrivilegeState: 1, - airadarPrivilegeState: 1, + airadarPrivilegeState: 1, // marketList: 1, // brainPrivilegeState: userStore.brainPerssion, // swordPrivilegeState: userStore.swordPerssion, @@ -788,7 +788,7 @@ watch( // aibullPrivilegeState: userStore.aibullPerssion, // aigoldBullPrivilegeState: userStore.aiGnbullPerssion, // airadarPrivilegeState: userStore.airadarPerssion, - marketList: userStore.aiGoldMarketList, + marketList: 'usa,sg,my,hk,cn,can,vi,th,in,gb', }); // 添加空值检查防止访问null对象的属性 diff --git a/src/views/AiEmotion.vue b/src/views/AiEmotion.vue index 176dea7..627c1fa 100644 --- a/src/views/AiEmotion.vue +++ b/src/views/AiEmotion.vue @@ -62,7 +62,7 @@
市场温度:{{ data1 }}
- +
@@ -311,6 +311,7 @@ const showBackToTop = ref(false); // 计算属性 - 从store获取当前股票数据 const currentStock = computed(() => emotionStore.activeStock); const stockName = computed(() => currentStock.value?.stockInfo.name || ""); +const stockCode = computed(() => currentStock.value?.stockInfo.code || currentStock.value?.stockInfo.symbol || ""); const displayDate = computed(() => { if (!currentStock.value?.apiData) return ""; const lastData = currentStock.value.apiData.GSWDJ?.at(-1); diff --git a/src/views/components/emoEnergyConverter.vue b/src/views/components/emoEnergyConverter.vue index eacd251..462b524 100644 --- a/src/views/components/emoEnergyConverter.vue +++ b/src/views/components/emoEnergyConverter.vue @@ -52,7 +52,7 @@ const generateGraphics = (min, max) => { if (isFullyVisible || isPartiallyVisible) { graphics.push({ type: "text", - left: '10%', + left: '13%', top: getNameTop(min, max, safeY), style: { text: region.name, @@ -67,13 +67,14 @@ const generateGraphics = (min, max) => { if (isFullyVisible) { graphics.push({ type: "text", - left: '5%', // 向右调整位置 + left: '13%', // 向右调整位置 top: getNumberTop(min, max, region.max), // top: 100, style: { text: region.max.toString(), fill: region.NumberColor, fontSize: 12, + fontWeight: "bold", }, z: 3, }); @@ -109,7 +110,7 @@ function initQXNLZHEcharts(kline, qxnlzhqData) { max: qxnlzhqData.zc, name: "【情绪冰点区】", color: "#FF9F9F", - fontColor: '#666666', + fontColor: '#2D2D89', NumberColor: 'white', }, { @@ -117,7 +118,7 @@ function initQXNLZHEcharts(kline, qxnlzhqData) { max: qxnlzhqData.ht, name: "【认知潜伏区】", color: "#FFCB75", - fontColor: '#666666', + fontColor: '#2D2D89', NumberColor: 'white', }, { @@ -125,7 +126,7 @@ function initQXNLZHEcharts(kline, qxnlzhqData) { max: qxnlzhqData.qs, name: "【多空消化区】", color: "#D7E95D", - fontColor: '#666666', + fontColor: '#2D2D89', NumberColor: 'white', }, { @@ -133,7 +134,7 @@ function initQXNLZHEcharts(kline, qxnlzhqData) { max: qxnlzhqData.tp, name: "【共识加速区】", color: "#A0F56F", - fontColor: '#666666', + fontColor: '#2D2D89', NumberColor: 'white', }, { @@ -141,7 +142,7 @@ function initQXNLZHEcharts(kline, qxnlzhqData) { max: qxnlzhqData.js, name: "【情绪临界区】", color: "#87F3CD", - fontColor: '#666666', + fontColor: '#2D2D89', NumberColor: 'white', }, ]; @@ -153,7 +154,7 @@ function initQXNLZHEcharts(kline, qxnlzhqData) { max: qxnlzhqData.yl, name: "【杠杆失衡区】", color: "#51C3F9", - fontColor: '#666666', + fontColor: '#2D2D89', NumberColor: 'white', }, ) @@ -165,7 +166,7 @@ function initQXNLZHEcharts(kline, qxnlzhqData) { max: qxnlzhqData.gg, name: "【情绪熔断区】", color: "#D0A7FF", - fontColor: '#666666', + fontColor: '#2D2D89', NumberColor: 'white', }, ) diff --git a/src/views/components/marketTemperature.vue b/src/views/components/marketTemperature.vue index 9ee6b77..3969a46 100644 --- a/src/views/components/marketTemperature.vue +++ b/src/views/components/marketTemperature.vue @@ -4,10 +4,10 @@
-
+
@@ -28,31 +28,18 @@
-
-
+
+
{{ months[item.month - 1] }}
{{ item.day }}
-
+
锁定
-
+
休市
@@ -84,9 +71,9 @@ {{ getDayData(rowIndex, colIndex + 1).market_temperature }} - +

+
+
+

休市

+
+ + + -->
@@ -182,7 +169,7 @@ const indexCodes = [ "I63", "VNINDE", ]; -const isIndexCode = computed(() => indexCodes.includes(props.code)); +const isIndexCode = computed(() => indexCodes.includes(props.stockCode)); const currentData = ref([]); const fetchCalendarData = () => { @@ -341,6 +328,7 @@ function initChart(raw, klineDataRawValue, WDRLValue) { ); return; } + console.log(props) // 如果已存在图表实例,先销毁 if (chartInstance) { @@ -394,10 +382,10 @@ function initChart(raw, klineDataRawValue, WDRLValue) { const chartHeight = size.viewSize[1]; const tooltipWidth = size.contentSize[0]; const tooltipHeight = size.contentSize[1]; - + // 检测是否为移动设备 const isMobile = window.innerWidth <= 768; - + if (isMobile) { // 移动端:固定在顶部中央 return { @@ -408,17 +396,17 @@ function initChart(raw, klineDataRawValue, WDRLValue) { // 桌面端:智能定位 let x = point[0]; let y = point[1]; - + // 防止tooltip超出右边界 if (x + tooltipWidth > chartWidth) { x = chartWidth - tooltipWidth - 10; } - + // 防止tooltip超出下边界 if (y + tooltipHeight > chartHeight) { y = chartHeight - tooltipHeight - 10; } - + return [Math.max(10, x), Math.max(10, y)]; } }, @@ -443,8 +431,8 @@ function initChart(raw, klineDataRawValue, WDRLValue) { color: '#fff', fontSize: window.innerWidth <= 768 ? 10 : 12 // 移动端使用更小字体 }, - extraCssText: window.innerWidth <= 768 ? - 'max-width: 280px; word-wrap: break-word; white-space: normal; box-shadow: 0 2px 8px rgba(0,0,0,0.3);' : + extraCssText: window.innerWidth <= 768 ? + 'max-width: 280px; word-wrap: break-word; white-space: normal; box-shadow: 0 2px 8px rgba(0,0,0,0.3);' : 'max-width: 350px; word-wrap: break-word; white-space: normal; box-shadow: 0 2px 8px rgba(0,0,0,0.3);', formatter: function (params) { if (params && params.length > 0) { @@ -452,16 +440,16 @@ function initChart(raw, klineDataRawValue, WDRLValue) { const fontSize = isMobile ? '10px' : '12px'; const lineHeight = isMobile ? '1.3' : '1.5'; const marginBottom = isMobile ? '4px' : '6px'; - + let result = `
日期: ${params[0].name}
`; - + params.forEach((param) => { if (param.seriesType === "candlestick") { const open = param.data[1]; const close = param.data[2]; const low = param.data[3]; const high = param.data[4]; - + if (isMobile) { // 移动端简化显示 result += `
`; @@ -535,7 +523,7 @@ function initChart(raw, klineDataRawValue, WDRLValue) { color: "#FFFFFF", fontSize: window.innerWidth <= 768 ? 10 : 12, // 移动端使用更小字体 fontWeight: "bold", - formatter: function(value) { + formatter: function (value) { // 确保四位数完整显示 return value.toString(); }, @@ -792,10 +780,10 @@ defineExpose({ initChart }); /* padding: 20px; */ max-width: 80vw; padding-bottom: 10%; - display:flex; - flex-direction:column; - justify-content:center; - align-items:center; + display: flex; + flex-direction: column; + justify-content: center; + align-items: center; } .border3 { @@ -837,8 +825,8 @@ defineExpose({ initChart }); /* 手机端适配样式 */ @media only screen and (max-width: 768px) { - .container{ - padding-bottom:16% + .container { + padding-bottom: 16% } .KlineClass { @@ -969,7 +957,8 @@ defineExpose({ initChart }); left: -2.5px; width: 20px; height: 20px; - border-top: 3px solid #00ffff; /* 左上角颜色 */ + border-top: 3px solid #00ffff; + /* 左上角颜色 */ border-left: 3px solid #00ffff; border-top-left-radius: 8px; } @@ -981,7 +970,8 @@ defineExpose({ initChart }); right: -2px; width: 20px; height: 20px; - border-bottom: 3px solid #00ffff; /* 右下角颜色 */ + border-bottom: 3px solid #00ffff; + /* 右下角颜色 */ border-right: 3px solid #00ffff; border-bottom-right-radius: 8px; } @@ -993,6 +983,7 @@ defineExpose({ initChart }); font-style: normal; font-display: swap; } + .title { width: 100%; margin-bottom: 0px; @@ -1056,6 +1047,7 @@ defineExpose({ initChart }); width: 13.5%; height: 100%; } + .calendarItem { border: 1px solid #0060af; width: 100%;