Browse Source

夺宝奇兵大模型marketList全市场参数;股市温度计日历新增指数判断;能量转化器y轴字体样式修改;

dev
宋杰 1 day ago
parent
commit
71e68b5df1
  1. 2
      src/views/AIchat.vue
  2. 3
      src/views/AiEmotion.vue
  3. 19
      src/views/components/emoEnergyConverter.vue
  4. 36
      src/views/components/marketTemperature.vue

2
src/views/AIchat.vue

@ -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

3
src/views/AiEmotion.vue

@ -62,7 +62,7 @@
<div class="div02">市场温度{{ data1 }}</div>
</div>
</div>
<marketTemperature ref="marketTemperatureRef" />
<marketTemperature ref="marketTemperatureRef" :companyName="stockName" :stockCode="stockCode" />
</div>
</div>
<div class="class0301" v-if="chartVisibility.emotionDecod">
@ -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);

19
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',
},
)

36
src/views/components/marketTemperature.vue

@ -4,10 +4,10 @@
<div class="border3">
<section class="chart-section">
<div>
<div class="trapezoid">
<!-- <div class="trapezoid">
<span>{{ companyName }}</span>
<span>{{ stockCode }}</span>
</div>
</div> -->
<div ref="KlineCanvs" class="KlineClass"></div>
</div>
</section>
@ -28,31 +28,18 @@
</div>
<div class="calendar">
<div v-for="row in 5" :key="row" class="calendarCol">
<div
v-for="item in currentData.slice((row - 1) * 7, row * 7)"
:key="item"
class="calendarRow"
>
<div
class="calendarItem"
:style="{ backgroundColor: item.color }"
>
<div v-for="item in currentData.slice((row - 1) * 7, row * 7)" :key="item" class="calendarRow">
<div class="calendarItem" :style="{ backgroundColor: item.color }">
<div v-if="item.month" class="month">
<div class="monthContent">
{{ months[item.month - 1] }}
</div>
</div>
<div class="calendarItemTitle">{{ item.day }}</div>
<div
class="calendarItemContent"
v-if="item.stock_temperature == ''"
>
<div class="calendarItemContent" v-if="item.stock_temperature == ''">
<img :src="suoding" alt="锁定" class="ciImg" />
</div>
<div
class="calendarItemContent"
v-else-if="item.stock_temperature == '休市'"
>
<div class="calendarItemContent" v-else-if="item.stock_temperature == '休市'">
休市
</div>
<div class="calendarItemContent" v-else>
@ -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) {
@ -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%;

Loading…
Cancel
Save