From 40e3b74c9b2b2fdb6d9db734e4f2456503d80b7c Mon Sep 17 00:00:00 2001
From: WXL <1785969728@qq.com>
Date: 星期三, 22 十一月 2023 15:57:48 +0800
Subject: [PATCH] 提交信息
---
src/views/index.vue | 767 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-----
1 files changed, 702 insertions(+), 65 deletions(-)
diff --git a/src/views/index.vue b/src/views/index.vue
index 26519f3..d44d565 100644
--- a/src/views/index.vue
+++ b/src/views/index.vue
@@ -1,87 +1,724 @@
<template>
- <div class="app-container home">
-
+ <div id="home">
+ <div class="home" style="margin-top: 40px; margin-left: 20px">
+ <!-- 澶撮儴涓や釜 -->
+ <el-row :gutter="20">
+ <el-col :span="10">
+ <!-- 灏辫瘖缁熻鐩掑瓙 -->
+ <div class="grid-content bg-purple headerBox bgc1">
+ <div class="title">
+ 灏辫瘖缁熻
+ <span>{{ endatd }} ~ {{ statd }}</span>
+ </div>
+ <el-row :gutter="20">
+ <el-col :span="6">
+ <div class="home-user-task-stats">
+ <p>{{ 12322 }}</p>
+ </div>
+ <div class="text-color2">
+ <p>灏辫瘖鎬绘暟锛堜釜锛�</p>
+ </div>
+ </el-col>
+ <el-col :span="6">
+ <div class="home-user-task-stats">
+ <p>{{ 1231 }}</p>
+ <div class="text-color2">
+ <p>鍦ㄩ櫌鎬绘暟锛堜汉锛�</p>
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="6">
+ <div class="home-user-task-stats">
+ <p>{{ ticketStatistics.progressTotal || "0" }}</p>
+ <div class="text-color2">
+ <p>绂婚櫌鎬绘暟锛堜汉锛�</p>
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="6">
+ <div class="home-user-task-stats">
+ <p>{{ 12 }}</p>
+ <div class="text-color2">
+ <p>鎶曡瘔鎬绘暟</p>
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ </el-col>
+ <el-col :span="7">
+ <div class="grid-content bg-purple headerBox bgc2">
+ <div class="title">
+ 鍖诲姟浜哄憳鏁伴噺
+ <span>{{ endatd }} ~ {{ statd }}</span>
+ </div>
+ <el-row :gutter="20">
+ <el-col :span="12">
+ <div class="home-user-task-stats">
+ <p style="color: red">{{ 3453 }}</p>
+ </div>
+ <div class="text-color2">
+ <p>鍖诲笀</p>
+ </div>
+ </el-col>
+ <el-col :span="12">
+ <div class="home-user-task-stats">
+ <p style="color: red">{{ 4213 }}</p>
+ <div class="text-color2">
+ <p>鎶ゅ+</p>
+ </div>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
+ </el-col>
+ </el-row>
+ <!-- 涓棿鍜屽彸杈� -->
+ <el-row :gutter="20">
+ <el-col :span="17">
+ <!-- echars鏁版嵁鍙鍖� -->
+ <div class="grid-content bg-purple" style="min-height: 365px">
+ <div class="title">
+ 灏辫瘖缁熻
+ <span>{{ endatd }} ~ {{ statd }}</span>
+ <el-radio-group
+ v-model="radio1"
+ size="mini"
+ style="margin-left: 390px"
+ @change="changes"
+ >
+ <el-radio-button label="鍛�" @click="dyat = 7"></el-radio-button>
+ <el-radio-button
+ label="鏈�"
+ @click="dyat = 30"
+ ></el-radio-button>
+ <el-radio-button
+ label="骞�"
+ @click="dyat = 360"
+ ></el-radio-button>
+ </el-radio-group>
+ </div>
+ <!-- 涓棿echars -->
+ <div class="boxEchars">
+ <div class="echars1" id="echars"></div>
+ <div class="echars2" id="echars2"></div>
+ </div>
+ </div>
+ </el-col>
+ <!-- 涓棿鍜屽彸杈� -->
+ <el-col :span="6" class="aside">
+ <div
+ class="grid-content bg-purple"
+ style="height: 560px; margin-top: -180px"
+ >
+ <div class="title">
+ 鎺ヨ瘖鎺掕
+ <span>{{ endatd }} ~ {{ statd }}</span>
+ </div>
+ <el-table style="width: 100%" :data="SkuTop">
+ <template v-for="(item, index) in SkuTop"></template>
+ <el-table-column
+ prop="order"
+ width="30"
+ style="background: url(~@/assets/order/4.png)"
+ type="index"
+
+ ></el-table-column>
+ <el-table-column
+ prop="skuName"
+ width="124"
+ class-name="name"
+
+ ></el-table-column>
+ <el-table-column
+ prop="count"
+ class-name="count"
+
+ ></el-table-column>
+ </el-table>
+ </div>
+ </el-col>
+ </el-row>
+ <!-- 搴曢儴涓�涓� -->
+ <el-row :gutter="20" style="margin-bottom: 20px">
+ <el-col :span="13">
+ <div class="grid-content bg-purple" style="min-height: 300px">
+ <div class="title">
+ 鍚堜綔鍟嗙偣浣嶆暟Top5
+ <span class="el-icon-s-unfold moreIcon"></span>
+ </div>
+ <div class="cooperate">
+ <!-- 鍚堜綔鍖哄煙 -->
+ <div class="pieChart" id="pieCharts"></div>
+ <div class="Points">
+ <p>{{ 122 }}</p>
+ <span>鐐逛綅鏁�</span>
+ <p>{{ 18 }}</p>
+ <span>鍚堜綔鍟�</span>
+ </div>
+ </div>
+ </div>
+ </el-col>
+ <el-col :span="10">
+ <div class="grid-content bg-purple" style="min-height: 300px">
+ <div class="title">
+ 寮傚父璁惧鐩戞帶
+ <span class="el-icon-s-unfold moreIcon2"></span>
+ </div>
+ <div class="empenty"></div>
+ </div>
+ </el-col>
+ </el-row>
+ </div>
</div>
</template>
<script>
+// import {
+// getUserWork,
+// getregionCollect,
+// getregionOrderCount,
+// getregionAmountCollect,
+// getNodeCount,
+// getPrtnerCount,
+// getnodeCollect,
+// getSkuTop,
+// getOrderAmount,
+// } from "@/api/home";
+import dayjs from "dayjs";
+
export default {
- name: "Index",
+ name: "home",
data() {
return {
- // 鐗堟湰鍙�
- version: "3.8.5"
+ NodeCount: "",
+ PrtnerCount: "",
+ NodeCount: "",
+ radio1: "鍛�",
+ ticketStatistics: {},
+ order: "",
+ Count: "",
+ datatni: [],
+ series: [],
+ tableData: [],
+ nodeCollect: [],
+ SkuTop: [],
+ cylinderSeries: [],
+ cylinderXAxis: [],
+ dyat: 30,
};
},
+
+ computed: {
+ // 鏃堕棿鍖哄煙
+ td() {
+ return dayjs().format("YYYY-MM-DD HH:mm:ss");
+ },
+ atd() {
+ return dayjs().subtract(this.dyat, "day").format("YYYY-MM-DD HH:mm:ss");
+ },
+ statd() {
+ return dayjs().format("YYYY-MM-DD");
+ },
+ endatd() {
+ return dayjs().subtract(this.dyat, "day").format("YYYY-MM-DD");
+ },
+ },
+ created() {
+ this.$nextTick(function () {
+ this.getregionAmountCollect();
+ this.getUserWorks();
+ this.getregionCollect();
+ this.getregionOrderCount();
+ this.getNodeCount();
+ this.getPrtnerCount();
+ this.getnodeCollect();
+ this.getSkuTop();
+ this.getOrderAmount();
+ })
+ },
+ mounted() {},
methods: {
- goTarget(href) {
- window.open(href, "_blank");
- }
- }
+ // 鏀瑰彉鏃堕棿浜嬩欢
+ changes() {
+ if (this.radio1 == "鍛�") {
+ this.dyat = 7;
+ } else if (this.radio1 == "鏈�") {
+ this.dyat = 30;
+ } else {
+ this.dyat = 360;
+ }
+ this.getregionAmountCollect();
+ this.getUserWorks();
+ this.getregionCollect();
+ this.getregionOrderCount();
+ this.getNodeCount();
+ this.getPrtnerCount();
+ this.getnodeCollect();
+ this.getSkuTop();
+ this.getOrderAmount();
+ },
+ // 鏌辩姸鍥�
+ async getOrderAmount() {
+ // const res = await getOrderAmount(this.endatd, this.statd);
+ // this.cylinderXAxis = res.data.xAxis;
+ // this.cylinderSeries = res.data.series;
+ this.cylinderXAxis = [
+ "1鏈�",
+ "2鏈�",
+ "3鏈�",
+ "4鏈�",
+ "5鏈�",
+ "6鏈�",
+ "7鏈�",
+ "8鏈�",
+ ];
+ this.cylinderSeries = [123, 123, 223, 212, 432, 123, 442, 234];
+ this.myEcharts();
+ },
+ // 鑾峰彇鐐逛綅鎬绘暟
+ async getNodeCount() {
+ // const res = await getNodeCount();
+ // this.NodeCount = res.data;
+ },
+ // 鑾峰彇鍚堜綔鍟嗘�绘暟
+ async getPrtnerCount() {
+ // const res = await getPrtnerCount();
+ // this.PrtnerCount = res.data;
+ },
+ // 鍚堜綔鍟嗙偣浣嶆眹鎬荤粺璁¢ゼ鐘跺浘
+ async getnodeCollect() {
+ // const res = await getnodeCollect();
+ // this.nodeCollect = res.data;
+ this.nodeCollect = [
+ { name: "娴欏ぇ涓�闄�", value: 12 },
+ { name: "娴欏ぇ浜岄櫌", value: 8 },
+ { name: "閲戝叞鍖婚櫌", value: 8 },
+ { name: "閭甸�稿か鍖婚櫌", value: 6 },
+ { name: "鐪佷汉姘戝尰闄�", value: 5 },
+ { name: "鏈濇櫀闄㈠尯", value: 4 },
+ ];
+ this.myPieChart();
+ },
+ // top鎺掕
+ async getSkuTop() {
+ // const res = await getSkuTop(10, this.endatd, this.statd);
+ // this.SkuTop = res.data;
+ this.SkuTop = [
+ { amount: 0, count: 123, skuId: "0", skuName: "鐜嬪ぇ澶�" },
+ { amount: 0, count: 122, skuId: "0", skuName: "鍚村ぇ澶�" },
+ { amount: 0, count: 112, skuId: "0", skuName: "鏉庝富浠�" },
+ { amount: 0, count: 111, skuId: "0", skuName: "寮犳姢澹�" },
+ { amount: 0, count: 102, skuId: "0", skuName: "鏉庢姢澹�" },
+ { amount: 0, count: 98, skuId: "0", skuName: "鍒樻姢澹�" },
+ { amount: 0, count: 89, skuId: "0", skuName: "椹ぇ澶�" },
+ { amount: 0, count: 88, skuId: "0", skuName: "椹ぇ澶�" },
+ { amount: 0, count: 87, skuId: "0", skuName: "椹ぇ澶�" },
+ { amount: 0, count: 67, skuId: "0", skuName: "椹ぇ澶�" },
+ ];
+ },
+ // 鑾峰彇宸ュ崟鏁伴噺
+ async getUserWorks() {
+ // const res = await getUserWork(this.atd, this.td);
+ // this.ticketStatistics = res.data[0];
+ },
+ // 鑾峰彇灏辫瘖鏁伴噺
+ async getregionOrderCount() {
+ // const res = await getregionOrderCount({
+ // start: this.atd,
+ // end: this.td,
+ // });
+
+ // this.order = res.data;
+ },
+ // 鑾峰彇鎬婚噺鏁伴噺
+ async getregionCollect() {
+ // const res = await getregionCollect({
+ // start: this.atd,
+ // end: this.td,
+ // });
+ // this.Count = (res.data / 1000000).toFixed(2);
+ },
+
+ // 鏌辩姸鍥�
+ myEcharts() {
+ // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
+ var echarts = require("echarts");
+ var myChart = echarts.init(document.getElementById("echars2"));
+
+ // 鎸囧畾鍥捐〃鐨勯厤缃」鍜屾暟鎹�
+ var option = {
+ title: {
+ text: "灏辫瘖鍒嗗竷",
+ left: "center",
+ },
+ grid: { top: "18%", left: "19%", right: "0%", bottom: "24%" },
+ xAxis: {
+ type: "category",
+ data: this.cylinderXAxis,
+ },
+ yAxis: {
+ type: "value",
+ name: "鍗曚綅/鍏�",
+ },
+ series: [
+ {
+ data: this.cylinderSeries,
+ barWidth: "5%",
+ type: "bar",
+ },
+ ],
+ };
+
+ // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆�
+ myChart.setOption(option);
+ },
+ // 鑾峰彇绾跨姸鍥炬椂闂�
+ async getregionAmountCollect() {
+ // const res = await getregionAmountCollect(1, this.endatd, this.statd);
+ // this.xAxis = res.data.xAxis;
+ // this.series = res.data.series;
+ this.xAxis = [
+ "1鏈�",
+ "2鏈�",
+ "3鏈�",
+ "4鏈�",
+ "5鏈�",
+ "6鏈�",
+ "7鏈�",
+ "8鏈�",
+ ];
+ this.series = [123, 123, 223, 212, 432, 123, 442, 234];
+ this.myEcharts2();
+ },
+ // 绾挎�у浘
+ myEcharts2() {
+ var echarts = require("echarts");
+ var myChart2 = echarts.init(document.getElementById("echars"));
+ var option2 = {
+ color: ["red"],
+ title: {
+ text: "灏辫瘖瓒嬪娍鍥�",
+ left: "center",
+ },
+ grid: { top: "18%", left: "17%", right: "0%", bottom: "24%" },
+ xAxis: {
+ type: "category",
+ data: this.xAxis,
+ boundaryGap: true,
+ },
+ yAxis: {
+ name: "鍗曚綅/鍏�",
+ type: "value",
+ },
+ series: [
+ {
+ data: this.series,
+ type: "line",
+ },
+ ],
+ };
+ myChart2.setOption(option2);
+ },
+ // 楗肩姸鍥�
+ myPieChart() {
+ // 鍩轰簬鍑嗗濂界殑dom锛屽垵濮嬪寲echarts瀹炰緥
+ var echarts = require("echarts");
+ var mypPieCharts = echarts.init(document.getElementById("pieCharts"));
+
+ // 鎸囧畾鍥捐〃鐨勯厤缃」鍜屾暟鎹�
+ var optionPie = {
+ title: {
+ left: "left",
+ },
+
+ tooltip: {
+ trigger: "item",
+ formatter: "{b}<br/>鎬诲崰姣� : {d}% ",
+ },
+ toolbox: {
+ show: true,
+ feature: {
+ mark: { show: true },
+ },
+ },
+ series: [
+ {
+ name: "鍚堜綔鍟嗙偣浣嶆暟Top5",
+ type: "pie",
+ radius: ["10%", "70%"],
+ center: ["50%", "50%"],
+ roseType: "radius",
+ data: this.nodeCollect,
+ },
+ ],
+ };
+
+ // 浣跨敤鍒氭寚瀹氱殑閰嶇疆椤瑰拰鏁版嵁鏄剧ず鍥捐〃銆�
+ mypPieCharts.setOption(optionPie);
+ },
+ },
};
</script>
-<style scoped lang="scss">
-.home {
- blockquote {
- padding: 10px 20px;
- margin: 0 0 20px;
- font-size: 17.5px;
- border-left: 5px solid #eee;
+<style lang="scss" scoped>
+* {
+ padding: 0;
+ margin: 0;
+}
+.boxEchars {
+ width: 100%;
+ height: 280px;
+ margin-top: 45px;
+ display: flex;
+ .echars1 {
+ flex: 1;
}
- hr {
- margin-top: 20px;
- margin-bottom: 20px;
- border: 0;
- border-top: 1px solid #eee;
+ .echars2 {
+ flex: 1;
}
- .col-item {
- margin-bottom: 20px;
- }
-
- ul {
- padding: 0;
- margin: 0;
- }
-
- font-family: "open sans", "Helvetica Neue", Helvetica, Arial, sans-serif;
- font-size: 13px;
- color: #676a6c;
- overflow-x: hidden;
-
- ul {
- list-style-type: none;
- }
-
- h4 {
- margin-top: 0px;
- }
-
- h2 {
- margin-top: 10px;
- font-size: 26px;
- font-weight: 100;
- }
-
- p {
- margin-top: 10px;
-
- b {
- font-weight: 700;
+}
+::v-deep .el-table {
+ td:first-child {
+ .cell {
+ display: inline-block;
+ text-align: center;
+ width: 22px;
+ height: 20px;
+ margin-left: 2px;
+ padding-left: 6px;
+ text-align: center;
+ white-space: nowrap;
+ font-size: 12px;
+ font-family: zihun143-zhengkuchaojihei, zihun143;
+ font-weight: 400;
+ line-height: 14px;
+ background: url(~@/assets/order/4.png) no-repeat;
+ color: #e9b499;
}
}
-
- .update-log {
- ol {
- display: block;
- list-style-type: decimal;
- margin-block-start: 1em;
- margin-block-end: 1em;
- margin-inline-start: 0;
- margin-inline-end: 0;
- padding-inline-start: 40px;
+ td:nth-child(2) {
+ .cell {
+ height: 20px;
+ font-size: 14px;
+ font-family: PingFangSC-Medium, PingFang SC;
+ font-weight: 500;
+ color: #333;
+ line-height: 20px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+ }
+ td:last-child {
+ height: 20px;
+ font-size: 14px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #737589;
+ line-height: 20px;
+ text-align: right;
+ }
+}
+::v-deep .el-table {
+ tr:nth-child(1) {
+ td:nth-child(1) {
+ .cell {
+ background: url(~@/assets/order/1.png);
+ color: #8e5900;
+ }
+ }
+ }
+ tr:nth-child(2) {
+ td:nth-child(1) {
+ .cell {
+ background: url(~@/assets/order/2.png);
+ color: #494949;
+ }
+ }
+ }
+ tr:nth-child(3) {
+ td:nth-child(1) {
+ .cell {
+ background: url(~@/assets/order/3.png);
+ color: #cf6d3d;
+ }
}
}
}
-</style>
+.moreIcon {
+ font-size: 22px !important;
+ margin-left: 400px !important;
+ color: #5f84ff !important;
+ cursor: pointer;
+}
+.moreIcon2 {
+ font-size: 22px !important;
+ margin-left: 250px !important;
+ color: #5f84ff !important;
+ cursor: pointer;
+}
+.empenty {
+ width: 100%;
+ height: 280px;
+}
+.cooperate {
+ width: 100%;
+ height: 280px;
+ margin-top: 25px;
+ display: flex;
+ .pieChart {
+ flex: 3;
+ }
+ .Points {
+ width: 154px;
+ height: 230px;
+ padding-top: 47px;
+ padding-left: 38px;
+ background: linear-gradient(135deg, transparent, #f8f8f9 0) 0 0,
+ linear-gradient(-135deg, transparent 12px, #f8f8f9 0) 100% 0,
+ linear-gradient(-45deg, transparent, #f8f8f9 0) 100% 100%,
+ linear-gradient(45deg, transparent 12px, #f8f8f9 0) 0 100%;
+ background-size: 50% 50%;
+ background-repeat: no-repeat;
+ p {
+ height: 33px;
+ margin-bottom: 10px;
+ font-size: 24px;
+ font-family: PingFangSC-Semibold, PingFang SC;
+ font-weight: 600;
+ color: #072074;
+ line-height: 33px;
+ }
+ span {
+ height: 17px;
+ margin-top: 6px;
+ font-size: 12px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #000412;
+ line-height: 17px;
+ }
+ }
+}
+.title {
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ font-size: 16px;
+ font-family: PingFangSC-Semibold, PingFang SC;
+ font-weight: 600;
+ color: #333;
+ padding-top: 17px;
+ padding-bottom: -4px;
+ span {
+ margin-left: 10px;
+ font-size: 12px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #999;
+ }
+}
+.bgc2 {
+ background: #fbefe8 url(~@/assets/dashboard/bg33.png) no-repeat
+ calc(100% - 12px) 100% !important;
+
+ .home-user-task-stats {
+ margin-top: 10px;
+ height: 50px;
+ font-size: 36px;
+ font-family: PingFangSC-Semibold, PingFang SC;
+ font-weight: 600;
+ line-height: 50px;
+ text-shadow: 2px 4px 7px rgb(255 99 85 / 50%);
+ }
+ .text-color2 {
+ height: 17px;
+ margin-top: 3px;
+ font-size: 12px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #ff5757;
+ line-height: 17px;
+ }
+}
+.bgc1 {
+ background: #e9f3ff !important;
+ background-image: url(~@/assets/dashboard/bg11.png),
+ url(~@/assets/dashboard/bg22.png) !important;
+ background-repeat: no-repeat, no-repeat !important;
+ background-position: 0 0, calc(100% - 12px) 100% !important;
+ .title {
+ -webkit-box-align: center;
+ -ms-flex-align: center;
+ align-items: center;
+ -webkit-box-flex: 1;
+ -ms-flex: 1;
+ flex: 1;
+ font-size: 16px;
+ font-family: PingFangSC-Semibold, PingFang SC;
+ font-weight: 600;
+ color: #333;
+ span {
+ margin-left: 10px;
+ font-size: 12px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #999;
+ }
+ }
+ .home-user-task-stats {
+ margin-top: 10px;
+ height: 50px;
+ font-size: 36px;
+ font-family: PingFangSC-Semibold, PingFang SC;
+ font-weight: 600;
+ line-height: 50px;
+ text-shadow: 2px 4px 7px rgb(85 132 255 / 50%);
+ }
+ .text-color2 {
+ height: 17px;
+ margin-top: 3px;
+ font-size: 12px;
+ font-family: PingFangSC-Regular, PingFang SC;
+ font-weight: 400;
+ color: #91a7dc;
+ line-height: 17px;
+ }
+}
+.headerBox {
+ height: 150px;
+ padding: 25px;
+}
+.el-row {
+ margin-bottom: 20px;
+ &:last-child {
+ margin-bottom: 0;
+ }
+}
+.el-col {
+ border-radius: 4px;
+}
+.bg-purple-dark {
+ background: #99a9bf;
+}
+.bg-purple {
+ background: #fff;
+}
+.bg-purple-light {
+ background: #e5e9f2;
+}
+.grid-content {
+ min-height: 36px;
+ border-radius: 20px;
+ padding: 0 20px;
+}
+.row-bg {
+ padding: 10px 0;
+ background-color: #f9fafc;
+}
+</style>
--
Gitblit v1.9.3