src/components/index.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
src/components/mainIfo.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
src/components/index.vue
@@ -28,9 +28,9 @@ </li> </ul> </div> <div v-if="layout === 'two-columns'" class="two-columns"> <div v-show="layout === 'two-columns'" class="two-columns"> <div class="contentTop"> <div class="left-content wh1"> <div class="left-content wh1" @click="jumpTo('XXæ¦å¿µå¼åä¸éªè¯å¹³å°')"> <div class="leftTopBox"> <img src="../assets/img/index/1.png" alt /> <img src="../assets/img/index/å³åç®å¤´.png" alt /> @@ -42,7 +42,7 @@ <img src="../assets/img/index/icon.png" alt /> </div> </div> <div class="right-content wh1"> <div class="right-content wh1" @click="jumpTo('XXä½ç³»è®¾è®¡ä¸è¯ä¼°å¹³å°')"> <div class="leftTopBox"> <img src="../assets/img/index/2.png" alt /> <img src="../assets/img/index/å³åç®å¤´.png" alt /> @@ -56,7 +56,7 @@ </div> </div> <div class="contentMid"> <div class="left-content wh1"> <div class="left-content wh1" @click="jumpTo('XXæ¹æ¡æ¨æ¼ä¸åæå¹³å°')"> <div class="leftTopBox"> <img src="../assets/img/index/3.png" alt /> <img src="../assets/img/index/å³åç®å¤´.png" alt /> @@ -68,7 +68,7 @@ <img src="../assets/img/index/icon.png" alt /> </div> </div> <div class="right-content wh1"> <div class="right-content wh1" @click="jumpTo('XXåæ°ä¸XXè¿ç¨ç ç©¶å¹³å°')"> <div class="leftTopBox"> <img src="../assets/img/index/4.png" alt /> <img src="../assets/img/index/å³åç®å¤´.png" alt /> @@ -82,7 +82,7 @@ </div> </div> <div class="contentBot"> <div class="left-content wh1"> <div class="left-content wh1" @click="jumpTo('XX综åéæç 讨å ')"> <div class="imgL"> <img src="../assets/img/index/ææ¥ä½ç³».png" alt /> </div> @@ -98,20 +98,25 @@ <h2>æ¯æåç³»ç»</h2> </div> <div class="right-content"> <div class="industryMes wh2" v-for="(item, index) in mesList" :key="index"> <div class="industryMes wh2" v-for="(item, index) in mesList" :key="index" @click="jumpTo(item.name)" > <img :src="item.src" class="topImg" alt /> <h3 class="topMes">{{ item.name }}</h3> </div> </div> </div> </div> <div v-else class="three-columns"> <div v-show="layout === 'three-columns'" class="three-columns"> <div class="infoBox"> <!-- <mainIfo></mainIfo> --> <mainIfo></mainIfo> </div> <div class="mainBox"> <div class="contentTop"> <div class="left-content wh1"> <div class="left-content wh1" @click="jumpTo('XX综åéæç 讨å ')"> <div class="leftTopBox"> <img src="../assets/img/index/1.png" alt /> <img src="../assets/img/index/å³åç®å¤´.png" alt /> @@ -123,7 +128,7 @@ <img src="../assets/img/index/icon.png" alt /> </div> </div> <div class="right-content wh1"> <div class="right-content wh1" @click="jumpTo('XX综åéæç 讨å ')"> <div class="leftTopBox"> <img src="../assets/img/index/2.png" alt /> <img src="../assets/img/index/å³åç®å¤´.png" alt /> @@ -137,7 +142,7 @@ </div> </div> <div class="contentMid"> <div class="left-content wh1"> <div class="left-content wh1" @click="jumpTo('XX综åéæç 讨å ')"> <div class="leftTopBox"> <img src="../assets/img/index/3.png" alt /> <img src="../assets/img/index/å³åç®å¤´.png" alt /> @@ -149,7 +154,7 @@ <img src="../assets/img/index/icon.png" alt /> </div> </div> <div class="right-content wh1"> <div class="right-content wh1" @click="jumpTo('XX综åéæç 讨å ')"> <div class="leftTopBox"> <img src="../assets/img/index/4.png" alt /> <img src="../assets/img/index/å³åç®å¤´.png" alt /> @@ -163,7 +168,7 @@ </div> </div> <div class="contentBot"> <div class="left-content wh1"> <div class="left-content wh1" @click="jumpTo('XX综åéæç 讨å ')"> <div class="textBox"> <h1>XX综åéæç 讨å </h1> </div> @@ -180,7 +185,12 @@ <h2>æ¯æåç³»ç»</h2> </div> <div class="right-content"> <div class="industryMes wh2" v-for="(item, index) in mesList2" :key="index"> <div class="industryMes wh2" v-for="(item, index) in mesList2" :key="index" @click="jumpTo(item.name)" > <img :src="item.src" class="topImg" alt /> <h3 class="topMes">{{ item.name }}</h3> </div> @@ -193,11 +203,11 @@ </template> <script> // import mainIfo from './mainIfo.vue'; import mainIfo from "./mainIfo.vue"; export default { name: "index", // components: { mainIfo }, components: { mainIfo }, data() { return { topTitle: "XXå®éªæ¡ä»¶å»ºè®¾", @@ -251,7 +261,46 @@ this.layout = this.layout === "three-columns" ? "two-columns" : "three-columns"; }, jumpTo(name) { switch (name) { case "XXæ¦å¿µå¼åä¸éªè¯å¹³å°": console.log(name); // window.open(""); break; case "XXä½ç³»è®¾è®¡ä¸è¯ä¼°å¹³å°": console.log(name); // window.open(""); break; case "XXæ¹æ¡æ¨æ¼ä¸åæå¹³å°": console.log(name); // window.open(""); break; case "XXåæ°ä¸XXè¿ç¨ç ç©¶å¹³å°": // window.open(""); console.log(name); break; case "XX综åéæç 讨å ": // window.open(""); console.log(name); break; case "æå¿æ¾ç¤ºåç³»ç»": // window.open(""); console.log(name); break; case "æ°æ®ç®¡çåç³»ç»": // window.open(""); console.log(name); break; case "è£ å¤åº": // window.open(""); console.log(name); break; case "仿çèµæºç®¡çåç³»ç»": // window.open(""); console.log(name); break; } } } }; </script> @@ -342,8 +391,7 @@ align-items: center; justify-content: space-evenly; } .contentTop, .contentMid { .contentTop { .left-content, .right-content { background: url("../assets/img/index//boxBg.png") center center/100% 100% @@ -389,6 +437,99 @@ width: 100%; height: 100%; } } } } .contentMid .left-content { background: url("../assets/img/index//boxBg.png") center center/100% 100% no-repeat; padding: 30px; height: 90%; width: 40%; display: flex; align-items: center; justify-content: space-evenly; box-sizing: border-box; position: relative; .leftTopBox { position: absolute; top: 20px; left: 40px; width: 100px; height: 30px; background: url("../assets/img/index//arrow.png") center center/100% 100% no-repeat; display: flex; justify-content: space-around; img { display: block; height: 100%; } } .textBox { // background-color: #fff; h1 { font-size: 42px; width: 6em; font-family: AdobeHeitiStd-Regular; color: #fff; } } .imgBox { width: 180px; height: 180px; // background-color: #bfa; img { width: 100%; height: 100%; } } } .contentMid .right-content { background: url("../assets/img/index//boxBg.png") center center/100% 100% no-repeat; padding: 30px; height: 90%; width: 40%; display: flex; align-items: center; justify-content: space-evenly; box-sizing: border-box; position: relative; .leftTopBox { position: absolute; top: 20px; left: 40px; width: 100px; height: 30px; background: url("../assets/img/index//arrow.png") center center/100% 100% no-repeat; display: flex; justify-content: space-around; img { display: block; height: 100%; } } .textBox { // background-color: #fff; h1 { font-size: 42px; width: 6em; font-family: AdobeHeitiStd-Regular; color: #fff; } } .imgBox { width: 180px; height: 180px; // background-color: #bfa; img { width: 100%; height: 100%; } } } @@ -497,10 +638,17 @@ justify-content: space-around; overflow: auto; .infoBox { width: 25%; width: 26%; height: 100%; // background-color: #bfa; } .mainBox { width: 70%; display: flex; justify-content: space-evenly; flex-direction: column; align-items: center; // background-color: #bfa; width: 74%; height: 100%; .contentTop, .contentMid, @@ -612,7 +760,7 @@ .fxtTitle { position: absolute; top: 50px; left: 51.5%; left: 51%; color: #fff; h2 { font-size: 28px; src/components/mainIfo.vue
¶Ô±ÈÐÂÎļþ @@ -0,0 +1,314 @@ <template> <div class="contentBox"> <div class="meuItem"> <div class="userInfo"></div> <div class="userMesg"> <div> <div>ç¨æ·å:{{ userNmae }}</div> <div>èä½:{{ userInfo }}</div> </div> </div> <div class="userMenu"> <span>{{ loginTime }}</span> <el-button plain type="info" size="small">ç»åº</el-button> </div> </div> <div class="menuList"> <div class="itemMenu" v-for="(item, key) in menuList" :key="key"> <div>{{ item.name }}</div> <div>{{ item.val }}</div> </div> </div> <div class="menuBox"> <div class="title">常ç¨ç³»ç»ç»è®¡</div> <div class="menuContent"> <dv-scroll-board :config="configList1" /> </div> </div> <div class="menuBox"> <div class="title">ç³»ç»ç»å½æ¥å¿</div> <div class="menuContent"> <dv-scroll-board :config="configList2" /> </div> </div> <div class="menuBox"> <div class="title">ç³»ç»ç¶æä¿¡æ¯</div> <div class="menuEchart"> <div class="myEcahrt"> <span>CPUå æ¯</span> <div id="echart1"></div> <!-- <dv-water-level-pond :config="config" style="width:150px;height:200px" /> --> <!-- <div> <dv-percent-pond :config="config" style="margin-top:10px;width:70px;height:30px;" /> </div>--> </div> <div class="myEcahrt"> <span>å åå æ¯</span> <div id="echart2"></div> </div> <div class="myEcahrt"> <span>æ§è½å æ¯</span> <div id="echart3"></div> </div> </div> </div> </div> </template> <script> import * as echarts from "echarts"; import "echarts-liquidfill"; export default { data() { return { loginTime: null, userNmae: "Admin", userInfo: "ç³»ç»ç®¡çå", menuList: [ { name: "PVç»è®¡", val: 30 }, { name: "è®¿é®æ°é", val: 30 }, { name: "æ°å¢ç¨æ·ç»è®¡", val: 30 } ], config: { data: [66, 45], shape: "roundRect" }, configList1: { // header: ["å1", "å2", "å3"], data: [ ["è¡1å1", "è¡1å2", "è¡1å3"], ["è¡2å1", "è¡2å2", "è¡2å3"], ["è¡3å1", "è¡3å2", "è¡3å3"], ["è¡4å1", "è¡4å2", "è¡4å3"], ["è¡5å1", "è¡5å2", "è¡5å3"], ["è¡6å1", "è¡6å2", "è¡6å3"] ], index: false, align: ["center"] }, configList2: { // header: ["å1", "å2", "å3"], data: [ ["è¡1å1", "è¡1å2", "è¡1å3"], ["è¡2å1", "è¡2å2", "è¡2å3"], ["è¡3å1", "è¡3å2", "è¡3å3"], ["è¡4å1", "è¡4å2", "è¡4å3"], ["è¡5å1", "è¡5å2", "è¡5å3"], ["è¡6å1", "è¡6å2", "è¡6å3"] ], index: true, align: ["center"] }, config1: { data: [ { name: "CPUå æ¯", value: 55 } ], digitalFlopStyle: { fontSize: 20 } } }; }, mounted() { this.getLoginTime(); this.setMyChcart1(); this.setMyChcart2(); this.setMyChcart3(); }, methods: { getLoginTime() { let date = new Date(), year = date.getFullYear(), //è·å宿´ç年份(4ä½) month = date.getMonth() + 1, //è·åå½åæä»½(0-11,0代表1æ) strDate = date.getDate(); // è·åå½åæ¥(1-31) if (month < 10) month = `0${month}`; // 妿æä»½æ¯ä¸ªä½æ°ï¼å¨åé¢è¡¥0 if (strDate < 10) strDate = `0${strDate}`; // å¦ææ¥æ¯ä¸ªä½æ°ï¼å¨åé¢è¡¥0 this.loginTime = year + "/" + month + "/" + strDate; }, setMyChcart1() { var chart = echarts.init(document.getElementById("echart1")); // æå®å¾è¡¨çé ç½®é¡¹åæ°æ® var option = this.getOption(0.8); // ä½¿ç¨æå®çé ç½®é¡¹åæ°æ®æ¾ç¤ºå¾è¡¨ã chart.setOption(option); }, setMyChcart2() { var chart = echarts.init(document.getElementById("echart2")); // æå®å¾è¡¨çé ç½®é¡¹åæ°æ® var option = this.getOption(0.5); // ä½¿ç¨æå®çé ç½®é¡¹åæ°æ®æ¾ç¤ºå¾è¡¨ã chart.setOption(option); }, setMyChcart3() { var chart = echarts.init(document.getElementById("echart3")); // æå®å¾è¡¨çé ç½®é¡¹åæ°æ® var option = this.getOption(0.4); // ä½¿ç¨æå®çé ç½®é¡¹åæ°æ®æ¾ç¤ºå¾è¡¨ã chart.setOption(option); }, getOption(res) { return { series: [ { type: "liquidFill", data: [res], // æ°´çº¹å æ¯æ°æ® outline: { borderDistance: 0, itemStyle: { borderColor: "#156ACF", borderWidth: 2 } }, backgroundStyle: { color: "rgba(255, 255, 255,.4)", textStyle: { color: "#293441" } }, label: { normal: { textStyle: { color: "#293441", insideColor: "#fff", fontSize: 18 } } } } ] }; } } }; </script> <style lang="less" scoped> .contentBox { // background-color: #fff; width: calc(100%); height: calc(100%); display: flex; flex-direction: column; padding: 15px; justify-content: space-between; .meuItem { width: calc(100% - 60px); height: calc(15% - 60px); background: url("../assets/img/index//boxBg.png") center center/100% 100% no-repeat; display: flex; padding: 30px; .userInfo { width: 15%; height: 100%; background: red; } .userMesg { flex: 1; margin: 0px 10px; display: flex; align-items: center; justify-content: center; div { line-height: 30px; font-family: AdobeHeitiStd-Regular; color: #fff; font-size: 18px; } } .userMenu { display: flex; align-items: center; span { color: white; margin: 0px 10px; } } } .menuList { width: calc(100%); height: calc(10%); // display: flex; line-height: 30px; color: #fff; justify-content: space-around; .itemMenu { height: calc(100% - 40px); width: 30%; background: url("../assets/img/index//boxBg.png") center center/100% 100% no-repeat; display: flex; flex-direction: column; justify-content: center; align-items: center; padding: 20px 0px; div { width: 100%; display: flex; justify-content: center; font-family: AdobeHeitiStd-Regular; } :first-child { font-size: 17px; } } } .menuBox { height: calc(22% - 50px); width: calc(100% - 50px); background: url("../assets/img/index//boxBg.png") center center/100% 100% no-repeat; padding: 25px; font-family: AdobeHeitiStd-Regular; color: #fff; display: flex; flex-direction: column; .title { font-size: 20px; margin-bottom: 10px; } .menuContent { flex: 1; } .menuEchart { flex: 1; display: flex; justify-content: space-between; .myEcahrt { width: 32%; height: 100%; position: relative; div { width: 100%; height: 100%; position: absolute; } } } } } </style>