|
@@ -0,0 +1,554 @@
|
|
|
+<template>
|
|
|
+ <div class="mainPagePanel">
|
|
|
+ <div>
|
|
|
+ <toolbarTab
|
|
|
+ :isConnect="true"
|
|
|
+ position="top"
|
|
|
+ :subPageActiveName="subPageActiveName"
|
|
|
+ :toolbarItem="pageBtnList"
|
|
|
+ @toolbarClick="pageControl"
|
|
|
+ >
|
|
|
+ </toolbarTab>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div v-if="activitedPageNum === 1" class="tabBox">
|
|
|
+ <div class="boxContent">
|
|
|
+ <div class="titlePanel">
|
|
|
+ <div class="titlePanelBor">硬件监控</div>
|
|
|
+ </div>
|
|
|
+ <ul class="listPanel">
|
|
|
+ <li class="shadowBox colorA">
|
|
|
+ <span></span>
|
|
|
+ <b>服务器数量</b>
|
|
|
+ <i>1000</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox colorB">
|
|
|
+ <span></span>
|
|
|
+ <b>内存使用率</b>
|
|
|
+ <i>10%</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox colorC">
|
|
|
+ <span></span>
|
|
|
+ <b>磁盘占用率</b>
|
|
|
+ <i>20%</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox colorD">
|
|
|
+ <span></span>
|
|
|
+ <b>CPU使用率</b>
|
|
|
+ <i>30%</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox colorE">
|
|
|
+ <span></span>
|
|
|
+ <b>GPU使用率</b>
|
|
|
+ <i>60%</i>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="boxContent">
|
|
|
+ <div class="titlePanel">
|
|
|
+ <div class="titlePanelBor">服务监控</div>
|
|
|
+ </div>
|
|
|
+ <ul class="listPanel listPanelB">
|
|
|
+ <li class="shadowBox">
|
|
|
+ <b>用户数量</b>
|
|
|
+ <i>1000</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox">
|
|
|
+ <b>当前在线人数</b>
|
|
|
+ <i>1000</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox">
|
|
|
+ <b>仿真节点数量</b>
|
|
|
+ <i>1000</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox">
|
|
|
+ <b>仿真软件license占用数量</b>
|
|
|
+ <i>1000</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox">
|
|
|
+ <b>动力学软件license占用数量</b>
|
|
|
+ <i>1000</i>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="boxContent">
|
|
|
+ <div class="titlePanel">
|
|
|
+ <div class="titlePanelBor">日访问人数</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <line-chart></line-chart>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="boxContent">
|
|
|
+ <div class="titlePanel">
|
|
|
+ <div class="titlePanelBor">服务器监控</div>
|
|
|
+ </div>
|
|
|
+ <div>
|
|
|
+ <tableList
|
|
|
+ :columns="columns"
|
|
|
+ :getDataWay="getDataWay"
|
|
|
+ :pagination="pagination"
|
|
|
+ index
|
|
|
+ >
|
|
|
+ </tableList>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div v-if="activitedPageNum === 2" class="tabBox">
|
|
|
+ <div class="boxContent">
|
|
|
+ <div class="titlePanel">
|
|
|
+ <div class="titlePanelBor">数据橄榄</div>
|
|
|
+ </div>
|
|
|
+ <ul class="listPanel listPanelB listPanelC">
|
|
|
+ <li class="shadowBox">
|
|
|
+ <b>场景数量</b>
|
|
|
+ <i>1000</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox">
|
|
|
+ <b>车辆配置数量</b>
|
|
|
+ <i>1000</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox">
|
|
|
+ <b>算法文件数量</b>
|
|
|
+ <i>1000</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox">
|
|
|
+ <b>算法地址数量</b>
|
|
|
+ <i>1000</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox">
|
|
|
+ <b>最大并发数量</b>
|
|
|
+ <i>1000</i>
|
|
|
+ </li>
|
|
|
+ <li class="shadowBox">
|
|
|
+ <b>当前并发数量</b>
|
|
|
+ <i>1000</i>
|
|
|
+ </li>
|
|
|
+ </ul>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="boxContent">
|
|
|
+ <div>
|
|
|
+ <el-tabs
|
|
|
+ v-model="activitedPageNumA"
|
|
|
+ type="card"
|
|
|
+ @tab-click="pageControlA"
|
|
|
+ >
|
|
|
+ <el-tab-pane label="运行项目" name="1">
|
|
|
+ <div>
|
|
|
+ <line-chart></line-chart>
|
|
|
+ </div>
|
|
|
+ </el-tab-pane>
|
|
|
+ <el-tab-pane label="运行任务" name="2">
|
|
|
+ <div>
|
|
|
+ <line-chart1></line-chart1>
|
|
|
+ </div>
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div class="boxContent">
|
|
|
+ <div class="titlePanel">
|
|
|
+ <div class="titlePanelBor">状态统计</div>
|
|
|
+ </div>
|
|
|
+ <div class="pieBox">
|
|
|
+ <div class="shadowBox">
|
|
|
+ <div class="title">项目运行状态统计</div>
|
|
|
+ <pie-chart></pie-chart>
|
|
|
+ </div>
|
|
|
+ <div class="shadowBox shadowBoxB">
|
|
|
+ <div class="title">任务运行状态统计</div>
|
|
|
+ <pie-chart1></pie-chart1>
|
|
|
+ </div>
|
|
|
+ <div class="shadowBox">
|
|
|
+ <div class="title">评测等级分布</div>
|
|
|
+ <pie-chart2></pie-chart2>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+</template>
|
|
|
+
|
|
|
+<script>
|
|
|
+import toolbarTab from "@/components/toolbar/toolbarTab";
|
|
|
+import tableList from "@/components/grid/TableList";
|
|
|
+import LineChart from "../components/echarts/lineChart";
|
|
|
+import LineChart1 from "../components/echarts/lineChart1";
|
|
|
+import pieChart from "../components/echarts/pieChart";
|
|
|
+import pieChart1 from "../components/echarts/pieChart1";
|
|
|
+import pieChart2 from "../components/echarts/pieChart2";
|
|
|
+
|
|
|
+export default {
|
|
|
+ name: "mainPage", // 首页
|
|
|
+ components: {
|
|
|
+ toolbarTab,
|
|
|
+ tableList,
|
|
|
+ LineChart,
|
|
|
+ LineChart1,
|
|
|
+ pieChart,
|
|
|
+ pieChart1,
|
|
|
+ pieChart2,
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ activitedPageNum: 1,
|
|
|
+ subPageActiveName: 1,
|
|
|
+ activitedPageNumA: "1",
|
|
|
+ subPageActiveNameA: 1,
|
|
|
+ pageBtnList: [
|
|
|
+ {
|
|
|
+ type: "primary",
|
|
|
+ title: "系统监控",
|
|
|
+ key: "all",
|
|
|
+ fromId: 1,
|
|
|
+ method: "showAll",
|
|
|
+ plain: true,
|
|
|
+ disabled: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "primary",
|
|
|
+ title: "系统概览",
|
|
|
+ key: "notRead",
|
|
|
+ fromId: 2,
|
|
|
+ method: "showNotRead",
|
|
|
+ plain: true,
|
|
|
+ disabled: false,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ pageBtnListA: [
|
|
|
+ {
|
|
|
+ type: "primary",
|
|
|
+ title: "运行项目",
|
|
|
+ key: "all",
|
|
|
+ fromId: 1,
|
|
|
+ method: "showAllA",
|
|
|
+ plain: true,
|
|
|
+ disabled: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ type: "primary",
|
|
|
+ title: "运行任务",
|
|
|
+ key: "notRead",
|
|
|
+ fromId: 2,
|
|
|
+ method: "showNotReadA",
|
|
|
+ plain: true,
|
|
|
+ disabled: false,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ columns: [
|
|
|
+ {
|
|
|
+ label: "服务器ID",
|
|
|
+ prop: "id",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "服务器地址",
|
|
|
+ prop: "ktName",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "服务器类型",
|
|
|
+ prop: "jbSource",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "CPU使用率",
|
|
|
+ prop: "startDateStr",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "内存使用率",
|
|
|
+ prop: "endDateStr",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "可用内存",
|
|
|
+ prop: "projectDateStr",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "磁盘使用率",
|
|
|
+ prop: "cgInfos",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "剩余容量",
|
|
|
+ prop: "endDateStr",
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "执行任务数量",
|
|
|
+ prop: "projectDateStr",
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ columnsA: [
|
|
|
+ {
|
|
|
+ label: "配置ID",
|
|
|
+ prop: "id",
|
|
|
+ // width: 110,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "配置名称",
|
|
|
+ prop: "ktName",
|
|
|
+ // template: true,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "配置描述",
|
|
|
+ prop: "jbSource",
|
|
|
+ // width: 130,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "车辆名称",
|
|
|
+ prop: "startDateStr",
|
|
|
+ width: 120,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "车辆描述",
|
|
|
+ prop: "endDateStr",
|
|
|
+ width: 120,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "传感器配置",
|
|
|
+ prop: "projectDateStr",
|
|
|
+ width: 120,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: "操作",
|
|
|
+ prop: "cgInfos",
|
|
|
+ template: true,
|
|
|
+ },
|
|
|
+ ],
|
|
|
+ pagination: {
|
|
|
+ //分页使用
|
|
|
+ currentPage: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ position: "right",
|
|
|
+ pageSizes: [10, 30, 50, 100, 200],
|
|
|
+ layout: "sizes, total, prev, pager, next, jumper",
|
|
|
+ },
|
|
|
+ paginationA: {
|
|
|
+ //分页使用
|
|
|
+ currentPage: 1,
|
|
|
+ pageSize: 10,
|
|
|
+ position: "right",
|
|
|
+ pageSizes: [10, 30, 50, 100, 200],
|
|
|
+ layout: "sizes, total, prev, pager, next, jumper",
|
|
|
+ },
|
|
|
+ getDataWay: {
|
|
|
+ //加载表格数据
|
|
|
+ dataType: "data",
|
|
|
+ type: "post",
|
|
|
+ firstRequest: false,
|
|
|
+ data: [
|
|
|
+ {
|
|
|
+ id: 1,
|
|
|
+ ktName: "kjdhfkjsdhfkjsjhdfksdjhfkhwoieyrhfisdhfksjhdf",
|
|
|
+ jbSource: "收到就好付款时间的回复可见收到货覅无痕",
|
|
|
+ },
|
|
|
+ { id: 2 },
|
|
|
+ { id: 3 },
|
|
|
+ { id: 4 },
|
|
|
+ { id: 5 },
|
|
|
+ { id: 6 },
|
|
|
+ ],
|
|
|
+ // data: this.$api.scientificStatistics.typeProjectStatistics,
|
|
|
+ param: {},
|
|
|
+ },
|
|
|
+ getDataWayA: {
|
|
|
+ //加载表格数据
|
|
|
+ dataType: "data",
|
|
|
+ type: "post",
|
|
|
+ firstRequest: false,
|
|
|
+ data: [
|
|
|
+ {
|
|
|
+ id: 6,
|
|
|
+ ktName: "沃尔沃二",
|
|
|
+ jbSource: "收到就好付款时间的回复可见收到货覅无痕",
|
|
|
+ },
|
|
|
+ { id: 66 },
|
|
|
+ {
|
|
|
+ id: 666,
|
|
|
+ tName: "沃尔沃二",
|
|
|
+ jbSource: "收到就好付款时间的回复可见收到货覅无痕",
|
|
|
+ },
|
|
|
+ { id: 6666 },
|
|
|
+ { id: 51 },
|
|
|
+ { id: 6 },
|
|
|
+ ],
|
|
|
+ // data: this.$api.scientificStatistics.typeProjectStatistics,
|
|
|
+ param: {},
|
|
|
+ },
|
|
|
+ };
|
|
|
+ },
|
|
|
+
|
|
|
+ computed: {},
|
|
|
+
|
|
|
+ methods: {
|
|
|
+ pageControl(data) {
|
|
|
+ this.activitedPageNum = data.fromId;
|
|
|
+ },
|
|
|
+ pageControlA(data) {
|
|
|
+ this.activitedPageNumA = data.name;
|
|
|
+ },
|
|
|
+ addConfig() {
|
|
|
+ this.$router.push({ path: "/addVehicleConfiguration" });
|
|
|
+ },
|
|
|
+ addMarkDia() {},
|
|
|
+ },
|
|
|
+
|
|
|
+ // mounted() {},
|
|
|
+};
|
|
|
+</script>
|
|
|
+
|
|
|
+<style lang='less' scoped>
|
|
|
+.mainPagePanel {
|
|
|
+ padding: 20px;
|
|
|
+
|
|
|
+ .tabBox {
|
|
|
+ padding: 30px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .boxContent {
|
|
|
+ padding-bottom: 40px;
|
|
|
+
|
|
|
+ .titlePanel {
|
|
|
+ padding-bottom: 20px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .listPanel {
|
|
|
+ display: flex;
|
|
|
+ flex-wrap: wrap;
|
|
|
+ color: @themeColor;
|
|
|
+
|
|
|
+ li {
|
|
|
+ width: 300px;
|
|
|
+ display: flex;
|
|
|
+ height: 120px;
|
|
|
+ padding: 24px;
|
|
|
+ margin-right: 54px;
|
|
|
+ margin-bottom: 20px;
|
|
|
+ justify-content: space-between;
|
|
|
+ align-items: center;
|
|
|
+
|
|
|
+ span,
|
|
|
+ i,
|
|
|
+ b {
|
|
|
+ display: inline-block;
|
|
|
+ font-weight: normal;
|
|
|
+ font-style: normal;
|
|
|
+ }
|
|
|
+
|
|
|
+ b {
|
|
|
+ font-size: 18px;
|
|
|
+ }
|
|
|
+
|
|
|
+ i {
|
|
|
+ font-size: 36px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .colorA {
|
|
|
+ color: @themeColor;
|
|
|
+
|
|
|
+ span {
|
|
|
+ width: 36px;
|
|
|
+ height: 38px;
|
|
|
+ background: url("../assets/common/image/index/hw1.png")
|
|
|
+ center center no-repeat;
|
|
|
+ background-size: contain;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .colorB {
|
|
|
+ color: #8479ff;
|
|
|
+
|
|
|
+ span {
|
|
|
+ width: 36px;
|
|
|
+ height: 38px;
|
|
|
+ background: url("../assets/common/image/index/hw2.png")
|
|
|
+ center center no-repeat;
|
|
|
+ background-size: contain;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .colorC {
|
|
|
+ color: #ffc935;
|
|
|
+
|
|
|
+ span {
|
|
|
+ width: 36px;
|
|
|
+ height: 38px;
|
|
|
+ background: url("../assets/common/image/index/hw3.png")
|
|
|
+ center center no-repeat;
|
|
|
+ background-size: contain;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .colorD {
|
|
|
+ color: #bf5bff;
|
|
|
+
|
|
|
+ span {
|
|
|
+ width: 36px;
|
|
|
+ height: 38px;
|
|
|
+ background: url("../assets/common/image/index/hw4.png")
|
|
|
+ center center no-repeat;
|
|
|
+ background-size: contain;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ .colorE {
|
|
|
+ color: #ff6161;
|
|
|
+
|
|
|
+ span {
|
|
|
+ width: 36px;
|
|
|
+ height: 38px;
|
|
|
+ background: url("../assets/common/image/index/hw5.png")
|
|
|
+ center center no-repeat;
|
|
|
+ background-size: contain;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .listPanelB {
|
|
|
+ li {
|
|
|
+ display: block;
|
|
|
+
|
|
|
+ i,
|
|
|
+ b {
|
|
|
+ display: block;
|
|
|
+ line-height: 1;
|
|
|
+ text-align: center;
|
|
|
+ }
|
|
|
+
|
|
|
+ b {
|
|
|
+ padding-bottom: 15px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .listPanelC {
|
|
|
+ li {
|
|
|
+ width: 260px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .pieBox {
|
|
|
+ display: flex;
|
|
|
+
|
|
|
+ > div {
|
|
|
+ flex: 1;
|
|
|
+ width: 30%;
|
|
|
+
|
|
|
+ }
|
|
|
+ .title {
|
|
|
+ padding-top: 24px;
|
|
|
+ padding-bottom: 24px;
|
|
|
+ text-align: center;
|
|
|
+ font-size: 18px;
|
|
|
+ font-weight: bold;
|
|
|
+ }
|
|
|
+
|
|
|
+ .shadowBoxB {
|
|
|
+ margin: 0 50px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ /deep/ .el-tabs__item.is-active {
|
|
|
+ color: @themeColor;
|
|
|
+ }
|
|
|
+}
|
|
|
+</style>
|