From 0de76e2404ba767b2b64494d11c6a1b1fb038d72 Mon Sep 17 00:00:00 2001
From: zx <604444282@qq.com>
Date: Wed, 9 Mar 2022 17:28:04 +0800
Subject: [PATCH] zx
---
src/styles/antd.less | 30 +++
src/views/SaleRank/AllLevel/index.vue | 40 +++-
src/views/SaleRank/BrandSale/index.vue | 29 +++
.../ChineseCarSale/carBrandSale/index.vue | 7 +-
.../ChineseCarSale/carLevelSale/index.vue | 7 +-
.../ChineseCarSale/carSeriesSale/index.vue | 7 +-
src/views/SaleRank/CitySale/index.vue | 217 +++++-------------
src/views/SaleRank/CitySale/tbEvent.js | 205 +++++++++++++++++
src/views/SaleRank/SeriesInfo/index.vue | 6 +-
src/views/SaleRank/SeriesSale/index.vue | 28 +++
src/views/SaleRank/index.vue | 79 +++++--
src/views/SaleRank/tableEvent.js | 59 ++++-
12 files changed, 524 insertions(+), 190 deletions(-)
diff --git a/src/styles/antd.less b/src/styles/antd.less
index d143f67..3cced13 100644
--- a/src/styles/antd.less
+++ b/src/styles/antd.less
@@ -41,6 +41,36 @@
background-color: #1B4163 !important;
border: 1px solid #63AECC !important;
}
+
+ .ant-cascader-picker {
+ background: #1B4163 !important;
+ color: #fff !important;
+ &:hover {
+ background-color: #010B19 !important;
+ color: #fff !important;
+ }
+ }
+ .ant-cascader-picker-arrow svg {
+ color: #63AECC;
+ }
+ .ant-cascader-menu{
+ background-color:#010B19 !important;
+ box-shadow: 0px 0px 10px 0px #3373CC !important;
+ overflow: hidden;
+ li{// 鼠标 hover 效果
+ color: #fff;
+ border-top: 1px solid #3373CC !important;
+ background-color:#010B19 !important;
+ &:hover {
+ color: #63AECC;
+ background-color:#010B19 !important;
+ }
+ &:first-child {
+ border-top-style: none !important;
+ }
+ }
+ }
+
.ant-calendar-range-picker-input {
color: #fff !important;
}
diff --git a/src/views/SaleRank/AllLevel/index.vue b/src/views/SaleRank/AllLevel/index.vue
index e387863..080e724 100644
--- a/src/views/SaleRank/AllLevel/index.vue
+++ b/src/views/SaleRank/AllLevel/index.vue
@@ -64,7 +64,11 @@ export default {
},
created() {
this.form.token = this.getToken;
- this.getData();
+ if(this.$route.query.mark) {
+ this.getMore();
+ } else {
+ this.getData();
+ }
},
methods: {
getData() {
@@ -101,6 +105,40 @@ export default {
this.load = false
})
},
+ getMore() {
+ this.load = true;
+ getCheZhuCountTime({token: this.getToken}).then(res => {
+ let data = res.data;
+ this.form.sStartTime = data.Data[data.Data.length-1].Time;
+ this.form.sEndTime = data.Data[data.Data.length-1].Time;
+ this.selTime[0] = data.Data[data.Data.length-1].Time;
+ this.selTime[1] = data.Data[data.Data.length-1].Time;
+ this.dDate = data.Data[data.Data.length-1].Time;
+ let obj = {
+ token: this.getToken,
+ sTimeType: 4,
+ sStartTime: this.form.sStartTime,
+ sEndTime: this.form.sEndTime,
+ }
+ // 排行榜
+ getCheZhuCarSpecidRankingAll(obj).then(res => {
+ let data = res.data;
+ this.lvList = data;
+ });
+ // 图表
+ getCheZhuCarSpecidChart(obj).then(res => {
+ let data = res.data;
+ let dx = [];
+ let ds = [];
+ data.forEach(ele => {
+ dx.push(ele.key);
+ ds.push(ele.value);
+ })
+ this.opt = createOpt(dx,ds);
+ })
+ this.load = false
+ })
+ },
//查看图表
onTable() {
this.visible = true;
diff --git a/src/views/SaleRank/BrandSale/index.vue b/src/views/SaleRank/BrandSale/index.vue
index faefa9d..4b30a47 100644
--- a/src/views/SaleRank/BrandSale/index.vue
+++ b/src/views/SaleRank/BrandSale/index.vue
@@ -4,6 +4,7 @@
返回
+
查询
@@ -97,6 +98,8 @@ export default {
this.tbData = data;
this.tableLoad = false
})
+ } else if (this.$route.query.mark) {
+ this.getMore()
} else {
this.getData()
}
@@ -128,6 +131,32 @@ export default {
})
});
},
+ getMore() {
+ this.tableLoad = true;
+ let o = {token: this.getToken};
+ getCheZhuCountTime(o).then(res => {
+ let data = res.data;
+ this.form.sStartTime = data.Data[data.Data.length-1].Time;
+ this.form.sEndTime = data.Data[data.Data.length-1].Time;
+ this.selTime[0] = data.Data[data.Data.length-1].Time;
+ this.selTime[1] = data.Data[data.Data.length-1].Time;
+ this.dDate = data.Data[data.Data.length-1].Time;
+ let obj = {
+ token: this.getToken,
+ sTimeType: 4,
+ sStartTime: this.form.sStartTime,
+ sEndTime: this.form.sEndTime,
+ iPageIndex: 1,
+ iPageSize: 20,
+ }
+ getCheZhuCarBrandRanking(obj).then(res => {
+ let data = res.data;
+ this.pagination.total = res.totalNum
+ this.tbData = data;
+ this.tableLoad = false
+ })
+ });
+ },
//返回
goBack() {
this.$router.go(-1);
diff --git a/src/views/SaleRank/ChineseCarSale/carBrandSale/index.vue b/src/views/SaleRank/ChineseCarSale/carBrandSale/index.vue
index 3851a81..483f664 100644
--- a/src/views/SaleRank/ChineseCarSale/carBrandSale/index.vue
+++ b/src/views/SaleRank/ChineseCarSale/carBrandSale/index.vue
@@ -46,7 +46,12 @@ export default {
})
},
moreBrand() {
- this.$router.push("/saleRank/brandSale");
+ this.$router.push({
+ path: "/saleRank/brandSale",
+ query: {
+ mark: 'more'
+ }
+ });
}
}
}
diff --git a/src/views/SaleRank/ChineseCarSale/carLevelSale/index.vue b/src/views/SaleRank/ChineseCarSale/carLevelSale/index.vue
index d714dbb..b2e911c 100644
--- a/src/views/SaleRank/ChineseCarSale/carLevelSale/index.vue
+++ b/src/views/SaleRank/ChineseCarSale/carLevelSale/index.vue
@@ -46,7 +46,12 @@ export default {
})
},
moreInfo() {
- this.$router.push("/saleRank/aLevel");
+ this.$router.push({
+ path: "/saleRank/aLevel",
+ query: {
+ mark: 'more'
+ }
+ });
}
}
}
diff --git a/src/views/SaleRank/ChineseCarSale/carSeriesSale/index.vue b/src/views/SaleRank/ChineseCarSale/carSeriesSale/index.vue
index 80d9191..39b61e1 100644
--- a/src/views/SaleRank/ChineseCarSale/carSeriesSale/index.vue
+++ b/src/views/SaleRank/ChineseCarSale/carSeriesSale/index.vue
@@ -46,7 +46,12 @@ export default {
})
},
moreSeries() {
- this.$router.push("/saleRank/seriesSale");
+ this.$router.push({
+ path: "/saleRank/seriesSale",
+ query: {
+ mark: 'more'
+ }
+ });
}
}
}
diff --git a/src/views/SaleRank/CitySale/index.vue b/src/views/SaleRank/CitySale/index.vue
index 137dd20..0df3b85 100644
--- a/src/views/SaleRank/CitySale/index.vue
+++ b/src/views/SaleRank/CitySale/index.vue
@@ -5,9 +5,19 @@
-
-
-
+
+
+
+
+
+ {{item.name}}
+
+
+
+
+ {{item.value}}
+
+
查询
@@ -40,27 +50,45 @@
+
+
+
@@ -303,4 +187,19 @@ export default {
padding: 16px;
}
}
+
+.brand-list {
+ color: white;
+ width: 600px;
+ height: 320px;
+ background: rgb(11, 25, 47);
+}
+
+.choose-brand {
+ width: 150px;
+}
+.choose-series {
+ width: 150px;
+ margin-right: 16px;
+}
\ No newline at end of file
diff --git a/src/views/SaleRank/CitySale/tbEvent.js b/src/views/SaleRank/CitySale/tbEvent.js
index e69de29..2ec84d5 100644
--- a/src/views/SaleRank/CitySale/tbEvent.js
+++ b/src/views/SaleRank/CitySale/tbEvent.js
@@ -0,0 +1,205 @@
+import {getSalesType1,getSalesType0} from "@/api/SaleRankCity";
+import {getSalesType6,getSalesType7} from "@/api/SaleRankCity";
+import {getExcleTime} from "@/api/SaleRankCity";
+import {getBrandType, getUserBrand, getUserSeriesName} from "@/api/comm"
+import moment from "moment";
+
+export default {
+ getApi() {
+ getBrandType({token: this.getToken}).then(res => {
+ let data = res.data;
+ this.brandTypeList = data
+ }),
+ getUserBrand({token: this.getToken}).then(res => {
+ let data = res.data;
+ let brandList = [[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[],[]];
+ let letters = ['A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','Q','R','S','T','U','V','W','X','Y','Z'];
+ for(let i = 0; i
= 0) {
+ let obj = {
+ label: data[i].brandname,
+ value: data[i].brandname,
+ }
+ brandList[index].push(obj)
+ }
+ }
+ this.brandList = brandList;
+ this.letters = letters;
+ })
+ },
+ getData() {
+ this.tableLoad = true;
+ let o = {token: this.getToken};
+ getExcleTime(o).then(res => {
+ let data = res.data;
+ this.form.sStartTime = data.startTime.slice(0,7);
+ this.form.sEndTime = data.endTime.slice(0,7);
+ this.selTime[0] = data.startTime.slice(0,7);
+ this.selTime[1] = data.endTime.slice(0,7);
+ this.dDate = data.endTime;
+ let obj = {
+ token: this.getToken,
+ sTimeType: 4,
+ sStartTime: this.form.sStartTime,
+ sEndTime: this.form.sEndTime,
+ sBrandType: this.form.sBrandType,
+ iPageIndex: 1,
+ }
+ getSalesType1(obj).then(res => {
+ let data = res.data;
+ this.pagination.total = res.totalNum
+ this.tbData = data
+ this.tableLoad = false;
+ });
+ getSalesType0(obj).then(res => {
+ let data = res.data;
+ this.pagination2.total = res.totalNum
+ this.tbData2 = data;
+ this.tableLoad = false;
+ })
+ });
+ },
+ //切换类型
+ handlerTime(activeIndex) {
+ this.activeIndex = activeIndex
+ },
+ //返回
+ goBack() {
+ this.$router.go(-1);
+ },
+ disabledDate(current) {
+ return (current > moment(this.dDate)) && moment(this.dDate);
+ },
+ //查询
+ onSearch() {
+ this.tableLoad = true;
+ this.form.sStartTime = this.selTime[0];
+ this.form.sEndTime = this.selTime[1];
+ getSalesType1(this.form).then(res => {
+ let data = res.data;
+ this.pagination.total = res.totalNum
+ this.tbData = data
+ this.tableLoad = false;
+ });
+ getSalesType0(this.form).then(res => {
+ let data = res.data;
+ this.pagination2.total = res.totalNum
+ this.tbData2 = data;
+ this.tableLoad = false;
+ })
+ },
+ //点击明细
+ onSalePro(record) {
+ let obj = {
+ token: this.form.token,
+ sTimeType: 4,
+ sStartTime: this.form.sStartTime,
+ sEndTime: this.form.sEndTime,
+ sBrandType: this.form.sBrandType,
+ iPageIndex: 1,
+ sProv: record.key
+ }
+ let o = {
+ sBrand: this.form.sBrand,
+ sSeriesName: this.form.sSeriesName
+ }
+ getSalesType0(Object.assign({},obj,o)).then(res => {
+ let data = res.data;
+ this.dataProCity = data
+ })
+ getSalesType6(obj).then(res => {
+ let data = res.data;
+ this.dataProBrand = data
+ })
+ getSalesType7(obj).then(res => {
+ let data = res.data;
+ this.dataProSeries = data
+ })
+ this.visible = true;
+ },
+ onSaleCity(record) {
+ let obj = {
+ token: this.form.token,
+ sTimeType: 4,
+ sStartTime: this.form.sStartTime,
+ sEndTime: this.form.sEndTime,
+ sBrandType: this.form.sBrandType,
+ iPageIndex: 1,
+ sCity: record.key
+ }
+ getSalesType6(obj).then(res => {
+ let data = res.data;
+ this.dataCityBrand = data
+ })
+ getSalesType7(obj).then(res => {
+ let data = res.data;
+ this.dataCitySeries = data
+ })
+ this.visible2 = true;
+ },
+ //改变页面数据
+ handlerPagnation(page) {
+ this.tableLoading = true;
+ let cur = page.current;
+ this.pagination.current = cur;
+ this.form.iPageIndex = cur;
+ getSalesType1(this.form).then(res => {
+ let data = res.data;
+ this.pagination.total = res.totalNum
+ this.tbData = data;
+ this.tableLoading = false
+ })
+ },
+ handlerPagnation2(page) {
+ this.tableLoading = true;
+ let cur = page.current;
+ this.pagination.current = cur;
+ this.form.iPageIndex = cur;
+ getSalesType0(this.form).then(res => {
+ let data = res.data;
+ this.pagination2.total = res.totalNum
+ this.tbData = data;
+ this.tableLoading = false
+ })
+ },
+ //改变窗口模式
+ handlerProMode(activeIndex) {
+ this.pValue = activeIndex
+ },
+ handlerCityMode(activeIndex) {
+ this.cValue = activeIndex
+ },
+ //关闭窗口
+ onClose() {
+ this.visible = false
+ },
+ onClose2() {
+ this.visible2 = false
+ },
+ //抽屉
+ brandDrawer() {
+ this.drVisible = true
+ },
+ drClose() {
+ this.drVisible = false
+ },
+ //锚点
+ anchorClick(e, link) {
+ // 阻止点击的默认事件修改路由
+ e.preventDefault();
+ if(link.href) {
+ document.getElementById(link.href).scrollIntoView();
+ }
+ },
+ drawerChooseBrand(val) {
+ this.form.sBrand = val;
+ let o = {token: this.getToken, sBrandName: this.form.sBrand};
+ getUserSeriesName(o).then(res => {
+ let data = res.data;
+ this.seriesList = data;
+ this.form.sSeriesName = undefined;
+ })
+ this.drVisible = false;
+ },
+}
\ No newline at end of file
diff --git a/src/views/SaleRank/SeriesInfo/index.vue b/src/views/SaleRank/SeriesInfo/index.vue
index faaa79c..3f579e3 100644
--- a/src/views/SaleRank/SeriesInfo/index.vue
+++ b/src/views/SaleRank/SeriesInfo/index.vue
@@ -5,7 +5,7 @@
返回
-
+
@@ -189,7 +189,9 @@ export default {
},
//返回
goBack() {
- this.$router.go(-1);
+ this.$router.push({
+ path: 'seriesSale'
+ });
},
//改变页面数据
handlerPagnation(page) {
diff --git a/src/views/SaleRank/SeriesSale/index.vue b/src/views/SaleRank/SeriesSale/index.vue
index 843474e..5436bcd 100644
--- a/src/views/SaleRank/SeriesSale/index.vue
+++ b/src/views/SaleRank/SeriesSale/index.vue
@@ -86,6 +86,8 @@ export default {
this.tbData = data;
this.tableLoad = false
})
+ } else if(this.$route.query.mark) {
+ this.getMore()
} else {
this.getData()
}
@@ -117,6 +119,32 @@ export default {
})
});
},
+ getMore() {
+ let o = {token: this.getToken};
+ this.tableLoading = true;
+ getCheZhuCountTime(o).then(res => {
+ let data = res.data;
+ this.form.sStartTime = data.Data[data.Data.length-1].Time;
+ this.form.sEndTime = data.Data[data.Data.length-1].Time;
+ this.selTime[0] = data.Data[data.Data.length-1].Time;
+ this.selTime[1] = data.Data[data.Data.length-1].Time;
+ this.dDate = data.Data[data.Data.length-1].Time;
+ let obj = {
+ token: this.getToken,
+ sTimeType: 4,
+ sStartTime: this.form.sStartTime,
+ sEndTime: this.form.sEndTime,
+ iPageIndex: 1,
+ iPageSize: 20,
+ }
+ getCheZhuCarSeriesRanking(obj).then(res => {
+ let data = res.data;
+ this.pagination.total = res.totalNum
+ this.tbData = data;
+ this.tableLoading = false
+ })
+ });
+ },
//查看图表
onTable() {},
//返回
diff --git a/src/views/SaleRank/index.vue b/src/views/SaleRank/index.vue
index 996f5ea..5a8cd7a 100644
--- a/src/views/SaleRank/index.vue
+++ b/src/views/SaleRank/index.vue
@@ -1,8 +1,8 @@
-
+
+ -->
+
+
+
@@ -45,9 +46,6 @@
所有级别
-
{{item.value}}
@@ -80,9 +78,29 @@
-
+
+
+
+
+
+
+
@@ -99,6 +117,7 @@ export default {
},
data() {
return {
+ x: 0,
isLoading: false,
dd: false, //下拉菜单
form: {
@@ -107,6 +126,7 @@ export default {
sEndTime: ''
},
brandList: [], //品牌列表
+ brandOption: [],
letters: [],
seriesList: [], //车型列表
specList: [], //级别列表
@@ -115,8 +135,12 @@ export default {
chosenBrand: undefined,
chosenSeries: undefined,
//当前窗口//
- window: ''
- ////
+ window: '',
+ //抽屉
+ visible: false,
+ drawerStyle: {
+ backgroud: 'blue'
+ }
};
},
created() {
@@ -144,7 +168,7 @@ export default {
}
.sr-content {
width: 100%;
- height: auto;
+ height: 100%;
display: flex;
justify-content: flex-start;
margin-top: 8px;
@@ -154,15 +178,16 @@ export default {
};
.sr-view {
margin-top: 16px;
+ height: 773px;
}
}
}
.choose-brand {
- width: 400px;
+ width: 250px;
}
.choose-series {
- width: 200px;
+ width: 250px;
margin-right: 16px;
}
@@ -184,4 +209,16 @@ export default {
}
}
}
+.drawer {
+ display: flex;
+ height: 800px;
+ justify-content: flex-start;
+ .drawer-right {
+ margin-left: 30px;
+ height: 100%;
+ .drawer-letter {
+ font-size: 24px;
+ }
+ }
+}
\ No newline at end of file
diff --git a/src/views/SaleRank/tableEvent.js b/src/views/SaleRank/tableEvent.js
index ee97e9a..1398389 100644
--- a/src/views/SaleRank/tableEvent.js
+++ b/src/views/SaleRank/tableEvent.js
@@ -13,14 +13,26 @@ export default {
let index = letters.indexOf(data[i].firstword)
if(index >= 0) {
let obj = {
- brandname: data[i].brandname,
- brandid: data[i].brandid,
- firstword: data[i].firstword,
+ // brandname: data[i].brandname,
+ // brandid: data[i].brandid,
+ // firstword: data[i].firstword,
+ label: data[i].brandname,
+ value: data[i].brandname,
}
brandList[index].push(obj)
}
}
this.brandList = brandList;
+ let options = []
+ for(let i = 0; i < brandList.length; i++) {
+ let obj = {
+ value: letters[i],
+ label: letters[i],
+ children: brandList[i]
+ };
+ options.push(obj)
+ }
+ this.brandOption = options;
this.letters = letters;
})
getSpec(obj).then(res => {
@@ -37,8 +49,36 @@ export default {
})
},
//选择品牌
- onBrand(val) {
+ // onBrand(val) {
+ // this.isLoding = true;
+ // this.chosenBrand = val;
+ // let o = {token: this.getToken, sBrandName: this.chosenBrand};
+ // getUserSeriesName(o).then(res => {
+ // let data = res.data;
+ // this.seriesList = data;
+ // this.chosenSeries = undefined;
+ // this.isLoding = false;
+ // })
+ // },
+ handlerBrand(val) {
this.isLoding = true;
+ let chosenBrand = val[1];
+ let o = {token: this.getToken, sBrandName: chosenBrand};
+ getUserSeriesName(o).then(res => {
+ let data = res.data;
+ this.seriesList = data;
+ this.chosenSeries = undefined;
+ this.isLoding = false;
+ })
+ },
+ brandDrawer() {
+ this.visible = true
+ },
+ onClose() {
+ this.visible = false
+ },
+ //抽屉选择品牌
+ drawerChooseBrand(val) {
this.chosenBrand = val;
let o = {token: this.getToken, sBrandName: this.chosenBrand};
getUserSeriesName(o).then(res => {
@@ -47,6 +87,15 @@ export default {
this.chosenSeries = undefined;
this.isLoding = false;
})
+ this.visible = false;
+ },
+ //锚点
+ anchorClick(e, link) {
+ // 阻止点击的默认事件修改路由
+ e.preventDefault();
+ if(link.href) {
+ document.getElementById(link.title).scrollIntoView();
+ }
},
//选择车型
onSeries(val) {
@@ -65,6 +114,7 @@ export default {
}
}
);
+ this.reload();
} else if (this.chosenBrand != undefined && this.chosenSeries != undefined) {
this.$router.push(
{
@@ -75,6 +125,7 @@ export default {
}
}
);
+ this.reload();
} else {
this.$message.warning('请选择品牌');
return;