辆
diff --git a/src/page/index/components/VehicleStayAnalysis/VehicleStayAnalysis.less b/src/page/index/components/VehicleStayAnalysis/VehicleStayAnalysis.less
new file mode 100644
index 0000000..a74b465
--- /dev/null
+++ b/src/page/index/components/VehicleStayAnalysis/VehicleStayAnalysis.less
@@ -0,0 +1,14 @@
+.VehicleStayAnalysisBox {
+ width: 100%;
+
+ .VehicleStayAnalysisContent {
+ margin-top: 18px;
+ width: 100%;
+ height: 174px;
+
+ .VehicleStayAnalysisCharts {
+ width: 100%;
+ height: 174px;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/page/index/components/VehicleStayAnalysis/VehicleStayAnalysis.vue b/src/page/index/components/VehicleStayAnalysis/VehicleStayAnalysis.vue
new file mode 100644
index 0000000..dac9999
--- /dev/null
+++ b/src/page/index/components/VehicleStayAnalysis/VehicleStayAnalysis.vue
@@ -0,0 +1,197 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/src/page/index/components/VehiclesEntering/VehiclesEntering.less b/src/page/index/components/VehiclesEntering/VehiclesEntering.less
index 56a63b2..958844b 100644
--- a/src/page/index/components/VehiclesEntering/VehiclesEntering.less
+++ b/src/page/index/components/VehiclesEntering/VehiclesEntering.less
@@ -20,7 +20,8 @@
.VehiclesEntering {
width: 100%;
- height: 134px;
+ // height: 134px;
+ height: 167px;
}
}
}
\ No newline at end of file
diff --git a/src/page/index/components/VehiclesEntering/VehiclesEntering.vue b/src/page/index/components/VehiclesEntering/VehiclesEntering.vue
index a5b6b07..293640f 100644
--- a/src/page/index/components/VehiclesEntering/VehiclesEntering.vue
+++ b/src/page/index/components/VehiclesEntering/VehiclesEntering.vue
@@ -3,7 +3,7 @@ import SmallTitle from '../smallTitle/smallTitle.vue'
import './VehiclesEntering.less'
import { onMounted, onBeforeUnmount, watch } from 'vue';
import * as echarts from 'echarts/core';
-import { BarChart } from 'echarts/charts';
+import { BarChart, LineChart } from 'echarts/charts';
import {
GridComponent,
TitleComponent,
@@ -12,11 +12,12 @@ import {
} from 'echarts/components';
import { CanvasRenderer } from 'echarts/renderers';
import moment from 'moment';
-import { handleGetSPBayonetList } from '../../service';
+import { handleGetMonthAnalysis, handleGetSPBayonetList } from '../../service';
// 注册组件
echarts.use([
BarChart,
+ LineChart,
GridComponent,
TitleComponent,
TooltipComponent,
@@ -50,47 +51,102 @@ const handleGoMounted = async () => {
const chartDom = document.getElementById('VehiclesEntering');
if (!chartDom) return;
myChart = echarts.init(chartDom);
+
+
const option = {
+ tooltip: {
+ trigger: 'axis',
+ axisPointer: {
+ type: 'cross',
+ crossStyle: {
+ color: '#999'
+ }
+ }
+ },
+
+ legend: {
+ data: [`${res.currentYear}年车流量`, `${res.yesYear}年车流量`, `${res.currentYear}年交易额`, `${res.yesYear}年交易额`],
+ textStyle: {
+ color: '#fff',
+ fontSize: 12 // 设置图例文字大小为12px
+ },
+ right: '4%',
+ top: '0%',
+ orient: 'horizontal',
+ type: 'scroll' // 如果图例过长,启用滚动
+ },
+ grid: {
+ left: '3%',
+ right: '4%',
+ bottom: '3%',
+ top: '30%',
+ containLabel: true
+ },
xAxis: {
type: 'category',
boundaryGap: true,
- data: res.category
+ data: res.category,
+ axisPointer: {
+ type: 'shadow'
+ }
},
- yAxis: {
- type: 'value',
- splitLine: { show: false } // 隐藏刻度线
- },
- grid: {
- left: '0', // 左侧间距
- right: '0', // 右侧间距
- bottom: '0', // 底部间距
- top: '10', // 顶部间距
- containLabel: true // 确保坐标轴标签在grid内
- },
- series: [
+ yAxis: [
{
- data: res.seriesData,
- realData: res.realData,
- type: 'bar',
- smooth: true,
- barWidth: '18',
+ type: 'value',
+ name: '车流量(万辆)',
+ splitLine: { show: false },
+ axisLabel: {
+ formatter: '{value}'
+ },
+ splitNumber: 4
+ },
+ {
+ type: 'value',
+ name: '交易金额(万元)',
+ splitLine: { show: false },
+ axisLabel: {
+ formatter: '{value}'
+ },
+ splitNumber: 4
}
],
- tooltip: { // 新增 tooltip 配置
- trigger: 'axis', // 触发类型:坐标轴触发
- axisPointer: { // 坐标轴指示器配置
- type: 'shadow' // 阴影指示器(适合柱状图)
+ series: [
+ {
+ name: `${res.currentYear}年车流量`,
+ type: 'bar',
+ barWidth: '6',
+ data: res.seriesDataCar,
+ yAxisIndex: 0
},
- formatter: function (params: any) { // 自定义提示框内容
- // params 是数组,包含当前 hover 的所有系列数据
- const data = params[0];
- let realData = res.realData[params[0].dataIndex]
- return `
-
${data.name}
-
车流量:${realData ? realData + '辆' : data.value + '万辆'}
- `;
+ {
+ name: `${res.yesYear}年车流量`,
+ type: 'bar',
+ smooth: true,
+ data: res.yesSeriesDataCar,
+ yAxisIndex: 0,
+ barWidth: '6',
+ lineStyle: {
+ width: 3
+ }
+ },
+ {
+ name: `${res.currentYear}年交易额`,
+ type: 'line',
+ data: res.seriesDataRevenue,
+ yAxisIndex: 1,
+ symbol: 'circle',
+ symbolSize: 8,
+ },
+ {
+ name: `${res.yesYear}年交易额`,
+ type: 'line',
+ data: res.yesSeriesDataRevenue,
+ yAxisIndex: 1,
+ symbol: 'circle',
+ symbolSize: 8
}
- },
+ ],
+ color: ['#008CFF', '#69BCFF', '#FF5E5E', '#FF9500'] // Custom colors for each series
};
myChart.setOption(option);
myChart.resize();
@@ -99,49 +155,74 @@ const handleGoMounted = async () => {
// 拿到入区车辆的趋势
const handleGetSectionFlowCount = async () => {
- const req: any = {
- Province_Code: '340000',
- Statistics_Date: moment().subtract(1, 'd').format('YYYY-MM-DD'),
- GroupType: 2,
- Serverpart_ID: props.currentService?.SERVERPART_ID || "",
- }
- const data = await handleGetSPBayonetList(req)
- // 小型车总数
- let smallCar: number = 0
- // 中型车总数
- let middleCar: number = 0
- // 大型车总数
- let bigCar: number = 0
+ // const req: any = {
+ // Province_Code: '340000',
+ // Statistics_Date: moment().subtract(1, 'd').format('YYYY-MM-DD'),
+ // GroupType: 2,
+ // Serverpart_ID: props.currentService?.SERVERPART_ID || "",
+ // }
+ // const data = await handleGetSPBayonetList(req)
+ const req: any = {
+ StartDate: moment().startOf('y').format('YYYY-MM-DD'),
+ EndDate: moment().subtract(1, 'd').format('YYYY-MM-DD'),
+ Serverpart_ID: props.currentService?.SERVERPART_ID || "1143,1144,1186,1188,1189,1190,1191,1192,1193,979,999,1023,1029,1030,1031,1033,1037,1041,1078,1087,1095,1137,1141,1147,1157,1159,1164,1165,1170,1174,981,985,987,994,1007,1009,1010,1012,1016,971,996,1002,1017,1018,1022,1027,1032,1073,1076,1099,1118,1122,1140,1142,1150,1171,970,969,978,1001,1005,1015,1050,1051,1052,1053,1064,1066,1096,1097,1101,1103,1104,1105,1106,1109,1112,1114,1115,1116,1117,991,995,1039,1080,1094,1100,1107,1123,1127,1133,1154,1155,1161,1163,1179,1180,1019,1021,1048,1049,1056,1059,1062,1063,1069,1093,1067,1228,1008,1070,1072,1166,1113,1148,1153,986,1086,1075,1182,1068,1226,1218,1088,1090,1058,1044,1084,1077,1089,1081,1091,1083,1162,1036,1092,988,993,1111,1158,1194,1202,1230,1198,1207,1216,1221,1203,1206,1209,1215,1227,1201,1205,1208,1214,1217,1229,1212,1065,1085,1055,1071,982,1168,1185,1110,977,1169,973,974,1011,1151,1121,1046,1045,1172,1146,976,1187,1156,1181,1136,1138,1211,983,1195,1131,1176,1167,1223,997,1252,1225,1043,1129,992,1149,975,1382,989,1047,1197,1025,1199,1183,1222,1178,1003,1013,1224,1139,1125,1173,1135,1038,1177,1060,1175,1184,1035,1026,1028,1079,1119,1120,1489"
+ }
+ const data = await handleGetMonthAnalysis(req)
+
+ const yesReq: any = {
+ StartDate: moment().subtract(1, 'y').startOf('y').format('YYYY-MM-DD'),
+ EndDate: moment().subtract(1, 'y').endOf('y').format('YYYY-MM-DD'),
+ Serverpart_ID: props.currentService?.SERVERPART_ID || "1143,1144,1186,1188,1189,1190,1191,1192,1193,979,999,1023,1029,1030,1031,1033,1037,1041,1078,1087,1095,1137,1141,1147,1157,1159,1164,1165,1170,1174,981,985,987,994,1007,1009,1010,1012,1016,971,996,1002,1017,1018,1022,1027,1032,1073,1076,1099,1118,1122,1140,1142,1150,1171,970,969,978,1001,1005,1015,1050,1051,1052,1053,1064,1066,1096,1097,1101,1103,1104,1105,1106,1109,1112,1114,1115,1116,1117,991,995,1039,1080,1094,1100,1107,1123,1127,1133,1154,1155,1161,1163,1179,1180,1019,1021,1048,1049,1056,1059,1062,1063,1069,1093,1067,1228,1008,1070,1072,1166,1113,1148,1153,986,1086,1075,1182,1068,1226,1218,1088,1090,1058,1044,1084,1077,1089,1081,1091,1083,1162,1036,1092,988,993,1111,1158,1194,1202,1230,1198,1207,1216,1221,1203,1206,1209,1215,1227,1201,1205,1208,1214,1217,1229,1212,1065,1085,1055,1071,982,1168,1185,1110,977,1169,973,974,1011,1151,1121,1046,1045,1172,1146,976,1187,1156,1181,1136,1138,1211,983,1195,1131,1176,1167,1223,997,1252,1225,1043,1129,992,1149,975,1382,989,1047,1197,1025,1199,1183,1222,1178,1003,1013,1224,1139,1125,1173,1135,1038,1177,1060,1175,1184,1035,1026,1028,1079,1119,1120,1489"
+ }
+
+ const yesData = await handleGetMonthAnalysis(yesReq)
+
+ let category: string[] = []
+ let seriesDataCar: number[] = []
+ let seriesDataRevenue: number[] = []
+ let realDataCar: number[] = []
+ let realDataRevenue: number[] = []
+
+ console.log('dnasfhuaidhsdaghsakjlhsldk', data);
if (data && data.length > 0) {
data.forEach((item: any) => {
- smallCar += item.MinVehicle_Count
- middleCar += item.MediumVehicle_Count
- bigCar += item.LargeVehicle_Count
+ category.push(`${item.Statistics_Month < 10 ? '0' + item.Statistics_Month : item.Statistics_Month}`)
+ seriesDataCar.push(item.Vehicle_Count / 10000)
+ realDataCar.push(item.Vehicle_Count)
+ seriesDataRevenue.push(item.RevenueAmount / 10000)
+ realDataRevenue.push(item.RevenueAmount)
})
}
+
+ let yesSeriesDataCar: number[] = []
+ let yesSeriesDataRevenue: number[] = []
+ let yesRealDataCar: number[] = []
+ let yesRealDataRevenue: number[] = []
+
+ if (yesData && yesData.length > 0) {
+ yesData.forEach((item: any) => {
+ yesSeriesDataCar.push(item.Vehicle_Count / 10000)
+ yesSeriesDataRevenue.push(item.RevenueAmount / 10000)
+ yesRealDataCar.push(item.Vehicle_Count)
+ yesRealDataRevenue.push(item.RevenueAmount)
+ })
+ }
+
+
+
let res: any = {
- category: ["小型车", "中型车", "大型车"],// x轴的内容
- seriesData: [{
- value: Number((smallCar / 10000).toFixed(2)),
- itemStyle: {
- color: '#7D4CD2'
- }
- },
- {
- value: Number((middleCar / 10000).toFixed(2)),
- itemStyle: {
- color: '#0094FF'
- }
- },
- {
- value: Number((bigCar / 10000).toFixed(2)),
- itemStyle: {
- color: '#FF9500'
- }
- },
- ],// y轴的数据
- realData: [smallCar.toLocaleString(), middleCar.toLocaleString(), bigCar.toLocaleString()]// 真实数据
+ category: category,// x轴的内容
+ seriesDataCar: seriesDataCar, // 入区车流量 万
+ seriesDataRevenue: seriesDataRevenue,// 营收 万
+ realDataCar: realDataCar,// 入区车流量 实际
+ realDataRevenue: realDataRevenue,// 营收 实际
+ yesSeriesDataCar: yesSeriesDataCar,// 入区车流量 万 去年
+ yesSeriesDataRevenue: yesSeriesDataRevenue,// 营收 万 去年
+ yesRealDataCar: yesRealDataCar,// 入区车流量 实际 去年
+ yesRealDataRevenue: yesRealDataRevenue,// 营收 实际 去年
+ currentYear: moment().format('YYYY'), // 当前年份
+ yesYear: moment().subtract(1, 'y').format('YYYY')// 去年年份
}
return res
}
@@ -163,7 +244,7 @@ onBeforeUnmount(() => {
diff --git a/src/page/index/components/newBigTitleBox/newBigTitleBox.less b/src/page/index/components/newBigTitleBox/newBigTitleBox.less
new file mode 100644
index 0000000..92b0030
--- /dev/null
+++ b/src/page/index/components/newBigTitleBox/newBigTitleBox.less
@@ -0,0 +1,16 @@
+.newBigTitleBox {
+ width: 100%;
+ height: 31px;
+ background-image: url(../../../../assets/image/newBigTitleBg.png);
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
+ font-family: YouSheBiaoTiHei;
+ font-weight: 400;
+ font-size: 20px;
+ line-height: 20px;
+ color: #4CA9EF;
+ text-align: left;
+ font-style: normal;
+ box-sizing: border-box;
+ padding-left: 38px;
+}
\ No newline at end of file
diff --git a/src/page/index/components/newBigTitleBox/newBigTitleBox.vue b/src/page/index/components/newBigTitleBox/newBigTitleBox.vue
new file mode 100644
index 0000000..9376a27
--- /dev/null
+++ b/src/page/index/components/newBigTitleBox/newBigTitleBox.vue
@@ -0,0 +1,19 @@
+
+
+
+
\ No newline at end of file
diff --git a/src/page/index/components/noticeListBox/noticeListBox.less b/src/page/index/components/noticeListBox/noticeListBox.less
index a0dd64f..f272c33 100644
--- a/src/page/index/components/noticeListBox/noticeListBox.less
+++ b/src/page/index/components/noticeListBox/noticeListBox.less
@@ -1,55 +1,128 @@
+// 横向滚动
.noticeListBigBox {
+ width: 100%;
+ height: 25px;
+ // background: rgba(255, 255, 255, 1);
+ border-radius: 18px;
display: flex;
align-items: center;
-
+ padding: 0 10px;
+ box-sizing: border-box;
.noticeIcon {
width: 18px;
height: 18px;
- margin-right: 10px;
+ margin-right: 5px;
}
.noticeListBox {
- height: 26px; // 2条高度,按你需求调整
+ width: 100%;
+ height: 20px;
overflow: hidden;
- position: relative;
- border-radius: 8px;
.noticeList {
display: flex;
- flex-direction: column;
-
- &.scrolling {
- animation: scrollAnimation 20s linear infinite;
- }
+ white-space: nowrap;
+ transition: none;
+ position: relative;
.noticeItem {
- width: 100%;
- box-sizing: border-box;
- padding: 6px 0;
display: flex;
align-items: center;
+ margin-right: 15px; // 调整item之间的间距
.icon {
- width: 8px;
- height: 8px;
- background: #fff;
- transform: rotate(45deg);
- margin-right: 8px;
+ width: 3px;
+ height: 3px;
+ background: #1989FA;
+ border-radius: 50%;
+ margin-right: 5px;
}
.contentMessage {
- white-space: nowrap;
- overflow: hidden;
- text-overflow: ellipsis;
- font-size: 16px;
- color: #fff;
- line-height: 26px;
+ font-family: Microsoft YaHei, Microsoft YaHei;
+ font-weight: 400;
+ font-size: 19px;
+ line-height: 19px;
+ color: #FFFFFF;
text-align: left;
+ font-style: normal;
}
}
+
+ // 实现无缝滚动
+ &.scrolling {
+ animation: scrollNotice var(--scroll-duration, 10s) linear infinite;
+ }
}
}
+}
+
+// 关键帧动画
+@keyframes scrollNotice {
+ 0% {
+ transform: translateX(0);
+ }
+
+ 100% {
+ transform: translateX(-VAR_PX);
+ }
+}
-}
\ No newline at end of file
+// 纵向滚动
+// .noticeListBigBox {
+// display: flex;
+// align-items: center;
+
+
+// .noticeIcon {
+// width: 18px;
+// height: 18px;
+// margin-right: 10px;
+// }
+
+// .noticeListBox {
+// height: 26px; // 2条高度,按你需求调整
+// overflow: hidden;
+// position: relative;
+// border-radius: 8px;
+
+// .noticeList {
+// display: flex;
+// flex-direction: column;
+
+// &.scrolling {
+// animation: scrollAnimation 20s linear infinite;
+// }
+
+// .noticeItem {
+// width: 100%;
+// box-sizing: border-box;
+// padding: 6px 0;
+// display: flex;
+// align-items: center;
+
+// .icon {
+// width: 8px;
+// height: 8px;
+// background: #fff;
+// transform: rotate(45deg);
+// margin-right: 8px;
+// }
+
+// .contentMessage {
+// white-space: nowrap;
+// overflow: hidden;
+// text-overflow: ellipsis;
+// font-size: 16px;
+// color: #fff;
+// line-height: 26px;
+// text-align: left;
+// }
+// }
+// }
+// }
+
+
+// }
\ No newline at end of file
diff --git a/src/page/index/components/noticeListBox/noticeListBox.vue b/src/page/index/components/noticeListBox/noticeListBox.vue
index e95cc03..3aa8708 100644
--- a/src/page/index/components/noticeListBox/noticeListBox.vue
+++ b/src/page/index/components/noticeListBox/noticeListBox.vue
@@ -1,7 +1,7 @@
\ No newline at end of file
diff --git a/src/page/index/components/pageTop/pageTop.less b/src/page/index/components/pageTop/pageTop.less
index bb02149..2b4323d 100644
--- a/src/page/index/components/pageTop/pageTop.less
+++ b/src/page/index/components/pageTop/pageTop.less
@@ -165,22 +165,27 @@
.pageTop169 {
width: 100vw;
- height: 48px;
- background: linear-gradient(180deg, #182950 0%, #18223F 100%);
- border-bottom: 1px solid #0E789A;
+ // height: 48px;
+ height: 86px;
+ // background: linear-gradient(180deg, #182950 0%, #18223F 100%);
+ // border-bottom: 1px solid #0E789A;
position: relative;
box-sizing: border-box;
display: flex;
- align-items: center;
+ // align-items: center;
justify-content: space-between;
+ background-image: url('../../../../assets/image/allPageTopBg.png');
+ background-repeat: no-repeat;
+ background-size: 100% 100%;
// padding: 0 30px;
.centerBox {
width: 40%;
height: 80px;
- background-image: url('../../../../assets//image/pageTitle.png');
- background-repeat: no-repeat;
- background-size: 100% 100%;
+ // background-image: url('../../../../assets//image/pageTitle.png');
+ // background-image: url('../../../../assets/image/newPageTitle.png');
+ // background-repeat: no-repeat;
+ // background-size: 100% 100%;
position: absolute;
top: 0;
// left: 50%;
@@ -210,19 +215,20 @@
.leftTabBox {
width: 30%;
- height: 100%;
+ // height: 100%;
+ height: 48px;
box-sizing: border-box;
padding-left: 30px;
display: flex;
- align-items: center;
+ // align-items: center;
.pageTopTabItem {
width: 50%;
height: 100%;
- font-family: Inter, Inter;
- font-weight: 400;
+ font-family: Microsoft YaHei, Microsoft YaHei;
+ font-weight: bold;
font-size: 20px;
- color: #5D6780;
+ color: #ffffff;
text-align: center;
font-style: normal;
display: flex;
@@ -232,8 +238,8 @@
}
.selectPageTopTabItem {
- color: #FFFFFF;
- background-image: url('../../../../assets//image/pageTabBg.png');
+ color: #4CA9EF;
+ background-image: url('../../../../assets//image/newSelectPageTop.png');
background-repeat: no-repeat;
background-size: 100% 100%;
}
diff --git a/src/page/index/components/pageTop/pageTop.vue b/src/page/index/components/pageTop/pageTop.vue
index 875752b..8144f42 100644
--- a/src/page/index/components/pageTop/pageTop.vue
+++ b/src/page/index/components/pageTop/pageTop.vue
@@ -123,7 +123,6 @@ const handleGetNowWeather = async () => {
weatherInfo.value = weatherObj
}
-
// 改变页面显示状态
const emit = defineEmits<{
(e: "handleChangePageType"): void; // 切换页面样式
@@ -187,8 +186,8 @@ onBeforeUnmount(() => {
diff --git a/src/page/index/components/smallTitle/smallTitle.less b/src/page/index/components/smallTitle/smallTitle.less
index cc426b1..1a43916 100644
--- a/src/page/index/components/smallTitle/smallTitle.less
+++ b/src/page/index/components/smallTitle/smallTitle.less
@@ -1,17 +1,19 @@
.smallTitleBox {
- height: 28px;
+ // height: 28px;
+ height: 20px;
box-sizing: border-box;
- padding: 4px 10px;
- background: linear-gradient(90deg, rgba(0, 148, 255, 0.1) 0%, rgba(0, 148, 255, 0) 100%);
- border-left: 1px solid #01F0FE;
+ // padding: 4px 10px;
+ // background: linear-gradient(90deg, rgba(0, 148, 255, 0.1) 0%, rgba(0, 148, 255, 0) 100%);
+ // border-left: 1px solid #01F0FE;
display: flex;
align-items: center;
justify-content: space-between;
+ padding-left: 10px;
.title {
- font-family: "Microsoft YaHei";
- font-weight: 400;
- font-size: 16px;
+ font-family: Microsoft YaHei, Microsoft YaHei;
+ font-weight: bold;
+ font-size: 15px;
color: #FFFFFF;
text-align: left;
font-style: normal;
diff --git a/src/page/index/components/smallTitle/smallTitle.vue b/src/page/index/components/smallTitle/smallTitle.vue
index dd29182..b49183e 100644
--- a/src/page/index/components/smallTitle/smallTitle.vue
+++ b/src/page/index/components/smallTitle/smallTitle.vue
@@ -4,7 +4,7 @@ import './smallTitle.less'
// 拿到传入的数据
const props = defineProps<{
pageType?: any;
- title: string
+ title?: string
}>();
diff --git a/src/page/index/index.vue b/src/page/index/index.vue
index 5c82d3e..82294cd 100644
--- a/src/page/index/index.vue
+++ b/src/page/index/index.vue
@@ -42,6 +42,14 @@ import MerchantRatingRanking from './components/MerchantRatingRanking/MerchantRa
import HighQualityMerchants from './components/HighQualityMerchants/HighQualityMerchants.vue'
import ThisMonthBenefits from './components/ThisMonthBenefits/ThisMonthBenefits.vue';
import CoreCategory from './components/CoreCategory/CoreCategory.vue'
+import BusinessCase from './components/BusinessCase/BusinessCase.vue'
+import CustomerGroup from './components/CustomerGroup/CustomerGroup.vue'
+import CustomerConsumptionPreferences from './components/CustomerConsumptionPreferences/CustomerConsumptionPreferences.vue'
+import VehicleStayAnalysis from './components/VehicleStayAnalysis/VehicleStayAnalysis.vue'
+import BrandDetail from './components/BrandDetail/BrandDetail.vue'
+import AssessmentScoring from './components/AssessmentScoring/AssessmentScoring.vue';
+import OverviewOfServiceArea from './components/OverviewOfServiceArea/OverviewOfServiceArea.vue'
+import NewBigTitleBox from './components/newBigTitleBox/newBigTitleBox.vue'
// 页面样式
let pageType = ref