<template>
|
<div class="container">
|
<div class="container-left">
|
<div
|
class="left-card"
|
v-for="(item, i) in menuArr"
|
:key="i"
|
:class="activePage == i ? 'left-card-active' : ''"
|
@click="openMenu(item, i)"
|
>
|
<img :src="item.img_black" class="icon iconfont icon_black" />
|
<img :src="item.img_white" class="icon iconfont icon_white" />
|
<span class="card-text">{{ item.name }}</span>
|
</div>
|
</div>
|
<systemClean v-if="activePage == 1" style="width: 100%" :free="free" :full="full" @refreshPercent="getLeftPer"></systemClean>
|
<updateSettings v-if="activePage == 0" style="width: 100%"></updateSettings>
|
<!-- <back-up v-if="activePage == 3" style="width: 100%"></back-up> -->
|
<restartSettings v-if="activePage == 2" style="width: 100%"></restartSettings>
|
<sysInfo v-if="activePage == 3" style="width: 100%"></sysInfo>
|
</div>
|
</template>
|
|
<script>
|
import {
|
freedisk
|
} from "@/api/system";
|
import { getUrlKey } from "@/api/utils";
|
import systemClean from "../views/systemClean";
|
import updateSettings from "../views/updateSettings";
|
// import BackUp from "../views/backUp";
|
import restartSettings from "../views/restartSettings";
|
import sysInfo from "../views/sysInfo";
|
export default {
|
name: "settings",
|
components: {
|
systemClean,
|
updateSettings,
|
// BackUp,
|
restartSettings,sysInfo
|
},
|
data() {
|
return {
|
menuArr: [
|
{ name: "更新设置" ,img_black:"/images/vindicate/更新设置-黑.png", img_white:"/images/vindicate/更新设置-白.png",},
|
{ name: "系统清理" ,img_black:"/images/vindicate/系统清理-黑.png", img_white:"/images/vindicate/系统清理-白.png",},
|
{ name: "重启设置" ,img_black:"/images/vindicate/重启设置-黑.png", img_white:"/images/vindicate/重启设置-白.png",},
|
{ name: "系统信息" ,img_black:"/images/vindicate/系统信息-黑.png", img_white:"/images/vindicate/系统信息-白.png",},
|
],
|
activePage: 0,
|
free: 0,
|
full: 0,
|
};
|
},
|
created() {
|
let color = localStorage.getItem('--colorCard')
|
if(color) {
|
document.documentElement.style.setProperty('--colorCard',`${color}`)
|
}
|
},
|
mounted() {
|
const menu = getUrlKey("menu");
|
if (menu) {
|
this.activePage = this.menuArr.findIndex((x) => x.name == menu);
|
// this.$nextTick(() => {
|
// this.$refs.netSettings.openRight(2);
|
// });
|
}
|
this.getLeftPer()
|
},
|
methods: {
|
openMenu(item, i) {
|
this.activePage = i;
|
},
|
getLeftPer(){
|
freedisk().then((res) => {
|
this.free = res.data.free
|
this.full = res.data.all
|
})
|
},
|
},
|
};
|
</script>
|
<style lang="scss">
|
.container {
|
height: 100%;
|
width: 100%;
|
display: flex;
|
flex-direction: row;
|
flex: 1;
|
flex-basis: auto;
|
box-sizing: border-box;
|
.container-left {
|
height: 100%;
|
width: 244px;
|
overflow: auto;
|
box-sizing: border-box;
|
flex-shrink: 0;
|
padding: 17px 10px 0 10px;
|
box-sizing: border-box;
|
background: #fff;
|
.left-card {
|
position: relative;
|
width: 224px;
|
height: 56px;
|
cursor: pointer;
|
border-radius: 8px;
|
margin-bottom: 4px;
|
display: flex;
|
background-color: #F2F2F7;
|
align-items: center;
|
.icon_white {
|
position: absolute;
|
top: 8px;
|
left: 0;
|
visibility: hidden;
|
}
|
.iconfont {
|
width: 40px;
|
height: 40px;
|
margin: 0 20px 0 20px;
|
background: #333333;
|
border-radius: 8px;
|
}
|
.card-text {
|
font-family: PingFang SC;
|
font-weight: 700;
|
font-size: 16px;
|
line-height: 22.4px;
|
}
|
}
|
.left-card-active {
|
color: #fff;
|
background-color: var(--colorCard);
|
.icon_black {
|
visibility: hidden;
|
}
|
.icon_white{
|
visibility: visible;
|
}
|
.iconfont {
|
color: #333333;
|
background-color: #fff;
|
}
|
}
|
|
.left-card:hover {
|
background-color: var(--colorCard);
|
color: #fff;
|
.iconfont {
|
color: #333333;
|
background-color: #fff;
|
}
|
.icon_black {
|
visibility: hidden;
|
}
|
.icon_white{
|
visibility: visible;
|
}
|
}
|
}
|
|
}
|
</style>
|