Compare commits

..

2 Commits

Author SHA1 Message Date
34f0b3eba9 Merge branch 'main' of http://git.weiyutek.com:3000/yindongqi/buliangMap 2025-08-08 17:04:51 +08:00
c5d27d1bc2 feat: 更新图表工具提示和年份选项
- 重构图表工具提示显示逻辑,支持合并预测值和实际值显示
- 更新默认年份为2024并添加2024选项
- 修复餐饮环节名称错误
- 优化动画关键帧样式
2025-08-08 17:04:47 +08:00

View File

@ -339,14 +339,11 @@
</div>
<div
class="flex items-center justify-center w-96 h-48 border-2 border-dashed rounded border-gray-500 overflow-hidden z-[999] fixed bottom-10 right-7"
ref="main9"
:class="{
ref="main9" :class="{
'animate-popup': isAnimating && relationShow,
'animate-shrink': isAnimating && !relationShow,
'opacity-0 scale-0': !relationShow && !isAnimating
}"
v-show="relationShow || isAnimating"
style="transform-origin: bottom right;">
}" v-show="relationShow || isAnimating" style="transform-origin: bottom right;">
</div>
@ -505,10 +502,10 @@ const choujianShow = ref(false);
const tousuShow = ref(false);
const zhifaShow = ref(false);
//
const littlemonth = ref(-1);
const littlemonth = ref(0);
// ""
const yearValue = ref("2023");
const yearValue = ref("2024");
// ""option
const yearOptions = [
{
@ -523,6 +520,10 @@ const yearOptions = [
value: "2023",
label: "2023",
},
{
value: "2024",
label: "2024",
},
//
];
@ -3987,7 +3988,7 @@ const choujianEchartsPinfa = () => {
showSymbol: true,
emphasis: { focus: "series" },
z: 1,
tooltip: { show: false }, // 线tooltip
// tooltip: { show: false }, // 线tooltip
},
])
.flat();
@ -4000,10 +4001,51 @@ const choujianEchartsPinfa = () => {
textStyle: { color: "#00ffff", fontSize: 20, fontWeight: "bold" },
top: 5,
},
// tooltip: {
// trigger: "axis",
// // valueFormatter: (v) => (v == null ? "" : v + "%"),
// valueFormatter: (v) => (v == null ? choujianPinfaData.value[0].prediction + "%" : v + "%"),
// },
tooltip: {
trigger: "axis",
// valueFormatter: (v) => (v == null ? "" : v + "%"),
valueFormatter: (v) => (v == null ? choujianPinfaData.value[0].prediction + "%" : v + "%"),
trigger: 'axis',
formatter: function (params) {
let ymonth = "";
let result = '';
const dataMap = {};
// 线线
params.forEach(item => {
// console.log(item);
const isPrediction = item.seriesName.includes('预测');
const baseName = isPrediction ? item.seriesName.replace('预测', '') : item.seriesName;
if (!dataMap[baseName]) {
dataMap[baseName] = { value: null, prediction: null };
}
if (isPrediction) {
dataMap[baseName].prediction = item.value;
} else {
dataMap[baseName].value = item.value;
}
ymonth = item.name;
// console.log(ymonth);
});
// tooltip
Object.keys(dataMap).forEach(name => {
const item = dataMap[name];
if (item.prediction && ymonth == "5月") {
result += `${name}: (预测: ${item.prediction}%)`;
} else {
result += `${name}: ${item.value || '0'}%`;
}
result += '<br/>';
});
return result;
},
},
legend: {
data: legendData,
@ -4079,7 +4121,7 @@ const zhifaEchartsPinfa = () => {
showSymbol: true,
emphasis: { focus: "series" },
z: 1,
tooltip: { show: false }, // 线tooltip
// tooltip: { show: false }, // 线tooltip
},
])
.flat();
@ -4092,11 +4134,52 @@ const zhifaEchartsPinfa = () => {
textStyle: { color: "#00ffff", fontSize: 20, fontWeight: "bold" },
top: 5,
},
tooltip: {
trigger: "axis",
valueFormatter: (v) => (v == null ? zhifaPinfaData.value[0].prediction + "%" : v + "%"),
// formatter: '{b0}: {c0}<br />{b1}: {c1}'
// tooltip: {
// trigger: "axis",
// valueFormatter: (v) => (v == null ? zhifaPinfaData.value[0].prediction + "%" : v + "%"),
// // formatter: '{b0}: {c0}<br />{b1}: {c1}'
// },
tooltip: {
trigger: 'axis',
formatter: function (params) {
let ymonth = "";
let result = '';
const dataMap = {};
// 线线
params.forEach(item => {
// console.log(item);
const isPrediction = item.seriesName.includes('预测');
const baseName = isPrediction ? item.seriesName.replace('预测', '') : item.seriesName;
if (!dataMap[baseName]) {
dataMap[baseName] = { value: null, prediction: null };
}
if (isPrediction) {
dataMap[baseName].prediction = item.value;
} else {
dataMap[baseName].value = item.value;
}
ymonth = item.name;
// console.log(ymonth);
});
// tooltip
Object.keys(dataMap).forEach(name => {
const item = dataMap[name];
if (ymonth == "5月") {
result += `${name}: (预测: ${item.prediction}%)`;
} else {
result += `${name}: ${item.value || '0'}%`;
}
result += '<br/>';
});
return result;
},
},
legend: {
data: legendData,
@ -4149,7 +4232,7 @@ const jubaoGaofaData = ref([
tousulv: "2.04%",
dengji: "yellow",
}, {
huanjie: "销售环节",
huanjie: "餐饮环节",
zhonglei: "虚假宣传",
tousulv: "1.97%",
dengji: "yellow",
@ -4402,10 +4485,12 @@ const handleFancyClick = (e: MouseEvent) => {
opacity: 0;
transform: scale(0) translate(0, 0);
}
50% {
opacity: 0.8;
transform: scale(0.8) translate(0, -20px);
}
100% {
opacity: 1;
transform: scale(1) translate(0, 0);
@ -4418,10 +4503,12 @@ const handleFancyClick = (e: MouseEvent) => {
opacity: 1;
transform: scale(1) translate(0, 0);
}
50% {
opacity: 0.8;
transform: scale(0.8) translate(0, -20px);
}
100% {
opacity: 0;
transform: scale(0) translate(0, 0);