From 05bee624adfe8501beb77ab08a75139bc04ae3e1 Mon Sep 17 00:00:00 2001
From: xy <271556543@qq.com>
Date: Tue, 14 Nov 2023 14:03:13 +0800
Subject: [PATCH] 2023-11-14
---
src/views/component/table.vue | 18 +++++++++++-
src/views/dashboard/index.vue | 53 +++++++++++++++++++++++++++++------
2 files changed, 62 insertions(+), 9 deletions(-)
diff --git a/src/views/component/table.vue b/src/views/component/table.vue
index 7d8a8eb..a32720d 100644
--- a/src/views/component/table.vue
+++ b/src/views/component/table.vue
@@ -244,7 +244,7 @@
ref="xyTable"
:border="true"
:action="index"
- :req-opt="select"
+ :req-opt="tableSelect"
:destroy-req-opt="select"
:table-item="table"
@detail="
@@ -327,6 +327,7 @@ export default {
},
],
},
+ selectQuery: [],
form: [],
table: [],
customForm: {
@@ -400,6 +401,13 @@ export default {
console.warn(err);
}
}
+ if (this.$route.meta.params?.select) {
+ try {
+ this.selectQuery = JSON.parse(decodeURIComponent(this.$route.meta.params?.select));
+ } catch (err) {
+ console.warn(err);
+ }
+ }
const res = await show({ id: this.customForm.customFormId }, false);
@@ -587,6 +595,14 @@ export default {
? this.form.find((i) => i.field === field)._params
: [];
};
+ },
+
+ tableSelect () {
+ let filter = [...this.select.filter,...this.selectQuery]
+ return {
+ ...this.select,
+ filter
+ }
}
},
created() {
diff --git a/src/views/dashboard/index.vue b/src/views/dashboard/index.vue
index e1263de..b3cccc9 100644
--- a/src/views/dashboard/index.vue
+++ b/src/views/dashboard/index.vue
@@ -14,14 +14,18 @@
累计查询下载数
- {{ chartData.total_down }}
+
{{ chartData.total_down }}
+
周同比
+
本周查询下载数
- {{ chartData.week_down }}
+
{{ chartData.week_down }}
+
周同比
+
@@ -71,6 +75,7 @@ export default {
total_down: 0,
week_down: 0,
},
+ chartDownData: [],
select: {
start_date: this.$moment().startOf("week").format("YYYY-MM-DD"),
end_date: this.$moment().endOf("week").format("YYYY-MM-DD"),
@@ -121,8 +126,12 @@ export default {
})
.catch();
},
- async init() {
+ async loadChartDown () {
let res = await getChartDown(this.select);
+ this.chartDownData = res;
+ },
+
+ async init() {
this.line = echarts.init(document.getElementById("chart-panel"));
this.line.setOption({
@@ -130,7 +139,7 @@ export default {
xAxis: {
type: "category",
boundaryGap: false,
- data: res.map((i) => i.date),
+ data: this.chartDownData.map((i) => i.date),
},
yAxis: {
type: "value",
@@ -146,7 +155,7 @@ export default {
series: [
{
name: "下载数量",
- data: res.map((i) => i.total),
+ data: this.chartDownData.map((i) => i.total),
type: "line",
smooth: true,
areaStyle: {
@@ -171,9 +180,13 @@ export default {
this.loadData();
},
mounted() {
- this.init();
+ this.loadChartDown().then(res => {
+ this.init();
+ })
- window.onresize = () => {};
+ window.onresize = () => {
+ this.init();
+ };
},
destroyed() {
window.onresize = null;
@@ -266,11 +279,33 @@ export default {
font-weight: 600;
color: #666;
- padding: 4px 0;
+ padding: 8px 0;
}
& > div {
+ display: flex;
+ align-items: flex-end;
+ justify-content: space-evenly;
font-weight: 900;
font-size: 18px;
+
+ padding: 0 10px;
+
+ & > span {
+ color: #999;
+ zoom: .75;
+
+ padding-left: 12px;
+ }
+ .el-icon-caret-bottom {
+ color: red;
+
+ padding-left: 6px;
+ }
+ .el-icon-caret-top {
+ color: green;
+
+ padding-left: 6px;
+ }
}
& + .compare {
@@ -283,6 +318,7 @@ export default {
margin-left: 60px;
.select-panel {
+ width: 100%;
display: flex;
justify-content: space-between;
@@ -297,6 +333,7 @@ export default {
}
#chart-panel {
+ width: 100%;
height: 320px;
}
}