| | |
| | | :class="activePage == i ? 'left-card-active' : ''" |
| | | @click="openMenu(item, i)" |
| | | > |
| | | <span class="icon iconfont">{{item.icon}}</span> |
| | | <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%" :percent="storagePercent"></systemClean> |
| | | <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> |
| | | <!-- <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 { |
| | | getClockInfo, |
| | | saveClockInfo, |
| | | testNTPserver,freedisk |
| | | 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 BackUp from "../views/backUp"; |
| | | import restartSettings from "../views/restartSettings"; |
| | | import sysInfo from "../views/sysInfo"; |
| | | export default { |
| | | name: "settings", |
| | | components: { |
| | | systemClean, |
| | | updateSettings, |
| | | BackUp, |
| | | restartSettings, |
| | | // BackUp, |
| | | restartSettings,sysInfo |
| | | }, |
| | | data() { |
| | | return { |
| | | menuArr: [ |
| | | { name: "更新设置" ,icon:"\ue60f" }, |
| | | // { name: "备份还原",icon:"" }, |
| | | { name: "系统清理" ,icon:"\ue6e0" }, |
| | | { name: "重启设置" ,icon:"" }, |
| | | { 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, |
| | | storagePercent: 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: { |
| | |
| | | }, |
| | | getLeftPer(){ |
| | | freedisk().then((res) => { |
| | | this.storagePercent = Math.round(res.data.free/ res.data.all *100) |
| | | this.free = res.data.free |
| | | this.full = res.data.all |
| | | }) |
| | | }, |
| | | }, |
| | |
| | | <style lang="scss"> |
| | | .container { |
| | | height: 100%; |
| | | width: 100%; |
| | | display: flex; |
| | | flex-direction: row; |
| | | flex: 1; |
| | |
| | | box-sizing: border-box; |
| | | .container-left { |
| | | height: 100%; |
| | | width: 240px; |
| | | |
| | | width: 244px; |
| | | overflow: auto; |
| | | box-sizing: border-box; |
| | | flex-shrink: 0; |
| | | padding: 10px; |
| | | border-right: 5px solid rgba(248, 248, 248, 1); |
| | | padding: 17px 10px 0 10px; |
| | | box-sizing: border-box; |
| | | background: #fff; |
| | | .left-card { |
| | | height: 50px; |
| | | position: relative; |
| | | width: 224px; |
| | | height: 56px; |
| | | cursor: pointer; |
| | | border-radius: 10px; |
| | | margin-bottom: 10px; |
| | | display: flex; background-color: #f8f8f8; |
| | | |
| | | 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 { |
| | | margin-left: 15px; |
| | | margin-right: 10px; |
| | | font-size: 18px; |
| | | width: 40px; |
| | | height: 40px; |
| | | margin: 0 20px 0 20px; |
| | | background: #333333; |
| | | border-radius: 8px; |
| | | } |
| | | .card-text { |
| | | font-size: 15px; |
| | | font-family: PingFang SC; |
| | | font-weight: 700; |
| | | font-size: 16px; |
| | | line-height: 22.4px; |
| | | } |
| | | } |
| | | .left-card-active { |
| | | color: #fff; |
| | | background-color: rgba(61, 104, 225, 1); |
| | | background-color: var(--colorCard); |
| | | .icon_black { |
| | | visibility: hidden; |
| | | } |
| | | .icon_white{ |
| | | visibility: visible; |
| | | } |
| | | .iconfont { |
| | | color: #333333; |
| | | background-color: #fff; |
| | | } |
| | | } |
| | | |
| | | .left-card:hover { |
| | | background-color: rgba(61, 104, 225, 1); |
| | | background-color: var(--colorCard); |
| | | color: #fff; |
| | | .iconfont { |
| | | color: #333333; |
| | | background-color: #fff; |
| | | } |
| | | .icon_black { |
| | | visibility: hidden; |
| | | } |
| | | .icon_white{ |
| | | visibility: visible; |
| | | } |
| | | } |
| | | } |
| | | |